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