Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
sv_breakablehook.qc
Go to the documentation of this file.
1
#include "
sv_breakablehook.qh
"
2
3
#include <
common/deathtypes/all.qh
>
4
#include <
server/hook.qh
>
5
6
REGISTER_MUTATOR
(breakablehook,
cvar
(
"g_breakablehook"
));
7
8
bool
autocvar_g_breakablehook
;
// allow toggling mid match?
9
bool
autocvar_g_breakablehook_owner
;
10
11
MUTATOR_HOOKFUNCTION
(breakablehook, Damage_Calculate)
12
{
13
entity
frag_attacker =
M_ARGV
(1,
entity
);
14
entity
frag_target
=
M_ARGV
(2,
entity
);
15
16
if
(
frag_target
.classname ==
"grapplinghook"
)
17
{
18
if
((!
autocvar_g_breakablehook
)
19
|| (!
autocvar_g_breakablehook_owner
&& frag_attacker ==
frag_target
.realowner)
20
) {
M_ARGV
(4,
float
) = 0; }
21
22
// hurt the owner of the hook
23
if
(
DIFF_TEAM
(frag_attacker,
frag_target
.realowner))
24
{
25
Damage
(
frag_target
.realowner, frag_attacker, frag_attacker, 5, WEP_HOOK.m_id |
HITTYPE_SPLASH
,
DMG_NOWEP
,
frag_target
.realowner.origin,
'0 0 0'
);
// TODO: should get weapon entity from mutator hook
26
RemoveHook
(
frag_target
);
27
return
;
// dead
28
}
29
}
30
}
REGISTER_MUTATOR
#define REGISTER_MUTATOR(...)
Definition
base.qh:295
MUTATOR_HOOKFUNCTION
#define MUTATOR_HOOKFUNCTION(...)
Definition
base.qh:335
entity
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
M_ARGV
#define M_ARGV(x, type)
Definition
events.qh:17
Damage
void Damage(entity targ, entity inflictor, entity attacker, float damage, int deathtype,.entity weaponentity, vector hitloc, vector force)
Definition
damage.qc:503
DMG_NOWEP
#define DMG_NOWEP
Definition
damage.qh:104
all.qh
HITTYPE_SPLASH
const int HITTYPE_SPLASH
Definition
all.qh:30
cvar
float cvar(string name)
RemoveHook
void RemoveHook(entity this)
Definition
hook.qc:48
hook.qh
autocvar_g_breakablehook_owner
bool autocvar_g_breakablehook_owner
Definition
sv_breakablehook.qc:9
autocvar_g_breakablehook
bool autocvar_g_breakablehook
Definition
sv_breakablehook.qc:8
sv_breakablehook.qh
frag_target
entity frag_target
Definition
sv_ctf.qc:2321
DIFF_TEAM
#define DIFF_TEAM(a, b)
Definition
teams.qh:242
common
mutators
mutator
breakablehook
sv_breakablehook.qc
Generated on
for Xonotic QuakeC by
1.14.0