2006-06-15 04:14:30 +00:00
using System ;
2006-12-28 19:32:01 +00:00
using System.Collections.Generic ;
2006-06-15 04:14:30 +00:00
using System.Reflection ;
2006-12-28 19:32:01 +00:00
using System.Text ;
2006-06-15 04:14:30 +00:00
using Server ;
using Server.Items ;
using Server.Network ;
using Server.Targeting ;
using CPA = Server . CommandPropertyAttribute ;
namespace Server.Commands
{
public class Add
{
public static void Initialize ( )
{
CommandSystem . Register ( "Tile" , AccessLevel . GameMaster , new CommandEventHandler ( Tile_OnCommand ) ) ;
CommandSystem . Register ( "TileRXYZ" , AccessLevel . GameMaster , new CommandEventHandler ( TileRXYZ_OnCommand ) ) ;
CommandSystem . Register ( "TileXYZ" , AccessLevel . GameMaster , new CommandEventHandler ( TileXYZ_OnCommand ) ) ;
CommandSystem . Register ( "TileZ" , AccessLevel . GameMaster , new CommandEventHandler ( TileZ_OnCommand ) ) ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
CommandSystem . Register ( "TileAvg" , AccessLevel . GameMaster , new CommandEventHandler ( TileAvg_OnCommand ) ) ;
CommandSystem . Register ( "Outline" , AccessLevel . GameMaster , new CommandEventHandler ( Outline_OnCommand ) ) ;
CommandSystem . Register ( "OutlineRXYZ" , AccessLevel . GameMaster , new CommandEventHandler ( OutlineRXYZ_OnCommand ) ) ;
CommandSystem . Register ( "OutlineXYZ" , AccessLevel . GameMaster , new CommandEventHandler ( OutlineXYZ_OnCommand ) ) ;
CommandSystem . Register ( "OutlineZ" , AccessLevel . GameMaster , new CommandEventHandler ( OutlineZ_OnCommand ) ) ;
CommandSystem . Register ( "OutlineAvg" , AccessLevel . GameMaster , new CommandEventHandler ( OutlineAvg_OnCommand ) ) ;
2006-06-15 04:14:30 +00:00
}
public static void Invoke ( Mobile from , Point3D start , Point3D end , string [ ] args )
{
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
Invoke ( from , start , end , args , null , false , false ) ;
2006-06-15 04:14:30 +00:00
}
2006-12-28 19:32:01 +00:00
public static void Invoke ( Mobile from , Point3D start , Point3D end , string [ ] args , List < Container > packs )
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
{
Invoke ( from , start , end , args , packs , false , false ) ;
}
public static void Invoke ( Mobile from , Point3D start , Point3D end , string [ ] args , List < Container > packs , bool outline , bool mapAvg )
2006-06-15 04:14:30 +00:00
{
StringBuilder sb = new StringBuilder ( ) ;
sb . AppendFormat ( "{0} {1} building " , from . AccessLevel , CommandLogging . Format ( from ) ) ;
if ( start = = end )
sb . AppendFormat ( "at {0} in {1}" , start , from . Map ) ;
else
sb . AppendFormat ( "from {0} to {1} in {2}" , start , end , from . Map ) ;
sb . Append ( ":" ) ;
for ( int i = 0 ; i < args . Length ; + + i )
sb . AppendFormat ( " \"{0}\"" , args [ i ] ) ;
CommandLogging . WriteLine ( from , sb . ToString ( ) ) ;
string name = args [ 0 ] ;
FixArgs ( ref args ) ;
string [ , ] props = null ;
for ( int i = 0 ; i < args . Length ; + + i )
{
if ( Insensitive . Equals ( args [ i ] , "set" ) )
{
int remains = args . Length - i - 1 ;
if ( remains > = 2 )
{
props = new string [ remains / 2 , 2 ] ;
remains / = 2 ;
for ( int j = 0 ; j < remains ; + + j )
{
props [ j , 0 ] = args [ i + ( j * 2 ) + 1 ] ;
props [ j , 1 ] = args [ i + ( j * 2 ) + 2 ] ;
}
FixSetString ( ref args , i ) ;
}
break ;
}
}
Type type = ScriptCompiler . FindTypeByName ( name ) ;
2007-01-19 22:10:11 +00:00
if ( ! IsEntity ( type ) ) {
2006-06-15 04:14:30 +00:00
from . SendMessage ( "No type with that name was found." ) ;
return ;
}
2013-10-06 03:21:18 -07:00
DateTime time = DateTime . UtcNow ;
2006-06-15 04:14:30 +00:00
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
int built = BuildObjects ( from , type , start , end , args , props , packs , outline , mapAvg ) ;
2006-06-15 04:14:30 +00:00
if ( built > 0 )
2013-10-06 03:21:18 -07:00
from . SendMessage ( "{0} object{1} generated in {2:F1} seconds." , built , built ! = 1 ? "s" : "" , ( DateTime . UtcNow - time ) . TotalSeconds ) ;
2006-06-15 04:14:30 +00:00
else
SendUsage ( type , from ) ;
}
public static void FixSetString ( ref string [ ] args , int index )
{
string [ ] old = args ;
args = new string [ index ] ;
Array . Copy ( old , 0 , args , 0 , index ) ;
}
public static void FixArgs ( ref string [ ] args )
{
string [ ] old = args ;
args = new string [ args . Length - 1 ] ;
Array . Copy ( old , 1 , args , 0 , args . Length ) ;
}
2006-12-28 19:32:01 +00:00
public static int BuildObjects ( Mobile from , Type type , Point3D start , Point3D end , string [ ] args , string [ , ] props , List < Container > packs )
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
{
return BuildObjects ( from , type , start , end , args , props , packs , false , false ) ;
}
public static int BuildObjects ( Mobile from , Type type , Point3D start , Point3D end , string [ ] args , string [ , ] props , List < Container > packs , bool outline , bool mapAvg )
2006-06-15 04:14:30 +00:00
{
Utility . FixPoints ( ref start , ref end ) ;
PropertyInfo [ ] realProps = null ;
if ( props ! = null )
{
realProps = new PropertyInfo [ props . GetLength ( 0 ) ] ;
PropertyInfo [ ] allProps = type . GetProperties ( BindingFlags . Static | BindingFlags . Instance | BindingFlags . Public ) ;
for ( int i = 0 ; i < realProps . Length ; + + i )
{
PropertyInfo thisProp = null ;
string propName = props [ i , 0 ] ;
for ( int j = 0 ; thisProp = = null & & j < allProps . Length ; + + j )
{
if ( Insensitive . Equals ( propName , allProps [ j ] . Name ) )
thisProp = allProps [ j ] ;
}
if ( thisProp = = null )
{
from . SendMessage ( "Property not found: {0}" , propName ) ;
}
else
{
CPA attr = Properties . GetCPA ( thisProp ) ;
if ( attr = = null )
from . SendMessage ( "Property ({0}) not found." , propName ) ;
else if ( from . AccessLevel < attr . WriteLevel )
from . SendMessage ( "Setting this property ({0}) requires at least {1} access level." , propName , Mobile . GetAccessLevelName ( attr . WriteLevel ) ) ;
2007-12-17 20:41:34 +00:00
else if ( ! thisProp . CanWrite | | attr . ReadOnly )
2006-06-15 04:14:30 +00:00
from . SendMessage ( "Property ({0}) is read only." , propName ) ;
else
realProps [ i ] = thisProp ;
}
}
}
ConstructorInfo [ ] ctors = type . GetConstructors ( ) ;
for ( int i = 0 ; i < ctors . Length ; + + i )
{
ConstructorInfo ctor = ctors [ i ] ;
2007-09-13 19:37:44 +00:00
if ( ! IsConstructable ( ctor , from . AccessLevel ) )
2006-06-15 04:14:30 +00:00
continue ;
ParameterInfo [ ] paramList = ctor . GetParameters ( ) ;
if ( args . Length = = paramList . Length )
{
object [ ] paramValues = ParseValues ( paramList , args ) ;
if ( paramValues = = null )
continue ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
int built = Build ( from , start , end , ctor , paramValues , props , realProps , packs , outline , mapAvg ) ;
2006-06-15 04:14:30 +00:00
if ( built > 0 )
return built ;
}
}
return 0 ;
}
public static object [ ] ParseValues ( ParameterInfo [ ] paramList , string [ ] args )
{
object [ ] values = new object [ args . Length ] ;
for ( int i = 0 ; i < args . Length ; + + i )
{
object value = ParseValue ( paramList [ i ] . ParameterType , args [ i ] ) ;
if ( value ! = null )
values [ i ] = value ;
else
return null ;
}
return values ;
}
public static object ParseValue ( Type type , string value )
{
try
{
if ( IsEnum ( type ) )
{
return Enum . Parse ( type , value , true ) ;
}
else if ( IsType ( type ) )
{
return ScriptCompiler . FindTypeByName ( value ) ;
}
else if ( IsParsable ( type ) )
{
return ParseParsable ( type , value ) ;
}
else
{
object obj = value ;
if ( value ! = null & & value . StartsWith ( "0x" ) )
{
if ( IsSignedNumeric ( type ) )
obj = Convert . ToInt64 ( value . Substring ( 2 ) , 16 ) ;
else if ( IsUnsignedNumeric ( type ) )
obj = Convert . ToUInt64 ( value . Substring ( 2 ) , 16 ) ;
obj = Convert . ToInt32 ( value . Substring ( 2 ) , 16 ) ;
}
if ( obj = = null & & ! type . IsValueType )
return null ;
else
return Convert . ChangeType ( obj , type ) ;
}
}
catch
{
return null ;
}
}
2007-01-19 22:10:11 +00:00
public static IEntity Build ( Mobile from , ConstructorInfo ctor , object [ ] values , string [ , ] props , PropertyInfo [ ] realProps , ref bool sendError )
2006-06-15 04:14:30 +00:00
{
object built = ctor . Invoke ( values ) ;
if ( built ! = null & & realProps ! = null )
{
bool hadError = false ;
for ( int i = 0 ; i < realProps . Length ; + + i )
{
if ( realProps [ i ] = = null )
continue ;
string result = Properties . InternalSetValue ( from , built , built , realProps [ i ] , props [ i , 1 ] , props [ i , 1 ] , false ) ;
if ( result ! = "Property has been set." )
{
if ( sendError )
from . SendMessage ( result ) ;
hadError = true ;
}
}
if ( hadError )
sendError = false ;
}
2007-01-19 22:10:11 +00:00
return ( IEntity ) built ;
2006-06-15 04:14:30 +00:00
}
2006-12-28 19:32:01 +00:00
public static int Build ( Mobile from , Point3D start , Point3D end , ConstructorInfo ctor , object [ ] values , string [ , ] props , PropertyInfo [ ] realProps , List < Container > packs )
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
{
return Build ( from , start , end , ctor , values , props , realProps , packs , false , false ) ;
}
public static int Build ( Mobile from , Point3D start , Point3D end , ConstructorInfo ctor , object [ ] values , string [ , ] props , PropertyInfo [ ] realProps , List < Container > packs , bool outline , bool mapAvg )
2006-06-15 04:14:30 +00:00
{
try
{
Map map = from . Map ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
int width = end . X - start . X + 1 ;
int height = end . Y - start . Y + 1 ;
if ( outline & & ( width < 3 | | height < 3 ) )
outline = false ;
int objectCount ;
if ( packs ! = null )
objectCount = packs . Count ;
else if ( outline )
objectCount = ( width + height - 2 ) * 2 ;
else
objectCount = width * height ;
2006-06-15 04:14:30 +00:00
if ( objectCount > = 20 )
from . SendMessage ( "Constructing {0} objects, please wait." , objectCount ) ;
bool sendError = true ;
StringBuilder sb = new StringBuilder ( ) ;
sb . Append ( "Serials: " ) ;
if ( packs ! = null )
{
for ( int i = 0 ; i < packs . Count ; + + i )
{
2007-01-19 22:10:11 +00:00
IEntity built = Build ( from , ctor , values , props , realProps , ref sendError ) ;
2006-06-15 04:14:30 +00:00
2007-01-19 22:10:11 +00:00
sb . AppendFormat ( "0x{0:X}; " , built . Serial . Value ) ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
2007-01-19 22:10:11 +00:00
if ( built is Item ) {
2006-12-28 19:32:01 +00:00
Container pack = packs [ i ] ;
2006-06-15 04:14:30 +00:00
pack . DropItem ( ( Item ) built ) ;
}
2007-01-19 22:10:11 +00:00
else if ( built is Mobile ) {
2006-06-15 04:14:30 +00:00
Mobile m = ( Mobile ) built ;
m . MoveToWorld ( new Point3D ( start . X , start . Y , start . Z ) , map ) ;
}
}
}
else
{
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
int z = start . Z ;
2006-06-15 04:14:30 +00:00
for ( int x = start . X ; x < = end . X ; + + x )
{
for ( int y = start . Y ; y < = end . Y ; + + y )
{
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
if ( outline & & x ! = start . X & & x ! = end . X & & y ! = start . Y & & y ! = end . Y )
continue ;
if ( mapAvg )
z = map . GetAverageZ ( x , y ) ;
2007-01-19 22:10:11 +00:00
IEntity built = Build ( from , ctor , values , props , realProps , ref sendError ) ;
2006-06-15 04:14:30 +00:00
2007-01-19 22:10:11 +00:00
sb . AppendFormat ( "0x{0:X}; " , built . Serial . Value ) ;
2006-06-15 04:14:30 +00:00
2007-01-19 22:10:11 +00:00
if ( built is Item ) {
2006-06-15 04:14:30 +00:00
Item item = ( Item ) built ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
item . MoveToWorld ( new Point3D ( x , y , z ) , map ) ;
2006-06-15 04:14:30 +00:00
}
2007-01-19 22:10:11 +00:00
else if ( built is Mobile ) {
2006-06-15 04:14:30 +00:00
Mobile m = ( Mobile ) built ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
m . MoveToWorld ( new Point3D ( x , y , z ) , map ) ;
2006-06-15 04:14:30 +00:00
}
}
}
}
CommandLogging . WriteLine ( from , sb . ToString ( ) ) ;
return objectCount ;
}
catch ( Exception ex )
{
Console . WriteLine ( ex ) ;
return 0 ;
}
}
public static void SendUsage ( Type type , Mobile from )
{
ConstructorInfo [ ] ctors = type . GetConstructors ( ) ;
bool foundCtor = false ;
for ( int i = 0 ; i < ctors . Length ; + + i )
{
ConstructorInfo ctor = ctors [ i ] ;
2007-09-13 19:37:44 +00:00
if ( ! IsConstructable ( ctor , from . AccessLevel ) )
2006-06-15 04:14:30 +00:00
continue ;
if ( ! foundCtor )
{
foundCtor = true ;
from . SendMessage ( "Usage:" ) ;
}
SendCtor ( type , ctor , from ) ;
}
if ( ! foundCtor )
from . SendMessage ( "That type is not marked constructable." ) ;
}
public static void SendCtor ( Type type , ConstructorInfo ctor , Mobile from )
{
ParameterInfo [ ] paramList = ctor . GetParameters ( ) ;
StringBuilder sb = new StringBuilder ( ) ;
sb . Append ( type . Name ) ;
for ( int i = 0 ; i < paramList . Length ; + + i )
{
if ( i ! = 0 )
sb . Append ( ',' ) ;
sb . Append ( ' ' ) ;
sb . Append ( paramList [ i ] . ParameterType . Name ) ;
sb . Append ( ' ' ) ;
sb . Append ( paramList [ i ] . Name ) ;
}
from . SendMessage ( sb . ToString ( ) ) ;
}
public class AddTarget : Target
{
private string [ ] m_Args ;
public AddTarget ( string [ ] args ) : base ( - 1 , true , TargetFlags . None )
{
m_Args = args ;
}
protected override void OnTarget ( Mobile from , object o )
{
IPoint3D p = o as IPoint3D ;
if ( p ! = null )
{
if ( p is Item )
p = ( ( Item ) p ) . GetWorldTop ( ) ;
else if ( p is Mobile )
p = ( ( Mobile ) p ) . Location ;
2007-01-19 22:10:11 +00:00
Point3D point = new Point3D ( p ) ;
Add . Invoke ( from , point , point , m_Args ) ;
2006-06-15 04:14:30 +00:00
}
}
}
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
private enum TileZType
{
Start ,
Fixed ,
MapAverage
}
2006-06-15 04:14:30 +00:00
private class TileState
{
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
public TileZType m_ZType ;
2006-06-15 04:14:30 +00:00
public int m_FixedZ ;
public string [ ] m_Args ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
public bool m_Outline ;
2006-06-15 04:14:30 +00:00
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
public TileState ( TileZType zType , int fixedZ , string [ ] args , bool outline )
2006-06-15 04:14:30 +00:00
{
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
m_ZType = zType ;
2006-06-15 04:14:30 +00:00
m_FixedZ = fixedZ ;
m_Args = args ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
m_Outline = outline ;
2006-06-15 04:14:30 +00:00
}
}
private static void TileBox_Callback ( Mobile from , Map map , Point3D start , Point3D end , object state )
{
TileState ts = ( TileState ) state ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
bool mapAvg = false ;
2006-06-15 04:14:30 +00:00
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
switch ( ts . m_ZType )
{
case TileZType . Fixed :
{
start . Z = end . Z = ts . m_FixedZ ;
break ;
}
case TileZType . MapAverage :
{
mapAvg = true ;
break ;
}
}
2006-06-15 04:14:30 +00:00
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
Invoke ( from , start , end , ts . m_Args , null , ts . m_Outline , mapAvg ) ;
2006-06-15 04:14:30 +00:00
}
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
private static void Internal_OnCommand ( CommandEventArgs e , bool outline )
2006-06-15 04:14:30 +00:00
{
if ( e . Length > = 1 )
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
BoundingBoxPicker . Begin ( e . Mobile , new BoundingBoxCallback ( TileBox_Callback ) , new TileState ( TileZType . Start , 0 , e . Arguments , outline ) ) ;
2006-06-15 04:14:30 +00:00
else
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
e . Mobile . SendMessage ( "Format: {0} <type> [params] [set {{<propertyName> <value> ...}}]" , outline ? "Outline" : "Tile" ) ;
2006-06-15 04:14:30 +00:00
}
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
private static void InternalRXYZ_OnCommand ( CommandEventArgs e , bool outline )
2006-06-15 04:14:30 +00:00
{
if ( e . Length > = 6 )
{
Point3D p = new Point3D ( e . Mobile . X + e . GetInt32 ( 0 ) , e . Mobile . Y + e . GetInt32 ( 1 ) , e . Mobile . Z + e . GetInt32 ( 4 ) ) ;
Point3D p2 = new Point3D ( p . X + e . GetInt32 ( 2 ) - 1 , p . Y + e . GetInt32 ( 3 ) - 1 , p . Z ) ;
string [ ] subArgs = new string [ e . Length - 5 ] ;
for ( int i = 0 ; i < subArgs . Length ; + + i )
subArgs [ i ] = e . Arguments [ i + 5 ] ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
Add . Invoke ( e . Mobile , p , p2 , subArgs , null , outline , false ) ;
2006-06-15 04:14:30 +00:00
}
else
{
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
e . Mobile . SendMessage ( "Format: {0}RXYZ <x> <y> <w> <h> <z> <type> [params] [set {{<propertyName> <value> ...}}]" , outline ? "Outline" : "Tile" ) ;
2006-06-15 04:14:30 +00:00
}
}
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
private static void InternalXYZ_OnCommand ( CommandEventArgs e , bool outline )
2006-06-15 04:14:30 +00:00
{
if ( e . Length > = 6 )
{
Point3D p = new Point3D ( e . GetInt32 ( 0 ) , e . GetInt32 ( 1 ) , e . GetInt32 ( 4 ) ) ;
Point3D p2 = new Point3D ( p . X + e . GetInt32 ( 2 ) - 1 , p . Y + e . GetInt32 ( 3 ) - 1 , e . GetInt32 ( 4 ) ) ;
string [ ] subArgs = new string [ e . Length - 5 ] ;
for ( int i = 0 ; i < subArgs . Length ; + + i )
subArgs [ i ] = e . Arguments [ i + 5 ] ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
Add . Invoke ( e . Mobile , p , p2 , subArgs , null , outline , false ) ;
2006-06-15 04:14:30 +00:00
}
else
{
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
e . Mobile . SendMessage ( "Format: {0}XYZ <x> <y> <w> <h> <z> <type> [params] [set {{<propertyName> <value> ...}}]" , outline ? "Outline" : "Tile" ) ;
2006-06-15 04:14:30 +00:00
}
}
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
private static void InternalZ_OnCommand ( CommandEventArgs e , bool outline )
2006-06-15 04:14:30 +00:00
{
if ( e . Length > = 2 )
{
string [ ] subArgs = new string [ e . Length - 1 ] ;
for ( int i = 0 ; i < subArgs . Length ; + + i )
subArgs [ i ] = e . Arguments [ i + 1 ] ;
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
BoundingBoxPicker . Begin ( e . Mobile , new BoundingBoxCallback ( TileBox_Callback ) , new TileState ( TileZType . Fixed , e . GetInt32 ( 0 ) , subArgs , outline ) ) ;
2006-06-15 04:14:30 +00:00
}
else
{
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
e . Mobile . SendMessage ( "Format: {0}Z <z> <type> [params] [set {{<propertyName> <value> ...}}]" , outline ? "Outline" : "Tile" ) ;
2006-06-15 04:14:30 +00:00
}
}
- PreventInaccess class, moves staff characters to jail or green acres in Felucca or Trammel randomly if they disconnect during the login process.
- Added a [TileAvg command, which tiles items/mobiles on the average Z of the map instead of a fixed Z.
- For all the tile commands ([Tile, [TileRXYZ, [TileXYZ, [TileZ, [TileAvg), added outline commands to only put items/mobiles on the outside of the area ([Outline, [OutlineRXYZ, [OutlineXYZ, [OutlineZ, [OutlineAvg).
- Removed the [OpenBrowser confirmation messages when using the command on multiple mobiles at the same time.
- Added a label showing the type of the object currently being viewed to the top of the properties gump.
- Added SA skills (Mysticism, Throwing and Imbuing) to the [Skills gump.
- Fixed DeathRobe decay when automatically dropped by self looting your corpse.
- Removed the (summoned) property on mouseover from clones summoned through Mirror Image.
- The Z of the Magincia destination of the public moongates is now calculated when the server starts, so both old and new maps will have the correct Z (34 and 31 respectively).
- KeywordTeleporters no longer teleport if you're not within the trigger range when the delay ends.
- Added WaitTeleporter, which is a KeywordTeleporter supporting adding messages when a character starts the process and showing the remaining time. When a character logs and times out, any running teleport timer is stopped.
- Fixed BaseWaterContainer single click behavior.
- Fixed MageAI reveal behavior.
- House placement will now return the correct message when targeting inside a TempNoHousingRegion.
- Tracking will no longer be able to track characters with higher access after they hide.
- Added CorpseNameOverride to BaseCreature to override the name used for the generated corpse.
- Pet ghosts will no longer be deleted when (auto)stabled.
2012-02-12 01:59:30 +00:00
private static void InternalAvg_OnCommand ( CommandEventArgs e , bool outline )
{
if ( e . Length > = 1 )
BoundingBoxPicker . Begin ( e . Mobile , new BoundingBoxCallback ( TileBox_Callback ) , new TileState ( TileZType . MapAverage , 0 , e . Arguments , outline ) ) ;
else
e . Mobile . SendMessage ( "Format: {0}Avg <type> [params] [set {{<propertyName> <value> ...}}]" , outline ? "Outline" : "Tile" ) ;
}
[Usage( "Tile <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name into a targeted bounding box. Optional constructor parameters. Optional set property list." )]
public static void Tile_OnCommand ( CommandEventArgs e )
{
Internal_OnCommand ( e , false ) ;
}
[Usage( "TileRXYZ <x> <y> <w> <h> <z> <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name into a given bounding box, (x, y) parameters are relative to your characters position. Optional constructor parameters. Optional set property list." )]
public static void TileRXYZ_OnCommand ( CommandEventArgs e )
{
InternalRXYZ_OnCommand ( e , false ) ;
}
[Usage( "TileXYZ <x> <y> <w> <h> <z> <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name into a given bounding box. Optional constructor parameters. Optional set property list." )]
public static void TileXYZ_OnCommand ( CommandEventArgs e )
{
InternalXYZ_OnCommand ( e , false ) ;
}
[Usage( "TileZ <z> <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name into a targeted bounding box at a fixed Z location. Optional constructor parameters. Optional set property list." )]
public static void TileZ_OnCommand ( CommandEventArgs e )
{
InternalZ_OnCommand ( e , false ) ;
}
[Usage( "TileAvg <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name into a targeted bounding box on the map's average Z elevation. Optional constructor parameters. Optional set property list." )]
public static void TileAvg_OnCommand ( CommandEventArgs e )
{
InternalAvg_OnCommand ( e , false ) ;
}
[Usage( "Outline <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name around a targeted bounding box. Optional constructor parameters. Optional set property list." )]
public static void Outline_OnCommand ( CommandEventArgs e )
{
Internal_OnCommand ( e , true ) ;
}
[Usage( "OutlineRXYZ <x> <y> <w> <h> <z> <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name around a given bounding box, (x, y) parameters are relative to your characters position. Optional constructor parameters. Optional set property list." )]
public static void OutlineRXYZ_OnCommand ( CommandEventArgs e )
{
InternalRXYZ_OnCommand ( e , true ) ;
}
[Usage( "OutlineXYZ <x> <y> <w> <h> <z> <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name around a given bounding box. Optional constructor parameters. Optional set property list." )]
public static void OutlineXYZ_OnCommand ( CommandEventArgs e )
{
InternalXYZ_OnCommand ( e , true ) ;
}
[Usage( "OutlineZ <z> <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name around a targeted bounding box at a fixed Z location. Optional constructor parameters. Optional set property list." )]
public static void OutlineZ_OnCommand ( CommandEventArgs e )
{
InternalZ_OnCommand ( e , true ) ;
}
[Usage( "OutlineAvg <name> [params] [ set { < propertyName > < value > . . . } ] " )]
[Description( "Tiles an item or npc by name around a targeted bounding box on the map's average Z elevation. Optional constructor parameters. Optional set property list." )]
public static void OutlineAvg_OnCommand ( CommandEventArgs e )
{
InternalAvg_OnCommand ( e , true ) ;
}
2007-01-19 22:10:11 +00:00
private static Type m_EntityType = typeof ( IEntity ) ;
public static bool IsEntity ( Type t )
{
return m_EntityType . IsAssignableFrom ( t ) ;
}
2006-06-15 04:14:30 +00:00
private static Type m_ConstructableType = typeof ( ConstructableAttribute ) ;
2007-09-13 19:37:44 +00:00
public static bool IsConstructable ( ConstructorInfo ctor , AccessLevel accessLevel )
2006-06-15 04:14:30 +00:00
{
2007-09-13 19:37:44 +00:00
object [ ] attrs = ctor . GetCustomAttributes ( m_ConstructableType , false ) ;
if ( attrs . Length = = 0 )
return false ;
return accessLevel > = ( ( ConstructableAttribute ) attrs [ 0 ] ) . AccessLevel ;
2006-06-15 04:14:30 +00:00
}
private static Type m_EnumType = typeof ( Enum ) ;
public static bool IsEnum ( Type type )
{
return type . IsSubclassOf ( m_EnumType ) ;
}
private static Type m_TypeType = typeof ( Type ) ;
public static bool IsType ( Type type )
{
return ( type = = m_TypeType | | type . IsSubclassOf ( m_TypeType ) ) ;
}
private static Type m_ParsableType = typeof ( ParsableAttribute ) ;
public static bool IsParsable ( Type type )
{
return type . IsDefined ( m_ParsableType , false ) ;
}
private static Type [ ] m_ParseTypes = new Type [ ] { typeof ( string ) } ;
private static object [ ] m_ParseArgs = new object [ 1 ] ;
public static object ParseParsable ( Type type , string value )
{
MethodInfo method = type . GetMethod ( "Parse" , m_ParseTypes ) ;
m_ParseArgs [ 0 ] = value ;
return method . Invoke ( null , m_ParseArgs ) ;
}
private static Type [ ] m_SignedNumerics = new Type [ ]
{
typeof ( Int64 ) ,
typeof ( Int32 ) ,
typeof ( Int16 ) ,
typeof ( SByte )
} ;
public static bool IsSignedNumeric ( Type type )
{
for ( int i = 0 ; i < m_SignedNumerics . Length ; + + i )
if ( type = = m_SignedNumerics [ i ] )
return true ;
return false ;
}
private static Type [ ] m_UnsignedNumerics = new Type [ ]
{
typeof ( UInt64 ) ,
typeof ( UInt32 ) ,
typeof ( UInt16 ) ,
typeof ( Byte )
} ;
public static bool IsUnsignedNumeric ( Type type )
{
for ( int i = 0 ; i < m_UnsignedNumerics . Length ; + + i )
if ( type = = m_UnsignedNumerics [ i ] )
return true ;
return false ;
}
}
}