AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
EffectMovementGenerator Class Reference

#include "PointMovementGenerator.h"

Inheritance diagram for EffectMovementGenerator:
MovementGenerator

Public Member Functions

 EffectMovementGenerator (Movement::MoveSplineInit &spline, uint32 Id)
 
void Initialize (Unit *) override
 
void Finalize (Unit *) override
 
void Reset (Unit *) override
 
bool Update (Unit *, uint32) override
 
MovementGeneratorType GetMovementGeneratorType () override
 
- Public Member Functions inherited from MovementGenerator
virtual ~MovementGenerator ()
 
virtual uint32 GetSplineId () const
 
virtual void unitSpeedChanged ()
 
virtual void Pause (uint32)
 
virtual void Resume (uint32)
 
virtual bool GetResetPosition (float &, float &, float &)
 

Private Attributes

uint32 m_Id
 
Movement::MoveSplineInit i_spline
 

Detailed Description

Constructor & Destructor Documentation

◆ EffectMovementGenerator()

EffectMovementGenerator::EffectMovementGenerator ( Movement::MoveSplineInit spline,
uint32  Id 
)
inlineexplicit
79: m_Id(Id), i_spline(spline) {}
Movement::MoveSplineInit i_spline
Definition PointMovementGenerator.h:87
uint32 m_Id
Definition PointMovementGenerator.h:86

Member Function Documentation

◆ Finalize()

void EffectMovementGenerator::Finalize ( Unit unit)
overridevirtual

Implements MovementGenerator.

247{
248 if (!unit->IsCreature())
249 return;
250
251 if (unit->IsCreature() && unit->HasUnitMovementFlag(MOVEMENTFLAG_FALLING) && unit->movespline->isFalling()) // pussywizard
253
254 // Need restore previous movement since we have no proper states system
255 //if (unit->IsAlive() && !unit->HasUnitState(UNIT_STATE_CONFUSED | UNIT_STATE_FLEEING))
256 //{
257 // if (Unit* victim = unit->GetVictim())
258 // unit->GetMotionMaster()->MoveChase(victim);
259 // else
260 // unit->GetMotionMaster()->Initialize();
261 //}
262
263 if (unit->ToCreature()->AI())
265}
@ EFFECT_MOTION_TYPE
Definition MotionMaster.h:56
@ MOVEMENTFLAG_FALLING
Definition UnitDefines.h:381
virtual void MovementInform(uint32, uint32)
Definition CreatureAI.h:161
CreatureAI * AI() const
Definition Creature.h:145
bool isFalling() const
Definition MoveSpline.h:118
bool IsCreature() const
Definition Object.h:205
Creature * ToCreature()
Definition Object.h:206
Movement::MoveSpline * movespline
Definition Unit.h:2071
bool HasUnitMovementFlag(uint32 f) const
Definition Unit.h:759
void RemoveUnitMovementFlag(uint32 f)
Definition Unit.h:758

References Creature::AI(), EFFECT_MOTION_TYPE, Unit::HasUnitMovementFlag(), Object::IsCreature(), Movement::MoveSpline::isFalling(), m_Id, MOVEMENTFLAG_FALLING, CreatureAI::MovementInform(), Unit::movespline, Unit::RemoveUnitMovementFlag(), and Object::ToCreature().

◆ GetMovementGeneratorType()

MovementGeneratorType EffectMovementGenerator::GetMovementGeneratorType ( )
inlineoverridevirtual

Implements MovementGenerator.

84{ return EFFECT_MOTION_TYPE; }

References EFFECT_MOTION_TYPE.

◆ Initialize()

void EffectMovementGenerator::Initialize ( Unit )
overridevirtual

Implements MovementGenerator.

242{
244}
int32 Launch()
Definition MoveSplineInit.cpp:59

References i_spline, and Movement::MoveSplineInit::Launch().

◆ Reset()

void EffectMovementGenerator::Reset ( Unit )
inlineoverridevirtual

Implements MovementGenerator.

82{}

◆ Update()

bool EffectMovementGenerator::Update ( Unit unit,
uint32   
)
overridevirtual

Implements MovementGenerator.

237{
238 return !unit->movespline->Finalized();
239}
bool Finalized() const
Definition MoveSpline.h:116

References Movement::MoveSpline::Finalized(), and Unit::movespline.

Member Data Documentation

◆ i_spline

Movement::MoveSplineInit EffectMovementGenerator::i_spline
private

Referenced by Initialize().

◆ m_Id

uint32 EffectMovementGenerator::m_Id
private

Referenced by Finalize().


The documentation for this class was generated from the following files: