forked from conan513/scriptdev2
/
pet_ai.h
39 lines (25 loc) · 1.1 KB
/
pet_ai.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* Copyright (C) 2006 - 2012 ScriptDev2 <http://www.scriptdev2.com/>
* This program is free software licensed under GPL version 2
* Please see the included DOCS/LICENSE.TXT for more information */
#ifndef SC_PET_H
#define SC_PET_H
// Using CreatureAI for now. Might change later and use PetAI (need to export for dll first)
class MANGOS_DLL_DECL ScriptedPetAI : public CreatureAI
{
public:
explicit ScriptedPetAI(Creature* pCreature);
~ScriptedPetAI() {}
void MoveInLineOfSight(Unit* /*pWho*/) override;
void AttackStart(Unit* /*pWho*/) override;
void AttackedBy(Unit* /*pAttacker*/) override;
bool IsVisible(Unit* /*pWho*/) const override;
void KilledUnit(Unit* /*pVictim*/) override {}
void OwnerKilledUnit(Unit* /*pVictim*/) override {}
void UpdateAI(const uint32 uiDiff) override;
virtual void Reset() {}
virtual void UpdatePetAI(const uint32 uiDiff); // while in combat
virtual void UpdatePetOOCAI(const uint32 uiDiff) {} // when not in combat
protected:
void ResetPetCombat();
};
#endif