ModernUO/Projects/Scripts/Engines/Quests/Dark Tides/Conversations.cs
2019-08-02 18:16:11 -07:00

207 lines
No EOL
4.7 KiB
C#

using Server.Items;
namespace Server.Engines.Quests.Necro
{
public class AcceptConversation : QuestConversation
{
public override object Message => 1049092;
public override void OnRead()
{
Container bag = BaseQuester.GetNewContainer();
bag.DropItem(new DarkTidesHorn());
System.From.AddToBackpack(bag);
System.AddConversation(new ReanimateMaabusConversation());
}
}
public class ReanimateMaabusConversation : QuestConversation
{
private static QuestItemInfo[] m_Info =
{
new QuestItemInfo(1026153, 6178), // teleporter
new QuestItemInfo(1049117, 4036), // Horn of Retreat
new QuestItemInfo(1048032, 3702) // a bag
};
public override object Message => 1060099;
public override QuestItemInfo[] Info => m_Info;
public override void OnRead()
{
System.AddObjective(new FindMaabusTombObjective());
}
}
public class MaabasConversation : QuestConversation
{
private static QuestItemInfo[] m_Info =
{
new QuestItemInfo(1026153, 6178) // teleporter
};
public override object Message => 1060103;
public override QuestItemInfo[] Info => m_Info;
public override void OnRead()
{
System.AddObjective(new FindCrystalCaveObjective());
}
}
public class HorusConversation : QuestConversation
{
public override object Message => 1060105;
public override void OnRead()
{
System.AddObjective(new FindMardothAboutVaultObjective());
}
}
public class MardothVaultConversation : QuestConversation
{
public override object Message => 1060107;
public override void OnRead()
{
System.AddObjective(new FindCityOfLightObjective());
}
}
public class VaultOfSecretsConversation : QuestConversation
{
private static QuestItemInfo[] m_Info =
{
new QuestItemInfo(1023643, 8787) // spellbook
};
public override object Message => 1060110;
public override QuestItemInfo[] Info => m_Info;
public override void OnRead()
{
System.AddObjective(new FetchAbraxusScrollObjective());
}
}
public class ReadAbraxusScrollConversation : QuestConversation
{
public override object Message => 1060114;
public override void OnRead()
{
System.AddObjective(new ReadAbraxusScrollObjective());
}
}
public class SecondHorusConversation : QuestConversation
{
public override object Message => 1060118;
public override void OnRead()
{
System.AddObjective(new FindCallingScrollObjective());
}
}
public class HealConversation : QuestConversation
{
public override object Message => 1061610;
}
public class HorusRewardConversation : QuestConversation
{
public override object Message => 1060717;
public override bool Logged => false;
}
public class LostCallingScrollConversation : QuestConversation
{
private bool m_FromMardoth;
public LostCallingScrollConversation(bool fromMardoth)
{
m_FromMardoth = fromMardoth;
}
// Serialization
public LostCallingScrollConversation()
{
}
public override object Message
{
get
{
if (m_FromMardoth) return 1062058;
/* You have arrived at the well, but no longer have the scroll
* of calling. Use Mardoth's teleporter to return to the
* Crystal Cave and fetch another scroll from the box.
*/
return 1060129;
}
}
public override bool Logged => false;
public override void ChildDeserialize(GenericReader reader)
{
int version = reader.ReadEncodedInt();
m_FromMardoth = reader.ReadBool();
}
public override void ChildSerialize(GenericWriter writer)
{
writer.WriteEncodedInt(0); // version
writer.Write(m_FromMardoth);
}
}
public class MardothKronusConversation : QuestConversation
{
public override object Message => 1060121;
public override void OnRead()
{
System.AddObjective(new FindWellOfTearsObjective());
}
}
public class MardothEndConversation : QuestConversation
{
public override object Message => 1060133;
public override void OnRead()
{
System.AddObjective(new FindBankObjective());
}
}
public class BankerConversation : QuestConversation
{
public override object Message => 1060137;
public override void OnRead()
{
System.Complete();
}
}
public class RadarConversation : QuestConversation
{
public override object Message => 1061692;
public override bool Logged => false;
}
}