]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/base.qh
Monsters!
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / base.qh
index e46d5b6728244e42a67bc2c837543ed175b5f969..da9d0f36c7c5e091320b94947f47f849972d8fff 100644 (file)
@@ -6,7 +6,7 @@
 float CallbackChain_ReturnValue; // read-only field of the current return value
 
 entity CallbackChain_New(string name);
-float CallbackChain_Add(entity cb, float() func, float order)
+float CallbackChain_Add(entity cb, float() func, float order);
 float CallbackChain_Remove(entity cb, float() func);
 // a callback function is like this:
 // float mycallback(entity me)
@@ -50,6 +50,10 @@ MUTATOR_HOOKABLE(PlayerSpawn);
 
 MUTATOR_HOOKABLE(ClientDisconnect);
        // called when a player disconnects
+       
+MUTATOR_HOOKABLE(PlayerCanJoin);
+       // called when a player tries to join
+       // if this returns TRUE, the player cannot join
 
 MUTATOR_HOOKABLE(PlayerDies);
        // called when a player dies to e.g. remove stuff he was carrying.
@@ -103,6 +107,12 @@ MUTATOR_HOOKABLE(TurretSpawn);
        // return error to request removal
        // INPUT: self - turret
        
+MUTATOR_HOOKABLE(TurretValidateTarget);
+       // return target score
+       // INPUT:
+               entity turret_target;
+               entity turret;
+       
 MUTATOR_HOOKABLE(OnEntityPreSpawn);
        // return error to prevent entity spawn, or modify the entity
 
@@ -127,6 +137,33 @@ MUTATOR_HOOKABLE(EditProjectile);
        // INPUT:
                entity self;
                entity other;
+        
+MUTATOR_HOOKABLE(MonsterSpawn);
+       // called when a monster spawns
+    
+MUTATOR_HOOKABLE(MonsterDies);
+       // called when a monster dies
+       // INPUT:
+               entity frag_attacker;
+               
+MUTATOR_HOOKABLE(MonsterDropItem);
+       // called when a monster is dropping loot
+       // INPUT, OUTPUT:
+               string monster_dropitem;
+               string monster_dropsize;
+       
+MUTATOR_HOOKABLE(MonsterMove);
+       // called when a monster moves
+       // INPUT:
+               float monster_speed_run;
+               float monster_speed_walk;
+               entity monster_target;
+    
+MUTATOR_HOOKABLE(MonsterFindTarget);
+       // called when a monster looks for another target
+    
+MUTATOR_HOOKABLE(MonsterCheckBossFlag);
+    // called to change a random monster to a miniboss
 
 MUTATOR_HOOKABLE(PlayerDamage_SplitHealthArmor);
        // called when a player gets damaged to e.g. remove stuff he was carrying.
@@ -213,6 +250,39 @@ MUTATOR_HOOKABLE(SetWeaponreplace);
        // IN+OUT
                string ret_string;
 
+MUTATOR_HOOKABLE(PortalTeleport);
+       // called whenever a player goes through a portal gun teleport
+       // allows you to strip a player of an item if they go through the teleporter to help prevent cheating
+       // INPUT
+       entity self;
+       
+MUTATOR_HOOKABLE(HelpMePing);
+       // called whenever a player uses impulse 33 (help me) in cl_impulse.qc
+       // normally help me ping uses self.waypointsprite_attachedforcarrier,
+       // but if your mutator uses something different then you can handle it
+       // in a special manner using this hook
+       // INPUT
+       entity self; // the player who pressed impulse 33
+       
+MUTATOR_HOOKABLE(VehicleEnter);
+       // called when a player enters a vehicle
+       // allows mutators to set special settings in this event
+       // INPUT
+       entity vh_player; // player
+       entity vh_vehicle; // vehicle
+       
+MUTATOR_HOOKABLE(VehicleExit);
+       // called when a player exits a vehicle
+       // allows mutators to set special settings in this event
+       // INPUT
+       entity vh_player; // player
+       entity vh_vehicle; // vehicle
+       
+MUTATOR_HOOKABLE(AbortSpeedrun);
+       // called when a speedrun is aborted and the player is teleported back to start position
+       // INPUT
+       entity self; // player
+
 MUTATOR_HOOKABLE(ItemTouch);
        // called at when a item is touched. Called early, can edit item properties.
        entity self;    // item
@@ -221,3 +291,6 @@ MUTATOR_HOOKABLE(ItemTouch);
 MUTATOR_HOOKABLE(ClientConnect);
        // called at when a player connect
        entity self;    // player
+
+MUTATOR_HOOKABLE(HavocBot_ChooseRule);
+       entity self;