diff options
Diffstat (limited to 'engines/bladerunner/script')
-rw-r--r-- | engines/bladerunner/script/vk_script.cpp | 44 | ||||
-rw-r--r-- | engines/bladerunner/script/vk_script.h | 2 |
2 files changed, 44 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); + } } } diff --git a/engines/bladerunner/script/vk_script.h b/engines/bladerunner/script/vk_script.h index 6f09c12abe..eaddd99ac1 100644 --- a/engines/bladerunner/script/vk_script.h +++ b/engines/bladerunner/script/vk_script.h @@ -30,6 +30,8 @@ namespace BladeRunner { class BladeRunnerEngine; class VKScript : ScriptBase { + friend class Debugger; + int _inScriptCounter; int _calibrationQuestionCounter; int _questionCounter; |