]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/midair/midair.qc
Merge branch 'master' into terencehill/hud_fixes
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / midair / midair.qc
1 #ifdef IMPLEMENTATION
2
3 float autocvar_g_midair_shieldtime;
4
5 REGISTER_MUTATOR(midair, cvar("g_midair"));
6
7 .float midair_shieldtime;
8
9 MUTATOR_HOOKFUNCTION(midair, PlayerDamage_Calculate)
10 {
11         if(IS_PLAYER(frag_attacker))
12         if(IS_PLAYER(frag_target))
13         if(time < frag_target.midair_shieldtime)
14                 frag_damage = false;
15
16         return false;
17 }
18
19 MUTATOR_HOOKFUNCTION(midair, PlayerPowerups)
20 {SELFPARAM();
21         if(time >= game_starttime)
22         if(IS_ONGROUND(self))
23         {
24                 self.effects |= (EF_ADDITIVE | EF_FULLBRIGHT);
25                 self.midair_shieldtime = max(self.midair_shieldtime, time + autocvar_g_midair_shieldtime);
26         }
27
28         return false;
29 }
30
31 MUTATOR_HOOKFUNCTION(midair, PlayerSpawn)
32 {SELFPARAM();
33         if(IS_BOT_CLIENT(self))
34                 self.bot_moveskill = 0; // disable bunnyhopping
35
36         return false;
37 }
38
39 MUTATOR_HOOKFUNCTION(midair, BuildMutatorsString)
40 {
41         ret_string = strcat(ret_string, ":midair");
42         return false;
43 }
44
45 MUTATOR_HOOKFUNCTION(midair, BuildMutatorsPrettyString)
46 {
47         ret_string = strcat(ret_string, ", Midair");
48         return false;
49 }
50 #endif