aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/bladerunner/script/ai/moraji.cpp5
-rw-r--r--engines/bladerunner/script/scene/dr04.cpp5
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) {