diff --git a/core/assets/contributors b/core/assets/contributors index c8b2ef69de..f5b70d3741 100644 --- a/core/assets/contributors +++ b/core/assets/contributors @@ -181,3 +181,4 @@ IchMagSchokolade MonoChronos RushieWashie ITY +Iniquit diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index 877b2c4cf3..21d7026b81 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -56,6 +56,11 @@ public class DesktopInput extends InputHandler{ /** Time of most recent control group selection */ public long lastCtrlGroupSelectMillis; + /** Time of most recent payload pickup/drop key press*/ + public long lastPayloadKeyTapMillis; + /** Time of most recent payload pickup/drop key hold*/ + public long lastPayloadKeyHoldMillis; + private float buildPlanMouseOffsetX, buildPlanMouseOffsetY; private boolean changedCursor; @@ -970,10 +975,26 @@ public class DesktopInput extends InputHandler{ if(unit instanceof Payloadc){ if(Core.input.keyTap(Binding.pickupCargo)){ tryPickupPayload(); + lastPayloadKeyTapMillis = Time.millis(); + } + + if(Core.input.keyDown(Binding.pickupCargo) + && Time.timeSinceMillis(lastPayloadKeyHoldMillis) > 20 + && Time.timeSinceMillis(lastPayloadKeyTapMillis) > 200){ + tryPickupPayload(); + lastPayloadKeyHoldMillis = Time.millis(); } if(Core.input.keyTap(Binding.dropCargo)){ tryDropPayload(); + lastPayloadKeyTapMillis = Time.millis(); + } + + if(Core.input.keyDown(Binding.dropCargo) + && Time.timeSinceMillis(lastPayloadKeyHoldMillis) > 20 + && Time.timeSinceMillis(lastPayloadKeyTapMillis) > 200){ + tryDropPayload(); + lastPayloadKeyHoldMillis = Time.millis(); } } }