diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/J22.txt b/projects/mtg/bin/Res/missing_cards_by_sets/J22.txt index c50264e87..261dd5722 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/J22.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/J22.txt @@ -20,6 +20,15 @@ mana={1}{G} type=Instant [/card] [card] +name=Kenessos, Priest of Thassa +text=If you would scry a number of cards, scry that many cards plus one instead. -- {3}{G/U}: Look at the top card of your library. If it's a Kraken, Leviathan, Octopus, or Serpent creature card, you may put it onto the battlefield. If you don't put the card onto the battlefield, you may put it on the bottom of your library. +mana={1}{U} +type=Legendary Creature +subtype=Merfolk Cleric +power=1 +toughness=3 +[/card] +[card] name=Master of the Wild Hunt text=At the beginning of your upkeep, put a 2/2 green Wolf creature token onto the battlefield. -- {T}: Tap all untapped Wolf creatures you control. Each Wolf tapped this way deals damage equal to its power to target creature. That creature deals damage equal to its power divided as its controller chooses among any number of those Wolves. mana={2}{G}{G} diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/MOC.txt b/projects/mtg/bin/Res/missing_cards_by_sets/MOC.txt index 02fe10c32..38bf5bed6 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/MOC.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/MOC.txt @@ -188,17 +188,6 @@ mana={4}{R} type=Enchantment [/card] [card] -name=Mirror-Style Master -auto=@this creature attackscreature -auto=foreach(|myBattlefield) -text=Backup 1 (When this creature enters the battlefield, put a +1/+1 counter on target creature. If that's another creature, it gains the following ability until end of turn.) -- Whenever this creature attacks, for each attacking modified creature you control, create a tapped and attacking token that's a copy of that creature. Exile those tokens at end of combat. (Equipment, Auras you control, and counters are modifications.) -mana={4}{R}{R} -type=Creature -subtype=Human Warrior -power=3 -toughness=3 -[/card] -[card] name=Dance with Calamity shuffle your library as many times as you choose, may exile the top card of your library if the total mana value of the cards exiled this way is 13,less, may cast any number of spells from among those cards without paying their mana costs auto=moveto(exile) @@ -668,17 +657,6 @@ power=4 toughness=3 [/card] [card] -name=Mirror-Style Master -auto=@this creature attackscreature -auto=foreach(|myBattlefield) -text=Backup 1 (When this creature enters the battlefield, put a +1/+1 counter on target creature. If that's another creature, it gains the following ability until end of turn.) -- Whenever this creature attacks, for each attacking modified creature you control, create a tapped and attacking token that's a copy of that creature. Exile those tokens at end of combat. (Equipment, Auras you control, and counters are modifications.) -mana={4}{R}{R} -type=Creature -subtype=Human Warrior -power=3 -toughness=3 -[/card] -[card] name=Uncivil Unrest auto=lord(other creature|myBattlefield) riot text=Nontoken creatures you control have riot. (They enter the battlefield with your choice of a +1/+1 counter or haste.) -- If a creature you control with a +1/+1 counter on it would deal damage to a permanent or player, it deals double that damage instead. @@ -768,12 +746,7 @@ type=Instant [/card] [card] name=Towashi -auto=lord(other creature|myBattlefield) trample and "whenever this creature deals combat damage to a player or planeswalker, draw a card -auto=Modified creatures you control have trample and "@this creature deals combat damage to a player or planeswalkerdraw:1" -auto=lord(other creature|myBattlefield) creatures you control -auto=@chaos ensuesdistribute three counter(1/1)s among one, two,,three target(creature|myBattlefield) text=Modified creatures you control have trample and "Whenever this creature deals combat damage to a player or planeswalker, draw a card." (Equipment, Auras you control, and counters are modifications.) -- Whenever chaos ensues, distribute three +1/+1 counters among one, two, or three target creatures you control. -mana=null type=Plane subtype=Kamigawa [/card] diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt b/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt index 309d14f26..abd3a3a84 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt @@ -2,34 +2,12 @@ Primal Command Rowan Kenrith Pyre-Sledge Arsonist Sokenzan Smelter -Ossuary Rats -Rodolf Duskbringer -Skullslither Worm -Termination Facilitator -Auntie Blyte, Bad Influence -Brazen Cannonade -Goblin Researcher -Kenessos, Priest of Thassa -Pirated Copy -Synchronized Eviction -Ashcoat of the Shadow Swarm -Disciple of Perdition Mizzix, Replica Rider Ogre Battlecaster Benevolent Hydra Kibo, Uktabi Prince -Rampaging Growth Runadi, Behemoth Caller -Zask, Skittering Swarmlord -Dutiful Replicator -Instruments of War -Planar Atlas -Lita, Mechanical Engineer -Magnanimous Magistrate -Preston, the Vanisher Alandra, Sky Dreamer -Hold for Questioning -Isu the Abominable Agrus Kos, Eternal Soldier Star Pupil Sun Droplet @@ -40,18 +18,15 @@ Soulless Jailer Mercurial Spelldancer Tablet of Compleation Meldweb Strider -Mindsplice Apparatus The Mycosynth Gardens Rhuk, Hexgold Nabber The Seedcore Goliath Hatchery -Reject Imperfection Mirrex Kinzu of the Bleak Coven Serum Snare Red Sun's Twilight Urabrask's Forge -Font of Progress Green Sun's Twilight Ichormoon Gauntlet Conduit of Worlds @@ -62,12 +37,9 @@ Argentum Masticore The Filigree Sylex Carnivorous Canopy Contagious Vorrac -Encroaching Mycosynth -Blade of Shared Souls Evolved Spinoderm Bring the Ending Expand the Sphere -Distorted Curiosity Evolving Adaptive Experimental Augury Black Sun's Twilight @@ -96,9 +68,7 @@ Vraska, Betrayal's Sting The Eternal Wanderer Maze's Mantle Lattice-Blade Mantis -Noxious Assault Plague Nurse -Vanish into Eternity Magmatic Sprinter Nahiri's Sacrifice Molten Rebuke @@ -107,7 +77,6 @@ Churning Reservoir Bladehold War-Whip Forgehammer Centurion Slaughter Singer -Hexgold Slash Awaken the Sleeper All Will Be One Against All Odds @@ -121,11 +90,8 @@ Necrosquito Voidwing Hybrid Vivisection Evangelist Atraxa's Skitterfang -Cruel Grimnarch Viral Spawning Venomous Brutalizer -Trawler Drake -Watchful Blisterzoa Cinderslash Ravager Anoint with Affliction Hall of the Bandit Lord @@ -473,20 +439,12 @@ Whack Security Rhox Ormos, Archive Keeper Myojin of Cryptic Dreams -Kami of Celebration -Collision of Realms -Akki Battle Squad -Smoke Spirits' Aid -Kaima, the Fractured Calm -Katsumasa, the Animator -One with the Kami Unforgiving One Silver-Fur Master Satsuki, the Living Lore Spirit-Sister's Call Light-Paws, Emperor's Voice Invoke Justice -Bronzeplate Boar Eater of Virtue The Restoration of Eiganjo Atsushi, the Blazing Sky @@ -494,6 +452,7 @@ Dramatist's Puppet Ambitious Assault Containment Construct March of Otherworldly Light +Akki Ronin Akki Ember-Keeper Bronze Cudgels Automated Artificer @@ -519,14 +478,11 @@ Lethal Exploit Isshin, Two Heavens as One Nashi, Moon Sage's Scion Invigorating Hot Spring -Hinata, Dawn-Crowned March of Wretched Sorrow Hidetsugu Consumes All Greasefang, Okiba Boss Storyweave Spinning Wheel Kick -Leech Gauntlet -Webspinner Cuff Kami of Terrible Secrets Weaver of Harmony Teachings of the Kirin @@ -551,24 +507,18 @@ Upriser Renegade Mech Hangar Explosive Singularity Anchor to Reality -Rabbit Battery Peerless Samurai Eiganjo, Seat of the Empire Moon-Circuit Hacker Invoke Calamity Futurist Operative -Lizard Blades Covert Technician Goro-Goro, Disciple of Ryusei Biting-Palm Ninja Scrap Welder -Thousand-Faced Shadow -Simian Sling Sokenzan, Crucible of Defiance -Prosperous Thief March of Reckless Joy Discover the Impossible -Ogre-Head Helm Seismic Wave Behold the Unspeakable Roadside Reliquary @@ -609,7 +559,6 @@ Harmonious Emergence Mobilizer Mech Boseiju Reaches Skyward Blossom Prancer -Moonsnare Prototype Careful Cultivation Banishing Slash Ancestral Katana diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index bf453d3e1..e36cbd2a6 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1,7 +1,7 @@ grade=borderline #Bordeline Primitives Pack for Wagic the Homebrew. #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#I sorted this programmatically - Thanks to Vitty85 05-06-2023 +#I sorted this programmatically - Thanks to Vitty85 09-06-2023 [card] name=+2 Mace auto={3}:equip @@ -1253,6 +1253,16 @@ power=0 toughness=3 [/card] [card] +name=Akki Battle Squad +auto=@combat(attacking) source(creature[modified]|mybattlefield) turnlimited:name(Untap modified creatures) nextphasealter(add,combatphases,controller,after) && all(creature[modified]|mybattlefield) untap +text=Whenever one or more modified creatures you control attack, untap all modified creatures you control. After this combat phase, there is an additional combat phase. This ability triggers only once each turn. (Equipment, Auras you control, and counters are modifications.) +mana={5}{R} +type=Creature +subtype=Goblin Samurai +power=6 +toughness=6 +[/card +[card] name=Akki Ronin auto=@combat(attackedalone) source(*[Samurai;Warrior]|myBattlefield):may _DISCARD&DRAW_ text=Whenever a Samurai or Warrior you control attacks alone, you may discard a card. If you do, draw a card. @@ -15010,9 +15020,7 @@ toughness=4 [card] name=Chishiro, the Shattered Blade auto=@movedTo(*[Aura;Equipment]|myBattlefield):create(spirit:creature spirit:2/2:red:menace) -auto=@each my endofturn:counter(1/1) all(creature[geared]|myBattlefield) -auto=@each my endofturn:counter(1/1) all(creature[enchanted]|myBattlefield) -auto=@each my endofturn:counter(1/1) all(creature[counter{any}]|myBattlefield) +auto=@each my endofturn:counter(1/1) all(creature[modified]|myBattlefield) text=Whenever an Aura or Equipment enters the battlefield under your control, create a 2/2 red Spirit creature token with menace. -- At the beginning of your end step, put a +1/+1 counter on each modified creature you control. (Equipment, Auras you control, and counters are modifications.) mana={2}{R}{G} type=Legendary Creature @@ -16529,6 +16537,17 @@ mana={1}{RG} type=Instant [/card] [card] +name=Collision of Realms +aicode=activate transforms((,newability[all(creature[zpos<=findfirsttypecreature]|mylibrary) moveto(mybattlefield) and!( all(*[zpos<=findfirsttypecreature]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot +auto=if type(creature[-token]|mybattlefield)~morethan~0 then all(creature|mybattlefield) moveto(mylibrary) && shuffle && ability$!name(Look top card) reveal:1 revealzone(mylibrary) revealuntil(creature|mylibrary) optionone choice name(Choose creature) target(creature|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot)! optiononeend optiontwo choice name(put in graveyard) all(*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveTo(mybattlefield) afterrevealedend revealend!$ controller +auto=if type(creature[-token]|opponentbattlefield)~morethan~0 then all(creature|opponentbattlefield) moveto(opponentlibrary) && shuffle opponent && all(this|mystack) transforms((,newability[all(creature[zpos<=oppofindfirsttypecreature]|opponentlibrary) moveto(opponentbattlefield) and!( all(*[zpos<=oppofindfirsttypecreature]|opponentlibrary) moveto(opponentreveal) and!( bottomoflibrary )! )!])) ueot +auto=if type(creature[-token]|mybattlefield)~equalto~0 then all(creature|mybattlefield) moveto(mylibrary) && shuffle +auto=if type(creature[-token]|opponentbattlefield)~equalto~0 then all(creature|opponentbattlefield) moveto(opponentlibrary) && shuffle opponent +text=Each player shuffles all creatures they own into their library. Each player who shuffled a nontoken creature into their library this way reveals cards from the top of their library until they reveal a creature card, then puts that card onto the battlefield and the rest on the bottom of their library in a random order. +mana={6}{R} +type=Sorcery +[/card] +[card] name=Colorful Feiyi Sparrow abilities=flying text=Flying. (This creature can't be blocked except by creatures with flying or reach.) @@ -38834,9 +38853,7 @@ toughness=4 [card] name=Guardians of Oboro abilities=defender -auto=lord(creature[geared]|myBattlefield) canattack -auto=lord(creature[enchanted]|myBattlefield) canattack -auto=lord(creature[counter{any}]|myBattlefield) canattack +auto=lord(creature[modified]|myBattlefield) canattack text=Defender -- Modified creatures you control can attack as though they didn't have defender. (Equipment, Auras you control, and counters are modifications.) mana={2}{U} type=Creature @@ -48008,6 +48025,17 @@ power=2 toughness=2 [/card] [card] +name=Kaima, the Fractured Calm +auto=@each my endofturn:name(Goad opponent creatures) all(creature[enchanted]|opponentBattlefield) _GOAD_ +auto=@each my endofturn:name(Put 1/1 counter) foreach(creature[enchanted]|opponentBattlefield) counter(1/1) +text=At the beginning of your end step, goad each creature your opponents control that's enchanted by an Aura you control. Put a +1/+1 counter on Kaima, the Fractured Calm for each creature goaded this way. (Until your next turn, the goaded creatures attack each combat if able and attack a player other than you if able.) +mana={2}{R}{G} +type=Legendary Creature +subtype=Spirit +power=3 +toughness=3 +[/card] +[card] name=Kaito's Pursuit target=player auto=ability$!name(discard) reject notatarget(<2>*|myhand)!$ targetedplayer @@ -48197,6 +48225,17 @@ power=3 toughness=4 [/card] [card] +name=Kami of Celebration +auto=@combat(attacking) source(creature[modified]|mybattlefield):name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! +auto=@movedto(*|mystack) from(myexile):name(Put 1/1 counter) counter(1/1) target(creature|mybattlefield) +text=Whenever a modified creature you control attacks, exile the top card of your library. You may play that card this turn. (Equipment, Auras you control, and counters are modifications.) -- Whenever you cast a spell from exile, put a +1/+1 counter on target creature you control. +mana={4}{R} +type=Creature +subtype=Spirit +power=3 +toughness=3 +[/card] +[card] name=Kami of Restless Shadows auto=may name(Return a Ninja) target(creature[Ninja]|mygraveyard) moveto(myhand) auto=may name(Return a Rogue) target(creature[Rogue]|mygraveyard) moveto(myhand) @@ -48517,6 +48556,19 @@ power=1 toughness=1 [/card] [card] +name=Katsumasa, the Animator +abilities=flying +auto={2}{U}:name(Artifact nonvehicle becomes creature) target(artifact[-creature&-vehicle]|myBattlefield) transforms((Artifact Creature,setpower=1,settoughness=1,newability[flying])) ueot +auto={2}{U}:name(Artifact vehicle becomes creature) target(artifact[-creature&vehicle]|myBattlefield) transforms((Artifact Creature,newability[flying])) ueot +auto=@each my upkeep:name(Put 1/1 counters) counter(1/1) target(artifact[-creature]|battlefield) +text=Flying -- {2}{U}: Until end of turn, target noncreature artifact you control becomes an artifact creature and gains flying. If it's not a Vehicle, it has base power and toughness 1/1 until end of turn. -- At the beginning of your upkeep, put a +1/+1 counter on each of up to three target noncreature artifacts. +mana={2}{U}{U} +type=Legendary Creature +subtype=Moonfolk Artificer +power=3 +toughness=3 +[/card] +[card] name=Kavu Primarch other={convoke} name(Convoke) kicker={4} @@ -57219,6 +57271,18 @@ mana={B} type=Instant [/card] [card] +name=Mirror-Style Master +auto=name(This creature) target(this) counter(1/1) +auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1)],newability[@combat(attacking) source(this):name(Copy modified attacking creatures) all(creature[attacking&modified]|mybattlefield) clone with(battleready,unearth)])) forever +auto=@combat(attacking) source(this):name(Copy modified attacking creatures) all(creature[attacking&modified]|mybattlefield) clone with(battleready,unearth) +text=Backup 1 (When this creature enters the battlefield, put a +1/+1 counter on target creature. If that's another creature, it gains the following ability until end of turn.) -- Whenever this creature attacks, for each attacking modified creature you control, create a tapped and attacking token that's a copy of that creature. Exile those tokens at end of combat. (Equipment, Auras you control, and counters are modifications.) +mana={4}{R}{R} +type=Creature +subtype=Human Warrior +power=3 +toughness=3 +[/card] +[card] name=Mirror Image auto=may copy NotATarget(creature|myBattlefield) text=You may have Mirror Image enter the battlefield as a copy of any creature you control. @@ -63080,9 +63144,7 @@ subtype=Aura name=One with the Kami abilities=flash target=creature|myBattlefield -auto=lord(creature[geared]|myBattlefield) transforms((,newability[@movedto(this|graveyard) from(myBattlefield) restriction{compare(hascntany)~equalto~0}:name(Create spirit) name(Create spirit) token(Spirit Art)*power])) -auto=lord(creature[enchanted]|myBattlefield) transforms((,newability[@movedto(this|graveyard) from(myBattlefield) restriction{compare(hascntany)~equalto~0}:if cantargetcard(*[-geared]|*) then name(Create spirit) name(Create spirit Art) token(Spirit)*power])) -auto=lord(creature[counter{any}]|myBattlefield) transforms((,newability[_DIES_name(Create spirit) name(Create spirit) token(Spirit Art)*power])) +auto=lord(other creature[modified]|myBattlefield) transforms((,newability[@movedto(this|graveyard) from(myBattlefield):name(Create spirit) name(Create spirit) token(Spirit Art)*power])) auto=teach(creature) transforms((,newability[@movedto(this|graveyard) from(myBattlefield):name(Create spirit) name(Create spirit) token(Spirit Art)*power])) text=Flash -- Enchant creature you control -- Whenever enchanted creature or another modified creature you control dies, create X 1/1 colorless Spirit creature tokens, where X is that creature's power. (Equipment, Auras you control, and counters are modifications.) mana={3}{G} @@ -81091,11 +81153,9 @@ toughness=1 [card] name=Silkguard auto=target(creature|battlefield) counter(1/1) -auto=all(Aura|myBattlefield) opponentshroud -auto=all(Equipment|myBattlefield) opponentshroud -auto=all(creature[geared]|myBattlefield) opponentshroud -auto=all(creature[enchanted]|myBattlefield) opponentshroud -auto=all(creature[counter{any}]|myBattlefield) opponentshroud +auto=all(aura|myBattlefield) opponentshroud +auto=all(equipment|myBattlefield) opponentshroud +auto=all(creature[modified]|myBattlefield) opponentshroud text=Put a +1/+1 counter on each of up to X target creatures you control. -- Auras, Equipment, and modified creatures you control gain hexproof until end of turn. (Equipment, Auras you control, and counters are modifications.) mana={X}{G} type=Instant diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 0047f6a02..8f31ad289 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -2,7 +2,7 @@ grade=unsupported #The cards in this file are not implemented/incomplete yet. #Updated Card lists not in primitives (Borderline, Crappy, Unsupported and Missing Cards) #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#I sorted this programatically - Vitty85 02-06-2023 +#I sorted this programatically - Vitty85 09-06-2023 [card] name="Ach! Hans, Run!" text=At the beginning of your upkeep, you may say "Ach Hans, run It's the . . ." and name a creature card. If you do, search your library for the named card, put it into play, then shuffle your library. That creature has haste. Remove it from the game at end of turn. @@ -5346,6 +5346,15 @@ mana={1}{B}{R} type=Enchantment [/card] [card] +name=Kenessos, Priest of Thassa +text=If you would scry a number of cards, scry that many cards plus one instead. -- {3}{G/U}: Look at the top card of your library. If it's a Kraken, Leviathan, Octopus, or Serpent creature card, you may put it onto the battlefield. If you don't put the card onto the battlefield, you may put it on the bottom of your library. +mana={1}{U} +type=Legendary Creature +subtype=Merfolk Cleric +power=1 +toughness=3 +[/card] +[card] name=Ketria auto=@chaos ensuesexile cards from the top of your library until you exile a nonland permanent card put that card onto the battlefield,inmoveto(ownerhand) text=When you planeswalk to Ketria and at the beginning of your upkeep, put your choice of a vigilance, menace, or trample counter on target creature you control. -- Whenever chaos ensues, exile cards from the top of your library until you exile a nonland permanent card. Put that card onto the battlefield or into your hand. @@ -6583,17 +6592,6 @@ mana={5} type=Artifact [/card] [card] -name=Mirror-Style Master -auto=@this creature attackscreature -auto=foreach(|myBattlefield) -text=Backup 1 (When this creature enters the battlefield, put a +1/+1 counter on target creature. If that's another creature, it gains the following ability until end of turn.) -- Whenever this creature attacks, for each attacking modified creature you control, create a tapped and attacking token that's a copy of that creature. Exile those tokens at end of combat. (Equipment, Auras you control, and counters are modifications.) -mana={4}{R}{R} -type=Creature -subtype=Human Warrior -power=3 -toughness=3 -[/card] -[card] name=Mirrored Depths text=Whenever a player casts a spell, that player flips a coin. If the player loses the flip, counter that spell. -- Whenever you roll {K}, target player reveals the top card of their library. If it?s a nonland card, you may cast it without paying its mana cost. type=Plane @@ -11112,12 +11110,7 @@ type=Sorcery [/card] [card] name=Towashi -auto=lord(other creature|myBattlefield) trample and "whenever this creature deals combat damage to a player or planeswalker, draw a card -auto=Modified creatures you control have trample and "@this creature deals combat damage to a player or planeswalkerdraw:1" -auto=lord(other creature|myBattlefield) creatures you control -auto=@chaos ensuesdistribute three counter(1/1)s among one, two,,three target(creature|myBattlefield) text=Modified creatures you control have trample and "Whenever this creature deals combat damage to a player or planeswalker, draw a card." (Equipment, Auras you control, and counters are modifications.) -- Whenever chaos ensues, distribute three +1/+1 counters among one, two, or three target creatures you control. -mana=null type=Plane subtype=Kamigawa [/card] diff --git a/projects/mtg/include/CardDescriptor.h b/projects/mtg/include/CardDescriptor.h index c9806af8d..08e770432 100644 --- a/projects/mtg/include/CardDescriptor.h +++ b/projects/mtg/include/CardDescriptor.h @@ -51,6 +51,7 @@ class CardDescriptor: public MTGCardInstance int hasConvokeCost; int hasFlashbackCost; int hasBackSide; + int modified; int hasPartner; int hasXCost; int anyCounter; @@ -61,6 +62,7 @@ class CardDescriptor: public MTGCardInstance void unsecureSetHasConvokeCost(int i); void unsecureSetHasFlashbackCost(int i); void unsecureSetHasBackSide(int i); + void unsecureSetModified(int i); void unsecureSetHasPartner(int i); void unsecureSetTapped(int i); void unsecuresetfresh(int k); diff --git a/projects/mtg/src/CardDescriptor.cpp b/projects/mtg/src/CardDescriptor.cpp index 90bc7c0a6..5b4bca46e 100644 --- a/projects/mtg/src/CardDescriptor.cpp +++ b/projects/mtg/src/CardDescriptor.cpp @@ -89,6 +89,11 @@ void CardDescriptor::unsecureSetHasBackSide(int k) hasBackSide = k; } +void CardDescriptor::unsecureSetModified(int k) +{ + modified = k; +} + void CardDescriptor::unsecureSetHasPartner(int k) { hasPartner = k; @@ -341,6 +346,11 @@ MTGCardInstance * CardDescriptor::match(MTGCardInstance * card) } } + if ((modified == -1 && ((card->enchanted) || (card->equipment > 0) || (card->counters->mCount))) || (modified == 1 && !((card->enchanted) || (card->equipment > 0) || (card->counters->mCount)))) + { + match = NULL; + } + if ((hasKickerCost == -1 && ((card->getManaCost()->getKicker() && !card->basicAbilities[Constants::HASNOKICKER]) || (!card->getManaCost()->getKicker() && card->basicAbilities[Constants::HASOTHERKICKER]))) || (hasKickerCost == 1 && !((card->getManaCost()->getKicker() && !card->basicAbilities[Constants::HASNOKICKER]) || (!card->getManaCost()->getKicker() && card->basicAbilities[Constants::HASOTHERKICKER])))) { match = NULL; //Some kicker costs are not a real kicker (e.g. Fuse cost). diff --git a/projects/mtg/src/CardGui.cpp b/projects/mtg/src/CardGui.cpp index ed2973780..cf29acfe1 100644 --- a/projects/mtg/src/CardGui.cpp +++ b/projects/mtg/src/CardGui.cpp @@ -1556,6 +1556,18 @@ bool CardGui::FilterCard(MTGCard * _card,string filter) cd.unsecureSetHasBackSide(1); } } + //Is modified + else if (attribute.find("modified") != string::npos) + { + if (minus) + { + cd.unsecureSetModified(-1); + } + else + { + cd.unsecureSetModified(1); + } + } //Has partner else if (attribute.find("haspartner") != string::npos) { diff --git a/projects/mtg/src/TargetChooser.cpp b/projects/mtg/src/TargetChooser.cpp index 0c2993f38..f514fad7b 100644 --- a/projects/mtg/src/TargetChooser.cpp +++ b/projects/mtg/src/TargetChooser.cpp @@ -651,6 +651,18 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta cd->unsecureSetHasBackSide(1); } } + //Is modified + else if (attribute.find("modified") != string::npos) + { + if (minus) + { + cd->unsecureSetModified(-1); + } + else + { + cd->unsecureSetModified(1); + } + } //Has partner else if (attribute.find("haspartner") != string::npos) {