Project SkyFire Core
SkyFire 5.4.8 server core API documentation
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
11class Unit;
12class Aura;
13class SpellInfo;
14
21
22class DynamicObject : public WorldObject, public GridObject<DynamicObject>
23{
24public:
25 DynamicObject(bool isWorldObject);
27
28 void AddToWorld() 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();
41 Unit* GetCaster() const { return _caster; }
42 void BindToCaster();
43 void UnbindFromCaster();
47
48protected:
52 int32 _duration; // for non-aura dynobjects
54};
55#endif
std::int32_t int32
Definition Define.h:73
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
std::uint64_t uint64
Definition Define.h:76
DynamicObjectType
@ DYNAMIC_OBJECT_PORTAL
@ DYNAMIC_OBJECT_FARSIGHT_FOCUS
@ DYNAMIC_OBJECT_AREA_SPELL
@ DYNAMICOBJECT_FIELD_RADIUS
@ DYNAMICOBJECT_FIELD_CASTER
@ DYNAMICOBJECT_FIELD_SPELL_ID
bool CreateDynamicObject(uint32 guidlow, Unit *caster, SpellInfo const *spell, Position const &pos, float radius, DynamicObjectType type)
void SetAura(Aura *aura)
void SetCasterViewpoint()
Unit * GetCaster() const
void AddToWorld() OVERRIDE
DynamicObject(bool isWorldObject)
void SetDuration(int32 newDuration)
void RemoveCasterViewpoint()
uint32 GetSpellId() const
uint64 GetCasterGUID() const
Aura * _removedAura
void Delay(int32 delaytime)
void Update(uint32 p_time) OVERRIDE
int32 GetDuration() const
void RemoveFromWorld() OVERRIDE
float GetRadius() const
uint32 GetUInt32Value(uint16 index) const
Definition Object.cpp:325
float GetFloatValue(uint16 index) const
Definition Object.cpp:337
uint64 GetUInt64Value(uint16 index) const
Definition Object.cpp:331
Definition Unit.h:1367
WorldObject(bool isWorldObject)
Definition Object.cpp:1514