removed some copy paste coding i did from previous commit :/ i was lazy, tho it surprises me that i always take the route of copy paste when doing it the right way is far less to change or debugg is something goes wrong, guess im a creature of habit.
This commit is contained in:
@@ -275,6 +275,7 @@ class ActivatedAbility:public MTGAbility{
|
||||
virtual int isReactingToClick(MTGCardInstance * card, ManaCost * mana = NULL);
|
||||
virtual int reactToTargetClick(Targetable * object);
|
||||
virtual int resolve() = 0;
|
||||
void activeSideEffect();
|
||||
virtual ActivatedAbility* clone() const = 0;
|
||||
virtual ostream& toString(ostream& out) const;
|
||||
};
|
||||
|
||||
@@ -4087,27 +4087,8 @@ int ActivatedAbility::reactToClick(MTGCardInstance * card)
|
||||
counters++;
|
||||
if(sideEffect && usesBeforeSideEffects.size())
|
||||
{
|
||||
WParsedInt * use = NEW WParsedInt(usesBeforeSideEffects.c_str(),NULL,source);
|
||||
uses = use->getValue();
|
||||
delete use;
|
||||
if(counters == uses)
|
||||
{
|
||||
sa = sideEffect->clone();
|
||||
sa->target = this->target;
|
||||
sa->source = this->source;
|
||||
if(sa->oneShot)
|
||||
{
|
||||
sa->fireAbility();
|
||||
}
|
||||
else
|
||||
{
|
||||
GenericInstantAbility * wrapper = NEW GenericInstantAbility(1, source, (Damageable *) (this->target), sa);
|
||||
wrapper->addToGame();
|
||||
}
|
||||
}
|
||||
|
||||
activeSideEffect();
|
||||
}
|
||||
|
||||
fireAbility();
|
||||
return 1;
|
||||
|
||||
@@ -4154,25 +4135,7 @@ int ActivatedAbility::reactToTargetClick(Targetable * object)
|
||||
counters++;
|
||||
if(sideEffect && usesBeforeSideEffects.size())
|
||||
{
|
||||
WParsedInt * use = NEW WParsedInt(usesBeforeSideEffects.c_str(),NULL,source);
|
||||
uses = use->getValue();
|
||||
delete use;
|
||||
if(counters == uses)
|
||||
{
|
||||
sa = sideEffect->clone();
|
||||
sa->target = this->target;
|
||||
sa->source = this->source;
|
||||
if(sa->oneShot)
|
||||
{
|
||||
sa->fireAbility();
|
||||
}
|
||||
else
|
||||
{
|
||||
GenericInstantAbility * wrapper = NEW GenericInstantAbility(1, source, (Damageable *) (this->target), sa);
|
||||
wrapper->addToGame();
|
||||
}
|
||||
}
|
||||
|
||||
activeSideEffect();
|
||||
}
|
||||
this->resolve();
|
||||
return 1;
|
||||
@@ -4180,30 +4143,36 @@ int ActivatedAbility::reactToTargetClick(Targetable * object)
|
||||
counters++;
|
||||
if(sideEffect && usesBeforeSideEffects.size())
|
||||
{
|
||||
WParsedInt * use = NEW WParsedInt(usesBeforeSideEffects.c_str(),NULL,source);
|
||||
uses = use->getValue();
|
||||
delete use;
|
||||
if(counters == uses)
|
||||
{
|
||||
sa = sideEffect->clone();
|
||||
sa->target = this->target;
|
||||
sa->source = this->source;
|
||||
if(sa->oneShot)
|
||||
{
|
||||
sa->fireAbility();
|
||||
}
|
||||
else
|
||||
{
|
||||
GenericInstantAbility * wrapper = NEW GenericInstantAbility(1, source, (Damageable *) (this->target), sa);
|
||||
wrapper->addToGame();
|
||||
}
|
||||
}
|
||||
activeSideEffect();
|
||||
}
|
||||
fireAbility();
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
void ActivatedAbility::activeSideEffect()
|
||||
{
|
||||
WParsedInt * use = NEW WParsedInt(usesBeforeSideEffects.c_str(),NULL,source);
|
||||
uses = use->getValue();
|
||||
delete use;
|
||||
if(counters == uses)
|
||||
{
|
||||
sa = sideEffect->clone();
|
||||
sa->target = this->target;
|
||||
sa->source = this->source;
|
||||
if(sa->oneShot)
|
||||
{
|
||||
sa->fireAbility();
|
||||
}
|
||||
else
|
||||
{
|
||||
GenericInstantAbility * wrapper = NEW GenericInstantAbility(1, source, (Damageable *) (this->target), sa);
|
||||
wrapper->addToGame();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
ActivatedAbility::~ActivatedAbility()
|
||||
{
|
||||
//Ok, this will probably lead to crashes, maybe with lord abilities involving "X" costs.
|
||||
|
||||
Reference in New Issue
Block a user