X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fweapons.qc;h=baf6adb617dbcac3c52cfa669d09d391bdd4c0a5;hb=0d7a9455ff2952962ab9119c4a4960166ccefda0;hp=9ec3b7ec0bac0cda0ea2c850350f48440bd6ffaf;hpb=e5b19c10513176fc9af718fbd627218570c7069d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/weapons.qc b/qcsrc/common/weapons/weapons.qc index 9ec3b7ec0..baf6adb61 100644 --- a/qcsrc/common/weapons/weapons.qc +++ b/qcsrc/common/weapons/weapons.qc @@ -74,7 +74,18 @@ WepSet ReadWepSet() } #endif -void register_weapon(float id, WepSet bit, float(float) func, .float ammotype, float i, float weapontype, float pickupbasevalue, string modelname, string shortname, string wname) +void register_weapon( + float id, + WepSet bit, + float(float) func, + .float ammotype, + float i, + float weapontype, + float pickupbasevalue, + vector clr, + string modelname, + string shortname, + string wname) { entity e; weapon_info[id - 1] = e = spawn(); @@ -83,15 +94,15 @@ void register_weapon(float id, WepSet bit, float(float) func, .float ammotype, f e.weapons = bit; e.netname = shortname; e.message = wname; - //e.items = ammotype; e.weapon_func = func; + e.wpcolor = clr; e.mdl = modelname; e.model = strzone(strcat("models/weapons/g_", modelname, ".md3")); e.spawnflags = weapontype; - e.model2 = strzone(strcat("wpn-", e.mdl)); + e.model2 = strzone(strcat("wpn-", ftos(id))); e.impulse = i; e.bot_pickupbasevalue = pickupbasevalue; - e.current_ammo = ammotype; + e.ammo_field = ammotype; #ifndef MENUQC func(WR_INIT); @@ -109,7 +120,6 @@ void register_weapons_done() dummy_weapon_info.weapons = '0 0 0'; dummy_weapon_info.netname = ""; dummy_weapon_info.message = "AOL CD Thrower"; - //dummy_weapon_info.items = 0; dummy_weapon_info.weapon_func = w_null; dummy_weapon_info.mdl = ""; dummy_weapon_info.model = ""; @@ -117,7 +127,7 @@ void register_weapons_done() dummy_weapon_info.model2 = ""; dummy_weapon_info.impulse = -1; dummy_weapon_info.bot_pickupbasevalue = 0; - dummy_weapon_info.current_ammo = ammo_broken; + dummy_weapon_info.ammo_field = ammo_none; float i; weaponorder_byid = ""; @@ -239,12 +249,43 @@ void W_RandomWeapons(entity e, float n) e.weapons = result; } -string W_Name(float weaponid) +#ifdef CSQC +.float GetAmmoFieldFromNum(float i) { - return (get_weaponinfo(weaponid)).message; + switch(i) + { + case 0: return ammo_shells; + case 1: return ammo_nails; + case 2: return ammo_rockets; + case 3: return ammo_cells; + case 4: return ammo_fuel; + default: return ammo_none; + } } -float W_AmmoItemCode(float wpn) +string GetAmmoPicture(.float ammotype) { - return (get_weaponinfo(wpn)).items & IT_AMMO; // WEAPONTODO + switch(ammotype) + { + case ammo_shells: return "ammo_shells"; + case ammo_nails: return "ammo_nails"; + case ammo_rockets: return "ammo_rockets"; + case ammo_cells: return "ammo_cells"; + case ammo_fuel: return "ammo_fuel"; + default: return ""; // wtf, no ammo type? + } } + +float GetAmmoStat(.float ammotype) +{ + switch(ammotype) + { + case ammo_shells: return STAT_SHELLS; + case ammo_nails: return STAT_NAILS; + case ammo_rockets: return STAT_ROCKETS; + case ammo_cells: return STAT_CELLS; + case ammo_fuel: return STAT_FUEL; + default: return -1; + } +} +#endif