Esempio n. 1
0
        public static void Tick(EventArgs args)
        {
            // initial things
            me = ObjectMgr.LocalHero;
            if ((Game.IsKeyDown(Menu.Item("2001").GetValue<KeyBind>().Key)) || (Game.IsKeyDown(Menu.Item("2002").GetValue<KeyBind>().Key)) || target == null || Utils.SleepCheck("selected"))
            {
                target = me.ClosestToMouseTarget(1000);
                Utils.Sleep(1200,"selected");
            }
            if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame || Game.IsChatOpen)
                return;
            if (me.ClassID != ClassID.CDOTA_Unit_Hero_Necrolyte)
                return;
            if (me == null || target == null)
                return;
            // skills
            if (Qskill == null)
                Qskill = me.Spellbook.Spell1;
            if (Rskill == null)
                Rskill = me.Spellbook.Spell4;
            // itens
            Blink = me.FindItem("item_blink");
            shadow = me.FindItem("item_invis_sword");
            silveredge = me.FindItem("item_silver_edge");
            dagon = me.Inventory.Items.FirstOrDefault(x => x.Name.Contains("item_dagon"));
            ethereal = me.FindItem("item_ethereal_blade");
            veil = me.FindItem("item_veil_of_discord");
            euls = me.FindItem("item_cyclone");
            shivas = me.FindItem("item_shivas_guard");
            malevo = me.FindItem("item_orchid");
            forcestaff = me.FindItem("item_force_staff");
            int ComboDamage = 0;
            if (target != null && !target.IsIllusion)
                ComboDamage = Damagetokill();
            else
                ComboDamage = 0;
            //Starting Combo
            var blinkposition = ((me.Position - target.Position) * 300 / me.Distance2D(target) + target.Position);
            var IsLinkensProtected = (target.Modifiers.Any(x => x.Name == "modifier_item_sphere_target") || (target.FindItem("item_sphere") != null && (target.FindItem("item_sphere").Cooldown <= 0)));
            var _Is_in_Advantage = (target.Modifiers.Any(x => x.Name == "modifier_item_blade_mail_reflect") || target.Modifiers.Any(x => x.Name == "modifier_item_lotus_orb_active") || target.Modifiers.Any(x => x.Name == "modifier_nyx_assassin_spiked_carapace") || target.Modifiers.Any(x => x.Name == "modifier_templar_assassin_refraction_damage") || target.Modifiers.Any(x => x.Name == "modifier_ursa_enrage") || target.Modifiers.Any(x => x.Name == "modifier_abaddon_borrowed_time") || (target.Modifiers.Any(x => x.Name == "modifier_dazzle_shallow_grave")));
            var WindWalkMod = me.Modifiers.Any(x => x.Name == "modifier_item_silver_edge_windwalk" || x.Name == "modifier_item_invisibility_edge_windwalk");
            if (((Game.IsKeyDown(Menu.Item("2001").GetValue<KeyBind>().Key) && (ComboDamage <= 0 || stage == 1) && me.Distance2D(target) <= 1000 && target.IsVisible && target.IsAlive && !target.IsMagicImmune() && !target.IsIllusion && target != null && !_Is_in_Advantage) || ( me.Distance2D(target) <= 1000 && target.IsVisible && target.IsAlive && !target.IsMagicImmune() && !target.IsIllusion && target != null && Game.IsKeyDown(Menu.Item("2002").GetValue<KeyBind>().Key))) && Utils.SleepCheck("combo"))
            {
                stage = 1;
                if (me.CanCast() && !me.IsChanneling())
                {
                    if (WindWalkMod)
                    {
                        me.Attack(target);
                        Utils.ChainStun(me, Game.Ping + shadow.GetCastDelay(me, target, true, true), null, false);
                    }
                    else
                    {
                        if (IsLinkensProtected && (!WindWalkMod))
                        {
                            if (euls != null && euls.Cooldown <= 0 && IsLinkensProtected && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(euls.Name))
                            {
                                euls.UseAbility(target);
                                Utils.ChainStun(me,Game.Ping+euls.GetCastDelay(me,target,true,true),null,false);
                            }
                            else if (forcestaff != null && forcestaff.Cooldown <= 0 && IsLinkensProtected && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(forcestaff.Name))
                            {
                                forcestaff.UseAbility(target);
                                Utils.ChainStun(me, Game.Ping + forcestaff.GetCastDelay(me, target, true, true), null, false);
                            }
                            else if (dagon != null && dagon.Cooldown <= 0 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled("item_dagon"))
                            {
                                dagon.UseAbility(target);
                                Utils.ChainStun(me, Game.Ping + dagon.GetCastDelay(me, target, true, true), null, false);
                            }
                            else if (ethereal != null && ethereal.Cooldown <= 0 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(ethereal.Name))
                            {
                                ethereal.UseAbility(target);
                                Utils.ChainStun(me, Game.Ping + ethereal.GetCastDelay(me, target, true, true), null, false);
                            }
                        }
                        else if (!IsLinkensProtected && (!WindWalkMod))
                        {
                            if (Blink != null && Blink.Cooldown <= 0 && me.Distance2D(blinkposition) > 300 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(Blink.Name))
                            {
                                Blink.UseAbility(blinkposition);
                                Utils.ChainStun(me, Game.Ping + Blink.GetCastDelay(me, target, true, true), null, false);
                            }
                            if (malevo != null && malevo.Cooldown <= 0 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(malevo.Name))
                            {
                                malevo.UseAbility(target);
                                Utils.ChainStun(me, Game.Ping + malevo.GetCastDelay(me, target, true, true), null, false);
                            }
                            if (Rskill.Cooldown <= 0 && Menu.Item("Abilities: ").GetValue<AbilityToggler>().IsEnabled(Rskill.Name))
                            {
                                Rskill.UseAbility(target);
                                Utils.ChainStun(me, Game.Ping + Rskill.GetCastDelay(me, target, true, true), null, false);
                            }
                            if (ethereal != null && ethereal.Cooldown <= 0 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(ethereal.Name))
                            {
                                ethereal.UseAbility(target);
                                Utils.ChainStun(me, Game.Ping + ethereal.GetCastDelay(me, target, true, true), null, false);
                                ethereal_used = true;
                                ethereal_used2 = true;
                            }
                            else
                            {
                                ethereal_used = false;
                                ethereal_used2 = false;
                            }
                            if (veil != null && veil.Cooldown <= 0 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(veil.Name))
                            {
                                veil.UseAbility(target.Position);
                                Utils.ChainStun(me, Game.Ping + veil.GetCastDelay(me, target, true, true), null, false);
                            }
                            if (Qskill.Level > 0 && Qskill.Cooldown <= 0 && me.Distance2D(target) < 450 && Menu.Item("Abilities: ").GetValue<AbilityToggler>().IsEnabled(Qskill.Name))
                            {
                                if (ethereal_used2 && target.Modifiers.Any(x => x.Name == "modifier_item_ethereal_blade_ethereal"))
                                {
                                    Qskill.UseAbility();
                                    Utils.ChainStun(me, Game.Ping + Qskill.GetCastDelay(me, target, true, true), null, false);
                                    if (!Qskill.CanBeCasted())
                                        ethereal_used2 = false;
                                }
                                else if (!ethereal_used2)
                                {
                                    Qskill.UseAbility();
                                    Utils.ChainStun(me, Game.Ping + Qskill.GetCastDelay(me, target, true, true), null, false);
                                }
                            }
                            if (dagon != null && dagon.Cooldown <= 0 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled("item_dagon"))
                            {
                                if (ethereal_used && target.Modifiers.Any(x => x.Name == "modifier_item_ethereal_blade_ethereal"))
                                {
                                    dagon.UseAbility(target);
                                    Utils.ChainStun(me, Game.Ping + dagon.GetCastDelay(me, target, true, true), null, false);
                                    if (!dagon.CanBeCasted())
                                        ethereal_used = false;
                                }
                                else if(!ethereal_used)
                                {
                                    dagon.UseAbility(target);
                                    Utils.ChainStun(me, Game.Ping + dagon.GetCastDelay(me, target, true, true), null, false);
                                }
                            }
                            if (shivas != null && shivas.Cooldown <= 0 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(shivas.Name))
                            {
                                shivas.UseAbility();
                                Utils.ChainStun(me, Game.Ping + shivas.GetCastDelay(me, target, true, true), null, false);
                            }
                            Utils.Sleep(200, "combo");
                            if((shivas == null || shivas.Cooldown > 0) && (dagon == null || dagon.Cooldown > 0) && (Qskill == null || Qskill.Cooldown > 0) && (veil == null || veil.Cooldown > 0) && (shivas == null || shivas.Cooldown > 0) && (ethereal == null || ethereal.Cooldown > 0) && (Rskill == null || Rskill.Cooldown > 0) && (malevo == null || malevo.Cooldown > 0))
                                stage = 0;
                        }
                    }
                }
            }

        }
