2011-12-25 13:33:05 +00:00
|
|
|
/* (c) Shereef Marzouk. See "licence DDRace.txt" and the readme.txt in the root of the distribution for more information. */
|
2018-07-06 14:11:38 +00:00
|
|
|
#ifndef GAME_SERVER_ENTITIES_DRAGGER_H
|
|
|
|
#define GAME_SERVER_ENTITIES_DRAGGER_H
|
2010-07-29 05:21:18 +00:00
|
|
|
|
|
|
|
#include <game/server/entity.h>
|
|
|
|
class CCharacter;
|
|
|
|
|
2011-12-25 13:51:04 +00:00
|
|
|
class CDragger: public CEntity
|
2010-07-29 05:21:18 +00:00
|
|
|
{
|
2010-08-30 23:45:42 +00:00
|
|
|
vec2 m_Core;
|
|
|
|
float m_Strength;
|
|
|
|
int m_EvalTick;
|
|
|
|
void Move();
|
|
|
|
void Drag();
|
2010-09-22 10:43:59 +00:00
|
|
|
CCharacter * m_Target;
|
2010-08-30 23:45:42 +00:00
|
|
|
bool m_NW;
|
2010-09-22 10:43:59 +00:00
|
|
|
int m_CatchedTeam;
|
2014-05-07 22:53:21 +00:00
|
|
|
|
|
|
|
CCharacter * m_SoloEnts[MAX_CLIENTS];
|
|
|
|
int m_SoloIDs[MAX_CLIENTS];
|
2010-07-29 05:21:18 +00:00
|
|
|
public:
|
|
|
|
|
2011-12-25 13:51:04 +00:00
|
|
|
CDragger(CGameWorld *pGameWorld, vec2 Pos, float Strength, bool NW,
|
|
|
|
int CatchedTeam, int Layer = 0, int Number = 0);
|
2010-07-29 05:21:18 +00:00
|
|
|
|
|
|
|
virtual void Reset();
|
|
|
|
virtual void Tick();
|
|
|
|
virtual void Snap(int snapping_client);
|
|
|
|
};
|
|
|
|
|
2011-12-25 13:51:04 +00:00
|
|
|
class CDraggerTeam
|
|
|
|
{
|
2010-09-22 10:43:59 +00:00
|
|
|
CDragger * m_Draggers[MAX_CLIENTS];
|
2011-12-25 13:19:03 +00:00
|
|
|
|
2010-09-22 10:43:59 +00:00
|
|
|
public:
|
2011-12-25 13:19:03 +00:00
|
|
|
|
2011-12-25 13:51:04 +00:00
|
|
|
CDraggerTeam(CGameWorld *pGameWorld, vec2 Pos, float Strength, bool NW =
|
|
|
|
false, int Layer = 0, int Number = 0);
|
2019-04-08 19:54:12 +00:00
|
|
|
~CDraggerTeam();
|
2010-09-22 10:43:59 +00:00
|
|
|
};
|
|
|
|
|
2018-07-06 14:11:38 +00:00
|
|
|
#endif // GAME_SERVER_ENTITIES_DRAGGER_H
|