This commit is contained in:
Anthony Calosa
2017-02-01 22:37:00 +08:00
parent 711934a249
commit 80b6496780
4 changed files with 8 additions and 9 deletions
+1 -1
View File
@@ -881,7 +881,7 @@ private:
for (int j = card->controller()->game->battlefield->nb_cards - 1; j >= 0; --j) for (int j = card->controller()->game->battlefield->nb_cards - 1; j >= 0; --j)
{ {
MTGCardInstance * crew = card->controller()->game->battlefield->cards[j]; MTGCardInstance * crew = card->controller()->game->battlefield->cards[j];
if (crew != card && crew->isCreature() && !crew->isTapped() && !crew->has(Constants::CANTCREW)) if (crew != card && crew->isCreature() && !crew->isTapped() && !crew->isPhased && !crew->has(Constants::CANTCREW))
intValue += crew->power; intValue += crew->power;
} }
} }
+4 -5
View File
@@ -1547,8 +1547,6 @@ int AACopier::resolve()
MTGCardInstance * _target = (MTGCardInstance *) target; MTGCardInstance * _target = (MTGCardInstance *) target;
if (_target) if (_target)
{ {
if(isactivated)
source->isPhased = true;
bool tokencopied = false; bool tokencopied = false;
if(_target->isToken || (_target->isACopier && _target->hasCopiedToken)) if(_target->isToken || (_target->isACopier && _target->hasCopiedToken))
tokencopied = true; tokencopied = true;
@@ -1609,8 +1607,8 @@ int AACopier::resolve()
TokenandAbilityClone->addToGame(); TokenandAbilityClone->addToGame();
} }
} }
if(isactivated) if(source->isACopier)
{//activated version grant {
source->GrantedAndAbility = andAbility; source->GrantedAndAbility = andAbility;
AbilityFactory af(game); AbilityFactory af(game);
for(unsigned int i = 0;i < source->cardsAbilities.size();i++) for(unsigned int i = 0;i < source->cardsAbilities.size();i++)
@@ -1631,6 +1629,8 @@ int AACopier::resolve()
{ {
if (a->oneShot) if (a->oneShot)
{ {
if(a->source->entersBattlefield)
a->resolve();
SAFE_DELETE(a); SAFE_DELETE(a);
} }
else else
@@ -1658,7 +1658,6 @@ int AACopier::resolve()
andAbilityClone->addToGame(); andAbilityClone->addToGame();
} }
} }
source->isPhased = false;
} }
return 1; return 1;
} }
+2 -2
View File
@@ -141,14 +141,14 @@ void MTGCardInstance::copy(MTGCardInstance * card)
int castMethodBackUP = this->castMethod; int castMethodBackUP = this->castMethod;
mtgid = source->getId(); mtgid = source->getId();
MTGCardInstance * oldStored = this->storedSourceCard; MTGCardInstance * oldStored = this->storedSourceCard;
if(!isPhased) /*if(!isPhased)
{ {
Spell * spell = NEW Spell(observer, this); Spell * spell = NEW Spell(observer, this);
observer = card->observer; observer = card->observer;
AbilityFactory af(observer); AbilityFactory af(observer);
af.addAbilities(observer->mLayers->actionLayer()->getMaxId(), spell); af.addAbilities(observer->mLayers->actionLayer()->getMaxId(), spell);
delete spell; delete spell;
} }*/
if(observer->players[1]->playMode == Player::MODE_TEST_SUITE) if(observer->players[1]->playMode == Player::MODE_TEST_SUITE)
mtgid = backupid; // there must be a way to get the token id... mtgid = backupid; // there must be a way to get the token id...
+1 -1
View File
@@ -3232,7 +3232,7 @@ int MTGLegendRule::receiveEvent(WEvent * event)
{ {
vector<MTGAbility*>selection; vector<MTGAbility*>selection;
TargetChooserFactory tfL(game); TargetChooserFactory tfL(game);
tcL = tfL.createTargetChooser("*[share!name!]|mybattlefield",card->clone()); tcL = tfL.createTargetChooser("*[share!name!]|mybattlefield",card);
tcL->targetter = NULL; tcL->targetter = NULL;
tcL->maxtargets = card->countDuplicateCardNames()-1; tcL->maxtargets = card->countDuplicateCardNames()-1;
Legendrule = NEW AAMover(game, game->mLayers->actionLayer()->getMaxId(), card, NULL,"ownergraveyard","Put in Graveyard"); Legendrule = NEW AAMover(game, game->mLayers->actionLayer()->getMaxId(), card, NULL,"ownergraveyard","Put in Graveyard");