diff --git a/modules/corelib/table.lua b/modules/corelib/table.lua index 78498421..572bd2d6 100644 --- a/modules/corelib/table.lua +++ b/modules/corelib/table.lua @@ -16,7 +16,11 @@ end function table.copy(t) local res = {} for k,v in pairs(t) do - res[k] = v + if type(v) == "table" then + res[k] = table.copy(v) + else + res[k] = v + end end return res end diff --git a/modules/game_combatcontrols/combatcontrols.lua b/modules/game_combatcontrols/combatcontrols.lua index ce0800a4..e1119f69 100644 --- a/modules/game_combatcontrols/combatcontrols.lua +++ b/modules/game_combatcontrols/combatcontrols.lua @@ -78,8 +78,8 @@ function update() end function check() - if(Options.getOption('autoChaseOverride')) then - if(g_game.isAttacking() and g_game.getChaseMode() == ChaseOpponent) then + if Options.getOption('autoChaseOverride') then + if g_game.isAttacking() and g_game.getChaseMode() == ChaseOpponent then g_game.setChaseMode(DontChase) end end @@ -87,13 +87,13 @@ end function online() local player = g_game.getLocalPlayer() - if(player) then + if player then local char = player:getName() local lastCombatControls = g_settings.getNode('LastCombatControls') - if(not table.empty(lastCombatControls)) then - if(lastCombatControls[char]) then + if not table.empty(lastCombatControls) then + if lastCombatControls[char] then g_game.setFightMode(lastCombatControls[char].fightMode) g_game.setChaseMode(lastCombatControls[char].chaseMode) g_game.setSafeFight(lastCombatControls[char].safeFight) @@ -101,18 +101,17 @@ function online() end end - combatControlsWindow:setVisible(combatControlsButton:isOn()) update() end function offline() local lastCombatControls = g_settings.getNode('LastCombatControls') - if(not lastCombatControls) then + if not lastCombatControls then lastCombatControls = {} end local player = g_game.getLocalPlayer() - if(player) then + if player then local char = player:getName() lastCombatControls[char] = { fightMode = g_game.getFightMode(), @@ -162,3 +161,7 @@ end function onSetSafeFight(self, checked) g_game.setSafeFight(not checked) end + +function onMiniWindowClose() + combatControlsButton:setOn(false) +end diff --git a/modules/game_combatcontrols/combatcontrols.otui b/modules/game_combatcontrols/combatcontrols.otui index f78cade1..a47033c7 100644 --- a/modules/game_combatcontrols/combatcontrols.otui +++ b/modules/game_combatcontrols/combatcontrols.otui @@ -28,6 +28,7 @@ MiniWindow icon: combatcontrols.png height: 48 &save: true + @onClose: onMiniWindowClose() MiniWindowContents FightOffensiveBox