ddnet/src/game/server/entities/projectile.h
heinrich5991 43998ce41a Replace projectile hack with a new extended snapshot object
Still send the old hack to old clients, still accept the old hack from
old servers. This is so F-Client can support DDNet servers without such
hacks.
2021-01-26 20:58:42 +01:00

56 lines
1 KiB
C++

/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
/* If you are missing that file, acquire a complete release at teeworlds.com. */
#ifndef GAME_SERVER_ENTITIES_PROJECTILE_H
#define GAME_SERVER_ENTITIES_PROJECTILE_H
#include <game/server/entity.h>
class CProjectile : public CEntity
{
public:
CProjectile(
CGameWorld *pGameWorld,
int Type,
int Owner,
vec2 Pos,
vec2 Dir,
int Span,
bool Freeeze,
bool Explosive,
float Force,
int SoundImpact,
int Layer = 0,
int Number = 0);
vec2 GetPos(float Time);
void FillInfo(CNetObj_Projectile *pProj);
virtual void Reset();
virtual void Tick();
virtual void TickPaused();
virtual void Snap(int SnappingClient);
private:
vec2 m_Direction;
int m_LifeSpan;
int m_Owner;
int m_Type;
//int m_Damage;
int m_SoundImpact;
float m_Force;
int m_StartTick;
bool m_Explosive;
// DDRace
int m_Bouncing;
bool m_Freeze;
int m_TuneZone;
public:
void SetBouncing(int Value);
bool FillExtraInfo(CNetObj_DDNetProjectile *pProj);
};
#endif