Esempio n. 2
0
        private static int ComboDamage()
        {
            InitialValues();
            if (target == null || me == null)
            {
                return(0);
            }
            float damage = 0;

            if (Rskill.CanBeCasted() && !me.AghanimState() && item_state(Rskill.Name, 3))
            {
                damage = (int)Math.Floor((UltDmg[Rskill.Level - 1] / (1 + UltDmg[Rskill.Level - 1])) * target.MaximumHealth);
            }
            else if (Rskill.CanBeCasted() && me.AghanimState() && item_state(Rskill.Name, 3))
            {
                damage = (int)Math.Floor((AUltDmg[Rskill.Level - 1] / (1 + AUltDmg[Rskill.Level - 1])) * target.MaximumHealth);
            }
            else
            {
                damage = 0;
            }
            if (_item_dagon.CanBeCasted() && item_state(_item_dagon.Name, 1))
            {
                damage += DDamage[_item_dagon.Level - 1];
            }
            if (_item_shivas_guard.CanBeCasted() && item_state(_item_shivas_guard.Name, 1))
            {
                damage += 200;
            }
            if (Qskill.Level > 0 && Qskill.CanBeCasted() && item_state(Qskill.Name, 3) && (me.Distance2D(target) < 450))
            {
                int[] Qskilldamage = new int[4] {
                    125, 175, 225, 275
                };
                damage += Qskilldamage[Qskill.Level - 1];
            }
            double multiplier = 1;

            //Bonus ethereal and veil
            if (_item_veil.CanBeCasted() && !target.Modifiers.Any(x => x.Name == "modifier_item_veil_of_discord_debuff") && item_state(_item_veil.Name, 1))
            {
                multiplier *= 1.25;
            }
            if (_item_ethereal.CanBeCasted() && !target.Modifiers.Any(x => x.Name == "modifier_item_ethereal_blade_ethereal") && item_state(_item_ethereal.Name, 1))
            {
                multiplier *= 1.40;
            }
            multiplier = (multiplier - 1) * 100;
            damage     = target.DamageTaken(damage, DamageType.Magical, me, false, 0, 0, multiplier);
            if (_item_ethereal.CanBeCasted() && item_state(_item_ethereal.Name, 1))
            {
                int damageethereal = (int)Math.Floor(((me.TotalIntelligence * 2) + 75));
                damage += (int)(damageethereal * (1 - target.MagicDamageResist));
            }
            bool WindWalkMod = me.Modifiers.Any(x => x.Name == "modifier_item_silver_edge_windwalk" || x.Name == "modifier_item_invisibility_edge_windwalk");

            if (WindWalkMod)
            {
                if (me.Modifiers.Any(x => x.Name == "modifier_item_silver_edge_windwalk"))
                {
                    damage += (int)((me.MinimumDamage * (1 - (target.DamageResist))) + 225);
                }
                else if (me.Modifiers.Any(x => x.Name == "modifier_item_invisibility_edge_windwalk"))
                {
                    damage += (int)((me.MinimumDamage * (1 - (target.DamageResist))) + 175);
                }
            }
            return((int)damage);
        }
