Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
armor.qh
Go to the documentation of this file.
1#pragma once
2
3#include "pickup.qh"
5/* color */ ATTRIB(Armor, m_color, vector, '0 1 0');
6#ifdef SVQC
7/* pickupfunc */ ATTRIB(Armor, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
8/* botvalue */ ATTRIB(Armor, m_botvalue, int, 5000);
9#endif
11
12#ifdef SVQC
13 #include <server/items/items.qh>
14#endif
15
16// small armor
17#ifdef GAMEQC
18MODEL(ArmorSmall_ITEM, Item_Model("item_armor_small.md3"));
20#endif
21#ifdef SVQC
28{
29 if(!item.max_armorvalue)
30 item.max_armorvalue = autocvar_g_pickup_armorsmall_max;
31 if(!GetResource(item, RES_ARMOR))
33}
34#endif
35
37/* spawnfunc */ ATTRIB(ArmorSmall, m_canonical_spawnfunc, string, "item_armor_small");
38#ifdef GAMEQC
40/* model */ ATTRIB(ArmorSmall, m_model, Model, MDL_ArmorSmall_ITEM);
41/* sound */ ATTRIB(ArmorSmall, m_sound, Sound, SND_ArmorSmall);
42#endif
43/* refname */ ATTRIB(ArmorSmall, netname, string, "armor_small");
44/* itemname */ ATTRIB(ArmorSmall, m_name, string, _("Small armor"));
45/* icon */ ATTRIB(ArmorSmall, m_icon, string, // ...
46#ifdef CSQC
47 (precache_pic(strcat("gfx/hud/luma/", "armor_small")) == "")
48 ? "armor" // compatible with Xonotic v0.8.2 or lower
49 : "armor_small"
50#else
51 "armor_small"
52#endif
53);
54#ifdef SVQC
61/* iteminit */ ATTRIB(ArmorSmall, m_iteminit, void(Pickup this, entity item), item_armorsmall_init);
62#endif
65
66SPAWNFUNC_ITEM(item_armor_small, ITEM_ArmorSmall)
67
68// medium armor
69#ifdef GAMEQC
70MODEL(ArmorMedium_ITEM, Item_Model("item_armor_medium.md3"));
72#endif
73#ifdef SVQC
80{
81 if(!item.max_armorvalue)
82 item.max_armorvalue = autocvar_g_pickup_armormedium_max;
83 if(!GetResource(item, RES_ARMOR))
85}
86#endif
87
89/* spawnfunc */ ATTRIB(ArmorMedium, m_canonical_spawnfunc, string, "item_armor_medium");
90#ifdef GAMEQC
92/* model */ ATTRIB(ArmorMedium, m_model, Model, MDL_ArmorMedium_ITEM);
93/* sound */ ATTRIB(ArmorMedium, m_sound, Sound, SND_ArmorMedium);
94#endif
95/* refname */ ATTRIB(ArmorMedium, netname, string, "armor_medium");
96/* itemname */ ATTRIB(ArmorMedium, m_name, string, _("Medium armor"));
97/* icon */ ATTRIB(ArmorMedium, m_icon, string, // ...
98#ifdef CSQC
99 (precache_pic(strcat("gfx/hud/luma/", "armor_medium")) == "")
100 ? "armor" // compatible with Xonotic v0.8.2 or lower
101 : "armor_medium"
102#else
103 "armor_medium"
104#endif
106#ifdef SVQC
113/* iteminit */ ATTRIB(ArmorMedium, m_iteminit, void(Pickup this, entity item), item_armormedium_init);
114#endif
117
118SPAWNFUNC_ITEM(item_armor_medium, ITEM_ArmorMedium)
119
120// big armor
121#ifdef GAMEQC
122MODEL(ArmorBig_ITEM, Item_Model("item_armor_big.md3"));
123SOUND(ArmorBig, Item_Sound("armor17_5"));
124#endif
125#ifdef SVQC
132{
133 if(!item.max_armorvalue)
134 item.max_armorvalue = autocvar_g_pickup_armorbig_max;
135 if(!GetResource(item, RES_ARMOR))
137}
138#endif
139
141/* spawnfunc */ ATTRIB(ArmorBig, m_canonical_spawnfunc, string, "item_armor_big");
142#ifdef GAMEQC
144/* model */ ATTRIB(ArmorBig, m_model, Model, MDL_ArmorBig_ITEM);
145/* sound */ ATTRIB(ArmorBig, m_sound, Sound, SND_ArmorBig);
146#endif
147/* refname */ ATTRIB(ArmorBig, netname, string, "armor_big");
148/* itemname */ ATTRIB(ArmorBig, m_name, string, _("Big armor"));
149/* icon */ ATTRIB(ArmorBig, m_icon, string, // ...
150#ifdef CSQC
151 (precache_pic(strcat("gfx/hud/luma/", "armor_big")) == "")
152 ? "armor" // compatible with Xonotic v0.8.2 or lower
153 : "armor_big"
154#else
155 "armor_big"
156#endif
158/* color */ ATTRIB(ArmorBig, m_color, vector, '0 1 0');
159/* wptext */ ATTRIB(ArmorBig, m_waypoint, string, _("Big armor"));
160#ifdef SVQC
161/* itemid */ ATTRIB(ArmorBig, m_itemid, int, IT_RESOURCE);
165/* iteminit */ ATTRIB(ArmorBig, m_iteminit, void(Pickup this, entity item), item_armorbig_init);
166#endif
169
170SPAWNFUNC_ITEM(item_armor_big, ITEM_ArmorBig)
171
172// mega armor
173#ifdef GAMEQC
174MODEL(ArmorMega_ITEM, Item_Model("item_armor_large.md3"));
176#endif
177#ifdef SVQC
184{
185 if(!item.max_armorvalue)
186 item.max_armorvalue = autocvar_g_pickup_armormega_max;
187 if(!GetResource(item, RES_ARMOR))
189}
190#endif
191
193/* spawnfunc */ ATTRIB(ArmorMega, m_canonical_spawnfunc, string, "item_armor_mega");
194#ifdef GAMEQC
196/* model */ ATTRIB(ArmorMega, m_model, Model, MDL_ArmorMega_ITEM);
197/* sound */ ATTRIB(ArmorMega, m_sound, Sound, SND_ArmorMega);
198#endif
199/* refname */ ATTRIB(ArmorMega, netname, string, "armor_mega");
200/* itemname */ ATTRIB(ArmorMega, m_name, string, _("Mega armor"));
201/* icon */ ATTRIB(ArmorMega, m_icon, string, // ...
202#ifdef CSQC
203 (precache_pic(strcat("gfx/hud/luma/", "armor_mega")) == "")
204 ? "item_large_armor" // compatible with Xonotic v0.8.2 or lower
205 : "armor_mega"
206#else
207 "armor_mega"
208#endif
210/* color */ ATTRIB(ArmorMega, m_color, vector, '0 1 0');
211/* wptext */ ATTRIB(ArmorMega, m_waypoint, string, _("Mega armor"));
212/* wpblink */ ATTRIB(ArmorMega, m_waypointblink, int, 2);
213#ifdef SVQC
219/* iteminit */ ATTRIB(ArmorMega, m_iteminit, void(Pickup this, entity item), item_armormega_init);
220#endif
223
224SPAWNFUNC_ITEM(item_armor_mega, ITEM_ArmorMega)
int autocvar_g_pickup_armormega_max
Definition armor.qh:180
bool autocvar_g_pickup_armorbig_anyway
Definition armor.qh:126
float autocvar_g_pickup_respawntime_armor_small
Definition armor.qh:25
void item_armormedium_init(Pickup this, entity item)
Definition armor.qh:79
float autocvar_g_pickup_respawntimejitter_armor_small
Definition armor.qh:26
int autocvar_g_pickup_armormedium
Definition armor.qh:75
bool autocvar_g_pickup_armorsmall_anyway
Definition armor.qh:22
void item_armormega_init(Pickup this, entity item)
Definition armor.qh:183
float autocvar_g_pickup_respawntime_armor_big
Definition armor.qh:129
void item_armorbig_init(Pickup this, entity item)
Definition armor.qh:131
float autocvar_g_pickup_respawntimejitter_armor_medium
Definition armor.qh:78
float autocvar_g_pickup_respawntime_armor_medium
Definition armor.qh:77
bool autocvar_g_pickup_armormega_anyway
Definition armor.qh:178
float autocvar_g_pickup_respawntimejitter_armor_big
Definition armor.qh:130
void item_armorsmall_init(Pickup this, entity item)
Definition armor.qh:27
int autocvar_g_pickup_armorbig_max
Definition armor.qh:128
float autocvar_g_pickup_respawntimejitter_armor_mega
Definition armor.qh:182
float autocvar_g_pickup_respawntime_armor_mega
Definition armor.qh:181
int autocvar_g_pickup_armorsmall_max
Definition armor.qh:24
int autocvar_g_pickup_armorbig
Definition armor.qh:127
bool autocvar_g_pickup_armormedium_anyway
Definition armor.qh:74
int autocvar_g_pickup_armormega
Definition armor.qh:179
int autocvar_g_pickup_armormedium_max
Definition armor.qh:76
int autocvar_g_pickup_armorsmall
Definition armor.qh:23
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.
int spawnflags
Definition armor.qh:143
float m_respawntime
Definition armor.qh:162
string m_waypoint
Definition armor.qh:159
Model m_model
Definition armor.qh:144
string m_canonical_spawnfunc
Definition armor.qh:141
int m_itemid
Definition armor.qh:161
float m_respawntimejitter
Definition armor.qh:163
string m_name
Definition armor.qh:148
bool m_pickupanyway
Definition armor.qh:164
string netname
Definition armor.qh:147
vector m_color
Definition armor.qh:158
Sound m_sound
Definition armor.qh:145
string m_icon
Definition armor.qh:157
bool m_pickupanyway
Definition armor.qh:112
string m_name
Definition armor.qh:96
float m_respawntime
Definition armor.qh:110
vector m_maxs
Definition armor.qh:108
Model m_model
Definition armor.qh:92
int m_itemid
Definition armor.qh:109
float m_respawntimejitter
Definition armor.qh:111
vector m_mins
Definition armor.qh:107
Sound m_sound
Definition armor.qh:93
string m_canonical_spawnfunc
Definition armor.qh:89
string netname
Definition armor.qh:95
int spawnflags
Definition armor.qh:91
string m_icon
Definition armor.qh:105
Model m_model
Definition armor.qh:196
int spawnflags
Definition armor.qh:195
string m_name
Definition armor.qh:200
int m_itemid
Definition armor.qh:215
int m_waypointblink
Definition armor.qh:212
string m_canonical_spawnfunc
Definition armor.qh:193
vector m_color
Definition armor.qh:210
bool m_pickupanyway
Definition armor.qh:218
string m_waypoint
Definition armor.qh:211
string netname
Definition armor.qh:199
float m_respawntime
Definition armor.qh:216
string m_icon
Definition armor.qh:209
float m_respawntimejitter
Definition armor.qh:217
vector m_maxs
Definition armor.qh:214
Sound m_sound
Definition armor.qh:197
float m_respawntime
Definition armor.qh:58
int spawnflags
Definition armor.qh:39
vector m_maxs
Definition armor.qh:56
vector m_mins
Definition armor.qh:55
string netname
Definition armor.qh:43
int m_itemid
Definition armor.qh:57
string m_name
Definition armor.qh:44
string m_canonical_spawnfunc
Definition armor.qh:37
Sound m_sound
Definition armor.qh:41
float m_respawntimejitter
Definition armor.qh:59
Model m_model
Definition armor.qh:40
bool m_pickupanyway
Definition armor.qh:60
string m_icon
Definition armor.qh:53
Definition armor.qh:4
int m_botvalue
Definition armor.qh:8
vector m_color
Definition armor.qh:5
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
RES_ARMOR
Definition ent_cs.qc:130
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
vector
Definition self.qh:92
float healtharmor_pickupevalfunc(entity player, entity item)
Definition items.qc:956
#define SOUND(name, path)
Definition all.qh:30