public static void SetValue(Mobile m, AosWeaponAttribute att, int value, string title)
        {
            if (!EnhancementList.ContainsKey(m))
            {
                AddMobile(m);
            }

            EnhancementAttributes match = EnhancementList[m].FirstOrDefault(attrs => attrs.Title == title);

            if (match != null)
            {
                match.WeaponAttributes[att] = value;
            }
            else
            {
                match = new EnhancementAttributes(title);
                match.WeaponAttributes[att] = value;

                EnhancementList[m].Add(match);
            }

            m.CheckStatTimers();
            m.UpdateResistances();
            m.Delta(MobileDelta.Stat | MobileDelta.WeaponDamage | MobileDelta.Hits | MobileDelta.Stam | MobileDelta.Mana);
        }
Example #2
0
        public static int GetValue(Mobile m, AosWeaponAttribute attribute)
        {
            if (!Core.AOS)
            {
                return(0);
            }
            return(0);

/*
 *                      ArrayList items = m.Items;
 *                      int value = 0;
 *
 *                      for ( int i = 0; i < items.Count; ++i )
 *                      {
 *                              object obj = items[i];
 *
 *                              if ( obj is BaseWeapon )
 *                              {
 *                                      AosWeaponAttributes attrs = ((BaseWeapon)obj).WeaponAttributes;
 *
 *                                      if ( attrs != null )
 *                                              value += attrs[attribute];
 *                              }
 *                      }
 *
 *                      return value;
 */
        }
Example #3
0
 public EnchantContext(Mobile owner, AosWeaponAttribute attribute, bool spellChanneling, Timer timer)
 {
     Owner           = owner;
     Attribute       = attribute;
     SpellChanneling = spellChanneling;
     Timer           = timer;
 }
Example #4
0
        public static int GetValue(Mobile m, AosWeaponAttribute attribute)
        {
            if (!Core.AOS)
            {
                return(0);
            }

            List <Item> items = m.Items;
            int         value = 0;

            for (int i = 0; i < items.Count; ++i)
            {
                Item obj = items[i];

                if (obj is BaseWeapon)
                {
                    AosWeaponAttributes attrs = ((BaseWeapon)obj).WeaponAttributes;

                    if (attrs != null)
                    {
                        value += attrs[attribute];
                    }
                }
            }

            return(value);
        }
Example #5
0
 public static int GetValue(Mobile m, AosWeaponAttribute att)
 {
     if (EnhancementList.ContainsKey(m))
         return EnhancementList[m].WeaponAttributes[att];
     else
         return 0;
 }
Example #6
0
 public static int GetValue(Mobile m, AosWeaponAttribute att)
 {
     if (EnhancementList.ContainsKey(m))
     {
         return(EnhancementList[m].WeaponAttributes[att]);
     }
     return(0);
 }
 public WeaponAttributeInfo(AosWeaponAttribute attribute, string name, AttributeCategory category, int xp, int maxvalue)
 {
     this.m_Attribute = attribute;
     this.m_Name      = name;
     this.m_Category  = category;
     this.m_XP        = xp;
     this.m_MaxValue  = maxvalue;
 }
Example #8
0
        public static int GetInc(this AosWeaponAttribute attr)
        {
            if (!WeaponAttrFactors.ContainsKey(attr))
            {
                WeaponAttrFactors.Add(attr, new AttributeFactors());
            }

            return(WeaponAttrFactors[attr].Inc);
        }
Example #9
0
        public static double GetWeight(this AosWeaponAttribute attr)
        {
            if (!WeaponAttrFactors.ContainsKey(attr))
            {
                WeaponAttrFactors.Add(attr, new AttributeFactors());
            }

            return(WeaponAttrFactors[attr].Weight);
        }
Example #10
0
        public EnchantmentTimer(Mobile owner, BaseWeapon wep, AosWeaponAttribute attribute, int value, double duration) : base(TimeSpan.FromSeconds(duration))
        {
            Owner           = owner;
            Weapon          = wep;
            WeaponAttribute = attribute;
            AttributeValue  = value;

            this.Start();
        }
