voidbattleStart(constCCreatureSet*army1,constCCreatureSet*army2,int3tile,constCGHeroInstance*hero1,constCGHeroInstance*hero2,boolside)OVERRIDE;//called by engine when battle starts; side=0 - left, side=1 - right
voidbattleStacksHealedRes(conststd::vector<std::pair<ui32,ui32>>&healedStacks,boollifeDrain,booltentHeal,si32lifeDrainFrom)OVERRIDE;//called when stacks are healed / resurrected first element of pair - stack id, second - healed hp
voidbattleNewStackAppeared(constCStack*stack)OVERRIDE;//not called at the beginning of a battle or by resurrection; called eg. when elemental is summoned
voidbattleObstaclesRemoved(conststd::set<si32>&removedObstacles)OVERRIDE;//called when a certain set of obstacles is removed from batlefield; IDs of them are given
voidbattleCatapultAttacked(constCatapultAttack&ca)OVERRIDE;//called when catapult makes an attack
voidbattleStacksRemoved(constBattleStacksRemoved&bsr)OVERRIDE;//called when certain stack is completely removed from battlefield