diff --git a/game/engines/default/data/keybinds/hotkeys.lua b/game/engines/default/data/keybinds/hotkeys.lua index b9f8f664caf2774c3b92eff9a829f860d0407790..d7ef60b68d3463e77486ad8aca84fe2d81022f02 100644 --- a/game/engines/default/data/keybinds/hotkeys.lua +++ b/game/engines/default/data/keybinds/hotkeys.lua @@ -239,6 +239,80 @@ defineAction{ name = "Third Hotkey 12", } +-- Alt + Hotkeys +defineAction{ + default = { "sym:_1:false:false:true:false" }, + type = "HOTKEY_FOURTH_1", + group = "hotkeys", + name = "Fourth Hotkey 1", +} +defineAction{ + default = { "sym:_2:false:false:true:false" }, + type = "HOTKEY_FOURTH_2", + group = "hotkeys", + name = "Fourth Hotkey 2", +} +defineAction{ + default = { "sym:_3:false:false:true:false" }, + type = "HOTKEY_FOURTH_3", + group = "hotkeys", + name = "Fourth Hotkey 3", +} +defineAction{ + default = { "sym:_4:false:false:true:false" }, + type = "HOTKEY_FOURTH_4", + group = "hotkeys", + name = "Fourth Hotkey 4", +} +defineAction{ + default = { "sym:_5:false:false:true:false" }, + type = "HOTKEY_FOURTH_5", + group = "hotkeys", + name = "Fourth Hotkey 5", +} +defineAction{ + default = { "sym:_6:false:false:true:false" }, + type = "HOTKEY_FOURTH_6", + group = "hotkeys", + name = "Fourth Hotkey 6", +} +defineAction{ + default = { "sym:_7:false:false:true:false" }, + type = "HOTKEY_FOURTH_7", + group = "hotkeys", + name = "Fourth Hotkey 7", +} +defineAction{ + default = { "sym:_8:false:false:true:false" }, + type = "HOTKEY_FOURTH_8", + group = "hotkeys", + name = "Fourth Hotkey 8", +} +defineAction{ + default = { "sym:_9:false:false:true:false" }, + type = "HOTKEY_FOURTH_9", + group = "hotkeys", + name = "Fourth Hotkey 9", +} +defineAction{ + default = { "sym:_0:false:false:true:false" }, + type = "HOTKEY_FOURTH_10", + group = "hotkeys", + name = "Fourth Hotkey 10", +} +defineAction{ + default = { "sym:_MINUS:false:false:true:false" }, + type = "HOTKEY_FOURTH_11", + group = "hotkeys", + name = "Fourth Hotkey 11", +} +defineAction{ + default = { "sym:_EQUALS:false:false:true:false" }, + type = "HOTKEY_FOURTH_12", + group = "hotkeys", + name = "Fourth Hotkey 12", +} + defineAction{ default = { "sym:_PAGEUP:false:false:false:false" }, type = "HOTKEY_PREV_PAGE", diff --git a/game/engines/default/engine/dialogs/ShowEquipInven.lua b/game/engines/default/engine/dialogs/ShowEquipInven.lua index 732efa94cce59f95a0b331df9f87c2a9e129d2ca..aad90445aa1bcf631b0e29c4bbfbf58d55428fd8 100644 --- a/game/engines/default/engine/dialogs/ShowEquipInven.lua +++ b/game/engines/default/engine/dialogs/ShowEquipInven.lua @@ -114,6 +114,18 @@ function _M:init(title, actor, filter, action, on_select) HOTKEY_THIRD_10 = function() self:defineHotkey(34) end, HOTKEY_THIRD_11 = function() self:defineHotkey(35) end, HOTKEY_THIRD_12 = function() self:defineHotkey(36) end, + HOTKEY_FOURTH_1 = function() self:defineHotkey(37) end, + HOTKEY_FOURTH_2 = function() self:defineHotkey(38) end, + HOTKEY_FOURTH_3 = function() self:defineHotkey(39) end, + HOTKEY_FOURTH_4 = function() self:defineHotkey(40) end, + HOTKEY_FOURTH_5 = function() self:defineHotkey(41) end, + HOTKEY_FOURTH_6 = function() self:defineHotkey(42) end, + HOTKEY_FOURTH_7 = function() self:defineHotkey(43) end, + HOTKEY_FOURTH_8 = function() self:defineHotkey(44) end, + HOTKEY_FOURTH_9 = function() self:defineHotkey(45) end, + HOTKEY_FOURTH_10 = function() self:defineHotkey(46) end, + HOTKEY_FOURTH_11 = function() self:defineHotkey(47) end, + HOTKEY_FOURTH_12 = function() self:defineHotkey(48) end, ACCEPT = function() if self.focus_ui and self.focus_ui.ui == self.c_inven then self:use(self.c_inven.list[self.c_inven.sel]) elseif self.focus_ui and self.focus_ui.ui == self.c_equip then self:use(self.c_equip.list[self.c_equip.sel]) diff --git a/game/engines/default/engine/dialogs/UseTalents.lua b/game/engines/default/engine/dialogs/UseTalents.lua index 8561908864e4cf7331887c3f4910b2507a23e47e..3f606e3b0c06b65ee9c08c06737a10dfe9a5d8ea 100644 --- a/game/engines/default/engine/dialogs/UseTalents.lua +++ b/game/engines/default/engine/dialogs/UseTalents.lua @@ -98,6 +98,18 @@ Check out the keybinding screen in the game menu to bind hotkeys to a key (defau HOTKEY_THIRD_10 = function() self:defineHotkey(34) end, HOTKEY_THIRD_11 = function() self:defineHotkey(35) end, HOTKEY_THIRD_12 = function() self:defineHotkey(36) end, + HOTKEY_FOURTH_1 = function() self:defineHotkey(37) end, + HOTKEY_FOURTH_2 = function() self:defineHotkey(38) end, + HOTKEY_FOURTH_3 = function() self:defineHotkey(39) end, + HOTKEY_FOURTH_4 = function() self:defineHotkey(40) end, + HOTKEY_FOURTH_5 = function() self:defineHotkey(41) end, + HOTKEY_FOURTH_6 = function() self:defineHotkey(42) end, + HOTKEY_FOURTH_7 = function() self:defineHotkey(43) end, + HOTKEY_FOURTH_8 = function() self:defineHotkey(44) end, + HOTKEY_FOURTH_9 = function() self:defineHotkey(45) end, + HOTKEY_FOURTH_10 = function() self:defineHotkey(46) end, + HOTKEY_FOURTH_11 = function() self:defineHotkey(47) end, + HOTKEY_FOURTH_12 = function() self:defineHotkey(48) end, EXIT = function() game:unregisterDialog(self) end, } end diff --git a/game/engines/default/engine/interface/ActorTalents.lua b/game/engines/default/engine/interface/ActorTalents.lua index 10850e0006ca11c4b626cc37ffde26f0ed66af59..f1d1586a77d89daed721c0625fbda78a3e765bff 100644 --- a/game/engines/default/engine/interface/ActorTalents.lua +++ b/game/engines/default/engine/interface/ActorTalents.lua @@ -273,7 +273,7 @@ function _M:learnTalent(t_id, force, nb) end end if not found then - for i = 1, 36 do + for i = 1, 48 do if not self.hotkey[i] then self.hotkey[i] = {"talent", t_id} break diff --git a/game/engines/default/engine/interface/PlayerHotkeys.lua b/game/engines/default/engine/interface/PlayerHotkeys.lua index 8072ac9e11913f41894e2cfdee5cf0974cd72749..11003eb6222309ce006a262c6dba7df0e9e44ded 100644 --- a/game/engines/default/engine/interface/PlayerHotkeys.lua +++ b/game/engines/default/engine/interface/PlayerHotkeys.lua @@ -42,15 +42,15 @@ function _M:sortHotkeys() print("[SORTING HOTKEYS] pairing",known_t_id,i) self.hotkey[i] = {"talent", known_t_id} -- Remove from old - for z = 1, 36 do if old[z] and old[z][1] == "talent" and old[z][2] == known_t_id then old[z] = nil break end end + for z = 1, 48 do if old[z] and old[z][1] == "talent" and old[z][2] == known_t_id then old[z] = nil break end end end end end -- Read all the rest - for j = 1, 36 do + for j = 1, 48 do if old[j] then - for i = 1, 36 do if not self.hotkey[i] then + for i = 1, 48 do if not self.hotkey[i] then self.hotkey[i] = old[j] print("[SORTING HOTKEYS] added back", old[j][2], i) break @@ -106,7 +106,7 @@ function _M:hotkeyAutoTalents() for tid, _ in pairs(self.talents) do local t = self:getTalentFromId(tid) if t.mode == "activated" or t.mode == "sustained" then - for i = 1, 36 do + for i = 1, 48 do if not self.hotkey[i] then self.hotkey[i] = {"talent", tid} break diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua index 2715273197282f517de1913819a2710defacdc47..72146d8294ffe358b0f85110d892498e421a21f5 100644 --- a/game/modules/tome/class/Game.lua +++ b/game/modules/tome/class/Game.lua @@ -1167,6 +1167,18 @@ function _M:setupCommands() HOTKEY_THIRD_10 = not_wild(function() self.player:activateHotkey(34) end), HOTKEY_THIRD_11 = not_wild(function() self.player:activateHotkey(35) end), HOTKEY_THIRD_12 = not_wild(function() self.player:activateHotkey(36) end), + HOTKEY_FOURTH_1 = not_wild(function() self.player:activateHotkey(37) end), + HOTKEY_FOURTH_2 = not_wild(function() self.player:activateHotkey(38) end), + HOTKEY_FOURTH_3 = not_wild(function() self.player:activateHotkey(39) end), + HOTKEY_FOURTH_4 = not_wild(function() self.player:activateHotkey(40) end), + HOTKEY_FOURTH_5 = not_wild(function() self.player:activateHotkey(41) end), + HOTKEY_FOURTH_6 = not_wild(function() self.player:activateHotkey(42) end), + HOTKEY_FOURTH_7 = not_wild(function() self.player:activateHotkey(43) end), + HOTKEY_FOURTH_8 = not_wild(function() self.player:activateHotkey(44) end), + HOTKEY_FOURTH_9 = not_wild(function() self.player:activateHotkey(45) end), + HOTKEY_FOURTH_10 = not_wild(function() self.player:activateHotkey(46) end), + HOTKEY_FOURTH_11 = not_wild(function() self.player:activateHotkey(47) end), + HOTKEY_FOURTH_12 = not_wild(function() self.player:activateHotkey(48) end), HOTKEY_PREV_PAGE = not_wild(function() self.player:prevHotkeyPage() self.log("Hotkey page %d is now displayed.", self.player.hotkey_page) end), HOTKEY_NEXT_PAGE = not_wild(function() self.player:nextHotkeyPage() self.log("Hotkey page %d is now displayed.", self.player.hotkey_page) end), diff --git a/game/modules/tome/class/interface/ActorInscriptions.lua b/game/modules/tome/class/interface/ActorInscriptions.lua index a684c0dbfa1d8b9838d7dca9c9e675b18aaeeca7..f8cd741e33357a674e05aaa5c9ba1c3211c6c402 100644 --- a/game/modules/tome/class/interface/ActorInscriptions.lua +++ b/game/modules/tome/class/interface/ActorInscriptions.lua @@ -85,7 +85,7 @@ function _M:setInscription(id, name, data, cooldown, vocal, src, bypass_max_same local oldname = self.inscriptions[id] local oldpos = nil if oldname then - for i = 1, 36 do + for i = 1, 48 do if self.hotkey[i] and self.hotkey[i][1] == "talent" and self.hotkey[i][2] == "T_"..oldname then oldpos = i break end end self:unlearnTalent(self["T_"..oldname]) @@ -109,7 +109,7 @@ function _M:setInscription(id, name, data, cooldown, vocal, src, bypass_max_same -- Hotkey if oldpos then - for i = 1, 36 do + for i = 1, 48 do if self.hotkey[i] and self.hotkey[i][1] == "talent" and self.hotkey[i][2] == "T_"..name then self.hotkey[i] = nil end end self.hotkey[oldpos] = {"talent", "T_"..name} diff --git a/game/modules/tome/dialogs/MapMenu.lua b/game/modules/tome/dialogs/MapMenu.lua index 4e3a998fe087e793f2dfef72e18fe39868f1d71a..da86b58f5d22f750fd2a6907aa39752a1b2fd740 100644 --- a/game/modules/tome/dialogs/MapMenu.lua +++ b/game/modules/tome/dialogs/MapMenu.lua @@ -165,8 +165,8 @@ function _M:generateList() end table.sort(tals, function(a, b) local ha, hb - for i = 1, 36 do if player.hotkey[i] and player.hotkey[i][1] == "talent" and player.hotkey[i][2] == a.talent.id then ha = i end end - for i = 1, 36 do if player.hotkey[i] and player.hotkey[i][1] == "talent" and player.hotkey[i][2] == b.talent.id then hb = i end end + for i = 1, 48 do if player.hotkey[i] and player.hotkey[i][1] == "talent" and player.hotkey[i][2] == a.talent.id then ha = i end end + for i = 1, 48 do if player.hotkey[i] and player.hotkey[i][1] == "talent" and player.hotkey[i][2] == b.talent.id then hb = i end end if ha and hb then return ha < hb elseif ha and not hb then return ha < 999999 diff --git a/game/modules/tome/dialogs/UseTalents.lua b/game/modules/tome/dialogs/UseTalents.lua index eed78be1a5f0a190e85b05bb52b11c9cc80bda41..8b0157b2648ec67a67b312c600680e4df1630f7a 100644 --- a/game/modules/tome/dialogs/UseTalents.lua +++ b/game/modules/tome/dialogs/UseTalents.lua @@ -109,6 +109,18 @@ Right click or press '*' to configure. HOTKEY_THIRD_10 = function() self:defineHotkey(34) end, HOTKEY_THIRD_11 = function() self:defineHotkey(35) end, HOTKEY_THIRD_12 = function() self:defineHotkey(36) end, + HOTKEY_FOURTH_1 = function() self:defineHotkey(37) end, + HOTKEY_FOURTH_2 = function() self:defineHotkey(38) end, + HOTKEY_FOURTH_3 = function() self:defineHotkey(39) end, + HOTKEY_FOURTH_4 = function() self:defineHotkey(40) end, + HOTKEY_FOURTH_5 = function() self:defineHotkey(41) end, + HOTKEY_FOURTH_6 = function() self:defineHotkey(42) end, + HOTKEY_FOURTH_7 = function() self:defineHotkey(43) end, + HOTKEY_FOURTH_8 = function() self:defineHotkey(44) end, + HOTKEY_FOURTH_9 = function() self:defineHotkey(45) end, + HOTKEY_FOURTH_10 = function() self:defineHotkey(46) end, + HOTKEY_FOURTH_11 = function() self:defineHotkey(47) end, + HOTKEY_FOURTH_12 = function() self:defineHotkey(48) end, EXIT = function() game:unregisterDialog(self) end, } end @@ -118,7 +130,7 @@ function _M:defineHotkey(id) local item = self.cur_item if not item or not item.talent then return end - for i = 1, 36 do + for i = 1, 48 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then self.actor.hotkey[i] = nil end end @@ -163,11 +175,11 @@ function _M:use(item, button) else table.insert(list, 1, {name="Enable automatic use", what="auto-en"}) end - for i = 1, 36 do list[#list+1] = {name="Hotkey "..i, what=i} end + for i = 1, 48 do list[#list+1] = {name="Hotkey "..i, what=i} end Dialog:listPopup("Bind talent: "..item.name:toString(), "How do you want to bind this talent?", list, 400, 500, function(b) if not b then return end if type(b.what) == "number" then - for i = 1, 36 do + for i = 1, 48 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then self.actor.hotkey[i] = nil end end self.actor.hotkey[b.what] = {"talent", item.talent} @@ -181,7 +193,7 @@ function _M:use(item, button) elseif b.what == "unbind" then if self.actor.auto_shoot_talent == item.talent then self.actor.auto_shoot_talent = nil end if self.actor.auto_shoot_midclick_talent == item.talent then self.actor.auto_shoot_midclick_talent = nil end - for i = 1, 36 do + for i = 1, 48 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then self.actor.hotkey[i] = nil end end elseif b.what == "auto-en" then @@ -233,7 +245,7 @@ function _M:generateList() desc=self.actor:getTalentFullDescription(t), color=function() return {0xFF, 0xFF, 0xFF} end, hotkey=function(item) - for i = 1, 36 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then + for i = 1, 48 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then return "H.Key "..i.."" end end return "" @@ -290,7 +302,7 @@ function _M:generateList() desc=self.actor:getTalentFullDescription(t), color=function() return {0xFF, 0xFF, 0xFF} end, hotkey=function(item) - for i = 1, 36 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then + for i = 1, 48 do if self.actor.hotkey[i] and self.actor.hotkey[i][1] == "talent" and self.actor.hotkey[i][2] == item.talent then return "H.Key "..i.."" end end return ""