Erwan
- Fix issue 102 (Rampage not working correctly)
This commit is contained in:
@@ -21,6 +21,7 @@ generic/persist2.txt
|
||||
generic/persist3.txt
|
||||
generic/phases.txt
|
||||
generic/rampage.txt
|
||||
generic/rampage2.txt
|
||||
generic/regenerate.txt
|
||||
generic/sacrifice.txt
|
||||
generic/summoning_sickness.txt
|
||||
|
||||
49
projects/mtg/bin/Res/test/generic/rampage2.txt
Normal file
49
projects/mtg/bin/Res/test/generic/rampage2.txt
Normal file
@@ -0,0 +1,49 @@
|
||||
#Testing Rampage
|
||||
# issue #102: http://code.google.com/p/wagic/issues/detail?id=102
|
||||
[INIT]
|
||||
COMBATATTACKERS
|
||||
[PLAYER1]
|
||||
inplay:Hunding Gjornersen
|
||||
[PLAYER2]
|
||||
inplay:black knight,grizzly bears
|
||||
[DO]
|
||||
Hunding Gjornersen
|
||||
next
|
||||
black knight
|
||||
grizzly bears
|
||||
next
|
||||
#blockers order
|
||||
next
|
||||
#damage first strike
|
||||
next
|
||||
#combat damage->Gui
|
||||
next
|
||||
#combat Damage
|
||||
eot
|
||||
eot
|
||||
next
|
||||
#upkeep
|
||||
next
|
||||
#draw
|
||||
next
|
||||
#main
|
||||
next
|
||||
#begin
|
||||
next
|
||||
#attackers
|
||||
Hunding Gjornersen
|
||||
next
|
||||
#blockers
|
||||
next
|
||||
#damage
|
||||
next
|
||||
#combat end
|
||||
[ASSERT]
|
||||
COMBATEND
|
||||
[PLAYER1]
|
||||
inplay:Hunding Gjornersen
|
||||
[PLAYER2]
|
||||
graveyard:grizzly bears
|
||||
inplay:black knight
|
||||
life:15
|
||||
[END]
|
||||
@@ -3980,11 +3980,12 @@ class ARampageAbility:public MTGAbility{
|
||||
int receiveEvent(WEvent * event) {
|
||||
if (dynamic_cast<WEventBlockersChosen*>(event)) {
|
||||
nbOpponents = source->blockers.size();
|
||||
if (nbOpponents <= MaxOpponent) return 0;
|
||||
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)
|
||||
if (Constants::MTG_PHASE_AFTER_EOT == pe->to->id && nbOpponents > MaxOpponent)
|
||||
{
|
||||
source->power -= PowerModifier * (nbOpponents - MaxOpponent);
|
||||
source->addToToughness(-ToughnessModifier * (nbOpponents - MaxOpponent));
|
||||
|
||||
@@ -123,6 +123,7 @@ void GuiCombat::removeOne(DefenserDamaged* blocker, CombatStep step)
|
||||
}
|
||||
|
||||
bool GuiCombat::clickOK(){
|
||||
active = activeAtk = NULL;
|
||||
cursor_pos = NONE;
|
||||
switch (step)
|
||||
{
|
||||
|
||||
@@ -118,7 +118,8 @@ int TestSuiteAI::Act(float dt){
|
||||
}
|
||||
else if (action.compare("next")==0){
|
||||
GuiCombat * gc = g->mLayers->combatLayer();
|
||||
if (ORDER == g->combatStep || DAMAGE == g->combatStep) gc->clickOK();
|
||||
if (ORDER == g->combatStep || DAMAGE == g->combatStep)
|
||||
gc->clickOK();
|
||||
else g->userRequestNextGamePhase();
|
||||
}
|
||||
else if (action.compare("yes")==0)
|
||||
|
||||
Reference in New Issue
Block a user