From b02b4ce0b656a93fbcaa927b0ba289edfec6e22c Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 21 Jul 2014 00:18:41 +0300 Subject: move "change crazy move" option into gamemodifiers. --- src/gamemodifiers.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/gamemodifiers.cpp') diff --git a/src/gamemodifiers.cpp b/src/gamemodifiers.cpp index aea2fa6d6..4facc4cf4 100644 --- a/src/gamemodifiers.cpp +++ b/src/gamemodifiers.cpp @@ -37,6 +37,7 @@ GameModifiers *modifiers = nullptr; GameModifiers::GameModifiers() { + settings.crazyMoveType = config.getIntValue("crazyMoveType"); } GameModifiers::~GameModifiers() @@ -115,3 +116,33 @@ std::string GameModifiers::getMoveTypeString() return gettext(getVarItem(&moveTypeStrings[0], settings.moveType, moveTypeSize)); } + +static const unsigned crazyMoveTypeSize = 11; + +void GameModifiers::changeCrazyMoveType(const bool forward) +{ + player_node->setCrazyMoveState(0U); + changeMode(&settings.crazyMoveType, crazyMoveTypeSize, "crazyMoveType", + &GameModifiers::getCrazyMoveTypeString, 1, true, forward); +} + +std::string GameModifiers::getCrazyMoveTypeString() +{ + const unsigned int crazyMoveType = settings.crazyMoveType; + if (crazyMoveType < crazyMoveTypeSize - 1) + { + // TRANSLATORS: crazy move type in status bar + return strprintf(_("(%u) crazy move number %u"), + crazyMoveType, crazyMoveType); + } + else if (crazyMoveType == crazyMoveTypeSize - 1) + { + // TRANSLATORS: crazy move type in status bar + return _("(a) custom crazy move"); + } + else + { + // TRANSLATORS: crazy move type in status bar + return _("(?) crazy move"); + } +} -- cgit v1.2.3-70-g09d2