Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
180
Scripts/Mobiles/NPCs/Kodar.cs
Normal file
180
Scripts/Mobiles/NPCs/Kodar.cs
Normal file
@@ -0,0 +1,180 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Engines.Quests
|
||||
{
|
||||
public class KodarsRescueQuest : BaseQuest
|
||||
{
|
||||
public override bool DoneOnce { get { return true; } }
|
||||
|
||||
public KodarsRescueQuest()
|
||||
: base()
|
||||
{
|
||||
AddObjective(new EscortObjective(1074780, "Paroxysmus Exit")); // Palace Entrance
|
||||
|
||||
AddReward(new BaseReward(typeof(LargeTreasureBag), "A large bag of treasure."));
|
||||
}
|
||||
|
||||
/* Kodar's Rescue */
|
||||
public override object Title { get { return 1073066; } }
|
||||
|
||||
/* Please, please I beg of you ... help out of here. I was trying to find one of my sheep
|
||||
that went missing and I fell down this hole. Then these ... *hysterical weeping*.
|
||||
Please, get me out of here!
|
||||
*/
|
||||
public override object Description { get { return 1074704; } }
|
||||
|
||||
/* Please! PLEASE! Don't let me die here. */
|
||||
public override object Refuse { get { return 1074705; } }
|
||||
|
||||
/* *whimper* Please ... hurry. I am a good climber and could get out the way you came in,
|
||||
if you can just get me there.
|
||||
*/
|
||||
public override object Uncomplete { get { return 1074706; } }
|
||||
|
||||
/* You've saved my life! Oh thank you! I can't repay you for your kindness but please, take */
|
||||
public override object Complete { get { return 1074707; } }
|
||||
|
||||
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 Kodar : BaseEscort
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
if (Core.ML)
|
||||
Spawn();
|
||||
}
|
||||
|
||||
public static Point3D HomeLocation { get { return new Point3D(6311, 449, -50); } }
|
||||
public static int HomeRange { get { return 5; } }
|
||||
|
||||
public override Type[] Quests { get { return new Type[] { typeof(KodarsRescueQuest) }; } }
|
||||
|
||||
public static List<Kodar> FelInstances { get; set; }
|
||||
public static List<Kodar> TramInstances { get; set; }
|
||||
|
||||
[Constructable]
|
||||
public Kodar()
|
||||
: base()
|
||||
{
|
||||
Name = "Kodar";
|
||||
Title = "the lost villager";
|
||||
}
|
||||
|
||||
public Kodar(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Advertise()
|
||||
{
|
||||
Say(1074202); // It’s you! I’m saved, you are just in time.
|
||||
}
|
||||
|
||||
public override void OnDelete()
|
||||
{
|
||||
if (Map == Map.Felucca && FelInstances != null && FelInstances.Contains(this))
|
||||
{
|
||||
FelInstances.Remove(this);
|
||||
FelInstances = null;
|
||||
}
|
||||
|
||||
if (Map == Map.Trammel && TramInstances != null && TramInstances.Contains(this))
|
||||
{
|
||||
TramInstances.Remove(this);
|
||||
TramInstances = null;
|
||||
}
|
||||
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(3), new TimerCallback(
|
||||
delegate
|
||||
{
|
||||
Spawn();
|
||||
}));
|
||||
|
||||
base.OnDelete();
|
||||
}
|
||||
|
||||
public static void Spawn()
|
||||
{
|
||||
if (FelInstances == null)
|
||||
{
|
||||
Kodar creature = new Kodar();
|
||||
creature.Home = HomeLocation;
|
||||
creature.RangeHome = HomeRange;
|
||||
creature.MoveToWorld(HomeLocation, Map.Felucca);
|
||||
|
||||
FelInstances = new List<Kodar>();
|
||||
FelInstances.Add(creature);
|
||||
}
|
||||
|
||||
if (TramInstances == null)
|
||||
{
|
||||
Kodar creature = new Kodar();
|
||||
creature.Home = HomeLocation;
|
||||
creature.RangeHome = HomeRange;
|
||||
creature.MoveToWorld(HomeLocation, Map.Trammel);
|
||||
|
||||
TramInstances = new List<Kodar>();
|
||||
TramInstances.Add(creature);
|
||||
}
|
||||
}
|
||||
|
||||
public override void InitBody()
|
||||
{
|
||||
InitStats(100, 100, 25);
|
||||
|
||||
Female = false;
|
||||
Race = Race.Human;
|
||||
|
||||
Hue = 33790;
|
||||
FacialHairItemID = 0x204D;
|
||||
FacialHairHue = 1102;
|
||||
HairItemID = 0x204A;
|
||||
HairHue = 1102;
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
{
|
||||
SetWearable(new LongPants(1727));
|
||||
SetWearable(new FancyShirt());
|
||||
SetWearable(new ThighBoots());
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
if (Map == Map.Felucca && FelInstances == null)
|
||||
{
|
||||
FelInstances = new List<Kodar>();
|
||||
FelInstances.Add(this);
|
||||
}
|
||||
|
||||
if (Map == Map.Trammel && TramInstances == null)
|
||||
{
|
||||
TramInstances = new List<Kodar>();
|
||||
TramInstances.Add(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user