iw6-scripts/maps/mp/alien/_globallogic.gsc
2024-02-13 13:20:49 +01:00

176 lines
4.8 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
init()
{
level.splitscreen = issplitscreen();
maps\mp\_utility::set_console_status();
level.onlinegame = getdvarint( "onlinegame" );
level.rankedmatch = level.onlinegame && !getdvarint( "xblive_privatematch" ) || getdvarint( "force_ranking" );
level.script = tolower( getdvar( "mapname" ) );
level.gametype = tolower( getdvar( "g_gametype" ) );
level.teamnamelist = [ "axis", "allies" ];
level.otherteam["allies"] = "axis";
level.otherteam["axis"] = "allies";
level.multiteambased = 0;
level.teambased = 0;
level.objectivebased = 0;
level.endgameontimelimit = 1;
level.showingfinalkillcam = 0;
level.tispawndelay = getdvarint( "scr_tispawndelay" );
if ( !isdefined( level.tweakablesinitialized ) )
maps\mp\gametypes\_tweakables::init();
level.halftimetype = "halftime";
level.halftimesubcaption = &"MP_SWITCHING_SIDES";
level.laststatustime = 0;
level.waswinning = "none";
level.lastslowprocessframe = 0;
level.placement["allies"] = [];
level.placement["axis"] = [];
level.placement["all"] = [];
level.postroundtime = 5.0;
level.playerslookingforsafespawn = [];
registerdvars();
var_0 = " LB_" + getdvar( "ui_mapname" );
if ( getdvarint( "scr_chaos_mode" ) == 1 )
var_0 = var_0 + "_CHAOS";
if ( getdvarint( "sv_maxclients" ) == 1 )
var_0 = var_0 + "_SOLO";
else
var_0 = var_0 + "_COOP";
var_1 = " LB_" + getdvar( "ui_mapname" ) + "_ESCAPES";
if ( getdvarint( "scr_aliens_hardcore" ) )
var_0 = var_0 + "_HC";
if ( getdvarint( "scr_chaos_mode" ) == 1 )
{
var_2 = "LB_GB_ALIEN_CHAOS";
if ( getdvarint( "sv_maxclients" ) == 1 )
var_2 = var_2 + "_SOLO";
else
var_2 = var_2 + "_COOP";
precacheleaderboards( var_2 + var_0 );
}
else
precacheleaderboards( "LB_GB_ALIEN_HIVES LB_GB_ALIEN_KILLS LB_GB_ALIEN_REVIVES LB_GB_ALIEN_DOWNED LB_GB_ALIEN_XP LB_GB_ALIEN_SCORE LB_GB_ALIEN_CHALLENGES LB_GB_ALIEN_CASHFLOW" + var_0 + var_1 );
level.teamcount["allies"] = 0;
level.teamcount["axis"] = 0;
level.teamcount["spectator"] = 0;
level.alivecount["allies"] = 0;
level.alivecount["axis"] = 0;
level.alivecount["spectator"] = 0;
level.livescount["allies"] = 0;
level.livescount["axis"] = 0;
level.onelefttime = [];
level.hasspawned["allies"] = 0;
level.hasspawned["axis"] = 0;
var_3 = 9;
init_multiteamdata( var_3 );
}
init_multiteamdata( var_0 )
{
for ( var_1 = 0; var_1 < var_0; var_1++ )
{
var_2 = "team_" + var_1;
level.placement[var_2] = [];
level.teamcount[var_2] = 0;
level.alivecount[var_2] = 0;
level.livescount[var_2] = 0;
level.hasspawned[var_2] = 0;
}
}
registerdvars()
{
setomnvar( "ui_bomb_timer", 0 );
if ( getdvar( "r_reflectionProbeGenerate" ) != "1" )
setomnvar( "ui_nuke_end_milliseconds", 0 );
setdvar( "ui_danger_team", "" );
setdvar( "ui_inhostmigration", 0 );
setdvar( "ui_inprematch", 0 );
setdvar( "ui_override_halftime", 0 );
setdvar( "camera_thirdPerson", getdvarint( "scr_thirdPerson" ) );
setdvar( "scr_alien_intel_pillage", 0 );
}
setupcallbacks()
{
level.onxpevent = ::onxpevent;
level.getspawnpoint = ::blank;
level.onspawnplayer = ::blank;
level.onrespawndelay = ::blank;
level.ontimelimit = maps\mp\gametypes\_gamelogic::default_ontimelimit;
level.onhalftime = maps\mp\gametypes\_gamelogic::default_onhalftime;
level.ondeadevent = maps\mp\gametypes\_gamelogic::default_ondeadevent;
level.ononeleftevent = maps\mp\gametypes\_gamelogic::default_ononeleftevent;
level.onprecachegametype = ::blank;
level.onstartgametype = ::blank;
level.onplayerkilled = ::blank;
level.killstreakinit = ::blank;
level.matcheventsinit = ::blank;
level.intelinit = ::blank;
}
blank( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9 )
{
}
testmenu()
{
self endon( "death" );
self endon( "disconnect" );
for (;;)
{
wait 10.0;
var_0 = spawnstruct();
var_0.titletext = &"MP_CHALLENGE_COMPLETED";
var_0.notifytext = "wheee";
var_0.sound = "mp_challenge_complete";
thread maps\mp\gametypes\_hud_message::notifymessage( var_0 );
}
}
testshock()
{
self endon( "death" );
self endon( "disconnect" );
for (;;)
{
wait 3.0;
var_0 = randomint( 6 );
for ( var_1 = 0; var_1 < var_0; var_1++ )
{
iprintlnbold( var_0 );
self shellshock( "frag_grenade_mp", 0.2 );
wait 0.1;
}
}
}
onxpevent( var_0 )
{
thread maps\mp\gametypes\_rank::giverankxp( var_0 );
}
debugline( var_0, var_1 )
{
for ( var_2 = 0; var_2 < 50; var_2++ )
wait 0.05;
}