#include "buffs.qh"
-#include "../instagib/_mod.qh"
+void buffs_DelayedInit(entity this);
+
+AUTOCVAR(g_buffs, int, -1, "Enable buffs, -1: enabled but no auto location or replacing powerups, 1: enabled and can replace them");
+
+REGISTER_MUTATOR(buffs, autocvar_g_buffs)
+{
+ MUTATOR_ONADD
+ {
+ if(autocvar_g_buffs > 0)
+ InitializeEntity(NULL, buffs_DelayedInit, INITPRIO_FINDTARGET);
+ }
+}
bool autocvar_g_buffs_effects;
float autocvar_g_buffs_waypoint_distance;
+bool autocvar_g_buffs_pickup_anyway = false;
+float autocvar_g_buffs_pickup_delay = 0.7;
bool autocvar_g_buffs_randomize;
+bool autocvar_g_buffs_randomize_teamplay = true;
float autocvar_g_buffs_random_lifetime;
bool autocvar_g_buffs_random_location;
int autocvar_g_buffs_random_location_attempts;
int autocvar_g_buffs_spawn_count;
bool autocvar_g_buffs_replace_powerups;
+bool autocvar_g_buffs_drop = false;
float autocvar_g_buffs_cooldown_activate;
float autocvar_g_buffs_cooldown_respawn;
float autocvar_g_buffs_resistance_blockpercent;
float autocvar_g_buffs_medic_rot;
float autocvar_g_buffs_medic_max;
float autocvar_g_buffs_medic_regen;
-float autocvar_g_buffs_medic_heal_amount = 15;
-float autocvar_g_buffs_medic_heal_delay = 1;
-float autocvar_g_buffs_medic_heal_range = 400;
float autocvar_g_buffs_vengeance_damage_multiplier;
float autocvar_g_buffs_bash_force;
float autocvar_g_buffs_bash_force_self;
.int buff_ammo_prev_clipload;
// invisible
.float buff_invisible_prev_alpha;
-// medic
-.float buff_medic_healtime;
// disability
.float buff_disability_time;
.float buff_disability_effect_time;
+// flight
+.float buff_flight_oldgravity;
// common buff variables
.float buff_effect_delay;
.float buff_activetime_updated;
.entity buff_waypoint;
.int oldbuffs; // for updating effects
+.float buff_shield; // delay for players to keep them from spamming buff pickups
.entity buff_model; // controls effects (TODO: make csqc)
-const vector BUFF_MIN = ('-16 -16 -20');
-const vector BUFF_MAX = ('16 16 20');
+const vector BUFF_MIN = ('-16 -16 0');
+const vector BUFF_MAX = ('16 16 60');
// client side options
.float cvar_cl_buffs_autoreplace;
+
+float buff_Available(entity buff);