public float GetDiplomaticBonusBetweenGovernmentTypes( GameDatabase gamedb, AssetDatabase assetdb, PlayerInfo player, PlayerInfo toPlayer) { float num1 = 0.0f; Faction faction1 = assetdb.Factions.FirstOrDefault <Faction>((Func <Faction, bool>)(x => x.ID == player.FactionID)); Faction faction2 = assetdb.Factions.FirstOrDefault <Faction>((Func <Faction, bool>)(x => x.ID == toPlayer.FactionID)); GovernmentInfo governmentInfo = gamedb.GetGovernmentInfo(toPlayer.ID); float num2; if (governmentInfo != null && this.DiplomaticEffect.TryGetValue(governmentInfo.CurrentType, out num2)) { num1 += num2; } if (!toPlayer.isStandardPlayer) { if (faction2 != null && faction2.IsIndependent()) { num1 += this.IndependantBonus; } else if (this.NonPlayerDiplomaticEffect.TryGetValue(governmentInfo.CurrentType, out num2)) { num1 += num2; } } if (faction1 == faction2) { num1 += this.SameFactionBonus; } return(num1); }
public ActionResult GetNeighborhoodId(GovernmentInfo governmateInfo) { var Result = db.Neighborhoods.Where(n => n.GovernorateId == governmateInfo.govermentId).Select(x => new { Id = x.GovernorateId, Name = x.Name }).ToList(); return(Json(new { res = Result })); }
public int GetStratModifierTotal( GameDatabase gamedb, StratModifiers sm, int playerId, int modValue) { GovernmentInfo governmentInfo = gamedb.GetGovernmentInfo(playerId); GovEffectCollection effectCollection; if (governmentInfo != null && this.DiplomaticEffects.TryGetValue(governmentInfo.CurrentType, out effectCollection)) { return(effectCollection.StratEffects.GetResultingStratModifierValue(gamedb, sm, playerId, modValue)); } return(modValue); }
public float GetDiplomacyBonus( GameDatabase gamedb, AssetDatabase assetdb, PlayerInfo player, PlayerInfo toPlayer) { GovernmentInfo governmentInfo = gamedb.GetGovernmentInfo(player.ID); GovEffectCollection effectCollection; if (governmentInfo != null && this.DiplomaticEffects.TryGetValue(governmentInfo.CurrentType, out effectCollection)) { return(effectCollection.DiplomaticEffects.GetDiplomaticBonusBetweenGovernmentTypes(gamedb, assetdb, player, toPlayer)); } return(0.0f); }
private static void SyncPlayerStatsState( App game, string panelName, PlayerInfo playerInfo, bool updateButtonIds) { FactionInfo factionInfo = game.GameDatabase.GetFactionInfo(playerInfo.FactionID); string propertyValue1 = string.Format("{0:000}", (object)Math.Abs(game.GameDatabase.GetFactionInfo(game.GameDatabase.GetPlayerFactionID(game.Game.LocalPlayer.ID)).IdealSuitability - factionInfo.IdealSuitability)); string enginePlantTechString = GameSession.GetBestEnginePlantTechString(game, playerInfo.ID); string engineTechString = GameSession.GetBestEngineTechString(game, playerInfo.ID); string propertyValue2 = game.GameDatabase.GetPlayerInfo(game.Game.LocalPlayer.ID).FactionDiplomacyPoints[factionInfo.ID].ToString(); DiplomacyInfo diplomacyInfo = game.GameDatabase.GetDiplomacyInfo(playerInfo.ID, game.Game.LocalPlayer.ID); int numHistoryTurns = 10; int currentTurn = game.GameDatabase.GetTurnCount(); List <DiplomacyReactionHistoryEntryInfo> list = game.GameDatabase.GetDiplomacyReactionHistory(playerInfo.ID, game.Game.LocalPlayer.ID, currentTurn, 10).ToList <DiplomacyReactionHistoryEntryInfo>(); int[] numArray = new int[numHistoryTurns]; numArray[numHistoryTurns - 1] = diplomacyInfo.Relations; string propertyValue3 = numArray[numHistoryTurns - 1].ToString(); for (int i = numHistoryTurns - 2; i >= 0; --i) { numArray[i] = numArray[i + 1] + list.Where <DiplomacyReactionHistoryEntryInfo>((Func <DiplomacyReactionHistoryEntryInfo, bool>)(x => { int?turnCount = x.TurnCount; int num = currentTurn - (numHistoryTurns - 1 - i); if (turnCount.GetValueOrDefault() == num) { return(turnCount.HasValue); } return(false); })).Sum <DiplomacyReactionHistoryEntryInfo>((Func <DiplomacyReactionHistoryEntryInfo, int>)(y => y.Difference)); propertyValue3 = propertyValue3 + "|" + numArray[i].ToString(); } game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIRelationsGraph), "data", propertyValue3); string diplomaticMoodSprite = diplomacyInfo.GetDiplomaticMoodSprite(); if (!string.IsNullOrEmpty(diplomaticMoodSprite)) { game.UI.SetVisible(DiplomacyUI.UIRelation, true); game.UI.SetPropertyString(DiplomacyUI.UIRelation, "sprite", diplomaticMoodSprite); } else { game.UI.SetVisible(DiplomacyUI.UIRelation, false); } game.UI.SetText(game.UI.Path(panelName, DiplomacyUI.UIRelationText), DiplomacyUI.GetRelationText(diplomacyInfo.State)); string propertyValue4 = Path.GetFileNameWithoutExtension(playerInfo.AvatarAssetPath); if (propertyValue4 == "") { propertyValue4 = game.AssetDatabase.GetFaction(playerInfo.FactionID).SplinterAvatarPath(); } game.UI.SetVisible(game.UI.Path(panelName, "eliminated"), (playerInfo.isDefeated ? 1 : 0) != 0); game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIAvatar), "sprite", propertyValue4); game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIBadge), "sprite", Path.GetFileNameWithoutExtension(playerInfo.BadgeAssetPath)); game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIHazardRating), "text", propertyValue1); game.UI.SetVisible(game.UI.Path(panelName, DiplomacyUI.UIHazardRating), (factionInfo.Name != "loa" ? 1 : 0) != 0); game.UI.SetVisible(game.UI.Path(panelName, "hazardtitle"), (factionInfo.Name != "loa" ? 1 : 0) != 0); if (playerInfo.isStandardPlayer) { game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIDriveTech), "text", enginePlantTechString); game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIDriveSpecial), "text", engineTechString); } else { game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIDriveTech), "text", App.Localize("@UI_DIPLOMACY_TECHLEVEL_1")); game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIDriveSpecial), "text", ""); } game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIStatRpdValue), "text", propertyValue2); GovernmentInfo governmentInfo = game.GameDatabase.GetGovernmentInfo(playerInfo.ID); game.UI.SetPropertyString(game.UI.Path(panelName, DiplomacyUI.UIGovernmentType), "text", App.Localize(string.Format("@UI_EMPIRESUMMARY_{0}", (object)governmentInfo.CurrentType.ToString().ToUpper()))); }