diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/KLD.txt b/projects/mtg/bin/Res/missing_cards_by_sets/KLD.txt index 9eb623332..228687a01 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/KLD.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/KLD.txt @@ -136,12 +136,6 @@ power=2 toughness=3 [/card] [card] -name=Harnessed Lightning -text=Choose target creature. You get {E}{E}{E} (three energy counters), then you may pay any amount of {E}. Harnessed Lightning deals that much damage to that creature. -mana={1}{R} -type=Instant -[/card] -[card] name=Insidious Will text=Choose one — -- • Counter target spell. -- • You may choose new targets for target spell. -- • Copy target instant or sorcery spell. You may choose new targets for the copy. mana={2}{U}{U} diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index d0df067b8..b2a91bcb1 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -291,7 +291,7 @@ subtype=Aura [/card] [card] name=Abundant Maw -autostack=if casted(this) then target(opponent) life:-3 && life:3 controller +autostack=if casted(this) then choice target(opponent) life:-3 && life:3 controller text=Emerge {6}{B} (You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's converted mana cost.) -- When you cast Abundant Maw, target opponent loses 3 life and you gain 3 life. mana={8} other={emerge}{6}{B} name(Emerge) @@ -32091,7 +32091,7 @@ toughness=1 [/card] [card] name=Due Respect -auto=emblem transforms((,newability[@movedTo(*|Battlefield):all(trigger) tap(noevent)])) ueot +auto=emblem transforms((,newability[lord(*[recent]|battlefield) tap(noevent)])) ueot auto=draw:1 controller mana={1}{W} type=Instant @@ -51372,6 +51372,35 @@ mana={2}{G} type=Sorcery [/card] [card] +name=Harnessed Lightning +#AUTO_DEFINE _HARNESSED_LIGHTNING_($c) this(variable{penergy}>=$c) choice damage:$c && alterenergy:-$c controller +target=creature +auto=alterenergy:3 controller +auto=_HARNESSED_LIGHTNING_(1) +auto=_HARNESSED_LIGHTNING_(2) +auto=_HARNESSED_LIGHTNING_(3) +auto=_HARNESSED_LIGHTNING_(4) +auto=_HARNESSED_LIGHTNING_(5) +auto=_HARNESSED_LIGHTNING_(6) +auto=_HARNESSED_LIGHTNING_(7) +auto=_HARNESSED_LIGHTNING_(8) +auto=_HARNESSED_LIGHTNING_(9) +auto=_HARNESSED_LIGHTNING_(10) +auto=_HARNESSED_LIGHTNING_(11) +auto=_HARNESSED_LIGHTNING_(12) +auto=_HARNESSED_LIGHTNING_(13) +auto=_HARNESSED_LIGHTNING_(14) +auto=_HARNESSED_LIGHTNING_(15) +auto=_HARNESSED_LIGHTNING_(16) +auto=_HARNESSED_LIGHTNING_(17) +auto=_HARNESSED_LIGHTNING_(18) +auto=_HARNESSED_LIGHTNING_(19) +auto=_HARNESSED_LIGHTNING_(20) +text=Choose target creature. You get {E}{E}{E} (three energy counters), then you may pay any amount of {E}. Harnessed Lightning deals that much damage to that creature. +mana={1}{R} +type=Instant +[/card] +[card] name=Harpoon Sniper auto={W}{T}:damage:type:merfolk:mybattlefield target(creature[attacking;blocking]) text={W}, {T}: Harpoon Sniper deals X damage to target attacking or blocking creature, where X is the number of Merfolk you control. @@ -76392,8 +76421,8 @@ type=Sorcery [card] name=Nahiri, the Harbinger auto=counter(0/0,4,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Reveal) reveal:1 optionone name(Choose to put in Graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put Back and draw) target(<1>*|reveal) moveto(mylibrary) optiontwoend afterrevealed choice draw:1 controller afterrevealedend revealend -auto={C(0/0,-2,Loyalty)}:name(-2: Exile tapped Artifact or Creature) target(creature,artifact[tapped]) moveto(exile) +auto={C(0/0,2,Loyalty)}:name(+2: Discard to draw) notatarget(*|myhand) transforms((,newability[reject and!(draw:1)!])) forever +auto={C(0/0,-2,Loyalty)}:name(-2: Exile tapped Artifact or Creature) target(*[artifact;creature;tapped]) moveto(exile) auto={C(0/0,-2,Loyalty)}:name(-2: Exile target Enchantment) target(enchantment) moveto(exile) auto={C(0/0,-8,Loyalty)}:name(-8: Fetch) moveto(mybattlefield) notatarget(artifact,creature|mylibrary) and!( transforms((,newability[haste],newability[phaseaction[endofturn sourceinplay] moveTo(ownerhand)])) forever )! text=+2: You may discard a card. If you do, draw a card. -- -2: Exile target enchantment, tapped artifact, or tapped creature. -- -8: Search your library for an artifact or creature card, put it onto the battlefield, then shuffle your library. It gains haste. Return it to your hand at the beginning of the next end step. @@ -117089,8 +117118,8 @@ toughness=1 [card] name=Thalia, Heretic Cathar abilities=first strike -auto=@movedTo(*[recent;land;-basic]|opponentBattlefield):all(trigger) tap(noevent) -auto=@movedTo(*[recent;creature]|opponentBattlefield):all(trigger) tap(noevent) +auto=lord(*[recent;land;-basic]|opponentbattlefield) transforms((,newability[tap(noevent)])) +auto=lord(*[recent;creature]|opponentbattlefield) transforms((,newability[tap(noevent)])) text=First strike -- Creatures and nonbasic lands your opponents control enter the battlefield tapped. mana={2}{W} type=Legendary Creature diff --git a/projects/mtg/src/AIPlayerBaka.cpp b/projects/mtg/src/AIPlayerBaka.cpp index f0ce55514..f88eff2b1 100644 --- a/projects/mtg/src/AIPlayerBaka.cpp +++ b/projects/mtg/src/AIPlayerBaka.cpp @@ -2768,7 +2768,7 @@ int AIPlayerBaka::chooseAttackers() opponentCreatures = getCreaturesInfo(opponent(), INFO_NBCREATURES, -1); opponentForce = getCreaturesInfo(opponent(), INFO_CREATURESPOWER, -1); attack = (myCreatures >= opponentCreatures && myForce > opponentForce) - || (myForce > opponentForce) || (myForce > opponent()->life); + || (myForce > opponentForce) || (myForce > opponent()->life) || ((life - opponentForce) > 30) ; } printf("Choose attackers : %i %i %i %i -> %i\n", opponentForce, opponentCreatures, myForce, myCreatures, attack);