Example #11
0
            public ExpireTimer(BaseWeapon weapon, AosWeaponAttribute attribute, TimeSpan delay)
                : base(TimeSpan.FromSeconds(1.0), TimeSpan.FromSeconds(1.0))
            {
                this.m_Weapon    = weapon;
                this.m_Attribute = attribute;
                this.m_End       = DateTime.UtcNow + delay;

                this.Priority = TimerPriority.TwoFiftyMS;
            }
Example #12
0
 public int this[AosWeaponAttribute attribute]
 {
     get
     {
         return(GetValue((int)attribute));
     }
     set
     {
         SetValue((int)attribute, value);
     }
 }
        public static int GetValue(Mobile m, AosWeaponAttribute att)
        {
            if (EnhancementList.ContainsKey(m))
            {
                int value = 0;
                EnhancementList[m].ForEach(attrs => value += attrs.WeaponAttributes[att]);
                return(value);
            }

            return(0);
        }
Example #14
0
        private static int ScaleAttribute(object o)
        {
            if (o is AosAttribute)
            {
                AosAttribute attr = (AosAttribute)o;

                if (attr == AosAttribute.Luck)
                {
                    return(10);
                }

                if (attr == AosAttribute.WeaponSpeed)
                {
                    return(5);
                }
            }
            else if (o is AosArmorAttribute)
            {
                AosArmorAttribute attr = (AosArmorAttribute)o;

                if (attr == AosArmorAttribute.LowerStatReq)
                {
                    return(10);
                }

                if (attr == AosArmorAttribute.DurabilityBonus)
                {
                    return(10);
                }
            }
            else if (o is AosWeaponAttribute)
            {
                AosWeaponAttribute attr = (AosWeaponAttribute)o;

                if (attr == AosWeaponAttribute.LowerStatReq)
                {
                    return(10);
                }

                if (attr == AosWeaponAttribute.DurabilityBonus)
                {
                    return(10);
                }
            }
            else if (o is SkillName)
            {
                return(5);
            }

            return(1);
        }
Example #15
0
        public int GetMaxIntensity(Item item, ImbuingDefinition def)
        {
            if (item is BaseWeapon && def.Attribute is AosWeaponAttribute)
            {
                AosWeaponAttribute attr = (AosWeaponAttribute)def.Attribute;

                if (attr == AosWeaponAttribute.HitLeechMana || attr == AosWeaponAttribute.HitLeechHits)
                {
                    return(Imbuing.GetPropRange(item, attr)[1]);
                }
            }

            return(def.MaxIntensity);
        }
Example #16
0
        public static int GetValue(Mobile m, AosWeaponAttribute attribute)
        {
            if (!Core.AOS)
            {
                return(0);
            }

            List <Item> items = m.Items;
            int         value = 0;

            for (int i = 0; i < items.Count; ++i)
            {
                Item obj = items[i];

                if (obj is BaseWeapon)
                {
                    AosWeaponAttributes attrs = ((BaseWeapon)obj).WeaponAttributes;

                    if (attrs != null)
                    {
                        value += attrs[attribute];
                    }
                }

                #region GeNova: Mondain's Legacy
                else if (obj is Glasses)
                {
                    AosWeaponAttributes attrs = ((Glasses)obj).WeaponAttributes;

                    if (attrs != null)
                    {
                        value += attrs[attribute];
                    }
                }

                if (obj is BaseWeapon)
                {
                    AosWeaponAttributes attrs = ((BaseWeapon)obj).SetWeaponAttributes;

                    if (attrs != null && ((BaseWeapon)obj).SetEquipped)
                    {
                        value += attrs[attribute];
                    }
                }
                #endregion
            }

            return(value);
        }
Example #17
0
        public static int GetModForAttribute(AosWeaponAttribute attr)
        {
            foreach (KeyValuePair <int, ImbuingDefinition> kvp in m_Table)
            {
                int mod = kvp.Key;
                ImbuingDefinition def = kvp.Value;

                if (def.Attribute is AosWeaponAttribute && (AosWeaponAttribute)def.Attribute == attr)
                {
                    return(mod);
                }
            }

            return(-1);
        }
