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); } }
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"); } }
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); }
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); }