X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fselection.qc;h=d563ac2d84eb3cd01ebf85e8ac8a054c53432b5e;hp=da9b00a184e218338bad00edef85439f52f86c4f;hb=2718fac2d710f2c4e63a6de3cfe0ffc66dc7d6a3;hpb=853b6160a59c1e6f1b67af9abd43cf98d25b8625 diff --git a/qcsrc/server/weapons/selection.qc b/qcsrc/server/weapons/selection.qc index da9b00a18..d563ac2d8 100644 --- a/qcsrc/server/weapons/selection.qc +++ b/qcsrc/server/weapons/selection.qc @@ -3,10 +3,9 @@ #include "weaponsystem.qh" #include "../t_items.qh" -#include "../waypointsprites.qh" #include "../../common/constants.qh" #include "../../common/util.qh" -#include "../../common/weapons/weapons.qh" +#include "../../common/weapons/all.qh" // switch between weapons void Send_WeaponComplain(entity e, float wpn, float type) @@ -26,7 +25,7 @@ float client_hasweapon(entity cl, float wpn, float andammo, float complain) if(time < self.hasweapon_complain_spam) complain = 0; - if(wpn == WEP_HOOK && !g_grappling_hook && autocvar_g_nades && !((cl.weapons | weaponsInMap) & WepSet_FromWeapon(wpn))) + if(wpn == WEP_HOOK.m_id && !g_grappling_hook && autocvar_g_nades && !((cl.weapons | weaponsInMap) & WepSet_FromWeapon(wpn))) complain = 0; if(complain) @@ -55,7 +54,7 @@ float client_hasweapon(entity cl, float wpn, float andammo, float complain) // always allow selecting the Mine Layer if we placed mines, so that we can detonate them entity mine; - if(wpn == WEP_MINE_LAYER) + if(wpn == WEP_MINE_LAYER.m_id) for(mine = world; (mine = find(mine, classname, "mine")); ) if(mine.owner == self) f = 1; @@ -66,7 +65,7 @@ float client_hasweapon(entity cl, float wpn, float andammo, float complain) if (complain) if(IS_REAL_CLIENT(cl)) { - play2(cl, "weapons/unavailable.wav"); + play2(cl, W_Sound("unavailable")); Send_WeaponComplain (cl, wpn, 0); } return false; @@ -92,15 +91,16 @@ float client_hasweapon(entity cl, float wpn, float andammo, float complain) continue; if(!(e.flags & FL_ITEM)) continue; - WaypointSprite_Spawn( - (get_weaponinfo(wpn)).wpmodel, + entity wp = WaypointSprite_Spawn( + WP_Weapon, 1, 0, world, e.origin + ('0 0 1' * e.maxs.z) * 1.2, self, 0, world, enemy, 0, - RADARICON_NONE, '0 0 0' + RADARICON_NONE ); + wp.wp_extra = wpn; } } } @@ -109,7 +109,7 @@ float client_hasweapon(entity cl, float wpn, float andammo, float complain) Send_WeaponComplain (cl, wpn, 2); } - play2(cl, "weapons/unavailable.wav"); + play2(cl, W_Sound("unavailable")); } return false; } @@ -262,7 +262,7 @@ void W_SwitchWeapon(float imp) else self.selectweapon = imp; // update selectweapon ANYWAY } - else if(!forbidWeaponUse()) { WEP_ACTION(self.weapon, WR_RELOAD); } + else if(!forbidWeaponUse(self)) { WEP_ACTION(self.weapon, WR_RELOAD); } } void W_CycleWeapon(string weaponorder, float dir)