From 8ca0eaaf40e39359f0ac419a8960c790f1beecf1 Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Sat, 29 Apr 2023 23:54:41 -0600 Subject: [PATCH] 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_ --- .../mtg/bin/Res/sets/primitives/_macros.txt | 7 ++- .../bin/Res/sets/primitives/borderline.txt | 54 ++++++++----------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 26 ++++----- projects/mtg/src/GameStateShop.cpp | 2 +- projects/mtg/src/TestSuiteAI.cpp | 2 +- 5 files changed, 43 insertions(+), 48 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index bedc7801f..763cea230 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -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) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index f71a409a6..e857b1d9c 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -150,16 +150,6 @@ power=0 toughness=1 [/card] [card] -name=Abu Jafar -auto=_DIES_may name(Destroy blocked or blocking creatures) bury target(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(*|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 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} diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 841b598a6..eb0600d36 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -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} diff --git a/projects/mtg/src/GameStateShop.cpp b/projects/mtg/src/GameStateShop.cpp index d1981820a..fb643da24 100644 --- a/projects/mtg/src/GameStateShop.cpp +++ b/projects/mtg/src/GameStateShop.cpp @@ -1069,7 +1069,7 @@ bool ShopBooster::unitTest() TestSuite::Log(result); res = false; } - sprintf(result, "==Test Succesful !==
"); + sprintf(result, "==Test Successful !==
"); TestSuite::Log(result); SAFE_DELETE(ddw); SAFE_DELETE(d); diff --git a/projects/mtg/src/TestSuiteAI.cpp b/projects/mtg/src/TestSuiteAI.cpp index 1e1bcc2e9..1b75c94d6 100644 --- a/projects/mtg/src/TestSuiteAI.cpp +++ b/projects/mtg/src/TestSuiteAI.cpp @@ -436,7 +436,7 @@ void TestSuiteGame::assertGame() handleResults(wasAI, error); if(!error) - Log("==Test Succesful !=="); + Log("==Test Successful !=="); else Log("==Test Failed !=="); #ifdef CAPTURE_STDERR