Files
abysmal-isle/Scripts/Spells/Skill Masteries/Core/SelectMasteryGump.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

79 lines
2.6 KiB
C#

using Server;
using System;
using System.Collections.Generic;
using Server.Items;
using Server.Mobiles;
using Server.Spells.SkillMasteries;
using System.Linq;
using Server.Network;
namespace Server.Gumps
{
public class MasterySelectionGump : BaseGump
{
//public const int Red = 0x4800;
//public const int Blue = 0x000F;
public const int Red = 0x8e2525;
public const int Blue = 0x000066;
public BookOfMasteries Book { get; private set; }
public MasterySelectionGump(PlayerMobile user, BookOfMasteries book)
: base(user, 75, 25)
{
Book = book;
}
public override void AddGumpLayout()
{
AddBackground(0, 0, 404, 550, 9380);
AddHtmlLocalized(0, 40, 404, 16, CenterLoc, "#1151948", 0, false, false); // Switch Mastery
int y = 58;
SkillName current = User.Skills.CurrentMastery;
foreach (SkillName skName in MasteryInfo.Skills)
{
Skill sk = User.Skills[skName];
if (sk != null && sk.IsMastery && sk.VolumeLearned > 0)
{
AddButton(30, y, 4005, 4007, (int)skName + 1, GumpButtonType.Reply, 0);
AddHtmlLocalized(72, y, 200, 16, MasteryInfo.GetLocalization(skName), skName == current ? C32216(Red) : C32216(Blue), false, false);
AddHtmlLocalized(265, y, 100, 16, 1156052, MasteryInfo.GetMasteryLevel(User, skName).ToString(), 0, false, false);
y += 24;
}
}
}
public override void OnResponse(RelayInfo info)
{
if (info.ButtonID == 0)
return;
SkillName n = (SkillName)info.ButtonID - 1;
SkillName current = User.Skills.CurrentMastery;
if (n == current)
{
User.Skills.CurrentMastery = SkillName.Alchemy;
MasteryInfo.OnMasteryChanged(User, current);
}
else if (User.Skills[n].Base >= MasteryInfo.MinSkillRequirement)
{
User.SendLocalizedMessage(1155886, User.Skills[n].Info.Name); // Your active skill mastery is now set to ~1_MasterySkill~!
User.Skills.CurrentMastery = n;
MasteryInfo.OnMasteryChanged(User, current);
BookOfMasteries.AddToCooldown(User);
}
else
User.SendLocalizedMessage(1156236, String.Format("{0}\t{1}", MasteryInfo.MinSkillRequirement.ToString(), User.Skills[n].Info.Name)); // You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that mastery.
}
}
}