From 0300692cdd1069952914ea00c226f5e7e7f34eca Mon Sep 17 00:00:00 2001 From: ineed bots Date: Thu, 9 May 2024 14:18:13 -0600 Subject: [PATCH] turret --- maps/mp/bots/_bot.gsc | 38 ++++++++++++++++++++++++++++++++++ maps/mp/bots/_bot_internal.gsc | 7 +++++++ 2 files changed, 45 insertions(+) diff --git a/maps/mp/bots/_bot.gsc b/maps/mp/bots/_bot.gsc index 13d90de..a297a40 100644 --- a/maps/mp/bots/_bot.gsc +++ b/maps/mp/bots/_bot.gsc @@ -290,6 +290,8 @@ init() level thread handleBots(); level thread onPlayerChat(); + + array_thread( getentarray( "misc_turret", "classname" ), ::turret_monitoruse_watcher ); } /* @@ -1617,3 +1619,39 @@ onPlayerChat() } } } + +/* + Monitors turret usage +*/ +turret_monitoruse_watcher() +{ + self endon( "death" ); + + for ( ;; ) + { + self waittill ( "trigger", player ); + + self monitor_player_turret( player ); + + self.owner = undefined; + + if ( isdefined( player ) ) + { + player.turret = undefined; + } + } +} + +/* + While player uses turret +*/ +monitor_player_turret( player ) +{ + player endon( "death" ); + player endon( "disconnect" ); + + player.turret = self; + self.owner = player; + + self waittill( "turret_deactivate" ); +} diff --git a/maps/mp/bots/_bot_internal.gsc b/maps/mp/bots/_bot_internal.gsc index 4786218..79ef2a9 100644 --- a/maps/mp/bots/_bot_internal.gsc +++ b/maps/mp/bots/_bot_internal.gsc @@ -843,6 +843,13 @@ watchPickupGun() continue; } + // todo have bots use turrets instead of just kicking them off of it + if ( isdefined( self.turret ) ) + { + self thread use( 0.5 ); + continue; + } + weap = self getcurrentweapon(); if ( weap != "none" && self getammocount( weap ) )