public static bool HasCustomProfession(this Farmer farmer, Skills.Skill.Profession prof) { return(farmer.professions.Contains(prof.GetVanillaId())); }
public NewSkillsPage(int x, int y, int width, int height) : base(x, y, width, height, false) { int x1 = this.xPositionOnScreen + IClickableMenu.spaceToClearSideBorder + 80; int y1 = this.yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + (int)((double)height / 2.0) + 80; this.playerPanel = new Rectangle(this.xPositionOnScreen + 64, this.yPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder, 128, 192); if (Game1.player.canUnderstandDwarves) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11587"), Game1.mouseCursors, new Rectangle(129, 320, 16, 16), 4f, true); textureComponent.myID = 10201; textureComponent.rightNeighborID = 10202; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.hasRustyKey) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 68 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11588"), Game1.mouseCursors, new Rectangle(145, 320, 16, 16), 4f, true); textureComponent.myID = 10202; textureComponent.rightNeighborID = 10203; textureComponent.leftNeighborID = 10201; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.hasClubCard) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 136 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11589"), Game1.mouseCursors, new Rectangle(161, 320, 16, 16), 4f, true); textureComponent.myID = 10203; textureComponent.rightNeighborID = 10204; textureComponent.leftNeighborID = 10202; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.hasSpecialCharm) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 204 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11590"), Game1.mouseCursors, new Rectangle(176, 320, 16, 16), 4f, true); textureComponent.myID = 10204; textureComponent.rightNeighborID = 10205; textureComponent.leftNeighborID = 10203; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.hasSkullKey) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 272 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11591"), Game1.mouseCursors, new Rectangle(192, 320, 16, 16), 4f, true); textureComponent.myID = 10205; textureComponent.rightNeighborID = 10206; textureComponent.leftNeighborID = 10204; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.hasMagnifyingGlass) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 340 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.magnifyingglass"), Game1.mouseCursors, new Rectangle(208, 320, 16, 16), 4f, true); textureComponent.myID = 10205; textureComponent.rightNeighborID = 10206; textureComponent.leftNeighborID = 10204; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.hasDarkTalisman) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 408 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\Objects:DarkTalisman"), Game1.mouseCursors, new Rectangle(225, 320, 16, 16), 4f, true); textureComponent.myID = 10206; textureComponent.rightNeighborID = 10207; textureComponent.leftNeighborID = 10205; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.hasMagicInk) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 476 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\Objects:MagicInk"), Game1.mouseCursors, new Rectangle(241, 320, 16, 16), 4f, true); textureComponent.myID = 10207; textureComponent.leftNeighborID = 10206; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.eventsSeen.Contains(2120303)) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 544 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\Objects:BearPaw"), Game1.mouseCursors, new Rectangle(192, 336, 16, 16), 4f, true); textureComponent.myID = 10208; textureComponent.leftNeighborID = 10207; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } if (Game1.player.eventsSeen.Contains(3910979)) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 612 + WALLET_MOVE_X, y1 + WALLET_MOVE_Y, 64, 64), (string)null, Game1.content.LoadString("Strings\\Objects:SpringOnionBugs"), Game1.mouseCursors, new Rectangle(208, 336, 16, 16), 4f, true); textureComponent.myID = 10209; textureComponent.leftNeighborID = 10208; textureComponent.upNeighborID = 4; specialItems.Add(textureComponent); } int num1 = 0; int num2 = LocalizedContentManager.CurrentLanguageCode == LocalizedContentManager.LanguageCode.ru ? this.xPositionOnScreen + width - 448 - 48 + 4 : this.xPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder + 256 - 4; int num3 = this.yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + IClickableMenu.borderWidth - 12; int num4 = 4; while (num4 < 10) { for (int index = 0; index < (SpaceCore.instance.Helper.ModRegistry.IsLoaded("spacechase0.LuckSkill") ? 6 : 5); ++index) { string professionBlurb = ""; string professionTitle = ""; bool flag = false; int whichProfession = -1; switch (index) { case 0: flag = Game1.player.FarmingLevel > num4; whichProfession = Game1.player.getProfessionForSkill(0, num4 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 1: flag = Game1.player.MiningLevel > num4; whichProfession = Game1.player.getProfessionForSkill(3, num4 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 2: flag = Game1.player.ForagingLevel > num4; whichProfession = Game1.player.getProfessionForSkill(2, num4 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 3: flag = Game1.player.FishingLevel > num4; whichProfession = Game1.player.getProfessionForSkill(1, num4 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 4: flag = Game1.player.CombatLevel > num4; whichProfession = Game1.player.getProfessionForSkill(4, num4 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 5: flag = Game1.player.LuckLevel > num4; whichProfession = Game1.player.getProfessionForSkill(5, num4 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; } if (flag && (num4 + 1) % 5 == 0) { List <ClickableTextureComponent> skillBars = this.skillBars; ClickableTextureComponent textureComponent = new ClickableTextureComponent(string.Concat((object)whichProfession), new Rectangle(num1 + num2 - 4 + num4 * 36, num3 + index * 56, 56, 36), (string)null, professionBlurb, Game1.mouseCursors, new Rectangle(159, 338, 14, 9), 4f, true); textureComponent.myID = num4 + 1 == 5 ? 100 + index : 200 + index; textureComponent.leftNeighborID = num4 + 1 == 5 ? index : 100 + index; textureComponent.rightNeighborID = num4 + 1 == 5 ? 200 + index : -1; textureComponent.downNeighborID = 10201; skillBars.Add(textureComponent); } } num1 += 24; num4 += 5; } ////////////////////////////////// num1 = 0; num4 = 4; while (num4 < 10) { int index_ = SpaceCore.instance.Helper.ModRegistry.IsLoaded("spacechase0.LuckSkill") ? 6 : 5; foreach (var skillName in Skills.GetSkillList()) { var skill = Skills.GetSkill(skillName); string professionBlurb = ""; string professionTitle = ""; bool flag = false; Skills.Skill.Profession whichProfession = null; flag = Game1.player.GetCustomSkillLevel(skill) > num4; whichProfession = Skills.getProfessionFor(skill, num4 + 1);// Game1.player.getProfessionForSkill(0, num4 + 1); var profLines = new List <string>(); if (whichProfession != null) { profLines.Add(whichProfession.Name); profLines.AddRange(whichProfession.Description.Split('\n')); } this.parseProfessionDescription(ref professionBlurb, ref professionTitle, profLines); if (flag && (num4 + 1) % 5 == 0 && whichProfession != null) { List <ClickableTextureComponent> skillBars = this.skillBars; ClickableTextureComponent textureComponent = new ClickableTextureComponent("C" + whichProfession.Name, new Rectangle(num1 + num2 - 4 + num4 * 36, num3 + index_ * 56, 56, 36), (string)null, professionBlurb, Game1.mouseCursors, new Rectangle(159, 338, 14, 9), 4f, true); textureComponent.myID = num4 + 1 == 5 ? 100 + index_ : 200 + index_; textureComponent.leftNeighborID = num4 + 1 == 5 ? index_ : 100 + index_; textureComponent.rightNeighborID = num4 + 1 == 5 ? 200 + index_ : -1; textureComponent.downNeighborID = 10201; skillBars.Add(textureComponent); } ++index_; } num1 += 24; num4 += 5; } ////////////////////////////////// for (int index = 0; index < this.skillBars.Count; ++index) { if (index < this.skillBars.Count - 1 && Math.Abs(this.skillBars[index + 1].myID - this.skillBars[index].myID) < 50) { this.skillBars[index].downNeighborID = this.skillBars[index + 1].myID; this.skillBars[index + 1].upNeighborID = this.skillBars[index].myID; } } if (this.skillBars.Count > 1 && this.skillBars.Last <ClickableTextureComponent>().myID >= 200 && this.skillBars[this.skillBars.Count - 2].myID >= 200) { this.skillBars.Last <ClickableTextureComponent>().upNeighborID = this.skillBars[this.skillBars.Count - 2].myID; } for (int index = 0; index < (SpaceCore.instance.Helper.ModRegistry.IsLoaded("spacechase0.LuckSkill") ? 6 : 5); ++index) { int num5 = index; switch (num5) { case 1: num5 = 3; break; case 3: num5 = 1; break; } string hoverText = ""; switch (num5) { case 0: if (Game1.player.FarmingLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11592", (object)Game1.player.FarmingLevel) + Environment.NewLine + Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11594", (object)Game1.player.FarmingLevel); break; } break; case 1: if (Game1.player.FishingLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11598", (object)Game1.player.FishingLevel); break; } break; case 2: if (Game1.player.ForagingLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11596", (object)Game1.player.ForagingLevel); break; } break; case 3: if (Game1.player.MiningLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11600", (object)Game1.player.MiningLevel); break; } break; case 4: if (Game1.player.CombatLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11602", (object)(Game1.player.CombatLevel * 5)); break; } break; } List <ClickableTextureComponent> skillAreas = this.skillAreas; ClickableTextureComponent textureComponent = new ClickableTextureComponent(string.Concat((object)num5), new Rectangle(num2 - 128 - 48, num3 + index * 56, 148, 36), string.Concat((object)num5), hoverText, (Texture2D)null, Rectangle.Empty, 1f, false); textureComponent.myID = index; textureComponent.downNeighborID = index < 4 ? index + 1 : 10201; textureComponent.upNeighborID = index > 0 ? index - 1 : 12341; textureComponent.rightNeighborID = 100 + index; skillAreas.Add(textureComponent); } ////////////////////////////////// int index__ = (SpaceCore.instance.Helper.ModRegistry.IsLoaded("spacechase0.LuckSkill") ? 6 : 5); foreach (var skillName in Skills.GetSkillList()) { var skill = Skills.GetSkill(skillName); int num5 = index__; switch (num5) { case 1: num5 = 3; break; case 3: num5 = 1; break; } string hoverText = ""; if (Game1.player.GetCustomSkillLevel(skill) > 0) { hoverText = skill.GetSkillPageHoverText(Game1.player.GetCustomSkillLevel(skill)); } List <ClickableTextureComponent> skillAreas = this.skillAreas; ClickableTextureComponent textureComponent = new ClickableTextureComponent("C" + skill.Name, new Rectangle(num2 - 128 - 48, num3 + index__ * 56, 148, 36), string.Concat((object)num5), hoverText, (Texture2D)null, Rectangle.Empty, 1f, false); textureComponent.myID = index__; textureComponent.downNeighborID = index__ < 4 ? index__ + 1 : 10201; textureComponent.upNeighborID = index__ > 0 ? index__ - 1 : 12341; textureComponent.rightNeighborID = 100 + index__; skillAreas.Add(textureComponent); ++index__; } ////////////////////////////////// }