Reorganizes Project (#41)
This commit is contained in:
parent
08bf44af9a
commit
3614a66aee
3499 changed files with 79 additions and 55 deletions
92
Projects/Scripts/Engines/Factions/Core/MerchantTitles.cs
Normal file
92
Projects/Scripts/Engines/Factions/Core/MerchantTitles.cs
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
namespace Server.Factions
|
||||
{
|
||||
public enum MerchantTitle
|
||||
{
|
||||
None,
|
||||
Scribe,
|
||||
Carpenter,
|
||||
Blacksmith,
|
||||
Bowyer,
|
||||
Tialor
|
||||
}
|
||||
|
||||
public class MerchantTitleInfo
|
||||
{
|
||||
public MerchantTitleInfo(SkillName skill, double requirement, TextDefinition title, TextDefinition label,
|
||||
TextDefinition assigned)
|
||||
{
|
||||
Skill = skill;
|
||||
Requirement = requirement;
|
||||
Title = title;
|
||||
Label = label;
|
||||
Assigned = assigned;
|
||||
}
|
||||
|
||||
public SkillName Skill{ get; }
|
||||
|
||||
public double Requirement{ get; }
|
||||
|
||||
public TextDefinition Title{ get; }
|
||||
|
||||
public TextDefinition Label{ get; }
|
||||
|
||||
public TextDefinition Assigned{ get; }
|
||||
}
|
||||
|
||||
public class MerchantTitles
|
||||
{
|
||||
public static MerchantTitleInfo[] Info{ get; } =
|
||||
{
|
||||
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 GetInfo(MerchantTitle title)
|
||||
{
|
||||
int idx = (int)title - 1;
|
||||
|
||||
if (idx >= 0 && idx < Info.Length)
|
||||
return Info[idx];
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static bool HasMerchantQualifications(Mobile mob)
|
||||
{
|
||||
for (int i = 0; i < Info.Length; ++i)
|
||||
if (IsQualified(mob, 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue