Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
FleeingMovementGenerator.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_FLEEINGMOVEMENTGENERATOR_H
7
#define SKYFIRE_FLEEINGMOVEMENTGENERATOR_H
8
9
#include "
MovementGenerator.h
"
10
11
template
<
class
T>
12
class
FleeingMovementGenerator
:
public
MovementGeneratorMedium
< T, FleeingMovementGenerator<T> >
13
{
14
public
:
15
FleeingMovementGenerator
(
uint64
fright) :
i_frightGUID
(fright),
i_nextCheckTime
(0) { }
16
17
void
DoInitialize
(T*);
18
void
DoFinalize
(T*);
19
void
DoReset
(T*);
20
bool
DoUpdate
(T*,
uint32
);
21
22
MovementGeneratorType
GetMovementGeneratorType
() {
return
FLEEING_MOTION_TYPE
; }
23
24
private
:
25
void
_setTargetLocation
(T*);
26
void
_getPoint
(T*,
float
& x,
float
& y,
float
& z);
27
28
uint64
i_frightGUID
;
29
TimeTracker
i_nextCheckTime
;
30
};
31
32
class
TimedFleeingMovementGenerator
:
public
FleeingMovementGenerator
<Creature>
33
{
34
public
:
35
TimedFleeingMovementGenerator
(
uint64
fright,
uint32
time) :
36
FleeingMovementGenerator
<
Creature
>(fright),
37
i_totalFleeTime
(time) { }
38
39
MovementGeneratorType
GetMovementGeneratorType
() {
return
TIMED_FLEEING_MOTION_TYPE
; }
40
bool
Update
(
Unit
*,
uint32
);
41
void
Finalize
(
Unit
*);
42
43
private
:
44
TimeTracker
i_totalFleeTime
;
45
};
46
47
#endif
uint32
std::uint32_t uint32
Definition
Define.h:77
uint64
std::uint64_t uint64
Definition
Define.h:76
MovementGeneratorType
MovementGeneratorType
Definition
MotionMaster.h:23
TIMED_FLEEING_MOTION_TYPE
@ TIMED_FLEEING_MOTION_TYPE
Definition
MotionMaster.h:38
FLEEING_MOTION_TYPE
@ FLEEING_MOTION_TYPE
Definition
MotionMaster.h:34
MovementGenerator.h
Creature
Definition
Creature.h:427
FleeingMovementGenerator::i_nextCheckTime
TimeTracker i_nextCheckTime
Definition
FleeingMovementGenerator.h:29
FleeingMovementGenerator::DoReset
void DoReset(T *)
Definition
FleeingMovementGenerator.cpp:120
FleeingMovementGenerator::_getPoint
void _getPoint(T *, float &x, float &y, float &z)
Definition
FleeingMovementGenerator.cpp:50
FleeingMovementGenerator::DoFinalize
void DoFinalize(T *)
FleeingMovementGenerator::i_frightGUID
uint64 i_frightGUID
Definition
FleeingMovementGenerator.h:28
FleeingMovementGenerator::GetMovementGeneratorType
MovementGeneratorType GetMovementGeneratorType()
Definition
FleeingMovementGenerator.h:22
FleeingMovementGenerator::FleeingMovementGenerator
FleeingMovementGenerator(uint64 fright)
Definition
FleeingMovementGenerator.h:15
FleeingMovementGenerator::DoUpdate
bool DoUpdate(T *, uint32)
Definition
FleeingMovementGenerator.cpp:126
FleeingMovementGenerator::DoInitialize
void DoInitialize(T *)
Definition
FleeingMovementGenerator.cpp:92
FleeingMovementGenerator::_setTargetLocation
void _setTargetLocation(T *)
Definition
FleeingMovementGenerator.cpp:20
MovementGeneratorMedium
Definition
MovementGenerator.h:39
TimedFleeingMovementGenerator::GetMovementGeneratorType
MovementGeneratorType GetMovementGeneratorType()
Definition
FleeingMovementGenerator.h:39
TimedFleeingMovementGenerator::Finalize
void Finalize(Unit *)
Definition
FleeingMovementGenerator.cpp:155
TimedFleeingMovementGenerator::i_totalFleeTime
TimeTracker i_totalFleeTime
Definition
FleeingMovementGenerator.h:44
TimedFleeingMovementGenerator::Update
bool Update(Unit *, uint32)
Definition
FleeingMovementGenerator.cpp:169
TimedFleeingMovementGenerator::TimedFleeingMovementGenerator
TimedFleeingMovementGenerator(uint64 fright, uint32 time)
Definition
FleeingMovementGenerator.h:35
Unit
Definition
Unit.h:1367
TimeTracker
Definition
Timer.h:76
src
server
game
Movement
MovementGenerators
FleeingMovementGenerator.h
Generated on
for Project SkyFire Core by
1.17.0