diff --git a/d2core/d2map/d2mapentity/factory.go b/d2core/d2map/d2mapentity/factory.go index 8ebe76d0..4139d04c 100644 --- a/d2core/d2map/d2mapentity/factory.go +++ b/d2core/d2map/d2mapentity/factory.go @@ -96,9 +96,9 @@ func (f *MapEntityFactory) NewPlayer(id, name string, x, y, direction int, heroT name: name, Class: heroType, //nameLabel: d2ui.NewLabel(d2resource.FontFormal11, d2resource.PaletteStatic), - isRunToggled: true, + isRunToggled: false, isInTown: true, - isRunning: true, + isRunning: false, } result.mapEntity.uuid = id diff --git a/d2game/d2player/game_controls.go b/d2game/d2player/game_controls.go index 1cd084df..81974666 100644 --- a/d2game/d2player/game_controls.go +++ b/d2game/d2player/game_controls.go @@ -306,7 +306,7 @@ func (g *GameControls) OnKeyDown(event d2interface.KeyEvent) bool { case d2enum.KeyC: g.heroStatsPanel.Toggle() g.updateLayout() - case d2enum.KeyR: + case d2enum.KeyR, d2enum.KeyControl: g.onToggleRunButton() case d2enum.KeyH: g.HelpOverlay.Toggle() @@ -318,6 +318,18 @@ func (g *GameControls) OnKeyDown(event d2interface.KeyEvent) bool { return false } +// OnKeyUp handles key release +func (g *GameControls) OnKeyUp(event d2interface.KeyEvent) bool { + switch event.Key() { + case d2enum.KeyControl: + g.onToggleRunButton() + default: + return false + } + + return false +} + // OnMouseButtonRepeat handles repeated mouse clicks func (g *GameControls) OnMouseButtonRepeat(event d2interface.MouseEvent) bool { px, py := g.mapRenderer.ScreenToWorld(event.X(), event.Y())