3 #include <common/items/all.qh>
4 #include <common/mutators/mutator/powerups/powerups.qh>
7 #include <common/constants.qh>
8 #include <server/items/items.qh>
12 //MODEL(Speed_ITEM, Item_Model("g_invincible.md3")); // TODO: new model required
13 SOUND(Speed, Item_Sound("powerup_shield"));
17 .float speed_finished;
19 bool autocvar_g_powerups_speed = 1;
20 float autocvar_g_balance_powerup_speed_attackrate = 0.8;
21 float autocvar_g_balance_powerup_speed_highspeed = 1.5;
22 float autocvar_g_balance_powerup_speed_time = 30;
23 void powerup_speed_init(Pickup this, entity item)
25 if(!item.speed_finished)
26 item.speed_finished = (item.count) ? item.count : autocvar_g_balance_powerup_speed_time;
29 REGISTER_ITEM(Speed, Powerup) {
30 this.m_canonical_spawnfunc = "item_speed";
32 if(autocvar_g_powerups_speed)
33 this.spawnflags = ITEM_FLAG_NORMAL;
35 this.spawnflags = ITEM_FLAG_MUTATORBLOCKED;
37 this.m_iteminit = powerup_speed_init;
40 this.m_itemid = IT_SPEED;
41 this.m_model = MDL_BUFF; // TODO: MDL_Speed_ITEM when new model available
43 this.m_sound = SND_Speed;
45 this.m_respawnsound = SND_SHIELD_RESPAWN;
47 this.netname = "speed";
48 this.m_name = _("Speed");
49 this.m_icon = "buff_speed";
50 this.m_color = '0.1 1 0.84';
51 this.m_waypoint = _("Speed");
52 this.m_waypointblink = 2;
55 SPAWNFUNC_ITEM(item_speed, ITEM_Speed)
57 SPAWNFUNC_ITEM(item_haste, ITEM_Speed)
58 SPAWNFUNC_ITEM(item_scout, ITEM_Speed)
60 CLASS(Speed, Powerups)
61 ATTRIB(Speed, netname, string, "speed");
62 ATTRIB(Speed, m_name, string, _("Speed"));
63 ATTRIB(Speed, m_color, vector, '0.1 1 0.84');
64 ATTRIB(Speed, m_icon, string, "buff_speed");
66 REGISTER_STATUSEFFECT(Speed, NEW(Speed));