11import { EventBus } from "@wayward/game/event/EventBuses" ;
22import { EventHandler , eventManager } from "@wayward/game/event/EventManager" ;
33import type Entity from "@wayward/game/game/entity/Entity" ;
4+ import { MoveType } from "@wayward/game/game/entity/IEntity" ;
45import type Player from "@wayward/game/game/entity/player/Player" ;
56import Island from "@wayward/game/game/island/Island" ;
67import type Tile from "@wayward/game/game/tile/Tile" ;
@@ -258,6 +259,7 @@ export default class DebugTools extends Mod {
258259 * - Removes the `AddItemToInventory` UI Component.
259260 */
260261 public override onUnload ( ) : void {
262+ this . resetTemporaryPlayerMovementFlags ( ) ;
261263 eventManager . deregisterEventBusSubscriber ( this . selector ) ;
262264 Bind . deregisterHandlers ( this . selector ) ;
263265 this . unlockedCameraMovementHandler . end ( ) ;
@@ -268,6 +270,27 @@ export default class DebugTools extends Mod {
268270 this . accidentalDeathHelper . deregister ( ) ;
269271 }
270272
273+ private resetTemporaryPlayerMovementFlags ( ) : void {
274+ for ( const player of game . playerManager . getAll ( true , true , true , true ) ) {
275+ if ( player . isGhost ) {
276+ continue ;
277+ }
278+
279+ if ( player . isFastMoving ) {
280+ player . setFastMoving ( false ) ;
281+ delete player . fastMovingDelay ;
282+ player . nextMoveTime = 0 ;
283+ }
284+
285+ if ( player . getMoveType ( ) === MoveType . Flying ) {
286+ player . setMoveType ( player . vehicleItemReference ?. item ?. description ?. vehicle ?. movementType ?? ( MoveType . Land | MoveType . Water | MoveType . ShallowWater ) ) ;
287+ if ( player . isLocalPlayer ) {
288+ player . updateView ( RenderSource . Mod , true ) ;
289+ }
290+ }
291+ }
292+ }
293+
271294 /**
272295 * Saves the save data for Debug Tools
273296 */
0 commit comments