Files
abysmal-isle/Scripts/Services/Factions/Core/MerchantTitles.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

120 lines
3.9 KiB
C#

using System;
namespace Server.Factions
{
public enum MerchantTitle
{
None,
Scribe,
Carpenter,
Blacksmith,
Bowyer,
Tialor
}
public class MerchantTitleInfo
{
private readonly SkillName m_Skill;
private readonly double m_Requirement;
private readonly TextDefinition m_Title;
private readonly TextDefinition m_Label;
private readonly TextDefinition m_Assigned;
public MerchantTitleInfo(SkillName skill, double requirement, TextDefinition title, TextDefinition label, TextDefinition assigned)
{
this.m_Skill = skill;
this.m_Requirement = requirement;
this.m_Title = title;
this.m_Label = label;
this.m_Assigned = assigned;
}
public SkillName Skill
{
get
{
return this.m_Skill;
}
}
public double Requirement
{
get
{
return this.m_Requirement;
}
}
public TextDefinition Title
{
get
{
return this.m_Title;
}
}
public TextDefinition Label
{
get
{
return this.m_Label;
}
}
public TextDefinition Assigned
{
get
{
return this.m_Assigned;
}
}
}
public class MerchantTitles
{
private static readonly MerchantTitleInfo[] m_Info = new MerchantTitleInfo[]
{
new MerchantTitleInfo(SkillName.Inscribe, 90.0, new TextDefinition(1060773, "Scribe"), new TextDefinition(1011468, "SCRIBE"), new TextDefinition(1010121, "You now have the faction title of scribe")),
new MerchantTitleInfo(SkillName.Carpentry, 90.0, new TextDefinition(1060774, "Carpenter"), new TextDefinition(1011469, "CARPENTER"), new TextDefinition(1010122, "You now have the faction title of carpenter")),
new MerchantTitleInfo(SkillName.Tinkering, 90.0, new TextDefinition(1022984, "Tinker"), new TextDefinition(1011470, "TINKER"), new TextDefinition(1010123, "You now have the faction title of tinker")),
new MerchantTitleInfo(SkillName.Blacksmith, 90.0, new TextDefinition(1023016, "Blacksmith"), new TextDefinition(1011471, "BLACKSMITH"), new TextDefinition(1010124, "You now have the faction title of blacksmith")),
new MerchantTitleInfo(SkillName.Fletching, 90.0, new TextDefinition(1023022, "Bowyer"), new TextDefinition(1011472, "BOWYER"), new TextDefinition(1010125, "You now have the faction title of Bowyer")),
new MerchantTitleInfo(SkillName.Tailoring, 90.0, new TextDefinition(1022982, "Tailor"), new TextDefinition(1018300, "TAILOR"), new TextDefinition(1042162, "You now have the faction title of Tailor")),
};
public static MerchantTitleInfo[] Info
{
get
{
return m_Info;
}
}
public static MerchantTitleInfo GetInfo(MerchantTitle title)
{
int idx = (int)title - 1;
if (idx >= 0 && idx < m_Info.Length)
return m_Info[idx];
return null;
}
public static bool HasMerchantQualifications(Mobile mob)
{
for (int i = 0; i < m_Info.Length; ++i)
{
if (IsQualified(mob, m_Info[i]))
return true;
}
return false;
}
public static bool IsQualified(Mobile mob, MerchantTitle title)
{
return IsQualified(mob, GetInfo(title));
}
public static bool IsQualified(Mobile mob, MerchantTitleInfo info)
{
if (mob == null || info == null)
return false;
return (mob.Skills[info.Skill].Value >= info.Requirement);
}
}
}