]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/buffs/sv_buffs.qh
Merge branch 'master' into bones_was_here/q3compat
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / buffs / sv_buffs.qh
1 #pragma once
2
3 #include <common/mutators/base.qh>
4
5 #include "buffs.qh"
6
7 void buffs_Initialize();
8
9 AUTOCVAR(g_buffs, int, -1, "Enable buffs, -1: enabled but no auto location or replacing powerups, 1: enabled and can replace them");
10
11 REGISTER_MUTATOR(buffs, autocvar_g_buffs)
12 {
13         MUTATOR_ONADD
14         {
15                 buffs_Initialize();
16         }
17 }
18
19 bool  autocvar_g_buffs_effects;
20 float autocvar_g_buffs_waypoint_distance;
21 bool autocvar_g_buffs_pickup_anyway = false;
22 float autocvar_g_buffs_pickup_delay = 0.7;
23 bool autocvar_g_buffs_randomize;
24 bool autocvar_g_buffs_randomize_teamplay = true;
25 float autocvar_g_buffs_random_lifetime;
26 bool autocvar_g_buffs_random_location;
27 int autocvar_g_buffs_random_location_attempts;
28 int autocvar_g_buffs_spawn_count;
29 bool autocvar_g_buffs_replace_powerups;
30 bool autocvar_g_buffs_drop = false;
31 float autocvar_g_buffs_cooldown_activate;
32 float autocvar_g_buffs_cooldown_respawn;
33 float autocvar_g_buffs_resistance_blockpercent;
34 float autocvar_g_buffs_medic_survive_chance;
35 float autocvar_g_buffs_medic_survive_health;
36 float autocvar_g_buffs_medic_rot;
37 float autocvar_g_buffs_medic_max;
38 float autocvar_g_buffs_medic_regen;
39 float autocvar_g_buffs_vengeance_damage_multiplier;
40 float autocvar_g_buffs_bash_force;
41 float autocvar_g_buffs_bash_force_self;
42 float autocvar_g_buffs_disability_slowtime;
43 float autocvar_g_buffs_disability_speed;
44 float autocvar_g_buffs_disability_rate;
45 float autocvar_g_buffs_disability_weaponspeed;
46 float autocvar_g_buffs_speed_speed;
47 float autocvar_g_buffs_speed_rate;
48 float autocvar_g_buffs_speed_weaponspeed;
49 float autocvar_g_buffs_speed_damage_take;
50 float autocvar_g_buffs_speed_regen;
51 float autocvar_g_buffs_vampire_damage_steal;
52 float autocvar_g_buffs_invisible_alpha;
53 float autocvar_g_buffs_jump_height;
54 float autocvar_g_buffs_inferno_burntime_factor;
55 float autocvar_g_buffs_inferno_burntime_min_time;
56 float autocvar_g_buffs_inferno_burntime_target_damage;
57 float autocvar_g_buffs_inferno_burntime_target_time;
58 float autocvar_g_buffs_inferno_damagemultiplier;
59 float autocvar_g_buffs_swapper_range;
60 float autocvar_g_buffs_magnet_range_item;
61 float autocvar_g_buffs_magnet_range_buff = 200;
62 float autocvar_g_buffs_luck_chance = 0.15;
63 float autocvar_g_buffs_luck_damagemultiplier = 3;
64
65 // ammo
66 .float buff_ammo_prev_infitems;
67 .int buff_ammo_prev_clipload;
68 // invisible
69 .float buff_invisible_prev_alpha;
70 // disability
71 .float buff_disability_time;
72 .float buff_disability_effect_time;
73 // flight
74 .float buff_flight_oldgravity;
75 // common buff variables
76 .float buff_effect_delay;
77
78 // buff definitions
79 .bool buff_active;
80 .float buff_activetime;
81 .bool buff_activetime_updated;
82 .entity buff_waypoint;
83 .int oldbuffs; // for updating effects
84 .float buff_shield; // delay for players to keep them from spamming buff pickups
85 .entity buff_model; // controls effects (TODO: make csqc)
86
87 const vector BUFF_MIN = ('-16 -16 0');
88 const vector BUFF_MAX = ('16 16 60');
89
90 // client side options
91 .float cvar_cl_buffs_autoreplace;
92
93 float buff_Available(entity buff);