public override void ApplyEffects(AttackableUnit target, IShape projectile) { var ap = OwnerAPTotal * 0.85f; var damage = 25 + (Spell.Level * 45) + ap; target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_MAGICAL, false)); }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { var targetAI = (AIUnit)target; FX[] fxs = new FX[] { new FX(target.Game.NetIdProvider.Pop(), "blindMonk_Q_tar.troy", "", 1f, Owner, targetAI), new FX(target.Game.NetIdProvider.Pop(), "blindMonk_Q_tar_indicator.troy", "", 1f, Owner, targetAI), }; CreateFXs(fxs, targetAI, true); CurrentTarget = targetAI; target.InflictDamages(new World.Spells.Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_PHYSICAL, false)); CreateAction(() => { if (CurrentTarget.ObjectAvailable) { CurrentTarget.FXManager.DestroyFX("blindMonk_Q_tar.troy"); CurrentTarget.FXManager.DestroyFX("blindMonk_Q_tar_indicator.troy"); } CurrentTarget = null; }, 3f); }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { var ap = OwnerAPTotal * 1f; var damage = 15 + (Spell.Level * 20) + ap; target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_MAGICAL, true)); }
public override void OnFinishCasting(Vector2 position, Vector2 endPosition, AttackableUnit target) { CreateFX("blind_monk_ult_impact.troy", "", 1f, (AIUnit)target, false); var direction = Vector2.Normalize(target.Position - Owner.Position); (target as AIUnit).Dash(target.Position + (direction * 800f), 1000f, true); target.InflictDamages(new World.Spells.Damages(Owner, target, 400, false, Protocol.GameClient.Enum.DamageType.DAMAGE_TYPE_PHYSICAL, false)); }
public override void ApplyEffects(AttackableUnit target, IShape projectile) { var ad = OwnerADTotal * 1.1f; var ap = OwnerAPTotal * 0.4f; var damage = 15 + (Spell.Level * 20) + ad + ap; target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_PHYSICAL, true)); Owner.SpellManager.LowerCooldowns(1f); }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { if (target != null && target.Alive) { // 250/475/700 var damage = 250 + Owner.Stats.AttackDamage.Total * 2; CreateFX("caitlyn_ace_tar.troy", "", 1f, (AIUnit)target, false); ((AIUnit)target).FXManager.DestroyFX("caitlyn_ace_target_indicator.troy"); target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_PHYSICAL, false)); } }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { if (target.IsFriendly(Owner)) { // add as buff } else { var ap = OwnerAPTotal * 1.25f; var damage = 25 + (Spell.Level * 45) + ap; target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_MAGICAL, false)); } }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { var ap = OwnerAPTotal * 0.8f; var damage = 45 + (Spell.Level * 35) + ap; target.InflictDamages(new Damages(Owner, target, damage, false, DamageType.DAMAGE_TYPE_MAGICAL, false)); if (!target.Alive) { Spell.LowerCooldown(Spell.GetTotalCooldown() / 2f); } // add mana }
public override void ApplyProjectileEffects(AttackableUnit target, Projectile projectile) { SkillShot skillShot = projectile as SkillShot; float finalDamagePercent = 1 - ((skillShot.GetHittenCount() - 1) * 0.1f); finalDamagePercent = Math.Max(finalDamagePercent, 0.3f); var ad = OwnerBonusAD * 1.0f; var ap = OwnerAPTotal * 0.9f; var baseDamage = 200 + (Spell.Level * 150); var total = baseDamage + ap + ad; total *= finalDamagePercent; target.InflictDamages(new Damages(Owner, target, total, false, DamageType.DAMAGE_TYPE_MAGICAL, false)); }
public override void ApplyEffects(AttackableUnit target, IShape projectile) { var targetAI = (AIUnit)target; FX[] fxs = new FX[] { new FX(target.Game.NetIdProvider.Pop(), "blindMonk_Q_tar.troy", "", 1f, Owner, targetAI), new FX(target.Game.NetIdProvider.Pop(), "blindMonk_Q_tar_indicator.troy", "", 1f, Owner, targetAI), }; CreateFXs(fxs, targetAI, true); CurrentTarget = targetAI; target.InflictDamages(new World.Spells.Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_PHYSICAL, false)); if (target.Alive) { SwapSpell("BlindMonkQTwo", 0); } CreateAction(() => { if (CurrentTarget != null && CurrentTarget.ObjectAvailable) { var blindMonkQTwo = Owner.SpellManager.GetSpell("BlindMonkQTwo"); if (blindMonkQTwo != null && !blindMonkQTwo.GetScript <BlindMonkQTwo>().Casted) { SwapSpell("BlindMonkQOne", 0); CurrentTarget.FXManager.DestroyFX("blindMonk_Q_tar.troy"); CurrentTarget.FXManager.DestroyFX("blindMonk_Q_tar_indicator.troy"); } } CurrentTarget = null; }, 3f); }
public override void OnStartCasting(Vector2 position, Vector2 endPosition, AttackableUnit target) { CreateFX("Yasuo_Base_E_Dash.troy", "", 1f, (AIUnit)Owner, false); CreateFX("Yasuo_base_E_timer1.troy", "", 1f, (AIUnit)target, false); var current = Owner.Position; var to = Vector2.Normalize(target.Position - current); var range = to * 425; var trueCoords = current + range; SetAnimation("RUN", "Spell3"); Action onDashEnded = () => { SetAnimation("RUN", "RUN"); }; target.InflictDamages(new World.Spells.Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_MAGICAL, false)); Owner.Dash(trueCoords, 1000f, false, onDashEnded); }
public override void ApplyEffects(AttackableUnit target, IMissile projectile) { target.InflictDamages(new World.Spells.Damages(Owner, target, 500, false, Protocol.GameClient.Enum.DamageType.DAMAGE_TYPE_MAGICAL, false)); }
public override void ApplyEffects(AttackableUnit target, IShape projectile) { target.InflictDamages(new Damages(Owner, target, 200f, false, DamageType.DAMAGE_TYPE_PHYSICAL, true)); }
public override void ApplyEffects(AttackableUnit target, IShape projectile) { CreateFX("Veigar_Base_R_tar.troy", "", 2f, target as AIUnit, false); target.InflictDamages(new World.Spells.Damages(Owner, target, 500, false, Protocol.GameClient.Enum.DamageType.DAMAGE_TYPE_MAGICAL, false)); }
public override void ApplyEffects(AttackableUnit target, IShape projectile) { CreateFX("Zed_Q_tar.troy", "", 1f, (AIUnit)target, false); target.InflictDamages(new Damages(Owner, target, 200, false, DamageType.DAMAGE_TYPE_PHYSICAL, false)); }