if (have_team_spawns != 0)
if (self.team)
have_team_spawns = 1;
+ have_team_spawns_forteam[self.team] = 1;
if (autocvar_r_showbboxes)
{
replacement = cursor_ent.netname;
if (!replacement || !cursor_ent)
replacement = "nothing";
- } else if (escape == "p") {
- if (self.last_selected_player)
- replacement = self.last_selected_player.netname;
- else
- replacement = "(nobody)";
} else if (escape == "s")
replacement = ftos(vlen(self.velocity - self.velocity_z * '0 0 1'));
else if (escape == "S")
MUTATOR_CALLHOOK(GetCvars);
GetCvars_handleFloat(s, f, autoswitch, "cl_autoswitch");
GetCvars_handleFloat(s, f, cvar_cl_playerdetailreduction, "cl_playerdetailreduction");
- GetCvars_handleFloat(s, f, cvar_scr_centertime, "scr_centertime");
- GetCvars_handleFloat(s, f, cvar_cl_shownames, "cl_shownames");
+ GetCvars_handleFloat(s, f, cvar_hud_panel_centerprint_time, "hud_panel_centerprint_time");
GetCvars_handleString(s, f, cvar_g_xonoticversion, "g_xonoticversion");
GetCvars_handleFloat(s, f, cvar_cl_handicap, "cl_handicap");
GetCvars_handleString_Fixup(s, f, cvar_cl_weaponpriority, "cl_weaponpriority", W_FixWeaponOrder_ForceComplete_AndBuildImpulseList);
{
if (s == "cl_weaponpriority")
self.switchweapon = w_getbestweapon(self);
+ if (s == "cl_allow_uidtracking")
+ PlayerStats_AddPlayer(self);
}
}
-float fexists(string f)
-{
- float fh;
- fh = fopen(f, FILE_READ);
- if (fh < 0)
- return FALSE;
- fclose(fh);
- return TRUE;
-}
-
void backtrace(string msg)
{
float dev, war;
#define CENTERPRIO_ADMIN 99
.float centerprint_priority;
.float centerprint_expires;
+void Send_CSQC_Centerprint_Generic(entity e, float id, string s1, float duration, float countdown_num);
void centerprint_atprio(entity e, float prio, string s)
{
if (intermission_running)
{
e.centerprint_priority = prio;
if (timeoutStatus == 2)
- e.centerprint_expires = time + (e.cvar_scr_centertime * TIMEOUT_SLOWMO_VALUE);
+ e.centerprint_expires = time + (e.cvar_hud_panel_centerprint_time * TIMEOUT_SLOWMO_VALUE);
else
- e.centerprint_expires = time + e.cvar_scr_centertime;
- centerprint_builtin(e, s);
+ e.centerprint_expires = time + e.cvar_hud_panel_centerprint_time;
+ // centerprint_builtin(e, s);
+ Send_CSQC_Centerprint_Generic(e, 0, s, 0, 0);
}
}
void centerprint_expire(entity e, float prio)
if (prio == e.centerprint_priority)
{
e.centerprint_priority = 0;
- centerprint_builtin(e, "");
+ // centerprint_builtin(e, "");
+ Send_CSQC_Centerprint_Generic(e, 0, "", 0, 0);
}
}
void centerprint(entity e, string s)
string playername(entity p)
{
string t;
- if (teams_matter && !intermission_running && p.classname == "player")
+ if (teamplay && !intermission_running && p.classname == "player")
{
t = Team_ColorCode(p.team);
return strcat(t, strdecolorize(p.netname));
s = "most";
}
- if (s == "off")
+ if (s == "0" || s == "")
+ {
+ // no arena
+ }
+ else if (s == "off")
{
// forcibly turn off weaponarena
}
}
else if(start_items & IT_UNLIMITED_WEAPON_AMMO)
{
- for (j = WEP_FIRST; j <= WEP_LAST; ++j)
- {
- e = get_weaponinfo(j);
- if(start_weapons & e.weapons)
- {
- if(e.items & IT_ROCKETS)
- start_ammo_rockets = 999;
- if(e.items & IT_SHELLS)
- start_ammo_shells = 999;
- if(e.items & IT_CELLS)
- start_ammo_cells = 999;
- if(e.items & IT_NAILS)
- start_ammo_nails = 999;
- if(e.items & IT_FUEL)
- start_ammo_fuel = 999;
- }
- }
+ start_ammo_rockets = 999;
+ start_ammo_shells = 999;
+ start_ammo_cells = 999;
+ start_ammo_nails = 999;
+ start_ammo_fuel = 999;
}
else
{
{
// gamemode related things
precache_model ("models/misc/chatbubble.spr");
- precache_model ("models/misc/teambubble.spr");
if (g_runematch)
{
precache_model ("models/runematch/curse.mdl");
precache_model ("models/sprites/10.spr32");
// common weapon precaches
+ precache_sound ("weapons/reload.wav"); // until weapons have individual reload sounds, precache the reload sound here
precache_sound ("weapons/weapon_switch.wav");
precache_sound ("weapons/weaponpickup.wav");
precache_sound ("weapons/unavailable.wav");
#define WRITESPECTATABLE_MSG_ONE(statement) WRITESPECTATABLE_MSG_ONE_VARNAME(oldmsg_entity, statement)
#define WRITESPECTATABLE(msg,statement) if(msg == MSG_ONE) { WRITESPECTATABLE_MSG_ONE(statement); } else statement float WRITESPECTATABLE_workaround = 0
+
+void Send_CSQC_Centerprint_Generic(entity e, float id, string s1, float duration, float countdown_num)
+{
+ if (clienttype(e) == CLIENTTYPE_REAL)
+ {
+ msg_entity = e;
+ WRITESPECTATABLE_MSG_ONE({
+ WriteByte(MSG_ONE, SVC_TEMPENTITY);
+ WriteByte(MSG_ONE, TE_CSQC_NOTIFY);
+ WriteByte(MSG_ONE, CSQC_CENTERPRINT_GENERIC);
+ WriteByte(MSG_ONE, id);
+ WriteString(MSG_ONE, s1);
+ if (id != 0)
+ {
+ WriteByte(MSG_ONE, duration);
+ WriteByte(MSG_ONE, countdown_num);
+ }
+ });
+ }
+}
// WARNING: this kills the trace globals
#define EXACTTRIGGER_TOUCH if(WarpZoneLib_ExactTrigger_Touch()) return
#define EXACTTRIGGER_INIT WarpZoneLib_ExactTrigger_Init()
// these stop the projectile from moving, so...
if(trace_dphitcontents == 0)
{
- dprint("A hit happened with zero hit contents... DEBUG THIS, this should never happen for projectiles! Projectile will self-destruct.\n");
+ //dprint("A hit happened with zero hit contents... DEBUG THIS, this should never happen for projectiles! Projectile will self-destruct.\n");
+ dprint(sprintf(_("A hit from a projectile happened with no hit contents! DEBUG THIS, this should never happen for projectiles! Profectile will self-destruct. (edict: %d, classname: %s, origin: %s)\n"), num_for_edict(self), self.classname, vtos(self.origin)));
checkclient();
}
if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
{
switch(algn)
{
- case 1: // right
+ default:
+ case 3: // right
break;
- case 2: // left
+ case 4: // left
vecs_y = -vecs_y;
break;
- default:
- case 3:
+ case 1:
if(allowcenter) // 2: allow center handedness
{
// center
}
break;
- case 4:
+ case 2:
if(allowcenter) // 2: allow center handedness
{
// center
{
if (visual)
{
- vecs = shotorg_adjustfromclient(vecs, y_is_right, TRUE, algn);
+ vecs_y = 0;
+ vecs_z -= 2;
}
else
{
}
else if (autocvar_g_shootfromcenter)
{
- if (visual)
- {
- vecs = shotorg_adjustfromclient(vecs, y_is_right, TRUE, algn);
- }
- else
- {
- vecs_y = 0;
- vecs_z -= 2;
- }
+ vecs_y = 0;
+ vecs_z -= 2;
}
else if ((s = autocvar_g_shootfromfixedorigin) != "")
{