public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.MoveSpeed.PercentBonus = 1.25f;
     unit.AddStatModifier(_statMod);
     _visualBuff = AddBuffHudVisual("SummonerReviveSpeedBoost", 12.0f, 1, BuffType.COMBAT_ENCHANCER, unit);
 }
Exemplo n.º 2
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.MoveSpeed.PercentBonus = .15f + (.05f * (ownerSpell.Level - 1));
     unit.AddStatModifier(_statMod);
     _visualBuff = AddBuffHudVisual("KatarinaWHaste", 1.0f, 1, BuffType.HASTE, unit);
 }
        protected virtual float CalculateFinalValue()
        {
            float finalValeu    = BaseValue;
            float sumPercentAdd = 0;


            for (int i = 0; i < statsModifiers.Count; i++)
            {
                StatsModifier mod = statsModifiers[i];
                if (mod.statModType == StatModType.Flat)
                {
                    finalValeu += mod.Value;
                }
                else if (mod.statModType == StatModType.PercentAdd)
                {
                    sumPercentAdd += mod.Value;
                    if (i + 1 >= statsModifiers.Count || statsModifiers[i + 1].statModType != StatModType.PercentAdd)
                    {
                        finalValeu   *= 1 + sumPercentAdd;
                        sumPercentAdd = 0;
                    }
                }
                else if (mod.statModType == StatModType.PercentMult)
                {
                    finalValeu *= 1 + mod.Value;
                }
            }

            return((float)Math.Round(finalValeu, 4));
        }
Exemplo n.º 4
0
    public void Equip(Sino.CharacterStats.PlayerCharacter c)
    {
        character = c;

        blockAmount = new StatsModifier(BlockPercentAmount, modType, this);
        c.BlockAmount.AddModifier(blockAmount);
    }
Exemplo n.º 5
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.MoveSpeed.PercentBonus   = 0.2f;
     _statMod.AttackSpeed.PercentBonus = 0.4f;
     _visualBuff = AddBuffHudVisual("SpectralFury", 6.0f, 1, BuffType.COMBAT_ENCHANCER, unit);
     unit.AddStatModifier(_statMod);
 }
Exemplo n.º 6
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.Armor.FlatBonus       = 20f + (10f * (ownerSpell.Level - 1));
     _statMod.MagicResist.FlatBonus = 20f + (10f * (ownerSpell.Level - 1));
     unit.AddStatModifier(_statMod);
     _visualBuff = AddBuffHudVisual("MoltenShield", 5.0f, 1, BuffType.SPELL_SHIELD, unit);
 }
Exemplo n.º 7
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.MoveSpeed.PercentBonus   = _statMod.MoveSpeed.PercentBonus + (12f + ownerSpell.Level * 4) / 100f;
     _statMod.AttackSpeed.PercentBonus = _statMod.AttackSpeed.PercentBonus + (22f + 8f * ownerSpell.Level) / 100f;
     unit.AddStatModifier(_statMod);
     _visualBuff = AddBuffHudVisual("Overdrive", 8.0f, 1, BuffType.COMBAT_ENCHANCER, unit);
 }
Exemplo n.º 8
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.MoveSpeed.PercentBonus   = _statMod.MoveSpeed.PercentBonus + (15f + ownerSpell.Level * 10) / 100f;
     _statMod.AttackSpeed.PercentBonus = _statMod.AttackSpeed.PercentBonus + (5f + ownerSpell.Level * 25) / 100f;
     unit.AddStatModifier(_statMod);
     _visualBuff = AddBuffHudVisual("Highlander", 10.0f, 1, BuffType.COMBAT_ENCHANCER, unit);
     //Immunity to slowness not added
 }
Exemplo n.º 9
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.MoveSpeed.PercentBonus   = -0.3f;
     _statMod.AttackSpeed.PercentBonus = -0.3f;
     _statMod.Armor.BaseBonus          = -10;
     _statMod.MagicResist.BaseBonus    = -10;
     unit.AddStatModifier(_statMod);
     _visualBuff = AddBuffHudVisual("SummonerExhaustDebuff", 2.5f, 1, BuffType.COMBAT_DEHANCER, unit);
 }
        public virtual bool RemoveModifier(StatsModifier mod)
        {
            if (statsModifiers.Remove(mod))
            {
                isChanged = true;
                return(true);
            }

            return(false);
        }
Exemplo n.º 11
0
        public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
        {
            _statMod = new StatsModifier();
            _statMod.MoveSpeed.BaseBonus = _statMod.MoveSpeed.BaseBonus - 60;
            unit.ApplyCrowdControl(_crowdDisarm);
            unit.ApplyCrowdControl(_crowdSilence);
            unit.AddStatModifier(_statMod);
            var time = 1 + 0.25f * ownerSpell.Level;

            _visualBuff = AddBuffHudVisual("LuluWDebuff", time, 1, BuffType.COMBAT_DEHANCER,
                                           unit);
        }
