Beispiel #1
0
 private static void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (!sender.IsMe)
     {
         return;
     }
     if (args.SData.Name == "ZedShuriken" && Orbwalker.ActiveMode == OrbwalkerMode.Hybrid
         && MainMenu["Hybrid"]["Mode"].GetValue<MenuList>().Index == 0 && MainMenu["Hybrid"]["QOverW"]
         && WState == 0 && GetTarget != null)
     {
         var spellQ = new Spell(SpellSlot.Q, Q.Range + W.Range);
         spellQ.SetSkillshot(Q.Delay, Q.Width, Q.Speed + 250, Q.Collision, Q.Type);
         for (var i = 0; i < 360; i += 30)
         {
             var posRotated = Player.ServerPosition
                              + Player.Direction.Perpendicular().Rotated((float)(Math.PI * i / 180)) * W.Range;
             spellQ.UpdateSourcePosition(posRotated, posRotated);
             var predQ = Common.GetPrediction(spellQ, GetTarget, true, new[] { CollisionableObjects.YasuoWall });
             if (predQ.Hitchance < Q2.MinHitChance)
             {
                 continue;
             }
             DelayAction.Add(
                 Q.Delay * 1000,
                 () =>
                     {
                         if (W.Cast(posRotated))
                         {
                             W.LastCastAttemptT = Variables.TickCount;
                         }
                     });
             break;
         }
     }
     if (args.SData.Name == "ZedShadowDash")
     {
         rCasted = false;
         wCasted = true;
     }
     if (args.SData.Name == "zedult")
     {
         wCasted = false;
         rCasted = true;
     }
 }