X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_world.qc;h=4ca9ef77c8afb16b1b5fab0190bc1cbd1770e8f5;hp=50bca45ab80974e0ac6b52136d125bceea828450;hb=961f49f204b45a584a06e2ef64fb2d6b9d9af203;hpb=a91a4087432a2fceb33411f4078c9e749fb2fe7a diff --git a/qcsrc/server/g_world.qc b/qcsrc/server/g_world.qc index 50bca45ab..4ca9ef77c 100644 --- a/qcsrc/server/g_world.qc +++ b/qcsrc/server/g_world.qc @@ -19,6 +19,7 @@ #include "teamplay.qh" #include "weapons/weaponstats.qh" #include "../common/constants.qh" +#include #include "../common/deathtypes/all.qh" #include "../common/mapinfo.qh" #include "../common/monsters/_mod.qh" @@ -333,6 +334,7 @@ void cvar_changes_init() BADCVAR("sv_minigames"); BADCVAR("sv_namechangetimer"); BADCVAR("sv_precacheplayermodels"); + BADCVAR("sv_stepheight"); BADCVAR("sv_timeout"); BADPREFIX("crypto_"); BADPREFIX("gameversion_"); @@ -397,6 +399,7 @@ void cvar_changes_init() BADCVAR("g_mirrordamage"); BADCVAR("g_nexball_goallimit"); BADCVAR("g_norecoil"); + BADCVAR("g_physics_clientselect"); BADCVAR("g_powerups"); BADCVAR("g_spawnshieldtime"); BADCVAR("g_start_delay"); @@ -915,7 +918,8 @@ spawnfunc(worldspawn) if(cvar_string("g_mod_config") != cvar_defstring("g_mod_config")) modname = cvar_string("g_mod_config"); // extra mutators that deserve to count as mod - MUTATOR_CALLHOOK(SetModname); + MUTATOR_CALLHOOK(SetModname, modname); + modname = M_ARGV(0, string); // save it for later modname = strzone(modname); @@ -1304,7 +1308,6 @@ When the player presses attack or jump, change to the next level void IntermissionThink(entity this) { FixIntermissionClient(this); - CSQCMODEL_AUTOUPDATE(this); // PlayerPostThink returns before calling this during intermission, so run it here float server_screenshot = (autocvar_sv_autoscreenshot && this.cvar_cl_autoscreenshot); float client_screenshot = (this.cvar_cl_autoscreenshot == 2); @@ -1492,9 +1495,6 @@ void FixIntermissionClient(entity e) e.autoscreenshot = time + 0.8; // used for autoscreenshot e.health = -2342; // first intermission phase; voting phase has positive health (used to decide whether to send SVC_FINALE or not) - e.solid = SOLID_NOT; - set_movetype(e, MOVETYPE_NONE); - e.takedamage = DAMAGE_NO; for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) { .entity weaponentity = weaponentities[slot]; @@ -1532,7 +1532,7 @@ void NextLevel() intermission_running = 1; -// enforce a wait time before allowing changelevel + // enforce a wait time before allowing changelevel if(player_count > 0) intermission_exittime = time + autocvar_sv_mapchange_delay; else @@ -1839,7 +1839,7 @@ void CheckRules_World() SetDefaultAlpha(); - if (gameover) // someone else quit the game already + if (intermission_running) // someone else quit the game already { if(player_count == 0) // Nobody there? Then let's go to the next map MapVote_Start();