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

199 lines
7.2 KiB
C#

using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Engines.Quests
{
public class TheWayOfTheBladeQuest : BaseQuest
{
public override bool DoneOnce
{
get
{
return true;
}
}
/* The way of The Blade */
public override object Title
{
get
{
return 1077658;
}
}
/* Head East out of town and go to Old Haven. While wielding your sword, battle monster there until you have raised your
Swordsmanship skill to 50. *as you approach, you notice Jockles sizing you up with a skeptical look on his face* i can see
you want to learn how to handle a blade. It's a lot harder than it looks, and you're going to have to put alot of time and
effort if you ever want to be half as good as i am. I'll tell you what, kid, I'll help you get started, but you're going
to have to do all the work if you want to learn something. East of here, outside of town, is Old Haven. It's been overrun
with the nastiest of undead you've seen, which makes it a perfect place for you to turn that sloppy grin on your face into
actual skill at handling a sword. Make sure you have a sturdy Swordsmanship weapon in good repair before you leave. 'tis
no fun to travel all the way down there just to find out you forgot your blade! When you feel that you've cut down enough
of those foul smelling things to learn how to handle a blade without hurting yourself, come back to me. If i think you've
improved enough, I'll give you something suited for a real warrior. */
public override object Description
{
get
{
return 1077661;
}
}
/* Ha! I had a feeling you were a lily-livered pansy. You might have potential, but you're scared by a few smelly undead,
maybe it's better that you stay away from sharp objects. After all, you wouldn't want to hurt yourself swinging a sword.
If you change your mind, I might give you another chance...maybe. */
public override object Refuse
{
get
{
return 1077662;
}
}
/* *Jockles looks you up and down* Come on! You've got to work harder than that to get better. Now get out of here, go
kill some more of those undead to the east in Old Haven, and don't come back till you've got real skill. */
public override object Uncomplete
{
get
{
return 1077663;
}
}
/* Well, well, look at what we have here! You managed to do it after all. I have to say, I'm a little surprised that you
came back in one piece, but since you did. I've got a little something for you. This is a fine blade that served me well
in my younger days. Of course I've got much better swords at my disposal now, so I'll let you go ahead and use it under
one condition. Take goodcare of it and treat it with the respect that a fine sword deserves. You're one of the quickers
learners I've seen, but you still have a long way to go. Keep at it, and you'll get there someday. Happy hunting, kid. */
public override object Complete
{
get
{
return 1077665;
}
}
public TheWayOfTheBladeQuest()
: base()
{
this.AddObjective(new ApprenticeObjective(SkillName.Swords, 50, "Old Haven Training", 1077659, 1077660));
// 1077659 You feel much more attuned to your blade. Your ability to hone your Swordsmanship skill is enhanced in this area.
// 1077660 You feel less attuned to your blade. Your Swordsmanship learning potential is no longer enhanced.
this.AddReward(new BaseReward(typeof(JocklesQuicksword), 1077666));
}
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.Swords.Base < 50;
}
public override void OnCompleted()
{
this.Owner.SendLocalizedMessage(1077664, null, 0x23); // You have achieved the rank of Apprentice Swordsman. Return to Jockles in New Haven to see what kind of reward he has waiting for you. Hopefully he'll be a little nicer this time!
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 Jockles : MondainQuester
{
public override Type[] Quests
{
get
{
return new Type[]
{
typeof(TheWayOfTheBladeQuest)
};
}
}
[Constructable]
public Jockles()
: base("Jockles", "The Swordsmanship Instructor")
{
this.SetSkill(SkillName.Anatomy, 120.0, 120.0);
this.SetSkill(SkillName.Parry, 120.0, 120.0);
this.SetSkill(SkillName.Healing, 120.0, 120.0);
this.SetSkill(SkillName.Tactics, 120.0, 120.0);
this.SetSkill(SkillName.Swords, 120.0, 120.0);
this.SetSkill(SkillName.Focus, 120.0, 120.0);
}
public Jockles(Serial serial)
: base(serial)
{
}
public override void Advertise()
{
this.Say(1078135); // Talk to me to learn the way of the blade.
}
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.Race = Race.Human;
base.InitBody();
}
public override void InitOutfit()
{
this.AddItem(new Backpack());
this.AddItem(new Broadsword());
this.AddItem(new PlateChest());
this.AddItem(new PlateLegs());
this.AddItem(new PlateGloves());
this.AddItem(new PlateArms());
this.AddItem(new PlateGorget());
this.AddItem(new OrderShield());
}
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();
}
}
}