if(self.vehicle)
vehicles_exit(VHEF_RELESE);
- if(self.flagcarried)
- DropFlag(self.flagcarried, world, world);
-
WaypointSprite_PlayerDead();
if not(g_ca) // don't reset teams when moving a ca player to the spectators
self.classname = "observer";
self.iscreature = FALSE;
+ self.teleportable = TELEPORT_SIMPLE;
self.damagedbycontents = FALSE;
self.health = -666;
self.takedamage = DAMAGE_NO;
Called when a client spawns in the server
=============
*/
-//void() ctf_playerchanged;
void PutClientInServer (void)
{
self.classname = "player";
self.wasplayer = TRUE;
self.iscreature = TRUE;
+ self.teleportable = TELEPORT_NORMAL;
self.damagedbycontents = TRUE;
self.movetype = MOVETYPE_WALK;
self.solid = SOLID_SLIDEBOX;
//stuffcmd(self, "chase_active 0");
//stuffcmd(self, "set viewsize $tmpviewsize \n");
- if (autocvar_g_spawnsound)
- sound (self, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
-
if(g_assault) {
if(self.team == assault_attacker_team)
centerprint(self, "You are attacking!");
self.alivetime = time;
antilag_clear(self);
+
+ if (autocvar_g_spawnsound)
+ soundat(world, self.origin, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
} else if(self.classname == "observer") {
PutObserverInServer ();
}
-
- //if(g_ctf)
- // ctf_playerchanged();
}
.float ebouncefactor, ebouncestop; // electro's values
Called when a client connects to the server
=============
*/
-//void ctf_clientconnect();
string ColoredTeamName(float t);
void DecodeLevelParms (void);
//void dom_player_join_team(entity pl);
return;
}
- if(Ban_MaybeEnforceBan(self))
+ if(Ban_MaybeEnforceBanOnce(self))
return;
DecodeLevelParms();
if(g_arena)
Spawnqueue_Insert(self);
}
- /*else if(g_ctf)
- {
- ctf_clientconnect();
- }*/
attach_entcs();
Portal_ClearAll(self);
RemoveGrapplingHook(self);
- if(self.flagcarried)
- DropFlag(self.flagcarried, world, world);
// Here, everything has been done that requires this player to be a client.
self.flags |= FL_CLIENT | FL_NOTARGET;
}
-float ctf_usekey();
void PlayerUseKey()
{
if(self.classname != "player")
}
// a use key was pressed; call handlers
- if(ctf_usekey())
- return;
-
MUTATOR_CALLHOOK(PlayerUseKey);
}
=============
*/
.float usekeypressed;
-void() ctf_setstatus;
void() nexball_setstatus;
.float items_added;
void PlayerPreThink (void)
if(frametime)
player_anim();
- if(g_ctf)
- ctf_setstatus();
-
if(g_nexball)
nexball_setstatus();
self.lip = oldself.lip;
self.colormap = oldself.colormap;
self.iscreature = oldself.iscreature;
+ self.teleportable = oldself.teleportable;
self.damagedbycontents = oldself.damagedbycontents;
self.angles = oldself.angles;
self.avelocity = oldself.avelocity;
RemoveGrapplingHook(self);
- if(self.flagcarried)
- {
- if(attacker.classname != "player")
- DropFlag(self.flagcarried, self, attacker); // penalty for flag loss by suicide
- else if(attacker.team == self.team)
- DropFlag(self.flagcarried, attacker, attacker); // penalty for flag loss by suicide/teamkill
- else
- DropFlag(self.flagcarried, world, attacker);
- }
Portal_ClearAllLater(self);
if(clienttype(self) == CLIENTTYPE_REAL)
entity head;
float ret;
- if(Ban_MaybeEnforceBan(source))
- return 0;
-
if(!teamsay && !privatesay)
if(substring(msgin, 0, 1) == " ")
msgin = substring(msgin, 1, strlen(msgin) - 1); // work around DP say bug (say_team does not have this!)