Hank submitted a new resource:

Colored Equipment Names - Colored Equipment Names based on attributes and props.

This will allow you to have armor, clothing, weapons and Jewelry with colored names based on the amount of attributes and props.

Read more about this resource...

If there is any spelling mistakes don't hesitate to let me know, I kinda rushed on this.
There may be some missing attributes, If there are let me know and I'll add them asap.

Please feel free to post any questions, comments or concerns.
 
Last edited:
Might I recommend you add a space after exceptional because at present it smooshes the resource type and exceptional together.
I actually had it proper from the start, somewhere along the line the space got removed. You can see this by viewing the basejewelinstructions from an older version.

I'll update the instructions. Thank you very much for catching my typo!
 
I may be able to add that as an option to display. It would require some additions to the install instructions plus the scripts. It is probably possible to add it to the list of things. It is kind of a niche thing for people, mostly pre aos people. I'll try some things and see what I can get working. No promises & that may not be out right away.

Thanks for bringing it to my attention.
 
Hank updated Colored Equipment Names with a new update entry:

Colored Equipment Names v0.57.1

This (v0.57.1) is the correct version. v0.57 was not the proper release files.

-Added an alternative verison for people who want to use pre-aos and or a hybrid of pre-aos and aos attributes and properties.

If you want to use this version, only use the files inside the PreAOS + HybridPreAos folder. Basic instructions were added to the Information.txt inside that folder.

Read the rest of this update entry...
 
System.InvalidCastException:specifiedcastis not valid.
ItemNameHue.WeaponItemProps.CheckWeapon(BaseWeaponitem)e:\ServUO-master\Scripts\ customlocationcan correspond in content\colorequipmentequipmentname\WeaponItemProps.cs:linenumber180
 
To report how this was fixed, I'm noting it here since there was no additional responses.

Modify the WeaponsItemsProps.cs (custom folder file) to use

foreach (long i in Enum.GetValues(typeof(AosWeaponAttribute)))

instead of

foreach (int i in Enum.GetValues(typeof(AosWeaponAttribute)))

at Line 82.

Here is the complete Code. I wracked my brain around this for almost an hour thinking it was something else. Then I got lucky searching google and found this ' https://www.servuo.com/threads/crash-code.3910/ ' Thank you 'Kilra Yan'! :)


Code:
using System;
using Server.Mobiles;
using Server.Targeting;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;

namespace ItemNameHue
{
    public class WeaponItemProps
    {
        #region Weapon
        public static string GetWeaponItemValue(Item item)
        {
                bool useartifactrarity = false;
       
                BaseWeapon bw = item as BaseWeapon;
                int values = CheckWeapon(bw);
                int rarityvalues = CheckArtifactWeapon(bw);
               
                if (useartifactrarity && rarityvalues >= 1)
                {
                if (rarityvalues >= 4)
                    return "<BASEFONT COLOR=#FFFF00>";
                else if (rarityvalues >= 3)
                    return "<BASEFONT COLOR=#00FFFF>";
                else if (rarityvalues >= 2)
                    return "<BASEFONT COLOR=#00FF00>";
                else if (rarityvalues >= 1)
                    return "<BASEFONT COLOR=#FFFFFF>";
                   
                    return "<BASEFONT COLOR=#D6D6D6>";
                }
                else
                {
                if (values >= 300)
                    return "<BASEFONT COLOR=#FF944D>";
                else if (values >= 200)
                    return "<BASEFONT COLOR=#B48FFF>";
                else if (values >= 100)
                    return "<BASEFONT COLOR=#8DBAE8>";
                else if (values >= 50)
                    return "<BASEFONT COLOR=#A1E68A>";

                    return "<BASEFONT COLOR=#D6D6D6>";
                }
        }
       
        public static int CheckArtifactWeapon(BaseWeapon item)
        {
                int rarityvalue = 0;
       
                if (item.ArtifactRarity <= 30)
                    rarityvalue = 4;

                if (item.ArtifactRarity <= 20)
                    rarityvalue = 3;

                if (item.ArtifactRarity <= 10)
                    rarityvalue = 2;

                if (item.ArtifactRarity <= 1)
                    rarityvalue = 1;
               
                if (item.ArtifactRarity < 1)
                    rarityvalue = 0;
                   
                return rarityvalue;       
        }

