private static void Game_OnGameLoad(object obj) { if (!Player.IsChampion("Fiora")) { return; } Bootstrap.Initialize(); Menu = new Menu("jesuisFiora", "je suis Fiora", true); Menu.SetFontStyle(FontStyle.Regular, ScriptColor); Orbwalker = Menu.AddOrbwalker(); var hr = Menu.SubMenu("Orbwalker").Item("HoldPosRadius").GetValue <Slider>(); if (hr.Value < 60) { hr.Value = 60; Menu.SubMenu("Orbwalker").Item("HoldPosRadius").SetValue(hr); } var spells = Menu.AddMenu("Spells", "Spells"); var passive = Menu.AddMenu("Passive", "Vital Settings"); var wMenu = Menu.AddMenu("W", "W (SpellBlock)"); var orbwalker = passive.AddMenu("Orbwalker", "Orbwalk Vital"); orbwalker.AddKeyBind("OrbwalkPassive", "Orbwalk to Target Vital", 'N', KeyBindType.Toggle, true); orbwalker.Item("OrbwalkPassive").SetTooltip("Attempt to orbwalk to AA enemy vital.", ScriptColor); orbwalker.AddBool("OrbwalkCombo", "In Combo"); orbwalker.Item("OrbwalkCombo").SetTooltip("Only orbwalk to vital in Combo mode.", ScriptColor); orbwalker.AddBool("OrbwalkHarass", "In Harass"); orbwalker.Item("OrbwalkHarass").SetTooltip("Only orbwalk to vital in Harass mode.", ScriptColor); orbwalker.AddBool("OrbwalkPrepassive", "Orbwalk PreVital"); orbwalker.Item("OrbwalkPrepassive") .SetTooltip("Orbwalk to a vital before it has been identified.", ScriptColor); orbwalker.AddBool("OrbwalkUltPassive", "Orbwalk Ultimate Vital"); orbwalker.Item("OrbwalkUltPassive").SetTooltip("Orbwalk to ultimate vitals.", ScriptColor); orbwalker.AddBool("OrbwalkPassiveTimeout", "Orbwalk Near Timeout Vital"); orbwalker.Item("OrbwalkPassiveTimeout") .SetTooltip("Orbwalk to to vital as it is being timed out.", ScriptColor); orbwalker.AddBool("OrbwalkSelected", "Only Selected Target", true); orbwalker.Item("OrbwalkSelected") .SetTooltip("Target must be manually left clicked to orbwalk to vitals.", ScriptColor); orbwalker.AddBool("OrbwalkTurret", "Block Under Turret", false); orbwalker.Item("OrbwalkTurret").SetTooltip("In order to avoid walking under turrets.", ScriptColor); orbwalker.AddBool("OrbwalkQ", "Only if Q Down", false); orbwalker.Item("OrbwalkQ").SetTooltip("To avoid orbwalking to a vital that will be Q'ed to.", ScriptColor); orbwalker.AddBool("OrbwalkAARange", "Only in AA Range", false); orbwalker.Item("OrbwalkAARange").SetTooltip("Only orbwalk to vital if it is in AA range.", ScriptColor); orbwalker.AddBool("OrbwalkAA", "Only if not able to AA", false); orbwalker.Item("OrbwalkAA") .SetTooltip("Only orbwalk to vital if not able to AA, in order to avoid loss of dps.", ScriptColor); var qVital = passive.AddMenu("QVital", "Q Vital"); qVital.AddBool("QPassive", "Only Q to Vitals", true); qVital.Item("QPassive").SetTooltip("Attempt to only Q to Fiora's vital passive.", ScriptColor); qVital.AddBool("QUltPassive", "Q to Ultimate Vital"); qVital.Item("QUltPassive").SetTooltip("Q to ultimate vital passive.", ScriptColor); qVital.AddBool("QPrepassive", "Q to PreVital", false); qVital.Item("QPrepassive") .SetTooltip("Attempt to Q to vital before it has been identified. May not proc vital.", ScriptColor); qVital.AddBool("QPassiveTimeout", "Q to Near Timeout Vital"); qVital.Item("QPassiveTimeout") .SetTooltip("Q to vital as it is being timed out. May not proc vital.", ScriptColor); qVital.AddBool("QInVitalBlock", "Block Q inside Vital Polygon"); qVital.Item("QInVitalBlock").SetTooltip("Block Q if player is inside of enemy vital polygon.", ScriptColor); passive.AddBool("DrawCenter", "Draw Vital Center"); passive.Item("DrawCenter").SetTooltip("Draw the center of vital polygon. No FPS drops.", ScriptColor); passive.AddBool("DrawPolygon", "Draw Vital Polygon", false); passive.Item("DrawPolygon").SetTooltip("Draw the vital polygon. Possibly causes FPS drops.", ScriptColor); passive.AddSlider("SectorMaxRadius", "Vital Polygon Range", 310, 300, 400); passive.Item("SectorMaxRadius") .SetTooltip("The max range of vital polygon. Draw polygon to understand what this is.", ScriptColor); passive.AddSlider("SectorAngle", "Vital Polygon Angle", 70, 60, 90); passive.Item("SectorAngle") .SetTooltip("The angle of vital polygon. Draw polygon to understand what this is.", ScriptColor); var qMenu = spells.AddMenu("Q", "Q"); qMenu.AddBool("QCombo", "Use in Combo"); qMenu.AddBool("QHarass", "Use in Harass"); qMenu.AddSlider("QRangeDecrease", "Decrease Q Range", 10, 0, 150); Q.Range = 750 - qMenu.Item("QRangeDecrease").GetValue <Slider>().Value; qMenu.Item("QRangeDecrease").ValueChanged += (sender, eventArgs) => { Q.Range = 750 - eventArgs.GetNewValue <Slider>().Value; var qDraw = Menu.Item("QDraw"); if (qDraw == null) { return; } var qCircle = qDraw.GetValue <Circle>(); qDraw.SetValue(new Circle(qCircle.Active, qCircle.Color, Q.Range)); }; qMenu.AddBool("QBlockTurret", "Block Q Under Turret", false); qMenu.Item("QBlockTurret").SetTooltip("Don't Q under turret in combo/harass.", ScriptColor); qMenu.AddKeyBind("QFlee", "Q Flee", 'T'); qMenu.Item("QFlee").SetTooltip("Flees towards cursor position.", ScriptColor); //qMenu.AddInfo("FleeInfo", " --> Flees towards cursor position.", ScriptColor); qMenu.AddBool("QKillsteal", "Use for Killsteal"); var wSpells = wMenu.AddMenu("BlockSpells", "Blocked Spells"); wMenu.AddKeyBind("WSpells", "Enabled", 'U', KeyBindType.Toggle, true); wMenu.AddList("WMode", "W Spellblock to: ", new[] { "Spell Caster", "Target" }); wMenu.Item("WMode").SetTooltip("TR", ScriptColor); wMenu.AddBool("WKillsteal", "Use for Killsteal"); wMenu.AddBool("WSmart", "Smart W"); wMenu.Item("WSmart").SetTooltip("Don't W when Morg E or Edge of Darkness shield.", ScriptColor); wMenu.AddBool("WTurret", "Block W Under Enemy Turret", false); SpellBlock.Initialize(wSpells); Dispeller.Initialize(wSpells); var eMenu = spells.AddMenu("E", "E"); eMenu.AddBool("ECombo", "Use in Combo"); eMenu.AddBool("EHarass", "Use in Harass"); var rMenu = spells.AddMenu("R", "R"); var duelistMenu = rMenu.AddMenu("Duelist Champion", "Duelist Mode Champions"); foreach (var enemy in Enemies) { duelistMenu.AddBool("Duelist" + enemy.ChampionName, "Use on " + enemy.ChampionName); } rMenu.AddBool("RCombo", "Use R"); rMenu.AddList("RMode", "Cast Mode", new[] { "Duelist", "Combo" }); rMenu.Item("RMode") .SetTooltip("Duelist: Only cast when killable. Combo: Cast during normal combo.", ScriptColor); rMenu.AddKeyBind("RToggle", "Toggle Mode", 'L'); rMenu.Item("RToggle").SetTooltip("Toggles cast mode between Duelist and Combo.", ScriptColor); rMenu.Item("RToggle").ValueChanged += (sender, eventArgs) => { if (!eventArgs.GetNewValue <KeyBind>().Active) { return; } var mode = Menu.Item("RMode"); var index = mode.GetValue <StringList>().SelectedIndex == 0 ? 1 : 0; mode.SetValue(new StringList(new[] { "Duelist", "Combo" }, index)); }; rMenu.AddSlider("RKillVital", "Duelist Mode Min Vitals", 2, 0, 4); rMenu.Item("RKillVital").SetTooltip("Used for damage calculation in Duelist Mode", ScriptColor); rMenu.AddBool("RComboSelected", "Use R Selected on Selected Unit Only"); rMenu.Item("RComboSelected") .SetTooltip("Only cast R when enemy has been left clicked or selected.", ScriptColor); rMenu.AddBool("RSmartQ", "Use Smart Q in Ult"); var items = spells.AddMenu("Items", "Items"); items.AddBool("ItemsCombo", "Use in Combo"); items.AddBool("ItemsHarass", "Use in Harass"); spells.AddSlider("ManaHarass", "Harass Min Mana Percent", 40); var farm = Menu.AddMenu("Farm", "Farm"); var qFarm = farm.AddMenu("Farm", "Q"); qFarm.AddBool("QFarm", "Use Q in Farm"); qFarm.AddBool("QLastHit", "Q Last Hit (Only Killable)", false); qFarm.AddBool("QFarmAA", "Only Q out of AA Range", false); qFarm.AddSlider("QFarmMana", "Q Min Mana Percent", 40); var eFarm = farm.AddMenu("E", "E"); eFarm.AddBool("ELaneClear", "Use in LaneClear"); farm.AddKeyBind("FarmEnabled", "Farm Enabled", 'J', KeyBindType.Toggle); farm.Item("FarmEnabled").SetTooltip("Enabled in LastHit and LaneClear mode.", ScriptColor); farm.AddBool("ItemsLaneClear", "Use Items in LaneClear"); var draw = Menu.AddMenu("Drawing", "Drawing"); draw.AddCircle( "QVitalDraw", "Draw Q Vital Range", System.Drawing.Color.Purple, SpellManager.QSkillshotRange, false); draw.Item("QVitalDraw") .SetTooltip( "Must be in this range to hit vital. If force vital enabled, then it can only cast Q to target in this range.", ScriptColor); draw.AddCircle("QDraw", "Draw Q Max Range", System.Drawing.Color.Purple, Q.Range, false); draw.Item("QDraw").SetTooltip("The max range that Q can be cast and hit the target.", ScriptColor); draw.AddCircle("1Draw", "Draw W", System.Drawing.Color.DeepPink, W.Range, false); draw.AddCircle("3Draw", "Draw R", System.Drawing.Color.White, R.Range, false); draw.AddBool("DuelistDraw", "Duelist Mode: Killable Target"); draw.AddBool("WPermashow", "Permashow W Spellblock"); draw.AddBool("RPermashow", "Permashow R Mode"); draw.AddBool("FarmPermashow", "Permashow Farm Enabled"); draw.AddBool("OrbwalkPermashow", "Permashow Orbwalk Vital"); if (draw.Item("WPermashow").IsActive()) { wMenu.Item("WSpells").Permashow(true, "W SpellBlock", ScriptColor); } draw.Item("WPermashow").ValueChanged += (sender, eventArgs) => { wMenu.Item("WSpells").Permashow(eventArgs.GetNewValue <bool>(), "W SpellBlock", ScriptColor); }; if (draw.Item("RPermashow").IsActive()) { rMenu.Item("RMode").Permashow(true, null, ScriptColor); } draw.Item("RPermashow").ValueChanged += (sender, eventArgs) => { rMenu.Item("RMode").Permashow(eventArgs.GetNewValue <bool>(), null, ScriptColor); }; if (draw.Item("FarmPermashow").IsActive()) { farm.Item("FarmEnabled").Permashow(true, null, ScriptColor); } draw.Item("FarmPermashow").ValueChanged += (sender, eventArgs) => { farm.Item("FarmEnabled").Permashow(eventArgs.GetNewValue <bool>(), null, ScriptColor); }; if (draw.Item("OrbwalkPermashow").IsActive()) { orbwalker.Item("OrbwalkPassive").Permashow(true, null, ScriptColor); } draw.Item("OrbwalkPermashow").ValueChanged += (sender, eventArgs) => { orbwalker.Item("OrbwalkPassive").Permashow(eventArgs.GetNewValue <bool>(), null, ScriptColor); }; var dmg = draw.AddMenu("DamageIndicator", "Damage Indicator"); dmg.AddBool("DmgEnabled", "Draw Damage Indicator"); dmg.AddCircle("HPColor", "Predicted Health Color", System.Drawing.Color.White); dmg.AddCircle("FillColor", "Damage Color", System.Drawing.Color.HotPink); dmg.AddBool("Killable", "Killable Text"); var misc = Menu.AddMenu("Misc", "Misc"); /*ManaManager.Initialize(misc); * Q.SetManaCondition(ManaManager.ManaMode.Combo, 5); * Q.SetManaCondition(ManaManager.ManaMode.Harass, 5); * Q.SetManaCondition(ManaManager.ManaMode.Farm, 30); * E.SetManaCondition(ManaManager.ManaMode.Combo, 15); * E.SetManaCondition(ManaManager.ManaMode.Harass, 15); * E.SetManaCondition(ManaManager.ManaMode.Farm, 40); * R.SetManaCondition(ManaManager.ManaMode.Combo, 10); */ misc.AddList("TargetSelector", "Target Selector: ", new[] { "Normal", "Locked" }); misc.Item("TargetSelector").SetTooltip("Locked TS attempts to stick to the same target.", ScriptColor); misc.AddInfo("TSInfo", "Locked TS attempts to lock to the same target.", ScriptColor); misc.AddBool("Sounds", "Sounds"); Menu.AddInfo("Info", "By Trees and Lilith!", ScriptColor); Menu.AddToMainMenu(); if (Menu.Item("Sounds").IsActive()) { new SoundObject(Resources.OnLoad).Play(); } DamageIndicator.DamageToUnit = GetComboDamage; PassiveManager.Initialize(); Game.OnUpdate += Game_OnGameUpdate; //Orbwalking.BeforeAttack += BeforeAttack; Orbwalking.AfterAttack += AfterAttack; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Hero_OnProcessSpellCast; Drawing.OnDraw += Drawing_OnDraw; Game.PrintChat( "<font color=\"{0}\">jesuisFiora Loaded!</font>", System.Drawing.Color.DeepPink.ToHexString()); }
public static void Game_OnGameLoad() { if (!Player.IsChampion("Fiora")) { return; } TreeLib.SpellData.Evade.Init(); Menu = MainMenu.AddMenu("jesuisFiora", "je suis Fiora"); passiveM = Menu.AddSubMenu("Passive", "Vital Settings"); passiveM.AddGroupLabel("Orbwalker Vital"); passiveM.Add("OrbwalkPassive", new KeyBind("Orbwalk to Target Vital", true, KeyBind.BindTypes.PressToggle, 'N')); passiveM.Add("OrbwalkCombo", new CheckBox("In Combo")); passiveM.Add("OrbwalkHarass", new CheckBox("In Harass")); passiveM.Add("OrbwalkPrepassive", new CheckBox("Orbwalk PreVital")); passiveM.Add("OrbwalkUltPassive", new CheckBox("Orbwalk Ultimate Vital")); passiveM.Add("OrbwalkPassiveTimeout", new CheckBox("Orbwalk Near Timeout Vital")); passiveM.Add("OrbwalkSelected", new CheckBox("Only Selected Target", true)); passiveM.Add("OrbwalkTurret", new CheckBox("Block Under Turret", false)); passiveM.Add("OrbwalkQ", new CheckBox("Only if Q Down", false)); passiveM.Add("OrbwalkAARange", new CheckBox("Only in AA Range", false)); passiveM.Add("OrbwalkAA", new CheckBox("Only if not able to AA", false)); passiveM.AddSeparator(); passiveM.AddGroupLabel("Q Vital"); passiveM.Add("QPassive", new CheckBox("Only Q to Vitals", true)); passiveM.Add("QUltPassive", new CheckBox("Q to Ultimate Vital")); passiveM.Add("QPrepassive", new CheckBox("Q to PreVital", false)); passiveM.Add("QPassiveTimeout", new CheckBox("Q to Near Timeout Vital")); passiveM.Add("QInVitalBlock", new CheckBox("Block Q inside Vital Polygon")); passiveM.AddSeparator(); passiveM.Add("DrawCenter", new CheckBox("Draw Vital Center")); passiveM.Add("DrawPolygon", new CheckBox("Draw Vital Polygon", false)); passiveM.Add("SectorMaxRadius", new Slider("Vital Polygon Range", 310, 300, 400)); passiveM.Add("SectorAngle", new Slider("Vital Polygon Angle", 70, 60, 90)); passiveM.AddSeparator(); qMenu = Menu.AddSubMenu("Q", "Q"); qMenu.Add("QCombo", new CheckBox("Use in Combo")); qMenu.Add("QHarass", new CheckBox("Use in Harass")); qMenu.Add("QRangeDecrease", new Slider("Decrease Q Range", 10, 0, 150)); Q.Range = 750 - qMenu["QRangeDecrease"].Cast <Slider>().CurrentValue; qMenu["QRangeDecrease"].Cast <Slider>().OnValueChange += (sender, eventArgs) => { Q.Range = 750 - eventArgs.NewValue; }; qMenu.Add("QBlockTurret", new CheckBox("Block Q Under Turret", false)); qMenu.Add("QFlee", new KeyBind("Q Flee", false, KeyBind.BindTypes.HoldActive, 'T')); qMenu.Add("QKillsteal", new CheckBox("Use for Killsteal")); wSpells = Menu.AddSubMenu("Blocked Spells"); wSpells.Add("WSpells", new KeyBind("Enabled", true, KeyBind.BindTypes.PressToggle, 'U')); wSpells.Add("WMode", new ComboBox("W Spellblock to: ", 0, "Spell Caster", "Target")); wSpells.Add("WKillsteal", new CheckBox("Use for Killsteal")); wSpells.Add("WTurret", new CheckBox("Block W Under Enemy Turret", false)); SpellBlock.Initialize(wSpells); Dispeller.Initialize(wSpells); eMenu = Menu.AddSubMenu("E", "E"); eMenu.Add("ECombo", new CheckBox("Use in Combo")); eMenu.Add("EHarass", new CheckBox("Use in Harass")); rMenu = Menu.AddSubMenu("R", "R"); rMenu.AddGroupLabel("Duelist Mode Champions"); foreach (var enemy in Enemies) { rMenu.Add("Duelist" + enemy.ChampionName, new CheckBox("Use on " + enemy.ChampionName)); } rMenu.AddSeparator(); rMenu.Add("RCombo", new CheckBox("Use R")); rMenu.Add("RMode", new ComboBox("Cast Mode", 0, "Duelist", "Combo")); rMenu.Add("RToggle", new KeyBind("Toggle Mode", false, KeyBind.BindTypes.HoldActive, 'L')); rMenu["RToggle"].Cast <KeyBind>().OnValueChange += (sender, eventArgs) => { if (!eventArgs.NewValue) { return; } var mode = rMenu["RMode"].Cast <ComboBox>().CurrentValue; var index = mode == 0 ? 1 : 0; mode = index; }; rMenu.Add("RKillVital", new Slider("Duelist Mode Min Vitals", 2, 0, 4)); rMenu.Add("RComboSelected", new CheckBox("Use R Selected on Selected Unit Only")); rMenu.Add("RSmartQ", new CheckBox("Use Smart Q in Ult")); items = Menu.AddSubMenu("Items", "Items"); items.Add("ItemsCombo", new CheckBox("Use in Combo")); items.Add("ItemsHarass", new CheckBox("Use in Harass")); farm = Menu.AddSubMenu("Farm", "Farm"); farm.AddGroupLabel("Q"); farm.Add("QFarm", new CheckBox("Use Q in Farm")); farm.Add("QLastHit", new CheckBox("Q Last Hit (Only Killable)", false)); farm.Add("QFarmAA", new CheckBox("Only Q out of AA Range", false)); farm.Add("QFarmMana", new Slider("Q Min Mana Percent", 40)); farm.AddSeparator(); farm.AddGroupLabel("E"); farm.Add("ELaneClear", new CheckBox("Use in LaneClear")); farm.AddSeparator(); farm.Add("FarmEnabled", new KeyBind("Farm Enabled", false, KeyBind.BindTypes.PressToggle, 'J')); farm.Add("ItemsLaneClear", new CheckBox("Use Items in LaneClear")); draw = Menu.AddSubMenu("Drawing", "Drawing"); draw.Add("QVitalDraw", new CheckBox("Draw Q Vital Range")); //, System.Drawing.Color.Purple, SpellManager.QSkillshotRange, false); draw.Add("QDraw", new CheckBox("Draw Q Max Range")); //, System.Drawing.Color.Purple, Q.Range, false); draw.Add("1Draw", new CheckBox("Draw W")); //, System.Drawing.Color.DeepPink, W.Range, false); draw.Add("3Draw", new CheckBox("Draw R")); //, System.Drawing.Color.White, R.Range, false); draw.Add("DuelistDraw", new CheckBox("Duelist Mode: Killable Target")); misc = Menu.AddSubMenu("Misc", "Misc"); misc.Add("ManaHarass", new Slider("Harass Min Mana Percent", 40)); PassiveManager.Initialize(); Game.OnUpdate += Game_OnGameUpdate; Orbwalker.OnPostAttack += AfterAttack; Obj_AI_Base.OnProcessSpellCast += AIHeroClient_OnProcessSpellCast; Drawing.OnDraw += Drawing_OnDraw; Chat.Print("<font color=\"{0}\">jesuisFiora Loaded!</font>", System.Drawing.Color.DeepPink); }