1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-19 00:17:56 +02:00

Fix game not awarding stack experience after combat

- Added missing `visitTyped` overloads.
- Throw runtime error if `visitTyped` is called on raw CPack, to avoid
such silent errors in future
This commit is contained in:
Ivan Savenko
2025-05-17 18:03:44 +03:00
parent 630f911cc9
commit 45a587bc5b
3 changed files with 22 additions and 0 deletions

View File

@ -36,6 +36,7 @@ void CPack::visitBasic(ICPackVisitor & visitor)
void CPack::visitTyped(ICPackVisitor & visitor)
{
throw std::runtime_error(std::string("CPack::visitTyped called for class ") + typeid(*this).name());
}
void CPackForClient::visitBasic(ICPackVisitor & visitor)
@ -812,4 +813,19 @@ void CatapultAttack::visitTyped(ICPackVisitor & visitor)
visitor.visitCatapultAttack(*this);
}
void BattleResultAccepted::visitTyped(ICPackVisitor & visitor)
{
visitor.visitBattleResultAccepted(*this);
}
void BattleCancelled::visitTyped(ICPackVisitor & visitor)
{
visitor.visitBattleCancelled(*this);
}
void TurnTimeUpdate::visitTyped(ICPackVisitor & visitor)
{
visitor.visitTurnTimeUpdate(*this);
}
VCMI_LIB_NAMESPACE_END