diff --git a/Scripts/Engines/MLQuests/QuestArea.cs b/Scripts/Engines/MLQuests/QuestArea.cs index 1e7c277cb..4c261b715 100644 --- a/Scripts/Engines/MLQuests/QuestArea.cs +++ b/Scripts/Engines/MLQuests/QuestArea.cs @@ -40,21 +40,7 @@ namespace Server.Engines.MLQuests m_ForceMap = forceMap; if ( MLQuestSystem.Debug ) - { - bool found = false; - - foreach ( Region r in Region.Regions ) - { - if ( r.Name == region && ( forceMap == null || r.Map == forceMap ) ) - { - found = true; - break; - } - } - - if ( !found ) - Console.WriteLine( "Warning: QuestArea region '{0}' does not exist (ForceMap = {1})", region, ( forceMap == null ) ? "-null-" : forceMap.ToString() ); - } + ValidationQueue.Add( this ); } public bool Contains( Mobile mob ) @@ -69,5 +55,23 @@ namespace Server.Engines.MLQuests return reg.IsPartOf( m_RegionName ); } + + // Debug method + public void Validate() + { + bool found = false; + + foreach ( Region r in Region.Regions ) + { + if ( r.Name == m_RegionName && ( m_ForceMap == null || r.Map == m_ForceMap ) ) + { + found = true; + break; + } + } + + if ( !found ) + Console.WriteLine( "Warning: QuestArea region '{0}' does not exist (ForceMap = {1})", m_RegionName, ( m_ForceMap == null ) ? "-null-" : m_ForceMap.ToString() ); + } } } diff --git a/Scripts/Engines/Plants/PlantItem.cs b/Scripts/Engines/Plants/PlantItem.cs index ae5bc12b1..a7fbee955 100644 --- a/Scripts/Engines/Plants/PlantItem.cs +++ b/Scripts/Engines/Plants/PlantItem.cs @@ -286,14 +286,23 @@ namespace Server.Engines.Plants } else { - if ( m_PlantType == PlantType.SugarCanes ) - list.Add ( 1094703 ); // Decorative Sugar Canes - else if ( title == 1080528 ) - // a decorative ~2_TYPE~ - list.Add( 1080539, string.Format( "#{0}\t#{1}", title, typeInfo.Name ) ); + if ( title == 1080528 ) // peculiar + { + if ( m_PlantHue != PlantHue.None ) + // a decorative [bright] ~1_COLOR~ ~2_TYPE~ + list.Add( hueInfo.IsBright() ? 1074267 : 1070973, string.Format( "#{0}\t{1}", hueInfo.Name, ( m_PlantType == PlantType.SugarCanes ) ? "Sugar Canes" : string.Format( "#{0}", typeInfo.Name ) ) ); + else if ( m_PlantType == PlantType.SugarCanes ) + // Decorative Sugar Canes + list.Add( 1094703 ); + else + // a decorative ~2_TYPE~ + list.Add( 1080539, string.Format( "#{0}\t#{1}", title, typeInfo.Name ) ); + } else + { // a decorative [bright] ~1_COLOR~ ~2_TYPE~ list.Add( hueInfo.IsBright() ? 1074267 : 1070973, string.Format( "#{0}\t#{1}", title, typeInfo.Name ) ); + } } } else if ( m_PlantStatus >= PlantStatus.Seed ) diff --git a/Scripts/Holiday Stuff/Easter/2011/Items/DragonEasterEgg.cs b/Scripts/Holiday Stuff/Easter/2011/Items/DragonEasterEgg.cs new file mode 100644 index 000000000..fab3a482a --- /dev/null +++ b/Scripts/Holiday Stuff/Easter/2011/Items/DragonEasterEgg.cs @@ -0,0 +1,44 @@ +using System; + +namespace Server.Items +{ + public class DragonEasterEgg : Item, IDyable + { + public override int LabelNumber { get { return 1097278; } } + + [Constructable] + public DragonEasterEgg() + : base( 0x47E6 ) + { + } + + public DragonEasterEgg( Serial serial ) + : base( serial ) + { + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.Write( ( int ) 0 ); + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadInt(); + } + + public bool Dye( Mobile from, DyeTub sender ) + { + if( Deleted || !sender.AllowDyables ) + return false; + + Hue = sender.DyedHue; + + return true; + } + } +} \ No newline at end of file diff --git a/Scripts/Items/Maps/MapItem.cs b/Scripts/Items/Maps/MapItem.cs index 7210837e8..9ad615f7f 100644 --- a/Scripts/Items/Maps/MapItem.cs +++ b/Scripts/Items/Maps/MapItem.cs @@ -340,6 +340,24 @@ namespace Server.Items } } + /* + private sealed class MapDetailsNew : Packet + { + public MapDetailsNew( MapItem map ) : base ( 0xF5, 21 ) + { + m_Stream.Write( (int) map.Serial ); + m_Stream.Write( (short) 0x139D ); + m_Stream.Write( (short) map.Bounds.Start.X ); + m_Stream.Write( (short) map.Bounds.Start.Y ); + m_Stream.Write( (short) map.Bounds.End.X ); + m_Stream.Write( (short) map.Bounds.End.Y ); + m_Stream.Write( (short) map.Width ); + m_Stream.Write( (short) map.Height ); + m_Stream.Write( (short) ( map.Facet == null ? 0 : map.Facet.MapID ) ); + } + } + */ + private abstract class MapCommand : Packet { public MapCommand( MapItem map, int command, int number, int x, int y ) : base ( 0x56, 11 ) diff --git a/Scripts/Items/Misc/Bola.cs b/Scripts/Items/Misc/Bola.cs index 9f42dde1c..a27293c10 100644 --- a/Scripts/Items/Misc/Bola.cs +++ b/Scripts/Items/Misc/Bola.cs @@ -104,10 +104,6 @@ namespace Server.Items (to as PlayerMobile).SetMountBlock(BlockMountType.Dazed, TimeSpan.FromSeconds( Core.ML ? 10 : 3 ), true); } - else - { - to.Mount.Rider = null; - } if (Core.AOS && from is PlayerMobile) /* only failsafe, attacker should already be dismounted */ {