Esempio n. 1
0
        protected IEnchantment EnchantArmor(IItem item)
        {
            IEnchantment enchantment = null;
            IArmor       armor       = item as IArmor;

            if (armor != null)
            {
                switch (GlobalReference.GlobalValues.Random.Next(2))
                {
                case 0:
                    enchantment                = new DamageReceivedBeforeDefenseEnchantment();
                    enchantment.Effect         = GetRandomDefenseEffect();
                    enchantment.Parameter.Dice = GlobalReference.GlobalValues.DefaultValues.DiceForArmorLevel(item.Level);
                    break;

                case 1:
                    enchantment        = new DamageReceivedAfterDefenseEnchantment();
                    enchantment.Effect = new Effect.Damage();
                    Damage.Damage damage = new Damage.Damage();
                    damage.Dice = GlobalReference.GlobalValues.DefaultValues.DiceForWeaponLevel(item.Level);
                    damage.Type = GetRandomDamageType();
                    break;
                }
            }

            return(enchantment);
        }
        public void Setup()
        {
            enchantment = new DamageReceivedBeforeDefenseEnchantment();
            effect      = new Mock <IEffect>();
            parameter   = new Mock <IEffectParameter>();
            random      = new Mock <IRandom>();
            attacker    = new Mock <IMobileObject>();
            defender    = new Mock <IMobileObject>();
            room        = new Mock <IRoom>();

            attacker.Setup(e => e.Room).Returns(room.Object);

            enchantment.ActivationPercent = 100;
            enchantment.Effect            = effect.Object;
            enchantment.Parameter         = parameter.Object;

            GlobalReference.GlobalValues.Random = random.Object;
        }