HBG: Gut, Fanatical Priestess and support (also Rasaad) (#1437)

* rasaad_monk_of_selune.txt

* SpellAbilityEffect.registerDelayedTrigger add potential for Player$ param

* SpellAbilityEffect.replaceDying TrigDesc tweaks

* SpellAbilityEffect.replaceDying support ReplaceDyingRemember

* ChangeZoneEffect.changeKnownOriginResolve handle "RememberToEffectSource" from ReplaceDying

* gut_fanatical_priestess.txt

* gut_fanatical_priestess.txt add AI hint
This commit is contained in:
Northmoc
2022-09-05 15:37:02 -04:00
committed by GitHub
parent 8536979939
commit e1bc571c45
4 changed files with 182 additions and 2 deletions

View File

@@ -331,9 +331,24 @@ public abstract class SpellAbilityEffect {
}
protected static void addSelfTrigger(final SpellAbility sa, String location, final Card card) {
String player = "";
String whose = " the ";
if (location.contains("_")) {
String[] locSplit = location.split("_");
player = locSplit[0];
location = locSplit[1];
if (player.equals("You")) {
whose = " your next ";
}
}
String trigStr = "Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield " +
"| TriggerDescription$ At the beginning of the end step, " + location.toLowerCase() + " CARDNAME.";
"| TriggerDescription$ At the beginning of" + whose + "end step, " + location.toLowerCase()
+ " CARDNAME.";
if (!player.equals("")) {
trigStr += " | Player$ " + player;
}
final Trigger trig = TriggerHandler.parseTrigger(trigStr, card, true);
String trigSA = "";
@@ -518,6 +533,9 @@ public abstract class SpellAbilityEffect {
"| Origin$ Battlefield | Destination$ Graveyard " +
"| Description$ If that permanent would die this turn, exile it instead.";
String effect = "DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Battlefield | Destination$ " + zone;
if (sa.hasParam("ReplaceDyingRemember")) {
effect += " | RememberToEffectSource$ True";
}
ReplacementEffect re = ReplacementHandler.parseReplacement(repeffstr, eff, true);
re.setLayer(ReplacementLayer.Other);

View File

@@ -789,6 +789,11 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
}
}
if (sa.hasParam("RememberToEffectSource")) {
if (hostCard.isImmutable() && hostCard.getEffectSource() != null) {
hostCard.getEffectSource().addRemembered(movedCard);
}
}
if (remember != null) {
hostCard.addRemembered(movedCard);
// addRememberedFromCardState ?

View File

@@ -0,0 +1,85 @@
Name:Gut, Fanatical Priestess
ManaCost:4 R R
Types:Legendary Creature Goblin Shaman
PT:4/3
K:Specialize:5
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigFight | TriggerDescription$ When CARDNAME enters the battlefield, up to one target creature you control fights target creature you don't control. If the creature you don't control would die this turn, exile it instead.
SVar:TrigFight:DB$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ Fight | TgtPrompt$ Select up to one target creature you control | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBFight
SVar:DBFight:DB$ Fight | Defined$ ParentTarget | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | ReplaceDyingDefined$ ThisTargetedCard | ReplaceDyingRemember$ True
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
AlternateMode:Specialize
Oracle:Specialize {5}\nWhen Gut, Fanatical Priestess enters the battlefield, up to one target creature you control fights target creature you don't control. If the creature you don't control would die this turn, exile it instead.
SPECIALIZE:WHITE
Name:Gut, Zealous Fanatic
ManaCost:4 R R W
Types:Legendary Creature Goblin Shaman
PT:5/4
T:Mode$ Specializes | ValidCard$ Card.Self | Execute$ TrigCopy | TriggerDescription$ When this creature specializes, create two tokens that are copies of a creature card exiled with this creature, except they're 2/2 and have haste. Sacrifice them at the beginning of your next end step.
SVar:TrigCopy:DB$ CopyPermanent | Defined$ Remembered | SetPower$ 2 | SetToughness$ 2 | NumCopies$ 2 | AddKeywords$ Haste | AtEOTTrig$ You_Sacrifice
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
DeckHas:Ability$Token
Oracle:When this creature specializes, create two tokens that are copies of a creature card exiled with this creature, except they're 2/2 and have haste. Sacrifice them at the beginning of your next end step.
SPECIALIZE:BLUE
Name:Gut, Devious Fanatic
ManaCost:4 U R R
Types:Legendary Creature Goblin Shaman
PT:5/4
T:Mode$ Specializes | ValidCard$ Card.Self | Execute$ TrigCopy | TriggerDescription$ When this creature specializes, create a token that's a copy of a creature card exiled with this creature, except it's 3/3 and has flying and haste. Sacrifice it at the beginning of your next end step.
SVar:TrigCopy:DB$ CopyPermanent | Defined$ Remembered | SetPower$ 3 | SetToughness$ 3 | AddKeywords$ Flying & Haste | AtEOTTrig$ You_Sacrifice
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:When this creature specializes, create a token that's a copy of a creature card exiled with this creature, except it's 3/3 and has flying and haste. Sacrifice it at the beginning of your next end step.
SPECIALIZE:BLACK
Name:Gut, Brutal Fanatic
ManaCost:4 B R R
Types:Legendary Creature Goblin Shaman
PT:5/4
T:Mode$ Specializes | ValidCard$ Card.Self | Execute$ TrigCopy | TriggerDescription$ When this creature specializes, create a token that's a copy of a creature card exiled with this creature, except it's 4/4 and has menace and haste. Sacrifice it at the beginning of your next end step.
SVar:TrigCopy:DB$ CopyPermanent | Defined$ Remembered | SetPower$ 4 | SetToughness$ 4 | AddKeywords$ Menace & Haste | AtEOTTrig$ You_Sacrifice
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:When this creature specializes, create a token that's a copy of a creature card exiled with this creature, except it's 4/4 and has menace and haste. Sacrifice it at the beginning of your next end step.
SPECIALIZE:RED
Name:Gut, Furious Fanatic
ManaCost:4 R R R
Types:Legendary Creature Goblin Shaman
PT:5/4
T:Mode$ Specializes | ValidCard$ Card.Self | Execute$ TrigCopy | TriggerDescription$ When this creature specializes, create a token that's a copy of a creature card exiled with this creature, except it has double strike and haste. Sacrifice it at the beginning of your next end step.
SVar:TrigCopy:DB$ CopyPermanent | Defined$ Remembered | AddKeywords$ Double Strike & Haste | AtEOTTrig$ You_Sacrifice
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:When this creature specializes, create a token that's a copy of a creature card exiled with this creature, except it has double strike and haste. Sacrifice it at the beginning of your next end step.
SPECIALIZE:GREEN
Name:Gut, Bestial Fanatic
ManaCost:4 R R G
Types:Legendary Creature Goblin Shaman
PT:5/4
T:Mode$ Specializes | ValidCard$ Card.Self | Execute$ TrigCopy | TriggerDescription$ When this creature specializes, create a token that's a copy of a creature card exiled with this creature, except it's 5/5 and has trample and haste. Sacrifice it at the beginning of your next end step.
SVar:TrigCopy:DB$ CopyPermanent | Defined$ Remembered.ExiledWithSource | SetPower$ 5 | SetToughness$ 5 | AddKeywords$ Trample & Haste | AtEOTTrig$ You_Sacrifice
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered+ExiledWithSource | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:When this creature specializes, create a token that's a copy of a creature card exiled with this creature, except it's 5/5 and has trample and haste. Sacrifice it at the beginning of your next end step.

View File

@@ -0,0 +1,72 @@
Name:Rasaad, Monk of Selune
ManaCost:2 W
Types:Legendary Creature Human Monk
PT:2/2
K:Specialize:5
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls until this creature leaves the battlefield.
SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | Duration$ UntilHostLeavesPlay | RememberChanged$ True
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered+ExiledWithSource | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
AlternateMode:Specialize
Oracle:Specialize {5}\nWhen Rasaad, Monk of Selune enters the battlefield, exile target creature an opponent controls until this creature leaves the battlefield.
SPECIALIZE:WHITE
Name:Rasaad, Radiant Monk
ManaCost:2 W W
Types:Legendary Creature Human Monk
PT:4/4
T:Mode$ Specializes | ValidCard$ Card.Self | Execute$ TrigEffect | TriggerDescription$ When this creature specializes, target creature card exiled with this creature perpetually loses all abilities and has base power and toughness 1/1.
SVar:TrigEffect:DB$ Effect | TgtPrompt$ Select target creature card exiled with this creature | ValidTgts$ Creature.IsRemembered+ExiledWithSource | TgtZone$ Exile | IsCurse$ True | RememberObjects$ Targeted | StaticAbilities$ PerpetualLoss | Name$ Rasaad, Radiant Monk's Perpetual Effect | Duration$ Permanent
SVar:PerpetualLoss:Mode$ Continuous | SetPower$ 1 | SetToughness$ 1 | Affected$ Card.IsRemembered | RemoveAllAbilities$ True | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually loses all abilities and has base power and toughness 1/1.
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered+ExiledWithSource | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:When this creature specializes, target creature card exiled with this creature perpetually loses all abilities and has base power and toughness 1/1.
SPECIALIZE:BLUE
Name:Rasaad, Dragon Monk
ManaCost:2 W U
Types:Legendary Creature Human Monk
PT:4/4
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, create two 1/1 blue Faerie Dragon creature tokens with flying.
SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenScript$ u_1_1_faerie_dragon_flying
DeckHas:Ability$Token & Type$Faerie|Dragon
Oracle:When Rasaad, Dragon Monk dies, create two 1/1 blue Faerie Dragon creature tokens with flying.
SPECIALIZE:BLACK
Name:Rasaad, Shadow Monk
ManaCost:2 W B
Types:Legendary Creature Human Monk
PT:4/4
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, create a 4/1 black Skeleton creature token.
SVar:TrigToken:DB$ Token | TokenScript$ b_4_1_skeleton_menace
DeckHas:Ability$Token & Type$Skeleton
Oracle:When Rasaad, Shadow Monk dies, create a 4/1 black Skeleton creature token with menace.
SPECIALIZE:RED
Name:Rasaad, Warrior Monk
ManaCost:2 R W
Types:Legendary Creature Human Monk
PT:4/4
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, create three 1/1 white Soldier creature tokens.
SVar:TrigToken:DB$ Token | TokenAmount$ 3 | TokenScript$ w_1_1_soldier
DeckHas:Ability$Token & Type$Soldier
Oracle:When Rasaad, Warrior Monk dies, create three 1/1 white Soldier creature tokens.
SPECIALIZE:GREEN
Name:Rasaad, Sylvan Monk
ManaCost:2 G W
Types:Legendary Creature Human Monk
PT:4/4
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, create 2/2 green Boar creature tokens.
SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenScript$ g_2_2_boar
DeckHas:Ability$Token & Type$Boar
Oracle:When Rasaad, Sylvan Monk dies, create two 2/2 green Boar creature tokens.