From 23f056f39c7ff8d3ce1468bd9cdf5ca1c05c79fd Mon Sep 17 00:00:00 2001 From: "omegablast2002@yahoo.com" Date: Mon, 12 Sep 2011 20:15:51 +0000 Subject: [PATCH] added restriction keyword "morbid" it has very specific rules that can not be done with current support...it can be used anywhere existing restrictions can be used.... example card.. [card] name=Morkrut Banshee auto=if morbid then choice target(creature) -4/-4 ueot power=4 toughness=4 mana={3}{b}{b} [/card] --- projects/mtg/src/MTGAbility.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 2a03d73e8..1178057d6 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -226,6 +226,29 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card,Player * player return 0; } } + check = restriction[i].find("morbid"); + if(check != string::npos) + { + bool isMorbid = false; + for(int cp = 0;cp < 2;cp++) + { + Player * checkCurrent = game->players[cp]; + MTGGameZone * grave = checkCurrent->game->graveyard; + for(unsigned int gy = 0;gy < grave->cardsSeenThisTurn.size();gy++) + { + MTGCardInstance * checkCard = grave->cardsSeenThisTurn[gy]; + if(checkCard->isCreature()) + { + isMorbid = true; + break; + } + } + if(isMorbid) + break; + } + if(!isMorbid) + return 0; + } check = restriction[i].find("one of a kind"); if(check != string::npos) {