From c6ab6bc484a2fc4515346111da0cc38670c09e51 Mon Sep 17 00:00:00 2001 From: Jeffrey Date: Wed, 9 Jan 2013 21:20:26 -0600 Subject: [PATCH] Ignore/Unignore options in right click menus Added both Ignore and Unignore options in the right click menu for the Game Window (which also added it for the Battle list), and in the right click menu for the console (chat window). --- modules/game_console/console.lua | 25 +++++++++++++++++++----- modules/game_interface/gameinterface.lua | 6 ++++++ 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/modules/game_console/console.lua b/modules/game_console/console.lua index 07280931..4ec82b7f 100644 --- a/modules/game_console/console.lua +++ b/modules/game_console/console.lua @@ -446,7 +446,11 @@ function processMessageMenu(mousePos, mouseButton, creatureName, text) if not g_game.getLocalPlayer():hasVip(creatureName) then menu:addOption(tr('Add to VIP list'), function () g_game.addVip(creatureName) end) end - -- TODO ignore creatureName + if isIgnored(creatureName) then + menu:addOption(tr('Unignore') .. ' ' .. creatureName, function() removeIgnoredPlayer(creatureName) end) + else + menu:addOption(tr('Ignore') .. ' ' .. creatureName, function() addIgnoredPlayer(creatureName) end) + end menu:addSeparator() end --TODO select all @@ -765,15 +769,25 @@ function saveIgnoreSettings() end function isIgnored(name) - return table.find(ignoreSettings.players, name) + return table.find(ignoreSettings.players, name) +end + +function addIgnoredPlayer(name) + if not isIgnored(name) then + table.insert(ignoreSettings.players, name) + end +end + +function removeIgnoredPlayer(name) + table.removevalue(ignoreSettings.players, name) end function isIgnoringPrivate() - return ignoreSettings.privateMessages + return ignoreSettings.privateMessages end function isIgnoringYelling() - return ignoreSettings.yelling + return ignoreSettings.yelling end function onClickIgnoreButton() @@ -821,7 +835,8 @@ function onClickIgnoreButton() saveButton.onClick = function() ignoreSettings.players = {} for i = 1, ignoreListPanel:getChildCount() do - table.insert(ignoreSettings.players, ignoreListPanel:getChildByIndex(i):getText()) + addIgnorePlayer(ignoreListPanel:getChildByIndex(i):getText()) + --table.insert(ignoreSettings.players, ignoreListPanel:getChildByIndex(i):getText()) end ignoreSettings.yelling = ignoreYellingBox:isChecked() diff --git a/modules/game_interface/gameinterface.lua b/modules/game_interface/gameinterface.lua index 2fe9cdb2..b9346af5 100644 --- a/modules/game_interface/gameinterface.lua +++ b/modules/game_interface/gameinterface.lua @@ -411,6 +411,12 @@ function createThingMenu(menuPosition, lookThing, useThing, creatureThing) if (not Player:hasVip(creatureName)) then menu:addOption(tr('Add to VIP list'), function() g_game.addVip(creatureName) end) end + + if modules.game_console.isIgnored(creatureName) then + menu:addOption(tr('Unignore') .. ' ' .. creatureName, function() modules.game_console.removeIgnoredPlayer(creatureName) end) + else + menu:addOption(tr('Ignore') .. ' ' .. creatureName, function() modules.game_console.addIgnoredPlayer(creatureName) end) + end local localPlayerShield = localPlayer:getShield() local creatureShield = creatureThing:getShield()