79 lines
2.3 KiB
C#
79 lines
2.3 KiB
C#
using System;
|
|
using System.Xml;
|
|
using Server;
|
|
using Server.Mobiles;
|
|
using Server.Gumps;
|
|
|
|
namespace Server.Regions
|
|
{
|
|
public class DungeonRegion : BaseRegion
|
|
{
|
|
public override bool YoungProtected { get { return false; } }
|
|
|
|
private Point3D m_EntranceLocation;
|
|
private Map m_EntranceMap;
|
|
|
|
public Point3D EntranceLocation{ get{ return m_EntranceLocation; } set{ m_EntranceLocation = value; } }
|
|
public Map EntranceMap{ get{ return m_EntranceMap; } set{ m_EntranceMap = value; } }
|
|
|
|
public DungeonRegion( XmlElement xml, Map map, Region parent ) : base( xml, map, parent )
|
|
{
|
|
XmlElement entrEl = xml["entrance"];
|
|
|
|
Map entrMap = map;
|
|
ReadMap( entrEl, "map", ref entrMap, false );
|
|
|
|
if ( ReadPoint3D( entrEl, entrMap, ref m_EntranceLocation, false ) )
|
|
m_EntranceMap = entrMap;
|
|
}
|
|
|
|
public override bool AllowHousing( Mobile from, Point3D p )
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public override void AlterLightLevel( Mobile m, ref int global, ref int personal )
|
|
{
|
|
global = LightCycle.DungeonLevel;
|
|
}
|
|
|
|
public override bool CanUseStuckMenu( Mobile m )
|
|
{
|
|
if ( this.Map == Map.Felucca )
|
|
return false;
|
|
|
|
return base.CanUseStuckMenu( m );
|
|
}
|
|
|
|
public override void OnEnter( Mobile m )
|
|
{
|
|
base.OnEnter( m );
|
|
if ( m != null && m.Player )
|
|
{
|
|
m.SendMessage( "You have entered <BASEFONT COLOR='#FF0000'>{0}</BASEFONT>", this.Name);
|
|
Timer.DelayCall( TimeSpan.FromMilliseconds( 100 ), delegate()
|
|
{
|
|
if ( m != null && m.Alive )
|
|
{
|
|
Server.Commands.StableMountCommand.ForceDismountAndStore((PlayerMobile)m);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public override void OnExit( Mobile m )
|
|
{
|
|
base.OnExit( m );
|
|
if ( m != null && m.Player )
|
|
{
|
|
Timer.DelayCall( TimeSpan.FromMilliseconds( 100 ), delegate()
|
|
{
|
|
if ( m != null && m.Alive )
|
|
{
|
|
Server.Commands.RetrieveMountCommand.AutoRemountPlayer((PlayerMobile)m);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|