Example #18
0
        public static void SetValue(Mobile m, AosWeaponAttribute att, int value, string title)
        {
            if (!EnhancementList.ContainsKey(m))
            {
                AddMobile(m, title);
            }

            if (title != EnhancementList[m].Title)
            {
                EnhancementList[m].WeaponAttributes[att] = value;
            }
            else
            {
                EnhancementList[m].WeaponAttributes[att] += value;
            }
        }
Example #19
0
 public static void SetWeight(this AosWeaponAttribute attr, double weight)
 {
     if (!WeaponAttrFactors.ContainsKey(attr))
     {
         WeaponAttrFactors.Add(
             attr,
             new AttributeFactors
         {
             Weight = weight
         });
     }
     else
     {
         WeaponAttrFactors[attr].Weight = weight;
     }
 }
Example #20
0
 public static void SetMin(this AosWeaponAttribute attr, int min)
 {
     if (!WeaponAttrFactors.ContainsKey(attr))
     {
         WeaponAttrFactors.Add(
             attr,
             new AttributeFactors
         {
             Min = min
         });
     }
     else
     {
         WeaponAttrFactors[attr].Min = min;
     }
 }
Example #21
0
 public static void SetMax(this AosWeaponAttribute attr, int max)
 {
     if (!WeaponAttrFactors.ContainsKey(attr))
     {
         WeaponAttrFactors.Add(
             attr,
             new AttributeFactors
         {
             Max = max
         });
     }
     else
     {
         WeaponAttrFactors[attr].Max = max;
     }
 }
Example #22
0
 public static void SetInc(this AosWeaponAttribute attr, int inc)
 {
     if (!WeaponAttrFactors.ContainsKey(attr))
     {
         WeaponAttrFactors.Add(
             attr,
             new AttributeFactors
         {
             Inc = inc
         });
     }
     else
     {
         WeaponAttrFactors[attr].Inc = inc;
     }
 }
Example #23
0
        public static int GetValue(Mobile m, AosWeaponAttribute attribute)
        {
            if (!Core.AOS)
            {
                return(0);
            }

            List <Item> items = m.Items;
            int         value = 0;

            for (int i = 0; i < items.Count; ++i)
            {
                Item obj = items[i];
            }

            return(value);
        }
Example #24
0
		public static int GetValue( Mobile m, AosWeaponAttribute attribute )
		{
			int value = 0;

			foreach ( var item in m.GetEquippedItems() )
			{
				if ( item is IWeapon )
				{
					AosWeaponAttributes attrs = ( (IWeapon) item ).WeaponAttributes;

					if ( attrs != null )
						value += attrs[attribute];
				}
			}

			return value;
		}
Example #25
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            AosWeaponAttribute attr = AosWeaponAttribute.HitLightning;

            switch (info.ButtonID)
            {
            default:
                m_Caster.SendLocalizedMessage(1080132);     //You decide not to enchant your weapon.
                return;

            case 1:     //Hit Lightning
            {
                attr = AosWeaponAttribute.HitLightning;
                break;
            }

            case 2:     //Hit Fireball
            {
                attr = AosWeaponAttribute.HitFireball;
                break;
            }

            case 3:     //Hit Harm
            {
                attr = AosWeaponAttribute.HitHarm;
                break;
            }

            case 4:     //Hit Magic Arrow
            {
                attr = AosWeaponAttribute.HitMagicArrow;
                break;
            }

            case 5:     //Hit Dispel
            {
                attr = AosWeaponAttribute.HitDispel;
                break;
            }
            }

            Spell spell = new EnchantSpell(m_Caster, m_Scroll, m_Weapon, attr);

            spell.Cast();
        }
