* called before any player physics, may adjust variables for movement,
* is run AFTER bot code and idle checking on the server
*/
-MUTATOR_HOOKABLE(PlayerPhysics, EV_NO_ARGS);
+#define EV_PlayerPhysics(i, o) \
+ /**/ i(entity, __self) \
+ /**/
+MUTATOR_HOOKABLE(PlayerPhysics, EV_PlayerPhysics);
/** called when a player presses the jump key */
#define EV_PlayerJump(i, o) \
+ /**/ i(entity, __self) \
/**/ i(float, player_multijump) \
/**/ i(float, player_jumpheight) \
/**/ o(float, player_multijump) \
float player_jumpheight;
MUTATOR_HOOKABLE(PlayerJump, EV_PlayerJump);
+/** called during player physics, allows adjusting the movement type used */
+#define EV_PM_Physics(i, o) \
+ /**/ i(entity, __self) \
+ /**/ i(float, pm_maxspeed_mod) \
+ /**/
+float pm_maxspeed_mod;
+MUTATOR_HOOKABLE(PM_Physics, EV_PM_Physics);
+
+/** called when a weapon model is about to be set, allows custom paths etc. */
+#define EV_WeaponModel(i, o) \
+ /**/ i(string, weapon_model) \
+ /**/ i(string, weapon_model_output) \
+ /**/ o(string, weapon_model_output) \
+ /**/
+string weapon_model;
+string weapon_model_output;
+MUTATOR_HOOKABLE(WeaponModel, EV_WeaponModel);
+
#endif