X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fspawning.qc;h=30a2869f399f42b1887a4d7e626364a3f7b81b4e;hb=5ad35ed58c9eb8f52afd13db42f712d308d807df;hp=63bc865e29dc47bf7404474dc9234365f08999bd;hpb=c05104bde1e758c4022f9755f02f177aa0476134;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/weapons/spawning.qc b/qcsrc/server/weapons/spawning.qc index 63bc865e2..30a2869f3 100644 --- a/qcsrc/server/weapons/spawning.qc +++ b/qcsrc/server/weapons/spawning.qc @@ -1,11 +1,12 @@ #include "spawning.qh" -#include "weaponsystem.qh" -#include "../resources.qh" -#include +#include +#include #include #include -#include +#include +#include +#include .bool m_isreplaced; ///< Holds whether the weapon has been replaced. @@ -107,17 +108,27 @@ void weapon_defaultspawnfunc(entity this, Weapon wpn) this.superweapons_finished = autocvar_g_balance_superweapons_time; // if we don't already have ammo, give us some ammo + // TODO: registry handles if ((wpn.ammo_type != RES_NONE) && !GetResource(this, wpn.ammo_type)) { - switch (wpn.ammo_type) + int ammo = 0; + if (q3compat && this.count > 0) + ammo = this.count * GetAmmoConsumptionQ3(wpn.netname); + // WEAPONTODO: magazines of MG, rifle and OK weapons are unaccounted for + else { - case RES_SHELLS: SetResource(this, wpn.ammo_type, cvar("g_pickup_shells_weapon")); break; - case RES_BULLETS: SetResource(this, wpn.ammo_type, cvar("g_pickup_nails_weapon")); break; - case RES_ROCKETS: SetResource(this, wpn.ammo_type, cvar("g_pickup_rockets_weapon")); break; - case RES_CELLS: SetResource(this, wpn.ammo_type, cvar("g_pickup_cells_weapon")); break; - case RES_PLASMA: SetResource(this, wpn.ammo_type, cvar("g_pickup_plasma_weapon")); break; - case RES_FUEL: SetResource(this, wpn.ammo_type, cvar("g_pickup_fuel_weapon")); break; + switch (wpn.ammo_type) + { + case RES_SHELLS: ammo = cvar("g_pickup_shells_weapon"); break; + case RES_BULLETS: ammo = cvar("g_pickup_nails_weapon"); break; + case RES_ROCKETS: ammo = cvar("g_pickup_rockets_weapon"); break; + case RES_CELLS: ammo = cvar("g_pickup_cells_weapon"); break; + case RES_PLASMA: ammo = cvar("g_pickup_plasma_weapon"); break; + case RES_FUEL: ammo = cvar("g_pickup_fuel_weapon"); break; + } } + + SetResource(this, wpn.ammo_type, ammo); } #if 0 // WEAPONTODO