From 1660bb7d27d6f42b49012a6b57e3c2b2eab20fd3 Mon Sep 17 00:00:00 2001 From: Treeston Date: Wed, 7 Jun 2017 02:33:47 +0200 Subject: Pet/Guardian AI hook re-organizing (#19824) * Pet/Guardian AI hook re-organizing: - Adjust OwnerAttacked/OwnerAttackedBy hooks on CreatureAI to fire for all owned units, not just player pets. This should allow guardians to more reliably recognize valid targets. - Kill off the AttackedBy hook. While it was defined in CreatureAI.h as virtual, it was only ever invoked for player pets in specific situations. This makes it classic developer bait. - Adjust PetAI to use DamageTaken instead of AttackedBy. - Adjust behavior of AttackStart on PetAI to compensate. --- src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp | 11 ----------- src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp | 8 -------- src/server/scripts/EasternKingdoms/zone_wetlands.cpp | 11 ----------- src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp | 11 ----------- 4 files changed, 41 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp index 576b6ac7e98..dab69c434e6 100644 --- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp +++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp @@ -66,17 +66,6 @@ public: me->SetFaction(m_uiNormalFaction); } - void AttackedBy(Unit* pAttacker) override - { - if (me->GetVictim()) - return; - - if (me->IsFriendlyTo(pAttacker)) - return; - - AttackStart(pAttacker); - } - void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) override { if (uiDamage > me->GetHealth() || me->HealthBelowPctDamaged(15, uiDamage)) diff --git a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp index e17dd6a805a..a8d6b67b718 100644 --- a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp +++ b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp @@ -80,14 +80,6 @@ public: void EnterCombat(Unit* /*who*/) override { } - void AttackedBy(Unit* pAttacker) override - { - if (me->GetVictim() || me->IsFriendlyTo(pAttacker)) - return; - - AttackStart(pAttacker); - } - void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) override { if (uiDamage > me->GetHealth() || me->HealthBelowPctDamaged(15, uiDamage)) diff --git a/src/server/scripts/EasternKingdoms/zone_wetlands.cpp b/src/server/scripts/EasternKingdoms/zone_wetlands.cpp index d460f3ec1e3..2966af7a3c5 100644 --- a/src/server/scripts/EasternKingdoms/zone_wetlands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_wetlands.cpp @@ -106,17 +106,6 @@ public: summoned->AI()->AttackStart(player); } - void AttackedBy(Unit* pAttacker) override - { - if (me->GetVictim()) - return; - - if (me->IsFriendlyTo(pAttacker)) - return; - - AttackStart(pAttacker); - } - void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage) override { if (HealthBelowPct(20)) diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp index d743f8ff07d..2c44c1b91aa 100644 --- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp +++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp @@ -122,17 +122,6 @@ public: me->RestoreFaction(); } - void AttackedBy(Unit* pAttacker) override - { - if (me->GetVictim()) - return; - - if (me->IsFriendlyTo(pAttacker)) - return; - - AttackStart(pAttacker); - } - void DamageTaken(Unit* pDoneBy, uint32 &Damage) override { if (Damage > me->GetHealth() || me->HealthBelowPctDamaged(20, Damage)) -- cgit v1.2.3