float logfile_open;
float logfile;
-string GetAdvancedDeathReports(entity enPlayer) // Extra fragmessage information
-{
- float nPlayerHealth = rint(enPlayer.health);
- float nPlayerArmor = rint(enPlayer.armorvalue);
- float nPlayerHandicap = enPlayer.cvar_cl_handicap;
- float nPlayerPing = rint(enPlayer.ping);
- string strPlayerPingColor;
- string strMessage;
-
- if(nPlayerPing >= 150)
- strPlayerPingColor = "^1";
- else
- strPlayerPingColor = "^2";
-
- if((autocvar_sv_fragmessage_information_stats) && (enPlayer.health >= 1))
- strMessage = strcat(strMessage, "^7(Health ^1", ftos(nPlayerHealth), "^7 / Armor ^2", ftos(nPlayerArmor), "^7)");
-
- if(autocvar_sv_fragmessage_information_ping) {
- if(clienttype(enPlayer) == CLIENTTYPE_BOT) // Bots have no ping
- strMessage = strcat(strMessage, " ^7(^2Bot");
- else
- strMessage = strcat(strMessage, " ^7(Ping ", strPlayerPingColor, ftos(nPlayerPing), "ms");
- if(autocvar_sv_fragmessage_information_handicap)
- if(autocvar_sv_fragmessage_information_handicap == 2)
- if(nPlayerHandicap <= 1)
- strMessage = strcat(strMessage, "^7 / Handicap ^2Off^7)");
- else
- strMessage = strcat(strMessage, "^7 / Handicap ^2", ftos(nPlayerHandicap), "^7)");
- else if not(nPlayerHandicap <= 1)
- strMessage = strcat(strMessage, "^7 / Handicap ^2", ftos(nPlayerHandicap), "^7)");
- else
- strMessage = strcat(strMessage, "^7)");
- } else if(autocvar_sv_fragmessage_information_handicap) {
- if(autocvar_sv_fragmessage_information_handicap == 2)
- if(nPlayerHandicap <= 1)
- strMessage = strcat(strMessage, "^7(Handicap ^2Off^7)");
- else
- strMessage = strcat(strMessage, "^7(Handicap ^2", ftos(nPlayerHandicap), "^7)");
- else if(nPlayerHandicap > 1)
- strMessage = strcat(strMessage, "^7(Handicap ^2", ftos(nPlayerHandicap), "^7)");
- }
-
- if(strMessage) // add new line to the beginning if there is a message
- strMessage = strcat("\n", strMessage);
-
- return strMessage;
-}
void bcenterprint(string s)
{
// TODO replace by MSG_ALL (would show it to spectators too, though)?
}
}
-vector PL_VIEW_OFS;
-vector PL_MIN;
-vector PL_MAX;
-vector PL_HEAD;
-vector PL_CROUCH_VIEW_OFS;
-vector PL_CROUCH_MIN;
-vector PL_CROUCH_MAX;
-
float spawnpoint_nag;
void relocate_spawnpoint()
{
- PL_VIEW_OFS = stov(autocvar_sv_player_viewoffset);
- PL_MIN = stov(autocvar_sv_player_mins);
- PL_MAX = stov(autocvar_sv_player_maxs);
- PL_HEAD = stov(autocvar_sv_player_headsize);
- PL_CROUCH_VIEW_OFS = stov(autocvar_sv_player_crouch_viewoffset);
- PL_CROUCH_MIN = stov(autocvar_sv_player_crouch_mins);
- PL_CROUCH_MAX = stov(autocvar_sv_player_crouch_maxs);
-
// nudge off the floor
setorigin(self, self.origin + '0 0 1');
MUTATOR_CALLHOOK(GetCvars);
GetCvars_handleFloat(s, f, autoswitch, "cl_autoswitch");
GetCvars_handleFloat(s, f, cvar_cl_autoscreenshot, "cl_autoscreenshot");
- GetCvars_handleFloat(s, f, cvar_cl_playerdetailreduction, "cl_playerdetailreduction");
GetCvars_handleString(s, f, cvar_g_xonoticversion, "g_xonoticversion");
GetCvars_handleFloat(s, f, cvar_cl_handicap, "cl_handicap");
GetCvars_handleFloat(s, f, cvar_cl_clippedspectating, "cl_clippedspectating");
t |= (i == WEP_HOOK);
}
- // we cannot disable porto in Nexball, we must force it
- if(g_nexball && i == WEP_PORTO)
- t = 1;
-
return t;
}
if (g_jetpack)
start_items |= IT_JETPACK;
- if (g_weapon_stay == 2)
- {
- if (!start_ammo_shells) start_ammo_shells = g_pickup_shells;
- if (!start_ammo_nails) start_ammo_nails = g_pickup_nails;
- if (!start_ammo_cells) start_ammo_cells = g_pickup_cells;
- if (!start_ammo_rockets) start_ammo_rockets = g_pickup_rockets;
- if (!start_ammo_fuel) start_ammo_fuel = g_pickup_fuel;
- if (!warmup_start_ammo_shells) warmup_start_ammo_shells = g_pickup_shells;
- if (!warmup_start_ammo_nails) warmup_start_ammo_nails = g_pickup_nails;
- if (!warmup_start_ammo_cells) warmup_start_ammo_cells = g_pickup_cells;
- if (!warmup_start_ammo_rockets) warmup_start_ammo_rockets = g_pickup_rockets;
- if (!warmup_start_ammo_fuel) warmup_start_ammo_fuel = g_pickup_fuel;
- }
-
MUTATOR_CALLHOOK(SetStartItems);
for (i = WEP_FIRST; i <= WEP_LAST; ++i)
MUTATOR_ADD(mutator_rocketflying);
if(cvar("g_vampire"))
MUTATOR_ADD(mutator_vampire);
+ if(cvar("g_spawn_near_teammate"))
+ MUTATOR_ADD(mutator_spawn_near_teammate);
+
+ // is this a mutator? is this a mode?
if(cvar("g_sandbox"))
MUTATOR_ADD(sandbox);
#ifdef ALLOW_FORCEMODELS
sv_clforceplayermodels = cvar("sv_clforceplayermodels");
#endif
- sv_loddistance1 = cvar("sv_loddistance1");
- sv_loddistance2 = cvar("sv_loddistance2");
-
- if(sv_loddistance2 <= sv_loddistance1)
- sv_loddistance2 = 1073741824; // enough to turn off LOD 2 reliably
sv_clones = cvar("sv_clones");
sv_gentle = cvar("sv_gentle");
}
#ifdef COMPAT_XON010_CHANNELS
-void(entity e, float chan, string samp, float vol, float atten) sound_builtin = #8;
+void(entity e, float chan, string samp, float vol, float atten) builtin_sound = #8;
void sound(entity e, float chan, string samp, float vol, float atten)
{
if (!sound_allowed(MSG_BROADCAST, e))
return;
- sound_builtin(e, chan, samp, vol, atten);
+ builtin_sound(e, chan, samp, vol, atten);
}
#else
#undef sound
if(substring(m, -9,5) == "_lod2")
return;
precache_model(m);
- if(sv_loddistance1)
- {
- f = strcat(substring(m, 0, -5), "_lod1", substring(m, -4, -1));
- if(fexists(f))
- precache_model(f);
- f = strcat(substring(m, 0, -5), "_lod2", substring(m, -4, -1));
- if(fexists(f))
- precache_model(f);
- }
+ f = strcat(substring(m, 0, -5), "_lod1", substring(m, -4, -1));
+ if(fexists(f))
+ precache_model(f);
+ f = strcat(substring(m, 0, -5), "_lod2", substring(m, -4, -1));
+ if(fexists(f))
+ precache_model(f);
globhandle = search_begin(strcat(m, "_*.sounds"), TRUE, FALSE);
if (globhandle < 0)
void objerror(string s)
{
make_safe_for_remove(self);
- objerror_builtin(s);
+ builtin_objerror(s);
}
.float remove_except_protected_forbidden;
{
if(e.remove_except_protected_forbidden)
error("not allowed to remove this at this point");
- remove_builtin(e);
+ builtin_remove(e);
}
void remove_unsafely(entity e)
{
if(e.classname == "spike")
error("Removing spikes is forbidden (crylink bug), please report");
- remove_builtin(e);
+ builtin_remove(e);
}
void remove_safely(entity e)
{
make_safe_for_remove(e);
- remove_builtin(e);
+ builtin_remove(e);
}
void InitializeEntity(entity e, void(void) func, float order)
{
entity e_old;
e_old = self.enemy;
- remove_builtin(self);
+ builtin_remove(self);
self = e_old;
}
//dprint("Delayed initialization: ", self.classname, "\n");
// deferred dropping
void DropToFloor_Handler()
{
- droptofloor_builtin();
+ builtin_droptofloor();
self.dropped_origin = self.origin;
}
string uid2name(string myuid) {
string s;
- s = db_get(ServerProgsDB, strcat("uid2name", myuid));
+ s = db_get(ServerProgsDB, strcat("/uid2name/", myuid));
+
+ // FIXME remove this later after 0.6 release
+ // convert old style broken records to correct style
+ if(s == "")
+ {
+ s = db_get(ServerProgsDB, strcat("uid2name", myuid));
+ if(s != "")
+ {
+ db_put(ServerProgsDB, strcat("/uid2name/", myuid), s);
+ db_put(ServerProgsDB, strcat("uid2name", myuid), "");
+ }
+ }
if(s == "")
s = "^1Unregistered Player";
#ifdef RELEASE
-#define cvar_string_normal cvar_string_builtin
-#define cvar_normal cvar_builtin
+#define cvar_string_normal builtin_cvar_string
+#define cvar_normal builtin_cvar
#else
string cvar_string_normal(string n)
{
if not(cvar_type(n) & 1)
backtrace(strcat("Attempt to access undefined cvar: ", n));
- return cvar_string_builtin(n);
+ return builtin_cvar_string(n);
}
float cvar_normal(string n)
return stof(cvar_string_normal(n));
}
#endif
-#define cvar_set_normal cvar_set_builtin
+#define cvar_set_normal builtin_cvar_set
void defer_think()
{