- 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.
This commit is contained in:
eos 2012-02-12 01:59:30 +00:00
parent 68922c1eeb
commit 72c4dc6018
15 changed files with 685 additions and 155 deletions

View file

@ -243,10 +243,18 @@ namespace Server.Mobiles
private bool m_IsPrisoner;
private string m_CorpseNameOverride;
#endregion
public virtual InhumanSpeech SpeechType{ get{ return null; } }
[CommandProperty( AccessLevel.GameMaster )]
public string CorpseNameOverride
{
get { return m_CorpseNameOverride; }
set { m_CorpseNameOverride = value; }
}
[CommandProperty( AccessLevel.GameMaster, AccessLevel.Administrator )]
public bool IsStabled
{
@ -1560,7 +1568,7 @@ namespace Server.Mobiles
{
base.Serialize( writer );
writer.Write( (int) 17 ); // version
writer.Write( (int) 18 ); // version
writer.Write( (int)m_CurrentAI );
writer.Write( (int)m_DefaultAI );
@ -1676,6 +1684,9 @@ namespace Server.Mobiles
writer.Write( TimeSpan.Zero );
else
writer.Write( DeleteTimeLeft );
// Version 18
writer.Write( m_CorpseNameOverride );
}
private static double[] m_StandardActiveSpeeds = new double[]
@ -1897,6 +1908,9 @@ namespace Server.Mobiles
m_DeleteTimer.Start();
}
if ( version >= 18 )
m_CorpseNameOverride = reader.ReadString();
if( version <= 14 && m_Paragon && Hue == 0x31 )
{
Hue = Paragon.Hue; //Paragon hue fixed, should now be 0x501.
@ -4186,7 +4200,7 @@ namespace Server.Mobiles
list.Add( 1080078 ); // guarding
}
if ( Summoned && !IsAnimatedDead && !IsNecroFamiliar )
if ( Summoned && !IsAnimatedDead && !IsNecroFamiliar && !( this is Clone ) )
list.Add( 1049646 ); // (summoned)
else if ( Controlled && Commandable )
{
@ -5314,7 +5328,7 @@ namespace Server.Mobiles
{
Mobile owner = c.ControlMaster;
if ( owner == null || owner.Deleted || owner.Map != c.Map || !owner.InRange( c, 12 ) || !c.CanSee( owner ) || !c.InLOS( owner ) )
if ( !c.IsStabled && ( owner == null || owner.Deleted || owner.Map != c.Map || !owner.InRange( c, 12 ) || !c.CanSee( owner ) || !c.InLOS( owner ) ) )
{
if ( c.OwnerAbandonTime == DateTime.MinValue )
c.OwnerAbandonTime = DateTime.Now;