From c2ff22a102c17c416e574d17c2859e61679d06cf Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 28 Jan 2013 02:55:13 +1100 Subject: [PATCH] Disable vehicles in tower defense --- qcsrc/server/mutators/base.qh | 3 +++ qcsrc/server/mutators/gamemode_td.qc | 7 +++++++ qcsrc/server/vehicles/vehicles.qc | 3 +++ 3 files changed, 13 insertions(+) diff --git a/qcsrc/server/mutators/base.qh b/qcsrc/server/mutators/base.qh index 90b376884..0029fb9d7 100644 --- a/qcsrc/server/mutators/base.qh +++ b/qcsrc/server/mutators/base.qh @@ -260,6 +260,9 @@ MUTATOR_HOOKABLE(HelpMePing); // INPUT entity self; // the player who pressed impulse 33 +MUTATOR_HOOKABLE(VehicleSpawn); + // called when a vehicle spawns + MUTATOR_HOOKABLE(VehicleEnter); // called when a player enters a vehicle // allows mutators to set special settings in this event diff --git a/qcsrc/server/mutators/gamemode_td.qc b/qcsrc/server/mutators/gamemode_td.qc index f442067d6..e37b72ecd 100644 --- a/qcsrc/server/mutators/gamemode_td.qc +++ b/qcsrc/server/mutators/gamemode_td.qc @@ -887,6 +887,12 @@ MUTATOR_HOOKFUNCTION(td_TurretSpawn) return FALSE; } +MUTATOR_HOOKFUNCTION(td_DisableVehicles) +{ + // you shall not spawn! + return TRUE; +} + MUTATOR_HOOKFUNCTION(td_PlayerCommand) { if(MUTATOR_RETURNVALUE) { return FALSE; } // command was already handled? @@ -1033,6 +1039,7 @@ MUTATOR_DEFINITION(gamemode_td) MUTATOR_HOOK(PlayerDies, td_PlayerDies, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerDamage_Calculate, td_PlayerDamage_Calculate, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerSpawn, td_PlayerSpawn, CBC_ORDER_ANY); + MUTATOR_HOOK(VehicleSpawn, td_DisableVehicles, CBC_ORDER_ANY); MUTATOR_HOOK(SV_ParseClientCommand, td_PlayerCommand, CBC_ORDER_ANY); MUTATOR_ONADD diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index b7b168eeb..de4e2f71d 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -1315,6 +1315,9 @@ float vehicle_initialize(string net_name, self.pos1 = self.origin; self.pos2 = self.angles; self.tur_head.team = self.team; + + if(MUTATOR_CALLHOOK(VehicleSpawn)) + return FALSE; return TRUE; } -- 2.39.2