mirror of
https://github.com/vcmi/vcmi.git
synced 2025-07-03 00:46:55 +02:00
Merge remote-tracking branch 'vcmi/beta' into develop
This commit is contained in:
@ -37,6 +37,8 @@
|
||||
|
||||
VCMI_LIB_NAMESPACE_BEGIN
|
||||
|
||||
#define THROW_IF_NO_BATTLE if (!gs->curB) throw std::runtime_error("Trying to apply pack when no battle!");
|
||||
|
||||
void CPack::visit(ICPackVisitor & visitor)
|
||||
{
|
||||
visitBasic(visitor);
|
||||
@ -2126,16 +2128,19 @@ void BattleStart::applyGs(CGameState * gs) const
|
||||
|
||||
void BattleNextRound::applyGs(CGameState * gs) const
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
gs->curB->nextRound(round);
|
||||
}
|
||||
|
||||
void BattleSetActiveStack::applyGs(CGameState * gs) const
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
gs->curB->nextTurn(stack);
|
||||
}
|
||||
|
||||
void BattleTriggerEffect::applyGs(CGameState * gs) const
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
CStack * st = gs->curB->getStack(stackID);
|
||||
assert(st);
|
||||
switch(static_cast<BonusType>(effect))
|
||||
@ -2231,6 +2236,7 @@ void BattleLogMessage::applyBattle(IBattleState * battleState)
|
||||
|
||||
void BattleStackMoved::applyGs(CGameState *gs)
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
applyBattle(gs->curB);
|
||||
}
|
||||
|
||||
@ -2241,6 +2247,7 @@ void BattleStackMoved::applyBattle(IBattleState * battleState)
|
||||
|
||||
void BattleStackAttacked::applyGs(CGameState * gs)
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
applyBattle(gs->curB);
|
||||
}
|
||||
|
||||
@ -2251,6 +2258,7 @@ void BattleStackAttacked::applyBattle(IBattleState * battleState)
|
||||
|
||||
void BattleAttack::applyGs(CGameState * gs)
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
CStack * attacker = gs->curB->getStack(stackAttacking);
|
||||
assert(attacker);
|
||||
|
||||
@ -2264,6 +2272,8 @@ void BattleAttack::applyGs(CGameState * gs)
|
||||
|
||||
void StartAction::applyGs(CGameState *gs)
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
|
||||
CStack *st = gs->curB->getStack(ba.stackNumber);
|
||||
|
||||
if(ba.actionType == EActionType::END_TACTIC_PHASE)
|
||||
@ -2312,7 +2322,7 @@ void StartAction::applyGs(CGameState *gs)
|
||||
|
||||
void BattleSpellCast::applyGs(CGameState * gs) const
|
||||
{
|
||||
assert(gs->curB);
|
||||
THROW_IF_NO_BATTLE
|
||||
|
||||
if(castByHero)
|
||||
{
|
||||
@ -2325,6 +2335,7 @@ void BattleSpellCast::applyGs(CGameState * gs) const
|
||||
|
||||
void SetStackEffect::applyGs(CGameState *gs)
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
applyBattle(gs->curB);
|
||||
}
|
||||
|
||||
@ -2343,6 +2354,7 @@ void SetStackEffect::applyBattle(IBattleState * battleState)
|
||||
|
||||
void StacksInjured::applyGs(CGameState *gs)
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
applyBattle(gs->curB);
|
||||
}
|
||||
|
||||
@ -2354,6 +2366,7 @@ void StacksInjured::applyBattle(IBattleState * battleState)
|
||||
|
||||
void BattleUnitsChanged::applyGs(CGameState *gs)
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
applyBattle(gs->curB);
|
||||
}
|
||||
|
||||
@ -2384,8 +2397,8 @@ void BattleUnitsChanged::applyBattle(IBattleState * battleState)
|
||||
|
||||
void BattleObstaclesChanged::applyGs(CGameState * gs)
|
||||
{
|
||||
if(gs->curB)
|
||||
applyBattle(gs->curB);
|
||||
THROW_IF_NO_BATTLE;
|
||||
applyBattle(gs->curB);
|
||||
}
|
||||
|
||||
void BattleObstaclesChanged::applyBattle(IBattleState * battleState)
|
||||
@ -2416,8 +2429,8 @@ CatapultAttack::~CatapultAttack() = default;
|
||||
|
||||
void CatapultAttack::applyGs(CGameState * gs)
|
||||
{
|
||||
if(gs->curB)
|
||||
applyBattle(gs->curB);
|
||||
THROW_IF_NO_BATTLE
|
||||
applyBattle(gs->curB);
|
||||
}
|
||||
|
||||
void CatapultAttack::visitTyped(ICPackVisitor & visitor)
|
||||
@ -2443,6 +2456,7 @@ void CatapultAttack::applyBattle(IBattleState * battleState)
|
||||
|
||||
void BattleSetStackProperty::applyGs(CGameState * gs) const
|
||||
{
|
||||
THROW_IF_NO_BATTLE
|
||||
CStack * stack = gs->curB->getStack(stackID);
|
||||
switch(which)
|
||||
{
|
||||
|
Reference in New Issue
Block a user