}
InitializeEntity(self, ctf_flag_spawnstuff, INITPRIO_SETLOCATION);
-};
+}
void LogCTF(string mode, float flagteam, entity actor)
{
e.cnt = FLAG_BASE;
e.owner = world;
e.flags = FL_ITEM | FL_NOTARGET; // clear FL_ONGROUND and any other junk
-};
+}
void ReturnFlag(entity e)
{
}
e.owner = world;
RegenFlag(e);
-};
+}
void DropFlag(entity e, entity penalty_receiver, entity attacker)
{
- local entity p;
+ entity p;
if(e.classname != "item_flag_team")
{
tracebox(e.origin, e.mins, e.maxs, e.origin, TRUE, e);
if(trace_startsolid)
dprint("FLAG FALLTHROUGH will happen SOON\n");
-};
+}
void FlagThink()
{
- local entity e;
+ entity e;
self.nextthink = time + 0.1;
DropFlag(self, world, world);
return;
}
-};
+}
float ctf_usekey()
{
void flag_cap_ring_spawn(vector org)
{
shockwave_spawn("models/ctf/shockwavetransring.md3", org - '0 0 15', -0.8, 0, 1);
-};
+}
void FlagTouch()
{
if(gameover) return;
- local float t;
- local entity player;
- local string s, s0, h0, h1;
+ float t;
+ entity player;
+ string s, s0, h0, h1;
if (other.classname != "player")
return;
if (other.health < 1) // ignore dead players
WaypointSprite_AttachCarrier("flagcarrier", other, RADARICON_FLAGCARRIER, '1 1 0');
}
}
-};
+}
/*QUAKED spawnfunc_info_player_team1 (1 0 0) (-16 -16 -24) (16 16 24)
CTF Starting point for a player
}
self.team = COLOR_TEAM1; // red
spawnfunc_info_player_deathmatch();
-};
-//self.team = 4;self.classname = "info_player_start";spawnfunc_info_player_start();};
+}
+//self.team = 4;self.classname = "info_player_start";spawnfunc_info_player_start();}
/*QUAKED spawnfunc_info_player_team2 (1 0 0) (-16 -16 -24) (16 16 24)
CTF Starting point for a player in
}
self.team = COLOR_TEAM2; // blue
spawnfunc_info_player_deathmatch();
-};
-//self.team = 13;self.classname = "info_player_start";spawnfunc_info_player_start();};
+}
+//self.team = 13;self.classname = "info_player_start";spawnfunc_info_player_start();}
/*QUAKED spawnfunc_info_player_team3 (1 0 0) (-16 -16 -24) (16 16 24)
CTF Starting point for a player in
}
self.team = COLOR_TEAM3; // yellow
spawnfunc_info_player_deathmatch();
-};
+}
/*QUAKED spawnfunc_info_player_team4 (1 0 0) (-16 -16 -24) (16 16 24)
}
self.team = COLOR_TEAM4; // purple
spawnfunc_info_player_deathmatch();
-};
+}
void item_flag_reset()
{
self.glow_size = 25;
self.glow_trail = 1;
}
-};
+}
/*QUAKED spawnfunc_item_flag_team1 (0 0.5 0.8) (-48 -48 -37) (48 48 37)
CTF flag for team one (Red).
precache_model("models/ctf/shockwavetransring.md3");
self.reset = item_flag_reset;
-};
+}
/*QUAKED spawnfunc_item_flag_team2 (0 0.5 0.8) (-48 -48 -24) (48 48 64)
CTF flag for team two (Blue).
precache_model("models/ctf/shockwavetransring.md3");
self.reset = item_flag_reset;
-};
+}
/*QUAKED spawnfunc_ctf_team (0 .5 .8) (-16 -16 -24) (16 16 32)
}
self.classname = "ctf_team";
self.team = self.cnt + 1;
-};
+}
// code from here on is just to support maps that don't have control point and team entities
void ctf_spawnteam (string teamname, float teamcolor)
{
- local entity oldself;
+ entity oldself;
oldself = self;
self = spawn();
self.classname = "ctf_team";
spawnfunc_ctf_team();
self = oldself;
-};
+}
// spawn some default teams if the map is not set up for ctf
void ctf_spawnteams()
ctf_spawnteam("Red", COLOR_TEAM1 - 1);
ctf_spawnteam("Blue", COLOR_TEAM2 - 1);
-};
+}
void ctf_delayedinit()
{
ctf_spawnteams();
ScoreRules_ctf();
-};
+}
void ctf_init()
{
//#NO AUTOCVARS START
g_ctf_win_mode = cvar("g_ctf_win_mode");
//#NO AUTOCVARS END
-};
+}
void ctf_setstatus2(entity flag, float shift)
{
{
// no status bits
}
-};
+}
void ctf_setstatus()
{
self.items &~= IT_BLUE_FLAG_LOST;
self.items &~= IT_CTF_SHIELDED;
- local entity flag;
+ entity flag;
float redflags, blueflags;
if(self.ctf_captureshielded)
ctf_setstatus2(flag, IT_BLUE_FLAG_TAKEN);
}
}
-};
+}
/*
-entity(float cteam) ctf_team_has_commander =
+entity ctf_team_has_commander(float cteam)
{
entity pl;
if(cteam != COLOR_TEAM1 || cteam != COLOR_TEAM2)
}
}
return world;
-};
+}
-void(entity e, float st) ctf_setstate =
+void ctf_setstate(entity e, float st)
{
e.ctf_state = st;
++e.version;
-};
+}
-void(float cteam) ctf_new_commander =
+void ctf_new_commander(float cteam)
{
entity pl, plmax;
ctf_setstate(plmax, 3);
sprint(plmax, "^3You're the commander now!\n");
centerprint(plmax, "^3You're the commander now!\n");
-};
+}
-void() ctf_clientconnect =
+void ctf_clientconnect()
{
self.iscommander = FALSE;
if(self.team != 0 && self.classname == "player" && !ctf_team_has_commander(self.team)) {
ctf_new_commander(self.team);
}
-};
+}
-void() ctf_playerchanged =
+void ctf_playerchanged()
{
if(!self.team || self.classname != "player") {
ctf_setstate(self, -1);
self.team_saved = self.team;
ctf_new_commander(self.team);
-};
+}
-void() ctf_clientdisconnect =
+void ctf_clientdisconnect()
{
if(self.iscommander)
{
ctf_new_commander(self.team);
}
-};
+}
entity GetPlayer(string);
-float() ctf_clientcommand =
+float ctf_clientcommand()
{
entity e;
if(argv(0) == "order") {
return TRUE;
}
return FALSE;
-};
+}
*/