//void BattleStackAttacked::(CClient *cl) void BattleStackAttacked::applyFirstCl(CClient *cl) { std::vector<BattleStackAttacked> bsa; bsa.push_back(*this); BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleStacksAttacked,bsa); }
void StacksHealedOrResurrected::applyCl( CClient *cl ) { std::vector<std::pair<ui32, ui32> > shiftedHealed; for(int v=0; v<healedStacks.size(); ++v) { shiftedHealed.push_back(std::make_pair(healedStacks[v].stackID, healedStacks[v].healedHP)); } BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleStacksHealedRes, shiftedHealed, lifeDrain, tentHealing, drainedFrom); }
void StacksHealedOrResurrected::applyCl(CClient *cl) { std::vector<std::pair<ui32, ui32> > shiftedHealed; for(auto & elem : healedStacks) { shiftedHealed.push_back(std::make_pair(elem.stackID, elem.healedHP)); } BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleStacksHealedRes, shiftedHealed, lifeDrain, tentHealing, drainedFrom); }
void BattleAttack::applyFirstCl(CClient *cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleAttack,this); for (auto & elem : bsa) { for (int z=0; z<elem.healedStacks.size(); ++z) { elem.healedStacks[z].applyCl(cl); } } }
void BattleAttack::applyFirstCl( CClient *cl ) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleAttack,this); for (int g=0; g<bsa.size(); ++g) { for (int z=0; z<bsa[g].healedStacks.size(); ++z) { bsa[g].healedStacks[z].applyCl(cl); } } }
void BattleStacksRemoved::applyFirstCl(CClient * cl) { //inform interfaces about removed stacks BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleStacksRemoved, *this); }
void ObstaclesRemoved::applyCl(CClient *cl) { //inform interfaces about removed obstacles BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleObstaclesRemoved, obstacles); }
void CatapultAttack::applyCl(CClient *cl) { //inform interfaces about catapult attack BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleCatapultAttacked, *this); }
void StacksInjured::applyCl(CClient *cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleStacksAttacked,stacks); }
void BattleNextRound::applyCl(CClient *cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleNewRound,round); }
void BattleSpellCast::applyCl(CClient *cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleSpellCast,this); }
void SetStackEffect::applyCl(CClient *cl) { //informing about effects BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleStacksEffectsSet,*this); }
void BattleTriggerEffect::applyCl(CClient * cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleTriggerEffect, *this); }
void StartAction::applyFirstCl(CClient *cl) { cl->curbaction = ba; BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(actionStarted, ba); }
void BattleStackAdded::applyCl(CClient *cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleNewStackAppeared, GS(cl)->curB->stacks.back()); }
void BattleObstaclePlaced::applyCl(CClient * cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleObstaclePlaced, *obstacle); }
void BattleStackMoved::applyFirstCl(CClient *cl) { const CStack * movedStack = GS(cl)->curB->battleGetStackByID(stack); BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleStackMoved,movedStack,tilesToMove,distance); }
void BattleResult::applyFirstCl(CClient *cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleEnd,this); cl->battleFinished(); }
void BattleUpdateGateState::applyFirstCl(CClient * cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleGateStateChanged, state); }
void EndAction::applyCl(CClient *cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(actionFinished, *cl->curbaction); cl->curbaction.reset(); }
void BattleAttack::applyCl(CClient *cl) { BATTLE_INTERFACE_CALL_IF_PRESENT_FOR_BOTH_SIDES(battleStacksAttacked,bsa); }