        public static int CheckWeapon(BaseWeapon item)
        {
            int value = 0;

            foreach (int i in Enum.GetValues(typeof(AosAttribute)))
            {
                if (item != null && item.Attributes[(AosAttribute)i] > 0)
                    value += 2;
            }

            foreach (long i in Enum.GetValues(typeof(AosWeaponAttribute)))
            {
                if (item.WeaponAttributes[(AosWeaponAttribute)i] > 0)
                    value += 2;
            }

            //Start skill bonus

            if (item.SkillBonuses.Skill_1_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_1_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_2_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_2_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_3_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_3_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_4_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_4_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_5_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_5_Value * 4;
                value += 2;
            }

            //Start Slayers

            if (item.Slayer != SlayerName.None)
                value += 20;

            if (item.Slayer2 != SlayerName.None)
                value += 20;

            if (item.Slayer3 != TalismanSlayerName.None)
                value += 20;

            //Start weapon attributes

            if (item.WeaponAttributes.BattleLust > 0)
                value += 20;

            if (item.WeaponAttributes.BloodDrinker > 0)
                value += 20;

            if (item.WeaponAttributes.DurabilityBonus > 0)
                value += item.WeaponAttributes.DurabilityBonus / 4;

            if (item.WeaponAttributes.HitColdArea > 0)
                value += item.WeaponAttributes.HitColdArea / 2;

            if (item.WeaponAttributes.HitCurse > 0)
                value += item.WeaponAttributes.HitCurse / 2;

            if (item.WeaponAttributes.HitDispel > 0)
                value += item.WeaponAttributes.HitDispel / 2;

            if (item.WeaponAttributes.HitEnergyArea > 0)
                value += item.WeaponAttributes.HitEnergyArea / 2;

            if (item.WeaponAttributes.HitFatigue > 0)
                value += item.WeaponAttributes.HitFatigue / 2;

            if (item.WeaponAttributes.HitFireArea > 0)
                value += item.WeaponAttributes.HitFireArea / 2;

            if (item.WeaponAttributes.HitFireball > 0)
                value += item.WeaponAttributes.HitFireball / 2;

            if (item.WeaponAttributes.HitHarm > 0)
                value += item.WeaponAttributes.HitHarm / 2;

            if (item.WeaponAttributes.HitLeechHits > 0)
                value += item.WeaponAttributes.HitLeechHits / 2;

            if (item.WeaponAttributes.HitLeechMana > 0)
                value += item.WeaponAttributes.HitLeechMana / 2;

            if (item.WeaponAttributes.HitLeechStam > 0)
                value += item.WeaponAttributes.HitLeechStam / 2;

            if (item.WeaponAttributes.HitLightning > 0)
                value += item.WeaponAttributes.HitLightning / 2;

            if (item.WeaponAttributes.HitLowerAttack > 0)
                value += item.WeaponAttributes.HitLowerAttack / 2;

            if (item.WeaponAttributes.HitLowerDefend > 0)
                value += item.WeaponAttributes.HitLowerDefend / 2;

            if (item.WeaponAttributes.HitMagicArrow > 0)
                value += item.WeaponAttributes.HitMagicArrow / 2;

            if (item.WeaponAttributes.HitManaDrain > 0)
                value += item.WeaponAttributes.HitManaDrain / 2;

            if (item.WeaponAttributes.HitPhysicalArea > 0)
                value += item.WeaponAttributes.HitPhysicalArea / 2;

            if (item.WeaponAttributes.HitPoisonArea > 0)
                value += item.WeaponAttributes.HitPoisonArea / 2;

            if (item.WeaponAttributes.LowerStatReq > 0)
                value += item.WeaponAttributes.LowerStatReq / 2;

            if (item.WeaponAttributes.MageWeapon > 0)
                value += item.WeaponAttributes.MageWeapon;

            if (item.WeaponAttributes.ResistColdBonus > 0)
                value += item.WeaponAttributes.ResistColdBonus / 2;

            if (item.WeaponAttributes.ResistEnergyBonus > 0)
                value += item.WeaponAttributes.ResistEnergyBonus / 2;

            if (item.WeaponAttributes.ResistFireBonus > 0)
                value += item.WeaponAttributes.ResistFireBonus / 2;

            if (item.WeaponAttributes.ResistPhysicalBonus > 0)
                value += item.WeaponAttributes.ResistPhysicalBonus / 2;

            if (item.WeaponAttributes.ResistPoisonBonus > 0)
                value += item.WeaponAttributes.ResistPoisonBonus / 2;

            if (item.WeaponAttributes.SelfRepair > 0)
                value += item.WeaponAttributes.SelfRepair * 2;

            if (item.WeaponAttributes.UseBestSkill > 0)
                value += 10;

            //Start standard attributes

            if (item.Attributes.AttackChance > 0)
                value += item.Attributes.AttackChance * 2;

            if (item.Attributes.BonusDex > 0)
                value += item.Attributes.BonusDex * 4;

            if (item.Attributes.BonusHits > 0)
                value += item.Attributes.BonusHits * 2;

            if (item.Attributes.BonusInt > 0)
                value += item.Attributes.BonusInt * 4;

            if (item.Attributes.BonusMana > 0)
                value += item.Attributes.BonusMana * 2;

            if (item.Attributes.BonusStam > 0)
                value += item.Attributes.BonusStam * 2;

            if (item.Attributes.BonusStr > 0)
                value += item.Attributes.BonusStr * 4;

            if (item.Attributes.CastRecovery > 0)
                value += item.Attributes.CastRecovery * 10;

            if (item.Attributes.CastSpeed > 0)
                value += item.Attributes.CastSpeed * 10;

            if (item.Attributes.DefendChance > 0)
                value += item.Attributes.DefendChance * 2;

            if (item.Attributes.EnhancePotions > 0)
                value += item.Attributes.EnhancePotions;

            if (item.Attributes.LowerManaCost > 0)
                value += item.Attributes.LowerManaCost * 2;

            if (item.Attributes.LowerRegCost > 0)
                value += item.Attributes.LowerRegCost;

            if (item.Attributes.Luck > 0)
                value += item.Attributes.Luck / 2;

            if (item.Attributes.NightSight > 0)
                value += 10;

            if (item.Attributes.ReflectPhysical > 0)
                value += item.Attributes.ReflectPhysical * 2;

            if (item.Attributes.RegenHits > 0)
                value += item.Attributes.RegenHits * 10;

            if (item.Attributes.RegenMana > 0)
                value += item.Attributes.RegenMana * 10;

            if (item.Attributes.RegenStam > 0)
                value += item.Attributes.RegenStam * 10;

            if (item.Attributes.SpellChanneling > 0)
                value += 10;

            if (item.Attributes.SpellDamage > 0)
                value += item.Attributes.SpellDamage * 2;

            if (item.Attributes.WeaponDamage > 0)
                value += item.Attributes.WeaponDamage * 2;

            if (item.Attributes.WeaponSpeed > 0)
                value += item.Attributes.WeaponSpeed * 2;

            //Start Absorption Attributes

            if (item.AbsorptionAttributes.CastingFocus > 0)
                value += item.AbsorptionAttributes.CastingFocus;

            if (item.AbsorptionAttributes.EaterCold > 0)
                value += item.AbsorptionAttributes.EaterCold;

            if (item.AbsorptionAttributes.EaterDamage > 0)
                value += item.AbsorptionAttributes.EaterDamage;

            if (item.AbsorptionAttributes.EaterEnergy > 0)
                value += item.AbsorptionAttributes.EaterEnergy;

            if (item.AbsorptionAttributes.EaterFire > 0)
                value += item.AbsorptionAttributes.EaterFire;

            if (item.AbsorptionAttributes.EaterKinetic > 0)
                value += item.AbsorptionAttributes.EaterKinetic;

            if (item.AbsorptionAttributes.EaterPoison > 0)
                value += item.AbsorptionAttributes.EaterPoison;

            if (item.AbsorptionAttributes.ResonanceCold > 0)
                value += item.AbsorptionAttributes.ResonanceCold;

            if (item.AbsorptionAttributes.ResonanceEnergy > 0)
                value += item.AbsorptionAttributes.ResonanceEnergy;

            if (item.AbsorptionAttributes.ResonanceFire > 0)
                value += item.AbsorptionAttributes.ResonanceFire;

            if (item.AbsorptionAttributes.ResonanceKinetic > 0)
                value += item.AbsorptionAttributes.ResonanceKinetic;

            if (item.AbsorptionAttributes.ResonancePoison > 0)
                value += item.AbsorptionAttributes.ResonancePoison;

            if (item.AbsorptionAttributes.SoulChargeCold > 0)
                value += item.AbsorptionAttributes.SoulChargeCold;

            if (item.AbsorptionAttributes.SoulChargeEnergy > 0)
                value += item.AbsorptionAttributes.SoulChargeEnergy;

            if (item.AbsorptionAttributes.SoulChargeFire > 0)
                value += item.AbsorptionAttributes.SoulChargeFire;

            if (item.AbsorptionAttributes.SoulChargeKinetic > 0)
                value += item.AbsorptionAttributes.SoulChargeKinetic;

            if (item.AbsorptionAttributes.SoulChargePoison > 0)
                value += item.AbsorptionAttributes.SoulChargePoison;

            //Start Element Damage

            if (item.AosElementDamages.Chaos > 0)
                value += item.AosElementDamages.Chaos / 2;

            if (item.AosElementDamages.Cold > 0)
                value += item.AosElementDamages.Cold / 2;

            if (item.AosElementDamages.Direct > 0)
                value += item.AosElementDamages.Direct / 2;

            if (item.AosElementDamages.Energy > 0)
                value += item.AosElementDamages.Energy / 2;

            if (item.AosElementDamages.Fire > 0)
                value += item.AosElementDamages.Fire / 2;

            if (item.AosElementDamages.Poison > 0)
                value += item.AosElementDamages.Poison / 2;
               
            return value;
        }
        #endregion
       
