public override void OnSingleClick( Mobile from ) { ArrayList attrs = new ArrayList(); if ( !Identified ) attrs.Add( new EquipInfoAttribute( 1038000 ) ); // Unidentified else attrs.Add( new EquipInfoAttribute( 1041367, m_Charges ) ); EquipmentInfo eqInfo = new EquipmentInfo( 1017413, Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { ArrayList attrs = new ArrayList(); if ( DisplayLootType ) { if ( LootType == LootType.Blessed ) attrs.Add( new EquipInfoAttribute( 1038021 ) ); // blessed else if ( LootType == LootType.Cursed ) attrs.Add( new EquipInfoAttribute( 1049643 ) ); // cursed } if ( m_Quality == InstrumentQuality.Exceptional ) attrs.Add( new EquipInfoAttribute( 1018305 - (int)m_Quality ) ); if( m_ReplenishesCharges ) attrs.Add( new EquipInfoAttribute( 1070928 ) ); // Replenish Charges // TODO: Must this support item identification? if( m_Slayer != SlayerName.None ) { SlayerEntry entry = SlayerGroup.GetEntryByName( m_Slayer ); if( entry != null ) attrs.Add( new EquipInfoAttribute( entry.Title ) ); } if( m_Slayer2 != SlayerName.None ) { SlayerEntry entry = SlayerGroup.GetEntryByName( m_Slayer2 ); if( entry != null ) attrs.Add( new EquipInfoAttribute( entry.Title ) ); } int number; if ( Name == null ) { number = LabelNumber; } else { this.LabelTo( from, Name ); number = 1041000; } if ( attrs.Count == 0 && Crafter == null && Name != null ) return; EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { if (this.HideAttributes == true) { base.OnSingleClick(from); return; } ArrayList attrs = new ArrayList(); if (DisplayLootType) { if (LootType == LootType.Blessed) attrs.Add(new EquipInfoAttribute(1038021)); // blessed else if (LootType == LootType.Cursed) attrs.Add(new EquipInfoAttribute(1049643)); // cursed } if (Name != null || OldName == null) // only use the new ([X/Y/Z]) method on things we don't have OldNames for { if (m_Quality == ArmorQuality.Exceptional) attrs.Add(new EquipInfoAttribute(1018305 - (int)m_Quality)); if (m_Identified) { if (m_Durability != ArmorDurabilityLevel.Regular) attrs.Add(new EquipInfoAttribute(1038000 + (int)m_Durability)); if (m_Protection > ArmorProtectionLevel.Regular && m_Protection <= ArmorProtectionLevel.Invulnerability) attrs.Add(new EquipInfoAttribute(1038005 + (int)m_Protection)); } else if (m_Durability != ArmorDurabilityLevel.Regular || (m_Protection > ArmorProtectionLevel.Regular && m_Protection <= ArmorProtectionLevel.Invulnerability)) { attrs.Add(new EquipInfoAttribute(1038000)); // Unidentified } } int number; if ( Name == null ) { if (OldName == null) { number = LabelNumber; } else { string oldname = OldName; //yay! Show us the old way! if (m_Quality == ArmorQuality.Exceptional) { oldname = "exceptional " + oldname; } if (m_Identified) { if (m_Durability != ArmorDurabilityLevel.Regular) { //attrs.Add(new EquipInfoAttribute(1038000 + (int)m_Durability)); oldname = m_Durability.ToString().ToLower() + " " + oldname; } if (m_Protection > ArmorProtectionLevel.Regular && m_Protection <= ArmorProtectionLevel.Invulnerability) { //attrs.Add(new EquipInfoAttribute(1038005 + (int)m_Protection)); oldname = oldname + " of " + m_Protection.ToString().ToLower(); } } else if (m_Durability != ArmorDurabilityLevel.Regular || (m_Protection > ArmorProtectionLevel.Regular && m_Protection <= ArmorProtectionLevel.Invulnerability)) { oldname = "magic " + oldname; } //crafted-by goes at the end if (m_Crafter != null) { oldname += " crafted by " + m_Crafter.Name; } this.LabelTo(from, oldname); number = 1041000; } } else { this.LabelTo( from, Name ); number = 1041000; } if ( attrs.Count == 0 && Crafter == null && Name != null ) return; if (OldName == null) { EquipmentInfo eqInfo = new EquipmentInfo(number, m_Crafter, false, (EquipInfoAttribute[])attrs.ToArray(typeof(EquipInfoAttribute))); from.Send(new DisplayEquipmentInfo(this, eqInfo)); } else { if (attrs.Count > 0) { EquipmentInfo eqInfo = new EquipmentInfo(number, null, false, (EquipInfoAttribute[])attrs.ToArray(typeof(EquipInfoAttribute))); from.Send(new DisplayEquipmentInfo(this, eqInfo)); } } }
public override void OnSingleClick( Mobile from ) { ArrayList attrs = new ArrayList(); if ( DisplayLootType ) { if ( LootType == LootType.Blessed ) attrs.Add( new EquipInfoAttribute( 1038021 ) ); // blessed else if ( LootType == LootType.Cursed ) attrs.Add( new EquipInfoAttribute( 1049643 ) ); // cursed } if ( !Identified ) { attrs.Add( new EquipInfoAttribute( 1038000 ) ); // Unidentified } else { int num = 0; switch ( m_WandEffect ) { case WandEffect.Clumsiness: num = 3002011; break; case WandEffect.Identification: num = 1044063; break; case WandEffect.Healing: num = 3002014; break; case WandEffect.Feeblemindedness: num = 3002013; break; case WandEffect.Weakness: num = 3002018; break; case WandEffect.MagicArrow: num = 3002015; break; case WandEffect.Harming: num = 3002022; break; case WandEffect.Fireball: num = 3002028; break; case WandEffect.GreaterHealing: num = 3002039; break; case WandEffect.Lightning: num = 3002040; break; case WandEffect.ManaDraining: num = 3002041; break; } if ( num > 0 ) attrs.Add( new EquipInfoAttribute( num, m_Charges ) ); } int number; if ( Name == null ) { number = 1017085; } else { this.LabelTo( from, Name ); number = 1041000; } if ( attrs.Count == 0 && Crafter == null && Name != null ) return; EquipmentInfo eqInfo = new EquipmentInfo( number, Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick(Mobile from) { var attrs = new List<EquipInfoAttribute>(); if (DisplayLootType) { if (LootType == LootType.Blessed) { attrs.Add(new EquipInfoAttribute(1038021)); // blessed } else if (LootType == LootType.Cursed) { attrs.Add(new EquipInfoAttribute(1049643)); // cursed } } #region Factions if (m_FactionState != null) { attrs.Add(new EquipInfoAttribute(1041350)); // faction item } #endregion if (m_Quality == WeaponQuality.Exceptional) { attrs.Add(new EquipInfoAttribute(1018305 - (int)m_Quality)); } if (m_Identified || from.AccessLevel >= AccessLevel.GameMaster) { if (m_Slayer != SlayerName.None) { SlayerEntry entry = SlayerGroup.GetEntryByName(m_Slayer); if (entry != null) { attrs.Add(new EquipInfoAttribute(entry.Title)); } } if (m_Slayer2 != SlayerName.None) { SlayerEntry entry = SlayerGroup.GetEntryByName(m_Slayer2); if (entry != null) { attrs.Add(new EquipInfoAttribute(entry.Title)); } } if (m_DurabilityLevel != WeaponDurabilityLevel.Regular) { attrs.Add(new EquipInfoAttribute(1038000 + (int)m_DurabilityLevel)); } if (m_DamageLevel != WeaponDamageLevel.Regular) { attrs.Add(new EquipInfoAttribute(1038015 + (int)m_DamageLevel)); } if (m_AccuracyLevel != WeaponAccuracyLevel.Regular) { attrs.Add(new EquipInfoAttribute(1038010 + (int)m_AccuracyLevel)); } } else if (m_Slayer != SlayerName.None || m_Slayer2 != SlayerName.None || m_DurabilityLevel != WeaponDurabilityLevel.Regular || m_DamageLevel != WeaponDamageLevel.Regular || m_AccuracyLevel != WeaponAccuracyLevel.Regular) { attrs.Add(new EquipInfoAttribute(1038000)); // Unidentified } if (m_Poison != null && m_PoisonCharges > 0) { attrs.Add(new EquipInfoAttribute(1017383, m_PoisonCharges)); } int number; if (Name == null) { number = LabelNumber; } else { LabelTo(from, Name); number = 1041000; } if (attrs.Count == 0 && Crafter == null && Name != null) { return; } EquipmentInfo eqInfo = new EquipmentInfo(number, m_Crafter, false, attrs.ToArray()); from.Send(new DisplayEquipmentInfo(this, eqInfo)); }
public override void OnSingleClick( Mobile from ) { if ( Deleted || !from.CanSee( this ) ) return; LabelToExpansion(from); int number; if ( String.IsNullOrEmpty( Name ) ) number = LabelNumber; else { this.LabelTo( from, Name ); number = 1041000; } if ( DisplayDyable ) LabelDyableTo( from ); List<EquipInfoAttribute> attrs = new List<EquipInfoAttribute>(); bool ismagical = AddEquipInfoAttributes( from, attrs ); if ( attrs.Count > 0 || Crafter != null || number != 1041000 ) { EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, from.AccessLevel < AccessLevel.GameMaster && ismagical && !m_Identified, attrs.ToArray() ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); } }
// Special version that DOES NOT show armor attributes and tags public override void OnSingleClick(Mobile from) { ArrayList attrs = new ArrayList(); int number; if (Name == null) { number = LabelNumber; } else { this.LabelTo(from, Name); number = 1041000; } if (attrs.Count == 0 && Crafter == null && Name != null) return; EquipmentInfo eqInfo = new EquipmentInfo(number, Crafter, false, (EquipInfoAttribute[])attrs.ToArray(typeof(EquipInfoAttribute))); from.Send(new DisplayEquipmentInfo(this, eqInfo)); }
public override void OnSingleClick( Mobile from ) { if ( Deleted || !from.CanSee( this ) ) return; int number; if ( String.IsNullOrEmpty( Name ) ) number = LabelNumber; else { this.LabelTo( from, Name ); number = 1041000; } List<EquipInfoAttribute> attrs = new List<EquipInfoAttribute>(); AddEquipInfoAttributes( from, attrs ); if ( attrs.Count > 0 || Crafter != null || String.IsNullOrEmpty( Name ) ) { EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, attrs.ToArray() ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); } if ( CheckContentDisplay( from ) ) LabelTo( from, "({0} item{2}, {1} stones)", TotalItems, TotalWeight, TotalItems != 1 ? "s" : String.Empty ); //LabelTo( from, 1050044, String.Format( "{0}\t{1}", TotalItems.ToString(), TotalWeight.ToString() ) ); }
public override void OnSingleClick( Mobile from ) { if (this.HideAttributes == true) { base.OnSingleClick(from); return; } ArrayList attrs = new ArrayList(); if ( DisplayLootType ) { if ( LootType == LootType.Blessed ) attrs.Add( new EquipInfoAttribute( 1038021 ) ); // blessed else if ( LootType == LootType.Cursed ) attrs.Add( new EquipInfoAttribute( 1049643 ) ); // cursed } if ( m_Quality == JewelQuality.Exceptional ) attrs.Add( new EquipInfoAttribute( 1018305 - (int)m_Quality ) ); int number; if ( Name == null ) { number = LabelNumber; } else { this.LabelTo( from, Name ); number = 1041000; } if (Identified == false && MagicCharges > 0) attrs.Add( new EquipInfoAttribute( 1038000 ) ); // unidentified else if (Identified == true && MagicCharges > 0) { switch(MagicType) { case JewelMagicEffect.MagicReflect: attrs.Add( new EquipInfoAttribute(1044416, m_MagicCharges) ); // magic reflection break; case JewelMagicEffect.Invisibility: attrs.Add( new EquipInfoAttribute(1044424, m_MagicCharges) ); // invisibility break; case JewelMagicEffect.Bless: attrs.Add( new EquipInfoAttribute(1044397, m_MagicCharges) ); // bless break; case JewelMagicEffect.Teleport: attrs.Add( new EquipInfoAttribute(1044402, m_MagicCharges) ); // teleport break; case JewelMagicEffect.Agility: attrs.Add( new EquipInfoAttribute(1044389, m_MagicCharges) ); // agility break; case JewelMagicEffect.Cunning: attrs.Add( new EquipInfoAttribute(1044390, m_MagicCharges) ); // cunning break; case JewelMagicEffect.Strength: attrs.Add( new EquipInfoAttribute(1044396, m_MagicCharges) ); // strength break; case JewelMagicEffect.NightSight: attrs.Add( new EquipInfoAttribute(1044387, m_MagicCharges) ); // night sight break; case JewelMagicEffect.Curse: attrs.Add( new EquipInfoAttribute(1044407, m_MagicCharges) ); // curse break; case JewelMagicEffect.Clumsy: attrs.Add( new EquipInfoAttribute(1044382, m_MagicCharges) ); // clumsy break; case JewelMagicEffect.Feeblemind: attrs.Add( new EquipInfoAttribute(1044384, m_MagicCharges) ); // feeblemind break; case JewelMagicEffect.Weakness: attrs.Add( new EquipInfoAttribute(1044388, m_MagicCharges) ); // weaken break; } } if ( attrs.Count == 0 && Name != null && m_Crafter == null ) return; EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { if ( m_Description != null && m_Description.Length > 0 ) LabelTo( from, m_Description ); ArrayList attrs = new ArrayList(); if ( m_Quality == RunebookQuality.Exceptional ) attrs.Add( new EquipInfoAttribute( 1018305 - (int)m_Quality ) ); int number = LabelNumber; if ( Crafter == null && attrs.Count == 0 ) { base.OnSingleClick( from ); return; } EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { ArrayList attrs = new ArrayList(); int num = 1041424; attrs.Add( new EquipInfoAttribute( num, m_Charges ) ); int number; if ( Name == null ) { number = 1017085; } else { this.LabelTo( from, Name ); number = 1041000; } EquipmentInfo eqInfo = new EquipmentInfo( number, Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { ArrayList attrs = new ArrayList(); if ( DisplayLootType ) { if ( LootType == LootType.Blessed ) attrs.Add( new EquipInfoAttribute( 1038021 ) ); // blessed else if ( LootType == LootType.Cursed ) attrs.Add( new EquipInfoAttribute( 1049643 ) ); // cursed } #region Factions if ( m_FactionState != null ) attrs.Add( new EquipInfoAttribute( 1041350 ) ); // faction item #endregion if ( m_Quality == WeaponQuality.Exceptional ) attrs.Add( new EquipInfoAttribute( 1018305 - (int)m_Quality ) ); if ( m_Identified ) { if ( m_Slayer != SlayerName.None ) attrs.Add( new EquipInfoAttribute( SlayerGroup.GetEntryByName( m_Slayer ).Title ) ); if ( m_DurabilityLevel != WeaponDurabilityLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038000 + (int)m_DurabilityLevel ) ); if ( m_DamageLevel != WeaponDamageLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038015 + (int)m_DamageLevel ) ); if ( m_AccuracyLevel != WeaponAccuracyLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038010 + (int)m_AccuracyLevel ) ); } else if (m_Slayer != SlayerName.None || m_DurabilityLevel != WeaponDurabilityLevel.Regular || m_DamageLevel != WeaponDamageLevel.Regular || m_AccuracyLevel != WeaponAccuracyLevel.Regular || m_ChargedAbility != WeaponChargedAbility.Regular && m_AbilityCharges > 0 ) { attrs.Add( new EquipInfoAttribute( 1038000 ) ); // Unidentified } if ( m_Poison != null && m_PoisonCharges > 0 ) attrs.Add( new EquipInfoAttribute( 1017383, m_PoisonCharges ) ); int number; /*if ( Name == null ) { number = LabelNumber; } else { this.LabelTo( from, Name ); number = 1041000; }*/ string name = Name == null ? ItemData.Name.ToLower() : Name; if (Name == null && m_Identified && m_ChargedAbility != WeaponChargedAbility.Regular && m_AbilityCharges > 0) name += String.Format(" of {0}: {1}", GetChargedAbilityName(m_ChargedAbility), m_AbilityCharges); this.LabelTo( from, name ); number = 1041000; if ( attrs.Count == 0 && Crafter == null && Name != null ) return; EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick(Mobile from) { ArrayList attrs = new ArrayList(); if (Quality == ClothingQuality.Exceptional) attrs.Add(new EquipInfoAttribute(1018305 - (int)Quality)); int number; if ( Name == null ) { this.LabelTo( from, "cloth gloves" ); number = 1041000; } else { this.LabelTo( from, Name ); number = 1041000; } if (attrs.Count == 0 && Crafter == null && Name != null) return; EquipmentInfo eqInfo = new EquipmentInfo(number, Crafter, false, (EquipInfoAttribute[])attrs.ToArray(typeof(EquipInfoAttribute))); from.Send(new DisplayEquipmentInfo(this, eqInfo)); }
public override void OnSingleClick(Mobile from) { int number; if ( Name == null ) { number = LabelNumber; } else { this.LabelTo( from, Name ); number = 1041000; } ArrayList attrs = new ArrayList(); if (Quality == WeaponQuality.Exceptional) attrs.Add( new EquipInfoAttribute( 1018305 - (int)m_Quality ) ); EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick(Mobile from) { ArrayList attrs = new ArrayList(); if (DisplayLootType) { if (LootType == LootType.Blessed) attrs.Add(new EquipInfoAttribute(1038021)); // blessed else if (LootType == LootType.Cursed) attrs.Add(new EquipInfoAttribute(1049643)); // cursed } string name = Name; bool hasability = ( m_ChargedAbility != JewelChargedAbility.Regular ) && ( m_AbilityCharges > 0 ); if ( !m_Identified && hasability ) attrs.Add(new EquipInfoAttribute(1038000)); // Unidentified else if ( String.IsNullOrEmpty( Name ) ) { string gemtype = GetGemType( m_GemType ); string chargeability = GetChargedAbilityName( m_ChargedAbility ); name = String.Format( "{0}{1}{2}", String.IsNullOrEmpty( gemtype ) ? "" : String.Format( "{0} ", gemtype ), ItemData.Name.ToLower(), hasability ? String.Format( " of {0}: {1}", chargeability, m_AbilityCharges ) : "" ); } this.LabelTo(from, name); int number = 1041000; EquipmentInfo eqInfo = new EquipmentInfo(number, null, false, (EquipInfoAttribute[])attrs.ToArray(typeof(EquipInfoAttribute))); from.Send(new DisplayEquipmentInfo(this, eqInfo)); }
public override void OnSingleClick( Mobile from ) { // If it's not identified, leave... name is handled in EnchantedScroll if( !m_Identified ) return; ArrayList attrs = new ArrayList(); if( ItemType.IsSubclassOf( typeof( BaseWeapon ) ) ) { // Send damage, durability, accuracy and slayer info if ( iProps[3] != (int) SlayerName.None ) attrs.Add( new EquipInfoAttribute( 1017383 + iProps[3] ) ); if ( iProps[1] != (int) WeaponDurabilityLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038000 + iProps[1] ) ); if ( iProps[0] != (int) WeaponDamageLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038015 + iProps[0] ) ); if ( iProps[2] != (int) WeaponAccuracyLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038010 + iProps[2] ) ); } else if( ItemType.IsSubclassOf( typeof( BaseArmor ) ) ) { // Send protection and durability info if ( iProps[1] != (int) ArmorDurabilityLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038000 + iProps[1] ) ); if ( iProps[0] > (int) ArmorProtectionLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038005 + iProps[0] ) ); } else if( ItemType.IsSubclassOf( typeof( BaseClothing ) ) ) { // Send charges and charge type info MagicEffect MagicType = (MagicEffect) iProps[0]; switch (MagicType) { case MagicEffect.MagicReflect: attrs.Add(new EquipInfoAttribute(1044416, iProps[1])); // magic reflection break; case MagicEffect.Invisibility: attrs.Add(new EquipInfoAttribute(1044424, iProps[1])); // invisibility break; case MagicEffect.Bless: attrs.Add(new EquipInfoAttribute(1044397, iProps[1])); // bless break; case MagicEffect.Agility: attrs.Add(new EquipInfoAttribute(1044389, iProps[1])); // agility break; case MagicEffect.Cunning: attrs.Add(new EquipInfoAttribute(1044390, iProps[1])); // cunning break; case MagicEffect.Strength: attrs.Add(new EquipInfoAttribute(1044396, iProps[1])); // strength break; case MagicEffect.NightSight: attrs.Add(new EquipInfoAttribute(1044387, iProps[1])); // night sight break; case MagicEffect.Curse: attrs.Add(new EquipInfoAttribute(1044407, iProps[1])); // curse break; case MagicEffect.Clumsy: attrs.Add(new EquipInfoAttribute(1044382, iProps[1])); // clumsy break; case MagicEffect.Feeblemind: attrs.Add(new EquipInfoAttribute(1044384, iProps[1])); // feeblemind break; case MagicEffect.Weakness: attrs.Add(new EquipInfoAttribute(1044388, iProps[1])); // weaken break; } } else if( ItemType.IsSubclassOf( typeof( BaseJewel ) ) ) { // Send charges and charge type info JewelMagicEffect MagicType = (JewelMagicEffect) iProps[0]; switch(MagicType) { case JewelMagicEffect.MagicReflect: attrs.Add( new EquipInfoAttribute(1044416, iProps[1] ) ); // magic reflection break; case JewelMagicEffect.Invisibility: attrs.Add( new EquipInfoAttribute(1044424, iProps[1] ) ); // invisibility break; case JewelMagicEffect.Bless: attrs.Add( new EquipInfoAttribute(1044397, iProps[1] ) ); // bless break; case JewelMagicEffect.Teleport: attrs.Add( new EquipInfoAttribute(1044402, iProps[1] ) ); // teleport break; case JewelMagicEffect.Agility: attrs.Add( new EquipInfoAttribute(1044389, iProps[1] ) ); // agility break; case JewelMagicEffect.Cunning: attrs.Add( new EquipInfoAttribute(1044390, iProps[1] ) ); // cunning break; case JewelMagicEffect.Strength: attrs.Add( new EquipInfoAttribute(1044396, iProps[1] ) ); // strength break; case JewelMagicEffect.NightSight: attrs.Add( new EquipInfoAttribute(1044387, iProps[1] ) ); // night sight break; case JewelMagicEffect.Curse: attrs.Add( new EquipInfoAttribute(1044407, iProps[1] ) ); // curse break; case JewelMagicEffect.Clumsy: attrs.Add( new EquipInfoAttribute(1044382, iProps[1] ) ); // clumsy break; case JewelMagicEffect.Feeblemind: attrs.Add( new EquipInfoAttribute(1044384, iProps[1] ) ); // feeblemind break; case JewelMagicEffect.Weakness: attrs.Add( new EquipInfoAttribute(1044388, iProps[1] ) ); // weaken break; } } else return; EquipmentInfo eqInfo = new EquipmentInfo( 1041000, null, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { if ( Deleted || !from.CanSee( this ) ) return; int number; if ( String.IsNullOrEmpty( Name ) ) number = LabelNumber; else { this.LabelTo( from, Name ); number = 1041000; } List<EquipInfoAttribute> attrs = new List<EquipInfoAttribute>(); AddEquipInfoAttributes( from, attrs ); if ( attrs.Count > 0 || Crafter != null || String.IsNullOrEmpty( Name ) ) { EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, attrs.ToArray() ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); } }
/* public void DisplayDurabilityTo( Mobile m, int uses ) { LabelToAffix( m, 1017323, AffixType.Append, ": " + uses.ToString() ); // Durability } */ public override void OnSingleClick(Mobile from) { if (Deleted || !from.CanSee(this)) { return; } LabelToExpansion(from); // if ( this is IUsesRemaining && ((IUsesRemaining)this).ShowUsesRemaining ) // DisplayDurabilityTo( from, ((IUsesRemaining)this).UsesRemaining ); if (IsAesthetic) { LabelTo(from, "[Aesthetic]", 2049); } int number; string name = Name; if (IsAesthetic) name = name + "[Aesthetic]"; /* if ( m_Resource != CraftResource.None && m_Resource != CraftResource.RegularWood && m_Resource != CraftResource.Iron && m_Resource != CraftResource.RegularLeather && String.IsNullOrEmpty( name ) ) { StringList stringlist = StringList.Default; if ( from.NetState != null && from.NetState.LTable != null ) stringlist = from.NetState.LTable; if ( String.IsNullOrEmpty( name ) && stringlist[LabelNumber] != null ) name = stringlist[LabelNumber].Text; if ( name.StartsWith( "a " ) && name.Length > 2 ) name = name.Substring( 2, name.Length-2 ); else if ( name.StartsWith( "an " ) && name.Length > 3 ) name = name.Substring( 3, name.Length-3 ); int oreType = 0; bool dragonscale = false; //dragon scale - 1053112 switch ( m_Resource ) { case CraftResource.DullCopper: oreType = 1053108; break; // dull copper case CraftResource.ShadowIron: oreType = 1053107; break; // shadow iron case CraftResource.Copper: oreType = 1053106; break; // copper case CraftResource.Bronze: oreType = 1053105; break; // bronze case CraftResource.Gold: oreType = 1053104; break; // golden case CraftResource.Agapite: oreType = 1053103; break; // agapite case CraftResource.Verite: oreType = 1053102; break; // verite case CraftResource.Valorite: oreType = 1053101; break; // valorite case CraftResource.SpinedLeather: oreType = 1061118; break; // spined case CraftResource.HornedLeather: oreType = 1061117; break; // horned case CraftResource.BarbedLeather: oreType = 1061116; break; // barbed case CraftResource.RedScales: oreType = 1060814; dragonscale = true; break; // red case CraftResource.YellowScales: oreType = 1060818; dragonscale = true; break; // yellow case CraftResource.BlackScales: oreType = 1060820; dragonscale = true; break; // black case CraftResource.GreenScales: oreType = 1060819; dragonscale = true; break; // green case CraftResource.WhiteScales: oreType = 1060821; dragonscale = true; break; // white case CraftResource.BlueScales: oreType = 1060815; dragonscale = true; break; // blue case CraftResource.OakWood: oreType = 1072533; break; case CraftResource.AshWood: oreType = 1072534; break; case CraftResource.YewWood: oreType = 1072535; break; case CraftResource.Bloodwood: oreType = 1072538; break; case CraftResource.Heartwood: oreType = 1072536; break; case CraftResource.Frostwood: oreType = 1072539; break; } string resource = stringlist[oreType].Text; if ( dragonscale ) resource = String.Format( "{0} {1}", resource, stringlist[1053112].Text ); name = String.Format( "{0} {1}", resource, name ); } else name = Name; */ if (String.IsNullOrEmpty(name)) { number = LabelNumber; } else { LabelTo(from, name, 1153); number = 1041000; } if (DisplayDyable) { LabelDyableTo(from); } var attrs = new List<EquipInfoAttribute>(); bool ismagical = AddEquipInfoAttributes(from, attrs) || (m_Resource > CraftResource.Valorite && m_Resource < CraftResource.RegularLeather) || base.Hue > 0; if (attrs.Count > 0 || Crafter != null || number != 1041000) { var eqInfo = new EquipmentInfo( number, m_Crafter, /*from.AccessLevel < AccessLevel.GameMaster &&*/ ismagical && !Identified, attrs.ToArray()); from.Send(new DisplayEquipmentInfo(this, eqInfo)); } }
public override void OnSingleClick(Mobile from) { if (this.HideAttributes == true) { base.OnSingleClick(from); return; } ArrayList attrs = new ArrayList(); if (DisplayLootType) { if (LootType == LootType.Blessed) attrs.Add(new EquipInfoAttribute(1038021)); // blessed else if (LootType == LootType.Cursed) attrs.Add(new EquipInfoAttribute(1049643)); // cursed } if (Name != null || OldName == null) // only use the new ([X/Y/Z]) method on things we don't have OldNames for { if (m_Quality == WeaponQuality.Exceptional) attrs.Add(new EquipInfoAttribute(1018305 - (int)m_Quality)); if (m_Identified) { if (m_Slayer != SlayerName.None) attrs.Add(new EquipInfoAttribute(1017383 + (int)m_Slayer)); if (m_DurabilityLevel != WeaponDurabilityLevel.Regular) attrs.Add(new EquipInfoAttribute(1038000 + (int)m_DurabilityLevel)); if (m_DamageLevel != WeaponDamageLevel.Regular) attrs.Add(new EquipInfoAttribute(1038015 + (int)m_DamageLevel)); if (m_AccuracyLevel != WeaponAccuracyLevel.Regular) attrs.Add(new EquipInfoAttribute(1038010 + (int)m_AccuracyLevel)); } else if (m_Slayer != SlayerName.None || m_DurabilityLevel != WeaponDurabilityLevel.Regular || m_DamageLevel != WeaponDamageLevel.Regular || m_AccuracyLevel != WeaponAccuracyLevel.Regular) { attrs.Add(new EquipInfoAttribute(1038000)); // Unidentified } } if (Name != null || OldName == null) { if (m_Poison != null && m_PoisonCharges > 0) attrs.Add(new EquipInfoAttribute(1017383, m_PoisonCharges)); } int number; if (Name == null) { if (OldName == null) { number = LabelNumber; } else { string oldname = OldName; string article = OldArticle; //yay! Show us the old way! if (m_Quality == WeaponQuality.Exceptional) { oldname = "exceptional " + oldname; article = "an"; } if (m_Identified) { if (m_Slayer != SlayerName.None) { oldname = m_Slayer.ToString().ToLower() + " " + oldname; article = "a"; } if (m_AccuracyLevel != WeaponAccuracyLevel.Regular) { if (m_AccuracyLevel == WeaponAccuracyLevel.Accurate) { oldname = "accurate " + oldname; article = "an"; } else { oldname = m_AccuracyLevel.ToString().ToLower() + " accurate " + oldname; if (m_AccuracyLevel == WeaponAccuracyLevel.Eminently || m_AccuracyLevel == WeaponAccuracyLevel.Exceedingly) { article = "an"; } else { article = "a"; } } } if (m_DurabilityLevel != WeaponDurabilityLevel.Regular) { oldname = m_DurabilityLevel.ToString().ToLower() + " " + oldname; if (m_DurabilityLevel == WeaponDurabilityLevel.Indestructible) { article = "an"; } else { article = "a"; } } if (m_DamageLevel != WeaponDamageLevel.Regular) { if (m_DamageLevel == WeaponDamageLevel.Vanq) //silly people abbreviated vanquishing in the enumeration! { oldname = oldname + " of vanquishing"; } else { oldname = oldname + " of " + m_DamageLevel.ToString().ToLower(); } } } else if( m_Slayer != SlayerName.None || m_DurabilityLevel != WeaponDurabilityLevel.Regular || m_DamageLevel != WeaponDamageLevel.Regular || m_AccuracyLevel != WeaponAccuracyLevel.Regular ) { oldname = "magic " + oldname; article = "a"; } //crafted-by goes at the end if (m_Crafter != null) { oldname += " crafted by " + m_Crafter.Name; } if (m_Poison != null && m_PoisonCharges > 0) { oldname = "poisoned " + oldname; oldname = (oldname + ", charges: " + m_PoisonCharges); article = "a"; } //finally, add the article oldname = article + " " + oldname; this.LabelTo(from, oldname); number = 1041000; } } else { this.LabelTo(from, Name); number = 1041000; } if (attrs.Count == 0 && Crafter == null && Name != null) return; if (Name != null || OldName == null) { EquipmentInfo eqInfo = new EquipmentInfo(number, m_Crafter, false, (EquipInfoAttribute[])attrs.ToArray(typeof(EquipInfoAttribute))); from.Send(new DisplayEquipmentInfo(this, eqInfo)); } else { if (attrs.Count > 0) { EquipmentInfo eqInfo = new EquipmentInfo(number, null, false, (EquipInfoAttribute[])attrs.ToArray(typeof(EquipInfoAttribute))); from.Send(new DisplayEquipmentInfo(this, eqInfo)); } } }
public DisplayEquipmentInfo( Item item, EquipmentInfo info ) : base( 0x1C ) { EquipInfoAttribute[] attrs = info.Attributes; string text = CliLoc.LocToString( info.Number ); if ( info.Crafter != null && info.Crafter.Name != null ) text = string.Format( "{0} [crafted by {1}]", text, info.Crafter.Name ); for ( int i = 0; i < attrs.Length; ++i ) { if ( attrs[i].Charges > 0 ) text = string.Format( "{0} [{1}:{2}]", text, CliLoc.LocToString(attrs[i].Number), attrs[i].Charges.ToString() ); else if ( attrs[i].Charges == 0 ) text = string.Format( "{0} [{1}:None]", text, CliLoc.LocToString(attrs[i].Number) ); else text = string.Format( "{0} [{1}]", text, CliLoc.LocToString(attrs[i].Number) ); } //if (!info.Unidentified) //text = string.Format("{0} [unidentified]", text); this.EnsureCapacity(45 + text.Length); m_Stream.Write((int)item.Serial); m_Stream.Write((short)item.ItemID); m_Stream.Write((byte)MessageType.Label); m_Stream.Write((short)906); m_Stream.Write((short)3); m_Stream.WriteAsciiFixed("", 30); m_Stream.WriteAsciiNull(text); m_Stream.Write((int)-1); }
public DisplayEquipmentInfo(Item item, EquipmentInfo info) : base(0xBF) { var attrs = info.Attributes; EnsureCapacity( 17 + (info.Crafter == null ? 0 : 6 + info.Crafter.TitleName == null ? 0 : info.Crafter.TitleName.Length) + (info.Unidentified ? 4 : 0) + (attrs.Length * 6)); m_Stream.Write((short)0x10); m_Stream.Write(item.Serial); m_Stream.Write(info.Number); if (info.Crafter != null) { string name = info.Crafter.TitleName; m_Stream.Write(-3); if (name == null) { m_Stream.Write((ushort)0); } else { int length = name.Length; m_Stream.Write((ushort)length); m_Stream.WriteAsciiFixed(name, length); } } if (info.Unidentified) { m_Stream.Write(-4); } for (int i = 0; i < attrs.Length; ++i) { m_Stream.Write(attrs[i].Number); m_Stream.Write((short)attrs[i].Charges); } m_Stream.Write(-1); }
public DisplayEquipmentInfo( Item item, EquipmentInfo info ) : base( 0xBF ) { EquipInfoAttribute[] attrs = info.Attributes; this.EnsureCapacity( 17 + (info.Crafter == null ? 0 : 6 + info.Crafter.RawName == null ? 0 : info.Crafter.RawName.Length) + (info.Unidentified ? 4 : attrs.Length * 6) ); m_Stream.Write( (short) 0x10 ); m_Stream.Write( (int) item.Serial ); m_Stream.Write( (int) info.Number ); if ( info.Crafter != null ) { string name = info.Crafter.RawName; if (info.Crafter.Fame > 9999) { if (info.Crafter.Female) name = "Lady " + name; else name = "Lord " + name; } m_Stream.Write( (int) -3 ); if ( name == null ) m_Stream.Write( (ushort) 0 ); else { int length = name.Length; m_Stream.Write( (ushort) length ); m_Stream.WriteAsciiFixed( name, length ); } } if ( info.Unidentified ) m_Stream.Write( (int) -4 ); else { for ( int i = 0; i < attrs.Length; ++i ) { m_Stream.Write( (int) attrs[i].Number ); m_Stream.Write( (short) attrs[i].Charges ); } } m_Stream.Write( (int) -1 ); }
public DisplayEquipmentInfo( Item item, EquipmentInfo info ) : base(0xBF) { EquipInfoAttribute[] attrs = info.Attributes; this.EnsureCapacity( 17 + (info.Crafter == null ? 0 : 6 + info.Crafter.Name == null ? 0 : info.Crafter.Name.Length) + (info.Unidentified ? 4 : 0) + (attrs.Length * 6) ); m_Stream.Write( (short) 0x10 ); m_Stream.Write( (int) item.Serial ); m_Stream.Write( (int) info.Number ); if ( info.Crafter != null ) { string name = info.Crafter.Name; if ( name == null ) name = ""; int length = (ushort)name.Length; m_Stream.Write( (int) -3 ); m_Stream.Write( (ushort) length ); m_Stream.WriteAsciiFixed( name, length ); } if ( info.Unidentified ) { m_Stream.Write( (int) -4 ); } for ( int i = 0; i < attrs.Length; ++i ) { m_Stream.Write( (int) attrs[i].Number ); m_Stream.Write( (short) attrs[i].Charges ); } m_Stream.Write( (int) -1 ); }
public override void OnSingleClick(Mobile from) { if (Deleted || !from.CanSee(this)) { return; } LabelToExpansion(from); int number; if (String.IsNullOrEmpty(Name)) { number = LabelNumber; } else { LabelTo(from, Name); number = 1041000; } if (DisplayDyable) { LabelDyableTo(from); } if (!(this is FleshboundTome)) LabelTo(from, 1042886, m_Count.ToString()); var attrs = new List<EquipInfoAttribute>(); AddEquipInfoAttributes(from, attrs); if (attrs.Count > 0 || Crafter != null || number != 1041000) { var eqInfo = new EquipmentInfo(number, m_Crafter, false, attrs.ToArray()); from.Send(new DisplayEquipmentInfo(this, eqInfo)); } }
public override void OnSingleClick( Mobile from ) { List<EquipInfoAttribute> attrs = new List<EquipInfoAttribute>(); if ( DisplayLootType ) { if ( LootType == LootType.Blessed ) attrs.Add( new EquipInfoAttribute( 1038021 ) ); // blessed else if ( LootType == LootType.Cursed ) attrs.Add( new EquipInfoAttribute( 1049643 ) ); // cursed } #region Factions if ( m_FactionState != null ) attrs.Add( new EquipInfoAttribute( 1041350 ) ); // faction item #endregion if ( m_Quality == ArmorQuality.Exceptional ) attrs.Add( new EquipInfoAttribute( 1018305 - (int)m_Quality ) ); if ( m_Identified || from.AccessLevel >= AccessLevel.GameMaster) { if ( m_Durability != ArmorDurabilityLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038000 + (int)m_Durability ) ); if ( m_Protection > ArmorProtectionLevel.Regular && m_Protection <= ArmorProtectionLevel.Invulnerability ) attrs.Add( new EquipInfoAttribute( 1038005 + (int)m_Protection ) ); } else if ( m_Durability != ArmorDurabilityLevel.Regular || (m_Protection > ArmorProtectionLevel.Regular && m_Protection <= ArmorProtectionLevel.Invulnerability) ) attrs.Add( new EquipInfoAttribute( 1038000 ) ); // Unidentified int number; if ( Name == null ) { number = LabelNumber; } else { this.LabelTo( from, Name ); number = 1041000; } if ( attrs.Count == 0 && Crafter == null && Name != null ) return; EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, attrs.ToArray() ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { ArrayList attrs = new ArrayList(); if ( DisplayLootType ) { if ( LootType == LootType.Blessed ) attrs.Add( new EquipInfoAttribute( 1038021 ) ); // blessed else if ( LootType == LootType.Cursed ) attrs.Add( new EquipInfoAttribute( 1049643 ) ); // cursed } #region Factions if ( m_FactionState != null ) attrs.Add( new EquipInfoAttribute( 1041350 ) ); // faction item #endregion if ( m_Quality == ClothingQuality.Exceptional ) attrs.Add( new EquipInfoAttribute( 1018305 - (int)m_Quality ) ); int number; if ( Name == null ) { number = LabelNumber; } else { this.LabelTo( from, Name ); number = 1041000; } if ( attrs.Count == 0 && Crafter == null && Name != null ) return; EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, (EquipInfoAttribute[])attrs.ToArray( typeof( EquipInfoAttribute ) ) ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { List<EquipInfoAttribute> attrs = new List<EquipInfoAttribute>(); AddEquipInfoAttributes( from, attrs ); int number; if ( Name == null ) { number = LabelNumber; } else { this.LabelTo( from, Name ); number = 1041000; } if ( attrs.Count == 0 && Crafter == null && Name != null ) return; EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, attrs.ToArray() ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); }
public override void OnSingleClick( Mobile from ) { List<EquipInfoAttribute> attrs = new List<EquipInfoAttribute>(); if ( DisplayLootType ) { if ( LootType == LootType.Blessed ) attrs.Add( new EquipInfoAttribute( 1038021 ) ); // blessed else if ( LootType == LootType.Cursed ) attrs.Add( new EquipInfoAttribute( 1049643 ) ); // cursed } #region Factions if ( m_FactionState != null ) attrs.Add( new EquipInfoAttribute( 1041350 ) ); // faction item #endregion if ( m_Quality == WeaponQuality.Exceptional ) attrs.Add( new EquipInfoAttribute( 1018305 - (int)m_Quality ) ); if ( m_Identified || from.AccessLevel >= AccessLevel.GameMaster ) { if( m_Slayer != SlayerName.None ) { SlayerEntry entry = SlayerGroup.GetEntryByName( m_Slayer ); if( entry != null ) attrs.Add( new EquipInfoAttribute( entry.Title ) ); } if( m_Slayer2 != SlayerName.None ) { SlayerEntry entry = SlayerGroup.GetEntryByName( m_Slayer2 ); if( entry != null ) attrs.Add( new EquipInfoAttribute( entry.Title ) ); } if ( m_DurabilityLevel != WeaponDurabilityLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038000 + (int)m_DurabilityLevel ) ); if ( m_DamageLevel != WeaponDamageLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038015 + (int)m_DamageLevel ) ); if ( m_AccuracyLevel != WeaponAccuracyLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038010 + (int)m_AccuracyLevel ) ); } else if( m_Slayer != SlayerName.None || m_Slayer2 != SlayerName.None || m_DurabilityLevel != WeaponDurabilityLevel.Regular || m_DamageLevel != WeaponDamageLevel.Regular || m_AccuracyLevel != WeaponAccuracyLevel.Regular ) attrs.Add( new EquipInfoAttribute( 1038000 ) ); // Unidentified if ( m_Poison != null && m_PoisonCharges > 0 ) attrs.Add( new EquipInfoAttribute( 1017383, m_PoisonCharges ) ); int number; if ( Name == null ) { number = LabelNumber; } else { this.LabelTo( from, Name ); number = 1041000; } if ( attrs.Count == 0 && Crafter == null && Name != null && (m_PreUORMagEff == null || m_PreUORMagEff == PreUORMagEff.None) ) return; EquipmentInfo eqInfo = new EquipmentInfo( number, m_Crafter, false, attrs.ToArray() ); from.Send( new DisplayEquipmentInfo( this, eqInfo ) ); if ( m_PreUORMagEff != null && m_PreUORMagEff != PreUORMagEff.None ) { String mageff = ""; switch( m_PreUORMagEff ) { case PreUORMagEff.Clumsiness: mageff = "Clumsiness"; break; case PreUORMagEff.Feeblemindedness: mageff = "Feeblemindness"; break; case PreUORMagEff.Weakness: mageff = "Weakness"; break; case PreUORMagEff.Burning: mageff = "Burning"; break; case PreUORMagEff.Wounding: mageff = "Wounding"; break; case PreUORMagEff.DaemonBreath: mageff = "Daemon's breath"; break; case PreUORMagEff.Thunder: mageff = "Thunder"; break; case PreUORMagEff.MagesBane: mageff = "Mages bane"; break; case PreUORMagEff.GhoulTouch: mageff = "Ghoul's touch"; break; case PreUORMagEff.Evil: mageff = "Evil"; break; } if(mageff.Length == 0) return; this.LabelTo(from, String.Format("[{0}: {1}]", mageff, MagEffCharges)); } }