private void CreatePvPQueue() { LobbyGameConfig gameConfig = new LobbyGameConfig() { GameType = GameType.PvP, IsActive = true, GameOptionFlags = GameOptionFlag.EnableTeamAIOutput | GameOptionFlag.ReplaceHumansWithBots, Spectators = 0, TeamAPlayers = 1, TeamABots = 0, TeamBPlayers = 1, TeamBBots = 0, ResolveTimeoutLimit = 160, RoomName = "default", Map = String.Empty, SubTypes = new List <GameSubType> { new GameSubType { DuplicationRule = FreelancerDuplicationRuleTypes.noneInTeam, GameMapConfigs = GameMapConfig.GetDeatmatchMaps(), InstructionsToDisplay = GameSubType.GameLoadScreenInstructions.Default, LocalizedName = "GenericPvP@SubTypes", PersistedStatBucket = PersistedStatBucket.Deathmatch_Unranked, RewardBucket = GameBalanceVars.GameRewardBucketType.HumanVsBotsRewards, RoleBalancingRule = FreelancerRoleBalancingRuleTypes.balanceBothTeams, TeamAPlayers = 1, TeamABots = 0, TeamBPlayers = 1, TeamBBots = 0, Mods = new List <GameSubType.SubTypeMods> { GameSubType.SubTypeMods.HumansHaveFirstSlots, //GameSubType.SubTypeMods.ShowWithAITeammates }, TeamComposition = new TeamCompositionRules { Rules = new Dictionary <TeamCompositionRules.SlotTypes, FreelancerSet> { { TeamCompositionRules.SlotTypes.TeamA, new FreelancerSet { Roles = new List <CharacterRole> { CharacterRole.Assassin, CharacterRole.Tank, CharacterRole.Support }, } }, { TeamCompositionRules.SlotTypes.TeamB, new FreelancerSet { Roles = new List <CharacterRole> { CharacterRole.Assassin, CharacterRole.Tank, CharacterRole.Support } } } } } } } }; LobbyQueue.LobbyQueue queue = new LobbyQueue.LobbyQueue(GameType.PvP, gameConfig); Queues.Add(GameType.PvP, queue); }
private void CreatePracticeQueue() { LobbyGameConfig gameConfig = new LobbyGameConfig() { GameType = GameType.Practice, IsActive = false, GameOptionFlags = GameOptionFlag.EnableTeamAIOutput | GameOptionFlag.NoInputIdleDisconnect, Spectators = 0, TeamAPlayers = 1, TeamABots = 0, TeamBPlayers = 0, TeamBBots = 2, ResolveTimeoutLimit = 160, RoomName = "default", Map = Maps.Skyway_Deathmatch, SubTypes = new List <GameSubType> { new GameSubType { DuplicationRule = FreelancerDuplicationRuleTypes.noneInTeam, GameMapConfigs = new List <GameMapConfig> { new GameMapConfig(Maps.Skyway_Deathmatch) }, InstructionsToDisplay = GameSubType.GameLoadScreenInstructions.Default, LocalizedName = "GenericPractice@SubTypes", PersistedStatBucket = PersistedStatBucket.Deathmatch_Unranked, RewardBucket = GameBalanceVars.GameRewardBucketType.NoRewards, RoleBalancingRule = FreelancerRoleBalancingRuleTypes.none, TeamAPlayers = 1, TeamABots = 0, TeamBPlayers = 0, TeamBBots = 2, Mods = new List <GameSubType.SubTypeMods> { GameSubType.SubTypeMods.AllowPlayingLockedCharacters, GameSubType.SubTypeMods.HumansHaveFirstSlots, GameSubType.SubTypeMods.NotAllowedForGroups }, TeamComposition = new TeamCompositionRules { Rules = new Dictionary <TeamCompositionRules.SlotTypes, FreelancerSet> { { TeamCompositionRules.SlotTypes.A1, FreelancerSet.AllRoles }, { TeamCompositionRules.SlotTypes.B1, new FreelancerSet { Types = new List <CharacterType> { CharacterType.PunchingDummy } } }, { TeamCompositionRules.SlotTypes.B2, new FreelancerSet { Types = new List <CharacterType> { CharacterType.PunchingDummy } } } } } } } }; LobbyQueue.LobbyQueue queue = new LobbyQueue.LobbyQueue(GameType.Practice, gameConfig); Queues.Add(GameType.Practice, queue); }