public override void GetProperties( ObjectPropertyList list ) { base.GetProperties( list ); int prop; string amttouse = null; if ( m_Quality == WeaponQuality.Exceptional ) list.Add( 1062613, "of the finest Quality"); if ( m_Crafter != null ) list.Add( 1050043, m_Crafter.Name ); if ( ArtifactRarity > 0 ) list.Add( 1061078, ArtifactRarity.ToString() ); if ( m_FactionState != null ) list.Add( 1041350 ); if( m_Slayer != SlayerName.None ) { SlayerEntry entry = SlayerGroup.GetEntryByName( m_Slayer ); if( entry != null ) list.Add( entry.Title ); } if( m_Slayer2 != SlayerName.None ) { SlayerEntry entry = SlayerGroup.GetEntryByName( m_Slayer2 ); if( entry != null ) list.Add( entry.Title ); } list.Add( 1061168, "{0}\t{1}", MinDamage.ToString(), MaxDamage.ToString() ); int phys, fire, cold, pois, nrgy; GetDamageTypes( null, out phys, out fire, out cold, out pois, out nrgy ); if ( phys != 0 ) list.Add( 1060403, phys.ToString() ); if ( fire != 0 ) list.Add( 1060405, fire.ToString() ); if ( cold != 0 ) list.Add( 1060404, cold.ToString() ); if ( pois != 0 ) list.Add( 1060406, pois.ToString() ); if ( nrgy != 0 ) list.Add( 1060407, nrgy.ToString() ); if (Speed > 50) list.Add( 1061167, "Lightning" ); else if (Speed > 45) list.Add( 1061167, "Frenzied" ); else if (Speed > 40) list.Add( 1061167, "Furious" ); else if (Speed > 35) list.Add( 1061167, "Fast" ); else if (Speed > 30) list.Add( 1061167, "Better" ); else if (Speed > 25) list.Add( 1061167, "Moderate" ); else if (Speed > 20) list.Add( 1061167, "Decent" ); else if (Speed > 15) list.Add( 1061167, "So So" ); else if (Speed > 10) list.Add( 1061167, "Slow" ); else if (Speed > 5) list.Add( 1061167, "Tortoise" ); else list.Add( 1061167, "Snail" ); if ( MaxRange >= 16 ) list.Add( 1061169, "Distant" ); else if ( MaxRange >= 12 ) list.Add( 1061169, "Far" ); else if ( MaxRange >= 10 ) list.Add( 1061169, "Average" ); else if ( MaxRange >= 8 ) list.Add( 1061169, "Decent" ); else if ( MaxRange >= 6 ) list.Add( 1061169, "Short" ); else if ( MaxRange >= 1 ) list.Add( 1061169, "Close" ); if ( Layer == Layer.TwoHanded ) list.Add( 1061171 ); else list.Add( 1061824 ); if ( m_AosWeaponAttributes.UseBestSkill == 0 ) list.Add("Skill Required: {0}", Convert.ToString(Skill)); if ( (prop = m_AosWeaponAttributes.UseBestSkill) != 0 ) list.Add( 1060400 ); if ( (prop = m_AosWeaponAttributes.MageWeapon) != 0 ) list.Add( 1060438, (30 - prop).ToString() ); int strReq = AOS.Scale( StrRequirement, 100 - GetLowerStatReq() ); if ( strReq > 0 ) list.Add( 1061170, strReq.ToString() ); if( RequiredRace == Race.Elf ) list.Add( 1075086 ); if ( m_Poison != null && m_PoisonCharges > 0 ) list.Add( 1062412 + m_Poison.Level, m_PoisonCharges.ToString() ); if ( this is IUsesRemaining && ((IUsesRemaining)this).ShowUsesRemaining ) list.Add( 1060584, ((IUsesRemaining)this).UsesRemaining.ToString() ); if ( m_Hits >= 0 && m_MaxHits > 0 ) list.Add( 1060639, "{0}\t{1}", m_Hits, m_MaxHits ); list.Add( 1060659, "Bonuses \t{0}", "Enhancements" ); if ( (prop = m_AosWeaponAttributes.SelfRepair) != 0 ) { if (prop >= 6) list.Add( 1063483, "I Absorb\t{0} Damage", "Brutal"); else if (prop == 5) list.Add( 1063483, "I Absorb\t{0} Damage", "Punishing"); else if (prop == 4) list.Add( 1063483, "I Absorb\t{0} Damage", "Heavy"); else if (prop == 3) list.Add( 1063483, "I Absorb\t{0} Damage", "Moderate"); else if (prop == 2) list.Add( 1063483, "I Absorb\t{0} Damage", "Light"); else list.Add( 1063483, "I Absorb\t{0} Damage", "a Little"); } if ( (prop = (GetHitChanceBonus() + m_AosAttributes.AttackChance) ) != 0 ) { int plusbon = (int)((GetHitChanceBonus() + m_AosAttributes.AttackChance - 0.01)/10 ) +1; list.Add( 1060847, "+\t{0} to Attack", Convert.ToString(plusbon)); } if ( (prop = m_AosAttributes.DefendChance) != 0 ) { int plusbon2 = (int)((m_AosAttributes.DefendChance - 0.01)/10 )+1; list.Add( 1076228, "+\t{0} to Defend", Convert.ToString(plusbon2)); } if ( (prop = (GetDamageBonus() + m_AosAttributes.WeaponDamage)) != 0 ) { if (prop >= 100) list.Add( 1060658, "Weapon Damage \t{0} ", "Yippee-ki-yay, **"); // Yippee-ki-yay else if (prop >= 90) list.Add( 1060658, "Weapon Damage \t{0} ", "Terminating"); // Terminating else if (prop >= 80) list.Add( 1060658, "Weapon Damage \t{0} ", "Obliterating"); // Obliterating else if (prop >= 70) list.Add( 1060658, "Weapon Damage \t{0} ", "Slaying"); // Slaying else if (prop >= 60) list.Add( 1060658, "Weapon Damage \t{0} ", "Destroyer"); // Dominator else if (prop >= 50) list.Add( 1060658, "Weapon Damage \t{0} ", "Vanq"); // Punisher else if (prop >= 40) list.Add( 1060658, "Weapon Damage \t{0} ", "Power"); // Heroic else if (prop >= 30) list.Add( 1060658, "Weapon Damage \t{0} ", "Force"); // Lordly else if (prop >= 20) list.Add( 1060658, "Weapon Damage \t{0} ", "Might"); // Supreme else if (prop >= 10) list.Add( 1060658, "Weapon Damage \t{0} ", "Ruin"); // Destroyer else list.Add( 1060658, "Weapon Damage \t{0} ", "Fierce"); } if ( (prop = m_AosAttributes.WeaponSpeed) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060486, amttouse ); } if ( (prop = m_AosAttributes.ReflectPhysical) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060442, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitLowerAttack) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060424, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitLowerDefend) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060425, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitHarm) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060421, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitFireball) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060420, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitMagicArrow) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060426, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitLightning) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060423, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitPhysicalArea) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060428, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitFireArea) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060419, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitColdArea) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060416, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitPoisonArea) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060429, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitEnergyArea) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060418, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitLeechHits) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060422, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitLeechMana) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060427, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitLeechStam) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060430, amttouse ); } if ( (prop = m_AosWeaponAttributes.HitDispel) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060417, amttouse ); } if ( (prop = m_AosAttributes.BonusStr) != 0 ) { if (prop > 10) list.Add( 1060485, "Godly" ); else if (prop > 8) list.Add( 1060485, "Supreme" ); else if (prop > 6) list.Add( 1060485, "Great" ); else if (prop > 4) list.Add( 1060485, "High" ); else if (prop > 2) list.Add( 1060485, "Moderate" ); else list.Add( 1060485, "Low" ); } if ( (prop = m_AosAttributes.BonusInt) != 0 ) { if (prop > 10) list.Add( 1060432, "Godly" ); else if (prop > 8) list.Add( 1060432, "Supreme" ); else if (prop > 6) list.Add( 1060432, "Great" ); else if (prop > 4) list.Add( 1060432, "High" ); else if (prop > 2) list.Add( 1060432, "Moderate" ); else list.Add( 1060432, "Low" ); } if ( (prop = m_AosAttributes.BonusDex) != 0 ) { if (prop > 10) list.Add( 1060409, "Godly" ); else if (prop > 8) list.Add( 1060409, "Supreme" ); else if (prop > 6) list.Add( 1060409, "Great" ); else if (prop > 4) list.Add( 1060409, "High" ); else if (prop > 2) list.Add( 1060409, "Moderate" ); else list.Add( 1060409, "Low" ); } if ( (prop = m_AosAttributes.BonusHits) != 0 ) { if (prop > 20) list.Add( 1060431, "Godly" ); else if (prop > 16) list.Add( 1060431, "Supreme" ); else if (prop > 12) list.Add( 1060431, "Great" ); else if (prop > 8) list.Add( 1060431, "High" ); else if (prop > 4) list.Add( 1060431, "Moderate" ); else list.Add( 1060431, "Low" ); } if ( (prop = m_AosAttributes.BonusMana) != 0 ) { if (prop > 20) list.Add( 1060439, "Godly" ); else if (prop > 16) list.Add( 1060439, "Supreme" ); else if (prop > 12) list.Add( 1060439, "Great" ); else if (prop > 8) list.Add( 1060439, "High" ); else if (prop > 4) list.Add( 1060439, "Moderate" ); else list.Add( 1060439, "Low" ); } if ( (prop = m_AosAttributes.BonusStam) != 0 ) { if (prop > 20) list.Add( 1060484, "Godly" ); else if (prop > 16) list.Add( 1060484, "Supreme" ); else if (prop > 12) list.Add( 1060484, "Great" ); else if (prop > 8) list.Add( 1060484, "High" ); else if (prop > 4) list.Add( 1060484, "Moderate" ); else list.Add( 1060484, "Low" ); } if ( (prop = m_AosAttributes.RegenHits) != 0 ) { if (prop > 5) list.Add( 1060444, "Godly" ); else if (prop > 4) list.Add( 1060444, "Supreme" ); else if (prop > 3) list.Add( 1060444, "Great" ); else if (prop > 2) list.Add( 1060444, "High" ); else if (prop > 1) list.Add( 1060444, "Moderate" ); else list.Add( 1060444, "Low" ); } if ( (prop = m_AosAttributes.RegenMana) != 0 ) { if (prop > 5) list.Add( 1060440, "Godly" ); else if (prop > 4) list.Add( 1060440, "Supreme" ); else if (prop > 3) list.Add( 1060440, "Great" ); else if (prop > 2) list.Add( 1060440, "High" ); else if (prop > 1) list.Add( 1060440, "Moderate" ); else list.Add( 1060440, "Low" ); } if ( (prop = m_AosAttributes.RegenStam) != 0 ) { if (prop > 5) list.Add( 1060443, "Godly" ); else if (prop > 4) list.Add( 1060443, "Supreme" ); else if (prop > 3) list.Add( 1060443, "Great" ); else if (prop > 2) list.Add( 1060443, "High" ); else if (prop > 1) list.Add( 1060443, "Moderate" ); else list.Add( 1060443, "Low" ); } if ( (prop = m_AosAttributes.SpellChanneling) != 0 ) list.Add( 1060482 ); if ( (prop = m_AosAttributes.CastRecovery) != 0 ) { if (prop > 4) list.Add( 1060412, "Godly" ); else if (prop > 3) list.Add( 1060412, "Supreme" ); else if (prop > 2) list.Add( 1060412, "Great" ); else if (prop > 1) list.Add( 1060412, "Not Bad" ); else list.Add( 1060412, "Decent" ); } if ( (prop = m_AosAttributes.CastSpeed) != 0 ) { if (prop > 3) list.Add( 1060413, "Godly" ); else if (prop > 2) list.Add( 1060413, "Supreme" ); else if (prop > 1) list.Add( 1060413, "Great" ); else list.Add( 1060413, "Good" ); } if ( (prop = m_AosAttributes.LowerManaCost) != 0 ) { if (prop > 12) list.Add( 1061889, "\t{0}\t{1}", "Great Amount of", "Mana Savings" ); else if (prop > 9) list.Add( 1061889, "\t{0}\t{1}", "Good Amount of", "Mana Savings" ); else if (prop > 6) list.Add( 1061889, "\t{0}\t{1}", "Decent Amount of", "Mana Savings" ); else if (prop > 3) list.Add( 1061889, "\t{0}\t{1}", "Little Bit of", "Mana Savings" ); else list.Add( 1061889, "\t{0}\t{1}", "Tiny Bit of", "Mana Savings" ); } if ( (prop = m_AosAttributes.LowerRegCost) != 0 ) { if (prop > 20) list.Add( 1041522, "\t{0}\t{1}", "Reg Cost Lowered ", "a Great Amount" ); else if (prop > 15) list.Add( 1041522, "\t{0}\t{1}", "Reg Cost Lowered ", "a Good Amount" ); else if (prop > 10) list.Add( 1041522, "\t{0}\t{1}", "Reg Cost Lowered ", "a Decent Amount" ); else if (prop > 5) list.Add( 1041522, "\t{0}\t{1}", "Reg Cost Lowered ", "Some What" ); else list.Add( 1041522, "\t{0}\t{1}", "Reg Cost Lowered ", "a Little" ); } if ( (prop = m_AosAttributes.SpellDamage) != 0 ) { if (prop > 25) list.Add( 1050039, "\t{0}", "Spell Damage Raised a Godly Amount" ); else if (prop > 20) list.Add( 1050039, "\t{0}", "Spell Damage Raised a Great Amount" ); else if (prop > 15) list.Add( 1050039, "\t{0}", "Spell Damage Raised a Good Amount" ); else if (prop > 10) list.Add( 1050039, "\t{0}", "Spell Damage Raised a Decent Amount" ); else if (prop > 5) list.Add( 1050039, "\t{0}", "Spell Damage Raised Some What" ); else list.Add( 1050039, "\t{0}", "Spell Damage Raised a Little" ); } if ( (prop = m_AosAttributes.EnhancePotions) != 0 ) { if (prop > 25) list.Add( 1070722, "Godly Amount of Potion Enhancedment" ); else if (prop > 20) list.Add( 1070722, "Great Amount of Potion Enhancedment" ); else if (prop > 15) list.Add( 1070722, "Good Amount of Potion Enhancedment" ); else if (prop > 10) list.Add( 1070722, "Moderate Amount of Potion Enhancedment" ); else if (prop > 5) list.Add( 1070722, "Decent Amount of Potion Enhancedment" ); else list.Add( 1070722, "Little Amount of Potion Enhancedment" ); } if ( (prop = (GetLuckBonus() + m_AosAttributes.Luck)) != 0 ) { if (prop >= 200) list.Add( 1060436, "of the Gods" ); else if (prop >= 180) list.Add( 1060436, "of the Leprechaun" ); else if (prop >= 160) list.Add( 1060436, "of the Irish" ); else if (prop >= 140) list.Add( 1060436, "of the Blarney" ); else if (prop >= 120) list.Add( 1060436, "of the 4 Leaf Clover" ); else if (prop >= 100) list.Add( 1060436, "of the Rabbit" ); else if (prop >= 80) list.Add( 1060436, "of the Rose" ); else if (prop >= 60) list.Add( 1060436, "of the Horseshoe" ); else if (prop >= 40) list.Add( 1060436, "of the 2 Headed Coin" ); else if (prop >= 20) list.Add( 1060436, "of the 3 Leaf Clover" ); else list.Add( 1060436, "of the Dumb" ); } if ( (prop = m_AosAttributes.NightSight) != 0 ) list.Add( 1060441 ); if ( (prop = GetLowerStatReq()) != 0 ) { amttouse = "About " + Convert.ToString( ((((int)((prop - 0.01) / 10 ) + 1) *10) - 5) ); list.Add( 1060435, amttouse ); } base.AddResistanceProperties( list ); if ( m_AosSkillBonuses != null ) m_AosSkillBonuses.GetProperties( list ); }