X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fthrowing.qc;h=aecaafb1854111d7aa7b271f5c670ec2742b9069;hb=e72ae8623dbd67dc7d85ed16fa4a18dd75663629;hp=2d5a83118ea6cc3ca0256f36eea468666a42cb24;hpb=3adaa0873ad9eac20f32e6e3fc0455d4f9e044cd;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/weapons/throwing.qc b/qcsrc/server/weapons/throwing.qc index 2d5a83118..aecaafb18 100644 --- a/qcsrc/server/weapons/throwing.qc +++ b/qcsrc/server/weapons/throwing.qc @@ -1,3 +1,21 @@ +#if defined(CSQC) +#elif defined(MENUQC) +#elif defined(SVQC) + #include "../../dpdefs/progsdefs.qh" + #include "../../dpdefs/dpextensions.qh" + #include "../../common/util.qh" + #include "../../common/weapons/weapons.qh" + #include "throwing.qh" + #include "weaponsystem.qh" + #include "../t_items.qh" + #include "../autocvars.qh" + #include "../constants.qh" + #include "../defs.qh" + #include "../../common/notifications.qh" + #include "../mutators/mutators_include.qh" + #include "../../common/mapinfo.qh" +#endif + void thrown_wep_think() { self.nextthink = time; @@ -22,7 +40,7 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto entity oldself, wep; float thisammo, i; string s; - var .float ammotype = (get_weaponinfo(wpn)).ammo_field; + var .int ammotype = (get_weaponinfo(wpn)).ammo_field; wep = spawn(); @@ -33,6 +51,8 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto wep.flags |= FL_TOSSED; wep.colormap = own.colormap; + W_DropEvent(WR_DROP,own,wpn,wep); + if(WepSet_FromWeapon(wpn) & WEPSET_SUPERWEAPONS) { if(own.items & IT_UNLIMITED_SUPERWEAPONS) @@ -71,8 +91,8 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto wep.think = thrown_wep_think; wep.savenextthink = wep.nextthink; wep.nextthink = min(wep.nextthink, time + 0.5); - wep.pickup_anyway = TRUE; // these are ALWAYS pickable - + wep.pickup_anyway = true; // these are ALWAYS pickable + //wa = W_AmmoItemCode(wpn); if(ammotype == ammo_none) { @@ -174,7 +194,7 @@ void W_ThrowWeapon(vector velo, vector delta, float doreduce) W_SwitchWeapon_Force(self, w_getbestweapon(self)); a = W_ThrowNewWeapon(self, w, doreduce, self.origin + delta, velo); - + if(!a) return; Send_Notification(NOTIF_ONE, self, MSG_MULTI, ITEM_WEAPON_DROP, a, w); } @@ -183,5 +203,5 @@ void SpawnThrownWeapon(vector org, float w) { if(self.weapons & WepSet_FromWeapon(self.weapon)) if(W_IsWeaponThrowable(self.weapon)) - W_ThrowNewWeapon(self, self.weapon, FALSE, org, randomvec() * 125 + '0 0 200'); + W_ThrowNewWeapon(self, self.weapon, false, org, randomvec() * 125 + '0 0 200'); }