Erwan
-fixed bug when re-ordering blockers
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
########################
|
||||
generic/attacks_each_turn.txt
|
||||
generic/m10_blockers.txt
|
||||
generic/m10_blockers2.txt
|
||||
generic/first_strike.txt
|
||||
generic/first_strike2.txt
|
||||
generic/first_strike3.txt
|
||||
|
||||
30
projects/mtg/bin/Res/test/generic/m10_blockers2.txt
Normal file
30
projects/mtg/bin/Res/test/generic/m10_blockers2.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
#New blockers reordering rule
|
||||
[INIT]
|
||||
COMBATATTACKERS
|
||||
[PLAYER1]
|
||||
inplay:grizzly bears
|
||||
[PLAYER2]
|
||||
inplay:raging goblin,Drudge Skeletons,dragon engine
|
||||
[DO]
|
||||
grizzly bears
|
||||
next
|
||||
#blockers
|
||||
dragon engine
|
||||
raging goblin
|
||||
Drudge Skeletons
|
||||
next
|
||||
#blockers order
|
||||
dragon engine
|
||||
dragon engine
|
||||
next
|
||||
#combat damage
|
||||
next
|
||||
#combat end
|
||||
[ASSERT]
|
||||
COMBATEND
|
||||
[PLAYER1]
|
||||
graveyard:grizzly bears
|
||||
[PLAYER2]
|
||||
graveyard:Drudge Skeletons,raging goblin
|
||||
inplay:dragon engine
|
||||
[END]
|
||||
@@ -474,10 +474,10 @@ MTGCardInstance * MTGCardInstance::getNextDefenser(MTGCardInstance * previous){
|
||||
int MTGCardInstance::moveBlockerInRow(MTGCardInstance * blocker){
|
||||
list<MTGCardInstance *>::iterator it1 = find(blockers.begin(), blockers.end(), blocker);
|
||||
list<MTGCardInstance *>::iterator it2 = it1;
|
||||
if (it2 != blockers.end()) it2++;
|
||||
if (it2 == blockers.end()) it2 = blockers.begin();
|
||||
|
||||
blockers.splice( it2, blockers, it1 ); // move a before b, invalidates a
|
||||
if (it2 == blockers.end()) it2 = blockers.begin(); else ++it2;
|
||||
if (it2 == blockers.end()) it2 = blockers.begin();
|
||||
|
||||
std::iter_swap(it1,it2);
|
||||
WEvent* e = NEW WEventCreatureBlockerRank(blocker,*it2,this);
|
||||
GameObserver::GetInstance()->receiveEvent(e);
|
||||
delete(e);
|
||||
|
||||
Reference in New Issue
Block a user