Fixed _SCAVENGE_, other bug fixes, macros for _ETERNALIZE_

Typo in successful
Lux Cannon so that the AI can use the destroy ability
Throatseeker
Icingdeath, Frost Tyrant you don't "cast" the token
Insubordination
Infectious Curse
Igneous Elemental
Abu Jafar both?
_ETERNALIZE_
This commit is contained in:
Eduardo MG
2023-04-29 23:54:41 -06:00
parent 73712f6bd5
commit 8ca0eaaf40
5 changed files with 43 additions and 48 deletions

View File

@@ -102,13 +102,13 @@
#AUTO_DEFINE _RECOVER_($cost) @movedTo(creature|myGraveyard) from(Battlefield):may pay{$cost} name(Return to owner Hand) moveTo(ownerHand) all(this) donothing?moveTo(exile) all(this)
# Clash, not implemented
$AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Erratic Explosion. Meaby it would work with a few fix
#AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Erratic Explosion. Meaby it would work with a few fix
# Proliferate
#AUTO_DEFINE _PROLIFERATE_ name(Proliferate) notatarget(proliferation) proliferate
# Scavenge
#AUTO_DEFINE _SCAVENGE_($cost) {$cost}:name(scavenge) counter(1/1,storedpower) target(creature) asSorcery
#AUTO_DEFINE _SCAVENGE_($power) name(scavenge) counter(1/1,$power) target(creature) asSorcery
# Monstrosity, not implemented
#AUTO_DEFINE _MONSTROSITY_($cost,$c) name(Monstrosity) this(cantargetcard(*[-monstrous]) {$cost}:becomes(monstrous) forever && counter(1/1.$c)
@@ -186,6 +186,9 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati
# Connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
#AUTO_DEFINE _CONNIVES_ draw:1 && transforms((,newability[if type(*[-land]|myhand)~morethan~0 then choice name(Discard a nonland) name(Discard a nonland) target(*[-land]|myhand) reject && counter(1/1) all(this)],newability[if type(land|myhand)~morethan~0 then choice name(Discard a land) name(Discard a land) target(land|myhand) reject])) oneshot
# Eternalize
#AUTO_DEFINE _ETERNALIZE_ name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
# Angel Token
#AUTO_DEFINE _ANGELTOKEN_ create(Angel:Creature Angel:4/4:white:flying)

View File

