]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/buffs/all.inc
Merge branch 'Mario/status_effects_extended' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / buffs / all.inc
1 string Buff_UndeprecateName(string buffname)
2 {
3     switch(buffname)
4     {
5         case "ammoregen": return "ammo";
6         case "guard": return "resistance";
7         case "revival": case "regen": return "medic";
8         case "jumper": return "jump";
9         default: return buffname;
10     }
11 }
12
13 CLASS(AmmoBuff, Buff)
14     ATTRIB(AmmoBuff, m_name, string, _("Ammo"));
15     ATTRIB(AmmoBuff, netname, string, "ammo");
16     ATTRIB(AmmoBuff, m_icon, string, "buff_ammo");
17     ATTRIB(AmmoBuff, m_skin, int, 3);
18     ATTRIB(AmmoBuff, m_color, vector, '0.76 1 0.1');
19 ENDCLASS(AmmoBuff)
20 REGISTER_BUFF(AMMO, NEW(AmmoBuff));
21 BUFF_SPAWNFUNCS(ammo, BUFF_AMMO)
22 BUFF_SPAWNFUNC_Q3TA_COMPAT(ammoregen, BUFF_AMMO)
23
24 CLASS(ResistanceBuff, Buff)
25     ATTRIB(ResistanceBuff, m_name, string, _("Resistance"));
26     ATTRIB(ResistanceBuff, netname, string, "resistance");
27     ATTRIB(ResistanceBuff, m_icon, string, "buff_resistance");
28     ATTRIB(ResistanceBuff, m_skin, int, 0);
29     ATTRIB(ResistanceBuff, m_color, vector, '0.36 1 0.07');
30 ENDCLASS(ResistanceBuff)
31 REGISTER_BUFF(RESISTANCE, NEW(ResistanceBuff));
32 BUFF_SPAWNFUNCS(resistance, BUFF_RESISTANCE)
33 BUFF_SPAWNFUNC_Q3TA_COMPAT(guard, BUFF_RESISTANCE)
34
35 CLASS(MedicBuff, Buff)
36     ATTRIB(MedicBuff, m_name, string, _("Medic"));
37     ATTRIB(MedicBuff, netname, string, "medic");
38     ATTRIB(MedicBuff, m_icon, string, "buff_medic");
39     ATTRIB(MedicBuff, m_skin, int, 1);
40     ATTRIB(MedicBuff, m_color, vector, '1 0.12 0');
41 ENDCLASS(MedicBuff)
42 REGISTER_BUFF(MEDIC, NEW(MedicBuff));
43 BUFF_SPAWNFUNCS(medic, BUFF_MEDIC)
44 BUFF_SPAWNFUNC_Q3TA_COMPAT(regen, BUFF_MEDIC)
45 BUFF_SPAWNFUNC_Q3TA_COMPAT(revival, BUFF_MEDIC)
46
47 CLASS(BashBuff, Buff)
48     ATTRIB(BashBuff, m_name, string, _("Bash"));
49     ATTRIB(BashBuff, netname, string, "bash");
50     ATTRIB(BashBuff, m_icon, string, "buff_bash");
51     ATTRIB(BashBuff, m_skin, int, 5);
52     ATTRIB(BashBuff, m_color, vector, '1 0.39 0');
53 ENDCLASS(BashBuff)
54 REGISTER_BUFF(BASH, NEW(BashBuff));
55 BUFF_SPAWNFUNCS(bash, BUFF_BASH)
56 BUFF_SPAWNFUNC_Q3TA_COMPAT(doubler, BUFF_BASH)
57
58 CLASS(VampireBuff, Buff)
59     ATTRIB(VampireBuff, m_name, string, _("Vampire"));
60     ATTRIB(VampireBuff, netname, string, "vampire");
61     ATTRIB(VampireBuff, m_icon, string, "buff_vampire");
62     ATTRIB(VampireBuff, m_skin, int, 2);
63     ATTRIB(VampireBuff, m_color, vector, '1 0 0.24');
64 ENDCLASS(VampireBuff)
65 REGISTER_BUFF(VAMPIRE, NEW(VampireBuff));
66 BUFF_SPAWNFUNCS(vampire, BUFF_VAMPIRE)
67
68 CLASS(DisabilityBuff, Buff)
69     ATTRIB(DisabilityBuff, m_name, string, _("Disability"));
70     ATTRIB(DisabilityBuff, netname, string, "disability");
71     ATTRIB(DisabilityBuff, m_icon, string, "buff_disability");
72     ATTRIB(DisabilityBuff, m_skin, int, 7);
73     ATTRIB(DisabilityBuff, m_color, vector, '0.94 0.3 1');
74 ENDCLASS(DisabilityBuff)
75 REGISTER_BUFF(DISABILITY, NEW(DisabilityBuff));
76 BUFF_SPAWNFUNCS(disability, BUFF_DISABILITY)
77 // status effect applied to targets by the disability buff
78 CLASS(Disabled, StatusEffects)
79     ATTRIB(Disabled, netname, string, "disabled");
80 #if 0
81     // NOTE: status effect name and icon disabled as they are not displayed
82     // re-enable if status effects are given a visual element
83     ATTRIB(Disabled, m_name, string, _("Disabled"));
84     ATTRIB(Disabled, m_icon, string, "buff_disability");
85 #endif
86     ATTRIB(Disabled, m_color, vector, '0.94 0.3 1');
87     ATTRIB(Disabled, m_hidden, bool, true);
88     ATTRIB(Disabled, m_lifetime, float, 10);
89     ATTRIB(Disabled, disabled_effect_time, float, 0); // TODO: handle this effect client side like EF_FLAME!
90 ENDCLASS(Disabled)
91 REGISTER_STATUSEFFECT(Disabled, NEW(Disabled));
92
93 CLASS(VengeanceBuff, Buff)
94     ATTRIB(VengeanceBuff, m_name, string, _("Vengeance"));
95     ATTRIB(VengeanceBuff, netname, string, "vengeance");
96     ATTRIB(VengeanceBuff, m_icon, string, "buff_vengeance");
97     ATTRIB(VengeanceBuff, m_skin, int, 15);
98     ATTRIB(VengeanceBuff, m_color, vector, '1 0.23 0.61');
99 ENDCLASS(VengeanceBuff)
100 REGISTER_BUFF(VENGEANCE, NEW(VengeanceBuff));
101 BUFF_SPAWNFUNCS(vengeance, BUFF_VENGEANCE)
102
103 CLASS(JumpBuff, Buff)
104     ATTRIB(JumpBuff, m_name, string, _("Jump"));
105     ATTRIB(JumpBuff, netname, string, "jump");
106     ATTRIB(JumpBuff, m_icon, string, "buff_jump");
107     ATTRIB(JumpBuff, m_skin, int, 10);
108     ATTRIB(JumpBuff, m_color, vector, '0.24 0.78 1');
109 ENDCLASS(JumpBuff)
110 REGISTER_BUFF(JUMP, NEW(JumpBuff));
111 BUFF_SPAWNFUNCS(jump, BUFF_JUMP)
112 BUFF_SPAWNFUNC_Q3TA_COMPAT(jumper, BUFF_JUMP)
113
114 CLASS(InfernoBuff, Buff)
115     ATTRIB(InfernoBuff, m_name, string, _("Inferno"));
116     ATTRIB(InfernoBuff, netname, string, "inferno");
117     ATTRIB(InfernoBuff, m_icon, string, "buff_inferno");
118     ATTRIB(InfernoBuff, m_skin, int, 16);
119     ATTRIB(InfernoBuff, m_color, vector, '1 0.62 0');
120 ENDCLASS(InfernoBuff)
121 REGISTER_BUFF(INFERNO, NEW(InfernoBuff));
122 BUFF_SPAWNFUNCS(inferno, BUFF_INFERNO)
123
124 CLASS(SwapperBuff, Buff)
125     ATTRIB(SwapperBuff, m_name, string, _("Swapper"));
126     ATTRIB(SwapperBuff, netname, string, "swapper");
127     ATTRIB(SwapperBuff, m_icon, string, "buff_swapper");
128     ATTRIB(SwapperBuff, m_skin, int, 17);
129     ATTRIB(SwapperBuff, m_color, vector, '0.63 0.36 1');
130 ENDCLASS(SwapperBuff)
131 REGISTER_BUFF(SWAPPER, NEW(SwapperBuff));
132 BUFF_SPAWNFUNCS(swapper, BUFF_SWAPPER)
133
134 CLASS(MagnetBuff, Buff)
135     ATTRIB(MagnetBuff, m_name, string, _("Magnet"));
136     ATTRIB(MagnetBuff, netname, string, "magnet");
137     ATTRIB(MagnetBuff, m_icon, string, "buff_magnet");
138     ATTRIB(MagnetBuff, m_skin, int, 18);
139     ATTRIB(MagnetBuff, m_color, vector, '1 0.95 0.18');
140 ENDCLASS(MagnetBuff)
141 REGISTER_BUFF(MAGNET, NEW(MagnetBuff));
142 BUFF_SPAWNFUNCS(magnet, BUFF_MAGNET)
143
144 CLASS(LuckBuff, Buff)
145     ATTRIB(LuckBuff, m_name, string, _("Luck"));
146     ATTRIB(LuckBuff, netname, string, "luck");
147     ATTRIB(LuckBuff, m_icon, string, "buff_luck");
148     ATTRIB(LuckBuff, m_skin, int, 19);
149     ATTRIB(LuckBuff, m_color, vector, '1 0.23 0.44');
150 ENDCLASS(LuckBuff)
151 REGISTER_BUFF(LUCK, NEW(LuckBuff));
152 BUFF_SPAWNFUNCS(luck, BUFF_LUCK)
153
154 CLASS(FlightBuff, Buff)
155     ATTRIB(FlightBuff, m_name, string, _("Flight"));
156     ATTRIB(FlightBuff, netname, string, "flight");
157     ATTRIB(FlightBuff, m_icon, string, "buff_flight");
158     ATTRIB(FlightBuff, m_skin, int, 11);
159     ATTRIB(FlightBuff, m_color, vector, '0.23 0.44 1');
160 ENDCLASS(FlightBuff)
161 REGISTER_BUFF(FLIGHT, NEW(FlightBuff));
162 BUFF_SPAWNFUNCS(flight, BUFF_FLIGHT)
163 BUFF_SPAWNFUNC_Q3TA_COMPAT(flight, BUFF_FLIGHT)