diff options
Diffstat (limited to 'src/game/server/entities/projectile.hpp')
| -rw-r--r-- | src/game/server/entities/projectile.hpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/game/server/entities/projectile.hpp b/src/game/server/entities/projectile.hpp new file mode 100644 index 00000000..c1370af1 --- /dev/null +++ b/src/game/server/entities/projectile.hpp @@ -0,0 +1,38 @@ +/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */ + +#ifndef GAME_SERVER_ENTITY_PROJECTILE_H +#define GAME_SERVER_ENTITY_PROJECTILE_H + +class PROJECTILE : public ENTITY +{ +public: + enum + { + PROJECTILE_FLAGS_EXPLODE = 1 << 0, + }; + + vec2 direction; + ENTITY *powner; // this is nasty, could be removed when client quits + int lifespan; + int owner; + int type; + int flags; + int damage; + int sound_impact; + int weapon; + int bounce; + float force; + int start_tick; + + PROJECTILE(int type, int owner, vec2 pos, vec2 vel, int span, ENTITY* powner, + int damage, int flags, float force, int sound_impact, int weapon); + + vec2 get_pos(float time); + void fill_info(NETOBJ_PROJECTILE *proj); + + virtual void reset(); + virtual void tick(); + virtual void snap(int snapping_client); +}; + +#endif |