Added/fixed primitives, added a new ability "undamageable" (e.g. Dralnu, Lich Lord).

This commit is contained in:
Vittorio Alfieri
2021-03-11 16:39:50 +01:00
parent 37ce334688
commit 2234a508c3
5 changed files with 169 additions and 124 deletions

View File

@@ -2066,6 +2066,18 @@ power=7
toughness=5
[/card]
[card]
name=Arc Blade
abilities=exiledeath
other={2}{R} name(Suspend 3)
auto=ifnot paid(alternative) then damage:2 target(creature,player)
auto=moveto(myexile) and!( counter(0/0,3,Time) )!
autoexile=@each my upkeep restriction{compare(hascnttime)~morethan~1}:counter(0/0,-1,Time)
autoexile=@each my upkeep restriction{compare(hascnttime)~equalto~1}:activate castcard(normal)
text=Arc Blade deals 2 damage to target creature or player. Exile Arc Blade with three time counters on it. -- Suspend 3—{2}{R} (Rather than cast this card from your hand, you may pay {2}{R} and exile it with three time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.)
mana={3}{R}{R}
type=Sorcery
[/card]
[card]
name=Arcades, the Strategist
abilities=flying, vigilance
auto=@movedTo(creature[defender]|myBattlefield):draw:1
@@ -13986,6 +13998,18 @@ power=7
toughness=7
[/card]
[card]
name=Dralnu, Lich Lord
abilities=undamageable
auto=@damaged(this):ability$!name(sacrifice) notatarget(<storedthatmuch>*|mybattlefield) sacrifice!$ controller
auto={T}:name(Instant or sorcery gains flashback) target(*[instant;sorcery]|myGraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot
text=If damage would be dealt to Dralnu, Lich Lord, sacrifice that many permanents instead. -- {T}: Target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. (You may cast that card from your graveyard for its flashback cost. Then exile it.)
mana={3}{U}{B}
type=Legendary Creature
subtype=Zombie Wizard
power=3
toughness=3
[/card]
[card]
name=Drana's Silencer
auto=target(creature|opponentBattlefield) -calculateparty/-calculateparty ueot
text=When Drana's Silencer enters the battlefield, target creature an opponent controls gets -X/-X until end of turn, where X is the number of creatures in your party. (Your party consists of up to one each of Cleric, Rogue, Warrior, and Wizard.)
@@ -14672,6 +14696,14 @@ power=1
toughness=2
[/card]
[card]
name=Dust of Moments
auto=choice name(Remove 2 time counters) all(*[counter{0/0.1.Time}]|battlefield,exile) counter(0/0,-2,Time)
auto=choice name(Add 2 time counters) all(*[counter{0/0.1.Time}]|battlefield,exile) counter(0/0,2,Time)
text=Choose one — Remove two time counters from each permanent and each suspended card; or put two time counters on each permanent with a time counter on it and each suspended card.
mana={2}{W}
type=Instant
[/card]
[card]
name=Dutiful Servants
mana={3}{W}
type=Creature
@@ -15691,6 +15723,14 @@ power=7
toughness=7
[/card]
[card]
name=Endbringer's Revel
auto={4}:moveto(ownerhand) target(creature|graveyard)
auto=foreach(land[-tapped]|opponentBattlefield) transforms((,newability[ability$!name(Pay 4) pay[[{4}]] name(Pay 4) notatarget(creature|graveyard) moveto(ownerhand)?donothing!$ opponent])) forever
text={4}: Return target creature card from a graveyard to its owner's hand. Any player may activate this ability but only any time he or she could cast a sorcery.
mana={2}{B}
type=Enchantment
[/card]
[card]
name=Endless Atlas
auto={2}{T}:draw:1 controller restriction{control three or more lands with same name}
text={2}, {T}: Draw a card. Activate this ability only if you control three or more lands with the same name.
@@ -16165,6 +16205,16 @@ mana={U}{U}
type=Instant
[/card]
[card]
name=Essence of the Wild
auto=@movedto(creature|mybattlefield):all(trigger[to]) transforms((,newability[copy all(Essence of the Wild)])) forever
text=Creatures you control enter the battlefield as a copy of Essence of the Wild.
mana={3}{G}{G}{G}
type=Creature
subtype=Avatar
power=6
toughness=6
[/card]
[card]
name=Essence Symbiote
auto=@mutated(creature|mybattlefield):all(trigger[to]) counter(1/1)
auto=@mutated(creature|mybattlefield):life:2 controller
@@ -16511,6 +16561,18 @@ power=4
toughness=4
[/card]
[card]
name=Exhumer Thrull
auto=name(Return creature to hand) moveto(myhand) target(creature|mygraveyard)
auto=@movedto(this|graveyard) from(mybattlefield):all(trigger[to]) transforms((,newability[moveto(myexile) and!( transforms((,newability[name(Haunt a creature) target(creature) counter(0/0.1.ExhumerHaunted)])) oneshot )!])) oneshot
autoexile=@movedto(creature[counter{0/0.1.ExhumerHaunted}]|graveyard) from(battlefield):name(Return creature to hand) moveto(myhand) target(creature|mygraveyard)
text=Haunt (When this creature dies, exile it haunting target creature.) -- When Exhumer Thrull enters the battlefield or the creature it haunts dies, return target creature card from your graveyard to your hand.
mana={5}{B}
type=Creature
subtype=Thrull
power=3
toughness=3
[/card]
[card]
name=Exiled Doomsayer
auto=lord(*[morph]|mycastingzone) altercost(colorless, +2)
auto=lord(*[morph]|opponentcastingzone) altercost(colorless, +2)
@@ -22113,6 +22175,17 @@ text=Great Hall of Starnheim enters the battlefield tapped. -- {T}: Add {B}. --
type=Land
[/card]
[card]
name=Greater Gargadon
suspend(10)={R}
autoexile={S(*[creature;artifact;land]|mybattlefield)}:counter(0/0,-1,Time)
text=Suspend 10—{R} -- Sacrifice an artifact, creature, or land: Remove a time counter from Greater Gargadon. Activate this ability only if Greater Gargadon is suspended.
mana={9}{R}
type=Creature
subtype=Beast
power=9
toughness=7
[/card]
[card]
name=Greater Sandwurm
abilities=cycling
auto=cantbeblockedby(creature[power<=2])
@@ -27297,9 +27370,20 @@ mana={0}
type=Artifact
[/card]
[card]
name=Jhoira of the Ghitu
auto=this(variable{type:*[instant;sorcery]:myhand}>0) {2}:name(Exile instant or sorcery) name(Exile instant or sorcery) target(*[instant;sorcery]|myhand) moveto(myexile) and!( transforms((,newability[counter(0/0.4.Time)],newability[@each my upkeep restriction{compare(hascnttime)~equalto~1}:name(Cast card from exile) activate castcard(normal)],newability[@each my upkeep restriction{compare(hascnttime)~morethan~1}:counter(0/0.-1.Time)])) forever )!
auto=this(variable{type:*[-instant;-sorcery;-land]:myhand}>0) {2}:name(Exile non-land permanent) name(Exile non-land permanent) target(*[-instant;-sorcery;-land]|myhand) moveto(myexile) and!( transforms((,newability[counter(0/0.4.Time)],newability[@each my upkeep restriction{compare(hascnttime)~equalto~1}:name(Cast card from exile) moveto(myReveal) and!( moveto(myBattlefield) and!( transforms((,newability[moveTo(myBattlefield) and!( if cantargetcard(creature|*) then transforms((,newability[haste])) forever )!])) forever )! )!],newability[@each my upkeep restriction{compare(hascnttime)~morethan~1}:counter(0/0.-1.Time)])) forever )!
text={2}, Exile a nonland card from your hand: Put four time counters on the exiled card. If it doesn't have suspend, it gains suspend. (At the beginning of your upkeep, remove a time counter from that card. When the last is removed, cast it without paying its mana cost. If it's a creature, it has haste.)
mana={1}{U}{R}
type=Legendary Creature
subtype=Human Wizard
power=2
toughness=2
[/card]
[card]
name=Jhoira's Familiar
abilities=flying
auto=lord(*[artifact;legendary;saga]|mystack|mycastingzone) altercost(colorless,-1)
auto=lord(*[artifact;legendary;saga]|mycastingzone) altercost(colorless,-1)
text=Flying -- Historic spells you cast cost {1} less to cast. (Artifacts, legendaries, and Sagas are historic.)
mana={4}
type=Artifact Creature
@@ -27308,6 +27392,17 @@ power=2
toughness=2
[/card]
[card]
name=Jhoira's Timebug
auto={T}:name(Remove time counter) target(*[counter{0/0.1.Time}]|mybattlefield,myexile) counter(0/0,-1,Time)
auto={T}:name(Add time counter) target(*[counter{0/0.1.Time}]|mybattlefield,myexile) counter(0/0,1,Time)
text={T}: Choose target permanent you control or suspended card you own. If that permanent or card has a time counter on it, you may remove a time counter from it or put another time counter on it.
mana={2}
type=Artifact Creature
subtype=Insect
power=1
toughness=2
[/card]
[card]
name=Jhoira, Weatherlight Captain
auto=@movedTo(*[artifact;legendary;saga]|mystack):draw:1
text=Whenever you cast a historic spell, draw a card. (Artifacts, legendaries, and Sagas are historic.)
@@ -28864,6 +28959,18 @@ power=1
toughness=2
[/card]
[card]
name=Knight of the Holy Nimbus
abilities=flanking
auto={0}:regenerate
auto=foreach(land[-tapped]|opponentBattlefield) transforms((,newability[ability$!name(Pay 2) pay[[{2}]] name(Pay 2) cantregen notatarget(Knight of the Holy Nimbus|opponentBattlefield) ueot?donothing!$ opponent])) forever
text=Flanking (Whenever a creature without flanking blocks this creature, the blocking creature gets -1/-1 until end of turn.) -- If Knight of the Holy Nimbus would be destroyed, regenerate it. -- {2}: Knight of the Holy Nimbus can't be regenerated this turn. Only any opponent may activate this ability.
mana={W}{W}
type=Creature
subtype=Human Rebel Knight
power=2
toughness=2
[/card]
[card]
name=Knight of the Keep
mana={2}{W}
type=Creature
@@ -38987,6 +39094,14 @@ power=4
toughness=4
[/card]
[card]
name=Premature Burial
target=creature[-black]
auto=destroy
text=Destroy target nonblack creature that entered the battlefield since your last turn ended.
mana={1}{B}
type=Sorcery
[/card]
[card]
name=Prepare // Fight
target=creature
auto=untap
@@ -39150,6 +39265,15 @@ mana={X}{G}
type=Sorcery
[/card]
[card]
name=Primal Vigor
auto=@tokencreated(*|myBattlefield):name(Double the token) all(trigger) clone options(notrigger)
auto=@tokencreated(*|opponentBattlefield):name(Double the token) all(trigger) clone options(notrigger) clone and!( transforms((,newability[moveto(opponentBattlefield)])) forever )!
auto=@counteradded(1/1) from(creature|battlefield) except(Primal Vigor):may counter(1/1) target(creature[counter{1/1.1}]|Battlefield)
text=If one or more tokens would be put onto the battlefield, twice that many of those tokens are put onto the battlefield instead. -- If one or more +1/+1 counters would be placed on a creature, twice that many +1/+1 counters are placed on that creature instead.
mana={4}{G}
type=Enchantment
[/card]
[card]
name=Primal Wellspring
auto={T}:add{G} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent)
auto={T}:add{B} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent)
@@ -39534,6 +39658,16 @@ power=3
toughness=3
[/card]
[card]
name=Psychotic Episode
abilities=madness
auto=if type(*|opponenthand)~morethan~0 then choice name(Look opponent's hand) target(*|opponenthand) bottomoflibrary
auto=if type(*|opponenthand)~equalto~0 then choice name(Look opponent's top library) target(*[zpos=1]|opponentlibrary) bottomoflibrary
autoexile=restriction{discarded} pay({1}{B}) name(pay {1}{B} to cast) activate name(pay {1}{B} to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
text=Target player reveals his or her hand and the top card of his or her library. You choose a card revealed this way. That player puts the chosen card on the bottom of his or her library. -- Madness {1}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={1}{B}{B}
type=Sorcery
[/card]
[card]
name=Pteramander
abilities=flying
auto={7}{U}:restriction{type(*[instant;sorcery]|myGraveyard)~equalto~0} this(counter{1/1.1}<1) transforms((,newability[counter(1/1.4)])) forever
@@ -40918,6 +41052,16 @@ mana={1}{G}{W}
type=Instant
[/card]
[card]
name=Reality Acid
target=artifact,creature,enchantment,land,planeswalker
auto=vanishing:3
auto=@movedTo(this|nonbattlezone) from(battlefield):sacrifice mytgt
text=Enchant permanent -- Vanishing 3 (This permanent enters the battlefield with three time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.) -- When Reality Acid leaves the battlefield, enchanted permanent's controller sacrifices it.
mana={2}{U}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Reality Shift
target=creature
auto=moveto(exile)
@@ -46522,6 +46666,18 @@ mana={R}
type=Instant
[/card]
[card]
name=Shivan Sand-Mage
suspend(4)={R}
auto=choice name(Remove 2 time counters) target(*[counter{0/0.1.Time}]|battlefield,exile) counter(0/0,-2,Time)
auto=choice name(Add 2 time counters) target(*[counter{0/0.1.Time}]|battlefield,exile) counter(0/0,2,Time)
text=When Shivan Sand-Mage enters the battlefield, choose one — Remove two time counters from target permanent or suspended card; or put two time counters on target permanent with a time counter on it or suspended card. -- Suspend 4—{R} (Rather than cast this card from your hand, you may pay {R} and exile it with four time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost. It has haste.)
mana={2}{R}{R}
type=Creature
subtype=Viashino Shaman
power=3
toughness=2
[/card]
[card]
name=Shivan Wumpus
abilities=trample
auto=ability$!name(Choose one) choice name(Sacrifice land) notatarget(land|mybattlefield) sacrifice && move(onwerlibrary) all(Shivan Wumpus[fresh]|opponentbattlefield) _ choice name(Don't sacrifice land) donothing!$ opponent

View File

@@ -349,12 +349,6 @@ power=1
toughness=4
[/card]
[card]
name=Arc Blade
text=Arc Blade deals 2 damage to target creature or player. Exile Arc Blade with three time counters on it. -- Suspend 3—{2}{R} (Rather than cast this card from your hand, you may pay {2}{R} and exile it with three time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.)
mana={3}{R}{R}
type=Sorcery
[/card]
[card]
name=Arcane Savant
text=Before you shuffle your deck to start the game, you may reveal this card from your deck and exile an instant or sorcery card you drafted that isn't in your deck. -- When Arcane Savant enters the battlefield, copy a card you exiled with cards named Arcane Savant. You may cast the copy without paying its mana cost.
mana={3}{U}{U}
@@ -3141,15 +3135,6 @@ mana={U}{U}
type=Sorcery
[/card]
[card]
name=Dralnu, Lich Lord
text=If damage would be dealt to Dralnu, Lich Lord, sacrifice that many permanents instead. -- {T}: Target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. (You may cast that card from your graveyard for its flashback cost. Then exile it.)
mana={3}{U}{B}
type=Legendary Creature
subtype=Zombie Wizard
power=3
toughness=3
[/card]
[card]
name=Drawn Together
text=As Drawn Together comes into play, choose an artist. -- Creatures by the chosen artist get +2/+2.
mana={2}{W}{W}
@@ -3235,12 +3220,6 @@ power=4
toughness=4
[/card]
[card]
name=Dust of Moments
text=Choose one — Remove two time counters from each permanent and each suspended card; or put two time counters on each permanent with a time counter on it and each suspended card.
mana={2}{W}
type=Instant
[/card]
[card]
name=Dwarven Sea Clan
text={T}: Choose target attacking or blocking creature whose controller controls an Island. Dwarven Sea Clan deals 2 damage to that creature at end of combat. Activate this ability only before the end of combat step.
mana={2}{R}
@@ -3399,12 +3378,6 @@ mana={U}
type=Instant
[/card]
[card]
name=Endbringer's Revel
text={4}: Return target creature card from a graveyard to its owner's hand. Any player may activate this ability but only any time he or she could cast a sorcery.
mana={2}{B}
type=Enchantment
[/card]
[card]
name=Endless Horizons
text=When Endless Horizons enters the battlefield, search your library for any number of Plains cards and exile them. Then shuffle your library. -- At the beginning of your upkeep, you may put a card you own exiled with Endless Horizons into your hand.
mana={3}{W}
@@ -3539,15 +3512,6 @@ type=Enchantment
subtype=Aura
[/card]
[card]
name=Essence of the Wild
text=Creatures you control enter the battlefield as a copy of Essence of the Wild.
mana={3}{G}{G}{G}
type=Creature
subtype=Avatar
power=6
toughness=6
[/card]
[card]
name=Etrata, the Silencer
text=Etrata, the Silencer can't be blocked. -- Whenever Etrata deals combat damage to a player, exile target creature that player controls and put a hit counter on that card. That player loses the game if they own three or more exiled cards with hit counters on them. Etrata's owner shuffles Etrata into their library.
mana={2}{U}{B}
@@ -3656,15 +3620,6 @@ mana={4}{W}{W}
type=Enchantment
[/card]
[card]
name=Exhumer Thrull
text=Haunt (When this creature dies, exile it haunting target creature.) -- When Exhumer Thrull enters the battlefield or the creature it haunts dies, return target creature card from your graveyard to your hand.
mana={5}{B}
type=Creature
subtype=Thrull
power=3
toughness=3
[/card]
[card]
name=Experiment Kraj
text=Experiment Kraj has all activated abilities of each other creature with a +1/+1 counter on it. -- {T}: Put a +1/+1 counter on target creature.
mana={2}{G}{G}{U}{U}
@@ -4887,15 +4842,6 @@ power=*
toughness=*
[/card]
[card]
name=Greater Gargadon
text=Suspend 10—{R} -- Sacrifice an artifact, creature, or land: Remove a time counter from Greater Gargadon. Activate this ability only if Greater Gargadon is suspended.
mana={9}{R}
type=Creature
subtype=Beast
power=9
toughness=7
[/card]
[card]
name=Greater Morphling
text={2}: Greater Morphling gains your choice of banding, bushido 1, double strike, fear, flying, first strike, haste, landwalk of your choice, protection from a color of your choice, provoke, rampage 1, shadow, or trample until end of turn. -- {2}: Greater Morphling becomes the colors of your choice until end of turn. -- {2}: Greater Morphling's type becomes the creature type of your choice until end of turn. -- {2}: Greater Morphling's expansion symbol becomes the symbol of your choice until end of turn. -- {2}: Greater Morphling's artist becomes the artist of your choice until end of turn. -- {2}: Greater Morphling gets +2/-2 or -2/+2 until end of turn. -- {2}: Untap Greater Morphling.
mana={6}{U}{U}
@@ -6032,24 +5978,6 @@ mana={1}
type=Artifact
[/card]
[card]
name=Jhoira of the Ghitu
text={2}, Exile a nonland card from your hand: Put four time counters on the exiled card. If it doesn't have suspend, it gains suspend. (At the beginning of your upkeep, remove a time counter from that card. When the last is removed, cast it without paying its mana cost. If it's a creature, it has haste.)
mana={1}{U}{R}
type=Legendary Creature
subtype=Human Wizard
power=2
toughness=2
[/card]
[card]
name=Jhoira's Timebug
text={T}: Choose target permanent you control or suspended card you own. If that permanent or card has a time counter on it, you may remove a time counter from it or put another time counter on it.
mana={2}
type=Artifact Creature
subtype=Insect
power=1
toughness=2
[/card]
[card]
name=Jotun Grunt
text=Cumulative upkeep—Put two cards from a single graveyard on the bottom of their owner's library. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)
mana={1}{W}
@@ -6355,16 +6283,6 @@ type=Summon
subtype=Knight
[/card]
[card]
name=Knight of the Holy Nimbus
abilities=flanking
text=Flanking (Whenever a creature without flanking blocks this creature, the blocking creature gets -1/-1 until end of turn.) -- If Knight of the Holy Nimbus would be destroyed, regenerate it. -- {2}: Knight of the Holy Nimbus can't be regenerated this turn. Only any opponent may activate this ability.
mana={W}{W}
type=Creature
subtype=Human Rebel Knight
power=2
toughness=2
[/card]
[card]
name=Knight of the Kitchen Sink (a)
text=First strike, protection from black borders (Nothing with a black border can block, target, deal damage to, or attach to this creature.)
mana={W}{W}
@@ -9119,18 +9037,6 @@ mana={2}{G}{G}
type=Enchantment
[/card]
[card]
name=Premature Burial
text=Destroy target nonblack creature that entered the battlefield since your last turn ended.
mana={1}{B}
type=Sorcery
[/card]
[card]
name=Primal Vigor
text=If one or more tokens would be put onto the battlefield, twice that many of those tokens are put onto the battlefield instead. -- If one or more +1/+1 counters would be placed on a creature, twice that many +1/+1 counters are placed on that creature instead.
mana={4}{G}
type=Enchantment
[/card]
[card]
name=Primal Whisperer
text=Primal Whisperer gets +2/+2 for each face-down creature on the battlefield. -- Morph {3}{G} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)
mana={4}{G}
@@ -9286,12 +9192,6 @@ mana={2}
type=Artifact
[/card]
[card]
name=Psychotic Episode
text=Target player reveals his or her hand and the top card of his or her library. You choose a card revealed this way. That player puts the chosen card on the bottom of his or her library. -- Madness {1}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
mana={1}{B}{B}
type=Sorcery
[/card]
[card]
name=Puca's Mischief
text=At the beginning of your upkeep, you may exchange control of target nonland permanent you control and target nonland permanent an opponent controls with an equal or lesser converted mana cost.
mana={3}{U}
@@ -9586,13 +9486,6 @@ type=Artifact
subtype=Equipment
[/card]
[card]
name=Reality Acid
text=Enchant permanent -- Vanishing 3 (This permanent enters the battlefield with three time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.) -- When Reality Acid leaves the battlefield, enchanted permanent's controller sacrifices it.
mana={2}{U}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Reality Scramble
text=Put target permanent you own on the bottom of your library. Reveal cards from the top of your library until you reveal a card that shares a card type with that permanent. Put that card onto the battlefield and the rest on the bottom of your library in a random order. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)
mana={2}{R}{R}
@@ -10704,15 +10597,6 @@ type=Instant
subtype=Arcane
[/card]
[card]
name=Shivan Sand-Mage
text=When Shivan Sand-Mage enters the battlefield, choose one — Remove two time counters from target permanent or suspended card; or put two time counters on target permanent with a time counter on it or suspended card. -- Suspend 4—{R} (Rather than cast this card from your hand, you may pay {R} and exile it with four time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost. It has haste.)
mana={2}{R}{R}
type=Creature
subtype=Viashino Shaman
power=3
toughness=2
[/card]
[card]
name=Shoe Tree
text=Shoe Tree comes into play with up to two shoe counters on it. Use your shoes as counters. -- Shoe Tree gets +1/+1 for each shoe counter on it.
mana={4}{G}

View File

@@ -304,7 +304,8 @@ class Constants
TWOBOAST = 177,
REPLACESCRY = 178,
HASNOKICKER = 179,
NB_BASIC_ABILITIES = 180,
UNDAMAGEABLE = 180,
NB_BASIC_ABILITIES = 181,
RARITY_S = 'S', //Special Rarity
RARITY_M = 'M', //Mythics

View File

@@ -236,14 +236,17 @@ int Damage::resolve()
{
// "Normal" case,
//return the left over amount after effects have been applied to them.
if (target->type_as_damageable == Damageable::DAMAGEABLE_PLAYER && ((Player *)target)->inPlay()->hasAbility(Constants::CANTCHANGELIFE))
if ((target->type_as_damageable == Damageable::DAMAGEABLE_PLAYER && ((Player *)target)->inPlay()->hasAbility(Constants::CANTCHANGELIFE)) ||
(target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE && (((MTGCardInstance*)target)->basicAbilities[Constants::UNDAMAGEABLE] == 1)))
;//do nothing
else
a = target->dealDamage(damage);
target->damageCount += damage;//the amount must be the actual damage so i changed this from 1 to damage, this fixes pdcount and odcount
if(typeOfDamage == 2)
target->nonCombatDamage += damage;
if (target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE){
if (!(target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE && (((MTGCardInstance*)target)->basicAbilities[Constants::UNDAMAGEABLE] == 1))){
target->damageCount += damage;//the amount must be the actual damage so i changed this from 1 to damage, this fixes pdcount and odcount
if(typeOfDamage == 2)
target->nonCombatDamage += damage;
}
if (target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE && (((MTGCardInstance*)target)->basicAbilities[Constants::UNDAMAGEABLE] == 0)){
((MTGCardInstance*)target)->wasDealtDamage = true;
((MTGCardInstance*)source)->damageToCreature = true;
}

View File

@@ -210,7 +210,8 @@ const char* Constants::MTGBasicAbilities[] = {
"boast", //It has boast ability
"twoboast", //It has boast twice ability (e.g. Birgi, God of Storytelling)
"replacescry", //It has scry replacement ability
"hasnokicker" //Kicker cost is not a real kicker cost (eg. cards with Fuse cost)
"hasnokicker", //Kicker cost is not a real kicker cost (eg. cards with Fuse cost)
"undamageable" //It cannot be damaged by any source
};
map<string,int> Constants::MTGBasicAbilitiesMap;