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