public static void SetValue(Mobile m, SAAbsorptionAttribute att, int value, string title) { if (!EnhancementList.ContainsKey(m)) { AddMobile(m); } EnhancementAttributes match = EnhancementList[m].FirstOrDefault(attrs => attrs.Title == title); if (match != null) { match.AbsorptionAttributes[att] = value; } else { match = new EnhancementAttributes(title); match.AbsorptionAttributes[att] = value; EnhancementList[m].Add(match); } m.CheckStatTimers(); m.UpdateResistances(); m.Delta(MobileDelta.Stat | MobileDelta.WeaponDamage | MobileDelta.Hits | MobileDelta.Stam | MobileDelta.Mana); }
public static int GetValue(Mobile m, SAAbsorptionAttribute att) { if (EnhancementList.ContainsKey(m)) { return(EnhancementList[m].AbsorptionAttributes[att]); } return(0); }
public static int GetValue(Mobile m, SAAbsorptionAttribute att) { if (EnhancementList.ContainsKey(m)) { int value = 0; EnhancementList[m].ForEach(attrs => value += attrs.AbsorptionAttributes[att]); return(value); } return(0); }
public static void SetValue(Mobile m, SAAbsorptionAttribute att, int value, string title) { if (!EnhancementList.ContainsKey(m)) { AddMobile(m, title); } if (title != EnhancementList[m].Title) { EnhancementList[m].AbsorptionAttributes[att] = value; } else { EnhancementList[m].AbsorptionAttributes[att] += value; } }
public static int GetAttributeBonus(Mobile m, SAAbsorptionAttribute attr) { int value = 0; switch (attr) { case SAAbsorptionAttribute.CastingFocus: SkillMasterySpell spell = SkillMasterySpell.GetSpellForParty(m, typeof(PerseveranceSpell)); if (spell != null) { value += spell.PropertyBonus2(); } break; } return(value); }
public static int GetValue(Mobile m, SAAbsorptionAttribute att) { if (m == null) { return(0); } if (EnhancementList.ContainsKey(m)) { int value = 0; for (var index = 0; index < EnhancementList[m].Count; index++) { var attrs = EnhancementList[m][index]; value += attrs.AbsorptionAttributes[att]; } return(value); } return(0); }
public static int[] GetPropRange(SAAbsorptionAttribute attr) { switch (attr) { default: case SAAbsorptionAttribute.EaterFire: case SAAbsorptionAttribute.EaterCold: case SAAbsorptionAttribute.EaterPoison: case SAAbsorptionAttribute.EaterEnergy: case SAAbsorptionAttribute.EaterKinetic: case SAAbsorptionAttribute.EaterDamage: case SAAbsorptionAttribute.ResonanceFire: case SAAbsorptionAttribute.ResonanceCold: case SAAbsorptionAttribute.ResonancePoison: case SAAbsorptionAttribute.ResonanceEnergy: case SAAbsorptionAttribute.ResonanceKinetic: case SAAbsorptionAttribute.SoulChargeFire: case SAAbsorptionAttribute.SoulChargeCold: case SAAbsorptionAttribute.SoulChargePoison: case SAAbsorptionAttribute.SoulChargeEnergy: case SAAbsorptionAttribute.SoulChargeKinetic: case SAAbsorptionAttribute.CastingFocus: return(new int[] { 1, 10 }); } }
public static void SetValue(Mobile m, SAAbsorptionAttribute att, int value, string title) { if (!EnhancementList.ContainsKey(m)) { AddMobile(m); } EnhancementAttributes match = null; for (var index = 0; index < EnhancementList[m].Count; index++) { var attrs = EnhancementList[m][index]; if (attrs.Title == title) { match = attrs; break; } } if (match != null) { match.AbsorptionAttributes[att] = value; } else { match = new EnhancementAttributes(title); match.AbsorptionAttributes[att] = value; EnhancementList[m].Add(match); } m.CheckStatTimers(); m.UpdateResistances(); m.Delta(MobileDelta.Stat | MobileDelta.WeaponDamage | MobileDelta.Hits | MobileDelta.Stam | MobileDelta.Mana); }
public static void SetValue( Mobile m, SAAbsorptionAttribute att, int value, string title ) { if ( !EnhancementList.ContainsKey( m ) ) AddMobile( m, title ); if ( title != EnhancementList[m].Title ) EnhancementList[m].AbsorptionAttributes[att] = value; else EnhancementList[m].AbsorptionAttributes[att] += value; }
public static int GetValue( Mobile m, SAAbsorptionAttribute att ) { if ( EnhancementList.ContainsKey( m ) ) return EnhancementList[m].AbsorptionAttributes[att]; else return 0; }
public int this[SAAbsorptionAttribute attribute] { get { return this.GetValue((int)attribute); } set { this.SetValue((int)attribute, value); } }
public static int GetValue(Mobile m, SAAbsorptionAttribute attribute) { if (!Core.AOS) return 0; List<Item> items = m.Items; int value = 0; #region Enhancement value += Enhancement.GetValue(m, attribute); #endregion for (int i = 0; i < items.Count; ++i) { Item obj = items[i]; /*if ( obj is BaseArmor ) { SAAbsorptionAttributes attrs = ((BaseArmor)obj).AbsorptionAttributes; if ( attrs != null ) value += attrs[attribute]; } else */ if (obj is BaseWeapon) { SAAbsorptionAttributes attrs = ((BaseWeapon)obj).AbsorptionAttributes; if (attrs != null) value += attrs[attribute]; } } return value; }
public static bool HasAttribute(this Item item, SAAbsorptionAttribute attr, out int value) { return HasAttribute(item, "AbsorptionAttributes", (ulong)attr, out value); }
public static int[] GetPropRange(SAAbsorptionAttribute attr) { switch (attr) { default: case SAAbsorptionAttribute.EaterFire: case SAAbsorptionAttribute.EaterCold: case SAAbsorptionAttribute.EaterPoison: case SAAbsorptionAttribute.EaterEnergy: case SAAbsorptionAttribute.EaterKinetic: case SAAbsorptionAttribute.EaterDamage: case SAAbsorptionAttribute.ResonanceFire: case SAAbsorptionAttribute.ResonanceCold: case SAAbsorptionAttribute.ResonancePoison: case SAAbsorptionAttribute.ResonanceEnergy: case SAAbsorptionAttribute.ResonanceKinetic: case SAAbsorptionAttribute.SoulChargeFire: case SAAbsorptionAttribute.SoulChargeCold: case SAAbsorptionAttribute.SoulChargePoison: case SAAbsorptionAttribute.SoulChargeEnergy: case SAAbsorptionAttribute.SoulChargeKinetic: case SAAbsorptionAttribute.CastingFocus: return new int[] { 1, 10 }; } }
public static int GetModForAttribute(SAAbsorptionAttribute attr) { foreach (KeyValuePair<int, ImbuingDefinition> kvp in m_Table) { int mod = kvp.Key; ImbuingDefinition def = kvp.Value; if (def.Attribute is SAAbsorptionAttribute && (SAAbsorptionAttribute)def.Attribute == attr) return mod; } return -1; }