Пример #1
0
 public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
 {
     if (HasBuff(owner, "YasuoE"))
     {
         spell.SpellAnimation("SPELL3b", owner);
         AddParticleTarget(owner, "Yasuo_Base_EQ_cas.troy", owner);
         AddParticleTarget(owner, "Yasuo_Base_EQ_SwordGlow.troy", owner, 1, "C_BUFFBONE_GLB_Weapon_1");
         foreach (var affectEnemys in GetUnitsInRange(owner, 270f, true))
         {
             if (affectEnemys is IAttackableUnit && affectEnemys.Team != owner.Team)
             {
                 affectEnemys.TakeDamage(owner, spell.Level * 20f + owner.Stats.AttackDamage.Total, DamageType.DAMAGE_TYPE_PHYSICAL, DamageSource.DAMAGE_SOURCE_ATTACK, false);
                 AddParticleTarget(owner, "Yasuo_Base_Q_hit_tar.troy", affectEnemys);
             }
         }
         AddBuff("YasuoQ02", 6f, 1, spell, owner, owner);
         RemoveBuff(owner, "YasuoQ01");
     }
     else
     {
         spell.SpellAnimation("SPELL1B", owner);
         spell.AddLaser("YasuoQ", trueCoords.X, trueCoords.Y);
         AddParticleTarget(owner, "Yasuo_Q_Hand.troy", owner);
         AddParticleTarget(owner, "Yasuo_Base_Q2_cast_sound.troy", owner);
     }
 }
Пример #2
0
        public void OnFinishCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
        {
            casting = true;
            adder   = false;
            _spell  = spell;
            _owner  = owner as IChampion;

            CreateTimer(0.03f, () =>
            {
                owner.IsCastingSpell = true;
            });


            var current = new Vector2(owner.X, owner.Y);
            var to      = Vector2.Normalize(new Vector2(spell.X, spell.Y) - current);
            var range   = to * spell.SpellData.CastRangeDisplayOverride[0];

            trueCoords = current + range;

            if (HasBuff(owner, "YasuoE"))
            {
                CurrentCastTime = MaxCastTimeQE;
                spell.SpellAnimation("SPELL1_Dash", owner);
                AddParticleTarget(owner, "Yasuo_Base_EQ_cas.troy", owner);
                AddParticleTarget(owner, "Yasuo_Base_EQ_SwordGlow.troy", owner, 1, "C_BUFFBONE_GLB_Weapon_1");

                int affCnt = 0;
                foreach (var affectEnemys in GetUnitsInRange(owner, 270f, true))
                {
                    if (affectEnemys is IAttackableUnit && affectEnemys.Team != owner.Team)
                    {
                        affectEnemys.TakeDamage(owner, spell.Level * 20f + owner.Stats.AttackDamage.Total, DamageType.DAMAGE_TYPE_PHYSICAL, DamageSource.DAMAGE_SOURCE_ATTACK, false);
                        AddParticleTarget(owner, "Yasuo_Base_Q_hit_tar.troy", affectEnemys);
                    }
                    affCnt += 1;
                }
                if (affCnt > 0)
                {
                    adder = true;
                }
            }
            else
            {
                (owner as IChampion).StopChampionMovement();
                FaceDirection(owner, to, true, 0f);
                CurrentCastTime = MaxCastTime;

                spell.SpellAnimation("SPELL1A", owner, 1.1f);
                spell.AddLaser("YasuoQ", trueCoords.X, trueCoords.Y);
                AddParticleTarget(owner, "Yasuo_Q_Hand.troy", owner);
                AddParticleTarget(owner, "Yasuo_Base_Q1_cast_sound.troy", owner);
                AddParticleTarget(owner, "Yasuo_Base_Q_strike_build_up_test.troy", owner, bone: "C_BUFFBONE_GLB_Weapon_1");
                AddParticleTarget(owner, "Yasuo_Base_Q_strike_test.troy", owner, bone: "C_BUFFBONE_GLB_Weapon_1");
            }
        }
Пример #3
0
        public void OnStartCasting(IObjAiBase owner, ISpell spell, IAttackableUnit target)
        {
            var current    = new Vector2(owner.X, owner.Y);
            var to         = Vector2.Normalize(new Vector2(spell.X, spell.Y) - current);
            var range      = to * 1100;
            var trueCoords = current + range;

            spell.AddLaser("LucianQ", trueCoords.X, trueCoords.Y);
            spell.SpellAnimation("SPELL1", owner);
            AddParticle(owner, "Lucian_Q_laser.troy", trueCoords.X, trueCoords.Y);
            AddParticleTarget(owner, "Lucian_Q_cas.troy", owner);
        }
Пример #4
0
        public void OnStartCasting(IChampion owner, ISpell spell, IAttackableUnit target)
        {
            var current    = new Vector2(owner.X, owner.Y);
            var to         = Vector2.Normalize(new Vector2(spell.X, spell.Y) - current);
            var range      = to * 3340;
            var trueCoords = current + range;

            spell.AddLaser("LuxMaliceCannon", trueCoords.X, trueCoords.Y);
            AddParticle(owner, "LuxMaliceCannon_beam.troy", trueCoords.X, trueCoords.Y);
            FaceDirection(owner, trueCoords, false);
            spell.SpellAnimation("SPELL4", owner);
            AddParticleTarget(owner, "LuxMaliceCannon_cas.troy", owner);
        }