public override void useQ(Obj_AI_Base target) { if (!Q1.IsReady() || target == null) { return; } CastQ(target); }
private float GetW1Damage(Obj_AI_Base enemy) { var target = TargetSelector.GetTarget(W.Range + 200, DamageType.Magical); if (target == null) { return((float)0); } double damage = 0d; if (W1.IsReady() && R.IsReady()) { damage += player.GetSpellDamage(target, SpellSlot.W, (SpellStages)1); } return((float)damage * 2); }
private void Combo() { var target = ARAMTargetSelector.getBestTarget(W.Range); if (target == null) { return; } var qtarget = ARAMTargetSelector.getBestTarget(600); if (qtarget == null) { return; } var wpred = W.GetPrediction(target); if (E.IsReady() && target.IsValidTarget(E.Range)) { E.CastIfHitchanceEquals(target, HitChance.Medium, true); } if (W.IsReady() && R.IsReady() && target.IsValidTarget(W.Range) && wpred.HitChance >= HitChance.High && CalcDamage(target) > target.Health) { R.Cast(); Core.DelayAction(new Action(() => { W.CastIfHitchanceEquals(target, HitChance.High, true); }), 1010); } else { if (W.IsReady() && target.IsValidTarget(W.Range)) { W.CastIfHitchanceEquals(target, HitChance.High, true); } } if (Q.IsReady() && R.IsReady() && qtarget.IsValidTarget(650) && player.Position.CountEnemiesInRange(650) >= 2) { R.Cast(); Q.Cast(player.Position.Extend(target.Position, +300).To3D()); } else { if (Q.IsReady() && qtarget.IsValidTarget(650) && player.Position.CountEnemiesInRange(650) >= 1) { Q.Cast(player.Position.Extend(target.Position, +300).To3D()); } } if (E3.IsReady() && target.Position.CountEnemiesInRange(450 - 250) >= 2) { CastER(target); } else { } }
public override void useSpells() { var target = ARAMTargetSelector.getBestTarget(_humanW.Range); if (target == null) { return; //buffelisecocoon } CheckSpells(); var qdmg = player.GetSpellDamage(target, SpellSlot.Q); var wdmg = player.GetSpellDamage(target, SpellSlot.W); if (_human) { if (target.Distance(player.Position) < _humanE.Range && _humanE.IsReady()) { if (_humanE.GetPrediction(target).HitChance >= HitChance.High) { _humanE.Cast(target); } } if (player.Distance(target) <= _humanQ.Range && _humanQ.IsReady()) { _humanQ.Cast(target); } if (player.Distance(target) <= _humanW.Range && _humanW.IsReady()) { _humanW.Cast(target); } if (!_humanQ.IsReady() && !_humanW.IsReady() && !_humanE.IsReady() && _r.IsReady()) { _r.Cast(); } if (!_humanQ.IsReady() && !_humanW.IsReady() && player.Distance(target) <= _spiderQ.Range && _r.IsReady()) { _r.Cast(); } } if (!_spider) { return; } if (player.Distance(target) <= _spiderQ.Range && _spiderQ.IsReady()) { _spiderQ.Cast(target); } if (player.Distance(target) <= 200 && _spiderW.IsReady()) { _spiderW.Cast(); } if (player.Distance(target) <= _spiderE.Range && player.Distance(target) > _spiderQ.Range && _spiderE.IsReady() && !_spiderQ.IsReady()) { if ((safeGap(target)) || target.Distance(ARAMSimulator.fromNex.Position, true) < player.Distance(ARAMSimulator.fromNex.Position, true)) { _spiderE.Cast(target); } } if (player.Distance(target) > _spiderQ.Range && !_spiderE.IsReady() && _r.IsReady() && !_spiderQ.IsReady()) { _r.Cast(); } if (_humanQ.IsReady() && _humanW.IsReady() && _r.IsReady()) { _r.Cast(); } if (_humanQ.IsReady() && _humanW.IsReady() && _r.IsReady()) { _r.Cast(); } if ((_humanQ.IsReady() && qdmg >= target.Health || _humanW.IsReady() && wdmg >= target.Health)) { _r.Cast(); } Core.DelayAction(() => Player.IssueOrder(GameObjectOrder.AttackUnit, target), 100); }