Esempio n. 3
0
        static int Damagetokill()
        {
            veil = me.FindItem("item_veil_of_discord");
            ethereal = me.FindItem("item_ethereal_blade");
            malevo = me.FindItem("item_orchid");
            if (target == null || me == null)
                return (0);
            int damagetokill = 0;
            if (target != null) {
                if (Rskill.Level > 0 && Rskill.CanBeCasted() && !me.AghanimState() && Menu.Item("Abilities: ").GetValue<AbilityToggler>().IsEnabled(Rskill.Name))
                    damagetokill = (int)Math.Floor((UltDmg[Rskill.Level - 1] / (1 + UltDmg[Rskill.Level - 1])) * target.MaximumHealth);
                else if (Rskill.Level > 0 && Rskill.CanBeCasted() && me.AghanimState() && Menu.Item("Abilities: ").GetValue<AbilityToggler>().IsEnabled(Rskill.Name))
                    damagetokill = (int)Math.Floor((AUltDmg[Rskill.Level - 1] / (1 + AUltDmg[Rskill.Level - 1])) * target.MaximumHealth);
                else
                    damagetokill = 0;
            }
            //Magic Damage
            int dagondamage = 0;
            if (dagon != null && dagon.CanBeCasted() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled("item_dagon"))
            {
                dagondamage = DDamage[dagon.Level - 1];
                damagetokill += dagondamage;
            }
            if (shivas != null && shivas.Cooldown <= 0 && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(shivas.Name))
            {
                damagetokill += 200;
            }
            if (Qskill.Level > 0 && Qskill.CanBeCasted() && Menu.Item("Abilities: ").GetValue<AbilityToggler>().IsEnabled(Qskill.Name) && (me.Distance2D(target) < 450 || (Blink != null && Blink.CanBeCasted())))
            {
                int[] Qskilldamage = new int[4] { 125, 175, 225, 275 };
                damagetokill += Qskilldamage[Qskill.Level - 1];
            }
            double multiplier = 1;
            //Malevolence Bonus
            if (malevo != null && malevo.CanBeCasted() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(malevo.Name))
                damagetokill = (int)(damagetokill * (1.3 * (1 - target.MagicDamageResist)));
            //Bonus ethereal and veil
            if (veil != null && veil.CanBeCasted() && !target.Modifiers.Any(x => x.Name == "modifier_item_veil_of_discord_debuff") && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(veil.Name))
                multiplier += 0.25;
            if (ethereal != null && ethereal.CanBeCasted() && !target.Modifiers.Any(x => x.Name == "modifier_item_ethereal_blade_ethereal") && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(ethereal.Name))
                multiplier += 0.40;
            damagetokill = (int)(damagetokill * (multiplier * (1 - target.MagicDamageResist)));
            //ethereal will not gain 40 % bonus.
            if (ethereal != null && ethereal.CanBeCasted() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(ethereal.Name))
            {
                int damageethereal = (int)Math.Floor(((me.TotalIntelligence * 2) + 75));
                damagetokill += (int)(damageethereal * (1 - target.MagicDamageResist));
            }
            var WindWalkMod2 = me.Modifiers.Any(x => x.Name == "modifier_item_silver_edge_windwalk" || x.Name == "modifier_item_invisibility_edge_windwalk");
            if (WindWalkMod2)
            {
                if (me.Modifiers.Any(x => x.Name == "modifier_item_silver_edge_windwalk"))
                    damagetokill += (int)((me.MinimumDamage * (1 - (target.DamageResist))) + 225);
                else if (me.Modifiers.Any(x => x.Name == "modifier_item_invisibility_edge_windwalk"))
                    damagetokill += (int)((me.MinimumDamage * (1 - (target.DamageResist))) + 175);
            }
            // final calculation
            damagetokill = (int)(target.Health - damagetokill);
            return damagetokill;

        }
