]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/items/item/health.qh
Merge branch 'Lyberta/Survival' into Lyberta/master
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item / health.qh
1 #pragma once
2
3 #include "pickup.qh"
4 CLASS(Health, Pickup)
5 #ifdef SVQC
6     ATTRIB(Health, m_mins, vector, '-16 -16 0');
7     ATTRIB(Health, m_maxs, vector, '16 16 48');
8     ATTRIB(Health, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
9     ATTRIB(Health, m_botvalue, int, 5000);
10 #endif
11 ENDCLASS(Health)
12
13 #ifdef SVQC
14     #include <common/t_items.qh>
15 #endif
16
17 #ifdef GAMEQC
18 MODEL(HealthSmall_ITEM, Item_Model("g_h1.md3"));
19 SOUND(HealthSmall, Item_Sound("minihealth"));
20 #endif
21 #ifdef SVQC
22 PROPERTY(float, g_pickup_healthsmall_anyway);
23 PROPERTY(int, g_pickup_healthsmall);
24 PROPERTY(int, g_pickup_healthsmall_max);
25 void item_healthsmall_init(Pickup this, entity item)
26 {
27     if(!item.max_health)
28         item.max_health = g_pickup_healthsmall_max;
29     if(!GetResourceAmount(item, RESOURCE_HEALTH))
30         SetResourceAmountExplicit(item, RESOURCE_HEALTH, g_pickup_healthsmall);
31 }
32 #endif
33
34 REGISTER_ITEM(HealthSmall, Health) {
35     this.m_canonical_spawnfunc = "item_health_small";
36 #ifdef GAMEQC
37         this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
38     this.m_model                =   MDL_HealthSmall_ITEM;
39     this.m_sound                =   SND_HealthSmall;
40 #endif
41     this.netname                =   "health_small";
42     this.m_name                 =   "5 Health";
43     this.m_icon                 =   "health";
44         this.m_waypoint_icon        =   "waypoint_health";
45 #ifdef SVQC
46     this.m_itemid               =   IT_5HP;
47     this.m_respawntime          =   GET(g_pickup_respawntime_short);
48     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
49     this.m_pickupanyway         =   GET(g_pickup_healthsmall_anyway);
50     this.m_iteminit             =   item_healthsmall_init;
51 #endif
52 }
53
54 SPAWNFUNC_ITEM(item_health_small, ITEM_HealthSmall)
55
56 #ifdef GAMEQC
57 MODEL(HealthMedium_ITEM, Item_Model("g_h25.md3"));
58 SOUND(HealthMedium, Item_Sound("mediumhealth"));
59 #endif
60 #ifdef SVQC
61 PROPERTY(float, g_pickup_healthmedium_anyway);
62 PROPERTY(int, g_pickup_healthmedium);
63 PROPERTY(int, g_pickup_healthmedium_max);
64 void item_healthmedium_init(Pickup this, entity item)
65 {
66     if(!item.max_health)
67         item.max_health = g_pickup_healthmedium_max;
68     if(!GetResourceAmount(item, RESOURCE_HEALTH))
69         SetResourceAmountExplicit(item, RESOURCE_HEALTH, g_pickup_healthmedium);
70 }
71 #endif
72
73 REGISTER_ITEM(HealthMedium, Health) {
74     this.m_canonical_spawnfunc = "item_health_medium";
75 #ifdef GAMEQC
76         this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
77     this.m_model                =   MDL_HealthMedium_ITEM;
78     this.m_sound                =   SND_HealthMedium;
79 #endif
80     this.netname                =   "health_medium";
81     this.m_name                 =   "25 Health";
82     this.m_icon                 =   "health";
83         this.m_waypoint_icon        =   "waypoint_health";
84 #ifdef SVQC
85     this.m_itemid               =   IT_25HP;
86     this.m_respawntime          =   GET(g_pickup_respawntime_short);
87     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
88     this.m_pickupanyway         =   GET(g_pickup_healthmedium_anyway);
89     this.m_iteminit             =   item_healthmedium_init;
90 #endif
91 }
92
93 SPAWNFUNC_ITEM(item_health_medium, ITEM_HealthMedium)
94
95 #ifdef GAMEQC
96 MODEL(HealthBig_ITEM, Item_Model("g_h50.md3"));
97 SOUND(HealthBig, Item_Sound("mediumhealth"));
98 #endif
99 #ifdef SVQC
100 PROPERTY(float, g_pickup_healthbig_anyway);
101 PROPERTY(int, g_pickup_healthbig);
102 PROPERTY(int, g_pickup_healthbig_max);
103 void item_healthbig_init(Pickup this, entity item)
104 {
105     if(!item.max_health)
106         item.max_health = g_pickup_healthbig_max;
107     if(!GetResourceAmount(item, RESOURCE_HEALTH))
108         SetResourceAmountExplicit(item, RESOURCE_HEALTH, g_pickup_healthbig);
109 }
110 #endif
111
112 REGISTER_ITEM(HealthBig, Health) {
113     this.m_canonical_spawnfunc = "item_health_big";
114 #ifdef GAMEQC
115         this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
116     this.m_model                =   MDL_HealthBig_ITEM;
117     this.m_sound                =   SND_HealthBig;
118 #endif
119     this.netname                =   "health_big";
120     this.m_name                 =   "50 Health";
121     this.m_icon                 =   "health";
122     this.m_color                =   '1 0 0';
123         this.m_waypoint_text        =   _("Big health");
124         this.m_waypoint_icon        =   "waypoint_health";
125 #ifdef SVQC
126     this.m_itemid               =   IT_25HP;
127     this.m_respawntime          =   GET(g_pickup_respawntime_medium);
128     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_medium);
129     this.m_pickupanyway         =   GET(g_pickup_healthbig_anyway);
130     this.m_iteminit             =   item_healthbig_init;
131 #endif
132 }
133
134 SPAWNFUNC_ITEM(item_health_big, ITEM_HealthBig)
135
136 #ifdef GAMEQC
137 MODEL(HealthMega_ITEM, Item_Model("g_h100.md3"));
138 SOUND(HealthMega, Item_Sound("megahealth"));
139 #endif
140 #ifdef SVQC
141 PROPERTY(float, g_pickup_healthmega_anyway);
142 PROPERTY(int, g_pickup_healthmega);
143 PROPERTY(int, g_pickup_healthmega_max);
144 void item_healthmega_init(Pickup this, entity item)
145 {
146     if(!item.max_health)
147         item.max_health = g_pickup_healthmega_max;
148     if(!GetResourceAmount(item, RESOURCE_HEALTH))
149         SetResourceAmountExplicit(item, RESOURCE_HEALTH, g_pickup_healthmega);
150 }
151 #endif
152
153 REGISTER_ITEM(HealthMega, Health) {
154     this.m_canonical_spawnfunc = "item_health_mega";
155 #ifdef GAMEQC
156     this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
157     this.m_model                =   MDL_HealthMega_ITEM;
158     this.m_sound                =   SND_HealthMega;
159 #endif
160     this.netname                =   "health_mega";
161     this.m_name                 =   "100 Health";
162     this.m_icon                 =   "item_mega_health";
163     this.m_color                =   '1 0 0';
164         this.m_waypoint_text        =   _("Mega health");
165         this.m_waypoint_icon        =   "waypoint_health_mega";
166     this.m_waypointblink        =   2;
167 #ifdef SVQC
168     this.m_maxs                 =   '16 16 70';
169     this.m_itemid               =   IT_HEALTH;
170     this.m_respawntime          =   GET(g_pickup_respawntime_long);
171     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
172     this.m_pickupanyway         =   GET(g_pickup_healthmega_anyway);
173     this.m_iteminit             =   item_healthmega_init;
174 #endif
175 }
176
177 SPAWNFUNC_ITEM(item_health_mega, ITEM_HealthMega)