* Fix the last tests that didn't work, Rampage ability.
This commit is contained in:
jean.chalard
2009-09-07 16:40:03 +00:00
parent 5b473a1505
commit e7fb9282ce
4 changed files with 60 additions and 167 deletions
+15 -17
View File
@@ -3881,26 +3881,24 @@ class ARampageAbility:public MTGAbility{
ARampageAbility(int _id, MTGCardInstance * _source,int _PowerModifier, int _ToughnessModifier, int _MaxOpponent):MTGAbility(_id, _source){
PowerModifier = _PowerModifier;
ToughnessModifier = _ToughnessModifier;
MaxOpponent = _MaxOpponent;
MaxOpponent = _MaxOpponent;
nbOpponents = 0;
}
void Update(float dt){
if (newPhase != currentPhase){
if( source->isAttacker() && newPhase == Constants::MTG_PHASE_COMBATDAMAGE){
nbOpponents = source->blockers.size();
for (int i = MaxOpponent; i < nbOpponents; i++){
source->power+= PowerModifier;
source->addToToughness(ToughnessModifier);
int receiveEvent(WEvent * event) {
if (dynamic_cast<WEventBlockersChosen*>(event)) {
nbOpponents = source->blockers.size();
source->power += PowerModifier * (nbOpponents - MaxOpponent);
source->addToToughness(ToughnessModifier * (nbOpponents - MaxOpponent));
}
else if (WEventPhaseChange* pe = dynamic_cast<WEventPhaseChange*>(event)) {
if (Constants::MTG_PHASE_AFTER_EOT == pe->to->id)
{
source->power -= PowerModifier * (nbOpponents - MaxOpponent);
source->addToToughness(-ToughnessModifier * (nbOpponents - MaxOpponent));
nbOpponents = 0;
}
}
if( newPhase == Constants::MTG_PHASE_AFTER_EOT ){
for (int i = MaxOpponent; i < nbOpponents; i++){
source->power-= PowerModifier;
source->addToToughness(-ToughnessModifier);
}
nbOpponents = 0;
}
}
}
return 1;
}
ARampageAbility * clone() const{