Example #26
0
        public static int[] GetPropRange(Item item, AosWeaponAttribute attr)
        {
            switch (attr)
            {
            case AosWeaponAttribute.DurabilityBonus:
            case AosWeaponAttribute.LowerStatReq: return(new int[] { 10, 100 });

            case AosWeaponAttribute.HitLeechHits:
            case AosWeaponAttribute.HitLeechMana:
            case AosWeaponAttribute.HitLeechStam:
            case AosWeaponAttribute.HitLowerAttack:
            case AosWeaponAttribute.HitLowerDefend:
            case AosWeaponAttribute.HitMagicArrow:
            case AosWeaponAttribute.HitHarm:
            case AosWeaponAttribute.HitLightning:
            case AosWeaponAttribute.HitFireball:
            case AosWeaponAttribute.HitDispel:
            case AosWeaponAttribute.HitColdArea:
            case AosWeaponAttribute.HitFireArea:
            case AosWeaponAttribute.HitPhysicalArea:
            case AosWeaponAttribute.HitPoisonArea:
            case AosWeaponAttribute.HitCurse:
            case AosWeaponAttribute.HitFatigue:
            case AosWeaponAttribute.HitManaDrain: return(new int[] { 2, 50 });

            case AosWeaponAttribute.HitEnergyArea:
            case AosWeaponAttribute.ResistFireBonus:
            case AosWeaponAttribute.ResistColdBonus:
            case AosWeaponAttribute.ResistPoisonBonus:
            case AosWeaponAttribute.ResistEnergyBonus:
            case AosWeaponAttribute.ResistPhysicalBonus: return(new int[] { 1, 15 });

            case AosWeaponAttribute.MageWeapon: return(new int[] { 1, 10 });

            case AosWeaponAttribute.SelfRepair: return(new int[] { 1, 5 });

            case AosWeaponAttribute.SplinteringWeapon: return(new int[] { 5, 30 });

            default:
            case AosWeaponAttribute.UseBestSkill:
            case AosWeaponAttribute.BattleLust:
            case AosWeaponAttribute.BloodDrinker: return(new int[] { 1, 1 });
            }
        }
Example #27
0
        public static int GetChance(AosWeaponAttribute attr, AosWeaponAttributes itemAttrs)
        {
            int chance;

            switch (attr)
            {
            case AosWeaponAttribute.DurabilityBonus:                chance = itemAttrs[attr] / 40; break;

            case AosWeaponAttribute.LowerStatReq:                   chance = itemAttrs[attr] / 4; break;

            case AosWeaponAttribute.ResistPhysicalBonus:
            case AosWeaponAttribute.ResistFireBonus:
            case AosWeaponAttribute.ResistColdBonus:
            case AosWeaponAttribute.ResistPoisonBonus:
            case AosWeaponAttribute.ResistEnergyBonus:              chance = itemAttrs[attr]; break;

            default:
                chance = itemAttrs[attr] / 2; break;
            }

            return(chance);
        }
Example #28
0
        public static int GetValue(Mobile m, AosWeaponAttribute 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.WeaponAttributes[att];
                }

                return(value);
            }

            return(0);
        }
Example #29
0
        public static int GetValue(Mobile m, AosWeaponAttribute attribute)
        {
            if (!Core.AOS)
                return 0;

            ArrayList items = m.Items;
            int value = 0;

            for (int i = 0; i < items.Count; ++i)
            {
                object obj = items[i];

                if (obj is BaseWeapon)
                {
                    AosWeaponAttributes attrs = ((BaseWeapon)obj).WeaponAttributes;

                    if (attrs != null)
                        value += attrs[attribute];
                }
            }

            return value;
        }
Example #30
0
        public static void SetValue(Mobile m, AosWeaponAttribute 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.WeaponAttributes[att] = value;
            }
            else
            {
                match = new EnhancementAttributes(title);
                match.WeaponAttributes[att] = value;

                EnhancementList[m].Add(match);
            }

            m.CheckStatTimers();
            m.UpdateResistances();
            m.Delta(MobileDelta.Stat | MobileDelta.WeaponDamage | MobileDelta.Hits | MobileDelta.Stam | MobileDelta.Mana);
        }
