]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/overkill/hmg.qh
Add a post-update mutator hook for physics stats (allows customizing the ending results)
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / overkill / hmg.qh
1 #pragma once
2
3 #include <common/weapons/all.qh>
4
5 CLASS(HeavyMachineGun, Weapon)
6 /* spawnfunc */ ATTRIB(HeavyMachineGun, m_canonical_spawnfunc, string, "weapon_hmg");
7 /* ammotype  */ ATTRIB(HeavyMachineGun, ammo_type, int, RESOURCE_BULLETS);
8 /* impulse   */ ATTRIB(HeavyMachineGun, impulse, int, 3);
9 /* flags     */ ATTRIB(HeavyMachineGun, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_HIDDEN | WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_SUPERWEAPON);
10 /* rating    */ ATTRIB(HeavyMachineGun, bot_pickupbasevalue, float, 10000);
11 /* color     */ ATTRIB(HeavyMachineGun, wpcolor, vector, '0.5 0.5 0');
12 /* modelname */ ATTRIB(HeavyMachineGun, mdl, string, "ok_hmg");
13 #ifdef GAMEQC
14 /* model     */ ATTRIB(HeavyMachineGun, m_model, Model, MDL_HMG_ITEM);
15 #endif
16 /* crosshair */ ATTRIB(HeavyMachineGun, w_crosshair, string, "gfx/crosshairuzi");
17 /* crosshair */ ATTRIB(HeavyMachineGun, w_crosshair_size, float, 0.6);
18 /* wepimg    */ ATTRIB(HeavyMachineGun, model2, string, "weaponhmg");
19 /* refname   */ ATTRIB(HeavyMachineGun, netname, string, "hmg");
20 /* wepname   */ ATTRIB(HeavyMachineGun, m_name, string, _("Heavy Machine Gun"));
21
22 #define X(BEGIN, P, END, class, prefix) \
23         BEGIN(class) \
24                 P(class, prefix, ammo, float, NONE) \
25                 P(class, prefix, damage, float, NONE) \
26                 P(class, prefix, force, float, NONE) \
27                 P(class, prefix, refire, float, NONE) \
28                 P(class, prefix, reload_ammo, float, NONE) \
29                 P(class, prefix, reload_time, float, NONE) \
30                 P(class, prefix, solidpenetration, float, NONE) \
31                 P(class, prefix, spread_add, float, NONE) \
32                 P(class, prefix, spread_max, float, NONE) \
33                 P(class, prefix, spread_min, float, NONE) \
34                 P(class, prefix, switchdelay_drop, float, NONE) \
35                 P(class, prefix, switchdelay_raise, float, NONE) \
36                 P(class, prefix, weaponreplace, string, NONE) \
37                 P(class, prefix, weaponstartoverride, float, NONE) \
38                 P(class, prefix, weaponstart, float, NONE) \
39                 P(class, prefix, weaponthrowable, float, NONE) \
40     END()
41     W_PROPS(X, HeavyMachineGun, hmg)
42 #undef X
43
44 ENDCLASS(HeavyMachineGun)
45 REGISTER_WEAPON(HMG, hmg, NEW(HeavyMachineGun));
46
47 SPAWNFUNC_WEAPON(weapon_hmg, WEP_HMG)