mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
Merge branch 'gorex' into 'master'
MIC: Gorex, the Tombshell and some stringbuilder updates See merge request core-developers/forge!5425
This commit is contained in:
@@ -2257,6 +2257,23 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
|||||||
sb.append("(As this Saga enters and after your draw step, add a lore counter. Sacrifice after ");
|
sb.append("(As this Saga enters and after your draw step, add a lore counter. Sacrifice after ");
|
||||||
sb.append(TextUtil.toRoman(getFinalChapterNr())).append(".)").append(linebreak);
|
sb.append(TextUtil.toRoman(getFinalChapterNr())).append(".)").append(linebreak);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add As an additional cost to Permanent spells
|
||||||
|
if (state.getFirstAbility() != null && type.isPermanent()) {
|
||||||
|
SpellAbility first = state.getFirstAbility();
|
||||||
|
if (first.isSpell()) {
|
||||||
|
Cost cost = first.getPayCosts();
|
||||||
|
if (cost != null && !cost.isOnlyManaCost()) {
|
||||||
|
String additionalDesc = "";
|
||||||
|
if (state.getFirstAbility().hasParam("AdditionalDesc")) {
|
||||||
|
additionalDesc = state.getFirstAbility().getParam("AdditionalDesc");
|
||||||
|
}
|
||||||
|
sb.append(cost.toString().replace("\n", "")).append(" ").append(additionalDesc);
|
||||||
|
sb.append(linebreak);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (monstrous) {
|
if (monstrous) {
|
||||||
sb.append("Monstrous\r\n");
|
sb.append("Monstrous\r\n");
|
||||||
}
|
}
|
||||||
@@ -2267,6 +2284,9 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
|||||||
sb.append("Manifested\r\n");
|
sb.append("Manifested\r\n");
|
||||||
}
|
}
|
||||||
sb.append(keywordsToText(getUnhiddenKeywords(state)));
|
sb.append(keywordsToText(getUnhiddenKeywords(state)));
|
||||||
|
if ((keywordsToText(getUnhiddenKeywords(state))).length() > 0) {
|
||||||
|
sb.append(linebreak);
|
||||||
|
}
|
||||||
|
|
||||||
// Process replacement effects first so that "enters the battlefield tapped"
|
// Process replacement effects first so that "enters the battlefield tapped"
|
||||||
// and "as ~ enters the battlefield, choose...", etc can be printed
|
// and "as ~ enters the battlefield, choose...", etc can be printed
|
||||||
@@ -2285,18 +2305,6 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// add As an additional cost to Permanent spells
|
|
||||||
if (state.getFirstAbility() != null && type.isPermanent()) {
|
|
||||||
SpellAbility first = state.getFirstAbility();
|
|
||||||
if (first.isSpell()) {
|
|
||||||
Cost cost = first.getPayCosts();
|
|
||||||
if (cost != null && !cost.isOnlyManaCost()) {
|
|
||||||
sb.append(cost.toString());
|
|
||||||
sb.append(linebreak);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.getRules() != null && state.getView().getState().equals(CardStateName.Original)) {
|
if (this.getRules() != null && state.getView().getState().equals(CardStateName.Original)) {
|
||||||
// try to look which what card this card can be meld to
|
// try to look which what card this card can be meld to
|
||||||
// only show this info if this card does not has the meld Effect itself
|
// only show this info if this card does not has the meld Effect itself
|
||||||
|
|||||||
@@ -113,6 +113,10 @@ public class CostExile extends CostPartWithList {
|
|||||||
return String.format("Exile %s from the same %s", Cost.convertAmountTypeToWords(i, this.getAmount(), desc), origin);
|
return String.format("Exile %s from the same %s", Cost.convertAmountTypeToWords(i, this.getAmount(), desc), origin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.getAmount().equals("X")) {
|
||||||
|
return String.format ("Exile any number of %s from your %s", desc, origin);
|
||||||
|
}
|
||||||
|
|
||||||
return String.format("Exile %s from your %s", Cost.convertAmountTypeToWords(i, this.getAmount(), desc), origin);
|
return String.format("Exile %s from your %s", Cost.convertAmountTypeToWords(i, this.getAmount(), desc), origin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
15
forge-gui/res/cardsfolder/upcoming/gorex_the_tombshell.txt
Normal file
15
forge-gui/res/cardsfolder/upcoming/gorex_the_tombshell.txt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
Name:Gorex, the Tombshell
|
||||||
|
ManaCost:6 B B
|
||||||
|
Types:Legendary Creature Zombie Turtle
|
||||||
|
PT:4/4
|
||||||
|
A:SP$ PermanentCreature | Cost$ 6 B B ExileFromGrave<X/Creature/creature cards> | AdditionalDesc$ This spell costs {2} less to cast for each card exiled this way.
|
||||||
|
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True | Secondary$ True | Description$ This spell costs {2} less to cast for each card exiled this way.
|
||||||
|
SVar:X:Count$xPaid
|
||||||
|
SVar:Y:SVar$X/Times.2
|
||||||
|
K:Deathtouch
|
||||||
|
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ Whenever CARDNAME attacks or dies, choose a card at random exiled with NICKNAME and put that card into its owner's hand.
|
||||||
|
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChoose | Secondary$ True | TriggerDescription$ Whenever CARDNAME attacks or dies, choose a card at random exiled with NICKNAME and put that card into its owner's hand.
|
||||||
|
SVar:TrigChoose:DB$ ChooseCard | Amount$ 1 | AtRandom$ True | Choices$ Card.ExiledWithSource | ChoiceZone$ Exile | SubAbility$ DBChangeZone
|
||||||
|
SVar:DBChangeZone:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Exile | Destination$ Hand | Hidden$ True
|
||||||
|
DeckHas:Ability$Graveyard
|
||||||
|
Oracle:As an additional cost to cast this spell, you may exile any number of creature cards from your graveyard. This spell costs {2} less to cast for each card exiled this way.\nDeathtouch\nWhenever Gorex, the Tombshell attacks or dies, choose a card at random exiled with Gorex and put that card into its owner's hand.
|
||||||
Reference in New Issue
Block a user