diff options
-rw-r--r-- | src/actions/commands.cpp | 29 | ||||
-rw-r--r-- | src/gui/popups/popupmenu.cpp | 27 |
2 files changed, 21 insertions, 35 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index 9f38844ee..1a1b07dd5 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -601,7 +601,7 @@ impHandler(addPriorityAttack) impHandler(addAttack) { - if (!actorManager || actorManager->isInAttackList(event.args)) + if (!actorManager) return false; actorManager->removeAttackMob(event.args); @@ -614,16 +614,27 @@ impHandler(addAttack) impHandler(removeAttack) { - if (!actorManager || - event.args.empty() || - (!actorManager->isInAttackList(event.args) && - !actorManager->isInPriorityAttackList(event.args) && - !actorManager->isInIgnoreAttackList(event.args))) - { + if (!actorManager) return false; + + if (event.args.empty()) + { + if (actorManager->isInAttackList(event.args)) + { + actorManager->removeAttackMob(event.args); + actorManager->addIgnoreAttackMob(event.args); + } + else + { + actorManager->removeAttackMob(event.args); + actorManager->addAttackMob(event.args); + } + } + else + { + actorManager->removeAttackMob(event.args); } - actorManager->removeAttackMob(event.args); if (socialWindow) socialWindow->updateAttackFilter(); @@ -632,7 +643,7 @@ impHandler(removeAttack) impHandler(addIgnoreAttack) { - if (!actorManager || actorManager->isInIgnoreAttackList(event.args)) + if (!actorManager) return false; actorManager->removeAttackMob(event.args); diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index d2e4a100d..bc8a9fd2f 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -1264,31 +1264,6 @@ void PopupMenu::handleLink(const std::string &link, } } } - else if (link == "attack remove") - { - if (actorManager) - { - if (mNick.empty()) - { - if (actorManager->isInAttackList(mNick)) - { - actorManager->removeAttackMob(mNick); - actorManager->addIgnoreAttackMob(mNick); - } - else - { - actorManager->removeAttackMob(mNick); - actorManager->addAttackMob(mNick); - } - } - else - { - actorManager->removeAttackMob(mNick); - } - if (socialWindow) - socialWindow->updateAttackFilter(); - } - } else if (link == "reset yellow") { GameModifiers::resetModifiers(); @@ -2070,7 +2045,7 @@ void PopupMenu::showAttackMonsterPopup(const int x, const int y, // TRANSLATORS: popup menu item // TRANSLATORS: remove attack target - mBrowserBox->addRow("attack remove", _("Remove")); + mBrowserBox->addRow("/removeattack 'NAME'", _("Remove")); mBrowserBox->addRow("##3---"); // TRANSLATORS: popup menu item // TRANSLATORS: close menu |