Format scripts

This commit is contained in:
ineedbots 2021-06-18 15:28:18 -06:00
parent 3eca845f07
commit 9713ac71b7
4 changed files with 4160 additions and 3872 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -16,16 +16,17 @@ getBotArray()
{
result = [];
playercount = level.players.size;
for(i = 0; i < playercount; i++)
for ( i = 0; i < playercount; i++ )
{
player = level.players[i];
if(!player is_bot())
if ( !player is_bot() )
continue;
result[result.size] = player;
}
return result;
}
@ -34,7 +35,7 @@ getBotArray()
*/
getGoodMapAmount()
{
switch(getdvar("mapname"))
switch ( getdvar( "mapname" ) )
{
default:
return 2;
@ -44,13 +45,13 @@ getGoodMapAmount()
/*
Rounds to the nearest whole number.
*/
Round(x)
Round( x )
{
y = int(x);
if(abs(x) - abs(y) > 0.5)
y = int( x );
if ( abs( x ) - abs( y ) > 0.5 )
{
if(x < 0)
if ( x < 0 )
return y - 1;
else
return y + 1;
@ -62,12 +63,12 @@ Round(x)
/*
Picks a random thing
*/
PickRandom(arr)
PickRandom( arr )
{
if (!arr.size)
if ( !arr.size )
return undefined;
return arr[randomInt(arr.size)];
return arr[randomInt( arr.size )];
}
/*
@ -75,7 +76,7 @@ PickRandom(arr)
*/
isDefusing()
{
return (isDefined(self.isDefusing) && self.isDefusing);
return ( isDefined( self.isDefusing ) && self.isDefusing );
}
/*
@ -83,7 +84,7 @@ isDefusing()
*/
isPlanting()
{
return (isDefined(self.isPlanting) && self.isPlanting);
return ( isDefined( self.isPlanting ) && self.isPlanting );
}
/*
@ -91,7 +92,7 @@ isPlanting()
*/
inLastStand()
{
return (isDefined(self.laststand) && self.laststand);
return ( isDefined( self.laststand ) && self.laststand );
}
/*
@ -99,7 +100,7 @@ inLastStand()
*/
isFlagCarrier()
{
return (isDefined(self.isFlagCarrier) && self.isFlagCarrier);
return ( isDefined( self.isFlagCarrier ) && self.isFlagCarrier );
}
/*
@ -107,7 +108,7 @@ isFlagCarrier()
*/
isInUse()
{
return (isDefined(self.inUse) && self.inUse);
return ( isDefined( self.inUse ) && self.inUse );
}
/*
@ -115,7 +116,7 @@ isInUse()
*/
isBombCarrier()
{
return (isDefined(self.isBombCarrier) && self.isBombCarrier);
return ( isDefined( self.isBombCarrier ) && self.isBombCarrier );
}
/*
@ -141,17 +142,20 @@ GetBotDiffNum()
{
num = 0;
switch (getDvar("bot_difficulty"))
switch ( getDvar( "bot_difficulty" ) )
{
case "fu":
num = 3;
break;
case "hard":
num = 2;
break;
case "normal":
num = 1;
break;
case "easy":
default:
num = 0;
@ -164,9 +168,9 @@ GetBotDiffNum()
/*
is the weapon alt mode?
*/
isWeaponAltmode(weap)
isWeaponAltmode( weap )
{
if (isStrStart(weap, "gl_") || isStrStart(weap, "ft_") || isStrStart(weap, "mk_"))
if ( isStrStart( weap, "gl_" ) || isStrStart( weap, "ft_" ) || isStrStart( weap, "mk_" ) )
return true;
return false;
@ -179,14 +183,14 @@ getValidTube()
{
weaps = self getweaponslist();
for (i = 0; i < weaps.size; i++)
for ( i = 0; i < weaps.size; i++ )
{
weap = weaps[i];
if(!self getAmmoCount(weap))
if ( !self getAmmoCount( weap ) )
continue;
if ((isSubStr(weap, "gl_") && !isSubStr(weap, "_gl_")) || weap == "china_lake_mp")
if ( ( isSubStr( weap, "gl_" ) && !isSubStr( weap, "_gl_" ) ) || weap == "china_lake_mp" )
return weap;
}
@ -199,10 +203,10 @@ getValidTube()
waittill_any_timeout( timeOut, string1, string2, string3, string4, string5 )
{
if ( ( !isdefined( string1 ) || string1 != "death" ) &&
( !isdefined( string2 ) || string2 != "death" ) &&
( !isdefined( string3 ) || string3 != "death" ) &&
( !isdefined( string4 ) || string4 != "death" ) &&
( !isdefined( string5 ) || string5 != "death" ) )
( !isdefined( string2 ) || string2 != "death" ) &&
( !isdefined( string3 ) || string3 != "death" ) &&
( !isdefined( string4 ) || string4 != "death" ) &&
( !isdefined( string5 ) || string5 != "death" ) )
self endon( "death" );
ent = spawnstruct();
@ -247,38 +251,38 @@ bot_wait_for_host()
{
host = undefined;
while (!isDefined(level) || !isDefined(level.players))
while ( !isDefined( level ) || !isDefined( level.players ) )
wait 0.05;
for(i = getDvarFloat("bots_main_waitForHostTime"); i > 0; i -= 0.05)
for ( i = getDvarFloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
{
host = GetHostPlayer();
if(isDefined(host))
if ( isDefined( host ) )
break;
wait 0.05;
}
if(!isDefined(host))
return;
for(i = getDvarFloat("bots_main_waitForHostTime"); i > 0; i -= 0.05)
{
if(IsDefined( host.pers[ "team" ] ))
break;
wait 0.05;
}
if(!IsDefined( host.pers[ "team" ] ))
if ( !isDefined( host ) )
return;
for(i = getDvarFloat("bots_main_waitForHostTime"); i > 0; i -= 0.05)
for ( i = getDvarFloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
{
if(host.pers[ "team" ] == "allies" || host.pers[ "team" ] == "axis")
if ( IsDefined( host.pers[ "team" ] ) )
break;
wait 0.05;
}
if ( !IsDefined( host.pers[ "team" ] ) )
return;
for ( i = getDvarFloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
{
if ( host.pers[ "team" ] == "allies" || host.pers[ "team" ] == "axis" )
break;
wait 0.05;
}
}
@ -286,11 +290,11 @@ bot_wait_for_host()
/*
Wrapper for setgoal
*/
SetBotGoal(where, dist)
SetBotGoal( where, dist )
{
self SetScriptGoal(where, dist);
self SetScriptGoal( where, dist );
waittillframeend;
self notify("new_goal");
self notify( "new_goal" );
}
/*
@ -300,29 +304,30 @@ ClearBotGoal()
{
self ClearScriptGoal();
waittillframeend;
self notify("new_goal");
self notify( "new_goal" );
}
/*
Freezes bot in place
*/
botStopMove(what)
botStopMove( what )
{
self endon("disconnect");
self endon("death");
level endon("game_ended");
self endon( "disconnect" );
self endon( "death" );
level endon( "game_ended" );
self notify("botStopMove");
self endon("botStopMove");
self notify( "botStopMove" );
self endon( "botStopMove" );
if (!what)
if ( !what )
return;
og = self.origin;
for (;;)
for ( ;; )
{
self setVelocity((0,0,0));
self setOrigin(og);
self setVelocity( ( 0, 0, 0 ) );
self setOrigin( og );
wait 0.05;
}
}
@ -330,40 +335,125 @@ botStopMove(what)
/*
Matches a num to a char
*/
keyCodeToString(a)
keyCodeToString( a )
{
b="";
switch(a)
b = "";
switch ( a )
{
case 0: b= "a"; break;
case 1: b= "b"; break;
case 2: b= "c"; break;
case 3: b= "d"; break;
case 4: b= "e"; break;
case 5: b= "f"; break;
case 6: b= "g"; break;
case 7: b= "h"; break;
case 8: b= "i"; break;
case 9: b= "j"; break;
case 10: b= "k"; break;
case 11: b= "l"; break;
case 12: b= "m"; break;
case 13: b= "n"; break;
case 14: b= "o"; break;
case 15: b= "p"; break;
case 16: b= "q"; break;
case 17: b= "r"; break;
case 18: b= "s"; break;
case 19: b= "t"; break;
case 20: b= "u"; break;
case 21: b= "v"; break;
case 22: b= "w"; break;
case 23: b= "x"; break;
case 24: b= "y"; break;
case 25: b= "z"; break;
case 26: b= "."; break;
case 27: b= " "; break;
case 0:
b = "a";
break;
case 1:
b = "b";
break;
case 2:
b = "c";
break;
case 3:
b = "d";
break;
case 4:
b = "e";
break;
case 5:
b = "f";
break;
case 6:
b = "g";
break;
case 7:
b = "h";
break;
case 8:
b = "i";
break;
case 9:
b = "j";
break;
case 10:
b = "k";
break;
case 11:
b = "l";
break;
case 12:
b = "m";
break;
case 13:
b = "n";
break;
case 14:
b = "o";
break;
case 15:
b = "p";
break;
case 16:
b = "q";
break;
case 17:
b = "r";
break;
case 18:
b = "s";
break;
case 19:
b = "t";
break;
case 20:
b = "u";
break;
case 21:
b = "v";
break;
case 22:
b = "w";
break;
case 23:
b = "x";
break;
case 24:
b = "y";
break;
case 25:
b = "z";
break;
case 26:
b = ".";
break;
case 27:
b = " ";
break;
}
return b;
}
@ -378,11 +468,11 @@ doExtraCheck()
/*
Returns the cone dot (like fov, or distance from the center of our screen).
*/
getConeDot(to, from, dir)
getConeDot( to, from, dir )
{
dirToTarget = VectorNormalize(to-from);
forward = AnglesToForward(dir);
return vectordot(dirToTarget, forward);
dirToTarget = VectorNormalize( to - from );
forward = AnglesToForward( dir );
return vectordot( dirToTarget, forward );
}
/*
@ -395,23 +485,24 @@ bot_onUsePlantObjectFix( player )
{
level thread bot_bombPlanted( self, player );
player logString( "bomb planted: " + self.label );
// disable all bomb zones except this one
for ( index = 0; index < level.bombZones.size; index++ )
{
if ( level.bombZones[index] == self )
continue;
level.bombZones[index] maps\mp\gametypes\_gameobjects::disableObject();
}
thread playSoundOnPlayers( "mus_sd_planted"+"_"+level.teamPostfix[player.pers["team"]] );
// removed plant audio until finalization of assest TODO : new plant sounds when assests are online
thread playSoundOnPlayers( "mus_sd_planted" + "_" + level.teamPostfix[player.pers["team"]] );
// removed plant audio until finalization of assest TODO : new plant sounds when assests are online
// player playSound( "mpl_sd_bomb_plant" );
player notify ( "bomb_planted" );
level thread maps\mp\_popups::DisplayTeamMessageToAll( &"MP_EXPLOSIVES_PLANTED_BY", player );
if( isdefined(player.pers["plants"]) )
if ( isdefined( player.pers["plants"] ) )
{
player.pers["plants"]++;
player.plants = player.pers["plants"];
@ -419,7 +510,7 @@ bot_onUsePlantObjectFix( player )
player maps\mp\_medals::saboteur();
player maps\mp\gametypes\_persistence::statAddWithGameType( "PLANTS", 1 );
maps\mp\gametypes\_globallogic_audio::leaderDialog( "bomb_planted" );
maps\mp\gametypes\_globallogic_score::givePlayerScore( "plant", player );
@ -434,19 +525,19 @@ bot_bombPlanted( destroyedObj, player )
{
maps\mp\gametypes\_globallogic_utils::pauseTimer();
level.bombPlanted = true;
destroyedObj.visuals[0] thread maps\mp\gametypes\_globallogic_utils::playTickingSound( "mpl_sab_ui_suitcasebomb_timer" );
//Play suspense music
level thread maps\mp\gametypes\sd::bombPlantedMusicDelay();
//thread maps\mp\gametypes\_globallogic_audio::actionMusicSet();
//thread maps\mp\gametypes\_globallogic_audio::actionMusicSet();
level.tickingObject = destroyedObj.visuals[0];
level.timeLimitOverride = true;
setGameEndTime( int( gettime() + (level.bombTimer * 1000) ) );
setGameEndTime( int( gettime() + ( level.bombTimer * 1000 ) ) );
setMatchFlag( "bomb_timer", 1 );
if ( !level.multiBomb )
{
level.sdBomb maps\mp\gametypes\_gameobjects::allowCarry( "none" );
@ -456,39 +547,40 @@ bot_bombPlanted( destroyedObj, player )
}
else
{
for ( index = 0; index < level.players.size; index++ )
{
if ( isDefined( level.players[index].carryIcon ) )
level.players[index].carryIcon destroyElem();
}
trace = bulletTrace( player.origin + (0,0,20), player.origin - (0,0,2000), false, player );
trace = bulletTrace( player.origin + ( 0, 0, 20 ), player.origin - ( 0, 0, 2000 ), false, player );
tempAngle = randomfloat( 360 );
forward = (cos( tempAngle ), sin( tempAngle ), 0);
forward = ( cos( tempAngle ), sin( tempAngle ), 0 );
forward = vectornormalize( forward - vector_scale( trace["normal"], vectordot( forward, trace["normal"] ) ) );
dropAngles = vectortoangles( forward );
level.sdBombModel = spawn( "script_model", trace["position"] );
level.sdBombModel.angles = dropAngles;
level.sdBombModel setModel( "prop_suitcase_bomb" );
}
destroyedObj maps\mp\gametypes\_gameobjects::allowUse( "none" );
destroyedObj maps\mp\gametypes\_gameobjects::setVisibleTeam( "none" );
/*
destroyedObj maps\mp\gametypes\_gameobjects::set2DIcon( "friendly", undefined );
destroyedObj maps\mp\gametypes\_gameobjects::set2DIcon( "enemy", undefined );
destroyedObj maps\mp\gametypes\_gameobjects::set3DIcon( "friendly", undefined );
destroyedObj maps\mp\gametypes\_gameobjects::set3DIcon( "enemy", undefined );
destroyedObj maps\mp\gametypes\_gameobjects::set2DIcon( "friendly", undefined );
destroyedObj maps\mp\gametypes\_gameobjects::set2DIcon( "enemy", undefined );
destroyedObj maps\mp\gametypes\_gameobjects::set3DIcon( "friendly", undefined );
destroyedObj maps\mp\gametypes\_gameobjects::set3DIcon( "enemy", undefined );
*/
label = destroyedObj maps\mp\gametypes\_gameobjects::getLabel();
// create a new object to defuse with.
trigger = destroyedObj.bombDefuseTrig;
trigger.origin = level.sdBombModel.origin;
visuals = [];
defuseObject = maps\mp\gametypes\_gameobjects::createUseObject( game["defenders"], trigger, visuals, (0,0,32) );
defuseObject = maps\mp\gametypes\_gameobjects::createUseObject( game["defenders"], trigger, visuals, ( 0, 0, 32 ) );
defuseObject maps\mp\gametypes\_gameobjects::allowUse( "friendly" );
defuseObject maps\mp\gametypes\_gameobjects::setUseTime( level.defuseTime );
defuseObject maps\mp\gametypes\_gameobjects::setUseText( &"MP_DEFUSING_EXPLOSIVE" );
@ -503,26 +595,26 @@ bot_bombPlanted( destroyedObj, player )
defuseObject.onEndUse = maps\mp\gametypes\sd::onEndUse;
defuseObject.onUse = maps\mp\gametypes\sd::onUseDefuseObject;
defuseObject.useWeapon = "briefcase_bomb_defuse_mp";
level.defuseObject = defuseObject;//every cod...
player.isBombCarrier = false;
maps\mp\gametypes\sd::BombTimerWait();
setMatchFlag( "bomb_timer", 0 );
destroyedObj.visuals[0] maps\mp\gametypes\_globallogic_utils::stopTickingSound();
if ( level.gameEnded || level.bombDefused )
return;
level.bombExploded = true;
explosionOrigin = level.sdBombModel.origin+(0,0,12);
explosionOrigin = level.sdBombModel.origin + ( 0, 0, 12 );
level.sdBombModel hide();
if ( isdefined( player ) )
{
destroyedObj.visuals[0] radiusDamage( explosionOrigin, 512, 200, 20, player, "MOD_EXPLOSIVE", "briefcase_bomb_mp" );
@ -532,24 +624,25 @@ bot_bombPlanted( destroyedObj, player )
}
else
destroyedObj.visuals[0] radiusDamage( explosionOrigin, 512, 200, 20, undefined, "MOD_EXPLOSIVE", "briefcase_bomb_mp" );
rot = randomfloat(360);
explosionEffect = spawnFx( level._effect["bombexplosion"], explosionOrigin + (0,0,50), (0,0,1), (cos(rot),sin(rot),0) );
rot = randomfloat( 360 );
explosionEffect = spawnFx( level._effect["bombexplosion"], explosionOrigin + ( 0, 0, 50 ), ( 0, 0, 1 ), ( cos( rot ), sin( rot ), 0 ) );
triggerFx( explosionEffect );
thread playSoundinSpace( "mpl_sd_exp_suitcase_bomb_main", explosionOrigin );
//thread maps\mp\gametypes\_globallogic_audio::set_music_on_team( "SILENT", "both" );
//thread maps\mp\gametypes\_globallogic_audio::set_music_on_team( "SILENT", "both" );
if ( isDefined( destroyedObj.exploderIndex ) )
exploder( destroyedObj.exploderIndex );
for ( index = 0; index < level.bombZones.size; index++ )
level.bombZones[index] maps\mp\gametypes\_gameobjects::disableObject();
defuseObject maps\mp\gametypes\_gameobjects::disableObject();
setGameEndTime( 0 );
wait 3;
maps\mp\gametypes\sd::sd_endGame( game["attackers"], game["strings"]["target_destroyed"] );
}

File diff suppressed because it is too large Load Diff