]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/events.qh
Add g_balance_devastator_remote_jump as a controller cvar for rocket flying, force...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / events.qh
index 864623bbae4b888f5c3ca4e56e40d70b0d513246..a310c6ccadb294c25aad77a6f3900cbb1a96a19a 100644 (file)
@@ -306,6 +306,7 @@ MUTATOR_HOOKABLE(PlayerPreThink, EV_PlayerPreThink);
 MUTATOR_HOOKABLE(GetPressedKeys, EV_GetPressedKeys);
 
 /** is meant to call GetCvars_handle*(get_cvars_s, get_cvars_f, cvarfield, "cvarname") for cvars this mutator needs from the client */
+// NOTE: requesting cvar values (get_cvars_f 0) is deprecated
 #define EV_GetCvars(i, o) \
     /**/ i(float, get_cvars_f) \
     /**/ i(string, get_cvars_s) \
@@ -701,18 +702,18 @@ resource limit. */
        /**/
 MUTATOR_HOOKABLE(GetResourceLimit, EV_GetResourceLimit);
 
-/** Called when the amount of resource of an entity changes. See RESOURCE_*
+/** Called when the amount of resource of an entity changes. See RES_*
 constants for resource types. Return true to forbid the change. */
-#define EV_SetResourceAmount(i, o) \
+#define EV_SetResource(i, o) \
        /** checked entity */ i(entity, MUTATOR_ARGV_0_entity) \
        /** resource type */  i(int, MUTATOR_ARGV_1_int) \
        /**/                  o(int, MUTATOR_ARGV_1_int) \
        /** amount */         i(float, MUTATOR_ARGV_2_float) \
        /**/                  o(float, MUTATOR_ARGV_2_float) \
        /**/
-MUTATOR_HOOKABLE(SetResourceAmount, EV_SetResourceAmount);
+MUTATOR_HOOKABLE(SetResource, EV_SetResource);
 
-/** Called after the amount of resource of an entity has changed. See RESOURCE_*
+/** Called after the amount of resource of an entity has changed. See RES_*
 constants for resource types. Amount wasted is the amount of resource that is
 above resource limit so it was not given. */
 #define EV_ResourceAmountChanged(i, o) \
@@ -723,7 +724,7 @@ above resource limit so it was not given. */
 MUTATOR_HOOKABLE(ResourceAmountChanged, EV_ResourceAmountChanged);
 
 /** Called when there was an attempt to set entity resources higher than their
-limit. See RESOURCE_* constants for resource types. Amount wasted is the amount
+limit. See RES_* constants for resource types. Amount wasted is the amount
 of resource that is above resource limit so it was not given. */
 #define EV_ResourceWasted(i, o) \
        /** checked entity */ i(entity, MUTATOR_ARGV_0_entity) \
@@ -732,8 +733,9 @@ of resource that is above resource limit so it was not given. */
        /**/
 MUTATOR_HOOKABLE(ResourceWasted, EV_ResourceWasted);
 
-/** Called when entity is being given some resource. See RESOURCE_* constants
-for resource types. Return true to forbid giving. */
+/** Called when entity is being given some resource. See RES_* constants
+for resource types. Return true to forbid giving.
+NOTE: This hook is also called by GiveResourceWithLimit */
 #define EV_GiveResource(i, o) \
        /** receiver */      i(entity, MUTATOR_ARGV_0_entity) \
        /** resource type */ i(int, MUTATOR_ARGV_1_int) \
@@ -744,7 +746,7 @@ for resource types. Return true to forbid giving. */
 MUTATOR_HOOKABLE(GiveResource, EV_GiveResource);
 
 /** Called when entity is being given some resource with specified limit. See
-RESOURCE_* constants for resource types. Return true to forbid giving. */
+RES_* constants for resource types. Return true to forbid giving. */
 #define EV_GiveResourceWithLimit(i, o) \
        /** receiver */      i(entity, MUTATOR_ARGV_0_entity) \
        /** resource type */ i(int, MUTATOR_ARGV_1_int) \
