X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fmutators%2Fevents.qh;h=ad97997e2f53c2f4c0d61900688d9a6416c6e84c;hb=42a9e3d7ece2c716e5cd6899e90841acb7fb891b;hp=be95bd1a49a3d5e35660ffe1e1b14ab96a086ecb;hpb=1d0313b550f20ceef79a51c4c8a2029eb673d979;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/events.qh b/qcsrc/server/mutators/events.qh index be95bd1a4..ad97997e2 100644 --- a/qcsrc/server/mutators/events.qh +++ b/qcsrc/server/mutators/events.qh @@ -1,7 +1,6 @@ -#ifndef SERVER_MUTATORS_EVENTS_H -#define SERVER_MUTATORS_EVENTS_H +#pragma once -#include "../../common/mutators/base.qh" +#include // register all possible hooks here @@ -73,16 +72,6 @@ string weapon_sound; string weapon_sound_output; MUTATOR_HOOKABLE(WeaponSound, EV_WeaponSound); -/** 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); - /** called when an item model is about to be set, allows custom paths etc. */ #define EV_ItemModel(i, o) \ /**/ i(string, item_model) \ @@ -137,10 +126,16 @@ string format_message; MUTATOR_HOOKABLE(FormatMessage, EV_FormatMessage); /** returns true if throwing the current weapon shall not be allowed */ -MUTATOR_HOOKABLE(ForbidThrowCurrentWeapon, EV_NO_ARGS); +#define EV_ForbidThrowCurrentWeapon(i, o) \ + /**/ i(entity, __self) \ + /**/ +MUTATOR_HOOKABLE(ForbidThrowCurrentWeapon, EV_ForbidThrowCurrentWeapon); /** returns true if dropping the current weapon shall not be allowed at any time including death */ -MUTATOR_HOOKABLE(ForbidDropCurrentWeapon, EV_NO_ARGS); +#define EV_ForbidDropCurrentWeapon(i, o) \ + /**/ i(entity, __self) \ + /**/ +MUTATOR_HOOKABLE(ForbidDropCurrentWeapon, EV_ForbidDropCurrentWeapon); /** */ MUTATOR_HOOKABLE(SetDefaultAlpha, EV_NO_ARGS); @@ -200,7 +195,10 @@ bool ret_bool; MUTATOR_HOOKABLE(Turret_CheckFire, EV_Turret_CheckFire); /** return error to prevent entity spawn, or modify the entity */ -MUTATOR_HOOKABLE(OnEntityPreSpawn, EV_NO_ARGS); +#define EV_OnEntityPreSpawn(i, o) \ + /** turret */ i(entity, __self) \ + /**/ +MUTATOR_HOOKABLE(OnEntityPreSpawn, EV_OnEntityPreSpawn); /** runs in the event loop for players; is called for ALL player entities, also bots, also the dead, or spectators */ MUTATOR_HOOKABLE(PlayerPreThink, EV_NO_ARGS); @@ -225,10 +223,14 @@ MUTATOR_HOOKABLE(GetCvars, EV_NO_ARGS); // NOTE: Can't use EV_GetCvars because o MUTATOR_HOOKABLE(EditProjectile, EV_EditProjectile); /** called when a monster spawns */ -MUTATOR_HOOKABLE(MonsterSpawn, EV_NO_ARGS); +#define EV_MonsterSpawn(i, o) \ + /**/ i(entity, __self) \ + /**/ +MUTATOR_HOOKABLE(MonsterSpawn, EV_MonsterSpawn); /** called when a monster dies */ #define EV_MonsterDies(i, o) \ + /**/ i(entity, frag_target) \ /**/ i(entity, frag_attacker) \ /**/ MUTATOR_HOOKABLE(MonsterDies, EV_MonsterDies); @@ -259,6 +261,7 @@ MUTATOR_HOOKABLE(MonsterDropItem, EV_MonsterDropItem); * returning true makes the monster stop */ #define EV_MonsterMove(i, o) \ + /**/ i(entity, __self) \ /**/ i(float, monster_speed_run) \ /**/ o(float, monster_speed_run) \ /**/ i(float, monster_speed_walk) \ @@ -274,7 +277,10 @@ MUTATOR_HOOKABLE(MonsterMove, EV_MonsterMove); MUTATOR_HOOKABLE(MonsterFindTarget, EV_NO_ARGS); /** called to change a random monster to a miniboss */ -MUTATOR_HOOKABLE(MonsterCheckBossFlag, EV_NO_ARGS); +#define EV_MonsterCheckBossFlag(i, o) \ + /**/ i(entity, __self) \ + /**/ +MUTATOR_HOOKABLE(MonsterCheckBossFlag, EV_MonsterCheckBossFlag); /** * called when a player tries to spawn a monster @@ -475,6 +481,7 @@ MUTATOR_HOOKABLE(Item_RespawnCountdown, EV_Item_RespawnCountdown); /** called when a bot checks a target to attack */ #define EV_BotShouldAttack(i, o) \ + /**/ i(entity, __self) \ /**/ i(entity, checkentity) \ /**/ entity checkentity; @@ -504,7 +511,10 @@ MUTATOR_HOOKABLE(HelpMePing, EV_HelpMePing); * called when a vehicle initializes * return true to remove the vehicle */ -MUTATOR_HOOKABLE(VehicleSpawn, EV_NO_ARGS); +#define EV_VehicleSpawn(i, o) \ + /**/ i(entity, __self) \ + /**/ +MUTATOR_HOOKABLE(VehicleSpawn, EV_VehicleSpawn); /** * called when a player enters a vehicle @@ -838,4 +848,24 @@ MUTATOR_HOOKABLE(PrepareExplosionByDamage, EV_PrepareExplosionByDamage); string monster_model; string monster_model_output; MUTATOR_HOOKABLE(MonsterModel, EV_MonsterModel); -#endif + +/**/ +#define EV_Player_ChangeTeam(i, o) \ + /**/ i(entity, __self) \ + /**/ i(float, pct_curteam) \ + /**/ i(float, pct_newteam) \ + /**/ +float pct_curteam; +float pct_newteam; +MUTATOR_HOOKABLE(Player_ChangeTeam, EV_Player_ChangeTeam); + +/**/ +#define EV_URI_GetCallback(i, o) \ + /**/ i(float, uricb_id) \ + /**/ i(float, uricb_status) \ + /**/ i(string, uricb_data) \ + /**/ +float uricb_id; +float uricb_status; +string uricb_data; +MUTATOR_HOOKABLE(URI_GetCallback, EV_URI_GetCallback);