X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fall.qc;h=def5003c60eed223477a5b80b618af20ac743e8b;hp=07ae7585163abd8ac4ce8954e99f395704196024;hb=a5b9bade4e12be649f913a6bebb15183feba6554;hpb=2eac09b1656b518dc804bb0882c4faddedec15e8 diff --git a/qcsrc/common/weapons/all.qc b/qcsrc/common/weapons/all.qc index 07ae75851..def5003c6 100644 --- a/qcsrc/common/weapons/all.qc +++ b/qcsrc/common/weapons/all.qc @@ -4,49 +4,52 @@ #include "all.qh" #if defined(CSQC) - #include "../../client/defs.qh" + #include #include "../constants.qh" #include "../stats.qh" - #include "../../lib/warpzone/anglestransform.qh" - #include "../../lib/warpzone/common.qh" - #include "../../lib/warpzone/client.qh" + #include + #include + #include #include "../util.qh" - #include "../../client/autocvars.qh" + #include #include "../deathtypes/all.qh" - #include "../../lib/csqcmodel/interpolate.qh" - #include "../movetypes/movetypes.qh" - #include "../../client/main.qh" - #include "../../lib/csqcmodel/cl_model.qh" + #include + #include "../physics/movetypes/movetypes.qh" + #include + #include #elif defined(MENUQC) #elif defined(SVQC) - #include "../../lib/warpzone/anglestransform.qh" - #include "../../lib/warpzone/common.qh" - #include "../../lib/warpzone/util_server.qh" - #include "../../lib/warpzone/server.qh" + #include + #include + #include + #include #include "../constants.qh" #include "../stats.qh" #include "../teams.qh" #include "../util.qh" #include "../monsters/all.qh" #include "config.qh" - #include "../../server/weapons/csqcprojectile.qh" - #include "../../server/weapons/tracing.qh" - #include "../../server/t_items.qh" - #include "../../server/autocvars.qh" - #include "../../server/constants.qh" - #include "../../server/defs.qh" - #include "../notifications.qh" + #include + #include + #include "../t_items.qh" + #include + #include + #include + #include "../notifications/all.qh" #include "../deathtypes/all.qh" - #include "../../server/mutators/all.qh" + #include #include "../mapinfo.qh" - #include "../../server/command/common.qh" - #include "../../lib/csqcmodel/sv_model.qh" - #include "../../server/portals.qh" - #include "../../server/g_hook.qh" + #include + #include + #include + #include #endif #ifndef MENUQC #include "calculations.qc" #endif +#ifdef SVQC + #include "config.qc" +#endif #define IMPLEMENTATION #include "all.inc" #undef IMPLEMENTATION @@ -191,7 +194,7 @@ string W_FixWeaponOrder_ForceComplete(string order) void W_RandomWeapons(entity e, float n) { - int i, j; + int i; WepSet remaining; WepSet result; remaining = e.weapons; @@ -199,9 +202,11 @@ void W_RandomWeapons(entity e, float n) for (i = 0; i < n; ++i) { RandomSelection_Init(); - for (j = WEP_FIRST; j <= WEP_LAST; ++j) - if (remaining & WepSet_FromWeapon(Weapons_from(j))) RandomSelection_Add(NULL, j, string_null, 1, 1); - Weapon w = Weapons_from(RandomSelection_chosen_float); + FOREACH(Weapons, it != WEP_Null, LAMBDA( + if (remaining & (it.m_wepset)) + RandomSelection_Add(it, 0, string_null, 1, 1); + )); + Weapon w = RandomSelection_chosen_ent; result |= WepSet_FromWeapon(w); remaining &= ~WepSet_FromWeapon(w); } @@ -420,13 +425,13 @@ void CL_WeaponEntity_SetModel(entity this, string name) if (!this.weaponchild) { this.weaponchild = new(weaponchild); - make_pure(this.weaponchild); #ifdef CSQC this.weaponchild.drawmask = MASK_NORMAL; this.weaponchild.renderflags |= RF_VIEWMODEL; #endif } _setmodel(this.weaponchild, W_Model(strcat("v_", name, ".md3"))); + setsize(this.weaponchild, '0 0 0', '0 0 0'); setattachment(this.weaponchild, this, t); } else @@ -435,6 +440,7 @@ void CL_WeaponEntity_SetModel(entity this, string name) this.weaponchild = NULL; } + setsize(this, '0 0 0', '0 0 0'); setorigin(this, '0 0 0'); this.angles = '0 0 0'; this.frame = 0;