diff --git a/Scripts/Engines/BulkOrders/Books/BulkOrderBook.cs b/Scripts/Engines/BulkOrders/Books/BulkOrderBook.cs index 99ffaf751..d970130bd 100644 --- a/Scripts/Engines/BulkOrders/Books/BulkOrderBook.cs +++ b/Scripts/Engines/BulkOrders/Books/BulkOrderBook.cs @@ -273,6 +273,16 @@ namespace Server.Engines.BulkOrders list.Add( 1062481, m_BookName ); // Book Name: ~1_val~ } + public override void OnSingleClick(Mobile from) + { + base.OnSingleClick(from); + + LabelTo(from, 1062344, m_Entries.Count.ToString()); // Deeds in book: ~1_val~ + + if (!String.IsNullOrEmpty(m_BookName)) + LabelTo(from, 1062481, m_BookName); + } + public override void GetContextMenuEntries( Mobile from, List list ) { base.GetContextMenuEntries( from, list ); diff --git a/Scripts/Engines/ConPVP/DuelContext.cs b/Scripts/Engines/ConPVP/DuelContext.cs index d4140c06d..38bfeff00 100644 --- a/Scripts/Engines/ConPVP/DuelContext.cs +++ b/Scripts/Engines/ConPVP/DuelContext.cs @@ -1956,6 +1956,56 @@ namespace Server.Engines.ConPVP } } + private void MessageRuleset( Mobile mob ) { + if ( m_Ruleset == null ) { + return; + } + + Ruleset ruleset = m_Ruleset; + Ruleset basedef = ruleset.Base; + + mob.SendMessage( "Ruleset: {0}", basedef.Title ); + + BitArray defs; + + if ( ruleset.Flavors.Count > 0 ) + { + defs = new BitArray( basedef.Options ); + + for ( int i = 0; i < ruleset.Flavors.Count; ++i ) { + defs.Or( ((Ruleset)ruleset.Flavors[i]).Options ); + + mob.SendMessage( " + {0}", ((Ruleset)ruleset.Flavors[i]).Title ); + } + } + else + { + defs = basedef.Options; + } + + int changes = 0; + + BitArray opts = ruleset.Options; + + for ( int i = 0; i < opts.Length; ++i ) + { + if ( defs[i] != opts[i] ) { + string name = ruleset.Layout.FindByIndex( i ); + + if ( name != null ) // sanity + { + ++changes; + + if ( changes == 1 ) { + mob.SendMessage( "Modifications:" ); + } + + mob.SendMessage( "{0}: {1}", name, opts[i] ? "enabled" : "disabled" ); + } + } + } + } + public void SendBeginGump( int count ) { if ( !m_Registered || m_Finished ) diff --git a/Scripts/Engines/ConPVP/Ladder.cs b/Scripts/Engines/ConPVP/Ladder.cs index fbf51b032..549fed3d2 100644 --- a/Scripts/Engines/ConPVP/Ladder.cs +++ b/Scripts/Engines/ConPVP/Ladder.cs @@ -30,8 +30,10 @@ namespace Server.Engines.ConPVP public override void Delete() { - if ( Ladder.Instance != m_Ladder ) - base.Delete(); + if ( Ladder.Instance == m_Ladder ) + Ladder.Instance = null; + + base.Delete(); } public LadderController( Serial serial ) : base( serial ) diff --git a/Scripts/Items/Aquarium/Aquarium.cs b/Scripts/Items/Aquarium/Aquarium.cs index b27d9c699..e3f043dc8 100644 --- a/Scripts/Items/Aquarium/Aquarium.cs +++ b/Scripts/Items/Aquarium/Aquarium.cs @@ -312,6 +312,50 @@ namespace Server.Items return base.CheckLift( from, item, ref reject ); } + public override void OnSingleClick( Mobile from ) + { + if ( Deleted || !from.CanSee( this ) ) + return; + + base.OnSingleClick( from ); + + if ( m_VacationLeft > 0 ) + this.LabelTo( from, 1074430, m_VacationLeft.ToString() ); // Vacation days left: ~1_DAYS + + if ( m_Events.Count > 0 ) + this.LabelTo( from, 1074426, m_Events.Count.ToString() ); // ~1_NUM~ event(s) to view! + + if ( m_RewardAvailable ) + this.LabelTo( from, 1074362 ); // A reward is available! + + this.LabelTo( from, 1074247, String.Format("{0}\t{1}", m_LiveCreatures, MaxLiveCreatures) ); // Live Creatures: ~1_NUM~ / ~2_MAX~ + + if ( DeadCreatures > 0 ) + this.LabelTo( from, 1074248, DeadCreatures.ToString() ); // Dead Creatures: ~1_NUM~ + + int decorations = Items.Count - m_LiveCreatures - DeadCreatures; + + if ( decorations > 0 ) + this.LabelTo( from, 1074249, (Items.Count - m_LiveCreatures - DeadCreatures).ToString() ); // Decorations: ~1_NUM~ + + this.LabelTo( from, 1074250, "#" + FoodNumber() ); // Food state: ~1_STATE~ + this.LabelTo( from, 1074251, "#" + WaterNumber() ); // Water state: ~1_STATE~ + + if ( m_Food.State == (int) FoodState.Dead ) + this.LabelTo( from, 1074577, String.Format("{0}\t{1}", m_Food.Added, m_Food.Improve) ); // Food Added: ~1_CUR~ Needed: ~2_NEED~ + else if ( m_Food.State == (int) FoodState.Overfed ) + this.LabelTo( from, 1074577, String.Format("{0}\t{1}", m_Food.Added, m_Food.Maintain) ); // Food Added: ~1_CUR~ Needed: ~2_NEED~ + else + this.LabelTo( from, 1074253, String.Format("{0}\t{1}\t{2}", m_Food.Added, m_Food.Maintain, m_Food.Improve) ); // Food Added: ~1_CUR~ Feed: ~2_NEED~ Improve: ~3_GROW~ + + if ( m_Water.State == (int) WaterState.Dead ) + this.LabelTo( from, 1074578, String.Format("{0}\t{1}", m_Water.Added, m_Water.Improve) ); // Water Added: ~1_CUR~ Needed: ~2_NEED~ + else if ( m_Water.State == (int) WaterState.Strong ) + this.LabelTo( from, 1074578, String.Format("{0}\t{1}", m_Water.Added, m_Water.Maintain) ); // Water Added: ~1_CUR~ Needed: ~2_NEED~ + else + this.LabelTo( from, 1074254, String.Format("{0}\t{1}\t{2}", m_Water.Added, m_Water.Maintain, m_Water.Improve) ); // Water Added: ~1_CUR~ Maintain: ~2_NEED~ Improve: ~3_GROW~ + } + public override void AddNameProperties( ObjectPropertyList list ) { base.AddNameProperties( list );