1 /* 2 * The ManaPlus Client 3 * Copyright (C) 2004-2009 The Mana World Development Team 4 * Copyright (C) 2009-2010 The Mana Developers 5 * Copyright (C) 2011-2019 The ManaPlus Developers 6 * Copyright (C) 2019-2021 Andrei Karas 7 * 8 * This file is part of The ManaPlus Client. 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program. If not, see <http://www.gnu.org/licenses/>. 22 */ 23 24 #include "listeners/awaylistener.h" 25 26 #include "gamemodifiers.h" 27 #include "settings.h" 28 29 #include "being/localplayer.h" 30 31 #include "gui/windows/outfitwindow.h" 32 33 #include "listeners/updatestatuslistener.h" 34 35 #include "debug.h" 36 action(const ActionEvent & event)37void AwayListener::action(const ActionEvent &event) 38 { 39 if (event.getId() == "ok" && 40 localPlayer != nullptr && 41 settings.awayMode) 42 { 43 GameModifiers::changeAwayMode(true); 44 localPlayer->updateStatus(); 45 if (outfitWindow != nullptr) 46 outfitWindow->unwearAwayOutfit(); 47 UpdateStatusListener::distributeEvent(); 48 } 49 } 50