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

195 lines
6.7 KiB
C#

using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Engines.Quests
{
public class BruisesBandagesAndBloodQuest : BaseQuest
{
public override bool DoneOnce
{
get
{
return true;
}
}
/* Bruises, Bandages and Blood */
public override object Title
{
get
{
return 1077676;
}
}
/* Head East out of town and go to Old Haven. Heal yourself and other players until you have raised your
Healing skill to 50.<br><center>------</center><br>Ah, welcome to my humble practice. I am Avicenna, New
Haven's resident Healer. A lot of adventurers head out into the wild from here, so I keep rather busy when
they come back bruised, bleeding, or worse.<br><br>I can teach you how to bandage a wound, sure, but it's
not a job for the queasy! For some folks, the mere sight of blood is too much for them, but it's something
you'll get used to over time. It is one thing to cut open a living thing, but it's quite another to sew it
back up and save it from sure death. 'Tis noble work, healing.<br><br>Best way for you to practice fixing
up wounds is to head east out to Old Haven and either practice binding up your own wounds, or practice on
someone else. Surely they'll be grateful for the assistance.<br><br>Make sure to take enough bandages with
you! You don't want to run out in the middle of a tough fight. */
public override object Description
{
get
{
return 1077679;
}
}
/* No? Are you sure? Well, when you feel that you're ready to practice your healing, come back to me. I'll
be right here, fixing up adventurers and curing the occasional cold! */
public override object Refuse
{
get
{
return 1077680;
}
}
/*Hail! 'Tis good to see you again. Unfortunately, you're not quite ready to call yourself an Apprentice
Healer quite yet. Head back out to Old Haven, due east from here, and bandage up some wounds. Yours or
someone else's, it doesn't much matter.*/
public override object Uncomplete
{
get
{
return 1077681;
}
}
/*Hello there, friend. I see you've returned in one piece, and you're an Apprentice Healer to boot! You
should be proud of your accomplishment, as not everyone has "the touch" when it comes to healing.<br><br>
I can't stand to see such good work go unrewarded, so I have something I'd like you to have. It's not much,
but it'll help you heal just a little faster, and maybe keep you alive.<br><br>Good luck out there, friend,
and don't forget to help your fellow adventurer whenever possible!*/
public override object Complete
{
get
{
return 1077683;
}
}
public BruisesBandagesAndBloodQuest()
: base()
{
this.AddObjective(new ApprenticeObjective(SkillName.Healing, 50, "Old Haven Training", 1077677, 1077678));
// 1077677 You feel fresh and are eager to heal wounds. Your ability to improve your Healing skill is enhanced in this area.
// 1077678 You feel as if you've seen enough blood to last a lifetime. Your Healing learning potential is no longer enhanced.
this.AddReward(new BaseReward(typeof(HealersTouch), 1077684));
}
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.Healing.Base < 50;
}
public override void OnCompleted()
{
this.Owner.SendLocalizedMessage(1077682, null, 0x23); // You have achieved the rank of Apprentice Healer. Return to Avicenna in New Haven as soon as you can 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 Avicenna : MondainQuester
{
public override Type[] Quests
{
get
{
return new Type[]
{
typeof(BruisesBandagesAndBloodQuest)
};
}
}
[Constructable]
public Avicenna()
: base("Avicenna", "The Healing 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 Avicenna(Serial serial)
: base(serial)
{
}
public override void Advertise()
{
this.Say(1078137); // A warrior needs to learn how to apply bandages to wounds.
}
public override void OnOfferFailed()
{
this.Say(1077772); // I cannot teach you, for you know all I can teach!
}
public override void InitBody()
{
this.Female = true;
this.CantWalk = true;
this.Race = Race.Human;
base.InitBody();
}
public override void InitOutfit()
{
this.AddItem(new Backpack());
this.AddItem(new Robe(0x66D));
this.AddItem(new Boots());
this.AddItem(new GnarledStaff());
}
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();
}
}
}