checked 54 patch_mp/maps/mp scripts

This commit is contained in:
JezuzLizard 2020-06-13 01:37:00 -07:00
parent a46530d2fd
commit d2202281cd
55 changed files with 1781 additions and 1815 deletions

View File

@ -1,21 +1,20 @@
//checked includes matches cerberus output
#include codescripts/character; #include codescripts/character;
setmodelfromarray( a ) setmodelfromarray( a ) //checked matches cerberus output
{ {
self setmodel( a[ randomint( a.size ) ] ); self setmodel( a[ randomint( a.size ) ] );
} }
precachemodelarray( a ) precachemodelarray( a ) //checked changed to match cerberus output
{ {
i = 0; for ( i = 0; i < a.size; i++ )
while ( i < a.size )
{ {
precachemodel( a[ i ] ); precachemodel( a[ i ] );
i++;
} }
} }
attachfromarray( a ) attachfromarray( a ) //checked matches cerberus output
{ {
self attach( codescripts/character::randomelement( a ), "", 1 ); self attach( codescripts/character::randomelement( a ), "", 1 );
} }

View File

@ -1,16 +1,19 @@
main() main() //checked changed to match cerberus output
{ {
/*
/# /#
assert( isDefined( self ) ); assert( isDefined( self ) );
#/ #/
*/
wait 0; wait 0;
if ( isDefined( self ) ) if ( isDefined( self ) )
{ {
/*
/# /#
if ( isDefined( self.classname ) ) if ( isDefined( self.classname ) )
{ {
if ( self.classname != "trigger_once" || self.classname == "trigger_radius" && self.classname == "trigger_multiple" ) if ( self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple" )
{ {
println( "" ); println( "" );
println( "*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin ); println( "*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin );
@ -18,6 +21,7 @@ main()
#/ #/
} }
} }
*/
self delete(); self delete();
} }
} }

View File

@ -1,41 +1,29 @@
initstructs() initstructs() //checked matches cerberus output
{ {
level.struct = []; level.struct = [];
} }
createstruct() createstruct() //checked matches cerberus output
{ {
struct = spawnstruct(); struct = spawnstruct();
level.struct[ level.struct.size ] = struct; level.struct[ level.struct.size ] = struct;
return struct; return struct;
} }
findstruct( position ) findstruct( position ) //checked changed to match cerberus output see info.md
{ {
_a20 = level.struct_class_names; foreach ( _ in level.struct_class_names )
key = getFirstArrayKey( _a20 );
while ( isDefined( key ) )
{ {
_ = _a20[ key ]; foreach ( s_array in level.struct_class_names[ key ] )
_a22 = level.struct_class_names[ key ];
val = getFirstArrayKey( _a22 );
while ( isDefined( val ) )
{ {
s_array = _a22[ val ]; foreach ( struct in s_array )
_a24 = s_array;
_k24 = getFirstArrayKey( _a24 );
while ( isDefined( _k24 ) )
{ {
struct = _a24[ _k24 ]; if(distancesquared( struct.origin, position ) < 1 )
if ( distancesquared( struct.origin, position ) < 1 )
{ {
return struct; return struct;
} }
_k24 = getNextArrayKey( _a24, _k24 );
} }
val = getNextArrayKey( _a22, val );
} }
key = getNextArrayKey( _a20, key );
} }
} }

View File

@ -1,11 +1,12 @@
//checked includes match cerberus output
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
} }
wait_until_first_player() wait_until_first_player() //checked changed to match cerberus output
{ {
players = get_players(); players = get_players();
if ( !isDefined( players[ 0 ] ) ) if ( !isDefined( players[ 0 ] ) )
@ -13,15 +14,13 @@ wait_until_first_player()
level waittill( "first_player_ready" ); level waittill( "first_player_ready" );
} }
players = get_players(); players = get_players();
i = 0; for ( i = 0; i < players.size; i++ )
while ( i < players.size )
{ {
players[ i ] thread monitor_player_sprint(); players[ i ] thread monitor_player_sprint();
i++;
} }
} }
stand_think( trig ) stand_think( trig ) //checked matches cerberus output
{ {
killtext = "kill_stand_think" + trig getentitynumber(); killtext = "kill_stand_think" + trig getentitynumber();
self endon( "disconnect" ); self endon( "disconnect" );
@ -37,7 +36,7 @@ stand_think( trig )
} }
} }
monitor_player_sprint() monitor_player_sprint() //checked matches cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self thread monitor_player_movement(); self thread monitor_player_movement();
@ -51,7 +50,7 @@ monitor_player_sprint()
} }
} }
monitor_player_movement() monitor_player_movement() //checked matches cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
while ( 1 ) while ( 1 )
@ -72,7 +71,7 @@ monitor_player_movement()
} }
} }
thread_enter_exit_sound( trig ) thread_enter_exit_sound( trig ) //checked matches cerberus output
{ {
self endon( "death" ); self endon( "death" );
self endon( "disconnect" ); self endon( "disconnect" );
@ -84,27 +83,25 @@ thread_enter_exit_sound( trig )
self thread stand_think( trig ); self thread stand_think( trig );
while ( self istouching( trig ) ) while ( self istouching( trig ) )
{ {
wait 0,1; wait 0.1;
} }
self notify( "kill_stand_think" + trig getentitynumber() ); self notify( "kill_stand_think" + trig getentitynumber() );
self playsound( trig.script_noteworthy ); self playsound( trig.script_noteworthy );
trig.touchingplayers[ self getentitynumber() ] = 0; trig.touchingplayers[ self getentitynumber() ] = 0;
} }
thread_step_trigger() thread_step_trigger() //checked changed to match cerberus output
{ {
if ( !isDefined( self.script_activated ) ) if ( !isDefined( self.script_activated ) )
{ {
self.script_activated = 1; self.script_activated = 1;
} }
while ( !isDefined( self.touchingplayers ) ) if ( !isDefined( self.touchingplayers ) )
{ {
self.touchingplayers = []; self.touchingplayers = [];
i = 0; for ( i = 0; i < 4; i++ )
while ( i < 4 )
{ {
self.touchingplayers[ i ] = 0; self.touchingplayers[ i ] = 0;
i++;
} }
} }
while ( 1 ) while ( 1 )
@ -117,34 +114,30 @@ thread_step_trigger()
} }
} }
disable_bump_trigger( triggername ) disable_bump_trigger( triggername ) //checked changed to match cerberus output
{ {
triggers = getentarray( "audio_bump_trigger", "targetname" ); triggers = getentarray( "audio_bump_trigger", "targetname" );
while ( isDefined( triggers ) ) if ( isDefined( triggers ) )
{ {
i = 0; for ( i = 0; i < triggers.size; i++ )
while ( i < triggers.size )
{ {
if ( isDefined( triggers[ i ].script_label ) && triggers[ i ].script_label == triggername ) if ( isDefined( triggers[ i ].script_label ) && triggers[ i ].script_label == triggername )
{ {
triggers[ i ].script_activated = 0; triggers[ i ].script_activated = 0;
} }
i++;
} }
} }
} }
get_player_index_number( player ) get_player_index_number( player ) //checked changed to match cerberus output
{ {
players = get_players(); players = get_players();
i = 0; for ( i = 0; i < players.size; i++ )
while ( i < players.size )
{ {
if ( players[ i ] == player ) if ( players[ i ] == player )
{ {
return i; return i;
} }
i++;
} }
return 1; return 1;
} }

View File

@ -1,12 +1,13 @@
//includes match cerberus output
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
level thread onplayerconnect(); level thread onplayerconnect();
} }
onplayerconnect() onplayerconnect() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -16,7 +17,7 @@ onplayerconnect()
} }
} }
onplayerspawned() onplayerspawned() //checked matches cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self._bbdata = []; self._bbdata = [];
@ -31,17 +32,17 @@ onplayerspawned()
} }
} }
onplayerdisconnect() onplayerdisconnect() //checked changed to match beta dump
{ {
for ( ;; ) for ( ;; )
{ {
self waittill( "disconnect" ); self waittill( "disconnect" );
self commitspawndata(); self commitspawndata();
return; break;
} }
} }
onplayerdeath() onplayerdeath() //checked matches cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
for ( ;; ) for ( ;; )
@ -51,11 +52,13 @@ onplayerdeath()
} }
} }
commitspawndata() commitspawndata() //checked matches cerberus output
{ {
/*
/# /#
assert( isDefined( self._bbdata ) ); assert( isDefined( self._bbdata ) );
#/ #/
*/
if ( !isDefined( self._bbdata ) ) if ( !isDefined( self._bbdata ) )
{ {
return; return;
@ -63,11 +66,13 @@ commitspawndata()
bbprint( "mpplayerlives", "gametime %d spawnid %d lifescore %d lifemomentum %d lifetime %d name %s", getTime(), getplayerspawnid( self ), self._bbdata[ "score" ], self._bbdata[ "momentum" ], getTime() - self._bbdata[ "spawntime" ], self.name ); bbprint( "mpplayerlives", "gametime %d spawnid %d lifescore %d lifemomentum %d lifetime %d name %s", getTime(), getplayerspawnid( self ), self._bbdata[ "score" ], self._bbdata[ "momentum" ], getTime() - self._bbdata[ "spawntime" ], self.name );
} }
commitweapondata( spawnid, currentweapon, time0 ) commitweapondata( spawnid, currentweapon, time0 ) //checked matches cerberus output
{ {
/*
/# /#
assert( isDefined( self._bbdata ) ); assert( isDefined( self._bbdata ) );
#/ #/
*/
if ( !isDefined( self._bbdata ) ) if ( !isDefined( self._bbdata ) )
{ {
return; return;
@ -78,7 +83,7 @@ commitweapondata( spawnid, currentweapon, time0 )
self._bbdata[ "hits" ] = 0; self._bbdata[ "hits" ] = 0;
} }
bbaddtostat( statname, delta ) bbaddtostat( statname, delta ) //checked matches cerberus output
{ {
if ( isDefined( self._bbdata ) && isDefined( self._bbdata[ statname ] ) ) if ( isDefined( self._bbdata ) && isDefined( self._bbdata[ statname ] ) )
{ {

View File

@ -1,15 +1,18 @@
//checked includes match cerberus output
#include maps/mp/_utility; #include maps/mp/_utility;
businit() businit() //checked matches cerberus output
{ {
/*
/# /#
assert( level.clientscripts ); assert( level.clientscripts );
#/ #/
*/
level.busstate = ""; level.busstate = "";
registerclientsys( "busCmd" ); registerclientsys( "busCmd" );
} }
setbusstate( state ) setbusstate( state ) //checked matches cerberus output
{ {
if ( level.busstate != state ) if ( level.busstate != state )
{ {

View File

@ -1,13 +1,15 @@
setupminimap( material ) setupminimap( material ) //checked matches cerberus output
{ {
requiredmapaspectratio = getDvarFloat( "scr_RequiredMapAspectratio" ); requiredmapaspectratio = getDvarFloat( "scr_RequiredMapAspectratio" );
corners = getentarray( "minimap_corner", "targetname" ); corners = getentarray( "minimap_corner", "targetname" );
if ( corners.size != 2 ) if ( corners.size != 2 )
{ {
/*
/# /#
println( "^1Error: There are not exactly two "minimap_corner" entities in the map. Could not set up minimap." ); println( "^1Error: There are not exactly two "minimap_corner" entities in the map. Could not set up minimap." );
#/ #/
*/
return; return;
} }
corner0 = ( corners[ 0 ].origin[ 0 ], corners[ 0 ].origin[ 1 ], 0 ); corner0 = ( corners[ 0 ].origin[ 0 ], corners[ 0 ].origin[ 1 ], 0 );
@ -48,12 +50,12 @@ setupminimap( material )
if ( mapaspectratio < requiredmapaspectratio ) if ( mapaspectratio < requiredmapaspectratio )
{ {
incr = requiredmapaspectratio / mapaspectratio; incr = requiredmapaspectratio / mapaspectratio;
addvec = vecscale( west, westportion * ( incr - 1 ) * 0,5 ); addvec = vecscale( west, westportion * ( incr - 1 ) * 0.5 );
} }
else else
{ {
incr = mapaspectratio / requiredmapaspectratio; incr = mapaspectratio / requiredmapaspectratio;
addvec = vecscale( north, northportion * ( incr - 1 ) * 0,5 ); addvec = vecscale( north, northportion * ( incr - 1 ) * 0.5 );
} }
northwest += addvec; northwest += addvec;
southeast -= addvec; southeast -= addvec;
@ -61,7 +63,7 @@ setupminimap( material )
setminimap( material, northwest[ 0 ], northwest[ 1 ], southeast[ 0 ], southeast[ 1 ] ); setminimap( material, northwest[ 0 ], northwest[ 1 ], southeast[ 0 ], southeast[ 1 ] );
} }
vecscale( vec, scalar ) vecscale( vec, scalar ) //checked matches cerberus output
{ {
return ( vec[ 0 ] * scalar, vec[ 1 ] * scalar, vec[ 2 ] * scalar ); return ( vec[ 0 ] * scalar, vec[ 1 ] * scalar, vec[ 2 ] * scalar );
} }

View File

@ -1,5 +1,5 @@
init() init() //checked matches cerberus output
{ {
level.bookmark[ "kill" ] = 0; level.bookmark[ "kill" ] = 0;
level.bookmark[ "event" ] = 1; level.bookmark[ "event" ] = 1;
@ -28,11 +28,13 @@ init()
level.bookmark[ "zm_player_grenade_special_long" ] = 24; level.bookmark[ "zm_player_grenade_special_long" ] = 24;
} }
bookmark( type, time, clientent1, clientent2, eventpriority, inflictorent, overrideentitycamera, actorent ) bookmark( type, time, clientent1, clientent2, eventpriority, inflictorent, overrideentitycamera, actorent ) //checked matches cerberus output
{ {
/*
/# /#
assert( isDefined( level.bookmark[ type ] ), "Unable to find a bookmark type for type - " + type ); assert( isDefined( level.bookmark[ type ] ), "Unable to find a bookmark type for type - " + type );
#/ #/
*/
client1 = 255; client1 = 255;
client2 = 255; client2 = 255;
inflictorentnum = -1; inflictorentnum = -1;
@ -72,11 +74,13 @@ bookmark( type, time, clientent1, clientent2, eventpriority, inflictorent, overr
adddemobookmark( level.bookmark[ type ], time, client1, client2, scoreeventpriority, inflictorentnum, inflictorenttype, inflictorbirthtime, overrideentitycamera, actorentnum ); adddemobookmark( level.bookmark[ type ], time, client1, client2, scoreeventpriority, inflictorentnum, inflictorenttype, inflictorbirthtime, overrideentitycamera, actorentnum );
} }
gameresultbookmark( type, winningteamindex, losingteamindex ) gameresultbookmark( type, winningteamindex, losingteamindex ) //checked matches cerberus output
{ {
/*
/# /#
assert( isDefined( level.bookmark[ type ] ), "Unable to find a bookmark type for type - " + type ); assert( isDefined( level.bookmark[ type ] ), "Unable to find a bookmark type for type - " + type );
#/ #/
*/
client1 = 255; client1 = 255;
client2 = 255; client2 = 255;
scoreeventpriority = 0; scoreeventpriority = 0;
@ -95,3 +99,4 @@ gameresultbookmark( type, winningteamindex, losingteamindex )
} }
adddemobookmark( level.bookmark[ type ], getTime(), client1, client2, scoreeventpriority, inflictorentnum, inflictorenttype, inflictorbirthtime, overrideentitycamera, actorentnum ); adddemobookmark( level.bookmark[ type ], getTime(), client1, client2, scoreeventpriority, inflictorentnum, inflictorenttype, inflictorbirthtime, overrideentitycamera, actorentnum );
} }

View File

@ -1,6 +1,7 @@
//checked includes match cerberus output
#include maps/mp/_utility; #include maps/mp/_utility;
#include common_scripts/utility; #include common_scripts/utility;
init() init() //checked matches cerberus output
{ {
} }

View File

@ -1,12 +1,13 @@
//checked includes match cerberus output
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
loadfx( "weapon/crossbow/fx_trail_crossbow_blink_grn_os" ); loadfx( "weapon/crossbow/fx_trail_crossbow_blink_grn_os" );
loadfx( "weapon/crossbow/fx_trail_crossbow_blink_red_os" ); loadfx( "weapon/crossbow/fx_trail_crossbow_blink_red_os" );
} }
watch_bolt_detonation( owner ) watch_bolt_detonation( owner ) //checked matches cerberus output
{ {
} }

View File

@ -1,5 +1,5 @@
init() init() //checked matches cerberus output
{ {
level.scr_anim = []; level.scr_anim = [];
level.scr_anim[ "fxanim_props" ] = []; level.scr_anim[ "fxanim_props" ] = [];

View File

@ -1,7 +1,8 @@
//checked includes match cerberus output
#include maps/mp/_utility; #include maps/mp/_utility;
#include common_scripts/utility; #include common_scripts/utility;
main() main() //checked matches cerberus output
{ {
randomstartdelay = randomfloatrange( -20, -15 ); randomstartdelay = randomfloatrange( -20, -15 );
global_fx( "barrel_fireFX_origin", "global_barrel_fire", "fire/firelp_barrel_pm", randomstartdelay, "fire_barrel_small" ); global_fx( "barrel_fireFX_origin", "global_barrel_fire", "fire/firelp_barrel_pm", randomstartdelay, "fire_barrel_small" );
@ -15,7 +16,7 @@ main()
global_fx( "icbm_powerlinetower_FX_origin", "icbm_powerlinetower_FX", "misc/power_tower_light_red_blink", randomstartdelay ); global_fx( "icbm_powerlinetower_FX_origin", "icbm_powerlinetower_FX", "misc/power_tower_light_red_blink", randomstartdelay );
} }
global_fx( targetname, fxname, fxfile, delay, soundalias ) global_fx( targetname, fxname, fxfile, delay, soundalias ) //checked changed to match cerberus output
{ {
ents = getstructarray( targetname, "targetname" ); ents = getstructarray( targetname, "targetname" );
if ( !isDefined( ents ) ) if ( !isDefined( ents ) )
@ -26,15 +27,13 @@ global_fx( targetname, fxname, fxfile, delay, soundalias )
{ {
return; return;
} }
i = 0; for ( i = 0; i < ents.size; i++ )
while ( i < ents.size )
{ {
ents[ i ] global_fx_create( fxname, fxfile, delay, soundalias ); ents[ i ] global_fx_create( fxname, fxfile, delay, soundalias );
i++;
} }
} }
global_fx_create( fxname, fxfile, delay, soundalias ) global_fx_create( fxname, fxfile, delay, soundalias ) //checked matches cerberus output
{ {
if ( !isDefined( level._effect ) ) if ( !isDefined( level._effect ) )
{ {

View File

@ -1,8 +1,9 @@
//checked includes match cerberus output
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_scoreevents; #include maps/mp/_scoreevents;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
level.medalinfo = []; level.medalinfo = [];
level.medalcallbacks = []; level.medalcallbacks = [];
@ -10,7 +11,7 @@ init()
level thread onplayerconnect(); level thread onplayerconnect();
} }
onplayerconnect() onplayerconnect() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -19,22 +20,22 @@ onplayerconnect()
} }
} }
setlastkilledby( attacker ) setlastkilledby( attacker ) //checked matches cerberus output
{ {
self.lastkilledby = attacker; self.lastkilledby = attacker;
} }
offenseglobalcount() offenseglobalcount() //checked matches cerberus output
{ {
level.globalteammedals++; level.globalteammedals++;
} }
defenseglobalcount() defenseglobalcount() //checked matches cerberus output
{ {
level.globalteammedals++; level.globalteammedals++;
} }
codecallback_medal( medalindex ) codecallback_medal( medalindex ) //checked matches cerberus output
{ {
self luinotifyevent( &"medal_received", 1, medalindex ); self luinotifyevent( &"medal_received", 1, medalindex );
self luinotifyeventtospectators( &"medal_received", 1, medalindex ); self luinotifyeventtospectators( &"medal_received", 1, medalindex );

View File

@ -1,4 +1,4 @@
init() init() //checked matches cerberus output
{ {
} }

View File

@ -1,4 +1,4 @@
init() init() //checked matches cerberus output
{ {
} }

View File

@ -1,15 +1,18 @@
//checked includes match cerberus output
#include maps/mp/_utility; #include maps/mp/_utility;
music_init() music_init() //checked matches cerberus output
{ {
/*
/# /#
assert( level.clientscripts ); assert( level.clientscripts );
#/ #/
*/
level.musicstate = ""; level.musicstate = "";
registerclientsys( "musicCmd" ); registerclientsys( "musicCmd" );
} }
setmusicstate( state, player ) setmusicstate( state, player ) //checked changed to match cerberus output
{ {
if ( isDefined( level.musicstate ) ) if ( isDefined( level.musicstate ) )
{ {
@ -18,12 +21,9 @@ setmusicstate( state, player )
setclientsysstate( "musicCmd", state, player ); setclientsysstate( "musicCmd", state, player );
return; return;
} }
else else if ( level.musicstate != state )
{ {
if ( level.musicstate != state ) setclientsysstate( "musicCmd", state );
{
setclientsysstate( "musicCmd", state );
}
} }
} }
level.musicstate = state; level.musicstate = state;

View File

@ -1,5 +1,5 @@
pcserver() pcserver() //checked matches cerberus output
{ {
pcserverupdateplaylist(); pcserverupdateplaylist();
} }

View File

@ -1,16 +1,17 @@
//checked includes match cerberus output
#include maps/mp/_scoreevents; #include maps/mp/_scoreevents;
#include maps/mp/_challenges; #include maps/mp/_challenges;
#include maps/mp/killstreaks/_emp; #include maps/mp/killstreaks/_emp;
#include maps/mp/gametypes/_weaponobjects; #include maps/mp/gametypes/_weaponobjects;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
level._effect[ "satchel_charge_enemy_light" ] = loadfx( "weapon/c4/fx_c4_light_red" ); level._effect[ "satchel_charge_enemy_light" ] = loadfx( "weapon/c4/fx_c4_light_red" );
level._effect[ "satchel_charge_friendly_light" ] = loadfx( "weapon/c4/fx_c4_light_green" ); level._effect[ "satchel_charge_friendly_light" ] = loadfx( "weapon/c4/fx_c4_light_green" );
} }
createsatchelwatcher() createsatchelwatcher() //checked matches cerberus output
{ {
watcher = self maps/mp/gametypes/_weaponobjects::createuseweaponobjectwatcher( "satchel_charge", "satchel_charge_mp", self.team ); watcher = self maps/mp/gametypes/_weaponobjects::createuseweaponobjectwatcher( "satchel_charge", "satchel_charge_mp", self.team );
watcher.altdetonate = 1; watcher.altdetonate = 1;
@ -20,14 +21,14 @@ createsatchelwatcher()
watcher.hackertooltimems = level.equipmenthackertooltimems; watcher.hackertooltimems = level.equipmenthackertooltimems;
watcher.headicon = 1; watcher.headicon = 1;
watcher.detonate = ::satcheldetonate; watcher.detonate = ::satcheldetonate;
watcher.stun = ::maps/mp/gametypes/_weaponobjects::weaponstun; watcher.stun = maps/mp/gametypes/_weaponobjects::weaponstun;
watcher.stuntime = 1; watcher.stuntime = 1;
watcher.altweapon = "satchel_charge_detonator_mp"; watcher.altweapon = "satchel_charge_detonator_mp";
watcher.reconmodel = "t6_wpn_c4_world_detect"; watcher.reconmodel = "t6_wpn_c4_world_detect";
watcher.ownergetsassist = 1; watcher.ownergetsassist = 1;
} }
satcheldetonate( attacker, weaponname ) satcheldetonate( attacker, weaponname ) //checked matches cerberus output
{ {
from_emp = maps/mp/killstreaks/_emp::isempkillstreakweapon( weaponname ); from_emp = maps/mp/killstreaks/_emp::isempkillstreakweapon( weaponname );
if ( !isDefined( from_emp ) || !from_emp ) if ( !isDefined( from_emp ) || !from_emp )

View File

@ -1,9 +1,10 @@
//includes match cerberus output
#include maps/mp/killstreaks/_dogs; #include maps/mp/killstreaks/_dogs;
#include maps/mp/killstreaks/_airsupport; #include maps/mp/killstreaks/_airsupport;
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
level.willypetedamageradius = 300; level.willypetedamageradius = 300;
level.willypetedamageheight = 128; level.willypetedamageheight = 128;
@ -15,7 +16,7 @@ init()
precacheitem( level.fx_smokegrenade_single ); precacheitem( level.fx_smokegrenade_single );
} }
watchsmokegrenadedetonation( owner ) watchsmokegrenadedetonation( owner ) //checked matches cerberus output
{ {
owner addweaponstat( "willy_pete_mp", "used", 1 ); owner addweaponstat( "willy_pete_mp", "used", 1 );
self waittill( "explode", position, surface ); self waittill( "explode", position, surface );
@ -39,22 +40,22 @@ watchsmokegrenadedetonation( owner )
damageeffectarea( owner, startpos, level.willypetedamageradius, level.willypetedamageheight, undefined ); damageeffectarea( owner, startpos, level.willypetedamageradius, level.willypetedamageheight, undefined );
} }
damageeffectarea( owner, position, radius, height, killcament ) damageeffectarea( owner, position, radius, height, killcament ) //checked matches cerberus output
{ {
effectarea = spawn( "trigger_radius", position, 0, radius, height ); effectarea = spawn( "trigger_radius", position, 0, radius, height );
owner thread maps/mp/killstreaks/_dogs::flash_dogs( effectarea ); owner thread maps/mp/killstreaks/_dogs::flash_dogs( effectarea );
effectarea delete(); effectarea delete();
} }
blocksight() blocksight() //checked matches cerberus output
{ {
self endon( "death" ); self endon( "death" );
radius = 64; radius = 64;
fxblocksight( self, radius ); fxblocksight( self, radius );
for ( ;; ) for ( ;; )
{ {
wait 0,75; wait 0.75;
radius = clamp( radius * 1,5, 10, 150 ); radius = clamp( radius * 1.5, 10, 150 );
fxblocksight( self, radius ); fxblocksight( self, radius );
} }
} }

View File

@ -1,12 +1,13 @@
//checked includes match cerberus output
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
loadfx( "weapon/crossbow/fx_trail_crossbow_blink_grn_os" ); loadfx( "weapon/crossbow/fx_trail_crossbow_blink_grn_os" );
loadfx( "weapon/crossbow/fx_trail_crossbow_blink_red_os" ); loadfx( "weapon/crossbow/fx_trail_crossbow_blink_red_os" );
} }
watch_bolt_detonation( owner ) watch_bolt_detonation( owner ) //checked matches cerberus output
{ {
} }

View File

@ -1,10 +1,14 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_deathicons; #include maps/mp/gametypes/_deathicons;
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_bridge_amb;
#include maps/mp/_load;
#include maps/mp/mp_bridge_fx;
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_bridge_fx::main(); maps/mp/mp_bridge_fx::main();
@ -28,37 +32,37 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_128x128x10", "collider", ( -1190, -876, -76 ), ( 342, 2,63, -90 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -1190, -876, -76 ), ( 342, 2.63, -90 ) );
barricade1 = spawn( "script_model", ( 850,5, -812,5, 0 ) ); barricade1 = spawn( "script_model", ( 850.5, -812.5, 0 ) );
barricade1.angles = vectorScale( ( 0, 0, 1 ), 90 ); barricade1.angles = vectorScale( ( 0, 0, 1 ), 90 );
barricade1 setmodel( "p6_bri_construction_tarp" ); barricade1 setmodel( "p6_bri_construction_tarp" );
spawncollision( "collision_missile_128x128x10", "collider", ( -2182, -185,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2182, -185.5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -2310, -185,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2310, -185.5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -2438, -185,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2438, -185.5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -2182, -57,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2182, -57.5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -2310, -57,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2310, -57.5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -2438, -57,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2438, -57.5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -2366,5, 91, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2366.5, 91, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1401,5, 759,5, -158,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1401.5, 759.5, -158.5 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1309, 726,5, -158,5 ), ( 2,4, 359,9, -91,70473 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1309, 726.5, -158.5 ), ( 2.4, 359.9, -91.70473 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1401,5, 634, -154,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1401.5, 634, -154.5 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1373,5, 634, -154,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1373.5, 634, -154.5 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1401,5, 559,5, -154,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1401.5, 559.5, -154.5 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1422, 375,5, -141,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1422, 375.5, -141.5 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1322,5, 438, -146 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1322.5, 438, -146 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1304,5, 438, -146 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1304.5, 438, -146 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1322,5, 378,5, -144 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1322.5, 378.5, -144 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 396, -144 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 396, -144 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1357, 248, -139 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1357, 248, -139 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 285, -139 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 285, -139 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 248, -139 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 248, -139 ), vectorScale( ( 0, 0, -1 ), 92.40023 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( 1370, -697, -134 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( 1370, -697, -134 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 2432, -44, 30,5 ), ( 0, 270, -90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 2432, -44, 30.5 ), ( 0, 270, -90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 2113,5, -44, 30,5 ), ( 0, 270, -90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 2113.5, -44, 30.5 ), ( 0, 270, -90 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -2292, -174, -7,5 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -2292, -174, -7.5 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -2219,5, -184,5, 37 ), vectorScale( ( 0, 0, 1 ), 2,9 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2219.5, -184.5, 37 ), vectorScale( ( 1, 0, 0 ), 2.9 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -2197,5, -184,5, 33 ), vectorScale( ( 0, 0, 1 ), 23,9 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -2197.5, -184.5, 33 ), vectorScale( ( 1, 0, 0 ), 23.9 ) );
spawncollision( "collision_clip_32x32x10", "collider", ( 1923,5, 553,5, 43,5 ), ( 1,265, 43,3, -90 ) ); spawncollision( "collision_clip_32x32x10", "collider", ( 1923.5, 553.5, 43.5 ), ( 1.265, 43.3, -90 ) );
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 ); maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" ); registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" );
level thread destructible_lights(); level thread destructible_lights();
@ -71,38 +75,34 @@ main()
level thread pathing_fix(); level thread pathing_fix();
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars );
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars ); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
} }
destructible_lights() destructible_lights() //checked changed to match cerberus output
{ {
wait 0,05; wait 0.05;
destructibles = getentarray( "destructible", "targetname" ); destructibles = getentarray( "destructible", "targetname" );
_a125 = destructibles; foreach ( destructible in destructibles )
_k125 = getFirstArrayKey( _a125 );
while ( isDefined( _k125 ) )
{ {
destructible = _a125[ _k125 ];
if ( destructible.destructibledef == "veh_t6_dlc_police_car_destructible" ) if ( destructible.destructibledef == "veh_t6_dlc_police_car_destructible" )
{ {
destructible thread destructible_think( "police_car_lights" ); destructible thread destructible_think( "police_car_lights" );
destructible setclientfield( "police_car_lights", 1 ); destructible setclientfield( "police_car_lights", 1 );
} }
_k125 = getNextArrayKey( _a125, _k125 );
} }
} }
destructible_think( clientfield ) destructible_think( clientfield ) //checked matches cerberus output
{ {
self waittill_any( "death", "destructible_base_piece_death" ); self waittill_any( "death", "destructible_base_piece_death" );
self setclientfield( clientfield, 0 ); self setclientfield( clientfield, 0 );
} }
ragdoll_override( idamage, smeansofdeath, sweapon, shitloc, vdir, vattackerorigin, deathanimduration, einflictor, ragdoll_jib, body ) ragdoll_override( idamage, smeansofdeath, sweapon, shitloc, vdir, vattackerorigin, deathanimduration, einflictor, ragdoll_jib, body ) //checked matches cerberus output
{ {
if ( smeansofdeath == "MOD_FALLING" ) if ( smeansofdeath == "MOD_FALLING" )
{ {
@ -127,7 +127,7 @@ ragdoll_override( idamage, smeansofdeath, sweapon, shitloc, vdir, vattackerorigi
return 0; return 0;
} }
water_spash() water_spash() //checked matches cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "spawned_player" ); self endon( "spawned_player" );
@ -138,16 +138,16 @@ water_spash()
{ {
while ( self.origin[ 2 ] > ( trace[ "position" ][ 2 ] + 5 ) ) while ( self.origin[ 2 ] > ( trace[ "position" ][ 2 ] + 5 ) )
{ {
wait 0,05; wait 0.05;
} }
bone = self gettagorigin( "j_spinelower" ); bone = self gettagorigin( "j_spinelower" );
origin = ( bone[ 0 ], bone[ 1 ], trace[ "position" ][ 2 ] + 2,5 ); origin = ( bone[ 0 ], bone[ 1 ], trace[ "position" ][ 2 ] + 2.5 );
self playsound( "mpl_splash_death" ); self playsound( "mpl_splash_death" );
playfx( level._effect[ "water_splash" ], origin ); playfx( level._effect[ "water_splash" ], origin );
} }
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( self isinwater() ) if ( self isinwater() )
{ {
@ -156,19 +156,16 @@ leveloverridetime( defaulttime )
return defaulttime; return defaulttime;
} }
useintermissionpointsonwavespawn() useintermissionpointsonwavespawn() //checked matches cerberus output
{ {
return self isinwater(); return self isinwater();
} }
isinwater() isinwater() //checked partially changed to match cerberus output see info.md
{ {
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a212 = triggers; foreach ( trigger in triggers )
_k212 = getFirstArrayKey( _a212 );
while ( isDefined( _k212 ) )
{ {
trigger = _a212[ _k212 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -179,12 +176,11 @@ isinwater()
return 1; return 1;
} }
} }
_k212 = getNextArrayKey( _a212, _k212 );
} }
return 0; return 0;
} }
pathing_fix() pathing_fix() //checked matches cerberus output
{ {
wait 1; wait 1;
nodes = getallnodes(); nodes = getallnodes();
@ -192,7 +188,7 @@ pathing_fix()
disconnect_node( nodes[ 600 ] ); disconnect_node( nodes[ 600 ] );
} }
disconnect_node( node ) disconnect_node( node ) //checked matches cerberus output
{ {
ent = spawn( "script_model", node.origin, 1 ); ent = spawn( "script_model", node.origin, 1 );
ent setmodel( level.deployedshieldmodel ); ent setmodel( level.deployedshieldmodel );
@ -200,3 +196,4 @@ disconnect_node( node )
ent disconnectpaths(); ent disconnectpaths();
ent.origin -= vectorScale( ( 0, 0, 1 ), 64 ); ent.origin -= vectorScale( ( 0, 0, 1 ), 64 );
} }

View File

@ -1,7 +1,10 @@
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_carrier_amb;
#include maps/mp/_load;
#include maps/mp/mp_carrier_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
level.overrideplayerdeathwatchtimer = ::leveloverridetime; level.overrideplayerdeathwatchtimer = ::leveloverridetime;
@ -33,59 +36,56 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3733, -1301,22, -204,5 ), vectorScale( ( 0, 0, 1 ), 75,2 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3733, -1301.22, -204.5 ), vectorScale( ( 0, 0, 1 ), 75.2 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3509, -1301,22, -204,56 ), vectorScale( ( 0, 0, 1 ), 75,2 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3509, -1301.22, -204.56 ), vectorScale( ( 0, 0, 1 ), 75.2 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3733, -808,22, -334,56 ), vectorScale( ( 0, 0, 1 ), 75,2 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3733, -808.22, -334.56 ), vectorScale( ( 0, 0, 1 ), 75.2 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3509, -808,22, -334,56 ), vectorScale( ( 0, 0, 1 ), 75,2 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3509, -808.22, -334.56 ), vectorScale( ( 0, 0, 1 ), 75.2 ) );
spawncollision( "collision_clip_cylinder_32x128", "collider", ( -4821, 951, 82 ), vectorScale( ( 0, 0, 1 ), 344 ) ); spawncollision( "collision_clip_cylinder_32x128", "collider", ( -4821, 951, 82 ), vectorScale( ( 0, 1, 0 ), 344 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( -4820,39, 930,19, 123 ), vectorScale( ( 0, 0, 1 ), 245 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( -4820.39, 930.19, 123 ), vectorScale( ( 0, 1, 0 ), 245 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( -4820,39, 930,19, 91 ), vectorScale( ( 0, 0, 1 ), 245 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( -4820.39, 930.19, 91 ), vectorScale( ( 0, 1, 0 ), 245 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( -4820,39, 930,19, 59 ), vectorScale( ( 0, 0, 1 ), 245 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( -4820.39, 930.19, 59 ), vectorScale( ( 0, 1, 0 ), 245 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -4821, 951, 82 ), vectorScale( ( 0, 0, 1 ), 344 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -4821, 951, 82 ), vectorScale( ( 0, 1, 0 ), 344 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -4820,39, 930,19, 123 ), vectorScale( ( 0, 0, 1 ), 245 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -4820.39, 930.19, 123 ), vectorScale( ( 0, 1, 0 ), 245 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -4820,39, 930,19, 91 ), vectorScale( ( 0, 0, 1 ), 245 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -4820.39, 930.19, 91 ), vectorScale( ( 0, 1, 0 ), 245 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -4820,39, 930,19, 59 ), vectorScale( ( 0, 0, 1 ), 245 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -4820.39, 930.19, 59 ), vectorScale( ( 0, 1, 0 ), 245 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -5448, 912, 268 ), vectorScale( ( 0, 0, 1 ), 13 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -5448, 912, 268 ), vectorScale( ( 0, 1, 0 ), 13 ) );
spawncollision( "collision_physics_64x64x128", "collider", ( -2434, 806, 66 ), ( 270, 25, 0 ) ); spawncollision( "collision_physics_64x64x128", "collider", ( -2434, 806, 66 ), ( 270, 25, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -5003, -963, -100 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -5003, -963, -100 ), vectorScale( ( 1, 1, 0 ), 270 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -5003, -1091, -100 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -5003, -1091, -100 ), vectorScale( ( 1, 1, 0 ), 270 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -5003, -1219, -88 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -5003, -1219, -88 ), vectorScale( ( 1, 1, 0 ), 270 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -5013, -1128, -32 ), ( 270, 270, 180 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -5013, -1128, -32 ), ( 270, 270, 180 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -3257,5, -1184,5, -45 ), ( 270, 270, 180 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -3257.5, -1184.5, -45 ), ( 270, 270, 180 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -3257,5, -1128, -45 ), ( 270, 270, 180 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -3257.5, -1128, -45 ), ( 270, 270, 180 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -4696,5, 662,5, 163,5 ), vectorScale( ( 0, 0, 1 ), 283,2 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -4696.5, 662.5, 163.5 ), vectorScale( ( 0, 1, 0 ), 283.2 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -5017, -1083,5, 40 ), ( 1, 270, 180 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -5017, -1083.5, 40 ), ( 1, 270, 180 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -6316, -1554,5, -30 ), vectorScale( ( 0, 0, 1 ), 49,9 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -6316, -1554.5, -30 ), vectorScale( ( 0, 1, 0 ), 49.9 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -5852,5, -886, 159,5 ), vectorScale( ( 0, 0, 1 ), 2,59995 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -5852.5, -886, 159.5 ), vectorScale( ( 0, 1, 0 ), 2.59995 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -5875,5, -887, 159,5 ), vectorScale( ( 0, 0, 1 ), 2,59995 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -5875.5, -887, 159.5 ), vectorScale( ( 0, 1, 0 ), 2.59995 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -5331,5, 727, 247,5 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -5331.5, 727, 247.5 ), vectorScale( ( 0, 0, -1 ), 90 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -5838, -913,5, 85 ), vectorScale( ( 0, 0, 1 ), 19,8001 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -5838, -913.5, 85 ), vectorScale( ( 0, 0, -1 ), 19.8001 ) );
greenbarrel1 = spawn( "script_model", ( -5979,48, -347,391, 53,8051 ) ); greenbarrel1 = spawn( "script_model", ( -5979.48, -347.391, 53.8051 ) );
greenbarrel1.angles = ( 0, 0, 1 ); greenbarrel1.angles = ( 0, 0, 1 );
greenbarrel1 setmodel( "ac_prs_fps_road_chunk_lrg_a04" ); greenbarrel1 setmodel( "ac_prs_fps_road_chunk_lrg_a04" );
greenbarrel2 = spawn( "script_model", ( -5960,64, -349,489, 59,663 ) ); greenbarrel2 = spawn( "script_model", ( -5960.64, -349.489, 59.663 ) );
greenbarrel2.angles = ( 5,97936, 96,3096, 13,1076 ); greenbarrel2.angles = ( 5.97936, 96.3096, 13.1076 );
greenbarrel2 setmodel( "ac_prs_fps_road_chunk_lrg_a04" ); greenbarrel2 setmodel( "ac_prs_fps_road_chunk_lrg_a04" );
spawncollision( "collision_clip_32x32x32", "collider", ( -5987,5, -347,5, 47 ), vectorScale( ( 0, 0, 1 ), 64,8 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( -5987.5, -347.5, 47 ), vectorScale( ( 0, 1, 0 ), 64.8 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( -5957,2, -356,902, 47,25 ), vectorScale( ( 0, 0, 1 ), 102,9 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( -5957.2, -356.902, 47.25 ), vectorScale( ( 0, 1, 0 ), 102.9 ) );
level thread water_trigger_init(); level thread water_trigger_init();
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
} }
water_trigger_init() water_trigger_init() //checked partially changed to match cerberus output see info.md
{ {
wait 3; wait 3;
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a141 = triggers; foreach ( trigger in triggers )
_k141 = getFirstArrayKey( _a141 );
while ( isDefined( _k141 ) )
{ {
trigger = _a141[ _k141 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -93,11 +93,10 @@ water_trigger_init()
{ {
trigger thread water_trigger_think(); trigger thread water_trigger_think();
} }
_k141 = getNextArrayKey( _a141, _k141 );
} }
} }
water_trigger_think() water_trigger_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -114,28 +113,25 @@ water_trigger_think()
} }
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( self isinwater() ) if ( self isinwater() )
{ {
return 0,4; return 0.4;
} }
return defaulttime; return defaulttime;
} }
useintermissionpointsonwavespawn() useintermissionpointsonwavespawn() //checked matches cerberus output
{ {
return self isinwater(); return self isinwater();
} }
isinwater() isinwater() //checked partially changed to match cerberus output
{ {
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a189 = triggers; foreach ( trigger in triggers )
_k189 = getFirstArrayKey( _a189 );
while ( isDefined( _k189 ) )
{ {
trigger = _a189[ _k189 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -147,7 +143,8 @@ isinwater()
return trace[ "surfacetype" ] == "none"; return trace[ "surfacetype" ] == "none";
} }
} }
_k189 = getNextArrayKey( _a189, _k189 );
} }
return 0; return 0;
} }

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_castaway_amb;
#include maps/mp/_load;
#include maps/mp/mp_castaway_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_castaway_fx::main(); maps/mp/mp_castaway_fx::main();
@ -24,34 +28,35 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_64x64x10", "collider", ( -1181, 1602, 242 ), ( 9,8, 270, 106 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -1181, 1602, 242 ), ( 9.8, 270, 106 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -1181, 1635, 242 ), ( 9,81, 270, 106 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -1181, 1635, 242 ), ( 9.81, 270, 106 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -1174, 1602, 197 ), ( 360, 270, 90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -1174, 1602, 197 ), ( 360, 270, 90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -1174, 1635, 197 ), ( 360, 270, 90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -1174, 1635, 197 ), ( 360, 270, 90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -329, 656, 123 ), ( 359,424, 286,385, 127,196 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -329, 656, 123 ), ( 359.424, 286.385, 127.196 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -342, 699, 124 ), ( 354,888, 295,033, 125,723 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -342, 699, 124 ), ( 354.888, 295.033, 125.723 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -707, 2358, 145 ), vectorScale( ( 0, 1, 0 ), 90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -707, 2358, 145 ), vectorScale( ( 1, 0, 0 ), 90 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 407,5, 518, 103 ), vectorScale( ( 0, 1, 0 ), 270 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 407.5, 518, 103 ), vectorScale( ( 1, 0, 0 ), 270 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 381, 552, 103 ), ( 270, 65,4, 6,57 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 381, 552, 103 ), ( 270, 65.4, 6.57 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 343, 559, 103 ), ( 270, 112,8, 0 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 343, 559, 103 ), ( 270, 112.8, 0 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 370,5, 526, 128,5 ), vectorScale( ( 0, 1, 0 ), 66,2 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 370.5, 526, 128.5 ), vectorScale( ( 0, 1, 0 ), 66.2 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 357, 525, 129,5 ), vectorScale( ( 0, 1, 0 ), 23 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 357, 525, 129.5 ), vectorScale( ( 0, 1, 0 ), 23 ) );
rock1 = spawn( "script_model", ( 373,607, 484,974, 42,6 ) ); rock1 = spawn( "script_model", ( 373.607, 484.974, 42.6 ) );
rock1.angles = ( 350,899, 243,975, 4,02471 ); rock1.angles = ( 350.899, 243.975, 4.02471 );
rock1 setmodel( "p6_cas_rock_medium_02_trimmed" ); rock1 setmodel( "p6_cas_rock_medium_02_trimmed" );
spawncollision( "collision_physics_64x64x10", "collider", ( 479,5, 270, 75 ), ( 346,453, 344,758, 4,31137 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 479.5, 270, 75 ), ( 346.453, 344.758, 4.31137 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 477,5, 270, 76 ), ( 349,833, 342,352, 15,9726 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 477.5, 270, 76 ), ( 349.833, 342.352, 15.9726 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1503, 186, 121 ), ( 16,2357, 331,376, -70,4431 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1503, 186, 121 ), ( 16.2357, 331.376, -70.4431 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1571, 147, 97 ), ( 16,2357, 331,376, -70,4431 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1571, 147, 97 ), ( 16.2357, 331.376, -70.4431 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 1411, 118,5, 161,5 ), ( 4,9243, 334,331, 80,0809 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 1411, 118.5, 161.5 ), ( 4.9243, 334.331, 80.0809 ) );
level.levelkothdisable = []; level.levelkothdisable = [];
level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( 281,5, 443,5, 161 ), 0, 50, 50 ); level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( 281.5, 443.5, 161 ), 0, 50, 50 );
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars );
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars ); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
ss.hq_objective_influencer_radius = 3000; ss.hq_objective_influencer_radius = 3000;
} }

View File

@ -1,8 +1,12 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_concert_amb;
#include maps/mp/_load;
#include maps/mp/mp_concert_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked matches cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
level.overrideplayerdeathwatchtimer = ::leveloverridetime; level.overrideplayerdeathwatchtimer = ::leveloverridetime;
@ -27,21 +31,18 @@ main()
level thread water_trigger_init(); level thread water_trigger_init();
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars );
} }
water_trigger_init() water_trigger_init() //checked partially changed to match cerberus output see info.md
{ {
wait 3; wait 3;
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a61 = triggers; foreach ( trigger in triggers )
_k61 = getFirstArrayKey( _a61 );
while ( isDefined( _k61 ) )
{ {
trigger = _a61[ _k61 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -49,20 +50,15 @@ water_trigger_init()
{ {
trigger thread water_trigger_think(); trigger thread water_trigger_think();
} }
_k61 = getNextArrayKey( _a61, _k61 );
} }
triggers = getentarray( "water_killbrush", "targetname" ); triggers = getentarray( "water_killbrush", "targetname" );
_a73 = triggers; foreach ( trigger in triggers )
_k73 = getFirstArrayKey( _a73 );
while ( isDefined( _k73 ) )
{ {
trigger = _a73[ _k73 ];
trigger thread player_splash_think(); trigger thread player_splash_think();
_k73 = getNextArrayKey( _a73, _k73 );
} }
} }
player_splash_think() player_splash_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -74,7 +70,7 @@ player_splash_think()
} }
} }
player_water_fx( player, endon_condition ) player_water_fx( player, endon_condition ) //checked matches cerberus output
{ {
maxs = self.origin + self getmaxs(); maxs = self.origin + self getmaxs();
if ( maxs[ 2 ] > 60 ) if ( maxs[ 2 ] > 60 )
@ -85,7 +81,7 @@ player_water_fx( player, endon_condition )
playfx( level._effect[ "water_splash_sm" ], origin ); playfx( level._effect[ "water_splash_sm" ], origin );
} }
water_trigger_think() water_trigger_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -98,28 +94,25 @@ water_trigger_think()
} }
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( self isinwater() ) if ( self isinwater() )
{ {
return 0,4; return 0.4;
} }
return defaulttime; return defaulttime;
} }
useintermissionpointsonwavespawn() useintermissionpointsonwavespawn() //checked matches cerberus output
{ {
return self isinwater(); return self isinwater();
} }
isinwater() isinwater() //checked partially changed to match cerberus output see info.md
{ {
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a138 = triggers; foreach ( trigger in triggers )
_k138 = getFirstArrayKey( _a138 );
while ( isDefined( _k138 ) )
{ {
trigger = _a138[ _k138 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -130,7 +123,7 @@ isinwater()
return 1; return 1;
} }
} }
_k138 = getNextArrayKey( _a138, _k138 );
} }
return 0; return 0;
} }

View File

@ -1,8 +1,13 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_dig_amb;
#include maps/mp/_load;
#include maps/mp/mp_dig_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main()
main() //checked matches cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_dig_fx::main(); maps/mp/mp_dig_fx::main();
@ -22,31 +27,32 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
brick1 = spawn( "script_model", ( -5,6285, 604,473, 39,05 ) ); brick1 = spawn( "script_model", ( -5.6285, 604.473, 39.05 ) );
brick1.angles = ( 359,199, 90,0129, -0,822672 ); brick1.angles = ( 359.199, 90.0129, -0.822672 );
brick2 = spawn( "script_model", ( -12,63, 604,47, 39,05 ) ); brick2 = spawn( "script_model", ( -12.63, 604.47, 39.05 ) );
brick2.angles = ( 359,199, 90,0129, -0,822672 ); brick2.angles = ( 359.199, 90.0129, -0.822672 );
brick3 = spawn( "script_model", ( -5,63, 614,97, 39,05 ) ); brick3 = spawn( "script_model", ( -5.63, 614.97, 39.05 ) );
brick3.angles = ( 359,199, 90,0129, -0,822672 ); brick3.angles = ( 359.199, 90.0129, -0.822672 );
brick4 = spawn( "script_model", ( -12,63, 614,97, 39,05 ) ); brick4 = spawn( "script_model", ( -12.63, 614.97, 39.05 ) );
brick4.angles = ( 359,199, 90,0129, -0,822672 ); brick4.angles = ( 359.199, 90.0129, -0.822672 );
brick5 = spawn( "script_model", ( -5,63, 629,47, 39,55 ) ); brick5 = spawn( "script_model", ( -5.63, 629.47, 39.55 ) );
brick5.angles = ( 359,199, 90,0129, -0,822672 ); brick5.angles = ( 359.199, 90.0129, -0.822672 );
brick6 = spawn( "script_model", ( -12,63, 629,47, 39,55 ) ); brick6 = spawn( "script_model", ( -12.63, 629.47, 39.55 ) );
brick6.angles = ( 359,199, 90,0129, -0,822672 ); brick6.angles = ( 359.199, 90.0129, -0.822672 );
brick1 setmodel( "p6_dig_brick_03" ); brick1 setmodel( "p6_dig_brick_03" );
brick2 setmodel( "p6_dig_brick_03" ); brick2 setmodel( "p6_dig_brick_03" );
brick3 setmodel( "p6_dig_brick_03" ); brick3 setmodel( "p6_dig_brick_03" );
brick4 setmodel( "p6_dig_brick_03" ); brick4 setmodel( "p6_dig_brick_03" );
brick5 setmodel( "p6_dig_brick_03" ); brick5 setmodel( "p6_dig_brick_03" );
brick6 setmodel( "p6_dig_brick_03" ); brick6 setmodel( "p6_dig_brick_03" );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( -1404, -1126, 46,5 ), vectorScale( ( 0, 1, 0 ), 90 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( -1404, -1126, 46.5 ), vectorScale( ( 0, 1, 0 ), 90 ) );
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 ); maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars );
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars ); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
} }

View File

@ -1,8 +1,12 @@
//checked includes changed to match cerberus output
#include maps/mp/mp_dockside_crane; #include maps/mp/mp_dockside_crane;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_dockside_amb;
#include maps/mp/_load;
#include maps/mp/mp_dockside_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_dockside_fx::main(); maps/mp/mp_dockside_fx::main();
@ -25,49 +29,43 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_clip_64x64x64", "collider", ( 1095, 1489, -111 ), ( 0, 0, 1 ) ); spawncollision( "collision_clip_64x64x64", "collider", ( 1095, 1489, -111 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 1079, 1441, -97 ), ( 0, 0, 1 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 1079, 1441, -97 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_wall_128x128x10", "collider", ( -1791, 2954, -23 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_clip_wall_128x128x10", "collider", ( -1791, 2954, -23 ), vectorScale( ( 0, 1, 0 ), 270 ) );
setdvar( "sm_sunsamplesizenear", 0,39 ); setdvar( "sm_sunsamplesizenear", 0.39 );
setdvar( "sm_sunshadowsmall", 1 ); setdvar( "sm_sunshadowsmall", 1 );
if ( getgametypesetting( "allowMapScripting" ) ) if ( getgametypesetting( "allowMapScripting" ) )
{ {
level maps/mp/mp_dockside_crane::init(); level maps/mp/mp_dockside_crane::init();
} }
else crate_triggers = getentarray( "crate_kill_trigger", "targetname" );
for ( i = 0; i < crate_triggers.size; i++ )
{ {
crate_triggers = getentarray( "crate_kill_trigger", "targetname" ); crate_triggers[ i ] delete();
i = 0;
while ( i < crate_triggers.size )
{
crate_triggers[ i ] delete();
i++;
}
} }
setheliheightpatchenabled( "war_mode_heli_height_lock", 0 ); setheliheightpatchenabled( "war_mode_heli_height_lock", 0 );
level thread water_trigger_init(); level thread water_trigger_init();
rts_remove(); rts_remove();
/*
/# /#
level thread devgui_dockside(); level thread devgui_dockside();
execdevgui( "devgui_mp_dockside" ); execdevgui( "devgui_mp_dockside" );
#/ #/
*/
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2700", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2700", reset_dvars );
} }
water_trigger_init() water_trigger_init() //checked partially changed to match cerberus output see info.md
{ {
wait 3; wait 3;
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a92 = triggers; foreach ( trigger in triggers )
_k92 = getFirstArrayKey( _a92 );
while ( isDefined( _k92 ) )
{ {
trigger = _a92[ _k92 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -75,11 +73,10 @@ water_trigger_init()
{ {
trigger thread water_trigger_think(); trigger thread water_trigger_think();
} }
_k92 = getNextArrayKey( _a92, _k92 );
} }
} }
water_trigger_think() water_trigger_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -92,28 +89,25 @@ water_trigger_think()
} }
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( self isinwater() ) if ( self isinwater() )
{ {
return 0,4; return 0.4;
} }
return defaulttime; return defaulttime;
} }
useintermissionpointsonwavespawn() useintermissionpointsonwavespawn() //checked matches cerberus output
{ {
return self isinwater(); return self isinwater();
} }
isinwater() isinwater() //checked partially changed to match cerberus output see info.md
{ {
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a138 = triggers; foreach ( trigger in triggers )
_k138 = getFirstArrayKey( _a138 );
while ( isDefined( _k138 ) )
{ {
trigger = _a138[ _k138 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -124,34 +118,30 @@ isinwater()
return 1; return 1;
} }
} }
_k138 = getNextArrayKey( _a138, _k138 );
} }
return 0; return 0;
} }
rts_remove() rts_remove() //checked changed to match cerberus output
{ {
removes = getentarray( "rts_only", "targetname" ); removes = getentarray( "rts_only", "targetname" );
_a157 = removes; foreach ( remove in removes )
_k157 = getFirstArrayKey( _a157 );
while ( isDefined( _k157 ) )
{ {
remove = _a157[ _k157 ];
if ( isDefined( remove ) ) if ( isDefined( remove ) )
{ {
remove delete(); remove delete();
} }
_k157 = getNextArrayKey( _a157, _k157 );
} }
} }
devgui_dockside() devgui_dockside() //checked changed to match cerberus output
{ {
/*
/# /#
setdvar( "devgui_notify", "" ); setdvar( "devgui_notify", "" );
for ( ;; ) for ( ;; )
{ {
wait 0,5; wait 0.5;
devgui_string = getDvar( "devgui_notify" ); devgui_string = getDvar( "devgui_notify" );
switch( devgui_string ) switch( devgui_string )
{ {
@ -161,18 +151,20 @@ devgui_dockside()
crane_print_dvars(); crane_print_dvars();
break; break;
default: default:
} break;
if ( getDvar( "devgui_notify" ) != "" )
{
setdvar( "devgui_notify", "" );
}
#/
} }
if ( getDvar( "devgui_notify" ) != "" )
{
setdvar( "devgui_notify", "" );
}
#/
} }
*/
} }
crane_print_dvars() crane_print_dvars() //checked changed to match cerberus output
{ {
/*
/# /#
dvars = []; dvars = [];
dvars[ dvars.size ] = "scr_crane_claw_move_time"; dvars[ dvars.size ] = "scr_crane_claw_move_time";
@ -182,14 +174,12 @@ crane_print_dvars()
dvars[ dvars.size ] = "scr_crane_arm_z_move_time"; dvars[ dvars.size ] = "scr_crane_arm_z_move_time";
dvars[ dvars.size ] = "scr_crane_claw_drop_speed"; dvars[ dvars.size ] = "scr_crane_claw_drop_speed";
dvars[ dvars.size ] = "scr_crane_claw_drop_time_min"; dvars[ dvars.size ] = "scr_crane_claw_drop_time_min";
_a211 = dvars; foreach ( dvar in dvars )
_k211 = getFirstArrayKey( _a211 );
while ( isDefined( _k211 ) )
{ {
dvar = _a211[ _k211 ];
print( dvar + ": " ); print( dvar + ": " );
println( getDvar( dvar ) ); println( getDvar( dvar ) );
_k211 = getNextArrayKey( _a211, _k211 );
#/ #/
} }
*/
} }

View File

@ -1,3 +1,4 @@
//checked includes match cerberus output
#include maps/mp/killstreaks/_supplydrop; #include maps/mp/killstreaks/_supplydrop;
#include maps/mp/gametypes/_gameobjects; #include maps/mp/gametypes/_gameobjects;
#include maps/mp/gametypes/ctf; #include maps/mp/gametypes/ctf;
@ -7,7 +8,7 @@
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked partially changed to match cerberus output see info.md
{ {
precachemodel( "p6_dockside_container_lrg_white" ); precachemodel( "p6_dockside_container_lrg_white" );
crane_dvar_init(); crane_dvar_init();
@ -22,37 +23,27 @@ init()
arms_y = getentarray( "claw_arm_y", "targetname" ); arms_y = getentarray( "claw_arm_y", "targetname" );
arms_z = getentarray( "claw_arm_z", "targetname" ); arms_z = getentarray( "claw_arm_z", "targetname" );
claw.arms = arraycombine( arms_y, arms_z, 1, 0 ); claw.arms = arraycombine( arms_y, arms_z, 1, 0 );
_a32 = arms_z; foreach ( arm_z in arms_z )
_k32 = getFirstArrayKey( _a32 );
while ( isDefined( _k32 ) )
{ {
arm_z = _a32[ _k32 ];
arm_y = getclosest( arm_z.origin, arms_y ); arm_y = getclosest( arm_z.origin, arms_y );
arm_z.parent = arm_y; arm_z.parent = arm_y;
_k32 = getNextArrayKey( _a32, _k32 );
} }
_a39 = arms_y; foreach ( arm_y in arms_y )
_k39 = getFirstArrayKey( _a39 );
while ( isDefined( _k39 ) )
{ {
arm_y = _a39[ _k39 ];
arm_y.parent = claw; arm_y.parent = claw;
_k39 = getNextArrayKey( _a39, _k39 );
} }
claw claw_link_arms( "claw_arm_y" ); claw claw_link_arms( "claw_arm_y" );
claw claw_link_arms( "claw_arm_z" ); claw claw_link_arms( "claw_arm_z" );
crates = getentarray( "crate", "targetname" ); crates = getentarray( "crate", "targetname" );
array_thread( crates, ::sound_pit_move ); array_thread( crates, ::sound_pit_move );
crate_data = []; crate_data = [];
i = 0; for ( i = 0; i < crates.size; i++ )
while ( i < crates.size )
{ {
crates[ i ] disconnectpaths(); crates[ i ] disconnectpaths();
data = spawnstruct(); data = spawnstruct();
data.origin = crates[ i ].origin; data.origin = crates[ i ].origin;
data.angles = crates[ i ].angles; data.angles = crates[ i ].angles;
crate_data[ i ] = data; crate_data[ i ] = data;
i++;
} }
rail = getent( "crane_rail", "targetname" ); rail = getent( "crane_rail", "targetname" );
rail thread sound_ring_move(); rail thread sound_ring_move();
@ -60,34 +51,23 @@ init()
rail.roller.wheel = getent( "crane_wheel", "targetname" ); rail.roller.wheel = getent( "crane_wheel", "targetname" );
claw.wires = getentarray( "crane_wire", "targetname" ); claw.wires = getentarray( "crane_wire", "targetname" );
claw.z_wire_max = rail.roller.wheel.origin[ 2 ] - 50; claw.z_wire_max = rail.roller.wheel.origin[ 2 ] - 50;
_a73 = claw.wires; foreach ( wire in claw.wires )
_k73 = getFirstArrayKey( _a73 );
while ( isDefined( _k73 ) )
{ {
wire = _a73[ _k73 ];
wire linkto( claw ); wire linkto( claw );
if ( wire.origin[ 2 ] > claw.z_wire_max ) if ( wire.origin[ 2 ] > claw.z_wire_max )
{ {
wire ghost(); wire ghost();
} }
_k73 = getNextArrayKey( _a73, _k73 );
} }
placements = getentarray( "crate_placement", "targetname" ); placements = getentarray( "crate_placement", "targetname" );
_a85 = placements; foreach ( placement in placements )
_k85 = getFirstArrayKey( _a85 );
while ( isDefined( _k85 ) )
{ {
placement = _a85[ _k85 ]; placement.angles += vectorScale( ( 0, 1, 0 ), 90 );
placement.angles += vectorScale( ( 0, 0, 1 ), 90 );
crates[ crates.size ] = spawn( "script_model", placement.origin ); crates[ crates.size ] = spawn( "script_model", placement.origin );
_k85 = getNextArrayKey( _a85, _k85 );
} }
triggers = getentarray( "crate_kill_trigger", "targetname" ); triggers = getentarray( "crate_kill_trigger", "targetname" );
_a93 = crates; foreach ( crate in crates )
_k93 = getFirstArrayKey( _a93 );
while ( isDefined( _k93 ) )
{ {
crate = _a93[ _k93 ];
crate.kill_trigger = getclosest( crate.origin, triggers ); crate.kill_trigger = getclosest( crate.origin, triggers );
crate.kill_trigger.origin = crate.origin - vectorScale( ( 0, 0, 1 ), 5 ); crate.kill_trigger.origin = crate.origin - vectorScale( ( 0, 0, 1 ), 5 );
crate.kill_trigger enablelinkto(); crate.kill_trigger enablelinkto();
@ -100,7 +80,6 @@ init()
{ {
crate.kill_trigger.active = 0; crate.kill_trigger.active = 0;
} }
_k93 = getNextArrayKey( _a93, _k93 );
} }
trigger = getclosest( claw.origin, triggers ); trigger = getclosest( claw.origin, triggers );
trigger enablelinkto(); trigger enablelinkto();
@ -110,7 +89,7 @@ init()
level thread crane_think( claw, rail, crates, crate_data, placements ); level thread crane_think( claw, rail, crates, crate_data, placements );
} }
crane_dvar_init() crane_dvar_init() //checked matches cerberus output
{ {
set_dvar_float_if_unset( "scr_crane_claw_move_time", "5" ); set_dvar_float_if_unset( "scr_crane_claw_move_time", "5" );
set_dvar_float_if_unset( "scr_crane_crate_lower_time", "5" ); set_dvar_float_if_unset( "scr_crane_crate_lower_time", "5" );
@ -121,17 +100,14 @@ crane_dvar_init()
set_dvar_float_if_unset( "scr_crane_claw_drop_time_min", "5" ); set_dvar_float_if_unset( "scr_crane_claw_drop_time_min", "5" );
} }
wire_render() wire_render() //checked partially changed to match cerberus output see info.md
{ {
self endon( "movedone" ); self endon( "movedone" );
for ( ;; ) for ( ;; )
{ {
wait 0,05; wait 0.05;
_a139 = self.wires; foreach ( wire in self.wires )
_k139 = getFirstArrayKey( _a139 );
while ( isDefined( _k139 ) )
{ {
wire = _a139[ _k139 ];
if ( wire.origin[ 2 ] > self.z_wire_max ) if ( wire.origin[ 2 ] > self.z_wire_max )
{ {
wire ghost(); wire ghost();
@ -140,19 +116,17 @@ wire_render()
{ {
wire show(); wire show();
} }
_k139 = getNextArrayKey( _a139, _k139 );
} }
} }
} }
crane_think( claw, rail, crates, crate_data, placements ) crane_think( claw, rail, crates, crate_data, placements ) //checked changed to match beta dump
{ {
wait 1; wait 1;
claw arms_open(); claw arms_open();
for ( ;; ) for ( ;; )
{ {
i = 0; for ( i = 0; i < crates.size - placements.size; i++ )
while ( i < ( crates.size - placements.size ) )
{ {
crate = getclosest( crate_data[ i ].origin, crates ); crate = getclosest( crate_data[ i ].origin, crates );
rail crane_move( claw, crate_data[ i ], -318 ); rail crane_move( claw, crate_data[ i ], -318 );
@ -161,10 +135,9 @@ crane_think( claw, rail, crates, crate_data, placements )
lower = 1; lower = 1;
target = ( i + 1 ) % ( crates.size - placements.size ); target = ( i + 1 ) % ( crates.size - placements.size );
target_crate = getclosest( crate_data[ target ].origin, crates ); target_crate = getclosest( crate_data[ target ].origin, crates );
while ( cointoss() ) if ( cointoss() )
{ {
placement_index = 0; for ( placement_index = 0; placement_index < placements.size; placement_index++ )
while ( placement_index < placements.size )
{ {
placement = placements[ placement_index ]; placement = placements[ placement_index ];
if ( !isDefined( placement.crate ) ) if ( !isDefined( placement.crate ) )
@ -172,10 +145,6 @@ crane_think( claw, rail, crates, crate_data, placements )
lower = 0; lower = 0;
break; break;
} }
else
{
placement_index++;
}
} }
} }
if ( !lower ) if ( !lower )
@ -203,7 +172,7 @@ crane_think( claw, rail, crates, crate_data, placements )
crate = crates[ 3 + placement_index ]; crate = crates[ 3 + placement_index ];
crate.origin = target_crate.origin - vectorScale( ( 0, 0, 1 ), 137 ); crate.origin = target_crate.origin - vectorScale( ( 0, 0, 1 ), 137 );
crate.angles = target_crate.angles; crate.angles = target_crate.angles;
wait 0,25; wait 0.25;
claw waittill( "movedone" ); claw waittill( "movedone" );
} }
crate crate_raise( target_crate, crate_data[ target ] ); crate crate_raise( target_crate, crate_data[ target ] );
@ -215,12 +184,11 @@ crane_think( claw, rail, crates, crate_data, placements )
rail crane_move( claw, crate_data[ target ], -318 ); rail crane_move( claw, crate_data[ target ], -318 );
level notify( "wires_move" ); level notify( "wires_move" );
claw claw_crate_drop( crate, crate_data[ target ] ); claw claw_crate_drop( crate, crate_data[ target ] );
i++;
} }
} }
} }
crane_move( claw, desired, z_dist ) crane_move( claw, desired, z_dist ) //checked changed to match cerberus output dvars taken from beta dump
{ {
self.roller linkto( self ); self.roller linkto( self );
self.roller.wheel linkto( self.roller ); self.roller.wheel linkto( self.roller );
@ -231,7 +199,7 @@ crane_move( claw, desired, z_dist )
angles = ( self.angles[ 0 ], angles[ 1 ] + 90, self.angles[ 2 ] ); angles = ( self.angles[ 0 ], angles[ 1 ] + 90, self.angles[ 2 ] );
yawdiff = absangleclamp360( self.angles[ 1 ] - angles[ 1 ] ); yawdiff = absangleclamp360( self.angles[ 1 ] - angles[ 1 ] );
time = yawdiff / 25; time = yawdiff / 25;
self rotateto( angles, time, time * 0,35, time * 0,45 ); self rotateto( angles, time, time * 0.35, time * 0.45 );
self thread physics_move(); self thread physics_move();
level notify( "wires_stop" ); level notify( "wires_stop" );
level notify( "ring_move" ); level notify( "ring_move" );
@ -239,50 +207,46 @@ crane_move( claw, desired, z_dist )
self.roller unlink(); self.roller unlink();
goal = ( desired.origin[ 0 ], desired.origin[ 1 ], self.roller.origin[ 2 ] ); goal = ( desired.origin[ 0 ], desired.origin[ 1 ], self.roller.origin[ 2 ] );
diff = distance2d( goal, self.roller.origin ); diff = distance2d( goal, self.roller.origin );
speed = getDvarFloat( #"C39D2ABF" ); speed = getDvarFloat( "scr_crane_claw_drop_speed" );
time = diff / speed; time = diff / speed;
if ( time < getDvarFloat( #"F60036C0" ) ) if ( time < getDvarFloat( "scr_crane_claw_drop_time_min" ) )
{ {
time = getDvarFloat( #"F60036C0" ); time = getDvarFloat( "scr_crane_claw_drop_time_min" );
} }
self.roller moveto( goal, time, time * 0,25, time * 0,25 ); self.roller moveto( goal, time, time * 0.25, time * 0.25 );
self.roller thread physics_move(); self.roller thread physics_move();
goal = ( desired.origin[ 0 ], desired.origin[ 1 ], self.roller.wheel.origin[ 2 ] ); goal = ( desired.origin[ 0 ], desired.origin[ 1 ], self.roller.wheel.origin[ 2 ] );
self.roller.wheel unlink(); self.roller.wheel unlink();
self.roller.wheel moveto( goal, time, time * 0,25, time * 0,25 ); self.roller.wheel moveto( goal, time, time * 0.25, time * 0.25 );
self.roller.wheel rotateto( desired.angles + vectorScale( ( 0, 0, 1 ), 90 ), time, time * 0,25, time * 0,25 ); self.roller.wheel rotateto( desired.angles + vectorScale( ( 0, 1, 0 ), 90 ), time, time * 0.25, time * 0.25 );
claw.z_initial = claw.origin[ 2 ]; claw.z_initial = claw.origin[ 2 ];
claw unlink(); claw unlink();
claw rotateto( desired.angles, time, time * 0,25, time * 0,25 ); claw rotateto( desired.angles, time, time * 0.25, time * 0.25 );
claw.goal = ( goal[ 0 ], goal[ 1 ], claw.origin[ 2 ] + z_dist ); claw.goal = ( goal[ 0 ], goal[ 1 ], claw.origin[ 2 ] + z_dist );
claw.time = time; claw.time = time;
claw moveto( claw.goal, time, time * 0,25, time * 0,25 ); claw moveto( claw.goal, time, time * 0.25, time * 0.25 );
level notify( "ring_stop" ); level notify( "ring_stop" );
} }
physics_move() physics_move() //checked changed to match cerberus output
{ {
self endon( "rotatedone" ); self endon( "rotatedone" );
self endon( "movedone" ); self endon( "movedone" );
for ( ;; ) for ( ;; )
{ {
wait 0,05; wait 0.05;
crates = getentarray( "care_package", "script_noteworthy" ); crates = getentarray( "care_package", "script_noteworthy" );
_a318 = crates; foreach ( crate in crates )
_k318 = getFirstArrayKey( _a318 );
while ( isDefined( _k318 ) )
{ {
crate = _a318[ _k318 ];
if ( crate istouching( self ) ) if ( crate istouching( self ) )
{ {
crate physicslaunch( crate.origin, ( 0, 0, 1 ) ); crate physicslaunch( crate.origin, ( 0, 0, 0 ) );
} }
_k318 = getNextArrayKey( _a318, _k318 );
} }
} }
} }
claw_crate_grab( crate, z_dist ) claw_crate_grab( crate, z_dist ) //checked matches cerberus output dvars taken from beta dump
{ {
self thread wire_render(); self thread wire_render();
self waittill( "movedone" ); self waittill( "movedone" );
@ -291,17 +255,17 @@ claw_crate_grab( crate, z_dist )
self claw_z_arms( -33 ); self claw_z_arms( -33 );
self playsound( "amb_crane_arms" ); self playsound( "amb_crane_arms" );
self arms_close( crate ); self arms_close( crate );
crate movez( 33, getDvarFloat( #"92CC26F1" ) ); crate movez( 33, getDvarFloat( "scr_crane_arm_z_move_time" ) );
self claw_z_arms( 33 ); self claw_z_arms( 33 );
crate linkto( self ); crate linkto( self );
self movez( z_dist, getDvarFloat( #"33ED9F5F" ) ); self movez( z_dist, getDvarFloat( "scr_crane_claw_move_time" ) );
self thread wire_render(); self thread wire_render();
level notify( "wires_move" ); level notify( "wires_move" );
self waittill( "movedone" ); self waittill( "movedone" );
self playsound( "amb_crane_arms" ); self playsound( "amb_crane_arms" );
} }
sound_wires_move() sound_wires_move() //checked matches cerberus output
{ {
while ( 1 ) while ( 1 )
{ {
@ -310,12 +274,12 @@ sound_wires_move()
self playloopsound( "amb_crane_wire_lp" ); self playloopsound( "amb_crane_wire_lp" );
level waittill( "wires_stop" ); level waittill( "wires_stop" );
self playsound( "amb_crane_wire_end" ); self playsound( "amb_crane_wire_end" );
wait 0,1; wait 0.1;
self stoploopsound( 0,2 ); self stoploopsound( 0.2 );
} }
} }
sound_ring_move() sound_ring_move() //checked matches cerberus output
{ {
while ( 1 ) while ( 1 )
{ {
@ -324,12 +288,12 @@ sound_ring_move()
self playloopsound( "amb_crane_ring_lp" ); self playloopsound( "amb_crane_ring_lp" );
level waittill( "ring_stop" ); level waittill( "ring_stop" );
self playsound( "amb_crane_ring_end" ); self playsound( "amb_crane_ring_end" );
wait 0,1; wait 0.1;
self stoploopsound( 0,2 ); self stoploopsound( 0.2 );
} }
} }
sound_pit_move() sound_pit_move() //checked matches cerberus output
{ {
while ( 1 ) while ( 1 )
{ {
@ -338,19 +302,19 @@ sound_pit_move()
self playloopsound( "amb_crane_pit_lp" ); self playloopsound( "amb_crane_pit_lp" );
level waittill( "pit_stop" ); level waittill( "pit_stop" );
self playsound( "amb_crane_pit_end" ); self playsound( "amb_crane_pit_end" );
self stoploopsound( 0,2 ); self stoploopsound( 0.2 );
wait 0,2; wait 0.2;
} }
} }
claw_crate_move( crate, claw ) claw_crate_move( crate, claw ) //checked matches cerberus output dvars taken from beta dump
{ {
self thread wire_render(); self thread wire_render();
self waittill( "movedone" ); self waittill( "movedone" );
crate unlink(); crate unlink();
self playsound( "amb_crane_arms_b" ); self playsound( "amb_crane_arms_b" );
level notify( "wires_stop" ); level notify( "wires_stop" );
crate movez( -33, getDvarFloat( #"92CC26F1" ) ); crate movez( -33, getDvarFloat( "scr_crane_arm_z_move_time" ) );
self claw_z_arms( -33 ); self claw_z_arms( -33 );
self playsound( "amb_crane_arms_b" ); self playsound( "amb_crane_arms_b" );
playfxontag( level._effect[ "crane_dust" ], crate, "tag_origin" ); playfxontag( level._effect[ "crane_dust" ], crate, "tag_origin" );
@ -359,11 +323,11 @@ claw_crate_move( crate, claw )
level notify( "wires_move" ); level notify( "wires_move" );
self claw_z_arms( 33 ); self claw_z_arms( 33 );
z_dist = self.z_initial - self.origin[ 2 ]; z_dist = self.z_initial - self.origin[ 2 ];
self movez( z_dist, getDvarFloat( #"33ED9F5F" ) ); self movez( z_dist, getDvarFloat( "scr_crane_claw_move_time" ) );
self thread wire_render(); self thread wire_render();
} }
claw_crate_drop( target, data ) claw_crate_drop( target, data ) //checked matches cerberus output dvars taken from beta dump
{ {
target thread crate_drop_think( self ); target thread crate_drop_think( self );
self thread wire_render(); self thread wire_render();
@ -371,7 +335,7 @@ claw_crate_drop( target, data )
target unlink(); target unlink();
level notify( "wires_stop" ); level notify( "wires_stop" );
self playsound( "amb_crane_arms_b" ); self playsound( "amb_crane_arms_b" );
target movez( -33, getDvarFloat( #"92CC26F1" ) ); target movez( -33, getDvarFloat( "scr_crane_arm_z_move_time" ) );
self claw_z_arms( -33 ); self claw_z_arms( -33 );
playfxontag( level._effect[ "crane_dust" ], target, "tag_origin" ); playfxontag( level._effect[ "crane_dust" ], target, "tag_origin" );
self playsound( "amb_crate_drop" ); self playsound( "amb_crate_drop" );
@ -382,54 +346,51 @@ claw_crate_drop( target, data )
target.origin = data.origin; target.origin = data.origin;
self claw_z_arms( 33 ); self claw_z_arms( 33 );
self playsound( "amb_crane_arms" ); self playsound( "amb_crane_arms" );
self movez( 318, getDvarFloat( #"33ED9F5F" ) ); self movez( 318, getDvarFloat( "scr_crane_claw_move_time" ) );
self thread wire_render(); self thread wire_render();
self waittill( "movedone" ); self waittill( "movedone" );
} }
crate_lower( lower, data ) crate_lower( lower, data ) //checked matches cerberus output
{ {
z_dist = abs( self.origin[ 2 ] - lower.origin[ 2 ] ); z_dist = abs( self.origin[ 2 ] - lower.origin[ 2 ] );
self movez( z_dist * -1, getDvarFloat( #"CFA0F999" ) ); self movez( z_dist * -1, getDvarFloat( "scr_crane_crate_lower_time" ) );
lower movez( z_dist * -1, getDvarFloat( #"CFA0F999" ) ); lower movez( z_dist * -1, getDvarFloat( "scr_crane_crate_lower_time" ) );
level notify( "pit_move" ); level notify( "pit_move" );
lower waittill( "movedone" ); lower waittill( "movedone" );
level notify( "pit_stop" ); level notify( "pit_stop" );
lower ghost(); lower ghost();
self.origin = data.origin; self.origin = data.origin;
wait 0,25; wait 0.25;
} }
crate_raise( upper, data ) crate_raise( upper, data ) //checked matches cerberus output dvars taken from beta dump
{ {
self crate_set_random_model( upper ); self crate_set_random_model( upper );
self.kill_trigger.active = 1; self.kill_trigger.active = 1;
self.origin = ( data.origin[ 0 ], data.origin[ 1 ], self.origin[ 2 ] ); self.origin = ( data.origin[ 0 ], data.origin[ 1 ], self.origin[ 2 ] );
self.angles = data.angles; self.angles = data.angles;
wait 0,2; wait 0.2;
self show(); self show();
z_dist = abs( upper.origin[ 2 ] - self.origin[ 2 ] ); z_dist = abs( upper.origin[ 2 ] - self.origin[ 2 ] );
self movez( z_dist, getDvarFloat( #"B4D4D064" ) ); self movez( z_dist, getDvarFloat( "scr_crane_crate_raise_time" ) );
upper movez( z_dist, getDvarFloat( #"B4D4D064" ) ); upper movez( z_dist, getDvarFloat( "scr_crane_crate_raise_time" ) );
level notify( "wires_stop" ); level notify( "wires_stop" );
level notify( "pit_move" ); level notify( "pit_move" );
upper thread raise_think(); upper thread raise_think();
} }
raise_think() raise_think() //checked matches cerberus output
{ {
self waittill( "movedone" ); self waittill( "movedone" );
level notify( "pit_stop" ); level notify( "pit_stop" );
} }
crate_set_random_model( other ) crate_set_random_model( other ) //checked partially changed to match cerberus output see info.md
{ {
models = array_randomize( level.crate_models ); models = array_randomize( level.crate_models );
_a513 = models; foreach ( model in models )
_k513 = getFirstArrayKey( _a513 );
while ( isDefined( _k513 ) )
{ {
model = _a513[ _k513 ];
if ( model == other.model ) if ( model == other.model )
{ {
} }
@ -438,128 +399,107 @@ crate_set_random_model( other )
self setmodel( model ); self setmodel( model );
return; return;
} }
_k513 = getNextArrayKey( _a513, _k513 );
} }
} }
arms_open() arms_open() //checked matches cerberus output
{ {
self claw_move_arms( -15 ); self claw_move_arms( -15 );
self playsound( "amb_crane_arms" ); self playsound( "amb_crane_arms" );
} }
arms_close( crate ) arms_close( crate ) //checked matches cerberus output
{ {
self claw_move_arms( 15, crate ); self claw_move_arms( 15, crate );
self playsound( "amb_crane_arms" ); self playsound( "amb_crane_arms" );
} }
claw_link_arms( name ) claw_link_arms( name ) //checked changed to match cerberus output
{ {
_a541 = self.arms; foreach ( arm in self.arms )
_k541 = getFirstArrayKey( _a541 );
while ( isDefined( _k541 ) )
{ {
arm = _a541[ _k541 ];
if ( arm.targetname == name ) if ( arm.targetname == name )
{ {
arm linkto( arm.parent ); arm linkto( arm.parent );
} }
_k541 = getNextArrayKey( _a541, _k541 );
} }
} }
claw_unlink_arms( name ) claw_unlink_arms( name ) //checked changed to match cerberus output
{ {
_a552 = self.arms; foreach ( arm in self.arms )
_k552 = getFirstArrayKey( _a552 );
while ( isDefined( _k552 ) )
{ {
arm = _a552[ _k552 ];
if ( arm.targetname == name ) if ( arm.targetname == name )
{ {
arm unlink(); arm unlink();
} }
_k552 = getNextArrayKey( _a552, _k552 );
} }
} }
claw_move_arms( dist, crate ) claw_move_arms( dist, crate ) //checked changed to match cerberus output dvars taken from beta dump
{ {
claw_unlink_arms( "claw_arm_y" ); claw_unlink_arms( "claw_arm_y" );
arms = []; arms = [];
_a566 = self.arms; foreach ( arm in self.arms )
_k566 = getFirstArrayKey( _a566 );
while ( isDefined( _k566 ) )
{ {
arm = _a566[ _k566 ];
forward = anglesToForward( arm.angles ); forward = anglesToForward( arm.angles );
arm.goal = arm.origin + vectorScale( forward, dist ); arm.goal = arm.origin + vectorScale( forward, dist );
if ( arm.targetname == "claw_arm_y" ) if ( arm.targetname == "claw_arm_y" )
{ {
arms[ arms.size ] = arm; arms[ arms.size ] = arm;
arm moveto( arm.goal, getDvarFloat( #"0D6F71B0" ) ); arm moveto( arm.goal, getDvarFloat( "scr_crane_arm_y_move_time" ) );
} }
_k566 = getNextArrayKey( _a566, _k566 );
} }
if ( dist > 0 ) if ( dist > 0 )
{ {
wait ( getDvarFloat( #"0D6F71B0" ) / 2 ); wait( getDvarFloat( "scr_crane_arm_y_move_time" ) / 2 );
_a582 = self.arms; foreach ( arm in self.arms )
_k582 = getFirstArrayKey( _a582 );
while ( isDefined( _k582 ) )
{ {
arm = _a582[ _k582 ];
if ( arm.targetname == "claw_arm_y" ) if ( arm.targetname == "claw_arm_y" )
{ {
arm moveto( arm.goal, 0,1 ); arm moveto( arm.goal, 0.1 );
self playsound( "amb_crane_arms_b" ); self playsound( "amb_crane_arms_b" );
} }
_k582 = getNextArrayKey( _a582, _k582 );
} }
wait 0,05; wait 0.05;
playfxontag( level._effect[ "crane_spark" ], crate, "tag_origin" ); playfxontag( level._effect[ "crane_spark" ], crate, "tag_origin" );
self playsound( "amb_arms_latch" ); self playsound( "amb_arms_latch" );
} }
/*
/# /#
assert( arms.size == 4 ); assert( arms.size == 4 );
#/ #/
*/
waittill_multiple_ents( arms[ 0 ], "movedone", arms[ 1 ], "movedone", arms[ 2 ], "movedone", arms[ 3 ], "movedone" ); waittill_multiple_ents( arms[ 0 ], "movedone", arms[ 1 ], "movedone", arms[ 2 ], "movedone", arms[ 3 ], "movedone" );
_a600 = self.arms; foreach ( arm in self.arms )
_k600 = getFirstArrayKey( _a600 );
while ( isDefined( _k600 ) )
{ {
arm = _a600[ _k600 ];
arm.origin = arm.goal; arm.origin = arm.goal;
_k600 = getNextArrayKey( _a600, _k600 );
} }
self claw_link_arms( "claw_arm_y" ); self claw_link_arms( "claw_arm_y" );
} }
claw_z_arms( z ) claw_z_arms( z ) //checked changed to match cerberus output dvars taken from beta dump
{ {
claw_unlink_arms( "claw_arm_z" ); claw_unlink_arms( "claw_arm_z" );
arms = []; arms = [];
_a613 = self.arms; foreach ( arm in self.arms )
_k613 = getFirstArrayKey( _a613 );
while ( isDefined( _k613 ) )
{ {
arm = _a613[ _k613 ];
if ( arm.targetname == "claw_arm_z" ) if ( arm.targetname == "claw_arm_z" )
{ {
arms[ arms.size ] = arm; arms[ arms.size ] = arm;
arm movez( z, getDvarFloat( #"92CC26F1" ) ); arm movez( z, getDvarFloat( "scr_crane_arm_z_move_time" ) );
} }
_k613 = getNextArrayKey( _a613, _k613 );
} }
/*
/# /#
assert( arms.size == 4 ); assert( arms.size == 4 );
#/ #/
*/
waittill_multiple_ents( arms[ 0 ], "movedone", arms[ 1 ], "movedone", arms[ 2 ], "movedone", arms[ 3 ], "movedone" ); waittill_multiple_ents( arms[ 0 ], "movedone", arms[ 1 ], "movedone", arms[ 2 ], "movedone", arms[ 3 ], "movedone" );
self claw_link_arms( "claw_arm_z" ); self claw_link_arms( "claw_arm_z" );
} }
crate_drop_think( claw ) crate_drop_think( claw ) //checked changed at own discretion see info.md
{ {
self endon( "claw_done" ); self endon( "claw_done" );
self.disablefinalkillcam = 1; self.disablefinalkillcam = 1;
@ -567,100 +507,105 @@ crate_drop_think( claw )
corpse_delay = 0; corpse_delay = 0;
for ( ;; ) for ( ;; )
{ {
wait 0,2; wait 0.2;
entities = getdamageableentarray( self.origin, 200 ); entities = getdamageableentarray( self.origin, 200 );
_a642 = entities; i = 0;
_k642 = getFirstArrayKey( _a642 ); while ( i < entities.size )
while ( isDefined( _k642 ) )
{ {
entity = _a642[ _k642 ]; if ( !entities[ i ] istouching( self.kill_trigger ) )
if ( !entity istouching( self.kill_trigger ) )
{ {
i++;
continue;
} }
else if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" ) if ( isDefined( entities[ i ].model ) && entities[ i ].model == "t6_wpn_tac_insert_world" )
{ {
entity maps/mp/_tacticalinsertion::destroy_tactical_insertion(); entities[ i ] maps/mp/_tacticalinsertion::destroy_tactical_insertion();
i++;
continue;
} }
else if ( !isalive( entities[ i ] ) )
{ {
if ( !isalive( entity ) ) i++;
continue;
}
if ( isDefined( entities[ i ].targetname ) )
{
if ( entities[ i ].targetname == "talon" )
{ {
break; entities[ i ] notify( "death" );
i++;
continue;
} }
else if ( isDefined( entity.targetname ) ) if ( entities[ i ].targetname == "rcbomb" )
{ {
if ( entity.targetname == "talon" ) entities[ i ] maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
{ i++;
entity notify( "death" ); continue;
break;
}
else if ( entity.targetname == "rcbomb" )
{
entity maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
break;
}
else if ( entity.targetname == "riotshield_mp" )
{
entity dodamage( 1, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
break;
}
} }
else if ( isDefined( entity.helitype ) && entity.helitype == "qrdrone" ) if ( entities[ i ].targetname == "riotshield_mp" )
{ {
watcher = entity.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" ); entities[ i ] dodamage( 1, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined ); i++;
break; continue;
}
else
{
if ( entity.classname == "grenade" )
{
if ( !isDefined( entity.name ) )
{
break;
}
else if ( !isDefined( entity.owner ) )
{
break;
}
else if ( entity.name == "proximity_grenade_mp" )
{
watcher = entity.owner getwatcherforweapon( entity.name );
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
break;
}
else if ( !isweaponequipment( entity.name ) )
{
break;
}
else watcher = entity.owner getwatcherforweapon( entity.name );
if ( !isDefined( watcher ) )
{
break;
}
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
break;
}
else if ( entity.classname == "auto_turret" )
{
if ( !isDefined( entity.damagedtodeath ) || !entity.damagedtodeath )
{
entity domaxdamage( self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
}
break;
}
else
{
entity dodamage( entity.health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
if ( isplayer( entity ) )
{
claw thread claw_drop_pause();
corpse_delay = getTime() + 3000;
}
}
} }
} }
_k642 = getNextArrayKey( _a642, _k642 ); if ( isDefined( entities[ i ].helitype ) && entities[ i ].helitype == "qrdrone" )
{
watcher = entities[ i ].owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" );
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entities[ i ], 0, undefined );
i++;
continue;
}
if ( entities[ i ].classname == "grenade" )
{
if ( !isDefined( entities[ i ].name ) )
{
i++;
continue;
}
if ( !isDefined( entities[ i ].owner ) )
{
i++;
continue;
}
if ( entities[ i ].name == "proximity_grenade_mp" )
{
watcher = entities[ i ].owner getwatcherforweapon( entities[ i ].name );
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entities[ i ], 0, undefined, "script_mover_mp" );
i++;
continue;
}
if ( !isweaponequipment( entities[ i ].name ) )
{
i++;
continue;
}
watcher = entities[ i ].owner getwatcherforweapon( entities[ i ].name );
if ( !isDefined( watcher ) )
{
i++;
continue;
}
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entities[ i ], 0, undefined, "script_mover_mp" );
i++;
continue;
}
if ( entities[ i ].classname == "auto_turret" )
{
if ( !isDefined( entities[ i ].damagedtodeath ) || !entities[ i ].damagedtodeath )
{
entities[ i ] domaxdamage( self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
}
i++;
continue;
}
entities[ i ] dodamage( entities[ i ].health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
if ( isplayer( entities[ i ] ) )
{
claw thread claw_drop_pause();
corpse_delay = getTime() + 3000;
}
i++;
} }
self destroy_supply_crates(); self destroy_supply_crates();
if ( getTime() > corpse_delay ) if ( getTime() > corpse_delay )
@ -669,16 +614,12 @@ crate_drop_think( claw )
} }
if ( level.gametype == "ctf" ) if ( level.gametype == "ctf" )
{ {
_a748 = level.flags; foreach ( flag in level.flags )
_k748 = getFirstArrayKey( _a748 );
while ( isDefined( _k748 ) )
{ {
flag = _a748[ _k748 ];
if ( flag.visuals[ 0 ] istouching( self.kill_trigger ) ) if ( flag.visuals[ 0 ] istouching( self.kill_trigger ) )
{ {
flag maps/mp/gametypes/ctf::returnflag(); flag maps/mp/gametypes/ctf::returnflag();
} }
_k748 = getNextArrayKey( _a748, _k748 );
} }
} }
else if ( level.gametype == "sd" && !level.multibomb ) else if ( level.gametype == "sd" && !level.multibomb )
@ -691,14 +632,14 @@ crate_drop_think( claw )
} }
} }
claw_drop_think() claw_drop_think() //checked matches cerberus output
{ {
self endon( "claw_pause" ); self endon( "claw_pause" );
self waittill( "movedone" ); self waittill( "movedone" );
self notify( "claw_movedone" ); self notify( "claw_movedone" );
} }
claw_drop_pause() claw_drop_pause() //checked matches cerberus output
{ {
self notify( "claw_pause" ); self notify( "claw_pause" );
self endon( "claw_pause" ); self endon( "claw_pause" );
@ -709,49 +650,43 @@ claw_drop_pause()
{ {
return; return;
} }
self moveto( self.origin, 0,01 ); self moveto( self.origin, 0.01 );
wait 3; wait 3;
self thread claw_drop_think(); self thread claw_drop_think();
self moveto( self.goal, time ); self moveto( self.goal, time );
} }
destroy_supply_crates() destroy_supply_crates() //checked changed to match cerberus output
{ {
crates = getentarray( "care_package", "script_noteworthy" ); crates = getentarray( "care_package", "script_noteworthy" );
_a802 = crates; foreach ( crate in crates )
_k802 = getFirstArrayKey( _a802 );
while ( isDefined( _k802 ) )
{ {
crate = _a802[ _k802 ];
if ( distancesquared( crate.origin, self.origin ) < 40000 ) if ( distancesquared( crate.origin, self.origin ) < 40000 )
{ {
if ( crate istouching( self ) ) if ( crate istouching( self ) )
{ {
playfx( level._supply_drop_explosion_fx, crate.origin ); playfx( level._supply_drop_explosion_fx, crate.origin );
playsoundatposition( "wpn_grenade_explode", crate.origin ); playsoundatposition( "wpn_grenade_explode", crate.origin );
wait 0,1; wait 0.1;
crate maps/mp/killstreaks/_supplydrop::cratedelete(); crate maps/mp/killstreaks/_supplydrop::cratedelete();
} }
} }
_k802 = getNextArrayKey( _a802, _k802 );
} }
} }
destroy_corpses() destroy_corpses() //checked changed to match cerberus output
{ {
corpses = getcorpsearray(); corpses = getcorpsearray();
i = 0; for ( i = 0; i < corpses.size; i++ )
while ( i < corpses.size )
{ {
if ( distancesquared( corpses[ i ].origin, self.origin ) < 40000 ) if ( distancesquared( corpses[ i ].origin, self.origin ) < 40000 )
{ {
corpses[ i ] delete(); corpses[ i ] delete();
} }
i++;
} }
} }
getwatcherforweapon( weapname ) getwatcherforweapon( weapname ) //checked partially changed to match cerberus output see info.md
{ {
if ( !isDefined( self ) ) if ( !isDefined( self ) )
{ {
@ -769,11 +704,9 @@ getwatcherforweapon( weapname )
i++; i++;
continue; continue;
} }
else return self.weaponobjectwatcherarray[ i ];
{
return self.weaponobjectwatcherarray[ i ];
}
i++; i++;
} }
return undefined; return undefined;
} }

View File

@ -1,8 +1,13 @@
//checked includes changed to match cerberus output
#include maps/mp/mp_downhill_cablecar;
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_downhill_amb;
#include maps/mp/_load;
#include maps/mp/mp_downhill_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked matches cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_downhill_fx::main(); maps/mp/mp_downhill_fx::main();
@ -26,15 +31,15 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_64x64x64", "collider", ( 969,01, -2355,43, 1014,87 ), ( 2,23119, 12,5057, -9,9556 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 969.01, -2355.43, 1014.87 ), ( 2.23119, 12.5057, -9.9556 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 954,068, -2352,16, 1001,08 ), ( 3,17067, 17,931, -9,69974 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 954.068, -2352.16, 1001.08 ), ( 3.17067, 17.931, -9.69974 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 942,933, -2359,71, 1031,9 ), ( 3,17067, 17,931, -9,69974 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 942.933, -2359.71, 1031.9 ), ( 3.17067, 17.931, -9.69974 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 368, -1378, 1015 ), vectorScale( ( 0, 0, 0 ), 24,9 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 368, -1378, 1015 ), vectorScale( ( 0, 1, 0 ), 24.9 ) );
spawncollision( "collision_clip_64x64x64", "collider", ( 1268,5, -2518, 1062 ), vectorScale( ( 0, 0, 0 ), 349 ) ); spawncollision( "collision_clip_64x64x64", "collider", ( 1268.5, -2518, 1062 ), vectorScale( ( 0, 1, 0 ), 349 ) );
spawncollision( "collision_clip_64x64x64", "collider", ( 1122,5, 583,5, 959,5 ), vectorScale( ( 0, 0, 0 ), 41,2 ) ); spawncollision( "collision_clip_64x64x64", "collider", ( 1122.5, 583.5, 959.5 ), vectorScale( ( 0, 1, 0 ), 41.2 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 1895, -1428,5, 948 ), ( 0, 0, 0 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 1895, -1428.5, 948 ), ( 0, 0, 0 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( 2431,5, -174, 1209,5 ), ( 0, 318,4, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( 2431.5, -174, 1209.5 ), ( 0, 318.4, 90 ) );
spawncollision( "collision_clip_64x64x64", "collider", ( 318, 1509, 1105 ), ( 0, 34,4, 90 ) ); spawncollision( "collision_clip_64x64x64", "collider", ( 318, 1509, 1105 ), ( 0, 34.4, 90 ) );
precachemodel( "fxanim_mp_downhill_cable_car_mod" ); precachemodel( "fxanim_mp_downhill_cable_car_mod" );
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 ); maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
level.cablecarlightsfx = loadfx( "maps/mp_maps/fx_mp_downhill_cablecar_lights" ); level.cablecarlightsfx = loadfx( "maps/mp_maps/fx_mp_downhill_cablecar_lights" );
@ -45,8 +50,9 @@ main()
level.remotemotarviewdown = 65; level.remotemotarviewdown = 65;
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
} }

View File

@ -1,16 +1,20 @@
//checked includes changed to match cerberus output
#include maps/mp/mp_drone_doors; #include maps/mp/mp_drone_doors;
#include maps/mp/mp_drone_amb;
#include maps/mp/_load;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_drone_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
precachemodel( "fxanim_gp_robot_arm_welder_server_side_mod" ); precachemodel( "fxanim_gp_robot_arm_welder_server_side_mod" );
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
welders = []; welders = [];
welders[ welders.size ] = ( -1339,51, 76,04, 136,11 ); welders[ welders.size ] = ( -1339.51, 76.04, 136.11 );
welders[ welders.size ] = ( -1339,51, -171,9, 136,11 ); welders[ welders.size ] = ( -1339.51, -171.9, 136.11 );
welders[ welders.size ] = ( -1339,51, 559,04, 136,12 ); welders[ welders.size ] = ( -1339.51, 559.04, 136.12 );
welders[ welders.size ] = ( -1339,51, 312,01, 136,12 ); welders[ welders.size ] = ( -1339.51, 312.01, 136.12 );
maps/mp/mp_drone_fx::main(); maps/mp/mp_drone_fx::main();
precachemodel( "collision_physics_wall_512x512x10" ); precachemodel( "collision_physics_wall_512x512x10" );
precachemodel( "collision_physics_wall_256x256x10" ); precachemodel( "collision_physics_wall_256x256x10" );
@ -36,30 +40,30 @@ main()
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3763, -2085, -44 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -3763, -2085, -44 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( -4146, -2085, 88 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( -4146, -2085, 88 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -2054, -2098, -56 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -2054, -2098, -56 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_32x32x10", "collider", ( -1351, -1076, 202 ), ( 5,82444, 91,4567, 105,986 ) ); spawncollision( "collision_clip_32x32x10", "collider", ( -1351, -1076, 202 ), ( 5.82444, 91.4567, 105.986 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( 33,5, -1386,25, 211,5 ), vectorScale( ( 0, 0, 0 ), 90 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( 33.5, -1386.25, 211.5 ), vectorScale( ( 0, 0, -1 ), 90 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( -923,5, 2180, 366,5 ), vectorScale( ( 0, 0, 0 ), 270 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( -923.5, 2180, 366.5 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( -1050,5, 2303, 366,5 ), vectorScale( ( 0, 0, 0 ), 180 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( -1050.5, 2303, 366.5 ), vectorScale( ( 0, 1, 0 ), 180 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( -1306,5, 2303, 366,5 ), vectorScale( ( 0, 0, 0 ), 180 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( -1306.5, 2303, 366.5 ), vectorScale( ( 0, 1, 0 ), 180 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( -1046,5, 2180, 489,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( -1046.5, 2180, 489.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( -1302,5, 2180, 489,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( -1302.5, 2180, 489.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( -1024, 2288, 352 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( -1024, 2288, 352 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1197,5, 2589, 429,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1197.5, 2589, 429.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1197,5, 2589, 565 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1197.5, 2589, 565 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1217,5, 2602, 429,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1217.5, 2602, 429.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1217,5, 2602, 565 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1217.5, 2602, 565 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 335, 3507,5, 453 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 335, 3507.5, 453 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 496,5, 3280, 478,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 496.5, 3280, 478.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 440, 3272, 432 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 440, 3272, 432 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 1109, 347,5, 305,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 1109, 347.5, 305.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1505, 1898, 754,5 ), ( 360, 180, 90,0003 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1505, 1898, 754.5 ), ( 360, 180, 90.0003 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1505, 2406, 754,5 ), ( 360, 180, 90,0003 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1505, 2406, 754.5 ), ( 360, 180, 90.0003 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1253,5, 1898, 503,5 ), ( 1, 270, 5,96 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1253.5, 1898, 503.5 ), ( 1, 270, 5.96 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1253,5, 2406, 503,5 ), ( 1, 270, 5,96 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1253.5, 2406, 503.5 ), ( 1, 270, 5.96 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1264,64, 2921,02, 754,5 ), ( 1, 133,4, 90 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1264.64, 2921.02, 754.5 ), ( 1, 133.4, 90 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1091,83, 2738,29, 503,5 ), ( 1, 223,4, 5,96 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1091.83, 2738.29, 503.5 ), ( 1, 223.4, 5.96 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1091,83, 3083,21, 503 ), ( 360, 136,6, -180 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1091.83, 3083.21, 503 ), ( 360, 136.6, -180 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1504,82, 1671,75, 503 ), ( 1, 174,2, -180 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1504.82, 1671.75, 503 ), ( 1, 174.2, -180 ) );
if ( getgametypesetting( "allowMapScripting" ) ) if ( getgametypesetting( "allowMapScripting" ) )
{ {
level maps/mp/mp_drone_doors::init(); level maps/mp/mp_drone_doors::init();
@ -69,24 +73,20 @@ main()
level.remotemotarviewup = 18; level.remotemotarviewup = 18;
setheliheightpatchenabled( "war_mode_heli_height_lock", 0 ); setheliheightpatchenabled( "war_mode_heli_height_lock", 0 );
geo_changes(); geo_changes();
_a109 = welders; foreach ( welder in welders )
_k109 = getFirstArrayKey( _a109 );
while ( isDefined( _k109 ) )
{ {
welder = _a109[ _k109 ];
collision = spawn( "script_model", welder ); collision = spawn( "script_model", welder );
collision setmodel( "fxanim_gp_robot_arm_welder_server_side_mod" ); collision setmodel( "fxanim_gp_robot_arm_welder_server_side_mod" );
_k109 = getNextArrayKey( _a109, _k109 );
} }
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
} }
geo_changes() geo_changes() //checked changed to match cerberus output
{ {
rts_floor = getent( "overwatch_floor", "targetname" ); rts_floor = getent( "overwatch_floor", "targetname" );
if ( isDefined( rts_floor ) ) if ( isDefined( rts_floor ) )
@ -94,12 +94,9 @@ geo_changes()
rts_floor delete(); rts_floor delete();
} }
removes = getentarray( "rts_only", "targetname" ); removes = getentarray( "rts_only", "targetname" );
_a132 = removes; foreach ( removal in removes )
_k132 = getFirstArrayKey( _a132 );
while ( isDefined( _k132 ) )
{ {
removal = _a132[ _k132 ];
removal delete(); removal delete();
_k132 = getNextArrayKey( _a132, _k132 );
} }
} }

View File

@ -1,9 +1,13 @@
//checked includes match cerberus output
#include maps/mp/mp_express_train; #include maps/mp/mp_express_train;
#include maps/mp/mp_express_amb;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/_load;
#include maps/mp/mp_express_fx;
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked does not match cerberus output or beta dump did not change
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_express_fx::main(); maps/mp/mp_express_fx::main();
@ -21,35 +25,38 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 200,735, 759,059, 136 ), ( 0, 248,6, 90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 200.735, 759.059, 136 ), ( 0, 248.6, 90 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 229,73, 748,06, 151 ), ( 0, 248,6, 90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 229.73, 748.06, 151 ), ( 0, 248.6, 90 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 379,816, 1141,39, 136 ), ( 0, 244,8, 90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 379.816, 1141.39, 136 ), ( 0, 244.8, 90 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 408,023, 1128,5, 151 ), ( 0, 244,8, 90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 408.023, 1128.5, 151 ), ( 0, 244.8, 90 ) );
registerclientfield( "vehicle", "train_moving", 1, 1, "int" ); registerclientfield( "vehicle", "train_moving", 1, 1, "int" );
registerclientfield( "scriptmover", "train_moving", 1, 1, "int" ); registerclientfield( "scriptmover", "train_moving", 1, 1, "int" );
if ( getgametypesetting( "allowMapScripting" ) ) if ( getgametypesetting( "allowMapScripting" ) )
{ {
level thread maps/mp/mp_express_train::init(); level thread maps/mp/mp_express_train::init();
} }
/*
/# /#
level thread devgui_express(); level thread devgui_express();
execdevgui( "devgui_mp_express" ); execdevgui( "devgui_mp_express" );
#/ #/
*/
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1900", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1900", reset_dvars );
} }
devgui_express() devgui_express() //checked changed to match cerberus output
{ {
/*
/# /#
setdvar( "devgui_notify", "" ); setdvar( "devgui_notify", "" );
for ( ;; ) for ( ;; )
{ {
wait 0,5; wait 0.5;
devgui_string = getDvar( "devgui_notify" ); devgui_string = getDvar( "devgui_notify" );
switch( devgui_string ) switch( devgui_string )
{ {
@ -59,12 +66,15 @@ devgui_express()
level notify( "train_start" ); level notify( "train_start" );
break; break;
default: default:
} break;
if ( getDvar( "devgui_notify" ) != "" ) }
{ if ( getDvar( "devgui_notify" ) != "" )
setdvar( "devgui_notify", "" ); {
} setdvar( "devgui_notify", "" );
}
#/ #/
} }
} }
*/
} }

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_frostbite_amb;
#include maps/mp/_load;
#include maps/mp/mp_frostbite_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
level thread spawnkilltrigger(); level thread spawnkilltrigger();
@ -21,44 +25,44 @@ main()
maps/mp/mp_frostbite_amb::main(); maps/mp/mp_frostbite_amb::main();
maps/mp/_compass::setupminimap( "compass_map_mp_frostbite" ); maps/mp/_compass::setupminimap( "compass_map_mp_frostbite" );
prop1 = spawn( "script_model", ( -972, 559, 182 ) ); prop1 = spawn( "script_model", ( -972, 559, 182 ) );
prop1.angles = vectorScale( ( 0, 0, 1 ), 90 ); prop1.angles = vectorScale( ( 0, 1, 0 ), 90 );
prop2 = spawn( "script_model", ( -973, 521, 182 ) ); prop2 = spawn( "script_model", ( -973, 521, 182 ) );
prop2.angles = vectorScale( ( 0, 0, 1 ), 90 ); prop2.angles = vectorScale( ( 0, 1, 0 ), 90 );
prop3 = spawn( "script_model", ( -972, 485, 182 ) ); prop3 = spawn( "script_model", ( -972, 485, 182 ) );
prop3.angles = vectorScale( ( 0, 0, 1 ), 90 ); prop3.angles = vectorScale( ( 0, 1, 0 ), 90 );
prop4 = spawn( "script_model", ( -966, 558, 182 ) ); prop4 = spawn( "script_model", ( -966, 558, 182 ) );
prop4.angles = vectorScale( ( 0, 0, 1 ), 270 ); prop4.angles = vectorScale( ( 0, 1, 0 ), 270 );
prop5 = spawn( "script_model", ( -965, 522, 182 ) ); prop5 = spawn( "script_model", ( -965, 522, 182 ) );
prop5.angles = vectorScale( ( 0, 0, 1 ), 270 ); prop5.angles = vectorScale( ( 0, 1, 0 ), 270 );
prop6 = spawn( "script_model", ( -966, 484, 182 ) ); prop6 = spawn( "script_model", ( -966, 484, 182 ) );
prop6.angles = vectorScale( ( 0, 0, 1 ), 270 ); prop6.angles = vectorScale( ( 0, 1, 0 ), 270 );
prop1 setmodel( "dh_facilities_sign_08" ); prop1 setmodel( "dh_facilities_sign_08" );
prop2 setmodel( "dh_facilities_sign_08" ); prop2 setmodel( "dh_facilities_sign_08" );
prop3 setmodel( "dh_facilities_sign_08" ); prop3 setmodel( "dh_facilities_sign_08" );
prop4 setmodel( "dh_facilities_sign_08" ); prop4 setmodel( "dh_facilities_sign_08" );
prop5 setmodel( "dh_facilities_sign_08" ); prop5 setmodel( "dh_facilities_sign_08" );
prop6 setmodel( "dh_facilities_sign_08" ); prop6 setmodel( "dh_facilities_sign_08" );
planter1 = spawn( "script_model", ( -1609, -827,405, 131,751 ) ); planter1 = spawn( "script_model", ( -1609, -827.405, 131.751 ) );
planter1.angles = ( 359,846, 90,58, 89,9993 ); planter1.angles = ( 359.846, 90.58, 89.9993 );
planter2 = spawn( "script_model", ( -1609, -827,41, 81,75 ) ); planter2 = spawn( "script_model", ( -1609, -827.41, 81.75 ) );
planter2.angles = ( 359,846, 90,58, 89,9993 ); planter2.angles = ( 359.846, 90.58, 89.9993 );
planter1 setmodel( "p6_fro_concrete_planter" ); planter1 setmodel( "p6_fro_concrete_planter" );
planter2 setmodel( "p6_fro_concrete_planter" ); planter2 setmodel( "p6_fro_concrete_planter" );
brick1 = spawn( "script_model", ( 1129, 703, 95,75 ) ); brick1 = spawn( "script_model", ( 1129, 703, 95.75 ) );
brick1.angles = ( 90, 180, -90 ); brick1.angles = ( 90, 180, -90 );
brick2 = spawn( "script_model", ( 1127,75, 712, 95,75 ) ); brick2 = spawn( "script_model", ( 1127.75, 712, 95.75 ) );
brick2.angles = ( 90, 180, -90 ); brick2.angles = ( 90, 180, -90 );
brick3 = spawn( "script_model", ( 1129, 703, 47,75 ) ); brick3 = spawn( "script_model", ( 1129, 703, 47.75 ) );
brick3.angles = ( 90, 180, -90 ); brick3.angles = ( 90, 180, -90 );
brick4 = spawn( "script_model", ( 1127,75, 712, 47,75 ) ); brick4 = spawn( "script_model", ( 1127.75, 712, 47.75 ) );
brick4.angles = ( 90, 180, -90 ); brick4.angles = ( 90, 180, -90 );
brick5 = spawn( "script_model", ( 1129, 694, 95,75 ) ); brick5 = spawn( "script_model", ( 1129, 694, 95.75 ) );
brick5.angles = ( 90, 180, -90 ); brick5.angles = ( 90, 180, -90 );
brick6 = spawn( "script_model", ( 1129, 694, 47,75 ) ); brick6 = spawn( "script_model", ( 1129, 694, 47.75 ) );
brick6.angles = ( 90, 180, -90 ); brick6.angles = ( 90, 180, -90 );
brick7 = spawn( "script_model", ( 1129, 685, 95,75 ) ); brick7 = spawn( "script_model", ( 1129, 685, 95.75 ) );
brick7.angles = ( 90, 180, -90 ); brick7.angles = ( 90, 180, -90 );
brick8 = spawn( "script_model", ( 1129, 685, 47,75 ) ); brick8 = spawn( "script_model", ( 1129, 685, 47.75 ) );
brick8.angles = ( 90, 180, -90 ); brick8.angles = ( 90, 180, -90 );
brick1 setmodel( "p6_fro_bookstore_window_trm" ); brick1 setmodel( "p6_fro_bookstore_window_trm" );
brick2 setmodel( "p6_fro_bookstore_window_trm" ); brick2 setmodel( "p6_fro_bookstore_window_trm" );
@ -68,22 +72,22 @@ main()
brick6 setmodel( "p6_fro_bookstore_window_trm" ); brick6 setmodel( "p6_fro_bookstore_window_trm" );
brick7 setmodel( "p6_fro_bookstore_window_trm" ); brick7 setmodel( "p6_fro_bookstore_window_trm" );
brick8 setmodel( "p6_fro_bookstore_window_trm" ); brick8 setmodel( "p6_fro_bookstore_window_trm" );
spawncollision( "collision_clip_256x256x10", "collider", ( 145, -1295,5, 115,5 ), vectorScale( ( 0, 0, 1 ), 88,9 ) ); spawncollision( "collision_clip_256x256x10", "collider", ( 145, -1295.5, 115.5 ), vectorScale( ( 0, 0, -1 ), 88.9 ) );
spawncollision( "collision_clip_256x256x10", "collider", ( 28, -1295,5, 115,5 ), vectorScale( ( 0, 0, 1 ), 88,9 ) ); spawncollision( "collision_clip_256x256x10", "collider", ( 28, -1295.5, 115.5 ), vectorScale( ( 0, 0, -1 ), 88.9 ) );
spawncollision( "collision_clip_256x256x10", "collider", ( 252,5, -1251,5, 114 ), ( 0, 45,1, -88,9 ) ); spawncollision( "collision_clip_256x256x10", "collider", ( 252.5, -1251.5, 114 ), ( 0, 45.1, -88.9 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 448, 1577, -10,5 ), vectorScale( ( 0, 0, 1 ), 277 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 448, 1577, -10.5 ), vectorScale( ( 1, 0, 0 ), 277 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 1199, 89, 67,5 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 1199, 89, 67.5 ), vectorScale( ( 0, 0, -1 ), 90 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 84,5, 361,75, 66,5 ), ( 359,904, 8,05247, 11,9159 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 84.5, 361.75, 66.5 ), ( 359.904, 8.05247, 11.9159 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 80, 390, 69,5 ), vectorScale( ( 0, 0, 1 ), 9,19998 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 80, 390, 69.5 ), vectorScale( ( 0, 1, 0 ), 9.19998 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 75,5, 418, 66,75 ), ( 1,00357, 9,19998, -11 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 75.5, 418, 66.75 ), ( 1.00357, 9.19998, -11 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( 244,75, -860, -45 ), vectorScale( ( 0, 0, 1 ), 27 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( 244.75, -860, -45 ), vectorScale( ( 0, 1, 0 ), 27 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( 958,5, 716,5, 130 ), vectorScale( ( 0, 0, 1 ), 5,6 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( 958.5, 716.5, 130 ), vectorScale( ( 0, 0, 1 ), 5.6 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1126, -909, 44,5 ), vectorScale( ( 0, 0, 1 ), 105,6 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1126, -909, 44.5 ), vectorScale( ( 0, 1, 0 ), 105.6 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789,5, 44,5 ), vectorScale( ( 0, 0, 1 ), 83,9 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789.5, 44.5 ), vectorScale( ( 0, 1, 0 ), 83.9 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789,5, 107 ), vectorScale( ( 0, 0, 1 ), 83,9 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789.5, 107 ), vectorScale( ( 0, 1, 0 ), 83.9 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1126, -909, 106 ), vectorScale( ( 0, 0, 1 ), 105,6 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1126, -909, 106 ), vectorScale( ( 0, 1, 0 ), 105.6 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789,5, 164,5 ), vectorScale( ( 0, 0, 1 ), 83,9 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789.5, 164.5 ), vectorScale( ( 0, 1, 0 ), 83.9 ) );
spawncollision( "collision_mp_frost_kitchen_weap", "collider", ( 1994, -281,5, 16 ), ( 0, 0, 1 ) ); spawncollision( "collision_mp_frost_kitchen_weap", "collider", ( 1994, -281.5, 16 ), ( 0, 1, 0 ) );
setdvar( "compassmaxrange", "2100" ); setdvar( "compassmaxrange", "2100" );
visionsetnaked( "mp_frostbite", 1 ); visionsetnaked( "mp_frostbite", 1 );
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A"; game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
@ -101,14 +105,14 @@ main()
level glass_node_fix(); level glass_node_fix();
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2250", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2250", reset_dvars );
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars ); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
} }
on_player_killed( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration ) on_player_killed( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration ) //checked matches cerberus output
{ {
if ( isDefined( smeansofdeath ) && smeansofdeath == "MOD_TRIGGER_HURT" ) if ( isDefined( smeansofdeath ) && smeansofdeath == "MOD_TRIGGER_HURT" )
{ {
@ -122,25 +126,25 @@ on_player_killed( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, s
} }
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( self.body depthinwater() > 0 ) if ( self.body depthinwater() > 0 )
{ {
return 0,4; return 0.4;
} }
return defaulttime; return defaulttime;
} }
glass_node_fix() glass_node_fix() //checked matches cerberus output
{ {
nodes = getallnodes(); nodes = getallnodes();
level thread glass_node_think( nodes[ 459 ] ); level thread glass_node_think( nodes[ 459 ] );
level thread glass_node_think( nodes[ 454 ] ); level thread glass_node_think( nodes[ 454 ] );
} }
glass_node_think( node ) glass_node_think( node ) //checked matches cerberus output
{ {
wait 0,25; wait 0.25;
ent = spawn( "script_model", node.origin, 1 ); ent = spawn( "script_model", node.origin, 1 );
ent setmodel( level.deployedshieldmodel ); ent setmodel( level.deployedshieldmodel );
ent hide(); ent hide();
@ -157,7 +161,7 @@ glass_node_think( node )
} }
} }
spawnkilltrigger() spawnkilltrigger() //checked matches cerberus output
{ {
trigger = spawn( "trigger_radius", ( 536, -1304, -104 ), 0, 256, 128 ); trigger = spawn( "trigger_radius", ( 536, -1304, -104 ), 0, 256, 128 );
while ( 1 ) while ( 1 )
@ -166,3 +170,4 @@ spawnkilltrigger()
player dodamage( player.health * 2, trigger.origin, trigger, trigger, "none", "MOD_SUICIDE", 0, "lava_mp" ); player dodamage( player.health * 2, trigger.origin, trigger, trigger, "none", "MOD_SUICIDE", 0, "lava_mp" );
} }
} }

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_hijacked_amb;
#include maps/mp/_load;
#include maps/mp/mp_hijacked_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
level.overrideplayerdeathwatchtimer = ::leveloverridetime; level.overrideplayerdeathwatchtimer = ::leveloverridetime;
@ -15,103 +19,96 @@ main()
maps/mp/mp_hijacked_amb::main(); maps/mp/mp_hijacked_amb::main();
if ( level.gametype == "dm" ) if ( level.gametype == "dm" )
{ {
spawn( "mp_dm_spawn", ( 82, 262, -135,5 ), 0, 187, 0 ); spawn( "mp_dm_spawn", ( 82, 262, -135.5 ), 0, 187, 0 );
spawn( "mp_dm_spawn", ( 783,5, 90, 58 ), 0, 198, 0 ); spawn( "mp_dm_spawn", ( 783.5, 90, 58 ), 0, 198, 0 );
spawn( "mp_dm_spawn", ( 1103,5, -187,5, 192 ), 0, 165, 0 ); spawn( "mp_dm_spawn", ( 1103.5, -187.5, 192 ), 0, 165, 0 );
spawn( "mp_dm_spawn", ( -3012, -178, -136 ), 0, 335, 0 ); spawn( "mp_dm_spawn", ( -3012, -178, -136 ), 0, 335, 0 );
spawn( "mp_dm_spawn", ( -3016, 176, -136 ), 0, 28, 0 ); spawn( "mp_dm_spawn", ( -3016, 176, -136 ), 0, 28, 0 );
spawn( "mp_dm_spawn", ( -1022,5, -109,5, -136 ), 0, 5, 0 ); spawn( "mp_dm_spawn", ( -1022.5, -109.5, -136 ), 0, 5, 0 );
spawn( "mp_dm_spawn", ( -874, 661, -14 ), 0, 5, 0 ); spawn( "mp_dm_spawn", ( -874, 661, -14 ), 0, 5, 0 );
spawn( "mp_dm_spawn", ( -1048, -333, 201 ), 0, 69, 0 ); spawn( "mp_dm_spawn", ( -1048, -333, 201 ), 0, 69, 0 );
spawn( "mp_dm_spawn", ( -1462,5, 169,5, -8 ), 0, 48, 0 ); spawn( "mp_dm_spawn", ( -1462.5, 169.5, -8 ), 0, 48, 0 );
} }
if ( level.gametype == "tdm" ) if ( level.gametype == "tdm" )
{ {
spawn( "mp_tdm_spawn", ( 82, 262, -135,5 ), 0, 187, 0 ); spawn( "mp_tdm_spawn", ( 82, 262, -135.5 ), 0, 187, 0 );
spawn( "mp_tdm_spawn", ( 783,5, 90, 58 ), 0, 198, 0 ); spawn( "mp_tdm_spawn", ( 783.5, 90, 58 ), 0, 198, 0 );
spawn( "mp_tdm_spawn", ( 1103,5, -187,5, 192 ), 0, 165, 0 ); spawn( "mp_tdm_spawn", ( 1103.5, -187.5, 192 ), 0, 165, 0 );
spawn( "mp_tdm_spawn", ( -3012, -178, -136 ), 0, 335, 0 ); spawn( "mp_tdm_spawn", ( -3012, -178, -136 ), 0, 335, 0 );
spawn( "mp_tdm_spawn", ( -3016, 176, -136 ), 0, 28, 0 ); spawn( "mp_tdm_spawn", ( -3016, 176, -136 ), 0, 28, 0 );
spawn( "mp_tdm_spawn", ( -1022,5, -109,5, -136 ), 0, 5, 0 ); spawn( "mp_tdm_spawn", ( -1022.5, -109.5, -136 ), 0, 5, 0 );
spawn( "mp_tdm_spawn", ( -874, 661, -14 ), 0, 5, 0 ); spawn( "mp_tdm_spawn", ( -874, 661, -14 ), 0, 5, 0 );
spawn( "mp_tdm_spawn", ( -1048, -333, 201 ), 0, 69, 0 ); spawn( "mp_tdm_spawn", ( -1048, -333, 201 ), 0, 69, 0 );
spawn( "mp_tdm_spawn", ( -1462,5, 169,5, -8 ), 0, 48, 0 ); spawn( "mp_tdm_spawn", ( -1462.5, 169.5, -8 ), 0, 48, 0 );
} }
if ( level.gametype == "conf" ) if ( level.gametype == "conf" )
{ {
spawn( "mp_tdm_spawn", ( 82, 262, -135,5 ), 0, 187, 0 ); spawn( "mp_tdm_spawn", ( 82, 262, -135.5 ), 0, 187, 0 );
spawn( "mp_tdm_spawn", ( 783,5, 90, 58 ), 0, 198, 0 ); spawn( "mp_tdm_spawn", ( 783.5, 90, 58 ), 0, 198, 0 );
spawn( "mp_tdm_spawn", ( 1103,5, -187,5, 192 ), 0, 165, 0 ); spawn( "mp_tdm_spawn", ( 1103.5, -187.5, 192 ), 0, 165, 0 );
spawn( "mp_tdm_spawn", ( -3012, -178, -136 ), 0, 335, 0 ); spawn( "mp_tdm_spawn", ( -3012, -178, -136 ), 0, 335, 0 );
spawn( "mp_tdm_spawn", ( -3016, 176, -136 ), 0, 28, 0 ); spawn( "mp_tdm_spawn", ( -3016, 176, -136 ), 0, 28, 0 );
spawn( "mp_tdm_spawn", ( -1022,5, -109,5, -136 ), 0, 5, 0 ); spawn( "mp_tdm_spawn", ( -1022.5, -109.5, -136 ), 0, 5, 0 );
spawn( "mp_tdm_spawn", ( -874, 661, -14 ), 0, 5, 0 ); spawn( "mp_tdm_spawn", ( -874, 661, -14 ), 0, 5, 0 );
spawn( "mp_tdm_spawn", ( -1048, -333, 201 ), 0, 69, 0 ); spawn( "mp_tdm_spawn", ( -1048, -333, 201 ), 0, 69, 0 );
spawn( "mp_tdm_spawn", ( -1462,5, 169,5, -8 ), 0, 48, 0 ); spawn( "mp_tdm_spawn", ( -1462.5, 169.5, -8 ), 0, 48, 0 );
} }
if ( level.gametype == "ctf" ) if ( level.gametype == "ctf" )
{ {
spawn( "mp_ctf_spawn_axis", ( 82, 262, -135,5 ), 0, 187, 0 ); spawn( "mp_ctf_spawn_axis", ( 82, 262, -135.5 ), 0, 187, 0 );
spawn( "mp_ctf_spawn_axis", ( 249, 682, 48 ), 0, 183, 0 ); spawn( "mp_ctf_spawn_axis", ( 249, 682, 48 ), 0, 183, 0 );
spawn( "mp_ctf_spawn_axis", ( 1103,5, -187,5, 192 ), 0, 165, 0 ); spawn( "mp_ctf_spawn_axis", ( 1103.5, -187.5, 192 ), 0, 165, 0 );
spawn( "mp_ctf_spawn_allies", ( -1022,5, -109,5, -136 ), 0, 5, 0 ); spawn( "mp_ctf_spawn_allies", ( -1022.5, -109.5, -136 ), 0, 5, 0 );
spawn( "mp_ctf_spawn_allies", ( -874, 661, -14 ), 0, 5, 0 ); spawn( "mp_ctf_spawn_allies", ( -874, 661, -14 ), 0, 5, 0 );
spawn( "mp_ctf_spawn_allies", ( -1462,5, 169,5, -8 ), 0, 48, 0 ); spawn( "mp_ctf_spawn_allies", ( -1462.5, 169.5, -8 ), 0, 48, 0 );
} }
if ( level.gametype == "dom" ) if ( level.gametype == "dom" )
{ {
spawn( "mp_dom_spawn", ( 82, 262, -135,5 ), 0, 187, 0 ); spawn( "mp_dom_spawn", ( 82, 262, -135.5 ), 0, 187, 0 );
spawn( "mp_dom_spawn", ( 249, 682, 48 ), 0, 183, 0 ); spawn( "mp_dom_spawn", ( 249, 682, 48 ), 0, 183, 0 );
spawn( "mp_dom_spawn", ( 1103,5, -187,5, 192 ), 0, 165, 0 ); spawn( "mp_dom_spawn", ( 1103.5, -187.5, 192 ), 0, 165, 0 );
spawn( "mp_dom_spawn", ( -1022,5, -109,5, -136 ), 0, 5, 0 ); spawn( "mp_dom_spawn", ( -1022.5, -109.5, -136 ), 0, 5, 0 );
spawn( "mp_dom_spawn", ( -874, 661, -14 ), 0, 5, 0 ); spawn( "mp_dom_spawn", ( -874, 661, -14 ), 0, 5, 0 );
spawn( "mp_dom_spawn", ( -1462,5, 169,5, -8 ), 0, 48, 0 ); spawn( "mp_dom_spawn", ( -1462.5, 169.5, -8 ), 0, 48, 0 );
spawn( "mp_dom_spawn", ( -1048, -333, 201 ), 0, 69, 0 ); spawn( "mp_dom_spawn", ( -1048, -333, 201 ), 0, 69, 0 );
} }
if ( level.gametype == "dem" ) if ( level.gametype == "dem" )
{ {
spawn( "mp_dem_spawn_attacker", ( 1103,5, -187,5, 192 ), 0, 165, 0 ); spawn( "mp_dem_spawn_attacker", ( 1103.5, -187.5, 192 ), 0, 165, 0 );
spawn( "mp_dem_spawn_attacker", ( 783,5, 90, 58 ), 0, 198, 0 ); spawn( "mp_dem_spawn_attacker", ( 783.5, 90, 58 ), 0, 198, 0 );
} }
maps/mp/_compass::setupminimap( "compass_map_mp_hijacked" ); maps/mp/_compass::setupminimap( "compass_map_mp_hijacked" );
spawncollision( "collision_physics_64x64x10", "collider", ( 1660, 40, 59 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 1660, 40, 59 ), vectorScale( ( 0, 0, -1 ), 90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 1633, 40, 48 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 1633, 40, 48 ), vectorScale( ( 0, 0, -1 ), 90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 1660, -42, 59 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 1660, -42, 59 ), vectorScale( ( 0, 0, -1 ), 90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 1632, -42, 48 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 1632, -42, 48 ), vectorScale( ( 0, 0, -1 ), 90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 904, 18, 53 ), ( 0, 270, -90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 904, 18, 53 ), ( 0, 270, -90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 904, 91, 90 ), ( 0, 270, -90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 904, 91, 90 ), ( 0, 270, -90 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1055, 10, 216 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1055, 10, 216 ), vectorScale( ( 0, 0, -1 ), 90 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( -1912,65, -245, -76,3463 ), vectorScale( ( 0, 0, 1 ), 282 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( -1912.65, -245, -76.3463 ), vectorScale( ( 1, 0, 0 ), 282 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -1064, 412, 254 ), vectorScale( ( 0, 0, 1 ), 342,8 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -1064, 412, 254 ), vectorScale( ( 1, 0, 0 ), 342.8 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -1112, 416,5, 284 ), vectorScale( ( 0, 0, 1 ), 316,3 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -1112, 416.5, 284 ), vectorScale( ( 1, 0, 0 ), 316.3 ) );
level.levelkothdisable = []; level.levelkothdisable = [];
level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( 402, 181,5, 35 ), 0, 70, 128 ); level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( 402, 181.5, 35 ), 0, 70, 128 );
level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( -96, 320, 34 ), 0, 150, 80 ); level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( -96, 320, 34 ), 0, 150, 80 );
level thread water_trigger_init(); level thread water_trigger_init();
if ( level.gametype == "koth" ) if ( level.gametype == "koth" )
{ {
trigs = getentarray( "koth_zone_trigger", "targetname" ); trigs = getentarray( "koth_zone_trigger", "targetname" );
_a138 = trigs; foreach ( trigger in trigs )
_k138 = getFirstArrayKey( _a138 );
while ( isDefined( _k138 ) )
{ {
trigger = _a138[ _k138 ];
if ( trigger.origin == ( -239, 86, -83 ) ) if ( trigger.origin == ( -239, 86, -83 ) )
{ {
trigger delete(); trigger delete();
break; break;
} }
else
{
_k138 = getNextArrayKey( _a138, _k138 );
}
} }
trigger = spawn( "trigger_box", ( -204, 92, -128 ), 1, 2088, 504, 160 ); trigger = spawn( "trigger_box", ( -204, 92, -128 ), 1, 2088, 504, 160 );
trigger.targetname = "koth_zone_trigger"; trigger.targetname = "koth_zone_trigger";
} }
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1600", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1600", reset_dvars );
@ -124,15 +121,12 @@ levelspawndvars( reset_dvars )
ss.dom_enemy_flag_influencer_radius[ 0 ] = set_dvar_float_if_unset( "scr_spawn_dom_enemy_flag_A_influencer_radius", "1200", reset_dvars ); ss.dom_enemy_flag_influencer_radius[ 0 ] = set_dvar_float_if_unset( "scr_spawn_dom_enemy_flag_A_influencer_radius", "1200", reset_dvars );
} }
water_trigger_init() water_trigger_init() //checked partially changed to match cerberus see info.md
{ {
wait 3; wait 3;
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a176 = triggers; foreach ( trigger in triggers )
_k176 = getFirstArrayKey( _a176 );
while ( isDefined( _k176 ) )
{ {
trigger = _a176[ _k176 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -140,20 +134,15 @@ water_trigger_init()
{ {
trigger thread water_trigger_think(); trigger thread water_trigger_think();
} }
_k176 = getNextArrayKey( _a176, _k176 );
} }
triggers = getentarray( "water_killbrush", "targetname" ); triggers = getentarray( "water_killbrush", "targetname" );
_a188 = triggers; foreach ( trigger in triggers )
_k188 = getFirstArrayKey( _a188 );
while ( isDefined( _k188 ) )
{ {
trigger = _a188[ _k188 ];
trigger thread player_splash_think(); trigger thread player_splash_think();
_k188 = getNextArrayKey( _a188, _k188 );
} }
} }
player_splash_think() player_splash_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -165,7 +154,7 @@ player_splash_think()
} }
} }
player_water_fx( player, endon_condition ) player_water_fx( player, endon_condition ) //checked matches cerberus output
{ {
maxs = self.origin + self getmaxs(); maxs = self.origin + self getmaxs();
if ( maxs[ 2 ] > 60 ) if ( maxs[ 2 ] > 60 )
@ -176,7 +165,7 @@ player_water_fx( player, endon_condition )
playfx( level._effect[ "water_splash_sm" ], origin ); playfx( level._effect[ "water_splash_sm" ], origin );
} }
water_trigger_think() water_trigger_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -189,28 +178,25 @@ water_trigger_think()
} }
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( self isinwater() ) if ( self isinwater() )
{ {
return 0,4; return 0.4;
} }
return defaulttime; return defaulttime;
} }
useintermissionpointsonwavespawn() useintermissionpointsonwavespawn() //checked matches cerberus output
{ {
return self isinwater(); return self isinwater();
} }
isinwater() isinwater() //checked partially changed to match cerberus output see info.md
{ {
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a253 = triggers; foreach ( trigger in triggers )
_k253 = getFirstArrayKey( _a253 );
while ( isDefined( _k253 ) )
{ {
trigger = _a253[ _k253 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -221,7 +207,7 @@ isinwater()
return 1; return 1;
} }
} }
_k253 = getNextArrayKey( _a253, _k253 );
} }
return 0; return 0;
} }

View File

@ -1,13 +1,17 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_weaponobjects; #include maps/mp/gametypes/_weaponobjects;
#include maps/mp/killstreaks/_rcbomb; #include maps/mp/killstreaks/_rcbomb;
#include maps/mp/_tacticalinsertion; #include maps/mp/_tacticalinsertion;
#include maps/mp/killstreaks/_airsupport; #include maps/mp/killstreaks/_airsupport;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_hydro_amb;
#include maps/mp/_load;
#include maps/mp/mp_hydro_fx;
#include maps/mp/_events; #include maps/mp/_events;
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
precacheitem( "hydro_water_mp" ); precacheitem( "hydro_water_mp" );
@ -19,9 +23,11 @@ main()
maps/mp/mp_hydro_amb::main(); maps/mp/mp_hydro_amb::main();
maps/mp/_compass::setupminimap( "compass_map_mp_hydro" ); maps/mp/_compass::setupminimap( "compass_map_mp_hydro" );
maps/mp/mp_hydro_amb::main(); maps/mp/mp_hydro_amb::main();
/*
/# /#
execdevgui( "devgui_mp_hydro" ); execdevgui( "devgui_mp_hydro" );
#/ #/
*/
registerclientfield( "world", "pre_wave", 1, 1, "int" ); registerclientfield( "world", "pre_wave", 1, 1, "int" );
registerclientfield( "world", "big_wave", 1, 1, "int" ); registerclientfield( "world", "big_wave", 1, 1, "int" );
setdvar( "compassmaxrange", "2300" ); setdvar( "compassmaxrange", "2300" );
@ -35,20 +41,20 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_256x256x10", "collider", ( 3695, 340, 84 ), ( 0, 44,8, -90 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 3695, 340, 84 ), ( 0, 44.8, -90 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 3449, 82, 84 ), ( 0, 44,8, -90 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 3449, 82, 84 ), ( 0, 44.8, -90 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 577,5, -1835, 309,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 577.5, -1835, 309.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 577,5, -1786,5, 339,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 577.5, -1786.5, 339.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( -641,5, -1834,5, 309,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( -641.5, -1834.5, 309.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( -641,5, -1786, 339,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( -641.5, -1786, 339.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -521,5, -2106, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -521.5, -2106, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -521,5, -2041, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -521.5, -2041, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( 471,5, -2106, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( 471.5, -2106, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( 471,5, -2041, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( 471.5, -2041, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( 1432, -1912, 376,5 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( 1432, -1912, 376.5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( 1516,5, -1912, 376,5 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( 1516.5, -1912, 376.5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1490, -1916,5, 376,5 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1490, -1916.5, 376.5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -1574,5, -1916,5, 376,5 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -1574.5, -1916.5, 376.5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
level.waterrushfx = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_wall" ); level.waterrushfx = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_wall" );
level.waterambientfxmiddlefront = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_middle_front" ); level.waterambientfxmiddlefront = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_middle_front" );
level.waterambientfxmiddleback = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_middle_back" ); level.waterambientfxmiddleback = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_middle_back" );
@ -71,67 +77,67 @@ main()
} }
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars );
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( isDefined( self.lastattacker ) && isDefined( self.lastattacker.targetname ) && self.lastattacker.targetname == "water_kill_trigger" ) if ( isDefined( self.lastattacker ) && isDefined( self.lastattacker.targetname ) && self.lastattacker.targetname == "water_kill_trigger" )
{ {
return 0,4; return 0.4;
} }
return defaulttime; return defaulttime;
} }
initwatertriggers() initwatertriggers() //checked changed to match cerberus output
{ {
water_kill_triggers = getentarray( "water_kill_trigger", "targetname" ); water_kill_triggers = getentarray( "water_kill_trigger", "targetname" );
water_mover = spawn( "script_model", ( 0, 0, 1 ) ); water_mover = spawn( "script_model", ( 0, 0, 0 ) );
water_mover setmodel( "tag_origin" ); water_mover setmodel( "tag_origin" );
water_ambient_mover = spawn( "script_model", ( 0, 0, 1 ) ); water_ambient_mover = spawn( "script_model", ( 0, 0, 0 ) );
water_ambient_mover setmodel( "tag_origin" ); water_ambient_mover setmodel( "tag_origin" );
water_ambient_front_pillar = spawn( "script_model", ( -31, -888, 202 ) ); water_ambient_front_pillar = spawn( "script_model", ( -31, -888, 202 ) );
water_ambient_front_pillar setmodel( "tag_origin" ); water_ambient_front_pillar setmodel( "tag_origin" );
water_ambient_front_pillar.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_front_pillar.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_front_pillar linkto( water_ambient_mover ); water_ambient_front_pillar linkto( water_ambient_mover );
water_ambient_back_pillar = spawn( "script_model", ( -32, -1535, 202 ) ); water_ambient_back_pillar = spawn( "script_model", ( -32, -1535, 202 ) );
water_ambient_back_pillar setmodel( "tag_origin" ); water_ambient_back_pillar setmodel( "tag_origin" );
water_ambient_back_pillar.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_back_pillar.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_back_pillar linkto( water_ambient_mover ); water_ambient_back_pillar linkto( water_ambient_mover );
water_ambient_front_block = spawn( "script_model", ( -32, -331, 193 ) ); water_ambient_front_block = spawn( "script_model", ( -32, -331, 193 ) );
water_ambient_front_block setmodel( "tag_origin" ); water_ambient_front_block setmodel( "tag_origin" );
water_ambient_front_block.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_front_block.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_front_block linkto( water_ambient_mover ); water_ambient_front_block linkto( water_ambient_mover );
water_ambient_back_block = spawn( "script_model", ( -32, -1800, 199 ) ); water_ambient_back_block = spawn( "script_model", ( -32, -1800, 199 ) );
water_ambient_back_block setmodel( "tag_origin" ); water_ambient_back_block setmodel( "tag_origin" );
water_ambient_back_block.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_back_block.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_back_block linkto( water_ambient_mover ); water_ambient_back_block linkto( water_ambient_mover );
water_ambient_back_right = spawn( "script_model", ( -467, -1975, 190 ) ); water_ambient_back_right = spawn( "script_model", ( -467, -1975, 190 ) );
water_ambient_back_right setmodel( "tag_origin" ); water_ambient_back_right setmodel( "tag_origin" );
water_ambient_back_right.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_back_right.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_back_right linkto( water_ambient_mover ); water_ambient_back_right linkto( water_ambient_mover );
water_ambient_back_left = spawn( "script_model", ( 404, -1975, 190 ) ); water_ambient_back_left = spawn( "script_model", ( 404, -1975, 190 ) );
water_ambient_back_left setmodel( "tag_origin" ); water_ambient_back_left setmodel( "tag_origin" );
water_ambient_back_left.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_back_left.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_back_left linkto( water_ambient_mover ); water_ambient_back_left linkto( water_ambient_mover );
water_ambient_middle_right = spawn( "script_model", ( -274, -1680, 185 ) ); water_ambient_middle_right = spawn( "script_model", ( -274, -1680, 185 ) );
water_ambient_middle_right setmodel( "tag_origin" ); water_ambient_middle_right setmodel( "tag_origin" );
water_ambient_middle_right.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_middle_right.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_middle_right linkto( water_ambient_mover ); water_ambient_middle_right linkto( water_ambient_mover );
water_ambient_middle_left = spawn( "script_model", ( 215, -1680, 185 ) ); water_ambient_middle_left = spawn( "script_model", ( 215, -1680, 185 ) );
water_ambient_middle_left setmodel( "tag_origin" ); water_ambient_middle_left setmodel( "tag_origin" );
water_ambient_middle_left.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_middle_left.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_middle_left linkto( water_ambient_mover ); water_ambient_middle_left linkto( water_ambient_mover );
water_ambient_front_right = spawn( "script_model", ( -333, -302, 185 ) ); water_ambient_front_right = spawn( "script_model", ( -333, -302, 185 ) );
water_ambient_front_right setmodel( "tag_origin" ); water_ambient_front_right setmodel( "tag_origin" );
water_ambient_front_right.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_front_right.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_front_right linkto( water_ambient_mover ); water_ambient_front_right linkto( water_ambient_mover );
water_ambient_front_left = spawn( "script_model", ( 265, -302, 185 ) ); water_ambient_front_left = spawn( "script_model", ( 265, -302, 185 ) );
water_ambient_front_left setmodel( "tag_origin" ); water_ambient_front_left setmodel( "tag_origin" );
water_ambient_front_left.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_ambient_front_left.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_ambient_front_left linkto( water_ambient_mover ); water_ambient_front_left linkto( water_ambient_mover );
water_pa_1 = spawn( "script_model", ( 1667, -1364, 684 ) ); water_pa_1 = spawn( "script_model", ( 1667, -1364, 684 ) );
water_pa_1 setmodel( "tag_origin" ); water_pa_1 setmodel( "tag_origin" );
@ -139,7 +145,8 @@ initwatertriggers()
water_pa_2 setmodel( "tag_origin" ); water_pa_2 setmodel( "tag_origin" );
water_pa_3 = spawn( "script_model", ( -100, -1375, 783 ) ); water_pa_3 = spawn( "script_model", ( -100, -1375, 783 ) );
water_pa_3 setmodel( "tag_origin" ); water_pa_3 setmodel( "tag_origin" );
wait 0,1; wait 0.1;
water_kill_triggers = [];
water_kill_triggers[ 0 ] enablelinkto(); water_kill_triggers[ 0 ] enablelinkto();
water_kill_triggers[ 0 ] linkto( water_mover ); water_kill_triggers[ 0 ] linkto( water_mover );
water_kill_triggers[ 1 ] enablelinkto(); water_kill_triggers[ 1 ] enablelinkto();
@ -158,16 +165,13 @@ initwatertriggers()
if ( level.timelimit ) if ( level.timelimit )
{ {
seconds = level.timelimit * 60; seconds = level.timelimit * 60;
add_timed_event( int( seconds * 0,25 ), "hydro_water_rush" ); add_timed_event( int( seconds * 0.25 ), "hydro_water_rush" );
add_timed_event( int( seconds * 0,75 ), "hydro_water_rush" ); add_timed_event( int( seconds * 0.75 ), "hydro_water_rush" );
} }
else else if ( level.scorelimit )
{ {
if ( level.scorelimit ) add_score_event( int( level.scorelimit * 0.25 ), "hydro_water_rush" );
{ add_score_event( int( level.scorelimit * 0.75 ), "hydro_water_rush" );
add_score_event( int( level.scorelimit * 0,25 ), "hydro_water_rush" );
add_score_event( int( level.scorelimit * 0,75 ), "hydro_water_rush" );
}
} }
trigger = spawn( "trigger_radius", ( -28, -2208, -830 ), 0, 450, 40 ); trigger = spawn( "trigger_radius", ( -28, -2208, -830 ), 0, 450, 40 );
water_kill_triggers[ water_kill_triggers.size ] = trigger; water_kill_triggers[ water_kill_triggers.size ] = trigger;
@ -176,7 +180,7 @@ initwatertriggers()
setdvar( "R_WaterWaveBase", 0 ); setdvar( "R_WaterWaveBase", 0 );
} }
watchwatertrigger( water_mover, water_kill_triggers, water_pa_1, water_pa_2, water_pa_3, water_ambient_back, water_ambient_box, water_ambient_mover ) watchwatertrigger( water_mover, water_kill_triggers, water_pa_1, water_pa_2, water_pa_3, water_ambient_back, water_ambient_box, water_ambient_mover ) //checked changed to match cerberus output
{ {
thread watchdevnotify(); thread watchdevnotify();
for ( ;; ) for ( ;; )
@ -193,12 +197,12 @@ watchwatertrigger( water_mover, water_kill_triggers, water_pa_1, water_pa_2, wat
water_pa_1 playsound( "evt_pa_online" ); water_pa_1 playsound( "evt_pa_online" );
water_pa_2 playsound( "evt_pa_online" ); water_pa_2 playsound( "evt_pa_online" );
water_pa_3 playsound( "evt_pa_online" ); water_pa_3 playsound( "evt_pa_online" );
water_fx1 = spawn( "script_model", water_kill_triggers[ 0 ].origin + vectorScale( ( 0, 0, 1 ), 1000 ) ); water_fx1 = spawn( "script_model", water_kill_triggers[ 0 ].origin + vectorScale( ( 0, 1, 0 ), 1000 ) );
water_fx1 setmodel( "tag_origin" ); water_fx1 setmodel( "tag_origin" );
water_fx1.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_fx1.angles = vectorScale( ( 0, 1, 0 ), 90 );
water_fx2 = spawn( "script_model", water_kill_triggers[ 1 ].origin + vectorScale( ( 0, 0, 1 ), 1000 ) ); water_fx2 = spawn( "script_model", water_kill_triggers[ 1 ].origin + vectorScale( ( 0, 1, 0 ), 1000 ) );
water_fx2 setmodel( "tag_origin" ); water_fx2 setmodel( "tag_origin" );
water_fx2.angles = vectorScale( ( 0, 0, 1 ), 90 ); water_fx2.angles = vectorScale( ( 0, 1, 0 ), 90 );
exploder( 1005 ); exploder( 1005 );
wait 3; wait 3;
water_pa_1 playsound( "evt_pa_online" ); water_pa_1 playsound( "evt_pa_online" );
@ -209,14 +213,16 @@ watchwatertrigger( water_mover, water_kill_triggers, water_pa_1, water_pa_2, wat
playfxontag( level.waterrushfx, water_fx2, "tag_origin" ); playfxontag( level.waterrushfx, water_fx2, "tag_origin" );
water_fx1 playloopsound( "evt_water_wave" ); water_fx1 playloopsound( "evt_water_wave" );
water_fx2 playloopsound( "evt_water_wave" ); water_fx2 playloopsound( "evt_water_wave" );
water_mover.origin = ( 0, 0, 1 ); water_mover.origin = ( 0, 0, 0 );
setclientfield( "big_wave", 1 ); setclientfield( "big_wave", 1 );
water_mover moveto( vectorScale( ( 0, 0, 1 ), 2100 ), 2,5 ); water_mover moveto( vectorScale( ( 0, 1, 0 ), 2100 ), 2.5 );
water_ambient_mover moveto( vectorScale( ( 0, 0, 1 ), 20 ), 2,5 ); water_ambient_mover moveto( vectorScale( ( 0, 0, 1 ), 20 ), 2.5 );
water_kill_triggers[ 2 ].origin += vectorScale( ( 0, 0, 1 ), 1000 ); water_kill_triggers[ 2 ].origin += vectorScale( ( 0, 0, 1 ), 1000 );
/*
/# /#
maps/mp/killstreaks/_airsupport::debug_cylinder( water_kill_triggers[ 2 ].origin, 450, 40, ( 1, 0,1, 0,1 ), 1, 2500 ); maps/mp/killstreaks/_airsupport::debug_cylinder( water_kill_triggers[ 2 ].origin, 450, 40, ( 1, 0,1, 0,1 ), 1, 2500 );
#/ #/
*/
level thread waterfxloopstarter( water_fx1, water_fx2, 5 ); level thread waterfxloopstarter( water_fx1, water_fx2, 5 );
thread play_exploder(); thread play_exploder();
waterlevel = -24; waterlevel = -24;
@ -230,15 +236,17 @@ watchwatertrigger( water_mover, water_kill_triggers, water_pa_1, water_pa_2, wat
water_pa_3 playsound( "evt_pa_offline" ); water_pa_3 playsound( "evt_pa_offline" );
wait 1; wait 1;
water_kill_triggers[ 2 ].origin -= vectorScale( ( 0, 0, 1 ), 1000 ); water_kill_triggers[ 2 ].origin -= vectorScale( ( 0, 0, 1 ), 1000 );
/*
/# /#
maps/mp/killstreaks/_airsupport::debug_cylinder( water_kill_triggers[ 2 ].origin, 450, 40, ( 1, 0,1, 0,1 ), 0, 2500 ); maps/mp/killstreaks/_airsupport::debug_cylinder( water_kill_triggers[ 2 ].origin, 450, 40, ( 1, 0,1, 0,1 ), 0, 2500 );
#/ #/
water_mover moveto( vectorScale( ( 0, 0, 1 ), 4100 ), 2,5 ); */
water_ambient_mover moveto( ( 0, 0, 1 ), 2,5 ); water_mover moveto( vectorScale( ( 0, 1, 0 ), 4100 ), 2.5 );
water_ambient_mover moveto( ( 0, 0, 0 ), 2.5 );
water_fx1 stoploopsound( 2 ); water_fx1 stoploopsound( 2 );
water_fx2 stoploopsound( 2 ); water_fx2 stoploopsound( 2 );
setclientfield( "pre_wave", 0 ); setclientfield( "pre_wave", 0 );
wait 1,5; wait 1.5;
water_pa_1 playsound( "evt_pa_access" ); water_pa_1 playsound( "evt_pa_access" );
water_pa_2 playsound( "evt_pa_access" ); water_pa_2 playsound( "evt_pa_access" );
water_pa_3 playsound( "evt_pa_access" ); water_pa_3 playsound( "evt_pa_access" );
@ -247,26 +255,26 @@ watchwatertrigger( water_mover, water_kill_triggers, water_pa_1, water_pa_2, wat
water_ambient_back stoploopsound( 1 ); water_ambient_back stoploopsound( 1 );
stop_exploder( 1005 ); stop_exploder( 1005 );
setdvar( "R_WaterWaveAmplitude", "0 0 0 0" ); setdvar( "R_WaterWaveAmplitude", "0 0 0 0" );
water_mover.origin = vectorScale( ( 0, 0, 1 ), 500 ); water_mover.origin = vectorScale( ( 0, 0, -1 ), 500 );
wait 2; wait 2;
water_fx1 delete(); water_fx1 delete();
water_fx2 delete(); water_fx2 delete();
water_mover.origin = ( 0, 0, 1 ); water_mover.origin = ( 0, 0, 0 );
setclientfield( "big_wave", 0 ); setclientfield( "big_wave", 0 );
wait 5; wait 5;
level notify( "water_stop" ); level notify( "water_stop" );
} }
} }
play_exploder() play_exploder() //checked matches cerberus output
{ {
wait 0,2; wait 0.2;
exploder( 1002 ); exploder( 1002 );
wait 0,5; wait 0.5;
exploder( 1001 ); exploder( 1001 );
} }
watchdevnotify() watchdevnotify() //checked matches cerberus output dvar names not found
{ {
startvalue = getDvar( #"1CC516F5" ); startvalue = getDvar( #"1CC516F5" );
for ( ;; ) for ( ;; )
@ -277,147 +285,152 @@ watchdevnotify()
level notify( "dev_water_rush" ); level notify( "dev_water_rush" );
startvalue = should_water_rush; startvalue = should_water_rush;
} }
wait 0,2; wait 0.2;
} }
} }
waterfxloopstarter( fx1, fx2, looptime ) waterfxloopstarter( fx1, fx2, looptime ) //checked matches cerberus output
{ {
level thread waterfxloop( fx1, fx2 ); level thread waterfxloop( fx1, fx2 );
} }
waterfxloop( fx1, fx2 ) waterfxloop( fx1, fx2 ) //checked changed to match cerberus output
{ {
start1 = fx1.origin; start1 = fx1.origin;
start2 = fx2.origin; start2 = fx2.origin;
fx1 moveto( fx1.origin + vectorScale( ( 0, 0, 1 ), 2200 ), 2,67 ); fx1 moveto( fx1.origin + vectorScale( ( 0, 1, 0 ), 2200 ), 2.67 );
fx2 moveto( fx2.origin + vectorScale( ( 0, 0, 1 ), 2200 ), 2,67 ); fx2 moveto( fx2.origin + vectorScale( ( 0, 1, 0 ), 2200 ), 2.67 );
wait 2,67; wait 2.67;
fx1 moveto( fx1.origin + ( 0, 600, -1000 ), 2,5 ); fx1 moveto( fx1.origin + ( 0, 600, -1000 ), 2.5 );
fx2 moveto( fx2.origin + ( 0, 600, -1000 ), 2,5 ); fx2 moveto( fx2.origin + ( 0, 600, -1000 ), 2.5 );
wait 3; wait 3;
fx1.origin = start1; fx1.origin = start1;
fx2.origin = start2; fx2.origin = start2;
} }
waterkilltriggerthink( triggers ) waterkilltriggerthink( triggers ) //checked partially changed to match cerberus output see info.md
{ {
level endon( "water_stop" ); level endon( "water_stop" );
for ( ;; ) for ( ;; )
{ {
wait 0,1; wait 0.1;
entities = getdamageableentarray( triggers[ 0 ].origin, 2000 ); entities = getdamageableentarray( triggers[ 0 ].origin, 2000 );
_a395 = entities; i = 0;
_k395 = getFirstArrayKey( _a395 ); while ( i < entities.size )
while ( isDefined( _k395 ) )
{ {
entity = _a395[ _k395 ];
triggertouched = 0; triggertouched = 0;
if ( !entity istouching( triggers[ 0 ] ) ) if ( !entities[ i ] istouching( triggers[ 0 ] ) )
{ {
triggertouched = 1; triggertouched = 1;
if ( !entity istouching( triggers[ 1 ] ) ) if ( !entities[ i ] istouching( triggers[ 1 ] ) )
{ {
if ( !entity istouching( triggers[ 2 ] ) ) if ( !entities[ i ] istouching( triggers[ 2 ] ) )
{ {
i++;
continue;
} }
} }
} }
else if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" ) if ( isDefined( entities[ i ].model ) && entities[ i ].model == "t6_wpn_tac_insert_world" )
{ {
entity maps/mp/_tacticalinsertion::destroy_tactical_insertion(); entities[ i ] maps/mp/_tacticalinsertion::destroy_tactical_insertion();
i++;
continue;
}
if ( !isalive( entities[ i ] ) )
{
i++;
continue;
}
if ( isDefined( entities[ i ].targetname ) )
{
if ( entities[ i ].targetname == "talon" )
{
entities[ i ] notify( "death" );
i++;
continue;
}
if ( entities[ i ].targetname == "rcbomb" )
{
entities[ i ] maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
i++;
continue;
}
if ( entities[ i ].targetname == "riotshield_mp" )
{
entities[ i ] dodamage( 1, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
i++;
continue;
}
}
if ( isDefined( entities[ i ].helitype ) && entities[ i ].helitype == "qrdrone" )
{
watcher = entity.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" );
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entities[ i ], 0, undefined );
i++;
continue;
}
if ( entities[ i ].classname == "grenade" )
{
if ( !isDefined( entities[ i ].name ) )
{
i++;
continue;
}
if ( !isDefined( entities[ i ].owner ) )
{
i++;
continue;
}
if ( entities[ i ].name == "proximity_grenade_mp" )
{
watcher = entity.owner getwatcherforweapon( entities[ i ].name );
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entities[ i ], 0, undefined, "script_mover_mp" );
i++;
continue;
}
if ( !isweaponequipment( entities[ i ].name ) )
{
i++;
continue;
}
watcher = entities[ i ].owner getwatcherforweapon( entities[ i ].name );
if ( !isDefined( watcher ) )
{
i++;
continue;
}
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entities[ i ], 0, undefined, "script_mover_mp" );
i++;
continue;
}
if ( entities[ i ].classname == "auto_turret" )
{
if ( !isDefined( entities[ i ].damagedtodeath ) || !entities[ i ].damagedtodeath )
{
entities[ i ] domaxdamage( triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
}
i++;
continue;
}
if ( isplayer( entities[ i ] ) )
{
entity dodamage( entities[ i ].health * 2, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_HIT_BY_OBJECT", 0, "hydro_water_mp" );
} }
else else
{ {
if ( !isalive( entity ) ) entities[ i ] dodamage( entity.health * 2, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
{
break;
}
else if ( isDefined( entity.targetname ) )
{
if ( entity.targetname == "talon" )
{
entity notify( "death" );
break;
}
else if ( entity.targetname == "rcbomb" )
{
entity maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
break;
}
else if ( entity.targetname == "riotshield_mp" )
{
entity dodamage( 1, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
break;
}
}
else if ( isDefined( entity.helitype ) && entity.helitype == "qrdrone" )
{
watcher = entity.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" );
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
break;
}
else
{
if ( entity.classname == "grenade" )
{
if ( !isDefined( entity.name ) )
{
break;
}
else if ( !isDefined( entity.owner ) )
{
break;
}
else if ( entity.name == "proximity_grenade_mp" )
{
watcher = entity.owner getwatcherforweapon( entity.name );
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
break;
}
else if ( !isweaponequipment( entity.name ) )
{
break;
}
else watcher = entity.owner getwatcherforweapon( entity.name );
if ( !isDefined( watcher ) )
{
break;
}
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
break;
}
else if ( entity.classname == "auto_turret" )
{
if ( !isDefined( entity.damagedtodeath ) || !entity.damagedtodeath )
{
entity domaxdamage( triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
}
break;
}
else
{
if ( isplayer( entity ) )
{
entity dodamage( entity.health * 2, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_HIT_BY_OBJECT", 0, "hydro_water_mp" );
}
else
{
entity dodamage( entity.health * 2, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
}
if ( isplayer( entity ) )
{
entity playlocalsound( "mpl_splash_death" );
}
}
}
} }
_k395 = getNextArrayKey( _a395, _k395 ); if ( isplayer( entities[ i ] ) )
{
entities[ i ] playlocalsound( "mpl_splash_death" );
}
i++;
} }
} }
} }
getwatcherforweapon( weapname ) getwatcherforweapon( weapname ) //checked partially changed to match cerberus output
{ {
if ( !isDefined( self ) ) if ( !isDefined( self ) )
{ {
@ -427,39 +440,34 @@ getwatcherforweapon( weapname )
{ {
return undefined; return undefined;
} }
i = 0; for ( i = 0; i < self.weaponobjectwatcherarray.size; i++ )
while ( i < self.weaponobjectwatcherarray.size )
{ {
if ( self.weaponobjectwatcherarray[ i ].weapon != weapname ) if ( self.weaponobjectwatcherarray[ i ].weapon != weapname )
{ {
i++;
continue;
} }
else else
{ {
return self.weaponobjectwatcherarray[ i ]; return self.weaponobjectwatcherarray[ i ];
} }
i++;
} }
return undefined; return undefined;
} }
removeobjectsondemovertime() removeobjectsondemovertime() //checked changed to match cerberus output
{ {
while ( level.gametype == "dem" ) if ( level.gametype == "dem" )
{ {
while ( isDefined( game[ "overtime_round" ] ) ) if ( isDefined( game[ "overtime_round" ] ) )
{ {
objects = getentarray( "delete_dem_overtime", "script_noteworthy" ); objects = getentarray( "delete_dem_overtime", "script_noteworthy" );
while ( isDefined( objects ) ) if ( isDefined( objects ) )
{ {
i = 0; for ( i = 0; i < objects.size; i++ )
while ( i < objects.size )
{ {
objects[ i ] delete(); objects[ i ] delete();
i++;
} }
} }
} }
} }
} }

View File

@ -1,9 +1,13 @@
//checked includes changed to match cerberus output
#include maps/mp/killstreaks/_turret_killstreak; #include maps/mp/killstreaks/_turret_killstreak;
#include maps/mp/mp_la_amb;
#include maps/mp/_load;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_la_fx;
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_la_fx::main(); maps/mp/mp_la_fx::main();
@ -46,35 +50,35 @@ main()
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1606, 3027, 154 ), vectorScale( ( 0, 1, 0 ), 270 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1606, 3027, 154 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1614, 3010, 204 ), vectorScale( ( 0, 1, 0 ), 270 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1614, 3010, 204 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -1610, 1860, 203 ), ( 26, 271, 17 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -1610, 1860, 203 ), ( 26, 271, 17 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( -849, 3145,5, -94,5 ), vectorScale( ( 0, 1, 0 ), 276,1 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( -849, 3145.5, -94.5 ), vectorScale( ( 0, 1, 0 ), 276.1 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( -835, 3013,5, -119 ), vectorScale( ( 0, 1, 0 ), 276,1 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( -835, 3013.5, -119 ), vectorScale( ( 0, 1, 0 ), 276.1 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -795,5, 3208,5, 3,5 ), vectorScale( ( 0, 1, 0 ), 5,99995 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -795.5, 3208.5, 3.5 ), vectorScale( ( 0, 1, 0 ), 5.99995 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -783, 3080,5, 3,5 ), vectorScale( ( 0, 1, 0 ), 7,2 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -783, 3080.5, 3.5 ), vectorScale( ( 0, 1, 0 ), 7.2 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -767,5, 2953,5, 15 ), vectorScale( ( 0, 1, 0 ), 7,2 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -767.5, 2953.5, 15 ), vectorScale( ( 0, 1, 0 ), 7.2 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -763, 2894,5, -35 ), ( 0, 1, 0 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -763, 2894.5, -35 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -2275,5, 5248, -227,5 ), ( 0, 23,4, -90 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -2275.5, 5248, -227.5 ), ( 0, 23.4, -90 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -2464,5, 5162, -227 ), ( 0, 33,9, -90 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -2464.5, 5162, -227 ), ( 0, 33.9, -90 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -2363,5, 5219, -192,5 ), ( 0, 11,8, -90 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -2363.5, 5219, -192.5 ), ( 0, 11.8, -90 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1151,5, 1199,5, -31 ), vectorScale( ( 0, 1, 0 ), 23,4 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1151.5, 1199.5, -31 ), vectorScale( ( 0, 1, 0 ), 23.4 ) );
spawncollision( "collision_clip_wall_256x256x10", "collider", ( -621,5, 2114, -176,5 ), ( 0, 270, -180 ) ); spawncollision( "collision_clip_wall_256x256x10", "collider", ( -621.5, 2114, -176.5 ), ( 0, 270, -180 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 807,5, 855, -217,5 ), vectorScale( ( 0, 1, 0 ), 345,9 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 807.5, 855, -217.5 ), vectorScale( ( 0, 1, 0 ), 345.9 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 886, 835,5, -206 ), vectorScale( ( 0, 1, 0 ), 345,9 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 886, 835.5, -206 ), vectorScale( ( 0, 1, 0 ), 345.9 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 958,277, 946,957, -191,5 ), vectorScale( ( 0, 1, 0 ), 359,9 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 958.277, 946.957, -191.5 ), vectorScale( ( 0, 1, 0 ), 359.9 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 1039,22, 946,543, -173 ), vectorScale( ( 0, 1, 0 ), 359,9 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 1039.22, 946.543, -173 ), vectorScale( ( 0, 1, 0 ), 359.9 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 853,93, 1147,29, -191,5 ), vectorScale( ( 0, 1, 0 ), 47,4 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 853.93, 1147.29, -191.5 ), vectorScale( ( 0, 1, 0 ), 47.4 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 914,57, 1214,71, -173 ), vectorScale( ( 0, 1, 0 ), 47,4 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 914.57, 1214.71, -173 ), vectorScale( ( 0, 1, 0 ), 47.4 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( -1354, 2215,5, -206 ), vectorScale( ( 0, 1, 0 ), 12,2001 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( -1354, 2215.5, -206 ), vectorScale( ( 0, 0, -1 ), 12.2001 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -257,5, 958, -154,5 ), ( 7,66668, 317,653, 2,55286 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -257.5, 958, -154.5 ), ( 7.66668, 317.653, 2.55286 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( -684, 1465, 36,5 ), ( 0, 5, 90 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( -684, 1465, 36.5 ), ( 0, 5, 90 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -2067, 1390, -102 ), vectorScale( ( 0, 1, 0 ), 270 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -2067, 1390, -102 ), vectorScale( ( 0, 1, 0 ), 270 ) );
concrete1 = spawn( "script_model", ( -2040,54, 636,504, -215,717 ) ); concrete1 = spawn( "script_model", ( -2040.54, 636.504, -215.717 ) );
concrete1.angles = ( 0,0251585, 359,348, 178,338 ); concrete1.angles = ( 0.0251585, 359.348, 178.338 );
concrete1 setmodel( "p6_building_granite_tan_brokenb" ); concrete1 setmodel( "p6_building_granite_tan_brokenb" );
level.levelkothdisable = []; level.levelkothdisable = [];
level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( -1337, 2016, 8,5 ), 0, 40, 50 ); level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( -1337, 2016, 8.5 ), 0, 40, 50 );
level thread maps/mp/killstreaks/_turret_killstreak::addnoturrettrigger( ( -2295, 3843,5, -193 ), 80, 64 ); level thread maps/mp/killstreaks/_turret_killstreak::addnoturrettrigger( ( -2295, 3843.5, -193 ), 80, 64 );
level thread maps/mp/killstreaks/_turret_killstreak::addnoturrettrigger( ( -2341, 3917,5, -193 ), 80, 64 ); level thread maps/mp/killstreaks/_turret_killstreak::addnoturrettrigger( ( -2341, 3917.5, -193 ), 80, 64 );
level thread maps/mp/killstreaks/_turret_killstreak::addnoturrettrigger( ( -2397,75, 4003,5, -193 ), 80, 64 ); level thread maps/mp/killstreaks/_turret_killstreak::addnoturrettrigger( ( -2397.75, 4003.5, -193 ), 80, 64 );
registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" ); registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" );
registerclientfield( "scriptmover", "ambulance_lights", 1, 1, "int" ); registerclientfield( "scriptmover", "ambulance_lights", 1, 1, "int" );
level thread destructible_lights(); level thread destructible_lights();
@ -82,21 +86,18 @@ main()
level.remotemotarviewright = 45; level.remotemotarviewright = 45;
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
} }
destructible_lights() destructible_lights() //checked partially changed to match cerberus output see info.md
{ {
wait 0,05; wait 0.05;
destructibles = getentarray( "destructible", "targetname" ); destructibles = getentarray( "destructible", "targetname" );
_a148 = destructibles; foreach ( destructible in destructibles )
_k148 = getFirstArrayKey( _a148 );
while ( isDefined( _k148 ) )
{ {
destructible = _a148[ _k148 ];
if ( destructible.destructibledef == "veh_t6_police_car_destructible_mp" ) if ( destructible.destructibledef == "veh_t6_police_car_destructible_mp" )
{ {
destructible thread destructible_think( "police_car_lights" ); destructible thread destructible_think( "police_car_lights" );
@ -110,12 +111,12 @@ destructible_lights()
destructible setclientfield( "ambulance_lights", 1 ); destructible setclientfield( "ambulance_lights", 1 );
} }
} }
_k148 = getNextArrayKey( _a148, _k148 );
} }
} }
destructible_think( clientfield ) destructible_think( clientfield ) //checked matches cerberus output
{ {
self waittill_any( "death", "destructible_base_piece_death" ); self waittill_any( "death", "destructible_base_piece_death" );
self setclientfield( clientfield, 0 ); self setclientfield( clientfield, 0 );
} }

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_meltdown_amb;
#include maps/mp/_load;
#include maps/mp/mp_meltdown_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_meltdown_fx::main(); maps/mp/mp_meltdown_fx::main();
@ -15,25 +19,27 @@ main()
precachemodel( "collision_clip_32x32x32" ); precachemodel( "collision_clip_32x32x32" );
maps/mp/_load::main(); maps/mp/_load::main();
maps/mp/mp_meltdown_amb::main(); maps/mp/mp_meltdown_amb::main();
spawncollision( "collision_physics_128x128x128", "collider", ( 224, 4558,5, -117,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 224, 4558.5, -117.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( 216,5, 4526,5, -86 ), vectorScale( ( 0, 0, 0 ), 270 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( 216.5, 4526.5, -86 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( 486, 3219,5, -53 ), vectorScale( ( 0, 0, 0 ), 288,2 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( 486, 3219.5, -53 ), vectorScale( ( 0, 1, 0 ), 288.2 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 505,5, 3197, -56,5 ), vectorScale( ( 0, 0, 0 ), 133,1 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 505.5, 3197, -56.5 ), vectorScale( ( 0, 1, 0 ), 133,1 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 545, 3181,5, -72,5 ), vectorScale( ( 0, 0, 0 ), 180,4 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 545, 3181.5, -72.5 ), vectorScale( ( 0, 1, 0 ), 180,4 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 582, 3194, -56,5 ), vectorScale( ( 0, 0, 0 ), 223,1 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 582, 3194, -56.5 ), vectorScale( ( 0, 1, 0 ), 223.1 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( 602,5, 3221,5, -54 ), vectorScale( ( 0, 0, 0 ), 254,2 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( 602.5, 3221.5, -54 ), vectorScale( ( 0, 1, 0 ), 254,2 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 348,5, 615, 24 ), vectorScale( ( 0, 0, 0 ), 90 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 348.5, 615, 24 ), vectorScale( ( 0, 0, 1 ), 90 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1005,5, 1466, 173 ), vectorScale( ( 0, 0, 0 ), 270 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1005.5, 1466, 173 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_clip_wall_128x128x10", "collider", ( 808, -1434,5, -120 ), ( 0, 0, 0 ) ); spawncollision( "collision_clip_wall_128x128x10", "collider", ( 808, -1434.5, -120 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( 1266, 1873,5, 86 ), vectorScale( ( 0, 0, 0 ), 35 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( 1266, 1873.5, 86 ), vectorScale( ( 0, 1, 0 ), 35 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( 1266, 1873,5, 126 ), vectorScale( ( 0, 0, 0 ), 35 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( 1266, 1873.5, 126 ), vectorScale( ( 0, 1, 0 ), 35 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1183, 1927, 73 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1183, 1927, 73 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 555,5, 2976, -47,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 555.5, 2976, -47.5 ), ( 0, 0, 0 ) );
maps/mp/_compass::setupminimap( "compass_map_mp_meltdown" ); maps/mp/_compass::setupminimap( "compass_map_mp_meltdown" );
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2100", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2100", reset_dvars );
} }

View File

@ -1,8 +1,12 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_mirage_amb;
#include maps/mp/_load;
#include maps/mp/mp_mirage_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked matches cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_mirage_fx::main(); maps/mp/mp_mirage_fx::main();
@ -25,15 +29,16 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_256x256x10", "collider", ( 58,5, 3360, 53,5 ), vectorScale( ( 0, 0, -1 ), 352,9 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 58.5, 3360, 53.5 ), vectorScale( ( 0, 1, 0 ), 352.9 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 3029, 1571,5, 129,5 ), vectorScale( ( 0, 0, -1 ), 8,3 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 3029, 1571.5, 129.5 ), vectorScale( ( 0, 0, -1 ), 8.3 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1341, 517,5, -35,5 ), ( 354,7, 0, -0,6 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1341, 517.5, -35.5 ), ( 354.7, 0, -0.6 ) );
spawncollision( "collision_clip_256x256x10", "collider", ( 1744, 482, 16 ), ( 270, 183,902, 86,0983 ) ); spawncollision( "collision_clip_256x256x10", "collider", ( 1744, 482, 16 ), ( 270, 183.902, 86.0983 ) );
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 ); maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2500", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2500", reset_dvars );
} }

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_nightclub_amb;
#include maps/mp/_load;
#include maps/mp/mp_nightclub_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_nightclub_fx::main(); maps/mp/mp_nightclub_fx::main();
@ -31,75 +35,72 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_clip_128x128x128", "collider", ( -17402,5, 2804, -109 ), vectorScale( ( 0, 0, 0 ), 315 ) ); spawncollision( "collision_clip_128x128x128", "collider", ( -17402.5, 2804, -109 ), vectorScale( ( 0, 1, 0 ), 315 ) );
spawncollision( "collision_clip_128x128x128", "collider", ( -17350,5, 2856, -109 ), vectorScale( ( 0, 0, 0 ), 315 ) ); spawncollision( "collision_clip_128x128x128", "collider", ( -17350.5, 2856, -109 ), vectorScale( ( 0, 1, 0 ), 315 ) );
spawncollision( "collision_clip_cylinder_32x128", "collider", ( -18769, 733, -218 ), ( 0, 0, 0 ) ); spawncollision( "collision_clip_cylinder_32x128", "collider", ( -18769, 733, -218 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_cylinder_32x128", "collider", ( -18772, 664, -218 ), ( 0, 0, 0 ) ); spawncollision( "collision_clip_cylinder_32x128", "collider", ( -18772, 664, -218 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_cylinder_32x128", "collider", ( -18772, 605, -218 ), ( 0, 0, 0 ) ); spawncollision( "collision_clip_cylinder_32x128", "collider", ( -18772, 605, -218 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -16759, 3939, -100 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -16759, 3939, -100 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -16742, 3939, -100 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -16742, 3939, -100 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -19469, 355, -86 ), vectorScale( ( 0, 0, 0 ), 90 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -19469, 355, -86 ), vectorScale( ( 0, 1, 0 ), 90 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -19469, 338, -86 ), vectorScale( ( 0, 0, 0 ), 90 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -19469, 338, -86 ), vectorScale( ( 0, 1, 0 ), 90 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -18273,5, 1092,5, -2,5 ), vectorScale( ( 0, 0, 0 ), 86,7 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -18273.5, 1092.5, -2.5 ), vectorScale( ( 0, 1, 0 ), 86.7 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -16166,5, 1802, -127 ), ( 16, 44,3, 0 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -16166.5, 1802, -127 ), ( 16, 44.3, 0 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -18016,9, 1674,34, -179 ), ( 270, 225,8, 4,34 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -18016.9, 1674.34, -179 ), ( 270, 225.8, 4.34 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -18025,9, 1683,34, -179 ), ( 270, 225,8, 4,34 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -18025.9, 1683.34, -179 ), ( 270, 225.8, 4.34 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17810,9, 1883,34, -77 ), ( 270, 225,8, 4,34 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17810.9, 1883.34, -77 ), ( 270, 225.8, 4.34 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17819,9, 1892,34, -77 ), ( 270, 225,8, 4,34 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17819.9, 1892.34, -77 ), ( 270, 225.8, 4.34 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17872, 1839, -87 ), ( 359,801, 315,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17872, 1839, -87 ), ( 359.801, 315.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17860, 1827, -87 ), ( 359,801, 315,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17860, 1827, -87 ), ( 359.801, 315.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17946, 1764, -129 ), ( 359,801, 315,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17946, 1764, -129 ), ( 359.801, 315.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17970, 1737, -146 ), ( 359,801, 315,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17970, 1737, -146 ), ( 359.801, 315.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17936, 1754, -129 ), ( 359,801, 315,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17936, 1754, -129 ), ( 359.801, 315.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17961, 1728, -146 ), ( 359,801, 315,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17961, 1728, -146 ), ( 359.801, 315.726, 110.7287 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17370,1, 2304,66, -77 ), ( 270, 45,8, 4,33999 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17370.1, 2304.66, -77 ), ( 270, 45.8, 4.33999 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17379,1, 2313,66, -77 ), ( 270, 45,8, 4,33999 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17379.1, 2313.66, -77 ), ( 270, 45.8, 4.33999 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17164,1, 2513,66, -179 ), ( 270, 45,8, 4,33999 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17164.1, 2513.66, -179 ), ( 270, 45.8, 4.33999 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17173,1, 2522,66, -179 ), ( 270, 45,8, 4,33999 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17173.1, 2522.66, -179 ), ( 270, 45.8, 4.33999 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17229, 2469, -146 ), ( 359,801, 135,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17229, 2469, -146 ), ( 359.801, 135.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17220, 2460, -146 ), ( 359,801, 135,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17220, 2460, -146 ), ( 359.801, 135.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17254, 2443, -129 ), ( 359,801, 135,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17254, 2443, -129 ), ( 359.801, 135.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17244, 2433, -129 ), ( 359,801, 135,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17244, 2433, -129 ), ( 359.801, 135.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17330, 2370, -87 ), ( 359,801, 135,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17330, 2370, -87 ), ( 359.801, 135.726, 110.7287 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17318, 2358, -87 ), ( 359,801, 135,726, 110,7287 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17318, 2358, -87 ), ( 359.801, 135.726, 110.7287 ) );
spawncollision( "collision_tvs_anchor_desk01", "collider", ( -15441, 3711, -192 ), vectorScale( ( 0, 0, 0 ), 270 ) ); spawncollision( "collision_tvs_anchor_desk01", "collider", ( -15441, 3711, -192 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -16938,5, 2314, -226,5 ), vectorScale( ( 0, 0, 0 ), 33,5 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -16938.5, 2314, -226.5 ), vectorScale( ( 0, 1, 0 ), 33.5 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17504,5, 1852,5, -93 ), ( 0, 44,9, 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17504.5, 1852.5, -93 ), ( 0, 44.9, 90 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -17413, 1942, -93 ), ( 0, 44,9, 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -17413, 1942, -93 ), ( 0, 44.9, 90 ) );
spawncollision( "collision_clip_256x256x10", "collider", ( -16309,5, 3077, -64,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_clip_256x256x10", "collider", ( -16309.5, 3077, -64.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17336,4, 1959,55, -25,25 ), ( 0, 42,2, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17336.4, 1959.55, -25.25 ), ( 0, 42.2, 90 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17315,1, 1935,7, -25,25 ), ( 0, 42,2, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17315.1, 1935.7, -25.25 ), ( 0, 42.2, 90 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17311,6, 1931,95, -25,25 ), ( 0, 42,2, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17311.6, 1931.95, -25.25 ), ( 0, 42.2, 90 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17462,9, 1832,79, -25,25 ), ( 0, 49,8, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17462.9, 1832.79, -25.25 ), ( 0, 49.8, 90 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17438,6, 1811,97, -25,25 ), ( 0, 49,8, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17438.6, 1811.97, -25.25 ), ( 0, 49.8, 90 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17434,6, 1808,72, -25,25 ), ( 0, 49,8, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17434.6, 1808.72, -25.25 ), ( 0, 49.8, 90 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -18712,5, 525, -122,5 ), vectorScale( ( 0, 0, 0 ), 20,9 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -18712.5, 525, -122.5 ), vectorScale( ( 0, 1, 0 ), 20.9 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -18712,5, 525, -159,5 ), vectorScale( ( 0, 0, 0 ), 20,9 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -18712.5, 525, -159.5 ), vectorScale( ( 0, 1, 0 ), 20.9 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -18927,5, 1099, -122,5 ), vectorScale( ( 0, 0, 0 ), 65,6 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -18927.5, 1099, -122.5 ), vectorScale( ( 0, 1, 0 ), 65.6 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -18927,5, 1099, -159,5 ), vectorScale( ( 0, 0, 0 ), 65,6 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -18927.5, 1099, -159.5 ), vectorScale( ( 0, 1, 0 ), 65.6 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17335, 1962, -30,5 ), ( 0, 44,6, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17335, 1962, -30.5 ), ( 0, 44.6, 90 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( -17463,5, 1833, -30,5 ), ( 0, 48,7, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( -17463.5, 1833, -30.5 ), ( 0, 48.7, 90 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -17251,5, 2908,5, 31 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -17251.5, 2908.5, 31 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -17250,5, 2981, 31 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -17250.5, 2981, 31 ), ( 0, 0, 0 ) );
destructibles = getentarray( "destructible", "targetname" ); destructibles = getentarray( "destructible", "targetname" );
_a134 = destructibles; foreach ( destructible in destructibles )
_k134 = getFirstArrayKey( _a134 );
while ( isDefined( _k134 ) )
{ {
destructible = _a134[ _k134 ];
destructible thread car_sound_think(); destructible thread car_sound_think();
_k134 = getNextArrayKey( _a134, _k134 );
} }
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars );
} }
car_sound_think() car_sound_think() //checked matches cerberus output
{ {
self waittill( "car_dead" ); self waittill( "car_dead" );
self playsound( "exp_barrel" ); self playsound( "exp_barrel" );
} }

View File

@ -1,13 +1,18 @@
//checked includes changed to match cerberus output
#include maps/mp/killstreaks/_killstreaks; #include maps/mp/killstreaks/_killstreaks;
#include maps/mp/gametypes/_globallogic_defaults; #include maps/mp/gametypes/_globallogic_defaults;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_nuketown_2020_amb;
#include maps/mp/_load;
#include maps/mp/mp_nuketown_2020_fx;
#include maps/mp/_events; #include maps/mp/_events;
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
#using_animtree( "fxanim_props" ); //current version of the compiler doesn't compile this correctly causing the server to crash on load
//#using_animtree( "fxanim_props" );
main() main() //checked matches cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_nuketown_2020_fx::main(); maps/mp/mp_nuketown_2020_fx::main();
@ -29,49 +34,49 @@ main()
maps/mp/_load::main(); maps/mp/_load::main();
maps/mp/mp_nuketown_2020_amb::main(); maps/mp/mp_nuketown_2020_amb::main();
maps/mp/_compass::setupminimap( "compass_map_mp_nuketown_2020" ); maps/mp/_compass::setupminimap( "compass_map_mp_nuketown_2020" );
spawncollision( "collision_physics_32x32x128", "collider", ( 1216, 167,5, 235 ), ( 0, 3,69986, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 1216, 167.5, 235 ), ( 0, 3.69986, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 1213, 227, 235 ), ( 0, 10,9, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 1213, 227, 235 ), ( 0, 10.9, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 1196, 315,5, 235 ), ( 0, 15,2, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 1196, 315.5, 235 ), ( 0, 15.2, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 1151,5, 427, 235 ), ( 0, 27,8, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 1151.5, 427, 235 ), ( 0, 27.8, -90 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1109, 488, 235 ), ( 0, 46,2, -90 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1109, 488, 235 ), ( 0, 46.2, -90 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 1067, 291, 240 ), vectorScale( ( 0, 1, 0 ), 14,3 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 1067, 291, 240 ), vectorScale( ( 0, 1, 0 ), 14.3 ) );
prop1 = spawn( "script_model", ( 678,485, 583,124, -91,75 ) ); prop1 = spawn( "script_model", ( 678.485, 583.124, -91.75 ) );
prop1.angles = ( 270, 198,902, 86,0983 ); prop1.angles = ( 270, 198.902, 86.0983 );
prop2 = spawn( "script_model", ( 705,49, 482,12, -91,75 ) ); prop2 = spawn( "script_model", ( 705.49, 482.12, -91.75 ) );
prop2.angles = ( 270, 198,902, 86,0983 ); prop2.angles = ( 270, 198.902, 86.0983 );
prop3 = spawn( "script_model", ( 732,49, 381,37, -91,75 ) ); prop3 = spawn( "script_model", ( 732.49, 381.37, -91.75 ) );
prop3.angles = ( 270, 198,902, 86,0983 ); prop3.angles = ( 270, 198.902, 86.0983 );
prop1 setmodel( "nt_2020_doorframe_black" ); prop1 setmodel( "nt_2020_doorframe_black" );
prop2 setmodel( "nt_2020_doorframe_black" ); prop2 setmodel( "nt_2020_doorframe_black" );
prop3 setmodel( "nt_2020_doorframe_black" ); prop3 setmodel( "nt_2020_doorframe_black" );
busprop1 = spawn( "script_model", ( -121,962, 53,5963, -24,241 ) ); busprop1 = spawn( "script_model", ( -121.962, 53.5963, -24.241 ) );
busprop1.angles = ( 274,162, 199,342, 86,5184 ); busprop1.angles = ( 274.162, 199.342, 86.5184 );
busprop1 setmodel( "nt_2020_doorframe_black" ); busprop1 setmodel( "nt_2020_doorframe_black" );
spawncollision( "collision_clip_32x32x32", "collider", ( 817,5, 415, 77 ), vectorScale( ( 0, 1, 0 ), 15,2 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 817.5, 415, 77 ), vectorScale( ( 0, 1, 0 ), 15.2 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 859, 430, 77,5 ), vectorScale( ( 0, 1, 0 ), 15,2 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 859, 430, 77.5 ), vectorScale( ( 0, 1, 0 ), 15.2 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 894, 439,5, 77,5 ), vectorScale( ( 0, 1, 0 ), 15,2 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 894, 439.5, 77.5 ), vectorScale( ( 0, 1, 0 ), 15.2 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 926,5, 448,5, 77,5 ), vectorScale( ( 0, 1, 0 ), 15,2 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 926.5, 448.5, 77.5 ), vectorScale( ( 0, 1, 0 ), 15.2 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 1257,5, 489, -68 ), vectorScale( ( 0, 1, 0 ), 15,2 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 1257.5, 489, -68 ), vectorScale( ( 0, 1, 0 ), 15.2 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 1288,5, 497,5, -68 ), vectorScale( ( 0, 1, 0 ), 15,2 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 1288.5, 497.5, -68 ), vectorScale( ( 0, 1, 0 ), 15.2 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( 570,655, 214,604, -10,5 ), vectorScale( ( 0, 1, 0 ), 284,5 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( 570.655, 214.604, -10.5 ), vectorScale( ( 0, 1, 0 ), 284.5 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( 558,345, 260,896, -10,5 ), vectorScale( ( 0, 1, 0 ), 284,5 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( 558.345, 260.896, -10.5 ), vectorScale( ( 0, 1, 0 ), 284.5 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1422, 40,5, 4,5 ), vectorScale( ( 0, 1, 0 ), 72,2 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1422, 40.5, 4.5 ), vectorScale( ( 0, 1, 0 ), 72.2 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 883,75, 826,5, 195,75 ), ( 0, 263,2, -90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 883.75, 826.5, 195.75 ), ( 0, 263.2, -90 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 770, 824,75, 195,75 ), ( 0, 276,4, -90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 770, 824.75, 195.75 ), ( 0, 276.4, -90 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 661,25, 801, 195,75 ), ( 0, 287,4, -90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 661.25, 801, 195.75 ), ( 0, 287.4, -90 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 560,75, 751,75, 195,75 ), ( 0, 302, -90 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 560.75, 751.75, 195.75 ), ( 0, 302, -90 ) );
spawncollision( "collision_physics_32x32x10", "collider", ( 1325, 532, 14 ), vectorScale( ( 0, 1, 0 ), 14,9 ) ); spawncollision( "collision_physics_32x32x10", "collider", ( 1325, 532, 14 ), vectorScale( ( 0, 1, 0 ), 14.9 ) );
spawncollision( "collision_physics_32x32x10", "collider", ( 1369, 542,5, 14 ), vectorScale( ( 0, 1, 0 ), 14,9 ) ); spawncollision( "collision_physics_32x32x10", "collider", ( 1369, 542.5, 14 ), vectorScale( ( 0, 1, 0 ), 14.9 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1936, 699,5, -49 ), ( 359,339, 356,866, -11,7826 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1936, 699.5, -49 ), ( 359.339, 356.866, -11.7826 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1936, 703,5, -28,5 ), ( 359,339, 356,866, -11,7826 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -1936, 703.5, -28.5 ), ( 359.339, 356.866, -11.7826 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1013,5, 76,5, 42 ), vectorScale( ( 0, 1, 0 ), 15 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1013.5, 76.5, 42 ), vectorScale( ( 0, 1, 0 ), 15 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -458,5, 589, 63 ), ( 1,3179, 341,742, 3,9882 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -458.5, 589, 63 ), ( 1.3179, 341.742, 3.9882 ) );
spawncollision( "collision_physics_32x32x10", "collider", ( 653, 344,5, 147 ), vectorScale( ( 0, 1, 0 ), 14,7 ) ); spawncollision( "collision_physics_32x32x10", "collider", ( 653, 344.5, 147 ), vectorScale( ( 0, 1, 0 ), 14.7 ) );
spawncollision( "collision_physics_32x32x10", "collider", ( 653, 344,5, 98 ), vectorScale( ( 0, 1, 0 ), 14,7 ) ); spawncollision( "collision_physics_32x32x10", "collider", ( 653, 344.5, 98 ), vectorScale( ( 0, 1, 0 ), 14.7 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -611,5, 535, 90,5 ), ( 359,952, 250,338, 9,04601 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -611.5, 535, 90.5 ), ( 359.952, 250.338, 9.04601 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1168,13, 200,5, 222,485 ), ( 352,436, 6,33769, -2,04434 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1168.13, 200.5, 222.485 ), ( 352.436, 6.33769, -2.04434 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1147,43, 295,5, 219,708 ), ( 352,293, 18,1248, -1,3497 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1147.43, 295.5, 219.708 ), ( 352.293, 18.1248, -1.3497 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1113,81, 391,5, 218,7 ), ( 352,832, 23,1409, -0,786543 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1113.81, 391.5, 218.7 ), ( 352.832, 23.1409, -0.786543 ) );
level.onspawnintermission = ::nuked_intermission; level.onspawnintermission = ::nuked_intermission;
level.endgamefunction = ::nuked_end_game; level.endgamefunction = ::nuked_end_game;
setdvar( "compassmaxrange", "2100" ); setdvar( "compassmaxrange", "2100" );
@ -94,7 +99,7 @@ main()
level thread nuked_bomb_drop_think(); level thread nuked_bomb_drop_think();
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1600", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1600", reset_dvars );
@ -103,22 +108,20 @@ levelspawndvars( reset_dvars )
ss.dead_friend_influencer_count = set_dvar_float_if_unset( "scr_spawn_dead_friend_influencer_count", "7", reset_dvars ); ss.dead_friend_influencer_count = set_dvar_float_if_unset( "scr_spawn_dead_friend_influencer_count", "7", reset_dvars );
} }
move_spawn_point( targetname, start_point, new_point ) move_spawn_point( targetname, start_point, new_point ) //checked changed to match cerberus output
{ {
spawn_points = getentarray( targetname, "classname" ); spawn_points = getentarray( targetname, "classname" );
i = 0; for ( i = 0; i < spawn_points.size; i++ )
while ( i < spawn_points.size )
{ {
if ( distancesquared( spawn_points[ i ].origin, start_point ) < 1 ) if ( distancesquared( spawn_points[ i ].origin, start_point ) < 1 )
{ {
spawn_points[ i ].origin = new_point; spawn_points[ i ].origin = new_point;
return; return;
} }
i++;
} }
} }
nuked_mannequin_init() nuked_mannequin_init() //checked partially changed to match cerberus output see info.md
{ {
destructibles = getentarray( "destructible", "targetname" ); destructibles = getentarray( "destructible", "targetname" );
mannequins = nuked_mannequin_filter( destructibles ); mannequins = nuked_mannequin_filter( destructibles );
@ -135,48 +138,46 @@ nuked_mannequin_init()
i = 0; i = 0;
while ( i < remove_count ) while ( i < remove_count )
{ {
/*
/# /#
assert( isDefined( mannequins[ i ].target ) ); assert( isDefined( mannequins[ i ].target ) );
#/ #/
*/
if ( level.endgamemannequin == mannequins[ i ] ) if ( level.endgamemannequin == mannequins[ i ] )
{ {
i++; i++;
continue; continue;
} }
else collision = getent( mannequins[ i ].target, "targetname" );
{ /*
collision = getent( mannequins[ i ].target, "targetname" );
/# /#
assert( isDefined( collision ) ); assert( isDefined( collision ) );
#/ #/
collision delete(); */
mannequins[ i ] delete(); collision delete();
level.mannequin_count--; mannequins[ i ] delete();
level.mannequin_count--;
}
i++; i++;
} }
level waittill( "prematch_over" ); level waittill( "prematch_over" );
level.mannequin_time = getTime(); level.mannequin_time = getTime();
} }
nuked_mannequin_filter( destructibles ) nuked_mannequin_filter( destructibles ) //checked changed to match cerberus output
{ {
mannequins = []; mannequins = [];
i = 0; for ( i = 0; i < destructibles.size; i++ )
while ( i < destructibles.size )
{ {
destructible = destructibles[ i ]; destructible = destructibles[ i ];
if ( issubstr( destructible.destructibledef, "male" ) ) if ( issubstr( destructible.destructibledef, "male" ) )
{ {
mannequins[ mannequins.size ] = destructible; mannequins[ mannequins.size ] = destructible;
} }
i++;
} }
return mannequins; return mannequins;
} }
mannequin_headless( notifytype, attacker ) mannequin_headless( notifytype, attacker ) //checked matches cerberus output
{ {
if ( getTime() < ( level.mannequin_time + ( getdvarintdefault( "vcs_timelimit", 120 ) * 1000 ) ) ) if ( getTime() < ( level.mannequin_time + ( getdvarintdefault( "vcs_timelimit", 120 ) * 1000 ) ) )
{ {
@ -188,12 +189,12 @@ mannequin_headless( notifytype, attacker )
} }
} }
nuked_intermission() nuked_intermission() //checked matches cerberus output
{ {
maps/mp/gametypes/_globallogic_defaults::default_onspawnintermission(); maps/mp/gametypes/_globallogic_defaults::default_onspawnintermission();
} }
nuked_end_game() nuked_end_game() //checked matches cerberus output
{ {
if ( waslastround() ) if ( waslastround() )
{ {
@ -202,35 +203,35 @@ nuked_end_game()
} }
} }
nuke_detonation() nuke_detonation() //checked changed to match cerberus output
{ {
level notify( "bomb_drop_pre" ); level notify( "bomb_drop_pre" );
clientnotify( "bomb_drop_pre" ); clientnotify( "bomb_drop_pre" );
bomb_loc = getent( "bomb_loc", "targetname" ); bomb_loc = getent( "bomb_loc", "targetname" );
bomb_loc playsound( "amb_end_nuke_2d" ); bomb_loc playsound( "amb_end_nuke_2d" );
destructibles = getentarray( "destructible", "targetname" ); destructibles = getentarray( "destructible", "targetname" );
i = 0; for ( i = 0; i < destructibles.size; i++ )
while ( i < destructibles.size )
{ {
if ( getsubstr( destructibles[ i ].destructibledef, 0, 4 ) == "veh_" ) if ( getsubstr( destructibles[ i ].destructibledef, 0, 4 ) == "veh_" )
{ {
destructibles[ i ] hide(); destructibles[ i ] hide();
} }
i++;
} }
displaysign = getent( "nuke_display_glass_server", "targetname" ); displaysign = getent( "nuke_display_glass_server", "targetname" );
/*
/# /#
assert( isDefined( displaysign ) ); assert( isDefined( displaysign ) );
#/ #/
*/
displaysign hide(); displaysign hide();
bombwaitpretime = getdvarfloatdefault( "scr_nuke_car_pre", 0,5 ); bombwaitpretime = getdvarfloatdefault( "scr_nuke_car_pre", 0.5 );
wait bombwaitpretime; wait bombwaitpretime;
exploder( level.const_fx_exploder_nuke ); exploder( level.const_fx_exploder_nuke );
bomb_loc = getent( "bomb_loc", "targetname" ); bomb_loc = getent( "bomb_loc", "targetname" );
bomb_loc playsound( "amb_end_nuke" ); bomb_loc playsound( "amb_end_nuke" );
level notify( "bomb_drop" ); level notify( "bomb_drop" );
clientnotify( "bomb_drop" ); clientnotify( "bomb_drop" );
bombwaittime = getdvarfloatdefault( "scr_nuke_car_flip", 3,25 ); bombwaittime = getdvarfloatdefault( "scr_nuke_car_flip", 3.25 );
wait bombwaittime; wait bombwaittime;
clientnotify( "nuke_car_flip" ); clientnotify( "nuke_car_flip" );
location = level.endgamemannequin.origin + ( 0, -20, 50 ); location = level.endgamemannequin.origin + ( 0, -20, 50 );
@ -238,11 +239,11 @@ nuke_detonation()
physicsexplosionsphere( location, 128, 128, 1 ); physicsexplosionsphere( location, 128, 128, 1 );
mannequinwaittime = getdvarfloatdefault( "scr_nuke_mannequin_flip", 0,25 ); mannequinwaittime = getdvarfloatdefault( "scr_nuke_mannequin_flip", 0,25 );
wait mannequinwaittime; wait mannequinwaittime;
level.endgamemannequin rotateto( level.endgamemannequin.angles + vectorScale( ( 0, 1, 0 ), 90 ), 0,7 ); level.endgamemannequin rotateto( level.endgamemannequin.angles + vectorScale( ( 0, 0, 1 ), 90 ), 0.7 );
level.endgamemannequin moveto( level.endgamemannequin.origin + vectorScale( ( 0, 1, 0 ), 90 ), 1 ); level.endgamemannequin moveto( level.endgamemannequin.origin + vectorScale( ( 0, 1, 0 ), 90 ), 1 );
} }
nuked_bomb_drop_think() nuked_bomb_drop_think() //checked changed to match cerberus output
{ {
camerastart = getstruct( "endgame_camera_start", "targetname" ); camerastart = getstruct( "endgame_camera_start", "targetname" );
cameraend = getstruct( camerastart.target, "targetname" ); cameraend = getstruct( camerastart.target, "targetname" );
@ -257,15 +258,13 @@ nuked_bomb_drop_think()
camera setmodel( "tag_origin" ); camera setmodel( "tag_origin" );
level waittill( "bomb_drop_pre" ); level waittill( "bomb_drop_pre" );
level notify( "fxanim_dome_explode_start" ); level notify( "fxanim_dome_explode_start" );
i = 0; for ( i = 0; i < get_players().size; i++ )
while ( i < get_players().size )
{ {
player = get_players()[ i ]; player = get_players()[ i ];
player camerasetposition( camera ); player camerasetposition( camera );
player camerasetlookat(); player camerasetlookat();
player cameraactivate( 1 ); player cameraactivate( 1 );
player setdepthoffield( 0, 128, 7000, 10000, 6, 1,8 ); player setdepthoffield( 0, 128, 7000, 10000, 6, 1,8 );
i++;
} }
camera moveto( cameraend.origin, cam_move_time, 0, 0 ); camera moveto( cameraend.origin, cam_move_time, 0, 0 );
camera rotateto( cameraend.angles, cam_move_time, 0, 0 ); camera rotateto( cameraend.angles, cam_move_time, 0, 0 );
@ -278,15 +277,15 @@ nuked_bomb_drop_think()
} }
} }
nuked_population_sign_think() nuked_population_sign_think() //checked changed to match beta dump
{ {
tens_model = getent( "counter_tens", "targetname" ); tens_model = getent( "counter_tens", "targetname" );
ones_model = getent( "counter_ones", "targetname" ); ones_model = getent( "counter_ones", "targetname" );
step = 36; step = 36;
ones = 0; ones = 0;
tens = 0; tens = 0;
tens_model rotateroll( step, 0,05 ); tens_model rotateroll( step, 0.05 );
ones_model rotateroll( step, 0,05 ); ones_model rotateroll( step, 0.05 );
for ( ;; ) for ( ;; )
{ {
wait 1; wait 1;
@ -310,7 +309,7 @@ nuked_population_sign_think()
ones_model waittill( "rotatedone" ); ones_model waittill( "rotatedone" );
continue; continue;
} }
else if ( num_players > dial ) if ( num_players > dial )
{ {
ones++; ones++;
time = set_dvar_float_if_unset( "scr_dial_rotate_time", "0.5" ); time = set_dvar_float_if_unset( "scr_dial_rotate_time", "0.5" );
@ -326,12 +325,13 @@ nuked_population_sign_think()
} }
else else
{ {
break;
} }
} }
} }
} }
do_vcs() do_vcs() //checked matches cerberus output
{ {
if ( getdvarintdefault( "disable_vcs", 0 ) ) if ( getdvarintdefault( "disable_vcs", 0 ) )
{ {
@ -375,8 +375,8 @@ do_vcs()
placementtag = spawn( "script_model", player.origin ); placementtag = spawn( "script_model", player.origin );
placementtag.angles = player.angles; placementtag.angles = player.angles;
player playerlinktoabsolute( placementtag ); player playerlinktoabsolute( placementtag );
placementtag moveto( targettag.origin, 0,5, 0,05, 0,05 ); placementtag moveto( targettag.origin, 0.5, 0.05, 0.05 );
placementtag rotateto( targettag.angles, 0,5, 0,05, 0,05 ); placementtag rotateto( targettag.angles, 0.5, 0.05, 0.05 );
player enableinvulnerability(); player enableinvulnerability();
player openmenu( "vcs" ); player openmenu( "vcs" );
player wait_till_done_playing_vcs(); player wait_till_done_playing_vcs();
@ -394,7 +394,7 @@ do_vcs()
} }
} }
wait_till_done_playing_vcs() wait_till_done_playing_vcs() //checked matches cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
while ( 1 ) while ( 1 )
@ -404,13 +404,13 @@ wait_till_done_playing_vcs()
} }
} }
nuked_powerlevel_think() nuked_powerlevel_think() //checked matches cerberus output
{ {
pin_model = getent( "nuketown_sign_needle", "targetname" ); pin_model = getent( "nuketown_sign_needle", "targetname" );
pin_model thread pin_think(); pin_model thread pin_think();
} }
pin_think() pin_think() //checked changed to match cerberus output
{ {
self endon( "death" ); self endon( "death" );
self endon( "entityshutdown" ); self endon( "entityshutdown" );
@ -429,13 +429,10 @@ pin_think()
add_timed_event( 10, "near_end_game" ); add_timed_event( 10, "near_end_game" );
self pin_move( yellowangle, level.timelimit * 60 ); self pin_move( yellowangle, level.timelimit * 60 );
} }
else else if ( level.scorelimit )
{ {
if ( level.scorelimit ) add_score_event( int( level.scorelimit * 0,9 ), "near_end_game" );
{ self pin_move( normalangle, 300 );
add_score_event( int( level.scorelimit * 0,9 ), "near_end_game" );
self pin_move( normalangle, 300 );
}
} }
notifystr = level waittill_any_return( "near_end_game", "game_ended" ); notifystr = level waittill_any_return( "near_end_game", "game_ended" );
if ( notifystr == "near_end_game" ) if ( notifystr == "near_end_game" )
@ -447,29 +444,26 @@ pin_think()
self pin_check_rotation( 0, 2 ); self pin_check_rotation( 0, 2 );
self pin_move( redangle, 2 ); self pin_move( redangle, 2 );
} }
else if ( level.timelimit )
{
self pin_move( normalangle, level.timelimit * 60 );
}
else else
{ {
if ( level.timelimit ) self pin_move( normalangle, 300 );
{
self pin_move( normalangle, level.timelimit * 60 );
}
else
{
self pin_move( normalangle, 300 );
}
} }
level waittill( "nuke_detonation" ); level waittill( "nuke_detonation" );
self pin_check_rotation( 0, 0,05 ); self pin_check_rotation( 0, 0.05 );
self pin_move( endangle, 0,1 ); self pin_move( endangle, 0,1 );
} }
pin_move( angle, time ) pin_move( angle, time ) //checked matches cerberus output
{ {
angles = ( angle, self.angles[ 1 ], self.angles[ 2 ] ); angles = ( angle, self.angles[ 1 ], self.angles[ 2 ] );
self rotateto( angles, time ); self rotateto( angles, time );
} }
pin_check_rotation( angle, time ) pin_check_rotation( angle, time ) //checked matches cerberus output
{ {
if ( self.angles[ 0 ] > angle ) if ( self.angles[ 0 ] > angle )
{ {
@ -477,3 +471,4 @@ pin_check_rotation( angle, time )
self waittill( "rotatedone" ); self waittill( "rotatedone" );
} }
} }

View File

@ -1,7 +1,12 @@
//checked includes changed to match cerberus output
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_overflow_amb;
#include maps/mp/_load;
#include maps/mp/mp_overflow_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main()
main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_overflow_fx::main(); maps/mp/mp_overflow_fx::main();
@ -35,31 +40,31 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_128x128x10", "collider", ( -1248, -32, 285 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -1248, -32, 285 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -1248, 96, 285 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -1248, 96, 285 ), ( 0, 0, 0 ) );
plank1 = spawn( "script_model", ( -1229,09, 9,85, 289,2 ) ); plank1 = spawn( "script_model", ( -1229.09, 9.85, 289.2 ) );
plank1.angles = ( 271, 331,6, 180 ); plank1.angles = ( 271, 331.6, 180 );
plank2 = spawn( "script_model", ( -1244,92, 36,81, 288,2 ) ); plank2 = spawn( "script_model", ( -1244.92, 36.81, 288.2 ) );
plank2.angles = ( 270, 138,6, -104 ); plank2.angles = ( 270, 138.6, -104 );
plank3 = spawn( "script_model", ( -1249,94, 93,83, 288,2 ) ); plank3 = spawn( "script_model", ( -1249.94, 93.83, 288.2 ) );
plank3.angles = ( 270, 138,6, -128 ); plank3.angles = ( 270, 138.6, -128 );
plank1 setmodel( "intro_construction_scaffold_woodplanks_03" ); plank1 setmodel( "intro_construction_scaffold_woodplanks_03" );
plank2 setmodel( "intro_construction_scaffold_woodplanks_05" ); plank2 setmodel( "intro_construction_scaffold_woodplanks_05" );
plank3 setmodel( "intro_construction_scaffold_woodplanks_05" ); plank3 setmodel( "intro_construction_scaffold_woodplanks_05" );
spawncollision( "collision_physics_128x128x10", "collider", ( -1252, -199, 283 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -1252, -199, 283 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -1252, 376, 283 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -1252, 376, 283 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( -158, -592, 675 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( -158, -592, 675 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -2838, -1502, 49 ), ( 1,98509, 344,156, -96,0042 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -2838, -1502, 49 ), ( 1.98509, 344.156, -96.0042 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -2917, -1480, 52 ), ( 1,98509, 344,156, -96,0042 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -2917, -1480, 52 ), ( 1.98509, 344.156, -96.0042 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 431, -1160, 124 ), vectorScale( ( 0, 0, 1 ), 51 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 431, -1160, 124 ), vectorScale( ( 0, 0, 1 ), 51 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 431, -1287, 124 ), ( 0, 180, 51 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 431, -1287, 124 ), ( 0, 180, 51 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1603, 1133, 135 ), ( 0, 180, 51 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1603, 1133, 135 ), ( 0, 180, 51 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1603, 1260, 135 ), vectorScale( ( 0, 0, 1 ), 51 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1603, 1260, 135 ), vectorScale( ( 0, 0, 1 ), 51 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1602, 1115, 161 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1602, 1115, 161 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1602, 1276, 161 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1602, 1276, 161 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( -119, -752, 436 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( -119, -752, 436 ), ( 0, 0, 0 ) );
metalpiece = spawn( "script_model", ( -121, -757, 467 ) ); metalpiece = spawn( "script_model", ( -121, -757, 467 ) );
metalpiece.angles = vectorScale( ( 0, 0, 1 ), 90 ); metalpiece.angles = vectorScale( ( 0, 0, -1 ), 90 );
metalpiece setmodel( "afr_corrugated_metal4x4_holes" ); metalpiece setmodel( "afr_corrugated_metal4x4_holes" );
metalpiece2 = spawn( "script_model", ( -144, -856, 408 ) ); metalpiece2 = spawn( "script_model", ( -144, -856, 408 ) );
metalpiece2 setmodel( "p_rus_rollup_door_136" ); metalpiece2 setmodel( "p_rus_rollup_door_136" );
@ -68,45 +73,42 @@ main()
metalpiece4 = spawn( "script_model", ( -144, -1077, 408 ) ); metalpiece4 = spawn( "script_model", ( -144, -1077, 408 ) );
metalpiece4 setmodel( "p_rus_rollup_door_40" ); metalpiece4 setmodel( "p_rus_rollup_door_40" );
board1 = spawn( "script_model", ( -119, -783, 408 ) ); board1 = spawn( "script_model", ( -119, -783, 408 ) );
board1.angles = vectorScale( ( 0, 0, 1 ), 270 ); board1.angles = vectorScale( ( 0, 1, 0 ), 270 );
board1 setmodel( "com_wallchunk_boardmedium01" ); board1 setmodel( "com_wallchunk_boardmedium01" );
board2 = spawn( "script_model", ( -89, -749, 408 ) ); board2 = spawn( "script_model", ( -89, -749, 408 ) );
board2 setmodel( "com_wallchunk_boardmedium01" ); board2 setmodel( "com_wallchunk_boardmedium01" );
spawncollision( "collision_physics_64x64x64", "collider", ( -699, -1267, -19 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( -699, -1267, -19 ), ( 0, 0, 1 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -683, -1219, -19 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -683, -1219, -19 ), ( 0, 0, 1 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -683, -1162, -24 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -683, -1162, -24 ), ( 0, 0, 1 ) );
spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1746, 1555, -213 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_wall_512x512x10", "collider", ( -1746, 1555, -213 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( -1658, 1899, -93 ), vectorScale( ( 0, 0, 1 ), 225,6 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( -1658, 1899, -93 ), vectorScale( ( 0, 1, 0 ), 225.6 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( -1570, 1989, -93 ), vectorScale( ( 0, 0, 1 ), 225,6 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( -1570, 1989, -93 ), vectorScale( ( 0, 1, 0 ), 225.6 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1375, -737, 81,5 ), vectorScale( ( 0, 0, 1 ), 327,3 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1375, -737, 81.5 ), vectorScale( ( 0, 1, 0 ), 327.3 ) );
level.levelkillbrushes = []; level.levelkillbrushes = [];
level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -2817, 2226,5, -271 ), 0, 1722, 128 ); level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -2817, 2226.5, -271 ), 0, 1722, 128 );
level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -3620, 270,5, -266,5 ), 0, 1176, 128 ); level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -3620, 270.5, -266.5 ), 0, 1176, 128 );
level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -3335, -1775,5, -266,5 ), 0, 1293, 128 ); level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -3335, -1775.5, -266.5 ), 0, 1293, 128 );
level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -2351, -3384,5, -255,5 ), 0, 1293, 128 ); level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -2351, -3384.5, -255.5 ), 0, 1293, 128 );
spawncollision( "collision_physics_128x128x10", "collider", ( -1171,5, 512, 67 ), vectorScale( ( 0, 0, 1 ), 22,1 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -1171.5, 512, 67 ), vectorScale( ( 0, 0, -1 ), 22.1 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( 918, -728, 312 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( 918, -728, 312 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( 1962, -1303, 10,5 ), vectorScale( ( 0, 0, 1 ), 45,2 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( 1962, -1303, 10.5 ), vectorScale( ( 0, 1, 0 ), 45.2 ) );
setheliheightpatchenabled( "war_mode_heli_height_lock", 0 ); setheliheightpatchenabled( "war_mode_heli_height_lock", 0 );
level thread water_trigger_init(); level thread water_trigger_init();
level.remotemotarviewup = 13; level.remotemotarviewup = 13;
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars );
} }
water_trigger_init() water_trigger_init() //checked partially changed to match cerberus output see info.md
{ {
wait 3; wait 3;
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a157 = triggers; foreach ( trigger in triggers )
_k157 = getFirstArrayKey( _a157 );
while ( isDefined( _k157 ) )
{ {
trigger = _a157[ _k157 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -114,11 +116,10 @@ water_trigger_init()
{ {
trigger thread water_trigger_think(); trigger thread water_trigger_think();
} }
_k157 = getNextArrayKey( _a157, _k157 );
} }
} }
water_trigger_think() water_trigger_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -131,28 +132,25 @@ water_trigger_think()
} }
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( self isinwater() ) if ( self isinwater() )
{ {
return 0,4; return 0.4;
} }
return defaulttime; return defaulttime;
} }
useintermissionpointsonwavespawn() useintermissionpointsonwavespawn() //checked matches cerberus output
{ {
return self isinwater(); return self isinwater();
} }
isinwater() isinwater() //checked partially changed to match cerberus output see info.md
{ {
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a203 = triggers; foreach ( trigger in triggers )
_k203 = getFirstArrayKey( _a203 );
while ( isDefined( _k203 ) )
{ {
trigger = _a203[ _k203 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -163,7 +161,7 @@ isinwater()
return 1; return 1;
} }
} }
_k203 = getNextArrayKey( _a203, _k203 );
} }
return 0; return 0;
} }

View File

@ -1,9 +1,13 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_paintball_amb;
#include maps/mp/_load;
#include maps/mp/mp_paintball_fx;
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_paintball_fx::main(); maps/mp/mp_paintball_fx::main();
@ -26,30 +30,30 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 1071,5, -1998,5, 373,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 1071.5, -1998.5, 373.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 1071,5, -1998,5, 262 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 1071.5, -1998.5, 262 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 1071,5, -1998,5, 150 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 1071.5, -1998.5, 150 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 1071,5, -1998,5, 37,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( 1071.5, -1998.5, 37.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1446,5, 524,5, 401,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1446.5, 524.5, 401.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1446,5, 524,5, 290 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1446.5, 524.5, 290 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1446,5, 524,5, 178 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1446.5, 524.5, 178 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1446,5, 524,5, 65,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1446.5, 524.5, 65.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1303,5, 1611,5, 394,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1303.5, 1611.5, 394.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1303,5, 1611,5, 283 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1303.5, 1611.5, 283 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1303,5, 1611,5, 171 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1303.5, 1611.5, 171 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1303,5, 1611,5, 58,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1303.5, 1611.5, 58.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -104,5, -1176,5, 9 ), ( 9,93, 310, 79,786 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -104.5, -1176.5, 9 ), ( 9.93, 310, 79.786 ) );
spawncollision( "collision_physics_32x32x10", "collider", ( -105, -1166,5, 38 ), ( 317,842, 319,39, 76,1599 ) ); spawncollision( "collision_physics_32x32x10", "collider", ( -105, -1166.5, 38 ), ( 317.842, 319.39, 76.1599 ) );
spawncollision( "collision_physics_32x32x10", "collider", ( -96,5, -1173, 38,5 ), ( 310,109, 322,353, 74,0248 ) ); spawncollision( "collision_physics_32x32x10", "collider", ( -96.5, -1173, 38.5 ), ( 310.109, 322.353, 74.0248 ) );
spawncollision( "collision_physics_32x32x10", "collider", ( -93, -1180,5, 38,5 ), ( 310,109, 322,353, 74,0248 ) ); spawncollision( "collision_physics_32x32x10", "collider", ( -93, -1180.5, 38.5 ), ( 310.109, 322.353, 74.0248 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -596,198, -1402, -8,43064 ), ( 359,555, 85,8235, -6,08371 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -596.198, -1402, -8.43064 ), ( 359.555, 85.8235, -6.08371 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -596,198, -1370,5, -8,43064 ), ( 359,555, 85,8235, -6,08371 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -596.198, -1370.5, -8.43064 ), ( 359.555, 85.8235, -6.08371 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -597,845, -1391, 6,9816 ), ( 359,555, 85,8235, -6,08371 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -597.845, -1391, 6.9816 ), ( 359.555, 85.8235, -6.08371 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -597,845, -1370,5, 6,9816 ), ( 359,555, 85,8235, -6,08371 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -597.845, -1370.5, 6.9816 ), ( 359.555, 85.8235, -6.08371 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -598,802, -1383, 15,9306 ), ( 359,555, 85,8235, -6,08371 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -598.802, -1383, 15.9306 ), ( 359.555, 85.8235, -6.08371 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -598,8, -1383,04, 13,911 ), ( 310,532, 83,5658, -1,21727 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -598.8, -1383.04, 13.911 ), ( 310.532, 83.5658, -1.21727 ) );
pole1 = spawn( "script_model", ( 385, 572,5, -39 ) ); pole1 = spawn( "script_model", ( 385, 572.5, -39 ) );
pole1.angles = vectorScale( ( 0, 0, 1 ), 282,6 ); pole1.angles = vectorScale( ( 0, 0, 1 ), 282.6 );
pole1 setmodel( "p6_pai_fence_pole" ); pole1 setmodel( "p6_pai_fence_pole" );
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 ); maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" ); registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" );
@ -60,44 +64,40 @@ main()
level thread glass_node_think(); level thread glass_node_think();
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars );
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1200", reset_dvars ); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1200", reset_dvars );
} }
destructible_lights() destructible_lights() //checked changed to match cerberus output
{ {
wait 0,05; wait 0.05;
destructibles = getentarray( "destructible", "targetname" ); destructibles = getentarray( "destructible", "targetname" );
_a107 = destructibles; foreach ( destructible in destructibles )
_k107 = getFirstArrayKey( _a107 );
while ( isDefined( _k107 ) )
{ {
destructible = _a107[ _k107 ];
if ( destructible.destructibledef == "veh_t6_police_car_destructible_mp" ) if ( destructible.destructibledef == "veh_t6_police_car_destructible_mp" )
{ {
destructible thread destructible_think( "police_car_lights" ); destructible thread destructible_think( "police_car_lights" );
destructible setclientfield( "police_car_lights", 1 ); destructible setclientfield( "police_car_lights", 1 );
} }
_k107 = getNextArrayKey( _a107, _k107 );
} }
} }
destructible_think( clientfield ) destructible_think( clientfield ) //checked matches cerberus output
{ {
self waittill_any( "death", "destructible_base_piece_death" ); self waittill_any( "death", "destructible_base_piece_death" );
self setclientfield( clientfield, 0 ); self setclientfield( clientfield, 0 );
} }
glass_node_think() glass_node_think() //checked changed to match cerberus output
{ {
wait 1; wait 1;
glass_origin = ( -980,028, -959,375, 60,1195 ); glass_origin = ( -980.028, -959.375, 60.1195 );
node_origin = ( -981,75, -934,5, 16 ); node_origin = ( -981.75, -934.5, 16 );
node = getnearestnode( node_origin ); node = getnearestnode( node_origin );
while ( isDefined( node ) && node.type == "Begin" ) if ( isDefined( node ) && node.type == "Begin" )
{ {
ent = spawn( "script_model", node.origin, 1 ); ent = spawn( "script_model", node.origin, 1 );
ent setmodel( level.deployedshieldmodel ); ent setmodel( level.deployedshieldmodel );
@ -116,3 +116,4 @@ glass_node_think()
} }
} }
} }

View File

@ -1,8 +1,12 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_pod_amb;
#include maps/mp/_load;
#include maps/mp/mp_pod_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_pod_fx::main(); maps/mp/mp_pod_fx::main();
@ -19,26 +23,26 @@ main()
maps/mp/_load::main(); maps/mp/_load::main();
maps/mp/mp_pod_amb::main(); maps/mp/mp_pod_amb::main();
maps/mp/_compass::setupminimap( "compass_map_mp_pod" ); maps/mp/_compass::setupminimap( "compass_map_mp_pod" );
prop1 = spawn( "script_model", ( 517,264, -627,226, 323 ) ); prop1 = spawn( "script_model", ( 517.264, -627.226, 323 ) );
prop1.angles = vectorScale( ( 0, 1, 0 ), 116,6 ); prop1.angles = vectorScale( ( 0, 1, 0 ), 116,6 );
prop1 setmodel( "p_rus_door_white_frame_double" ); prop1 setmodel( "p_rus_door_white_frame_double" );
prop2 = spawn( "script_model", ( 62,1517, -1647,78, 481,602 ) ); prop2 = spawn( "script_model", ( 62.1517, -1647.78, 481.602 ) );
prop2.angles = vectorScale( ( 0, 1, 0 ), 35,2 ); prop2.angles = vectorScale( ( 0, 1, 0 ), 35,2 );
prop2 setmodel( "p6_pak_old_plywood" ); prop2 setmodel( "p6_pak_old_plywood" );
prop3 = spawn( "script_model", ( 25,9997, -1673,49, 479,903 ) ); prop3 = spawn( "script_model", ( 25.9997, -1673.49, 479.903 ) );
prop3.angles = vectorScale( ( 0, 1, 0 ), 35,2 ); prop3.angles = vectorScale( ( 0, 1, 0 ), 35.2 );
prop3 setmodel( "p6_pak_old_plywood" ); prop3 setmodel( "p6_pak_old_plywood" );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( -1725, 2300, 514 ), ( 0, 1, 0 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( -1725, 2300, 514 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( -473, -2482, 412 ), vectorScale( ( 0, 1, 0 ), 14 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( -473, -2482, 412 ), vectorScale( ( 0, 0, 1 ), 14 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -473, -2482, 412 ), vectorScale( ( 0, 1, 0 ), 14 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -473, -2482, 412 ), vectorScale( ( 0, 0, 1 ), 14 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -87, -1470,5, 751,5 ), vectorScale( ( 0, 1, 0 ), 34,2 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -87, -1470.5, 751.5 ), vectorScale( ( 0, 1, 0 ), 34.2 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 1287,5, -2468, 315 ), vectorScale( ( 0, 1, 0 ), 18,1 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 1287.5, -2468, 315 ), vectorScale( ( 0, 0, 1 ), 18,1 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 1047,5, -2468, 315 ), vectorScale( ( 0, 1, 0 ), 18,1 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 1047.5, -2468, 315 ), vectorScale( ( 0, 0, 1 ), 18,1 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 1047,5, -2627,5, 165,5 ), vectorScale( ( 0, 1, 0 ), 64,1 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 1047.5, -2627.5, 165.5 ), vectorScale( ( 0, 0, 1 ), 64.1 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -911,5, -653, 496 ), ( 273, 45,0999, 90 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -911.5, -653, 496 ), ( 273, 45.0999, 90 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1356, 50, 358 ), ( 5,64745, 114,9, 6 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1356, 50, 358 ), ( 5.64745, 114.9, 6 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1364, 32, 349 ), ( 1,3883, 292,6, -4 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1364, 32, 349 ), ( 1.3883, 292.6, -4 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1423, -127, 349 ), ( 1,3883, 285,8, -4 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1423, -127, 349 ), ( 1.3883, 285.8, -4 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( 1218, -2232, 244 ), vectorScale( ( 0, 1, 0 ), 30 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( 1218, -2232, 244 ), vectorScale( ( 0, 1, 0 ), 30 ) );
setdvar( "compassmaxrange", "2100" ); setdvar( "compassmaxrange", "2100" );
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A"; game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
@ -55,14 +59,14 @@ main()
level thread killstreak_init(); level thread killstreak_init();
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars );
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars ); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
} }
killstreak_init() killstreak_init() //checked matches cerberus output
{ {
while ( !isDefined( level.missile_swarm_flyheight ) ) while ( !isDefined( level.missile_swarm_flyheight ) )
{ {
@ -70,3 +74,5 @@ killstreak_init()
} }
level.missile_swarm_flyheight = 6000; level.missile_swarm_flyheight = 6000;
} }

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_raid_amb;
#include maps/mp/_load;
#include maps/mp/mp_raid_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_raid_fx::main(); maps/mp/mp_raid_fx::main();
@ -15,59 +19,55 @@ main()
maps/mp/_load::main(); maps/mp/_load::main();
maps/mp/mp_raid_amb::main(); maps/mp/mp_raid_amb::main();
maps/mp/_compass::setupminimap( "compass_map_mp_raid" ); maps/mp/_compass::setupminimap( "compass_map_mp_raid" );
spawncollision( "collision_physics_64x64x64", "collider", ( 2664, 3832, 24 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 2664, 3832, 24 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 4127, 3741, 130 ), vectorScale( ( 0, 0, 1 ), 25,4 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 4127, 3741, 130 ), vectorScale( ( 0, 1, 0 ), 25.4 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 3136, 3590,89, 283,276 ), vectorScale( ( 0, 0, 1 ), 33,6 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 3136, 3590.89, 283.276 ), vectorScale( ( 0, 0, -1 ), 33.6 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 2841, 3590,89, 283,28 ), vectorScale( ( 0, 0, 1 ), 33,6 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 2841, 3590.89, 283.28 ), vectorScale( ( 0, 0, -1 ), 33.6 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 2841, 3696,89, 212,28 ), vectorScale( ( 0, 0, 1 ), 33,6 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 2841, 3696.89, 212.28 ), vectorScale( ( 0, 0, -1 ), 33.6 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 2841, 3804,89, 140,28 ), vectorScale( ( 0, 0, 1 ), 33,6 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 2841, 3804.89, 140.28 ), vectorScale( ( 0, 0, -1 ), 33.6 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3591, 3274, 187,5 ), ( 0, 16,4, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3591, 3274, 187.5 ), ( 0, 16.4, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3600,5, 3242, 187,5 ), ( 0, 16,4, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3600.5, 3242, 187.5 ), ( 0, 16.4, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3645, 3318, 187,5 ), ( 0, 16,4, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3645, 3318, 187.5 ), ( 0, 16.4, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3656, 3263, 187,5 ), ( 0, 26,3, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3656, 3263, 187.5 ), ( 0, 26.3, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3702,5, 3348,5, 187,5 ), ( 0, 16,4, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3702.5, 3348.5, 187.5 ), ( 0, 16.4, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3705,5, 3292, 187,5 ), ( 0, 39,1, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3705.5, 3292, 187.5 ), ( 0, 39.1, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3716,5, 3389,5, 187,5 ), ( 0, 56,6, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3716.5, 3389.5, 187.5 ), ( 0, 56.6, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3750,5, 3333, 187,5 ), ( 0, 46,7, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3750.5, 3333, 187.5 ), ( 0, 46.7, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3748,5, 3434,5, 187,5 ), ( 0, 78,5, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3748.5, 3434.5, 187.5 ), ( 0, 78.5, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3782,5, 3376, 187,5 ), ( 0, 58,9, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3782.5, 3376, 187.5 ), ( 0, 58.9, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3809, 3428,5, 187,5 ), ( 0, 69,1, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3809, 3428.5, 187.5 ), ( 0, 69.1, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3762,5, 3497, 187,5 ), ( 0, 78,3, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3762.5, 3497, 187.5 ), ( 0, 78.3, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3825,5, 3484,5, 187,5 ), ( 0, 78,7, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3825.5, 3484.5, 187.5 ), ( 0, 78.7, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3766,5, 3542, 187,5 ), ( 0, 88,6, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3766.5, 3542, 187.5 ), ( 0, 88.6, 90 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3830, 3540,5, 187,5 ), ( 0, 88,6, 90 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 3830, 3540.5, 187.5 ), ( 0, 88.6, 90 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 3562, 3271,5, 186,5 ), vectorScale( ( 0, 0, 1 ), 11,2 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 3562, 3271.5, 186.5 ), vectorScale( ( 0, 1, 0 ), 11.2 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( 3259,5, 2294,5, 230 ), ( 0, 22,8, 90 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( 3259.5, 2294.5, 230 ), ( 0, 22.8, 90 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1583,5, 2900, 137,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1583.5, 2900, 137.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 2751, 4130,5, 214,5 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 2751, 4130.5, 214.5 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 2751, 4099, 214,5 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( 2751, 4099, 214.5 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 3819, 3475, 113 ), vectorScale( ( 0, 0, 1 ), 15 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 3819, 3475, 113 ), vectorScale( ( 0, -1, 0 ), 15 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 3819, 3598, 113 ), vectorScale( ( 0, 0, 1 ), 15 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 3819, 3598, 113 ), vectorScale( ( 0, 1, 0 ), 15 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 3570, 3834, 113 ), vectorScale( ( 0, 0, 1 ), 260 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 3570, 3834, 113 ), vectorScale( ( 0, 1, 0 ), 260 ) );
spawncollision( "collision_clip_wall_256x256x10", "collider", ( 3352, 4688, 136 ), ( 0, 0, 1 ) ); spawncollision( "collision_clip_wall_256x256x10", "collider", ( 3352, 4688, 136 ), ( 0, 0, 0 ) );
level thread water_trigger_init(); level thread water_trigger_init();
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1870", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1870", reset_dvars );
} }
water_trigger_init() water_trigger_init() //checked changed to match cerberus output
{ {
triggers = getentarray( "water_killbrush", "targetname" ); triggers = getentarray( "water_killbrush", "targetname" );
_a92 = triggers; foreach ( trigger in triggers )
_k92 = getFirstArrayKey( _a92 );
while ( isDefined( _k92 ) )
{ {
trigger = _a92[ _k92 ];
trigger thread player_splash_think(); trigger thread player_splash_think();
_k92 = getNextArrayKey( _a92, _k92 );
} }
} }
player_splash_think() player_splash_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -79,7 +79,7 @@ player_splash_think()
} }
} }
player_water_fx( player, endon_condition ) player_water_fx( player, endon_condition ) //checked matches cerberus output
{ {
maxs = self.origin + self getmaxs(); maxs = self.origin + self getmaxs();
if ( maxs[ 2 ] < 0 ) if ( maxs[ 2 ] < 0 )
@ -89,3 +89,4 @@ player_water_fx( player, endon_condition )
origin = ( player.origin[ 0 ], player.origin[ 1 ], maxs[ 2 ] ); origin = ( player.origin[ 0 ], player.origin[ 1 ], maxs[ 2 ] );
playfx( level._effect[ "water_splash_sm" ], origin ); playfx( level._effect[ "water_splash_sm" ], origin );
} }

View File

@ -1,8 +1,12 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_skate_amb;
#include maps/mp/_load;
#include maps/mp/mp_skate_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked did not match cerberus output did not change
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_skate_fx::main(); maps/mp/mp_skate_fx::main();
@ -26,16 +30,16 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1045, -418,5, 292 ), vectorScale( ( 0, 1, 0 ), 359,8 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -1045, -418.5, 292 ), vectorScale( ( 0, 1, 0 ), 359.8 ) );
spawncollision( "collision_physics_cylinder_32x128", "collider", ( -720, -628, 292 ), vectorScale( ( 0, 1, 0 ), 355,6 ) ); spawncollision( "collision_physics_cylinder_32x128", "collider", ( -720, -628, 292 ), vectorScale( ( 0, 1, 0 ), 355.6 ) );
spawncollision( "collision_clip_wall_128x128x10", "collider", ( -2250,5, -837,5, 422,5 ), ( 0, 1, 0 ) ); spawncollision( "collision_clip_wall_128x128x10", "collider", ( -2250.5, -837.5, 422.5 ), ( 0, 1, 0 ) );
spawncollision( "collision_clip_wall_128x128x10", "collider", ( -2333, -837,5, 422,5 ), ( 0, 1, 0 ) ); spawncollision( "collision_clip_wall_128x128x10", "collider", ( -2333, -837.5, 422.5 ), ( 0, 1, 0 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -663,5, -1975,5, 314 ), ( 0, 1, 0 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -663.5, -1975.5, 314 ), ( 0, 1, 0 ) );
spawncollision( "collision_clip_wall_128x128x10", "collider", ( 791,5, 683,5, 234 ), vectorScale( ( 0, 1, 0 ), 270 ) ); spawncollision( "collision_clip_wall_128x128x10", "collider", ( 791.5, 683.5, 234 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 716, 238,5, 240 ), ( 90, 270, 90 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 716, 238.5, 240 ), ( 90, 270, 90 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 716, 198, 240 ), ( 90, 270, 90 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 716, 198, 240 ), ( 90, 270, 90 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 684,5, 223, 200,5 ), ( 1,048, 270, 42 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 684.5, 223, 200,5 ), ( 1.048, 270, 42 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 684,5, 182,5, 200,5 ), ( 1,048, 270, 42 ) ); spawncollision( "collision_clip_64x64x10", "collider", ( 684.5, 182.5, 200,5 ), ( 1,048, 270, 42 ) );
pipe1 = spawn( "script_model", ( -1368, -1541, 257 ) ); pipe1 = spawn( "script_model", ( -1368, -1541, 257 ) );
pipe1.angles = vectorScale( ( 0, 1, 0 ), 90 ); pipe1.angles = vectorScale( ( 0, 1, 0 ), 90 );
pipe1 setmodel( "paris_construction_scaffold_piece_01" ); pipe1 setmodel( "paris_construction_scaffold_piece_01" );
@ -46,7 +50,7 @@ main()
level.remotemotarviewdown = 65; level.remotemotarviewdown = 65;
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked did not match cerberus output did not change
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2475", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2475", reset_dvars );

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/mp_slums_amb;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/_load;
#include maps/mp/mp_slums_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_slums_fx::main(); maps/mp/mp_slums_fx::main();
@ -44,20 +48,20 @@ main()
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_64x64x64", "collider", ( -508, -3270, 928 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( -508, -3270, 928 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( -508, -3286, 928 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( -508, -3286, 928 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -72, 254, 930 ), vectorScale( ( 0, 0, 0 ), 15 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -72, 254, 930 ), vectorScale( ( 0, 1, 0 ), 15 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( 48, 284, 930 ), vectorScale( ( 0, 0, 0 ), 15 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( 48, 284, 930 ), vectorScale( ( 0, 1, 0 ), 15 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -104, 248, 891 ), ( 341,421, 12,9047, 0,661127 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -104, 248, 891 ), ( 341.421, 12.9047, 0.661127 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( 76,5, 293,5, 891,5 ), ( 340,335, 193,409, -5,20973 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( 76.5, 293.5, 891.5 ), ( 340.335, 193.409, -5.20973 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -451, -2508, 466 ), ( 270, 290, -5,5 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -451, -2508, 466 ), ( 270, 290, -5.5 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -472, -2490, 476 ), vectorScale( ( 0, 0, 0 ), 289,4 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -472, -2490, 476 ), vectorScale( ( 0, 1, 0 ), 289.4 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -458, -2528, 476 ), vectorScale( ( 0, 0, 0 ), 289,4 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -458, -2528, 476 ), vectorScale( ( 0, 1, 0 ), 289.4 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -217, -944, 578 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -217, -944, 578 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -217, -944, 566 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -217, -944, 566 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -186, -962, 567 ), vectorScale( ( 0, 0, 0 ), 287 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -186, -962, 567 ), vectorScale( ( 0, 1, 0 ), 287 ) );
spawncollision( "collision_physics_wall_32x32x10", "collider", ( -186, -962, 578 ), vectorScale( ( 0, 0, 0 ), 287 ) ); spawncollision( "collision_physics_wall_32x32x10", "collider", ( -186, -962, 578 ), vectorScale( ( 0, 1, 0 ), 287 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 1297,09, 777,435, 1093 ), vectorScale( ( 0, 0, 0 ), 9,39996 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 1297.09, 777.435, 1093 ), vectorScale( ( 0, 1, 0 ), 9.39996 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( -1070,8, -1111,64, 1073 ), vectorScale( ( 0, 0, 0 ), 0,4 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( -1070.8, -1111.64, 1073 ), vectorScale( ( 0, 1, 0 ), 0.4 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( -760,8, -1883,64, 1041 ), vectorScale( ( 0, 0, 0 ), 0,4 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( -760.8, -1883.64, 1041 ), vectorScale( ( 0, 1, 0 ), 0.4 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1605, -1869, 847 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1605, -1869, 847 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1733, -1869, 847 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1733, -1869, 847 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1861, -1869, 847 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1861, -1869, 847 ), ( 0, 0, 0 ) );
@ -68,11 +72,11 @@ main()
spawncollision( "collision_physics_128x128x10", "collider", ( 1632, -1704, 674 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1632, -1704, 674 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1760, -1704, 674 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1760, -1704, 674 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1888, -1704, 674 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1888, -1704, 674 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( 562, 2058, 580 ), vectorScale( ( 0, 0, 0 ), 270 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( 562, 2058, 580 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( 823, 1672, 870 ), vectorScale( ( 0, 0, 0 ), 273,2 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( 823, 1672, 870 ), vectorScale( ( 0, 1, 0 ), 273.2 ) );
spawncollision( "collision_physics_wall_256x256x10", "collider", ( 839, 1454, 869 ), vectorScale( ( 0, 0, 0 ), 273,2 ) ); spawncollision( "collision_physics_wall_256x256x10", "collider", ( 839, 1454, 869 ), vectorScale( ( 0, 1, 0 ), 273.2 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 828, 1550, 816 ), vectorScale( ( 0, 0, 0 ), 5 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 828, 1550, 816 ), vectorScale( ( 0, 1, 0 ), 5 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 826, 1572, 816 ), vectorScale( ( 0, 0, 0 ), 5 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 826, 1572, 816 ), vectorScale( ( 0, 1, 0 ), 5 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( -1513, -220, 771 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( -1513, -220, 771 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( -1321, -220, 771 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( -1321, -220, 771 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( -1513, -220, 517 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( -1513, -220, 517 ), ( 0, 0, 0 ) );
@ -80,119 +84,120 @@ main()
spawncollision( "collision_physics_64x64x128", "collider", ( -1536, -365, 733 ), ( 1, 90, 90 ) ); spawncollision( "collision_physics_64x64x128", "collider", ( -1536, -365, 733 ), ( 1, 90, 90 ) );
spawncollision( "collision_physics_64x64x128", "collider", ( -1407, -365, 733 ), ( 1, 90, 90 ) ); spawncollision( "collision_physics_64x64x128", "collider", ( -1407, -365, 733 ), ( 1, 90, 90 ) );
spawncollision( "collision_physics_64x64x128", "collider", ( -1278, -365, 733 ), ( 1, 90, 90 ) ); spawncollision( "collision_physics_64x64x128", "collider", ( -1278, -365, 733 ), ( 1, 90, 90 ) );
spawncollision( "collision_slums_curved_wall", "collider", ( 1258,5, -445, 558,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_slums_curved_wall", "collider", ( 1258.5, -445, 558.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_slums_curved_wall_bullet", "collider", ( 1258,5, -445, 558,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_slums_curved_wall_bullet", "collider", ( 1258.5, -445, 558.5 ), ( 0, 0, 0 ) );
balconymetal1 = spawn( "script_model", ( -778, -1922,37, 990,03 ) ); balconymetal1 = spawn( "script_model", ( -778, -1922.37, 990.03 ) );
balconymetal1.angles = ( 0, 270, -90 ); balconymetal1.angles = ( 0, 270, -90 );
balconymetal2 = spawn( "script_model", ( -743, -1922,37, 989,03 ) ); balconymetal2 = spawn( "script_model", ( -743, -1922.37, 989.03 ) );
balconymetal2.angles = ( 0, 270, -90 ); balconymetal2.angles = ( 0, 270, -90 );
balconymetal3 = spawn( "script_model", ( -1088, -1147,37, 1015,03 ) ); balconymetal3 = spawn( "script_model", ( -1088, -1147.37, 1015.03 ) );
balconymetal3.angles = ( 0, 270, -90 ); balconymetal3.angles = ( 0, 270, -90 );
balconymetal4 = spawn( "script_model", ( -1053, -1147,37, 1014,03 ) ); balconymetal4 = spawn( "script_model", ( -1053, -1147.37, 1014.03 ) );
balconymetal4.angles = ( 0, 270, -90 ); balconymetal4.angles = ( 0, 270, -90 );
balconymetal1 setmodel( "p_glo_corrugated_metal1" ); balconymetal1 setmodel( "p_glo_corrugated_metal1" );
balconymetal2 setmodel( "p_glo_corrugated_metal1" ); balconymetal2 setmodel( "p_glo_corrugated_metal1" );
balconymetal3 setmodel( "p_glo_corrugated_metal1" ); balconymetal3 setmodel( "p_glo_corrugated_metal1" );
balconymetal4 setmodel( "p_glo_corrugated_metal1" ); balconymetal4 setmodel( "p_glo_corrugated_metal1" );
crate1 = spawn( "script_model", ( 1530, -1738, 493 ) ); crate1 = spawn( "script_model", ( 1530, -1738, 493 ) );
crate1.angles = ( 354,4, 270, -16 ); crate1.angles = ( 354.4, 270, -16 );
prop1 = spawn( "script_model", ( 1936,37, -1924,03, 470 ) ); prop1 = spawn( "script_model", ( 1936.37, -1924.03, 470 ) );
prop1.angles = ( 89, 179,6, 180 ); prop1.angles = ( 89, 179.6, 180 );
prop2 = spawn( "script_model", ( 1876,37, -1923,03, 471,005 ) ); prop2 = spawn( "script_model", ( 1876.37, -1923.03, 471.005 ) );
prop2.angles = ( 89, 179,6, 180 ); prop2.angles = ( 89, 179.6, 180 );
prop3 = spawn( "script_model", ( 1783,37, -1922,03, 472 ) ); prop3 = spawn( "script_model", ( 1783.37, -1922.03, 472 ) );
prop3.angles = ( 89, 179,6, 180 ); prop3.angles = ( 89, 179.6, 180 );
prop4 = spawn( "script_model", ( 1707,37, -1924,03, 486,001 ) ); prop4 = spawn( "script_model", ( 1707.37, -1924.03, 486.001 ) );
prop4.angles = ( 72, 179,6, 180 ); prop4.angles = ( 72, 179.6, 180 );
crate1 setmodel( "me_ac_window" ); crate1 setmodel( "me_ac_window" );
prop1 setmodel( "p_glo_corrugated_metal1" ); prop1 setmodel( "p_glo_corrugated_metal1" );
prop2 setmodel( "p_glo_corrugated_metal1" ); prop2 setmodel( "p_glo_corrugated_metal1" );
prop3 setmodel( "p_glo_corrugated_metal1" ); prop3 setmodel( "p_glo_corrugated_metal1" );
prop4 setmodel( "p_glo_corrugated_metal1" ); prop4 setmodel( "p_glo_corrugated_metal1" );
fencemetal1 = spawn( "script_model", ( -719, -2557, 532 ) ); fencemetal1 = spawn( "script_model", ( -719, -2557, 532 ) );
fencemetal1.angles = ( 90, 333,5, -26,5 ); fencemetal1.angles = ( 90, 333.5, -26.5 );
fencemetal1 setmodel( "me_corrugated_metal8x8_holes" ); fencemetal1 setmodel( "me_corrugated_metal8x8_holes" );
fencemetal1 = spawn( "script_model", ( -798, -2556, 532 ) ); fencemetal1 = spawn( "script_model", ( -798, -2556, 532 ) );
fencemetal1.angles = ( 90, 333,5, -26,5 ); fencemetal1.angles = ( 90, 333.5, -26.5 );
fencemetal1 setmodel( "me_corrugated_metal8x8_holes" ); fencemetal1 setmodel( "me_corrugated_metal8x8_holes" );
fencemetal1 = spawn( "script_model", ( -885, -2557, 532 ) ); fencemetal1 = spawn( "script_model", ( -885, -2557, 532 ) );
fencemetal1.angles = ( 90, 153,5, -26,5 ); fencemetal1.angles = ( 90, 153.5, -26.5 );
fencemetal1 setmodel( "me_corrugated_metal8x8_holes" ); fencemetal1 setmodel( "me_corrugated_metal8x8_holes" );
fencemetal1 = spawn( "script_model", ( -975, -2556, 532 ) ); fencemetal1 = spawn( "script_model", ( -975, -2556, 532 ) );
fencemetal1.angles = ( 90, 333,5, -26,5 ); fencemetal1.angles = ( 90, 333.5, -26.5 );
fencemetal1 setmodel( "me_corrugated_metal8x8_holes" ); fencemetal1 setmodel( "me_corrugated_metal8x8_holes" );
spawncollision( "collision_physics_512x512x512", "collider", ( 1435, 2393, 780 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_512x512x512", "collider", ( 1435, 2393, 780 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1371, 2229, 1044 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1371, 2229, 1044 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1371, 2253, 1044 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1371, 2253, 1044 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1234, 2229, 1102 ), vectorScale( ( 0, 0, 0 ), 315,2 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1234, 2229, 1102 ), vectorScale( ( 0, 1, 0 ), 315.2 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 884, 1602, 1019 ), vectorScale( ( 0, 0, 0 ), 270 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 884, 1602, 1019 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 908, 1602, 1019 ), vectorScale( ( 0, 0, 0 ), 270 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 908, 1602, 1019 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 883, 1732, 1073 ), vectorScale( ( 0, 0, 0 ), 225 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 883, 1732, 1073 ), vectorScale( ( 0, 1, 0 ), 225 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1065,29, 1601,18, 1084,07 ), ( 315, 334,2, -4 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1065.29, 1601.18, 1084.07 ), ( 315, 334.2, -4 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1106,29, 1581,18, 1129,07 ), ( 315, 334,2, -4 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1106.29, 1581.18, 1129.07 ), ( 315, 334.2, -4 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1064,29, 1506,18, 1084,07 ), ( 315, 334,2, -4 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1064.29, 1506.18, 1084.07 ), ( 315, 334.2, -4 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1105,29, 1486,18, 1129,07 ), ( 315, 334,2, -4 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1105.29, 1486.18, 1129.07 ), ( 315, 334.2, -4 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1066,29, 1411,18, 1084,07 ), ( 315, 334,2, -4 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1066.29, 1411.18, 1084.07 ), ( 315, 334.2, -4 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( 1107,29, 1391,18, 1129,07 ), ( 315, 334,2, -4 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( 1107.29, 1391.18, 1129.07 ), ( 315, 334.2, -4 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( 1501, 1687, 812 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( 1501, 1687, 812 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( 1722, 1687, 812 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( 1722, 1687, 812 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -640, -2561, 523 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -640, -2561, 523 ), ( 0, 0, 0 ) );
middlevisblock1 = spawn( "script_model", ( 348, -66, 672 ) ); middlevisblock1 = spawn( "script_model", ( 348, -66, 672 ) );
middlevisblock1.angles = ( 6,30742, 309,785, -7,51566 ); middlevisblock1.angles = ( 6.30742, 309.785, -7.51566 );
middlevisblock1 setmodel( "me_corrugated_metal8x8" ); middlevisblock1 setmodel( "me_corrugated_metal8x8" );
spawncollision( "collision_physics_32x32x128", "collider", ( -1011,5, -641,5, 801 ), ( 315, 0, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1011.5, -641.5, 801 ), ( 315, 0, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1011,5, -541,5, 801 ), ( 315, 0, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1011.5, -541.5, 801 ), ( 315, 0, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1011,5, -439, 801 ), ( 315, 0, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1011.5, -439, 801 ), ( 315, 0, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -997,5, -641,5, 781,5 ), ( 330, 0, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -997.5, -641.5, 781.5 ), ( 330, 0, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -997,5, -541,5, 781,5 ), ( 330, 0, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -997.5, -541.5, 781.5 ), ( 330, 0, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -997,5, -439, 781,5 ), ( 330, 0, -90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -997.5, -439, 781.5 ), ( 330, 0, -90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1026, -641,5, 781,5 ), ( 330, 180, 90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1026, -641.5, 781.5 ), ( 330, 180, 90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1026, -541,5, 781,5 ), ( 330, 180, 90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1026, -541.5, 781.5 ), ( 330, 180, 90 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1026, -439, 781,5 ), ( 330, 180, 90 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1026, -439, 781.5 ), ( 330, 180, 90 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -211, -972,5, 578 ), vectorScale( ( 0, 0, 0 ), 335,8 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -211, -972.5, 578 ), vectorScale( ( 0, 1, 0 ), 335.8 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -636, -2562,5, 511 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -636, -2562.5, 511 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -699,5, -2562,5, 511 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -699.5, -2562.5, 511 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -763,5, -2562,5, 511 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -763.5, -2562.5, 511 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -827,5, -2562,5, 511 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -827.5, -2562.5, 511 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -636, -2562,5, 478 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -636, -2562.5, 478 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -699,5, -2562,5, 478 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -699.5, -2562.5, 478 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -763,5, -2562,5, 478 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -763.5, -2562.5, 478 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -827,5, -2562,5, 478 ), ( 0, 0, 0 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -827.5, -2562.5, 478 ), ( 0, 0, 0 ) );
prayerflags1 = spawn( "script_model", ( -967,622, -309,912, 794 ) ); prayerflags1 = spawn( "script_model", ( -967.622, -309.912, 794 ) );
prayerflags1.angles = vectorScale( ( 0, 0, 0 ), 350,8 ); prayerflags1.angles = vectorScale( ( 0, 0, 0 ), 350.8 );
prayerflags1 setmodel( "intro_prayer_flags_unspecific_01" ); prayerflags1 setmodel( "intro_prayer_flags_unspecific_01" );
prayerflags2 = spawn( "script_model", ( -1065,16, -318,731, 833 ) ); prayerflags2 = spawn( "script_model", ( -1065.16, -318.731, 833 ) );
prayerflags2.angles = vectorScale( ( 0, 0, 0 ), 14,4 ); prayerflags2.angles = vectorScale( ( 0, 0, 0 ), 14.4 );
prayerflags2 setmodel( "intro_prayer_flags_unspecific_01" ); prayerflags2 setmodel( "intro_prayer_flags_unspecific_01" );
level.levelkillbrushes = []; level.levelkillbrushes = [];
level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -1673, 252, 526 ), 0, 550, 322 ); level.levelkillbrushes[ level.levelkillbrushes.size ] = spawn( "trigger_radius", ( -1673, 252, 526 ), 0, 550, 322 );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -1171,5, -2502,5, 493,5 ), vectorScale( ( 0, 0, 0 ), 270 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -1171.5, -2502.5, 493.5 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -1231, -2502,5, 560,5 ), ( 6,83, 180, -90 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -1231, -2502.5, 560.5 ), ( 6.83, 180, -90 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -1358,5, -2502,5, 560,5 ), ( 6,83, 180, -90 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -1358.5, -2502.5, 560.5 ), ( 6.83, 180, -90 ) );
blueroombrick = spawn( "script_model", ( -278,458, -803,132, 618,922 ) ); blueroombrick = spawn( "script_model", ( -278.458, -803.132, 618.922 ) );
blueroombrick.angles = ( 89,6232, 39,6618, 24,4607 ); blueroombrick.angles = ( 89.6232, 39.6618, 24.4607 );
blueroombrick setmodel( "prop_brick_single_v2" ); blueroombrick setmodel( "prop_brick_single_v2" );
blueroombrick2 = spawn( "script_model", ( -284,21, -805,13, 618,92 ) ); blueroombrick2 = spawn( "script_model", ( -284.21, -805.13, 618.92 ) );
blueroombrick2.angles = ( 89,6232, 39,6618, 24,4607 ); blueroombrick2.angles = ( 89.6232, 39.6618, 24.4607 );
blueroombrick2 setmodel( "prop_brick_single_v2" ); blueroombrick2 setmodel( "prop_brick_single_v2" );
blueroombrick3 = spawn( "script_model", ( -278,46, -803,88, 643,17 ) ); blueroombrick3 = spawn( "script_model", ( -278.46, -803.88, 643.17 ) );
blueroombrick3.angles = ( 89,6232, 39,6618, 24,4607 ); blueroombrick3.angles = ( 89.6232, 39.6618, 24.4607 );
blueroombrick3 setmodel( "prop_brick_single_v2" ); blueroombrick3 setmodel( "prop_brick_single_v2" );
spawncollision( "collision_physics_32x32x32", "collider", ( 997,5, 633, 589 ), vectorScale( ( 0, 0, 0 ), 16,6 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 997.5, 633, 589 ), vectorScale( ( 0, 1, 0 ), 16.6 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -253, -374, 565 ), ( 4,27, 270, -35,9 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -253, -374, 565 ), ( 4.27, 270, -35.9 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -253, -406, 565 ), ( 4,27, 270, -35,9 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -253, -406, 565 ), ( 4.27, 270, -35.9 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -232,5, -374,455, 573,211 ), ( 346,3, 270, -0,39995 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -232.5, -374.455, 573.211 ), ( 346.3, 270, -0.39995 ) );
spawncollision( "collision_physics_wall_64x64x10", "collider", ( -232,5, -405,545, 580,789 ), ( 346,3, 270, -0,39995 ) ); spawncollision( "collision_physics_wall_64x64x10", "collider", ( -232.5, -405.545, 580.789 ), ( 346.3, 270, -0.39995 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 726,5, 998,5, 607,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 726.5, 998.5, 607.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 726,5, 967,5, 607,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 726.5, 967.5, 607.5 ), ( 0, 0, 0 ) );
level.remotemotarviewleft = 30; level.remotemotarviewleft = 30;
level.remotemotarviewright = 30; level.remotemotarviewright = 30;
level.remotemotarviewup = 10; level.remotemotarviewup = 10;
level.remotemotarviewdown = 25; level.remotemotarviewdown = 25;
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2500", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2500", reset_dvars );
} }

View File

@ -1,8 +1,12 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/mp_socotra_amb;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/_load;
#include maps/mp/mp_socotra_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_socotra_fx::main(); maps/mp/mp_socotra_fx::main();
@ -20,25 +24,25 @@ main()
spawncollision( "collision_physics_64x64x64", "collider", ( -63, -2135, 47 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( -63, -2135, 47 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 1922, -202, 139 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 1922, -202, 139 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( 1826, -263, 25 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( 1826, -263, 25 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( 1998, -256, -26 ), vectorScale( ( 0, 0, 0 ), 341,4 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( 1998, -256, -26 ), vectorScale( ( 0, 1, 0 ), 341.4 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( -1636, -391, 353 ), vectorScale( ( 0, 0, 0 ), 52 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( -1636, -391, 353 ), vectorScale( ( 0, 1, 0 ), 52 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 213, 3058, 745 ), vectorScale( ( 0, 0, 0 ), 11,4 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 213, 3058, 745 ), vectorScale( ( 0, 1, 0 ), 11.4 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 6, 3052, 757 ), vectorScale( ( 0, 0, 0 ), 11,4 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 6, 3052, 757 ), vectorScale( ( 0, 1, 0 ), 11.4 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( 1360, 2049, 498 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( 1360, 2049, 498 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( 2208, 1940, 1116 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( 2208, 1940, 1116 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_128x128x128", "collider", ( 1586, 192, 81 ), ( 311,643, 43,2677, 5,16974 ) ); spawncollision( "collision_clip_128x128x128", "collider", ( 1586, 192, 81 ), ( 311.643, 43.2677, 5.16974 ) );
spawncollision( "collision_clip_128x128x128", "collider", ( 1631, 229, 142 ), vectorScale( ( 0, 0, 0 ), 44,4 ) ); spawncollision( "collision_clip_128x128x128", "collider", ( 1631, 229, 142 ), vectorScale( ( 0, 1, 0 ), 44.4 ) );
spawncollision( "collision_clip_128x128x128", "collider", ( 1631, 229, 270 ), vectorScale( ( 0, 0, 0 ), 44,4 ) ); spawncollision( "collision_clip_128x128x128", "collider", ( 1631, 229, 270 ), vectorScale( ( 0, 1, 0 ), 44.4 ) );
spawncollision( "collision_clip_128x128x128", "collider", ( 1631, 229, 398 ), vectorScale( ( 0, 0, 0 ), 44,4 ) ); spawncollision( "collision_clip_128x128x128", "collider", ( 1631, 229, 398 ), vectorScale( ( 0, 1, 0 ), 44.4 ) );
spawncollision( "collision_clip_128x128x128", "collider", ( 1631, 229, 526 ), vectorScale( ( 0, 0, 0 ), 44,4 ) ); spawncollision( "collision_clip_128x128x128", "collider", ( 1631, 229, 526 ), vectorScale( ( 0, 1, 0 ), 44.4 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( -819, 2061, 227 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( -819, 2061, 227 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_256x256x256", "collider", ( -819, 1804, 227 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_256x256x256", "collider", ( -819, 1804, 227 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_512x512x10", "collider", ( -921,363, 1719,01, 26,6748 ), ( 313, 359,6, 13,2 ) ); spawncollision( "collision_physics_512x512x10", "collider", ( -921.363, 1719.01, 26.6748 ), ( 313, 359.6, 13.2 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 40, 50, 69 ), ( 303,214, 312,283, 99,131 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 40, 50, 69 ), ( 303.214, 312.283, 99.131 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 146, 224, 89 ), ( 302,856, 333,349, 97,5482 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 146, 224, 89 ), ( 302.856, 333.349, 97.5482 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 172, 382, 107 ), ( 302,856, 353,549, 97,5482 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 172, 382, 107 ), ( 302.856, 353.549, 97.5482 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 526, -2, 74 ), ( 302,387, 100,157, -69,419 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 526, -2, 74 ), ( 302.387, 100.157, -69.419 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 380, -103, 90 ), ( 286,432, 125,086, -81,861 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 380, -103, 90 ), ( 286.432, 125.086, -81.861 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( 640, 1325, 289 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( 640, 1325, 289 ), ( 0, 0, 0 ) );
roofboard1 = spawn( "script_model", ( -133, 602, 521 ) ); roofboard1 = spawn( "script_model", ( -133, 602, 521 ) );
roofboard1.angles = vectorScale( ( 0, 0, 0 ), 270 ); roofboard1.angles = vectorScale( ( 0, 0, 0 ), 270 );
@ -49,13 +53,13 @@ main()
roofboard3 = spawn( "script_model", ( -133, 412, 521 ) ); roofboard3 = spawn( "script_model", ( -133, 412, 521 ) );
roofboard3.angles = vectorScale( ( 0, 0, 0 ), 270 ); roofboard3.angles = vectorScale( ( 0, 0, 0 ), 270 );
roofboard3 setmodel( "p6_wood_plank_rustic01_2x12_96" ); roofboard3 setmodel( "p6_wood_plank_rustic01_2x12_96" );
roofboard4 = spawn( "script_model", ( -133, 375, 522,5 ) ); roofboard4 = spawn( "script_model", ( -133, 375, 522.5 ) );
roofboard4.angles = vectorScale( ( 0, 0, 0 ), 270 ); roofboard4.angles = vectorScale( ( 0, 0, 0 ), 270 );
roofboard4 setmodel( "p6_wood_plank_rustic01_2x12_96" ); roofboard4 setmodel( "p6_wood_plank_rustic01_2x12_96" );
spawncollision( "collision_physics_128x128x128", "collider", ( -970, 968,5, 407,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( -970, 968.5, 407.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( -970, 841, 407,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( -970, 841, 407.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( -842, 841, 407,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( -842, 841, 407.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x128", "collider", ( -842, 968,5, 407,5 ), ( 0, 0, 0 ) ); spawncollision( "collision_physics_128x128x128", "collider", ( -842, 968.5, 407.5 ), ( 0, 0, 0 ) );
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 ); maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
rts_remove(); rts_remove();
level.remotemotarviewleft = 30; level.remotemotarviewleft = 30;
@ -63,24 +67,21 @@ main()
level.remotemotarviewup = 18; level.remotemotarviewup = 18;
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars );
} }
rts_remove() rts_remove() //checked changed to match cerberus output
{ {
rtsfloors = getentarray( "overwatch_floor", "targetname" ); rtsfloors = getentarray( "overwatch_floor", "targetname" );
_a117 = rtsfloors; foreach ( rtsfloor in rtsfloors )
_k117 = getFirstArrayKey( _a117 );
while ( isDefined( _k117 ) )
{ {
rtsfloor = _a117[ _k117 ];
if ( isDefined( rtsfloor ) ) if ( isDefined( rtsfloor ) )
{ {
rtsfloor delete(); rtsfloor delete();
} }
_k117 = getNextArrayKey( _a117, _k117 );
} }
} }

View File

@ -1,9 +1,13 @@
//checked includes changed to match cerberus output
#include maps/mp/_tacticalinsertion; #include maps/mp/_tacticalinsertion;
#include maps/mp/gametypes/_weaponobjects; #include maps/mp/gametypes/_weaponobjects;
#include maps/mp/mp_studio_amb;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/_load;
#include maps/mp/mp_studio_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked matches cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_studio_fx::main(); maps/mp/mp_studio_fx::main();
@ -48,20 +52,20 @@ main()
windowtrigger thread triggercheck( target7 ); windowtrigger thread triggercheck( target7 );
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1900", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1900", reset_dvars );
} }
triggercheck( target ) triggercheck( target ) //checked changed to match cerberus output
{ {
self endon( "game_ended" ); self endon( "game_ended" );
while ( 1 ) while ( 1 )
{ {
self waittill( "trigger", player ); self waittill( "trigger", player );
distance = distance( target.origin, self.origin ); distance = distance( target.origin, self.origin );
while ( distance <= 90 ) if ( distance <= 90 )
{ {
target notify( "targetStopMoving" ); target notify( "targetStopMoving" );
while ( isDefined( player ) && player istouching( self ) && distance <= 90 ) while ( isDefined( player ) && player istouching( self ) && distance <= 90 )
@ -74,13 +78,13 @@ triggercheck( target )
{ {
target.preferrednextpos = 1; target.preferrednextpos = 1;
} }
wait 0,25; wait 0.25;
} }
} }
} }
} }
damagetarget( dir ) damagetarget( dir ) //checked changed to match cerberus output
{ {
self endon( "game_ended" ); self endon( "game_ended" );
while ( 1 ) while ( 1 )
@ -90,12 +94,11 @@ damagetarget( dir )
{ {
case 1: case 1:
self rotateroll( self.angles[ 1 ] + 90, 0,1 ); self rotateroll( self.angles[ 1 ] + 90, 0,1 );
wait 0,2; wait 0.2;
self rotateroll( self.angles[ 1 ] - 90, 0,1 ); self rotateroll( self.angles[ 1 ] - 90, 0,1 );
wait 0,2; wait 0.2;
self playsound( "amb_target_flip" ); self playsound( "amb_target_flip" );
break; break;
continue;
case 2: case 2:
rotation = 1; rotation = 1;
if ( isDefined( attacker ) && isplayer( attacker ) ) if ( isDefined( attacker ) && isplayer( attacker ) )
@ -110,36 +113,32 @@ damagetarget( dir )
self playsound( "amb_target_twirl" ); self playsound( "amb_target_twirl" );
self waittill( "rotatedone" ); self waittill( "rotatedone" );
break; break;
continue;
case 3: case 3:
self rotatepitch( self.angles[ 1 ] + 90, 0,1 ); self rotatepitch( self.angles[ 1 ] + 90, 0,1 );
wait 0,2; wait 0.2;
self rotatepitch( self.angles[ 1 ] - 90, 0,1 ); self rotatepitch( self.angles[ 1 ] - 90, 0,1 );
wait 0,2; wait 0.2;
self playsound( "amb_target_flip" ); self playsound( "amb_target_flip" );
break; break;
continue;
case 4: case 4:
self rotateroll( self.angles[ 1 ] - 90, 0,1 ); self rotateroll( self.angles[ 1 ] - 90, 0,1 );
wait 0,2; wait 0.2;
self rotateroll( self.angles[ 1 ] + 90, 0,1 ); self rotateroll( self.angles[ 1 ] + 90, 0,1 );
wait 0,2; wait 0.2;
self playsound( "amb_target_flip" ); self playsound( "amb_target_flip" );
break; break;
continue;
case 5: case 5:
self rotatepitch( self.angles[ 1 ] - 90, 0,1 ); self rotatepitch( self.angles[ 1 ] - 90, 0,1 );
wait 0,2; wait 0.2;
self rotatepitch( self.angles[ 1 ] + 90, 0,1 ); self rotatepitch( self.angles[ 1 ] + 90, 0,1 );
wait 0,2; wait 0.2;
self playsound( "amb_target_flip" ); self playsound( "amb_target_flip" );
break; break;
continue;
} }
} }
} }
damagetargetlights( light_on, light_off, speaker, alias, exploderhandle ) damagetargetlights( light_on, light_off, speaker, alias, exploderhandle ) //checked matches cerberus output
{ {
self endon( "game_ended" ); self endon( "game_ended" );
while ( 1 ) while ( 1 )
@ -149,14 +148,14 @@ damagetargetlights( light_on, light_off, speaker, alias, exploderhandle )
exploder( exploderhandle ); exploder( exploderhandle );
light_off hide(); light_off hide();
light_on show(); light_on show();
wait 0,5; wait 0.5;
exploder_stop( exploderhandle ); exploder_stop( exploderhandle );
light_off show(); light_off show();
light_on hide(); light_on hide();
} }
} }
movetarget( dir, dis, speed ) movetarget( dir, dis, speed ) //checked matches cerberus output
{ {
self endon( "game_ended" ); self endon( "game_ended" );
keepmoving = 1; keepmoving = 1;
@ -212,7 +211,7 @@ movetarget( dir, dis, speed )
} }
} }
rotatetarget( dir, deg, speed, pausetime ) rotatetarget( dir, deg, speed, pausetime ) //checked changed to match cerberus output
{ {
self endon( "game_ended" ); self endon( "game_ended" );
while ( 1 ) while ( 1 )
@ -227,7 +226,6 @@ rotatetarget( dir, deg, speed, pausetime )
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
wait pausetime; wait pausetime;
break; break;
continue;
case 2: case 2:
self rotateyaw( self.angles[ 2 ] - deg, speed ); self rotateyaw( self.angles[ 2 ] - deg, speed );
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
@ -236,7 +234,6 @@ rotatetarget( dir, deg, speed, pausetime )
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
wait pausetime; wait pausetime;
break; break;
continue;
case 3: case 3:
self rotateroll( self.angles[ 0 ] + deg, speed ); self rotateroll( self.angles[ 0 ] + deg, speed );
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
@ -245,7 +242,6 @@ rotatetarget( dir, deg, speed, pausetime )
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
wait pausetime; wait pausetime;
break; break;
continue;
case 4: case 4:
self rotateroll( self.angles[ 0 ] - deg, speed ); self rotateroll( self.angles[ 0 ] - deg, speed );
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
@ -254,7 +250,6 @@ rotatetarget( dir, deg, speed, pausetime )
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
wait pausetime; wait pausetime;
break; break;
continue;
case 5: case 5:
self rotateroll( self.angles[ 1 ] + deg, speed ); self rotateroll( self.angles[ 1 ] + deg, speed );
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
@ -263,14 +258,12 @@ rotatetarget( dir, deg, speed, pausetime )
self playsound( "amb_target_rotate" ); self playsound( "amb_target_rotate" );
wait pausetime; wait pausetime;
break; break;
continue;
case 6: case 6:
self rotatepitch( self.angles[ 1 ] - deg, speed ); self rotatepitch( self.angles[ 1 ] - deg, speed );
wait pausetime; wait pausetime;
self rotatepitch( self.angles[ 1 ] + deg, speed ); self rotatepitch( self.angles[ 1 ] + deg, speed );
wait pausetime; wait pausetime;
break; break;
continue;
case 7: case 7:
self rotateto( ( self.angles[ 0 ] + 90, self.angles[ 1 ] - 90, self.angles[ 2 ] + 45 ), speed ); self rotateto( ( self.angles[ 0 ] + 90, self.angles[ 1 ] - 90, self.angles[ 2 ] + 45 ), speed );
wait pausetime; wait pausetime;
@ -280,76 +273,77 @@ rotatetarget( dir, deg, speed, pausetime )
} }
} }
movement_process() movement_process() //checked partially changed to match cerberus output see info.md
{ {
for ( ;; ) for ( ;; )
{ {
entities = getdamageableentarray( self.origin, 50 ); entities = getdamageableentarray( self.origin, 50 );
_a352 = entities; i = 0;
_k352 = getFirstArrayKey( _a352 ); while ( i < entities.size )
while ( isDefined( _k352 ) )
{ {
entity = _a352[ _k352 ];
if ( isDefined( entity.targetname ) || entity.targetname == "alleyTarget_Cover" && entity.targetname == "alleyTarget_Path" ) if ( isDefined( entity.targetname ) || entity.targetname == "alleyTarget_Cover" && entity.targetname == "alleyTarget_Path" )
{ {
i++;
continue;
} }
else if ( isplayer( entity ) )
{ {
if ( isplayer( entity ) ) i++;
continue;
}
if ( !entity istouching( self ) )
{
i++;
continue;
}
if ( isDefined( entity.classname ) && entity.classname == "grenade" )
{
if ( !isDefined( entity.name ) )
{ {
break; i++;
continue;
} }
else if ( !entity istouching( self ) ) if ( !isDefined( entity.owner ) )
{ {
break; i++;
continue;
} }
else if ( isDefined( entity.classname ) && entity.classname == "grenade" ) if ( entity.name == "satchel_charge_mp" )
{ {
if ( !isDefined( entity.name ) ) if ( entity.origin[ 2 ] > ( self.origin[ 2 ] + 5 ) )
{ {
break; i++;
} continue;
else if ( !isDefined( entity.owner ) )
{
break;
}
else if ( entity.name == "satchel_charge_mp" )
{
if ( entity.origin[ 2 ] > ( self.origin[ 2 ] + 5 ) )
{
break;
}
}
else watcher = entity.owner getwatcherforweapon( entity.name );
if ( !isDefined( watcher ) )
{
break;
}
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
}
if ( isDefined( entity.targetname ) )
{
if ( entity.targetname == "riotshield_mp" )
{
entity dodamage( 1, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
break;
} }
} }
else watcher = entity.owner getwatcherforweapon( entity.name );
if ( !isDefined( watcher ) )
{ {
if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" ) i++;
{ continue;
entity thread maps/mp/_tacticalinsertion::fizzle(); }
} watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
}
if ( isDefined( entity.targetname ) )
{
if ( entity.targetname == "riotshield_mp" )
{
entity dodamage( 1, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
i++;
continue;
} }
} }
_k352 = getNextArrayKey( _a352, _k352 ); if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" )
{
entity thread maps/mp/_tacticalinsertion::fizzle();
}
i++;
} }
wait 0,25; wait 0.25;
} }
} }
getwatcherforweapon( weapname ) getwatcherforweapon( weapname ) //checked partially changed to match cerberus output see info.md
{ {
if ( !isDefined( self ) ) if ( !isDefined( self ) )
{ {
@ -367,26 +361,22 @@ getwatcherforweapon( weapname )
i++; i++;
continue; continue;
} }
else return self.weaponobjectwatcherarray[ i ];
{
return self.weaponobjectwatcherarray[ i ];
}
i++; i++;
} }
return undefined; return undefined;
} }
death_streamer_think( notifytype, attacker ) death_streamer_think( notifytype, attacker ) //checked changed to match cerberus output
{ {
streamers = getentarray( "airconditioner_streamer", "targetname" ); streamers = getentarray( "airconditioner_streamer", "targetname" );
i = 0; for ( i = 0; i < streamers.size; i++ )
while ( i < streamers.size )
{ {
streamer = streamers[ i ]; streamer = streamers[ i ];
if ( distancesquared( streamer.origin, self.origin ) < 2500 ) if ( distancesquared( streamer.origin, self.origin ) < 2500 )
{ {
streamer delete(); streamer delete();
} }
i++;
} }
} }

View File

@ -1,10 +1,13 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/_load;
#include maps/mp/mp_takeoff_fx;
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_events; #include maps/mp/_events;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
level.overrideplayerdeathwatchtimer = ::leveloverridetime; level.overrideplayerdeathwatchtimer = ::leveloverridetime;
@ -26,34 +29,38 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -915, 790, 212 ), ( 0, 0, 1 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -915, 790, 212 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -979, 790, 212 ), ( 0, 0, 1 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -979, 790, 212 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -1043, 790, 212 ), ( 0, 0, 1 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -1043, 790, 212 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -1083, 790, 212 ), ( 0, 0, 1 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -1083, 790, 212 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -915, 790, 148 ), ( 0, 0, 1 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -915, 790, 148 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -979, 790, 148 ), ( 0, 0, 1 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -979, 790, 148 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -1043, 790, 148 ), ( 0, 0, 1 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -1043, 790, 148 ), ( 0, 0, 0 ) );
spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -1083, 790, 148 ), ( 0, 0, 1 ) ); spawncollision( "collision_nosight_wall_64x64x10", "collider", ( -1083, 790, 148 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_wall_128x128x10", "collider", ( 136, 2511, 245,5 ), vectorScale( ( 0, 0, 1 ), 90 ) ); spawncollision( "collision_clip_wall_128x128x10", "collider", ( 136, 2511, 245.5 ), vectorScale( ( 0, 1, 0 ), 90 ) );
spawncollision( "collision_mp_takeoff_solar_weap", "collider", ( 580, 3239,5, 32,5 ), ( 0, 0, 1 ) ); spawncollision( "collision_mp_takeoff_solar_weap", "collider", ( 580, 3239.5, 32.5 ), ( 0, 1, 0 ) );
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 ); maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
level thread dog_jump_think(); level thread dog_jump_think();
level.disableoutrovisionset = 1; level.disableoutrovisionset = 1;
level.mptakeoffrocket = getent( "takeoff_rocket", "targetname" ); level.mptakeoffrocket = getent( "takeoff_rocket", "targetname" );
/*
/# /#
assert( isDefined( level.mptakeoffrocket ), "Unable to find entity with targetname: 'takeoff_rocket'" ); assert( isDefined( level.mptakeoffrocket ), "Unable to find entity with targetname: 'takeoff_rocket'" );
#/ #/
*/
level.endgamefunction = ::takeoff_end_game; level.endgamefunction = ::takeoff_end_game;
level.preendgamefunction = ::takeoff_pre_end_game; level.preendgamefunction = ::takeoff_pre_end_game;
level thread setuprocketcamera(); level thread setuprocketcamera();
/*
/# /#
execdevgui( "devgui_mp_takeoff" ); execdevgui( "devgui_mp_takeoff" );
level thread watchdevnotify(); level thread watchdevnotify();
level thread devgui_endgame(); level thread devgui_endgame();
#/ #/
*/
} }
dog_jump_think() dog_jump_think() //checked matches cerberus output
{ {
origin = ( 209, 3819, 91 ); origin = ( 209, 3819, 91 );
trigger = spawn( "trigger_box", origin, getaitriggerflags(), 64, 32, 64 ); trigger = spawn( "trigger_box", origin, getaitriggerflags(), 64, 32, 64 );
@ -70,18 +77,20 @@ dog_jump_think()
} }
} }
setuprocketcamera() setuprocketcamera() //checked matches cerberus output
{ {
wait 0,1; wait 0.1;
getrocketcamera(); getrocketcamera();
} }
getrocketcamera() getrocketcamera() //checked matches cerberus output
{ {
camerastruct = getstruct( "endgame_first_camera", "targetname" ); camerastruct = getstruct( "endgame_first_camera", "targetname" );
/*
/# /#
assert( isDefined( camerastruct ), "Unable to find entity with targetname: 'endgame_first_camera'" ); assert( isDefined( camerastruct ), "Unable to find entity with targetname: 'endgame_first_camera'" );
#/ #/
*/
if ( !isDefined( level.rocketcamera ) ) if ( !isDefined( level.rocketcamera ) )
{ {
level.rocketcamera = spawn( "script_model", camerastruct.origin ); level.rocketcamera = spawn( "script_model", camerastruct.origin );
@ -95,14 +104,15 @@ getrocketcamera()
return level.rocketcamera; return level.rocketcamera;
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars );
} }
watchdevnotify() watchdevnotify() //checked matches cerberus output dvar not found
{ {
/*
/# /#
startvalue = 0; startvalue = 0;
setdvarint( "scr_takeoff_rocket", startvalue ); setdvarint( "scr_takeoff_rocket", startvalue );
@ -114,13 +124,15 @@ watchdevnotify()
level notify( "dev_takeoff_rocket" ); level notify( "dev_takeoff_rocket" );
startvalue = takeoff_rocket; startvalue = takeoff_rocket;
} }
wait 0,2; wait 0.2;
#/ #/
} }
*/
} }
devgui_endgame() devgui_endgame() //checked changed to match cerberus output
{ {
/*
/# /#
rocket = level.mptakeoffrocket; rocket = level.mptakeoffrocket;
assert( isDefined( rocket ), "Unable to find entity with targetname: 'takeoff_rocket'" ); assert( isDefined( rocket ), "Unable to find entity with targetname: 'takeoff_rocket'" );
@ -130,21 +142,19 @@ devgui_endgame()
for ( ;; ) for ( ;; )
{ {
level waittill( "dev_takeoff_rocket" ); level waittill( "dev_takeoff_rocket" );
visionsetnaked( "blackout", 0,1 ); visionsetnaked( "blackout", 0.1 );
thread takeoff_pre_end_game(); thread takeoff_pre_end_game();
wait 1; wait 1;
visionsetnaked( "mp_takeoff", 0,1 ); visionsetnaked( "mp_takeoff", 0.1 );
thread takeoff_end_game(); thread takeoff_end_game();
wait 4,5; wait 4.5;
level notify( "debug_end_takeoff" ); level notify( "debug_end_takeoff" );
wait 1; wait 1;
visionsetnaked( "mp_takeoff", 0,1 ); visionsetnaked( "mp_takeoff", 0.1 );
i = 0; for(i = 0; i < level.players.size; i++)
while ( i < level.players.size )
{ {
player = level.players[ i ]; player = level.players[ i ];
player cameraactivate( 0 ); player cameraactivate( 0 );
i++;
} }
stop_exploder( 1001 ); stop_exploder( 1001 );
rocket delete(); rocket delete();
@ -154,17 +164,15 @@ devgui_endgame()
level.mptakeoffrocket = rocket; level.mptakeoffrocket = rocket;
#/ #/
} }
*/
} }
water_trigger_init() water_trigger_init() //checked partially changed to match cerberus output see info.md
{ {
wait 3; wait 3;
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a206 = triggers; foreach ( trigger in triggers )
_k206 = getFirstArrayKey( _a206 );
while ( isDefined( _k206 ) )
{ {
trigger = _a206[ _k206 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -172,20 +180,15 @@ water_trigger_init()
{ {
trigger thread water_trigger_think(); trigger thread water_trigger_think();
} }
_k206 = getNextArrayKey( _a206, _k206 );
} }
triggers = getentarray( "water_killbrush", "targetname" ); triggers = getentarray( "water_killbrush", "targetname" );
_a218 = triggers; foreach ( trigger in triggers )
_k218 = getFirstArrayKey( _a218 );
while ( isDefined( _k218 ) )
{ {
trigger = _a218[ _k218 ];
trigger thread player_splash_think(); trigger thread player_splash_think();
_k218 = getNextArrayKey( _a218, _k218 );
} }
} }
player_splash_think() player_splash_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -197,7 +200,7 @@ player_splash_think()
} }
} }
player_water_fx( player, endon_condition ) player_water_fx( player, endon_condition ) //checked matches cerberus output
{ {
maxs = self.origin + self getmaxs(); maxs = self.origin + self getmaxs();
if ( maxs[ 2 ] > 60 ) if ( maxs[ 2 ] > 60 )
@ -208,7 +211,7 @@ player_water_fx( player, endon_condition )
playfx( level._effect[ "water_splash_sm" ], origin ); playfx( level._effect[ "water_splash_sm" ], origin );
} }
water_trigger_think() water_trigger_think() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -221,28 +224,25 @@ water_trigger_think()
} }
} }
leveloverridetime( defaulttime ) leveloverridetime( defaulttime ) //checked matches cerberus output
{ {
if ( self isinwater() ) if ( self isinwater() )
{ {
return 0,4; return 0.4;
} }
return defaulttime; return defaulttime;
} }
useintermissionpointsonwavespawn() useintermissionpointsonwavespawn() //checked matches cerberus output
{ {
return self isinwater(); return self isinwater();
} }
isinwater() isinwater() //checked partially changed to match cerberus output see info.md
{ {
triggers = getentarray( "trigger_hurt", "classname" ); triggers = getentarray( "trigger_hurt", "classname" );
_a283 = triggers; foreach ( trigger in triggers )
_k283 = getFirstArrayKey( _a283 );
while ( isDefined( _k283 ) )
{ {
trigger = _a283[ _k283 ];
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] ) if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
{ {
} }
@ -253,12 +253,11 @@ isinwater()
return 1; return 1;
} }
} }
_k283 = getNextArrayKey( _a283, _k283 );
} }
return 0; return 0;
} }
takeoff_pre_end_game( timetillendgame, debug ) takeoff_pre_end_game( timetillendgame, debug ) //checked matches cerberus output
{ {
if ( !isDefined( debug ) ) if ( !isDefined( debug ) )
{ {
@ -266,43 +265,47 @@ takeoff_pre_end_game( timetillendgame, debug )
wait 10; wait 10;
} }
rocket = level.mptakeoffrocket; rocket = level.mptakeoffrocket;
/*
/# /#
assert( isDefined( rocket ), "Unable to find entity with targetname: 'takeoff_rocket'" ); assert( isDefined( rocket ), "Unable to find entity with targetname: 'takeoff_rocket'" );
#/ #/
*/
rocket rocket_thrusters_initialize(); rocket rocket_thrusters_initialize();
} }
takeoff_end_game() takeoff_end_game() //checked changed to match cerberus output
{ {
/*
/# /#
level endon( "debug_end_takeoff" ); level endon( "debug_end_takeoff" );
#/ #/
*/
level.rocket_camera = 0; level.rocket_camera = 0;
rocket = level.mptakeoffrocket; rocket = level.mptakeoffrocket;
rocket playsound( "evt_shuttle_launch" ); rocket playsound( "evt_shuttle_launch" );
/*
/# /#
assert( isDefined( rocket ), "Unable to find entity with targetname: 'takeoff_rocket'" ); assert( isDefined( rocket ), "Unable to find entity with targetname: 'takeoff_rocket'" );
#/ #/
*/
rocket rocket_thrusters_initialize(); rocket rocket_thrusters_initialize();
cameraone = getrocketcamera(); cameraone = getrocketcamera();
cameraone thread vibrateaftertime( getdvarfloatdefault( "mp_takeoff_shakewait", 0,5 ) ); cameraone thread vibrateaftertime( getdvarfloatdefault( "mp_takeoff_shakewait", 0.5 ) );
i = 0; for ( i = 0; i < level.players.size; i++ )
while ( i < level.players.size )
{ {
player = level.players[ i ]; player = level.players[ i ];
player camerasetposition( cameraone ); player camerasetposition( cameraone );
player camerasetlookat(); player camerasetlookat();
player cameraactivate( 1 ); player cameraactivate( 1 );
player setdepthoffield( 0, 0, 512, 512, 4, 0 ); player setdepthoffield( 0, 0, 512, 512, 4, 0 );
i++;
} }
level.rocket_camera = 1; level.rocket_camera = 1;
rocket thread rocket_move(); rocket thread rocket_move();
wait 4; wait 4;
visionsetnaked( "blackout", getdvarfloatdefault( "mp_takeoff_fade_black", 0,5 ) ); visionsetnaked( "blackout", getdvarfloatdefault( "mp_takeoff_fade_black", 0.5 ) );
} }
rocket_thrusters_initialize() rocket_thrusters_initialize() //checked matches cerberus output
{ {
if ( !isDefined( self.thrustersinited ) ) if ( !isDefined( self.thrustersinited ) )
{ {
@ -315,7 +318,7 @@ rocket_thrusters_initialize()
} }
} }
rocket_move() rocket_move() //checked matches cerberus output
{ {
origin = self.origin; origin = self.origin;
heightincrease = getdvarintdefault( "mp_takeoff_rocket_start_height", 0 ); heightincrease = getdvarintdefault( "mp_takeoff_rocket_start_height", 0 );
@ -327,16 +330,18 @@ rocket_move()
origin = self.origin; origin = self.origin;
} }
vibrateaftertime( waittime ) vibrateaftertime( waittime ) //checked matches cerberus output
{ {
self endon( "death" ); self endon( "death" );
/*
/# /#
level endon( "debug_end_takeoff" ); level endon( "debug_end_takeoff" );
#/ #/
*/
wait waittime; wait waittime;
pitchvibrateamplitude = getdvarfloatdefault( "mp_takeoff_start", 0,1 ); pitchvibrateamplitude = getdvarfloatdefault( "mp_takeoff_start", 0.1 );
vibrateamplitude = getdvarfloatdefault( "mp_takeoff_a_start", 0,1 ); vibrateamplitude = getdvarfloatdefault( "mp_takeoff_a_start", 0.1 );
vibratetime = 0,05; vibratetime = 0.05;
originalangles = self.angles; originalangles = self.angles;
for ( ;; ) for ( ;; )
{ {
@ -346,8 +351,9 @@ vibrateaftertime( waittime )
self waittill( "rotatedone" ); self waittill( "rotatedone" );
self rotateto( angles1, vibratetime ); self rotateto( angles1, vibratetime );
self waittill( "rotatedone" ); self waittill( "rotatedone" );
vibrateamplitude *= getdvarfloatdefault( "mp_takeoff_amp_vredux", 1,12 ); vibrateamplitude *= getdvarfloatdefault( "mp_takeoff_amp_vredux", 1.12 );
pitchvibrateamplitude = 0 - pitchvibrateamplitude; pitchvibrateamplitude = 0 - pitchvibrateamplitude;
pitchvibrateamplitude *= getdvarfloatdefault( "mp_takeoff_amp_predux", 1,11 ); pitchvibrateamplitude *= getdvarfloatdefault( "mp_takeoff_amp_predux", 1.11 );
} }
} }

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/mp_turbine_amb;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/_load;
#include maps/mp/mp_turbine_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_turbine_fx::main(); maps/mp/mp_turbine_fx::main();
@ -24,58 +28,63 @@ main()
if ( !level.console ) if ( !level.console )
{ {
precachemodel( "collision_clip_32x32x32" ); precachemodel( "collision_clip_32x32x32" );
spawncollision( "collision_clip_32x32x32", "collider", ( -1400, 550, 360 ), ( 0, 0, -1 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( -1400, 550, 360 ), ( 0, 0, 0 ) );
} }
spawncollision( "collision_clip_cylinder_32x128", "collider", ( 334, 1724, -14 ), vectorScale( ( 0, 0, -1 ), 346,8 ) ); spawncollision( "collision_clip_cylinder_32x128", "collider", ( 334, 1724, -14 ), vectorScale( ( 0, 1, 0 ), 346.8 ) );
spawncollision( "collision_clip_cylinder_32x128", "collider", ( 1249, 1250, 193 ), ( 270, 241,8, -4 ) ); spawncollision( "collision_clip_cylinder_32x128", "collider", ( 1249, 1250, 193 ), ( 270, 241.8, -4 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -713, -737, 310 ), ( 276,402, 353,887, 29,1528 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -713, -737, 310 ), ( 276.402, 353.887, 29.1528 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -707,5, -727, 310 ), ( 276,402, 353,887, 29,1528 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -707.5, -727, 310 ), ( 276.402, 353.887, 29.1528 ) );
spawncollision( "collision_physics_64x64x64", "collider", ( -826,5, -866, 350,5 ), ( 0, 0, -1 ) ); spawncollision( "collision_physics_64x64x64", "collider", ( -826.5, -866, 350.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( -678, -1044, 396,5 ), ( 0, 0, -1 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( -678, -1044, 396.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -612,5, -1001,5, 348,5 ), ( 355,897, 281,708, -59,5212 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -612.5, -1001.5, 348.5 ), ( 355.897, 281.708, -59.5212 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 828, 3006,5, -124,5 ), vectorScale( ( 0, 0, -1 ), 15,6 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 828, 3006.5, -124.5 ), vectorScale( ( 0, 0, -1 ), 15.6 ) );
spawncollision( "collision_clip_64x64x64", "collider", ( 96,5, 3649, 46,5 ), ( 0, 0, -1 ) ); spawncollision( "collision_clip_64x64x64", "collider", ( 96.5, 3649, 46.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 171, -1578,5, 180,5 ), ( 2,65172, 9,74951, -15,074 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 171, -1578.5, 180.5 ), ( 2.65172, 9.74951, -15.074 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -789,5, 2667, 424 ), ( 359,984, 19,5888, -179,3292 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -789.5, 2667, 424 ), ( 359.984, 19.5888, -179.3292 ) );
spawncollision( "collision_missile_128x128x10", "collider", ( -807,5, 2660,5, 424 ), ( 359,984, 19,5888, -179,3292 ) ); spawncollision( "collision_missile_128x128x10", "collider", ( -807.5, 2660.5, 424 ), ( 359.984, 19.5888, -179.3292 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( -789,5, 2667, 424 ), ( 359,984, 19,5888, -89,3292 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( -789.5, 2667, 424 ), ( 359.984, 19.5888, -89.3292 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( -807,5, 2660,5, 424 ), ( 359,984, 19,5888, -89,3292 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( -807.5, 2660.5, 424 ), ( 359.984, 19.5888, -89.3292 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -789,5, 2667, 424 ), ( 359,984, 19,5888, -89,3292 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -789.5, 2667, 424 ), ( 359.984, 19.5888, -89.3292 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( -807,5, 2660,5, 424 ), ( 359,984, 19,5888, -89,3292 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( -807.5, 2660.5, 424 ), ( 359.984, 19.5888, -89.3292 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1889,5, 1249,5, 318,5 ), ( 359,691, 90,6276, 26,2986 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1889.5, 1249.5, 318.5 ), ( 359.691, 90.6276, 26.2986 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( 1970, 2595,5, 75 ), vectorScale( ( 0, 0, -1 ), 45,2 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( 1970, 2595.5, 75 ), vectorScale( ( 0, 1, 0 ), 45.2 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( 2221, 2396,5, 119,5 ), vectorScale( ( 0, 0, -1 ), 45 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( 2221, 2396.5, 119.5 ), vectorScale( ( 0, 1, 0 ), 45 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( 2130, 2305,5, 116 ), vectorScale( ( 0, 0, -1 ), 45 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( 2130, 2305.5, 116 ), vectorScale( ( 0, 1, 0 ), 45 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( 2111,5, 2287,5, 54 ), vectorScale( ( 0, 0, -1 ), 45 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( 2111.5, 2287.5, 54 ), vectorScale( ( 0, 1, 0 ), 45 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( 1692,5, 2321,5, 60,5 ), vectorScale( ( 0, 0, -1 ), 45 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( 1692.5, 2321.5, 60.5 ), vectorScale( ( 0, 1, 0 ), 45 ) );
spawncollision( "collision_missile_32x32x128", "collider", ( 2195,5, 2702, 132,5 ), vectorScale( ( 0, 0, -1 ), 314,6 ) ); spawncollision( "collision_missile_32x32x128", "collider", ( 2195.5, 2702, 132.5 ), vectorScale( ( 0, 1, 0 ), 314.6 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( 296, -181,5, 282 ), vectorScale( ( 0, 0, -1 ), 341,5 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( 296, -181.5, 282 ), vectorScale( ( 0, 1, 0 ), 341.5 ) );
spawncollision( "collision_clip_wall_32x32x10", "collider", ( 300, -84, 282 ), ( 0, 0, -1 ) ); spawncollision( "collision_clip_wall_32x32x10", "collider", ( 300, -84, 282 ), ( 0, 0, 0 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 937, 2270, -59 ), ( 0,562452, 274,866, -38,8762 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 937, 2270, -59 ), ( 0.562452, 274.866, -38.8762 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( 223,5, 3528, 132 ), ( 0, 0, -1 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( 223.5, 3528, 132 ), ( 0, 0, 0 ) );
rock1 = spawn( "script_model", ( 61,6428, 2656,92, 253,46 ) ); rock1 = spawn( "script_model", ( 61.6428, 2656.92, 253.46 ) );
rock1.angles = ( 288,55, 212,152, -86,8076 ); rock1.angles = ( 288.55, 212.152, -86.8076 );
rock1 setmodel( "p6_rocks_medium_01_nospec" ); rock1 setmodel( "p6_rocks_medium_01_nospec" );
rock2 = spawn( "script_model", ( 30,64, 2652, 277,89 ) ); rock2 = spawn( "script_model", ( 30.64, 2652, 277.89 ) );
rock2.angles = ( 352,368, 229,531, -57,337 ); rock2.angles = ( 352.368, 229.531, -57.337 );
rock2 setmodel( "p6_rocks_medium_01_nospec" ); rock2 setmodel( "p6_rocks_medium_01_nospec" );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 42,5, 2573,5, 334 ), vectorScale( ( 0, 0, -1 ), 319,3 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 42.5, 2573.5, 334 ), vectorScale( ( 0, 1, 0 ), 319.3 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 91, 2569, 334 ), vectorScale( ( 0, 0, -1 ), 3,59998 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 91, 2569, 334 ), vectorScale( ( 0, 0, 0), 3.59998 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 60,5, 2610, 368,5 ), ( 3,43509, 325,664, -77,5079 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 60.5, 2610, 368.5 ), ( 3.43509, 325.664, -77.5079 ) );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 89,5, 2594, 368,5 ), ( 3,43509, 12,164, -77,5079 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 89.5, 2594, 368.5 ), ( 3.43509, 12.164, -77.5079 ) );
spawncollision( "collision_clip_32x32x32", "collider", ( -239, 1680,5, 318,5 ), vectorScale( ( 0, 0, -1 ), 319,3 ) ); spawncollision( "collision_clip_32x32x32", "collider", ( -239, 1680.5, 318.5 ), vectorScale( ( 0, 1, 0 ), 319.3 ) );
spawncollision( "collision_clip_wall_128x128x10", "collider", ( 62,5, 2557, 358 ), vectorScale( ( 0, 0, -1 ), 8,50021 ) ); spawncollision( "collision_clip_wall_128x128x10", "collider", ( 62.5, 2557, 358 ), vectorScale( ( 0, 0, -1 ), 8.50021 ) );
//added from cerberus output
spawncollision( "collision_clip_64x64x10", "collider", ( 348.02, 1176.13, 299.595 ), ( 339.37, 328.453, -22.7468 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 388.801, 1219.68, 271.157 ), ( 339.37, 328.453, -22.7468 ) );
spawncollision( "collision_clip_64x64x10", "collider", ( 432.597, 1264.16, 247.717 ), ( 339.37, 328.453, -22.7468 ) );
level.remotemotarviewleft = 50; level.remotemotarviewleft = 50;
level.remotemotarviewright = 50; level.remotemotarviewright = 50;
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
} }
turbine_spin_init() turbine_spin_init() //checked matches cerberus output
{ {
level endon( "game_ended" ); level endon( "game_ended" );
turbine1 = getent( "turbine_blades", "targetname" ); turbine1 = getent( "turbine_blades", "targetname" );
@ -90,7 +99,7 @@ turbine_spin_init()
turbine6 thread rotate_blades( 4 ); turbine6 thread rotate_blades( 4 );
} }
rotate_blades( time ) rotate_blades( time ) //checked matches cerberus output
{ {
self endon( "game_ended" ); self endon( "game_ended" );
revolutions = 1000; revolutions = 1000;
@ -100,3 +109,4 @@ rotate_blades( time )
self waittill( "rotatedone" ); self waittill( "rotatedone" );
} }
} }

View File

@ -1,10 +1,14 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_spawning; #include maps/mp/gametypes/_spawning;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_uplink_amb;
#include maps/mp/_load;
#include maps/mp/mp_uplink_fx;
#include maps/mp/gametypes/_globallogic_utils; #include maps/mp/gametypes/_globallogic_utils;
#include maps/mp/_utility; #include maps/mp/_utility;
#include common_scripts/utility; #include common_scripts/utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_uplink_fx::main(); maps/mp/mp_uplink_fx::main();
@ -28,63 +32,60 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_128x128x10", "collider", ( 1661, 345,5, 298,5 ), ( 1, 0, 0 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1661, 345.5, 298.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 1661, 345,5, 313,5 ), ( 1, 0, 0 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 1661, 345.5, 313.5 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 3257, -3,5, 872,5 ), ( 360, 270, 90 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 3257, -3.5, 872.5 ), ( 360, 270, 90 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 3394, -136,5, 872,5 ), ( 270, 183,902, 86,0983 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 3394, -136.5, 872.5 ), ( 270, 183.902, 86.0983 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 3270,5, -3,5, 872,5 ), ( 360, 270, 90 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 3270.5, -3.5, 872.5 ), ( 360, 270, 90 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 3394, 129,5, 872,5 ), ( 270, 183,902, 86,0983 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 3394, 129.5, 872.5 ), ( 270, 183.902, 86.0983 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 3399,5, 1, 990 ), ( 1,12, 270, 180 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 3399.5, 1, 990 ), ( 1.12, 270, 180 ) );
spawncollision( "collision_physics_128x128x10", "collider", ( 2343,5, 865,5, 320,5 ), vectorScale( ( 1, 0, 0 ), 332,7 ) ); spawncollision( "collision_physics_128x128x10", "collider", ( 2343.5, 865.5, 320.5 ), vectorScale( ( 0, 1, 0 ), 332.7 ) );
spawncollision( "collision_physics_64x64x10", "collider", ( 2291, 904, 316 ), ( 355,461, 27,1924, -2,32818 ) ); spawncollision( "collision_physics_64x64x10", "collider", ( 2291, 904, 316 ), ( 355.461, 27.1924, -2.32818 ) );
spawncollision( "collision_physics_32x32x10", "collider", ( 3049,5, -3452, 339 ), ( 78,6193, 281,502, -105,573 ) ); spawncollision( "collision_physics_32x32x10", "collider", ( 3049.5, -3452, 339 ), ( 78.6193, 281.502, -105.573 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( 2477,5, -2957, 326 ), vectorScale( ( 1, 0, 0 ), 291,7 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( 2477.5, -2957, 326 ), vectorScale( ( 1, 0, 0 ), 291.7 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( 2477,5, -3053, 326 ), vectorScale( ( 1, 0, 0 ), 291,7 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( 2477.5, -3053, 326 ), vectorScale( ( 1, 0, 0 ), 291.7 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( 2159, -476,5, 353 ), vectorScale( ( 1, 0, 0 ), 279,2 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( 2159, -476.5, 353 ), vectorScale( ( 1, 0, 0 ), 279.2 ) );
spawncollision( "collision_clip_128x128x10", "collider", ( 2159, -508, 353 ), vectorScale( ( 1, 0, 0 ), 279,2 ) ); spawncollision( "collision_clip_128x128x10", "collider", ( 2159, -508, 353 ), vectorScale( ( 1, 0, 0 ), 279.2 ) );
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 ); maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
level.remotemotarviewdown = 50; level.remotemotarviewdown = 50;
level thread gondola_sway(); level thread gondola_sway();
glasses = getstructarray( "glass_shatter_on_spawn", "targetname" ); glasses = getstructarray( "glass_shatter_on_spawn", "targetname" );
i = 0; for ( i = 0; i < glasses.size; i++ )
while ( i < glasses.size )
{ {
radiusdamage( glasses[ i ].origin, 64, 101, 100 ); radiusdamage( glasses[ i ].origin, 64, 101, 100 );
i++;
} }
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2350", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2350", reset_dvars );
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars ); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
} }
gondola_sway() gondola_sway() //checked matches cerberus output
{ {
gondola_cab = getent( "gondola_cab", "targetname" ); gondola_cab = getent( "gondola_cab", "targetname" );
gondola_cab setmovingplatformenabled( 1 ); gondola_cab setmovingplatformenabled( 1 );
while ( 1 ) while ( 1 )
{ {
randomswingangle = randomfloatrange( 0,25, 0,5 ); randomswingangle = randomfloatrange( 0.25, 0.5 );
randomswingtime = randomfloatrange( 2,5, 4 ); randomswingtime = randomfloatrange( 2.5, 4 );
gondola_cab rotateto( ( randomswingangle * 0,5, randomswingangle * 0,6, randomswingangle * 0,8 ), randomswingtime, randomswingtime * 0,3, randomswingtime * 0,3 ); gondola_cab rotateto( ( randomswingangle * 0.5, randomswingangle * 0.6, randomswingangle * 0.8 ), randomswingtime, randomswingtime * 0.3, randomswingtime * 0,.3 );
gondola_cab playsound( "amb_gondola_swing" ); gondola_cab playsound( "amb_gondola_swing" );
wait randomswingtime; wait randomswingtime;
gondola_cab rotateto( ( ( randomswingangle * 0,5 ) * -1, ( randomswingangle * -1 ) * 0,6, ( randomswingangle * 0,8 ) * -1 ), randomswingtime, randomswingtime * 0,3, randomswingtime * 0,3 ); gondola_cab rotateto( ( ( randomswingangle * 0.5 ) * -1, ( randomswingangle * -1 ) * 0.6, ( randomswingangle * 0.8 ) * -1 ), randomswingtime, randomswingtime * 0.3, randomswingtime * 0.3 );
gondola_cab playsound( "amb_gondola_swing_back" ); gondola_cab playsound( "amb_gondola_swing_back" );
wait randomswingtime; wait randomswingtime;
gondola_cab destroy_corpses(); gondola_cab destroy_corpses();
} }
} }
destroy_corpses() destroy_corpses() //checked changed to match cerberus output
{ {
time = getTime(); time = getTime();
corpses = getcorpsearray(); corpses = getcorpsearray();
i = 0; for ( i = 0; i < corpses.size; i++ )
while ( i < corpses.size )
{ {
if ( ( corpses[ i ].birthtime + 3000 ) < time ) if ( ( corpses[ i ].birthtime + 3000 ) < time )
{ {
@ -93,6 +94,6 @@ destroy_corpses()
corpses[ i ] delete(); corpses[ i ] delete();
} }
} }
i++;
} }
} }

View File

@ -1,9 +1,13 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes/_deathicons; #include maps/mp/gametypes/_deathicons;
#include maps/mp/mp_vertigo_doors; #include maps/mp/mp_vertigo_doors;
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_vertigo_amb;
#include maps/mp/_load;
#include maps/mp/mp_vertigo_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked matches cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
level.ragdoll_override = ::ragdoll_override; level.ragdoll_override = ::ragdoll_override;
@ -29,14 +33,14 @@ main()
} }
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars );
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1400", reset_dvars ); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1400", reset_dvars );
} }
waitforglassbreak() waitforglassbreak() //checked matches cerberus output
{ {
if ( glassexploderssetupcorrectly( 1000, 3 ) == 0 ) if ( glassexploderssetupcorrectly( 1000, 3 ) == 0 )
{ {
@ -59,7 +63,7 @@ waitforglassbreak()
} }
} }
playglassexploder( origin, exploderbase, explodercount ) playglassexploder( origin, exploderbase, explodercount ) //checked changed to match cerberus output
{ {
distancesq = distancesquared( origin, level.createfxexploders[ exploderbase ][ 0 ].v[ "origin" ] ); distancesq = distancesquared( origin, level.createfxexploders[ exploderbase ][ 0 ].v[ "origin" ] );
if ( distancesq > 21000 ) if ( distancesq > 21000 )
@ -73,8 +77,7 @@ playglassexploder( origin, exploderbase, explodercount )
distancesq = 5000; distancesq = 5000;
} }
nearestpanedistsq = distancesq; nearestpanedistsq = distancesq;
glassexploderindex = 1; for ( glassexploderindex = 1; glassexploderindex < explodercount; glassexploderindex++ )
while ( glassexploderindex < explodercount )
{ {
glassexploder = glassexploderindex + exploderbase; glassexploder = glassexploderindex + exploderbase;
currentdistsq = distancesquared( origin, level.createfxexploders[ glassexploder ][ 0 ].v[ "origin" ] ); currentdistsq = distancesquared( origin, level.createfxexploders[ glassexploder ][ 0 ].v[ "origin" ] );
@ -83,7 +86,6 @@ playglassexploder( origin, exploderbase, explodercount )
nearestpane = glassexploder; nearestpane = glassexploder;
nearestpanedistsq = currentdistsq; nearestpanedistsq = currentdistsq;
} }
glassexploderindex++;
} }
if ( nearestpane != -1 ) if ( nearestpane != -1 )
{ {
@ -92,41 +94,43 @@ playglassexploder( origin, exploderbase, explodercount )
} }
} }
window_smash_wind_sound( origin ) window_smash_wind_sound( origin ) //checked matches cerberus output
{ {
wind_ent = spawn( "script_origin", origin ); wind_ent = spawn( "script_origin", origin );
wind_ent playloopsound( "evt_window_wind", 1 ); wind_ent playloopsound( "evt_window_wind", 1 );
level waittill( "game_ended" ); level waittill( "game_ended" );
wind_ent stoploopsound( 0,5 ); wind_ent stoploopsound( 0.5 );
wind_ent delete(); wind_ent delete();
} }
glassexploderssetupcorrectly( exploderbase, explodercount ) glassexploderssetupcorrectly( exploderbase, explodercount ) //checked changed to match cerberus output
{ {
glassexploderindex = 0; for ( glassexploderindex = 0; glassexploderindex < explodercount; glassexploderindex++ )
while ( glassexploderindex < explodercount )
{ {
glassexploder = glassexploderindex + exploderbase; glassexploder = glassexploderindex + exploderbase;
if ( !isDefined( level.createfxexploders[ glassexploder ] ) ) if ( !isDefined( level.createfxexploders[ glassexploder ] ) )
{ {
/*
/# /#
assertmsg( "Glass exploder " + glassexploder + " is undefined" ); assertmsg( "Glass exploder " + glassexploder + " is undefined" );
#/ #/
*/
return 0; return 0;
} }
if ( isDefined( level.createfxexploders[ glassexploder ][ 0 ] ) || !isDefined( level.createfxexploders[ glassexploder ][ 0 ].v ) && !isDefined( level.createfxexploders[ glassexploder ][ 0 ].v[ "origin" ] ) ) if ( isDefined( level.createfxexploders[ glassexploder ][ 0 ] ) || !isDefined( level.createfxexploders[ glassexploder ][ 0 ].v ) || !isDefined( level.createfxexploders[ glassexploder ][ 0 ].v[ "origin" ] ) )
{ {
/*
/# /#
assertmsg( "Glass exploder " + glassexploder + " is undefined" ); assertmsg( "Glass exploder " + glassexploder + " is undefined" );
#/ #/
*/
return 0; return 0;
} }
glassexploderindex++;
} }
return 1; return 1;
} }
ragdoll_override( idamage, smeansofdeath, sweapon, shitloc, vdir, vattackerorigin, deathanimduration, einflictor, ragdoll_jib, body ) ragdoll_override( idamage, smeansofdeath, sweapon, shitloc, vdir, vattackerorigin, deathanimduration, einflictor, ragdoll_jib, body ) //checked matches cerberus output
{ {
if ( smeansofdeath == "MOD_FALLING" ) if ( smeansofdeath == "MOD_FALLING" )
{ {
@ -151,7 +155,7 @@ ragdoll_override( idamage, smeansofdeath, sweapon, shitloc, vdir, vattackerorigi
return 0; return 0;
} }
startragdollonground( deathanimduration ) startragdollonground( deathanimduration ) //checked does not match cerberus output did not change
{ {
timer = 0; timer = 0;
while ( timer < deathanimduration ) while ( timer < deathanimduration )
@ -166,8 +170,8 @@ startragdollonground( deathanimduration )
} }
else else
{ {
wait 0,05; wait 0.05;
timer += 0,05; timer += 0.05;
} }
} }
if ( !isDefined( self ) || !isDefined( self.body ) ) if ( !isDefined( self ) || !isDefined( self.body ) )
@ -176,3 +180,4 @@ startragdollonground( deathanimduration )
} }
self.body startragdoll(); self.body startragdoll();
} }

View File

@ -1,7 +1,11 @@
//checked includes changed to match cerberus output
#include maps/mp/_compass; #include maps/mp/_compass;
#include maps/mp/mp_village_amb;
#include maps/mp/_load;
#include maps/mp/mp_village_fx;
#include maps/mp/_utility; #include maps/mp/_utility;
main() main() //checked changed to match cerberus output
{ {
level.levelspawndvars = ::levelspawndvars; level.levelspawndvars = ::levelspawndvars;
maps/mp/mp_village_fx::main(); maps/mp/mp_village_fx::main();
@ -13,31 +17,20 @@ main()
precachemodel( "afr_corrugated_metal8x8" ); precachemodel( "afr_corrugated_metal8x8" );
precachemodel( "p6_pak_old_plywood" ); precachemodel( "p6_pak_old_plywood" );
destructibles = getentarray( "destructible", "targetname" ); destructibles = getentarray( "destructible", "targetname" );
_a22 = destructibles; foreach ( destructible in destructibles )
_k22 = getFirstArrayKey( _a22 );
while ( isDefined( _k22 ) )
{ {
destructible = _a22[ _k22 ];
if ( destructible.destructibledef == "dest_propanetank_01" ) if ( destructible.destructibledef == "dest_propanetank_01" )
{ {
destructible thread death_sound_think(); destructible thread death_sound_think();
} }
_k22 = getNextArrayKey( _a22, _k22 );
} }
_a30 = destructibles; foreach ( destructible in destructibles )
_k30 = getFirstArrayKey( _a30 );
while ( isDefined( _k30 ) )
{ {
destructible = _a30[ _k30 ];
if ( destructible getentitynumber() == 553 ) if ( destructible getentitynumber() == 553 )
{ {
destructible delete(); destructible delete();
break; break;
} }
else
{
_k30 = getNextArrayKey( _a30, _k30 );
}
} }
maps/mp/_load::main(); maps/mp/_load::main();
maps/mp/mp_village_amb::main(); maps/mp/mp_village_amb::main();
@ -52,77 +45,78 @@ main()
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C"; game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D"; game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E"; game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
spawncollision( "collision_physics_32x32x32", "collider", ( 610, -126, 60 ), vectorScale( ( 0, 0, 1 ), 287,2 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 610, -126, 60 ), vectorScale( ( 1, 0, 0 ), 287.2 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 590, -126, 67 ), vectorScale( ( 0, 0, 1 ), 287,2 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 590, -126, 67 ), vectorScale( ( 1, 0, 0 ), 287.2 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 602, -233, 70 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 602, -233, 70 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( 707, -812, 32 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( 707, -812, 32 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_wall_128x128x10", "collider", ( 707, -730, 32 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_wall_128x128x10", "collider", ( 707, -730, 32 ), vectorScale( ( 0, 1, 0 ), 270 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1056, -1294, 32 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1056, -1294, 32 ), vectorScale( ( 1, 0, 0 ), 270 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -960, -1294, 32 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -960, -1294, 32 ), vectorScale( ( 1, 0, 0 ), 270 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -1057, -1294, 111 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -1057, -1294, 111 ), vectorScale( ( 1, 0, 0 ), 270 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -964, -1294, 111 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -964, -1294, 111 ), vectorScale( ( 1, 0, 0 ), 270 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -344, 1356, 264 ), ( 270, 276,8, -6,8 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -344, 1356, 264 ), ( 270, 276.8, -6.8 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( -344, 1407, 264 ), ( 270, 276,8, -6,8 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( -344, 1407, 264 ), ( 270, 276.8, -6.8 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1335,5, -1667, 196 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1335.5, -1667, 196 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1335,5, -1676, 196 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1335.5, -1676, 196 ), ( 0, 0, 0 ) );
metalsheet1 = spawn( "script_model", ( -1487, 1156, 10 ) ); metalsheet1 = spawn( "script_model", ( -1487, 1156, 10 ) );
metalsheet1.angles = vectorScale( ( 0, 0, 1 ), 90 ); metalsheet1.angles = vectorScale( ( 0, 0, -1 ), 90 );
metalsheet1 setmodel( "afr_corrugated_metal8x8" ); metalsheet1 setmodel( "afr_corrugated_metal8x8" );
metalsheet1 = spawn( "script_model", ( -1487, 1252, 10 ) ); metalsheet1 = spawn( "script_model", ( -1487, 1252, 10 ) );
metalsheet1.angles = vectorScale( ( 0, 0, 1 ), 90 ); metalsheet1.angles = vectorScale( ( 0, 0, -1 ), 90 );
metalsheet1 setmodel( "afr_corrugated_metal8x8" ); metalsheet1 setmodel( "afr_corrugated_metal8x8" );
metalsheet1 = spawn( "script_model", ( -1487, 1348, 10 ) ); metalsheet1 = spawn( "script_model", ( -1487, 1348, 10 ) );
metalsheet1.angles = vectorScale( ( 0, 0, 1 ), 90 ); metalsheet1.angles = vectorScale( ( 0, 0, -1 ), 90 );
metalsheet1 setmodel( "afr_corrugated_metal8x8" ); metalsheet1 setmodel( "afr_corrugated_metal8x8" );
metalsheet1 = spawn( "script_model", ( -1487, 1444, 10 ) ); metalsheet1 = spawn( "script_model", ( -1487, 1444, 10 ) );
metalsheet1.angles = vectorScale( ( 0, 0, 1 ), 90 ); metalsheet1.angles = vectorScale( ( 0, 0, -1 ), 90 );
metalsheet1 setmodel( "afr_corrugated_metal8x8" ); metalsheet1 setmodel( "afr_corrugated_metal8x8" );
spawncollision( "collision_physics_32x32x32", "collider", ( 1095, 1482, 31 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1095, 1482, 31 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1095, 1519, 31 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1095, 1519, 31 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1054, 1552, 68 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1054, 1552, 68 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1054, 1589, 68 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1054, 1589, 68 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1054, 1552, 39 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1054, 1552, 39 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1054, 1589, 39 ), ( 0, 0, 1 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1054, 1589, 39 ), ( 0, 0, 0 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 1023,52, 1577,46, 37,8172 ), ( 353,857, 287,799, 18,4368 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 1023.52, 1577.46, 37.8172 ), ( 353.857, 287.799, 18.4368 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 990,481, 1565,54, 26,1828 ), ( 353,857, 287,799, 18,4368 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 990.481, 1565.54, 26.1828 ), ( 353.857, 287.799, 18.4368 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 952,701, 1488,68, 29 ), vectorScale( ( 0, 0, 1 ), 24,6 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 952.701, 1488.68, 29 ), vectorScale( ( 0, 1, 0 ), 24.6 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( 937,299, 1522,32, 29 ), vectorScale( ( 0, 0, 1 ), 24,6 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( 937.299, 1522.32, 29 ), vectorScale( ( 0, 1, 0 ), 24.6 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 596, -1545, -8 ), vectorScale( ( 0, 0, 1 ), 2,2 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 596, -1545, -8 ), vectorScale( ( 1, 0, 0 ), 2.2 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 628,255, -1724,02, 2 ), ( 270, 307,4, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 628.255, -1724.02, 2 ), ( 270, 307.4, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 645,992, -1840,11, 2 ), ( 270, 251,2, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 645.992, -1840.11, 2 ), ( 270, 251.2, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 560,513, -1921,33, 2 ), ( 270, 196,2, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 560.513, -1921.33, 2 ), ( 270, 196.2, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 443,23, -1896,61, 2 ), ( 270, 140,6, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 443.23, -1896.61, 2 ), ( 270, 140.6, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 400,756, -1788,41, 2 ), ( 270, 85,6, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 400.756, -1788.41, 2 ), ( 270, 85.6, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 435,565, -1707,94, 2 ), ( 270, 44,4, 0 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 435.565, -1707.94, 2 ), ( 270, 44.4, 0 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 523, -1672, 2 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 523, -1672, 2 ), vectorScale( ( 1, 0, 0 ), 270 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1861, -1004, 239 ), vectorScale( ( 0, 0, 1 ), 346 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1861, -1004, 239 ), vectorScale( ( 0, 1, 0 ), 346 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1867, -1023, 239 ), vectorScale( ( 0, 0, 1 ), 346 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1867, -1023, 239 ), vectorScale( ( 0, 1, 0 ), 346 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1861, -1324, 239 ), vectorScale( ( 0, 0, 1 ), 346 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1861, -1324, 239 ), vectorScale( ( 0, 1, 0 ), 346 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1867, -1343, 239 ), vectorScale( ( 0, 0, 1 ), 346 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1867, -1343, 239 ), vectorScale( ( 0, 1, 0 ), 346 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1876, -1400, 239 ), vectorScale( ( 0, 0, 1 ), 61 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1876, -1400, 239 ), vectorScale( ( 0, 1, 0 ), 61 ) );
spawncollision( "collision_physics_32x32x32", "collider", ( -1859, -1411, 239 ), vectorScale( ( 0, 0, 1 ), 61 ) ); spawncollision( "collision_physics_32x32x32", "collider", ( -1859, -1411, 239 ), vectorScale( ( 0, 1, 0 ), 61 ) );
spawncollision( "collision_physics_32x32x128", "collider", ( 1335, 1029, 55 ), vectorScale( ( 0, 0, 1 ), 270 ) ); spawncollision( "collision_physics_32x32x128", "collider", ( 1335, 1029, 55 ), vectorScale( ( 1, 0, 0 ), 270 ) );
spawncollision( "collision_physics_256x256x10", "collider", ( 645, -1562, 0 ), vectorScale( ( 0, 0, 1 ), 3 ) ); spawncollision( "collision_physics_256x256x10", "collider", ( 645, -1562, 0 ), vectorScale( ( 0, 0, 1 ), 3 ) );
level.levelkothdisable = []; level.levelkothdisable = [];
level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( -176, 1512, 133,5 ), 0, 60, 25 ); level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( -176, 1512, 133.5 ), 0, 60, 25 );
level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( 243,5, 1010, 145,5 ), 0, 60, 25 ); level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( 243.5, 1010, 145.5 ), 0, 60, 25 );
spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1180, 1399,5, 34,5 ), ( 357,9, 356,4, -3,28 ) ); spawncollision( "collision_clip_wall_64x64x10", "collider", ( 1180, 1399.5, 34.5 ), ( 357.9, 356.4, -3.28 ) );
board1 = spawn( "script_model", ( -633,5, 646,2, 22,45 ) ); board1 = spawn( "script_model", ( -633.5, 646.2, 22.45 ) );
board1.angles = ( 0, 195,6, 90 ); board1.angles = ( 0, 195.6, 90 );
board1 setmodel( "p6_pak_old_plywood" ); board1 setmodel( "p6_pak_old_plywood" );
board2 = spawn( "script_model", ( -627,66, 646,19, 22,45 ) ); board2 = spawn( "script_model", ( -627.66, 646.19, 22.45 ) );
board2.angles = ( 0, 184,4, 90 ); board2.angles = ( 0, 184.4, 90 );
board2 setmodel( "p6_pak_old_plywood" ); board2 setmodel( "p6_pak_old_plywood" );
} }
levelspawndvars( reset_dvars ) levelspawndvars( reset_dvars ) //checked matches cerberus output
{ {
ss = level.spawnsystem; ss = level.spawnsystem;
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars ); ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars );
} }
death_sound_think() death_sound_think() //checked matches cerberus output
{ {
self waittill( "destructible_base_piece_death" ); self waittill( "destructible_base_piece_death" );
self playsound( "exp_barrel" ); self playsound( "exp_barrel" );
} }

View File

@ -1,9 +1,10 @@
//checked includes match cerberus output
#include maps/mp/gametypes/_spectating; #include maps/mp/gametypes/_spectating;
#include maps/mp/gametypes/_globallogic_ui; #include maps/mp/gametypes/_globallogic_ui;
#include maps/mp/gametypes/_persistence; #include maps/mp/gametypes/_persistence;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
precacheshader( "mpflag_spectator" ); precacheshader( "mpflag_spectator" );
game[ "strings" ][ "autobalance" ] = &"MP_AUTOBALANCE_NOW"; game[ "strings" ][ "autobalance" ] = &"MP_AUTOBALANCE_NOW";
@ -26,7 +27,7 @@ init()
level.axisplayers = []; level.axisplayers = [];
level thread onplayerconnect(); level thread onplayerconnect();
level thread updateteambalancedvar(); level thread updateteambalancedvar();
wait 0,15; wait 0.15;
if ( level.rankedmatch || level.leaguematch ) if ( level.rankedmatch || level.leaguematch )
{ {
level thread updateplayertimes(); level thread updateplayertimes();
@ -35,7 +36,7 @@ init()
else else
{ {
level thread onfreeplayerconnect(); level thread onfreeplayerconnect();
wait 0,15; wait 0.15;
if ( level.rankedmatch || level.leaguematch ) if ( level.rankedmatch || level.leaguematch )
{ {
level thread updateplayertimes(); level thread updateplayertimes();
@ -43,7 +44,7 @@ init()
} }
} }
onplayerconnect() onplayerconnect() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -54,7 +55,7 @@ onplayerconnect()
} }
} }
onfreeplayerconnect() onfreeplayerconnect() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -63,7 +64,7 @@ onfreeplayerconnect()
} }
} }
onjoinedteam() onjoinedteam() //checked matches cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
for ( ;; ) for ( ;; )
@ -74,36 +75,37 @@ onjoinedteam()
} }
} }
onjoinedspectators() onjoinedspectators() //checked changed to match cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
for ( ;; ) for ( ;; )
{ {
self waittill( "joined_spectators" ); self waittill( "joined_spectators" );
self.pers["teamTime"] = undefined;
} }
} }
trackplayedtime() trackplayedtime() //checked partially changed to match beta dump see info.md
{ {
self endon( "disconnect" ); self endon( "disconnect" );
_a100 = level.teams; foreach ( team in level.teams )
_k100 = getFirstArrayKey( _a100 );
while ( isDefined( _k100 ) )
{ {
team = _a100[ _k100 ];
self.timeplayed[ team ] = 0; self.timeplayed[ team ] = 0;
_k100 = getNextArrayKey( _a100, _k100 );
} }
self.timeplayed[ "free" ] = 0; self.timeplayed[ "free" ] = 0;
self.timeplayed[ "other" ] = 0; self.timeplayed[ "other" ] = 0;
self.timeplayed[ "alive" ] = 0; self.timeplayed[ "alive" ] = 0;
if ( !isDefined( self.timeplayed[ "total" ] ) || level.gametype == "twar" && game[ "roundsplayed" ] >= 0 && self.timeplayed[ "total" ] >= 0 ) if ( level.gametype == "twar" && game[ "roundsplayed" ] >= 0 && self.timeplayed[ "total" ] >= 0 )
{
self.timeplayed[ "total" ] = 0;
}
if ( !isDefined( self.timeplayed[ "total" ] ) )
{ {
self.timeplayed[ "total" ] = 0; self.timeplayed[ "total" ] = 0;
} }
while ( level.inprematchperiod ) while ( level.inprematchperiod )
{ {
wait 0,05; wait 0.05;
} }
for ( ;; ) for ( ;; )
{ {
@ -117,21 +119,17 @@ trackplayedtime()
{ {
self.timeplayed[ "alive" ]++; self.timeplayed[ "alive" ]++;
} }
break;
} }
else else if ( self.sessionteam == "spectator" )
{ {
if ( self.sessionteam == "spectator" ) self.timeplayed[ "other" ]++;
{
self.timeplayed[ "other" ]++;
}
} }
} }
wait 1; wait 1;
} }
} }
updateplayertimes() updateplayertimes() //checked changed to match cerberus output
{ {
nexttoupdate = 0; nexttoupdate = 0;
for ( ;; ) for ( ;; )
@ -147,25 +145,19 @@ updateplayertimes()
level.players[ nexttoupdate ] maps/mp/gametypes/_persistence::checkcontractexpirations(); level.players[ nexttoupdate ] maps/mp/gametypes/_persistence::checkcontractexpirations();
} }
wait 1; wait 1;
nexttoupdate++;
continue;
} }
} }
updateplayedtime() updateplayedtime() //checked changed to match cerberus output
{ {
pixbeginevent( "updatePlayedTime" ); pixbeginevent( "updatePlayedTime" );
_a160 = level.teams; foreach ( team in level.teams )
_k160 = getFirstArrayKey( _a160 );
while ( isDefined( _k160 ) )
{ {
team = _a160[ _k160 ];
if ( self.timeplayed[ team ] ) if ( self.timeplayed[ team ] )
{ {
self addplayerstat( "time_played_" + team, int( min( self.timeplayed[ team ], level.timeplayedcap ) ) ); self addplayerstat( "time_played_" + team, int( min( self.timeplayed[ team ], level.timeplayedcap ) ) );
self addplayerstatwithgametype( "time_played_total", int( min( self.timeplayed[ team ], level.timeplayedcap ) ) ); self addplayerstatwithgametype( "time_played_total", int( min( self.timeplayed[ team ], level.timeplayedcap ) ) );
} }
_k160 = getNextArrayKey( _a160, _k160 );
} }
if ( self.timeplayed[ "other" ] ) if ( self.timeplayed[ "other" ] )
{ {
@ -183,19 +175,15 @@ updateplayedtime()
{ {
return; return;
} }
_a187 = level.teams; foreach ( team in level.teams )
_k187 = getFirstArrayKey( _a187 ); {
while ( isDefined( _k187 ) )
{
team = _a187[ _k187 ];
self.timeplayed[ team ] = 0; self.timeplayed[ team ] = 0;
_k187 = getNextArrayKey( _a187, _k187 );
} }
self.timeplayed[ "other" ] = 0; self.timeplayed[ "other" ] = 0;
self.timeplayed[ "alive" ] = 0; self.timeplayed[ "alive" ] = 0;
} }
updateteamtime() updateteamtime() //checked matches cerberus output
{ {
if ( game[ "state" ] != "playing" ) if ( game[ "state" ] != "playing" )
{ {
@ -204,7 +192,7 @@ updateteamtime()
self.pers[ "teamTime" ] = getTime(); self.pers[ "teamTime" ] = getTime();
} }
updateteambalancedvar() updateteambalancedvar() //checked matches cerberus output
{ {
for ( ;; ) for ( ;; )
{ {
@ -222,7 +210,7 @@ updateteambalancedvar()
} }
} }
changeteam( team ) changeteam( team ) //checked changed to match cerberus output
{ {
if ( self.sessionstate != "dead" ) if ( self.sessionstate != "dead" )
{ {
@ -233,6 +221,10 @@ changeteam( team )
} }
self.pers[ "team" ] = team; self.pers[ "team" ] = team;
self.team = team; self.team = team;
self.pers["weapon"] = undefined;
self.pers["spawnweapon"] = undefined;
self.pers["savedmodel"] = undefined;
self.pers["teamTime"] = undefined;
self.sessionteam = self.pers[ "team" ]; self.sessionteam = self.pers[ "team" ];
if ( !level.teambased ) if ( !level.teambased )
{ {
@ -245,23 +237,16 @@ changeteam( team )
self notify( "end_respawn" ); self notify( "end_respawn" );
} }
countplayers() countplayers() //checked partially changed to match cerberus output see info.md
{ {
players = level.players; players = level.players;
playercounts = []; playercounts = [];
_a259 = level.teams; foreach ( team in level.teams )
_k259 = getFirstArrayKey( _a259 );
while ( isDefined( _k259 ) )
{ {
team = _a259[ _k259 ];
playercounts[ team ] = 0; playercounts[ team ] = 0;
_k259 = getNextArrayKey( _a259, _k259 );
} }
_a264 = level.players; foreach ( player in level.players )
_k264 = getFirstArrayKey( _a264 );
while ( isDefined( _k264 ) )
{ {
player = _a264[ _k264 ];
if ( player == self ) if ( player == self )
{ {
} }
@ -273,21 +258,16 @@ countplayers()
playercounts[ team ]++; playercounts[ team ]++;
} }
} }
_k264 = getNextArrayKey( _a264, _k264 );
} }
return playercounts; return playercounts;
} }
trackfreeplayedtime() trackfreeplayedtime() //checked changed to match cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
_a281 = level.teams; foreach ( team in level.teams )
_k281 = getFirstArrayKey( _a281 );
while ( isDefined( _k281 ) )
{ {
team = _a281[ _k281 ];
self.timeplayed[ team ] = 0; self.timeplayed[ team ] = 0;
_k281 = getNextArrayKey( _a281, _k281 );
} }
self.timeplayed[ "other" ] = 0; self.timeplayed[ "other" ] = 0;
self.timeplayed[ "total" ] = 0; self.timeplayed[ "total" ] = 0;
@ -305,7 +285,6 @@ trackfreeplayedtime()
{ {
self.timeplayed[ "alive" ]++; self.timeplayed[ "alive" ]++;
} }
break;
} }
else else
{ {
@ -316,7 +295,7 @@ trackfreeplayedtime()
} }
} }
set_player_model( team, weapon ) set_player_model( team, weapon ) //checked matches cerberus output
{ {
weaponclass = getweaponclass( weapon ); weaponclass = getweaponclass( weapon );
bodytype = "default"; bodytype = "default";
@ -353,35 +332,42 @@ set_player_model( team, weapon )
self [[ game[ "set_player_model" ][ team ][ bodytype ] ]](); self [[ game[ "set_player_model" ][ team ][ bodytype ] ]]();
} }
getteamflagmodel( teamref ) getteamflagmodel( teamref ) //checked matches cerberus output
{ {
/*
/# /#
assert( isDefined( game[ "flagmodels" ] ) ); assert( isDefined( game[ "flagmodels" ] ) );
#/ #/
/# /#
assert( isDefined( game[ "flagmodels" ][ teamref ] ) ); assert( isDefined( game[ "flagmodels" ][ teamref ] ) );
#/ #/
*/
return game[ "flagmodels" ][ teamref ]; return game[ "flagmodels" ][ teamref ];
} }
getteamflagcarrymodel( teamref ) getteamflagcarrymodel( teamref ) //checked matches cerberus output
{ {
/*
/# /#
assert( isDefined( game[ "carry_flagmodels" ] ) ); assert( isDefined( game[ "carry_flagmodels" ] ) );
#/ #/
/# /#
assert( isDefined( game[ "carry_flagmodels" ][ teamref ] ) ); assert( isDefined( game[ "carry_flagmodels" ][ teamref ] ) );
#/ #/
*/
return game[ "carry_flagmodels" ][ teamref ]; return game[ "carry_flagmodels" ][ teamref ];
} }
getteamflagicon( teamref ) getteamflagicon( teamref ) //checked matches cerberus output
{ {
/*
/# /#
assert( isDefined( game[ "carry_icon" ] ) ); assert( isDefined( game[ "carry_icon" ] ) );
#/ #/
/# /#
assert( isDefined( game[ "carry_icon" ][ teamref ] ) ); assert( isDefined( game[ "carry_icon" ][ teamref ] ) );
#/ #/
*/
return game[ "carry_icon" ][ teamref ]; return game[ "carry_icon" ][ teamref ];
} }

View File

@ -1,5 +1,5 @@
init() init() //checked matches cerberus output
{ {
if ( !isDefined( game[ "flagmodels" ] ) ) if ( !isDefined( game[ "flagmodels" ] ) )
{ {
@ -16,7 +16,7 @@ init()
game[ "flagmodels" ][ "neutral" ] = "mp_flag_neutral"; game[ "flagmodels" ][ "neutral" ] = "mp_flag_neutral";
} }
customteam_init() customteam_init() //checked matches cerberus output
{ {
if ( getDvar( "g_customTeamName_Allies" ) != "" ) if ( getDvar( "g_customTeamName_Allies" ) != "" )
{ {
@ -27,3 +27,4 @@ customteam_init()
setdvar( "g_TeamName_Axis", getDvar( "g_customTeamName_Axis" ) ); setdvar( "g_TeamName_Axis", getDvar( "g_customTeamName_Axis" ) );
} }
} }

View File

@ -1,6 +1,12 @@
#include mpbody/class_assault_cd;
#include mpbody/class_assault_isa;
#include mpbody/class_assault_chn_pla;
#include mpbody/class_assault_rus_pmc;
#include mpbody/class_assault_usa_fbi;
#include mpbody/class_assault_usa_seals;
#include maps/mp/teams/_teamset; #include maps/mp/teams/_teamset;
main() main() //checked matches cerberus output
{ {
maps/mp/teams/_teamset::init(); maps/mp/teams/_teamset::init();
init_seals( "allies" ); init_seals( "allies" );
@ -14,7 +20,7 @@ main()
precache(); precache();
} }
precache() precache() //checked matches cerberus output
{ {
mpbody/class_assault_usa_seals::precache(); mpbody/class_assault_usa_seals::precache();
mpbody/class_assault_usa_fbi::precache(); mpbody/class_assault_usa_fbi::precache();
@ -24,7 +30,7 @@ precache()
mpbody/class_assault_cd::precache(); mpbody/class_assault_cd::precache();
} }
init_seals( team ) init_seals( team ) //checked matches cerberus output
{ {
game[ team ] = "seals"; game[ team ] = "seals";
game[ "attackers" ] = team; game[ "attackers" ] = team;
@ -55,7 +61,7 @@ init_seals( team )
game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry"; game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry";
} }
init_pmc( team ) init_pmc( team ) //checked matches cerberus output
{ {
game[ team ] = "pmc"; game[ team ] = "pmc";
game[ "defenders" ] = team; game[ "defenders" ] = team;
@ -86,7 +92,7 @@ init_pmc( team )
game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry"; game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry";
} }
init_pla( team ) init_pla( team ) //checked matches cerberus output
{ {
game[ team ] = "pla"; game[ team ] = "pla";
game[ "defenders" ] = team; game[ "defenders" ] = team;
@ -117,7 +123,7 @@ init_pla( team )
game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry"; game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry";
} }
init_fbi( team ) init_fbi( team ) //checked matches cerberus output
{ {
game[ team ] = "fbi"; game[ team ] = "fbi";
game[ "attackers" ] = team; game[ "attackers" ] = team;
@ -148,7 +154,7 @@ init_fbi( team )
game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry"; game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry";
} }
init_isa( team ) init_isa( team ) //checked matches cerberus output
{ {
game[ team ] = "isa"; game[ team ] = "isa";
game[ "attackers" ] = team; game[ "attackers" ] = team;
@ -179,7 +185,7 @@ init_isa( team )
game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry"; game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry";
} }
init_cd( team ) init_cd( team ) //checked matches cerberus output
{ {
game[ team ] = "cd"; game[ team ] = "cd";
game[ "attackers" ] = team; game[ "attackers" ] = team;
@ -209,3 +215,4 @@ init_cd( team )
game[ "carry_flagmodels" ][ team ] = "mp_flag_axis_1_carry"; game[ "carry_flagmodels" ][ team ] = "mp_flag_axis_1_carry";
game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry"; game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry";
} }

View File

@ -18,8 +18,64 @@ patch_mp/maps/mp/bots/_bot.gsc
### The following scripts compile but cause a minidump or other severe error: ### The following scripts compile but cause a minidump or other severe error:
``` ```
``` ```
### The following scripts cannot be compiled due to animation references
```
```
### The following scripts have been checked, but they have not been tested yet ### The following scripts have been checked, but they have not been tested yet
``` ```
patch_mp/maps/codescripts/character_mp.gsc
patch_mp/maps/codescripts/delete.gsc
patch_mp/maps/codescripts/struct.gsc
patch_mp/maps/mp/_ambientpackage.gsc
patch_mp/maps/mp/_audio.gsc
patch_mp/maps/mp/_bb.gsc
patch_mp/maps/mp/_busing.gsc
patch_mp/maps/mp/_compass.gsc
patch_mp/maps/mp/_demo.gsc
patch_mp/maps/mp/_development_dvars.gsc
patch_mp/maps/mp/_explosive_bolt.gsc
patch_mp/maps/mp/_fxanim.gsc
patch_mp/maps/mp/_medals.gsc
patch_mp/maps/mp/_menus.gsc
patch_mp/maps/mp/_multi_extracam.gsc
patch_mp/maps/mp/_music.gsc
patch_mp/maps/mp/_pc.gsc
patch_mp/maps/mp/_satchel_charge.gsc
patch_mp/maps/mp/_smokegrenade.gsc
patch_mp/maps/mp/_sticky_grenade.gsc
patch_mp/maps/mp/mp_bridge.gsc
patch_mp/maps/mp/mp_carrier.gsc
patch_mp/maps/mp/mp_castaway.sc
patch_mp/maps/mp/mp_concert.gsc
patch_mp/maps/mp/mp_dig.gsc
patch_mp/maps/mp/mp_dockside.gsc
patch_mp/maps/mp/mp_dockside_crane.gsc
patch_mp/maps/mp/mp_downhill.gsc
patch_mp/maps/mp/mp_drone.gsc
patch_mp/maps/mp/mp_express.gsc
patch_mp/maps/mp/mp_frostbite.gsc
patch_mp/maps/mp/mp_hijacked.gsc
patch_mp/maps/mp/mp_hydro.gsc
patch_mp/maps/mp/mp_la.gsc
patch_mp/maps/mp/mp_meltdown.gsc
patch_mp/maps/mp/mp_mirage.gsc
patch_mp/maps/mp/mp_nightclub.gsc
patch_mp/maps/mp/mp_nuketown_2020.gsc
patch_mp/maps/mp/mp_overflow.gsc
patch_mp/maps/mp/mp_paintball.gsc
patch_mp/maps/mp/mp_pod.gsc
patch_mp/maps/mp/mp_raid.gsc
patch_mp/maps/mp/mp_skate.gsc
patch_mp/maps/mp/mp_slums.gsc
patch_mp/maps/mp/mp_socotra.gsc
patch_mp/maps/mp/mp_studio.gsc
patch_mp/maps/mp/mp_takeoff.gsc
patch_mp/maps/mp/mp_turbine.gsc
patch_mp/maps/mp/mp_uplink.gsc
patch_mp/maps/mp/mp_vertigo.gsc
patch_mp/maps/mp/mp_village.gsc
patch_mp/maps/mp/bots/_bot_combat.gsc patch_mp/maps/mp/bots/_bot_combat.gsc
patch_mp/maps/mp/bots/_bot_loadout.gsc patch_mp/maps/mp/bots/_bot_loadout.gsc
patch_mp/maps/mp/bots/_bot_conf.gsc patch_mp/maps/mp/bots/_bot_conf.gsc
@ -84,37 +140,29 @@ patch_mp/maps/mp/gametypes/sas.gsc
patch_mp/maps/mp/gametypes/sd.gsc patch_mp/maps/mp/gametypes/sd.gsc
patch_mp/maps/mp/gametypes/shrp.gsc patch_mp/maps/mp/gametypes/shrp.gsc
patch_mp/maps/mp/gametypes/tdm.gsc patch_mp/maps/mp/gametypes/tdm.gsc
patch_mp/maps/mp/teams/_teams.gsc
patch_mp/maps/mp/teams/_teamset.gsc
patch_mp/maps/mp/teams/_teamset_multiteam.gsc
``` ```
### The following scripts are not checked yet, uploaded to setup a baseline: ### The following scripts are not checked yet, uploaded to setup a baseline:
``` ```
patch_mp/maps/codescripts/character_mp.gsc
patch_mp/maps/codescripts/delete.gsc
patch_mp/maps/codescripts/struct.gsc
patch_mp/maps/common_scripts/utility.gsc patch_mp/maps/common_scripts/utility.gsc
patch_mp/maps/mp/_acousticsensor.gsc patch_mp/maps/mp/_acousticsensor.gsc
patch_mp/maps/mp/_ambientpackage.gsc
patch_mp/maps/mp/_art.gsc patch_mp/maps/mp/_art.gsc
patch_mp/maps/mp/_audio.gsc
patch_mp/maps/mp/_ballistic_knife.gsc patch_mp/maps/mp/_ballistic_knife.gsc
patch_mp/maps/mp/_bb.gsc
patch_mp/maps/mp/_bouncingbetty.gsc patch_mp/maps/mp/_bouncingbetty.gsc
patch_mp/maps/mp/_busing.gsc
patch_mp/maps/mp/_challenges.gsc patch_mp/maps/mp/_challenges.gsc
patch_mp/maps/mp/_compass.gsc
patch_mp/maps/mp/_createfx.gsc patch_mp/maps/mp/_createfx.gsc
patch_mp/maps/mp/_createfxmenu.gsc patch_mp/maps/mp/_createfxmenu.gsc
patch_mp/maps/mp/_createfxundo.gsc patch_mp/maps/mp/_createfxundo.gsc
patch_mp/maps/mp/_decoy.gsc patch_mp/maps/mp/_decoy.gsc
patch_mp/maps/mp/_destructible.gsc patch_mp/maps/mp/_destructible.gsc
patch_mp/maps/mp/_development_dvars.gsc
patch_mp/maps/mp/_empgrenade.gsc patch_mp/maps/mp/_empgrenade.gsc
patch_mp/maps/mp/_entityheadicons.gsc patch_mp/maps/mp/_entityheadicons.gsc
patch_mp/maps/mp/_explosive_bolt.gsc
patch_mp/maps/mp/_flashgrenades.gsc patch_mp/maps/mp/_flashgrenades.gsc
patch_mp/maps/mp/_fx.gsc patch_mp/maps/mp/_fx.gsc
patch_mp/maps/mp/_fxanim.gsc
patch_mp/maps/mp/_gameadvertisement.gsc patch_mp/maps/mp/_gameadvertisement.gsc
patch_mp/maps/mp/_gamerep.gsc patch_mp/maps/mp/_gamerep.gsc
patch_mp/maps/mp/_global_fx.gsc patch_mp/maps/mp/_global_fx.gsc
@ -122,22 +170,14 @@ patch_mp/maps/mp/_hacker_tool.gsc
patch_mp/maps/mp/_heatseekingmissle.gsc patch_mp/maps/mp/_heatseekingmissle.gsc
patch_mp/maps/mp/_interactive_objects.gsc patch_mp/maps/mp/_interactive_objects.gsc
patch_mp/maps/mp/_load.gsc patch_mp/maps/mp/_load.gsc
patch_mp/maps/mp/_medals.gsc
patch_mp/maps/mp/_menus.gsc
patch_mp/maps/mp/_mgturret.gsc patch_mp/maps/mp/_mgturret.gsc
patch_mp/maps/mp/_multi_extracam.gsc
patch_mp/maps/mp/_music.gsc
patch_mp/maps/mp/_pc.gsc
patch_mp/maps/mp/_popups.gsc patch_mp/maps/mp/_popups.gsc
patch_mp/maps/mp/_proximity_grenade.gsc patch_mp/maps/mp/_proximity_grenade.gsc
patch_mp/maps/mp/_riotshield.gsc patch_mp/maps/mp/_riotshield.gsc
patch_mp/maps/mp/_satchel_charge.gsc
patch_mp/maps/mp/_scoreevents.gsc patch_mp/maps/mp/_scoreevents.gsc
patch_mp/maps/mp/_scrambler.gsc patch_mp/maps/mp/_scrambler.gsc
patch_mp/maps/mp/_script_gen.gsc patch_mp/maps/mp/_script_gen.gsc
patch_mp/maps/mp/_sensor_grenade.gsc patch_mp/maps/mp/_sensor_grenade.gsc
patch_mp/maps/mp/_smokegrenade.gsc
patch_mp/maps/mp/_sticky_grenade.gsc
patch_mp/maps/mp/_tabun.gsc patch_mp/maps/mp/_tabun.gsc
patch_mp/maps/mp/_tacticalinsertion.gsc patch_mp/maps/mp/_tacticalinsertion.gsc
patch_mp/maps/mp/_teargrenades.gsc patch_mp/maps/mp/_teargrenades.gsc
@ -145,40 +185,9 @@ patch_mp/maps/mp/_treadfx.gsc
patch_mp/maps/mp/_trophy_system.gsc patch_mp/maps/mp/_trophy_system.gsc
patch_mp/maps/mp/_utility.gsc patch_mp/maps/mp/_utility.gsc
patch_mp/maps/mp/_vehicles.gsc patch_mp/maps/mp/_vehicles.gsc
patch_mp/maps/mp/mp_bridge.gsc
patch_mp/maps/mp/mp_carrier.gsc
patch_mp/maps/mp/mp_castaway.sc
patch_mp/maps/mp/mp_concert.gsc
patch_mp/maps/mp/mp_dig.gsc
patch_mp/maps/mp/mp_dockside.gsc
patch_mp/maps/mp/mp_dockside_crane.gsc
patch_mp/maps/mp/mp_downhill.gsc
patch_mp/maps/mp/mp_downhill_cablecar.gsc patch_mp/maps/mp/mp_downhill_cablecar.gsc
patch_mp/maps/mp/mp_drone.gsc
patch_mp/maps/mp/mp_express.gsc
patch_mp/maps/mp/mp_express_train.gsc patch_mp/maps/mp/mp_express_train.gsc
patch_mp/maps/mp/mp_frostbite.gsc
patch_mp/maps/mp/mp_hijacked.gsc
patch_mp/maps/mp/mp_hydro.gsc
patch_mp/maps/mp/mp_la.gsc
patch_mp/maps/mp/mp_magma.gsc patch_mp/maps/mp/mp_magma.gsc
patch_mp/maps/mp/mp_meltdown.gsc
patch_mp/maps/mp/mp_mirage.gsc
patch_mp/maps/mp/mp_nightclub.gsc
patch_mp/maps/mp/mp_nuketown_2020.gsc
patch_mp/maps/mp/mp_overflow.gsc
patch_mp/maps/mp/mp_paintball.gsc
patch_mp/maps/mp/mp_pod.gsc
patch_mp/maps/mp/mp_raid.gsc
patch_mp/maps/mp/mp_skate.gsc
patch_mp/maps/mp/mp_slums.gsc
patch_mp/maps/mp/mp_socotra.gsc
patch_mp/maps/mp/mp_studio.gsc
patch_mp/maps/mp/mp_takeoff.gsc
patch_mp/maps/mp/mp_turbine.gsc
patch_mp/maps/mp/mp_uplink.gsc
patch_mp/maps/mp/mp_vertigo.gsc
patch_mp/maps/mp/mp_village.gsc
patch_mp/maps/mp/killstreaks/_ai_tank.gsc patch_mp/maps/mp/killstreaks/_ai_tank.gsc
patch_mp/maps/mp/killstreaks/_airsupport.gsc patch_mp/maps/mp/killstreaks/_airsupport.gsc
@ -204,10 +213,6 @@ patch_mp/maps/mp/killstreaks/_straferun.gsc
patch_mp/maps/mp/killstreaks/_supplycrate.gsc patch_mp/maps/mp/killstreaks/_supplycrate.gsc
patch_mp/maps/mp/killstreaks/_supplydrop.gsc patch_mp/maps/mp/killstreaks/_supplydrop.gsc
patch_mp/maps/mp/killstreaks/_turret_killstreak.gsc patch_mp/maps/mp/killstreaks/_turret_killstreak.gsc
patch_mp/maps/mp/teams/_teams.gsc
patch_mp/maps/mp/teams/_teamset.gsc
patch_mp/maps/mp/teams/_teamset_multiteam.gsc
``` ```
### The following scipts are dev scripts filled with dev calls making them useless to modify for now ### The following scipts are dev scripts filled with dev calls making them useless to modify for now
``` ```