1 #include "../../common/deathtypes/all.qh"
2 #include "../g_hook.qh"
4 REGISTER_MUTATOR(breakablehook, cvar("g_breakablehook"));
6 bool autocvar_g_breakablehook; // allow toggling mid match?
7 bool autocvar_g_breakablehook_owner;
9 MUTATOR_HOOKFUNCTION(breakablehook, PlayerDamage_Calculate)
11 if(frag_target.classname == "grapplinghook")
13 if((!autocvar_g_breakablehook)
14 || (!autocvar_g_breakablehook_owner && frag_attacker == frag_target.realowner)
15 ) { frag_damage = 0; }
17 // hurt the owner of the hook
18 if(DIFF_TEAM(frag_attacker, frag_target.realowner))
20 Damage (frag_target.realowner, frag_attacker, frag_attacker, 5, WEP_HOOK.m_id | HITTYPE_SPLASH, frag_target.realowner.origin, '0 0 0');
21 RemoveGrapplingHook(frag_target.realowner);