mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-08 01:47:50 -05:00
Checked all mp gametype scripts again.
This commit is contained in:
parent
d904cb1bc2
commit
e110fd5129
@ -77,6 +77,7 @@ onstartgametype() //checked changed to match cerberus output
|
|||||||
game[ "attackers" ] = olddefenders;
|
game[ "attackers" ] = olddefenders;
|
||||||
game[ "defenders" ] = oldattackers;
|
game[ "defenders" ] = oldattackers;
|
||||||
}
|
}
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = level.gametype;
|
allowed[ 0 ] = level.gametype;
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
level.spawnmins = ( 0, 0, 1 );
|
level.spawnmins = ( 0, 0, 1 );
|
||||||
@ -136,6 +137,7 @@ spawndogtags( victim, attacker ) //checked changed to match cerberus output
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
visuals = [];
|
||||||
visuals[ 0 ] = spawn( "script_model", ( 0, 0, 0 ) );
|
visuals[ 0 ] = spawn( "script_model", ( 0, 0, 0 ) );
|
||||||
visuals[ 0 ] setmodel( "p6_dogtags" );
|
visuals[ 0 ] setmodel( "p6_dogtags" );
|
||||||
visuals[ 1 ] = spawn( "script_model", ( 0, 0, 0 ) );
|
visuals[ 1 ] = spawn( "script_model", ( 0, 0, 0 ) );
|
||||||
|
@ -179,6 +179,7 @@ onstartgametype() //checked changed to match cerberus output
|
|||||||
setobjectivehinttext( "axis", &"MP_CTF_OVERTIME_ROUND_2_TIE" );
|
setobjectivehinttext( "axis", &"MP_CTF_OVERTIME_ROUND_2_TIE" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "ctf";
|
allowed[ 0 ] = "ctf";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
@ -413,6 +414,7 @@ updategametypedvars() //checked matches cerberus output
|
|||||||
|
|
||||||
createflag( trigger ) //checked matches cerberus output
|
createflag( trigger ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
|
visuals = [];
|
||||||
if ( isDefined( trigger.target ) )
|
if ( isDefined( trigger.target ) )
|
||||||
{
|
{
|
||||||
visuals[ 0 ] = getent( trigger.target, "targetname" );
|
visuals[ 0 ] = getent( trigger.target, "targetname" );
|
||||||
|
@ -266,6 +266,7 @@ onstartgametype() //checked changed to match cerberus output
|
|||||||
{
|
{
|
||||||
level.dembombzonename = "bombzone";
|
level.dembombzonename = "bombzone";
|
||||||
}
|
}
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "sd";
|
allowed[ 0 ] = "sd";
|
||||||
allowed[ 1 ] = level.dembombzonename;
|
allowed[ 1 ] = level.dembombzonename;
|
||||||
allowed[ 2 ] = "blocker";
|
allowed[ 2 ] = "blocker";
|
||||||
@ -394,7 +395,7 @@ onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shi
|
|||||||
bombzone = level.bombzones[ index ];
|
bombzone = level.bombzones[ index ];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else dist = distance2d( attacker.origin, level.bombzones[ index ].curorigin );
|
dist = distance2d( attacker.origin, level.bombzones[ index ].curorigin );
|
||||||
if ( dist < level.defaultoffenseradius )
|
if ( dist < level.defaultoffenseradius )
|
||||||
{
|
{
|
||||||
inbombzone = 1;
|
inbombzone = 1;
|
||||||
@ -427,30 +428,33 @@ onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shi
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( !isDefined( attacker.dem_defends ) )
|
else
|
||||||
{
|
{
|
||||||
attacker.dem_defends = 0;
|
if ( !isDefined( attacker.dem_defends ) )
|
||||||
}
|
|
||||||
attacker.dem_defends++;
|
|
||||||
if ( level.playerdefensivemax >= attacker.dem_defends )
|
|
||||||
{
|
|
||||||
if ( isDefined( attacker.pers[ "defends" ] ) )
|
|
||||||
{
|
{
|
||||||
attacker.pers[ "defends" ]++;
|
attacker.dem_defends = 0;
|
||||||
attacker.defends = attacker.pers[ "defends" ];
|
}
|
||||||
|
attacker.dem_defends++;
|
||||||
|
if ( level.playerdefensivemax >= attacker.dem_defends )
|
||||||
|
{
|
||||||
|
if ( isDefined( attacker.pers[ "defends" ] ) )
|
||||||
|
{
|
||||||
|
attacker.pers[ "defends" ]++;
|
||||||
|
attacker.defends = attacker.pers[ "defends" ];
|
||||||
|
}
|
||||||
|
attacker maps/mp/_medals::defenseglobalcount();
|
||||||
|
attacker addplayerstatwithgametype( "DEFENDS", 1 );
|
||||||
|
self recordkillmodifier( "assaulting" );
|
||||||
|
maps/mp/_scoreevents::processscoreevent( "killed_attacker", attacker, self, sweapon );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
/#
|
||||||
|
attacker iprintlnbold( "GAMETYPE DEBUG: NOT GIVING YOU DEFENSIVE CREDIT AS BOOSTING PREVENTION" );
|
||||||
|
#/
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
attacker maps/mp/_medals::defenseglobalcount();
|
|
||||||
attacker addplayerstatwithgametype( "DEFENDS", 1 );
|
|
||||||
self recordkillmodifier( "assaulting" );
|
|
||||||
maps/mp/_scoreevents::processscoreevent( "killed_attacker", attacker, self, sweapon );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
/#
|
|
||||||
attacker iprintlnbold( "GAMETYPE DEBUG: NOT GIVING YOU DEFENSIVE CREDIT AS BOOSTING PREVENTION" );
|
|
||||||
#/
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( self.isplanting == 1 )
|
if ( self.isplanting == 1 )
|
||||||
@ -466,7 +470,7 @@ onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shi
|
|||||||
checkallowspectating() //checked changed to match cerberus output
|
checkallowspectating() //checked changed to match cerberus output
|
||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
wait 0,05;
|
wait 0.05;
|
||||||
update = 0;
|
update = 0;
|
||||||
livesleft = !level.numlives && !self.pers["lives"];
|
livesleft = !level.numlives && !self.pers["lives"];
|
||||||
if ( !level.alivecount[ game[ "attackers" ] ] && !livesleft )
|
if ( !level.alivecount[ game[ "attackers" ] ] && !livesleft )
|
||||||
|
@ -51,6 +51,7 @@ onstartgametype() //checked matches cerberus output
|
|||||||
}
|
}
|
||||||
setobjectivehinttext( "allies", &"OBJECTIVES_DM_HINT" );
|
setobjectivehinttext( "allies", &"OBJECTIVES_DM_HINT" );
|
||||||
setobjectivehinttext( "axis", &"OBJECTIVES_DM_HINT" );
|
setobjectivehinttext( "axis", &"OBJECTIVES_DM_HINT" );
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "dm";
|
allowed[ 0 ] = "dm";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
@ -104,7 +105,7 @@ onscoreclosemusic() //checked changed to match cerberus output
|
|||||||
while ( !level.gameended )
|
while ( !level.gameended )
|
||||||
{
|
{
|
||||||
scorelimit = level.scorelimit;
|
scorelimit = level.scorelimit;
|
||||||
scorethreshold = scorelimit * 0,9;
|
scorethreshold = scorelimit * 0.9;
|
||||||
for ( i = 0; i < level.players.size; i++ )
|
for ( i = 0; i < level.players.size; i++ )
|
||||||
{
|
{
|
||||||
scorecheck = [[ level._getplayerscore ]]( level.players[ i ] );
|
scorecheck = [[ level._getplayerscore ]]( level.players[ i ] );
|
||||||
|
@ -101,6 +101,7 @@ onstartgametype() //checked changed to match cerberus output
|
|||||||
level.flagbasefxid[ "allies" ] = loadfx( "misc/fx_ui_flagbase_" + game[ "allies" ] );
|
level.flagbasefxid[ "allies" ] = loadfx( "misc/fx_ui_flagbase_" + game[ "allies" ] );
|
||||||
level.flagbasefxid[ "axis" ] = loadfx( "misc/fx_ui_flagbase_" + game[ "axis" ] );
|
level.flagbasefxid[ "axis" ] = loadfx( "misc/fx_ui_flagbase_" + game[ "axis" ] );
|
||||||
setclientnamemode( "auto_change" );
|
setclientnamemode( "auto_change" );
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "dom";
|
allowed[ 0 ] = "dom";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
@ -151,21 +152,17 @@ onspawnplayer( predictedspawn ) //checked partially changed to match cerberus ou
|
|||||||
flagsowned = 0;
|
flagsowned = 0;
|
||||||
enemyflagsowned = 0;
|
enemyflagsowned = 0;
|
||||||
enemyteam = getotherteam( self.pers[ "team" ] );
|
enemyteam = getotherteam( self.pers[ "team" ] );
|
||||||
i = 0;
|
for ( i = 0; i < level.flags.size; i++ )
|
||||||
while ( i < level.flags.size )
|
|
||||||
{
|
{
|
||||||
team = level.flags[ i ] getflagteam();
|
team = level.flags[ i ] getflagteam();
|
||||||
if ( team == self.pers[ "team" ] )
|
if ( team == self.pers[ "team" ] )
|
||||||
{
|
{
|
||||||
flagsowned++;
|
flagsowned++;
|
||||||
i++;
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
if ( team == enemyteam )
|
else if ( team == enemyteam )
|
||||||
{
|
{
|
||||||
enemyflagsowned++;
|
enemyflagsowned++;
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
enemyteam = getotherteam( spawnteam );
|
enemyteam = getotherteam( spawnteam );
|
||||||
if ( flagsowned == level.flags.size )
|
if ( flagsowned == level.flags.size )
|
||||||
@ -180,7 +177,7 @@ onspawnplayer( predictedspawn ) //checked partially changed to match cerberus ou
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
bestflag = undefined;
|
bestflag = undefined;
|
||||||
if ( enemyflagsowned > 0 && enemyflagsowned < level.flags.size )
|
if ( ( enemyflagsowned > 0 ) && ( enemyflagsowned < level.flags.size ) )
|
||||||
{
|
{
|
||||||
bestflag = getunownedflagneareststart( spawnteam );
|
bestflag = getunownedflagneareststart( spawnteam );
|
||||||
}
|
}
|
||||||
@ -288,6 +285,7 @@ domflags() //checked changed to match cerberus output
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
level.flags = [];
|
level.flags = [];
|
||||||
|
visuals = [];
|
||||||
for ( index = 0; index < primaryflags.size; index++ )
|
for ( index = 0; index < primaryflags.size; index++ )
|
||||||
{
|
{
|
||||||
level.flags[ level.flags.size ] = primaryflags[ index ];
|
level.flags[ level.flags.size ] = primaryflags[ index ];
|
||||||
@ -367,7 +365,7 @@ getunownedflagneareststart( team, excludeflag ) //checked partially changed to m
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
distsq = distancesquared( flag.origin, level.startpos[ team ] );
|
distsq = distancesquared( flag.origin, level.startpos[ team ] );
|
||||||
if ( isDefined( excludeflag ) && flag != excludeflag || !isDefined( best ) && distsq < bestdistsq )
|
if ( ( !isDefined( excludeflag ) || flag != excludeflag ) && ( !isDefined( best ) || ( distsq < bestdistsq ) ) )
|
||||||
{
|
{
|
||||||
bestdistsq = distsq;
|
bestdistsq = distsq;
|
||||||
best = flag;
|
best = flag;
|
||||||
@ -736,7 +734,7 @@ updatedomscores() //checked matches cerberus output
|
|||||||
}
|
}
|
||||||
onscoreclosemusic();
|
onscoreclosemusic();
|
||||||
timepassed = maps/mp/gametypes/_globallogic_utils::gettimepassed();
|
timepassed = maps/mp/gametypes/_globallogic_utils::gettimepassed();
|
||||||
if ( ( timepassed / 1000 ) > 120 && numownedflags < 2 && ( timepassed / 1000 ) > 300 && numownedflags < 3 && gamemodeismode( level.gamemode_public_match ) )
|
if ( ( ( timepassed / 1000 ) > 120 ) && numownedflags < 2 || ( ( timepassed / 1000 ) > 300 ) && numownedflags < 3 && gamemodeismode( level.gamemode_public_match ) )
|
||||||
{
|
{
|
||||||
thread maps/mp/gametypes/_globallogic::endgame( "tie", game[ "strings" ][ "time_limit_reached" ] );
|
thread maps/mp/gametypes/_globallogic::endgame( "tie", game[ "strings" ][ "time_limit_reached" ] );
|
||||||
return;
|
return;
|
||||||
@ -769,7 +767,7 @@ onscoreclosemusic() //checked matches cerberus output
|
|||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
/#
|
/#
|
||||||
if ( getDvarInt( #"0BC4784C" ) > 0 )
|
if ( getDvarInt( "debug_music" ) > 0 )
|
||||||
{
|
{
|
||||||
println( "Music System Domination - scoreDif " + scoredif );
|
println( "Music System Domination - scoreDif " + scoredif );
|
||||||
println( "Music System Domination - axisScore " + axisscore );
|
println( "Music System Domination - axisScore " + axisscore );
|
||||||
@ -782,7 +780,7 @@ onscoreclosemusic() //checked matches cerberus output
|
|||||||
#/
|
#/
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if ( scoredif <= scorethreshold && scorethresholdstart <= currentscore && level.playingactionmusic != 1 )
|
if ( ( scoredif <= scorethreshold ) && ( scorethresholdstart <= currentscore ) && level.playingactionmusic != 1 )
|
||||||
{
|
{
|
||||||
thread maps/mp/gametypes/_globallogic_audio::set_music_on_team( "TIME_OUT", "both" );
|
thread maps/mp/gametypes/_globallogic_audio::set_music_on_team( "TIME_OUT", "both" );
|
||||||
thread maps/mp/gametypes/_globallogic_audio::actionmusicset();
|
thread maps/mp/gametypes/_globallogic_audio::actionmusicset();
|
||||||
@ -907,11 +905,14 @@ onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shi
|
|||||||
self recordkillmodifier( "assaulting" );
|
self recordkillmodifier( "assaulting" );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/*
|
else
|
||||||
/#
|
{
|
||||||
attacker iprintlnbold( "GAMETYPE DEBUG: NOT GIVING YOU OFFENSIVE CREDIT AS BOOSTING PREVENTION" );
|
/*
|
||||||
#/
|
/#
|
||||||
*/
|
attacker iprintlnbold( "GAMETYPE DEBUG: NOT GIVING YOU OFFENSIVE CREDIT AS BOOSTING PREVENTION" );
|
||||||
|
#/
|
||||||
|
*/
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -945,7 +946,7 @@ killwhilecontesting( flag ) //checked matches cerberus output
|
|||||||
}
|
}
|
||||||
self.clearenemycount++;
|
self.clearenemycount++;
|
||||||
flag waittill( "contest_over" );
|
flag waittill( "contest_over" );
|
||||||
if ( playerteam != self.pers[ "team" ] || isDefined( self.spawntime ) && killtime < self.spawntime )
|
if ( playerteam != self.pers[ "team" ] || isDefined( self.spawntime ) && ( killtime < self.spawntime ) )
|
||||||
{
|
{
|
||||||
self.clearenemycount = 0;
|
self.clearenemycount = 0;
|
||||||
return;
|
return;
|
||||||
@ -1192,20 +1193,22 @@ flagsetup() //checked partially changed to match cerberus output did not change
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
nearestflag = desc.flag;
|
nearestflag = desc.flag;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
nearestflag = undefined;
|
else
|
||||||
nearestdist = undefined;
|
|
||||||
for ( j = 0; j < flags.size; j++ )
|
|
||||||
{
|
{
|
||||||
dist = distancesquared( flags[ j ].origin, spawnpoints[ i ].origin );
|
nearestflag = undefined;
|
||||||
if ( !isDefined( nearestflag ) || dist < nearestdist )
|
nearestdist = undefined;
|
||||||
|
for ( j = 0; j < flags.size; j++ )
|
||||||
{
|
{
|
||||||
nearestflag = flags[ j ];
|
dist = distancesquared( flags[ j ].origin, spawnpoints[ i ].origin );
|
||||||
nearestdist = dist;
|
if ( !isDefined( nearestflag ) || ( dist < nearestdist ) )
|
||||||
|
{
|
||||||
|
nearestflag = flags[ j ];
|
||||||
|
nearestdist = dist;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
nearestflag.nearbyspawns[ nearestflag.nearbyspawns.size ] = spawnpoints[ i ];
|
||||||
}
|
}
|
||||||
nearestflag.nearbyspawns[ nearestflag.nearbyspawns.size ] = spawnpoints[ i ];
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
if ( maperrors.size > 0 )
|
if ( maperrors.size > 0 )
|
||||||
@ -1332,13 +1335,16 @@ change_dom_spawns() //checked changed to match cerberus output
|
|||||||
maps/mp/gametypes/_spawnlogic::addspawnpoints( "axis", flagspawnname );
|
maps/mp/gametypes/_spawnlogic::addspawnpoints( "axis", flagspawnname );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for ( i = 0; i < flag_number; i++ )
|
else
|
||||||
{
|
{
|
||||||
label = level.flags[ i ].useobj maps/mp/gametypes/_gameobjects::getlabel();
|
for ( i = 0; i < flag_number; i++ )
|
||||||
flagspawnname = "mp_dom_spawn_flag" + label;
|
{
|
||||||
flag_team = level.flags[ i ] getflagteam();
|
label = level.flags[ i ].useobj maps/mp/gametypes/_gameobjects::getlabel();
|
||||||
addspawnpointsforflag( "allies", flag_team, flagspawnname );
|
flagspawnname = "mp_dom_spawn_flag" + label;
|
||||||
addspawnpointsforflag( "axis", flag_team, flagspawnname );
|
flag_team = level.flags[ i ] getflagteam();
|
||||||
|
addspawnpointsforflag( "allies", flag_team, flagspawnname );
|
||||||
|
addspawnpointsforflag( "axis", flag_team, flagspawnname );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
maps/mp/gametypes/_spawning::updateallspawnpoints();
|
maps/mp/gametypes/_spawning::updateallspawnpoints();
|
||||||
}
|
}
|
||||||
@ -1363,7 +1369,7 @@ dominated_challenge_check() //checked changed to match cerberus output
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if ( allied_flags > 0 && axis_flags > 0 )
|
if ( ( allied_flags > 0 ) && ( axis_flags > 0 ) )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1387,7 +1393,7 @@ dominated_check() //checked changed to match cerberus output
|
|||||||
{
|
{
|
||||||
axis_flags++;
|
axis_flags++;
|
||||||
}
|
}
|
||||||
if ( allied_flags > 0 && axis_flags > 0 )
|
if ( ( allied_flags > 0 ) && ( axis_flags > 0 ) )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -195,9 +195,10 @@ promoteplayer( weaponused ) //checked changed to match cerberus output
|
|||||||
self endon( "cancel_promotion" );
|
self endon( "cancel_promotion" );
|
||||||
level endon( "game_ended" );
|
level endon( "game_ended" );
|
||||||
wait 0.05;
|
wait 0.05;
|
||||||
for ( i = 0; i < level.gunprogression[self.gunprogress].names.size; i++ )
|
for ( i = 0; i < level.gunprogression[ self.gunprogress ].names.size; i++ )
|
||||||
{
|
{
|
||||||
if ( weaponused == level.gunprogression[ self.gunprogress ].names[ i ] || weaponused == "explosive_bolt_mp" && level.gunprogression[ self.gunprogress ].names[ i ] != "crossbow_mp" || level.gunprogression[ self.gunprogress ].names[ i ] == "crossbow_mp+reflex" && level.gunprogression[ self.gunprogress ].names[ i ] == "crossbow_mp+acog" )
|
//treyarchs original implementation of this if statement was cancer so i changed it to be simpler
|
||||||
|
if ( weaponused == level.gunprogression[ self.gunprogress ].names[ i ] || weaponused == "explosive_bolt_mp" && issubstr( level.gunprogression[ self.gunprogress ].names[ i ], "crossbow" ) )
|
||||||
{
|
{
|
||||||
if ( self.gunprogress < ( level.gunprogression.size - 1 ) )
|
if ( self.gunprogress < ( level.gunprogression.size - 1 ) )
|
||||||
{
|
{
|
||||||
@ -305,6 +306,7 @@ onstartgametype() //checked matches cerberus output
|
|||||||
}
|
}
|
||||||
setobjectivehinttext( "allies", &"OBJECTIVES_GUN_HINT" );
|
setobjectivehinttext( "allies", &"OBJECTIVES_GUN_HINT" );
|
||||||
setobjectivehinttext( "axis", &"OBJECTIVES_GUN_HINT" );
|
setobjectivehinttext( "axis", &"OBJECTIVES_GUN_HINT" );
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "gun";
|
allowed[ 0 ] = "gun";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
|
@ -180,6 +180,7 @@ onstartgametype() //checked changed to match cerberus output
|
|||||||
updateobjectivehintmessage( level.objectivehintcapturehq );
|
updateobjectivehintmessage( level.objectivehintcapturehq );
|
||||||
}
|
}
|
||||||
setclientnamemode( "auto_change" );
|
setclientnamemode( "auto_change" );
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "hq";
|
allowed[ 0 ] = "hq";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
@ -337,10 +338,11 @@ hqmainloop() //checked changed to match cerberus output
|
|||||||
{
|
{
|
||||||
timerdisplay[ team ] settimer( level.hqautodestroytime );
|
timerdisplay[ team ] settimer( level.hqautodestroytime );
|
||||||
}
|
}
|
||||||
//wait 0.05;
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
level.hqdestroyedbytimer = 0;
|
else
|
||||||
|
{
|
||||||
|
level.hqdestroyedbytimer = 0;
|
||||||
|
}
|
||||||
while ( 1 )
|
while ( 1 )
|
||||||
{
|
{
|
||||||
ownerteam = level.radio.gameobject maps/mp/gametypes/_gameobjects::getownerteam();
|
ownerteam = level.radio.gameobject maps/mp/gametypes/_gameobjects::getownerteam();
|
||||||
@ -833,7 +835,7 @@ setupnearbyspawns() //checked changed to match cerberus output
|
|||||||
for ( i = 1; i < spawns.size; i++ )
|
for ( i = 1; i < spawns.size; i++ )
|
||||||
{
|
{
|
||||||
thespawn = spawns[ i ];
|
thespawn = spawns[ i ];
|
||||||
for ( j = i - 1; j >= 0 && thespawn.distsq < spawns[j].distsq; j-- )
|
for ( j = i - 1; j >= 0 && thespawn.distsq < spawns[ j ].distsq; j-- )
|
||||||
{
|
{
|
||||||
spawns[ j + 1 ] = spawns[ j ];
|
spawns[ j + 1 ] = spawns[ j ];
|
||||||
|
|
||||||
@ -849,7 +851,7 @@ setupnearbyspawns() //checked changed to match cerberus output
|
|||||||
{
|
{
|
||||||
first[ first.size ] = spawns[ i ];
|
first[ first.size ] = spawns[ i ];
|
||||||
}
|
}
|
||||||
while ( i < spawns.size )
|
for ( ; i < spawns.size; i++ )
|
||||||
{
|
{
|
||||||
outer[ outer.size ] = spawns[ i ];
|
outer[ outer.size ] = spawns[ i ];
|
||||||
if ( i <= ( thirdsize * 2 ) )
|
if ( i <= ( thirdsize * 2 ) )
|
||||||
@ -860,7 +862,6 @@ setupnearbyspawns() //checked changed to match cerberus output
|
|||||||
{
|
{
|
||||||
third[ third.size ] = spawns[ i ];
|
third[ third.size ] = spawns[ i ];
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
self.gameobject.nearspawns = first;
|
self.gameobject.nearspawns = first;
|
||||||
self.gameobject.midspawns = second;
|
self.gameobject.midspawns = second;
|
||||||
@ -1088,7 +1089,7 @@ onroundswitch() //checked matches cerberus output
|
|||||||
|
|
||||||
onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration ) //checked changed to match cerberus output
|
onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration ) //checked changed to match cerberus output
|
||||||
{
|
{
|
||||||
if ( isplayer( attacker ) || !self.touchtriggers.size && !attacker.touchtriggers.size || attacker.pers[ "team" ] == self.pers[ "team" ] )
|
if ( isplayer( attacker ) || ( !self.touchtriggers.size && !attacker.touchtriggers.size ) || attacker.pers[ "team" ] == self.pers[ "team" ] )
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1194,7 +1195,7 @@ killwhilecontesting( radio ) //checked matches cerberus output
|
|||||||
}
|
}
|
||||||
self.clearenemycount++;
|
self.clearenemycount++;
|
||||||
radio waittill( "state_change" );
|
radio waittill( "state_change" );
|
||||||
if ( playerteam != self.pers[ "team" ] || isDefined( self.spawntime ) && killtime < self.spawntime )
|
if ( playerteam != self.pers[ "team" ] || isDefined( self.spawntime ) && ( killtime < self.spawntime ) )
|
||||||
{
|
{
|
||||||
self.clearenemycount = 0;
|
self.clearenemycount = 0;
|
||||||
return;
|
return;
|
||||||
|
@ -192,6 +192,7 @@ onstartgametype() //checked partially changed to match cerberus output did not u
|
|||||||
updateobjectivehintmessage( level.objectivehintcapturezone );
|
updateobjectivehintmessage( level.objectivehintcapturezone );
|
||||||
}
|
}
|
||||||
setclientnamemode( "auto_change" );
|
setclientnamemode( "auto_change" );
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "koth";
|
allowed[ 0 ] = "koth";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
@ -375,7 +376,6 @@ kothmainloop() //checked changed to match cerberus output
|
|||||||
timerdisplay = [];
|
timerdisplay = [];
|
||||||
foreach ( team in level.teams )
|
foreach ( team in level.teams )
|
||||||
{
|
{
|
||||||
team = _a436[ _k436 ];
|
|
||||||
timerdisplay[ team ] = createservertimer( "objective", 1.4, team );
|
timerdisplay[ team ] = createservertimer( "objective", 1.4, team );
|
||||||
timerdisplay[ team ] setgamemodeinfopoint();
|
timerdisplay[ team ] setgamemodeinfopoint();
|
||||||
timerdisplay[ team ].label = zonespawninginstr;
|
timerdisplay[ team ].label = zonespawninginstr;
|
||||||
@ -559,15 +559,18 @@ onzonecapture( player ) //checked partially changed to match cerberus output did
|
|||||||
}
|
}
|
||||||
thread playsoundonplayers( game[ "objective_gained_sound" ], team );
|
thread playsoundonplayers( game[ "objective_gained_sound" ], team );
|
||||||
}
|
}
|
||||||
else if ( oldteam == team )
|
else
|
||||||
{
|
{
|
||||||
maps/mp/gametypes/_globallogic_audio::leaderdialog( "koth_lost", team, "gamemode_objective" );
|
if ( oldteam == team )
|
||||||
|
{
|
||||||
|
maps/mp/gametypes/_globallogic_audio::leaderdialog( "koth_lost", team, "gamemode_objective" );
|
||||||
|
}
|
||||||
|
else if ( oldteam == "neutral" )
|
||||||
|
{
|
||||||
|
maps/mp/gametypes/_globallogic_audio::leaderdialog( "koth_captured", team, "gamemode_objective" );
|
||||||
|
}
|
||||||
|
thread playsoundonplayers( game[ "objective_lost_sound" ], team );
|
||||||
}
|
}
|
||||||
else if ( oldteam == "neutral" )
|
|
||||||
{
|
|
||||||
maps/mp/gametypes/_globallogic_audio::leaderdialog( "koth_captured", team, "gamemode_objective" );
|
|
||||||
}
|
|
||||||
thread playsoundonplayers( game[ "objective_lost_sound" ], team );
|
|
||||||
}
|
}
|
||||||
level thread awardcapturepoints( capture_team, self.lastcaptureteam );
|
level thread awardcapturepoints( capture_team, self.lastcaptureteam );
|
||||||
self.capturecount++;
|
self.capturecount++;
|
||||||
@ -1264,22 +1267,25 @@ onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shi
|
|||||||
self recordkillmodifier( "defending" );
|
self recordkillmodifier( "defending" );
|
||||||
scoreeventprocessed = 1;
|
scoreeventprocessed = 1;
|
||||||
}
|
}
|
||||||
else if ( !medalgiven )
|
else
|
||||||
{
|
{
|
||||||
if ( isDefined( attacker.pers[ "defends" ] ) )
|
if ( !medalgiven )
|
||||||
{
|
{
|
||||||
attacker.pers[ "defends" ]++;
|
if ( isDefined( attacker.pers[ "defends" ] ) )
|
||||||
attacker.defends = attacker.pers[ "defends" ];
|
{
|
||||||
|
attacker.pers[ "defends" ]++;
|
||||||
|
attacker.defends = attacker.pers[ "defends" ];
|
||||||
|
}
|
||||||
|
attacker maps/mp/_medals::defenseglobalcount();
|
||||||
|
medalgiven = 1;
|
||||||
|
attacker addplayerstatwithgametype( "DEFENDS", 1 );
|
||||||
|
attacker recordgameevent( "return" );
|
||||||
}
|
}
|
||||||
attacker maps/mp/_medals::defenseglobalcount();
|
attacker maps/mp/_challenges::killedzoneattacker( sweapon );
|
||||||
medalgiven = 1;
|
maps/mp/_scoreevents::processscoreevent( "hardpoint_kill", attacker, undefined, sweapon );
|
||||||
attacker addplayerstatwithgametype( "DEFENDS", 1 );
|
self recordkillmodifier( "assaulting" );
|
||||||
attacker recordgameevent( "return" );
|
scoreeventprocessed = 1;
|
||||||
}
|
}
|
||||||
attacker maps/mp/_challenges::killedzoneattacker( sweapon );
|
|
||||||
maps/mp/_scoreevents::processscoreevent( "hardpoint_kill", attacker, undefined, sweapon );
|
|
||||||
self recordkillmodifier( "assaulting" );
|
|
||||||
scoreeventprocessed = 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( attacker.touchtriggers.size || level.capturetime == 0 && attacker istouching( level.zone.trig ) )
|
if ( attacker.touchtriggers.size || level.capturetime == 0 && attacker istouching( level.zone.trig ) )
|
||||||
@ -1313,16 +1319,19 @@ onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shi
|
|||||||
self recordkillmodifier( "assaulting" );
|
self recordkillmodifier( "assaulting" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( !medalgiven )
|
else
|
||||||
{
|
{
|
||||||
attacker maps/mp/_medals::offenseglobalcount();
|
if ( !medalgiven )
|
||||||
medalgiven = 1;
|
{
|
||||||
attacker addplayerstatwithgametype( "OFFENDS", 1 );
|
attacker maps/mp/_medals::offenseglobalcount();
|
||||||
}
|
medalgiven = 1;
|
||||||
if ( scoreeventprocessed == 0 )
|
attacker addplayerstatwithgametype( "OFFENDS", 1 );
|
||||||
{
|
}
|
||||||
maps/mp/_scoreevents::processscoreevent( "hardpoint_kill", attacker, undefined, sweapon );
|
if ( scoreeventprocessed == 0 )
|
||||||
self recordkillmodifier( "defending" );
|
{
|
||||||
|
maps/mp/_scoreevents::processscoreevent( "hardpoint_kill", attacker, undefined, sweapon );
|
||||||
|
self recordkillmodifier( "defending" );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ main() //checked matches cerberus output
|
|||||||
|
|
||||||
onplayerdamage( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime ) //checked changed to match cerberus output
|
onplayerdamage( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime ) //checked changed to match cerberus output
|
||||||
{
|
{
|
||||||
if ( smeansofdeath != "MOD_PISTOL_BULLET" || smeansofdeath == "MOD_RIFLE_BULLET" || smeansofdeath == "MOD_HEAD_SHOT" )
|
if ( smeansofdeath == "MOD_PISTOL_BULLET" || smeansofdeath == "MOD_RIFLE_BULLET" || smeansofdeath == "MOD_HEAD_SHOT" )
|
||||||
{
|
{
|
||||||
idamage = self.maxhealth + 1;
|
idamage = self.maxhealth + 1;
|
||||||
}
|
}
|
||||||
@ -62,12 +62,14 @@ givecustomloadout() //checked matches cerberus output
|
|||||||
if ( isDefined( self.pers[ "clip_ammo" ] ) )
|
if ( isDefined( self.pers[ "clip_ammo" ] ) )
|
||||||
{
|
{
|
||||||
clipammo = self.pers[ "clip_ammo" ];
|
clipammo = self.pers[ "clip_ammo" ];
|
||||||
|
self.pers["clip_ammo"] = undefined;
|
||||||
}
|
}
|
||||||
self setweaponammoclip( weapon, clipammo );
|
self setweaponammoclip( weapon, clipammo );
|
||||||
stockammo = 0;
|
stockammo = 0;
|
||||||
if ( isDefined( self.pers[ "stock_ammo" ] ) )
|
if ( isDefined( self.pers[ "stock_ammo" ] ) )
|
||||||
{
|
{
|
||||||
stockammo = self.pers[ "stock_ammo" ];
|
stockammo = self.pers[ "stock_ammo" ];
|
||||||
|
self.pers["stock_ammo"] = undefined;
|
||||||
}
|
}
|
||||||
self setweaponammostock( weapon, stockammo );
|
self setweaponammostock( weapon, stockammo );
|
||||||
self setspawnweapon( weapon );
|
self setspawnweapon( weapon );
|
||||||
@ -91,6 +93,7 @@ onstartgametype() //checked matches cerberus output
|
|||||||
setobjectivescoretext( "allies", &"OBJECTIVES_DM_SCORE" );
|
setobjectivescoretext( "allies", &"OBJECTIVES_DM_SCORE" );
|
||||||
setobjectivescoretext( "axis", &"OBJECTIVES_DM_SCORE" );
|
setobjectivescoretext( "axis", &"OBJECTIVES_DM_SCORE" );
|
||||||
}
|
}
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "oic";
|
allowed[ 0 ] = "oic";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
|
@ -189,6 +189,7 @@ onstartgametype() //checked changed to match cerberus output
|
|||||||
setobjectivehinttext( "axis", &"MP_ONE_FLAG_CTF_OVERTIME_ROUND_2_TIE" );
|
setobjectivehinttext( "axis", &"MP_ONE_FLAG_CTF_OVERTIME_ROUND_2_TIE" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "ctf";
|
allowed[ 0 ] = "ctf";
|
||||||
allowed[ 1 ] = "dom";
|
allowed[ 1 ] = "dom";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
@ -464,6 +465,7 @@ updategametypedvars() //checked matches cerberus output
|
|||||||
|
|
||||||
createflag( trigger ) //checked matches cerberus output
|
createflag( trigger ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
|
visuals = [];
|
||||||
if ( isDefined( trigger.target ) )
|
if ( isDefined( trigger.target ) )
|
||||||
{
|
{
|
||||||
visuals[ 0 ] = getent( trigger.target, "targetname" );
|
visuals[ 0 ] = getent( trigger.target, "targetname" );
|
||||||
|
@ -204,6 +204,7 @@ onstartgametype() //checked changed to match cerberus output
|
|||||||
}
|
}
|
||||||
maps/mp/_utility::setobjectivehinttext( "allies", &"OBJECTIVES_SAS_HINT" );
|
maps/mp/_utility::setobjectivehinttext( "allies", &"OBJECTIVES_SAS_HINT" );
|
||||||
maps/mp/_utility::setobjectivehinttext( "axis", &"OBJECTIVES_SAS_HINT" );
|
maps/mp/_utility::setobjectivehinttext( "axis", &"OBJECTIVES_SAS_HINT" );
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "sas";
|
allowed[ 0 ] = "sas";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
//checked includes match cerberus output
|
||||||
#include maps/mp/gametypes/_hostmigration;
|
#include maps/mp/gametypes/_hostmigration;
|
||||||
#include maps/mp/gametypes/_globallogic_utils;
|
#include maps/mp/gametypes/_globallogic_utils;
|
||||||
#include maps/mp/_demo;
|
#include maps/mp/_demo;
|
||||||
@ -156,7 +157,7 @@ getbetterteam() //checked changed to match cerberus output
|
|||||||
{
|
{
|
||||||
player = level.players[ i ];
|
player = level.players[ i ];
|
||||||
team = player.pers[ "team" ];
|
team = player.pers[ "team" ];
|
||||||
if ( isDefined( team ) || team == "allies" && team == "axis" )
|
if ( ( team == "allies" || team == "axis" ) && isDefined( team ) )
|
||||||
{
|
{
|
||||||
kills[ team ] += player.kills;
|
kills[ team ] += player.kills;
|
||||||
deaths[ team ] += player.deaths;
|
deaths[ team ] += player.deaths;
|
||||||
@ -222,13 +223,14 @@ onstartgametype() //checked matches cerberus output
|
|||||||
}
|
}
|
||||||
setobjectivehinttext( game[ "attackers" ], &"OBJECTIVES_SD_ATTACKER_HINT" );
|
setobjectivehinttext( game[ "attackers" ], &"OBJECTIVES_SD_ATTACKER_HINT" );
|
||||||
setobjectivehinttext( game[ "defenders" ], &"OBJECTIVES_SD_DEFENDER_HINT" );
|
setobjectivehinttext( game[ "defenders" ], &"OBJECTIVES_SD_DEFENDER_HINT" );
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "sd";
|
allowed[ 0 ] = "sd";
|
||||||
allowed[ 1 ] = "bombzone";
|
allowed[ 1 ] = "bombzone";
|
||||||
allowed[ 2 ] = "blocker";
|
allowed[ 2 ] = "blocker";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
level.spawnmins = ( 0, 0, 1 );
|
level.spawnmins = ( 0, 0, 0 );
|
||||||
level.spawnmaxs = ( 0, 0, 1 );
|
level.spawnmaxs = ( 0, 0, 0 );
|
||||||
maps/mp/gametypes/_spawnlogic::placespawnpoints( "mp_sd_spawn_attacker" );
|
maps/mp/gametypes/_spawnlogic::placespawnpoints( "mp_sd_spawn_attacker" );
|
||||||
maps/mp/gametypes/_spawnlogic::placespawnpoints( "mp_sd_spawn_defender" );
|
maps/mp/gametypes/_spawnlogic::placespawnpoints( "mp_sd_spawn_defender" );
|
||||||
level.mapcenter = maps/mp/gametypes/_spawnlogic::findboxcenter( level.spawnmins, level.spawnmaxs );
|
level.mapcenter = maps/mp/gametypes/_spawnlogic::findboxcenter( level.spawnmins, level.spawnmaxs );
|
||||||
@ -313,15 +315,18 @@ onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shi
|
|||||||
self recordkillmodifier( "defending" );
|
self recordkillmodifier( "defending" );
|
||||||
maps/mp/_scoreevents::processscoreevent( "killed_defender", attacker, self, sweapon );
|
maps/mp/_scoreevents::processscoreevent( "killed_defender", attacker, self, sweapon );
|
||||||
}
|
}
|
||||||
else if ( isDefined( attacker.pers[ "defends" ] ) )
|
else
|
||||||
{
|
{
|
||||||
attacker.pers[ "defends" ]++;
|
if ( isDefined( attacker.pers[ "defends" ] ) )
|
||||||
attacker.defends = attacker.pers[ "defends" ];
|
{
|
||||||
|
attacker.pers[ "defends" ]++;
|
||||||
|
attacker.defends = attacker.pers[ "defends" ];
|
||||||
|
}
|
||||||
|
attacker maps/mp/_medals::defenseglobalcount();
|
||||||
|
attacker addplayerstatwithgametype( "DEFENDS", 1 );
|
||||||
|
self recordkillmodifier( "assaulting" );
|
||||||
|
maps/mp/_scoreevents::processscoreevent( "killed_attacker", attacker, self, sweapon );
|
||||||
}
|
}
|
||||||
attacker maps/mp/_medals::defenseglobalcount();
|
|
||||||
attacker addplayerstatwithgametype( "DEFENDS", 1 );
|
|
||||||
self recordkillmodifier( "assaulting" );
|
|
||||||
maps/mp/_scoreevents::processscoreevent( "killed_attacker", attacker, self, sweapon );
|
|
||||||
}
|
}
|
||||||
if ( isplayer( attacker ) && attacker.pers[ "team" ] != self.pers[ "team" ] && isDefined( self.isbombcarrier ) && self.isbombcarrier == 1 )
|
if ( isplayer( attacker ) && attacker.pers[ "team" ] != self.pers[ "team" ] && isDefined( self.isbombcarrier ) && self.isbombcarrier == 1 )
|
||||||
{
|
{
|
||||||
@ -342,8 +347,15 @@ checkallowspectating() //checked matches cerberus output
|
|||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
wait 0.05;
|
wait 0.05;
|
||||||
update = 0;
|
update = 0;
|
||||||
if ( level.numliveslivesleft = self.pers[ "lives" ];
|
if ( !level.numliveslivesleft && !self.pers[ "lives" ] )
|
||||||
&& !level.alivecount[ game[ "attackers" ] ] && !livesleft )
|
{
|
||||||
|
livesleft = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
livesleft = 1;
|
||||||
|
}
|
||||||
|
if ( !level.alivecount[ game[ "attackers" ] ] && !livesleft )
|
||||||
{
|
{
|
||||||
level.spectateoverride[ game[ "attackers" ] ].allowenemyspectate = 1;
|
level.spectateoverride[ game[ "attackers" ] ].allowenemyspectate = 1;
|
||||||
update = 1;
|
update = 1;
|
||||||
@ -518,6 +530,7 @@ bombs() //checked changed to match cerberus output
|
|||||||
*/
|
*/
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
visuals = [];
|
||||||
visuals[ 0 ] = getent( "sd_bomb", "targetname" );
|
visuals[ 0 ] = getent( "sd_bomb", "targetname" );
|
||||||
if ( !isDefined( visuals[ 0 ] ) )
|
if ( !isDefined( visuals[ 0 ] ) )
|
||||||
{
|
{
|
||||||
@ -626,13 +639,16 @@ onbeginuse( player ) //checked changed to match cerberus output
|
|||||||
level.sdbombmodel hide();
|
level.sdbombmodel hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.isplanting = 1;
|
else
|
||||||
player thread maps/mp/gametypes/_battlechatter_mp::gametypespecificbattlechatter( "sd_friendlyplant", player.pers[ "team" ] );
|
|
||||||
while ( level.multibomb )
|
|
||||||
{
|
{
|
||||||
for ( i = 0; i < self.otherbombzones.size; i++ )
|
player.isplanting = 1;
|
||||||
|
player thread maps/mp/gametypes/_battlechatter_mp::gametypespecificbattlechatter( "sd_friendlyplant", player.pers[ "team" ] );
|
||||||
|
if ( level.multibomb )
|
||||||
{
|
{
|
||||||
self.otherbombzones[ i ] maps/mp/gametypes/_gameobjects::disableobject();
|
for ( i = 0; i < self.otherbombzones.size; i++ )
|
||||||
|
{
|
||||||
|
self.otherbombzones[ i ] maps/mp/gametypes/_gameobjects::disableobject();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player playsound( "fly_bomb_raise_plr" );
|
player playsound( "fly_bomb_raise_plr" );
|
||||||
@ -654,11 +670,14 @@ onenduse( team, player, result ) //checked changed to match cerberus output
|
|||||||
level.sdbombmodel show();
|
level.sdbombmodel show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( level.multibomb && !result )
|
else
|
||||||
{
|
{
|
||||||
for ( i = 0; i < self.otherbombzones.size; i++ )
|
if ( level.multibomb && !result )
|
||||||
{
|
{
|
||||||
self.otherbombzones[ i ] maps/mp/gametypes/_gameobjects::enableobject();
|
for ( i = 0; i < self.otherbombzones.size; i++ )
|
||||||
|
{
|
||||||
|
self.otherbombzones[ i ] maps/mp/gametypes/_gameobjects::enableobject();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -946,7 +965,7 @@ sd_iskillboosting() //checked matches cerberus output
|
|||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if ( level.teambased || self.team == "allies" && self.team == "axis" )
|
if ( ( self.team == "allies" || self.team == "axis" ) && level.teambased )
|
||||||
{
|
{
|
||||||
if ( game[ "totalKillsTeam" ][ self.team ] > ( level.playerkillsmax * ( roundsplayed + 1 ) ) )
|
if ( game[ "totalKillsTeam" ][ self.team ] > ( level.playerkillsmax * ( roundsplayed + 1 ) ) )
|
||||||
{
|
{
|
||||||
|
@ -74,6 +74,7 @@ onstartgametype() //checked matches cerberus output
|
|||||||
}
|
}
|
||||||
setobjectivehinttext( "allies", &"OBJECTIVES_SHRP_HINT" );
|
setobjectivehinttext( "allies", &"OBJECTIVES_SHRP_HINT" );
|
||||||
setobjectivehinttext( "axis", &"OBJECTIVES_SHRP_HINT" );
|
setobjectivehinttext( "axis", &"OBJECTIVES_SHRP_HINT" );
|
||||||
|
allowed = [];
|
||||||
allowed[ 0 ] = "shrp";
|
allowed[ 0 ] = "shrp";
|
||||||
maps/mp/gametypes/_gameobjects::main( allowed );
|
maps/mp/gametypes/_gameobjects::main( allowed );
|
||||||
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
maps/mp/gametypes/_spawning::create_map_placed_influencers();
|
||||||
@ -424,6 +425,7 @@ chooserandomguns() //checked changed to match cerberus output may need to review
|
|||||||
{
|
{
|
||||||
level.players[ i ] thread maps/mp/gametypes/_wager::queuewagerpopup( &"MP_SHRP_RND", 0, &"MP_SHRP_FINAL_MULTIPLIER", "wm_shrp_rnd" );
|
level.players[ i ] thread maps/mp/gametypes/_wager::queuewagerpopup( &"MP_SHRP_RND", 0, &"MP_SHRP_FINAL_MULTIPLIER", "wm_shrp_rnd" );
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user