using System; using SUISS.Core; using UnityEngine; public sealed class CIGVariables : SingletonMonobehaviour { public decimal FactorForExpansionCostsCash { get { return 0.6875m; } } public bool AllowDifferentTimewarpSettings { get { return true; } } public decimal ConstructionCostGoldPenalty { get { return 2m; } } public decimal GoldToCashRatio { get { return 20000m; } } public decimal TranslateCashToGold(decimal cash) { if (cash == 0m) { return 0m; } return Math.Max(1m, Math.Floor(cash / this.GoldToCashRatio)); } public decimal CitizenCostCash { get { return 1000m; } } public decimal HappinessCostCash { get { return 750m; } } public double FactorForUpLevellingSpeed { get { return 1.0; } } public float FactorForSpeedupCostCash() { string apiProperty = SingletonMonobehaviour.Instance.GetApiProperty("succf"); if (string.IsNullOrEmpty(apiProperty)) { return 1f; } if (apiProperty == "50%") { return 0.5f; } if (apiProperty == "150%") { return 1.5f; } return 1f; } public float UpgradeCommercialROI(int level) { return (float)Math.Round((double)(6f + Mathf.Pow(1.5f, (float)(level + 1))), 2); } public float UpgradeResidentialMultiplier(int level) { return (float)Math.Round((double)Mathf.Pow(1.5f, (float)(level + 1)), 2); } public float UpgradeEnvironmentalMultiplier(int level) { return (float)Math.Round((double)Mathf.Pow(1.3f, (float)(level + 1)), 2); } public float UpgradeCostFactorGoldBuildings { get { return 0.55f; } } public float UpgradeCostPerCitizen { get { return 1000f; } } public float UpgradeCostPerHappiness { get { return 1000f; } } }