Esempio n. 4
0
 private static void reaper(EventArgs args)
 {
     if (Game.IsPaused || !Game.IsInGame || Game.IsWatchingGame)
     {
         return;
     }
     me = ObjectMgr.LocalHero;
     if (me == null || me.ClassID != ClassID.CDOTA_Unit_Hero_Necrolyte)
     {
         return;
     }
     if (Game.IsKeyDown(Menu.Item("Combo").GetValue <KeyBind>().Key) && !Game.IsChatOpen)
     {
         if (Utils.SleepCheck("locktarget"))
         {
             target = me.ClosestToMouseTarget(1000);
         }
         if (target == null)
         {
             return;
         }
         InitialValues();
         bool combo_type = true;
         if (Menu.Item("Type").GetValue <StringList>().SelectedIndex == 0)
         {
             bool _Is_in_Advantage = (target.Modifiers.Any(x =>
                                                           x.Name == "modifier_item_blade_mail_reflect" ||
                                                           x.Name == "modifier_item_lotus_orb_active" ||
                                                           x.Name == "modifier_nyx_assassin_spiked_carapace" ||
                                                           x.Name == "modifier_templar_assassin_refraction_damage" ||
                                                           x.Name == "modifier_ursa_enrage" ||
                                                           x.Name == "modifier_abaddon_borrowed_time"));
             combo_type = target.Health <= ComboDamage() && !_Is_in_Advantage && target.CanDie();
         }
         else if (Menu.Item("Type").GetValue <StringList>().SelectedIndex == 1)
         {
             bool _Is_in_Advantage = (target.Modifiers.Any(x =>
                                                           x.Name == "modifier_item_blade_mail_reflect" ||
                                                           x.Name == "modifier_item_lotus_orb_active" ||
                                                           x.Name == "modifier_nyx_assassin_spiked_carapace" ||
                                                           x.Name == "modifier_templar_assassin_refraction_damage" ||
                                                           x.Name == "modifier_ursa_enrage" ||
                                                           x.Name == "modifier_abaddon_borrowed_time"));
             combo_type = target.Health <= ComboDamage() && !_Is_in_Advantage;
         }
         else
         {
             combo_type = true;
         }
         if ((combo_type || combo_state) && !target.IsInvul())
         {
             Bool WindWalkMod = me.Modifiers.Any(x =>
                                                 x.Name == "modifier_item_silver_edge_windwalk" ||
                                                 x.Name == "modifier_item_invisibility_edge_windwalk");
             Utils.Sleep(500, "locktarget");
             if (WindWalkMod)
             {
                 if (Utils.SleepCheck("attacking"))
                 {
                     me.Attack(target);
                     Utils.Sleep(150, "attacking");
                 }
             }
             else
             {
                 if (!combo_state)
                 {
                     combo_state = true;
                     Utils.Sleep(3000, "MAXCOMBOTIME");
                 }
                 if (Utils.SleepCheck("MAXCOMBOTIME"))
                 {
                     combo_state = false;
                 }
                 if (target.IsLinkensProtected())
                 {
                     if (Utils.SleepCheck("LINKENS"))
                     {
                         if (_item_cyclone.CanBeCasted() && item_state(_item_cyclone.Name, 2))
                         {
                             _item_cyclone.UseAbility(target, false);
                             Utils.Sleep(150, "LINKENS");
                         }
                         else if (_item_force_staff.CanBeCasted() && item_state(_item_force_staff.Name, 2))
                         {
                             _item_force_staff.UseAbility(target, false);
                             Utils.Sleep(150, "LINKENS");
                         }
                         else if (_item_orchid.CanBeCasted() && item_state(_item_orchid.Name, 2))
                         {
                             _item_orchid.UseAbility(target, false);
                             Utils.Sleep(150, "LINKENS");
                         }
                         else if (_item_ethereal.CanBeCasted() && item_state(_item_ethereal.Name, 2))
                         {
                             _item_ethereal.UseAbility(target, false);
                             Utils.Sleep(150, "LINKENS");
                         }
                         else if (_item_dagon.CanBeCasted() && item_state(_item_dagon.Name, 2))
                         {
                             _item_dagon.UseAbility(target, false);
                             Utils.Sleep(150, "LINKENS");
                         }
                     }
                 }
                 else
                 {
                     if (Rskill.CanBeCasted() && item_state(Rskill.Name, 3) && Utils.SleepCheck("Ulting"))
                     {
                         Rskill.UseAbility(target, false);
                         Utils.Sleep(150, "Ulting");
                     }
                     else if (!Rskill.CanBeCasted() || !item_state(Rskill.Name, 3))
                     {
                         bool CanDamage = (!_item_veil.CanBeCasted() || !item_state(_item_veil.Name, 1)) && (!_item_ethereal.CanBeCasted() || !item_state(_item_ethereal.Name, 1)) && (!_item_orchid.CanBeCasted() || !item_state(_item_orchid.Name, 1));
                         if (!CanDamage)
                         {
                             if (Utils.SleepCheck("Amply"))
                             {
                                 if (_item_orchid.CanBeCasted() && item_state(_item_orchid.Name, 1))
                                 {
                                     _item_orchid.UseAbility(target, false);
                                     Utils.Sleep(150, "Amply");
                                 }
                                 if (_item_veil.CanBeCasted() && item_state(_item_veil.Name, 1))
                                 {
                                     _item_veil.UseAbility(target.Position, false);
                                     Utils.Sleep(150, "Amply");
                                 }
                                 if (_item_ethereal.CanBeCasted() && item_state(_item_ethereal.Name, 1))
                                 {
                                     _item_ethereal.UseAbility(target, false);
                                     Utils.Sleep(150, "Amply");
                                     Utils.Sleep((me.Distance2D(target) / 1200) + 170, "DAMAGE");
                                 }
                             }
                         }
                         else
                         {
                             if (Utils.SleepCheck("DAMAGE"))
                             {
                                 if (Qskill.CanBeCasted() && item_state(Qskill.Name, 3) && me.NetworkPosition.Distance2D(target.NetworkPosition) <= 450)
                                 {
                                     Qskill.UseAbility(false);
                                     Utils.Sleep(150, "DAMAGE");
                                 }
                                 if (_item_dagon.CanBeCasted() && item_state(_item_dagon.Name, 1))
                                 {
                                     _item_dagon.UseAbility(target, false);
                                     Utils.Sleep(150, "DAMAGE");
                                 }
                                 if (_item_shivas_guard.CanBeCasted() && item_state(_item_shivas_guard.Name, 1) && me.NetworkPosition.Distance2D(target.NetworkPosition) <= 800)
                                 {
                                     _item_shivas_guard.UseAbility(false);
                                     Utils.Sleep(150, "DAMAGE");
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }