From cff61ab690a34b3dc99360e313b7f9215ffd7e91 Mon Sep 17 00:00:00 2001 From: ineed bots Date: Sat, 20 Jan 2024 00:17:29 -0600 Subject: [PATCH] modwarfare support --- maps/mp/bots/_bot_internal.gsc | 6 +++--- maps/mp/bots/_bot_script.gsc | 15 +++++++++++++++ maps/mp/bots/_bot_utility.gsc | 16 ++++++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/maps/mp/bots/_bot_internal.gsc b/maps/mp/bots/_bot_internal.gsc index b58a37b..5a509ce 100644 --- a/maps/mp/bots/_bot_internal.gsc +++ b/maps/mp/bots/_bot_internal.gsc @@ -485,7 +485,7 @@ IsWeapSniper( weap ) return false; } - if ( maps\mp\gametypes\_missions::getweaponclass( weap ) != "weapon_sniper" ) + if ( getweaponclass( weap ) != "weapon_sniper" ) { return false; } @@ -1508,7 +1508,7 @@ aim_loop() } else if ( curweap != "none" && weaponclass( curweap ) == "grenade" ) { - if ( maps\mp\gametypes\_missions::getweaponclass( curweap ) == "weapon_projectile" ) + if ( getweaponclass( curweap ) == "weapon_projectile" ) { nadeAimOffset = dist / 16000; } @@ -1680,7 +1680,7 @@ aim_loop() } else if ( curweap != "none" && weaponclass( curweap ) == "grenade" ) { - if ( maps\mp\gametypes\_missions::getweaponclass( curweap ) == "weapon_projectile" ) + if ( getweaponclass( curweap ) == "weapon_projectile" ) { nadeAimOffset = dist / 16000; } diff --git a/maps/mp/bots/_bot_script.gsc b/maps/mp/bots/_bot_script.gsc index f1d6246..e52562c 100644 --- a/maps/mp/bots/_bot_script.gsc +++ b/maps/mp/bots/_bot_script.gsc @@ -347,6 +347,21 @@ classWatch() if ( !maps\mp\gametypes\_globallogic::isvalidclass( self.class ) || !isdefined( self.bot_change_class ) ) { + // mod warfare shtuff + if ( isdefined( level.serverdvars ) ) + { + a = []; + a[ a.size ] = "assault"; + a[ a.size ] = "specops"; + a[ a.size ] = "heavygunner"; + a[ a.size ] = "demolitions"; + a[ a.size ] = "sniper"; + + self notify( "menuresponse", game[ "menu_changeclass_" + self.pers[ "team" ] ], random( a ) ); + + wait 0.5; + } + self notify( "menuresponse", game[ "menu_changeclass" ], self chooseRandomClass() ); } diff --git a/maps/mp/bots/_bot_utility.gsc b/maps/mp/bots/_bot_utility.gsc index 48e69ae..29e42c0 100644 --- a/maps/mp/bots/_bot_utility.gsc +++ b/maps/mp/bots/_bot_utility.gsc @@ -1029,6 +1029,22 @@ isItemUnlocked( what, lvl ) } } +/* + ModWarfare removes this func from _missions +*/ +getweaponclass( weapon ) +{ + tokens = strtok( weapon, "_" ); + weaponClass = tablelookup( "mp/statstable.csv", 4, tokens[ 0 ], 2 ); + + if ( ismg( weapon ) ) + { + weaponClass = "weapon_mg"; + } + + return weaponClass; +} + /* If the weapon is allowed to be dropped */