Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b32875849d | ||
|
|
fd5a71b32e | ||
|
|
0b8d678893 | ||
|
|
704a69a9ec | ||
|
|
671a0a181c | ||
|
|
d310691343 | ||
|
|
c93351046b | ||
|
|
f711722e5b | ||
|
|
3f2f24ab09 | ||
|
|
9576031f63 | ||
|
|
75ab8a88cc | ||
|
|
7744518f3c | ||
|
|
5c7ba128cc | ||
|
|
7dcca93eed | ||
|
|
bb8ba5bea7 | ||
|
|
66bfdf1b06 | ||
|
|
e8cf3048c5 | ||
|
|
17f0f49635 | ||
|
|
32e940e5d4 | ||
|
|
b3adaada92 | ||
|
|
20a0dc25a7 | ||
|
|
9696e39099 |
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -360,7 +360,7 @@ REFERENCE MENU_FRIENDNOTIFY
|
|||||||
LANG_ENGLISH "Friend Notifications"
|
LANG_ENGLISH "Friend Notifications"
|
||||||
|
|
||||||
REFERENCE MPUI_DESC_FRIENDNOTIFY
|
REFERENCE MPUI_DESC_FRIENDNOTIFY
|
||||||
LANG_ENGLISH "When should the friend status notifications be displayed?"
|
LANG_ENGLISH "Should you send status notifications to your friends?"
|
||||||
|
|
||||||
REFERENCE MPUI_DESC_OPTIONS
|
REFERENCE MPUI_DESC_OPTIONS
|
||||||
LANG_ENGLISH "Set your game options."
|
LANG_ENGLISH "Set your game options."
|
||||||
@@ -620,9 +620,6 @@ LANG_ENGLISH "CHANGELOG"
|
|||||||
REFERENCE MPUI_DESC_CHANGELOG
|
REFERENCE MPUI_DESC_CHANGELOG
|
||||||
LANG_ENGLISH "See what's new."
|
LANG_ENGLISH "See what's new."
|
||||||
|
|
||||||
REFERENCE MPUI_DESC_CHANGELOG
|
|
||||||
LANG_ENGLISH "See what's new."
|
|
||||||
|
|
||||||
REFERENCE MPUI_DESC_NOBORDER
|
REFERENCE MPUI_DESC_NOBORDER
|
||||||
LANG_ENGLISH "Do not use a border in windowed mode."
|
LANG_ENGLISH "Do not use a border in windowed mode."
|
||||||
|
|
||||||
@@ -1304,6 +1301,25 @@ LANG_ENGLISH "SAS eliminated"
|
|||||||
REFERENCE MP_SAS_FORFEITED
|
REFERENCE MP_SAS_FORFEITED
|
||||||
LANG_ENGLISH "SAS forfeited"
|
LANG_ENGLISH "SAS forfeited"
|
||||||
|
|
||||||
|
REFERENCE MENU_DESC_BUTTON_LAYOUT
|
||||||
|
LANG_ENGLISH "Change the button layout for the gamepad"
|
||||||
|
|
||||||
|
REFERENCE MENU_DESC_THUMBSTICK_LAYOUT
|
||||||
|
LANG_ENGLISH "Change the thumbstick layout for the gamepad"
|
||||||
|
|
||||||
|
REFERENCE MENU_DESC_LOOK_SENSITIVITY_PRESET
|
||||||
|
LANG_ENGLISH "Choose different sensitivity presets"
|
||||||
|
|
||||||
|
REFERENCE MENU_DESC_MAXPACKETS
|
||||||
|
LANG_ENGLISH "Maximum number of packets sent per frame"
|
||||||
|
|
||||||
|
REFERENCE MENU_DESC_SNAPS
|
||||||
|
LANG_ENGLISH "Snapshot rate"
|
||||||
|
|
||||||
|
REFERENCE MENU_DESC_DRAWFPS
|
||||||
|
LANG_ENGLISH "Draw frames per second"
|
||||||
|
|
||||||
|
REFERENCE MENU_DESC_FPSLABELS
|
||||||
|
LANG_ENGLISH "Draw viewpos"
|
||||||
|
|
||||||
ENDMARKER
|
ENDMARKER
|
||||||
@@ -33,11 +33,14 @@ getLosingPlayers()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
givePlayerScore( event, player, victim, overridePointsPopup )
|
givePlayerScore( event, player, victim, overrideCheckPlayerScoreLimitSoon, overridePointsPopup )
|
||||||
{
|
{
|
||||||
if ( isDefined( level.nukeIncoming ) )
|
if ( isDefined( level.nukeIncoming ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if ( !isDefined( overrideCheckPlayerScoreLimitSoon ) )
|
||||||
|
overrideCheckPlayerScoreLimitSoon = false;
|
||||||
|
|
||||||
if ( !isDefined( overridePointsPopup ) )
|
if ( !isDefined( overridePointsPopup ) )
|
||||||
overridePointsPopup = false;
|
overridePointsPopup = false;
|
||||||
|
|
||||||
@@ -58,7 +61,11 @@ givePlayerScore( event, player, victim, overridePointsPopup )
|
|||||||
if ( !level.teambased )
|
if ( !level.teambased )
|
||||||
thread sendUpdatedDMScores();
|
thread sendUpdatedDMScores();
|
||||||
|
|
||||||
player maps\mp\gametypes\_gamelogic::checkPlayerScoreLimitSoon();
|
// player score and team score aren't always the same values towards winning the match
|
||||||
|
// checkScoreLimit() checks team score correctly, checkPlayerScoreLimitSoon() uses player score
|
||||||
|
if ( !overrideCheckPlayerScoreLimitSoon )
|
||||||
|
player maps\mp\gametypes\_gamelogic::checkPlayerScoreLimitSoon();
|
||||||
|
|
||||||
scoreEndedMatch = player maps\mp\gametypes\_gamelogic::checkScoreLimit();
|
scoreEndedMatch = player maps\mp\gametypes\_gamelogic::checkScoreLimit();
|
||||||
|
|
||||||
if ( scoreEndedMatch && event == "kill" )
|
if ( scoreEndedMatch && event == "kill" )
|
||||||
|
|||||||
@@ -32,7 +32,11 @@ init()
|
|||||||
|
|
||||||
if ( !level.console )
|
if ( !level.console )
|
||||||
{
|
{
|
||||||
|
game["menu_callvote"] = "callvote";
|
||||||
|
game["menu_kickplayer"] = "kickplayer";
|
||||||
game["menu_muteplayer"] = "muteplayer";
|
game["menu_muteplayer"] = "muteplayer";
|
||||||
|
precacheMenu(game["menu_callvote"]);
|
||||||
|
precacheMenu(game["menu_kickplayer"]);
|
||||||
precacheMenu(game["menu_muteplayer"]);
|
precacheMenu(game["menu_muteplayer"]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ onStartGameType()
|
|||||||
allowed = [];
|
allowed = [];
|
||||||
maps\mp\gametypes\_gameobjects::main(allowed);
|
maps\mp\gametypes\_gameobjects::main(allowed);
|
||||||
|
|
||||||
// Prevent class and team change
|
// Prevent class and team change. TODO: Must be disabled in _menus.gsc as well
|
||||||
setDvar( "ui_allow_classchange", 0 );
|
setDvar( "ui_allow_classchange", 0 );
|
||||||
setdvar( "ui_allow_teamchange", 0 );
|
setdvar( "ui_allow_teamchange", 0 );
|
||||||
|
|
||||||
@@ -189,11 +189,10 @@ waitLoadoutDone()
|
|||||||
|
|
||||||
self waittill( "spawned_player" );
|
self waittill( "spawned_player" );
|
||||||
|
|
||||||
self _setPerk( "specialty_bling" );
|
|
||||||
self giveNextGun( true );
|
self giveNextGun( true );
|
||||||
}
|
}
|
||||||
|
|
||||||
onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration )
|
onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration, lifeId )
|
||||||
{
|
{
|
||||||
if ( sMeansOfDeath == "MOD_FALLING" || ( isDefined( attacker ) && isPlayer( attacker ) ) )
|
if ( sMeansOfDeath == "MOD_FALLING" || ( isDefined( attacker ) && isPlayer( attacker ) ) )
|
||||||
{
|
{
|
||||||
@@ -382,6 +381,8 @@ refillSingleCountAmmo()
|
|||||||
|
|
||||||
initGunHUD()
|
initGunHUD()
|
||||||
{
|
{
|
||||||
|
if ( self isTestClient() ) return;
|
||||||
|
|
||||||
self.gun_progressDisplay[0] = self createFontString( "small", 1.6 );
|
self.gun_progressDisplay[0] = self createFontString( "small", 1.6 );
|
||||||
self.gun_progressDisplay[0] setPoint( "TOP LEFT", "TOP LEFT", 115, 5 );
|
self.gun_progressDisplay[0] setPoint( "TOP LEFT", "TOP LEFT", 115, 5 );
|
||||||
self.gun_progressDisplay[0] setText( &"MP_WEAPON" );
|
self.gun_progressDisplay[0] setText( &"MP_WEAPON" );
|
||||||
@@ -402,11 +403,14 @@ initGunHUD()
|
|||||||
|
|
||||||
updateGunHUD()
|
updateGunHUD()
|
||||||
{
|
{
|
||||||
|
if ( self isTestClient() ) return;
|
||||||
self.gun_progressDisplay[1] setText( (self.gunGameGunIndex+1) + " / " + level.gun_guns.size );
|
self.gun_progressDisplay[1] setText( (self.gunGameGunIndex+1) + " / " + level.gun_guns.size );
|
||||||
}
|
}
|
||||||
|
|
||||||
hideInKillCam()
|
hideInKillCam()
|
||||||
{
|
{
|
||||||
|
if ( self isTestClient() ) return;
|
||||||
|
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
var_0 = 1;
|
var_0 = 1;
|
||||||
|
|
||||||
@@ -431,6 +435,8 @@ hideInKillCam()
|
|||||||
|
|
||||||
hideOnGameEnd()
|
hideOnGameEnd()
|
||||||
{
|
{
|
||||||
|
if ( self isTestClient() ) return;
|
||||||
|
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
level waittill( "game_ended" );
|
level waittill( "game_ended" );
|
||||||
|
|
||||||
|
|||||||
@@ -21,12 +21,13 @@ main()
|
|||||||
// don't sit there waiting for both teams to contain players,
|
// don't sit there waiting for both teams to contain players,
|
||||||
// as everyone starts a survivor
|
// as everyone starts a survivor
|
||||||
level.prematchWaitForTeams = false;
|
level.prematchWaitForTeams = false;
|
||||||
level.onPrecacheGameType = ::onPrecacheGameType;
|
level.onPrecacheGameType = ::onPrecacheGameType;
|
||||||
level.onStartGameType = ::onStartGameType;
|
level.onStartGameType = ::onStartGameType;
|
||||||
level.onSpawnPlayer = ::onSpawnPlayer;
|
level.onSpawnPlayer = ::onSpawnPlayer;
|
||||||
level.getSpawnPoint = ::getSpawnPoint;
|
level.getSpawnPoint = ::getSpawnPoint;
|
||||||
level.onPlayerKilled = ::onPlayerKilled;
|
level.onPlayerKilled = ::onPlayerKilled;
|
||||||
level.onTimeLimit = ::onTimeLimit;
|
level.onDeadEvent = ::onDeadEvent;
|
||||||
|
level.onTimeLimit = ::onTimeLimit;
|
||||||
|
|
||||||
level.infect_perks = [];
|
level.infect_perks = [];
|
||||||
level.infect_perks[level.infect_perks.size] = "specialty_marathon";
|
level.infect_perks[level.infect_perks.size] = "specialty_marathon";
|
||||||
@@ -54,20 +55,21 @@ determineWinningTeam()
|
|||||||
|
|
||||||
onPrecacheGameType()
|
onPrecacheGameType()
|
||||||
{
|
{
|
||||||
precachestring( &"MP_CONSCRIPTION_STARTS_IN" );
|
precacheString( &"MP_CONSCRIPTION_STARTS_IN" );
|
||||||
}
|
}
|
||||||
|
|
||||||
onStartGameType()
|
onStartGameType()
|
||||||
{
|
{
|
||||||
setclientnamemode( "auto_change" );
|
setClientNameMode("auto_change");
|
||||||
setObjectiveText( "allies", &"OBJECTIVES_INFECT" );
|
|
||||||
setObjectiveText( "axis", &"OBJECTIVES_INFECT" );
|
|
||||||
|
|
||||||
setObjectiveScoreText( "allies", &"OBJECTIVES_INFECT_SCORE" );
|
setObjectiveText( "allies", &"OBJECTIVES_INFECT" );
|
||||||
setObjectiveScoreText( "axis", &"OBJECTIVES_INFECT_SCORE" );
|
setObjectiveText( "axis", &"OBJECTIVES_INFECT" );
|
||||||
|
|
||||||
setObjectiveHintText( "allies", &"OBJECTIVES_INFECT_HINT" );
|
setObjectiveScoreText( "allies", &"OBJECTIVES_INFECT_SCORE" );
|
||||||
setObjectiveHintText( "axis", &"OBJECTIVES_INFECT_HINT" );
|
setObjectiveScoreText( "axis", &"OBJECTIVES_INFECT_SCORE" );
|
||||||
|
|
||||||
|
setObjectiveHintText( "allies", &"OBJECTIVES_INFECT_HINT" );
|
||||||
|
setObjectiveHintText( "axis", &"OBJECTIVES_INFECT_HINT" );
|
||||||
|
|
||||||
level.spawnMins = ( 0, 0, 0 );
|
level.spawnMins = ( 0, 0, 0 );
|
||||||
level.spawnMaxs = ( 0, 0, 0 );
|
level.spawnMaxs = ( 0, 0, 0 );
|
||||||
@@ -103,14 +105,13 @@ onStartGameType()
|
|||||||
level.infect_choseFirstInfected = false;
|
level.infect_choseFirstInfected = false;
|
||||||
level.infect_choosingFirstInfected = false;
|
level.infect_choosingFirstInfected = false;
|
||||||
level.infect_awardedFinalSurvivor = false;
|
level.infect_awardedFinalSurvivor = false;
|
||||||
level.infect_countdownInProgress = false;
|
|
||||||
|
|
||||||
level.infect_teamScores["axis"] = 0;
|
level.infect_teamScores["axis"] = 0;
|
||||||
level.infect_teamScores["allies"] = 0;
|
level.infect_teamScores["allies"] = 0;
|
||||||
level.infect_players = [];
|
level.infect_players = [];
|
||||||
|
|
||||||
level thread onPlayerConnect();
|
level thread onPlayerConnect();
|
||||||
level thread watchInfectForfeit();
|
level thread watchInfectForfeit();
|
||||||
}
|
}
|
||||||
|
|
||||||
onPlayerConnect()
|
onPlayerConnect()
|
||||||
@@ -118,28 +119,23 @@ onPlayerConnect()
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
level waittill( "connected", player );
|
level waittill( "connected", player );
|
||||||
|
|
||||||
player.infect_firstSpawn = true;
|
player.infect_firstSpawn = true;
|
||||||
player.infected_Rejoined = false;
|
|
||||||
player.infect_JoinedAtStart = true;
|
|
||||||
|
|
||||||
if( gameFlag( "prematch_done" ) )
|
if ( gameFlag( "prematch_done" ) )
|
||||||
{
|
player.infect_joinedatstart = false;
|
||||||
player.infect_JoinedAtStart = false;
|
else
|
||||||
}
|
player.infect_joinedatstart = true;
|
||||||
// infected who quit and rejoined same game
|
|
||||||
if( IsDefined( level.infect_players[player.name] ) )
|
if ( isDefined( level.infect_players[player.name] ) )
|
||||||
{
|
player.infect_rejoined = true;
|
||||||
player.infected_Rejoined = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getSpawnPoint()
|
getSpawnPoint()
|
||||||
{
|
{
|
||||||
// first time here?
|
// first time here?
|
||||||
if ( self.infect_firstSpawn )
|
if ( self.infect_firstSpawn )
|
||||||
{
|
{
|
||||||
self.infect_firstSpawn = false;
|
self.infect_firstSpawn = false;
|
||||||
|
|
||||||
// everyone is a gamemode class in infect, no class selection
|
// everyone is a gamemode class in infect, no class selection
|
||||||
@@ -148,19 +144,14 @@ getSpawnPoint()
|
|||||||
self.class = self.pers["class"];
|
self.class = self.pers["class"];
|
||||||
self.lastClass = self.pers["lastClass"];
|
self.lastClass = self.pers["lastClass"];
|
||||||
|
|
||||||
// survivors are allies
|
if ( isDefined( self.infect_rejoined ) )
|
||||||
teamChoice = "allies";
|
maps\mp\gametypes\_menus::addToTeam( "axis", true );
|
||||||
|
else
|
||||||
// everyone starts as survivors, unless an infected quit and rejoined same game
|
maps\mp\gametypes\_menus::addToTeam( "allies", true );
|
||||||
if( self.infected_Rejoined )
|
|
||||||
{
|
|
||||||
teamChoice = "axis";
|
|
||||||
}
|
|
||||||
|
|
||||||
self maps\mp\gametypes\_menus::addToTeam( teamChoice, true );
|
|
||||||
|
|
||||||
thread onPlayerDisconnect();
|
thread onPlayerDisconnect();
|
||||||
}
|
|
||||||
|
}
|
||||||
|
|
||||||
if ( level.inGracePeriod )
|
if ( level.inGracePeriod )
|
||||||
{
|
{
|
||||||
@@ -173,15 +164,14 @@ getSpawnPoint()
|
|||||||
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam( spawnPoints );
|
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam( spawnPoints );
|
||||||
}
|
}
|
||||||
|
|
||||||
return spawnPoint;
|
return spawnPoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
onSpawnPlayer()
|
onSpawnPlayer()
|
||||||
{
|
{
|
||||||
self.teamChangedThisFrame = undefined;
|
self.teamchangedthisframe = undefined;
|
||||||
self.infect_spawnPos = self.origin;
|
self.infect_spawnpos = self.origin;
|
||||||
|
|
||||||
// resynch teams
|
|
||||||
updateTeamScores();
|
updateTeamScores();
|
||||||
|
|
||||||
// let the first spawned player kick this off
|
// let the first spawned player kick this off
|
||||||
@@ -191,45 +181,41 @@ onSpawnPlayer()
|
|||||||
level thread chooseFirstInfected();
|
level thread chooseFirstInfected();
|
||||||
}
|
}
|
||||||
|
|
||||||
// infected who quit and rejoined same game?
|
if ( isDefined( self.infect_rejoined ) )
|
||||||
if( self.infected_Rejoined )
|
|
||||||
{
|
{
|
||||||
self.infect_rejoined = undefined;
|
self.infect_rejoined = undefined;
|
||||||
|
|
||||||
// stop initial infect countdown (if quit/join player was initial and a new coutdown is underway)
|
if ( !level.infect_allowsuicide )
|
||||||
if ( !level.infect_allowSuicide )
|
{
|
||||||
{
|
level notify( "infect_stopCountdown" );
|
||||||
level notify( "infect_stopCountdown" );
|
level.infect_choseFirstInfected = 1;
|
||||||
level.infect_choseFirstInfected = true;
|
level.infect_allowsuicide = 1;
|
||||||
level.infect_allowSuicide = true;
|
|
||||||
foreach( player in level.players )
|
|
||||||
{
|
|
||||||
if ( isDefined( player.infect_isBeingChosen ) )
|
|
||||||
player.infect_isBeingChosen = undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// if an initial was already chosen while they were gone and they are still initial, set them to normal
|
foreach ( player in level.players )
|
||||||
foreach( player in level.players )
|
{
|
||||||
{
|
if ( isDefined( player.infect_isBeingChosen ) )
|
||||||
if ( isDefined( player.isInitialInfected ) )
|
player.infect_isBeingChosen = undefined;
|
||||||
player thread setInitialToNormalInfected();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if they're the only infected, then set them as initial infected
|
foreach ( player in level.players )
|
||||||
if ( level.infect_teamScores["axis"] == 1 )
|
{
|
||||||
self.isInitialInfected = true;
|
if ( isDefined( player.isInitialInfected ) )
|
||||||
|
player thread setInitialToNormalInfected();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( level.infect_teamscores["axis"] == 1 )
|
||||||
|
self.isInitialInfected = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// onSpawnPlayer() is called before giveLoadout()
|
// onSpawnPlayer() is called before giveLoadout()
|
||||||
// set self.pers["gamemodeLoadout"] for giveLoadout() to use
|
// set self.pers["gamemodeLoadout"] for giveLoadout() to use
|
||||||
if ( isDefined( self.isInitialInfected ) )
|
if ( isDefined( self.isInitialInfected ) )
|
||||||
self.pers["gamemodeLoadout"] = level.infect_loadouts["axis_initial"];
|
self.pers["gamemodeLoadout"] = level.infect_loadouts["axis_initial"];
|
||||||
else
|
else
|
||||||
self.pers["gamemodeLoadout"] = level.infect_loadouts[self.pers["team"]];
|
self.pers["gamemodeLoadout"] = level.infect_loadouts[self.pers["team"]];
|
||||||
|
|
||||||
self thread onSpawnFinished();
|
|
||||||
|
|
||||||
|
thread onSpawnFinished();
|
||||||
level notify ( "spawned_player" );
|
level notify ( "spawned_player" );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -320,54 +306,41 @@ setInfectedMsg()
|
|||||||
|
|
||||||
chooseFirstInfected()
|
chooseFirstInfected()
|
||||||
{
|
{
|
||||||
level endon( "game_ended" );
|
level endon( "game_ended" );
|
||||||
level endon( "infect_stopCountdown" );
|
level endon( "infect_stopCountdown" );
|
||||||
|
|
||||||
level.infect_allowSuicide = false;
|
level.infect_allowsuicide = false;
|
||||||
gameFlagWait( "prematch_done" );
|
|
||||||
|
|
||||||
level.infect_timerDisplay.label = &"MP_DRAFT_STARTS_IN";
|
gameFlagWait( "prematch_done" );
|
||||||
level.infect_timerDisplay setTimer( 15 );
|
|
||||||
level.infect_timerDisplay.alpha = 1;
|
|
||||||
|
|
||||||
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 15.0 );
|
level.infect_timerDisplay.label = &"MP_DRAFT_STARTS_IN";
|
||||||
|
level.infect_timerDisplay settimer( 8 );
|
||||||
|
level.infect_timerDisplay.alpha = 1;
|
||||||
|
|
||||||
level.infect_timerDisplay.alpha = 0;
|
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 8.0 );
|
||||||
|
|
||||||
possibleInfected = [];
|
level.infect_timerDisplay.alpha = 0;
|
||||||
|
|
||||||
foreach( player in level.players )
|
level.players[randomint( level.players.size )] setFirstInfected( true );
|
||||||
{
|
|
||||||
if ( player.team == "spectator" )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if ( !player.hasSpawned )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
possibleInfected[possibleInfected.size] = player;
|
|
||||||
}
|
|
||||||
|
|
||||||
firstInfectedPlayer = possibleInfected[ randomInt( possibleInfected.size ) ];
|
|
||||||
firstInfectedPlayer setFirstInfected( true );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setFirstInfected( wasChosen )
|
setFirstInfected( wasChosen )
|
||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
if ( wasChosen )
|
if ( wasChosen )
|
||||||
self.infect_isBeingChosen = true;
|
self.infect_isBeingChosen = true;
|
||||||
|
|
||||||
// wait alive
|
// wait alive
|
||||||
while( !isReallyAlive( self ) || self isUsingRemote() )
|
while ( !isReallyAlive( self ) || isUsingRemote() )
|
||||||
wait( 0.05 );
|
wait 0.05;
|
||||||
|
|
||||||
// remove placement item if carrying
|
// remove placement item if carrying
|
||||||
if ( IsDefined( self.isCarrying ) && self.isCarrying == true )
|
if ( isDefined( self.isCarrying ) && self.isCarrying == 1 )
|
||||||
{
|
{
|
||||||
self notify( "force_cancel_placement" );
|
self notify( "force_cancel_placement" );
|
||||||
wait( 0.05 );
|
wait 0.05;
|
||||||
}
|
}
|
||||||
|
|
||||||
// not while mantling
|
// not while mantling
|
||||||
while ( self IsMantling() )
|
while ( self IsMantling() )
|
||||||
@@ -377,6 +350,9 @@ setFirstInfected( wasChosen )
|
|||||||
while ( !self isOnGround() && !self IsOnLadder() )
|
while ( !self isOnGround() && !self IsOnLadder() )
|
||||||
wait( 0.05 );
|
wait( 0.05 );
|
||||||
|
|
||||||
|
while ( !isAlive( self ) )
|
||||||
|
waitframe();
|
||||||
|
|
||||||
// move to other team
|
// move to other team
|
||||||
if ( wasChosen )
|
if ( wasChosen )
|
||||||
{
|
{
|
||||||
@@ -385,22 +361,21 @@ setFirstInfected( wasChosen )
|
|||||||
self.infect_isBeingChosen = undefined;
|
self.infect_isBeingChosen = undefined;
|
||||||
|
|
||||||
// resynch teams
|
// resynch teams
|
||||||
level notify( "update_game_time" );
|
|
||||||
updateTeamScores();
|
updateTeamScores();
|
||||||
|
|
||||||
// allow suicides now
|
// allow suicides now
|
||||||
level.infect_allowSuicide = true;
|
level.infect_allowSuicide = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// store initial
|
// store initial
|
||||||
self.isInitialInfected = true;
|
self.isInitialInfected = true;
|
||||||
|
|
||||||
// set the gamemodeloadout for giveLoadout() to use
|
// set the gamemodeloadout for giveLoadout() to use
|
||||||
self.pers["gamemodeLoadout"] = level.infect_loadouts["axis_initial"];
|
self.pers["gamemodeLoadout"] = level.infect_loadouts["axis_initial"];
|
||||||
|
|
||||||
// remove old TI if it exists
|
// remove old TI if it exists
|
||||||
if ( isDefined ( self.setSpawnpoint ) )
|
if ( isDefined( self.setSpawnpoint ) )
|
||||||
self maps\mp\perks\_perkfunctions::deleteTI( self.setSpawnpoint );
|
maps\mp\perks\_perkfunctions::deleteTI( self.setSpawnpoint );
|
||||||
|
|
||||||
// set faux TI to respawn in place
|
// set faux TI to respawn in place
|
||||||
spawnPoint = spawn( "script_model", self.origin );
|
spawnPoint = spawn( "script_model", self.origin );
|
||||||
@@ -412,15 +387,14 @@ setFirstInfected( wasChosen )
|
|||||||
// faux spawn
|
// faux spawn
|
||||||
self notify( "faux_spawn" );
|
self notify( "faux_spawn" );
|
||||||
self.faux_spawn_stance = self getStance();
|
self.faux_spawn_stance = self getStance();
|
||||||
thread maps\mp\gametypes\_playerlogic::spawnPlayer( true );
|
self thread maps\mp\gametypes\_playerlogic::spawnPlayer( true );
|
||||||
|
|
||||||
// store infected
|
// store infected
|
||||||
if ( wasChosen )
|
if ( wasChosen )
|
||||||
level.infect_players[self.name] = true;
|
level.infect_players[self.name] = true;
|
||||||
|
|
||||||
// tell the world!
|
|
||||||
thread teamPlayerCardSplash( "callout_first_mercenary", self );
|
thread teamPlayerCardSplash( "callout_first_mercenary", self );
|
||||||
playSoundOnPlayers( "mp_enemy_obj_captured" );
|
playSoundOnPlayers( "mp_enemy_obj_captured" );
|
||||||
}
|
}
|
||||||
|
|
||||||
setInitialToNormalInfected( gotKill )
|
setInitialToNormalInfected( gotKill )
|
||||||
@@ -455,7 +429,7 @@ setInitialToNormalInfected( gotKill )
|
|||||||
while ( !isReallyAlive( self ) )
|
while ( !isReallyAlive( self ) )
|
||||||
wait( 0.05 );
|
wait( 0.05 );
|
||||||
|
|
||||||
// set the gamemodeloadout for giveLoadout() to use
|
// set the gamemodeloadout for giveLoadout() to use
|
||||||
self.pers["gamemodeLoadout"] = level.infect_loadouts["axis"];
|
self.pers["gamemodeLoadout"] = level.infect_loadouts["axis"];
|
||||||
|
|
||||||
// remove old TI if it exists
|
// remove old TI if it exists
|
||||||
@@ -472,11 +446,11 @@ setInitialToNormalInfected( gotKill )
|
|||||||
// faux spawn
|
// faux spawn
|
||||||
self notify( "faux_spawn" );
|
self notify( "faux_spawn" );
|
||||||
self.faux_spawn_stance = self getStance();
|
self.faux_spawn_stance = self getStance();
|
||||||
|
|
||||||
thread maps\mp\gametypes\_playerlogic::spawnPlayer( true );
|
thread maps\mp\gametypes\_playerlogic::spawnPlayer( true );
|
||||||
}
|
}
|
||||||
|
|
||||||
onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration )
|
|
||||||
|
onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration, lifeId )
|
||||||
{
|
{
|
||||||
processKill = false;
|
processKill = false;
|
||||||
wasSuicide = false;
|
wasSuicide = false;
|
||||||
@@ -501,9 +475,9 @@ onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHi
|
|||||||
self maps\mp\gametypes\_menus::addToTeam( "axis" );
|
self maps\mp\gametypes\_menus::addToTeam( "axis" );
|
||||||
|
|
||||||
// resynch teams
|
// resynch teams
|
||||||
updateTeamScores();
|
updateTeamScores();
|
||||||
|
|
||||||
// store infected
|
// store infected
|
||||||
level.infect_players[self.name] = true;
|
level.infect_players[self.name] = true;
|
||||||
|
|
||||||
if ( wasSuicide )
|
if ( wasSuicide )
|
||||||
@@ -518,37 +492,31 @@ onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if ( isDefined( attacker.isInitialInfected ) )
|
||||||
{
|
|
||||||
// set attacker to regular infected if they were the first infected
|
// set attacker to regular infected if they were the first infected
|
||||||
if ( isDefined( attacker.isInitialInfected ) )
|
attacker thread setInitialToNormalInfected( true );
|
||||||
attacker thread setInitialToNormalInfected( true );
|
else
|
||||||
else
|
{
|
||||||
{
|
// regular attacker reward
|
||||||
// regular attacker reward
|
attacker thread maps\mp\gametypes\_rank::xpEventPopup( &"SPLASHES_DRAFTED" );
|
||||||
attacker thread maps\mp\gametypes\_rank::xpEventPopup( &"SPLASHES_DRAFTED" );
|
maps\mp\gametypes\_gamescore::givePlayerScore( "draft_rogue", attacker, self, true );
|
||||||
maps\mp\gametypes\_gamescore::givePlayerScore( "draft_rogue", attacker, self, true );
|
attacker thread maps\mp\gametypes\_rank::giveRankXP( "draft_rogue" );
|
||||||
attacker thread maps\mp\gametypes\_rank::giveRankXP( "draft_rogue" );
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// generic messages/sounds, and reward survivors
|
// generic messages/sounds, and reward survivors
|
||||||
if ( level.infect_teamScores["allies"] > 1 )
|
if ( level.infect_teamScores["allies"] > 1 )
|
||||||
{
|
{
|
||||||
playSoundOnPlayers( "mp_enemy_obj_captured", "allies" );
|
playSoundOnPlayers( "mp_enemy_obj_captured", "allies" );
|
||||||
playSoundOnPlayers( "mp_war_objective_taken", "axis" );
|
playSoundOnPlayers( "mp_war_objective_taken", "axis" );
|
||||||
thread teamPlayerCardSplash( "callout_got_drafted", self, "allies" );
|
thread teamPlayerCardSplash( "callout_got_drafted", self, "allies" );
|
||||||
|
|
||||||
if ( !wasSuicide )
|
if ( !wasSuicide )
|
||||||
{
|
{
|
||||||
thread teamPlayerCardSplash( "callout_drafted_rogue", attacker, "axis" );
|
thread teamPlayerCardSplash( "callout_drafted_rogue", attacker, "axis" );
|
||||||
|
|
||||||
foreach ( player in level.players )
|
foreach ( player in level.players )
|
||||||
{
|
{
|
||||||
if( !isReallyAlive( player ) || self.sessionstate == "spectator" )
|
if ( player.team == "allies" && player != self && distance( player.infect_spawnpos, player.origin ) > 32 )
|
||||||
continue;
|
|
||||||
|
|
||||||
if ( player.team == "allies" && player != self && distance( player.infect_spawnPos, player.origin ) > 32 )
|
|
||||||
{
|
{
|
||||||
player thread maps\mp\gametypes\_rank::xpEventPopup( &"SPLASHES_SURVIVOR" );
|
player thread maps\mp\gametypes\_rank::xpEventPopup( &"SPLASHES_SURVIVOR" );
|
||||||
maps\mp\gametypes\_gamescore::givePlayerScore( "survivor", player, undefined, true );
|
maps\mp\gametypes\_gamescore::givePlayerScore( "survivor", player, undefined, true );
|
||||||
@@ -558,23 +526,18 @@ onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// inform/reward last
|
// inform/reward last
|
||||||
else if ( level.infect_teamScores["allies"] == 1 )
|
else if ( level.infect_teamScores["allies"] == 1 )
|
||||||
{
|
onFinalSurvivor();
|
||||||
onFinalSurvivor();
|
|
||||||
}
|
|
||||||
// infected win
|
// infected win
|
||||||
else if ( level.infect_teamScores["allies"] == 0 )
|
else if ( level.infect_teamScores["allies"] == 0 )
|
||||||
{
|
onSurvivorsEliminated();
|
||||||
onSurvivorsEliminated();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onFinalSurvivor()
|
onFinalSurvivor()
|
||||||
{
|
{
|
||||||
playSoundOnPlayers( "mp_obj_captured" );
|
playSoundOnPlayers( "mp_obj_captured" );
|
||||||
foreach ( player in level.players )
|
foreach ( player in level.players )
|
||||||
{
|
{
|
||||||
if( !isDefined(player) )
|
if( !isDefined(player) )
|
||||||
continue;
|
continue;
|
||||||
@@ -582,66 +545,63 @@ onFinalSurvivor()
|
|||||||
if ( player.team == "allies" )
|
if ( player.team == "allies" )
|
||||||
{
|
{
|
||||||
player thread maps\mp\gametypes\_rank::xpEventPopup( &"SPLASHES_FINAL_ROGUE" );
|
player thread maps\mp\gametypes\_rank::xpEventPopup( &"SPLASHES_FINAL_ROGUE" );
|
||||||
|
|
||||||
if ( !level.infect_awardedFinalSurvivor )
|
if ( !level.infect_awardedFinalSurvivor )
|
||||||
{
|
{
|
||||||
if ( player.gameModeJoinedAtStart && isDefined( player.infect_spawnPos ) && distance( player.infect_spawnPos, player.origin ) > 32 )
|
if ( player.infect_joinedatstart && distance( player.infect_spawnpos, player.origin ) > 32 )
|
||||||
{
|
{
|
||||||
maps\mp\gametypes\_gamescore::givePlayerScore( "final_rogue", player, undefined, true );
|
maps\mp\gametypes\_gamescore::givePlayerScore( "final_rogue", player, undefined, true );
|
||||||
player thread maps\mp\gametypes\_rank::giveRankXP( "final_rogue" );
|
player thread maps\mp\gametypes\_rank::giveRankXP( "final_rogue" );
|
||||||
}
|
}
|
||||||
|
|
||||||
level.infect_awardedFinalSurvivor = true;
|
level.infect_awardedFinalSurvivor = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
thread teamplayercardsplash( "callout_final_rogue", player );
|
thread maps\mp\_utility::teamPlayerCardSplash( "callout_final_rogue", player );
|
||||||
|
|
||||||
if (matchMakingGame() )
|
|
||||||
level thread finalsurvivoruav( player );
|
|
||||||
|
|
||||||
|
if ( matchMakingGame() )
|
||||||
|
level thread finalSurvivorUAV( player );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
finalSurvivorUAV( finalPlayer )
|
finalSurvivorUAV( finalPlayer )
|
||||||
{
|
{
|
||||||
level endon( "game_ended" );
|
level endon( "game_ended" );
|
||||||
finalPlayer endon( "disconnect" );
|
finalPlayer endon( "disconnect" );
|
||||||
finalPlayer endon( "eliminated" );
|
finalPlayer endon( "eliminated" );
|
||||||
level endon( "infect_lateJoiner" );
|
level endon( "infect_lateJoiner" );
|
||||||
level thread endUAVonLateJoiner( finalPlayer );
|
level thread endUAVonLateJoiner( finalPlayer );
|
||||||
|
|
||||||
removeUAV = false;
|
removeUAV = false;
|
||||||
level.radarMode["axis"] = "normal_radar";
|
level.radarmode["axis"] = "normal_radar";
|
||||||
foreach ( player in level.players )
|
|
||||||
{
|
|
||||||
if ( player.team == "axis" )
|
|
||||||
player.radarMode = "normal_radar";
|
|
||||||
}
|
|
||||||
|
|
||||||
//setTeamRadarStrength( "axis", 1 );
|
foreach ( player in level.players )
|
||||||
|
{
|
||||||
|
if ( player.team == "axis" )
|
||||||
|
player.radarmode = "normal_radar";
|
||||||
|
}
|
||||||
|
|
||||||
while( true )
|
for (;;)
|
||||||
{
|
{
|
||||||
prevPos = finalPlayer.origin;
|
prevPos = finalPlayer.origin;
|
||||||
|
wait 4;
|
||||||
|
|
||||||
wait( 4 );
|
if ( removeUAV )
|
||||||
if ( removeUAV )
|
{
|
||||||
{
|
setTeamRadar( "axis", 0 );
|
||||||
setTeamRadar( "axis", 0 );
|
removeUAV = false;
|
||||||
removeUAV = false;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
wait( 6 );
|
wait 6;
|
||||||
if ( distance( prevPos, finalPlayer.origin ) < 200 )
|
|
||||||
{
|
|
||||||
setTeamRadar( "axis", 1 );
|
|
||||||
removeUAV = true;
|
|
||||||
|
|
||||||
foreach ( player in level.players )
|
if ( distance( prevPos, finalPlayer.origin ) < 200 )
|
||||||
player playLocalSound( "recondrone_tag" );
|
{
|
||||||
}
|
setTeamRadar( "axis", 1 );
|
||||||
}
|
removeUAV = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
endUAVonLateJoiner( finalPlayer )
|
endUAVonLateJoiner( finalPlayer )
|
||||||
@@ -650,31 +610,31 @@ endUAVonLateJoiner( finalPlayer )
|
|||||||
finalPlayer endon( "disconnect" );
|
finalPlayer endon( "disconnect" );
|
||||||
finalPlayer endon( "eliminated" );
|
finalPlayer endon( "eliminated" );
|
||||||
|
|
||||||
while( true )
|
for (;;)
|
||||||
{
|
{
|
||||||
if ( level.infect_teamScores["allies"] > 1 )
|
if ( level.infect_teamScores["allies"] > 1 )
|
||||||
{
|
{
|
||||||
level notify( "infect_lateJoiner" );
|
level notify( "infect_lateJoiner" );
|
||||||
wait( 0.05 );
|
wait 0.05;
|
||||||
setTeamRadar( "axis", 0 );
|
setTeamRadar( "axis", 0 );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
wait( 0.05 );
|
|
||||||
}
|
wait 0.05;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onPlayerDisconnect()
|
onPlayerDisconnect()
|
||||||
{
|
{
|
||||||
level endon( "game_ended" );
|
level endon( "game_ended" );
|
||||||
self endon( "eliminated" );
|
self endon( "eliminated" );
|
||||||
|
self waittill( "disconnect" );
|
||||||
self waittill( "disconnect" );
|
|
||||||
|
|
||||||
// resynch teams
|
// resynch teams
|
||||||
updateTeamScores();
|
updateTeamScores();
|
||||||
|
|
||||||
// team actions or win condition necessary?
|
// team actions or win condition necessary?
|
||||||
if ( isDefined( self.infect_isBeingChosen ) || level.infect_choseFirstInfected )
|
if ( isDefined( self.infect_isBeingChosen ) || level.infect_choseFirstInfected )
|
||||||
{
|
{
|
||||||
if ( level.infect_teamScores["axis"] && level.infect_teamScores["allies"] )
|
if ( level.infect_teamScores["axis"] && level.infect_teamScores["allies"] )
|
||||||
{
|
{
|
||||||
@@ -692,7 +652,7 @@ onPlayerDisconnect()
|
|||||||
player setFirstInfected( false );
|
player setFirstInfected( false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( level.infect_teamScores["allies"] == 0 )
|
else if ( level.infect_teamScores["allies"] == 0 )
|
||||||
{
|
{
|
||||||
// no more survivors, infected win
|
// no more survivors, infected win
|
||||||
@@ -714,9 +674,8 @@ onPlayerDisconnect()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// clear this regardless on the way out
|
||||||
// clear this regardless on the way out
|
self.isInitialInfected = undefined;
|
||||||
self.isInitialInfected = undefined;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
watchInfectForfeit()
|
watchInfectForfeit()
|
||||||
@@ -741,9 +700,8 @@ onDeadEvent( team )
|
|||||||
|
|
||||||
onTimeLimit()
|
onTimeLimit()
|
||||||
{
|
{
|
||||||
// survivors win
|
|
||||||
level.finalKillCam_winner = "allies";
|
level.finalKillCam_winner = "allies";
|
||||||
level thread maps\mp\gametypes\_gamelogic::endGame( "allies", game[ "end_reason" ][ "time_limit_reached" ] );
|
level thread maps\mp\gametypes\_gamelogic::endGame( "allies", game["strings"]["time_limit_reached"] );
|
||||||
}
|
}
|
||||||
|
|
||||||
onSurvivorsEliminated()
|
onSurvivorsEliminated()
|
||||||
@@ -753,33 +711,37 @@ onSurvivorsEliminated()
|
|||||||
level thread maps\mp\gametypes\_gamelogic::endGame( "axis", game[ "end_reason" ][ "allies_eliminated" ] );
|
level thread maps\mp\gametypes\_gamelogic::endGame( "axis", game[ "end_reason" ][ "allies_eliminated" ] );
|
||||||
}
|
}
|
||||||
|
|
||||||
getTeamSize( team )
|
getNumInfected()
|
||||||
{
|
{
|
||||||
size = 0;
|
numInfected = 0;
|
||||||
|
foreach ( player in level.players )
|
||||||
foreach( player in level.players )
|
|
||||||
{
|
{
|
||||||
// Make sure we don't check for spectators
|
if ( isdefined( player.team ) && player.team == "axis" )
|
||||||
// Also need to check for if they are in killcam, because player session states are set to spectator when killcam happens
|
numInfected++;
|
||||||
if ( player.sessionstate == "spectator" && !player.spectatekillcam )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if( player.team == team )
|
|
||||||
size++;
|
|
||||||
}
|
}
|
||||||
|
return numInfected;
|
||||||
|
}
|
||||||
|
|
||||||
return size;
|
getNumSurvivors()
|
||||||
|
{
|
||||||
|
numSurvivors = 0;
|
||||||
|
foreach ( player in level.players )
|
||||||
|
{
|
||||||
|
if ( isdefined( player.team ) && player.team == "allies" )
|
||||||
|
numSurvivors++;
|
||||||
|
}
|
||||||
|
return numSurvivors;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateTeamScores()
|
updateTeamScores()
|
||||||
{
|
{
|
||||||
// survivors
|
// survivors
|
||||||
level.infect_teamScores["allies"] = getTeamSize( "allies" );
|
level.infect_teamScores["allies"] = getNumSurvivors();
|
||||||
game["teamScores"]["allies"] = level.infect_teamScores["allies"];
|
game["teamScores"]["allies"] = level.infect_teamScores["allies"];
|
||||||
setTeamScore( "allies", level.infect_teamScores["allies"] );
|
setTeamScore( "allies", level.infect_teamScores["allies"] );
|
||||||
|
|
||||||
// infected
|
// infected
|
||||||
level.infect_teamScores["axis"] = getTeamSize( "axis" );
|
level.infect_teamScores["axis"] = getNumInfected();
|
||||||
game["teamScores"]["axis"] = level.infect_teamScores["axis"];
|
game["teamScores"]["axis"] = level.infect_teamScores["axis"];
|
||||||
setTeamScore( "axis", level.infect_teamScores["axis"] );
|
setTeamScore( "axis", level.infect_teamScores["axis"] );
|
||||||
}
|
}
|
||||||
@@ -802,11 +764,11 @@ setSpecialLoadouts()
|
|||||||
level.infect_loadouts["axis"]["loadoutKillstreak1"] = "none";
|
level.infect_loadouts["axis"]["loadoutKillstreak1"] = "none";
|
||||||
level.infect_loadouts["axis"]["loadoutKillstreak2"] = "none";
|
level.infect_loadouts["axis"]["loadoutKillstreak2"] = "none";
|
||||||
level.infect_loadouts["axis"]["loadoutKillstreak3"] = "none";
|
level.infect_loadouts["axis"]["loadoutKillstreak3"] = "none";
|
||||||
level.infect_loadouts["axis"]["loadoutDeathstreak"] = "specialty_grenadepulldeath";
|
level.infect_loadouts["axis"]["loadoutDeathstreak"] = "none";
|
||||||
|
|
||||||
level.infect_loadouts["axis_initial"]["loadoutPrimary"] = "scar";
|
level.infect_loadouts["axis_initial"]["loadoutPrimary"] = "throwingknife";
|
||||||
level.infect_loadouts["axis_initial"]["loadoutPrimaryAttachment"] = "reflex";
|
level.infect_loadouts["axis_initial"]["loadoutPrimaryAttachment"] = "none";
|
||||||
level.infect_loadouts["axis_initial"]["loadoutPrimaryAttachment2"] = "xmags";
|
level.infect_loadouts["axis_initial"]["loadoutPrimaryAttachment2"] = "none";
|
||||||
level.infect_loadouts["axis_initial"]["loadoutPrimaryCamo"] = "none";
|
level.infect_loadouts["axis_initial"]["loadoutPrimaryCamo"] = "none";
|
||||||
level.infect_loadouts["axis_initial"]["loadoutSecondary"] = "none";
|
level.infect_loadouts["axis_initial"]["loadoutSecondary"] = "none";
|
||||||
level.infect_loadouts["axis_initial"]["loadoutSecondaryAttachment"] = "none";
|
level.infect_loadouts["axis_initial"]["loadoutSecondaryAttachment"] = "none";
|
||||||
@@ -820,7 +782,7 @@ setSpecialLoadouts()
|
|||||||
level.infect_loadouts["axis_initial"]["loadoutKillstreak1"] = "none";
|
level.infect_loadouts["axis_initial"]["loadoutKillstreak1"] = "none";
|
||||||
level.infect_loadouts["axis_initial"]["loadoutKillstreak2"] = "none";
|
level.infect_loadouts["axis_initial"]["loadoutKillstreak2"] = "none";
|
||||||
level.infect_loadouts["axis_initial"]["loadoutKillstreak3"] = "none";
|
level.infect_loadouts["axis_initial"]["loadoutKillstreak3"] = "none";
|
||||||
level.infect_loadouts["axis_initial"]["loadoutDeathstreak"] = "specialty_grenadepulldeath";
|
level.infect_loadouts["axis_initial"]["loadoutDeathstreak"] = "none";
|
||||||
|
|
||||||
level.infect_loadouts["allies"]["loadoutPrimary"] = "spas12";
|
level.infect_loadouts["allies"]["loadoutPrimary"] = "spas12";
|
||||||
level.infect_loadouts["allies"]["loadoutPrimaryAttachment"] = "xmags";
|
level.infect_loadouts["allies"]["loadoutPrimaryAttachment"] = "xmags";
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
r_sunsprite_shader "sun"
|
||||||
|
r_sunsprite_size "1000"
|
||||||
|
r_sunflare_shader "sun_flare_icbm"
|
||||||
|
r_sunflare_min_size "192"
|
||||||
|
r_sunflare_min_angle "90"
|
||||||
|
r_sunflare_max_size "192"
|
||||||
|
r_sunflare_max_angle "90"
|
||||||
|
r_sunflare_max_alpha "1"
|
||||||
|
r_sunflare_fadein "0"
|
||||||
|
r_sunflare_fadeout "0.5"
|
||||||
|
r_sunblind_min_angle "25.555"
|
||||||
|
r_sunblind_max_angle "5"
|
||||||
|
r_sunblind_max_darken "0"
|
||||||
|
r_sunblind_fadein "0.5"
|
||||||
|
r_sunblind_fadeout "3"
|
||||||
|
r_sunglare_min_angle "30.4016"
|
||||||
|
r_sunglare_max_angle "5.069"
|
||||||
|
r_sunglare_max_lighten "0.0352871"
|
||||||
|
r_sunglare_fadein "0.5"
|
||||||
|
r_sunglare_fadeout "2.5"
|
||||||
|
r_sun_fx_position "-15 51.5 0"
|
||||||
@@ -153,8 +153,7 @@
|
|||||||
ON_MENU_KEY_K_APAD_RIGHT
|
ON_MENU_KEY_K_APAD_RIGHT
|
||||||
|
|
||||||
#define ON_MENU_KEY_K_F1 \
|
#define ON_MENU_KEY_K_F1 \
|
||||||
open "popup_summary"; \
|
open "popup_summary";
|
||||||
play CHOICE_CLICK_SOUND;
|
|
||||||
|
|
||||||
{
|
{
|
||||||
menuDef
|
menuDef
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
close self;
|
close self;
|
||||||
|
|
||||||
#define ON_MENU_KEY_F5 \
|
#define ON_MENU_KEY_F5 \
|
||||||
play CHOICE_CLICK_SOUND; \
|
|
||||||
uiScript "RefreshServers";
|
uiScript "RefreshServers";
|
||||||
|
|
||||||
#define ON_MENU_KEY_ENTER \
|
#define ON_MENU_KEY_ENTER \
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
{"@MENU_DEFAULT"; "thumbstick_default";
|
{"@MENU_DEFAULT"; "thumbstick_default";
|
||||||
"@MENU_SOUTHPAW"; "thumbstick_southpaw";
|
"@MENU_SOUTHPAW"; "thumbstick_southpaw";
|
||||||
"@MENU_LEGACY"; "thumbstick_legacy";
|
"@MENU_LEGACY"; "thumbstick_legacy";
|
||||||
"@MENU_LEGACY_SOUTHPAW"; "thumbstick_legacysouthpaw"}, execNow "bindgpsticksconfigs";, ;, ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
"@MENU_LEGACY_SOUTHPAW"; "thumbstick_legacysouthpaw"}, execNow "bindgpsticksconfigs";, "@MENU_DESC_THUMBSTICK_LAYOUT", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
||||||
PC_OPTIONS_STRLIST_RAW(3, "@MENU_BUTTON_LAYOUT", "gpad_buttonConfig",
|
PC_OPTIONS_STRLIST_RAW(3, "@MENU_BUTTON_LAYOUT", "gpad_buttonConfig",
|
||||||
{"@MENU_DEFAULT"; "buttons_default";
|
{"@MENU_DEFAULT"; "buttons_default";
|
||||||
"@MENU_TACTICAL"; "buttons_tactical";
|
"@MENU_TACTICAL"; "buttons_tactical";
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
"@MENU_DEFAULT_ALT"; "buttons_default_alt";
|
"@MENU_DEFAULT_ALT"; "buttons_default_alt";
|
||||||
"@MENU_TACTICAL_ALT"; "buttons_tactical_alt";
|
"@MENU_TACTICAL_ALT"; "buttons_tactical_alt";
|
||||||
"@MENU_LEFTY_ALT"; "buttons_lefty_alt";
|
"@MENU_LEFTY_ALT"; "buttons_lefty_alt";
|
||||||
"@MENU_NOMAD_ALT"; "buttons_nomad_alt"}, execNow "bindgpbuttonsconfigs";, ;, ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
"@MENU_NOMAD_ALT"; "buttons_nomad_alt"}, execNow "bindgpbuttonsconfigs";, "@MENU_DESC_BUTTON_LAYOUT", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
||||||
PC_OPTIONS_FLOATLIST_RAW(4, "@MENU_GPAD_STYLE", "gpad_style", {"@MENU_GPAD_XBOX_CAPS" 0 "@MENU_GPAD_PS_CAPS" 1}, ;, "@MPUI_DESC_GPAD_STYLE", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
PC_OPTIONS_FLOATLIST_RAW(4, "@MENU_GPAD_STYLE", "gpad_style", {"@MENU_GPAD_XBOX_CAPS" 0 "@MENU_GPAD_PS_CAPS" 1}, ;, "@MPUI_DESC_GPAD_STYLE", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
||||||
PC_OPTIONS_DVARYESNO_RAW(5, "@MENU_SLOWDOWN_ENABLED", "gpad_slowdown_enabled", ;, "@MPUI_DESC_SLOWDOWN_ENABLED", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
PC_OPTIONS_DVARYESNO_RAW(5, "@MENU_SLOWDOWN_ENABLED", "gpad_slowdown_enabled", ;, "@MPUI_DESC_SLOWDOWN_ENABLED", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
||||||
PC_OPTIONS_DVARYESNO_RAW(6, "@MENU_LOCKON_ENABLED", "gpad_lockon_enabled", ;, "@MPUI_DESC_LOCKON_ENABLED", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
PC_OPTIONS_DVARYESNO_RAW(6, "@MENU_LOCKON_ENABLED", "gpad_lockon_enabled", ;, "@MPUI_DESC_LOCKON_ENABLED", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
||||||
@@ -129,6 +129,6 @@
|
|||||||
{"@MENU_SENSITIVITY_LOW_CAPS" SENSITIVITY_1 "@MENU_SENSITIVITY_MEDIUM_CAPS" SENSITIVITY_2 "3" SENSITIVITY_3
|
{"@MENU_SENSITIVITY_LOW_CAPS" SENSITIVITY_1 "@MENU_SENSITIVITY_MEDIUM_CAPS" SENSITIVITY_2 "3" SENSITIVITY_3
|
||||||
"@MENU_SENSITIVITY_HIGH_CAPS" SENSITIVITY_4 "5" SENSITIVITY_5 "6" SENSITIVITY_6
|
"@MENU_SENSITIVITY_HIGH_CAPS" SENSITIVITY_4 "5" SENSITIVITY_5 "6" SENSITIVITY_6
|
||||||
"@MENU_SENSITIVITY_VERY_HIGH_CAPS" SENSITIVITY_7 "8" SENSITIVITY_8 "9" SENSITIVITY_9 "@MENU_SENSITIVITY_INSANE_CAPS" SENSITIVITY_10},
|
"@MENU_SENSITIVITY_VERY_HIGH_CAPS" SENSITIVITY_7 "8" SENSITIVITY_8 "9" SENSITIVITY_9 "@MENU_SENSITIVITY_INSANE_CAPS" SENSITIVITY_10},
|
||||||
;, ;, ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
;, "@MENU_DESC_LOOK_SENSITIVITY_PRESET", ON_GPAD_DISABLED, ON_GPAD_ENABLED)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -84,18 +84,18 @@
|
|||||||
|
|
||||||
PC_OPTIONS_SEPERATOR(0)
|
PC_OPTIONS_SEPERATOR(0)
|
||||||
|
|
||||||
PC_OPTIONS_FLOATLIST_RAW(1, "@MENU_MAXPACKETS", "cl_maxpackets", {"30" 30 "100" 100 "125" 125}, ;, ;, when(0), 1)
|
PC_OPTIONS_FLOATLIST_RAW(1, "@MENU_MAXPACKETS", "cl_maxpackets", {"30" 30 "100" 100 "125" 125}, ;, "@MENU_DESC_MAXPACKETS", when(0), 1)
|
||||||
PC_OPTIONS_FLOATLIST_RAW(2, "@MENU_SNAPS", "snaps", {"20" 20 "30" 30}, ;, ;, when(0), 1)
|
PC_OPTIONS_FLOATLIST_RAW(2, "@MENU_SNAPS", "snaps", {"20" 20 "30" 30}, ;, "@MENU_DESC_SNAPS", when(0), 1)
|
||||||
|
|
||||||
PC_OPTIONS_SEPERATOR(2)
|
PC_OPTIONS_SEPERATOR(2)
|
||||||
|
|
||||||
PC_OPTIONS_DVARYESNO(3, "@MENU_LAGOMETER", "drawLagometer", ;, when(0))
|
PC_OPTIONS_DVARYESNO(3, "@MENU_LAGOMETER", "drawLagometer", ;, when(0))
|
||||||
PC_OPTIONS_STRLIST_RAW(4, "@MENU_DRAWFPS", "cg_drawFPS", {"Off"; "Off"; "Simple"; "Simple"; "SimpleRanges"; "SimpleRanges"; "Verbose"; "Verbose"; "Verbose+Viewpos"; "Verbose+Viewpos"}, ;, ;, when(0), 1)
|
PC_OPTIONS_STRLIST_RAW(4, "@MENU_DRAWFPS", "cg_drawFPS", {"Off"; "Off"; "Simple"; "Simple"; "SimpleRanges"; "SimpleRanges"; "Verbose"; "Verbose"; "Verbose+Viewpos"; "Verbose+Viewpos"}, ;, "@MENU_DESC_DRAWFPS", when(0), 1)
|
||||||
PC_OPTIONS_DVARYESNO(5, "@MENU_FPSLABELS", "cg_drawFPSLabels", ;, when(0))
|
PC_OPTIONS_DVARYESNO(5, "@MENU_FPSLABELS", "cg_drawFPSLabels", "@MENU_DESC_FPSLABELS", when(0))
|
||||||
|
|
||||||
PC_OPTIONS_SEPERATOR(5)
|
PC_OPTIONS_SEPERATOR(5)
|
||||||
|
|
||||||
PC_OPTIONS_DVARYESNO_RAW(6, "@MENU_STREAMFRIENDLY_UI", "ui_streamFriendly", ;, "@MPUI_DESC_STREAM_FRIENDLY_UI", when(0), 1)
|
PC_OPTIONS_DVARYESNO_RAW(6, "@MENU_STREAMFRIENDLY_UI", "ui_streamFriendly", ;, "@MPUI_DESC_STREAM_FRIENDLY_UI", when(0), 1)
|
||||||
PC_OPTIONS_FLOATLIST_RAW(7, "@MENU_FRIENDNOTIFY", "cl_notifyFriendState", {"Always" -1 "Never" 0 "in Menu" 1}, ;, "@MPUI_DESC_FRIENDNOTIFY", when(dvarBool("ui_streamFriendly")), 1)
|
PC_OPTIONS_DVARYESNO(7, "@MENU_FRIENDNOTIFY", "cl_notifyFriendState", "@MPUI_DESC_FRIENDNOTIFY", when(0))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
allowedBinding "+talk"
|
allowedBinding "+talk"
|
||||||
visible when ( localvarint( "ui_tabDepth" ) == localvarint( "ui_popup_cac_primary_camo_tabDepth" ) )
|
visible when ( localvarint( "ui_tabDepth" ) == localvarint( "ui_popup_cac_primary_camo_tabDepth" ) )
|
||||||
exp rect y ( localvarfloat( "ui_popupYPos" ) + localvarint( "ui_tabDepth" ) * 20 )
|
exp rect y ( localvarfloat( "ui_popupYPos" ) + localvarint( "ui_tabDepth" ) * 20 )
|
||||||
execKey 168
|
execKeyInt 168
|
||||||
{
|
{
|
||||||
if ( localvarstring( "ui_selected_ref" ) != "none" && !isitemunlocked( getplayerdata( "customClasses" , localvarint( "classIndex" ) , "weaponSetups" , 0 , "weapon" ) + " " + localvarstring( "ui_selected_ref" ) ) )
|
if ( localvarstring( "ui_selected_ref" ) != "none" && !isitemunlocked( getplayerdata( "customClasses" , localvarint( "classIndex" ) , "weaponSetups" , 0 , "weapon" ) + " " + localvarstring( "ui_selected_ref" ) ) )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
r_glow "0"
|
||||||
|
r_glowRadius0 "0"
|
||||||
|
r_glowBloomCutoff "0.231778"
|
||||||
|
r_glowBloomDesaturation "0"
|
||||||
|
r_glowBloomIntensity0 "0"
|
||||||
|
|
||||||
|
r_filmEnable "1"
|
||||||
|
r_filmContrast "0.87104"
|
||||||
|
r_filmBrightness "0"
|
||||||
|
r_filmDesaturation "0.352396"
|
||||||
|
r_filmInvert "0"
|
||||||
|
r_filmLightTint "1.10838 1.10717 1.15409"
|
||||||
|
r_filmDarkTint "0.7 0.928125 1"
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loaded 100 of 554 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user