2007-11-25 19:42:40 +00:00
|
|
|
/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
|
2007-09-25 23:03:15 +00:00
|
|
|
|
|
|
|
// game object
|
|
|
|
class gameobject_ctf : public gameobject
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
class flag *flags[2];
|
|
|
|
|
|
|
|
gameobject_ctf();
|
|
|
|
virtual void tick();
|
|
|
|
|
|
|
|
virtual void on_player_spawn(class player *p);
|
2007-11-18 23:29:34 +00:00
|
|
|
virtual int on_player_death(class player *victim, class player *killer, int weapon);
|
2007-09-25 23:03:15 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// TODO: move to seperate file
|
|
|
|
class flag : public entity
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static const int phys_size = 14;
|
|
|
|
player *carrying_player;
|
|
|
|
vec2 vel;
|
|
|
|
vec2 stand_pos;
|
|
|
|
|
|
|
|
int team;
|
|
|
|
int at_stand;
|
2007-11-26 19:32:02 +00:00
|
|
|
int drop_tick;
|
2007-09-25 23:03:15 +00:00
|
|
|
|
|
|
|
flag(int _team);
|
|
|
|
|
|
|
|
virtual void reset();
|
|
|
|
virtual void snap(int snapping_client);
|
|
|
|
};
|