added BattleFieldAgent & event system