added Prowl support.

example usage:
other={1}{B} name(Prowl)
otherrestriction=prowl
This commit is contained in:
anthonycalosa@gmail.com
2013-05-20 02:59:18 +00:00
parent a055044281
commit f0de00086b
5 changed files with 47 additions and 0 deletions

View File

@@ -153,6 +153,15 @@ int Damage::resolve()
if(!_target->inPlay()->hasAbility(Constants::POISONSHROUD))
_target->poisonCount += damage;//this will be changed to poison counters.
_target->damageCount += damage;
if ( typeOfDamage == 1 && target == source->controller()->opponent() )//add vector prowledtypes.
{
vector<string> values = MTGAllCards::getCreatureValuesById();
for (size_t i = 0; i < values.size(); ++i)
{
if ( source->hasSubtype( values[i] ) && find(source->controller()->prowledTypes.begin(), source->controller()->prowledTypes.end(), values[i])==source->controller()->prowledTypes.end() )
source->controller()->prowledTypes.push_back(values[i]);
}
}
}
else if (target->type_as_damageable == DAMAGEABLE_PLAYER && (source->has(Constants::POISONTOXIC) ||
source->has(Constants::POISONTWOTOXIC) || source->has(Constants::POISONTHREETOXIC)))
@@ -161,6 +170,15 @@ int Damage::resolve()
Player * _target = (Player *) target;
a = target->dealDamage(damage);
target->damageCount += damage;
if ( typeOfDamage == 1 && target == source->controller()->opponent() )//add vector prowledtypes.
{
vector<string> values = MTGAllCards::getCreatureValuesById();
for (size_t i = 0; i < values.size(); ++i)
{
if ( source->hasSubtype( values[i] ) && find(source->controller()->prowledTypes.begin(), source->controller()->prowledTypes.end(), values[i])==source->controller()->prowledTypes.end() )
source->controller()->prowledTypes.push_back(values[i]);
}
}
if(!_target->inPlay()->hasAbility(Constants::POISONSHROUD))
{
if (source->has(Constants::POISONTOXIC))
@@ -197,6 +215,15 @@ int Damage::resolve()
((MTGCardInstance*)source)->damageToOpponent = true;
}
target->lifeLostThisTurn += damage;
if ( typeOfDamage == 1 && target == source->controller()->opponent() )//add vector prowledtypes.
{
vector<string> values = MTGAllCards::getCreatureValuesById();
for (size_t i = 0; i < values.size(); ++i)
{
if ( source->hasSubtype( values[i] ) && find(source->controller()->prowledTypes.begin(), source->controller()->prowledTypes.end(), values[i])==source->controller()->prowledTypes.end() )
source->controller()->prowledTypes.push_back(values[i]);
}
}
WEvent * lifed = NEW WEventLife((Player*)target,-damage);
observer->receiveEvent(lifed);
}