Tar Fiend rework. Sidisi, Regent of the Mire fix

This commit is contained in:
Eduardo MG
2025-05-01 17:57:49 -06:00
parent a394397dc0
commit 41f5aceac4
2 changed files with 39 additions and 25 deletions

View File

@@ -102242,7 +102242,21 @@ toughness=3
[/card]
[card]
name=Sidisi, Regent of the Mire
auto={T}{S(other creature|myBattlefield)}:target(creature[manacost=storedmanacostplus1plusend]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=0]|myBattlefield)}:name(Return creature with mana value 1) target(creature[manacost=1]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=1]|myBattlefield)}:name(Return creature with mana value 2) target(creature[manacost=2]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=2]|myBattlefield)}:name(Return creature with mana value 3) target(creature[manacost=3]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=3]|myBattlefield)}:name(Return creature with mana value 4) target(creature[manacost=4]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=4]|myBattlefield)}:name(Return creature with mana value 5) target(creature[manacost=5]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=5]|myBattlefield)}:name(Return creature with mana value 6) target(creature[manacost=6]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=6]|myBattlefield)}:name(Return creature with mana value 7) target(creature[manacost=7]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=7]|myBattlefield)}:name(Return creature with mana value 8) target(creature[manacost=8]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=8]|myBattlefield)}:name(Return creature with mana value 9) target(creature[manacost=9]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=9]|myBattlefield)}:name(Return creature with mana value 10) target(creature[manacost=10]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=11]|myBattlefield)}:name(Return creature with mana value 12) target(creature[manacost=12]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=12]|myBattlefield)}:name(Return creature with mana value 13) target(creature[manacost=13]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=13]|myBattlefield)}:name(Return creature with mana value 14) target(creature[manacost=14]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=14]|myBattlefield)}:name(Return creature with mana value 15) target(creature[manacost=15]|myGraveyard) moveto(battlefield) asSorcery
auto={T}{S(other creature[manacost=15]|myBattlefield)}:name(Return creature with mana value 16) target(creature[manacost=16]|myGraveyard) moveto(battlefield) asSorcery
text={T}, Sacrifice a creature you control with mana value X other than Sidisi: Return target creature card with mana value X plus 1 from your graveyard to the battlefield. Activate only as a sorcery.
mana={1}{B}
type=Legendary Creature
@@ -105261,7 +105275,7 @@ toughness=4
[/card]
[card]
name=Smothering Tithe
auto=@drawfoeof(player):ability$!name(pay or create treasure) pay[[{2}]] donothing?_TREASURE_ controller!$ opponent
auto=@drawfoeof(player):ability$! pay[[{2}]] donothing?create(treasure) controller !$ opponent
text=Whenever an opponent draws a card, that player may pay {2}. If the player doesn't, you create a Treasure token. (It's an artifact with " {T}, Sacrifice this artifact: Add one mana of any color.")
mana={3}{W}
type=Enchantment
@@ -113806,27 +113820,17 @@ type=Sorcery
[/card]
[card]
name=Tar Fiend
auto=choice name(Don't sacrifice any creature) donothing
auto=if type(*[creature]|myBattlefield)~morethan~0 then choice name(Sacrifice 1 creature) ability$!sacrifice notaTarget(creature|mybattlefield)!$ controller && counter(1/1,2) all(this) && ability$!name(Discard 1 card) reject notaTarget(*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~1 then choice name(Sacrifice 2 creature) ability$!sacrifice notaTarget(<2>creature|mybattlefield)!$ controller && counter(1/1,4) all(this) && ability$!name(Discard 2 cards) reject notaTarget(<2>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~2 then choice name(Sacrifice 3 creature) ability$!sacrifice notaTarget(<3>creature|mybattlefield)!$ controller && counter(1/1,6) all(this) && ability$!name(Discard 3 cards) reject notaTarget(<3>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~3 then choice name(Sacrifice 4 creature) ability$!sacrifice notaTarget(<4>creature|mybattlefield)!$ controller && counter(1/1,8) all(this) && ability$!name(Discard 4 cards) reject notaTarget(<4>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~4 then choice name(Sacrifice 5 creature) ability$!sacrifice notaTarget(<5>creature|mybattlefield)!$ controller && counter(1/1,10) all(this) && ability$!name(Discard 5 cards) reject notaTarget(<5>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~5 then choice name(Sacrifice 6 creature) ability$!sacrifice notaTarget(<6>creature|mybattlefield)!$ controller && counter(1/1,12) all(this) && ability$!name(Discard 6 cards) reject notaTarget(<6>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~6 then choice name(Sacrifice 7 creature) ability$!sacrifice notaTarget(<7>creature|mybattlefield)!$ controller && counter(1/1,14) all(this) && ability$!name(Discard 7 cards) reject notaTarget(<7>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~7 then choice name(Sacrifice 8 creature) ability$!sacrifice notaTarget(<8>creature|mybattlefield)!$ controller && counter(1/1,16) all(this) && ability$!name(Discard 8 cards) reject notaTarget(<8>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~8 then choice name(Sacrifice 9 creature) ability$!sacrifice notaTarget(<9>creature|mybattlefield)!$ controller && counter(1/1,18) all(this) && ability$!name(Discard 9 cards) reject notaTarget(<9>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~9 then choice name(Sacrifice 10 creature) ability$!sacrifice notaTarget(<10>creature|mybattlefield)!$ controller && counter(1/1,20) all(this) && ability$!name(Discard 10 cards) reject notaTarget(<10>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~10 then choice name(Sacrifice 11 creature) ability$!sacrifice notaTarget(<11>creature|mybattlefield)!$ controller && counter(1/1,22) all(this) && ability$!name(Discard 11 cards) reject notaTarget(<11>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~11 then choice name(Sacrifice 12 creature) ability$!sacrifice notaTarget(<12>creature|mybattlefield)!$ controller && counter(1/1,24) all(this) && ability$!name(Discard 12 cards) reject notaTarget(<12>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~12 then choice name(Sacrifice 13 creature) ability$!sacrifice notaTarget(<13>creature|mybattlefield)!$ controller && counter(1/1,26) all(this) && ability$!name(Discard 13 cards) reject notaTarget(<13>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~13 then choice name(Sacrifice 14 creature) ability$!sacrifice notaTarget(<14>creature|mybattlefield)!$ controller && counter(1/1,28) all(this) && ability$!name(Discard 14 cards) reject notaTarget(<14>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~14 then choice name(Sacrifice 15 creature) ability$!sacrifice notaTarget(<15>creature|mybattlefield)!$ controller && counter(1/1,30) all(this) && ability$!name(Discard 15 cards) reject notaTarget(<15>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~15 then choice name(Sacrifice 16 creature) ability$!sacrifice notaTarget(<16>creature|mybattlefield)!$ controller && counter(1/1,32) all(this) && ability$!name(Discard 16 cards) reject notaTarget(<16>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~16 then choice name(Sacrifice 17 creature) ability$!sacrifice notaTarget(<17>creature|mybattlefield)!$ controller && counter(1/1,34) all(this) && ability$!name(Discard 17 cards) reject notaTarget(<17>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~17 then choice name(Sacrifice 18 creature) ability$!sacrifice notaTarget(<18>creature|mybattlefield)!$ controller && counter(1/1,36) all(this) && ability$!name(Discard 18 cards) reject notaTarget(<18>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~18 then choice name(Sacrifice 19 creature) ability$!sacrifice notaTarget(<19>creature|mybattlefield)!$ controller && counter(1/1,38) all(this) && ability$!name(Discard 19 cards) reject notaTarget(<19>*|myhand)!$ opponent
auto=if type(*[creature]|myBattlefield)~morethan~19 then choice name(Sacrifice 20 creature) ability$!sacrifice notaTarget(<20>creature|mybattlefield)!$ controller && counter(1/1,40) all(this) && ability$!name(Discard 20 cards) reject notaTarget(<20>*|myhand)!$ opponent
#auto=choice name(Don't sacrifice any creature) donothing
auto=if type(*[creature]|myBattlefield)~morethan~0 then choice name() name(Sacrifice 1 creature) transforms((,newability[sacrifice notaTarget(other creature|mybattlefield)],newability[counter(1/1.2)],newability[ability$!name() name(Discard 1 card) reject notaTarget(*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~1 then choice name() name(Sacrifice 2 creatures) transforms((,newability[sacrifice notaTarget(<2>other creature|mybattlefield)],newability[counter(1/1.4)],newability[ability$!name() name(Discard 2 card) reject notaTarget(<2>*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~2 then choice name() name(Sacrifice 3 creatures) transforms((,newability[sacrifice notaTarget(<3>other creature|mybattlefield)],newability[counter(1/1.6)],newability[ability$!name() name(Discard 3 card) reject notaTarget(<3>*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~3 then choice name() name(Sacrifice 4 creatures) transforms((,newability[sacrifice notaTarget(<4>other creature|mybattlefield)],newability[counter(1/1.8)],newability[ability$!name() name(Discard 4 card) reject notaTarget(<4>*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~4 then choice name() name(Sacrifice 5 creatures) transforms((,newability[sacrifice notaTarget(<5>other creature|mybattlefield)],newability[counter(1/1.10)],newability[ability$!name() name(Discard 5 card) reject notaTarget(<5>*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~5 then choice name() name(Sacrifice 6 creatures) transforms((,newability[sacrifice notaTarget(<6>other creature|mybattlefield)],newability[counter(1/1.12)],newability[ability$!name() name(Discard 6 card) reject notaTarget(<6>*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~6 then choice name() name(Sacrifice 7 creatures) transforms((,newability[sacrifice notaTarget(<7>other creature|mybattlefield)],newability[counter(1/1.14)],newability[ability$!name() name(Discard 7 card) reject notaTarget(<7>*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~7 then choice name() name(Sacrifice 8 creatures) transforms((,newability[sacrifice notaTarget(<8>other creature|mybattlefield)],newability[counter(1/1.16)],newability[ability$!name() name(Discard 8 card) reject notaTarget(<8>*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~8 then choice name() name(Sacrifice 9 creatures) transforms((,newability[sacrifice notaTarget(<9>other creature|mybattlefield)],newability[counter(1/1.18)],newability[ability$!name() name(Discard 9 card) reject notaTarget(<9>*|myhand)!$ opponent])) oneshot
auto=if type(*[creature]|myBattlefield)~morethan~9 then choice name() name(Sacrifice 10 creatures) transforms((,newability[sacrifice notaTarget(<10>other creature|mybattlefield)],newability[counter(1/1.20)],newability[ability$!name() name(Discard 10 card) reject notaTarget(<10>*|myhand)!$ opponent])) oneshot
text=Devour 2 (As this enters, you may sacrifice any number of creatures. This creature enters with twice that many +1/+1 counters on it.) -- When Tar Fiend enters, target player discards a card for each creature it devoured.
mana={5}{B}
type=Creature

View File

@@ -4242,7 +4242,7 @@ int AIPlayerBaka::chooseBlockers()
int currentBlockers = (int)attacker->blockers.size();
int totalAssignedDamage = 0;
list<MTGCardInstance*>::iterator itb;
std::list<MTGCardInstance*>::iterator itb;
for (itb = attacker->blockers.begin(); itb != attacker->blockers.end(); ++itb)
{
MTGCardInstance* blocker = *itb;
@@ -4308,7 +4308,17 @@ int AIPlayerBaka::chooseBlockers()
if (bestAttacker->basicAbilities[Constants::THREEBLOCKERS]) requiredBlockers = 3;
int currentBlockers = (int)bestAttacker->blockers.size();
if (currentBlockers >= requiredBlockers)
int currentBlockPower = 0;
std::list<MTGCardInstance*>::iterator itb;
for (itb = bestAttacker->blockers.begin(); itb != bestAttacker->blockers.end(); ++itb)
{
MTGCardInstance* blocker = *itb;
if (blocker)
currentBlockPower += blocker->power;
}
if (currentBlockers >= requiredBlockers || currentBlockPower >= bestAttacker->toughness)
continue;
vector<MTGCardInstance*> extraBlockers;