/** called when a player dies to e.g. remove stuff he was carrying */
#define EV_PlayHitsound(i, o) \
/** victim */ i(entity, MUTATOR_ARGV_0_entity) \
+ /** attacker */ i(entity, MUTATOR_ARGV_1_entity) \
/**/
MUTATOR_HOOKABLE(PlayHitsound, EV_PlayHitsound);
/**/
MUTATOR_HOOKABLE(W_Reload, EV_W_Reload);
-/** called at the end of player_powerups() in cl_client.qc, used for manipulating the values which are set by powerup items. */
+/** called at the end of player_powerups() in client.qc, used for manipulating the values which are set by powerup items. */
#define EV_PlayerPowerups(i, o) \
/** player */ i(entity, MUTATOR_ARGV_0_entity) \
/** old items */ i(int, MUTATOR_ARGV_1_int) \
MUTATOR_HOOKABLE(PortalTeleport, EV_PortalTeleport);
/**
- * called whenever a player uses impulse 33 (help me) in cl_impulse.qc
+ * called whenever a player uses impulse 33 (help me) in impulse.qc
* normally help me ping uses .waypointsprite_attachedforcarrier,
* but if your mutator uses something different then you can handle it
* in a special manner using this hook
/** 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);