X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fimpulse.qc;h=6a5354aaff980cc21795ba4860291d33cb07cf44;hb=fc085ae494751c44e76760b3c65612830b9cb196;hp=89e2744c2daeaa0afe65d7fad95a64d60e54b280;hpb=9755de88ca66529c0efa49b24c50de94e6a013f5;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/impulse.qc b/qcsrc/server/impulse.qc index 89e2744c2..6a5354aaf 100644 --- a/qcsrc/server/impulse.qc +++ b/qcsrc/server/impulse.qc @@ -52,8 +52,6 @@ // weapon switching impulses -bool autocvar_g_weaponswitch_debug; - #define X(slot) \ IMPULSE(weapon_group_##slot) \ { \ @@ -66,7 +64,7 @@ bool autocvar_g_weaponswitch_debug; { \ .entity weaponentity = weaponentities[wepslot]; \ W_NextWeaponOnImpulse(this, slot, weaponentity); \ - if(wepslot == 0 && !autocvar_g_weaponswitch_debug) \ + if(wepslot == 0 && autocvar_g_weaponswitch_debug != 1) \ break; \ } \ } @@ -100,7 +98,7 @@ X(0) { \ .entity weaponentity = weaponentities[wepslot]; \ W_CycleWeapon(this, this.cvar_cl_weaponpriorities[slot], dir, weaponentity); \ - if(wepslot == 0 && !autocvar_g_weaponswitch_debug) \ + if(wepslot == 0 && autocvar_g_weaponswitch_debug != 1) \ break; \ } \ } @@ -153,7 +151,7 @@ X(9, next) { \ .entity weaponentity = weaponentities[slot]; \ W_SwitchWeapon(this, Weapons_from(WEP_FIRST + i), weaponentity); \ - if(slot == 0 && !autocvar_g_weaponswitch_debug) \ + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) \ break; \ } \ } @@ -196,7 +194,7 @@ IMPULSE(weapon_next_byid) .entity weaponentity = weaponentities[slot]; W_NextWeapon(this, 0, weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -214,7 +212,7 @@ IMPULSE(weapon_prev_byid) .entity weaponentity = weaponentities[slot]; W_PreviousWeapon(this, 0, weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -232,7 +230,7 @@ IMPULSE(weapon_next_bygroup) .entity weaponentity = weaponentities[slot]; W_NextWeapon(this, 1, weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -250,7 +248,7 @@ IMPULSE(weapon_prev_bygroup) .entity weaponentity = weaponentities[slot]; W_PreviousWeapon(this, 1, weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -268,7 +266,7 @@ IMPULSE(weapon_next_bypriority) .entity weaponentity = weaponentities[slot]; W_NextWeapon(this, 2, weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -286,7 +284,7 @@ IMPULSE(weapon_prev_bypriority) .entity weaponentity = weaponentities[slot]; W_PreviousWeapon(this, 2, weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -300,7 +298,7 @@ IMPULSE(weapon_last) .entity weaponentity = weaponentities[slot]; W_LastWeapon(this, weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -314,7 +312,7 @@ IMPULSE(weapon_best) .entity weaponentity = weaponentities[slot]; W_SwitchWeapon(this, w_getbestweapon(this, weaponentity), weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -328,7 +326,7 @@ IMPULSE(weapon_drop) .entity weaponentity = weaponentities[slot]; W_ThrowWeapon(this, weaponentity, W_CalculateProjectileVelocity(this, this.velocity, v_forward * 750, false), '0 0 0', true); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } @@ -345,14 +343,14 @@ IMPULSE(weapon_reload) Weapon w = this.(weaponentity).m_weapon; w.wr_reload(w, actor, weaponentity); - if(slot == 0 && !autocvar_g_weaponswitch_debug) + if(slot == 0 && autocvar_g_weaponswitch_debug != 1) break; } } void ImpulseCommands(entity this) { - if (gameover) return; + if (game_stopped) return; int imp = this.impulse; if (!imp) return; @@ -553,6 +551,9 @@ IMPULSE(waypoint_clear_personal) { delete(this.personal); this.personal = NULL; + + if((g_cts || g_race) && autocvar_g_allow_checkpoints) + ClientKill(this); } sprint(this, "personal waypoint cleared\n"); } @@ -564,6 +565,8 @@ IMPULSE(waypoint_clear) { delete(this.personal); this.personal = NULL; + if((g_cts || g_race) && autocvar_g_allow_checkpoints) + ClientKill(this); } sprint(this, "all waypoints cleared\n"); } @@ -640,7 +643,7 @@ IMPULSE(navwaypoint_unreachable) IL_EACH(g_spawnpoints, true, { vector org = it.origin; - tracebox(it.origin, STAT(PL_MIN, NULL), STAT(PL_MAX, NULL), it.origin - '0 0 512', MOVE_NOMONSTERS, NULL); + tracebox(it.origin, PL_MIN_CONST, PL_MAX_CONST, it.origin - '0 0 512', MOVE_NOMONSTERS, NULL); setorigin(it, trace_endpos); if (navigation_findnearestwaypoint(it, false)) {