271 lines
5.5 KiB
C#
271 lines
5.5 KiB
C#
using Server.Items;
|
|
|
|
namespace Server.Engines.Quests.Necro
|
|
{
|
|
public class AcceptConversation : QuestConversation
|
|
{
|
|
public override object Message => 1049092;
|
|
|
|
public AcceptConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
Container bag = BaseQuester.GetNewContainer();
|
|
|
|
bag.DropItem( new DarkTidesHorn() );
|
|
|
|
System.From.AddToBackpack( bag );
|
|
|
|
System.AddConversation( new ReanimateMaabusConversation() );
|
|
}
|
|
}
|
|
|
|
public class ReanimateMaabusConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060099;
|
|
|
|
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 QuestItemInfo[] Info => m_Info;
|
|
|
|
public ReanimateMaabusConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new FindMaabusTombObjective() );
|
|
}
|
|
}
|
|
|
|
public class MaabasConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060103;
|
|
|
|
private static QuestItemInfo[] m_Info = {
|
|
new QuestItemInfo( 1026153, 6178 ) // teleporter
|
|
};
|
|
|
|
public override QuestItemInfo[] Info => m_Info;
|
|
|
|
public MaabasConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new FindCrystalCaveObjective() );
|
|
}
|
|
}
|
|
|
|
public class HorusConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060105;
|
|
|
|
public HorusConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new FindMardothAboutVaultObjective() );
|
|
}
|
|
}
|
|
|
|
public class MardothVaultConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060107;
|
|
|
|
public MardothVaultConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new FindCityOfLightObjective() );
|
|
}
|
|
}
|
|
|
|
public class VaultOfSecretsConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060110;
|
|
|
|
private static QuestItemInfo[] m_Info = {
|
|
new QuestItemInfo( 1023643, 8787 ) // spellbook
|
|
};
|
|
|
|
public override QuestItemInfo[] Info => m_Info;
|
|
|
|
public VaultOfSecretsConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new FetchAbraxusScrollObjective() );
|
|
}
|
|
}
|
|
|
|
public class ReadAbraxusScrollConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060114;
|
|
|
|
public ReadAbraxusScrollConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new ReadAbraxusScrollObjective() );
|
|
}
|
|
}
|
|
|
|
public class SecondHorusConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060118;
|
|
|
|
public SecondHorusConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new FindCallingScrollObjective() );
|
|
}
|
|
}
|
|
|
|
public class HealConversation : QuestConversation
|
|
{
|
|
public override object Message => 1061610;
|
|
|
|
public HealConversation()
|
|
{
|
|
}
|
|
}
|
|
|
|
public class HorusRewardConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060717;
|
|
|
|
public override bool Logged => false;
|
|
|
|
public HorusRewardConversation()
|
|
{
|
|
}
|
|
}
|
|
|
|
public class LostCallingScrollConversation : QuestConversation
|
|
{
|
|
private bool m_FromMardoth;
|
|
|
|
public override object Message
|
|
{
|
|
get
|
|
{
|
|
if ( m_FromMardoth )
|
|
{
|
|
/* You return without the scroll of Calling? I'm afraid that
|
|
* won't do. You must return to the Crystal Cave and fetch
|
|
* another scroll. Use the teleporter to the West of me to
|
|
* get there. Return here when you have the scroll. Do not
|
|
* fail me this time, young apprentice of evil.
|
|
*/
|
|
return 1062058;
|
|
}
|
|
else // from well of tears
|
|
{
|
|
/* 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 LostCallingScrollConversation( bool fromMardoth )
|
|
{
|
|
m_FromMardoth = fromMardoth;
|
|
}
|
|
|
|
// Serialization
|
|
public LostCallingScrollConversation()
|
|
{
|
|
}
|
|
|
|
public override void ChildDeserialize( GenericReader reader )
|
|
{
|
|
int version = reader.ReadEncodedInt();
|
|
|
|
m_FromMardoth = reader.ReadBool();
|
|
}
|
|
|
|
public override void ChildSerialize( GenericWriter writer )
|
|
{
|
|
writer.WriteEncodedInt( (int) 0 ); // version
|
|
|
|
writer.Write( (bool) m_FromMardoth );
|
|
}
|
|
}
|
|
|
|
public class MardothKronusConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060121;
|
|
|
|
public MardothKronusConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new FindWellOfTearsObjective() );
|
|
}
|
|
}
|
|
|
|
public class MardothEndConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060133;
|
|
|
|
public MardothEndConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective( new FindBankObjective() );
|
|
}
|
|
}
|
|
|
|
public class BankerConversation : QuestConversation
|
|
{
|
|
public override object Message => 1060137;
|
|
|
|
public BankerConversation()
|
|
{
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.Complete();
|
|
}
|
|
}
|
|
|
|
public class RadarConversation : QuestConversation
|
|
{
|
|
public override object Message => 1061692;
|
|
|
|
public override bool Logged => false;
|
|
|
|
public RadarConversation()
|
|
{
|
|
}
|
|
}
|
|
}
|