mirror of
https://github.com/vcmi/vcmi.git
synced 2025-07-15 01:24:45 +02:00
Garrison: Move all but one creature when last slot
This commit is contained in:
@ -299,10 +299,22 @@ void CGarrisonSlot::clickLeft(tribool down, bool previousState)
|
|||||||
refr = split();
|
refr = split();
|
||||||
// swap
|
// swap
|
||||||
else if(creature != selection->creature)
|
else if(creature != selection->creature)
|
||||||
|
{
|
||||||
|
const CArmedInstance * selectedObj = owner->armedObjs[selection->upg];
|
||||||
|
if (!creature && selectedObj->stacksCount() == 1)
|
||||||
|
LOCPLINT->cb->splitStack(selectedObj, owner->armedObjs[upg], selection->ID, ID, myStack->count - 1);
|
||||||
|
else
|
||||||
LOCPLINT->cb->swapCreatures(owner->armedObjs[upg], owner->armedObjs[selection->upg], ID, selection->ID);
|
LOCPLINT->cb->swapCreatures(owner->armedObjs[upg], owner->armedObjs[selection->upg], ID, selection->ID);
|
||||||
|
}
|
||||||
// merge
|
// merge
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const CArmedInstance * selectedObj = owner->armedObjs[selection->upg];
|
||||||
|
if (selectedObj->stacksCount() == 1)
|
||||||
|
LOCPLINT->cb->splitStack(owner->armedObjs[upg], selectedObj, selection->ID, ID, 1);
|
||||||
else
|
else
|
||||||
LOCPLINT->cb->mergeStacks(owner->armedObjs[selection->upg], owner->armedObjs[upg], selection->ID, ID);
|
LOCPLINT->cb->mergeStacks(owner->armedObjs[selection->upg], owner->armedObjs[upg], selection->ID, ID);
|
||||||
|
}
|
||||||
if(refr)
|
if(refr)
|
||||||
{
|
{
|
||||||
// Refresh Statusbar
|
// Refresh Statusbar
|
||||||
|
Reference in New Issue
Block a user