Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View 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);
}
}
}