Exemple #1
0
        private static void Combo()
        {
            var enemyTarget = TargetSelectorHelper.GetTarget(TargetingMode.NearLocalPlayer, 9f);

            var enemyProjectiles = GetEnemyProjectiles(10f);

            if (enemyTarget == null)
            {
                return;
            }

            var enemyDistance = player.Distance(enemyTarget.WorldPosition);

            var     intersectingWithProjectile = Helper.IsProjectileColliding(player, enemyProjectiles);
            Vector2 intersectPoint             = Geometry.GetClosestPointOnLineSegment(enemyProjectiles.StartPosition,
                                                                                       enemyProjectiles.CalculatedEndPosition, player.WorldPosition, out enemyDistance);

            if (useQ && LocalPlayer.GetAbilityHudData(AbilitySlot.Ability4).CooldownTime < 0.1f && intersectingWithProjectile)
            {
                //if (player.Distance(enemyProjectiles.WorldPosition) <= player.MapCollisionRadius*2.4) //
                LocalPlayer.CastAbility(AbilitySlot.Ability4);
            }

            var hasBuff = Helper.HasBuff(enemyTarget, "RecastBuff");

            eSkill = new SkillBase(AbilitySlot.Ability5, SkillType.Circle, 10f, 4.4f, 2f);
            var lmbSkill   = new SkillBase(AbilitySlot.Ability1, SkillType.Line, 8f, 8f, 0.6f);
            var predictLMB = player.GetPrediction(enemyTarget, lmbSkill.Speed, lmbSkill.Range, lmbSkill.SpellCollisionRadius, lmbSkill.SkillType);


            if (!enemyTarget.IsDead && !enemyTarget.HasConsumeBuff && !enemyTarget.IsCountering &&
                !enemyTarget.IsImmaterial && !Helper.HasBuff(enemyTarget, "GustBuff") &&
                !Helper.HasBuff(enemyTarget, "BulwarkBuff") && !Helper.HasBuff(enemyTarget, "Incapacitate") &&
                !Helper.HasBuff(enemyTarget, "PetrifyStone") && !Helper.IsColliding(player, enemyTarget))
            {
                if (LocalPlayer.GetAbilityHudData(eSkill.Slot).CooldownTime < 0.1f) // TODO incorporate RecastBuff with E
                {
                    LocalPlayer.UpdateCursorPosition(intersectPoint, true);         // TODO needs more work
                    LocalPlayer.CastAbility(eSkill.Slot);
                }

                if (predictLMB.HitChancePercent >= 35f)
                {
                    LocalPlayer.UpdateCursorPosition(predictLMB.MoveMousePosition);
                    LocalPlayer.CastAbility(AbilitySlot.Ability1);
                }
            }
        }
Exemple #2
0
        //TODO Maybe try to merge Heal Combo and Combo together
        private static void HealCombo()
        {
            var allyTarget = TargetSelectorHelper.GetAlly(TargetingMode.LowestHealth, 11f);

            if (allyTarget == null)
            {
                return;
            }

            var RmbSkill   = new SkillBase(AbilitySlot.Ability2, SkillType.Circle, 9.2f, 5.6f, 1.15f, 300f);
            var predictRMB = player.GetPrediction(allyTarget, RmbSkill.Speed, RmbSkill.Range, RmbSkill.SpellCollisionRadius, RmbSkill.SkillType);

            if (RmbSkill.Data.Charges > 0 && !allyTarget.IsImmaterial && allyTarget.Health != allyTarget.MaxRecoveryHealth &&
                predictRMB.HitChancePercent >= 75f)
            {
                LocalPlayer.UpdateCursorPosition(predictRMB.MoveMousePosition);
                LocalPlayer.CastAbility(RmbSkill.Slot);
            }
        }