public void preRenderEvent(GooseEntity goose, Graphics g) { if (goose.currentTask == API.TaskDatabase.getTaskIndexByID("CustomMouseNab")) { g.InterpolationMode = InterpolationMode.NearestNeighbor; FollowMouseLowAccelerationTask.ChangeColorTaskData data = (FollowMouseLowAccelerationTask.ChangeColorTaskData)goose.currentTaskData; Vector2 v = new Vector2((float)Math.Cos(radians(data.dir)), (float)Math.Sin(radians(data.dir))); if (data.ONEPUNCH) { goose.direction = data.dir; if (Config.settings.EnableParticle) { TEST.Velocity = v * Config.settings.ParticleVelocity; TEST.VelocityAngle = 1 / data.dir; TEST.Size = Config.settings.ParticlesSize; TEST.EmitterLocation = goose.rig.head2EndPoint; TEST.Update(); TEST.Draw(g); } } } else { if (Config.settings.EnableParticle) { TEST.EmitterLocation = goose.rig.head2EndPoint; TEST.Stop(); TEST.Draw(g); } } }
public void PostTick(GooseEntity g) { if (g.currentTask == API.TaskDatabase.getTaskIndexByID("NabMouse")) { API.Goose.setCurrentTaskByID(g, "CustomMouseNab", false); } if (g.currentTask == API.TaskDatabase.getTaskIndexByID("CustomMouseNab")) { FollowMouseLowAccelerationTask.ChangeColorTaskData data = (FollowMouseLowAccelerationTask.ChangeColorTaskData)g.currentTaskData; if (data.ONEPUNCH) { new Thread(() => { Vector2 cursorVec = new Vector2(Cursor.Position.X, Cursor.Position.Y); Vector2 v = new Vector2((float)Math.Cos(radians(data.dir)), (float)Math.Sin(radians(data.dir))); LinearSmoothMove(new Point((int)(v.x + cursorVec.x), (int)(v.x + cursorVec.y)), 20); Thread.Sleep(1802); API.Goose.setTaskRoaming(g); LinearSmoothMove(new Point((int)(v.x * 2000 + cursorVec.x), (int)(v.y * 2000 + cursorVec.y)), 20); }).Start(); } return; } }