88 lines
9.4 KiB
Plaintext
88 lines
9.4 KiB
Plaintext
#using scripts\codescripts\struct;
|
|
#using scripts\shared\array_shared;
|
|
#using scripts\shared\callbacks_shared;
|
|
#using scripts\shared\clientfield_shared;
|
|
|
|
|
|
|
|
|
|
|
|
// 10 min play period
|
|
// Wait for spawnprerise to fade
|
|
// 25%
|
|
// 66%
|
|
// 85%
|
|
|
|
function main()
|
|
{
|
|
clientfield::register( "world", "arena_announcer_line", 12000, 4, "int" );
|
|
clientfield::register( "world", "arena_fighter", 12000, 2, "int" );
|
|
clientfield::register( "world", "arena_fighter_line", 12000, 3, "int" );
|
|
clientfield::register( "world", "arena_event", 12000, 3, "int" );
|
|
|
|
level.arenaFighters = array::randomize( Array( 0, 1, 2 ) );
|
|
|
|
level thread playTimedEvents();
|
|
}
|
|
|
|
function playTimedEvents()
|
|
{
|
|
{wait(.05);};
|
|
|
|
while ( level.inPrematchPeriod )
|
|
{
|
|
wait( 1 );
|
|
}
|
|
|
|
wait( 20 );
|
|
playWelcome();
|
|
|
|
wait( 150 - 20 );
|
|
playIntro();
|
|
|
|
wait( 400 - 150 );
|
|
playLoser();
|
|
|
|
wait( 500 - 400 );
|
|
playWinner();
|
|
|
|
}
|
|
|
|
function playWelcome()
|
|
{
|
|
playEvent( 1, 10 );
|
|
}
|
|
|
|
function playIntro()
|
|
{
|
|
fighter = level.arenaFighters[RandomInt( 2 )]; // Winner or loser
|
|
|
|
playEvent( 2, 3, fighter, 5 );
|
|
}
|
|
|
|
function playLoser()
|
|
{
|
|
fighter = level.arenaFighters[1];
|
|
|
|
playEvent( 3, 3, fighter, 5 );
|
|
}
|
|
|
|
function playWinner()
|
|
{
|
|
fighter = level.arenaFighters[0];
|
|
|
|
playEvent( 4, 3, fighter, 5 );
|
|
}
|
|
|
|
function playEvent( event, announcerLineCount, fighter, fighterLineCount )
|
|
{
|
|
level clientfield::set( "arena_announcer_line", RandomInt( announcerLineCount ) );
|
|
|
|
if ( isdefined( fighter ) && isdefined( fighterLineCount ) )
|
|
{
|
|
level clientfield::set( "arena_fighter", fighter );
|
|
level clientfield::set( "arena_fighter_line", RandomInt( fighterLineCount ) );
|
|
}
|
|
|
|
level clientfield::set( "arena_event", event );
|
|
} |