Fixes to Kaldheim equipment, cast prevention, AI sacrificing
Kaldheim (KHM) equipment that creates tokens uses an ETB (Enter the Battlefield) ability, not a cast ability. Cards that use maxCast(anytext)0 simply prevent any type of casting. The AI sometimes hangs when sacrificing creatures, preventing game continuation. To address this, a restriction has been added to allow only the human player to use this effect. Other bug fixes: Doomsday Perimeter Sergeant Imposing Grandeur Sacred armory text
This commit is contained in:
@@ -4885,7 +4885,8 @@ toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Ashes of the Abhorrent
|
||||
auto=lord(*|graveyard) onlymanaability
|
||||
auto=lord(*[-land]|graveyard) changecost(colorless:+999) forcedalive
|
||||
auto=lord(*[-land]|graveyard) -canPlayFromGraveyard
|
||||
auto=@movedto(*|graveyard) from(battlefield):life:1 controller
|
||||
text=Players can't cast spells from graveyards or activate abilities of cards in graveyards. -- Whenever a creature dies, you gain 1 life.
|
||||
mana={1}{W}
|
||||
@@ -25451,7 +25452,7 @@ type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomsday
|
||||
auto=name(Search 5 cards) target(<5>*|mylibrary,mygraveyard) moveto(myreveal) and!( moveto(mylibrary) and!( transforms((,newability[all(*[-fresh]|mylibrary) moveto(exile)],newability[all(*|mygraveyard) moveto(exile)])) oneshot )! )!
|
||||
auto=name(Search 5 cards) target(<5>other *|mylibrary,mygraveyard) moveto(myreveal) and!( moveto(mylibrary) and!( transforms((,newability[all(*[-fresh]|mylibrary) moveto(exile)],newability[all(*|mygraveyard) moveto(exile)])) oneshot )! )!
|
||||
auto=life:-halfuplifetotal controller
|
||||
text=Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up.
|
||||
mana={B}{B}{B}
|
||||
@@ -26280,7 +26281,7 @@ toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Draugr's Helm
|
||||
autostack=may name(Create zombie and attach) pay({2}{B}) name(Create zombie and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Zombie^Creature Zombie Berserker^2/2^black)],newability[rehook target(berserker[token;zombie;fresh]|mybattlefield)])) oneshot )!
|
||||
auto=may name(Create zombie and attach) pay({2}{B}) name(Create zombie and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Zombie^Creature Zombie Berserker^2/2^black)],newability[rehook target(berserker[token;zombie;fresh]|mybattlefield)])) oneshot )!
|
||||
auto={4}:equip
|
||||
auto=teach(creature) 2/2
|
||||
auto=teach(creature) menace
|
||||
@@ -27758,7 +27759,7 @@ toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Dwarven Hammer
|
||||
autostack=may name(Create dwarf and attach) pay({2}) name(Create dwarf and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Dwarf^Creature Dwarf Berserker^2/1^red)],newability[rehook target(berserker[token;dwarf;fresh]|mybattlefield)])) oneshot )!
|
||||
auto=may name(Create dwarf and attach) pay({2}) name(Create dwarf and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Dwarf^Creature Dwarf Berserker^2/1^red)],newability[rehook target(berserker[token;dwarf;fresh]|mybattlefield)])) oneshot )!
|
||||
auto={3}:equip
|
||||
auto=teach(creature) 3/0
|
||||
auto=teach(creature) trample
|
||||
@@ -29025,7 +29026,7 @@ type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Elven Bow
|
||||
autostack=may name(Create elf and attach) pay({2}) name(Create elf and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Elf^Creature Elf Warrior^1/1^green)],newability[rehook target(warrior[token;elf;fresh]|mybattlefield)])) oneshot )!
|
||||
auto=may name(Create elf and attach) pay({2}) name(Create elf and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Elf^Creature Elf Warrior^1/1^green)],newability[rehook target(warrior[token;elf;fresh]|mybattlefield)])) oneshot )!
|
||||
auto={3}:equip
|
||||
auto=teach(creature) 1/2
|
||||
auto=teach(creature) reach
|
||||
@@ -38620,7 +38621,7 @@ toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Giant's Amulet
|
||||
autostack=may name(Create giant and attach) pay({3}{U}) name(Create giant and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Giant^Creature Giant Wizard^4/4^blue)],newability[rehook target(warrior[token;giant;fresh]|mybattlefield)])) oneshot )!
|
||||
auto=may name(Create giant and attach) pay({3}{U}) name(Create giant and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Giant^Creature Giant Wizard^4/4^blue)],newability[rehook target(warrior[token;giant;fresh]|mybattlefield)])) oneshot )!
|
||||
auto={2}:equip
|
||||
auto=teach(creature) 0/1
|
||||
auto=teach(creature) transforms((,newability[this(variable{tapped}<1) opponentshroud]))
|
||||
@@ -39937,7 +39938,6 @@ toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Gluttonous Guest
|
||||
abilities=deathtouch
|
||||
auto=name(Create a blood) token(Blood)
|
||||
auto=@sacrificed(blood|mybattlefield):name(Gain 1 life) life:1 controller
|
||||
text=When Gluttonous Guest enters the battlefield, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") -- Whenever you sacrifice a Blood token, you gain 1 life.
|
||||
@@ -71998,7 +71998,7 @@ toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Perimeter Sergeant
|
||||
auto=_ATTACKING_all(human|myBattlefield) 1/0 ueot
|
||||
auto=_ATTACKING_all(other human|myBattlefield) 1/0 ueot
|
||||
text=Whenever Perimeter Sergeant attacks, other Humans you control get +1/+0 until end of turn.
|
||||
mana={2}{W}
|
||||
type=Creature
|
||||
@@ -79382,7 +79382,7 @@ type=Instant
|
||||
[card]
|
||||
name=Reprobation
|
||||
target=creature
|
||||
auto=loseabilities
|
||||
auto=teach(creature) loseabilities
|
||||
auto=transforms((,setpower=0,settoughness=1))
|
||||
auto=transforms((coward))
|
||||
text=Enchant creature -- Enchanted creature loses all abilities and is a Coward creature with base power and toughness 0/1. (It keeps all supertypes but loses all other types and creature types.)
|
||||
@@ -92402,10 +92402,9 @@ toughness=2
|
||||
name=Soulless Jailer
|
||||
auto=@movedto(*|battlefield) from(graveyard):all(trigger[to]) moveto(ownergraveyard)
|
||||
auto=@movedto(*|battlefield) from(exile):all(trigger[to]) moveto(ownerexile)
|
||||
auto=maxCast(*[-creature]|graveyard)0
|
||||
auto=maxCast(*[-creature]|graveyard)0 opponent
|
||||
auto=maxCast(*[-creature]|exile)0
|
||||
auto=maxCast(*[-creature]|exile)0 opponent
|
||||
auto=lord(*[-land]|graveyard) changecost(colorless:+999) forcedalive
|
||||
auto=lord(*[-land]|graveyard) -canPlayFromGraveyard
|
||||
auto=lord(*[-land]|exile) changecost(colorless:+999) forcedalive
|
||||
text=Permanent cards in graveyards can't enter the battlefield. -- Players can't cast noncreature spells from graveyards or exile.
|
||||
mana={2}
|
||||
type=Artifact Creature
|
||||
@@ -106767,7 +106766,7 @@ toughness=5
|
||||
[card]
|
||||
name=Urza, Lord High Artificer
|
||||
auto=create(Construct)
|
||||
auto=aslongas(artifact[-tapped]|mybattlefield) {T(artifact|myBattlefield)}:add{U}
|
||||
auto=aslongas(artifact[-tapped]|mybattlefield) {T(artifact|myBattlefield)}:add{U} restriction{compare(ishuman)~morethan~0}
|
||||
auto={5}:name(Shuffle and play) shuffle && reveal:1 optionone name(Reveal)if type(*|reveal)~morethan~0 then name(Check to play) target(*|reveal) transforms((,newability[if type(*|mybattlefield)~morethan~0 then castcard(putinplay)])) else name(do not play) target(*|reveal) donothing optiononeend optiontwo choice all(*|reveal) moveTo(exile) optiontwoend revealend
|
||||
text=When Urza, Lord High Artificer enters the battlefield, create a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control." -- Tap an untapped artifact you control: Add {U}. -- {5}: Shuffle your library, then exile the top card. Until end of turn, you may play that card without paying its mana cost.
|
||||
mana={2}{U}{U}
|
||||
@@ -107053,7 +107052,7 @@ toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Valkyrie's Sword
|
||||
autostack=may name(Create angel and attach) pay({4}{W}) name(Create angel and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Warrior^Creature Angel Warrior^4/4^white^flying^vigilance)],newability[rehook target(warrior[token;angel;fresh]|mybattlefield)])) oneshot )!
|
||||
auto=may name(Create angel and attach) pay({4}{W}) name(Create angel and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Warrior^Creature Angel Warrior^4/4^white^flying^vigilance)],newability[rehook target(warrior[token;angel;fresh]|mybattlefield)])) oneshot )!
|
||||
auto={3}:equip
|
||||
auto=teach(creature) 2/1
|
||||
text=When Valkyrie's Sword enters the battlefield, you may pay {4}{W}. If you do, create a 4/4 white Angel Warrior creature token with flying and vigilance, then attach Valkyrie's Sword to it. -- Equipped creature gets +2/+1. -- Equip {3}
|
||||
@@ -110947,10 +110946,9 @@ type=Instant
|
||||
name=Weathered Runestone
|
||||
auto=@movedto(*[-land]|battlefield) from(graveyard):all(trigger[to]) moveto(ownergraveyard)
|
||||
auto=@movedto(*[-land]|battlefield) from(library):all(trigger[to]) moveto(ownerlibrary)
|
||||
auto=maxCast(*|graveyard)0
|
||||
auto=maxCast(*|graveyard)0 opponent
|
||||
auto=maxCast(*|library)0
|
||||
auto=maxCast(*|library)0 opponent
|
||||
auto=lord(*[-land]|graveyard) changecost(colorless:+999) forcedalive
|
||||
auto=lord(*[-land]|graveyard) -canPlayFromGraveyard
|
||||
auto=lord(*[-land]|library) changecost(colorless:+999) forcedalive
|
||||
text=Nonland permanent cards in graveyards and libraries can't enter the battlefield. -- Players can't cast spells from graveyards or libraries.
|
||||
mana={2}
|
||||
type=Artifact
|
||||
|
||||
@@ -6460,7 +6460,7 @@ toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Ashnod's Altar
|
||||
auto={S(creature|myBattlefield)}:Add{2}
|
||||
auto={S(creature|myBattlefield)}:Add{2} restriction{compare(ishuman)~morethan~0}
|
||||
text=Sacrifice a creature: Add {2} to your mana pool.
|
||||
mana={3}
|
||||
type=Artifact
|
||||
@@ -86173,11 +86173,11 @@ subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Phyrexian Altar
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{W}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{U}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{B}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{R}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{G}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{W} restriction{compare(ishuman)~morethan~0}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{U} restriction{compare(ishuman)~morethan~0}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{B} restriction{compare(ishuman)~morethan~0}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{R} restriction{compare(ishuman)~morethan~0}
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{G} restriction{compare(ishuman)~morethan~0}
|
||||
text=Sacrifice a creature: Add one mana of any color to your mana pool.
|
||||
mana={3}
|
||||
type=Artifact
|
||||
@@ -96540,9 +96540,9 @@ type=Sorcery
|
||||
name=Roilmage's Trick
|
||||
auto=all(creature|opponentbattlefield) -converge/0 ueot
|
||||
auto=draw:1 controller
|
||||
text=Converge -- Creatures your opponents control get -X/-0 until end of turn, where X is the number of colors of mana spent to cast Roilmage's Trick.
|
||||
text=Converge -- Creatures your opponents control get -X/-0 until end of turn, where X is the number of colors of mana spent to cast this spell. -- Draw a card.
|
||||
mana={3}{U}
|
||||
type=Sorcery
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Roil's Retribution
|
||||
@@ -98073,7 +98073,7 @@ toughness=3
|
||||
[card]
|
||||
name=Sacred Armory
|
||||
auto={2}:1/0 target(creature)
|
||||
text={2}: Target creatures gets +1/+0 until end of turn.
|
||||
text={2}: Target creature gets +1/+0 until end of turn.
|
||||
mana={2}
|
||||
type=Artifact
|
||||
[/card]
|
||||
@@ -110394,7 +110394,7 @@ subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Spawning Pit
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:counter(0/0,1,Charge)
|
||||
auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:counter(0/0,1,Charge) restriction{compare(ishuman)~morethan~0}
|
||||
auto={1}{C(0/0,-2,Charge)}:token(Spawn,artifact creature spawn,2/2)
|
||||
text=Sacrifice a creature: Put a charge counter on Spawning Pit. -- {1}, Remove two charge counters from Spawning Pit: Put a 2/2 colorless Spawn artifact creature token onto the battlefield.
|
||||
mana={2}
|
||||
@@ -131836,7 +131836,7 @@ toughness=6
|
||||
[/card]
|
||||
[card]
|
||||
name=War Cadence
|
||||
auto={X}{U}:name(Block X Cost) thisforeach(X) all(creature) transforms((,newability[blockcost:1])) ueot
|
||||
auto={X}{R}:name(Block X Cost) thisforeach(X) all(creature) transforms((,newability[blockcost:1])) ueot
|
||||
text={X}{R}: This turn, creatures can't block unless their controller pays {X} for each blocking creature he or she controls.
|
||||
mana={2}{R}
|
||||
type=Enchantment
|
||||
|
||||
Reference in New Issue
Block a user