Example #31
0
 public int this[AosWeaponAttribute attribute]
 {
     get
     {
         return this.ExtendedGetValue((int)attribute);
     }
     set
     {
         this.SetValue((int)attribute, value);
     }
 }
Example #32
0
        public static int GetValue(Mobile m, AosWeaponAttribute 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 BaseWeapon)
                {
                    AosWeaponAttributes attrs = ((BaseWeapon)obj).WeaponAttributes;

                    if (attrs != null)
                        value += attrs[attribute];
                }
                #region Mondain's Legacy
                else if (obj is Glasses)
                {
                    AosWeaponAttributes attrs = ((Glasses)obj).WeaponAttributes;

                    if (attrs != null)
                        value += attrs[attribute];
                }
                #endregion
            }

            return value;
        }
Example #33
0
 public EnchantSpell( Mobile caster, Item scroll, BaseWeapon weapon, AosWeaponAttribute attribute ) : base( caster, scroll, m_Info )
 {
     Weapon = weapon;
     this.Attribute = attribute;
 }
		private static void ApplyAttribute( AosWeaponAttributes attrs, int min, int max, AosWeaponAttribute attr, int low, int high, int scale )
		{
			attrs[attr] = Scale( min, max, low / scale, high / scale ) * scale;
		}
Example #35
0
		public int this[AosWeaponAttribute attribute]
		{
			get { return GetValue( (int)attribute ); }
			set { SetValue( (int)attribute, value ); }
		}
 public static void ApplyAttribute( AosWeaponAttributes attrs, AosWeaponAttribute attr, int amount )
 {
     attrs[attr] += amount;
 }
Example #37
0
        public static int GetModForAttribute(AosWeaponAttribute attr)
        {
            foreach (KeyValuePair<int, ImbuingDefinition> kvp in m_Table)
            {
                int mod = kvp.Key;
                ImbuingDefinition def = kvp.Value;

                if (def.Attribute is AosWeaponAttribute && (AosWeaponAttribute)def.Attribute == attr)
                    return mod;
            }

            return -1;
        }
Example #38
0
 public static int[] GetPropRange(AosWeaponAttribute attr)
 {
     switch (attr)
     {
         case AosWeaponAttribute.DurabilityBonus:
         case AosWeaponAttribute.LowerStatReq: return new int[] { 10, 100 };
         case AosWeaponAttribute.HitLeechHits:
         case AosWeaponAttribute.HitLeechMana:
         case AosWeaponAttribute.HitLeechStam:
         case AosWeaponAttribute.HitLowerAttack:
         case AosWeaponAttribute.HitLowerDefend:
         case AosWeaponAttribute.HitMagicArrow:
         case AosWeaponAttribute.HitHarm:
         case AosWeaponAttribute.HitLightning:
         case AosWeaponAttribute.HitFireball:
         case AosWeaponAttribute.HitDispel:
         case AosWeaponAttribute.HitColdArea:
         case AosWeaponAttribute.HitFireArea:
         case AosWeaponAttribute.HitPhysicalArea:
         case AosWeaponAttribute.HitPoisonArea:
         case AosWeaponAttribute.HitCurse:
         case AosWeaponAttribute.HitFatigue:
         case AosWeaponAttribute.HitManaDrain: return new int[] { 2, 50 };
         case AosWeaponAttribute.HitEnergyArea:
         case AosWeaponAttribute.ResistFireBonus:
         case AosWeaponAttribute.ResistColdBonus:
         case AosWeaponAttribute.ResistPoisonBonus:
         case AosWeaponAttribute.ResistEnergyBonus:
         case AosWeaponAttribute.ResistPhysicalBonus: return new int[] { 1, 15 };
         case AosWeaponAttribute.MageWeapon: return new int[] { 1, 10 };
         case AosWeaponAttribute.SelfRepair: return new int[] { 1, 5 };
         case AosWeaponAttribute.SplinteringWeapon: return new int[] { 5, 30 };
         default:
         case AosWeaponAttribute.UseBestSkill:
         case AosWeaponAttribute.BattleLust:
         case AosWeaponAttribute.BloodDrinker: return new int[] { 1, 1 };
     }
 }
