public static Pirates ResumeEncounter(GameDatabase gamedb) { Pirates pirates = new Pirates(); PlayerInfo playerInfo = gamedb.GetPlayerInfos().ToList <PlayerInfo>().FirstOrDefault <PlayerInfo>((Func <PlayerInfo, bool>)(x => { if (!x.isStandardPlayer) { return(x.Name.Contains("Pirate")); } return(false); })); pirates.PlayerId = playerInfo == null?gamedb.InsertPlayer("Pirate", "slavers", new int?(), new Vector3(0.0f), new Vector3(0.0f), "", "\\base\\factions\\slavers\\avatars\\Slavers_Avatar.tga", 0.0, 0, false, false, false, 0, AIDifficulty.Normal) : playerInfo.ID; DesignInfo designInfo = gamedb.GetDesignInfosForPlayer(pirates.PlayerId).FirstOrDefault <DesignInfo>((Func <DesignInfo, bool>)(x => x.Name == "Pirate Base")); pirates._pirateBaseDesignId = designInfo != null ? designInfo.ID : -1; return(pirates); }
public static Pirates InitializeEncounter(GameDatabase gamedb, AssetDatabase assetdb) { Pirates pirates = new Pirates(); pirates.PlayerId = gamedb.InsertPlayer("Pirate", "slavers", new int?(), assetdb.RandomEncounterPrimaryColor, new Vector3(0.0f), "", "\\base\\factions\\slavers\\avatars\\Slavers_Avatar.tga", 0.0, 0, false, false, false, 0, AIDifficulty.Normal); foreach (LogicalWeapon weapon in assetdb.Weapons) { gamedb.InsertWeapon(weapon, pirates.PlayerId); } if (gamedb.HasEndOfFleshExpansion()) { pirates._pirateBaseDesignId = gamedb.InsertDesignByDesignInfo(new DesignInfo(pirates.PlayerId, "Pirate Base", new string[1] { string.Format("factions\\{0}\\sections\\{1}", (object)"slavers", (object)"sn_piratebase.section") }) { StationType = StationType.NAVAL }); } return(pirates); }