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 return REGISTRY_GET(Sounds, SND_TAGEXP1.m_id + rint(rnd * 2));
14}
15SOUND(TAG_FIRE, W_Sound("tag_fire"));
16SOUND(TAG_IMPACT, W_Sound("tag_impact"));
17SOUND(SEEKEREXP1, W_Sound("seekerexp1"));
18SOUND(SEEKEREXP2, W_Sound("seekerexp2"));
19SOUND(SEEKEREXP3, W_Sound("seekerexp3"));
21 return REGISTRY_GET(Sounds, SND_SEEKEREXP1.m_id + rint(rnd * 2));
22}
23SOUND(SEEKER_FIRE, W_Sound("seeker_fire"));
24SOUND(SEEKER_ROCKET_FLY, W_Sound("tag_rocket_fly"));
25#endif
26
28/* spawnfunc */ ATTRIB(Seeker, m_canonical_spawnfunc, string, "weapon_seeker");
29/* ammotype */ ATTRIB(Seeker, ammo_type, Resource, RES_ROCKETS);
30/* impulse */ ATTRIB(Seeker, impulse, int, 8);
32/* rating */ ATTRIB(Seeker, bot_pickupbasevalue, float, 5000);
33/* color */ ATTRIB(Seeker, m_color, vector, '0.957 0.439 0.533');
34/* modelname */ ATTRIB(Seeker, mdl, string, "seeker");
35#ifdef GAMEQC
36/* model */ ATTRIB(Seeker, m_model, Model, MDL_SEEKER_ITEM);
37/* flash mdl */ ATTRIB(Seeker, m_muzzlemodel, Model, MDL_Null);
38/* flash eff */ ATTRIB(Seeker, m_muzzleeffect, entity, EFFECT_SEEKER_MUZZLEFLASH);
39#endif
40/* crosshair */ ATTRIB(Seeker, w_crosshair, string, "gfx/crosshairseeker");
41/* crosshair */ ATTRIB(Seeker, w_crosshair_size, float, 0.8);
42/* wepimg */ ATTRIB(Seeker, model2, string, "weaponseeker");
43/* refname */ ATTRIB(Seeker, netname, string, "seeker");
44/* wepname */ ATTRIB(Seeker, m_name, string, _("T.A.G. Seeker"));
45
46#define X(BEGIN, P, END, class, prefix) \
47 BEGIN(class) \
48 P(class, prefix, flac_ammo, float, NONE) \
49 P(class, prefix, flac_animtime, float, NONE) \
50 P(class, prefix, flac_damage, float, NONE) \
51 P(class, prefix, flac_edgedamage, float, NONE) \
52 P(class, prefix, flac_force, float, NONE) \
53 P(class, prefix, flac_lifetime, float, NONE) \
54 P(class, prefix, flac_lifetime_rand, float, NONE) \
55 P(class, prefix, flac_radius, float, NONE) \
56 P(class, prefix, flac_refire, float, NONE) \
57 P(class, prefix, flac_speed, float, NONE) \
58 P(class, prefix, flac_speed_up, float, NONE) \
59 P(class, prefix, flac_speed_z, float, NONE) \
60 P(class, prefix, flac_spread, float, NONE) \
61 P(class, prefix, missile_accel, float, NONE) \
62 P(class, prefix, missile_ammo, float, NONE) \
63 P(class, prefix, missile_animtime, float, NONE) \
64 P(class, prefix, missile_count, float, NONE) \
65 P(class, prefix, missile_damageforcescale, float, NONE) \
66 P(class, prefix, missile_damage, float, NONE) \
67 P(class, prefix, missile_decel, float, NONE) \
68 P(class, prefix, missile_delay, float, NONE) \
69 P(class, prefix, missile_edgedamage, float, NONE) \
70 P(class, prefix, missile_force, float, NONE) \
71 P(class, prefix, missile_health, float, NONE) \
72 P(class, prefix, missile_lifetime, float, NONE) \
73 P(class, prefix, missile_proxy, float, NONE) \
74 P(class, prefix, missile_proxy_delay, float, NONE) \
75 P(class, prefix, missile_proxy_maxrange, float, NONE) \
76 P(class, prefix, missile_radius, float, NONE) \
77 P(class, prefix, missile_refire, float, NONE) \
78 P(class, prefix, missile_smart, float, NONE) \
79 P(class, prefix, missile_smart_mindist, float, NONE) \
80 P(class, prefix, missile_smart_trace_max, float, NONE) \
81 P(class, prefix, missile_smart_trace_min, float, NONE) \
82 P(class, prefix, missile_speed, float, NONE) \
83 P(class, prefix, missile_speed_max, float, NONE) \
84 P(class, prefix, missile_speed_up, float, NONE) \
85 P(class, prefix, missile_speed_z, float, NONE) \
86 P(class, prefix, missile_spread, float, NONE) \
87 P(class, prefix, missile_turnrate, float, NONE) \
88 P(class, prefix, pickup_ammo, float, NONE) \
89 P(class, prefix, reload_ammo, float, NONE) \
90 P(class, prefix, reload_time, float, NONE) \
91 P(class, prefix, switchdelay_drop, float, NONE) \
92 P(class, prefix, switchdelay_raise, float, NONE) \
93 P(class, prefix, tag_ammo, float, NONE) \
94 P(class, prefix, tag_animtime, float, NONE) \
95 P(class, prefix, tag_damageforcescale, float, NONE) \
96 P(class, prefix, tag_health, float, NONE) \
97 P(class, prefix, tag_lifetime, float, NONE) \
98 P(class, prefix, tag_refire, float, NONE) \
99 P(class, prefix, tag_speed, float, NONE) \
100 P(class, prefix, tag_spread, float, NONE) \
101 P(class, prefix, tag_tracker_lifetime, float, NONE) \
102 P(class, prefix, type, float, NONE) \
103 P(class, prefix, weaponreplace, string, NONE) \
104 P(class, prefix, weaponstartoverride, float, NONE) \
105 P(class, prefix, weaponstart, float, NONE) \
106 P(class, prefix, weaponthrowable, float, NONE) \
107 END()
108 W_PROPS(X, Seeker, seeker)
109#undef X
110
113
114SPAWNFUNC_WEAPON(weapon_seeker, WEP_SEEKER)
115
116#ifdef SVQC
118.float tag_time;
119
122#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:34
Model m_muzzlemodel
Definition seeker.qh:37
int impulse
Definition seeker.qh:30
string m_name
Definition seeker.qh:44
float w_crosshair_size
Definition seeker.qh:41
entity m_muzzleeffect
Definition seeker.qh:38
string w_crosshair
Definition seeker.qh:40
string model2
Definition seeker.qh:42
float bot_pickupbasevalue
Definition seeker.qh:32
string netname
Definition seeker.qh:43
vector m_color
Definition seeker.qh:33
string m_canonical_spawnfunc
Definition seeker.qh:28
int spawnflags
Definition seeker.qh:31
Resource ammo_type
Definition seeker.qh:29
Model m_model
Definition seeker.qh:36
fields which are explicitly/manually set are marked with "M", fields set automatically are marked wit...
Definition weapon.qh:44
ATTRIB(Weapon, m_canonical_spawnfunc, string)
the canonical spawnfunc name
#define X()
#define IL_NEW()
float rint(float f)
string W_Model(string w_mdl)
Definition all.qc:232
#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:20
entity tag_target
Definition seeker.qh:117
Sound SND_TAGEXP_RANDOM(float rnd)
Definition seeker.qh:12
IntrusiveList g_seeker_trackers
Definition seeker.qh:120
float tag_time
Definition seeker.qh:118
entity wps_tag_tracker
Definition seeker.qh:117
vector
Definition self.qh:92
string W_Sound(string w_snd)
Definition all.qc:225
#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:179
#define REGISTER_WEAPON(id, inst)
Definition all.qh:136
const int WEP_FLAG_RELOADABLE
Definition weapon.qh:217
const int WEP_TYPE_SPLASH
Definition weapon.qh:212
const int WEP_FLAG_MUTATORBLOCKED
Definition weapon.qh:219
#define SPAWNFUNC_WEAPON(name, weapon)
Definition weapon.qh:150