Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
GameObjectAI.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_GAMEOBJECTAI_H
7
#define SKYFIRE_GAMEOBJECTAI_H
8
9
#include "
CreatureAI.h
"
10
#include "
Define.h
"
11
#include "
GameObject.h
"
12
#include "
Object.h
"
13
#include <list>
14
15
class
GameObjectAI
16
{
17
protected
:
18
GameObject
*
const
go
;
19
public
:
20
explicit
GameObjectAI
(
GameObject
* g) :
go
(g) { }
21
virtual
~GameObjectAI
() { }
22
23
virtual
void
UpdateAI
(
uint32
/*diff*/
) { }
24
25
virtual
void
InitializeAI
() {
Reset
(); }
26
27
virtual
void
Reset
() { }
28
29
// Pass parameters between AI
30
virtual
void
DoAction
(
int32
/*param = 0 */
) { }
31
virtual
void
SetGUID
(
uint64
/*guid*/
,
int32
/*id = 0 */
) { }
32
virtual
uint64
GetGUID
(
int32
/*id = 0 */
)
const
{
return
0; }
33
34
static
int
Permissible
(
GameObject
const
*
go
);
35
36
virtual
bool
GossipHello
(
Player
*
/*player*/
) {
return
false
; }
37
virtual
bool
GossipSelect
(
Player
*
/*player*/
,
uint32
/*sender*/
,
uint32
/*action*/
) {
return
false
; }
38
virtual
bool
GossipSelectCode
(
Player
*
/*player*/
,
uint32
/*sender*/
,
uint32
/*action*/
,
char
const
*
/*code*/
) {
return
false
; }
39
virtual
bool
QuestAccept
(
Player
*
/*player*/
,
Quest
const
*
/*quest*/
) {
return
false
; }
40
virtual
bool
QuestReward
(
Player
*
/*player*/
,
Quest
const
*
/*quest*/
,
uint32
/*opt*/
) {
return
false
; }
41
virtual
uint32
GetDialogStatus
(
Player
*
/*player*/
) {
return
100; }
42
virtual
void
Destroyed
(
Player
*
/*player*/
,
uint32
/*eventId*/
) { }
43
virtual
uint32
GetData
(
uint32
/*id*/
)
const
{
return
0; }
44
virtual
void
SetData64
(
uint32
/*id*/
,
uint64
/*value*/
) { }
45
virtual
uint64
GetData64
(
uint32
/*id*/
)
const
{
return
0; }
46
virtual
void
SetData
(
uint32
/*id*/
,
uint32
/*value*/
) { }
47
virtual
void
OnGameEvent
(
bool
/*start*/
,
uint16
/*eventId*/
) { }
48
virtual
void
OnStateChanged
(
uint32
/*state*/
,
Unit
*
/*unit*/
) { }
49
virtual
void
EventInform
(
uint32
/*eventId*/
) { }
50
};
51
52
class
NullGameObjectAI
:
public
GameObjectAI
53
{
54
public
:
55
explicit
NullGameObjectAI
(
GameObject
* g);
56
57
void
UpdateAI
(
uint32
/*diff*/
) { }
58
59
static
int
Permissible
(
GameObject
const
*
/*go*/
) {
return
PERMIT_BASE_IDLE
; }
60
};
61
#endif
CreatureAI.h
PERMIT_BASE_IDLE
@ PERMIT_BASE_IDLE
Definition
CreatureAI.h:181
Define.h
int32
std::int32_t int32
Definition
Define.h:73
uint32
std::uint32_t uint32
Definition
Define.h:77
uint64
std::uint64_t uint64
Definition
Define.h:76
uint16
std::uint16_t uint16
Definition
Define.h:78
GameObject.h
Object.h
GameObjectAI::GossipHello
virtual bool GossipHello(Player *)
Definition
GameObjectAI.h:36
GameObjectAI::OnGameEvent
virtual void OnGameEvent(bool, uint16)
Definition
GameObjectAI.h:47
GameObjectAI::GetData
virtual uint32 GetData(uint32) const
Definition
GameObjectAI.h:43
GameObjectAI::DoAction
virtual void DoAction(int32)
Definition
GameObjectAI.h:30
GameObjectAI::SetGUID
virtual void SetGUID(uint64, int32)
Definition
GameObjectAI.h:31
GameObjectAI::go
GameObject *const go
Definition
GameObjectAI.h:18
GameObjectAI::QuestReward
virtual bool QuestReward(Player *, Quest const *, uint32)
Definition
GameObjectAI.h:40
GameObjectAI::QuestAccept
virtual bool QuestAccept(Player *, Quest const *)
Definition
GameObjectAI.h:39
GameObjectAI::InitializeAI
virtual void InitializeAI()
Definition
GameObjectAI.h:25
GameObjectAI::Destroyed
virtual void Destroyed(Player *, uint32)
Definition
GameObjectAI.h:42
GameObjectAI::SetData64
virtual void SetData64(uint32, uint64)
Definition
GameObjectAI.h:44
GameObjectAI::SetData
virtual void SetData(uint32, uint32)
Definition
GameObjectAI.h:46
GameObjectAI::GameObjectAI
GameObjectAI(GameObject *g)
Definition
GameObjectAI.h:20
GameObjectAI::UpdateAI
virtual void UpdateAI(uint32)
Definition
GameObjectAI.h:23
GameObjectAI::Permissible
static int Permissible(GameObject const *go)
Definition
GameObjectAI.cpp:9
GameObjectAI::GetGUID
virtual uint64 GetGUID(int32) const
Definition
GameObjectAI.h:32
GameObjectAI::~GameObjectAI
virtual ~GameObjectAI()
Definition
GameObjectAI.h:21
GameObjectAI::GossipSelectCode
virtual bool GossipSelectCode(Player *, uint32, uint32, char const *)
Definition
GameObjectAI.h:38
GameObjectAI::GetDialogStatus
virtual uint32 GetDialogStatus(Player *)
Definition
GameObjectAI.h:41
GameObjectAI::GossipSelect
virtual bool GossipSelect(Player *, uint32, uint32)
Definition
GameObjectAI.h:37
GameObjectAI::Reset
virtual void Reset()
Definition
GameObjectAI.h:27
GameObjectAI::GetData64
virtual uint64 GetData64(uint32) const
Definition
GameObjectAI.h:45
GameObjectAI::OnStateChanged
virtual void OnStateChanged(uint32, Unit *)
Definition
GameObjectAI.h:48
GameObjectAI::EventInform
virtual void EventInform(uint32)
Definition
GameObjectAI.h:49
GameObject
Definition
GameObject.h:629
NullGameObjectAI::UpdateAI
void UpdateAI(uint32)
Definition
GameObjectAI.h:57
NullGameObjectAI::NullGameObjectAI
NullGameObjectAI(GameObject *g)
Definition
GameObjectAI.cpp:16
NullGameObjectAI::Permissible
static int Permissible(GameObject const *)
Definition
GameObjectAI.h:59
Player
Definition
Player.h:1289
Quest
Definition
QuestDef.h:255
Unit
Definition
Unit.h:1367
src
server
game
AI
CoreAI
GameObjectAI.h
Generated on
for Project SkyFire Core by
1.17.0