#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.
This commit is contained in:
parent
b51c58f514
commit
3045c83799
3512 changed files with 627673 additions and 0 deletions
108
Scripts/Engines/Khaldun/KhaldunPitTeleporter.cs
Normal file
108
Scripts/Engines/Khaldun/KhaldunPitTeleporter.cs
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class KhaldunPitTeleporter : Item
|
||||
{
|
||||
private bool m_Active;
|
||||
private Point3D m_PointDest;
|
||||
private Map m_MapDest;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool Active
|
||||
{
|
||||
get { return m_Active; }
|
||||
set { m_Active = value; }
|
||||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public Point3D PointDest
|
||||
{
|
||||
get { return m_PointDest; }
|
||||
set { m_PointDest = value; }
|
||||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public Map MapDest
|
||||
{
|
||||
get { return m_MapDest; }
|
||||
set { m_MapDest = value; }
|
||||
}
|
||||
|
||||
public override int LabelNumber{ get{ return 1016511; } } // the floor of the cavern seems to have collapsed here - a faint light is visible at the bottom of the pit
|
||||
|
||||
[Constructable]
|
||||
public KhaldunPitTeleporter() : this( new Point3D( 5451, 1374, 0 ), Map.Felucca )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public KhaldunPitTeleporter( Point3D pointDest, Map mapDest ) : base( 0x053B )
|
||||
{
|
||||
Movable = false;
|
||||
Hue = 1;
|
||||
|
||||
m_Active = true;
|
||||
m_PointDest = pointDest;
|
||||
m_MapDest = mapDest;
|
||||
}
|
||||
|
||||
public KhaldunPitTeleporter( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile m )
|
||||
{
|
||||
if ( !m_Active )
|
||||
return;
|
||||
|
||||
Map map = m_MapDest;
|
||||
|
||||
if ( map == null || map == Map.Internal )
|
||||
map = m.Map;
|
||||
|
||||
Point3D p = m_PointDest;
|
||||
|
||||
if ( p == Point3D.Zero )
|
||||
p = m.Location;
|
||||
|
||||
if ( m.InRange( this, 3 ) )
|
||||
{
|
||||
Server.Mobiles.BaseCreature.TeleportPets( m, m_PointDest, m_MapDest );
|
||||
|
||||
m.MoveToWorld( m_PointDest, m_MapDest );
|
||||
}
|
||||
else
|
||||
{
|
||||
m.SendLocalizedMessage( 1019045 ); // I can't reach that.
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDoubleClickDead( Mobile m )
|
||||
{
|
||||
OnDoubleClick( m );
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int)0 ); // version
|
||||
|
||||
writer.Write( m_Active );
|
||||
writer.Write( m_PointDest );
|
||||
writer.Write( m_MapDest );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
m_Active = reader.ReadBool();
|
||||
m_PointDest = reader.ReadPoint3D();
|
||||
m_MapDest = reader.ReadMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue