diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 65af2511ad6..6ee77425263 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -2170,19 +2170,28 @@ public class CardFactoryUtil { sb.append("Event$ Moved | ValidCard$ Card.Self | Origin$ Stack | ExcludeDestination$ Exile "); sb.append("| ValidStackSa$ Spell.Flashback | Description$ Flashback"); - if (keyword.contains(":")) { // K:Flashback:Cost:ExtraParam(Key$Value):ExtraDescription + if (keyword.contains(":")) { // K:Flashback:Cost:ExtraParam(Key$Value):ExtraDescription:Cost(for formatting) final String[] k = keyword.split(":"); final Cost cost = new Cost(k[1], false); sb.append(cost.isOnlyManaCost() ? " " : "—"); - sb.append(cost.toSimpleString()); + String prettyCost = k.length > 4 ? k[4] : ""; + if (!prettyCost.isEmpty()) { + sb.append(prettyCost); + } else { + sb.append(cost.toSimpleString()); + } if (!cost.isOnlyManaCost()) { sb.append("."); } String extraDesc = k.length > 3 ? k[3] : ""; if (!extraDesc.isEmpty()) { - sb.append(". ").append(extraDesc); + if (!cost.isOnlyManaCost()) { + sb.append(" ").append(extraDesc); + } else { + sb.append(". ").append(extraDesc); + } } } diff --git a/forge-gui/res/cardsfolder/upcoming/light_up_the_night.txt b/forge-gui/res/cardsfolder/upcoming/light_up_the_night.txt new file mode 100644 index 00000000000..7268f2c41c3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/light_up_the_night.txt @@ -0,0 +1,10 @@ +Name:Light Up the Night +ManaCost:X R +Types:Sorcery +A:SP$ DealDamage | Cost$ X R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ Z | SpellDescription$ CARDNAME deals X damage to any target. It deals X plus 1 damage instead if that target is a creature or planeswalker. +SVar:X:Count$xPaid +SVar:Y:Targeted$Valid Creature,Planeswalker +SVar:Z:SVar$X/Plus.Y +K:Flashback:XCantBe0 3 R RemoveAnyCounter::If you cast this spell this way, X can't be 0.:{3}{R}, Remove X loyalty counters from among planeswalkers you control +DeckHints:Type$Planeswalker +Oracle:Light Up the Night deals X damage to any target. It deals X plus 1 damage instead if that target is a creature or planeswalker.\nFlashback—{3}{R}, Remove X loyalty counters from among planeswalkers you control. If you cast this spell this way, X can't be 0. (You may cast this card from your graveyard for its flashback cost. Then exile it.) diff --git a/forge-gui/res/cardsfolder/upcoming/rite_of_harmony.txt b/forge-gui/res/cardsfolder/upcoming/rite_of_harmony.txt new file mode 100644 index 00000000000..94daba88415 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rite_of_harmony.txt @@ -0,0 +1,9 @@ +Name:Rite of Harmony +ManaCost:G W +Types:Instant +K:Flashback:2 G W +A:SP$ Effect | Triggers$ CreatureEnchantmentETB | SpellDescription$ Whenever a creature or enchantment enters the battlefield under your control this turn, draw a card. +SVar:CreatureEnchantmentETB:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.YouCtrl,Enchantment.YouCtrl | TriggerZones$ Command | Execute$ TrigDraw | TriggerDescription$ Whenever a creature or enchantment enters the battlefield under your control this turn, draw a card. +SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1 +DeckHints:Type$Enchantment +Oracle:Whenever a creature or enchantment enters the battlefield under your control this turn, draw a card.\nFlashback {2}{G}{W} (You may cast this card from your graveyard for its flashback cost. Then exile it.) diff --git a/forge-gui/res/cardsfolder/upcoming/sludge_monster.txt b/forge-gui/res/cardsfolder/upcoming/sludge_monster.txt new file mode 100644 index 00000000000..dcfdd1022a6 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sludge_monster.txt @@ -0,0 +1,11 @@ +Name:Sludge Monster +ManaCost:3 U U +Types:Creature Horror +PT:5/5 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, put a slime counter on up to one other target creature. +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPutCounter | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, put a slime counter on up to one other target creature. +SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.Other | TgtPrompt$ Select up to one other target creature | TargetMin$ 0 | TargetMax$ 1 | CounterType$ SLIME | CounterNum$ 1 +S:Mode$ Continuous | Affected$ Creature.nonHorror+counters_GE1_SLIME | RemoveAllAbilities$ True | SetPower$ 2 | SetToughness$ 2 | Description$ Non-Horror creatures with slime counters on them lose all abilities and have base power and toughness 2/2. +DeckHas:Ability$Counters +SVar:HasAttackEffect:TRUE +Oracle:Whenever Sludge Monster enters the battlefield or attacks, put a slime counter on up to one other target creature.\nNon-Horror creatures with slime counters on them lose all abilities and have base power and toughness 2/2.