public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "GravesQLineSpell") { SpellDetector.OnProcessSpecialSpell += SpellDetector_OnProcessSpecialSpell; } }
public void LoadSpecialSpell(SpellData spellData) { if (!pDict.ContainsKey("Game_OnWndProc")) { Game.OnWndProc += Game_OnWndProc; pDict["Game_OnWndProc"] = true; } if (spellData.HasTrap && !pDict.ContainsKey("GameObject_OnCreate")) { GameObject.OnCreate += GameObject_OnCreate; pDict["GameObject_OnCreate"] = true; } if (spellData.HasTrap && !pDict.ContainsKey("GameObject_OnDelete")) { GameObject.OnDestroy += GameObject_OnDelete; pDict["GameObject_OnDelete"] = true; } if (spellData.HasTrap && !pDict.ContainsKey("Game_OnUpdate")) { Game.OnUpdate += Game_OnUpdate; pDict["Game_OnUpdate"] = true; } if (spellData.IsThreeWay && !pDict.ContainsKey("ProcessSpell_ProcessThreeWay")) { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ThreeWay; pDict["ProcessSpell_ProcessThreeWay"] = true; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "ViktorDeathRay3") { GameObject.OnCreate += OnCreateObj_ViktorDeathRay3; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "YorickE") { SpellDetector.OnProcessSpecialSpell += SpellDetector_OnProcessSpecialSpell; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "LucianQ") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LucianQ; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "EkkoR") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_EkkoR; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "Volley") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AsheVolley; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "MalzaharQ") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_AlZaharCalloftheVoid; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "xeratharcanopulse2") { //SpellDetector.OnProcessSpecialSpell += ProcessSpell_XerathArcanopulse2; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "TwitchSprayandPrayAttack") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_TwitchSprayandPrayAttack; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "LuluQ") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_LuluQ; GetLuluPix(); } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "ZedQ") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZedShuriken; GameObject.OnCreate += SpellMissile_ZedShadowDash; GameObject.OnCreate += OnCreateObj_ZedShuriken; GameObject.OnDestroy += OnDeleteObj_ZedShuriken; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "AhriOrbofDeception2") { var hero = GameObjects.Heroes.FirstOrDefault(x => x.ChampionName == "Ahri"); if (hero != null && hero.CheckTeam()) { Game.OnUpdate += () => Game_OnUpdate(hero); } } }
public void LoadSpecialSpell(SpellData spellData) { /*if (spellData.spellName == "JinxWMissile") * { * var hero = HeroManager.Enemies.FirstOrDefault(h => h.ChampionName == "Jinx"); * if (hero != null) * { * GameObject.OnCreate += (obj, args) => OnCreateObj_JinxWMissile(obj, args, hero, spellData); * } * }*/ }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "LuxMaliceCannon") { var hero = GameObjects.Heroes.FirstOrDefault(h => h.ChampionName == "Lux"); if (hero != null && hero.CheckTeam()) { ObjectTracker.HuiTrackerForceLoad(); GameObject.OnCreate += obj => OnCreateObj_LuxMaliceCannon(obj, hero, spellData); } } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "SionR") { var hero = GameObjects.Heroes.FirstOrDefault(x => x.ChampionName == "Sion"); if (hero != null && hero.CheckTeam()) { Game.OnUpdate += () => Game_OnUpdate(hero); SpellDetector.OnProcessSpecialSpell += SpellDetector_OnProcessSpecialSpell; } } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "HeimerdingerTurretEnergyBlast" || spellData.SpellName == "HeimerdingerTurretBigEnergyBlast") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_HeimerdingerTurretEnergyBlast; } if (spellData.SpellName == "HeimerdingerW") { //SpellDetector.OnProcessSpecialSpell += ProcessSpell_HeimerdingerW; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "FizzR") { GameObject.OnCreate += obj => OnCreateObj_FizzMarinerDoom(obj, spellData); GameObject.OnDestroy += obj => OnDeleteObj_FizzMarinerDoom(obj, spellData); SpellDetector.OnProcessSpecialSpell += ProcessSPellFizzMarinerDoom; } if (spellData.SpellName == "FizzQ") { SpellDetector.OnProcessSpecialSpell += ProcessSpell_FizzPiercingStrike; } }
public void LoadSpecialSpell(SpellData spellData) { /*if (spellData.spellName == "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; * }*/ }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName.ToLower() == "syndrae") { var hero = GameObjects.Heroes.FirstOrDefault(x => x.ChampionName == "Syndra"); if (hero != null && hero.CheckTeam()) { Game.OnUpdate += Game_OnUpdate; Obj_AI_Base.OnPlayAnimation += Obj_AI_Base_OnPlayAnimation; GameObject.OnCreate += GameObject_OnCreate; GameObject.OnDestroy += GameObject_OnDelete; SpellDetector.OnProcessSpecialSpell += SpellDetector_OnProcessSpecialSpell; } } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "JarvanIVDragonStrike") { var jarvaniv = GameObjects.Heroes.FirstOrDefault(h => h.ChampionName == "JarvanIV"); if (jarvaniv != null && jarvaniv.CheckTeam()) { Game.OnUpdate += Game_OnUpdate; Obj_AI_Base.OnProcessSpellCast += ProcessSpell_JarvanIVDemacianStandard; SpellDetector.OnProcessSpecialSpell += ProcessSpell_JarvanIVDragonStrike; GameObject.OnCreate += OnCreateObj_JarvanIVDragonStrike; GameObject.OnDestroy += OnDeleteObj_JarvanIVDragonStrike; } } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName != "ZileanQ") { return; } var hero = GameObjects.Heroes.FirstOrDefault(x => x.ChampionName == "Zilean"); if (hero == null || !hero.CheckTeam()) { return; } Game.OnUpdate += Game_OnUpdate; GameObject.OnCreate += GameObject_OnCreate; GameObject.OnDestroy += GameObject_OnDelete; SpellDetector.OnProcessSpecialSpell += SpellDetector_OnProcessSpecialSpell; }
private static void OnCreateObj_FizzMarinerDoom(GameObject obj, SpellData spellData) { // need to fix obj.isvalid on a previous thing.. I set it to just check the type if (obj.IsValid) { if (obj.Type != GameObjectType.MissileClient) { return; } } var missile = (MissileClient)obj; var dist = missile.StartPosition.Distance(missile.EndPosition); var radius = dist > 910 ? 400 : (dist >= 455 ? 300 : 200); if (missile.SpellCaster != null && missile.SpellCaster.CheckTeam() && missile.SpellData.Name == "FizzRMissile") { SpellDetector.CreateSpellData(missile.SpellCaster, missile.StartPosition, missile.EndPosition, spellData, null, 500, true, SpellType.Circular, false, radius); } }
private static void OnDeleteObj_FizzMarinerDoom(GameObject obj, SpellData spellData) { //need to track where bait is attached to if (obj.IsValid) { if (obj.Type != GameObjectType.MissileClient) { return; } } var missile = (MissileClient)obj; var dist = missile.StartPosition.Distance(missile.EndPosition); var radius = dist > 910 ? 400 : (dist >= 455 ? 300 : 200); if (missile.SpellCaster != null && missile.SpellCaster.CheckTeam() && missile.SpellData.Name == "FizzRMissile") { SpellDetector.CreateSpellData(missile.SpellCaster, missile.StartPosition, missile.EndPosition, spellData, null, 1000, true, SpellType.Circular, false, radius); } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "AzirQWrapper") { var hero = GameObjects.Heroes.FirstOrDefault(h => h.ChampionName == "Azir"); if (hero == null || !hero.CheckTeam()) { return; } var info = new ObjectTrackerInfo(hero) { Name = "AzirQSoldier", OwnerNetworkId = hero.NetworkId }; ObjectTracker.ObjTracker.Add(hero.NetworkId, info); GameObject.OnCreate += OnCreateObj_AzirSoldier; GameObject.OnDestroy += OnDeleteObj_AzirSoldier; SpellDetector.OnProcessSpecialSpell += ProcessSpell_AzirSoldier; } }
public void LoadSpecialSpell(SpellData spellData) { if (spellData.SpellName == "OrianaIzunaCommand") { var hero = GameObjects.Heroes.FirstOrDefault(h => h.ChampionName == "Orianna"); if (hero != null && hero.CheckTeam()) { var info = new ObjectTrackerInfo(hero) { Name = "TheDoomBall", OwnerNetworkId = hero.NetworkId }; ObjectTracker.ObjTracker.Add(hero.NetworkId, info); GameObject.OnCreate += obj => OnCreateObj_OrianaIzunaCommand(obj, hero); //Obj_AI_Minion.OnDelete += (obj, args) => OnDeleteObj_OrianaIzunaCommand(obj, args, hero); Obj_AI_Base.OnProcessSpellCast += ProcessSpell_OrianaRedactCommand; SpellDetector.OnProcessSpecialSpell += ProcessSpell_OrianaIzunaCommand; BuffManager.OnAddBuff += Obj_AI_Base_OnBuffAdd; } } }
private static void ProcessSpell_OrianaIzunaCommand(Obj_AI_Base hero, Obj_AI_BaseMissileClientDataEventArgs args, SpellData spellData, SpecialSpellEventArgs specialSpellArgs) { if (spellData.SpellName == "OrianaIzunaCommand") { foreach (var entry in ObjectTracker.ObjTracker) { var info = entry.Value; if (entry.Value.Name == "TheDoomBall") { if (info.UsePosition) { SpellDetector.CreateSpellData(hero, info.Position, args.End, spellData, null, 0, false); SpellDetector.CreateSpellData(hero, info.Position, args.End, spellData, null, 150, true, SpellType.Circular, false, spellData.SecondaryRadius); } else { if (info.Obj != null && info.Obj.IsValid && !info.Obj.IsDead) { SpellDetector.CreateSpellData(hero, info.Obj.Position, args.End, spellData, null, 0, false); SpellDetector.CreateSpellData(hero, info.Obj.Position, args.End, spellData, null, 150, true, SpellType.Circular, false, spellData.SecondaryRadius); } } info.Position = args.End; info.UsePosition = true; } } specialSpellArgs.NoProcess = true; } if (spellData.SpellName == "OrianaDetonateCommand" || spellData.SpellName == "OrianaDissonanceCommand") { foreach (var entry in ObjectTracker.ObjTracker) { var info = entry.Value; if (entry.Value.Name == "TheDoomBall") { if (info.UsePosition) { var endPos2 = info.Position; SpellDetector.CreateSpellData(hero, endPos2, endPos2, spellData); } else { if (info.Obj != null && info.Obj.IsValid && !info.Obj.IsDead) { var endPos2 = info.Obj.Position; SpellDetector.CreateSpellData(hero, endPos2, endPos2, spellData); } } } } specialSpellArgs.NoProcess = true; } }
private static void ProcessSpell_FizzPiercingStrike(Obj_AI_Base hero, Obj_AI_BaseMissileClientDataEventArgs args, SpellData spellData, SpecialSpellEventArgs specialSpellArgs) { if (spellData.SpellName == "FizzQ") { if (args.Target != null && args.Target.IsMe) { SpellDetector.CreateSpellData(hero, args.Start, args.End, spellData); } specialSpellArgs.NoProcess = true; } }
private void ProcessSPellFizzMarinerDoom(Obj_AI_Base hero, Obj_AI_BaseMissileClientDataEventArgs args, SpellData spellData, SpecialSpellEventArgs specialSpellArgs) { if (spellData.SpellName == "FizzR") { var start = args.Start; var endPos = args.End; if (start.Distance(endPos) > spellData.Range) { endPos = start + (endPos - start).Normalized() * spellData.Range; } var dist = start.Distance(endPos); var radius = dist > 910 ? 400 : (dist >= 455 ? 300 : 200); var data = (SpellData)spellData.Clone(); data.SecondaryRadius = radius; specialSpellArgs.SpellData = data; } }
private static void ProcessSpell_ZedShuriken(Obj_AI_Base hero, Obj_AI_BaseMissileClientDataEventArgs args, SpellData spellData, SpecialSpellEventArgs specialSpellArgs) { if (spellData.SpellName == "ZedQ") { foreach (var entry in ObjectTracker.ObjTracker) { var info = entry.Value; if (info.Name == "Shadow") { if (info.UsePosition == false && (info.Obj == null || !info.Obj.IsValid || info.Obj.IsDead)) { DelayAction.Add(1, () => ObjectTracker.ObjTracker.Remove(info.Obj.NetworkId)); } else { Vector3 endPos2; if (info.UsePosition == false) { endPos2 = info.Obj.Position.Extend(args.End, spellData.Range); SpellDetector.CreateSpellData(hero, info.Obj.Position, endPos2, spellData, null, 0, false); } else { endPos2 = info.Position.Extend(args.End, spellData.Range); SpellDetector.CreateSpellData(hero, info.Position, endPos2, spellData, null, 0, false); } } } } } }