]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/items/item/powerup.qh
take3: format 903 files
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item / powerup.qh
1 #pragma once
2
3 #ifdef SVQC
4 // For FL_POWERUP
5 #include <server/constants.qh>
6 #endif
7
8 #include "pickup.qh"
9 CLASS(Powerup, Pickup)
10 #ifdef SVQC
11         ATTRIB(Powerup, m_mins, vector, '-16 -16 0');
12         ATTRIB(Powerup, m_maxs, vector, '16 16 80');
13         ATTRIB(Powerup, m_botvalue, int, 20000);
14         ATTRIB(Powerup, m_itemflags, int, FL_POWERUP);
15         ATTRIB(Powerup, m_respawntime, float(), GET(g_pickup_respawntime_powerup));
16         ATTRIB(Powerup, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_powerup));
17 #endif
18 ENDCLASS(Powerup)
19
20 #ifdef GAMEQC
21 MODEL(Strength_ITEM, Item_Model("g_strength.md3"));
22 SOUND(Strength, Item_Sound("powerup"));
23 #endif
24
25 #ifdef SVQC
26 float autocvar_g_balance_powerup_strength_time;
27 void powerup_strength_init(entity item)
28 {
29         if (!item.strength_finished) {
30                 item.strength_finished = autocvar_g_balance_powerup_strength_time;
31         }
32 }
33 #endif
34 REGISTER_ITEM(Strength, Powerup)
35 {
36 #ifdef GAMEQC
37         this.m_model            =   MDL_Strength_ITEM;
38         this.m_sound            =   SND_Strength;
39         this.m_glow             =   true;
40         this.m_respawnsound     =   SND_STRENGTH_RESPAWN;
41 #endif
42         this.netname            =   "strength";
43         this.m_name             =   "Strength Powerup";
44         this.m_icon             =   "strength";
45         this.m_color            =   '0 0 1';
46         this.m_waypoint         =   _("Strength");
47         this.m_waypointblink    =   2;
48         this.m_itemid           =   IT_STRENGTH;
49 #ifdef SVQC
50         this.m_iteminit         =   powerup_strength_init;
51 #endif
52 }
53
54 #ifdef GAMEQC
55 MODEL(Shield_ITEM, Item_Model("g_invincible.md3"));
56 SOUND(Shield, Item_Sound("powerup_shield"));
57 #endif
58
59 #ifdef SVQC
60 float autocvar_g_balance_powerup_invincible_time;
61 void powerup_shield_init(entity item)
62 {
63         if (!item.invincible_finished) {
64                 item.invincible_finished = autocvar_g_balance_powerup_invincible_time;
65         }
66 }
67 #endif
68 REGISTER_ITEM(Shield, Powerup)
69 {
70 #ifdef GAMEQC
71         this.m_model            =   MDL_Shield_ITEM;
72         this.m_sound            =   SND_Shield;
73         this.m_glow             =   true;
74         this.m_respawnsound     =   SND_SHIELD_RESPAWN;
75 #endif
76         this.netname            =   "invincible";
77         this.m_name             =   "Shield";
78         this.m_icon             =   "shield";
79         this.m_color            =   '1 0 1';
80         this.m_waypoint         =   _("Shield");
81         this.m_waypointblink    =   2;
82         this.m_itemid           =   IT_INVINCIBLE;
83 #ifdef SVQC
84         this.m_iteminit         =   powerup_shield_init;
85 #endif
86 }