diff --git a/modules/client_entergame/characterlist.lua b/modules/client_entergame/characterlist.lua index 9f233f09..b3fdaa94 100644 --- a/modules/client_entergame/characterlist.lua +++ b/modules/client_entergame/characterlist.lua @@ -22,7 +22,7 @@ local function tryLogin(charInfo, tries) if g_game.isOnline() then g_game.safeLogout() if tries == 1 then - loadBox = displayCancelBox(tr('Please wait'), tr('Loggin out...')) + loadBox = displayCancelBox(tr('Please wait'), tr('Logging out...')) end scheduleEvent(function() tryLogin(charInfo, tries+1) end, 250) return diff --git a/modules/game_hotkeys/hotkeys_manager.lua b/modules/game_hotkeys/hotkeys_manager.lua index 53c59386..7b834281 100644 --- a/modules/game_hotkeys/hotkeys_manager.lua +++ b/modules/game_hotkeys/hotkeys_manager.lua @@ -334,6 +334,7 @@ function HotkeysManager.checkSelectedHotkey(focused) if hotkeyLabelSelectedOnList.itemId == nil then hotkeyText:enable() + hotkeyText:focus() hotKeyTextLabel:enable() hotkeyText:setText(hotkeyLabelSelectedOnList.value) diff --git a/modules/game_interface/styles/exitwindow.otui b/modules/game_interface/styles/exitwindow.otui index 60fb5b29..f47ece50 100644 --- a/modules/game_interface/styles/exitwindow.otui +++ b/modules/game_interface/styles/exitwindow.otui @@ -4,28 +4,13 @@ ExitWindow < MainWindow size: 550 135 Label - !text: tr('If you shut down the program, you character might stay in the game.') + !text: tr('If you shut down the program, you character might stay in the game.\nClick on "Logout" to ensure that you character leaves the game property.\nClick on "Exit" if you want to exit the program without logging out your character.') width: 550 + height: 110 anchors.left: parent.left anchors.top: parent.top margin-left: 10 margin-top: 2 - - Label - !text: tr('Click on "Logout" to ensure that you character leaves the game property.') - width: 550 - anchors.left: parent.left - anchors.top: prev.bottom - margin-left: 10 - margin-top: 2 - - Label - !text: tr('Click on "Exit" if you want to exit the program without logging out your character.') - width: 550 - anchors.left: parent.left - anchors.top: prev.bottom - margin-left: 10 - margin-top: 2 Button id: buttonExit @@ -50,4 +35,3 @@ ExitWindow < MainWindow anchors.left: prev.right anchors.bottom: parent.bottom margin-left: 5 - @onClick: self:getParent():destroy() diff --git a/modules/game_minimap/minimap.lua b/modules/game_minimap/minimap.lua index 1e669627..3998c8ee 100644 --- a/modules/game_minimap/minimap.lua +++ b/modules/game_minimap/minimap.lua @@ -127,8 +127,8 @@ function Minimap.compassClick(self, mousePos, mouseButton, elapsed) local dx = px - self:getWidth()/2 local dy = -(py - self:getHeight()/2) local radius = math.sqrt(dx*dx+dy*dy) - local movex=0 - local movey=0 + local movex = 0 + local movey = 0 dx = dx/radius dy = dy/radius diff --git a/modules/game_textmessage/deathwindow.otui b/modules/game_textmessage/deathwindow.otui new file mode 100644 index 00000000..4e395bc0 --- /dev/null +++ b/modules/game_textmessage/deathwindow.otui @@ -0,0 +1,29 @@ +DeathWindow < MainWindow + id: deathWindow + !text: tr('You are dead') + size: 350 155 + + Label + !text: tr('Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nSimply click on Ok to resume your journeys!') + width: 550 + height: 140 + anchors.left: parent.left + anchors.top: parent.top + margin-left: 10 + margin-top: 2 + + Button + id: buttonOk + !text: tr('Ok') + width: 64 + anchors.left: parent.left + anchors.bottom: parent.bottom + margin-left: 160 + + Button + id: buttonCancel + !text: tr('Cancel') + width: 64 + anchors.left: prev.right + anchors.bottom: parent.bottom + margin-left: 5 diff --git a/modules/game_textmessage/textmessage.lua b/modules/game_textmessage/textmessage.lua index 97e5da37..e3587c76 100644 --- a/modules/game_textmessage/textmessage.lua +++ b/modules/game_textmessage/textmessage.lua @@ -20,6 +20,7 @@ local MessageTypes = { local centerTextMessagePanel local bottomStatusLabel local privateLabel +local deathWindow -- private functions local function displayMessage(msgtype, msg, time) @@ -57,6 +58,8 @@ end -- public functions function TextMessage.init() + g_ui.importStyle('deathwindow.otui') + connect(g_game, { onDeath = TextMessage.displayDeadMessage, onTextMessage = TextMessage.display, onGameStart = TextMessage.clearMessages }) @@ -93,6 +96,7 @@ function TextMessage.terminate() centerTextMessagePanel = nil bottomStatusLabel = nil privateLabel = nil + deathWindow = nil TextMessage = nil end @@ -127,4 +131,28 @@ function TextMessage.displayDeadMessage() local advanceLabel = GameInterface.getMapPanel():recursiveGetChildById('centerAdvance') if advanceLabel:isVisible() then return end TextMessage.displayEventAdvance(tr('You are dead.')) + + if(deathWindow) then + return + end + deathWindow = g_ui.createWidget('DeathWindow', rootWidget) + local okButton = deathWindow:getChildById('buttonOk') + local cancelButton = deathWindow:getChildById('buttonCancel') + + local okFunc = function() + CharacterList.doLogin() + okButton:getParent():destroy() + deathWindow = nil + end + local cancelFunc = function() + GameInterface.logout() + cancelButton:getParent():destroy() + deathWindow = nil + end + + deathWindow.onEnter = okFunc + deathWindow.onEscape = cancelFunc + + okButton.onClick = okFunc + cancelButton.onClick = cancelFunc end