X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fsv_main.qc;h=d2cc9b960b650dbcdab5fdeb39e616c7e44a3cb0;hb=088f49dac75e47b7a9dff3639ec702025ee8d984;hp=68e7b375b507a09051f3607114f60d14cd9da0f2;hpb=e520d4b32e53462b9e22a2a923f6ba2fe2909226;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/sv_main.qc b/qcsrc/server/sv_main.qc index 68e7b375b..d2cc9b960 100644 --- a/qcsrc/server/sv_main.qc +++ b/qcsrc/server/sv_main.qc @@ -88,7 +88,6 @@ void CreatureFrame_Liquids(entity this) this.dmgtime = 0; } this.air_finished = time + 12; - this.dmg = 2; } } @@ -127,6 +126,9 @@ void CreatureFrame_FallDamage(entity this) void CreatureFrame_All() { + if(game_stopped || time < game_starttime) + return; + IL_EACH(g_damagedbycontents, it.damagedbycontents, { if (it.move_movetype == MOVETYPE_NOCLIP) continue; @@ -217,8 +219,6 @@ void StartFrame() if (timeout_status == TIMEOUT_LEADTIME) // just before the timeout (when timeout_status will be TIMEOUT_ACTIVE) orig_slowmo = autocvar_slowmo; // slowmo will be restored after the timeout - skill = autocvar_skill; - // detect when the pre-game countdown (if any) has ended and the game has started bool game_delay = (time < game_starttime); if (autocvar_sv_eventlog && game_delay_last && !game_delay) @@ -320,8 +320,6 @@ bool expr_evaluate(string s) void SV_OnEntityPreSpawnFunction(entity this) { - __spawnfunc_expecting = true; - __spawnfunc_expect = this; if (this) if (this.gametypefilter != "") if (!isGametypeInFilter(MapInfo_LoadedGametype, teamplay, have_team_spawns, this.gametypefilter)) @@ -363,12 +361,14 @@ void SV_OnEntityPreSpawnFunction(entity this) return; LABEL(cleanup) builtin_remove(this); - __spawnfunc_expecting = false; } void WarpZone_PostInitialize_Callback() { // create waypoint links for warpzones + entity tracetest_ent = spawn(); + setsize(tracetest_ent, PL_MIN_CONST, PL_MAX_CONST); + tracetest_ent.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_PLAYERCLIP | DPCONTENTS_BOTCLIP; //for(entity e = warpzone_first; e; e = e.warpzone_next) for(entity e = NULL; (e = find(e, classname, "trigger_warpzone")); ) { @@ -379,6 +379,7 @@ void WarpZone_PostInitialize_Callback() dst = (e.enemy.absmin + e.enemy.absmax) * 0.5; makevectors(e.enemy.warpzone_angles); dst = dst + ((e.enemy.warpzone_origin - dst) * v_forward) * v_forward - 16 * v_right; - waypoint_spawnforteleporter_v(e, src, dst, 0); + waypoint_spawnforteleporter_wz(e, src, dst, 0, -v_up, tracetest_ent); } + delete(tracetest_ent); }