mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-21 03:15:59 +01:00
Stop stamina consumption on game pause
This commit is contained in:
@@ -1,14 +1,11 @@
|
||||
package emu.grasscutter.game.managers.SotSManager;
|
||||
package emu.grasscutter.game.managers;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.game.avatar.Avatar;
|
||||
import emu.grasscutter.game.entity.EntityAvatar;
|
||||
import emu.grasscutter.game.entity.GameEntity;
|
||||
import emu.grasscutter.game.managers.MovementManager.MovementManager;
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.game.props.FightProperty;
|
||||
import emu.grasscutter.game.props.PlayerProperty;
|
||||
import emu.grasscutter.game.world.World;
|
||||
import emu.grasscutter.net.proto.ChangeHpReasonOuterClass;
|
||||
import emu.grasscutter.net.proto.PropChangeReasonOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
@@ -29,6 +26,8 @@ public class SotSManager {
|
||||
private final Player player;
|
||||
private Timer autoRecoverTimer;
|
||||
|
||||
public final static int GlobalMaximumSpringVolume = 8500000;
|
||||
|
||||
public SotSManager(Player player) {
|
||||
this.player = player;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package emu.grasscutter.game.managers.MovementManager;
|
||||
package emu.grasscutter.game.managers;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.game.entity.EntityAvatar;
|
||||
@@ -20,9 +20,11 @@ import emu.grasscutter.utils.Position;
|
||||
import java.lang.Math;
|
||||
import java.util.*;
|
||||
|
||||
public class MovementManager {
|
||||
public class StaminaManager {
|
||||
private final Player player;
|
||||
private HashMap<String, HashSet<MotionState>> MotionStatesCategorized = new HashMap<>();
|
||||
|
||||
public final static int GlobalMaximumStamina = 24000;
|
||||
private Position currentCoordinates = new Position(0, 0, 0);
|
||||
private Position previousCoordinates = new Position(0, 0, 0);
|
||||
private MotionState currentState = MotionState.MOTION_STANDBY;
|
||||
@@ -84,7 +86,7 @@ public class MovementManager {
|
||||
isInSkillMove = b;
|
||||
}
|
||||
|
||||
public MovementManager(Player player) {
|
||||
public StaminaManager(Player player) {
|
||||
this.player = player;
|
||||
|
||||
MotionStatesCategorized.put("SWIM", new HashSet<>(Arrays.asList(
|
||||
@@ -181,11 +183,14 @@ public class MovementManager {
|
||||
}
|
||||
|
||||
public void startSustainedStaminaHandler() {
|
||||
if (sustainedStaminaHandlerTimer == null) {
|
||||
sustainedStaminaHandlerTimer = new Timer();
|
||||
sustainedStaminaHandlerTimer.scheduleAtFixedRate(new SustainedStaminaHandler(), 0, 200);
|
||||
Grasscutter.getLogger().debug("[MovementManager] SustainedStaminaHandlerTimer started");
|
||||
if (!player.isPaused()) {
|
||||
if (sustainedStaminaHandlerTimer == null) {
|
||||
sustainedStaminaHandlerTimer = new Timer();
|
||||
sustainedStaminaHandlerTimer.scheduleAtFixedRate(new SustainedStaminaHandler(), 0, 200);
|
||||
Grasscutter.getLogger().debug("[MovementManager] SustainedStaminaHandlerTimer started");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void stopSustainedStaminaHandler() {
|
||||
Reference in New Issue
Block a user