Example #39
0
		public static bool HasAttribute(this Item item, AosWeaponAttribute attr, out int value)
		{
			return HasAttribute(item, "WeaponAttributes", (ulong)attr, out value);
		}
Example #40
0
        public EnchantmentTimer(Mobile owner, BaseWeapon wep, AosWeaponAttribute attribute, int value, double duration) : base(TimeSpan.FromSeconds(duration))
        {
            Owner = owner;
            Weapon = wep;
            WeaponAttribute = attribute;
            AttributeValue = value;

            this.Start();
        }
 public static void RemoveAttribute( AosWeaponAttributes attrs, AosWeaponAttribute attr, int amount )
 {
     attrs[attr] = Math.Max( attrs[attr] - amount, 0 );
 }
 public BonusAttribute( AosWeaponAttribute attr, int amount )
     : this((object)attr, amount)
 {
 }
Example #43
0
 private static bool IsHitAreaOrSpell(AosWeaponAttribute attr, int mod)
 {
     if (attr >= AosWeaponAttribute.HitMagicArrow && attr <= AosWeaponAttribute.HitDispel)
         return mod >= 35 && mod <= 39;
     else if (attr >= AosWeaponAttribute.HitColdArea && attr <= AosWeaponAttribute.HitPhysicalArea)
         return mod >= 30 && mod <= 34;
     return false;
 }
Example #44
0
		public static int GetValue( Mobile m, AosWeaponAttribute attribute )
		{
			if( !Core.AOS )
				return 0;

			List<Item> items = m.Items;
			int value = 0;

			for( int i = 0; i < items.Count; ++i )
			{
				Item obj = items[i];

				if( obj is BaseWeapon )
				{
					AosWeaponAttributes attrs = ((BaseWeapon)obj).WeaponAttributes;

					if( attrs != null )
						value += attrs[attribute];
				}
			}

			return value;
		}
Example #45
0
        public static int[] GetPropRange(Item item, AosWeaponAttribute attr)
        {
            if (Core.SA && item is BaseWeapon && (attr == AosWeaponAttribute.HitLeechHits || attr == AosWeaponAttribute.HitLeechMana))
            {
                BaseWeapon wep = item as BaseWeapon;

                int max = (int)(wep.MlSpeed * 2500 / (100 + wep.Attributes.WeaponSpeed));

                if (wep is BaseRanged) max /= 2;

                return new int[] { 2, max };
            }

            switch (attr)
            {
                case AosWeaponAttribute.DurabilityBonus:
                case AosWeaponAttribute.LowerStatReq: return new int[] { 10, 100 };
                case AosWeaponAttribute.HitLeechHits:
                case AosWeaponAttribute.HitLeechMana:
                case AosWeaponAttribute.HitLeechStam:
                case AosWeaponAttribute.HitLowerAttack:
                case AosWeaponAttribute.HitLowerDefend:
                case AosWeaponAttribute.HitMagicArrow:
                case AosWeaponAttribute.HitHarm:
                case AosWeaponAttribute.HitLightning:
                case AosWeaponAttribute.HitFireball:
                case AosWeaponAttribute.HitDispel:
                case AosWeaponAttribute.HitColdArea:
                case AosWeaponAttribute.HitFireArea:
                case AosWeaponAttribute.HitPhysicalArea:
                case AosWeaponAttribute.HitPoisonArea:
                case AosWeaponAttribute.HitCurse:
                case AosWeaponAttribute.HitFatigue:
                case AosWeaponAttribute.HitManaDrain: return new int[] { 2, 50 };
                case AosWeaponAttribute.HitEnergyArea:
                case AosWeaponAttribute.ResistFireBonus:
                case AosWeaponAttribute.ResistColdBonus:
                case AosWeaponAttribute.ResistPoisonBonus:
                case AosWeaponAttribute.ResistEnergyBonus:
                case AosWeaponAttribute.ResistPhysicalBonus: return new int[] { 1, 15 };
                case AosWeaponAttribute.MageWeapon: return new int[] { 1, 10 };
                case AosWeaponAttribute.SelfRepair: return new int[] { 1, 5 };
                case AosWeaponAttribute.SplinteringWeapon: return new int[] { 5, 30 };
                default:
                case AosWeaponAttribute.UseBestSkill:
                case AosWeaponAttribute.BattleLust:
                case AosWeaponAttribute.BloodDrinker: return new int[] { 1, 1 };
            }
        }
		private static void ApplyAttribute( AosWeaponAttributes attrs, int min, int max, AosWeaponAttribute attr, int low, int high )
		{
			attrs[attr] = Scale( min, max, low, high );
		}
