public bool BuyUpgrade(string treeId, Hero hero, TownUpgrade upgrade, float discount, bool isFree) { if (!isFree && !CanPayPrice(upgrade.Cost, discount)) { return(false); } if (!HeroPurchases.ContainsKey(hero.RosterId)) { HeroPurchases.Add(hero.RosterId, new Dictionary <string, UpgradePurchases>()); } if (!HeroPurchases[hero.RosterId].ContainsKey(treeId)) { HeroPurchases[hero.RosterId].Add(treeId, new UpgradePurchases(treeId, upgrade.Code)); } else { if (HeroPurchases[hero.RosterId][treeId].PurchasedUpgrades.Contains(upgrade.Code)) { return(false); } HeroPurchases[hero.RosterId][treeId].PurchasedUpgrades.Add(upgrade.Code); } if (!isFree) { RemoveCurrency(upgrade.Cost, discount); } DarkestSoundManager.PlayOneShot("event:/ui/town/buy"); return(true); }
private string EmitSwapTitleDelegate(NPC npc, string input) { if (StarlightWorld.TownUpgrades.TryGetValue(npc.TypeName, out bool unlocked) && unlocked) { return(npc.GivenName + " the " + TownUpgrade.FromString(npc.TypeName)._title); } return(input); }
private Texture2D EmitSwapTitleMenuDelegate(Texture2D input, NPC npc) { if (StarlightWorld.TownUpgrades.TryGetValue(npc.TypeName, out bool unlocked) && unlocked) { return(TownUpgrade.FromString(npc.TypeName).icon); } return(input); }
private NetworkText EmitSwapTitleDeathDelegate(NetworkText input, NPC npc) { if (StarlightWorld.TownUpgrades.TryGetValue(npc.TypeName, out bool unlocked) && unlocked) { return(NetworkText.FromLiteral(npc.GivenName + " the " + TownUpgrade.FromString(npc.TypeName)._title + " was slain...")); } return(input); }
private string EmitSwapTextMenuDelegate(string input, NPC npc, int x, int y) { bool hovering = Main.mouseX >= x && Main.mouseX <= x + Main.inventoryBackTexture.Width * Main.inventoryScale && Main.mouseY >= y && Main.mouseY <= y + Main.inventoryBackTexture.Height * Main.inventoryScale; if (hovering && string.IsNullOrEmpty(input) && Main.mouseItem.type == ItemID.None && StarlightWorld.TownUpgrades.TryGetValue(npc.TypeName, out bool unlocked) && unlocked) { return(npc.GivenName + " the " + TownUpgrade.FromString(npc.TypeName)._title); } return(input); }
public void SetState(TownUpgrade state) { activeUpgrade = state; if (state != null) { button.displayString = state._buttonName; } OnInitialize(); }
// Use this for initialization void Start() { tu = GetComponent <TownUpgrade>(); du = GetComponent <DudeUpgrade>(); slider.value = sliderVal; sc = FindObjectOfType <SpeedControl>(); ChangeSpeed(startSpeed); dude = FindObjectOfType <DudeController>(); ec = GetComponent <EndingControl>(); }
private string SetUpgradeUI(On.Terraria.NPC.orig_GetChat orig, NPC self) { if (StarlightWorld.TownUpgrades.TryGetValue(self.TypeName, out bool unlocked) && unlocked) { Instance.Chatbox.SetState(TownUpgrade.FromString(self.TypeName)); } else { Instance.Chatbox.SetState(new LockedUpgrade()); } return(orig(self)); }
public void PopulateList() { quests.Clear(); int offY = 0; foreach (KeyValuePair <string, bool> pair in StarlightWorld.TownUpgrades) { if (TownUpgrade.FromString(pair.Key) != null) { AddQuestButton(new TownQuestItem(TownUpgrade.FromString(pair.Key)), offY); } offY += 28 + 6; } }
public UpgradeStatus GetUpgradeStatus(string treeId, TownUpgrade upgrade) { if (TownPurchases[treeId].PurchasedUpgrades.Contains(upgrade.Code)) { return(UpgradeStatus.Purchased); } for (int i = 0; i < upgrade.Prerequisites.Count; i++) { if (!TownPurchases[upgrade.Prerequisites[i].TreeId].PurchasedUpgrades. Contains(upgrade.Prerequisites[i].RequirementCode)) { return(UpgradeStatus.Locked); } } return(UpgradeStatus.Available); }
private string SetUpgradeUI(On.Terraria.NPC.orig_GetChat orig, NPC self) { if (StarlightWorld.TownUpgrades.TryGetValue(self.TypeName, out bool unlocked)) { if (unlocked) { UILoader.GetUIState <ChatboxOverUI>().SetState(TownUpgrade.FromString(self.TypeName)); } else { UILoader.GetUIState <ChatboxOverUI>().SetState(new LockedUpgrade()); } } else { UILoader.GetUIState <ChatboxOverUI>().SetState(null); } return(orig(self)); }
public bool BuyUpgrade(string treeId, TownUpgrade upgrade, bool isFree) { if (!isFree && !CanPayPrice(upgrade.Cost)) { return(false); } if (!TownPurchases.ContainsKey(treeId)) { TownPurchases.Add(treeId, new UpgradePurchases(treeId, upgrade.Code)); } else { if (TownPurchases[treeId].PurchasedUpgrades.Contains(upgrade.Code)) { return(false); } TownPurchases[treeId].PurchasedUpgrades.Add(upgrade.Code); } if (!isFree) { RemoveCurrency(upgrade.Cost); if (upgrade.Cost.Find(cost => cost.Type != "gold" && cost.Amount > 0) != null) { EstateSceneManager.Instanse.CurrencyPanel.CurrencyDecreased("heirloom"); } } if (DarkestDungeonManager.Data.UpgradeTrees.ContainsKey(treeId)) { DarkestSoundManager.ExecuteNarration("upgrade_building", NarrationPlace.Town, DarkestDungeonManager.Data.UpgradeTrees[treeId].Tags.ToArray()); } DarkestSoundManager.PlayOneShot("event:/ui/town/buy"); return(true); }
public TownQuestItem(TownUpgrade itemQuest) => quest = itemQuest;