From: Mario Date: Sun, 21 Aug 2016 01:31:19 +0000 (+1000) Subject: Add a mutator hook for CopyBody X-Git-Tag: xonotic-v0.8.2~691 X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=8a070bbd42eac0b8b1ec9fac24f5de08b85461d3 Add a mutator hook for CopyBody --- diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 1ae97c99e5..b6c258b046 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 29b1b7abd4..1c09857230 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);