@@ -150,16 +150,6 @@ power=0
toughness=1
[/card]
[card]
name=Abu Jafar
auto=_DIES_may name(Destroy blocked or blocking creatures) bury target(<anyamount>creature[blocking;blocked]|opponentBattlefield)
text=When Abu Ja'far dies, destroy all creatures blocking or blocked by it. They can't be regenerated.
mana={W}
type=Creature
subtype=Human
power=0
toughness=1
[/card]
[card]
name=Abuna's Chant
other={5}{R} name(Entwine)
auto=ifnot paid(alternative) then transforms((,newability[choice life:5 controller],newability[choice prevent:5 target(creature|battlefield)]))
@@ -483,7 +473,7 @@ toughness=1
[card]
name=Adorned Pouncer
abilities=double strike
autograveyard={3}{W}{W}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={3}{W}{W}{E}:_ETERNALIZE_
text=Double strike -- Eternalize {3}{W}{W} ({3}{W}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Cat with no mana cost. Eternalize only as a sorcery.)
mana={1}{W}
type=Creature
@@ -5755,7 +5745,7 @@ type=Sorcery
name=Bannerhide Krushok
abilities=trample
autohand={1}{G}{discard}:name(Reinforce) counter(1/1,2) target(creature)
autograveyard={5}{G}{G}{E}:name(scavenge) counter(1/1,storedpower) target(creature) asSorcery
autograveyard={5}{G}{G}{E}:_SCAVENGE_(storedpower)
text=Trample -- Reinforce 2-{1}{G} ({1}{G}, Discard this card: Put two +1/+1 counters on target creature.) -- Scavenge-{5}{G}{G} ({5}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={3}{G}
type=Creature
@@ -13104,7 +13094,7 @@ toughness=4
[card]
name=Champion of Wits
auto=may draw:power controller && && transforms((,newability[target(<2>*|myhand) reject])) ueot
autograveyard={5}{U}{U}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={5}{U}{U}{E}:_ETERNALIZE_
text=When Champion of Wits enters the battlefield, you may draw cards equal to its power. If you do, discard two cards. -- Eternalize {5}{U}{U} ({5}{U}{U}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Naga Wizard with no mana cost. Eternalize only as a sorcery.)
mana={2}{U}
type=Creature
@@ -23174,7 +23164,7 @@ toughness=2
name=Dreamstealer
abilities=menace
auto=@combatdamaged(player) from(this):ability$!name(discard) target(<storedthatmuch>*|myhand) reject!$ opponent
autograveyard={4}{B}{B}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={4}{B}{B}{E}:_ETERNALIZE_
text=Menace -- Whenever Dreamstealer deals combat damage to a player, that player discards that many cards. -- Eternalize {4}{B}{B} ({4}{B}{B}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Wizard with no mana cost. Eternalize only as a sorcery.)
mana={2}{B}
type=Creature
@@ -24108,7 +24098,7 @@ toughness=6
name=Earthshaker Khenra
abilities=haste
auto=target(creature[power<=p]) cantblock ueot
autograveyard={4}{R}{R}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! asSorcery
autograveyard={4}{R}{R}{E}:_ETERNALIZE_
text=Haste -- When Earthshaker Khenra enters the battlefield, target creature with power less than or equal to Earthshaker Khenra's power can't block this turn. -- Eternalize {4}{R}{R} ({4}{R}{R}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Jackal Warrior with no mana cost. Eternalize only as a sorcery.)
mana={1}{R}
type=Creature
@@ -40468,7 +40458,7 @@ color=white
[card]
name=Icingdeath, Frost Tyrant
abilities=vigilance,flying
auto=_DIES_name(Icingdeath, Frost Tongue) activate castcard(copied named!:icingdeath, frost tongue:!)
auto=_DIES_name(Icingdeath, Frost Tongue) create(-527307)
text=Flying, vigilance -- When Icingdeath, Frost Tyrant dies, create Icingdeath, Frost Tongue, a legendary white Equipment artifact token with "Equipped creature gets +2/+0", "Whenever equipped creature attacks, tap target creature defending player controls" and equip {2}.
mana={2}{W}{W}
type=Legendary Creature
@@ -40559,9 +40549,8 @@ toughness=2
[/card]
[card]
name=Igneous Elemental
target=creature
autohand=if type(land|mygraveyard)~morethan~0 then reduce({1})
auto=may damage:2
anyzone=aslongas(land|mygraveyard) changecost(colorless:-2) forcedalive
auto=may damage:2 target(creature)
text=This spell costs {2} less to cast if there is a land card in your graveyard. -- When Igneous Elemental enters the battlefield, you may have it deal 2 damage to target creature.
mana={4}{R}{R}
type=Creature
@@ -41562,6 +41551,7 @@ type=Instant
[/card]
[card]
name=Infectious Curse
target=player
auto=lord(*[instant;sorcery]|mycastingzone) altercost(colorless, -1)
auto=@each opponent upkeep:life:-1 opponent && life:1 controller
text=Enchant player -- Spells you cast that target enchanted player cost {1} less to cast. -- At the beginning of enchanted player's upkeep, that player loses 1 life and you gain 1 life.
@@ -42300,6 +42290,7 @@ type=Legendary Artifact
[/card]
[card]
name=Insubordination
target=creature
auto=teach(creature) transforms((,newability[@each my endofturn:while(restriction{didntattack}) damage:2 controller])) forever
text=Enchant creature -- At the beginning of the end step of enchanted creature's controller, Insubordination deals 2 damage to that player unless that creature attacked this turn.
mana={B}{B}
@@ -62642,7 +62633,7 @@ toughness=3
[/card]
[card]
name=Proven Combatant
autograveyard={4}{U}{U}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={4}{U}{U}{E}:_ETERNALIZE_
text=Eternalize {4}{U}{U} ({4}{U}{U}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Warrior with no mana cost. Eternalize only as a sorcery.)
mana={U}
type=Creature
@@ -66245,7 +66236,7 @@ type=Sorcery
[card]
name=Resilient Khenra
auto=may target(creature) dynamicability<!powerpumpboth!> ueot
autograveyard={4}{G}{G}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={4}{G}{G}{E}:_ETERNALIZE_
text=When Resilient Khenra enters the battlefield, you may have target creature get +X/+X until end of turn, where X is Resilient Khenra's power. -- Eternalize {4}{G}{G} ({4}{G}{G}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Jackal Wizard with no mana cost. Eternalize only as a sorcery.)
mana={1}{G}
type=Creature
@@ -74699,7 +74690,7 @@ type=Sorcery
[card]
name=Sinuous Striker
auto={U}:1/-1 ueot
autograveyard={3}{U}{U}{D(*|myhand)}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={3}{U}{U}{D(*|myhand)}{E}:_ETERNALIZE_
text={U}: Sinuous Striker gets +1/-1 until end of turn. -- Eternalize-{3}{U}{U}, Discard a card. ({3}{U}{U}, Discard a card, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Naga Warrior with no mana cost. Eternalize only as a sorcery.)
mana={2}{U}
type=Creature
@@ -79142,7 +79133,7 @@ toughness=2
[card]
name=Steadfast Sentinel
abilities=vigilance
autograveyard={4}{W}{W}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={4}{W}{W}{E}:_ETERNALIZE_
text=Vigilance -- Eternalize {4}{W}{W} ({4}{W}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Cleric with no mana cost. Eternalize only as a sorcery.)
mana={3}{W}
type=Creature
@@ -80878,7 +80869,7 @@ subtype=Desert
name=Sunscourge Champion
auto=transforms((,newability[life:power controller])) ueot
## the transforms is necessary to trigger the lifegain after the eternalize sets power to 4 ##
autograveyard={2}{W}{W}{D}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={2}{W}{W}{D}{E}:_ETERNALIZE_
text=When Sunscourge Champion enters the battlefield, you gain life equal to its power. -- Eternalize-{2}{W}{W}, Discard a card. ({2}{W}{W}, Discard a card, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Wizard with no mana cost. Eternalize only as a sorcery.)
mana={2}{W}
type=Creature
@@ -84766,8 +84757,9 @@ toughness=3
[/card]
[card]
name=Thrasher Brute
auto=@movedTo(Warrior|mybattlefield) life:-1 opponent
auto=@movedTo(Warrior|mybattlefield) life:1
auto=life:-1 opponent && life:1
auto=@movedTo(Warrior|mybattlefield):life:-1 opponent
auto=@movedTo(Warrior|mybattlefield):life:1
text=Whenever Thrasher Brute or another Warrior enters the battlefield under your team's control, target opponent loses 1 life and you gain 1 life.
mana={3}{B}
type=Creature
@@ -84931,7 +84923,7 @@ type=Land
[/card]
[card]
name=Throatseeker
auto=all(creature[ninja;-blocked;attacking]|mybattlefield) lifelink ueot
auto=lord(ninja[attacking;-blocked]|mybattlefield) lifelink
text=Unblocked attacking Ninjas you control have lifelink.
mana={2}{B}
type=Creature
@@ -85476,7 +85468,7 @@ name=Timeless Dragon
abilities=flying
aicode=activate target(plains|mylibrary) moveto(myhand)
autohand={2}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>plains|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend
autograveyard={2}{W}{W}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={2}{W}{W}{E}:_ETERNALIZE_
text=Flying -- Plainscycling {2} ({2}, Discard this card: Search your library for a Plains card, reveal it, put it into your hand, then shuffle.) -- Eternalize {2}{W}{W} ({2}{W}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Dragon with no mana cost. Eternalize only as a sorcery.)
mana={3}{W}{W}
type=Creature
@@ -85495,7 +85487,7 @@ type=Legendary Artifact
[card]
name=Timeless Witness
auto=name(Return card) target(*|myGraveyard) moveTo(myHand)
autograveyard={5}{G}{G}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
autograveyard={5}{G}{G}{E}:_ETERNALIZE_
text=When Timeless Witness enters the battlefield, return target card from your graveyard to your hand. -- Eternalize {5}{G}{G} ({5}{G}{G}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Shaman with no mana cost. Eternalize only as a sorcery.)
mana={2}{G}{G}
type=Creature
@@ -93378,7 +93370,7 @@ toughness=2
[card]
name=Wildwood Scourge
auto=counter(1/1,X)
auto=@counteradded(1/1) from(creature[-hydra]|mybattlefield):counter(1/1) all(this)
auto=@counteradded(1/1) from(other *[creature;-hydra]|mybattlefield):counter(1/1) all(this)
text=Wildwood Scourge enters the battlefield with X +1/+1 counters on it. -- Whenever one or more +1/+1 counters are put on another non-Hydra creature you control, put a +1/+1 counter on Wildwood Scourge.
mana={X}{G}
type=Creature
@@ -95505,7 +95497,7 @@ toughness=3
[card]
name=Zhalfirin Shapecraft
target=creature
auto=auto=becomes(,4/3) ueot
auto=becomes(,4/3) ueot
auto=draw:1 controller
text=Target creature has base power and toughness 4/3 until end of turn. -- Draw a card.
mana={1}{U}

View File

@@ -18675,7 +18675,7 @@ toughness=2
[/card]
[card]
name=Champion of Lambholt
auto=lord(*[power<=powerminus1minusend]|opponentbattlefield) cantblock
auto=lord(*[power<=pminus1minusend]|opponentbattlefield) cantblock
auto=@movedto(other creature|myBattlefield):counter(1/1)
text=Creatures with power less than Champion of Lambholt's power can't block creatures you control. -- Whenever another creature enters the battlefield under your control, put a +1/+1 counter on Champion of Lambholt.
mana={1}{G}{G}
@@ -26740,7 +26740,7 @@ type=Enchantment
[/card]
[card]
name=Deadbridge Goliath
autograveyard=_SCAVENGE_({4}{G}{G}{E})
autograveyard={4}{G}{G}{E}:_SCAVENGE_(storedpower)
text=Scavenge {4}{G}{G} ({4}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={2}{G}{G}
type=Creature
@@ -31995,7 +31995,7 @@ type=Instant
[/card]
[card]
name=Dreg Mangler
autograveyard={3}{B}{G}{E}:name(scavenge) counter(1/1,storedpower) target(creature) asSorcery
autograveyard={3}{B}{G}{E}:_SCAVENGE_(storedpower)
abilities=haste
text=Haste -- Scavenge {3}{B}{G} ({3}{B}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={1}{B}{G}
@@ -32573,7 +32573,7 @@ type=Land
[/card]
[card]
name=Drudge Beetle
autograveyard=_SCAVENGE_({5}{G}{E})
autograveyard={5}{G}{E}:_SCAVENGE_(storedpower)
text=Scavenge {5}{G} ({5}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={1}{G}
type=Creature
@@ -48863,7 +48863,7 @@ type=Artifact
[card]
name=Golgari Decoy
abilities=lure
autograveyard=_SCAVENGE_({3}{G}{G}{E})
autograveyard={3}{G}{G}{E}:_SCAVENGE_(storedpower)
text=All creatures able to block Golgari Decoy do so. -- Scavenge {3}{G}{G} ({3}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={3}{G}
type=Creature
@@ -64250,7 +64250,7 @@ toughness=2
[/card]
[card]
name=Korozda Monitor
autograveyard=_SCAVENGE_({5}{G}{G}{E})
autograveyard={5}{G}{G}{E}:_SCAVENGE_(storedpower)
abilities=trample
text=Trample -- Scavenge {5}{G}{G} ({5}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={2}{G}{G}
@@ -69256,8 +69256,8 @@ subtype=Aura
[/card]
[card]
name=Lux Cannon
auto={T}:counter(0/0,1,Charge)
auto={T}{C(0/0,-3,Charge)}:destroy target(*)
auto={T}:counter(0/0,1,Charge)
text={T}: Put a charge counter on Lux Cannon. -- {T}, Remove three charge counters from Lux Cannon: Destroy target permanent.
mana={4}
type=Artifact
@@ -103077,7 +103077,7 @@ toughness=1
[/card]
[card]
name=Sewer Shambler
autograveyard=_SCAVENGE_({2}{B}{E})
autograveyard={2}{B}{E}:_SCAVENGE_(storedpower)
abilities=swampwalk
text=Swampwalk (This creature is unblockable as long as defending player controls a Swamp.) -- Scavenge {2}{B} ({2}{B}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={2}{B}
@@ -108126,7 +108126,7 @@ toughness=1
[/card]
[card]
name=Slitherhead
autograveyard={E}:name(scavenge) counter(1/1,storedpower) target(creature) asSorcery
autograveyard={E}:_SCAVENGE_(storedpower)
text=Scavenge {0} ({0}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={BG}
type=Creature
@@ -108272,7 +108272,7 @@ subtype=Aura
[/card]
[card]
name=Sluiceway Scorpion
autograveyard=_SCAVENGE_({1}{B}{G}{E})
autograveyard={1}{B}{G}{E}:_SCAVENGE_(storedpower)
abilities=deathtouch
text=Deathtouch (Any amount of damage this deals to a creature is enough to destroy it.) -- Scavenge {1}{B}{G} ({1}{B}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={2}{B}{G}
@@ -119343,7 +119343,7 @@ type=Instant
[/card]
[card]
name=Terrus Wurm
autograveyard=_SCAVENGE_({6}{B}{E})
autograveyard={6}{B}{E}:_SCAVENGE_(storedpower)
text=Scavenge {6}{B} ({6}{B}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={6}{B}
type=Creature
@@ -120816,7 +120816,7 @@ type=Artifact
[card]
name=Thrashing Mossdog
abilities=Reach
autograveyard=_SCAVENGE_({4}{G}{G}{E})
autograveyard={4}{G}{G}{E}:_SCAVENGE_(storedpower)
text=Reach. (This creature can block creatures with flying.) -- Scavenge {4}{G}{G} ({4}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={3}{G}
type=Creature
@@ -136894,7 +136894,7 @@ toughness=6
[/card]
[card]
name=Zanikev Locust
autograveyard=_SCAVENGE_({2}{B}{B}{E})
autograveyard={2}{B}{B}{E}:_SCAVENGE_(storedpower)
abilities=flying
text=Flying -- Scavenge {2}{B}{B} ({2}{B}{B}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
mana={5}{B}

View File

@@ -1069,7 +1069,7 @@ bool ShopBooster::unitTest()
TestSuite::Log(result);
res = false;
}
sprintf(result, "<span class=\"success\">==Test Succesful !==</span><br />");
sprintf(result, "<span class=\"success\">==Test Successful !==</span><br />");
TestSuite::Log(result);
SAFE_DELETE(ddw);
SAFE_DELETE(d);

View File

@@ -436,7 +436,7 @@ void TestSuiteGame::assertGame()
handleResults(wasAI, error);
if(!error)
Log("<span class=\"success\">==Test Succesful !==</span>");
Log("<span class=\"success\">==Test Successful !==</span>");
else
Log("<span class=\"error\">==Test Failed !==</span>");
#ifdef CAPTURE_STDERR