@@ -756,8 +758,9 @@ RESOURCE_* constants for resource types. Return true to forbid giving. */
        /**/
 MUTATOR_HOOKABLE(GiveResourceWithLimit, EV_GiveResourceWithLimit);
 
-/** Called when some resource is being taken from an entity. See RESOURCE_* constants
-for resource types. Return true to forbid giving. */
+/** Called when some resource is being taken from an entity. See RES_* constants
+for resource types. Return true to forbid giving.
+NOTE: This hook is also called by TakeResourceWithLimit */
 #define EV_TakeResource(i, o) \
     /** receiver */      i(entity, MUTATOR_ARGV_0_entity) \
     /** resource type */ i(int, MUTATOR_ARGV_1_int) \
@@ -768,7 +771,7 @@ for resource types. Return true to forbid giving. */
 MUTATOR_HOOKABLE(TakeResource, EV_TakeResource);
 
 /** Called when some resource is being taken from an entity, with a limit. See
-RESOURCE_* constants for resource types. Return true to forbid giving. */
+RES_* constants for resource types. Return true to forbid giving. */
 #define EV_TakeResourceWithLimit(i, o) \
     /** receiver */      i(entity, MUTATOR_ARGV_0_entity) \
     /** resource type */ i(int, MUTATOR_ARGV_1_int) \
@@ -1081,15 +1084,23 @@ MUTATOR_HOOKABLE(Player_ChangeTeamKill, EV_Player_ChangeTeamKill);
        /** id */       i(float, MUTATOR_ARGV_0_float) \
        /** status */   i(float, MUTATOR_ARGV_1_float) \
        /** data */     i(string, MUTATOR_ARGV_2_string) \
-    /**/
+       /**/
 MUTATOR_HOOKABLE(URI_GetCallback, EV_URI_GetCallback);
 
+/**
+ * return true to lock weapon (can't be used nor changed) for a player
+ */
+#define EV_LockWeapon(i, o) \
+       /** player */ i(entity, MUTATOR_ARGV_0_entity) \
+       /**/
+MUTATOR_HOOKABLE(LockWeapon, EV_LockWeapon);
+
 /**
  * return true to prevent weapon use for a player
  */
- #define EV_ForbidWeaponUse(i, o) \
-    /** player */ i(entity, MUTATOR_ARGV_0_entity) \
-    /**/
+#define EV_ForbidWeaponUse(i, o) \
+       /** player */ i(entity, MUTATOR_ARGV_0_entity) \
+       /**/
 MUTATOR_HOOKABLE(ForbidWeaponUse, EV_ForbidWeaponUse);
 
 /** called when creating a clone of the player (usually for corpses that stay after the player has re-spawned) */
@@ -1212,3 +1223,18 @@ MUTATOR_HOOKABLE(Unfreeze, EV_Unfreeze);
     /**/                            o(int, MUTATOR_ARGV_0_int) \
     /**/
 MUTATOR_HOOKABLE(GetPlayerLimit, EV_GetPlayerLimit);
+
+/** include special item codes for a death to the game log */
+#define EV_LogDeath_AppendItemCodes(i, o) \
+    /** player */         i(entity, MUTATOR_ARGV_0_entity) \
+    /** item codes */     i(string, MUTATOR_ARGV_1_string) \
+    /**/                  o(string, MUTATOR_ARGV_1_string) \
+    /**/
+MUTATOR_HOOKABLE(LogDeath_AppendItemCodes, EV_LogDeath_AppendItemCodes);
+
+/** Allows disabling or enabling rocket jumping independently of balance, use the parameter to force a preferred setting */
+#define EV_AllowRocketJumping(i, o) \
+    /** allow_rocketjump */         i(bool, MUTATOR_ARGV_0_bool) \
+    /**/                            o(bool, MUTATOR_ARGV_0_bool) \
+    /**/
+MUTATOR_HOOKABLE(AllowRocketJumping, EV_AllowRocketJumping);