예제 #1
0
        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);
            }
        }
예제 #2
0
        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));
        }
예제 #3
0
        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
        }