Compare commits

..
22 Commits
Author SHA1 Message Date
Louvenarde b32875849d Add missing files 2024-01-13 21:21:33 +01:00
Louvenarde fd5a71b32e Fix image categories, among other things 2024-01-13 21:16:49 +01:00
Louve 0b8d678893 Merge pull request #12 from diamante0018/patch-1
fix(str): update localize string value fix menu bug too
2024-01-12 10:17:27 +01:00
Louve 704a69a9ec Merge pull request #15 from diamante0018/develop
gamemode fixes
2024-01-12 00:00:59 +01:00
Louve 671a0a181c Merge pull request #19 from Laupetin/fix/small-serverlist-menu-mistakes
Remove duplicated mouse_click plays on key press macros
2024-01-11 23:42:10 +01:00
Louve d310691343 Merge pull request #17 from diamante0018/patch-3
more fixes for gun
2024-01-11 23:40:43 +01:00
Louve c93351046b Merge pull request #18 from diamante0018/patch-4
precache required scriptmenus
2024-01-11 23:40:22 +01:00
Jan f711722e5b Remove duplicated mouse_click plays on key press macros 2023-12-31 15:39:08 +01:00
Edo 3f2f24ab09 Update _menus.gsc 2023-12-31 14:14:00 +01:00
Edo 9576031f63 more fixes for gun 2023-12-31 14:05:22 +01:00
Edo 75ab8a88cc remove splitscreen code 2023-12-25 11:30:07 +01:00
Diavolo 7744518f3c gamemode fixes 2023-12-25 11:26:35 +01:00
Edo 5c7ba128cc remove double entry 2023-12-24 23:37:25 +01:00
Edo 7dcca93eed Update popup_cac_primary_camo.menu 2023-12-24 12:17:09 +01:00
Edo bb8ba5bea7 Update pc_options_multi.menu 2023-12-24 12:09:37 +01:00
Edo 66bfdf1b06 Update pc_options_multi.menu 2023-12-24 12:04:02 +01:00
Edo e8cf3048c5 Update pc_options_multi.menu 2023-12-24 11:59:31 +01:00
Edo 17f0f49635 Update iw4x_english.str 2023-12-24 11:57:53 +01:00
Edo 32e940e5d4 update gamepad 2023-12-24 11:57:16 +01:00
Edo b3adaada92 better desc 2023-12-24 11:52:05 +01:00
Edo 20a0dc25a7 fix(str): update localize string value 2023-12-24 11:36:10 +01:00
Louvenarde 9696e39099 Remove duplicate images 2023-12-20 00:59:42 +01:00
554 changed files with 9874 additions and 141 deletions

No files matched your search

