add OnSingleClick for BulkOrderBook and Aquarium

allow primary LadderController instance to be deleted
add MessageRuleset method to DuelContext
This commit is contained in:
Mark Sturgill 2014-02-22 12:56:58 -07:00
parent 041c976ddc
commit 76b7fa6f30
4 changed files with 108 additions and 2 deletions

View file

@ -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<ContextMenuEntry> list )
{
base.GetContextMenuEntries( from, list );

View file

@ -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 )

View file

@ -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 )

View file

@ -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 );