diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index cb727c025..429d86ef0 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -5552,6 +5552,15 @@ mana={4}{B}{B} type=Sorcery [/card] [card] +name=Assault Formation +auto=lord(creature|mybattlefield) combattoughness +auto={G}:target(creature[defender]) canattack +auto={2}{G}:lord(creature|myBattlefield) 0/1 ueot +text=Each creature you control assigns combat damage equal to its toughness rather than its power. -- {G}: Target creature with defender can attack this turn as though it didn't have defender. -- {2}{G}: Creatures you control get +0/+1 until end of turn. +mana={1}{G} +type=Enchantment +[/card] +[card] name=Assault Griffin abilities=flying text=Flying @@ -26026,6 +26035,16 @@ power=0 toughness=4 [/card] [card] +name=Doran, the Siege Tower +auto=lord(creature) combattoughness +text=Each creature assigns combat damage equal to its toughness rather than its power. +mana={W}{B}{G} +type=Legendary Creature +subtype=Treefolk Shaman +power=0 +toughness=5 +[/card] +[card] name=Dormant Sliver auto=lord(sliver) defender auto=@movedTo(sliver|myBattlefield):draw:1 controller @@ -115669,7 +115688,7 @@ toughness=5 [card] name=Wrench Mind target=player -auto=ability$!choice name(discard 2 cards) target(<2>*|myhand) reject _ choice name(discard artifact) target(artifact|myhand) reject !$ targetedplayer +auto=ability$! name(discard 2 cards) choice name(discard 2 cards) target(<2>*|myhand) reject _ if type(artifact|myhand)~morethan~0 then name(discard artifact) choice name(discard artifact) target(artifact|myhand) reject !$ targetedplayer text=Target player discards two cards unless he or she discards an artifact card. mana={B}{B} type=Sorcery diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index a417b524f..18d4ac130 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -956,12 +956,6 @@ mana={R} // {3}{G} type=Sorcery // Sorcery [/card] [card] -name=Assault Formation -text=Each creature you control assigns combat damage equal to its toughness rather than its power. -- {G}: Target creature with defender can attack this turn as though it didn't have defender. -- {2}{G}: Creatures you control get +0/+1 until end of turn. -mana={1}{G} -type=Enchantment -[/card] -[card] name=Astral Cornucopia text=Astral Cornucopia enters the battlefield with X charge counters on it. -- {T}: Choose a color. Add one mana of that color to your mana pool for each charge counter on Astral Cornucopia. mana={X}{X}{X} @@ -5634,15 +5628,6 @@ mana={B}{B}{B} type=Sorcery [/card] [card] -name=Doran, the Siege Tower -text=Each creature assigns combat damage equal to its toughness rather than its power. -mana={W}{B}{G} -type=Legendary Creature -subtype=Treefolk Shaman -power=0 -toughness=5 -[/card] -[card] name=Dormant Gomazoa text=Flying -- Dormant Gomazoa enters the battlefield tapped. -- Dormant Gomazoa doesn't untap during your untap step. -- Whenever you become the target of a spell, you may untap Dormant Gomazoa. mana={1}{U}{U} diff --git a/projects/mtg/include/MTGDefinitions.h b/projects/mtg/include/MTGDefinitions.h index f291c4a32..3ac589f10 100644 --- a/projects/mtg/include/MTGDefinitions.h +++ b/projects/mtg/include/MTGDefinitions.h @@ -243,7 +243,8 @@ class Constants LIBRARYEATER = 122, DEVOID = 123, CANTCHANGELIFE = 124, - NB_BASIC_ABILITIES = 125, + COMBATTOUGHNESS = 125, + NB_BASIC_ABILITIES = 126, RARITY_S = 'S', //Special Rarity diff --git a/projects/mtg/src/MTGCardInstance.cpp b/projects/mtg/src/MTGCardInstance.cpp index 8318d8dea..e14782181 100644 --- a/projects/mtg/src/MTGCardInstance.cpp +++ b/projects/mtg/src/MTGCardInstance.cpp @@ -1540,7 +1540,10 @@ int MTGCardInstance::stepPower(CombatStep step) case FIRST_STRIKE: case END_FIRST_STRIKE: if (has(Constants::FIRSTSTRIKE) || has(Constants::DOUBLESTRIKE)) - return MAX(0, power); + if(has(Constants::COMBATTOUGHNESS)) + return MAX(0, toughness); + else + return MAX(0, power); else return 0; case DAMAGE: @@ -1549,7 +1552,10 @@ int MTGCardInstance::stepPower(CombatStep step) if (has(Constants::FIRSTSTRIKE) && !has(Constants::DOUBLESTRIKE)) return 0; else - return MAX(0, power); + if(has(Constants::COMBATTOUGHNESS)) + return MAX(0, toughness); + else + return MAX(0, power); } } diff --git a/projects/mtg/src/MTGDefinitions.cpp b/projects/mtg/src/MTGDefinitions.cpp index c7b46c608..bbdd5cf9b 100644 --- a/projects/mtg/src/MTGDefinitions.cpp +++ b/projects/mtg/src/MTGDefinitions.cpp @@ -154,7 +154,8 @@ const char* Constants::MTGBasicAbilities[] = { "canplayfromexile", "libraryeater", "devoid", - "cantchangelife" + "cantchangelife", + "combattoughness" }; map Constants::MTGBasicAbilitiesMap;