]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/base.qh
Merge remote-tracking branch 'origin/master' into samual/mutator_ctf
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / base.qh
index 73b23bbd3f224201ecffa53725fe544a3b225573..f9a23e5f8d2214f26ce75453b039e172822cc5d4 100644 (file)
@@ -45,6 +45,7 @@ MUTATOR_HOOKABLE(MakePlayerObserver);
        // called when a player becomes observer, after shared setup
 
 MUTATOR_HOOKABLE(PlayerSpawn);
+       entity spawn_spot; // spot that was used, or world
        // called when a player spawns as player, after shared setup, before his weapon is chosen (so items may be changed in here)
 
 MUTATOR_HOOKABLE(ClientDisconnect);
@@ -188,3 +189,68 @@ MUTATOR_HOOKABLE(SV_ParseClientCommand);
                        return 0;
                }
        */
+
+MUTATOR_HOOKABLE(Spawn_Score);
+       // called when a spawnpoint is being evaluated
+       // return 1 to make the spawnpoint unusable
+       // INPUT
+       entity self; // player wanting to spawn
+       entity spawn_spot; // spot to be evaluated
+       // IN+OUT
+       vector spawn_score; // _x is priority, _y is "distance"
+
+MUTATOR_HOOKABLE(SV_StartFrame);
+       // runs globally each server frame
+
+MUTATOR_HOOKABLE(SetModname);
+       // OUT
+       string modname; // name of the mutator/mod if it warrants showing as such in the server browser
+
+MUTATOR_HOOKABLE(SetWeaponreplace);
+       // IN
+               entity self; // map entity
+               entity other; // weapon info
+       // 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
+       entity other;   // player
+
+MUTATOR_HOOKABLE(ClientConnect);
+       // called at when a player connect
+       entity self;    // player