setattachment(self, world, "");
self.mdl = self.model;
- self.flags = FL_ITEM;
+ self.flags = FL_ITEM | FL_NOTARGET;
self.solid = SOLID_TRIGGER;
self.movetype = MOVETYPE_NONE;
self.velocity = '0 0 0';
e.angles = e.mangle;
e.cnt = FLAG_BASE;
e.owner = world;
- e.flags = FL_ITEM; // clear FL_ONGROUND and any other junk
+ e.flags = FL_ITEM | FL_NOTARGET; // clear FL_ONGROUND and any other junk
};
void ReturnFlag(entity e)
p.flagcarried = world;
e.owner = world;
- e.flags = FL_ITEM; // clear FL_ONGROUND and any other junk
+ e.flags = FL_ITEM | FL_NOTARGET; // clear FL_ONGROUND and any other junk
e.solid = SOLID_TRIGGER;
e.movetype = MOVETYPE_TOSS;
// setsize(e, '-16 -16 0', '16 16 74');
DropFlag(self, world, world);
return;
}
-
- if(autocvar_g_ctf_allow_drop)
- if(e.BUTTON_USE)
- DropFlag(self, e, world);
};
+float ctf_usekey()
+{
+ if(self.flagcarried)
+ {
+ DropFlag(self.flagcarried, self, world);
+ return TRUE;
+ }
+ return FALSE;
+}
+
void flag_cap_ring_spawn(vector org)
{
shockwave_spawn("models/ctf/shockwavetransring.md3", org - '0 0 15', -0.8, 0, 1);
if (self.cnt == FLAG_DROPPED)
{
- self.flags = FL_ITEM; // clear FL_ONGROUND and any other junk
+ self.flags = FL_ITEM | FL_NOTARGET; // clear FL_ONGROUND and any other junk
if (other.team == self.team || (other.team != COLOR_TEAM1 && other.team != COLOR_TEAM2))
{
// return flag