class KFGameReplicationInfo extends InvasionGameReplicationInfo; var int MaxMonsters; var bool MaxMonstersOn; var string ClassListHeaders; var int ClassListClassCount; var string ClassListClassNames; var int numMonsters ; const CLASSLIST_CLASSES=3; var int NumPlayersClassSelected; var int TimeToNextWave; var bool bWaveInProgress; var string LastBotName[6]; var int bBotPlayerReady[6]; var int PendingBots; var string TempBotName; // Changes with the Selections in the ComboBox (but before we click addbot) Used to satisfy the SetGRI stuffs in PlayerController var bool bNoBots; var int LobbyTimeout; var float GameDiff; // Since Level.Game doesnt seem to replicate...let's store the difficulty value here var bool bEnemyHealthBars; var byte EndGameType; var bool bHUDShowCash; var ShopVolume CurrentShop; var bool bObjectiveAchievementFailed; // used in objective mode replication { reliable if(Role == ROLE_Authority) MaxMonstersOn, bWaveInProgress, TimeToNextWave, LobbyTimeout, MaxMonsters, PendingBots, LastBotName, TempBotName, EndGameType, CurrentShop, bObjectiveAchievementFailed; reliable if ( bNetInitial && (Role == ROLE_Authority) ) GameDiff, bEnemyHealthBars, bNoBots, bHUDShowCash; } simulated function PostNetBeginPlay() { local PlayerReplicationInfo PRI; Level.GRI = self; if ( VoiceReplicationInfo == None ) foreach DynamicActors(class'VoiceChatReplicationInfo', VoiceReplicationInfo) break; SetTimer(1.0, true); foreach DynamicActors(class'PlayerReplicationInfo',PRI) AddPRI(PRI); if ( Level.NetMode == NM_Client ) TeamSymbolNotify(); } simulated function Timer() { if ( Level.NetMode == NM_Client && bMatchHasBegun ) { ElapsedTime++; if ( RemainingMinute != 0 ) { RemainingTime = RemainingMinute; RemainingMinute = 0; } if ( (RemainingTime > 0) && !bStopCountDown ) RemainingTime--; if ( !bTeamSymbolsUpdated ) TeamSymbolNotify(); SetTimer(Level.TimeDilation, true); } } simulated function AddKFPRI(PlayerReplicationInfo PRI) { local byte NewVoiceID; local int i; local bool bIgnoreMe; if ( Level.NetMode == NM_ListenServer || Level.NetMode == NM_DedicatedServer ) { for (i = 0; i < PRIArray.Length; i++) { if ( PRIArray[i]==None || PRIArray[i]==PRI ) { PRIArray[i] = PRI; bIgnoreMe = True; } if ( PRIArray[i].VoiceID == NewVoiceID ) { i = -1; NewVoiceID++; continue; } } if ( NewVoiceID >= 32 ) NewVoiceID = 0; PRI.VoiceID = NewVoiceID; } if(!bIgnoreMe) PRIArray[PRIArray.Length] = PRI; } defaultproperties { LobbyTimeout=-1 bHUDShowCash=true }