/** */
#define EV_PutClientInServer(i, o) \
- /** client wanting to spawn */ i(entity, self) \
+ /** client wanting to spawn */ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(PutClientInServer, EV_PutClientInServer);
/** called when someone was fragged by "self", and is expected to change frag_score to adjust scoring for the kill */
#define EV_GiveFragsForKill(i, o) \
+ /**/ i(entity, __self) \
/** same as self */ i(entity, frag_attacker) \
/**/ i(entity, frag_target) \
/**/ i(float, frag_score) \
/** copies variables for spectating "other" to "self" */
#define EV_SpectateCopy(i, o) \
/**/ i(entity, other) \
- /**/ i(entity, self) \
+ /**/ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(SpectateCopy, EV_SpectateCopy);
/**/ i(string, format_escape) \
/**/ i(string, format_replacement) \
/**/ o(string, format_replacement) \
+ /**/ i(string, format_message) \
/**/
string format_escape;
string format_replacement;
+string format_message;
MUTATOR_HOOKABLE(FormatMessage, EV_FormatMessage);
/** returns 1 if throwing the current weapon shall not be allowed */
/** called every frame. customizes the waypoint for spectators */
#define EV_CustomizeWaypoint(i, o) \
- /** waypoint */ i(entity, self) \
+ /** waypoint */ i(entity, __self) \
/** player; other.enemy = spectator */ i(entity, other) \
/**/
MUTATOR_HOOKABLE(CustomizeWaypoint, EV_CustomizeWaypoint);
/** return error to request removal */
#define EV_TurretSpawn(i, o) \
- /** turret */ i(entity, self) \
+ /** turret */ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(TurretSpawn, EV_TurretSpawn);
/** return error to not attack */
#define EV_TurretFire(i, o) \
- /** turret */ i(entity, self) \
+ /** turret */ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(TurretFire, EV_TurretFire);
/** can edit any "just fired" projectile */
#define EV_EditProjectile(i, o) \
- /**/ i(entity, self) \
+ /**/ i(entity, __self) \
/**/ i(entity, other) \
/**/
MUTATOR_HOOKABLE(EditProjectile, EV_EditProjectile);
* i'm not sure if I should change this around slightly (Naming of the entities, and also how they're done in g_damage).
*/
#define EV_PlayerDamage_Calculate(i, o) \
+ /**/ i(entity, frag_inflictor) \
/**/ i(entity, frag_attacker) \
/**/ i(entity, frag_target) \
/**/ i(float, frag_deathtype) \
/** called at the end of player_powerups() in cl_client.qc, used for manipulating the values which are set by powerup items. */
#define EV_PlayerPowerups(i, o) \
- /**/ i(entity, self) \
+ /**/ i(entity, __self) \
/**/ i(int, olditems) \
/**/
int olditems;
string cmd_string;
MUTATOR_HOOKABLE(SV_ParseClientCommand, EV_SV_ParseClientCommand);
+/** please read EV_SV_ParseClientCommand description before using */
+#define EV_SV_ParseServerCommand(i, o) \
+ /** command name */ i(string, cmd_name) \
+ /** also, argv() can be used */ i(int, cmd_argc) \
+ /** whole command, use only if you really have to */ i(string, cmd_string) \
+ /**/
+//string cmd_name;
+//int cmd_argc;
+//string cmd_string;
+MUTATOR_HOOKABLE(SV_ParseServerCommand, EV_SV_ParseServerCommand);
+
/**
* called when a spawnpoint is being evaluated
* return 1 to make the spawnpoint unusable
*/
#define EV_Spawn_Score(i, o) \
- /** player wanting to spawn */ i(entity, self) \
+ /** player wanting to spawn */ i(entity, __self) \
/** spot to be evaluated */ i(entity, spawn_spot) \
/** _x is priority, _y is "distance" */ i(vector, spawn_score) \
/**/ o(vector, spawn_score) \
* return 1 to remove an item
*/
#define EV_Item_Spawn(i, o) \
- /** the item */ i(entity, self) \
+ /** the item */ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(Item_Spawn, EV_Item_Spawn);
#define EV_SetWeaponreplace(i, o) \
- /** map entity */ i(entity, self) \
+ /** map entity */ i(entity, __self) \
/** weapon info */ i(entity, other) \
/**/ i(string, ret_string) \
/**/ o(string, ret_string) \
* allows you to strip a player of an item if they go through the teleporter to help prevent cheating
*/
#define EV_PortalTeleport(i, o) \
- /**/ i(entity, self) \
+ /**/ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(PortalTeleport, EV_PortalTeleport);
* in a special manner using this hook
*/
#define EV_HelpMePing(i, o) \
- /** the player who pressed impulse 33 */ i(entity, self) \
+ /** the player who pressed impulse 33 */ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(HelpMePing, EV_HelpMePing);
* return true to stop player from entering the vehicle
*/
#define EV_VehicleTouch(i, o) \
- /** vehicle */ i(entity, self) \
+ /** vehicle */ i(entity, __self) \
/** player */ i(entity, other) \
/**/
MUTATOR_HOOKABLE(VehicleTouch, EV_VehicleTouch);
/** called when a speedrun is aborted and the player is teleported back to start position */
#define EV_AbortSpeedrun(i, o) \
- /** player */ i(entity, self) \
+ /** player */ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(AbortSpeedrun, EV_AbortSpeedrun);
/** called at when a item is touched. Called early, can edit item properties. */
#define EV_ItemTouch(i, o) \
- /** item */ i(entity, self) \
+ /** item */ i(entity, __self) \
/** player */ i(entity, other) \
/**/
MUTATOR_HOOKABLE(ItemTouch, EV_ItemTouch);
/** called at when a player connect */
#define EV_ClientConnect(i, o) \
- /** player */ i(entity, self) \
+ /** player */ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(ClientConnect, EV_ClientConnect);
#define EV_HavocBot_ChooseRole(i, o) \
- /**/ i(entity, self) \
+ /**/ i(entity, __self) \
/**/
MUTATOR_HOOKABLE(HavocBot_ChooseRole, EV_HavocBot_ChooseRole);
/** called when a bullet has hit a target */
#define EV_FireBullet_Hit(i, o) \
- /**/ i(entity, self) \
+ /**/ i(entity, __self) \
/**/ i(entity, bullet_hit) \
/**/ i(vector, bullet_startpos) \
/**/ i(vector, bullet_endpos) \
#define EV_FixPlayermodel(i, o) \
/**/ i(string, ret_string) \
/**/ o(string, ret_string) \
+ /**/ i(int, ret_int) \
+ /**/ o(int, ret_int) \
/**/
+int ret_int;
MUTATOR_HOOKABLE(FixPlayermodel, EV_FixPlayermodel);
/** Return error to play frag remaining announcements */
MUTATOR_HOOKABLE(Scores_CountFragsRemaining, EV_NO_ARGS);
#define EV_GrappleHookThink(i, o) \
- /**/ i(entity, self) \
+ /**/ i(entity, __self) \
/**/ i(int, hook_tarzan) \
/**/ o(int, hook_tarzan) \
/**/ i(entity, hook_pullentity) \
entity hook_pullentity;
float hook_velmultiplier;
MUTATOR_HOOKABLE(GrappleHookThink, EV_GrappleHookThink);
+
+#define EV_BuffModel_Customize(i, o) \
+ /**/ i(entity, __self) \
+ /**/ i(entity, buff_player) \
+ /**/
+entity buff_player;
+MUTATOR_HOOKABLE(BuffModel_Customize, EV_BuffModel_Customize);
+
+/** called at when a buff is touched. Called early, can edit buff properties. */
+#define EV_BuffTouch(i, o) \
+ /** item */ i(entity, __self) \
+ /** player */ i(entity, other) \
+ /**/
+MUTATOR_HOOKABLE(BuffTouch, EV_BuffTouch);
#endif