public void OnUpdate(EventArgs args) { if (!Game.IsInGame) { return; } if (ProjSpeed < float.Epsilon && AirTimeProj < float.Epsilon) { return; } LocalPlayer.EditAimPosition = false; var movingDummy = EntitiesManager.GetObjectByName("ArenaWalkingDummy"); if (movingDummy != null) { ArenaMovingDummy = movingDummy as ArenaDummy; } else { return; } if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.LeftControl)) { if (EntitiesManager.LocalPlayer.AbilitySystem.IsCasting) { LocalPlayer.EditAimPosition = true; if (ArenaMovingDummy != null) { if (ProjSpeed > float.Epsilon) { var predProj = TestPrediction.GetPrediction(EntitiesManager.LocalPlayer.MapObject.Position, ArenaMovingDummy, float.MaxValue, ProjSpeed); if (predProj.CanHit) { LocalPlayer.Aim(predProj.CastPosition); } } else if (AirTimeProj > float.Epsilon) { var predAir = TestPrediction.GetPrediction(EntitiesManager.LocalPlayer.MapObject.Position, ArenaMovingDummy, float.MaxValue, 0f, 0f, AirTimeProj); if (predAir.CanHit) { LocalPlayer.Aim(predAir.CastPosition); } } } } } }