From 8a070bbd42eac0b8b1ec9fac24f5de08b85461d3 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 21 Aug 2016 11:31:19 +1000 Subject: [PATCH] Add a mutator hook for CopyBody --- qcsrc/server/cl_player.qc | 2 ++ qcsrc/server/mutators/events.qh | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 1ae97c99e..b6c258b04 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -125,6 +125,8 @@ void CopyBody(entity this, float keepvelocity) // "bake" the current animation frame for clones (they don't get clientside animation) animdecide_load_if_needed(clone); animdecide_setframes(clone, false, frame, frame1time, frame2, frame2time); + + MUTATOR_CALLHOOK(CopyBody, this, clone, keepvelocity); } void player_setupanimsformodel(entity this) diff --git a/qcsrc/server/mutators/events.qh b/qcsrc/server/mutators/events.qh index 29b1b7abd..1c0985723 100644 --- a/qcsrc/server/mutators/events.qh +++ b/qcsrc/server/mutators/events.qh @@ -854,3 +854,11 @@ MUTATOR_HOOKABLE(URI_GetCallback, EV_URI_GetCallback); /** player */ i(entity, MUTATOR_ARGV_0_entity) \ /**/ MUTATOR_HOOKABLE(ForbidWeaponUse, EV_ForbidWeaponUse); + +/** called when a player spawns as player, after shared setup, before his weapon is chosen (so items may be changed in here) */ +#define EV_CopyBody(i, o) \ + /** player */ i(entity, MUTATOR_ARGV_0_entity) \ + /** newly created clone */ i(entity, MUTATOR_ARGV_1_entity) \ + /** keepvelocity? */ i(bool, MUTATOR_ARGV_2_bool) \ + /**/ +MUTATOR_HOOKABLE(CopyBody, EV_CopyBody); -- 2.39.2