]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/items/item/health.qh
Merge branch 'master' into Mario/killsound
[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(entity item)
26 {
27     if(!item.max_health)
28         item.max_health = g_pickup_healthsmall_max;
29     if(!item.health)
30         item.health = g_pickup_healthsmall;
31 }
32 #endif
33
34 REGISTER_ITEM(HealthSmall, Health) {
35 #ifdef GAMEQC
36     this.m_model                =   MDL_HealthSmall_ITEM;
37     this.m_sound                =   SND_HealthSmall;
38 #endif
39     this.netname                =   "health_small";
40     this.m_name                 =   "5 Health";
41     this.m_icon                 =   "health";
42 #ifdef SVQC
43     this.m_itemid               =   IT_5HP;
44     this.m_respawntime          =   GET(g_pickup_respawntime_short);
45     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
46     this.m_pickupanyway         =   GET(g_pickup_healthsmall_anyway);
47     this.m_iteminit             =   item_healthsmall_init;
48 #endif
49 }
50
51 #ifdef GAMEQC
52 MODEL(HealthMedium_ITEM, Item_Model("g_h25.md3"));
53 SOUND(HealthMedium, Item_Sound("mediumhealth"));
54 #endif
55 #ifdef SVQC
56 PROPERTY(float, g_pickup_healthmedium_anyway);
57 PROPERTY(int, g_pickup_healthmedium);
58 PROPERTY(int, g_pickup_healthmedium_max);
59 void item_healthmedium_init(entity item)
60 {
61     if(!item.max_health)
62         item.max_health = g_pickup_healthmedium_max;
63     if(!item.health)
64         item.health = g_pickup_healthmedium;
65 }
66 #endif
67
68 REGISTER_ITEM(HealthMedium, Health) {
69 #ifdef GAMEQC
70     this.m_model                =   MDL_HealthMedium_ITEM;
71     this.m_sound                =   SND_HealthMedium;
72 #endif
73     this.netname                =   "health_medium";
74     this.m_name                 =   "25 Health";
75     this.m_icon                 =   "health";
76 #ifdef SVQC
77     this.m_itemid               =   IT_25HP;
78     this.m_respawntime          =   GET(g_pickup_respawntime_short);
79     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
80     this.m_pickupanyway         =   GET(g_pickup_healthmedium_anyway);
81     this.m_iteminit             =   item_healthmedium_init;
82 #endif
83 }
84
85 #ifdef GAMEQC
86 MODEL(HealthBig_ITEM, Item_Model("g_h50.md3"));
87 SOUND(HealthBig, Item_Sound("mediumhealth"));
88 #endif
89 #ifdef SVQC
90 PROPERTY(float, g_pickup_healthbig_anyway);
91 PROPERTY(int, g_pickup_healthbig);
92 PROPERTY(int, g_pickup_healthbig_max);
93 void item_healthbig_init(entity item)
94 {
95     if(!item.max_health)
96         item.max_health = g_pickup_healthbig_max;
97     if(!item.health)
98         item.health = g_pickup_healthbig;
99 }
100 #endif
101
102 REGISTER_ITEM(HealthBig, Health) {
103 #ifdef GAMEQC
104     this.m_model                =   MDL_HealthBig_ITEM;
105     this.m_sound                =   SND_HealthBig;
106 #endif
107     this.netname                =   "health_big";
108     this.m_name                 =   "50 Health";
109     this.m_icon                 =   "health";
110     this.m_color                =   '1 0 0';
111     this.m_waypoint             =   _("Big health");
112 #ifdef SVQC
113     this.m_itemid               =   IT_25HP;
114     this.m_respawntime          =   GET(g_pickup_respawntime_medium);
115     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_medium);
116     this.m_pickupanyway         =   GET(g_pickup_healthbig_anyway);
117     this.m_iteminit             =   item_healthbig_init;
118 #endif
119 }
120
121 #ifdef GAMEQC
122 MODEL(HealthMega_ITEM, Item_Model("g_h100.md3"));
123 SOUND(HealthMega, Item_Sound("megahealth"));
124 #endif
125 #ifdef SVQC
126 PROPERTY(float, g_pickup_healthmega_anyway);
127 PROPERTY(int, g_pickup_healthmega);
128 PROPERTY(int, g_pickup_healthmega_max);
129 void item_healthmega_init(entity item)
130 {
131     if(!item.max_health)
132         item.max_health = g_pickup_healthmega_max;
133     if(!item.health)
134         item.health = g_pickup_healthmega;
135 }
136 #endif
137
138 REGISTER_ITEM(HealthMega, Health) {
139 #ifdef GAMEQC
140     this.m_model                =   MDL_HealthMega_ITEM;
141     this.m_sound                =   SND_HealthMega;
142 #endif
143     this.netname                =   "health_mega";
144     this.m_name                 =   "100 Health";
145     this.m_icon                 =   "item_mega_health";
146     this.m_color                =   '1 0 0';
147     this.m_waypoint             =   _("Mega health");
148     this.m_waypointblink        =   2;
149 #ifdef SVQC
150     this.m_maxs                 =   '16 16 70';
151     this.m_itemid               =   IT_HEALTH;
152     this.m_respawntime          =   GET(g_pickup_respawntime_long);
153     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
154     this.m_pickupanyway         =   GET(g_pickup_healthmega_anyway);
155     this.m_iteminit             =   item_healthmega_init;
156 #endif
157 }