Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
seeker.qh
Go to the documentation of this file.
1#pragma once
2
3#ifdef GAMEQC
4MODEL(SEEKER_VIEW, W_Model("h_seeker.iqm"));
5MODEL(SEEKER_WORLD, W_Model("v_seeker.md3"));
6MODEL(SEEKER_ITEM, W_Model("g_seeker.md3"));
7
8SOUND(SEEKER_FLAC_FIRE, W_Sound("flac_fire"));
9SOUND(TAGEXP1, W_Sound("tagexp1"));
10SOUND(TAGEXP2, W_Sound("tagexp2"));
11SOUND(TAGEXP3, W_Sound("tagexp3"));
13{
14 return REGISTRY_GET(Sounds, SND_TAGEXP1.m_id + rint(rnd * 2));
15}
16SOUND(TAG_FIRE, W_Sound("tag_fire"));
17SOUND(TAG_IMPACT, W_Sound("tag_impact"));
18SOUND(SEEKEREXP1, W_Sound("seekerexp1"));
19SOUND(SEEKEREXP2, W_Sound("seekerexp2"));
20SOUND(SEEKEREXP3, W_Sound("seekerexp3"));
22{
23 return REGISTRY_GET(Sounds, SND_SEEKEREXP1.m_id + rint(rnd * 2));
24}
25SOUND(SEEKER_FIRE, W_Sound("seeker_fire"));
26SOUND(SEEKER_ROCKET_FLY, W_Sound("tag_rocket_fly"));
27#endif
28
30#ifdef SVQC
31/* spawnfunc */ ATTRIB(Seeker, m_canonical_spawnfunc, string, "weapon_seeker");
32/* rating */ ATTRIB(Seeker, bot_pickupbasevalue, float, 5000);
33#endif
34/* ammotype */ ATTRIB(Seeker, ammo_type, Resource, RES_ROCKETS);
35/* impulse */ ATTRIB(Seeker, impulse, int, 8);
37/* color */ ATTRIB(Seeker, m_color, vector, '0.957 0.439 0.533');
38#ifdef GAMEQC
39/* modelname */ ATTRIB(Seeker, mdl, string, "seeker");
40/* model */ ATTRIB(Seeker, m_model, Model, MDL_SEEKER_ITEM);
41/* flash mdl */ ATTRIB(Seeker, m_muzzlemodel, Model, MDL_Null);
42/* flash eff */ ATTRIB(Seeker, m_muzzleeffect, entity, EFFECT_SEEKER_MUZZLEFLASH);
43#endif
44#ifdef CSQC
45/* crosshair */ ATTRIB(Seeker, w_crosshair, string, "gfx/crosshairseeker");
46/* crosshair */ ATTRIB(Seeker, w_crosshair_size, float, 0.8);
47#endif
48/* wepimg */ ATTRIB(Seeker, model2, string, "weaponseeker");
49/* refname */ ATTRIB(Seeker, netname, string, "seeker");
50/* wepname */ ATTRIB(Seeker, m_name, string, _("T.A.G. Seeker"));
51
52#define X(BEGIN, P, END, class, prefix) \
53 BEGIN(class) \
54 P(class, prefix, flac_ammo, float, NONE) \
55 P(class, prefix, flac_animtime, float, NONE) \
56 P(class, prefix, flac_damage, float, NONE) \
57 P(class, prefix, flac_edgedamage, float, NONE) \
58 P(class, prefix, flac_force, float, NONE) \
59 P(class, prefix, flac_lifetime, float, NONE) \
60 P(class, prefix, flac_lifetime_rand, float, NONE) \
61 P(class, prefix, flac_radius, float, NONE) \
62 P(class, prefix, flac_refire, float, NONE) \
63 P(class, prefix, flac_speed, float, NONE) \
64 P(class, prefix, flac_speed_up, float, NONE) \
65 P(class, prefix, flac_speed_z, float, NONE) \
66 P(class, prefix, flac_spread, float, NONE) \
67 P(class, prefix, missile_accel, float, NONE) \
68 P(class, prefix, missile_ammo, float, NONE) \
69 P(class, prefix, missile_animtime, float, NONE) \
70 P(class, prefix, missile_count, float, NONE) \
71 P(class, prefix, missile_damageforcescale, float, NONE) \
72 P(class, prefix, missile_damage, float, NONE) \
73 P(class, prefix, missile_decel, float, NONE) \
74 P(class, prefix, missile_delay, float, NONE) \
75 P(class, prefix, missile_edgedamage, float, NONE) \
76 P(class, prefix, missile_force, float, NONE) \
77 P(class, prefix, missile_health, float, NONE) \
78 P(class, prefix, missile_lifetime, float, NONE) \
79 P(class, prefix, missile_proxy, float, NONE) \
80 P(class, prefix, missile_proxy_delay, float, NONE) \
81 P(class, prefix, missile_proxy_maxrange, float, NONE) \
82 P(class, prefix, missile_radius, float, NONE) \
83 P(class, prefix, missile_refire, float, NONE) \
84 P(class, prefix, missile_smart, float, NONE) \
85 P(class, prefix, missile_smart_mindist, float, NONE) \
86 P(class, prefix, missile_smart_trace_max, float, NONE) \
87 P(class, prefix, missile_smart_trace_min, float, NONE) \
88 P(class, prefix, missile_speed, float, NONE) \
89 P(class, prefix, missile_speed_max, float, NONE) \
90 P(class, prefix, missile_speed_up, float, NONE) \
91 P(class, prefix, missile_speed_z, float, NONE) \
92 P(class, prefix, missile_spread, float, NONE) \
93 P(class, prefix, missile_turnrate, float, NONE) \
94 P(class, prefix, pickup_ammo, float, NONE) \
95 P(class, prefix, reload_ammo, float, NONE) \
96 P(class, prefix, reload_time, float, NONE) \
97 P(class, prefix, switchdelay_drop, float, NONE) \
98 P(class, prefix, switchdelay_raise, float, NONE) \
99 P(class, prefix, tag_ammo, float, NONE) \
100 P(class, prefix, tag_animtime, float, NONE) \
101 P(class, prefix, tag_damageforcescale, float, NONE) \
102 P(class, prefix, tag_health, float, NONE) \
103 P(class, prefix, tag_lifetime, float, NONE) \
104 P(class, prefix, tag_refire, float, NONE) \
105 P(class, prefix, tag_speed, float, NONE) \
106 P(class, prefix, tag_spread, float, NONE) \
107 P(class, prefix, tag_tracker_lifetime, float, NONE) \
108 P(class, prefix, type, float, NONE) \
109 P(class, prefix, weaponreplace, string, NONE) \
110 P(class, prefix, weaponstartoverride, float, NONE) \
111 P(class, prefix, weaponstart, float, NONE) \
112 P(class, prefix, weaponthrowable, float, NONE) \
113 END()
114 W_PROPS(X, Seeker, seeker)
115#undef X
116
119
120SPAWNFUNC_WEAPON(weapon_seeker, WEP_SEEKER)
121
122#ifdef SVQC
124.float tag_time;
125
131#endif
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
limitations: NULL cannot be present elements can only be present once a maximum of IL_MAX lists can e...
Definition model.qh:3
string mdl
Definition seeker.qh:39
Model m_muzzlemodel
Definition seeker.qh:41
int impulse
Definition seeker.qh:35
string m_name
Definition seeker.qh:50
float w_crosshair_size
Definition seeker.qh:46
entity m_muzzleeffect
Definition seeker.qh:42
string w_crosshair
Definition seeker.qh:45
string model2
Definition seeker.qh:48
float bot_pickupbasevalue
Definition seeker.qh:32
string netname
Definition seeker.qh:49
vector m_color
Definition seeker.qh:37
string m_canonical_spawnfunc
Definition seeker.qh:31
int spawnflags
Definition seeker.qh:36
Resource ammo_type
Definition seeker.qh:34
Model m_model
Definition seeker.qh:40
fields which are explicitly/manually set are marked with "M", fields set automatically are marked wit...
Definition weapon.qh:42
#define X()
#define IL_NEW()
float rint(float f)
string W_Model(string w_mdl)
Definition all.qc:233
#define MODEL(name, path)
Definition all.qh:8
#define NEW(cname,...)
Definition oo.qh:117
#define CLASS(...)
Definition oo.qh:145
#define ENDCLASS(cname)
Definition oo.qh:281
#define ATTRIB(...)
Definition oo.qh:148
#define REGISTRY_GET(id, i)
Definition registry.qh:43
Sound SND_SEEKEREXP_RANDOM(float rnd)
Definition seeker.qh:21
entity tag_target
Definition seeker.qh:123
Sound SND_TAGEXP_RANDOM(float rnd)
Definition seeker.qh:12
IntrusiveList g_seeker_trackers
Definition seeker.qh:126
float tag_time
Definition seeker.qh:124
entity wps_tag_tracker
Definition seeker.qh:123
vector
Definition self.qh:92
string W_Sound(string w_snd)
Definition all.qc:226
#define SOUND(name, path)
Definition all.qh:30
#define STATIC_INIT(func)
during worldspawn
Definition static.qh:32
#define W_PROPS(L, class, prefix)
Definition all.qh:188
#define REGISTER_WEAPON(id, inst)
Definition all.qh:136
const int WEP_FLAG_RELOADABLE
Definition weapon.qh:259
const int WEP_TYPE_SPLASH
Definition weapon.qh:254
const int WEP_FLAG_MUTATORBLOCKED
Definition weapon.qh:261
#define SPAWNFUNC_WEAPON(name, weapon)
Definition weapon.qh:191