        public static string RarityNameMod(Item item, string orig)
        {
            return (string)(GetWeaponItemValue(item) + orig + "<BASEFONT COLOR=#FFFFFF>");
        }

    }
}
 
I just noticed this, not sure why I'm only now seeing this. It seems there is an empty space in front of item names so it isn't perfectly centered. Anyone have any idea what part of this colored items code would cause that? I've been reviewing it many times and checked the main item name props code below but I'm not sure...

Code:
        #region [Item Name Color]
        public override void AddNameProperty(ObjectPropertyList list)
        {
            string resourceName = CraftResources.GetName(m_Resource);

            if (string.IsNullOrEmpty(resourceName) || resourceName.ToLower() == "none" || resourceName.ToLower() == "normal" || resourceName.ToLower() == "iron")
                resourceName = "";

            list.Add(1053099, ItemNameHue.ArmorItemProps.RarityNameMod(this, ((m_Quality == ArmorQuality.Exceptional) ? "Exceptional" : "") + " {0}\t{1}"), resourceName, GetNameString());
           
            if (m_ReforgedPrefix != ReforgedPrefix.None || m_ReforgedSuffix != ReforgedSuffix.None)
            {
                if (m_ReforgedPrefix != ReforgedPrefix.None)
                {
                    int prefix = RunicReforging.GetPrefixName(m_ReforgedPrefix);

                    if (m_ReforgedSuffix == ReforgedSuffix.None)
                        list.Add(1151757, String.Format("#{0}\t{1}", prefix, GetNameString())); // ~1_PREFIX~ ~2_ITEM~
                    else
                        list.Add(1151756, String.Format("#{0}\t{1}\t#{2}", prefix, GetNameString(), RunicReforging.GetSuffixName(m_ReforgedSuffix))); // ~1_PREFIX~ ~2_ITEM~ of ~3_SUFFIX~
                }
                else if (m_ReforgedSuffix != ReforgedSuffix.None)
                    list.Add(1151758, String.Format("{0}\t#{1}", GetNameString(), RunicReforging.GetSuffixName(m_ReforgedSuffix))); // ~1_ITEM~ of ~2_SUFFIX~
            }

        }
        #endregion
[doublepost=1465447993][/doublepost]upload_2016-6-8_22-53-25.png
 
I am not sure, didnt test it or anything,
Code:
list.Add(1053099, ItemNameHue.ArmorItemProps.RarityNameMod(this, ((m_Quality == ArmorQuality.Exceptional)?"Exceptional":"")+" {0}\t{1}"), resourceName, GetNameString());
this will probably be the faulty step, you are adding an tab between resourceName and the item name even if resourceName is empty
 
I have had trouble making this work three times over the past week. The scripts referred to in the instructions do not look like the ones in the current version of ServUO. I am going to give this another go tonight and note what the differences are. I have used colored equipment names in the past so I know I can make this work! :)
 
@ Jay - If you need any files to compare against let me know and I can help as best as I can, I do know this does not work out of box easily, on one of my previous post on this thread i showed one of the errors you may run into and how to fix it.

@ Pyro - I did find the line you referenced and made the change in Basearmor, BaseCloth and BaseWeapon, withe result was the same as before and the space still existed.
 
is there a version you could zip up so I can take a direct look? skeleton or not. Would basically just need this change with one type of item to test it ;)
 
It's the same version that's up for download actually, the only difference is the color value and the fix that is applied in the previous page
 
So I did find part of the problem, still not as centered as I would like however apparently if you throw back in the 'IF ' statement to include the reforge suffix it adds a space, even if there is no reforge on the armor.
 
Just had a bit time and here is what I just then noticed ;)
Code:
"Exceptional":"")+" {0}\t{1}")
That will always add the spacing in case it is Exceptional so
Code:
"Exceptional ":"")+"{0}\t{1}")
Will make it so you get it more to the left and I actually think it is perfectly centered too but I didnt measure it
 
The scripts referred to in the instructions do not look like the ones in the current version of ServUO.
This is correct because Servuo is community driven and updated over time, things will change. These files work perfectly with the old publish 54 and I'd like to point out that it has been over a year since it was updated. Last Update: May 26, 2015

Other resources I've uploaded have become obsolete with the latest servUO. I'm not sure I have the drive to consistently keep them up to date and testing them to make sure they work as originally intended. People will just have to refer to the discussion section just like so many other scripts from/on runuo.

