77 lines
No EOL
1.8 KiB
C#
77 lines
No EOL
1.8 KiB
C#
using System;
|
|
using Server;
|
|
using Server.Items;
|
|
using Server.Mobiles;
|
|
using Server.Engines.Quests;
|
|
using Server.Engines.Quests.Necro;
|
|
|
|
namespace Server.Engines.Quests.Necro
|
|
{
|
|
public class DarkTidesTeleporter : DynamicTeleporter
|
|
{
|
|
[Constructable]
|
|
public DarkTidesTeleporter()
|
|
{
|
|
}
|
|
|
|
public override bool GetDestination( PlayerMobile player, ref Point3D loc, ref Map map )
|
|
{
|
|
QuestSystem qs = player.Quest;
|
|
|
|
if ( qs is DarkTidesQuest )
|
|
{
|
|
if ( qs.IsObjectiveInProgress( typeof( FindMaabusTombObjective ) ) )
|
|
{
|
|
loc = new Point3D( 2038, 1263, -90 );
|
|
map = Map.Malas;
|
|
qs.AddConversation( new RadarConversation() );
|
|
return true;
|
|
}
|
|
else if ( qs.IsObjectiveInProgress( typeof( FindCrystalCaveObjective ) ) )
|
|
{
|
|
loc = new Point3D( 1194, 521, -90 );
|
|
map = Map.Malas;
|
|
return true;
|
|
}
|
|
else if ( qs.IsObjectiveInProgress( typeof( FindCityOfLightObjective ) ) )
|
|
{
|
|
loc = new Point3D( 1091, 519, -90 );
|
|
map = Map.Malas;
|
|
return true;
|
|
}
|
|
else if ( qs.IsObjectiveInProgress( typeof( ReturnToCrystalCaveObjective ) ) )
|
|
{
|
|
loc = new Point3D( 1194, 521, -90 );
|
|
map = Map.Malas;
|
|
return true;
|
|
}
|
|
else if ( DarkTidesQuest.HasLostCallingScroll( player ) )
|
|
{
|
|
loc = new Point3D( 1194, 521, -90 );
|
|
map = Map.Malas;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public DarkTidesTeleporter( Serial serial ) : base( serial )
|
|
{
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
} |