Fix recipe classes

This commit is contained in:
ineedbots 2021-09-09 15:59:48 -06:00
parent 3473aaa0da
commit 74d3e6877a

View File

@ -1204,41 +1204,74 @@ classWatch()
} }
} }
/*
Any recipe classes
*/
anyMatchRuleDefaultClass( team )
{
if ( !isUsingMatchRulesData() )
return false;
for ( i = 0; i < 5; i++ )
{
if ( GetMatchRulesData( "defaultClasses", team, i, "class", "inUse" ) )
return true;
}
return false;
}
/* /*
Chooses a random class Chooses a random class
*/ */
chooseRandomClass() chooseRandomClass( )
{ {
reasonable = getDvarInt( "bots_loadout_reasonable" ); reasonable = getDvarInt( "bots_loadout_reasonable" );
class = ""; class = "";
rank = self maps\mp\gametypes\_rank::getRankForXp( self getPlayerData( "experience" ) ) + 1; rank = self maps\mp\gametypes\_rank::getRankForXp( self getPlayerData( "experience" ) ) + 1;
if ( rank < 4 || ( randomInt( 100 ) < 2 && !reasonable ) ) if ( rank < 4 || ( randomInt( 100 ) < 2 && !reasonable ) || !level.matchRules_allowCustomClasses )
{ {
while ( class == "" ) while ( class == "" )
{ {
switch ( randomInt( 5 ) ) switch ( randomInt( 5 ) )
{ {
case 0: case 0:
if ( isUsingMatchRulesData() && GetMatchRulesData( "defaultClasses", self.team, 0, "class", "inUse" ) )
class = self.team + "_recipe1";
else if ( !anyMatchRuleDefaultClass( self.team ) )
class = "class0"; class = "class0";
break; break;
case 1: case 1:
if ( isUsingMatchRulesData() && GetMatchRulesData( "defaultClasses", self.team, 1, "class", "inUse" ) )
class = self.team + "_recipe2";
else if ( !anyMatchRuleDefaultClass( self.team ) )
class = "class1"; class = "class1";
break; break;
case 2: case 2:
if ( isUsingMatchRulesData() && GetMatchRulesData( "defaultClasses", self.team, 2, "class", "inUse" ) )
class = self.team + "_recipe3";
else if ( !anyMatchRuleDefaultClass( self.team ) )
class = "class2"; class = "class2";
break; break;
case 3: case 3:
if ( rank >= 2 ) if ( isUsingMatchRulesData() && GetMatchRulesData( "defaultClasses", self.team, 3, "class", "inUse" ) )
class = self.team + "_recipe4";
else if ( rank >= 2 && !anyMatchRuleDefaultClass( self.team ) )
class = "class3"; class = "class3";
break; break;
case 4: case 4:
if ( rank >= 3 ) if ( isUsingMatchRulesData() && GetMatchRulesData( "defaultClasses", self.team, 4, "class", "inUse" ) )
class = self.team + "_recipe5";
else if ( rank >= 3 && !anyMatchRuleDefaultClass( self.team ) )
class = "class4"; class = "class4";
break; break;