Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
197
Scripts/Mobiles/NPCs/Kaelynna.cs
Normal file
197
Scripts/Mobiles/NPCs/Kaelynna.cs
Normal file
@@ -0,0 +1,197 @@
|
||||
using System;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.Quests
|
||||
{
|
||||
public class TheMagesApprenticeQuest : BaseQuest
|
||||
{
|
||||
public override bool DoneOnce
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/* The Mage's Apprentice */
|
||||
public override object Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return 1077576;
|
||||
}
|
||||
}
|
||||
|
||||
/* Head East out of town and go to Old Haven. Cast fireballs and lightning bolts against monsters there until you
|
||||
have raised your Magery skill to 50. Greetings. You seek to unlock the secrets of the arcane art of Magery. The
|
||||
New Haven Mage Council has an assignment for you. Undead have plagued the town of Old Haven. We need your assistance
|
||||
in cleansing the town of this evil influence. Old Haven is located east of here. I suggest using your offensive
|
||||
Magery spells such as Fireball and Lightning Bolt against the Undead that inhabit there. Make sure you have plenty
|
||||
of reagents before embarking on your journey. Reagents are required to cast Magery spells. You can purchase extra
|
||||
reagents at the nearby Reagent shop, or you can find reagents growing in the nearby wooded areas. You can see which
|
||||
reagents are required for each spell by looking in your spellbook. Come back to me once you feel that you are worthy
|
||||
of the rank of Apprentice Mage and I will reward you with an arcane prize. */
|
||||
public override object Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return 1077577;
|
||||
}
|
||||
}
|
||||
|
||||
/* Very well, come back to me when you are ready to practice Magery. You have so much arcane potential. 'Tis a shame
|
||||
to see it go to waste. The New Haven Mage Council could really use your help. */
|
||||
public override object Refuse
|
||||
{
|
||||
get
|
||||
{
|
||||
return 1077578;
|
||||
}
|
||||
}
|
||||
|
||||
/* You have not achieved the rank of Apprentice Mage. Come back to me once you feel that you are worthy of the rank
|
||||
of Apprentice Mage and I will reward you with an arcane prize. */
|
||||
public override object Uncomplete
|
||||
{
|
||||
get
|
||||
{
|
||||
return 1077579;
|
||||
}
|
||||
}
|
||||
|
||||
/* Well done! On behalf of the New Haven Mage Council I wish to present you with this staff. Normally a mage must
|
||||
unequip weapons before spell casting. While wielding your new Ember Staff, however, you will be able to invoke your
|
||||
Magery spells. Even if you do not currently possess skill in Mace Fighting, the Ember Staff will allow you to fight
|
||||
as if you do. However, your Magery skill will be temporarily reduced while doing so. Finally, the Ember Staff
|
||||
occasionally smites a foe with a Fireball while wielding it in melee combat. I hope the Ember Staff serves you well. */
|
||||
public override object Complete
|
||||
{
|
||||
get
|
||||
{
|
||||
return 1077581;
|
||||
}
|
||||
}
|
||||
|
||||
public TheMagesApprenticeQuest()
|
||||
: base()
|
||||
{
|
||||
this.AddObjective(new ApprenticeObjective(SkillName.Magery, 50, "Old Haven Training", 1077489, 1077583));
|
||||
|
||||
// 1077489 Your Magery potential is greatly enhanced while questing in this area.
|
||||
// 1077583 You are not in the quest area for Apprentice Magery. Your Magery potential is not enhanced here.
|
||||
|
||||
this.AddReward(new BaseReward(typeof(EmberStaff), 1077582));
|
||||
}
|
||||
|
||||
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.Magery.Base < 50;
|
||||
}
|
||||
|
||||
public override void OnCompleted()
|
||||
{
|
||||
this.Owner.SendLocalizedMessage(1077580, null, 0x23); // You have achieved the rank of Apprentice Mage. Return to Kaelynna in New Haven to receive your arcane prize.
|
||||
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 Kaelynna : MondainQuester
|
||||
{
|
||||
public override Type[] Quests
|
||||
{
|
||||
get
|
||||
{
|
||||
return new Type[]
|
||||
{
|
||||
typeof(TheMagesApprenticeQuest)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public override void InitSBInfo()
|
||||
{
|
||||
this.SBInfos.Add(new SBMage());
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public Kaelynna()
|
||||
: base("Kaelynna", "The Magery Instructor")
|
||||
{
|
||||
this.SetSkill(SkillName.EvalInt, 120.0, 120.0);
|
||||
this.SetSkill(SkillName.Inscribe, 120.0, 120.0);
|
||||
this.SetSkill(SkillName.Magery, 120.0, 120.0);
|
||||
this.SetSkill(SkillName.MagicResist, 120.0, 120.0);
|
||||
this.SetSkill(SkillName.Wrestling, 120.0, 120.0);
|
||||
this.SetSkill(SkillName.Meditation, 120.0, 120.0);
|
||||
}
|
||||
|
||||
public Kaelynna(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Advertise()
|
||||
{
|
||||
this.Say(1078125); // Want to unlock the secrets of magery?
|
||||
}
|
||||
|
||||
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(0x592));
|
||||
this.AddItem(new Sandals());
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user