copy function grants the source of the abilities the castMethod of "notcast" which is default, however for cards which are played, such as vesuva on "copy" it would be granted a "not_cast" as its play method, allowing players to play another card of the type that a restriction would normally prevent you from playing...this effected all cards which "copy" such as shapeshifters.
note: I do know it's as dirty as "mtgidbackup" but unfortunately I don't think there would be a simpler way to maintain it's cast method.
This commit is contained in:
@@ -81,6 +81,7 @@ void MTGCardInstance::copy(MTGCardInstance * card)
|
|||||||
|
|
||||||
//Now this is dirty...
|
//Now this is dirty...
|
||||||
int backupid = mtgid;
|
int backupid = mtgid;
|
||||||
|
int castMethodBackUP = this->castMethod;
|
||||||
mtgid = source->getId();
|
mtgid = source->getId();
|
||||||
Spell * spell = NEW Spell(observer, this);
|
Spell * spell = NEW Spell(observer, this);
|
||||||
observer = card->observer;
|
observer = card->observer;
|
||||||
@@ -88,6 +89,7 @@ void MTGCardInstance::copy(MTGCardInstance * card)
|
|||||||
af.addAbilities(observer->mLayers->actionLayer()->getMaxId(), spell);
|
af.addAbilities(observer->mLayers->actionLayer()->getMaxId(), spell);
|
||||||
delete spell;
|
delete spell;
|
||||||
mtgid = backupid;
|
mtgid = backupid;
|
||||||
|
castMethod = castMethodBackUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
MTGCardInstance::~MTGCardInstance()
|
MTGCardInstance::~MTGCardInstance()
|
||||||
|
|||||||
Reference in New Issue
Block a user