[6982] Implemented gmlevel-based command security
[getmangos.git] / src / game / IdleMovementGenerator.h
blobc747745620d22c0bbf24fad452a747f80899741a
1 /*
2 * Copyright (C) 2005-2008 MaNGOS <http://getmangos.com/>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef MANGOS_IDLEMOVEMENTGENERATOR_H
20 #define MANGOS_IDLEMOVEMENTGENERATOR_H
22 #include "MovementGenerator.h"
24 class MANGOS_DLL_SPEC IdleMovementGenerator : public MovementGenerator
26 public:
28 void Initialize(Unit &) { }
29 void Finalize(Unit &) { }
30 void Reset(Unit &);
31 bool Update(Unit &, const uint32 &) { return true; }
32 MovementGeneratorType GetMovementGeneratorType() { return IDLE_MOTION_TYPE; }
35 extern IdleMovementGenerator si_idleMovement;
37 class MANGOS_DLL_SPEC DistractMovementGenerator : public MovementGenerator
39 public:
40 explicit DistractMovementGenerator(uint32 timer) : m_timer(timer) {}
42 void Initialize(Unit& owner);
43 void Finalize(Unit& owner);
44 void Reset(Unit& owner) { Initialize(owner); }
45 bool Update(Unit& owner, const uint32& time_diff);
46 MovementGeneratorType GetMovementGeneratorType() { return DISTRACT_MOTION_TYPE; }
48 private:
49 uint32 m_timer;
52 #endif