Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
PassiveAI.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SKYFIRE_PASSIVEAI_H
7#define SKYFIRE_PASSIVEAI_H
8
9#include "CreatureAI.h"
10
11class PassiveAI : public CreatureAI
12{
13public:
14 explicit PassiveAI(Creature* c);
15
19
20 static int Permissible(const Creature*) { return PERMIT_BASE_IDLE; }
21};
22
23class PossessedAI : public CreatureAI
24{
25public:
26 explicit PossessedAI(Creature* c);
27
29 void AttackStart(Unit* target) OVERRIDE;
32
33 void JustDied(Unit*) OVERRIDE;
34 void KilledUnit(Unit* victim) OVERRIDE;
35
36 static int Permissible(const Creature*) { return PERMIT_BASE_IDLE; }
37};
38
40{
41public:
42 explicit NullCreatureAI(Creature* c);
43
48 void OnCharmed(bool /*apply*/) OVERRIDE { }
49
50 static int Permissible(const Creature*) { return PERMIT_BASE_IDLE; }
51};
52
53class CritterAI : public PassiveAI
54{
55public:
56 explicit CritterAI(Creature* c) : PassiveAI(c) { }
57
58 void DamageTaken(Unit* done_by, uint32& /*damage*/) OVERRIDE;
60};
61
63{
64public:
65 explicit TriggerAI(Creature* c) : NullCreatureAI(c) { }
66 void IsSummonedBy(Unit* summoner) OVERRIDE;
67};
68
69#endif
@ PERMIT_BASE_IDLE
Definition CreatureAI.h:181
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
CreatureAI(Creature *creature)
Definition CreatureAI.h:69
virtual void IsSummonedBy(Unit *)
Definition CreatureAI.h:99
void DamageTaken(Unit *done_by, uint32 &) OVERRIDE
Definition PassiveAI.cpp:49
void EnterEvadeMode() OVERRIDE
Definition PassiveAI.cpp:55
CritterAI(Creature *c)
Definition PassiveAI.h:56
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition PassiveAI.h:46
NullCreatureAI(Creature *c)
Definition PassiveAI.cpp:12
void AttackStart(Unit *) OVERRIDE
Definition PassiveAI.h:45
void OnCharmed(bool) OVERRIDE
Definition PassiveAI.h:48
void MoveInLineOfSight(Unit *) OVERRIDE
Definition PassiveAI.h:44
void EnterEvadeMode() OVERRIDE
Definition PassiveAI.h:47
static int Permissible(const Creature *)
Definition PassiveAI.h:50
static int Permissible(const Creature *)
Definition PassiveAI.h:20
void MoveInLineOfSight(Unit *) OVERRIDE
Definition PassiveAI.h:16
void AttackStart(Unit *) OVERRIDE
Definition PassiveAI.h:17
PassiveAI(Creature *c)
Definition PassiveAI.cpp:10
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition PassiveAI.cpp:14
void JustDied(Unit *) OVERRIDE
Definition PassiveAI.cpp:36
PossessedAI(Creature *c)
Definition PassiveAI.cpp:11
void EnterEvadeMode() OVERRIDE
Definition PassiveAI.h:31
void MoveInLineOfSight(Unit *) OVERRIDE
Definition PassiveAI.h:28
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition PassiveAI.cpp:25
void AttackStart(Unit *target) OVERRIDE
Definition PassiveAI.cpp:20
static int Permissible(const Creature *)
Definition PassiveAI.h:36
void KilledUnit(Unit *victim) OVERRIDE
Definition PassiveAI.cpp:42
TriggerAI(Creature *c)
Definition PassiveAI.h:65
Definition Unit.h:1367