aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script/vk_script.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/script/vk_script.cpp')
-rw-r--r--engines/bladerunner/script/vk_script.cpp44
1 files changed, 42 insertions, 2 deletions
diff --git a/engines/bladerunner/script/vk_script.cpp b/engines/bladerunner/script/vk_script.cpp
index 688cda7cf8..c60c2200de 100644
--- a/engines/bladerunner/script/vk_script.cpp
+++ b/engines/bladerunner/script/vk_script.cpp
@@ -24,6 +24,7 @@
#include "bladerunner/bladerunner.h"
#include "bladerunner/mouse.h"
+#include "bladerunner/debugger.h"
namespace BladeRunner {
@@ -405,8 +406,47 @@ void VKScript::SCRIPT_VK_DLL_McCoy_Asks_Question(int actorId, int questionId) {
VK_Play_Speech_Line(kActorMcCoy, 7780, 0.5f);
break;
}
- if (++_questionCounter >= 10) {
- VK_Subject_Reacts(5, 0, 0, 100);
+
+ if ( _vm->_debugger->_playFullVk ) {
+ if (++_questionCounter >= 40) {
+ switch(actorId) {
+ case kActorLucy:
+ //debug("Last Lucy Question!");
+ if (Game_Flag_Query(kFlagLucyIsReplicant)) {
+ VK_Subject_Reacts(5, 0, 100, 100); // Replicant result
+ } else {
+ VK_Subject_Reacts(5, 100, 0, 100); // Human result
+ }
+ break;
+ case kActorDektora:
+ //debug("Last Dektora Question!");
+ if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
+ VK_Subject_Reacts(5, 0, 100, 100); // Replicant result
+ } else {
+ VK_Subject_Reacts(5, 100, 0, 100); // Human result
+ }
+ break;
+ case kActorGrigorian:
+ //debug("Last Grigorian Question!");
+ VK_Subject_Reacts(5, 100, 0, 100); // Human result
+ break;
+ case kActorRunciter:
+ //debug("Last Runciter Question!");
+ VK_Subject_Reacts(5, 100, 0, 100); // Human result
+ break;
+ case kActorBulletBob:
+ //debug("Last Bullet Bob Question!");
+ // don't break for BOB
+ // fall-through
+ default:
+ VK_Subject_Reacts(5, 0, 0, 100);
+ }
+ }
+ } else {
+ // original behavior
+ if (++_questionCounter >= 10) {
+ VK_Subject_Reacts(5, 0, 0, 100);
+ }
}
}