1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00

Split conditions fixed (it should be impossible to take units from ally).

This commit is contained in:
Michał W. Urbańczyk 2014-01-30 14:04:09 +00:00
parent 45c186bba8
commit 679c3c5830

View File

@ -2301,8 +2301,11 @@ bool CGameHandler::arrangeStacks( ObjectInstanceID id1, ObjectInstanceID id2, ui
}
else if(what==3) //split
{
if ( (s1->tempOwner != player && s1->getStackCount(p1) < s1->getStackCount(p1) )
|| (s2->tempOwner != player && s2->getStackCount(p2) < s2->getStackCount(p2) ) )
const int countToMove = val - s2->getStackCount(p2);
const int countLeftOnSrc = s1->getStackCount(p1) - countToMove;
if ( (s1->tempOwner != player && countLeftOnSrc < s1->getStackCount(p1) )
|| (s2->tempOwner != player && val < s2->getStackCount(p2) ) )
{
complain("Can't move troops of another player!");
return false;
@ -2326,7 +2329,7 @@ bool CGameHandler::arrangeStacks( ObjectInstanceID id1, ObjectInstanceID id2, ui
return false;
}
moveStack(sl1, sl2, val - s2->getStackCount(p2));
moveStack(sl1, sl2, countToMove);
//S2.slots[p2]->count = val;
//S1.slots[p1]->count = total - val;
}