Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
176
Scripts/Quests/EminosUndertaking/EminosUndertakingQuest.cs
Normal file
176
Scripts/Quests/EminosUndertaking/EminosUndertakingQuest.cs
Normal file
@@ -0,0 +1,176 @@
|
||||
using System;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.Quests.Ninja
|
||||
{
|
||||
public class EminosUndertakingQuest : QuestSystem
|
||||
{
|
||||
private static readonly Type[] m_TypeReferenceTable = new Type[]
|
||||
{
|
||||
typeof(Ninja.AcceptConversation),
|
||||
typeof(Ninja.FindZoelConversation),
|
||||
typeof(Ninja.RadarConversation),
|
||||
typeof(Ninja.EnterCaveConversation),
|
||||
typeof(Ninja.SneakPastGuardiansConversation),
|
||||
typeof(Ninja.NeedToHideConversation),
|
||||
typeof(Ninja.UseTeleporterConversation),
|
||||
typeof(Ninja.GiveZoelNoteConversation),
|
||||
typeof(Ninja.LostNoteConversation),
|
||||
typeof(Ninja.GainInnInformationConversation),
|
||||
typeof(Ninja.ReturnFromInnConversation),
|
||||
typeof(Ninja.SearchForSwordConversation),
|
||||
typeof(Ninja.HallwayWalkConversation),
|
||||
typeof(Ninja.ReturnSwordConversation),
|
||||
typeof(Ninja.SlayHenchmenConversation),
|
||||
typeof(Ninja.ContinueSlayHenchmenConversation),
|
||||
typeof(Ninja.GiveEminoSwordConversation),
|
||||
typeof(Ninja.LostSwordConversation),
|
||||
typeof(Ninja.EarnGiftsConversation),
|
||||
typeof(Ninja.EarnLessGiftsConversation),
|
||||
typeof(Ninja.FindEminoBeginObjective),
|
||||
typeof(Ninja.FindZoelObjective),
|
||||
typeof(Ninja.EnterCaveObjective),
|
||||
typeof(Ninja.SneakPastGuardiansObjective),
|
||||
typeof(Ninja.UseTeleporterObjective),
|
||||
typeof(Ninja.GiveZoelNoteObjective),
|
||||
typeof(Ninja.GainInnInformationObjective),
|
||||
typeof(Ninja.ReturnFromInnObjective),
|
||||
typeof(Ninja.SearchForSwordObjective),
|
||||
typeof(Ninja.HallwayWalkObjective),
|
||||
typeof(Ninja.ReturnSwordObjective),
|
||||
typeof(Ninja.SlayHenchmenObjective),
|
||||
typeof(Ninja.GiveEminoSwordObjective)
|
||||
};
|
||||
private bool m_SentRadarConversion;
|
||||
public EminosUndertakingQuest(PlayerMobile from)
|
||||
: base(from)
|
||||
{
|
||||
}
|
||||
|
||||
// Serialization
|
||||
public EminosUndertakingQuest()
|
||||
{
|
||||
}
|
||||
|
||||
public override Type[] TypeReferenceTable
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_TypeReferenceTable;
|
||||
}
|
||||
}
|
||||
public override object Name
|
||||
{
|
||||
get
|
||||
{
|
||||
// Emino's Undertaking
|
||||
return 1063173;
|
||||
}
|
||||
}
|
||||
public override object OfferMessage
|
||||
{
|
||||
get
|
||||
{
|
||||
// Your value as a Ninja must be proven. Find Daimyo Emino and accept the test he offers.
|
||||
return 1063174;
|
||||
}
|
||||
}
|
||||
public override TimeSpan RestartDelay
|
||||
{
|
||||
get
|
||||
{
|
||||
return TimeSpan.MaxValue;
|
||||
}
|
||||
}
|
||||
public override bool IsTutorial
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public override int Picture
|
||||
{
|
||||
get
|
||||
{
|
||||
return 0x15D5;
|
||||
}
|
||||
}
|
||||
public static bool HasLostNoteForZoel(Mobile from)
|
||||
{
|
||||
PlayerMobile pm = from as PlayerMobile;
|
||||
|
||||
if (pm == null)
|
||||
return false;
|
||||
|
||||
QuestSystem qs = pm.Quest;
|
||||
|
||||
if (qs is EminosUndertakingQuest)
|
||||
{
|
||||
if (qs.IsObjectiveInProgress(typeof(GiveZoelNoteObjective)))
|
||||
{
|
||||
Container pack = from.Backpack;
|
||||
|
||||
return (pack == null || pack.FindItemByType(typeof(NoteForZoel)) == null);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static bool HasLostEminosKatana(Mobile from)
|
||||
{
|
||||
PlayerMobile pm = from as PlayerMobile;
|
||||
|
||||
if (pm == null)
|
||||
return false;
|
||||
|
||||
QuestSystem qs = pm.Quest;
|
||||
|
||||
if (qs is EminosUndertakingQuest)
|
||||
{
|
||||
if (qs.IsObjectiveInProgress(typeof(GiveEminoSwordObjective)))
|
||||
{
|
||||
Container pack = from.Backpack;
|
||||
|
||||
return (pack == null || pack.FindItemByType(typeof(EminosKatana)) == null);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void Accept()
|
||||
{
|
||||
base.Accept();
|
||||
|
||||
this.AddConversation(new AcceptConversation());
|
||||
}
|
||||
|
||||
public override void Slice()
|
||||
{
|
||||
if (!this.m_SentRadarConversion && (this.From.Map != Map.Malas || this.From.X < 407 || this.From.X > 431 || this.From.Y < 801 || this.From.Y > 830))
|
||||
{
|
||||
this.m_SentRadarConversion = true;
|
||||
this.AddConversation(new RadarConversation());
|
||||
}
|
||||
|
||||
base.Slice();
|
||||
}
|
||||
|
||||
public override void ChildDeserialize(GenericReader reader)
|
||||
{
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
this.m_SentRadarConversion = reader.ReadBool();
|
||||
}
|
||||
|
||||
public override void ChildSerialize(GenericWriter writer)
|
||||
{
|
||||
writer.WriteEncodedInt((int)0); // version
|
||||
|
||||
writer.Write((bool)this.m_SentRadarConversion);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user