Xonotic
seeker.qh
Go to the documentation of this file.
1 #pragma once
2 
4 /* spawnfunc */ ATTRIB(Seeker, m_canonical_spawnfunc, string, "weapon_seeker");
5 /* ammotype */ ATTRIB(Seeker, ammo_type, Resource, RES_ROCKETS);
6 /* impulse */ ATTRIB(Seeker, impulse, int, 8);
8 /* rating */ ATTRIB(Seeker, bot_pickupbasevalue, float, 5000);
9 /* color */ ATTRIB(Seeker, wpcolor, vector, '0.5 1 0');
10 /* modelname */ ATTRIB(Seeker, mdl, string, "seeker");
11 #ifdef GAMEQC
12 /* model */ ATTRIB(Seeker, m_model, Model, MDL_SEEKER_ITEM);
13 /* flash mdl */ ATTRIB(Seeker, m_muzzlemodel, Model, MDL_Null);
14 /* flash eff */ ATTRIB(Seeker, m_muzzleeffect, entity, EFFECT_SEEKER_MUZZLEFLASH);
15 #endif
16 /* crosshair */ ATTRIB(Seeker, w_crosshair, string, "gfx/crosshairseeker");
17 /* crosshair */ ATTRIB(Seeker, w_crosshair_size, float, 0.8);
18 /* wepimg */ ATTRIB(Seeker, model2, string, "weaponseeker");
19 /* refname */ ATTRIB(Seeker, netname, string, "seeker");
20 /* wepname */ ATTRIB(Seeker, m_name, string, _("T.A.G. Seeker"));
21 
22 #define X(BEGIN, P, END, class, prefix) \
23  BEGIN(class) \
24  P(class, prefix, flac_ammo, float, NONE) \
25  P(class, prefix, flac_animtime, float, NONE) \
26  P(class, prefix, flac_damage, float, NONE) \
27  P(class, prefix, flac_edgedamage, float, NONE) \
28  P(class, prefix, flac_force, float, NONE) \
29  P(class, prefix, flac_lifetime, float, NONE) \
30  P(class, prefix, flac_lifetime_rand, float, NONE) \
31  P(class, prefix, flac_radius, float, NONE) \
32  P(class, prefix, flac_refire, float, NONE) \
33  P(class, prefix, flac_speed, float, NONE) \
34  P(class, prefix, flac_speed_up, float, NONE) \
35  P(class, prefix, flac_speed_z, float, NONE) \
36  P(class, prefix, flac_spread, float, NONE) \
37  P(class, prefix, missile_accel, float, NONE) \
38  P(class, prefix, missile_ammo, float, NONE) \
39  P(class, prefix, missile_animtime, float, NONE) \
40  P(class, prefix, missile_count, float, NONE) \
41  P(class, prefix, missile_damageforcescale, float, NONE) \
42  P(class, prefix, missile_damage, float, NONE) \
43  P(class, prefix, missile_decel, float, NONE) \
44  P(class, prefix, missile_delay, float, NONE) \
45  P(class, prefix, missile_edgedamage, float, NONE) \
46  P(class, prefix, missile_force, float, NONE) \
47  P(class, prefix, missile_health, float, NONE) \
48  P(class, prefix, missile_lifetime, float, NONE) \
49  P(class, prefix, missile_proxy, float, NONE) \
50  P(class, prefix, missile_proxy_delay, float, NONE) \
51  P(class, prefix, missile_proxy_maxrange, float, NONE) \
52  P(class, prefix, missile_radius, float, NONE) \
53  P(class, prefix, missile_refire, float, NONE) \
54  P(class, prefix, missile_smart, float, NONE) \
55  P(class, prefix, missile_smart_mindist, float, NONE) \
56  P(class, prefix, missile_smart_trace_max, float, NONE) \
57  P(class, prefix, missile_smart_trace_min, float, NONE) \
58  P(class, prefix, missile_speed, float, NONE) \
59  P(class, prefix, missile_speed_max, float, NONE) \
60  P(class, prefix, missile_speed_up, float, NONE) \
61  P(class, prefix, missile_speed_z, float, NONE) \
62  P(class, prefix, missile_spread, float, NONE) \
63  P(class, prefix, missile_turnrate, float, NONE) \
64  P(class, prefix, reload_ammo, float, NONE) \
65  P(class, prefix, reload_time, float, NONE) \
66  P(class, prefix, switchdelay_drop, float, NONE) \
67  P(class, prefix, switchdelay_raise, float, NONE) \
68  P(class, prefix, tag_ammo, float, NONE) \
69  P(class, prefix, tag_animtime, float, NONE) \
70  P(class, prefix, tag_damageforcescale, float, NONE) \
71  P(class, prefix, tag_health, float, NONE) \
72  P(class, prefix, tag_lifetime, float, NONE) \
73  P(class, prefix, tag_refire, float, NONE) \
74  P(class, prefix, tag_speed, float, NONE) \
75  P(class, prefix, tag_spread, float, NONE) \
76  P(class, prefix, tag_tracker_lifetime, float, NONE) \
77  P(class, prefix, type, float, NONE) \
78  P(class, prefix, weaponreplace, string, NONE) \
79  P(class, prefix, weaponstartoverride, float, NONE) \
80  P(class, prefix, weaponstart, float, NONE) \
81  P(class, prefix, weaponthrowable, float, NONE) \
82  END()
83  W_PROPS(X, Seeker, seeker)
84 #undef X
85 ENDCLASS(Seeker)
86 REGISTER_WEAPON(SEEKER, seeker, NEW(Seeker));
87 
88 SPAWNFUNC_WEAPON(weapon_seeker, WEP_SEEKER)
89 
90 #ifdef SVQC
91 .entity tag_target, wps_tag_tracker;
92 .float tag_time;
93 
94 IntrusiveList g_seeker_trackers;
95 STATIC_INIT(g_seeker_trackers) { g_seeker_trackers = IL_NEW(); }
96 #endif
const int WEP_FLAG_RELOADABLE
Definition: weapon.qh:201
#define NEW(cname,...)
Definition: oo.qh:105
Definition: seeker.qh:3
CLASS(Object) Object
Definition: oo.qh:318
#define IL_NEW()
entity() spawn
REGISTER_WEAPON(SEEKER, seeker, NEW(Seeker))
string netname
Definition: powerups.qc:20
#define STATIC_INIT(func)
during worldspawn
Definition: static.qh:32
float bot_pickupbasevalue
Definition: bot.qh:66
limitations: NULL cannot be present elements can only be present once a maximum of IL_MAX lists can e...
#define X(BEGIN, P, END, class, prefix)
Definition: seeker.qh:22
const int WEP_TYPE_SPLASH
Definition: weapon.qh:196
float impulse
Definition: progsdefs.qc:158
float spawnflags
Definition: progsdefs.qc:191
#define ATTRIB(...)
Definition: oo.qh:136
Definition: model.qh:3
vector(float skel, float bonenum) _skel_get_boneabs_hidden
#define SPAWNFUNC_WEAPON(name, weapon)
Definition: weapon.qh:143
#define ENDCLASS(cname)
Definition: oo.qh:269
const int WEP_FLAG_MUTATORBLOCKED
Definition: weapon.qh:203
fields which are explicitly/manually set are marked with "M", fields set automatically are marked wit...
Definition: weapon.qh:41
#define W_PROPS(L, class, prefix)
Definition: all.qh:163
string m_name
Definition: scores.qh:135