From 3363acba6f1e8e51937ae2e354a8086c5c56b8cd Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 20 May 2018 06:11:17 +0300 Subject: Show gm revive button in death dialog if player have rights for @alive command. --- src/gui/dialogsmanager.cpp | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) (limited to 'src/gui/dialogsmanager.cpp') diff --git a/src/gui/dialogsmanager.cpp b/src/gui/dialogsmanager.cpp index 2a4f407ee..288fadc94 100644 --- a/src/gui/dialogsmanager.cpp +++ b/src/gui/dialogsmanager.cpp @@ -48,6 +48,7 @@ #include "net/inventoryhandler.h" #include "resources/db/deaddb.h" +#include "resources/db/groupdb.h" #include "utils/gettext.h" @@ -57,7 +58,7 @@ #undef ERROR #endif // WIN32 -OkDialog *deathNotice = nullptr; +Window *deathNotice = nullptr; DialogsManager *dialogsManager = nullptr; OkDialog *weightNotice = nullptr; time_t weightNoticeTime = 0; @@ -141,17 +142,35 @@ void DialogsManager::playerDeath() #ifndef DYECMD if (deathNotice == nullptr) { - CREATEWIDGETV(deathNotice, OkDialog, - // TRANSLATORS: message header - _("Message"), - DeadDB::getRandomString(), - // TRANSLATORS: ok dialog button - _("Revive"), - DialogType::OK, - Modal_false, - ShowCenter_true, - nullptr, - 260); + if (GroupDb::isAllowCommand(ServerCommandType::alive)) + { + CREATEWIDGETV(deathNotice, ConfirmDialog, + // TRANSLATORS: message header + _("Message"), + DeadDB::getRandomString(), + // TRANSLATORS: ok dialog button + _("Revive"), + // TRANSLATORS: ok dialog button + _("GM revive"), + SOUND_REQUEST, + false, + Modal_false, + nullptr); + } + else + { + CREATEWIDGETV(deathNotice, OkDialog, + // TRANSLATORS: message header + _("Message"), + DeadDB::getRandomString(), + // TRANSLATORS: ok dialog button + _("Revive"), + DialogType::OK, + Modal_false, + ShowCenter_true, + nullptr, + 260); + } deathNotice->addActionListener(&postDeathListener); } #endif // DYECMD -- cgit v1.2.3-70-g09d2