]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/items/item/armor.qh
Merge branch 'master' into martin-t/damagetext
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item / armor.qh
1 #pragma once
2
3 #include "pickup.qh"
4 CLASS(Armor, Pickup)
5 #ifdef SVQC
6     ATTRIB(Armor, m_mins, vector, '-16 -16 0');
7     ATTRIB(Armor, m_maxs, vector, '16 16 48');
8     ATTRIB(Armor, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
9     ATTRIB(Armor, m_botvalue, int, 5000);
10 #endif
11 ENDCLASS(Armor)
12
13 #ifdef SVQC
14     #include <common/t_items.qh>
15 #endif
16
17 #ifdef GAMEQC
18 MODEL(ArmorSmall_ITEM, Item_Model("item_armor_small.md3"));
19 SOUND(ArmorSmall, Item_Sound("armor1"));
20 #endif
21 #ifdef SVQC
22 PROPERTY(float, g_pickup_armorsmall_anyway);
23 PROPERTY(int, g_pickup_armorsmall);
24 PROPERTY(int, g_pickup_armorsmall_max);
25 void item_armorsmall_init(entity item)
26 {
27     if(!item.max_armorvalue)
28         item.max_armorvalue = g_pickup_armorsmall_max;
29     if(!item.armorvalue)
30         item.armorvalue = g_pickup_armorsmall;
31 }
32 #endif
33
34 REGISTER_ITEM(ArmorSmall, Armor) {
35 #ifdef GAMEQC
36     this.m_model                =   MDL_ArmorSmall_ITEM;
37     this.m_sound                =   SND_ArmorSmall;
38 #endif
39     this.netname                =   "armor_small";
40     this.m_name                 =   "5 Armor";
41     this.m_icon                 =   "armor";
42 #ifdef SVQC
43     this.m_itemid               =   IT_ARMOR_SHARD;
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_armorsmall_anyway);
47     this.m_iteminit             =   item_armorsmall_init;
48 #endif
49 }
50
51 #ifdef GAMEQC
52 MODEL(ArmorMedium_ITEM, Item_Model("item_armor_medium.md3"));
53 SOUND(ArmorMedium, Item_Sound("armor10"));
54 #endif
55 #ifdef SVQC
56 PROPERTY(float, g_pickup_armormedium_anyway);
57 PROPERTY(int, g_pickup_armormedium);
58 PROPERTY(int, g_pickup_armormedium_max);
59 void item_armormedium_init(entity item)
60 {
61     if(!item.max_armorvalue)
62         item.max_armorvalue = g_pickup_armormedium_max;
63     if(!item.armorvalue)
64         item.armorvalue = g_pickup_armormedium;
65 }
66 #endif
67
68 REGISTER_ITEM(ArmorMedium, Armor) {
69 #ifdef GAMEQC
70     this.m_model                =   MDL_ArmorMedium_ITEM;
71     this.m_sound                =   SND_ArmorMedium;
72 #endif
73     this.netname                =   "armor_medium";
74     this.m_name                 =   "25 Armor";
75     this.m_icon                 =   "armor";
76 #ifdef SVQC
77     this.m_itemid               =   IT_ARMOR;
78     this.m_respawntime          =   GET(g_pickup_respawntime_medium);
79     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_medium);
80     this.m_pickupanyway         =   GET(g_pickup_armormedium_anyway);
81     this.m_iteminit             =   item_armormedium_init;
82 #endif
83 }
84
85 #ifdef GAMEQC
86 MODEL(ArmorBig_ITEM, Item_Model("item_armor_big.md3"));
87 SOUND(ArmorBig, Item_Sound("armor17_5"));
88 #endif
89 #ifdef SVQC
90 PROPERTY(float, g_pickup_armorbig_anyway);
91 PROPERTY(int, g_pickup_armorbig);
92 PROPERTY(int, g_pickup_armorbig_max);
93 void item_armorbig_init(entity item)
94 {
95     if(!item.max_armorvalue)
96         item.max_armorvalue = g_pickup_armorbig_max;
97     if(!item.armorvalue)
98         item.armorvalue = g_pickup_armorbig;
99 }
100 #endif
101
102 REGISTER_ITEM(ArmorBig, Armor) {
103 #ifdef GAMEQC
104     this.m_model                =   MDL_ArmorBig_ITEM;
105     this.m_sound                =   SND_ArmorBig;
106 #endif
107     this.netname                =   "armor_big";
108     this.m_name                 =   "50 Armor";
109     this.m_icon                 =   "armor";
110     this.m_color                =   '0 1 0';
111     this.m_waypoint             =   _("Big armor");
112 #ifdef SVQC
113     this.m_itemid               =   IT_ARMOR;
114     this.m_respawntime          =   GET(g_pickup_respawntime_long);
115     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
116     this.m_pickupanyway         =   GET(g_pickup_armorbig_anyway);
117     this.m_iteminit             =   item_armorbig_init;
118 #endif
119 }
120
121 #ifdef GAMEQC
122 MODEL(ArmorMega_ITEM, Item_Model("item_armor_large.md3"));
123 SOUND(ArmorMega, Item_Sound("armor25"));
124 #endif
125 #ifdef SVQC
126 PROPERTY(float, g_pickup_armormega_anyway);
127 PROPERTY(int, g_pickup_armormega);
128 PROPERTY(int, g_pickup_armormega_max);
129 void item_armormega_init(entity item)
130 {
131     if(!item.max_armorvalue)
132         item.max_armorvalue = g_pickup_armormega_max;
133     if(!item.armorvalue)
134         item.armorvalue = g_pickup_armormega;
135 }
136 #endif
137
138 REGISTER_ITEM(ArmorMega, Armor) {
139 #ifdef GAMEQC
140     this.m_model                =   MDL_ArmorMega_ITEM;
141     this.m_sound                =   SND_ArmorMega;
142 #endif
143     this.netname                =   "armor_mega";
144     this.m_name                 =   "100 Armor";
145     this.m_icon                 =   "item_large_armor";
146     this.m_color                =   '0 1 0';
147     this.m_waypoint             =   _("Mega armor");
148     this.m_waypointblink        =   2;
149 #ifdef SVQC
150     this.m_maxs                 =   '16 16 70';
151     this.m_itemid               =   IT_ARMOR;
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_armormega_anyway);
155     this.m_iteminit             =   item_armormega_init;
156 #endif
157 }