Binary file not shown.
Binary file not shown.
+20 -4
View File
@@ -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 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(); 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
+9 -3
View File
@@ -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" );
+83 -121
View File
@@ -26,6 +26,7 @@ main()
level.onSpawnPlayer = ::onSpawnPlayer; level.onSpawnPlayer = ::onSpawnPlayer;
level.getSpawnPoint = ::getSpawnPoint; level.getSpawnPoint = ::getSpawnPoint;
level.onPlayerKilled = ::onPlayerKilled; level.onPlayerKilled = ::onPlayerKilled;
level.onDeadEvent = ::onDeadEvent;
level.onTimeLimit = ::onTimeLimit; level.onTimeLimit = ::onTimeLimit;
level.infect_perks = []; level.infect_perks = [];
@@ -54,12 +55,13 @@ 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( "allies", &"OBJECTIVES_INFECT" );
setObjectiveText( "axis", &"OBJECTIVES_INFECT" ); setObjectiveText( "axis", &"OBJECTIVES_INFECT" );
@@ -103,7 +105,6 @@ 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;
@@ -118,20 +119,15 @@ 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;
}
} }
} }
@@ -148,18 +144,13 @@ 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 )
@@ -176,12 +167,11 @@ getSpawnPoint()
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,17 +181,16 @@ 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 = true; level.infect_choseFirstInfected = 1;
level.infect_allowSuicide = true; level.infect_allowsuicide = 1;
foreach ( player in level.players ) foreach ( player in level.players )
{ {
if ( isDefined( player.infect_isBeingChosen ) ) if ( isDefined( player.infect_isBeingChosen ) )
@@ -209,16 +198,14 @@ onSpawnPlayer()
} }
} }
// 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.isInitialInfected ) ) if ( isDefined( player.isInitialInfected ) )
player thread setInitialToNormalInfected(); player thread setInitialToNormalInfected();
} }
// if they're the only infected, then set them as initial infected if ( level.infect_teamscores["axis"] == 1 )
if ( level.infect_teamScores["axis"] == 1 ) self.isInitialInfected = 1;
self.isInitialInfected = true;
} }
// onSpawnPlayer() is called before giveLoadout() // onSpawnPlayer() is called before giveLoadout()
@@ -228,8 +215,7 @@ onSpawnPlayer()
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" );
} }
@@ -323,32 +309,19 @@ 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" ); gameFlagWait( "prematch_done" );
level.infect_timerDisplay.label = &"MP_DRAFT_STARTS_IN"; level.infect_timerDisplay.label = &"MP_DRAFT_STARTS_IN";
level.infect_timerDisplay setTimer( 15 ); level.infect_timerDisplay settimer( 8 );
level.infect_timerDisplay.alpha = 1; level.infect_timerDisplay.alpha = 1;
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 15.0 ); maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 8.0 );
level.infect_timerDisplay.alpha = 0; level.infect_timerDisplay.alpha = 0;
possibleInfected = []; level.players[randomint( level.players.size )] setFirstInfected( true );
foreach( player in level.players )
{
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 )
@@ -359,14 +332,14 @@ setFirstInfected( 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
@@ -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,7 +361,6 @@ 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
@@ -400,7 +375,7 @@ setFirstInfected( wasChosen )
// 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,13 +387,12 @@ 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" );
} }
@@ -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;
@@ -518,10 +492,8 @@ 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
{ {
@@ -530,7 +502,6 @@ onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHi
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 )
@@ -545,10 +516,7 @@ onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHi
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 );
@@ -559,16 +527,11 @@ 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()
@@ -582,27 +545,27 @@ 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() ) if ( matchMakingGame() )
level thread finalsurvivoruav( player ); level thread finalSurvivorUAV( player );
break; break;
} }
} }
} }
finalSurvivorUAV( finalPlayer ) finalSurvivorUAV( finalPlayer )
{ {
level endon( "game_ended" ); level endon( "game_ended" );
@@ -612,34 +575,31 @@ finalSurvivorUAV( finalPlayer )
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 ) foreach ( player in level.players )
{ {
if ( player.team == "axis" ) if ( player.team == "axis" )
player.radarMode = "normal_radar"; player.radarmode = "normal_radar";
} }
//setTeamRadarStrength( "axis", 1 ); for (;;)
while( true )
{ {
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 ) if ( distance( prevPos, finalPlayer.origin ) < 200 )
{ {
setTeamRadar( "axis", 1 ); setTeamRadar( "axis", 1 );
removeUAV = true; removeUAV = true;
foreach ( player in level.players )
player playLocalSound( "recondrone_tag" );
} }
} }
} }
@@ -650,16 +610,17 @@ 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;
} }
} }
@@ -667,7 +628,6 @@ 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
@@ -714,7 +674,6 @@ onPlayerDisconnect()
} }
} }
} }
// clear this regardless on the way out // clear this regardless on the way out
self.isInitialInfected = undefined; self.isInitialInfected = undefined;
} }
@@ -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; return numInfected;
if( player.team == team )
size++;
} }
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";
+21
View File
@@ -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"
+1 -2
View File
@@ -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
-1
View File
@@ -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 \
+3 -3
View File
@@ -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)
} }
} }
+5 -5
View File
@@ -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" ) ) )
{ {
+14
View File
@@ -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.
Loaded 100 of 554 files, more files were not shown because too many files have changed in this diff. Show more