private static void SpellMissile_ZedShadowDash(GameObject obj, EventArgs args) { if (!obj.IsValid <MissileClient>()) { return; } MissileClient missile = (MissileClient)obj; if (missile.SpellCaster.IsEnemy && missile.SData.Name == "ZedShadowDashMissile") { if (!objTracker.ContainsKey(obj.NetworkId)) { ObjectTrackerInfo info = new ObjectTrackerInfo(obj); info.Name = "Shadow"; info.OwnerNetworkID = missile.SpellCaster.NetworkId; info.usePosition = true; info.position = missile.EndPosition; objTracker.Add(obj.NetworkId, info); DelayAction.Add(1000, () => objTracker.Remove(obj.NetworkId)); } } }
public static void LoadSpecialSpell(SpellData spellData) { if (spellData.isThreeWay && !pDict.ContainsKey("ProcessSpell_ProcessThreeWay")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ThreeWay; pDict["ProcessSpell_ProcessThreeWay"] = true; } if (spellData.spellName == "ZiggsQ" && !pDict.ContainsKey("ProcessSpell_ProcessZiggsQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZiggsQ; pDict["ProcessSpell_ProcessZiggsQ"] = true; } if (spellData.spellName == "ZedShuriken" && !pDict.ContainsKey("ProcessSpell_ProcessZedShuriken")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZedShuriken; Obj_SpellMissile.OnCreate += SpellMissile_ZedShadowDash; Obj_AI_Minion.OnCreate += OnCreateObj_ZedShuriken; Obj_AI_Minion.OnDelete += OnDeleteObj_ZedShuriken; pDict["ProcessSpell_ProcessZedShuriken"] = true; } if (spellData.spellName == "LuluQ" && !pDict.ContainsKey("ProcessSpell_LuluQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LuluQ; GetLuluPix(); pDict["ProcessSpell_LuluQ"] = true; } if (spellData.spellName == "OrianaIzunaCommand" && !pDict.ContainsKey("ProcessSpell_OrianaIzunaCommand")) { foreach (var hero in HeroManager.Enemies) { if (hero.ChampionName == "Orianna") { ObjectTrackerInfo info = new ObjectTrackerInfo(hero); info.Name = "TheDoomBall"; info.OwnerNetworkID = hero.NetworkId; objTracker.Add(hero.NetworkId, info); } } Obj_AI_Minion.OnCreate += OnCreateObj_OrianaIzunaCommand; Obj_AI_Minion.OnDelete += OnDeleteObj_OrianaIzunaCommand; Obj_AI_Hero.OnProcessSpellCast += ProcessSpell_OrianaRedactCommand; SpellDetector.OnProcessSpecialSpell += ProcessSpell_OrianaIzunaCommand; pDict["ProcessSpell_OrianaIzunaCommand"] = true; } if (spellData.spellName == "AlZaharCalloftheVoid" && !pDict.ContainsKey("ProcessSpell_AlZaharCalloftheVoid")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AlZaharCalloftheVoid; pDict["ProcessSpell_AlZaharCalloftheVoid"] = true; } }
private static void OnCreateObj_jayceshockblast(GameObject obj, EventArgs args, Obj_AI_Hero hero, SpellData spellData) { return; if (obj.IsEnemy && obj.Type == GameObjectType.obj_GeneralParticleEmitter && obj.Name.Contains("Jayce") && obj.Name.Contains("accel_gate_start")) { var dir = GetLastHiuOrientation(); var pos1 = obj.Position.To2D() - dir * 470; var pos2 = obj.Position.To2D() + dir * 470; var gateTracker = new ObjectTrackerInfo(obj, "AccelGate"); gateTracker.direction = dir.To3D(); objTracker.Add(obj.NetworkId, gateTracker); foreach (var entry in SpellDetector.spells) { var spell = entry.Value; if (spell.info.spellName == "jayceshockblast") { var tHero = spell.heroID; var intersection = spell.startPos.Intersection(spell.endPos, pos1, pos2); var projection = intersection.Point.ProjectOn(spell.startPos, spell.endPos); if (intersection.Intersects && projection.IsOnSegment) { SpellDetector.CreateSpellData(hero, intersection.Point.To3D(), spell.endPos.To3D(), spellData, spell.spellObject); DelayAction.Add(1, () => SpellDetector.DeleteSpell(entry.Key)); } } } //SpellDetector.CreateSpellData(hero, pos1.To3D(), pos2.To3D(), spellData, null, 0); } }
public static void LoadSpecialSpell(SpellData spellData) { if (spellData.isThreeWay && !pDict.ContainsKey("ProcessSpell_ProcessThreeWay")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ThreeWay; pDict["ProcessSpell_ProcessThreeWay"] = true; } if (spellData.spellName == "ZiggsQ" && !pDict.ContainsKey("ProcessSpell_ProcessZiggsQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZiggsQ; pDict["ProcessSpell_ProcessZiggsQ"] = true; } if (spellData.spellName == "ZedShuriken" && !pDict.ContainsKey("ProcessSpell_ProcessZedShuriken")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZedShuriken; MissileClient.OnCreate += SpellMissile_ZedShadowDash; Obj_AI_Minion.OnCreate += OnCreateObj_ZedShuriken; Obj_AI_Minion.OnDelete += OnDeleteObj_ZedShuriken; pDict["ProcessSpell_ProcessZedShuriken"] = true; } if (spellData.spellName == "LuluQ" && !pDict.ContainsKey("ProcessSpell_LuluQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LuluQ; GetLuluPix(); pDict["ProcessSpell_LuluQ"] = true; } if (spellData.spellName == "OrianaIzunaCommand" && !pDict.ContainsKey("ProcessSpell_OrianaIzunaCommand")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Orianna"); if (hero == null) { return; } ObjectTrackerInfo info = new ObjectTrackerInfo(hero); info.Name = "TheDoomBall"; info.OwnerNetworkID = hero.NetworkId; objTracker.Add(hero.NetworkId, info); Obj_AI_Minion.OnCreate += (obj, args) => OnCreateObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Minion.OnDelete += (obj, args) => OnDeleteObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Hero.OnProcessSpellCast += ProcessSpell_OrianaRedactCommand; SpellDetector.OnProcessSpecialSpell += ProcessSpell_OrianaIzunaCommand; pDict["ProcessSpell_OrianaIzunaCommand"] = true; } if (spellData.spellName == "AlZaharCalloftheVoid" && !pDict.ContainsKey("ProcessSpell_AlZaharCalloftheVoid")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AlZaharCalloftheVoid; pDict["ProcessSpell_AlZaharCalloftheVoid"] = true; } if (spellData.spellName == "LucianQ" && !pDict.ContainsKey("ProcessSpell_LucianQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LucianQ; pDict["ProcessSpell_LucianQ"] = true; } /*if (spellData.spellName == "LuxMaliceCannon" && !pDict.ContainsKey("ProcessSpell_LuxMaliceCannon")) * { * var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Lux"); * if (hero != null) * { * GameObject.OnCreate += (obj, args) => OnCreateObj_LuxMaliceCannon(obj, args, hero, spellData); * } * * pDict["ProcessSpell_LuxMaliceCannon"] = true; * }*/ /*if (spellData.spellName == "JinxWMissile" && !pDict.ContainsKey("ProcessSpell_JinxWMissile")) * { * var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Jinx"); * if (hero != null) * { * GameObject.OnCreate += (obj, args) => OnCreateObj_JinxWMissile(obj, args, hero, spellData); * } * * pDict["ProcessSpell_JinxWMissile"] = true; * }*/ if (spellData.spellName == "Volley" && !pDict.ContainsKey("ProcessSpell_AsheVolley")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AsheVolley; pDict["ProcessSpell_AsheVolley"] = true; } if (spellData.spellName == "FizzPiercingStrike" && !pDict.ContainsKey("ProcessSpell_FizzPiercingStrike")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_FizzPiercingStrike; pDict["ProcessSpell_FizzPiercingStrike"] = true; } if (spellData.spellName == "SionE" && !pDict.ContainsKey("ProcessSpell_SionE")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_SionE; pDict["ProcessSpell_SionE"] = true; } if (spellData.spellName == "EkkoR" && !pDict.ContainsKey("ProcessSpell_EkkoR")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_EkkoR; pDict["ProcessSpell_EkkoR"] = true; } }
private static void SpellMissile_ZedShadowDash(GameObject obj, EventArgs args) { if (!obj.IsValid<MissileClient>()) return; MissileClient missile = (MissileClient)obj; if (missile.SpellCaster.IsEnemy && missile.SData.Name == "ZedShadowDashMissile") { if (!objTracker.ContainsKey(obj.NetworkId)) { ObjectTrackerInfo info = new ObjectTrackerInfo(obj); info.Name = "Shadow"; info.OwnerNetworkID = missile.SpellCaster.NetworkId; info.usePosition = true; info.position = missile.EndPosition; objTracker.Add(obj.NetworkId, info); DelayAction.Add(1000, () => objTracker.Remove(obj.NetworkId)); } } }
public static void LoadSpecialSpell(SpellData spellData) { Obj_AI_Minion.OnCreate += HiuCreate_ObjectTracker; //Obj_AI_Minion.OnCreate += HiuDelete_ObjectTracker; if (spellData.isThreeWay && !pDict.ContainsKey("ProcessSpell_ProcessThreeWay")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ThreeWay; pDict["ProcessSpell_ProcessThreeWay"] = true; } if (spellData.spellName == "ZiggsQ" && !pDict.ContainsKey("ProcessSpell_ProcessZiggsQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZiggsQ; pDict["ProcessSpell_ProcessZiggsQ"] = true; } if (spellData.spellName == "ZedShuriken" && !pDict.ContainsKey("ProcessSpell_ProcessZedShuriken")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZedShuriken; MissileClient.OnCreate += SpellMissile_ZedShadowDash; Obj_AI_Minion.OnCreate += OnCreateObj_ZedShuriken; Obj_AI_Minion.OnDelete += OnDeleteObj_ZedShuriken; pDict["ProcessSpell_ProcessZedShuriken"] = true; } if (spellData.spellName == "LuluQ" && !pDict.ContainsKey("ProcessSpell_LuluQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LuluQ; GetLuluPix(); pDict["ProcessSpell_LuluQ"] = true; } if (spellData.spellName == "OrianaIzunaCommand" && !pDict.ContainsKey("ProcessSpell_OrianaIzunaCommand")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Orianna"); if (hero == null) { return; } ObjectTrackerInfo info = new ObjectTrackerInfo(hero); info.Name = "TheDoomBall"; info.OwnerNetworkID = hero.NetworkId; objTracker.Add(hero.NetworkId, info); Obj_AI_Minion.OnCreate += (obj, args) => OnCreateObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Minion.OnDelete += (obj, args) => OnDeleteObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Hero.OnProcessSpellCast += ProcessSpell_OrianaRedactCommand; SpellDetector.OnProcessSpecialSpell += ProcessSpell_OrianaIzunaCommand; pDict["ProcessSpell_OrianaIzunaCommand"] = true; } if (spellData.spellName == "AlZaharCalloftheVoid" && !pDict.ContainsKey("ProcessSpell_AlZaharCalloftheVoid")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AlZaharCalloftheVoid; pDict["ProcessSpell_AlZaharCalloftheVoid"] = true; } if (spellData.spellName == "LucianQ" && !pDict.ContainsKey("ProcessSpell_LucianQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LucianQ; pDict["ProcessSpell_LucianQ"] = true; } if (spellData.spellName == "LuxMaliceCannon" && !pDict.ContainsKey("ProcessSpell_LuxMaliceCannon")) { var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Lux"); if (hero != null) { GameObject.OnCreate += (obj, args) => OnCreateObj_LuxMaliceCannon(obj, args, hero, spellData); } pDict["ProcessSpell_LuxMaliceCannon"] = true; } /*if (spellData.spellName == "JinxWMissile" && !pDict.ContainsKey("ProcessSpell_JinxWMissile")) { var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Jinx"); if (hero != null) { GameObject.OnCreate += (obj, args) => OnCreateObj_JinxWMissile(obj, args, hero, spellData); } pDict["ProcessSpell_JinxWMissile"] = true; }*/ if (spellData.spellName == "Volley" && !pDict.ContainsKey("ProcessSpell_AsheVolley")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AsheVolley; pDict["ProcessSpell_AsheVolley"] = true; } if (spellData.spellName == "FizzPiercingStrike" && !pDict.ContainsKey("ProcessSpell_FizzPiercingStrike")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_FizzPiercingStrike; pDict["ProcessSpell_FizzPiercingStrike"] = true; } if (spellData.spellName == "FizzMarinerDoom" && !pDict.ContainsKey("ProcessSpell_FizzMarinerDoom")) { Obj_AI_Minion.OnCreate += (obj, args) => OnCreateObj_FizzMarinerDoom(obj, args, spellData); Obj_AI_Minion.OnDelete += (obj, args) => OnDeleteObj_FizzMarinerDoom(obj, args, spellData); pDict["ProcessSpell_FizzMarinerDoom"] = true; } /*if (spellData.spellName == "SionE" && !pDict.ContainsKey("ProcessSpell_SionE")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_SionE; pDict["ProcessSpell_SionE"] = true; }*/ if (spellData.spellName == "EkkoR" && !pDict.ContainsKey("ProcessSpell_EkkoR")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_EkkoR; pDict["ProcessSpell_EkkoR"] = true; } if (spellData.spellName == "YasuoQW" && !pDict.ContainsKey("ProcessSpell_YasuoQW")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Yasuo"); if (hero == null) { return; } Obj_AI_Hero.OnProcessSpellCast += (sender, args) => ProcessSpell_YasuoQW(sender, args, spellData); pDict["ProcessSpell_YasuoQW"] = true; } /*if (spellData.spellName == "JayceShockBlastWall" && !pDict.ContainsKey("ProcessSpell_JayceShockBlastWall")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Jayce"); if (hero == null) { return; } Obj_AI_Minion.OnCreate += (obj, args) => OnCreateObj_jayceshockblast(obj, args, hero, spellData); //Obj_AI_Hero.OnProcessSpellCast += OnProcessSpell_jayceshockblast; //SpellDetector.OnProcessSpecialSpell += ProcessSpell_jayceshockblast; pDict["ProcessSpell_JayceShockBlastWall"] = true; }*/ if (spellData.spellName == "ViktorDeathRay3" && !pDict.ContainsKey("ProcessSpell_ViktorDeathRay3")) { Obj_AI_Minion.OnCreate += OnCreateObj_ViktorDeathRay3; pDict["ProcessSpell_ViktorDeathRay3"] = true; } if (spellData.spellName == "xeratharcanopulse2" && !pDict.ContainsKey("ProcessSpell_XerathArcanopulse2")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_XerathArcanopulse2; pDict["ProcessSpell_XerathArcanopulse2"] = true; } if (spellData.spellName == "JarvanIVDragonStrike" && !pDict.ContainsKey("ProcessSpell_JarvanIVDragonStrike")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "JarvanIV"); if (hero == null) { return; } Obj_AI_Hero.OnProcessSpellCast += ProcessSpell_JarvanIVDemacianStandard; SpellDetector.OnProcessSpecialSpell += ProcessSpell_JarvanIVDragonStrike; Obj_AI_Minion.OnCreate += OnCreateObj_JarvanIVDragonStrike; Obj_AI_Minion.OnDelete += OnDeleteObj_JarvanIVDragonStriken; pDict["ProcessSpell_JarvanIVDragonStrike"] = true; } }
public static void LoadSpecialSpell(SpellData spellData) { if (spellData.isThreeWay && !pDict.ContainsKey("ProcessSpell_ProcessThreeWay")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ThreeWay; pDict["ProcessSpell_ProcessThreeWay"] = true; } if (spellData.spellName == "ZiggsQ" && !pDict.ContainsKey("ProcessSpell_ProcessZiggsQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZiggsQ; pDict["ProcessSpell_ProcessZiggsQ"] = true; } if (spellData.spellName == "ZedShuriken" && !pDict.ContainsKey("ProcessSpell_ProcessZedShuriken")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZedShuriken; MissileClient.OnCreate += SpellMissile_ZedShadowDash; Obj_AI_Minion.OnCreate += OnCreateObj_ZedShuriken; Obj_AI_Minion.OnDelete += OnDeleteObj_ZedShuriken; pDict["ProcessSpell_ProcessZedShuriken"] = true; } if (spellData.spellName == "LuluQ" && !pDict.ContainsKey("ProcessSpell_LuluQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LuluQ; GetLuluPix(); pDict["ProcessSpell_LuluQ"] = true; } if (spellData.spellName == "OrianaIzunaCommand" && !pDict.ContainsKey("ProcessSpell_OrianaIzunaCommand")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Orianna"); if (hero == null) { return; } ObjectTrackerInfo info = new ObjectTrackerInfo(hero); info.Name = "TheDoomBall"; info.OwnerNetworkID = hero.NetworkId; objTracker.Add(hero.NetworkId, info); Obj_AI_Minion.OnCreate += (obj, args) => OnCreateObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Minion.OnDelete += (obj, args) => OnDeleteObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Hero.OnProcessSpellCast += ProcessSpell_OrianaRedactCommand; SpellDetector.OnProcessSpecialSpell += ProcessSpell_OrianaIzunaCommand; pDict["ProcessSpell_OrianaIzunaCommand"] = true; } if (spellData.spellName == "AlZaharCalloftheVoid" && !pDict.ContainsKey("ProcessSpell_AlZaharCalloftheVoid")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AlZaharCalloftheVoid; pDict["ProcessSpell_AlZaharCalloftheVoid"] = true; } if (spellData.spellName == "LucianQ" && !pDict.ContainsKey("ProcessSpell_LucianQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LucianQ; pDict["ProcessSpell_LucianQ"] = true; } /*if (spellData.spellName == "LuxMaliceCannon" && !pDict.ContainsKey("ProcessSpell_LuxMaliceCannon")) { var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Lux"); if (hero != null) { GameObject.OnCreate += (obj, args) => OnCreateObj_LuxMaliceCannon(obj, args, hero, spellData); } pDict["ProcessSpell_LuxMaliceCannon"] = true; }*/ /*if (spellData.spellName == "JinxWMissile" && !pDict.ContainsKey("ProcessSpell_JinxWMissile")) { var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Jinx"); if (hero != null) { GameObject.OnCreate += (obj, args) => OnCreateObj_JinxWMissile(obj, args, hero, spellData); } pDict["ProcessSpell_JinxWMissile"] = true; }*/ if (spellData.spellName == "Volley" && !pDict.ContainsKey("ProcessSpell_AsheVolley")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AsheVolley; pDict["ProcessSpell_AsheVolley"] = true; } if (spellData.spellName == "FizzPiercingStrike" && !pDict.ContainsKey("ProcessSpell_FizzPiercingStrike")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_FizzPiercingStrike; pDict["ProcessSpell_FizzPiercingStrike"] = true; } if (spellData.spellName == "SionE" && !pDict.ContainsKey("ProcessSpell_SionE")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_SionE; pDict["ProcessSpell_SionE"] = true; } if (spellData.spellName == "EkkoR" && !pDict.ContainsKey("ProcessSpell_EkkoR")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_EkkoR; pDict["ProcessSpell_EkkoR"] = true; } }
public static void LoadSpecialSpell(SpellData spellData) { Obj_AI_Minion.OnCreate += HiuCreate_ObjectTracker; //Obj_AI_Minion.OnCreate += HiuDelete_ObjectTracker; if (spellData.isThreeWay && !pDict.ContainsKey("ProcessSpell_ProcessThreeWay")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ThreeWay; pDict["ProcessSpell_ProcessThreeWay"] = true; } if (spellData.spellName == "ZiggsQ" && !pDict.ContainsKey("ProcessSpell_ProcessZiggsQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZiggsQ; pDict["ProcessSpell_ProcessZiggsQ"] = true; } if (spellData.spellName == "ZedShuriken" && !pDict.ContainsKey("ProcessSpell_ProcessZedShuriken")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZedShuriken; MissileClient.OnCreate += SpellMissile_ZedShadowDash; Obj_AI_Minion.OnCreate += OnCreateObj_ZedShuriken; Obj_AI_Minion.OnDelete += OnDeleteObj_ZedShuriken; pDict["ProcessSpell_ProcessZedShuriken"] = true; } if (spellData.spellName == "LuluQ" && !pDict.ContainsKey("ProcessSpell_LuluQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LuluQ; GetLuluPix(); pDict["ProcessSpell_LuluQ"] = true; } if (spellData.spellName == "OrianaIzunaCommand" && !pDict.ContainsKey("ProcessSpell_OrianaIzunaCommand")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Orianna"); if (hero == null) { return; } ObjectTrackerInfo info = new ObjectTrackerInfo(hero); info.Name = "TheDoomBall"; info.OwnerNetworkID = hero.NetworkId; objTracker.Add(hero.NetworkId, info); Obj_AI_Minion.OnCreate += (obj, args) => OnCreateObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Minion.OnDelete += (obj, args) => OnDeleteObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Hero.OnProcessSpellCast += ProcessSpell_OrianaRedactCommand; SpellDetector.OnProcessSpecialSpell += ProcessSpell_OrianaIzunaCommand; pDict["ProcessSpell_OrianaIzunaCommand"] = true; } if (spellData.spellName == "AlZaharCalloftheVoid" && !pDict.ContainsKey("ProcessSpell_AlZaharCalloftheVoid")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AlZaharCalloftheVoid; pDict["ProcessSpell_AlZaharCalloftheVoid"] = true; } if (spellData.spellName == "LucianQ" && !pDict.ContainsKey("ProcessSpell_LucianQ")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LucianQ; pDict["ProcessSpell_LucianQ"] = true; } if (spellData.spellName == "LuxMaliceCannon" && !pDict.ContainsKey("ProcessSpell_LuxMaliceCannon")) { var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Lux"); if (hero != null) { GameObject.OnCreate += (obj, args) => OnCreateObj_LuxMaliceCannon(obj, args, hero, spellData); } pDict["ProcessSpell_LuxMaliceCannon"] = true; } /*if (spellData.spellName == "JinxWMissile" && !pDict.ContainsKey("ProcessSpell_JinxWMissile")) * { * var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Jinx"); * if (hero != null) * { * GameObject.OnCreate += (obj, args) => OnCreateObj_JinxWMissile(obj, args, hero, spellData); * } * * pDict["ProcessSpell_JinxWMissile"] = true; * }*/ if (spellData.spellName == "Volley" && !pDict.ContainsKey("ProcessSpell_AsheVolley")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AsheVolley; pDict["ProcessSpell_AsheVolley"] = true; } if (spellData.spellName == "FizzPiercingStrike" && !pDict.ContainsKey("ProcessSpell_FizzPiercingStrike")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_FizzPiercingStrike; pDict["ProcessSpell_FizzPiercingStrike"] = true; } if (spellData.spellName == "FizzMarinerDoom" && !pDict.ContainsKey("ProcessSpell_FizzMarinerDoom")) { Obj_AI_Minion.OnCreate += (obj, args) => OnCreateObj_FizzMarinerDoom(obj, args, spellData); Obj_AI_Minion.OnDelete += (obj, args) => OnDeleteObj_FizzMarinerDoom(obj, args, spellData); pDict["ProcessSpell_FizzMarinerDoom"] = true; } /*if (spellData.spellName == "SionE" && !pDict.ContainsKey("ProcessSpell_SionE")) * { * SpellDetector.OnProcessSpecialSpell += ProcessSpell_SionE; * pDict["ProcessSpell_SionE"] = true; * }*/ if (spellData.spellName == "EkkoR" && !pDict.ContainsKey("ProcessSpell_EkkoR")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_EkkoR; pDict["ProcessSpell_EkkoR"] = true; } if (spellData.spellName == "YasuoQW" && !pDict.ContainsKey("ProcessSpell_YasuoQW")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Yasuo"); if (hero == null) { return; } Obj_AI_Hero.OnProcessSpellCast += (sender, args) => ProcessSpell_YasuoQW(sender, args, spellData); pDict["ProcessSpell_YasuoQW"] = true; } /*if (spellData.spellName == "JayceShockBlastWall" && !pDict.ContainsKey("ProcessSpell_JayceShockBlastWall")) * { * Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Jayce"); * if (hero == null) * { * return; * } * * Obj_AI_Minion.OnCreate += (obj, args) => OnCreateObj_jayceshockblast(obj, args, hero, spellData); * //Obj_AI_Hero.OnProcessSpellCast += OnProcessSpell_jayceshockblast; * //SpellDetector.OnProcessSpecialSpell += ProcessSpell_jayceshockblast; * pDict["ProcessSpell_JayceShockBlastWall"] = true; * }*/ if (spellData.spellName == "ViktorDeathRay3" && !pDict.ContainsKey("ProcessSpell_ViktorDeathRay3")) { Obj_AI_Minion.OnCreate += OnCreateObj_ViktorDeathRay3; pDict["ProcessSpell_ViktorDeathRay3"] = true; } if (spellData.spellName == "xeratharcanopulse2" && !pDict.ContainsKey("ProcessSpell_XerathArcanopulse2")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_XerathArcanopulse2; pDict["ProcessSpell_XerathArcanopulse2"] = true; } if (spellData.spellName == "JarvanIVDragonStrike" && !pDict.ContainsKey("ProcessSpell_JarvanIVDragonStrike")) { Obj_AI_Hero hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "JarvanIV"); if (hero == null) { return; } Obj_AI_Hero.OnProcessSpellCast += ProcessSpell_JarvanIVDemacianStandard; SpellDetector.OnProcessSpecialSpell += ProcessSpell_JarvanIVDragonStrike; Obj_AI_Minion.OnCreate += OnCreateObj_JarvanIVDragonStrike; Obj_AI_Minion.OnDelete += OnDeleteObj_JarvanIVDragonStriken; pDict["ProcessSpell_JarvanIVDragonStrike"] = true; } }