X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fimpulse.qc;h=49685d49d7ec088c9a3a5a83c993dadbb7f89bbf;hb=909bca4321ebb4211612f8099c2865e1c6787415;hp=5d71b95afa829d84ba7885516b458a92d40a3dd2;hpb=ba7c5c7aa1351282377f6c4afc4653a130409255;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/impulse.qc b/qcsrc/server/impulse.qc index 5d71b95af..49685d49d 100644 --- a/qcsrc/server/impulse.qc +++ b/qcsrc/server/impulse.qc @@ -1,8 +1,6 @@ #include "impulse.qh" #include "round_handler.qh" -#include "bot/api.qh" - #include "weapons/throwing.qh" #include "command/common.qh" #include "cheats.qh" @@ -53,19 +51,19 @@ // weapon switching impulses -#define X(slot) \ - IMPULSE(weapon_group_##slot) \ +#define X(i) \ + IMPULSE(weapon_group_##i) \ { \ if (IS_DEAD(this)) \ { \ - this.impulse = IMP_weapon_group_##slot.impulse; \ + this.impulse = IMP_weapon_group_##i.impulse; \ return; \ } \ - for(int wepslot = 0; wepslot < MAX_WEAPONSLOTS; ++wepslot) \ + for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) \ { \ - .entity weaponentity = weaponentities[wepslot]; \ - W_NextWeaponOnImpulse(this, slot, weaponentity); \ - if(wepslot == 0 && autocvar_g_weaponswitch_debug != 1) \ + .entity weaponentity = weaponentities[slot]; \ + W_NextWeaponOnImpulse(this, i, weaponentity); \ + if(autocvar_g_weaponswitch_debug != 1) \ break; \ } \ } @@ -83,23 +81,23 @@ X(0) // custom order weapon cycling -#define X(slot, dir) \ - IMPULSE(weapon_priority_##slot##_##dir) \ +#define X(i, dir) \ + IMPULSE(weapon_priority_##i##_##dir) \ { \ if (this.vehicle) return; \ if (IS_DEAD(this)) \ { \ - this.impulse = IMP_weapon_priority_##slot##_##dir.impulse; \ + this.impulse = IMP_weapon_priority_##i##_##dir.impulse; \ return; \ } \ noref int prev = -1; \ noref int best = 0; \ noref int next = +1; \ - for(int wepslot = 0; wepslot < MAX_WEAPONSLOTS; ++wepslot) \ + for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) \ { \ - .entity weaponentity = weaponentities[wepslot]; \ - W_CycleWeapon(this, CS(this).cvar_cl_weaponpriorities[slot], dir, weaponentity); \ - if(wepslot == 0 && autocvar_g_weaponswitch_debug != 1) \ + .entity weaponentity = weaponentities[slot]; \ + W_CycleWeapon(this, CS(this).cvar_cl_weaponpriorities[i], dir, weaponentity); \ + if(autocvar_g_weaponswitch_debug != 1) \ break; \ } \ } @@ -151,8 +149,8 @@ X(9, next) for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) \ { \ .entity weaponentity = weaponentities[slot]; \ - W_SwitchWeapon(this, Weapons_from(WEP_FIRST + i), weaponentity); \ - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) \ + W_SwitchWeapon_TryOthers(this, Weapons_from(WEP_FIRST + i), weaponentity); \ + if(autocvar_g_weaponswitch_debug != 1) \ break; \ } \ } @@ -195,7 +193,7 @@ IMPULSE(weapon_next_byid) .entity weaponentity = weaponentities[slot]; W_NextWeapon(this, 0, weaponentity); - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -213,7 +211,7 @@ IMPULSE(weapon_prev_byid) .entity weaponentity = weaponentities[slot]; W_PreviousWeapon(this, 0, weaponentity); - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -231,7 +229,7 @@ IMPULSE(weapon_next_bygroup) .entity weaponentity = weaponentities[slot]; W_NextWeapon(this, 1, weaponentity); - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -249,7 +247,7 @@ IMPULSE(weapon_prev_bygroup) .entity weaponentity = weaponentities[slot]; W_PreviousWeapon(this, 1, weaponentity); - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -267,7 +265,7 @@ IMPULSE(weapon_next_bypriority) .entity weaponentity = weaponentities[slot]; W_NextWeapon(this, 2, weaponentity); - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -285,7 +283,7 @@ IMPULSE(weapon_prev_bypriority) .entity weaponentity = weaponentities[slot]; W_PreviousWeapon(this, 2, weaponentity); - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -299,7 +297,7 @@ IMPULSE(weapon_last) .entity weaponentity = weaponentities[slot]; W_LastWeapon(this, weaponentity); - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -313,7 +311,7 @@ IMPULSE(weapon_best) .entity weaponentity = weaponentities[slot]; W_SwitchWeapon(this, w_getbestweapon(this, weaponentity), weaponentity); - if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -327,7 +325,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 != 1) + if(autocvar_g_weaponswitch_debug != 1) break; } } @@ -336,7 +334,7 @@ IMPULSE(weapon_reload) { if (this.vehicle) return; if (IS_DEAD(this)) return; - if (forbidWeaponUse(this)) return; + if (weaponLocked(this)) return; entity actor = this; for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) { @@ -345,7 +343,7 @@ IMPULSE(weapon_reload) w.wr_reload(w, actor, weaponentity); // allow reloading all active slots? - //if(slot == 0 && autocvar_g_weaponswitch_debug != 1) + //if(autocvar_g_weaponswitch_debug != 1) //break; } } @@ -509,7 +507,7 @@ IMPULSE(waypoint_here_here) IMPULSE(waypoint_here_crosshair) { - WarpZone_crosshair_trace(this); + WarpZone_crosshair_trace_plusvisibletriggers(this); entity wp = WaypointSprite_DeployFixed(WP_Here, false, this, trace_endpos, RADARICON_HERE); if (wp) WaypointSprite_Ping(wp); sprint(this, "HERE spawned at crosshair\n"); @@ -572,33 +570,3 @@ IMPULSE(waypoint_clear) } sprint(this, "all waypoints cleared\n"); } - -IMPULSE(navwaypoint_spawn) -{ - if (!autocvar_g_waypointeditor) return; - waypoint_spawn_fromeditor(this); -} - -IMPULSE(navwaypoint_remove) -{ - if (!autocvar_g_waypointeditor) return; - waypoint_remove_fromeditor(this); -} - -IMPULSE(navwaypoint_relink) -{ - if (!autocvar_g_waypointeditor) return; - waypoint_schedulerelinkall(); -} - -IMPULSE(navwaypoint_save) -{ - if (!autocvar_g_waypointeditor) return; - waypoint_saveall(); -} - -IMPULSE(navwaypoint_unreachable) -{ - if (!autocvar_g_waypointeditor) return; - waypoint_unreachable(this); -}