Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
health.qh
Go to the documentation of this file.
1#pragma once
2
3#include "pickup.qh"
5/* color */ ATTRIB(Health, m_color, vector, '1 0 0');
6#ifdef SVQC
7/* pickupfunc */ ATTRIB(Health, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
8/* botvalue */ ATTRIB(Health, m_botvalue, int, 5000);
9#endif
11
12#ifdef SVQC
13 #include <server/items/items.qh>
14#endif
15
16// small health
17#ifdef GAMEQC
18MODEL(HealthSmall_ITEM, Item_Model("g_h1.md3"));
20#endif
21#ifdef SVQC
28{
29 if(!item.max_health)
30 item.max_health = autocvar_g_pickup_healthsmall_max;
31 if(!GetResource(item, RES_HEALTH))
32 SetResourceExplicit(item, RES_HEALTH, q3compat && item.count ? item.count : autocvar_g_pickup_healthsmall);
33}
34#endif
35
37/* spawnfunc */ ATTRIB(HealthSmall, m_canonical_spawnfunc, string, "item_health_small");
38#ifdef GAMEQC
40/* model */ ATTRIB(HealthSmall, m_model, Model, MDL_HealthSmall_ITEM);
41/* sound */ ATTRIB(HealthSmall, m_sound, Sound, SND_HealthSmall);
42#endif
43/* refname */ ATTRIB(HealthSmall, netname, string, "health_small");
44/* itemname */ ATTRIB(HealthSmall, m_name, string, _("Small health"));
45/* icon */ ATTRIB(HealthSmall, m_icon, string, // ...
46#ifdef CSQC
47 (precache_pic(strcat("gfx/hud/luma/", "health_small")) == "")
48 ? "health" // compatible with Xonotic v0.8.2 or lower
49 : "health_small"
50#else
51 "health_small"
52#endif
53);
54#ifdef SVQC
61/* iteminit */ ATTRIB(HealthSmall, m_iteminit, void(Pickup this, entity item), item_healthsmall_init);
62#endif
65
66SPAWNFUNC_ITEM(item_health_small, ITEM_HealthSmall)
67
68// medium health
69#ifdef GAMEQC
70MODEL(HealthMedium_ITEM, Item_Model("g_h25.md3"));
71SOUND(HealthMedium, Item_Sound("mediumhealth"));
72#endif
73#ifdef SVQC
80{
81 if(!item.max_health)
82 item.max_health = autocvar_g_pickup_healthmedium_max;
83 if(!GetResource(item, RES_HEALTH))
84 SetResourceExplicit(item, RES_HEALTH, q3compat && item.count ? item.count : autocvar_g_pickup_healthmedium);
85}
86#endif
87
89/* spawnfunc */ ATTRIB(HealthMedium, m_canonical_spawnfunc, string, "item_health_medium");
90#ifdef GAMEQC
92/* model */ ATTRIB(HealthMedium, m_model, Model, MDL_HealthMedium_ITEM);
93/* sound */ ATTRIB(HealthMedium, m_sound, Sound, SND_HealthMedium);
94#endif
95/* refname */ ATTRIB(HealthMedium, netname, string, "health_medium");
96/* itemname */ ATTRIB(HealthMedium, m_name, string, _("Medium health"));
97/* icon */ ATTRIB(HealthMedium, m_icon, string, // ...
98#ifdef CSQC
99 (precache_pic(strcat("gfx/hud/luma/", "health_medium")) == "")
100 ? "health" // compatible with Xonotic v0.8.2 or lower
101 : "health_medium"
102#else
103 "health_medium"
104#endif
106#ifdef SVQC
113/* iteminit */ ATTRIB(HealthMedium, m_iteminit, void(Pickup this, entity item), item_healthmedium_init);
114#endif
117
118SPAWNFUNC_ITEM(item_health_medium, ITEM_HealthMedium)
119
120// big health
121#ifdef GAMEQC
122MODEL(HealthBig_ITEM, Item_Model("g_h50.md3"));
123SOUND(HealthBig, Item_Sound("mediumhealth"));
124#endif
125#ifdef SVQC
132{
133 if(!item.max_health)
134 item.max_health = autocvar_g_pickup_healthbig_max;
135 if(!GetResource(item, RES_HEALTH))
136 SetResourceExplicit(item, RES_HEALTH, q3compat && item.count ? item.count : autocvar_g_pickup_healthbig);
137}
138#endif
139
141/* spawnfunc */ ATTRIB(HealthBig, m_canonical_spawnfunc, string, "item_health_big");
142#ifdef GAMEQC
144/* model */ ATTRIB(HealthBig, m_model, Model, MDL_HealthBig_ITEM);
145/* sound */ ATTRIB(HealthBig, m_sound, Sound, SND_HealthBig);
146#endif
147/* refname */ ATTRIB(HealthBig, netname, string, "health_big");
148/* itemname */ ATTRIB(HealthBig, m_name, string, _("Big health"));
149/* icon */ ATTRIB(HealthBig, m_icon, string, // ...
150#ifdef CSQC
151 (precache_pic(strcat("gfx/hud/luma/", "health_big")) == "")
152 ? "health" // compatible with Xonotic v0.8.2 or lower
153 : "health_big"
154#else
155 "health_big"
156#endif
158/* color */ ATTRIB(HealthBig, m_color, vector, '1 0 0');
159/* wptext */ ATTRIB(HealthBig, m_waypoint, string, _("Big health"));
160#ifdef SVQC
165/* iteminit */ ATTRIB(HealthBig, m_iteminit, void(Pickup this, entity item), item_healthbig_init);
166#endif
169
170SPAWNFUNC_ITEM(item_health_big, ITEM_HealthBig)
171
172#ifdef GAMEQC
173MODEL(HealthMega_ITEM, Item_Model("g_h100.md3"));
175#endif
176#ifdef SVQC
183{
184 if(!item.max_health)
185 item.max_health = autocvar_g_pickup_healthmega_max;
186 if(!GetResource(item, RES_HEALTH))
187 SetResourceExplicit(item, RES_HEALTH, q3compat && item.count ? item.count : autocvar_g_pickup_healthmega);
188}
189#endif
190
192/* spawnfunc */ ATTRIB(HealthMega, m_canonical_spawnfunc, string, "item_health_mega");
193#ifdef GAMEQC
195/* model */ ATTRIB(HealthMega, m_model, Model, MDL_HealthMega_ITEM);
196/* sound */ ATTRIB(HealthMega, m_sound, Sound, SND_HealthMega);
197#endif
198/* refname */ ATTRIB(HealthMega, netname, string, "health_mega");
199/* itemname */ ATTRIB(HealthMega, m_name, string, _("Mega health"));
200/* icon */ ATTRIB(HealthMega, m_icon, string, // ...
201#ifdef CSQC
202 (precache_pic(strcat("gfx/hud/luma/", "health_mega")) == "")
203 ? "item_mega_health" // compatible with Xonotic v0.8.2 or lower
204 : "health_mega"
205#else
206 "health_mega"
207#endif
209/* color */ ATTRIB(HealthMega, m_color, vector, '1 0 0');
210/* wptext */ ATTRIB(HealthMega, m_waypoint, string, _("Mega health"));
211/* wpblink */ ATTRIB(HealthMega, m_waypointblink, int, 2);
212#ifdef SVQC
218/* iteminit */ ATTRIB(HealthMega, m_iteminit, void(Pickup this, entity item), item_healthmega_init);
219#endif
222
223SPAWNFUNC_ITEM(item_health_mega, ITEM_HealthMega)
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
float GetResource(entity e, Resource res_type)
Returns the current amount of resource the given entity has.
bool SetResourceExplicit(entity e, Resource res_type, float amount)
Sets the resource amount of an entity without calling any hooks.
Sound m_sound
Definition health.qh:145
vector m_color
Definition health.qh:158
float m_respawntime
Definition health.qh:162
float m_respawntimejitter
Definition health.qh:163
string m_canonical_spawnfunc
Definition health.qh:141
int spawnflags
Definition health.qh:143
string m_waypoint
Definition health.qh:159
string netname
Definition health.qh:147
bool m_pickupanyway
Definition health.qh:164
string m_icon
Definition health.qh:157
string m_name
Definition health.qh:148
int m_itemid
Definition health.qh:161
Model m_model
Definition health.qh:144
string netname
Definition health.qh:95
vector m_maxs
Definition health.qh:108
vector m_mins
Definition health.qh:107
string m_canonical_spawnfunc
Definition health.qh:89
bool m_pickupanyway
Definition health.qh:112
Sound m_sound
Definition health.qh:93
float m_respawntime
Definition health.qh:110
string m_name
Definition health.qh:96
string m_icon
Definition health.qh:105
float m_respawntimejitter
Definition health.qh:111
Model m_model
Definition health.qh:92
int spawnflags
Definition health.qh:91
string netname
Definition health.qh:198
float m_respawntime
Definition health.qh:215
vector m_color
Definition health.qh:209
int m_itemid
Definition health.qh:214
string m_waypoint
Definition health.qh:210
Sound m_sound
Definition health.qh:196
float m_respawntimejitter
Definition health.qh:216
string m_canonical_spawnfunc
Definition health.qh:192
int m_waypointblink
Definition health.qh:211
vector m_maxs
Definition health.qh:213
string m_name
Definition health.qh:199
string m_icon
Definition health.qh:208
Model m_model
Definition health.qh:195
bool m_pickupanyway
Definition health.qh:217
int spawnflags
Definition health.qh:194
float m_respawntime
Definition health.qh:58
vector m_maxs
Definition health.qh:56
string m_canonical_spawnfunc
Definition health.qh:37
int m_itemid
Definition health.qh:57
string m_icon
Definition health.qh:53
Sound m_sound
Definition health.qh:41
Model m_model
Definition health.qh:40
string m_name
Definition health.qh:44
string netname
Definition health.qh:43
vector m_mins
Definition health.qh:55
int spawnflags
Definition health.qh:39
bool m_pickupanyway
Definition health.qh:60
float m_respawntimejitter
Definition health.qh:59
vector m_color
Definition health.qh:5
int m_botvalue
Definition health.qh:8
Definition model.qh:3
ATTRIB(Pickup, m_model, Model)
#define SPAWNFUNC_ITEM(name, item)
Definition item.qh:106
const vector ITEM_S_MAXS
Definition item.qh:81
const vector ITEM_S_MINS
Definition item.qh:80
const int IT_RESOURCE
Definition item.qh:30
const vector ITEM_L_MAXS
Definition item.qh:84
@ ITEM_FLAG_RESOURCE
Item is is a resource, not a held item.
Definition item.qh:122
@ ITEM_FLAG_NORMAL
Item is usable during normal gameplay.
Definition item.qh:120
int autocvar_g_pickup_healthmega
Definition health.qh:178
bool autocvar_g_pickup_healthsmall_anyway
Definition health.qh:22
float autocvar_g_pickup_respawntime_health_medium
Definition health.qh:77
bool autocvar_g_pickup_healthmedium_anyway
Definition health.qh:74
float autocvar_g_pickup_respawntimejitter_health_small
Definition health.qh:26
int autocvar_g_pickup_healthsmall_max
Definition health.qh:24
void item_healthbig_init(Pickup this, entity item)
Definition health.qh:131
int autocvar_g_pickup_healthmedium
Definition health.qh:75
float autocvar_g_pickup_respawntime_health_small
Definition health.qh:25
int autocvar_g_pickup_healthbig_max
Definition health.qh:128
bool autocvar_g_pickup_healthmega_anyway
Definition health.qh:177
void item_healthsmall_init(Pickup this, entity item)
Definition health.qh:27
int autocvar_g_pickup_healthmega_max
Definition health.qh:179
bool autocvar_g_pickup_healthbig_anyway
Definition health.qh:126
float autocvar_g_pickup_respawntimejitter_health_mega
Definition health.qh:181
int autocvar_g_pickup_healthmedium_max
Definition health.qh:76
void item_healthmedium_init(Pickup this, entity item)
Definition health.qh:79
float autocvar_g_pickup_respawntimejitter_health_medium
Definition health.qh:78
float autocvar_g_pickup_respawntimejitter_health_big
Definition health.qh:130
int autocvar_g_pickup_healthsmall
Definition health.qh:23
int autocvar_g_pickup_healthbig
Definition health.qh:127
float autocvar_g_pickup_respawntime_health_big
Definition health.qh:129
float autocvar_g_pickup_respawntime_health_mega
Definition health.qh:180
void item_healthmega_init(Pickup this, entity item)
Definition health.qh:182
string Item_Model(string item_mdl)
Definition all.qc:8
string Item_Sound(string it_snd)
Definition all.qc:18
#define REGISTER_ITEM(id, inst)
Definition all.qh:13
string precache_pic(string name,...)
#define MODEL(name, path)
Definition all.qh:8
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))
#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
q3compat
Definition quake3.qc:59
vector
Definition self.qh:92
float healtharmor_pickupevalfunc(entity player, entity item)
Definition items.qc:956
#define SOUND(name, path)
Definition all.qh:30