From 90fb03aba7bc13c560fa5d1881ecb80ca3490a6c Mon Sep 17 00:00:00 2001 From: "omegablast2002@yahoo.com" Date: Fri, 22 Oct 2010 17:45:56 +0000 Subject: [PATCH] finally fixed Changeling abilities= keyword. --- projects/mtg/src/CardGui.cpp | 5 +++++ projects/mtg/src/CardPrimitive.cpp | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/projects/mtg/src/CardGui.cpp b/projects/mtg/src/CardGui.cpp index c5d654a87..e3a48afac 100644 --- a/projects/mtg/src/CardGui.cpp +++ b/projects/mtg/src/CardGui.cpp @@ -307,8 +307,13 @@ void CardGui::alternateRender(MTGCard * card, const Pos& pos){ string s = ""; for (int i = card->data->types.size() - 1; i > 0; --i) { + if(card->data->basicAbilities[55]){ + s += _("Shapeshifter - "); + break; + }else{ s += _(Subtypes::subtypesList->find(card->data->types[i])); s += _(" - "); + } } if(card->data->types.size()) s += _(Subtypes::subtypesList->find(card->data->types[0])); diff --git a/projects/mtg/src/CardPrimitive.cpp b/projects/mtg/src/CardPrimitive.cpp index 5bef42ce3..8cc34cc3e 100644 --- a/projects/mtg/src/CardPrimitive.cpp +++ b/projects/mtg/src/CardPrimitive.cpp @@ -186,6 +186,23 @@ void CardPrimitive::addType(char * _type_text){ void CardPrimitive::setSubtype(const string& value){ int id = Subtypes::subtypesList->find(value); addType(id); + + if(basicAbilities[55]){ + for(int i=Subtypes::LAST_TYPE+1;;i++){ + string s = Subtypes::subtypesList->find(i); + if(!hasSubtype(i)) + { + if(s == "") break; + if(s.find(" ") != string::npos) continue; + if(s == "Nothing" || s == "Swamp" || s == "Plains" || s == "Mountain" || s == "Forest" || s == "Island") + {//dont add "nothing" or land type to this card. + }else{ + addType(i); + } + } + } + } + } void CardPrimitive::addType(int id){