コード例 #1
0
 public void OnUpdate(double diff)
 {
     if (_owningChampion == null)
     {
         return;
     }
     if (_owningSpell == null)
     {
         _owningSpell = _owningChampion.GetSpell(14);
         if (_owningSpell == null)
         {
             return;
         }
     }
     _currentTime += diff;
     if (_currentTime >= (_lastTakenDamage + 5000)) // if damage has not been taken in 5 seconds, and Strut is not active, activate Strut.
     {
         if (!_strutIsActive)
         {
             ApiFunctionManager.LogInfo("Miss Fortune has not been damaged in 5 seconds. Activating Strut.");
             StrutBuff      = _owningChampion.AddBuffGameScript("MFStrut", "MFStrut", _owningSpell, -1, true);
             _strutIsActive = true;
         }
         else
         {
             StrutBuff.UpdateBuff(diff);
         }
     }
 }
コード例 #2
0
        public void OnFinishCasting(Champion owner, Spell spell, AttackableUnit target)
        {
            var ad = (owner.GetStats().AttackDamage.Total - owner.GetStats().AttackDamage.BaseValue) * 0.5f;
            var ap = owner.GetStats().AbilityPower.Total * 0.5f;

            var damage = ((new float[] { 35, 55, 75, 95, 115 }[spell.Level - 1]) + ad + ap) / 2;

            target.TakeDamage(owner, damage, DamageType.DAMAGE_TYPE_PHYSICAL, DamageSource.DAMAGE_SOURCE_SPELL, false);
            target.TakeDamage(owner, damage, DamageType.DAMAGE_TYPE_PHYSICAL, DamageSource.DAMAGE_SOURCE_SPELL, false);

            RavageBuff = owner.AddBuffGameScript("EveRavage", "EveRavage", spell, 3.0f, true);
        }
コード例 #3
0
        public void OnUpdate(double diff)
        {
            //TODO:Enable this when a way to give speed stacks is found

            /*if (!_frenzyLearned)
             * {
             *  if (_frenzy.Level >= 1)
             *  {
             *      _frenzyLearned = true;
             *  }
             * }
             *
             * if (_frenzyLearned)
             * {
             *  FrenzyBuff = _owningChampion.AddBuffGameScript("EveSpeed", "EveSpeed", _frenzy, -1, true);
             * }*/

            if (_owningChampion == null)
            {
                return;
            }

            if (_owningSpell == null)
            {
                _owningSpell = _owningChampion.GetSpell(14);
                if (_owningSpell == null)
                {
                    return;
                }
            }

            _currentTime += diff;
            if (_currentTime >= (_lastTakenDamage + 6000))
            {
                if (!_invisActive)
                {
                    ApiFunctionManager.LogInfo("Evelynn hasn't been damaged in the last 6 second. Shadow Walk activated.");
                    InvisBuff    = _owningChampion.AddBuffGameScript("EveInvis", "EveInvis", _owningSpell, -1, true);
                    _invisActive = true;
                }
                else
                {
                    InvisBuff.UpdateBuff(diff);
                }
            }
        }
コード例 #4
0
        public void OnFinishCasting(Champion owner, Spell spell, AttackableUnit target)
        {
            var current    = new Vector2(owner.X, owner.Y);
            var to         = Vector2.Normalize(new Vector2(spell.X, spell.Y) - current);
            var range      = to * 1150;
            var trueCoords = current + range;

            spell.AddProjectile("EzrealMysticShotMissile", trueCoords.X, trueCoords.Y);

            var buff       = owner.AddBuffGameScript("Quickdraw", "Quickdraw", spell);
            var visualBuff = ApiFunctionManager.AddBuffHUDVisual("Quickdraw", 6.0f, 0, owner);

            ApiFunctionManager.CreateTimer(6.0f, () =>
            {
                ApiFunctionManager.RemoveBuffHUDVisual(visualBuff);
                owner.RemoveBuffGameScript(buff);
            });
        }
コード例 #5
0
        public void OnFinishCasting(Champion owner, Spell spell, AttackableUnit target)
        {
            var current    = new Vector2(owner.X, owner.Y);
            var to         = Vector2.Normalize(new Vector2(spell.X, spell.Y) - current);
            var range      = to * 425;
            var trueCoords = current + range;

            ApiFunctionManager.DashToLocation(owner, trueCoords.X, trueCoords.Y, 1200, false, "Spell3");
            Particle p          = ApiFunctionManager.AddParticleTarget(owner, "Graves_Move_OnBuffActivate.troy", owner);
            var      visualBuff = ApiFunctionManager.AddBuffHUDVisual("GravesSteroid", 5.0f, 90, owner);
            var      buff       = owner.AddBuffGameScript("Quickdraw", "Quickdraw", spell, -1, true);

            ApiFunctionManager.CreateTimer(4.0f, () =>
            {
                ApiFunctionManager.RemoveParticle(p);
                ApiFunctionManager.RemoveBuffHUDVisual(visualBuff);
                owner.RemoveBuffGameScript(buff);
            });
        }
コード例 #6
0
 public void OnFinishCasting(Champion owner, Spell spell, AttackableUnit target)
 {
     spell.spellAnimation("SPELL2", owner);
     ApiFunctionManager.AddParticleTarget(owner, "Evelynn_W_cas.troy", owner);
     FrenzyBuff = owner.AddBuffGameScript("EveFrenzy", "EveFrenzy", spell, 3.0f, true);
 }