public override void GetProperties(ObjectPropertyList list) { int oldUses = m_UsesRemaining; CheckReplenishUses(false); base.GetProperties(list); if (m_Crafter != null) { list.Add(1050043, m_Crafter.RawName); // crafted by ~1_NAME~ } if (m_Quality == InstrumentQuality.Exceptional) { list.Add(1060636); // exceptional } list.Add(1060584, m_UsesRemaining.ToString()); // uses remaining: ~1_val~ if (m_ReplenishesCharges) { list.Add(1070928); // Replenish Charges } if (m_Slayer != SlayerName.None) { SlayerEntry entry = SlayerGroup.GetEntryByName(m_Slayer); if (entry != null) { list.Add(entry.GetTitle(EraAOS)); } } if (m_Slayer2 != SlayerName.None) { SlayerEntry entry = SlayerGroup.GetEntryByName(m_Slayer2); if (entry != null) { list.Add(entry.GetTitle(EraAOS)); } } if ((m_Resource >= CraftResource.OakWood && m_Resource <= CraftResource.Frostwood) && Hue == CraftResources.GetHue(m_Resource)) { list.Add(CraftResources.GetLocalizationNumber(m_Resource)); } if (m_UsesRemaining != oldUses) { Timer.DelayCall(TimeSpan.Zero, InvalidateProperties); } }
public override void OnSingleClick(Mobile from) { LabelToExpansion(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 } } 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.GetTitle(EraAOS))); } } if (m_Slayer2 != SlayerName.None) { SlayerEntry entry = SlayerGroup.GetEntryByName(m_Slayer2); if (entry != null) { attrs.Add(new EquipInfoAttribute(entry.GetTitle(EraAOS))); } } int number; if (Name == null) { number = LabelNumber; } else { LabelTo(from, Name); number = 1041000; } if (attrs.Count == 0 && Crafter == null && Name != null) { return; } var eqInfo = new EquipmentInfo(number, m_Crafter, false, attrs.ToArray()); from.Send(new DisplayEquipmentInfo(this, eqInfo)); }
public override void GetProperties(ObjectPropertyList list) { base.GetProperties(list); if (m_Quality == BookQuality.Exceptional) { list.Add(1063341); // exceptional } if (m_EngravedText != null) { list.Add(1072305, m_EngravedText); // Engraved: ~1_INSCRIPTION~ } if (m_Crafter != null) { list.Add(1050043, m_Crafter.RawName); // crafted by ~1_NAME~ } m_AosSkillBonuses.GetProperties(list); if (m_Slayer != SlayerName.None) { SlayerEntry entry = SlayerGroup.GetEntryByName(m_Slayer); if (entry != null) { list.Add(entry.GetTitle(EraAOS)); } } if (m_Slayer2 != SlayerName.None) { SlayerEntry entry = SlayerGroup.GetEntryByName(m_Slayer2); if (entry != null) { list.Add(entry.GetTitle(EraAOS)); } } int prop; if ((prop = m_AosAttributes.WeaponDamage) != 0) { list.Add(1060401, prop.ToString()); // damage increase ~1_val~% } if ((prop = m_AosAttributes.DefendChance) != 0) { list.Add(1060408, prop.ToString()); // defense chance increase ~1_val~% } if ((prop = m_AosAttributes.BonusDex) != 0) { list.Add(1060409, prop.ToString()); // dexterity bonus ~1_val~ } if ((prop = m_AosAttributes.EnhancePotions) != 0) { list.Add(1060411, prop.ToString()); // enhance potions ~1_val~% } if ((prop = m_AosAttributes.CastRecovery) != 0) { list.Add(1060412, prop.ToString()); // faster cast recovery ~1_val~ } if ((prop = m_AosAttributes.CastSpeed) != 0) { list.Add(1060413, prop.ToString()); // faster casting ~1_val~ } if ((prop = m_AosAttributes.AttackChance) != 0) { list.Add(1060415, prop.ToString()); // hit chance increase ~1_val~% } if ((prop = m_AosAttributes.BonusHits) != 0) { list.Add(1060431, prop.ToString()); // hit point increase ~1_val~ } if ((prop = m_AosAttributes.BonusInt) != 0) { list.Add(1060432, prop.ToString()); // intelligence bonus ~1_val~ } if ((prop = m_AosAttributes.LowerManaCost) != 0) { list.Add(1060433, prop.ToString()); // lower mana cost ~1_val~% } if ((prop = m_AosAttributes.LowerRegCost) != 0) { list.Add(1060434, prop.ToString()); // lower reagent cost ~1_val~% } if ((prop = m_AosAttributes.Luck) != 0) { list.Add(1060436, prop.ToString()); // luck ~1_val~ } if ((prop = m_AosAttributes.BonusMana) != 0) { list.Add(1060439, prop.ToString()); // mana increase ~1_val~ } if ((prop = m_AosAttributes.RegenMana) != 0) { list.Add(1060440, prop.ToString()); // mana regeneration ~1_val~ } if ((prop = m_AosAttributes.NightSight) != 0) { list.Add(1060441); // night sight } if ((prop = m_AosAttributes.ReflectPhysical) != 0) { list.Add(1060442, prop.ToString()); // reflect physical damage ~1_val~% } if ((prop = m_AosAttributes.RegenStam) != 0) { list.Add(1060443, prop.ToString()); // stamina regeneration ~1_val~ } if ((prop = m_AosAttributes.RegenHits) != 0) { list.Add(1060444, prop.ToString()); // hit point regeneration ~1_val~ } if ((prop = m_AosAttributes.SpellChanneling) != 0) { list.Add(1060482); // spell channeling } if ((prop = m_AosAttributes.SpellDamage) != 0) { list.Add(1060483, prop.ToString()); // spell damage increase ~1_val~% } if ((prop = m_AosAttributes.BonusStam) != 0) { list.Add(1060484, prop.ToString()); // stamina increase ~1_val~ } if ((prop = m_AosAttributes.BonusStr) != 0) { list.Add(1060485, prop.ToString()); // strength bonus ~1_val~ } if ((prop = m_AosAttributes.WeaponSpeed) != 0) { list.Add(1060486, prop.ToString()); // swing speed increase ~1_val~% } if (EraML && (prop = m_AosAttributes.IncreasedKarmaLoss) != 0) { list.Add(1075210, prop.ToString()); // Increased Karma Loss ~1val~% } list.Add(1042886, m_Count.ToString()); // ~1_NUMBERS_OF_SPELLS~ Spells }