revised copier copied abilities

the clone should copy original abilities only
This commit is contained in:
Anthony Calosa
2017-02-03 10:31:10 +08:00
parent dc696a0f45
commit 942c95e736
3 changed files with 17 additions and 4 deletions

View File

@@ -141,6 +141,17 @@ void MTGCardInstance::copy(MTGCardInstance * card)
int castMethodBackUP = this->castMethod;
mtgid = source->getId();
MTGCardInstance * oldStored = this->storedSourceCard;
//test copy filtered
cardsAbilitiesFilter.clear();
for(unsigned int i = 0;i < card->cardsAbilities.size();i++)
{
MTGAbility * a = dynamic_cast<MTGAbility *>(card->cardsAbilities[i]);
if(a && a->source == card)
{
cardsAbilitiesFilter.push_back(a);
}
}
//
/*if(!isPhased)
{
Spell * spell = NEW Spell(observer, this);
@@ -297,6 +308,7 @@ void MTGCardInstance::initMTGCI()
exileEffects = false;
currentZone = NULL;
cardsAbilities = vector<MTGAbility *>();
cardsAbilitiesFilter = vector<MTGAbility *>();
data = this; //an MTGCardInstance point to itself for data, allows to update it without killing the underlying database item
if (observer && basicAbilities[(int)Constants::CHANGELING])