protected override void MakeLocalUpgrades() { // Increase gathering amount localUpgradesList.Add(new LocalUpgrade[1]); localUpgradesList[0][0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.ResourceStats, 0, 0.5f, "-Increase gathering amount\n per " + unitName + " by \r %", new float[3], 1.5f); localUpgradesList [0] [0].descriptionAsPercentage = true; localUpgradesList [0] [0].miscUpgradeSprite = LocalUpgradesMenu.statSpritesDick [StatsType.TimeStats]; // Increase max units localUpgradesList.Add(new LocalUpgrade[1]); float[] secondCostArray = new float[] { 0f, 0f, 30f }; localUpgradesList [1] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.MobTrainerStats, 0, 1f, "-Increase max " + unitName + "s by \r", secondCostArray, 1.5f); localUpgradesList [1] [0].asAddition = true; localUpgradesList [1] [0].messageArray = new string[] { "IncreaseIdealUnits" }; if (buildingArea) { // Increase building health, crush defense, and buildingArea localUpgradesList.Add(new LocalUpgrade[2]); float[] thirdCostArray = new float[] { 0f, 200f, 0f }; localUpgradesList [2] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Health, 1, 0.15f, "-Increase building health \nby \r hp\n", thirdCostArray, 1.3f); localUpgradesList [2] [1] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Defense, 2, 0.12f, "-Increase building crush\ndefense by \r%\n"); localUpgradesList [2] [1].asAddition = true; localUpgradesList [2] [1].descriptionAsPercentage = true; // localUpgradesList [2] [2] = LocalUpgradesMenu.MakeLocalUpgrade (StatsType.StratStats, 0, 0.10f, "-Increase the building area \nradius by \r%\n"); // localUpgradesList [2] [2].descriptionAsPercentage = true; // localUpgradesList[2][2].miscUpgradeSprite = LocalUpgradesMenu.statSpritesDick[StatsType.RangedStats]; // localUpgradesList [2] [2].messageArray = new string[] {"SetBuildingAreaSize"}; } }
public void ChangeEvoProgress(Player player, float amount) { // if the player enters a new era if (playerEvoProgressDick[player] + amount / eraTimeStatsDick[player.Era][0] >= eraTimeStatsDick[player.Era][1]) { float excessRes = (playerEvoProgressDick[player] + amount / eraTimeStatsDick[player.Era][0] - eraTimeStatsDick[player.Era][1]) * eraTimeStatsDick[player.Era][0]; float newAmount = amount - excessRes; playerEvoProgressDick [player] += newAmount / eraTimeStatsDick[player.Era][0]; Eras nextEra = GameManager.orderEraDick[GameManager.eraOrderDick[player.Era] + 1]; playerEvoProgressDick [player] += excessRes / eraTimeStatsDick[nextEra][0]; } else { playerEvoProgressDick [player] += amount / eraTimeStatsDick[player.Era][0]; } if (player == GameManager.HumanPlayer && playerEvoProgressDick[player] < player.GetMaxTotalUnique()) { evoProgressBar.rectTransform.anchorMax = new Vector2(playerEvoProgressDick[player], evoProgressBar.rectTransform.anchorMax.y); for (int i = nextUnlockableEPB; i < evoPanButts.Length; i++) { SpecializationButton sp = evoPanButts[i] as SpecializationButton; if (evoPanButts[i].position <= playerEvoProgressDick[player] && (sp == null || !sp.disabled && (sp.Era == Eras.StoneAge || sp.initiated))) { evoPanButts[i].button.interactable = true; } else if (evoPanButts[i].position > playerEvoProgressDick[player]) { nextUnlockableEPB = i; break; } } } // if New Era if (playerEvoProgressDick[player] >= eraTimeStatsDick[player.Era][1] && player.Era != Eras.Information) { player.NewEra(); if (player == GameManager.HumanPlayer) { GameManager.Hud.EraText.text = player.Era.ToString(); BuildMenu.NextEra(player.Era); LocalUpgradesMenu.NewEra(); if (gameObject.activeSelf) { StartCoroutine(newEraAnnouncement.NewEraBitches(player.Era)); } else { openNewEraOnNextEnable = true; GameManager.Hud.StartFlashButton(evolutionButton.image, new BoolMethod(delegate { return(openNewEraOnNextEnable); })); } } } }
public void Initiate(int thisLocUpIndex) { locUpMenu = GetComponentInParent <LocalUpgradesMenu> (); locUpIndex = thisLocUpIndex; button = GetComponent <Button> (); Image[] allImages = GetComponentsInChildren <Image> (); statImages = new Image[allImages.Length - 1]; for (int i = 1; i < allImages.Length; i++) { statImages[i - 1] = allImages[i]; statImages[i - 1].gameObject.SetActive(false); } }
private IEnumerator UpgradeBuilding() { lUArray[1] = lUBaseTime * localUpgradesList[(int)lUArray[2]][0].rank * lURanktTimeIncrease; for (lUArray[0] = 0f; lUArray[0] < lUArray[1] && isAlive && isUpgrading; lUArray[0] += Time.deltaTime) { yield return(null); } if (lUArray[0] >= lUArray[1]) { remainingLocUpgrades--; LocalUpgradesMenu.FinishUpgrade(this, (int)lUArray[2]); } isUpgrading = false; }
protected override void MakeLocalUpgrades() { // Increase the knowledge gain from experiments localUpgradesList.Add(new LocalUpgrade[1]); float[] firstCostArray = new float[] { 200f, 150f, 0f }; localUpgradesList [0] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.UniqueStats, 0, 0.2f, "-Increase the knowledge gain\nfrom your experiments by \r%\n", firstCostArray, 1.75f); localUpgradesList [0] [0].descriptionAsPercentage = true; localUpgradesList [0] [0].miscUpgradeSprite = HUD.speciesResourceSpriteDick [GetSpecies()] [ResourceType.Unique]; // Decrease expCost and cooldown localUpgradesList.Add(new LocalUpgrade[2]); float[] secondCostArray = new float[] { 0f, 0f, 50f }; localUpgradesList [1] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.UniqueStats, 2, -0.25f, "-Decrease experiment cost\nby \r %\n", secondCostArray, 1.4f); localUpgradesList [1] [0].descriptionAsPercentage = true; localUpgradesList [1] [0].miscUpgradeSprite = HUD.speciesResourceSpriteDick [GetSpecies()] [ResourceType.Gold]; localUpgradesList [1] [1] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.UniqueStats, 3, -0.15f, "-Decrease experiment cool\ndown by \r s\n"); localUpgradesList [1] [1].miscUpgradeSprite = LocalUpgradesMenu.statSpritesDick[StatsType.TimeStats]; }
protected override void MakeLocalUpgrades() { // Increase unit attack localUpgradesList.Add(new LocalUpgrade[1]); float[] firstCostArray = new float[] { 100f, 100f, 0f }; localUpgradesList[0][0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Attack, 0, 0.1f, "-Increase " + unitName + " attack\n by \r dps\n", firstCostArray, 1.5f); localUpgradesList [0] [0].isUnitUpgrade = true; // Increase unit range localUpgradesList.Add(new LocalUpgrade[1]); float[] secondCostArray = new float[] { 50f, 75f, 0f }; localUpgradesList [1] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.RangedStats, 0, 0.15f, "-Increase " + unitName + " range\n by \r m", secondCostArray, 1.5f); localUpgradesList [1] [0].isUnitUpgrade = true; // Increase max units localUpgradesList.Add(new LocalUpgrade[1]); float[] thirdCostArray = new float[] { 150f, 150f, 0f }; localUpgradesList [2] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.MobTrainerStats, 0, 1f, "-Increase max " + unitName + "s by \r", thirdCostArray, 1.5f); localUpgradesList [2] [0].asAddition = true; localUpgradesList [2] [0].messageArray = new string[] { "InstantiateNewUnit" }; }
protected override void MakeLocalUpgrades() { // Increase unit attack localUpgradesList.Add(new LocalUpgrade[1]); float[] firstCostArray = new float[] { 0f, 150f, 25f }; localUpgradesList[0][0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Attack, 0, 0.1f, "-Increase unit attack\n by \r dps\n", firstCostArray, 1.5f); localUpgradesList [0] [0].isUnitUpgrade = true; // Increase unit health localUpgradesList.Add(new LocalUpgrade[1]); float[] secondCostArray = new float[] { 100f, 100f, 0f }; localUpgradesList [1] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Health, 1, 0.15f, "-Increase unit health\n by \r hp", secondCostArray, 1.5f); localUpgradesList [1] [0].isUnitUpgrade = true; // Decrease trainingTime and unit incendiary defense localUpgradesList.Add(new LocalUpgrade[2]); float[] thirdCostArray = new float[] { 50f, 150f, 0f }; localUpgradesList [2] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.MobTrainerStats, 1, -0.1f, "-Decrease training time\n by \r s\n", thirdCostArray, 1.5f); localUpgradesList [2] [0].miscUpgradeSprite = LocalUpgradesMenu.statSpritesDick [StatsType.TimeStats]; localUpgradesList [2] [1] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Defense, 3, 0.15f, "-Increase unit incendiary\n defense by \r %"); localUpgradesList [2] [1].isUnitUpgrade = true; localUpgradesList [2] [1].asAddition = true; localUpgradesList [2] [1].descriptionAsPercentage = true; }
protected override void MakeLocalUpgrades() { // Increase unit attack and health localUpgradesList.Add(new LocalUpgrade[2]); float[] firstCostArray = new float[] { 100f, 75f, 0f }; localUpgradesList [0] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Attack, 0, 0.2f, "-Increase unit attack\n by \r dps\n", firstCostArray, 1.5f); localUpgradesList [0] [0].isUnitUpgrade = true; localUpgradesList [0] [1] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Health, 1, 0.15f, "-Increase unit health\n by \r hp"); localUpgradesList [0] [1].isUnitUpgrade = true; // Increase max units localUpgradesList.Add(new LocalUpgrade[1]); float[] secondCostArray = new float[] { 75f, 50f, 25f }; localUpgradesList [1] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.MobTrainerStats, 0, 1f, "-Increase max " + unitName + "s\nby \r \n", secondCostArray, 1.5f); localUpgradesList [1] [0].asAddition = true; localUpgradesList [1] [0].messageArray = new string[] { "InstantiateNewUnit", "StartTraining" }; // Decrease training time and increase building health localUpgradesList.Add(new LocalUpgrade[2]); float[] thirdCostArray = new float[] { 50f, 100f, 0f }; localUpgradesList [2] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.MobTrainerStats, 0, 1f, "-Decrease training time by \r s\n", thirdCostArray, 1.25f); localUpgradesList [2] [0].miscUpgradeSprite = LocalUpgradesMenu.statSpritesDick [StatsType.TimeStats]; localUpgradesList [2] [1] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.Health, 1, 0.2f, "-Increase building health\nby \r hp\n"); }
protected override void MakeLocalUpgrades() { // Increase repair rate and decrease multi construction penalty localUpgradesList.Add(new LocalUpgrade[2]); float[] firstCostArray = new float[] { 150f, 150f, 0f }; localUpgradesList[0][0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.CapitalStats, 1, 0.25f, "-Increase repair rate\nby \r %\n", firstCostArray, 1.5f); localUpgradesList [0] [0].descriptionAsPercentage = true; localUpgradesList[0][1] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.CapitalStats, 2, -0.1f, "-Decrease multi-construction\ndelay by \r%"); localUpgradesList [0] [1].descriptionAsPercentage = true; // Increase caravan capacity, health, and speed localUpgradesList.Add(new LocalUpgrade[3]); float[] secondCostArray = new float[] { 75f, 75f, 0f }; localUpgradesList [1] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.CaravanStats, 0, 2f, "-Increase caravan capacity\nby \r\n", secondCostArray, 1.5f); localUpgradesList [1] [0].asAddition = true; localUpgradesList [1] [1] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.CaravanStats, 1, 0.1f, "-Increase caravan health\nby \r hp\n"); localUpgradesList [1] [2] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.CaravanStats, 2, 0.25f, "-Increase caravan speed\nby \r m/s"); localUpgradesList [1] [2].messageArray = new string[] { "IncreaseCurrentCaravansStats" }; // Increase max builders localUpgradesList.Add(new LocalUpgrade[1]); float[] thirdCostArray = new float[] { 0f, 0f, 75f }; localUpgradesList [2] [0] = LocalUpgradesMenu.MakeLocalUpgrade(StatsType.MobTrainerStats, 0, 2f, "-Increase max " + unitName + "s by \r", thirdCostArray, 1.5f); localUpgradesList [2] [0].asAddition = true; localUpgradesList [2] [0].messageArray = new string[] { "IncreaseIdealUnits" }; }