I understand people do not want to hear this but it doesn't make sense to update several resources every time they break because a community member got a commit pulled into the master repo. If demand is truly high enough I may consider a monthly update schedule.
 
Anyone know how can reapir this error?



Code:
Errors:
+ Items/Jewels/BaseJewel.cs:
    CS0103: Line 308: the name 'm_Quality' does not exist in the current context
    CS1061: Line 320: 'Server.Items.BaseJewel' no contiene una definición de 'm_TimesImbued' ni se encontró ningún método de extensión 'm_TimesImbued' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 321: 'Server.Items.BaseJewel' no contiene una definición de 'm_SAAbsorptionAttributes' ni se encontró ningún método de extensión 'm_SAAbsorptionAttributes' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 322: 'Server.Items.BaseJewel' no contiene una definición de 'm_BlessedBy' ni se encontró ningún método de extensión 'm_BlessedBy' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 323: 'Server.Items.BaseJewel' no contiene una definición de 'm_LastEquipped' ni se encontró ningún método de extensión 'm_LastEquipped' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 324: 'Server.Items.BaseJewel' no contiene una definición de 'm_SetEquipped' ni se encontró ningún método de extensión 'm_SetEquipped' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 325: 'Server.Items.BaseJewel' no contiene una definición de 'm_SetHue' ni se encontró ningún método de extensión 'm_SetHue' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 327: 'Server.Items.BaseJewel' no contiene una definición de 'm_SetAttributes' ni se encontró ningún método de extensión 'm_SetAttributes' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 328: 'Server.Items.BaseJewel' no contiene una definición de 'm_SetSkillBonuses' ni se encontró ningún método de extensión 'm_SetSkillBonuses' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 330: 'Server.Items.BaseJewel' no contiene una definición de 'm_Crafter' ni se encontró ningún método de extensión 'm_Crafter' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
    CS1061: Line 331: 'Server.Items.BaseJewel' no contiene una definición de 'm_Quality' ni se encontró ningún método de extensión 'm_Quality' que acepte un primer argumento de tipo 'Server.Items.BaseJewel' (¿falta una directiva using o una referencia de ensamblado?)
 
Last edited:
Does anyone know how to drop it down so the name stays yellow but does this upload_2016-8-14_19-4-58.png
[doublepost=1471218441][/doublepost]so i thought i could do it i guess not


Code:
list.Add(1053099,ItemNameHue.WeaponItemProps.RarityNameMod(this, ""));

and change this inside each indiviual thing and make it pop up under the name but i guess i was wrong

Code:
if (values >= 300)
					return "<BASEFONT COLOR=#FF8000>[Legendary]<BASEFONT COLOR=#FFFFFF>";
				else if (values >= 200)
					return "<BASEFONT COLOR=#A335EE>[Epic]<BASEFONT COLOR=#FFFFFF>";
				else if (values >= 100)
					return "<BASEFONT COLOR=#0070FF>[Rare}<BASEFONT COLOR=#FFFFFF>";
				else if (values >= 50)
					return "<BASEFONT COLOR=#1EFF00>[Uncommon]<BASEFONT COLOR=#FFFFFF>";

					return "<BASEFONT COLOR=#D6D6D6>[Common]<BASEFONT COLOR=#FFFFFF>";
				}

But hey its a start
[doublepost=1471230546][/doublepost]okay i got it figured out but only my basearmor is messed up now it does this

upload_2016-8-14_23-8-51.png

but everything else

upload_2016-8-14_23-9-11.png
would do it right?
 
Post your Basearmor and Baseweapon script so we can compare the working weapon version against the not working armor version, and also post your itemcolor prop scripts for comparison as well , its hard to guess what the issue could be without the code. just sayin :)
 
here is my base weapon & base armor
[doublepost=1471295988][/doublepost]and on some of my clothing items the item name is messed up. for some reason
upload_2016-8-15_17-19-58.png
[doublepost=1471296679][/doublepost]I figured it out just took me a minute :p
[doublepost=1471296952][/doublepost]Okay now when i rename the item it moves up the blessed up to where the name was. .-.
 

Attachments

  • BaseWeapon.cs
    144.1 KB · Views: 31
  • BaseArmor.cs
    110 KB · Views: 26
@ MondainsTriumph - for documentation on the thread would you mind sharing your final scripts to get the desired results? :) I know some people may find that kind of information useful.
 
ill share base armor cause its pretty much the same thing between all of the bases
Code:
		public override void AddNameProperty(ObjectPropertyList list)
		{
			int oreType;

			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;
					break; // red
				case CraftResource.YellowScales:
					oreType = 1060818;
					break; // yellow
				case CraftResource.BlackScales:
					oreType = 1060820;
					break; // black
				case CraftResource.GreenScales:
					oreType = 1060819;
					break; // green
				case CraftResource.WhiteScales:
					oreType = 1060821;
					break; // white
				case CraftResource.BlueScales:
					oreType = 1060815;
					break; // blue

					#region Mondain's Legacy
				case CraftResource.OakWood:
					oreType = 1072533;
					break; // oak
				case CraftResource.AshWood:
					oreType = 1072534;
					break; // ash
				case CraftResource.YewWood:
					oreType = 1072535;
					break; // yew
				case CraftResource.Heartwood:
					oreType = 1072536;
					break; // heartwood
				case CraftResource.Bloodwood:
					oreType = 1072538;
					break; // bloodwood
				case CraftResource.Frostwood:
					oreType = 1072539;
					break; // frostwood
					#endregion

				default:
					oreType = 0;
					break;
			}

            /* if (m_ReforgedPrefix != ReforgedPrefix.None || m_ReforgedSuffix != ReforgedSuffix.None)
            {
                if (m_ReforgedPrefix != ReforgedPrefix.None)
                {
                    int prefix = RunicReforging.GetPrefixName(m_ReforgedPrefix);

                    if (m_ReforgedSuffix == ReforgedSuffix.None)
                        list.Add(1151757, String.Format("#{0}\t{1}", prefix, GetNameString())); // ~1_PREFIX~ ~2_ITEM~
                    else
                        list.Add(1151756, String.Format("#{0}\t{1}\t#{2}", prefix, GetNameString(), RunicReforging.GetSuffixName(m_ReforgedSuffix))); // ~1_PREFIX~ ~2_ITEM~ of ~3_SUFFIX~
                }
                else if (m_ReforgedSuffix != ReforgedSuffix.None)
                    list.Add(1151758, String.Format("{0}\t#{1}", GetNameString(), RunicReforging.GetSuffixName(m_ReforgedSuffix))); // ~1_ITEM~ of ~2_SUFFIX~
            }
			if (oreType != 0)
			{
				list.Add(1053099, "#{0}\t{1}", oreType, GetNameString()); // ~1_oretype~ ~2_armortype~
            } */
            /*#region High Seas
            if (m_SearingWeapon)
            {
                list.Add(1151318, String.Format("#{0}", LabelNumber));
            }
            #endregion*/
			
			list.Add(GetNameString());
             if (Name == null)
            {
                list.Add(LabelNumber);
            }
            else
            {
				//list.Add(1053099, "{0}", this.GetNameString());
                list.Add(GetNameString());
				//list.Add(1053099, "#{0}\t{1}", oreType, GetNameString()); // ~1_oretype~ ~2_armortype~
            }

			/*
            * Want to move this to the engraving tool, let the non-harmful 
            * formatting show, and remove CLILOCs embedded: more like OSI
            * did with the books that had markup, etc.
            * 
            * This will have a negative effect on a few event things imgame 
            * as is.
            * 
            * If we cant find a more OSI-ish way to clean it up, we can 
            * easily put this back, and use it in the deserialize
            * method and engraving tool, to make it perm cleaned up.
           

			if (!String.IsNullOrEmpty(m_EngravedText))
			{
				list.Add(1062613, m_EngravedText);
			}
			 list.Add( 1062613, Utility.FixHtml( m_EngravedText ) ); */
		}

