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

CPlayerInterface: don't stop hero movement on embark / disembark

When hero have free boarding bonus there no reason to stop movement.
This commit is contained in:
Arseniy Shestakov 2017-09-16 10:42:27 +03:00
parent 1162923d93
commit ae13123129
3 changed files with 8 additions and 1 deletions

View File

@ -308,7 +308,7 @@ void CPlayerInterface::heroMoved(const TryMoveHero & details)
}
}
if (details.result != TryMoveHero::SUCCESS) //hero failed to move
if(details.stopMovement()) //hero failed to move
{
hero->isStanding = true;
stillMoveHero.setn(STOP_MOVE);

View File

@ -420,6 +420,11 @@ void TryMoveHero::applyCl(CClient *cl)
CGI->mh->printObject(h);
}
bool TryMoveHero::stopMovement() const
{
return result != SUCCESS && result != EMBARK && result != DISEMBARK && result != TELEPORTATION;
}
void NewStructures::applyCl(CClient *cl)
{
CGTownInstance *town = GS(cl)->getTown(tid);

View File

@ -634,6 +634,8 @@ struct TryMoveHero : public CPackForClient
bool humanKnows; //used locally during applying to client
bool stopMovement() const;
template <typename Handler> void serialize(Handler &h, const int version)
{
h & id;