[11032] Implement CREATURE_FLAG_EXTRA_AGGRO_ZONE.

This let control zone wide aggro in DB data instead
need special script code.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
Schmoozerd 2011-01-18 13:46:10 +03:00 committed by VladimirMangos
parent 3bb16cacdb
commit 54cb8f1a63
5 changed files with 21 additions and 6 deletions

View file

@ -7711,11 +7711,17 @@ void Unit::SetInCombatState(bool PvP, Unit* enemy)
if (getStandState() == UNIT_STAND_STATE_CUSTOM)
SetStandState(UNIT_STAND_STATE_STAND);
if (((Creature*)this)->AI())
((Creature*)this)->AI()->EnterCombat(enemy);
Creature* pCreature = (Creature*)this;
if (pCreature->AI())
pCreature->AI()->EnterCombat(enemy);
// Some bosses are set into combat with zone
if (GetMap()->IsDungeon() && (pCreature->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_AGGRO_ZONE))
pCreature->SetInCombatWithZone();
if (InstanceData* mapInstance = GetInstanceData())
mapInstance->OnCreatureEnterCombat((Creature*)this);
mapInstance->OnCreatureEnterCombat(pCreature);
}
}