From 41ab7d840e413ed98d2fe62b855ed40b9579e32e Mon Sep 17 00:00:00 2001 From: Northmoc <103371817+Northmoc@users.noreply.github.com> Date: Thu, 28 Jul 2022 11:15:28 -0400 Subject: [PATCH] CLB: 26 Jul (#1206) * sculpted_sunburst.txt * ChooseCardEffect.getStackDescription tweak for weird case * sigil_of_myrkul.txt * stonespeaker_crystal.txt * thunderwave.txt remove bad param * tlincalli_hunter_retrieve_prey.txt * topaz_dragon_entropic_cloud.txt --- .../ability/effects/ChooseCardEffect.java | 6 ++++-- .../upcoming/sculpted_sunburst.txt | 10 ++++++++++ .../cardsfolder/upcoming/sigil_of_myrkul.txt | 10 ++++++++++ .../upcoming/stonespeaker_crystal.txt | 9 +++++++++ .../res/cardsfolder/upcoming/thunderwave.txt | 2 +- .../tlincalli_hunter_retrieve_prey.txt | 20 +++++++++++++++++++ .../upcoming/topaz_dragon_entropic_cloud.txt | 16 +++++++++++++++ 7 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/sculpted_sunburst.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/sigil_of_myrkul.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/stonespeaker_crystal.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/tlincalli_hunter_retrieve_prey.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/topaz_dragon_entropic_cloud.txt diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java index af29e46cf5e..d76fd21c7fe 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java @@ -40,8 +40,10 @@ public class ChooseCardEffect extends SpellAbilityEffect { } else { sb.append("may choose "); } - String desc = sa.getParamOrDefault("ChoiceDesc", ""); - desc = desc.isEmpty() ? "card" : desc + " card"; + String desc = sa.getParamOrDefault("ChoiceDesc", "card"); + if (!desc.contains("card") && !desc.contains("control")) { + desc = desc + " card"; + } sb.append(Lang.nounWithNumeralExceptOne(numCards, desc)); if (sa.hasParam("FromDesc")) { sb.append(" ").append(sa.getParam("FromDesc")); diff --git a/forge-gui/res/cardsfolder/upcoming/sculpted_sunburst.txt b/forge-gui/res/cardsfolder/upcoming/sculpted_sunburst.txt new file mode 100644 index 00000000000..8b16bab136f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sculpted_sunburst.txt @@ -0,0 +1,10 @@ +Name:Sculpted Sunburst +ManaCost:3 W W +Types:Sorcery +A:SP$ ChooseCard | Choices$ Creature.YouCtrl | ChoiceDesc$ creature they control | Mandatory$ True | AILogic$ BestCard | ChoiceTitle$ Choose a creature you control | RememberChosen$ True | ImprintChosen$ True | SubAbility$ DBRepeatEach | SpellDescription$ Choose a creature you control, then each opponent chooses a creature they control with equal or lesser power. +SVar:DBRepeatEach:DB$ RepeatEach | RepeatPlayers$ Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBChangeZoneAll | StackDescription$ Then each opponent chooses a creature they control with equal or lesser power. +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Remembered | Choices$ Creature.RememberedPlayerCtrl+powerLEX | Mandatory$ True | AILogic$ BestCard | ChoiceTitle$ Choose a creature you control with equal or lesser power | RememberChosen$ True +SVar:X:Imprinted$CardPower +SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ConditionDefined$ Imprinted | ConditionPresent$ Creature | Origin$ Battlefield | Destination$ Exile | ChangeType$ Creature.IsNotRemembered | SubAbility$ DBCleanup | SpellDescription$ If you chose a creature this way, exile each creature not chosen by any player this way. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True | ClearChosenCard$ True +Oracle:Choose a creature you control, then each opponent chooses a creature they control with equal or lesser power. If you chose a creature this way, exile each creature not chosen by any player this way. diff --git a/forge-gui/res/cardsfolder/upcoming/sigil_of_myrkul.txt b/forge-gui/res/cardsfolder/upcoming/sigil_of_myrkul.txt new file mode 100644 index 00000000000..3783a389268 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sigil_of_myrkul.txt @@ -0,0 +1,10 @@ +Name:Sigil of Myrkul +ManaCost:2 B +Types:Enchantment +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ At the beginning of combat on your turn, mill a card. When you do, if there are four or more creature cards in your graveyard, put a +1/+1 counter on target creature you control and it gains deathtouch until end of turn. (To mill a card, put the top card of your library into your graveyard.) +SVar:TrigMill:DB$ Mill | SubAbility$ DBImmediateTrigger +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionPresent$ Creature.YouOwn | ConditionZone$ Graveyard | ConditionCompare$ GE4 | PresentZone$ Graveyard | Execute$ TrigPutCounter | TriggerDescription$ When you do, if there are four or more creature cards in your graveyard, put a +1/+1 counter on target creature you control and it gains deathtouch until end of turn. +SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 | SubAbility$ DBPump +SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Deathtouch +DeckHas:Ability$Mill|Counters +Oracle:At the beginning of combat on your turn, mill a card. When you do, if there are four or more creature cards in your graveyard, put a +1/+1 counter on target creature you control and it gains deathtouch until end of turn. (To mill a card, put the top card of your library into your graveyard.) diff --git a/forge-gui/res/cardsfolder/upcoming/stonespeaker_crystal.txt b/forge-gui/res/cardsfolder/upcoming/stonespeaker_crystal.txt new file mode 100644 index 00000000000..9143191e4b5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/stonespeaker_crystal.txt @@ -0,0 +1,9 @@ +Name:Stonespeaker Crystal +ManaCost:4 +Types:Artifact +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | SpellDescription$ Add {C}{C}. +A:AB$ ChangeZoneAll | Cost$ 2 T Sac<1/CARDNAME> | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select any number of target players | TargetMin$ 0 | TargetMax$ MaxTgt | ChangeType$ Card | SubAbility$ DBDraw | StackDescription$ Exile graveyards ({p:Targeted}). | SpellDescription$ Exile any number of target players' graveyards. +SVar:DBDraw:DB$ Draw | SpellDescription$ Draw a card. +SVar:MaxTgt:PlayerCountPlayers$Amount +DeckHas:Ability$Sacrifice +Oracle:{T}: Add {C}{C}.\n{2}, {T}, Sacrifice Stonespeaker Crystal: Exile any number of target players' graveyards. Draw a card. diff --git a/forge-gui/res/cardsfolder/upcoming/thunderwave.txt b/forge-gui/res/cardsfolder/upcoming/thunderwave.txt index 4224cfd3b02..0d157f54a34 100644 --- a/forge-gui/res/cardsfolder/upcoming/thunderwave.txt +++ b/forge-gui/res/cardsfolder/upcoming/thunderwave.txt @@ -3,7 +3,7 @@ ManaCost:2 R R Types:Sorcery A:SP$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:DBSDamage,10-19:DBChooseCard,20:DBLDamage | SpellDescription$ Roll a d20. SVar:DBSDamage:DB$ DamageAll | ValidCards$ Creature | NumDmg$ 3 | SpellDescription$ 1—9 VERT CARDNAME deals 3 damage to each creature. -SVar:DBChooseCard:DB$ ChooseCard | Chooser$ You | Choices$ Creature | ChoiceTitle$ You may choose a creature | ChoiceOptional$ True | SubAbility$ DBMDamage +SVar:DBChooseCard:DB$ ChooseCard | Choices$ Creature | ChoiceTitle$ You may choose a creature | ChoiceOptional$ True | SubAbility$ DBMDamage SVar:DBMDamage:DB$ DamageAll | NumDmg$ 3 | ValidCards$ Creature.nonChosenCard | SpellDescription$ 10—19 VERT You may choose a creature. CARDNAME deals 3 damage to each creature not chosen this way. SVar:DBLDamage:DB$ DamageAll | ValidCards$ Creature.OppCtrl | NumDmg$ 6 | SpellDescription$ 20 VERT CARDNAME deals 6 damage to each creature your opponents control. Oracle:Roll a d20.\n1—9 | Thunderwave deals 3 damage to each creature.\n10—19 | You may choose a creature. Thunderwave deals 3 damage to each creature not chosen this way.\n20 | Thunderwave deals 6 damage to each creature your opponents control. diff --git a/forge-gui/res/cardsfolder/upcoming/tlincalli_hunter_retrieve_prey.txt b/forge-gui/res/cardsfolder/upcoming/tlincalli_hunter_retrieve_prey.txt new file mode 100644 index 00000000000..db0eecea30a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/tlincalli_hunter_retrieve_prey.txt @@ -0,0 +1,20 @@ +Name:Tlincalli Hunter +ManaCost:5 G G +Types:Creature Scorpion Scout +PT:7/7 +K:Trample +S:Mode$ Continuous | MayPlay$ True | MayPlayAltManaCost$ 0 | MayPlayLimit$ 1 | MayPlayDontGrantZonePermissions$ True | Affected$ Creature | AffectedZone$ Exile | Description$ Once each turn, you may pay {0} rather than pay the mana cost for a creature spell you cast from exile. +AlternateMode:Adventure +DeckHints:Type$Adventure +Oracle:Trample\nOnce each turn, you may pay {0} rather than pay the mana cost for a creature spell you cast from exile. + +ALTERNATE + +Name:Retrieve Prey +ManaCost:1 G +Types:Sorcery Adventure +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Select target creature card in your graveyard | ValidTgts$ Creature.YouOwn | SubAbility$ DBEffect | SpellDescription$ Exile target creature card from your graveyard. +SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Targeted | ForgetOnMoved$ Exile | Duration$ UntilTheEndOfYourNextTurn | SpellDescription$ Until the end of your next turn, you may cast that card. (Then exile this card. You may cast the creature later from exile.) +SVar:STPlay:Mode$ Continuous | Affected$ Card.nonLand+IsRemembered | AffectedZone$ Exile | EffectZone$ Command | MayPlay$ True | Description$ You may cast that card. +DeckHas:Ability$Graveyard +Oracle:Exile target creature card from your graveyard. Until the end of your next turn, you may cast that card. (Then exile this card. You may cast the creature later from exile.) diff --git a/forge-gui/res/cardsfolder/upcoming/topaz_dragon_entropic_cloud.txt b/forge-gui/res/cardsfolder/upcoming/topaz_dragon_entropic_cloud.txt new file mode 100644 index 00000000000..3d3fc46c1ba --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/topaz_dragon_entropic_cloud.txt @@ -0,0 +1,16 @@ +Name:Topaz Dragon +ManaCost:4 B B +Types:Creature Dragon +PT:4/4 +K:Flying +K:Deathtouch +AlternateMode:Adventure +Oracle:Flying, deathtouch + +ALTERNATE + +Name:Entropic Cloud +ManaCost:1 B +Types:Instant Adventure +A:SP$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Deathtouch | SpellDescription$ Creatures you control gain deathtouch until end of turn. (Then exile this card. You may cast the creature later from exile.) +Oracle:Creatures you control gain deathtouch until end of turn. (Then exile this card. You may cast the creature later from exile.)