RunUO/Scripts/Engines/Quests/Uzeraan Turmoil/Items/UzeraanTurmoilTeleporter.cs

74 lines
No EOL
1.8 KiB
C#

using System;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.Engines.Quests;
namespace Server.Engines.Quests.Haven
{
public class UzeraanTurmoilTeleporter : DynamicTeleporter
{
[Constructable]
public UzeraanTurmoilTeleporter()
{
}
public override bool GetDestination( PlayerMobile player, ref Point3D loc, ref Map map )
{
QuestSystem qs = player.Quest;
if ( qs is UzeraanTurmoilQuest )
{
if ( qs.IsObjectiveInProgress( typeof( FindSchmendrickObjective ) )
|| qs.IsObjectiveInProgress( typeof( FindApprenticeObjective ) )
|| UzeraanTurmoilQuest.HasLostScrollOfPower( player ) )
{
loc = new Point3D( 5222, 1858, 0 );
map = Map.Trammel;
return true;
}
else if ( qs.IsObjectiveInProgress( typeof( FindDryadObjective ) )
|| UzeraanTurmoilQuest.HasLostFertileDirt( player ) )
{
loc = new Point3D( 3557, 2690, 2 );
map = Map.Trammel;
return true;
}
else if ( player.Profession != 5 // paladin
&& ( qs.IsObjectiveInProgress( typeof( GetDaemonBoneObjective ) )
|| UzeraanTurmoilQuest.HasLostDaemonBone( player ) ) )
{
loc = new Point3D( 3422, 2653, 48 );
map = Map.Trammel;
return true;
}
else if ( qs.IsObjectiveInProgress( typeof( CashBankCheckObjective ) ) )
{
loc = new Point3D( 3624, 2610, 0 );
map = Map.Trammel;
return true;
}
}
return false;
}
public UzeraanTurmoilTeleporter( 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();
}
}
}