diff options
Diffstat (limited to 'engines/bladerunner/script')
-rw-r--r-- | engines/bladerunner/script/ai/moraji.cpp | 5 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/dr04.cpp | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/engines/bladerunner/script/ai/moraji.cpp b/engines/bladerunner/script/ai/moraji.cpp index 63998aa351..207a78f6b4 100644 --- a/engines/bladerunner/script/ai/moraji.cpp +++ b/engines/bladerunner/script/ai/moraji.cpp @@ -47,7 +47,10 @@ bool AIScriptMoraji::Update() { && !Game_Flag_Query(kFlagDR05BombActivated) ) { AI_Countdown_Timer_Reset(kActorMoraji, kActorTimerAIScriptCustomTask2); - AI_Countdown_Timer_Start(kActorMoraji, kActorTimerAIScriptCustomTask2, 30); + int bombTime = 30; // Original value + if (_vm->_cutContent && Query_Difficulty_Level() == kGameDifficultyEasy) + bombTime += 10; // Extend the bomb timer duration when in Dermo Design (where Moraji is chained) + AI_Countdown_Timer_Start(kActorMoraji, kActorTimerAIScriptCustomTask2, bombTime); Game_Flag_Set(kFlagDR05BombActivated); return true; } diff --git a/engines/bladerunner/script/scene/dr04.cpp b/engines/bladerunner/script/scene/dr04.cpp index 166040d825..86645898bc 100644 --- a/engines/bladerunner/script/scene/dr04.cpp +++ b/engines/bladerunner/script/scene/dr04.cpp @@ -217,7 +217,10 @@ bool SceneScriptDR04::ClickedOn2DRegion(int region) { bool SceneScriptDR04::farEnoughFromExplosion() { float x, y, z; Actor_Query_XYZ(kActorMcCoy, &x, &y, &z); - return (x + 1089.94f) * (x + 1089.94f) + (z - 443.49f) * (z - 443.49f) >= (360.0f * 360.0f); + float blastRadius = 360.0f; // Original blast radius + if (_vm->_cutContent && Query_Difficulty_Level() == kGameDifficultyEasy) + blastRadius = 290.0f; // Allow the player to survive the bomb closer to the Dermo Design entrance + return (x + 1089.94f) * (x + 1089.94f) + (z - 443.49f) * (z - 443.49f) >= (blastRadius * blastRadius); } void SceneScriptDR04::SceneFrameAdvanced(int frame) { |