Exemplo n.º 12
0
        public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
        {
            var ap = ownerSpell.Owner.Stats.AbilityPower.Total * 0.001;

            _statMod = new StatsModifier();
            _statMod.MoveSpeed.PercentBonus = _statMod.MoveSpeed.PercentBonus + 0.3f + (float)ap;
            unit.AddStatModifier(_statMod);
            var time = 2.5f + 0.5f * ownerSpell.Level;

            _visualBuff = AddBuffHudVisual("LuluWBuff", time, 1, BuffType.COMBAT_ENCHANCER,
                                           unit);
        }
Exemplo n.º 13
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.Size.PercentBonus = _statMod.Size.PercentBonus + 1;
     _healthBefore = unit.Stats.CurrentHealth;
     _healthBonus  = 150 + 150 * ownerSpell.Level;
     _statMod.HealthPoints.BaseBonus = _statMod.HealthPoints.BaseBonus + 150 + 150 * ownerSpell.Level;
     unit.Stats.CurrentHealth        = unit.Stats.CurrentHealth + 150 + 150 * ownerSpell.Level;
     _visualBuff = AddBuffHudVisual("LuluR", 7.0f, 1, BuffType.COMBAT_ENCHANCER,
                                    unit);
     unit.AddStatModifier(_statMod);
 }
Exemplo n.º 14
0
        public void ApplyModifier_Applies_Modification_To_Consititution()
        {
            //assemble
            var value     = 2;
            var modifier  = new StatsModifier("constitution", value);
            var character = _character;

            //act
            character.AddModifier(modifier);

            //assert
            Assert.AreEqual(character.Consititution, value + 1);
        }
Exemplo n.º 15
0
        public void ApplyModifier_Applies_Modification_To_Strength()
        {
            //assemble
            var value     = 2;
            var modifier  = new StatsModifier("strength", value);
            var character = _character;

            //act
            character.AddModifier(modifier);

            //assert
            Assert.AreEqual(character.Strength, value + 1);
        }
Exemplo n.º 16
0
    public void Equip(Sino.CharacterStats.PlayerCharacter c)
    {
        character            = c;
        attackSpeed          = new StatsModifier(AttackSpeed, ModTypeSpeed, this);
        attackDistance       = new StatsModifier(AttackDistance, ModAttackDistance, this);
        attackSpeedAnimation = new StatsModifier(AttackSpeedAnimation, ModTypeSpeed, this);
        damage = new StatsModifier(Damage, ModTypeDamage, this);

        c.AttackSpeedAnimation.AddModifier(attackSpeedAnimation);
        c.AttackSpeed.AddModifier(attackSpeed);
        c.AttackDsiatnce.AddModifier(attackDistance);
        c.DamageImpact.AddModifier(damage);
    }
Exemplo n.º 17
0
        public void ApplyModifier_Applies_Modification_To_Wisdom()
        {
            //assemble
            var value     = 2;
            var modifier  = new StatsModifier("wisdom", value);
            var character = _character;

            //act
            character.AddModifier(modifier);

            //assert
            Assert.IsTrue(character.Wisdom == value + 1);
        }
Exemplo n.º 18
0
        public void ApplyModifier_Applies_Modification_To_Intelligence()
        {
            //assemble
            var value     = 2;
            var modifier  = new StatsModifier("intelligence", value);
            var character = _character;

            //act
            character.AddModifier(modifier);

            //assert
            Assert.AreEqual(character.Intelligence, value + 1);
        }
Exemplo n.º 19
0
        public void ApplyModifier_Applies_Modification_To_Dexterity()
        {
            //assemble
            var value     = 2;
            var modifier  = new StatsModifier("dexterity", value);
            var character = _character;

            //act
            character.AddModifier(modifier);

            //assert
            Assert.AreEqual(character.Dexterity, value + 1);
        }
 protected virtual int CompareModifuerOrder(StatsModifier a, StatsModifier b)
 {
     if (a.Order < b.Order)
     {
         return(-1);
     }
     else if (a.Order > b.Order)
     {
         return(1);
     }
     else
     {
         return(0);
     }
 }
Exemplo n.º 21
0
 public void RemoveStatModifier(StatsModifier statModifier)
 {
     Stats.RemoveModifier(statModifier);
 }
Exemplo n.º 22
0
 public void AddStatModifier(StatsModifier statModifier)
 {
     Stats.AddModifier(statModifier);
 }
Exemplo n.º 23
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.MoveSpeed.PercentBonus = _statMod.MoveSpeed.PercentBonus - 0.3f;
     unit.AddStatModifier(_statMod);
 }
Exemplo n.º 24
0
 public void OnActivate(IObjAiBase unit, ISpell ownerSpell)
 {
     _statMod = new StatsModifier();
     _statMod.AttackDamage.FlatBonus = (new float[] { 30, 50, 70 })[ownerSpell.Level - 1];
     unit.AddStatModifier(_statMod);
 }
 public virtual void AddModifier(StatsModifier mod)
 {
     isChanged = true;
     statsModifiers.Add(mod);
     statsModifiers.Sort(CompareModifuerOrder);
 }