-fix issue 209 (Clone loops AI)
This commit is contained in:
wagic.the.homebrew@gmail.com
2010-01-15 16:49:17 +00:00
parent 187e108cdb
commit 11ed497ebb
7 changed files with 78 additions and 61 deletions
+12
View File
@@ -162,6 +162,18 @@ int AbilityFactory::parseRestriction(string s){
return ActivatedAbility::NO_RESTRICTION;
}
MTGAbility * AbilityFactory::getCoreAbility(MTGAbility * a){
GenericTargetAbility * gta = dynamic_cast<GenericTargetAbility*>(a);
if (gta) return getCoreAbility(gta->ability);
GenericActivatedAbility * gaa = dynamic_cast<GenericActivatedAbility*>(a);
if (gaa) return getCoreAbility(gaa->ability);
if (MultiAbility * abi = dynamic_cast<MultiAbility*>(a)) return getCoreAbility(abi->abilities[0]);
return a;
}
//Parses a string and returns the corresponding MTGAbility object
// Returns NULL if parsing failed