aboutsummaryrefslogtreecommitdiff
path: root/engines/griffon/console.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2019-11-10 11:46:18 +0100
committerEugene Sandulenko2019-11-13 22:07:08 +0100
commit6116ed3a250ec0e6facb97164c4f21de722e22f6 (patch)
tree896bbf420681fbe674c4912cf748f95a79a80880 /engines/griffon/console.cpp
parent6827277eb0937b6a3fe050f7df17ed1fd8fc91e1 (diff)
downloadscummvm-rg350-6116ed3a250ec0e6facb97164c4f21de722e22f6.tar.gz
scummvm-rg350-6116ed3a250ec0e6facb97164c4f21de722e22f6.tar.bz2
scummvm-rg350-6116ed3a250ec0e6facb97164c4f21de722e22f6.zip
GRIFFON: Added 'nodamage' console command
Diffstat (limited to 'engines/griffon/console.cpp')
-rw-r--r--engines/griffon/console.cpp27
1 files changed, 24 insertions, 3 deletions
diff --git a/engines/griffon/console.cpp b/engines/griffon/console.cpp
index f8c51f7a94..4ceb3f8044 100644
--- a/engines/griffon/console.cpp
+++ b/engines/griffon/console.cpp
@@ -27,8 +27,9 @@
namespace Griffon {
Console::Console() {
- _godMode = false;
+ _godMode = kGodModeNone;
registerCmd("godmode", WRAP_METHOD(Console, Cmd_godMode));
+ registerCmd("nodamage", WRAP_METHOD(Console, Cmd_noDamage));
}
bool Console::Cmd_godMode(int argc, const char** argv) {
@@ -38,8 +39,28 @@ bool Console::Cmd_godMode(int argc, const char** argv) {
return true;
}
- _godMode ^= true;
- debugPrintf("God mode is now %s\n", _godMode ? "Enabled" : "Disabled");
+ if (_godMode != kGodModeNone)
+ _godMode = kGodModeNone;
+ else
+ _godMode = kGodModeAll;
+
+ debugPrintf("God mode is now %s\n", _godMode == kGodModeAll ? "Invincibility/Damage" : "Disabled");
+ return true;
+}
+
+bool Console::Cmd_noDamage(int argc, const char** argv) {
+ if (argc != 1) {
+ debugPrintf("Usage: %s\n", argv[0]);
+ debugPrintf("Enables/Disables invincibility\n");
+ return true;
+ }
+
+ if (_godMode != kGodModeNone)
+ _godMode = kGodModeNone;
+ else
+ _godMode = kGodModeNoDamage;
+
+ debugPrintf("God mode is now %s\n", _godMode ? "Invincibility" : "Disabled");
return true;
}