1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-12-03 23:19:22 +02:00

Merge remote-tracking branch 'upstream/develop' into loading-bar

# Conflicts:
#	server/CGameHandler.h
This commit is contained in:
nordsoft
2023-08-22 00:46:54 +04:00
61 changed files with 4660 additions and 3901 deletions

View File

@@ -638,11 +638,6 @@ void MakeAction::visitTyped(ICPackVisitor & visitor)
visitor.visitMakeAction(*this);
}
void MakeCustomAction::visitTyped(ICPackVisitor & visitor)
{
visitor.visitMakeCustomAction(*this);
}
void DigWithHero::visitTyped(ICPackVisitor & visitor)
{
visitor.visitDigWithHero(*this);
@@ -2294,34 +2289,35 @@ void StartAction::applyGs(CGameState *gs)
return;
}
if(ba.actionType != EActionType::HERO_SPELL) //don't check for stack if it's custom action by hero
if (ba.isUnitAction())
{
assert(st);
assert(st); // stack must exists for all non-hero actions
switch(ba.actionType)
{
case EActionType::DEFEND:
st->waiting = false;
st->defending = true;
st->defendingAnim = true;
break;
case EActionType::WAIT:
st->defendingAnim = false;
st->waiting = true;
st->waitedThisTurn = true;
break;
case EActionType::HERO_SPELL: //no change in current stack state
break;
default: //any active stack action - attack, catapult, heal, spell...
st->waiting = false;
st->defendingAnim = false;
st->movedThisRound = true;
break;
}
}
else
{
gs->curB->sides[ba.side].usedSpellsHistory.emplace_back(ba.actionSubtype);
}
switch(ba.actionType)
{
case EActionType::DEFEND:
st->waiting = false;
st->defending = true;
st->defendingAnim = true;
break;
case EActionType::WAIT:
st->defendingAnim = false;
st->waiting = true;
st->waitedThisTurn = true;
break;
case EActionType::HERO_SPELL: //no change in current stack state
break;
default: //any active stack action - attack, catapult, heal, spell...
st->waiting = false;
st->defendingAnim = false;
st->movedThisRound = true;
break;
if(ba.actionType == EActionType::HERO_SPELL)
gs->curB->sides[ba.side].usedSpellsHistory.push_back(ba.spell);
}
}