Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
DynamicObject.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 SKYFIRESERVER_DYNAMICOBJECT_H
7
#define SKYFIRESERVER_DYNAMICOBJECT_H
8
9
#include "
Object.h
"
10
11
class
Unit
;
12
class
Aura
;
13
class
SpellInfo
;
14
15
enum
DynamicObjectType
16
{
17
DYNAMIC_OBJECT_PORTAL
= 0x0,
// unused
18
DYNAMIC_OBJECT_AREA_SPELL
= 0x1,
19
DYNAMIC_OBJECT_FARSIGHT_FOCUS
= 0x2
20
};
21
22
class
DynamicObject
:
public
WorldObject
,
public
GridObject
<DynamicObject>
23
{
24
public
:
25
DynamicObject
(
bool
isWorldObject);
26
~DynamicObject
();
27
28
void
AddToWorld
()
OVERRIDE
;
29
void
RemoveFromWorld
()
OVERRIDE
;
30
31
bool
CreateDynamicObject
(
uint32
guidlow,
Unit
* caster,
SpellInfo
const
* spell,
Position
const
& pos,
float
radius,
DynamicObjectType
type);
32
void
Update
(
uint32
p_time)
OVERRIDE
;
33
void
Remove
();
34
void
SetDuration
(
int32
newDuration);
35
int32
GetDuration
()
const
;
36
void
Delay
(
int32
delaytime);
37
void
SetAura
(
Aura
* aura);
38
void
RemoveAura
();
39
void
SetCasterViewpoint
();
40
void
RemoveCasterViewpoint
();
41
Unit
*
GetCaster
()
const
{
return
_caster
; }
42
void
BindToCaster
();
43
void
UnbindFromCaster
();
44
uint32
GetSpellId
()
const
{
return
GetUInt32Value
(
DYNAMICOBJECT_FIELD_SPELL_ID
); }
45
uint64
GetCasterGUID
()
const
{
return
GetUInt64Value
(
DYNAMICOBJECT_FIELD_CASTER
); }
46
float
GetRadius
()
const
{
return
GetFloatValue
(
DYNAMICOBJECT_FIELD_RADIUS
); }
47
48
protected
:
49
Aura
*
_aura
;
50
Aura
*
_removedAura
;
51
Unit
*
_caster
;
52
int32
_duration
;
// for non-aura dynobjects
53
bool
_isViewpoint
;
54
};
55
#endif
int32
std::int32_t int32
Definition
Define.h:73
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
uint64
std::uint64_t uint64
Definition
Define.h:76
DynamicObjectType
DynamicObjectType
Definition
DynamicObject.h:16
DYNAMIC_OBJECT_PORTAL
@ DYNAMIC_OBJECT_PORTAL
Definition
DynamicObject.h:17
DYNAMIC_OBJECT_FARSIGHT_FOCUS
@ DYNAMIC_OBJECT_FARSIGHT_FOCUS
Definition
DynamicObject.h:19
DYNAMIC_OBJECT_AREA_SPELL
@ DYNAMIC_OBJECT_AREA_SPELL
Definition
DynamicObject.h:18
Object.h
DYNAMICOBJECT_FIELD_RADIUS
@ DYNAMICOBJECT_FIELD_RADIUS
Definition
UpdateFields.h:264
DYNAMICOBJECT_FIELD_CASTER
@ DYNAMICOBJECT_FIELD_CASTER
Definition
UpdateFields.h:261
DYNAMICOBJECT_FIELD_SPELL_ID
@ DYNAMICOBJECT_FIELD_SPELL_ID
Definition
UpdateFields.h:263
Aura
Definition
SpellAuras.h:74
DynamicObject::CreateDynamicObject
bool CreateDynamicObject(uint32 guidlow, Unit *caster, SpellInfo const *spell, Position const &pos, float radius, DynamicObjectType type)
Definition
DynamicObject.cpp:69
DynamicObject::SetAura
void SetAura(Aura *aura)
Definition
DynamicObject.cpp:161
DynamicObject::_caster
Unit * _caster
Definition
DynamicObject.h:51
DynamicObject::~DynamicObject
~DynamicObject()
Definition
DynamicObject.cpp:28
DynamicObject::SetCasterViewpoint
void SetCasterViewpoint()
Definition
DynamicObject.cpp:176
DynamicObject::BindToCaster
void BindToCaster()
Definition
DynamicObject.cpp:194
DynamicObject::GetCaster
Unit * GetCaster() const
Definition
DynamicObject.h:41
DynamicObject::UnbindFromCaster
void UnbindFromCaster()
Definition
DynamicObject.cpp:203
DynamicObject::AddToWorld
void AddToWorld() OVERRIDE
Definition
DynamicObject.cpp:37
DynamicObject::_duration
int32 _duration
Definition
DynamicObject.h:52
DynamicObject::DynamicObject
DynamicObject(bool isWorldObject)
Definition
DynamicObject.cpp:17
DynamicObject::SetDuration
void SetDuration(int32 newDuration)
Definition
DynamicObject.cpp:148
DynamicObject::RemoveCasterViewpoint
void RemoveCasterViewpoint()
Definition
DynamicObject.cpp:185
DynamicObject::GetSpellId
uint32 GetSpellId() const
Definition
DynamicObject.h:44
DynamicObject::Remove
void Remove()
Definition
DynamicObject.cpp:130
DynamicObject::GetCasterGUID
uint64 GetCasterGUID() const
Definition
DynamicObject.h:45
DynamicObject::_removedAura
Aura * _removedAura
Definition
DynamicObject.h:50
DynamicObject::Delay
void Delay(int32 delaytime)
Definition
DynamicObject.cpp:156
DynamicObject::Update
void Update(uint32 p_time) OVERRIDE
Definition
DynamicObject.cpp:99
DynamicObject::_isViewpoint
bool _isViewpoint
Definition
DynamicObject.h:53
DynamicObject::RemoveAura
void RemoveAura()
Definition
DynamicObject.cpp:167
DynamicObject::_aura
Aura * _aura
Definition
DynamicObject.h:49
DynamicObject::GetDuration
int32 GetDuration() const
Definition
DynamicObject.cpp:140
DynamicObject::RemoveFromWorld
void RemoveFromWorld() OVERRIDE
Definition
DynamicObject.cpp:48
DynamicObject::GetRadius
float GetRadius() const
Definition
DynamicObject.h:46
GridObject
Definition
Object.h:553
Object::GetUInt32Value
uint32 GetUInt32Value(uint16 index) const
Definition
Object.cpp:325
Object::GetFloatValue
float GetFloatValue(uint16 index) const
Definition
Object.cpp:337
Object::GetUInt64Value
uint64 GetUInt64Value(uint16 index) const
Definition
Object.cpp:331
SpellInfo
Definition
SpellInfo.h:158
Unit
Definition
Unit.h:1367
WorldObject::WorldObject
WorldObject(bool isWorldObject)
Definition
Object.cpp:1514
Position
Definition
Object.h:274
src
server
game
Entities
DynamicObject
DynamicObject.h
Generated on
for Project SkyFire Core by
1.17.0