Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
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
11
class
PassiveAI
:
public
CreatureAI
12
{
13
public
:
14
explicit
PassiveAI
(
Creature
* c);
15
16
void
MoveInLineOfSight
(
Unit
*)
OVERRIDE
{ }
17
void
AttackStart
(
Unit
*)
OVERRIDE
{ }
18
void
UpdateAI
(
uint32
)
OVERRIDE
;
19
20
static
int
Permissible
(
const
Creature
*) {
return
PERMIT_BASE_IDLE
; }
21
};
22
23
class
PossessedAI
:
public
CreatureAI
24
{
25
public
:
26
explicit
PossessedAI
(
Creature
* c);
27
28
void
MoveInLineOfSight
(
Unit
*)
OVERRIDE
{ }
29
void
AttackStart
(
Unit
* target)
OVERRIDE
;
30
void
UpdateAI
(
uint32
)
OVERRIDE
;
31
void
EnterEvadeMode
()
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
39
class
NullCreatureAI
:
public
CreatureAI
40
{
41
public
:
42
explicit
NullCreatureAI
(
Creature
* c);
43
44
void
MoveInLineOfSight
(
Unit
*)
OVERRIDE
{ }
45
void
AttackStart
(
Unit
*)
OVERRIDE
{ }
46
void
UpdateAI
(
uint32
)
OVERRIDE
{ }
47
void
EnterEvadeMode
()
OVERRIDE
{ }
48
void
OnCharmed
(
bool
/*apply*/
)
OVERRIDE
{ }
49
50
static
int
Permissible
(
const
Creature
*) {
return
PERMIT_BASE_IDLE
; }
51
};
52
53
class
CritterAI
:
public
PassiveAI
54
{
55
public
:
56
explicit
CritterAI
(
Creature
* c) :
PassiveAI
(c) { }
57
58
void
DamageTaken
(
Unit
* done_by,
uint32
&
/*damage*/
)
OVERRIDE
;
59
void
EnterEvadeMode
()
OVERRIDE
;
60
};
61
62
class
TriggerAI
: public
NullCreatureAI
63
{
64
public
:
65
explicit
TriggerAI
(
Creature
* c) :
NullCreatureAI
(c) { }
66
void
IsSummonedBy
(
Unit
* summoner)
OVERRIDE
;
67
};
68
69
#endif
CreatureAI.h
PERMIT_BASE_IDLE
@ PERMIT_BASE_IDLE
Definition
CreatureAI.h:181
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
CreatureAI::CreatureAI
CreatureAI(Creature *creature)
Definition
CreatureAI.h:69
CreatureAI::IsSummonedBy
virtual void IsSummonedBy(Unit *)
Definition
CreatureAI.h:99
Creature
Definition
Creature.h:427
CritterAI::DamageTaken
void DamageTaken(Unit *done_by, uint32 &) OVERRIDE
Definition
PassiveAI.cpp:49
CritterAI::EnterEvadeMode
void EnterEvadeMode() OVERRIDE
Definition
PassiveAI.cpp:55
CritterAI::CritterAI
CritterAI(Creature *c)
Definition
PassiveAI.h:56
NullCreatureAI::UpdateAI
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition
PassiveAI.h:46
NullCreatureAI::NullCreatureAI
NullCreatureAI(Creature *c)
Definition
PassiveAI.cpp:12
NullCreatureAI::AttackStart
void AttackStart(Unit *) OVERRIDE
Definition
PassiveAI.h:45
NullCreatureAI::OnCharmed
void OnCharmed(bool) OVERRIDE
Definition
PassiveAI.h:48
NullCreatureAI::MoveInLineOfSight
void MoveInLineOfSight(Unit *) OVERRIDE
Definition
PassiveAI.h:44
NullCreatureAI::EnterEvadeMode
void EnterEvadeMode() OVERRIDE
Definition
PassiveAI.h:47
NullCreatureAI::Permissible
static int Permissible(const Creature *)
Definition
PassiveAI.h:50
PassiveAI::Permissible
static int Permissible(const Creature *)
Definition
PassiveAI.h:20
PassiveAI::MoveInLineOfSight
void MoveInLineOfSight(Unit *) OVERRIDE
Definition
PassiveAI.h:16
PassiveAI::AttackStart
void AttackStart(Unit *) OVERRIDE
Definition
PassiveAI.h:17
PassiveAI::PassiveAI
PassiveAI(Creature *c)
Definition
PassiveAI.cpp:10
PassiveAI::UpdateAI
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition
PassiveAI.cpp:14
PossessedAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
PassiveAI.cpp:36
PossessedAI::PossessedAI
PossessedAI(Creature *c)
Definition
PassiveAI.cpp:11
PossessedAI::EnterEvadeMode
void EnterEvadeMode() OVERRIDE
Definition
PassiveAI.h:31
PossessedAI::MoveInLineOfSight
void MoveInLineOfSight(Unit *) OVERRIDE
Definition
PassiveAI.h:28
PossessedAI::UpdateAI
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition
PassiveAI.cpp:25
PossessedAI::AttackStart
void AttackStart(Unit *target) OVERRIDE
Definition
PassiveAI.cpp:20
PossessedAI::Permissible
static int Permissible(const Creature *)
Definition
PassiveAI.h:36
PossessedAI::KilledUnit
void KilledUnit(Unit *victim) OVERRIDE
Definition
PassiveAI.cpp:42
TriggerAI::TriggerAI
TriggerAI(Creature *c)
Definition
PassiveAI.h:65
Unit
Definition
Unit.h:1367
src
server
game
AI
CoreAI
PassiveAI.h
Generated on
for Project SkyFire Core by
1.17.0