### Summary - [X] Adds tot.json to ignore list. - [X] Fixes bias in escortable random quest selection. - [X] Adds New Haven specific destination/payment messages for escortable quests. - [X] Codegens escortables.
70 lines
1.8 KiB
C#
70 lines
1.8 KiB
C#
using ModernUO.Serialization;
|
|
using Server.Engines.MLQuests;
|
|
using Server.Items;
|
|
|
|
namespace Server.Mobiles.Townfolk;
|
|
|
|
[SerializationGenerator(0, false)]
|
|
public partial class Prisoner : BaseEscortable
|
|
{
|
|
[Constructible]
|
|
public Prisoner()
|
|
{
|
|
Title = Female ? "the noblewoman" : "the nobleman";
|
|
|
|
CantWalk = true;
|
|
IsPrisoner = true;
|
|
}
|
|
|
|
public override bool CanTeach => true;
|
|
public override bool ClickTitle => false;
|
|
|
|
public override void InitOutfit()
|
|
{
|
|
if (Female)
|
|
{
|
|
AddItem(new FancyDress(Utility.RandomNondyedHue()));
|
|
}
|
|
else
|
|
{
|
|
AddItem(new FancyShirt(Utility.RandomNondyedHue()));
|
|
AddItem(new LongPants(Utility.RandomNondyedHue()));
|
|
}
|
|
|
|
if (Utility.RandomBool())
|
|
{
|
|
AddItem(new Boots());
|
|
}
|
|
else
|
|
{
|
|
AddItem(new ThighBoots());
|
|
}
|
|
|
|
Utility.AssignRandomHair(this);
|
|
Utility.AssignRandomFacialHair(this, HairHue);
|
|
}
|
|
|
|
public override void Shout(PlayerMobile pm)
|
|
{
|
|
/*
|
|
* 502261 - HELP!
|
|
* 502262 - Help me!
|
|
* 502263 - Canst thou aid me?!
|
|
* 502264 - Help a poor prisoner!
|
|
* 502265 - Help! Please!
|
|
* 502266 - Aaah! Help me!
|
|
* 502267 - Go and get some help!
|
|
*/
|
|
MLQuestSystem.Tell(this, pm, Utility.Random(502261, 7));
|
|
}
|
|
|
|
public override void OnMovement(Mobile m, Point3D oldLocation)
|
|
{
|
|
base.OnMovement(m, oldLocation);
|
|
|
|
if (CantWalk && InRange(m, 1) && !InRange(oldLocation, 1) && (!m.Hidden || m.AccessLevel == AccessLevel.Player))
|
|
{
|
|
Say(502268); // Quickly, I beg thee! Unlock my chains! If thou dost look at me close thou canst see them.
|
|
}
|
|
}
|
|
}
|