public void SetAbilities(Abilities abilities) { this.abilities = abilities; }
private void OnNewGameState(GameState gs) { gs_dump = gs; if (gs.IsSpectator) { playing = false; } else { abilities = gs.Abilities; items = gs.Items; playing = true; clockTime = gs.Map.ClockTime; alive = gs.Hero.IsAlive; wardsCD = gs.Map.Ward_Purchase_Cooldown; if (wardsCD > 0) { warnWards = true; } if (clockTime % 2 == 1) { canTimeTrigger = true; } if (alive) { //URSA AGHS if (mainForm.StunBreakUlt() && gs.Hero.Name == "npc_dota_hero_ursa" && gs.Hero.IsStunned && items.InventoryContains("item_ultimate_scepter")) { if (items.InventoryIndexOf("item_ultimate_scepter") < 6) { ActionExecuter.ExecuteAbility("R", "", mainForm.QuickCast(), this, true); } } //ABBA ULT if (mainForm.StunBreakUlt() && gs.Hero.Name == "npc_dota_hero_abaddon" && (gs.Hero.IsStunned || gs.Hero.IsBreak)) { ActionExecuter.ExecuteAbility("R", "", mainForm.QuickCast(), this, true); } //AEON DISK /*if (main form check field && gs.Items.InventoryContains("item_aeon_disk")) * { * int index = items.InventoryIndexOf("item_aeon_disk"); * Item aeonDisk = gs.Items.GetInventoryAt(index); * if (aeonDisk.Cooldown > 0 && canAeonDiskTrigger && index < 6) * { * if (mainForm.SelectHero()) KBMHelper.SelectHero(VirtualKeyCode.F1); * ActionExecuter.ExecuteItem("item_black_king_bar", "", mainForm.QuickCast(), this, true); * canAeonDiskTrigger = false; * } * if (aeonDisk.Cooldown == 0) * { * canAeonDiskTrigger = true; * } * }*/ //DROW AURA if (mainForm.DrowAura() && gs.Hero.Name == "npc_dota_hero_drow_ranger") { ActionExecuter.ExecuteAbility("E", "", mainForm.QuickCast(), this, true); } if (mainForm.Buckler()) { ActionExecuter.ExecuteItem("item_buckler", "", mainForm.QuickCast(), this, true); } //LINKENS AND AM AGHS if (((mainForm.AmAghs() && gs.Hero.Name == "npc_dota_hero_antimage" && items.InventoryContains("item_ultimate_scepter")) || items.InventoryContains("item_sphere")) && mainForm.Linkens()) { string name; int cd = 0; int index = 6; if (items.InventoryContains("item_sphere")) { name = "item_sphere"; index = items.InventoryIndexOf(name); cd = items.GetInventoryAt(index).Cooldown; if (index > 5 && mainForm.AmAghs() && gs.Hero.Name == "npc_dota_hero_antimage") { name = "item_ultimate_scepter"; index = items.InventoryIndexOf(name); cd = abilities[2].Cooldown; } } else { name = "item_ultimate_scepter"; index = items.InventoryIndexOf(name); cd = abilities[2].Cooldown; } if (canSphereTrigger && index < 6 && cd > 0) { SimpleParser(mainForm.LinkensActions()); canSphereTrigger = false; } if (cd == 0) { canSphereTrigger = true; } } if (gs.Hero.IsSilenced && mainForm.Silenced()) { SimpleParser(mainForm.SilencedActions()); } if ((gs.Hero.IsMuted || gs.Hero.IsBreak) && mainForm.MutedBreak()) { SimpleParser(mainForm.MutedBreakActions()); } if (gs.Hero.IsDisarmed && mainForm.Disarmed()) { SimpleParser(mainForm.DisarmedActions()); } if (mainForm.HP() && (gs.Hero.Health <= mainForm.MinHP() || gs.Hero.HealthPercent <= mainForm.MinHPPercent())) { SimpleParser(mainForm.HPActions()); } if (mainForm.Mana() && (gs.Hero.Mana <= mainForm.MinMana() || gs.Hero.ManaPercent <= mainForm.MinManaPercent())) { SimpleParser(mainForm.ManaActions()); } if ((gs.Hero.IsStunned /*|| gs.Hero.IsHexed*/) && mainForm.Disabled()) { SimpleParser(mainForm.DisabledActions()); } } } }