Then Under GetProperties(ObjectPropertyList list)

Code:
			#region [Item Name Color]
            int value = ItemNameHue.ArmorItemProps.CheckArmor(this);
			list.Add(1042971,ItemNameHue.ArmorItemProps.RarityLevelMod(this));
            #endregion


then this is the ArmorItemProps.cs
Code:
using System;
using Server.Mobiles;
using Server.Targeting;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;

namespace ItemNameHue
{
    public class ArmorItemProps
    {
		#region Armor
        public static string GetArmorItemValue(Item item)
        {
				bool useartifactrarity = false;
		
				BaseArmor ba = item as BaseArmor;
				int values = CheckArmor(ba);
				int rarityvalues = CheckArtifactArmor(ba);
				
				if (useartifactrarity && rarityvalues >= 1)
				{
				if (rarityvalues >= 4)
                    return "<BASEFONT COLOR=#FFFF00>";
                else if (rarityvalues >= 3)
                    return "<BASEFONT COLOR=#00FFFF>";
                else if (rarityvalues >= 2)
                    return "<BASEFONT COLOR=#00FF00>";
                else if (rarityvalues >= 1)
                    return "<BASEFONT COLOR=#FFFFFF>";
					
					return "<BASEFONT COLOR=#D6D6D6>";
				}
				/* {
				if (values >= 300)
					return "<BASEFONT COLOR=#FF944D>";
				else if (values >= 200)
					return "<BASEFONT COLOR=#B48FFF>";
				else if (values >= 100)
					return "<BASEFONT COLOR=#8DBAE8>";
				else if (values >= 50)
					return "<BASEFONT COLOR=#A1E68A>";

					return "<BASEFONT COLOR=#D6D6D6>";
				} */
				if (values >= 250)
					return "<BASEFONT COLOR=#FF8000>[Legendary]";
				else if (values >= 175)
					return "<BASEFONT COLOR=#A335EE>[Epic]";
				else if (values >= 75)
					return "<BASEFONT COLOR=#0070FF>[Rare]";
				else if (values >= 25)
					return "<BASEFONT COLOR=#1EFF00>[Uncommon]";

					return "<BASEFONT COLOR=#D6D6D6>[Common]";
        }
		
		public static int CheckArtifactArmor(BaseArmor item)
		{
				int rarityvalue = 0;
		
				if (item.ArtifactRarity <= 30)
                    rarityvalue = 4;

                if (item.ArtifactRarity <= 20)
                    rarityvalue = 3;

                if (item.ArtifactRarity <= 10)
                    rarityvalue = 2;

                if (item.ArtifactRarity <= 1)
                    rarityvalue = 1;
				
				if (item.ArtifactRarity < 1)
                    rarityvalue = 0;
					
				return rarityvalue;
		
		}

        public static int CheckArmor(BaseArmor item)
        {
            int value = 0;

            foreach (int i in Enum.GetValues(typeof(AosAttribute)))
            {
                if (item != null && item.Attributes[(AosAttribute)i] > 0)
                    value += 2;
            }
			
			foreach (int i in Enum.GetValues(typeof(AosArmorAttribute)))
            {
                if (item.ArmorAttributes[(AosArmorAttribute)i] > 0)
                    value += 2;
            }

            if (item.SkillBonuses.Skill_1_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_1_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_2_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_2_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_3_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_3_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_4_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_4_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_5_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_5_Value * 4;
                value += 2;
            }

            //Start armor attributes

            if (item.ArmorAttributes.DurabilityBonus > 0)
                value += item.ArmorAttributes.DurabilityBonus / 4;

            if (item.ArmorAttributes.LowerStatReq > 0)
                value += item.ArmorAttributes.LowerStatReq / 4;

            if (item.ArmorAttributes.MageArmor > 0)
                value += 10;

            if (item.ArmorAttributes.SelfRepair > 0)
                value += item.ArmorAttributes.SelfRepair * 2;

            //Start standard attributes

            if (item.Attributes.AttackChance > 0)
                value += item.Attributes.AttackChance * 2;

            if (item.Attributes.BonusDex > 0)
                value += item.Attributes.BonusDex * 4;

            if (item.Attributes.BonusHits > 0)
                value += item.Attributes.BonusHits * 2;

            if (item.Attributes.BonusInt > 0)
                value += item.Attributes.BonusInt * 4;

            if (item.Attributes.BonusMana > 0)
                value += item.Attributes.BonusMana * 2;

            if (item.Attributes.BonusStam > 0)
                value += item.Attributes.BonusStam * 2;

            if (item.Attributes.BonusStr > 0)
                value += item.Attributes.BonusStr * 4;

            if (item.Attributes.CastRecovery > 0)
                value += item.Attributes.CastRecovery * 10;

            if (item.Attributes.CastSpeed > 0)
                value += item.Attributes.CastSpeed * 10;

            if (item.Attributes.DefendChance > 0)
                value += item.Attributes.DefendChance * 2;

            if (item.Attributes.EnhancePotions > 0)
                value += item.Attributes.EnhancePotions;

            if (item.Attributes.LowerManaCost > 0)
                value += item.Attributes.LowerManaCost * 2;

            if (item.Attributes.LowerRegCost > 0)
                value += item.Attributes.LowerRegCost;

            if (item.Attributes.Luck > 0)
                value += item.Attributes.Luck / 2;

            if (item.Attributes.NightSight > 0)
                value += 10;

            if (item.Attributes.ReflectPhysical > 0)
                value += item.Attributes.ReflectPhysical * 2;

            if (item.Attributes.RegenHits > 0)
                value += item.Attributes.RegenHits * 10;

            if (item.Attributes.RegenMana > 0)
                value += item.Attributes.RegenMana * 10;

            if (item.Attributes.RegenStam > 0)
                value += item.Attributes.RegenStam * 10;

            if (item.Attributes.SpellChanneling > 0)
                value += 10;

            if (item.Attributes.SpellDamage > 0)
                value += item.Attributes.SpellDamage * 2;

            if (item.Attributes.WeaponDamage > 0)
                value += item.Attributes.WeaponDamage * 2;

            if (item.Attributes.WeaponSpeed > 0)
                value += item.Attributes.WeaponSpeed * 2;

            //Start Absorption Attributes

            if (item.AbsorptionAttributes.CastingFocus > 0)
                value += item.AbsorptionAttributes.CastingFocus;

            if (item.AbsorptionAttributes.EaterCold > 0)
                value += item.AbsorptionAttributes.EaterCold;

            if (item.AbsorptionAttributes.EaterDamage > 0)
                value += item.AbsorptionAttributes.EaterDamage;

            if (item.AbsorptionAttributes.EaterEnergy > 0)
                value += item.AbsorptionAttributes.EaterEnergy;

            if (item.AbsorptionAttributes.EaterFire > 0)
                value += item.AbsorptionAttributes.EaterFire;

            if (item.AbsorptionAttributes.EaterKinetic > 0)
                value += item.AbsorptionAttributes.EaterKinetic;

            if (item.AbsorptionAttributes.EaterPoison > 0)
                value += item.AbsorptionAttributes.EaterPoison;

            if (item.AbsorptionAttributes.ResonanceCold > 0)
                value += item.AbsorptionAttributes.ResonanceCold;

            if (item.AbsorptionAttributes.ResonanceEnergy > 0)
                value += item.AbsorptionAttributes.ResonanceEnergy;

            if (item.AbsorptionAttributes.ResonanceFire > 0)
                value += item.AbsorptionAttributes.ResonanceFire;

            if (item.AbsorptionAttributes.ResonanceKinetic > 0)
                value += item.AbsorptionAttributes.ResonanceKinetic;

            if (item.AbsorptionAttributes.ResonancePoison > 0)
                value += item.AbsorptionAttributes.ResonancePoison;

            if (item.AbsorptionAttributes.SoulChargeCold > 0)
                value += item.AbsorptionAttributes.SoulChargeCold;

            if (item.AbsorptionAttributes.SoulChargeEnergy > 0)
                value += item.AbsorptionAttributes.SoulChargeEnergy;

            if (item.AbsorptionAttributes.SoulChargeFire > 0)
                value += item.AbsorptionAttributes.SoulChargeFire;

            if (item.AbsorptionAttributes.SoulChargeKinetic > 0)
                value += item.AbsorptionAttributes.SoulChargeKinetic;

            if (item.AbsorptionAttributes.SoulChargePoison > 0)
                value += item.AbsorptionAttributes.SoulChargePoison;

            //Start Resist Bonus

            if (item.ColdBonus > 0)
            {
                value += item.ColdBonus * 2;
                value += 2;
            }

            if (item.EnergyBonus > 0)
            {
                value += item.EnergyBonus * 2;
                value += 2;
            }

            if (item.FireBonus > 0)
            {
                value += item.FireBonus * 2;
                value += 2;
            }

            if (item.PhysicalBonus > 0)
            {
                value += item.PhysicalBonus * 2;
                value += 2;
            }

            if (item.PoisonBonus > 0)
            {
                value += item.PoisonBonus * 2;
                value += 2;
            }
				
			return value;
        }
		#endregion
		
		public static string RarityLevelMod(Item item)
		{
			return (string)(GetArmorItemValue(item) + "<BASEFONT COLOR=#FFFFFF>");
		}
		
		
		public static string RarityNameMod(Item item, string orig)
        {
            return (string)(GetArmorItemValue(item) + orig + "<BASEFONT COLOR=#FFFFFF>");
        }

    }
}
 
ill share base armor cause its pretty much the same thing between all of the bases
Code:
		public override void AddNameProperty(ObjectPropertyList list)
		{
			int oreType;

			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;
					break; // red
				case CraftResource.YellowScales:
					oreType = 1060818;
					break; // yellow
				case CraftResource.BlackScales:
					oreType = 1060820;
					break; // black
				case CraftResource.GreenScales:
					oreType = 1060819;
					break; // green
				case CraftResource.WhiteScales:
					oreType = 1060821;
					break; // white
				case CraftResource.BlueScales:
					oreType = 1060815;
					break; // blue

					#region Mondain's Legacy
				case CraftResource.OakWood:
					oreType = 1072533;
					break; // oak
				case CraftResource.AshWood:
					oreType = 1072534;
					break; // ash
				case CraftResource.YewWood:
					oreType = 1072535;
					break; // yew
				case CraftResource.Heartwood:
					oreType = 1072536;
					break; // heartwood
				case CraftResource.Bloodwood:
					oreType = 1072538;
					break; // bloodwood
				case CraftResource.Frostwood:
					oreType = 1072539;
					break; // frostwood
					#endregion

				default:
					oreType = 0;
					break;
			}

            /* if (m_ReforgedPrefix != ReforgedPrefix.None || m_ReforgedSuffix != ReforgedSuffix.None)
            {
                if (m_ReforgedPrefix != ReforgedPrefix.None)
                {
                    int prefix = RunicReforging.GetPrefixName(m_ReforgedPrefix);

                    if (m_ReforgedSuffix == ReforgedSuffix.None)
                        list.Add(1151757, String.Format("#{0}\t{1}", prefix, GetNameString())); // ~1_PREFIX~ ~2_ITEM~
                    else
                        list.Add(1151756, String.Format("#{0}\t{1}\t#{2}", prefix, GetNameString(), RunicReforging.GetSuffixName(m_ReforgedSuffix))); // ~1_PREFIX~ ~2_ITEM~ of ~3_SUFFIX~
                }
                else if (m_ReforgedSuffix != ReforgedSuffix.None)
                    list.Add(1151758, String.Format("{0}\t#{1}", GetNameString(), RunicReforging.GetSuffixName(m_ReforgedSuffix))); // ~1_ITEM~ of ~2_SUFFIX~
            }
			if (oreType != 0)
			{
				list.Add(1053099, "#{0}\t{1}", oreType, GetNameString()); // ~1_oretype~ ~2_armortype~
            } */
            /*#region High Seas
            if (m_SearingWeapon)
            {
                list.Add(1151318, String.Format("#{0}", LabelNumber));
            }
            #endregion*/
			
			list.Add(GetNameString());
             if (Name == null)
            {
                list.Add(LabelNumber);
            }
            else
            {
				//list.Add(1053099, "{0}", this.GetNameString());
                list.Add(GetNameString());
				//list.Add(1053099, "#{0}\t{1}", oreType, GetNameString()); // ~1_oretype~ ~2_armortype~
            }

			/*
            * Want to move this to the engraving tool, let the non-harmful
            * formatting show, and remove CLILOCs embedded: more like OSI
            * did with the books that had markup, etc.
            *
            * This will have a negative effect on a few event things imgame
            * as is.
            *
            * If we cant find a more OSI-ish way to clean it up, we can
            * easily put this back, and use it in the deserialize
            * method and engraving tool, to make it perm cleaned up.
     

			if (!String.IsNullOrEmpty(m_EngravedText))
			{
				list.Add(1062613, m_EngravedText);
			}
			 list.Add( 1062613, Utility.FixHtml( m_EngravedText ) ); */
		}

Then Under GetProperties(ObjectPropertyList list)

Code:
			#region [Item Name Color]
            int value = ItemNameHue.ArmorItemProps.CheckArmor(this);
			list.Add(1042971,ItemNameHue.ArmorItemProps.RarityLevelMod(this));
            #endregion


then this is the ArmorItemProps.cs
Code:
using System;
using Server.Mobiles;
using Server.Targeting;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;

namespace ItemNameHue
{
    public class ArmorItemProps
    {
		#region Armor
        public static string GetArmorItemValue(Item item)
        {
				bool useartifactrarity = false;
		
				BaseArmor ba = item as BaseArmor;
				int values = CheckArmor(ba);
				int rarityvalues = CheckArtifactArmor(ba);
				
				if (useartifactrarity && rarityvalues >= 1)
				{
				if (rarityvalues >= 4)
                    return "<BASEFONT COLOR=#FFFF00>";
                else if (rarityvalues >= 3)
                    return "<BASEFONT COLOR=#00FFFF>";
                else if (rarityvalues >= 2)
                    return "<BASEFONT COLOR=#00FF00>";
                else if (rarityvalues >= 1)
                    return "<BASEFONT COLOR=#FFFFFF>";
					
					return "<BASEFONT COLOR=#D6D6D6>";
				}
				/* {
				if (values >= 300)
					return "<BASEFONT COLOR=#FF944D>";
				else if (values >= 200)
					return "<BASEFONT COLOR=#B48FFF>";
				else if (values >= 100)
					return "<BASEFONT COLOR=#8DBAE8>";
				else if (values >= 50)
					return "<BASEFONT COLOR=#A1E68A>";

					return "<BASEFONT COLOR=#D6D6D6>";
				} */
				if (values >= 250)
					return "<BASEFONT COLOR=#FF8000>[Legendary]";
				else if (values >= 175)
					return "<BASEFONT COLOR=#A335EE>[Epic]";
				else if (values >= 75)
					return "<BASEFONT COLOR=#0070FF>[Rare]";
				else if (values >= 25)
					return "<BASEFONT COLOR=#1EFF00>[Uncommon]";

					return "<BASEFONT COLOR=#D6D6D6>[Common]";
        }
		
		public static int CheckArtifactArmor(BaseArmor item)
		{
				int rarityvalue = 0;
		
				if (item.ArtifactRarity <= 30)
                    rarityvalue = 4;

                if (item.ArtifactRarity <= 20)
                    rarityvalue = 3;

                if (item.ArtifactRarity <= 10)
                    rarityvalue = 2;

                if (item.ArtifactRarity <= 1)
                    rarityvalue = 1;
				
				if (item.ArtifactRarity < 1)
                    rarityvalue = 0;
					
				return rarityvalue;
		
		}