Example #47
0
		public static int GetValue(Mobile m, AosWeaponAttribute attribute)
		{
			return 0;
		}
        public static int GetChance( AosWeaponAttribute attr, AosWeaponAttributes itemAttrs )
        {
            int chance;

            switch ( attr )
            {
                case AosWeaponAttribute.DurabilityBonus: 		chance = itemAttrs[attr] / 50; break;
                case AosWeaponAttribute.LowerStatReq: 			chance = itemAttrs[attr] / 6; break;
                case AosWeaponAttribute.ResistPhysicalBonus:
                case AosWeaponAttribute.ResistFireBonus:
                case AosWeaponAttribute.ResistColdBonus:
                case AosWeaponAttribute.ResistPoisonBonus:
                case AosWeaponAttribute.ResistEnergyBonus:		chance = itemAttrs[attr]; break;
                default:
                    chance = itemAttrs[attr] / 2; break;
            }

            return chance;
        }
Example #49
0
 public static void ApplyAttribute( Mobile from, BookOfSpellCrafts book, int craftId, BaseWeapon weapon, AosWeaponAttribute attribute, int minimum, int maximum, int scale )
 {
     CheckItem( from, weapon, ( weapon.WeaponAttributes[ attribute ] == 0 ) );
     UseMagicJewels( from, book, weapon, SpellCraftConfig.MagicJewelRequirements[craftId] );
     int scalar = ComputeSkillScalar( from );
     ApplyAttribute( weapon.WeaponAttributes, SpellCraftConfig.MinimumIntensity * scalar, SpellCraftConfig.MaximumIntensity * scalar, attribute, minimum, maximum, scale );
     MarkWeapon( from, weapon );
 }
Example #50
0
		public static void SetValue( Mobile m, AosWeaponAttribute att, int value, string title )
		{
			if ( !EnhancementList.ContainsKey( m ) )
				AddMobile( m, title );

			if ( title != EnhancementList[m].Title )
				EnhancementList[m].WeaponAttributes[att] = value;
			else
				EnhancementList[m].WeaponAttributes[att] += value;
		}
Example #51
0
            public ExpireTimer(BaseWeapon weapon, AosWeaponAttribute attribute, Mobile from, TimeSpan delay)
                : base(TimeSpan.FromSeconds(1.0), TimeSpan.FromSeconds(1.0))
            {
                m_From = from;
                this.m_Weapon = weapon;
                this.m_Attribute = attribute;
                this.m_End = DateTime.UtcNow + delay;

                this.Priority = TimerPriority.TwoFiftyMS;
            }
Example #52
0
 private static void ApplyAttribute(AosWeaponAttributes attrs, int min, int max, AosWeaponAttribute attr, int low, int high, int scale)
 {
     attrs[attr] = Scale(min, max, low / scale, high / scale) * scale;
 }
Example #53
0
 public WeaponAttributeInfo(AosWeaponAttribute attribute, string name, AttributeCategory category, int xp, int maxvalue)
 {
     this.m_Attribute = attribute;
     this.m_Name = name;
     this.m_Category = category;
     this.m_XP = xp;
     this.m_MaxValue = maxvalue;
 }