Files
abysmal-isle/Scripts/Mobiles/NPCs/Chiyo.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

183 lines
5.7 KiB
C#

using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Engines.Quests
{
public class BecomingOneWithTheShadowsQuest : BaseQuest
{
public override bool DoneOnce
{
get
{
return true;
}
}
/* Becoming One With The Shadows */
public override object Title
{
get
{
return 1078164;
}
}
/* Practice hiding in the Ninja Dojo until you reach 50 Hiding skill.<br><center>------</center><br>Come closer.
Don't be afraid. The shadows will not harm you. To be a successful Ninja, you must learn to become one with the
shadows. The Ninja Dojo is the ideal place to learn the art of concealment. Practice hiding here.<br><br>Talk to
me once you have achieved the rank of Apprentice Rogue (for Hiding), and I shall reward you. */
public override object Description
{
get
{
return 1078168;
}
}
/* If you wish to become one with the shadows, come back and talk to me. */
public override object Refuse
{
get
{
return 1078169;
}
}
/* You have not achieved the rank of Apprentice Rogue (for Hiding). Talk to me when you feel you have accomplished
this. */
public override object Uncomplete
{
get
{
return 10778170;
}
}
/* Not bad at all. You have learned to control your fear of the dark and you are becoming one with the shadows. If
you haven't already talked to Jun, I advise you do so. Jun can teach you how to stealth undetected. Hiding and
Stealth are essential skills to master when becoming a Ninja.<br><br>As promised, I have a reward for you. Here are
some smokebombs. As long as you are an Apprentice Ninja and have mana available you will be able to use them. They
will allow you to hide while in the middle of combat. I hope these serve you well. */
public override object Complete
{
get
{
return 1078172;
}
}
public BecomingOneWithTheShadowsQuest()
: base()
{
this.AddObjective(new ApprenticeObjective(SkillName.Hiding, 50, "Haven Dojo", 1078166, 1078167));
// 1078166 You feel you can easily slip into the shadows here. Your ability to hide is enhanced in this area.
// 1078167 You feel it is more difficult to hide here. Your ability to hide is no longer enhanced.
this.AddReward(new BaseReward(typeof(BagOfSmokeBombs), 1078173));
}
public override bool CanOffer()
{
#region Scroll of Alacrity
PlayerMobile pm = this.Owner as PlayerMobile;
if (pm.AcceleratedStart > DateTime.UtcNow)
{
this.Owner.SendLocalizedMessage(1077951); // You are already under the effect of an accelerated skillgain scroll.
return false;
}
#endregion
else
return this.Owner.Skills.Hiding.Base < 50;
}
public override void OnCompleted()
{
this.Owner.SendLocalizedMessage(1078171, null, 0x23); // You have achieved the rank of Apprentice Rogue (for Hiding). Return to Chiyo in New Haven to claim your reward.
this.Owner.PlaySound(this.CompleteSound);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public class Chiyo : MondainQuester
{
public override Type[] Quests
{
get
{
return new Type[]
{
typeof(BecomingOneWithTheShadowsQuest)
};
}
}
[Constructable]
public Chiyo()
: base("Chiyo", "The Hiding Instructor")
{
this.SetSkill(SkillName.Hiding, 120.0, 120.0);
this.SetSkill(SkillName.Tracking, 120.0, 120.0);
this.SetSkill(SkillName.Healing, 120.0, 120.0);
this.SetSkill(SkillName.Tactics, 120.0, 120.0);
this.SetSkill(SkillName.Fencing, 120.0, 120.0);
this.SetSkill(SkillName.Stealth, 120.0, 120.0);
this.SetSkill(SkillName.Ninjitsu, 120.0, 120.0);
}
public Chiyo(Serial serial)
: base(serial)
{
}
public override void Advertise()
{
this.Say(1078165); // To be undetected means you cannot be harmed.
}
public override void OnOfferFailed()
{
this.Say(1077772); // I cannot teach you, for you know all I can teach!
}
public override void InitBody()
{
this.Female = false;
this.CantWalk = true;
this.Body = 247;
}
public override void InitOutfit()
{
this.AddItem(new Backpack());
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}