        public static int CheckArmor(BaseArmor item)
        {
            int value = 0;

            foreach (int i in Enum.GetValues(typeof(AosAttribute)))
            {
                if (item != null && item.Attributes[(AosAttribute)i] > 0)
                    value += 2;
            }
			
			foreach (int i in Enum.GetValues(typeof(AosArmorAttribute)))
            {
                if (item.ArmorAttributes[(AosArmorAttribute)i] > 0)
                    value += 2;
            }

            if (item.SkillBonuses.Skill_1_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_1_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_2_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_2_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_3_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_3_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_4_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_4_Value * 4;
                value += 2;
            }

            if (item.SkillBonuses.Skill_5_Value > 0)
            {
                value += (int)item.SkillBonuses.Skill_5_Value * 4;
                value += 2;
            }

            //Start armor attributes

            if (item.ArmorAttributes.DurabilityBonus > 0)
                value += item.ArmorAttributes.DurabilityBonus / 4;

            if (item.ArmorAttributes.LowerStatReq > 0)
                value += item.ArmorAttributes.LowerStatReq / 4;

            if (item.ArmorAttributes.MageArmor > 0)
                value += 10;

            if (item.ArmorAttributes.SelfRepair > 0)
                value += item.ArmorAttributes.SelfRepair * 2;

            //Start standard attributes

            if (item.Attributes.AttackChance > 0)
                value += item.Attributes.AttackChance * 2;

            if (item.Attributes.BonusDex > 0)
                value += item.Attributes.BonusDex * 4;

            if (item.Attributes.BonusHits > 0)
                value += item.Attributes.BonusHits * 2;

            if (item.Attributes.BonusInt > 0)
                value += item.Attributes.BonusInt * 4;

            if (item.Attributes.BonusMana > 0)
                value += item.Attributes.BonusMana * 2;

            if (item.Attributes.BonusStam > 0)
                value += item.Attributes.BonusStam * 2;

            if (item.Attributes.BonusStr > 0)
                value += item.Attributes.BonusStr * 4;

            if (item.Attributes.CastRecovery > 0)
                value += item.Attributes.CastRecovery * 10;

            if (item.Attributes.CastSpeed > 0)
                value += item.Attributes.CastSpeed * 10;

            if (item.Attributes.DefendChance > 0)
                value += item.Attributes.DefendChance * 2;

            if (item.Attributes.EnhancePotions > 0)
                value += item.Attributes.EnhancePotions;

            if (item.Attributes.LowerManaCost > 0)
                value += item.Attributes.LowerManaCost * 2;

            if (item.Attributes.LowerRegCost > 0)
                value += item.Attributes.LowerRegCost;

            if (item.Attributes.Luck > 0)
                value += item.Attributes.Luck / 2;

            if (item.Attributes.NightSight > 0)
                value += 10;

            if (item.Attributes.ReflectPhysical > 0)
                value += item.Attributes.ReflectPhysical * 2;

            if (item.Attributes.RegenHits > 0)
                value += item.Attributes.RegenHits * 10;

            if (item.Attributes.RegenMana > 0)
                value += item.Attributes.RegenMana * 10;

            if (item.Attributes.RegenStam > 0)
                value += item.Attributes.RegenStam * 10;

            if (item.Attributes.SpellChanneling > 0)
                value += 10;

            if (item.Attributes.SpellDamage > 0)
                value += item.Attributes.SpellDamage * 2;

            if (item.Attributes.WeaponDamage > 0)
                value += item.Attributes.WeaponDamage * 2;

            if (item.Attributes.WeaponSpeed > 0)
                value += item.Attributes.WeaponSpeed * 2;

            //Start Absorption Attributes

            if (item.AbsorptionAttributes.CastingFocus > 0)
                value += item.AbsorptionAttributes.CastingFocus;

            if (item.AbsorptionAttributes.EaterCold > 0)
                value += item.AbsorptionAttributes.EaterCold;

            if (item.AbsorptionAttributes.EaterDamage > 0)
                value += item.AbsorptionAttributes.EaterDamage;

            if (item.AbsorptionAttributes.EaterEnergy > 0)
                value += item.AbsorptionAttributes.EaterEnergy;

            if (item.AbsorptionAttributes.EaterFire > 0)
                value += item.AbsorptionAttributes.EaterFire;

            if (item.AbsorptionAttributes.EaterKinetic > 0)
                value += item.AbsorptionAttributes.EaterKinetic;

            if (item.AbsorptionAttributes.EaterPoison > 0)
                value += item.AbsorptionAttributes.EaterPoison;

            if (item.AbsorptionAttributes.ResonanceCold > 0)
                value += item.AbsorptionAttributes.ResonanceCold;

            if (item.AbsorptionAttributes.ResonanceEnergy > 0)
                value += item.AbsorptionAttributes.ResonanceEnergy;

            if (item.AbsorptionAttributes.ResonanceFire > 0)
                value += item.AbsorptionAttributes.ResonanceFire;

            if (item.AbsorptionAttributes.ResonanceKinetic > 0)
                value += item.AbsorptionAttributes.ResonanceKinetic;

            if (item.AbsorptionAttributes.ResonancePoison > 0)
                value += item.AbsorptionAttributes.ResonancePoison;

            if (item.AbsorptionAttributes.SoulChargeCold > 0)
                value += item.AbsorptionAttributes.SoulChargeCold;

            if (item.AbsorptionAttributes.SoulChargeEnergy > 0)
                value += item.AbsorptionAttributes.SoulChargeEnergy;

            if (item.AbsorptionAttributes.SoulChargeFire > 0)
                value += item.AbsorptionAttributes.SoulChargeFire;

            if (item.AbsorptionAttributes.SoulChargeKinetic > 0)
                value += item.AbsorptionAttributes.SoulChargeKinetic;

            if (item.AbsorptionAttributes.SoulChargePoison > 0)
                value += item.AbsorptionAttributes.SoulChargePoison;

            //Start Resist Bonus

            if (item.ColdBonus > 0)
            {
                value += item.ColdBonus * 2;
                value += 2;
            }

            if (item.EnergyBonus > 0)
            {
                value += item.EnergyBonus * 2;
                value += 2;
            }

            if (item.FireBonus > 0)
            {
                value += item.FireBonus * 2;
                value += 2;
            }

            if (item.PhysicalBonus > 0)
            {
                value += item.PhysicalBonus * 2;
                value += 2;
            }

            if (item.PoisonBonus > 0)
            {
                value += item.PoisonBonus * 2;
                value += 2;
            }
				
			return value;
        }
		#endregion
		
		public static string RarityLevelMod(Item item)
		{
			return (string)(GetArmorItemValue(item) + "<BASEFONT COLOR=#FFFFFF>");
		}
		
		
		public static string RarityNameMod(Item item, string orig)
        {
            return (string)(GetArmorItemValue(item) + orig + "<BASEFONT COLOR=#FFFFFF>");
        }

    }
}

Looks good will see what i can't get done! Would be nice to see your full scripts if you could upload them! That way we can compare scripts to yours an see what all changes you made etc! So if you get time and would not mind posting them i am pretty sure we would all appreciate it!

Thank you once again for your release!
 
Last edited:
Back