]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/pinata/sv_pinata.qc
Merge branch 'master' into terencehill/bot_waypoints
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / pinata / sv_pinata.qc
1 #include "sv_pinata.qh"
2
3 string autocvar_g_pinata;
4 REGISTER_MUTATOR(pinata, expr_evaluate(autocvar_g_pinata) && !cvar("g_instagib") && !cvar("g_overkill"));
5
6 MUTATOR_HOOKFUNCTION(pinata, PlayerDies)
7 {
8         entity frag_target = M_ARGV(2, entity);
9
10         for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
11         {
12                 .entity weaponentity = weaponentities[slot];
13
14                 if(frag_target.(weaponentity).m_weapon == WEP_Null)
15                         continue;
16
17                 FOREACH(Weapons, it != WEP_Null, {
18                         if(frag_target.weapons & WepSet_FromWeapon(it))
19                         if(frag_target.(weaponentity).m_weapon != it)
20                         if(W_IsWeaponThrowable(frag_target, it.m_id))
21                                 W_ThrowNewWeapon(frag_target, it.m_id, false, CENTER_OR_VIEWOFS(frag_target), randomvec() * 175 + '0 0 325', weaponentity);
22                 });
23         }
24
25         return true;
26 }
27
28 MUTATOR_HOOKFUNCTION(pinata, BuildMutatorsString)
29 {
30         M_ARGV(0, string) = strcat(M_ARGV(0, string), ":Pinata");
31 }
32
33 MUTATOR_HOOKFUNCTION(pinata, BuildMutatorsPrettyString)
34 {
35         M_ARGV(0, string) = strcat(M_ARGV(0, string), ", PiƱata");
36 }