[Scummvm-git-logs] scummvm master -> 69be53530853e432d7ee6e613614d0def7de0049

peterkohaut peterkohaut at users.noreply.github.com
Thu Jan 31 21:27:55 CET 2019


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
b16b26ac72 BLADERUNNER: Clean up NR04 and related scripts
3fc1fbb8da BLADERUNNER: Clean up of Dektora script
49d01c3c13 BLADERUNNER: Cleanup of Dektora chase related scripts
69be535308 BLADERUNNER: Initial cleanup of underground scripts


Commit: b16b26ac722a381c4ab43e66886b3012962556ed
    https://github.com/scummvm/scummvm/commit/b16b26ac722a381c4ab43e66886b3012962556ed
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-31T21:27:31+01:00

Commit Message:
BLADERUNNER: Clean up NR04 and related scripts

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/ai/dektora.cpp
    engines/bladerunner/script/ai/early_q.cpp
    engines/bladerunner/script/ai/hanoi.cpp
    engines/bladerunner/script/ai/mccoy.cpp
    engines/bladerunner/script/ai_script.h
    engines/bladerunner/script/scene/nr01.cpp
    engines/bladerunner/script/scene/nr03.cpp
    engines/bladerunner/script/scene/nr04.cpp
    engines/bladerunner/script/scene/nr05.cpp
    engines/bladerunner/script/scene/nr07.cpp
    engines/bladerunner/script/scene_script.h


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 51c33e1..54923ab 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -945,8 +945,10 @@ enum Flags {
 	kFlagHF05CrazyLegsTalk1 = 562,
 	kFlagHF05CrazyLegsTalk2 = 563,
 	kFlagEarlyQStartedChapter3 = 564,
+	kFlagNotUsed565 = 565, // has no use
 	kFlagHF03toHF04 = 566, // is never checked
 	kFlagHF04toHF03 = 567,
+	kFlagNR04EarlyQWalkedIn = 569,
 	kFlagNR03Entered = 573,
 	kFlagHF04DoorsClosed = 584,
 	kFlagHF04CloseDoors = 585,
@@ -961,7 +963,10 @@ enum Flags {
 	kFlagKIAPrivacyAddonIntro = 599,
 	kFlagSteeleAimingAtGordo = 603,
 	kFlagNR03McCoyThrownOut = 604,
+	kFlagNR04DiscFound = 605,
+	kFlagNR04EarlyQStungByScorpions = 606,
 	kFlagTB07toTB02 = 608,
+	kFlagNR04McCoyAimedAtEarlyQ = 609,
 	kFlagNR03HanoiTalk = 611,
 	kFlagTB07RachaelTalk = 612,
 	kFlagHF03LucyTalk = 613,
@@ -972,6 +977,7 @@ enum Flags {
 	kFlagNR08Available = 620,
 	kFlagNR08TouchedDektora = 622,
 	kFlagTB07TyrellMeeting = 625,
+	kFlagNR01McCoyIsDrugged = 627,
 	kFlagNR07McCoyIsCop = 638,
 	kFlagNR10toNR11 = 641, // is never checked
 	kFlagSteeleKnowsBulletBobIsDead = 643,
@@ -1173,9 +1179,9 @@ enum Scenes {
 	kSceneHF02 = 35, // Hysteria Hall - Hall of Mirrors - Exit
 	kSceneHF03 = 36, // Hysteria Hall - Hysteria Arcade
 	kSceneHF04 = 37, // Hysteria Hall - Hall of Mirrors
-	kSceneHF05 = 38, // Hysteria Hall - Crazy Legs Larry Autos
-	kSceneHF06 = 39,
-	kSceneHF07 = 40,
+	kSceneHF05 = 38, // Hysteria Hall - Crazy Legs Larry Autos - Inside
+	kSceneHF06 = 39, // Hysteria Hall - Crazy Legs Larry Autos - Root
+	kSceneHF07 = 40, // Hysteria Hall - Crazy Legs Larry Autos - Underground
 	kSceneKP01 = 41,
 	kSceneKP02 = 42,
 	kSceneKP03 = 43,
@@ -1558,7 +1564,13 @@ enum GoalMcCoy {
 	kGoalMcCoyBB11PrepareToRunAway = 101,
 	kGoalMcCoyBB11RunAway = 102,
 	kGoalMcCoyBB11GetCaught = 103,
-	kGoalMcCoyNR03ThrownOut = 210,
+	kGoalMcCoyNRxxSitAtTable = 200,
+	kGoalMcCoyNRxxStandUp = 201,
+	kGoalMcCoyNR01ThrownOut = 210,
+	kGoalMcCoyNR01GetUp = 211,
+	kGoalMcCoyNR01LayDrugged = 212,
+	kGoalMcCoyNR04Drink = 220,
+	kGoalMcCoyNR04PassOut = 221,
 	kGoalMcCoyArrested = 500
 };
 
@@ -1780,6 +1792,24 @@ enum GoalRunciter {
 enum GoalEarlyQ {
 	// cut feature? goals 0 - 200 has no use as EarlyQ is walking around NR which is not accessible
 	kGoalEarlyQWalkAround = 200,
+
+	kGoalEarlyQNR04Enter = 201,
+	kGoalEarlyQNR04Talk1 = 202,
+	kGoalEarlyQNR04GoToBar = 203,
+	kGoalEarlyQNR04PourDrink = 204,
+	kGoalEarlyQNR04GoToMcCoy = 205,
+	kGoalEarlyQNR04McCoyPulledGun = 206,
+	kGoalEarlyQNR04SitDown = 207,
+	kGoalEarlyQNR04ScorpionsCheck = 208,
+	kGoalEarlyQNR04Talk2 = 209,
+	kGoalEarlyQNR04StungByScorpions = 210,
+	kGoalEarlyQNR04WaitForPulledGun = 211,
+	kGoalEarlyQNR04TakeDisk = 212,
+	kGoalEarlyQNR04Talk3 = 213,
+	kGoalEarlyQNR04AskForDisk = 214,
+	kGoalEarlyQNR04HandDrink = 215,
+	kGoalEarlyQNR04GetShot = 216,
+	kGoalEarlyQNR04Leave = 217,
 	kGoalEarlyQNR05Wait = 220,
 	kGoalEarlyQNR05WillLeave = 221,
 	kGoalEarlyQNR05Leave = 222,
@@ -1819,15 +1849,19 @@ enum GoalOfficerLeary {
 enum GoalHanoi {
 	kGoalHanoiDefault = 200,
 	kGoalHanoiResetTimer = 201,
+	kGoalHanoiNR07TalkToMcCoy = 202,
+	kGoalHanoiNR07GrabMcCoy = 203,
 	kGoalHanoiNR03GoToDefaultPosition = 210,
 	kGoalHanoiNR03GoToSwivelTable = 211,
 	kGoalHanoiNR03GoToOfficeDoor = 212,
 	kGoalHanoiNR03GoToDancer = 213,
 	kGoalHanoiNR03StartGuarding = 215,
-	kGoalHanoiNR03ThrowOutMcCoy = 220,
+	kGoalHanoiThrowOutMcCoy = 220,
 	kGoalHanoiNR08WatchShow = 230,
 	kGoalHanoiNR08Leave = 235,
-	kGoalHanoiNR08Left = 236
+	kGoalHanoiNR08Left = 236,
+	kGoalHanoiNR04Enter = 240,
+	kGoalHanoiNR04ShootMcCoy = 241
 };
 
 enum GoalDeskClerk {
diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index 4106224..cb5f1db 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -208,7 +208,7 @@ void AIScriptDektora::ClickedByPlayer() {
 		AI_Movement_Track_Flush(kActorHanoi);
 		Actor_Force_Stop_Walking(kActorMcCoy);
 		Player_Loses_Control();
-		Actor_Set_Goal_Number(kActorHanoi, 220);
+		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
 
 		return; //true;
 	}
@@ -422,7 +422,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		break;
 
 	case 211:
-		if (Player_Query_Current_Scene() == 61) {
+		if (Player_Query_Current_Scene() == kSceneNR08) {
 			Game_Flag_Set(651);
 		} else {
 			Game_Flag_Set(636);
@@ -431,8 +431,8 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			Actor_Change_Animation_Mode(kActorDektora, 0);
 			Actor_Set_Goal_Number(kActorDektora, 200);
 		}
-		if (Player_Query_Current_Scene() == 61) {
-			Actor_Set_Goal_Number(kActorHanoi, 235);
+		if (Player_Query_Current_Scene() == kSceneNR08) {
+			Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR08Leave);
 		} else {
 			Game_Flag_Reset(651);
 		}
diff --git a/engines/bladerunner/script/ai/early_q.cpp b/engines/bladerunner/script/ai/early_q.cpp
index 7237c15..093c51d 100644
--- a/engines/bladerunner/script/ai/early_q.cpp
+++ b/engines/bladerunner/script/ai/early_q.cpp
@@ -91,23 +91,23 @@ void AIScriptEarlyQ::TimerExpired(int timer) {
 	}
 
 	if (timer == 0
-	 && Actor_Query_Goal_Number(kActorEarlyQ) == 205
+	 && Actor_Query_Goal_Number(kActorEarlyQ) == kGoalEarlyQNR04GoToMcCoy
 	) {
 		Player_Loses_Control();
 		AI_Countdown_Timer_Reset(kActorEarlyQ, 0);
-		Actor_Set_Goal_Number(kActorEarlyQ, 215);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04HandDrink);
 		return; //true;
 	}
 
 	if (timer == 1
-	 && Actor_Query_Goal_Number(kActorEarlyQ) == 211
+	 && Actor_Query_Goal_Number(kActorEarlyQ) == kGoalEarlyQNR04WaitForPulledGun
 	) {
 		AI_Countdown_Timer_Reset(kActorEarlyQ, 1);
 		Player_Loses_Control();
 		Actor_Change_Animation_Mode(kActorEarlyQ, 29);
 		Delay(2500);
-		Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, 1);
-		Actor_Change_Animation_Mode(kActorEarlyQ, 6);
+		Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
+		Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeCombatAttack);
 		Delay(100);
 		_vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, kAnimationModeCombatHit);
 		Delay(250);
@@ -151,15 +151,15 @@ void AIScriptEarlyQ::CompletedMovementTrack() {
 		Actor_Set_Goal_Number(kActorEarlyQ, 100);
 		break;
 
-	case 201:
-		Game_Flag_Set(569);
-		Player_Set_Combat_Mode(0);
-		Actor_Set_Targetable(kActorEarlyQ, 1);
-		Actor_Set_Goal_Number(kActorEarlyQ, 202);
+	case kGoalEarlyQNR04Enter:
+		Game_Flag_Set(kFlagNR04EarlyQWalkedIn);
+		Player_Set_Combat_Mode(false);
+		Actor_Set_Targetable(kActorEarlyQ, true);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Talk1);
 		break;
 
-	case 203:
-		Actor_Set_Goal_Number(kActorEarlyQ, 204);
+	case kGoalEarlyQNR04GoToBar:
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04PourDrink);
 		break;
 
 	case kGoalEarlyQNR05Leave:
@@ -198,29 +198,29 @@ void AIScriptEarlyQ::OtherAgentExitedThisScene(int otherActorId) {
 }
 
 void AIScriptEarlyQ::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) {
-	if ( Game_Flag_Query(569)
+	if ( Game_Flag_Query(kFlagNR04EarlyQWalkedIn)
 	 &&  otherActorId == kActorMcCoy
 	 &&  combatMode
-	 && !Game_Flag_Query(609)
+	 && !Game_Flag_Query(kFlagNR04McCoyAimedAtEarlyQ)
 	) {
-		if (!Game_Flag_Query(565)) {
-			Game_Flag_Set(565);
+		if (!Game_Flag_Query(kFlagNotUsed565)) {
+			Game_Flag_Set(kFlagNotUsed565);
 		}
-		Game_Flag_Set(609);
+		Game_Flag_Set(kFlagNR04McCoyAimedAtEarlyQ);
 		AI_Countdown_Timer_Reset(kActorEarlyQ, 0);
-		Actor_Set_Goal_Number(kActorEarlyQ, 206);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04McCoyPulledGun);
 		return; // true;
 	}
 
-	if ( Actor_Query_Goal_Number(kActorEarlyQ) == 211
+	if ( Actor_Query_Goal_Number(kActorEarlyQ) == kGoalEarlyQNR04WaitForPulledGun
 	 &&  otherActorId == kActorMcCoy
 	 && !combatMode
 	) {
-		if (Game_Flag_Query(565) == 1) {
-			Game_Flag_Reset(565);
+		if (Game_Flag_Query(kFlagNotUsed565)) {
+			Game_Flag_Reset(kFlagNotUsed565);
 		}
 		AI_Countdown_Timer_Reset(kActorEarlyQ, 1);
-		Actor_Set_Goal_Number(kActorEarlyQ, 213);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Talk3);
 		return; //true;
 	}
 
@@ -228,8 +228,8 @@ void AIScriptEarlyQ::OtherAgentEnteredCombatMode(int otherActorId, int combatMod
 }
 
 void AIScriptEarlyQ::ShotAtAndMissed() {
-	if (Actor_Query_Goal_Number(kActorEarlyQ) == 211) {
-		Actor_Set_Goal_Number(kActorEarlyQ, 216);
+	if (Actor_Query_Goal_Number(kActorEarlyQ) == kGoalEarlyQNR04WaitForPulledGun) {
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04GetShot);
 		//return true;
 	}
 	// return false;
@@ -239,7 +239,7 @@ bool AIScriptEarlyQ::ShotAtAndHit() {
 	if (Actor_Query_Goal_Number(kActorEarlyQ) >= 201
 	 && Actor_Query_Goal_Number(kActorEarlyQ) <= 217
 	) {
-		Actor_Set_Goal_Number(kActorEarlyQ, 216);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04GetShot);
 		return true;
 	}
 
@@ -318,7 +318,7 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		}
 		break;
 
-	case 201:
+	case kGoalEarlyQNR04Enter:
 		AI_Movement_Track_Flush(kActorEarlyQ);
 		AI_Movement_Track_Append(kActorEarlyQ, 40, 0);
 		AI_Movement_Track_Append(kActorEarlyQ, 322, 0);
@@ -326,95 +326,95 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorEarlyQ);
 		break;
 
-	case 203:
+	case kGoalEarlyQNR04GoToBar:
 		AI_Movement_Track_Flush(kActorEarlyQ);
 		AI_Movement_Track_Append(kActorEarlyQ, 355, 0);
 		AI_Movement_Track_Repeat(kActorEarlyQ);
-		Actor_Face_Object(kActorMcCoy, "BAR", 1);
+		Actor_Face_Object(kActorMcCoy, "BAR", true);
 		break;
 
-	case 205:
+	case kGoalEarlyQNR04GoToMcCoy:
 		Loop_Actor_Walk_To_Actor(kActorEarlyQ, 0, 36, 0, 0);
 		AI_Countdown_Timer_Reset(kActorEarlyQ, 0);
 		AI_Countdown_Timer_Start(kActorEarlyQ, 0, 4);
 		break;
 
-	case 206:
+	case kGoalEarlyQNR04McCoyPulledGun:
 		Player_Set_Combat_Mode(kActorSteele);
-		Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, 1);
-		Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, 1);
+		Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
+		Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
 		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatIdle);
-		_vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, 5);
-		Actor_Says(kActorEarlyQ, 130, 3);
-		Actor_Says(kActorMcCoy, 3400, 5);
-		Actor_Says_With_Pause(kActorEarlyQ, 140, 1.0, 3);
-		Actor_Says_With_Pause(kActorEarlyQ, 150, 1.0, 3);
-		Actor_Says(kActorMcCoy, 3405, 5);
-		Actor_Says(kActorEarlyQ, 160, 3);
-		Actor_Says(kActorMcCoy, 3410, 5);
-		_vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, 4);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 31.22f, 0.0f, 267.51f, 0, 1, 0, 0);
-		Actor_Set_Goal_Number(kActorEarlyQ, 207);
-		break;
-
-	case 208:
+		_vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, kAnimationModeCombatAim);
+		Actor_Says(kActorEarlyQ, 130, kAnimationModeTalk);
+		Actor_Says(kActorMcCoy, 3400, kAnimationModeCombatAim);
+		Actor_Says_With_Pause(kActorEarlyQ, 140, 1.0, kAnimationModeTalk);
+		Actor_Says_With_Pause(kActorEarlyQ, 150, 1.0, kAnimationModeTalk);
+		Actor_Says(kActorMcCoy, 3405, kAnimationModeCombatAim);
+		Actor_Says(kActorEarlyQ, 160, kAnimationModeTalk);
+		Actor_Says(kActorMcCoy, 3410, kAnimationModeCombatAim);
+		_vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, kAnimationModeCombatIdle);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 31.22f, 0.0f, 267.51f, 0, true, false, 0);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04SitDown);
+		break;
+
+	case kGoalEarlyQNR04ScorpionsCheck:
 		if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
-			Actor_Set_Goal_Number(kActorEarlyQ, 210);
+			Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04StungByScorpions);
 		} else {
-			Actor_Set_Goal_Number(kActorEarlyQ, 209);
+			Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Talk2);
 		}
 		break;
 
-	case 210:
-		Actor_Set_Targetable(kActorEarlyQ, 0);
-		Game_Flag_Set(606);
+	case kGoalEarlyQNR04StungByScorpions:
+		Actor_Set_Targetable(kActorEarlyQ, false);
+		Game_Flag_Set(kFlagNR04EarlyQStungByScorpions);
 		Delay(3500);
 		Actor_Change_Animation_Mode(kActorEarlyQ, 76);
 		Delay(2000);
 		Actor_Set_At_XYZ(kActorEarlyQ, 109.0, 0.0, 374.0, 0);
-		Actor_Retired_Here(kActorEarlyQ, 12, 12, 1, -1);
+		Actor_Retired_Here(kActorEarlyQ, 12, 12, true, -1);
 		Actor_Voice_Over(4180, kActorVoiceOver);
 		Scene_Exits_Enable();
 		break;
 
-	case 211:
+	case kGoalEarlyQNR04WaitForPulledGun:
 		AI_Countdown_Timer_Reset(kActorEarlyQ, 1);
 		AI_Countdown_Timer_Start(kActorEarlyQ, 1, 5);
 		break;
 
-	case 212:
-		Actor_Says(kActorEarlyQ, 0, 3);
-		Actor_Says(kActorEarlyQ, 10, 3);
-		Actor_Says(kActorEarlyQ, 20, 3);
-		Actor_Clue_Lose(kActorMcCoy, 89);
+	case kGoalEarlyQNR04TakeDisk:
+		Actor_Says(kActorEarlyQ, 0, kAnimationModeTalk);
+		Actor_Says(kActorEarlyQ, 10, kAnimationModeTalk);
+		Actor_Says(kActorEarlyQ, 20, kAnimationModeTalk);
+		Actor_Clue_Lose(kActorMcCoy, kClueEarlyQsClub);
 		Scene_Exits_Enable();
 		Player_Gains_Control();
-		Game_Flag_Set(627);
-		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+		Game_Flag_Set(kFlagNR01McCoyIsDrugged);
+		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
 		break;
 
-	case 215:
+	case kGoalEarlyQNR04HandDrink:
 		if (Actor_Query_Inch_Distance_From_Actor(kActorMcCoy, kActorEarlyQ) > 36) {
 			Loop_Actor_Walk_To_Actor(kActorEarlyQ, kActorMcCoy, 36, kActorMcCoy, kActorMcCoy);
 		}
-		Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, 1);
-		Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, 1);
+		Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
+		Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
 		Actor_Change_Animation_Mode(kActorEarlyQ, 23);
-		Scene_Loop_Start_Special(2, 2, 0);
+		Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, false);
 		Ambient_Sounds_Play_Sound(582, 50, 99, 0, 0);
-		Actor_Set_Goal_Number(kActorMcCoy, 220);
+		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR04Drink);
 		break;
 
-	case 216:
+	case kGoalEarlyQNR04GetShot:
 		AI_Movement_Track_Flush(kActorEarlyQ);
-		Actor_Change_Animation_Mode(kActorEarlyQ, 48);
+		Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeDie);
 		Delay(250);
 		Actor_Set_At_XYZ(kActorEarlyQ, 109.0, 0.0, 374.0, 0);
-		Actor_Set_Goal_Number(kActorHanoi, 240);
-		Player_Set_Combat_Mode(0);
+		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR04Enter);
+		Player_Set_Combat_Mode(false);
 		break;
 
-	case 217:
+	case kGoalEarlyQNR04Leave:
 		AI_Movement_Track_Flush(kActorEarlyQ);
 		AI_Movement_Track_Append(kActorEarlyQ, 354, 0);
 		AI_Movement_Track_Append(kActorEarlyQ, 322, 0);
diff --git a/engines/bladerunner/script/ai/hanoi.cpp b/engines/bladerunner/script/ai/hanoi.cpp
index 2ddf27b..56c39c2 100644
--- a/engines/bladerunner/script/ai/hanoi.cpp
+++ b/engines/bladerunner/script/ai/hanoi.cpp
@@ -105,8 +105,8 @@ void AIScriptHanoi::TimerExpired(int timer) {
 			return; //true;
 		}
 
-		if (Actor_Query_Goal_Number(kActorHanoi) != kGoalHanoiNR03ThrowOutMcCoy) {
-			Actor_Set_Goal_Number(kActorHanoi, 202);
+		if (Actor_Query_Goal_Number(kActorHanoi) != kGoalHanoiThrowOutMcCoy) {
+			Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR07TalkToMcCoy);
 			return; //true;
 		}
 	}
@@ -115,20 +115,20 @@ void AIScriptHanoi::TimerExpired(int timer) {
 
 void AIScriptHanoi::CompletedMovementTrack() {
 	switch (Actor_Query_Goal_Number(kActorHanoi)) {
-	case 202:
+	case kGoalHanoiNR07TalkToMcCoy:
 		Actor_Says(kActorHanoi, 130, 3);
 		Actor_Says(kActorDektora, 540, 30);
-		Actor_Set_Goal_Number(kActorHanoi, 203);
+		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR07GrabMcCoy);
 		break;
 
-	case 203:
+	case kGoalHanoiNR07GrabMcCoy:
 		Actor_Face_Actor(kActorHanoi, kActorMcCoy, true);
 		Actor_Face_Actor(kActorMcCoy, kActorHanoi, true);
 		Actor_Change_Animation_Mode(kActorHanoi, 23);
 		Actor_Set_Invisible(kActorMcCoy, true);
 		Actor_Says(kActorMcCoy, 3595, kAnimationModeTalk);
 		Actor_Says(kActorHanoi, 140, kAnimationModeTalk);
-		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
 		break;
 
 	case kGoalHanoiNR03GoToDancer:
@@ -139,8 +139,8 @@ void AIScriptHanoi::CompletedMovementTrack() {
 		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR08Left);
 		break;
 
-	case 240:
-		Actor_Set_Goal_Number(kActorHanoi, 241);
+	case kGoalHanoiNR04Enter:
+		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR04ShootMcCoy);
 		break;
 
 	default:
@@ -184,9 +184,9 @@ void AIScriptHanoi::OtherAgentEnteredCombatMode(int otherActorId, int combatMode
 	 && otherActorId == kActorMcCoy
 	 && combatMode
 	) {
-		Player_Set_Combat_Mode(kActorMcCoy);
+		Player_Set_Combat_Mode(false);
 		Player_Loses_Control();
-		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
 		return; //true;
 	}
 	return; //false;
@@ -222,11 +222,11 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Countdown_Timer_Start(kActorHanoi, 0, 45);
 		break;
 
-	case 201:
+	case kGoalHanoiResetTimer:
 		AI_Countdown_Timer_Reset(kActorHanoi, 0);
 		break;
 
-	case 202:
+	case kGoalHanoiNR07TalkToMcCoy:
 		if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetNR07
 		 && Actor_Query_In_Set(kActorDektora, kSetNR07)
 		) {
@@ -242,7 +242,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		}
 		break;
 
-	case 203:
+	case kGoalHanoiNR07GrabMcCoy:
 		if (Actor_Query_Which_Set_In(kActorMcCoy) != kSetNR07) {
 			return false;
 		}
@@ -252,7 +252,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		break;
 
 	case 204:
-		Actor_Says(kActorHanoi, 210, 3);
+		Actor_Says(kActorHanoi, 210, kAnimationModeTalk);
 		Actor_Change_Animation_Mode(kActorHanoi, 23);
 		break;
 
@@ -287,7 +287,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Countdown_Timer_Start(kActorHanoi, 0, 6);
 		break;
 
-	case kGoalHanoiNR03ThrowOutMcCoy:
+	case kGoalHanoiThrowOutMcCoy:
 		Game_Flag_Set(kFlagNR03McCoyThrownOut);
 		AI_Countdown_Timer_Reset(kActorHanoi, 0);
 		Player_Loses_Control();
@@ -318,7 +318,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 	case kGoalHanoiNR08Left:
 		break;
 
-	case 240:
+	case kGoalHanoiNR04Enter:
 		Actor_Put_In_Set(kActorHanoi, kSetNR04);
 		Actor_Set_At_XYZ(kActorHanoi, -47.0f, 0.0f, 334.0f, 535);
 		AI_Movement_Track_Flush(kActorHanoi);
@@ -326,10 +326,10 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorHanoi);
 		break;
 
-	case 241:
-		Actor_Face_Actor(kActorHanoi, kActorMcCoy, 1);
-		Actor_Change_Animation_Mode(kActorHanoi, 6);
-		Actor_Retired_Here(kActorMcCoy, 12, 12, 1, -1);
+	case kGoalHanoiNR04ShootMcCoy:
+		Actor_Face_Actor(kActorHanoi, kActorMcCoy, true);
+		Actor_Change_Animation_Mode(kActorHanoi, kAnimationModeCombatAttack);
+		Actor_Retired_Here(kActorMcCoy, 12, 12, true, -1);
 		break;
 
 	case 9999:
@@ -474,7 +474,7 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
 			_animationState = 0;
 			_animationFrame = 0;
 			*animation = 648;
-			Actor_Set_Goal_Number(kActorMcCoy, 210);
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR01ThrownOut);
 			Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03GoToDefaultPosition);
 		}
 		break;
@@ -503,7 +503,7 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
 			_animationState = 8;
 			_animationFrame = 0;
 			*animation = 642;
-			Actor_Set_Goal_Number(kActorHanoi, 241);
+			Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR04ShootMcCoy);
 		}
 		break;
 
@@ -521,7 +521,7 @@ bool AIScriptHanoi::UpdateAnimation(int *animation, int *frame) {
 
 		if (_animationFrame == 5) {
 			Actor_Force_Stop_Walking(kActorMcCoy);
-			Actor_Change_Animation_Mode(kActorMcCoy, 48);
+			Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
 		}
 
 		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index 720c8ef..a0a122e 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -31,8 +31,8 @@ AIScriptMcCoy::AIScriptMcCoy(BladeRunnerEngine *vm) : AIScriptBase(vm) {
 	dword_45A0E4 = 0;
 	off_45A0EC = 0.0f;
 	dword_45A0E8 = 0;
-	dword_45A0F0 = 0;
-	dword_45A0F4 = 0;
+	_animationStateNextSpecial = 0;
+	_animationNextSpecial = 0;
 	dword_45A0F8 = 0;
 	dword_45A0FC = 0;
 	off_45A100 = 0.0f;
@@ -49,12 +49,12 @@ void AIScriptMcCoy::Initialize() {
 	dword_45A0E4 = 0;
 	off_45A0EC = 0;
 	dword_45A0E8 = 3;
-	dword_45A0F0 = 3;
-	dword_45A0F4 = 20;
+	_animationStateNextSpecial = 3;
+	_animationNextSpecial = 20;
 	dword_45A0F8 = -1;
 	dword_45A0FC = 0;
 	off_45A100 = 0;
-	Actor_Set_Goal_Number(kActorMcCoy, 0);
+	Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 }
 
 bool AIScriptMcCoy::Update() {
@@ -81,8 +81,8 @@ bool AIScriptMcCoy::Update() {
 		}
 		return true;
 
-	case 201:
-		Actor_Set_Goal_Number(kActorMcCoy, 0);
+	case kGoalMcCoyNRxxStandUp:
+		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 		if (Player_Query_Current_Set() == kSetNR03) {
 			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -166.0f, -70.19f, -501.0f, 0, false, false, 0);
 			Actor_Face_Heading(kActorMcCoy, 300, false);
@@ -92,17 +92,17 @@ bool AIScriptMcCoy::Update() {
 		Player_Gains_Control();
 		return true;
 
-	case 212:
+	case kGoalMcCoyNR01LayDrugged:
 		if (Global_Variable_Query(47) >= 13) {
 			Global_Variable_Set(47, 500);
-		} else if (Global_Variable_Query(47) > 0) {
+		} if (Global_Variable_Query(47) > 0) {
 			Global_Variable_Decrement(47, 1);
 		}
 		break;
 
-	case 221:
-		Actor_Set_Goal_Number(kActorMcCoy, 0);
-		Actor_Set_Goal_Number(kActorEarlyQ, 212);
+	case kGoalMcCoyNR04PassOut:
+		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04TakeDisk);
 		return true;
 
 	case 309:
@@ -327,18 +327,17 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Face_Actor(kActorMcCoy, kActorSadik, true);
 		return true;
 
-
-	case 200:
+	case kGoalMcCoyNRxxSitAtTable:
 		Player_Loses_Control();
 		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle);
 		return true;
 
-	case kGoalMcCoyNR03ThrownOut:
+	case kGoalMcCoyNR01ThrownOut:
 		Actor_Put_In_Set(kActorMcCoy, kSetNR01);
 		Actor_Set_At_XYZ(kActorMcCoy, -204.0f, 24.0f, -817.0f, 256);
 		Actor_Set_Invisible(kActorMcCoy, false);
-		if (Game_Flag_Query(627)) {
-			Actor_Set_Goal_Number(kActorMcCoy, 212);
+		if (Game_Flag_Query(kFlagNR01McCoyIsDrugged)) {
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR01LayDrugged);
 		} else {
 			_animationState = 53;
 			_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
@@ -346,7 +345,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		}
 		return true;
 
-	case 211:
+	case kGoalMcCoyNR01GetUp:
 		Actor_Face_Heading(kActorMcCoy, 512, false);
 		Actor_Face_Heading(kActorMcCoy, 768, true);
 		if (Random_Query(0, 1)) {
@@ -356,11 +355,11 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		}
 		Delay(150);
 		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle);
-		Actor_Set_Goal_Number(kActorMcCoy, 0);
+		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 		Player_Gains_Control();
 		return true;
 
-	case 212:
+	case kGoalMcCoyNR01LayDrugged:
 		Global_Variable_Set(47, 0);
 		Player_Set_Combat_Mode_Access(false);
 		Player_Gains_Control();
@@ -369,7 +368,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
 		return true;
 
-	case 220:
+	case kGoalMcCoyNR04Drink:
 		Actor_Change_Animation_Mode(kActorMcCoy, 75);
 		return true;
 
@@ -560,10 +559,10 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 			*animation = 19;
 			_animationState = 0;
 			_animationFrame = 0;
-			Game_Flag_Reset(627);
+			Game_Flag_Reset(kFlagNR01McCoyIsDrugged);
 			Scene_Exits_Enable();
 			Player_Set_Combat_Mode_Access(true);
-			Actor_Set_Goal_Number(kActorMcCoy, 0);
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 		}
 		break;
 	case 67:
@@ -574,8 +573,8 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 			*animation = 19;
 			_animationState = 0;
 			_animationFrame = 0;
-			if (Actor_Query_Goal_Number(kActorMcCoy) == 220) {
-				Actor_Change_Animation_Mode(kActorMcCoy, 48);
+			if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR04Drink) {
+				Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
 			}
 		}
 		break;
@@ -596,7 +595,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 			_animationFrame = 0;
 			_animationState = 14;
 			*animation = 0;
-			Actor_Set_Goal_Number(kActorMcCoy, 0);
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 		}
 		break;
 	case 64:
@@ -631,8 +630,8 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 			*animation = 19;
 			_animationFrame = 0;
 			_animationState = 0;
-			if (Actor_Query_Goal_Number(kActorMcCoy) == 200) {
-				Actor_Set_Goal_Number(kActorMcCoy, 201);
+			if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNRxxSitAtTable) {
+				Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNRxxStandUp);
 			}
 		}
 		break;
@@ -721,8 +720,8 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 			if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyBB11GetUp) {
 				Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyBB11PrepareToRunAway);
 			}
-			if (Actor_Query_Goal_Number(kActorMcCoy) == 210) {
-				Actor_Set_Goal_Number(kActorMcCoy, 211);
+			if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR01ThrownOut) {
+				Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR01GetUp);
 			}
 		}
 		break;
@@ -740,7 +739,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(28)) {
 			Player_Set_Combat_Mode(true);
 			sub_405800();
-			Actor_Set_Goal_Number(kActorMcCoy, 0);
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 			_animationFrame = 0;
 			Player_Gains_Control();
 		}
@@ -753,7 +752,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 		*animation = 34;
 		_animationFrame++;
 		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(34)) {
-			Actor_Set_Goal_Number(kActorMcCoy, 0);
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 			*animation = 19;
 			_animationFrame = 0;
 			sub_405660();
@@ -996,8 +995,8 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 			_animationFrame = Slice_Animation_Query_Number_Of_Frames(*animation) - 1;
 			_animationState = 50;
 			sub_4054F0();
-			if (Actor_Query_Goal_Number(kActorMcCoy) == 220) {
-				Actor_Set_Goal_Number(kActorMcCoy, 221);
+			if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR04Drink) {
+				Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR04PassOut);
 			}
 		}
 		break;
@@ -1211,10 +1210,10 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 	case 4:
 		if (_animationFrame == 0 && !Game_Flag_Query(kFlagMcCoyAnimation1)) {
 			_animationFrame = 1;
-			_animationState = dword_45A0F0;
-			*animation = dword_45A0F4;
-			dword_45A0F0 = 4;
-			dword_45A0F4 = 20;
+			_animationState = _animationStateNextSpecial;
+			*animation = _animationNextSpecial;
+			_animationStateNextSpecial = 4;
+			_animationNextSpecial = 20;
 		} else if (_animationFrame <= 4 && Game_Flag_Query(kFlagMcCoyAnimation1)) {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
 			*animation = 19;
@@ -1380,8 +1379,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 20;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 4;
-			dword_45A0F4 = 20;
+			_animationStateNextSpecial = 4;
+			_animationNextSpecial = 20;
 		}
 		break;
 
@@ -1472,8 +1471,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 21;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 5;
-			dword_45A0F4 = 21;
+			_animationStateNextSpecial = 5;
+			_animationNextSpecial = 21;
 		}
 		break;
 
@@ -1485,8 +1484,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 27;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 6;
-			dword_45A0F4 = 27;
+			_animationStateNextSpecial = 6;
+			_animationNextSpecial = 27;
 		}
 		break;
 
@@ -1498,8 +1497,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 22;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 7;
-			dword_45A0F4 = 22;
+			_animationStateNextSpecial = 7;
+			_animationNextSpecial = 22;
 		}
 		break;
 
@@ -1510,8 +1509,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 23;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 8;
-			dword_45A0F4 = 23;
+			_animationStateNextSpecial = 8;
+			_animationNextSpecial = 23;
 		}
 		break;
 
@@ -1522,8 +1521,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 24;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 9;
-			dword_45A0F4 = 24;
+			_animationStateNextSpecial = 9;
+			_animationNextSpecial = 24;
 		}
 		break;
 
@@ -1534,8 +1533,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 25;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 10;
-			dword_45A0F4 = 25;
+			_animationStateNextSpecial = 10;
+			_animationNextSpecial = 25;
 		}
 		break;
 
@@ -1546,8 +1545,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 26;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 11;
-			dword_45A0F4 = 26;
+			_animationStateNextSpecial = 11;
+			_animationNextSpecial = 26;
 		}
 		break;
 
@@ -1558,8 +1557,8 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
 			_animationNext = 27;
 		} else {
 			Game_Flag_Reset(kFlagMcCoyAnimation1);
-			dword_45A0F0 = 12;
-			dword_45A0F4 = 27;
+			_animationStateNextSpecial = 12;
+			_animationNextSpecial = 27;
 		}
 		break;
 
@@ -1763,14 +1762,17 @@ void AIScriptMcCoy::sub_4053E0() {
 		off_45A100 = off_45A100 - 0.2f;
 	} else {
 		flt_462710 = flt_462714;
-		Actor_Set_Goal_Number(kActorMcCoy, 0);
-		Actor_Retired_Here(kActorMcCoy, 12, 48, 1, -1);
+		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
+		Actor_Retired_Here(kActorMcCoy, 12, 48, true, -1);
 	}
 	return Actor_Set_At_XYZ(kActorMcCoy, x, flt_462710, z, Actor_Query_Facing_1024(kActorMcCoy));
 }
 
 void AIScriptMcCoy::sub_4054F0() {
-	if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetUG15 && Actor_Query_Goal_Number(kActorMcCoy) != 390 && !Game_Flag_Query(682)) {
+	if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetUG15
+	 && Actor_Query_Goal_Number(kActorMcCoy) != 390
+	 && !Game_Flag_Query(682)
+	) {
 		float x, y, z;
 		Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
 		if ((z < 220.0f) && (-210.0f < x) && (-70.0f > x)) {
diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h
index 134a6a9..f0f0c95 100644
--- a/engines/bladerunner/script/ai_script.h
+++ b/engines/bladerunner/script/ai_script.h
@@ -102,8 +102,8 @@ DECLARE_SCRIPT(McCoy)
 	int dword_45A0E4;
 	float off_45A0EC;
 	int dword_45A0E8;
-	int dword_45A0F0;
-	int dword_45A0F4;
+	int _animationStateNextSpecial;
+	int _animationNextSpecial;
 	int dword_45A0F8;
 	int dword_45A0FC;
 	float off_45A100;
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index 76575f2..a14c9e7 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -105,7 +105,7 @@ void SceneScriptNR01::SceneLoaded() {
 }
 
 bool SceneScriptNR01::MouseClick(int x, int y) {
-	if (Actor_Query_Goal_Number(kActorMcCoy) == 212) {
+	if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR01LayDrugged) {
 		Global_Variable_Increment(47, 4);
 		return true;
 	}
diff --git a/engines/bladerunner/script/scene/nr03.cpp b/engines/bladerunner/script/scene/nr03.cpp
index 26f8784..4f97be5 100644
--- a/engines/bladerunner/script/scene/nr03.cpp
+++ b/engines/bladerunner/script/scene/nr03.cpp
@@ -165,7 +165,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {
 					Actor_Says(kActorHanoi, 210, 15);
 					AI_Movement_Track_Unpause(kActorHanoi);
 				} else if (warnings == 2) {
-					Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+					Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
 				}
 				// game bug? after reentering this does nothing as variable is never reset or checked for > 2
 				Global_Variable_Increment(kVariableHanoiNR04Warnings, 1);
@@ -204,7 +204,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {
 					Actor_Says(kActorHanoi, 210, 12);
 					AI_Movement_Track_Unpause(kActorHanoi);
 				} else if (warnings == 2) {
-					Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+					Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
 				}
 				// game bug? after reentering this does nothing as variable is never reset or checked for > 2
 				Global_Variable_Increment(kVariableHanoiNR05Warnings, 1);
@@ -267,7 +267,7 @@ void SceneScriptNR03::SceneFrameAdvanced(int frame) {
 		if (Actor_Query_Goal_Number(kActorGuzza) == kGoalGuzzaSitAtNR03) {
 			Actor_Set_Goal_Number(kActorGuzza, 200);
 		} else if (!Game_Flag_Query(kFlagNR03toNR05)) {
-			Actor_Set_Goal_Number(kActorMcCoy, 200);
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNRxxSitAtTable);
 			Player_Gains_Control();
 		}
 	}
@@ -293,7 +293,7 @@ void SceneScriptNR03::PlayerWalkedIn() {
 	}
 
 	if (Player_Query_Combat_Mode()) {
-		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR03ThrowOutMcCoy);
+		Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiThrowOutMcCoy);
 	}
 	//return false;
 }
diff --git a/engines/bladerunner/script/scene/nr04.cpp b/engines/bladerunner/script/scene/nr04.cpp
index 3af9c3e..0d90781 100644
--- a/engines/bladerunner/script/scene/nr04.cpp
+++ b/engines/bladerunner/script/scene/nr04.cpp
@@ -73,7 +73,7 @@ bool SceneScriptNR04::MouseClick(int x, int y) {
 		return true;
 	}
 
-	if (Actor_Query_Animation_Mode(kActorMcCoy) == 53) {
+	if (Actor_Query_Animation_Mode(kActorMcCoy) == kAnimationModeSit) {
 		Actor_Change_Animation_Mode(kActorMcCoy, 29);
 		return true;
 	}
@@ -88,50 +88,54 @@ bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
 	 || Object_Query_Click("DESK", objectName)
 	) {
 		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 546, 0, true, false)) {
-			if (!Object_Query_Click("DESK", objectName)) {
-				Actor_Face_Object(kActorMcCoy, "B.TV01", true);
-				Actor_Voice_Over(1530, kActorVoiceOver);
-				Actor_Voice_Over(1540, kActorVoiceOver);
-				Actor_Voice_Over(1550, kActorVoiceOver);
-			} else {
+			if (Object_Query_Click("DESK", objectName)) {
 				Actor_Face_Object(kActorMcCoy, "DESK", true);
 				if (!Actor_Clue_Query(kActorMcCoy, kCluePeruvianLadyInterview)) {
 					Actor_Voice_Over(1600, kActorVoiceOver);
 					Actor_Voice_Over(1610, kActorVoiceOver);
-				} else if (Actor_Clue_Query(kActorMcCoy, kClueCollectionReceipt)) {
-					Actor_Says(kActorMcCoy, 8580, kAnimationModeTalk);
-				} else {
+				} else if (!Actor_Clue_Query(kActorMcCoy, kClueCollectionReceipt)) {
 					Actor_Clue_Acquire(kActorMcCoy, kClueCollectionReceipt, false, -1);
 					Item_Pickup_Spin_Effect(961, 247, 141);
 					Actor_Voice_Over(1560, kActorVoiceOver);
 					Actor_Voice_Over(1570, kActorVoiceOver);
 					Actor_Voice_Over(1580, kActorVoiceOver);
 					Actor_Voice_Over(1590, kActorVoiceOver);
+				} else {
+					Actor_Says(kActorMcCoy, 8580, kAnimationModeTalk);
 				}
-
+			} else {
+				Actor_Face_Object(kActorMcCoy, "B.TV01", true);
+				Actor_Voice_Over(1530, kActorVoiceOver);
+				Actor_Voice_Over(1540, kActorVoiceOver);
+				Actor_Voice_Over(1550, kActorVoiceOver);
 			}
 		}
-	} else if ( Object_Query_Click("TORUS01", objectName)
-	        && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.56f, 0.0f, 38.86f, 0, true, false, 0)
-	        && !Game_Flag_Query(605)
+		return false;
+	}
+
+	if ( Object_Query_Click("TORUS01", objectName)
+	 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.56f, 0.0f, 38.86f, 0, true, false, 0)
+	 && !Game_Flag_Query(kFlagNR04DiscFound)
 	) {
 		Unclickable_Object("TORUS01");
 		Scene_Exits_Disable();
 		Player_Loses_Control();
-		Game_Flag_Set(605);
+		Game_Flag_Set(kFlagNR04DiscFound);
 		Actor_Face_Object(kActorMcCoy, "TORUS01", true);
 		Item_Pickup_Spin_Effect(975, 358, 160);
 		Actor_Voice_Over(1620, kActorVoiceOver);
 		Actor_Voice_Over(1630, kActorVoiceOver);
 		Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQsClub, false, -1);
-		Actor_Set_Goal_Number(kActorEarlyQ, 201);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Enter);
+		return false;
 	}
+
 	return false;
 }
 
 bool SceneScriptNR04::ClickedOnActor(int actorId) {
 	if (actorId == kActorEarlyQ
-	 && Game_Flag_Query(606)
+	 && Game_Flag_Query(kFlagNR04EarlyQStungByScorpions)
 	) {
 		Actor_Voice_Over(1640, kActorVoiceOver);
 		Actor_Voice_Over(1650, kActorVoiceOver);
@@ -149,7 +153,7 @@ bool SceneScriptNR04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 45.0f, 0.0f, -106.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 45.0f, 0.0f, -106.0f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagNR04toNR03);
@@ -161,37 +165,46 @@ bool SceneScriptNR04::ClickedOnExit(int exitId) {
 }
 
 bool SceneScriptNR04::ClickedOn2DRegion(int region) {
-	if ((region == 0 || region == 1 || region == 2)
-	 && Actor_Query_Which_Set_In(kActorEarlyQ) != 12
-	 && Actor_Query_Animation_Mode(kActorMcCoy) != 53
-	 && !Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 445, 0, true, false)
+	if ((region == 0
+	  || region == 1
+	  || region == 2
+	 )
+	 &&  Actor_Query_Which_Set_In(kActorEarlyQ) != kSetNR04
+	 &&  Actor_Query_Animation_Mode(kActorMcCoy) != kAnimationModeSit
 	) {
-		Actor_Face_Heading(kActorMcCoy, 49, false);
-		Actor_Change_Animation_Mode(kActorMcCoy, 85);
-		Delay(2500);
-		if (Game_Flag_Query(606) == 1) {
+		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 445, 0, true, false)) {
+			Actor_Face_Heading(kActorMcCoy, 49, false);
+			Actor_Change_Animation_Mode(kActorMcCoy, 85);
+			Delay(2500);
+
+			if (!Game_Flag_Query(kFlagNR04EarlyQStungByScorpions)
+			&&  Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)
+			) {
+				Player_Loses_Control();
+				Actor_Voice_Over(4180, kActorVoiceOver);
+				Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
+				Ambient_Sounds_Play_Sound(555, 90, 99, 0, 0);
+				Delay(350);
+				Actor_Set_At_XYZ(kActorMcCoy, 109.0f, 0.0f, 374.0f, 0);
+				Actor_Retired_Here(kActorMcCoy, 12, 12, true, -1);
+			}
 			return true;
 		}
-		if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
-			Player_Loses_Control();
-			Actor_Voice_Over(4180, kActorVoiceOver);
-			Actor_Change_Animation_Mode(kActorMcCoy, 48);
-			Ambient_Sounds_Play_Sound(555, 90, 99, 0, 0);
-			Delay(350);
-			Actor_Set_At_XYZ(kActorMcCoy, 109.0f, 0.0f, 374.0f, 0);
-			Actor_Retired_Here(kActorMcCoy, 12, 12, 1, -1);
-		}
-		return true;
 	}
 	return false;
 }
 
 void SceneScriptNR04::SceneFrameAdvanced(int frame) {
-	if (frame == 1 && !Music_Is_Playing()) {
-		sub_402960();
+	if ( frame == 1
+	 && !Music_Is_Playing()
+	) {
+		playNextMusic();
 	}
-	if (frame > 60 && frame < 120) {
-		sub_402860(frame);
+
+	if (frame > 60
+	 && frame < 120
+	) {
+		druggedEffect(frame);
 	} else if (frame == 120) {
 		Set_Fade_Color(1.0f, 1.0f, 1.0f);
 		Set_Fade_Density(0.0f);
@@ -202,51 +215,23 @@ void SceneScriptNR04::SceneFrameAdvanced(int frame) {
 void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) {
 	if (actorId == kActorEarlyQ) {
 		switch (newGoal) {
-		case 214:
-			Actor_Change_Animation_Mode(kActorEarlyQ, 29);
-			Delay(2500);
-			Actor_Says(kActorEarlyQ, 290, 3);
-			sub_401DB0();
-			//return true;
-			break;
-		case 213:
-			Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, false, kActorEarlyQ);
-			Item_Pickup_Spin_Effect(984, 200, 160);
-			Actor_Says(kActorEarlyQ, 200, 30);
-			Actor_Says(kActorEarlyQ, 210, 30);
-			Actor_Says(kActorEarlyQ, 220, 30);
-			Actor_Says_With_Pause(kActorMcCoy, 3425, 1.5f, 23);
-			Actor_Says(kActorMcCoy, 3430, 3);
-			Actor_Says(kActorEarlyQ, 240, 30);
-			Actor_Says(kActorMcCoy, 3435, 3);
-			Actor_Says(kActorEarlyQ, 250, 30);
-			Actor_Says(kActorMcCoy, 3440, 3);
-			Actor_Says(kActorEarlyQ, 280, 30);
-			Actor_Says(kActorMcCoy, 3445, 3);
-			Actor_Set_Goal_Number(kActorEarlyQ, 214);
-			//return true;
-			break;
-		case 209:
-			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
-			Delay(3000);
-			Actor_Says(kActorEarlyQ, 170, 30);
-			Actor_Says(kActorMcCoy, 3415, 3);
-			Actor_Says(kActorEarlyQ, 180, 30);
-			Actor_Says_With_Pause(kActorMcCoy, 3420, 1.5f, 3);
-			Actor_Says(kActorEarlyQ, 190, 30);
-			Actor_Set_Goal_Number(kActorEarlyQ, 211);
-			//return true;
-			break;
-		case 207:
-			Loop_Actor_Walk_To_Waypoint(kActorEarlyQ, 445, 0, 1, false);
-			Actor_Face_Heading(kActorEarlyQ, 49, false);
-			Actor_Change_Animation_Mode(kActorEarlyQ, 85);
+		case kGoalEarlyQNR04Talk1:
+			Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
 			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
-			Actor_Set_Goal_Number(kActorEarlyQ, 208);
-			Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, false, kActorEarlyQ);
+			Actor_Says(kActorEarlyQ, 30, kAnimationModeTalk);
+			Actor_Says(kActorMcCoy, 3375, kAnimationModeTalk);
+			Actor_Says_With_Pause(kActorEarlyQ, 50, 1.5f, kAnimationModeTalk);
+			Actor_Says(kActorEarlyQ, 60, kAnimationModeTalk);
+			Actor_Says_With_Pause(kActorMcCoy, 3380, 1.0f, kAnimationModeTalk);
+			Actor_Says(kActorEarlyQ, 70, kAnimationModeTalk);
+			Actor_Says(kActorMcCoy, 3415, kAnimationModeTalk);
+			Actor_Says(kActorEarlyQ, 80, kAnimationModeTalk);
+			Player_Gains_Control();
+			Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04GoToBar);
 			//return true;
 			break;
-		case 204:
+
+		case kGoalEarlyQNR04PourDrink:
 			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
 			Actor_Says(kActorEarlyQ, 90, 73);
 			Actor_Says(kActorMcCoy, 3390, 3);
@@ -255,22 +240,55 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 			Actor_Says(kActorMcCoy, 3385, 3);
 			Actor_Says(kActorEarlyQ, 120, 74);
 			Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
-			Actor_Set_Goal_Number(kActorEarlyQ, 205);
+			Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04GoToMcCoy);
 			//return true;
 			break;
-		case 202:
-			Actor_Face_Actor(kActorEarlyQ, kActorMcCoy, true);
+
+		case kGoalEarlyQNR04SitDown:
+			Loop_Actor_Walk_To_Waypoint(kActorEarlyQ, 445, 0, true, false);
+			Actor_Face_Heading(kActorEarlyQ, 49, false);
+			Actor_Change_Animation_Mode(kActorEarlyQ, 85);
 			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
-			Actor_Says(kActorEarlyQ, 30, 3);
-			Actor_Says(kActorMcCoy, 3375, 3);
-			Actor_Says_With_Pause(kActorEarlyQ, 50, 1.5f, 3);
-			Actor_Says(kActorEarlyQ, 60, 3);
-			Actor_Says_With_Pause(kActorMcCoy, 3380, 1.0f, 3);
-			Actor_Says(kActorEarlyQ, 70, 3);
-			Actor_Says(kActorMcCoy, 3415, 3);
-			Actor_Says(kActorEarlyQ, 80, 3);
-			Player_Gains_Control();
-			Actor_Set_Goal_Number(kActorEarlyQ, 203);
+			Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04ScorpionsCheck);
+			Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, false, kActorEarlyQ);
+			//return true;
+			break;
+
+		case kGoalEarlyQNR04Talk2:
+			Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
+			Delay(3000);
+			Actor_Says(kActorEarlyQ, 170, 30);
+			Actor_Says(kActorMcCoy, 3415, kAnimationModeTalk);
+			Actor_Says(kActorEarlyQ, 180, 30);
+			Actor_Says_With_Pause(kActorMcCoy, 3420, 1.5f, kAnimationModeTalk);
+			Actor_Says(kActorEarlyQ, 190, 30);
+			Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04WaitForPulledGun);
+			//return true;
+			break;
+
+		case kGoalEarlyQNR04Talk3:
+			Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, false, kActorEarlyQ);
+			Item_Pickup_Spin_Effect(984, 200, 160);
+			Actor_Says(kActorEarlyQ, 200, 30);
+			Actor_Says(kActorEarlyQ, 210, 30);
+			Actor_Says(kActorEarlyQ, 220, 30);
+			Actor_Says_With_Pause(kActorMcCoy, 3425, 1.5f, 23);
+			Actor_Says(kActorMcCoy, 3430, kAnimationModeTalk);
+			Actor_Says(kActorEarlyQ, 240, 30);
+			Actor_Says(kActorMcCoy, 3435, kAnimationModeTalk);
+			Actor_Says(kActorEarlyQ, 250, 30);
+			Actor_Says(kActorMcCoy, 3440, kAnimationModeTalk);
+			Actor_Says(kActorEarlyQ, 280, 30);
+			Actor_Says(kActorMcCoy, 3445, kAnimationModeTalk);
+			Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04AskForDisk);
+			//return true;
+			break;
+
+		case kGoalEarlyQNR04AskForDisk:
+			Actor_Change_Animation_Mode(kActorEarlyQ, 29);
+			Delay(2500);
+			Actor_Says(kActorEarlyQ, 290, kAnimationModeTalk);
+			dialogueWithEarlyQ();
 			//return true;
 			break;
 		}
@@ -279,9 +297,9 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptNR04::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 53.0f, 0.0f, -26.0f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 53.0f, 0.0f, -26.0f, 0, false, false, 0);
 	if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
-		Overlay_Play("nr04over", 0, 1, 0, 0);
+		Overlay_Play("nr04over", 0, true, false, 0);
 		Delay(4000);
 		Overlay_Remove("nr04over");
 	}
@@ -294,28 +312,30 @@ void SceneScriptNR04::PlayerWalkedOut() {
 void SceneScriptNR04::DialogueQueueFlushed(int a1) {
 }
 
-void SceneScriptNR04::sub_401DB0() {
+void SceneScriptNR04::dialogueWithEarlyQ() {
 	Dialogue_Menu_Clear_List();
-	DM_Add_To_List(1530, 10, 5, 3);
-	DM_Add_To_List(1540, 3, 5, 10);
+	DM_Add_To_List(1530, 10, 5, 3); // GIVE DISC
+	DM_Add_To_List(1540, 3, 5, 10); // KEEP IT
+
 	Dialogue_Menu_Appear(320, 240);
 	int answer = Dialogue_Menu_Query_Input();
 	Dialogue_Menu_Disappear();
-	if (answer == 1530) {
-		Loop_Actor_Walk_To_Actor(kActorEarlyQ, kActorMcCoy, 36, 0, false);
+
+	if (answer == 1530) { // GIVE DISC
+		Loop_Actor_Walk_To_Actor(kActorEarlyQ, kActorMcCoy, 36, false, false);
 		Actor_Change_Animation_Mode(kActorMcCoy, 23);
 		Actor_Change_Animation_Mode(kActorEarlyQ, 23);
 		Delay(1500);
-		Actor_Says(kActorEarlyQ, 300, 3);
-		Actor_Change_Animation_Mode(kActorMcCoy, 0);
-		Actor_Change_Animation_Mode(kActorEarlyQ, 0);
-		Actor_Says(kActorEarlyQ, 310, 3);
-		ADQ_Add(kActorMcCoy, 3450, 3);
+		Actor_Says(kActorEarlyQ, 300, kAnimationModeTalk);
+		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle);
+		Actor_Change_Animation_Mode(kActorEarlyQ, kAnimationModeIdle);
+		Actor_Says(kActorEarlyQ, 310, kAnimationModeTalk);
+		ADQ_Add(kActorMcCoy, 3450, kAnimationModeTalk);
 		Actor_Set_Targetable(kActorEarlyQ, false);
-		Actor_Set_Goal_Number(kActorEarlyQ, 217);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Leave);
 		Actor_Clue_Lose(kActorMcCoy, kClueEarlyQsClub);
 		Scene_Exits_Enable();
-	} else if (answer == 1540) {
+	} else if (answer == 1540) { // KEEP IT
 		Actor_Says(kActorMcCoy, 8512, 15);
 		Actor_Says(kActorEarlyQ, 320, 12);
 		Actor_Says(kActorMcCoy, 3455, 13);
@@ -325,12 +345,12 @@ void SceneScriptNR04::sub_401DB0() {
 		Actor_Says(kActorMcCoy, 3465, 12);
 		Actor_Says(kActorEarlyQ, 350, 16);
 		Actor_Set_Targetable(kActorEarlyQ, false);
-		Actor_Set_Goal_Number(kActorEarlyQ, 217);
+		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04Leave);
 		Scene_Exits_Enable();
 	}
 }
 
-void SceneScriptNR04::sub_402860(int frame) {
+void SceneScriptNR04::druggedEffect(int frame) {
 	float colorMap[] = {
 		1.0f, 1.0f, 1.0f,
 		1.0f, 0.0f, 0.0f,
@@ -359,20 +379,20 @@ void SceneScriptNR04::sub_402860(int frame) {
 	}
 }
 
-void SceneScriptNR04::sub_402960() {
-	int v0 = Global_Variable_Query(53);
-	if (!v0) {
+void SceneScriptNR04::playNextMusic() {
+	int track = Global_Variable_Query(kVariableEarlyQFrontMusic);
+	if (track == 0) {
 		Music_Play(14, 11, 80, 2, -1, 0, 0);
-	} else if (v0 == 1) {
+	} else if (track == 1) {
 		Music_Play(13, 11, 80, 2, -1, 0, 0);
-	} else if (v0 == 2) {
+	} else if (track == 2) {
 		Music_Play(5, 11, 80, 2, -1, 0, 0);
 	}
-	v0++;
-	if (v0 > 2) {
-		v0 = 0;
+	track++;
+	if (track > 2) {
+		track = 0;
 	}
-	Global_Variable_Set(53, v0);
+	Global_Variable_Set(kVariableEarlyQFrontMusic, track);
 }
 
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/script/scene/nr05.cpp b/engines/bladerunner/script/scene/nr05.cpp
index f88e8c0..eb16152 100644
--- a/engines/bladerunner/script/scene/nr05.cpp
+++ b/engines/bladerunner/script/scene/nr05.cpp
@@ -181,7 +181,7 @@ void SceneScriptNR05::SceneFrameAdvanced(int frame) {
 		if ( frame == 134
 		 && !Game_Flag_Query(kFlagNR05toNR03)
 		) {
-			Actor_Set_Goal_Number(kActorMcCoy, 200);
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNRxxSitAtTable);
 		}
 		//return true;
 	}
diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp
index 4ba1438..0b23d61 100644
--- a/engines/bladerunner/script/scene/nr07.cpp
+++ b/engines/bladerunner/script/scene/nr07.cpp
@@ -54,7 +54,7 @@ bool SceneScriptNR07::ClickedOn3DObject(const char *objectName, bool a2) {
 
 bool SceneScriptNR07::ClickedOnActor(int actorId) {
 	if (actorId == kActorDektora) {
-		if (Actor_Query_Goal_Number(kActorHolloway) < kGoalHollowayGoToNR07) { // Holloway is not yet comming
+		if (Actor_Query_Goal_Number(kActorHolloway) >= kGoalHollowayGoToNR07) { // Holloway is not yet comming
 			return true;
 		}
 
diff --git a/engines/bladerunner/script/scene_script.h b/engines/bladerunner/script/scene_script.h
index 77cf859..0767fee 100644
--- a/engines/bladerunner/script/scene_script.h
+++ b/engines/bladerunner/script/scene_script.h
@@ -307,9 +307,9 @@ DECLARE_SCRIPT(NR03)
 END_SCRIPT
 
 DECLARE_SCRIPT(NR04)
-	void sub_401DB0();
-	void sub_402860(int frame);
-	void sub_402960();
+	void dialogueWithEarlyQ();
+	void druggedEffect(int frame);
+	void playNextMusic();
 END_SCRIPT
 
 DECLARE_SCRIPT(NR05)


Commit: 3fc1fbb8daae93e02985379aed4b8a6feab5cb24
    https://github.com/scummvm/scummvm/commit/3fc1fbb8daae93e02985379aed4b8a6feab5cb24
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-31T21:27:31+01:00

Commit Message:
BLADERUNNER: Clean up of Dektora script

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/ai/dektora.cpp
    engines/bladerunner/script/ai/early_q.cpp
    engines/bladerunner/script/ai/holloway.cpp
    engines/bladerunner/script/ai/lucy.cpp
    engines/bladerunner/script/ai/mccoy.cpp
    engines/bladerunner/script/ai/steele.cpp
    engines/bladerunner/script/scene/hf01.cpp
    engines/bladerunner/script/scene/hf03.cpp
    engines/bladerunner/script/scene/hf04.cpp
    engines/bladerunner/script/scene/hf05.cpp
    engines/bladerunner/script/scene/hf06.cpp
    engines/bladerunner/script/scene/hf07.cpp
    engines/bladerunner/script/scene/kp07.cpp
    engines/bladerunner/script/scene/nr01.cpp
    engines/bladerunner/script/scene/nr04.cpp
    engines/bladerunner/script/scene/nr07.cpp
    engines/bladerunner/script/scene/nr08.cpp
    engines/bladerunner/script/scene/nr09.cpp
    engines/bladerunner/script/scene/nr10.cpp
    engines/bladerunner/script/scene/nr11.cpp
    engines/bladerunner/script/scene/ug05.cpp
    engines/bladerunner/script/scene_script.h


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 54923ab..44a62af 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -949,7 +949,13 @@ enum Flags {
 	kFlagHF03toHF04 = 566, // is never checked
 	kFlagHF04toHF03 = 567,
 	kFlagNR04EarlyQWalkedIn = 569,
+	// 570 is never used
+	// 571 is never used
+	// 572 is never used
 	kFlagNR03Entered = 573,
+	// 580 is never used
+	// 581 is never used
+	// 583 is never used
 	kFlagHF04DoorsClosed = 584,
 	kFlagHF04CloseDoors = 585,
 	kFlagHF04OpenDoors = 586,
@@ -961,6 +967,7 @@ enum Flags {
 	kFlagLucyRanAway = 593,
 	kFlagNR02GordoJumpDown = 594,
 	kFlagKIAPrivacyAddonIntro = 599,
+	// 602 is never used
 	kFlagSteeleAimingAtGordo = 603,
 	kFlagNR03McCoyThrownOut = 604,
 	kFlagNR04DiscFound = 605,
@@ -974,20 +981,33 @@ enum Flags {
 	kFlagNR09toNR08 = 615,
 	kFlagMcCoyCapturedByHolloway = 616,
 	kFlagSpinnerMissing = 617,
+	// 618 is never used
+	// 619 is never used
 	kFlagNR08Available = 620,
+	// 621 is never used
 	kFlagNR08TouchedDektora = 622,
 	kFlagTB07TyrellMeeting = 625,
 	kFlagNR01McCoyIsDrugged = 627,
+	kFlagNR01DektoraFall = 632,
+	kFlagNR11BurnedUp = 634,
+	kFlagNR11SteeleShoot = 635,
+	kFlagNR08Faded = 636,
+	// 637 is never used
 	kFlagNR07McCoyIsCop = 638,
+	// 639 is never used
+	kFlagNR10CameraDestroyed = 640,
 	kFlagNR10toNR11 = 641, // is never checked
+	kFlagNR10McCoyBlinded = 642,
 	kFlagSteeleKnowsBulletBobIsDead = 643,
 	kFlagCT11DogWrapperTaken = 645,
 	kFlagSteeleDead = 646, // is never checked
 	kFlagMA04McCoySleeping = 647,
 	kFlagMA04PhoneMessageFromClovis = 649,
 	kFlagMA04PhoneMessageFromLucy = 650,
+	kFlagNR08McCoyWatchingShow = 651,
 	kFlagCrazylegsArrestedTalk = 652,
 	kFlagUG02RagiationGooglesTaken = 656,
+	kFlagNR11BreakWindow = 659,
 	kFlagDNARowAvailableTalk = 660,
 	kFlagTB07ShadeDown = 661, // is never set
 	kFlagMA07toPS14 = 672,
@@ -1015,6 +1035,7 @@ enum Flags {
 	kflagPS01toPS02 = 718,
 	kFlagCT02McCoyFell = 719,
 	kFlagCT02McCoyCombatReady = 720,
+	kFlagChapter4Starting = 722,
 	kFlagZubenBountyPaid = 723,
 	kFlagCT11DogWrapperAvailable = 725,
 	kFlagAR02Entered = 726,
@@ -1205,7 +1226,7 @@ enum Scenes {
 	kSceneNR08 = 61, // Nightclub Row - Early Q's - Stage
 	kSceneNR09 = 62, // Nightclub Row - Early Q's - Upstairs
 	kSceneNR10 = 63, // Nightclub Row - Early Q's - Projector room
-	kSceneNR11 = 64,
+	kSceneNR11 = 64, // Nightclub Row - Early Q's - Loft
 	kScenePS01 = 65, // Police Station - Roof
 	kScenePS02 = 66, // Police Station - Elevator
 	kScenePS03 = 67, // Police Station - Ground floor
@@ -1249,7 +1270,7 @@ enum Scenes {
 	kSceneCT51 = 105, // Chinatown - Yukon Hotel - Backroom - back
 	kSceneHC04 = 106, // Hawker's Circle - Kingston kitchen
 	kSceneRC51 = 107, // Runciter - Lucy's desk
-	kSceneTB07 = 108,
+	kSceneTB07 = 108, // Tyrell Building - Tyrell's office
 	kScenePS15 = 119, // Police Station - Armory
 	kSceneBB12 = 120  // Bradbury Building - Monkey room
 };
@@ -1633,10 +1654,32 @@ enum GoalSteele {
 
 enum GoalDektora {
 	kGoalDektoraDefault = 0,
+	// chapter 1
 	kGoalDektoraStartWalkingAround = 100,
 	kGoalDektoraWalkAroundAsReplicant = 101,
 	kGoalDektoraWalkAroundAsHuman = 102,
-	kGoalDektoraStopWalkingAround = 103
+	kGoalDektoraStopWalkingAround = 103,
+	// chapter 2
+	kGoalDektoraStartChapter3 = 199,
+	kGoalDektoraNR07Sit = 200,
+	kGoalDektoraNR08Dance = 210,
+	kGoalDektoraNR08Leave = 211,
+	kGoalDektoraNR08ReadyToRun = 245,
+	kGoalDektoraNR08GoToNR10 = 246,
+	kGoalDektoraNR10AttackMcCoy = 247,
+	kGoalDektoraNR11Hiding = 250,
+	kGoalDektoraNR11WalkAway = 260,
+	kGoalDektoraNR11PrepareBurning = 269,
+	kGoalDektoraNR11Burning = 270,
+	kGoalDektoraNR11BurningGoToMcCoy = 271,
+	kGoalDektoraNR11BurningGoToWindow = 272,
+	kGoalDektoraNR11PrepareFallThroughWindow = 273,
+	kGoalDektoraNR11FallThroughWindow = 274,
+	kGoalDektoraNR11BurningFallToNR10 = 279,
+	kGoalDektoraNR11RanAway = 290,
+	kGoalDektoraNR07RanAway = 295,
+
+	kGoalDektoraDead = 599
 };
 
 enum GoalGordo {
@@ -1714,12 +1757,12 @@ enum GoalLucy {
 	kGoalLucyMoveAround = 200,
 	kGoalLucyWillReturnToHF03 = 201,
 	kGoalLucyGoToHF03 = 205,
-	kGoalLucyRunOutPhase1 = 210,
-	kGoalLucyRunOutPhase2 = 211,
-	kGoalLucyRunToHF041 = 212,
-	kGoalLucyRunToHF042 = 213,
-	kGoalLucyRunAwayWithHelp1 = 214,
-	kGoalLucyRunAwayWithHelp2 = 215,
+	kGoalLucyHF03RunOutPhase1 = 210,
+	kGoalLucyHF03RunOutPhase2 = 211,
+	kGoalLucyHF03RunToHF041 = 212,
+	kGoalLucyHF03RunToHF042 = 213,
+	kGoalLucyHF03RunAwayWithHelp1 = 214,
+	kGoalLucyHF03RunAwayWithHelp2 = 215,
 	kGoalLucyGoToFreeSlotGAG = 220,
 	kGoalLucyGoToFreeSlotGAHJ = 225,
 	kGoalLucyHF04Start = 230,
@@ -1732,7 +1775,7 @@ enum GoalLucy {
 	kGoalLucyHF04Run4 = 238,
 	kGoalLucyHF04WalkAway = 239,
 	kGoalLucyReturnToHF03 = 250,
-	kGoalLucyGoneChapter3 = 299,
+	kGoalLucyHF03RanAway = 299,
 	kGoalLucyDead = 599
 };
 
diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index cb5f1db..cb07d7b 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -66,17 +66,17 @@ bool AIScriptDektora::Update() {
 	}
 
 	if (chapter == 3) {
-		if (Actor_Query_Goal_Number(kActorDektora) < 199) {
-			Actor_Set_Goal_Number(kActorDektora, 199);
+		if (Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraStartChapter3) {
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartChapter3);
 		} else {
 			switch (Actor_Query_Goal_Number(kActorDektora)) {
-			case 269:
-				Actor_Set_Goal_Number(kActorDektora, 270);
+			case kGoalDektoraNR11PrepareBurning:
+				Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11Burning);
 				break;
 
-			case 271:
+			case kGoalDektoraNR11BurningGoToMcCoy:
 				if (Actor_Query_Inch_Distance_From_Actor(kActorDektora, kActorMcCoy) <= 48) {
-					Actor_Set_Goal_Number(kActorDektora, 279);
+					Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningFallToNR10);
 					break;
 				}
 
@@ -86,10 +86,11 @@ bool AIScriptDektora::Update() {
 				}
 				break;
 
-			case 273:
-				Actor_Set_Goal_Number(kActorDektora, 274);
+			case kGoalDektoraNR11PrepareFallThroughWindow:
+				Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11FallThroughWindow);
 				break;
 
+			// this is unused and goal 275 never set
 			case 275:
 				Actor_Set_Goal_Number(kActorDektora, 276);
 				break;
@@ -110,20 +111,20 @@ bool AIScriptDektora::Update() {
 
 void AIScriptDektora::TimerExpired(int timer) {
 	if (timer == 0) {
-		if (Actor_Query_Goal_Number(kActorDektora) == 210) {
-			if (Player_Query_Current_Scene() == 61) {
+		if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
+			if (Player_Query_Current_Scene() == kSceneNR08) {
 				AI_Countdown_Timer_Reset(kActorDektora, 0);
 				AI_Countdown_Timer_Start(kActorDektora, 0, 10);
 			} else {
-				Actor_Set_Goal_Number(kActorDektora, 211);
+				Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08Leave);
 				AI_Countdown_Timer_Reset(kActorDektora, 0);
 			}
 			return; //true;
 		}
 
-		if (Actor_Query_Goal_Number(kActorDektora) == 270) {
+		if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Burning) {
 			AI_Countdown_Timer_Reset(kActorDektora, 0);
-			Actor_Set_Goal_Number(kActorDektora, 271);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningGoToMcCoy);
 			return; //true;
 		}
 	}
@@ -165,8 +166,8 @@ void AIScriptDektora::CompletedMovementTrack() {
 		}
 		break;
 
-	case 260:
-		Actor_Set_Goal_Number(kActorDektora, 290);
+	case kGoalDektoraNR11WalkAway:
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11RanAway);
 		break;
 
 	case 272:
@@ -191,19 +192,19 @@ void AIScriptDektora::ReceivedClue(int clueId, int fromActorId) {
 }
 
 void AIScriptDektora::ClickedByPlayer() {
-	if (Actor_Query_Goal_Number(kActorDektora) == 599) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraDead) {
 		Actor_Face_Actor(0, kActorDektora, true);
 		Actor_Says(kActorMcCoy, 8630, 12);
 
 		return; //true;
 	}
 
-	if (Actor_Query_Goal_Number(kActorDektora) < 199) {
+	if (Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraStartChapter3) {
 		Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 		Actor_Says(kActorMcCoy, 8590, 13);
 	}
 
-	if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
 		Game_Flag_Set(kFlagNR08TouchedDektora);
 		AI_Movement_Track_Flush(kActorHanoi);
 		Actor_Force_Stop_Walking(kActorMcCoy);
@@ -222,7 +223,7 @@ void AIScriptDektora::EnteredScene(int sceneId) {
 
 void AIScriptDektora::OtherAgentEnteredThisScene(int otherActorId) {
 	if (otherActorId == kActorMcCoy
-	 && Actor_Query_Goal_Number(kActorDektora) == 246
+	 && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08GoToNR10
 	) {
 		Scene_Exits_Disable();
 		Actor_Change_Animation_Mode(kActorDektora, 23);
@@ -245,29 +246,29 @@ void AIScriptDektora::ShotAtAndMissed() {
 }
 
 bool AIScriptDektora::ShotAtAndHit() {
-	if (Actor_Query_Goal_Number(kActorDektora) == 270
-	 || Actor_Query_Goal_Number(kActorDektora) == 271
-	 || Actor_Query_Goal_Number(kActorDektora) == 272
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Burning
+	 || Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11BurningGoToMcCoy
+	 || Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11BurningGoToWindow
 	) {
 		Actor_Set_Health(kActorDektora, 100, 100);
 
-		if (Actor_Query_Goal_Number(kActorDektora) != 272) {
-			Actor_Set_Goal_Number(kActorDektora, 272);
+		if (Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraNR11BurningGoToWindow) {
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningGoToWindow);
 		}
 		return true;
 	}
 
-	if (Actor_Query_Goal_Number(kActorDektora) == 260) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11WalkAway) {
 		AI_Movement_Track_Flush(kActorDektora);
 		Actor_Set_Health(kActorDektora, 0, 100);
 
-		if (Game_Flag_Query(47)) {
-			Actor_Change_Animation_Mode(kActorDektora, 48);
+		if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
+			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeDie);
 			Actor_Start_Speech_Sample(kActorDektora, 980);
 			Delay(2000);
 			Actor_Set_Goal_Number(kActorSteele, 212);
 		} else {
-			Actor_Change_Animation_Mode(kActorDektora, 48);
+			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeDie);
 			Delay(2000);
 			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyArrested);
 		}
@@ -294,7 +295,7 @@ void AIScriptDektora::Retired(int byActorId) {
 
 	if (Actor_Query_In_Set(kActorDektora, kSetKP07)) {
 		Global_Variable_Decrement(kVariableReplicants, 1);
-		Actor_Set_Goal_Number(kActorDektora, 599);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
 
 		if (Global_Variable_Query(kVariableReplicants) == 0) {
 			Player_Loses_Control();
@@ -311,8 +312,8 @@ void AIScriptDektora::Retired(int byActorId) {
 		}
 	}
 
-	if (Actor_Query_Goal_Number(kActorDektora) != 274) {
-		Actor_Set_Goal_Number(kActorDektora, 599);
+	if (Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraNR11FallThroughWindow) {
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
 	}
 	return; //false;
 
@@ -402,18 +403,18 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorDektora);
 		break;
 
-	case 199:
+	case kGoalDektoraStartChapter3:
 		AI_Movement_Track_Flush(kActorDektora);
-		Actor_Set_Goal_Number(kActorDektora, 200);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR07Sit);
 		break;
 
-	case 200:
+	case kGoalDektoraNR07Sit:
 		Actor_Put_In_Set(kActorDektora, kSetNR07);
 		Actor_Set_At_XYZ(kActorDektora, -136.0f, -75.0f, 14.0f, 300);
-		Actor_Change_Animation_Mode(kActorDektora, 53);
+		Actor_Change_Animation_Mode(kActorDektora, kAnimationModeSit);
 		break;
 
-	case 210:
+	case kGoalDektoraNR08Dance:
 		AI_Movement_Track_Flush(kActorDektora);
 		Actor_Put_In_Set(kActorDektora, kSetNR05_NR08);
 		Actor_Set_At_XYZ(kActorDektora, -923.93f, 127.85f, 413.46f, 30);
@@ -421,41 +422,42 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Countdown_Timer_Start(kActorDektora, 0, 45);
 		break;
 
-	case 211:
+	case kGoalDektoraNR08Leave:
 		if (Player_Query_Current_Scene() == kSceneNR08) {
-			Game_Flag_Set(651);
+			Game_Flag_Set(kFlagNR08McCoyWatchingShow);
 		} else {
-			Game_Flag_Set(636);
+			Game_Flag_Set(kFlagNR08Faded);
 			Actor_Put_In_Set(kActorDektora, kSetFreeSlotA);
 			Actor_Set_At_Waypoint(kActorDektora, 33, 0);
 			Actor_Change_Animation_Mode(kActorDektora, 0);
-			Actor_Set_Goal_Number(kActorDektora, 200);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR07Sit);
 		}
+
 		if (Player_Query_Current_Scene() == kSceneNR08) {
 			Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR08Leave);
 		} else {
-			Game_Flag_Reset(651);
+			Game_Flag_Reset(kFlagNR08McCoyWatchingShow);
 		}
 		break;
 
-	case 245:
+	case kGoalDektoraNR08ReadyToRun:
 		Actor_Put_In_Set(kActorDektora, kSetNR05_NR08);
 		Actor_Set_At_XYZ(kActorDektora, -1558.41f, 0.32f, 319.48f, 264);
 		break;
 
-	case 246:
+	case kGoalDektoraNR08GoToNR10:
 		Actor_Put_In_Set(kActorDektora, kSetNR10);
 		Actor_Set_At_XYZ(kActorDektora, 19.22f, 2.84f, -122.43f, 768);
 		break;
 
-	case 247:
+	case kGoalDektoraNR10AttackMcCoy:
 		Actor_Set_At_XYZ(kActorDektora, -99.0f, 2.88f, -202.0f, 911);
-		Actor_Set_Invisible(kActorDektora, 0);
+		Actor_Set_Invisible(kActorDektora, false);
 		Actor_Change_Animation_Mode(kActorDektora, 70);
-		Actor_Retired_Here(kActorMcCoy, 12, 12, 1, -1);
+		Actor_Retired_Here(kActorMcCoy, 12, 12, true, -1);
 		break;
 
-	case 250:
+	case kGoalDektoraNR11Hiding:
 		AI_Movement_Track_Flush(kActorDektora);
 		AI_Countdown_Timer_Reset(kActorDektora, 0);
 		AI_Countdown_Timer_Reset(kActorDektora, 1);
@@ -464,46 +466,46 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Set_At_XYZ(kActorDektora, -184.0f, 0.33f, -268.0f, 256);
 		break;
 
-	case 260:
-		Actor_Set_Targetable(kActorDektora, 1);
+	case kGoalDektoraNR11WalkAway:
+		Actor_Set_Targetable(kActorDektora, true);
 		Actor_Force_Stop_Walking(kActorDektora);
 		AI_Movement_Track_Flush(kActorDektora);
 		AI_Movement_Track_Append(kActorDektora, 462, 0);
 		AI_Movement_Track_Repeat(kActorDektora);
 		break;
 
-	case 269:
-	case 271:
-	case 599:
+	case kGoalDektoraNR11PrepareBurning:
+	case kGoalDektoraNR11BurningGoToMcCoy:
+	case kGoalDektoraDead:
 		break; // return true
 
-	case 270:
+	case kGoalDektoraNR11Burning:
 		Game_Flag_Set(633);
-		Actor_Set_Targetable(kActorDektora, 1);
+		Actor_Set_Targetable(kActorDektora, true);
 		Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, 0, 0);
-		Actor_Face_Actor(kActorMcCoy, kActorDektora, 1);
+		Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 		if (Actor_Query_Goal_Number(kActorSteele) == 216) {
-			Actor_Face_Actor(kActorSteele, kActorDektora, 1);
-			Actor_Change_Animation_Mode(kActorSteele, 6);
+			Actor_Face_Actor(kActorSteele, kActorDektora, true);
+			Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
 			Delay(250);
 			Sound_Play(3, 100, 0, 0, 50);
-			Actor_Set_Goal_Number(kActorDektora, 272);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningGoToWindow);
 		} else {
-			Actor_Set_Goal_Number(kActorDektora, 271);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11BurningGoToMcCoy);
 		}
 		break;
 
-	case 272:
+	case kGoalDektoraNR11BurningGoToWindow:
 		Actor_Force_Stop_Walking(kActorDektora);
 		AI_Movement_Track_Flush(kActorDektora);
 		AI_Movement_Track_Append(kActorDektora, 456, 0);
 		AI_Movement_Track_Repeat(kActorDektora);
 		break;
 
-	case 274:
+	case kGoalDektoraNR11FallThroughWindow:
 		Player_Loses_Control();
 		Scene_Exits_Enable();
-		Game_Flag_Set(632);
+		Game_Flag_Set(kFlagNR01DektoraFall);
 		Actor_Put_In_Set(kActorDektora, kSetNR01);
 		Actor_Set_At_XYZ(kActorDektora, -177.0f, 23.88f, -373.0f, 300);
 		_animationState = 36;
@@ -511,7 +513,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Set_Enter(kSetNR01, kSceneNR01);
 		break;
 
-	case 279:
+	case kGoalDektoraNR11BurningFallToNR10:
 		Actor_Force_Stop_Walking(kActorDektora);
 		Actor_Put_In_Set(kActorDektora, kSetNR10);
 		Actor_Set_At_XYZ(kActorDektora, 14.0f, 2.84f, -300.0f, 926);
@@ -520,14 +522,14 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		_animationFrame = 0;
 		break;
 
-	case 290:
+	case kGoalDektoraNR11RanAway:
 		Game_Flag_Set(kFlagDektoraRanAway);
 		break;
 
 	case 299:
 		Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
 		Actor_Set_At_Waypoint(kActorDektora, 41, 0);
-		Actor_Set_Goal_Number(kActorDektora, 599);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
 		break;
 
 	case 300:
@@ -549,7 +551,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 	case 0:
 		*animation = 156;
 		_animationFrame++;
-		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(156) - 1) {
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(156)) {
 			_animationFrame = 0;
 		}
 		break;
@@ -561,7 +563,9 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 
 	case 2:
 		*animation = 158;
-		if (!_animationFrame && _flag) {
+		if (_animationFrame == 0
+		 && _flag
+		) {
 			*animation = 156;
 			_animationState = 0;
 		} else {
@@ -717,23 +721,28 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 			}
 			Sound_Play_Speech_Line(kActorDektora, speech, 75, 0, 99);
 		}
+
 		if (_animationFrame == 5) {
 			Actor_Combat_AI_Hit_Attempt(3);
 		}
+
 		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(141)) {
 			_animationFrame = 0;
 			_animationState = 9;
 			*animation = 134;
-			Actor_Change_Animation_Mode(kActorDektora, 4);
+			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeCombatIdle);
 		}
 		break;
 
 	case 17:
 		*animation = 142;
 		_animationFrame++;
-		if (_animationFrame == 6 && Actor_Query_Goal_Number(kActorDektora) == 247) {
-			Actor_Change_Animation_Mode(0, 48);
+		if (_animationFrame == 6
+		 && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR10AttackMcCoy
+		) {
+			Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
 		}
+
 		if (_animationFrame == 3) {
 			int speech;
 
@@ -744,14 +753,16 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 			}
 			Sound_Play_Speech_Line(3, speech, 75, 0, 99);
 		}
+
 		if (_animationFrame == 6) {
 			Actor_Combat_AI_Hit_Attempt(3);
 		}
+
 		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(142)) {
 			_animationFrame = 0;
 			_animationState = 9;
 			*animation = 134;
-			Actor_Change_Animation_Mode(kActorDektora, 4);
+			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeCombatIdle);
 		}
 		break;
 
@@ -762,7 +773,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 			*animation = 156;
 			_animationFrame = 0;
 			_animationState = 0;
-			Actor_Change_Animation_Mode(kActorDektora, 0);
+			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle);
 		}
 		break;
 
@@ -773,7 +784,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 			*animation = 156;
 			_animationFrame = 0;
 			_animationState = 0;
-			Actor_Change_Animation_Mode(kActorDektora, 0);
+			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle);
 		}
 		break;
 
@@ -915,13 +926,14 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 		*animation = 165;
 		_animationFrame++;
 		if (_animationFrame == 2) {
-			Game_Flag_Set(659);
+			Game_Flag_Set(kFlagNR11BreakWindow);
 		}
-		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
+
+		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
 			_animationFrame = 0;
 			_animationState = 36;
 			*animation = 167;
-			Actor_Set_Goal_Number(kActorDektora, 273);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11PrepareFallThroughWindow);
 		}
 		break;
 
@@ -930,6 +942,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(167) - 1) {
 			_animationFrame++;
 		}
+
 		if (_animationFrame == 11) {
 			Ambient_Sounds_Play_Sound(206, 80, -20, -20, 20);
 		}
@@ -950,11 +963,9 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 			case 2:
 				Sound_Play(569, (100 / Random_Query(5, 9)), 0, 0, 50);
 				break;
-
-			default:
-				break;
 			}
 		}
+
 		_animationFrame++;
 		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(168) - 1) {
 			_animationFrame = 0;
@@ -979,11 +990,9 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 			case 2:
 				Sound_Play(569, (100 / Random_Query(5, 9)), 0, 0, 50);
 				break;
-
-			default:
-				break;
 			}
 		}
+
 		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
 			_animationFrame = 0;
 			_animationState = 39;
@@ -1007,11 +1016,9 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 			case 2:
 				Sound_Play(569, (100 / Random_Query(5, 9)), 0, 0, 50);
 				break;
-
-			default:
-				break;
 			}
 		}
+
 		if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
 			_animationFrame = 0;
 			_animationState = 40;
@@ -1034,15 +1041,13 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 			case 2:
 				Sound_Play(569, (100 / Random_Query(5, 9)), 0, 0, 50);
 				break;
-
-			default:
-				break;
 			}
 		}
+
 		if (_animationFrame < Slice_Animation_Query_Number_Of_Frames(171) - 1) {
 			_animationFrame++;
 			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(171) - 1) {
-				Actor_Set_Goal_Number(kActorDektora, 211);
+				Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08Leave);
 			}
 		}
 		break;
@@ -1050,9 +1055,12 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 	case 41:
 		*animation = 157;
 		_animationFrame++;
-		if (_animationFrame == 8 && Actor_Query_In_Set(kActorDektora, kSetNR10)) {
+		if (_animationFrame == 8
+		 && Actor_Query_In_Set(kActorDektora, kSetNR10)
+		) {
 			Scene_Loop_Start_Special(2, 4, 1);
 		}
+
 		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(157)) {
 			*animation = 156;
 			_animationFrame = 0;
diff --git a/engines/bladerunner/script/ai/early_q.cpp b/engines/bladerunner/script/ai/early_q.cpp
index 093c51d..39fbb9f 100644
--- a/engines/bladerunner/script/ai/early_q.cpp
+++ b/engines/bladerunner/script/ai/early_q.cpp
@@ -446,7 +446,7 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		if (Player_Query_Current_Scene() == kSceneNR05) {
 			Actor_Says(kActorEarlyQ, 670, kAnimationModeTalk);
 			Actor_Says(kActorEarlyQ, 690, kAnimationModeTalk);
-			Actor_Set_Goal_Number(kActorDektora, 210);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08Dance);
 			Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR05UnlockNR08);
 			Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiNR08WatchShow);
 		} else {
diff --git a/engines/bladerunner/script/ai/holloway.cpp b/engines/bladerunner/script/ai/holloway.cpp
index 3b37244..4251003 100644
--- a/engines/bladerunner/script/ai/holloway.cpp
+++ b/engines/bladerunner/script/ai/holloway.cpp
@@ -177,9 +177,10 @@ bool AIScriptHolloway::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Outtake_Play(kOuttakeInterrogation, 0, 1);
 
 		if (Global_Variable_Query(kVariableHollowayArrest) == 1) {
-			Actor_Set_Goal_Number(kActorDektora, 245);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08ReadyToRun);
 			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle);
 		}
+
 		Player_Gains_Control();
 		Game_Flag_Set(kFlagMcCoyCapturedByHolloway);
 		Scene_Exits_Enable();
diff --git a/engines/bladerunner/script/ai/lucy.cpp b/engines/bladerunner/script/ai/lucy.cpp
index 0a44af7..04ac251 100644
--- a/engines/bladerunner/script/ai/lucy.cpp
+++ b/engines/bladerunner/script/ai/lucy.cpp
@@ -136,20 +136,20 @@ void AIScriptLucy::CompletedMovementTrack() {
 		AI_Countdown_Timer_Start(kActorLucy, 0, 30);
 		break;
 
-	case kGoalLucyRunOutPhase1:
-		Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunOutPhase2);
+	case kGoalLucyHF03RunOutPhase1:
+		Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunOutPhase2);
 		break;
 
-	case kGoalLucyRunOutPhase2:
+	case kGoalLucyHF03RunOutPhase2:
 		Game_Flag_Set(kFlagLucyRanAway);
-		Actor_Set_Goal_Number(kActorLucy, kGoalLucyGoneChapter3);
+		Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RanAway);
 		break;
 
-	case kGoalLucyRunToHF041:
-		Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF042);
+	case kGoalLucyHF03RunToHF041:
+		Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunToHF042);
 		break;
 
-	case kGoalLucyRunToHF042:
+	case kGoalLucyHF03RunToHF042:
 		if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy)
 		 && Global_Variable_Query(kVariableHollowayArrest) != 3
 		) {
@@ -160,11 +160,11 @@ void AIScriptLucy::CompletedMovementTrack() {
 		}
 		break;
 
-	case kGoalLucyRunAwayWithHelp1:
-		Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunAwayWithHelp2);
+	case kGoalLucyHF03RunAwayWithHelp1:
+		Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunAwayWithHelp2);
 		break;
 
-	case kGoalLucyRunAwayWithHelp2:
+	case kGoalLucyHF03RunAwayWithHelp2:
 		Actor_Set_Goal_Number(kActorLucy, kGoalLucyWillReturnToHF03);
 		break;
 
@@ -314,14 +314,14 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorLucy);
 		break;
 
-	case kGoalLucyRunOutPhase1:
+	case kGoalLucyHF03RunOutPhase1:
 		Actor_Set_Immunity_To_Obstacles(kActorLucy, true);
 		AI_Movement_Track_Flush(kActorLucy);
 		AI_Movement_Track_Append_Run(kActorLucy, 377, 0);
 		AI_Movement_Track_Repeat(kActorLucy);
 		break;
 
-	case kGoalLucyRunOutPhase2:
+	case kGoalLucyHF03RunOutPhase2:
 		Actor_Set_Immunity_To_Obstacles(kActorLucy, false);
 		AI_Movement_Track_Flush(kActorLucy);
 		AI_Movement_Track_Append_Run(kActorLucy, 372, 0);
@@ -329,14 +329,14 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorLucy);
 		break;
 
-	case kGoalLucyRunToHF041:
+	case kGoalLucyHF03RunToHF041:
 		Actor_Set_Immunity_To_Obstacles(kActorLucy, true);
 		AI_Movement_Track_Flush(kActorLucy);
 		AI_Movement_Track_Append_Run(kActorLucy, 378, 0);
 		AI_Movement_Track_Repeat(kActorLucy);
 		break;
 
-	case kGoalLucyRunToHF042:
+	case kGoalLucyHF03RunToHF042:
 		Actor_Set_Immunity_To_Obstacles(kActorLucy, false);
 		AI_Movement_Track_Flush(kActorLucy);
 		AI_Movement_Track_Append_Run(kActorLucy, 373, 0);
@@ -344,7 +344,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorLucy);
 		break;
 
-	case kGoalLucyRunAwayWithHelp1:
+	case kGoalLucyHF03RunAwayWithHelp1:
 		Actor_Says(kActorLucy, 320, 16);
 		Actor_Set_Goal_Number(kActorHolloway, kGoalHollowayGoToHF03);
 		Actor_Set_Immunity_To_Obstacles(kActorLucy, true);
@@ -353,7 +353,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorLucy);
 		break;
 
-	case kGoalLucyRunAwayWithHelp2:
+	case kGoalLucyHF03RunAwayWithHelp2:
 		Actor_Set_Immunity_To_Obstacles(kActorLucy, false);
 		AI_Movement_Track_Flush(kActorLucy);
 		AI_Movement_Track_Append_Run(kActorLucy, 373, 0);
@@ -473,7 +473,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
 			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02ConfrontLucy);
 		} else {
-			Actor_Set_Goal_Number(kActorLucy, kGoalLucyGoneChapter3);
+			Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RanAway);
 			Game_Flag_Set(kFlagLucyRanAway);
 		}
 		break;
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index a0a122e..a6277e9 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -269,26 +269,45 @@ bool AIScriptMcCoy::ShotAtAndHit() {
 
 void AIScriptMcCoy::Retired(int byActorId) {
 	if (byActorId == kActorSteele && Actor_Query_In_Set(kActorSteele, kSetHF06)) {
-		if (Actor_Query_In_Set(kActorDektora, kSetHF06) && Actor_Query_Goal_Number(kActorDektora) != 599) {
+		if (Actor_Query_In_Set(kActorDektora, kSetHF06)
+		 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead) {
 			Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorDektora, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
-		} else if (Actor_Query_In_Set(kActorLucy, kSetHF06) && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead) {
+		} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
+		        && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+		) {
 			Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorLucy, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 		}
 	}
 
-	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05) && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05) && Actor_Query_In_Set(kActorDektora, kSetHF05) && Actor_Query_Goal_Number(kActorDektora) != 599) {
+	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
+	 && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05)
+	 && Actor_Query_In_Set(kActorDektora, kSetHF05)
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	) {
 		Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, kActorCombatStateUncover, true, kActorDektora, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 	}
 
-	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05) && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05) && Actor_Query_In_Set(kActorDektora, kSetHF05) && Actor_Query_Goal_Number(kActorDektora) != 599) {
+	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
+	 && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05)
+	 && Actor_Query_In_Set(kActorDektora, kSetHF05)
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	) {
 		Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorDektora, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 	}
 
-	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05) && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05) && Actor_Query_In_Set(kActorLucy, kSetHF05) && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead) {
+	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
+	 && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05)
+	 && Actor_Query_In_Set(kActorLucy, kSetHF05)
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	) {
 		Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, kActorCombatStateUncover, true, kActorLucy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 	}
 
-	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05) && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05) && Actor_Query_In_Set(kActorLucy, kSetHF05) && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead) {
+	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
+	 && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05)
+	 && Actor_Query_In_Set(kActorLucy, kSetHF05)
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	) {
 		Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorLucy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 	}
 }
@@ -1048,7 +1067,10 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 	case 21:
 		*animation = 12;
 		_animationFrame++;
-		if (_animationFrame == 1 && Actor_Query_Goal_Number(kActorMcCoy) == 230 && dword_45A0FC == 1) {
+		if (_animationFrame == 1
+		 && Actor_Query_Goal_Number(kActorMcCoy) == 230
+		 && dword_45A0FC == 1
+		) {
 			dword_45A0F8 = 27;
 		}
 		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(12)) {
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index 302ba93..1bcede6 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -903,7 +903,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			Actor_Says(kActorMcCoy, 3835, 18);
 			Actor_Says(kActorSteele, 1810, 16);
 			Game_Flag_Set(kFlagDektoraRanAway);
-			Actor_Set_Goal_Number(kActorDektora, 599);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
 			Actor_Set_Goal_Number(kActorSteele, 275);
 			break;
 		case 274:
@@ -916,13 +916,13 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			Actor_Says(kActorSteele, 1780, 15);
 			Actor_Says(kActorMcCoy, 3825, 14);
 			Game_Flag_Set(kFlagDektoraRanAway);
-			Actor_Set_Goal_Number(kActorDektora, 599);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
 			Actor_Set_Goal_Number(kActorSteele, 275);
 		}
 		return true;
 
 	case 215:
-		Game_Flag_Set(635);
+		Game_Flag_Set(kFlagNR11SteeleShoot);
 		Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
 		Scene_Exits_Disable();
 		return true;
@@ -937,7 +937,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Flush(kActorSteele);
 		Actor_Put_In_Set(kActorSteele, kSetNR05_NR08);
 		Actor_Set_At_XYZ(kActorSteele, -1034.09f, 0.32f, 224.77f, 440);
-		Game_Flag_Set(722);
+		Game_Flag_Set(kFlagChapter4Starting);
 		Set_Enter(kSetNR05_NR08, kSceneNR08);
 		return true;
 
@@ -1298,7 +1298,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		return true;
 
 	case kGoalSteeleHF01StartChapter4:
-		Game_Flag_Set(722);
+		Game_Flag_Set(kFlagChapter4Starting);
 		Global_Variable_Set(kVariableChapter, 4);
 		Scene_Exits_Enable();
 		Game_Flag_Set(523);
diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp
index a91f55b..b466794 100644
--- a/engines/bladerunner/script/scene/hf01.cpp
+++ b/engines/bladerunner/script/scene/hf01.cpp
@@ -351,7 +351,7 @@ void SceneScriptHF01::PlayerWalkedIn() {
 			Actor_Set_Targetable(kActorLucy, true);
 		} else if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallDektora1)
 		        && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-		        && Actor_Query_Goal_Number(kActorDektora) != 599
+		        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
 		) {
 			Actor_Put_In_Set(kActorDektora, kSetHF01);
 			Actor_Set_At_XYZ(kActorDektora, -5.0f, 8.0f, -622.0f, 419);
@@ -409,14 +409,14 @@ void SceneScriptHF01::PlayerWalkedOut() {
 	if (!Game_Flag_Query(kFlagHF01toHF05)
 	 && !Game_Flag_Query(kFlagHF01toHF02)
 	 && !Game_Flag_Query(kFlagHF01toHF03)
-	 && !Game_Flag_Query(722)
+	 && !Game_Flag_Query(kFlagChapter4Starting)
 	) {
 		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 		Ambient_Sounds_Remove_All_Looping_Sounds(1);
 		Outtake_Play(kOuttakeInside2, true, -1);
 		Outtake_Play(kOuttakeTowards3, true, -1);
 	}
-	Game_Flag_Reset(722);
+	Game_Flag_Reset(kFlagChapter4Starting);
 
 	if (Actor_Query_Goal_Number(kActorLucy) == 450) {
 		Actor_Put_In_Set(kActorLucy, kSetFreeSlotG);
@@ -427,7 +427,7 @@ void SceneScriptHF01::PlayerWalkedOut() {
 	if (Actor_Query_Goal_Number(kActorDektora) == 450) {
 		Actor_Put_In_Set(kActorDektora, kSetFreeSlotG);
 		Actor_Set_At_Waypoint(kActorDektora, 39, 0);
-		Actor_Set_Goal_Number(kActorDektora, 599);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
 	}
 }
 
diff --git a/engines/bladerunner/script/scene/hf03.cpp b/engines/bladerunner/script/scene/hf03.cpp
index 4e1177f..2201bba 100644
--- a/engines/bladerunner/script/scene/hf03.cpp
+++ b/engines/bladerunner/script/scene/hf03.cpp
@@ -79,11 +79,11 @@ void SceneScriptHF03::dialogueWithLucy() {
 	case 840: // VOIGT-KAMPFF
 		Actor_Says(kActorMcCoy, 1630, 15);
 		if (Global_Variable_Query(kVariableHollowayArrest) == 3) {
-			Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunAwayWithHelp1);
+			Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunAwayWithHelp1);
 		} else if (Game_Flag_Query(kFlagLucyIsReplicant)) {
-			Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041);
+			Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunToHF041);
 		} else {
-			Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunOutPhase1);
+			Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunOutPhase1);
 			Game_Flag_Set(kFlagLucyRanAway);
 		}
 		break;
@@ -97,7 +97,7 @@ void SceneScriptHF03::dialogueWithLucy() {
 	case 860: // CRYSTAL
 		Actor_Says(kActorMcCoy, 1640, 12);
 		if (Global_Variable_Query(kVariableHollowayArrest) == 3) {
-			Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunAwayWithHelp1);
+			Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunAwayWithHelp1);
 		} else {
 			Actor_Says(kActorLucy, 210, 13);
 			Actor_Says(kActorMcCoy, 1655, 15);
@@ -130,9 +130,9 @@ void SceneScriptHF03::dialogueWithLucy() {
 			Actor_Clue_Acquire(kActorLucy, kClueMcCoyHelpedLucy, true, kActorMcCoy);
 
 			if (Game_Flag_Query(kFlagLucyIsReplicant)) {
-				Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041);
+				Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunToHF041);
 			} else {
-				Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunOutPhase1);
+				Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunOutPhase1);
 			}
 		}
 		break;
@@ -250,7 +250,7 @@ void SceneScriptHF03::PlayerWalkedIn() {
 	}
 
 	if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyReturnToHF03) {
-		Actor_Set_Goal_Number(kActorLucy, kGoalLucyRunToHF041);
+		Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RunToHF041);
 		Actor_Says(kActorSteele, 210, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
 		Actor_Says(kActorMcCoy, 1680, 15);
diff --git a/engines/bladerunner/script/scene/hf04.cpp b/engines/bladerunner/script/scene/hf04.cpp
index 6d30563..4fb4432 100644
--- a/engines/bladerunner/script/scene/hf04.cpp
+++ b/engines/bladerunner/script/scene/hf04.cpp
@@ -63,7 +63,7 @@ void SceneScriptHF04::SceneLoaded() {
 		Unobstacle_Object("HIDE_WALL_B", true);
 	}
 
-	if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyRunToHF042) {
+	if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyHF03RunToHF042) {
 		if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy)
 		 && Global_Variable_Query(kVariableHollowayArrest) != 3
 		) {
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index c78bf71..3f94212 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -560,7 +560,7 @@ void SceneScriptHF05::dialogueWithCrazylegs2() { // cut feature? it is impossibl
 
 int SceneScriptHF05::getAffectionTowardsActor() {
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-	 && Actor_Query_Goal_Number(kActorDektora) != 599
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
 	) {
 		return kActorDektora;
 	}
@@ -744,7 +744,7 @@ void SceneScriptHF05::addAmbientSounds() {
 
 int SceneScriptHF05::sub_4048C0() {
 	if (Actor_Query_In_Set(kActorDektora, kSetHF05)
-	 && Actor_Query_Goal_Number(kActorDektora) != 599
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
 	) {
 		return kActorDektora;
 	}
diff --git a/engines/bladerunner/script/scene/hf06.cpp b/engines/bladerunner/script/scene/hf06.cpp
index 7b5fd44..c89d82b 100644
--- a/engines/bladerunner/script/scene/hf06.cpp
+++ b/engines/bladerunner/script/scene/hf06.cpp
@@ -71,7 +71,7 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.33f, 367.93f, 399.0f, 0, true, false, 0)) {
 			Actor_Face_Heading(kActorMcCoy, 486, true);
 			if (Actor_Query_In_Set(kActorDektora, kSetHF06)
-			 && Actor_Query_Goal_Number(kActorDektora) != 599
+			 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
 			) {
 				Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
 				Actor_Says(kActorDektora, 210, 12);
@@ -120,7 +120,7 @@ bool SceneScriptHF06::ClickedOnActor(int actorId) {
 			Actor_Says(kActorMcCoy, 2115, 17);
 		}
 	} else if (actorId == kActorDektora
-	        && Actor_Query_Goal_Number(kActorDektora) != 599
+	        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
 	) {
 		Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
 		Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
@@ -171,7 +171,7 @@ void SceneScriptHF06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 		int otherActorId = -1;
 		if (Actor_Query_In_Set(kActorDektora, kSetHF06)
-		 && Actor_Query_Goal_Number(kActorDektora) == 599
+		 && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraDead
 		) {
 			otherActorId = kActorDektora;
 		} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
@@ -215,7 +215,7 @@ void SceneScriptHF06::PlayerWalkedIn() {
 		) {
 			actorId = kActorLucy;
 		} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-		        && Actor_Query_Goal_Number(kActorDektora) != 599
+		        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
 		) {
 			actorId = kActorDektora;
 		}
diff --git a/engines/bladerunner/script/scene/hf07.cpp b/engines/bladerunner/script/scene/hf07.cpp
index 8a8f4eb..12593ed 100644
--- a/engines/bladerunner/script/scene/hf07.cpp
+++ b/engines/bladerunner/script/scene/hf07.cpp
@@ -143,7 +143,7 @@ void SceneScriptHF07::DialogueQueueFlushed(int a1) {
 
 int SceneScriptHF07::getAffectionTowardsActor() {
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-	 && Actor_Query_Goal_Number(kActorDektora) != 599
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
 	) {
 		return kActorDektora;
 	}
diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp
index 56b9a91..972a18b 100644
--- a/engines/bladerunner/script/scene/kp07.cpp
+++ b/engines/bladerunner/script/scene/kp07.cpp
@@ -30,7 +30,7 @@ void SceneScriptKP07::InitializeScene() {
 	Scene_Exit_Add_2D_Exit(0, 315, 185, 381, 285, 0);
 	if (Game_Flag_Query(653)) {
 		if (Game_Flag_Query(kFlagDektoraIsReplicant)
-		 && Actor_Query_Goal_Number(kActorDektora) < 599
+		 && Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraDead
 		) {
 			Actor_Set_Targetable(kActorDektora, true);
 			Global_Variable_Increment(kVariableReplicants, 1);
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index a14c9e7..6c619ac 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -34,7 +34,7 @@ enum kNR01Loops {
 void SceneScriptNR01::InitializeScene() {
 	if (Game_Flag_Query(kFlagSpinnerMissing)) {
 		Setup_Scene_Information(-153.86f, 23.88f, -570.21f, 402);
-	} else if (Game_Flag_Query(632)) {
+	} else if (Game_Flag_Query(kFlagNR01DektoraFall)) {
 		Setup_Scene_Information( -416.0f, 31.93f,  -841.0f, 200);
 		Actor_Set_Invisible(kActorMcCoy, true);
 		Preload(167);
@@ -330,7 +330,7 @@ void SceneScriptNR01::PlayerWalkedIn() {
 		return;
 	}
 
-	if (Game_Flag_Query(632)) {
+	if (Game_Flag_Query(kFlagNR01DektoraFall)) {
 		Delay(3500);
 		Set_Enter(kSetNR11, kSceneNR11);
 		//return true;
@@ -451,15 +451,15 @@ void SceneScriptNR01::PlayerWalkedOut() {
 	if (!Game_Flag_Query(kFlagNR01toUG06)
 	 && !Game_Flag_Query(kFlagNR01toNR02)
 	 && !Game_Flag_Query(kFlagNR01toNR03)
-	 && !Game_Flag_Query(632)
-	 && !Game_Flag_Query(722)
+	 && !Game_Flag_Query(kFlagNR01DektoraFall)
+	 && !Game_Flag_Query(kFlagChapter4Starting)
 	) {
 		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 		Ambient_Sounds_Remove_All_Looping_Sounds(1);
 		Outtake_Play(kOuttakeAway1, true, -1);
 		Outtake_Play(kOuttakeInside2, true, -1);
 	}
-	Game_Flag_Reset(722);
+	Game_Flag_Reset(kFlagChapter4Starting);
 }
 
 void SceneScriptNR01::DialogueQueueFlushed(int a1) {
diff --git a/engines/bladerunner/script/scene/nr04.cpp b/engines/bladerunner/script/scene/nr04.cpp
index 0d90781..03809d9 100644
--- a/engines/bladerunner/script/scene/nr04.cpp
+++ b/engines/bladerunner/script/scene/nr04.cpp
@@ -60,7 +60,7 @@ void SceneScriptNR04::SceneLoaded() {
 	Clickable_Object("B.TV03");
 	Clickable_Object("B.TV05");
 	Clickable_Object("DESK");
-	if (!Game_Flag_Query(605)) {
+	if (!Game_Flag_Query(kFlagNR04DiscFound)) {
 		Clickable_Object("TORUS01");
 	}
 	Clickable_Object("BOX12");
diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp
index 0b23d61..6fbebd2 100644
--- a/engines/bladerunner/script/scene/nr07.cpp
+++ b/engines/bladerunner/script/scene/nr07.cpp
@@ -198,9 +198,9 @@ void SceneScriptNR07::dektoraRunAway() {
 	Loop_Actor_Walk_To_XYZ(kActorDektora, -102.0f, -73.5f, -233.0f, 0, false, true, 0);
 
 	if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
-		Actor_Set_Goal_Number(kActorDektora, 245);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08ReadyToRun);
 	} else {
-		Actor_Set_Goal_Number(kActorDektora, 295);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR07RanAway);
 		Game_Flag_Set(kFlagDektoraRanAway);
 		Actor_Put_In_Set(kActorDektora, kSetFreeSlotA);
 		Actor_Set_At_Waypoint(kActorDektora, 33, 0);
diff --git a/engines/bladerunner/script/scene/nr08.cpp b/engines/bladerunner/script/scene/nr08.cpp
index dd4c0e9..7070e4d 100644
--- a/engines/bladerunner/script/scene/nr08.cpp
+++ b/engines/bladerunner/script/scene/nr08.cpp
@@ -24,14 +24,20 @@
 
 namespace BladeRunner {
 
+enum kNR08Loops {
+	kNR08LoopPanFromNR05 = 0,
+	kNR08LoopMainLoop = 1,
+	kNR08LoopFadeLoop = 3
+};
+
 void SceneScriptNR08::InitializeScene() {
 	if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR01GoToNR08) {
 		Setup_Scene_Information(-1174.1f, 0.32f, 303.9f, 435);
 	} else if (Game_Flag_Query(kFlagNR05toNR08)) {
-		Scene_Loop_Start_Special(0, 0, 0);
-		Scene_Loop_Set_Default(1);
+		Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kNR08LoopPanFromNR05, false);
+		Scene_Loop_Set_Default(kNR08LoopMainLoop);
 		Setup_Scene_Information(-1102.88f, 0.0f, 107.43f, 0);
-		if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+		if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
 			Music_Stop(1);
 		}
 	} else if (Game_Flag_Query(kFlagNR06toNR08)) {
@@ -43,7 +49,7 @@ void SceneScriptNR08::InitializeScene() {
 	}
 
 	Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
-	if (Actor_Query_Goal_Number(kActorDektora) != 210) {
+	if (Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraNR08Dance) {
 		Scene_Exit_Add_2D_Exit(1,   0, 309,  30, 398, 3);
 		Scene_Exit_Add_2D_Exit(2, 520, 330, 556, 386, 0);
 	}
@@ -69,13 +75,13 @@ void SceneScriptNR08::InitializeScene() {
 	Ambient_Sounds_Add_Sound(192, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
 
-	Scene_Loop_Set_Default(1);
+	Scene_Loop_Set_Default(kNR08LoopMainLoop);
 }
 
 void SceneScriptNR08::SceneLoaded() {
 	Obstacle_Object("BOX283", true);
 	Unobstacle_Object("BOX283", true);
-	if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
 		Actor_Change_Animation_Mode(kActorDektora, 79);
 	}
 }
@@ -160,18 +166,20 @@ void SceneScriptNR08::SceneFrameAdvanced(int frame) {
 		Set_Fade_Density(0.0f);
 	}
 
-	if (Game_Flag_Query(651) && !Game_Flag_Query(636)) {
-		Game_Flag_Set(636);
+	if ( Game_Flag_Query(kFlagNR08McCoyWatchingShow)
+	 && !Game_Flag_Query(kFlagNR08Faded)
+	) {
+		Game_Flag_Set(kFlagNR08Faded);
 		Scene_Exits_Disable();
-		Scene_Loop_Set_Default(1);
-		Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, true);
+		Scene_Loop_Set_Default(kNR08LoopMainLoop);
+		Scene_Loop_Start_Special(kSceneLoopModeOnce, kNR08LoopFadeLoop, true);
 	}
 
 	if (frame == 95) {
 		Actor_Put_In_Set(kActorDektora, kSetFreeSlotA);
 		Actor_Set_At_Waypoint(kActorDektora, 33, 0);
 		Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle);
-		Actor_Set_Goal_Number(kActorDektora, 200);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR07Sit);
 		Scene_Exit_Add_2D_Exit(1,   0, 309,  30, 398, 3);
 		Scene_Exit_Add_2D_Exit(2, 520, 330, 556, 386, 0);
 	}
@@ -186,7 +194,7 @@ void SceneScriptNR08::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptNR08::PlayerWalkedIn() {
-	if (Actor_Query_Goal_Number(kActorDektora) == 210
+	if ( Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance
 	 && !Game_Flag_Query(kFlagNR08DektoraShow)
 	) {
 		Game_Flag_Set(kFlagNR08DektoraShow);
@@ -196,10 +204,10 @@ void SceneScriptNR08::PlayerWalkedIn() {
 		Music_Adjust(51, 0, 2);
 	}
 
-	if (Actor_Query_Goal_Number(kActorDektora) == 245) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08ReadyToRun) {
 		Actor_Face_Heading(kActorDektora, 790, false);
-		Loop_Actor_Travel_Stairs(kActorDektora, 8, 1, kAnimationModeIdle);
-		Actor_Set_Goal_Number(kActorDektora, 246);
+		Loop_Actor_Travel_Stairs(kActorDektora, 8, true, kAnimationModeIdle);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08GoToNR10);
 	}
 
 	if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR01GoToNR08) {
@@ -238,7 +246,7 @@ void SceneScriptNR08::DialogueQueueFlushed(int a1) {
 void SceneScriptNR08::playNextMusic() {
 	if (Music_Is_Playing()) {
 		Music_Adjust(51, 0, 2);
-	} else if (Actor_Query_Goal_Number(kActorDektora) == 210) {
+	} else if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08Dance) {
 		Music_Play(6, 61, 0, 1, -1, 0, 0);
 	} else {
 		int track = Global_Variable_Query(kVariableEarlyQBackMusic);
diff --git a/engines/bladerunner/script/scene/nr09.cpp b/engines/bladerunner/script/scene/nr09.cpp
index 233f58b..df816c1 100644
--- a/engines/bladerunner/script/scene/nr09.cpp
+++ b/engines/bladerunner/script/scene/nr09.cpp
@@ -26,13 +26,13 @@ namespace BladeRunner {
 
 void SceneScriptNR09::InitializeScene() {
 	if (Game_Flag_Query(kFlagNR10toNR09)) {
-		if (!Game_Flag_Query(640)) {
+		if (!Game_Flag_Query(kFlagNR10CameraDestroyed)) {
 			Ambient_Sounds_Adjust_Looping_Sound(452, 22, 100, 2);
 		}
 		Game_Flag_Reset(kFlagNR10toNR09);
 		Setup_Scene_Information(-556.07f, 0.35f, 399.04f, 440);
 	} else {
-		if (!Game_Flag_Query(640)) {
+		if (!Game_Flag_Query(kFlagNR10CameraDestroyed)) {
 			Ambient_Sounds_Add_Looping_Sound(452, 22, 100, 1);
 		}
 		Setup_Scene_Information(-704.07f, 0.35f, 663.04f,   0);
diff --git a/engines/bladerunner/script/scene/nr10.cpp b/engines/bladerunner/script/scene/nr10.cpp
index e2a1df8..3f745bb 100644
--- a/engines/bladerunner/script/scene/nr10.cpp
+++ b/engines/bladerunner/script/scene/nr10.cpp
@@ -22,6 +22,8 @@
 
 #include "bladerunner/script/scene_script.h"
 
+#include "common/debug.h"
+
 namespace BladeRunner {
 
 void SceneScriptNR10::InitializeScene() {
@@ -34,10 +36,10 @@ void SceneScriptNR10::InitializeScene() {
 	}
 
 	Scene_Exit_Add_2D_Exit(0, 144, 163, 194, 318, 3);
-	Scene_Exit_Add_2D_Exit(1, 475, 95, 568, 230, 0);
+	Scene_Exit_Add_2D_Exit(1, 475,  95, 568, 230, 0);
 
 	Ambient_Sounds_Add_Looping_Sound(205, 22, 0, 1);
-	Ambient_Sounds_Add_Looping_Sound(71, 33, 0, 1);
+	Ambient_Sounds_Add_Looping_Sound( 71, 33, 0, 1);
 	Ambient_Sounds_Add_Sound(303, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(304, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(305, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
@@ -45,7 +47,7 @@ void SceneScriptNR10::InitializeScene() {
 	Ambient_Sounds_Add_Sound(307, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(308, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
 
-	if (Game_Flag_Query(640)) {
+	if (Game_Flag_Query(kFlagNR10CameraDestroyed)) {
 		Scene_Loop_Set_Default(0);
 	} else {
 		Ambient_Sounds_Adjust_Looping_Sound(452, 31, 0, 1);
@@ -61,17 +63,17 @@ void SceneScriptNR10::SceneLoaded() {
 }
 
 bool SceneScriptNR10::MouseClick(int x, int y) {
-	return Game_Flag_Query(642);
+	return Game_Flag_Query(kFlagNR10McCoyBlinded);
 }
 
 bool SceneScriptNR10::ClickedOn3DObject(const char *objectName, bool combatMode) {
 	if (Object_Query_Click("BOX18", objectName)
 	 && combatMode
-	 && Game_Flag_Query(642)
+	 && Game_Flag_Query(kFlagNR10McCoyBlinded)
 	) {
-		Actor_Set_Goal_Number(kActorDektora, 250);
-		Game_Flag_Set(640);
-		Game_Flag_Reset(642);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11Hiding);
+		Game_Flag_Set(kFlagNR10CameraDestroyed);
+		Game_Flag_Reset(kFlagNR10McCoyBlinded);
 		Actor_Set_Invisible(kActorMcCoy, false);
 		Actor_Set_Invisible(kActorDektora, false);
 		Ambient_Sounds_Remove_Looping_Sound(452, true);
@@ -119,8 +121,10 @@ bool SceneScriptNR10::ClickedOn2DRegion(int region) {
 }
 
 void SceneScriptNR10::SceneFrameAdvanced(int frame) {
+	debug("%i", frame);
+
 	if (frame == 122) {
-		Game_Flag_Set(642);
+		Game_Flag_Set(kFlagNR10McCoyBlinded);
 		Actor_Set_Invisible(kActorMcCoy, true);
 		Actor_Set_Invisible(kActorDektora, true);
 		Combat_Target_Object("BOX18");
@@ -129,12 +133,12 @@ void SceneScriptNR10::SceneFrameAdvanced(int frame) {
 	}
 
 	if (frame == 61
-	 && Game_Flag_Query(642)
+	 && Game_Flag_Query(kFlagNR10McCoyBlinded)
 	) {
-		Game_Flag_Reset(642);
+		Game_Flag_Reset(kFlagNR10McCoyBlinded);
 		Player_Set_Combat_Mode(false);
 		Actor_Set_Invisible(kActorMcCoy, false);
-		Actor_Set_Goal_Number(kActorDektora, 247);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR10AttackMcCoy);
 		//return true;
 		return;
 	}
@@ -145,7 +149,7 @@ void SceneScriptNR10::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptNR10::PlayerWalkedIn() {
-	if (Actor_Query_Goal_Number(kActorDektora) == 246) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR08GoToNR10) {
 		Player_Set_Combat_Mode(true);
 		//return true;
 		return;
diff --git a/engines/bladerunner/script/scene/nr11.cpp b/engines/bladerunner/script/scene/nr11.cpp
index fca1d66..d0d3ff1 100644
--- a/engines/bladerunner/script/scene/nr11.cpp
+++ b/engines/bladerunner/script/scene/nr11.cpp
@@ -24,12 +24,19 @@
 
 namespace BladeRunner {
 
+enum kNR11Loops {
+	kNR11LoopMainLoop         = 0,
+	kNR11LoopGunshots         = 2,
+	kNR11LoopMainLoopFires    = 3,
+	kNR11LoopMainLoopBurnedUp = 5
+};
+
 void SceneScriptNR11::InitializeScene() {
 	Setup_Scene_Information(100.0f, 1.75f, -4.0f, 0);
 
 	Scene_Exit_Add_2D_Exit(0, 450, 305, 565, 345, 2);
 
-	if (!Game_Flag_Query(640)) {
+	if (!Game_Flag_Query(kFlagNR10CameraDestroyed)) {
 		Ambient_Sounds_Adjust_Looping_Sound(452, 22, 0, 1);
 	}
 
@@ -42,14 +49,14 @@ void SceneScriptNR11::InitializeScene() {
 	Ambient_Sounds_Add_Sound(307, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(308, 2, 50, 7, 17, -100, 100, -101, -101, 0, 0);
 
-	if (Game_Flag_Query(632)) {
-		Scene_Loop_Set_Default(3);
+	if (Game_Flag_Query(kFlagNR01DektoraFall)) {
+		Scene_Loop_Set_Default(kNR11LoopMainLoopFires);
 		Ambient_Sounds_Add_Looping_Sound(381, 83, 0, 1);
-	} else if (Game_Flag_Query(634)) {
-		Scene_Loop_Set_Default(5);
+	} else if (Game_Flag_Query(kFlagNR11BurnedUp)) {
+		Scene_Loop_Set_Default(kNR11LoopMainLoopBurnedUp);
 		Ambient_Sounds_Add_Looping_Sound(381, 83, 0, 1);
 	} else {
-		Scene_Loop_Set_Default(0);
+		Scene_Loop_Set_Default(kNR11LoopMainLoop);
 		Overlay_Play("NR11OVER", 0, true, false, 0);
 	}
 }
@@ -59,7 +66,7 @@ void SceneScriptNR11::SceneLoaded() {
 	Unobstacle_Object("BOX13", true);
 	Clickable_Object("LOFT04");
 	Unclickable_Object("LOFT04");
-	if (Actor_Query_Goal_Number(kActorDektora) == 250) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
 		Clickable_Object("CLOTHING02");
 		Clickable_Object("BOX27");
 		Clickable_Object("BOX39");
@@ -140,35 +147,37 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
 				Player_Set_Combat_Mode(true);
 			}
 			Actor_Set_Goal_Number(kActorMcCoy, 230);
-			Scene_Loop_Set_Default(3);
-			Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
-		} else if (Actor_Query_Goal_Number(kActorDektora) == 250) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 24.0f, 0.33f, 0.0f, 0, 1, false, 0)) {
+			Scene_Loop_Set_Default(kNR11LoopMainLoopFires);
+			Scene_Loop_Start_Special(kSceneLoopModeOnce, kNR11LoopGunshots, true);
+		} else if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 24.0f, 0.33f, 0.0f, 0, true, false, 0)) {
 				Actor_Face_XYZ(kActorMcCoy, -180.0f, 0.0f, -170.0f, true);
 				untargetEverything();
 				Actor_Set_Goal_Number(kActorSteele, 211);
 				if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) < 30) {
 					Actor_Set_At_XYZ(kActorDektora, 0.5f, 0.33f, -162.0f, 0);
-					Loop_Actor_Walk_To_XYZ(kActorDektora, -24.0f, 0.33f, -35.4f, 0, 0, true, 0);
+					Loop_Actor_Walk_To_XYZ(kActorDektora, -24.0f, 0.33f, -35.4f, 0, false, true, 0);
 					Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 					Actor_Change_Animation_Mode(kActorDektora, 71);
 					Delay(500);
-					Actor_Change_Animation_Mode(kActorMcCoy, 48);
+					Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
 					Delay(2000);
 					Actor_Set_Goal_Number(kActorMcCoy, 231);
 				} else {
 					Actor_Says(kActorMcCoy, 3840, 18);
 					Delay(1000);
-					if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) > 59 && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsNone) {
+					if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) > 59
+					 && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsNone
+					) {
 						Music_Play(21, 35, 0, 3, -1, 0, 0);
 					}
-					Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, false, 0);
+					Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, false, false, 0);
 					Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
 					Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 					Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview4, true, kActorDektora);
 					Actor_Says(kActorDektora, 990, 13);
 					Actor_Says(kActorDektora, 1000, 14);
-					Loop_Actor_Walk_To_Actor(kActorDektora, kActorMcCoy, 108, 0, false);
+					Loop_Actor_Walk_To_Actor(kActorDektora, kActorMcCoy, 108, false, false);
 					Actor_Says(kActorMcCoy, 3845, 13);
 					Actor_Says(kActorMcCoy, 3850, 15);
 					Actor_Says(kActorDektora, 1010, 14);
@@ -198,7 +207,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
 					Actor_Says(kActorMcCoy, 3875, 14);
 					Actor_Says(kActorDektora, 1090, 17);
 					Music_Stop(4);
-					Actor_Set_Goal_Number(kActorDektora, 260);
+					Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11WalkAway);
 					if (Global_Variable_Query(kVariableHollowayArrest) == 1) {
 						Actor_Set_Goal_Number(kActorSteele, 236);
 					}
@@ -277,38 +286,40 @@ void SceneScriptNR11::SceneFrameAdvanced(int frame) {
 		Ambient_Sounds_Play_Sound(122, 80, 100, 100, 15);
 	}
 
-	if (Game_Flag_Query(659)) {
-		Game_Flag_Reset(659);
+	if (Game_Flag_Query(kFlagNR11BreakWindow)) {
+		Game_Flag_Reset(kFlagNR11BreakWindow);
 		Overlay_Remove("NR11OVER");
-		Overlay_Play("NR11OVER", 1, 0, 1, 0);
+		Overlay_Play("NR11OVER", 1, false, true, 0);
 	}
 
-	if (Game_Flag_Query(635)) {
+	if (Game_Flag_Query(kFlagNR11SteeleShoot)) {
 		untargetEverything();
 		Player_Loses_Control();
 		if (!Player_Query_Combat_Mode()) {
 			Player_Set_Combat_Mode(true);
 		}
 		Actor_Set_Goal_Number(kActorMcCoy, 230);
-		Scene_Loop_Set_Default(3);
-		Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
-		Game_Flag_Reset(635);
+		Scene_Loop_Set_Default(kNR11LoopMainLoopFires);
+		Scene_Loop_Start_Special(kSceneLoopModeOnce, kNR11LoopGunshots, true);
+		Game_Flag_Reset(kFlagNR11SteeleShoot);
 	} else {
-		if (frame < 61 || frame > 120) {
+		if (frame < 61
+		 || frame > 120
+		) {
 			//return false;
 			return;
 		}
-		sub_4027D0(0, frame);
+		actorSweepArea(kActorMcCoy, frame);
 		if (Actor_Query_Goal_Number(kActorSteele) == 215) {
-			sub_4027D0(1, frame);
+			actorSweepArea(kActorSteele, frame);
 		}
 		if (frame == 120) {
-			Actor_Set_Goal_Number(kActorMcCoy, 0);
+			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 			Player_Gains_Control();
 			if (Actor_Query_Goal_Number(kActorSteele) == 215) {
 				Actor_Set_Goal_Number(kActorSteele, 216);
 			}
-			Actor_Set_Goal_Number(kActorDektora, 269);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11PrepareBurning);
 		}
 	}
 	//return true;
@@ -318,15 +329,16 @@ void SceneScriptNR11::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptNR11::PlayerWalkedIn() {
-	if (Actor_Query_Goal_Number(kActorDektora) == 250) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
 		Player_Set_Combat_Mode(true);
 		if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
 			Actor_Set_Goal_Number(kActorSteele, 210);
 		}
 	}
-	if (Game_Flag_Query(632)) {
-		Game_Flag_Reset(632);
-		Game_Flag_Set(634);
+
+	if (Game_Flag_Query(kFlagNR01DektoraFall)) {
+		Game_Flag_Reset(kFlagNR01DektoraFall);
+		Game_Flag_Set(kFlagNR11BurnedUp);
 		Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
 		Actor_Set_At_Waypoint(kActorDektora, 41, 0);
 		Actor_Set_Invisible(kActorMcCoy, false);
@@ -353,7 +365,7 @@ void SceneScriptNR11::PlayerWalkedIn() {
 				Actor_Says(kActorMcCoy, 3810, 16);
 				Actor_Says_With_Pause(kActorSteele, 1730, 0.2f, 14);
 				Actor_Says(kActorSteele, 1740, 15);
-				Actor_Set_Goal_Number(kActorDektora, 599);
+				Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
 				Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
 				Actor_Set_At_Waypoint(kActorDektora, 41, 0);
 				Actor_Set_Goal_Number(kActorSteele, 275);
@@ -372,7 +384,7 @@ void SceneScriptNR11::PlayerWalkedOut() {
 void SceneScriptNR11::DialogueQueueFlushed(int a1) {
 }
 
-void SceneScriptNR11::sub_4027D0(int actorId, signed int frame) {
+void SceneScriptNR11::actorSweepArea(int actorId, signed int frame) {
 	float x;
 	float y;
 	float z;
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index 8bcb839..f107699 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -227,7 +227,7 @@ void SceneScriptUG05::DialogueQueueFlushed(int a1) {
 
 int SceneScriptUG05::getAffectionTowardsActor() {
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-	 && Actor_Query_Goal_Number(kActorDektora) != 599
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
 	) {
 		return kActorDektora;
 	}
diff --git a/engines/bladerunner/script/scene_script.h b/engines/bladerunner/script/scene_script.h
index 0767fee..f866935 100644
--- a/engines/bladerunner/script/scene_script.h
+++ b/engines/bladerunner/script/scene_script.h
@@ -349,7 +349,7 @@ DECLARE_SCRIPT(NR10)
 END_SCRIPT
 
 DECLARE_SCRIPT(NR11)
-	void sub_4027D0(int actorId, signed int frame);
+	void actorSweepArea(int actorId, signed int frame);
 	void untargetEverything();
 END_SCRIPT
 


Commit: 49d01c3c135633b3951fbf797eb5735db2a9470e
    https://github.com/scummvm/scummvm/commit/49d01c3c135633b3951fbf797eb5735db2a9470e
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-31T21:27:31+01:00

Commit Message:
BLADERUNNER: Cleanup of Dektora chase related scripts

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/ai/clovis.cpp
    engines/bladerunner/script/ai/dektora.cpp
    engines/bladerunner/script/ai/gordo.cpp
    engines/bladerunner/script/ai/izo.cpp
    engines/bladerunner/script/ai/lucy.cpp
    engines/bladerunner/script/ai/mccoy.cpp
    engines/bladerunner/script/ai/steele.cpp
    engines/bladerunner/script/ai/zuben.cpp
    engines/bladerunner/script/ai_script.h
    engines/bladerunner/script/scene/hf01.cpp
    engines/bladerunner/script/scene/hf02.cpp
    engines/bladerunner/script/scene/hf05.cpp
    engines/bladerunner/script/scene/hf06.cpp
    engines/bladerunner/script/scene/hf07.cpp
    engines/bladerunner/script/scene/kp07.cpp
    engines/bladerunner/script/scene/ma04.cpp
    engines/bladerunner/script/scene/nr01.cpp
    engines/bladerunner/script/scene/nr08.cpp
    engines/bladerunner/script/scene/nr10.cpp
    engines/bladerunner/script/scene/nr11.cpp
    engines/bladerunner/script/scene/ps04.cpp
    engines/bladerunner/script/scene/ug05.cpp


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 44a62af..74db6f9 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -989,6 +989,7 @@ enum Flags {
 	kFlagTB07TyrellMeeting = 625,
 	kFlagNR01McCoyIsDrugged = 627,
 	kFlagNR01DektoraFall = 632,
+	kFlagNR11DektoraBurning = 633,
 	kFlagNR11BurnedUp = 634,
 	kFlagNR11SteeleShoot = 635,
 	kFlagNR08Faded = 636,
@@ -1046,18 +1047,26 @@ enum Flags {
 enum Variables {
 	kVariableChapter = 1,
 	kVariableChinyen = 2,
+	// variables 3 - 8 are not used
 	kVariablePoliceMazeScore = 9,
 	kVariablePoliceMazePS10TargetCounter = 10,
 	kVariablePoliceMazePS11TargetCounter = 11,
 	kVariablePoliceMazePS12TargetCounter = 12,
 	kVariablePoliceMazePS13TargetCounter = 13,
 	kVariableMcCoyEvidenceMissed = 14,
+	// variable 15 has no use
+	// variables 16 - 18 are not used
 	kVariableIzoShot = 19, // has no use
+	// variables 20 - 23 are not used
 	kVariableBobShot = 24, // has no use
 	kVariableGeneralDollShot = 25, // has no use
+	// variables 26 - 28 are not used
+
+	// variables 30 - 31 are not used
 	kVariableGenericWalkerAModel = 32,
 	kVariableGenericWalkerBModel = 33,
 	kVariableGenericWalkerCModel = 34,
+
 	kVariableBB10ShelvesAvailable = 36,
 	kVariableWalkLoopActor = 37,
 	kVariableWalkLoopRun = 38,
@@ -1069,7 +1078,9 @@ enum Variables {
 	kVariableHanoiNR04Warnings = 44,
 	kVariableAffectionTowards = 45, // 0 none, 1 steele, 2 dektora, 3 lucy
 	kVariableGunPulledInFrontOfSebastian = 46,
+	kVariableNR01GetUpCounter = 47,
 	kVariableDNAEvidences = 48,
+
 	kVariableTaffyLewisMusic = 50,
 	kVariableReplicants = 51,
 	kVariableNextTvNews = 52,
@@ -1592,6 +1603,8 @@ enum GoalMcCoy {
 	kGoalMcCoyNR01LayDrugged = 212,
 	kGoalMcCoyNR04Drink = 220,
 	kGoalMcCoyNR04PassOut = 221,
+
+	kGoalMcCoyNR10Fall = 231,
 	kGoalMcCoyArrested = 500
 };
 
@@ -1622,18 +1635,27 @@ enum GoalSteele {
 	kGoalSteeleWalkAroundRestart = 190,
 	// chapter 3
 	kGoalSteeleStartChapter3 = 205,
+	kGoalSteeleNR11StartWaiting = 210,
+	kGoalSteeleNR11StopWaiting = 211,
+	kGoalSteeleNR11Enter = 212,
+	kGoalSteeleNR11Entered = 213,
+	kGoalSteeleNR11Decide = 214,
+	kGoalSteeleNR11Shoot = 215,
+	kGoalSteeleNR11StopShooting = 216,
 	kGoalSteeleNR01WaitForMcCoy = 230,
 	kGoalSteeleNR01GoToNR08 = 231,
 	kGoalSteeleNR01GoToNR02 = 232,
 	kGoalSteeleNR01GoToHF03 = 233,
 	kGoalSteeleHF03McCoyChasingLucy = 234,
+	kGoalSteeleNR08WalkOut = 235,
+	kGoalSteeleNR10Wait = 236,
 	kGoalSteeleHF02ConfrontLucy = 240,
 	kGoalSteeleHF02ShootLucy = 241,
 	kGoalSteeleHF02LucyShotBySteele = 242,
 	kGoalSteeleHF02LucyRanAway = 243,
 	kGoalSteeleHF02LucyShotByMcCoy = 244,
 	kGoalSteeleHF02LucyLostByMcCoy = 245,
-	kGoalSteeleGoToMcCoysSpinner = 246,
+	kGoalSteeleHFxxGoToSpinner = 246,
 	kGoalSteeleNR01ConfrontGordo = 250,
 	kGoalSteeleNR01TalkToGordo = 251,
 	kGoalSteeleNR01ShootGordo = 252,
@@ -1644,12 +1666,13 @@ enum GoalSteele {
 	kGoalSteeleNR01TalkAboutShotGun = 262,
 	kGoalSteeleNR01ShotByMcCoy = 270,
 	kGoalSteeleNR01PrepareShotByMcCoy = 271,
+	kGoalSteeleNRxxGoToSpinner = 275,
 	kGoalSteeleTalkAboutMissingSpinner = 280,
 	kGoalSteeleImmediatelyStartChapter4 = 285,
 	kGoalSteeleNR01StartChapter4 = 290,
 	kGoalSteeleHF01StartChapter4 = 291,
 
-	kGoalSteeleDead = 599
+	kGoalSteeleGone = 599
 };
 
 enum GoalDektora {
@@ -1679,7 +1702,7 @@ enum GoalDektora {
 	kGoalDektoraNR11RanAway = 290,
 	kGoalDektoraNR07RanAway = 295,
 
-	kGoalDektoraDead = 599
+	kGoalDektoraGone = 599
 };
 
 enum GoalGordo {
@@ -1730,7 +1753,7 @@ enum GoalGordo {
 	kGoalGordoNR01RanAway = 280,
 	kGoalGordoNR01Die = 299,
 
-	kGoalGordoDead = 599
+	kGoalGordoGone = 599
 };
 
 enum GoalGuzza {
@@ -1776,7 +1799,7 @@ enum GoalLucy {
 	kGoalLucyHF04WalkAway = 239,
 	kGoalLucyReturnToHF03 = 250,
 	kGoalLucyHF03RanAway = 299,
-	kGoalLucyDead = 599
+	kGoalLucyGone = 599
 };
 
 enum GoalIzo {
@@ -1797,7 +1820,7 @@ enum GoalIzo {
 	kGoalIzoGoToHC03 = 155,
 	kGoalIzoDieHidden = 198,
 	kGoalIzoDie = 199,
-	kGoalIzoDead = 599
+	kGoalIzoGone = 599
 };
 
 enum GoalSadik {
@@ -1880,7 +1903,7 @@ enum GoalZuben {
 	kGoalZubenCT02PotDodgeCheck = 14,
 	kGoalZubenFled = 20,
 	kGoalZubenMA01AttackMcCoy = 21,
-	kGoalZubenDead = 599
+	kGoalZubenGone = 599
 };
 
 enum GoalOfficerLeary {
diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp
index 312ea08..41d188e 100644
--- a/engines/bladerunner/script/ai/clovis.cpp
+++ b/engines/bladerunner/script/ai/clovis.cpp
@@ -449,7 +449,7 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 
 	case 517:
 		if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorLucy, kSetKP07)) {
-			Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+			Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
 			Global_Variable_Decrement(kVariableReplicants, 1);
 		}
 		if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_In_Set(kActorLuther, kSetKP07)) {
diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index cb07d7b..8ec9740 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -192,7 +192,7 @@ void AIScriptDektora::ReceivedClue(int clueId, int fromActorId) {
 }
 
 void AIScriptDektora::ClickedByPlayer() {
-	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraDead) {
+	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraGone) {
 		Actor_Face_Actor(0, kActorDektora, true);
 		Actor_Says(kActorMcCoy, 8630, 12);
 
@@ -266,7 +266,7 @@ bool AIScriptDektora::ShotAtAndHit() {
 			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeDie);
 			Actor_Start_Speech_Sample(kActorDektora, 980);
 			Delay(2000);
-			Actor_Set_Goal_Number(kActorSteele, 212);
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Enter);
 		} else {
 			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeDie);
 			Delay(2000);
@@ -295,7 +295,7 @@ void AIScriptDektora::Retired(int byActorId) {
 
 	if (Actor_Query_In_Set(kActorDektora, kSetKP07)) {
 		Global_Variable_Decrement(kVariableReplicants, 1);
-		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
 
 		if (Global_Variable_Query(kVariableReplicants) == 0) {
 			Player_Loses_Control();
@@ -313,7 +313,7 @@ void AIScriptDektora::Retired(int byActorId) {
 	}
 
 	if (Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraNR11FallThroughWindow) {
-		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
 	}
 	return; //false;
 
@@ -476,15 +476,15 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 
 	case kGoalDektoraNR11PrepareBurning:
 	case kGoalDektoraNR11BurningGoToMcCoy:
-	case kGoalDektoraDead:
+	case kGoalDektoraGone:
 		break; // return true
 
 	case kGoalDektoraNR11Burning:
-		Game_Flag_Set(633);
+		Game_Flag_Set(kFlagNR11DektoraBurning);
 		Actor_Set_Targetable(kActorDektora, true);
-		Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, 0, 0);
+		Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, false, false, 0);
 		Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
-		if (Actor_Query_Goal_Number(kActorSteele) == 216) {
+		if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11StopShooting) {
 			Actor_Face_Actor(kActorSteele, kActorDektora, true);
 			Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
 			Delay(250);
@@ -517,7 +517,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Force_Stop_Walking(kActorDektora);
 		Actor_Put_In_Set(kActorDektora, kSetNR10);
 		Actor_Set_At_XYZ(kActorDektora, 14.0f, 2.84f, -300.0f, 926);
-		Actor_Set_Goal_Number(kActorMcCoy, 231);
+		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyNR10Fall);
 		_animationState = 36;
 		_animationFrame = 0;
 		break;
@@ -529,7 +529,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 	case 299:
 		Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
 		Actor_Set_At_Waypoint(kActorDektora, 41, 0);
-		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
 		break;
 
 	case 300:
@@ -1080,7 +1080,7 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
 bool AIScriptDektora::ChangeAnimationMode(int mode) {
 	switch (mode) {
 	case kAnimationModeIdle:
-		if (Game_Flag_Query(633)) {
+		if (Game_Flag_Query(kFlagNR11DektoraBurning)) {
 			_animationState = 32;
 			_animationFrame = 0;
 			break;
@@ -1132,11 +1132,11 @@ bool AIScriptDektora::ChangeAnimationMode(int mode) {
 		break;
 
 	case kAnimationModeWalk:
-		if (!Game_Flag_Query(633)) {
+		if (Game_Flag_Query(kFlagNR11DektoraBurning)) {
+			_animationState = 33;
 			_animationFrame = 0;
-			_animationState = 21;
 		} else {
-			_animationState = 33;
+			_animationState = 21;
 			_animationFrame = 0;
 		}
 		break;
@@ -1192,11 +1192,11 @@ bool AIScriptDektora::ChangeAnimationMode(int mode) {
 		break;
 
 	case kAnimationModeCombatWalk:
-		if (!Game_Flag_Query(633)) {
+		if (Game_Flag_Query(kFlagNR11DektoraBurning)) {
+			_animationState = 33;
 			_animationFrame = 0;
-			_animationState = 21;
 		} else {
-			_animationState = 33;
+			_animationState = 21;
 			_animationFrame = 0;
 		}
 		break;
@@ -1267,7 +1267,7 @@ bool AIScriptDektora::ChangeAnimationMode(int mode) {
 		break;
 
 	case 21:
-		if (Game_Flag_Query(633)) {
+		if (Game_Flag_Query(kFlagNR11DektoraBurning)) {
 			_animationState = 34;
 			_animationFrame = 0;
 			break;
diff --git a/engines/bladerunner/script/ai/gordo.cpp b/engines/bladerunner/script/ai/gordo.cpp
index 50dc2c0..742e818 100644
--- a/engines/bladerunner/script/ai/gordo.cpp
+++ b/engines/bladerunner/script/ai/gordo.cpp
@@ -85,7 +85,7 @@ bool AIScriptGordo::Update() {
 		 && Actor_Query_Goal_Number(kActorGordo) != kGoalGordoNR01Arrested
 		) {
 			Actor_Set_Goal_Number(kActorGordo, 300);
-		} else if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDead) {
+		} else if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoGone) {
 			Actor_Put_In_Set(kActorGordo, kSetFreeSlotI);
 			Actor_Set_At_Waypoint(kActorGordo, 41, 0);
 		}
@@ -215,7 +215,7 @@ void AIScriptGordo::ClickedByPlayer() {
 		Actor_Says(kActorMcCoy, 8600, 11);
 		Actor_Face_Actor(kActorGordo, kActorMcCoy, true);
 		Actor_Says(kActorGordo, 1390, 16);
-	} else if (goal == kGoalGordoDead) {
+	} else if (goal == kGoalGordoGone) {
 		Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
 		Actor_Says(kActorMcCoy, 8665, 14);
 	}
@@ -274,7 +274,7 @@ void AIScriptGordo::Retired(int byActorId) {
 	if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoNR01Attack) {
 		Player_Loses_Control();
 		Game_Flag_Set(kFlagGordoRanAway);
-		Actor_Set_Goal_Number(kActorGordo, kGoalGordoDead);
+		Actor_Set_Goal_Number(kActorGordo, kGoalGordoGone);
 		Delay(2000);
 		Player_Set_Combat_Mode(false);
 		Actor_Voice_Over(1410, kActorVoiceOver);
@@ -289,7 +289,7 @@ void AIScriptGordo::Retired(int byActorId) {
 
 	if (Actor_Query_In_Set(kActorGordo, kSetKP07)) {
 		Global_Variable_Decrement(kVariableReplicants, 1);
-		Actor_Set_Goal_Number(kActorGordo, kGoalGordoDead);
+		Actor_Set_Goal_Number(kActorGordo, kGoalGordoGone);
 		if (Global_Variable_Query(kVariableReplicants) == 0) {
 			Player_Loses_Control();
 			Delay(2000);
@@ -305,7 +305,7 @@ void AIScriptGordo::Retired(int byActorId) {
 		}
 	}
 
-	Actor_Set_Goal_Number(kActorGordo, kGoalGordoDead);
+	Actor_Set_Goal_Number(kActorGordo, kGoalGordoGone);
 	//return false;
 }
 
@@ -695,7 +695,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		} else {
 			Actor_Change_Animation_Mode(kActorGordo, kAnimationModeDie);
 		}
-		Actor_Set_Goal_Number(kActorGordo, kGoalGordoDead);
+		Actor_Set_Goal_Number(kActorGordo, kGoalGordoGone);
 		Actor_Retired_Here(kActorGordo, 36, 18, true, -1);
 		break;
 
diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp
index 8807011..f7bbfce 100644
--- a/engines/bladerunner/script/ai/izo.cpp
+++ b/engines/bladerunner/script/ai/izo.cpp
@@ -60,7 +60,7 @@ bool AIScriptIzo::Update() {
 	}
 
 	if (Global_Variable_Query(kVariableChapter) == 1
-	 && Actor_Query_Goal_Number(kActorIzo) == kGoalIzoDead
+	 && Actor_Query_Goal_Number(kActorIzo) == kGoalIzoGone
 	 && Actor_Query_Which_Set_In(kActorIzo) == kSetRC03
 	) {
 		Actor_Put_In_Set(kActorIzo, kSetFreeSlotI);
@@ -74,7 +74,7 @@ bool AIScriptIzo::Update() {
 	}
 
 	if (Global_Variable_Query(kVariableChapter) == 4
-	 && Actor_Query_Goal_Number(kActorIzo) < kGoalIzoDead
+	 && Actor_Query_Goal_Number(kActorIzo) < kGoalIzoGone
 	 && Actor_Query_Goal_Number(kActorIzo) < 300
 	 && Actor_Query_Goal_Number(kActorIzo) != kGoalIzoGotArrested
 	) {
@@ -239,7 +239,7 @@ void AIScriptIzo::Retired(int byActorId) {
 	}
 
 	Global_Variable_Decrement(kVariableReplicants, 1);
-	Actor_Set_Goal_Number(kActorIzo, kGoalIzoDead);
+	Actor_Set_Goal_Number(kActorIzo, kGoalIzoGone);
 
 	if (Global_Variable_Query(kVariableReplicants) == 0) {
 		Player_Loses_Control();
@@ -434,7 +434,7 @@ bool AIScriptIzo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		return true;
 
 	case 999:
-		Actor_Set_Goal_Number(kActorIzo, kGoalIzoDead);
+		Actor_Set_Goal_Number(kActorIzo, kGoalIzoGone);
 		return true;
 
 	case 9999:
diff --git a/engines/bladerunner/script/ai/lucy.cpp b/engines/bladerunner/script/ai/lucy.cpp
index 04ac251..41e127f 100644
--- a/engines/bladerunner/script/ai/lucy.cpp
+++ b/engines/bladerunner/script/ai/lucy.cpp
@@ -61,7 +61,7 @@ bool AIScriptLucy::Update() {
 	}
 
 	if (Global_Variable_Query(kVariableChapter) == 4
-	 && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGone
 	 && Actor_Query_Which_Set_In(kActorLucy) != 99
 	) {
 		if (Actor_Query_Which_Set_In(kActorLucy) != Player_Query_Current_Set()) {
@@ -212,7 +212,7 @@ void AIScriptLucy::ReceivedClue(int clueId, int fromActorId) {
 }
 
 void AIScriptLucy::ClickedByPlayer() {
-	if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead) {
+	if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGone) {
 		Actor_Face_Actor(kActorMcCoy, kActorLucy, true);
 		Actor_Says(kActorMcCoy, 8630, kAnimationModeTalk);
 	}
@@ -265,7 +265,7 @@ void AIScriptLucy::Retired(int byActorId) {
 		Global_Variable_Increment(kVariableChinyen, 200);
 	}
 
-	Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+	Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
 }
 
 int AIScriptLucy::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueId) {
@@ -470,7 +470,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 
 	case 240: // not used anywhere
 		if (Global_Variable_Query(kVariableHollowayArrest) == 3) {
-			Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+			Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
 			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02ConfrontLucy);
 		} else {
 			Actor_Set_Goal_Number(kActorLucy, kGoalLucyHF03RanAway);
@@ -509,7 +509,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorLucy);
 		break;
 
-	case kGoalLucyDead:
+	case kGoalLucyGone:
 		Game_Flag_Set(kFlagLucyRanAway);
 		break;
 	}
@@ -828,7 +828,7 @@ void AIScriptLucy::FledCombat() {
 	) {
 		Actor_Put_In_Set(kActorLucy, kSetFreeSlotG);
 		Actor_Set_At_Waypoint(kActorLucy, 39, 0);
-		Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+		Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
 	}
 
 	return; //true;
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index a6277e9..7edb639 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -34,10 +34,10 @@ AIScriptMcCoy::AIScriptMcCoy(BladeRunnerEngine *vm) : AIScriptBase(vm) {
 	_animationStateNextSpecial = 0;
 	_animationNextSpecial = 0;
 	dword_45A0F8 = 0;
-	dword_45A0FC = 0;
-	off_45A100 = 0.0f;
-	flt_462710 = 0.0f;
-	flt_462714 = 0.0f;
+	_NR10SteeleShooting = false;
+	_fallSpeed = 0.0f;
+	_fallHeightCurrent = 0.0f;
+	_fallHeightTarget = 0.0f;
 }
 
 void AIScriptMcCoy::Initialize() {
@@ -52,8 +52,8 @@ void AIScriptMcCoy::Initialize() {
 	_animationStateNextSpecial = 3;
 	_animationNextSpecial = 20;
 	dword_45A0F8 = -1;
-	dword_45A0FC = 0;
-	off_45A100 = 0;
+	_NR10SteeleShooting = false;
+	_fallSpeed = 0;
 	Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 }
 
@@ -93,10 +93,10 @@ bool AIScriptMcCoy::Update() {
 		return true;
 
 	case kGoalMcCoyNR01LayDrugged:
-		if (Global_Variable_Query(47) >= 13) {
-			Global_Variable_Set(47, 500);
-		} if (Global_Variable_Query(47) > 0) {
-			Global_Variable_Decrement(47, 1);
+		if (Global_Variable_Query(kVariableNR01GetUpCounter) >= 13) {
+			Global_Variable_Set(kVariableNR01GetUpCounter, 500);
+		} if (Global_Variable_Query(kVariableNR01GetUpCounter) > 0) {
+			Global_Variable_Decrement(kVariableNR01GetUpCounter, 1);
 		}
 		break;
 
@@ -105,18 +105,18 @@ bool AIScriptMcCoy::Update() {
 		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04TakeDisk);
 		return true;
 
+	case kGoalMcCoyNR10Fall:
+		fallDown();
+		break;
+
 	case 309:
-		sub_4053E0();
+		fallDown();
 		break;
 
 	case 391:
 		Actor_Retired_Here(kActorMcCoy, 12, 48, 1, -1);
 		Actor_Set_Goal_Number(kActorMcCoy, 599);
 		break;
-
-	case 231:
-		sub_4053E0();
-		break;
 	}
 	return false;
 }
@@ -270,10 +270,10 @@ bool AIScriptMcCoy::ShotAtAndHit() {
 void AIScriptMcCoy::Retired(int byActorId) {
 	if (byActorId == kActorSteele && Actor_Query_In_Set(kActorSteele, kSetHF06)) {
 		if (Actor_Query_In_Set(kActorDektora, kSetHF06)
-		 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead) {
+		 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone) {
 			Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorDektora, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 		} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
-		        && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+		        && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 		) {
 			Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorLucy, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 		}
@@ -282,7 +282,7 @@ void AIScriptMcCoy::Retired(int byActorId) {
 	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
 	 && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05)
 	 && Actor_Query_In_Set(kActorDektora, kSetHF05)
-	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 	) {
 		Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, kActorCombatStateUncover, true, kActorDektora, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 	}
@@ -290,7 +290,7 @@ void AIScriptMcCoy::Retired(int byActorId) {
 	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
 	 && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05)
 	 && Actor_Query_In_Set(kActorDektora, kSetHF05)
-	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 	) {
 		Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorDektora, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 	}
@@ -298,7 +298,7 @@ void AIScriptMcCoy::Retired(int byActorId) {
 	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
 	 && Actor_Query_In_Set(kActorOfficerLeary, kSetHF05)
 	 && Actor_Query_In_Set(kActorLucy, kSetHF05)
-	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 	) {
 		Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, kActorCombatStateUncover, true, kActorLucy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 	}
@@ -306,7 +306,7 @@ void AIScriptMcCoy::Retired(int byActorId) {
 	if (Actor_Query_In_Set(kActorMcCoy, kSetHF05)
 	 && Actor_Query_In_Set(kActorOfficerGrayford, kSetHF05)
 	 && Actor_Query_In_Set(kActorLucy, kSetHF05)
-	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 	) {
 		Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorLucy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
 	}
@@ -379,7 +379,7 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		return true;
 
 	case kGoalMcCoyNR01LayDrugged:
-		Global_Variable_Set(47, 0);
+		Global_Variable_Set(kVariableNR01GetUpCounter, 0);
 		Player_Set_Combat_Mode_Access(false);
 		Player_Gains_Control();
 		Scene_Exits_Disable();
@@ -392,11 +392,11 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		return true;
 
 	case 230:
-		dword_45A0FC = Actor_Query_Goal_Number(kActorSteele) == 215;
+		_NR10SteeleShooting = Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Shoot;
 		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatAttack);
 		return true;
 
-	case 231:
+	case kGoalMcCoyNR10Fall:
 		Player_Set_Combat_Mode(false);
 		Preload(18);
 		Set_Enter(kSetNR10, kSceneNR10);
@@ -404,12 +404,12 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Force_Stop_Walking(kActorMcCoy);
 		Actor_Put_In_Set(kActorMcCoy, kSetNR10);
 		Actor_Set_At_XYZ(kActorMcCoy, 14.0f, 110.84f, -300.0f, 926);
-		Actor_Change_Animation_Mode(kActorMcCoy, 48);
+		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
 		_animationState = 27;
 		_animationFrame = 0;
-		flt_462714 = 2.84f;
-		flt_462710 = 110.84f;
-		off_45A100 = -6.0f;
+		_fallHeightTarget = 2.84f;
+		_fallHeightCurrent = 110.84f;
+		_fallSpeed = -6.0f;
 		return true;
 
 	case 301:
@@ -468,9 +468,9 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 	case 390:
 		Actor_Force_Stop_Walking(kActorMcCoy);
 		Player_Loses_Control();
-		flt_462710 = 48.07f;
-		off_45A100 = -4.0f;
-		flt_462714 = -20.0f;
+		_fallHeightCurrent = 48.07f;
+		_fallSpeed = -4.0f;
+		_fallHeightTarget = -20.0f;
 		if (_animationState != 27 && _animationState != 50) {
 			_animationState = 50;
 			_animationFrame = Slice_Animation_Query_Number_Of_Frames(18) - 1;
@@ -567,7 +567,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 		break;
 	case 68:
 		*animation = 18;
-		v7 = Slice_Animation_Query_Number_Of_Frames(*animation) - 1 - Global_Variable_Query(47);
+		v7 = Slice_Animation_Query_Number_Of_Frames(*animation) - 1 - Global_Variable_Query(kVariableNR01GetUpCounter);
 		if (_animationFrame < v7) {
 			_animationFrame++;
 		} else if (_animationFrame > v7) {
@@ -1069,7 +1069,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 		_animationFrame++;
 		if (_animationFrame == 1
 		 && Actor_Query_Goal_Number(kActorMcCoy) == 230
-		 && dword_45A0FC == 1
+		 && _NR10SteeleShooting
 		) {
 			dword_45A0F8 = 27;
 		}
@@ -1080,7 +1080,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
 			if (Actor_Query_Goal_Number(kActorMcCoy) == 230) {
 				_animationFrame = 0;
 				_animationState = 21;
-				dword_45A0FC = 1;
+				_NR10SteeleShooting = true;
 				*animation = 12;
 			}
 		}
@@ -1776,18 +1776,18 @@ bool AIScriptMcCoy::ReachedMovementTrackWaypoint(int waypointId) {
 
 void AIScriptMcCoy::FledCombat() {}
 
-void AIScriptMcCoy::sub_4053E0() {
+void AIScriptMcCoy::fallDown() {
 	float x, y, z;
 	Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
-	flt_462710 = flt_462710 + off_45A100;
-	if (flt_462714 < flt_462710) {
-		off_45A100 = off_45A100 - 0.2f;
+	_fallHeightCurrent = _fallHeightCurrent + _fallSpeed;
+	if (_fallHeightTarget < _fallHeightCurrent) {
+		_fallSpeed = _fallSpeed - 0.2f;
 	} else {
-		flt_462710 = flt_462714;
+		_fallHeightCurrent = _fallHeightTarget;
 		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 		Actor_Retired_Here(kActorMcCoy, 12, 48, true, -1);
 	}
-	return Actor_Set_At_XYZ(kActorMcCoy, x, flt_462710, z, Actor_Query_Facing_1024(kActorMcCoy));
+	return Actor_Set_At_XYZ(kActorMcCoy, x, _fallHeightCurrent, z, Actor_Query_Facing_1024(kActorMcCoy));
 }
 
 void AIScriptMcCoy::sub_4054F0() {
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index 1bcede6..b07a039 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -140,8 +140,8 @@ bool AIScriptSteele::Update() {
 			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR01ShootMcCoy);
 		}
 
-		if (Actor_Query_Goal_Number(kActorSteele) == 213) {
-			Actor_Set_Goal_Number(kActorSteele, 214);
+		if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Entered) {
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Decide);
 			return true;
 		}
 
@@ -178,7 +178,7 @@ bool AIScriptSteele::Update() {
 		break;
 	}
 
-	if ( Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleDead
+	if ( Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleGone
 		&& !Actor_Query_In_Set(kActorSteele, kSetFreeSlotI)
 	) {
 		if (Actor_Query_Which_Set_In(kActorMcCoy) != Actor_Query_Which_Set_In(kActorSteele)) {
@@ -193,13 +193,12 @@ bool AIScriptSteele::Update() {
 
 void AIScriptSteele::TimerExpired(int timer) {
 	if (timer == 0
-	 && Actor_Query_Goal_Number(kActorSteele) == 210
-	 && Player_Query_Current_Scene() == kSceneNR11
+	 && Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11StartWaiting
 	) {
 		if (Player_Query_Current_Scene() == kSceneNR11) {
-			Actor_Set_Goal_Number(kActorSteele, 212);
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Enter);
 		} else {
-			Actor_Set_Goal_Number(kActorSteele, 211);
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopWaiting);
 		}
 		return; // true;
 	}
@@ -355,7 +354,7 @@ void AIScriptSteele::ReceivedClue(int clueId, int fromActorId) {
 void AIScriptSteele::ClickedByPlayer() {
 	int goal = Actor_Query_Goal_Number(kActorSteele);
 
-	if (goal == kGoalSteeleDead) {
+	if (goal == kGoalSteeleGone) {
 		Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
 		Actor_Says(kActorMcCoy, 8630, 14);
 		return; //true;
@@ -444,7 +443,7 @@ void AIScriptSteele::EnteredScene(int sceneId) {
 		}
 	}
 
-	if ( Actor_Query_Goal_Number(kActorSteele) == 5
+	if ( Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleGoToCT01
 	 &&  Actor_Query_In_Set(kActorSteele, kSetCT03_CT04)
 	 &&  Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
 	 && !Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
@@ -495,9 +494,9 @@ void AIScriptSteele::Retired(int byActorId) {
 		Game_Flag_Set(484);
 	}
 
-	if (Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleDead) {
+	if (Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleGone) {
 		Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatDie);
-		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDead);
+		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGone);
 	}
 }
 
@@ -556,7 +555,7 @@ double AIScriptSteele::comp_distance(int actorId, float a5, float a6, int a1, fl
 }
 
 bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
-	if (currentGoalNumber == kGoalSteeleDead) {
+	if (currentGoalNumber == kGoalSteeleGone) {
 		return false;
 	}
 
@@ -607,7 +606,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 
 	case kGoalSteeleGoToFreeSlotG2:
 		AI_Movement_Track_Flush(kActorSteele);
-		Game_Flag_Set(185);
+		Game_Flag_Set(kFlagSteeleInPoliceStation);
 		Game_Flag_Reset(kFlagSteeleInChinaTown);
 		AI_Movement_Track_Append(kActorSteele, 39, 45);
 		AI_Movement_Track_Repeat(kActorSteele);
@@ -631,7 +630,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 
 	case kGoalSteeleGoToFreeSlotG3:
 		AI_Movement_Track_Flush(kActorSteele);
-		Game_Flag_Reset(185);
+		Game_Flag_Reset(kFlagSteeleInPoliceStation);
 		AI_Movement_Track_Append(kActorSteele, 39, 30);
 		AI_Movement_Track_Repeat(kActorSteele);
 		return true;
@@ -807,7 +806,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Force_Stop_Walking(kActorMcCoy);
 		Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03RunAway);
 		Actor_Says(kActorSteele, 1940, kAnimationModeTalk);
-		Loop_Actor_Walk_To_Actor(kActorSteele, 0, 60, false, true);
+		Loop_Actor_Walk_To_Actor(kActorSteele, kActorMcCoy, 60, false, true);
 		Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
 		Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
 		Actor_Says(kActorSteele, 1950, kAnimationModeTalk);
@@ -852,23 +851,23 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Set_At_Waypoint(kActorSteele, 35, 0);
 		return true;
 
-	case 210:
+	case kGoalSteeleNR11StartWaiting:
 		AI_Countdown_Timer_Reset(kActorSteele, 0);
 		AI_Countdown_Timer_Start(kActorSteele, 0, 15);
 		return true;
 
-	case 211:
+	case kGoalSteeleNR11StopWaiting:
 		AI_Countdown_Timer_Reset(kActorSteele, 0);
 		return true;
 
-	case 212:
+	case kGoalSteeleNR11Enter:
 		if (comp_distance(kActorMcCoy, -4.0, 0.33f, 0.0f, 100.0f, 0.33f, -4.0f) < 48.0f) {
-			Loop_Actor_Walk_To_XYZ(0, 32.0f, 0.33f, 17.0f, 0, 0, 0, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 32.0f, 0.33f, 17.0f, 0, false, false, 0);
 		}
 		AI_Countdown_Timer_Reset(kActorSteele, 0);
 		Player_Loses_Control();
 		if (Actor_Query_Goal_Number(kActorDektora) == kGoalSteeleNR01ConfrontGordo) {
-			Async_Actor_Walk_To_XYZ(kActorMcCoy, -15.53f, 0.33f, 73.49f, 0, 0);
+			Async_Actor_Walk_To_XYZ(kActorMcCoy, -15.53f, 0.33f, 73.49f, 0, false);
 		}
 		Actor_Put_In_Set(kActorSteele, kSetNR11);
 		Actor_Set_At_XYZ(kActorSteele, 100.0f, -51.56f, 0.0, 0);
@@ -876,37 +875,39 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		_animationFrame = 0;
 		return true;
 
-	case 213:
+	case kGoalSteeleNR11Entered:
 	case 216:
-	case 271:
+	case kGoalSteeleNR01PrepareShotByMcCoy:
 		return true;
 
-	case 214:
+	case kGoalSteeleNR11Decide:
 		Player_Gains_Control();
 		switch (Actor_Query_Goal_Number(kActorDektora)) {
-		case 250:
-			Actor_Face_Heading(kActorMcCoy, 954, 0);
+		case kGoalDektoraNR11Hiding:
+			Actor_Face_Heading(kActorMcCoy, 954, false);
 			Actor_Change_Animation_Mode(kActorSteele, 4);
 			Delay(2000);
 			Actor_Says(kActorSteele, 1700, 58);
 			Actor_Says(kActorMcCoy, 3800, 3);
 			Actor_Says(kActorSteele, 1710, 59);
-			Actor_Set_Goal_Number(kActorSteele, 215);
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Shoot);
 			break;
-		case 260:
-			Actor_Face_Actor(kActorSteele, kActorDektora, 1);
+
+		case kGoalDektoraNR11WalkAway:
+			Actor_Face_Actor(kActorSteele, kActorDektora, true);
 			Actor_Says(kActorSteele, 1790, 3);
-			Actor_Face_Actor(kActorMcCoy, kActorSteele, 1);
-			Actor_Face_Actor(kActorSteele, kActorMcCoy, 1);
+			Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
+			Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
 			Actor_Says(kActorMcCoy, 3830, 17);
 			Actor_Says(kActorSteele, 1800, 17);
 			Actor_Says(kActorMcCoy, 3835, 18);
 			Actor_Says(kActorSteele, 1810, 16);
 			Game_Flag_Set(kFlagDektoraRanAway);
-			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
-			Actor_Set_Goal_Number(kActorSteele, 275);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNRxxGoToSpinner);
 			break;
-		case 274:
+
+		case kGoalDektoraNR11FallThroughWindow:
 			Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, 6);
 			Actor_Says(kActorSteele, 1750, 12);
 			Actor_Says(kActorMcCoy, 3815, 19);
@@ -916,12 +917,12 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			Actor_Says(kActorSteele, 1780, 15);
 			Actor_Says(kActorMcCoy, 3825, 14);
 			Game_Flag_Set(kFlagDektoraRanAway);
-			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
-			Actor_Set_Goal_Number(kActorSteele, 275);
+			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNRxxGoToSpinner);
 		}
 		return true;
 
-	case 215:
+	case kGoalSteeleNR11Shoot:
 		Game_Flag_Set(kFlagNR11SteeleShoot);
 		Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
 		Scene_Exits_Disable();
@@ -962,14 +963,14 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		AI_Movement_Track_Repeat(kActorSteele);
 		return true;
 
-	case 235:
+	case kGoalSteeleNR08WalkOut:
 		AI_Movement_Track_Flush(kActorSteele);
 		AI_Movement_Track_Append_Run(kActorSteele, 467, 0);
 		AI_Movement_Track_Append(kActorSteele, 35, 0);
 		AI_Movement_Track_Repeat(kActorSteele);
 		return true;
 
-	case 236:
+	case kGoalSteeleNR10Wait:
 		Actor_Put_In_Set(kActorSteele, kSetNR10);
 		Actor_Set_At_XYZ(kActorSteele, -118.13f, 2.84f, -197.90f, 305);
 		return true;
@@ -1051,7 +1052,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Says(kActorSteele, 100, 13);
 		Actor_Says(kActorMcCoy, 1575, 13);
 		Actor_Says(kActorSteele, 120, 15);
-		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGoToMcCoysSpinner);
+		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHFxxGoToSpinner);
 		return true;
 
 	case kGoalSteeleHF02LucyLostByMcCoy:
@@ -1065,10 +1066,10 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Says(kActorSteele, 180, 17);
 		Actor_Says(kActorMcCoy, 1590, 17);
 		Actor_Says(kActorSteele, 200, 15);
-		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGoToMcCoysSpinner);
+		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHFxxGoToSpinner);
 		return true;
 
-	case kGoalSteeleGoToMcCoysSpinner:
+	case kGoalSteeleHFxxGoToSpinner:
 		Actor_Says(kActorSteele, 130, 13);
 		Actor_Says(kActorSteele, 140, 13);
 
@@ -1225,7 +1226,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyArrested);
 		return true;
 
-	case 275:
+	case kGoalSteeleNRxxGoToSpinner:
 		Delay(500);
 		Game_Flag_Set(kFlagSpinnerMissing);
 		Player_Gains_Control();
@@ -1388,7 +1389,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 	case 419:
 		Actor_Set_Targetable(kActorSteele, false);
 		Game_Flag_Set(kFlagSteeleDead);
-		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDead);
+		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGone);
 		Actor_Retired_Here(kActorSteele, 60, 12, true, -1);
 		return true;
 
@@ -1572,8 +1573,8 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
 			*animation = 74;
 			_animationFrame = 0;
 			_animationState = 0;
-			if (Actor_Query_Goal_Number(kActorSteele) == 212) {
-				Actor_Set_Goal_Number(kActorSteele, 213);
+			if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Enter) {
+				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Entered);
 			}
 		}
 		break;
@@ -1758,7 +1759,7 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {
 			_animationState = 23;
 			*animation = 54;
 			Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle);
-			if (Actor_Query_Goal_Number(kActorSteele) == 215) {
+			if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Shoot) {
 				Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatAttack);
 				_animationState = 26;
 				_animationFrame = 0;
diff --git a/engines/bladerunner/script/ai/zuben.cpp b/engines/bladerunner/script/ai/zuben.cpp
index eb7de88..1cc2a54 100644
--- a/engines/bladerunner/script/ai/zuben.cpp
+++ b/engines/bladerunner/script/ai/zuben.cpp
@@ -46,7 +46,7 @@ void AIScriptZuben::Initialize() {
 }
 
 bool AIScriptZuben::Update() {
-	if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDead
+	if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenGone
 	 && Actor_Query_Which_Set_In(kActorZuben) != kSetFreeSlotI
 	 && Actor_Query_Which_Set_In(kActorZuben) != Player_Query_Current_Set()
 	) {
@@ -174,7 +174,7 @@ void AIScriptZuben::CompletedMovementTrack() {
 			Music_Stop(2);
 			Sound_Play(574, 40, 100, 100, 50);
 			Delay(2000);
-			Game_Flag_Set(144);
+			Game_Flag_Set(kFlagCT07toCT06);
 			Game_Flag_Set(kFlagZubenSpared);
 			Game_Flag_Set(kFlagCT01ZubenGone);
 			Actor_Set_Goal_Number(kActorZuben, kGoalZubenSpared);
@@ -203,7 +203,7 @@ void AIScriptZuben::ReceivedClue(int clueId, int fromActorId) {
 }
 
 void AIScriptZuben::ClickedByPlayer() {
-	if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDead) {
+	if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenGone) {
 		if (Player_Query_Current_Scene() == kSceneCT06) {
 			// return true;
 			return;
@@ -289,7 +289,7 @@ void AIScriptZuben::Retired(int byActorId) {
 		return;
 	}
 	Global_Variable_Decrement(kVariableReplicants, 1);
-	Actor_Set_Goal_Number(kActorZuben, kGoalZubenDead);
+	Actor_Set_Goal_Number(kActorZuben, kGoalZubenGone);
 	if (Global_Variable_Query(kVariableReplicants) == 0) {
 		Player_Loses_Control();
 		Delay(2000);
@@ -372,7 +372,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 			Player_Set_Combat_Mode(false);
 			Actor_Set_Goal_Number(kActorGaff, kGoalGaffMA01ApproachMcCoy);
 		}
-		Actor_Set_Goal_Number(kActorZuben, kGoalZubenDead);
+		Actor_Set_Goal_Number(kActorZuben, kGoalZubenGone);
 		return false;
 
 	case kGoalZubenCT02PushPot:
@@ -1175,7 +1175,7 @@ void AIScriptZuben::FledCombat() {
 void AIScriptZuben::dialogue() {
 	Dialogue_Menu_Clear_List();
 	DM_Add_To_List_Never_Repeat_Once_Selected(1490, 5, 5, -1);
-	if (Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead) {
+	if (Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone) {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1500, 5, 5, 5);
 	}
 	DM_Add_To_List_Never_Repeat_Once_Selected(1510, -1, 5, 5);
diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h
index f0f0c95..de09f87 100644
--- a/engines/bladerunner/script/ai_script.h
+++ b/engines/bladerunner/script/ai_script.h
@@ -105,12 +105,12 @@ DECLARE_SCRIPT(McCoy)
 	int _animationStateNextSpecial;
 	int _animationNextSpecial;
 	int dword_45A0F8;
-	int dword_45A0FC;
-	float off_45A100;
-	float flt_462710;
-	float flt_462714;
+	bool _NR10SteeleShooting;
+	float _fallSpeed;
+	float _fallHeightCurrent;
+	float _fallHeightTarget;
 
-	void sub_4053E0();
+	void fallDown();
 	void sub_4054F0();
 	void sub_405660();
 	void sub_405800();
diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp
index b466794..c0e5530 100644
--- a/engines/bladerunner/script/scene/hf01.cpp
+++ b/engines/bladerunner/script/scene/hf01.cpp
@@ -344,14 +344,14 @@ void SceneScriptHF01::PlayerWalkedIn() {
 	) {
 		if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallLucy1)
 		 && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
-		 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+		 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 		) {
 			Actor_Put_In_Set(kActorLucy, kSetHF01);
 			Actor_Set_At_XYZ(kActorLucy, -5.0f, 8.0f, -622.0f, 419);
 			Actor_Set_Targetable(kActorLucy, true);
 		} else if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallDektora1)
 		        && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-		        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+		        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 		) {
 			Actor_Put_In_Set(kActorDektora, kSetHF01);
 			Actor_Set_At_XYZ(kActorDektora, -5.0f, 8.0f, -622.0f, 419);
@@ -421,13 +421,13 @@ void SceneScriptHF01::PlayerWalkedOut() {
 	if (Actor_Query_Goal_Number(kActorLucy) == 450) {
 		Actor_Put_In_Set(kActorLucy, kSetFreeSlotG);
 		Actor_Set_At_Waypoint(kActorLucy, 39, 0);
-		Actor_Set_Goal_Number(kActorLucy, kGoalLucyDead);
+		Actor_Set_Goal_Number(kActorLucy, kGoalLucyGone);
 	}
 
 	if (Actor_Query_Goal_Number(kActorDektora) == 450) {
 		Actor_Put_In_Set(kActorDektora, kSetFreeSlotG);
 		Actor_Set_At_Waypoint(kActorDektora, 39, 0);
-		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
 	}
 }
 
diff --git a/engines/bladerunner/script/scene/hf02.cpp b/engines/bladerunner/script/scene/hf02.cpp
index c3d3b5a..a4be759 100644
--- a/engines/bladerunner/script/scene/hf02.cpp
+++ b/engines/bladerunner/script/scene/hf02.cpp
@@ -132,7 +132,7 @@ void SceneScriptHF02::PlayerWalkedIn() {
 	}
 
 	if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleHF02LucyRanAway) {
-		if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead) {
+		if (Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGone) {
 			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02LucyShotByMcCoy);
 		} else {
 			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleHF02LucyLostByMcCoy);
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index 3f94212..e5afa3c 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -384,7 +384,7 @@ void SceneScriptHF05::dialogueWithCrazylegs1() {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1200, 5, 5, 3); // WOMAN'S PHOTO
 	}
 	if (Actor_Clue_Query(kActorMcCoy, kClueLucy)
-	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 	) {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1210, 4, 6, 2); // LUCY'S PHOTO
 	}
@@ -560,12 +560,12 @@ void SceneScriptHF05::dialogueWithCrazylegs2() { // cut feature? it is impossibl
 
 int SceneScriptHF05::getAffectionTowardsActor() {
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 	) {
 		return kActorDektora;
 	}
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
-	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 	) {
 		return kActorLucy;
 	}
@@ -744,13 +744,13 @@ void SceneScriptHF05::addAmbientSounds() {
 
 int SceneScriptHF05::sub_4048C0() {
 	if (Actor_Query_In_Set(kActorDektora, kSetHF05)
-	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 	) {
 		return kActorDektora;
 	}
 
 	if (Actor_Query_In_Set(kActorLucy, kSetHF05)
-	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 	) {
 		return kActorLucy;
 	}
diff --git a/engines/bladerunner/script/scene/hf06.cpp b/engines/bladerunner/script/scene/hf06.cpp
index c89d82b..83d96a5 100644
--- a/engines/bladerunner/script/scene/hf06.cpp
+++ b/engines/bladerunner/script/scene/hf06.cpp
@@ -71,13 +71,13 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.33f, 367.93f, 399.0f, 0, true, false, 0)) {
 			Actor_Face_Heading(kActorMcCoy, 486, true);
 			if (Actor_Query_In_Set(kActorDektora, kSetHF06)
-			 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+			 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 			) {
 				Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
 				Actor_Says(kActorDektora, 210, 12);
 				Actor_Says(kActorMcCoy, 2125, 12);
 			} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
-			        && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+			        && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 			) {
 				Actor_Face_Actor(kActorLucy, kActorMcCoy, true);
 				Actor_Says(kActorLucy, 490, 18);
@@ -111,7 +111,7 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
 
 bool SceneScriptHF06::ClickedOnActor(int actorId) {
 	if (actorId == kActorLucy
-	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 	) {
 		Actor_Face_Actor(kActorLucy, kActorMcCoy, true);
 		Actor_Face_Actor(kActorMcCoy, kActorLucy, true);
@@ -120,7 +120,7 @@ bool SceneScriptHF06::ClickedOnActor(int actorId) {
 			Actor_Says(kActorMcCoy, 2115, 17);
 		}
 	} else if (actorId == kActorDektora
-	        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 	) {
 		Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
 		Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
@@ -171,11 +171,11 @@ void SceneScriptHF06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 		int otherActorId = -1;
 		if (Actor_Query_In_Set(kActorDektora, kSetHF06)
-		 && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraDead
+		 && Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraGone
 		) {
 			otherActorId = kActorDektora;
 		} else if (Actor_Query_In_Set(kActorLucy, kSetHF06)
-		        && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyDead
+		        && Actor_Query_Goal_Number(kActorLucy) == kGoalLucyGone
 		) {
 			otherActorId = kActorLucy;
 		}
@@ -211,11 +211,11 @@ void SceneScriptHF06::PlayerWalkedIn() {
 	if (Game_Flag_Query(662)) {
 		int actorId = -1;
 		if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
-		 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+		 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 		) {
 			actorId = kActorLucy;
 		} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-		        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+		        && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 		) {
 			actorId = kActorDektora;
 		}
diff --git a/engines/bladerunner/script/scene/hf07.cpp b/engines/bladerunner/script/scene/hf07.cpp
index 12593ed..11593fb 100644
--- a/engines/bladerunner/script/scene/hf07.cpp
+++ b/engines/bladerunner/script/scene/hf07.cpp
@@ -143,12 +143,12 @@ void SceneScriptHF07::DialogueQueueFlushed(int a1) {
 
 int SceneScriptHF07::getAffectionTowardsActor() {
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 	) {
 		return kActorDektora;
 	}
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
-	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 	) {
 		return kActorLucy;
 	}
diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp
index 972a18b..486120f 100644
--- a/engines/bladerunner/script/scene/kp07.cpp
+++ b/engines/bladerunner/script/scene/kp07.cpp
@@ -30,7 +30,7 @@ void SceneScriptKP07::InitializeScene() {
 	Scene_Exit_Add_2D_Exit(0, 315, 185, 381, 285, 0);
 	if (Game_Flag_Query(653)) {
 		if (Game_Flag_Query(kFlagDektoraIsReplicant)
-		 && Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraDead
+		 && Actor_Query_Goal_Number(kActorDektora) < kGoalDektoraGone
 		) {
 			Actor_Set_Targetable(kActorDektora, true);
 			Global_Variable_Increment(kVariableReplicants, 1);
@@ -38,7 +38,7 @@ void SceneScriptKP07::InitializeScene() {
 			Actor_Set_At_XYZ(kActorDektora, -52.0f, -41.52f, -5.0f, 289);
 		}
 
-		if (Actor_Query_Goal_Number(kActorZuben) < kGoalZubenDead) {
+		if (Actor_Query_Goal_Number(kActorZuben) < kGoalZubenGone) {
 			Global_Variable_Increment(kVariableReplicants, 1);
 			Actor_Set_Targetable(kActorZuben, true);
 			Actor_Put_In_Set(kActorZuben, kSetKP07);
@@ -55,7 +55,7 @@ void SceneScriptKP07::InitializeScene() {
 		}
 
 		if (Game_Flag_Query(kFlagGordoIsReplicant)
-		 && Actor_Query_Goal_Number(kActorGordo) < kGoalGordoDead
+		 && Actor_Query_Goal_Number(kActorGordo) < kGoalGordoGone
 		) {
 			Global_Variable_Increment(kVariableReplicants, 1);
 			Actor_Set_Targetable(kActorGordo, true);
@@ -64,7 +64,7 @@ void SceneScriptKP07::InitializeScene() {
 		}
 
 		if (Game_Flag_Query(kFlagLucyIsReplicant)
-		 && Actor_Query_Goal_Number(kActorLucy) < kGoalLucyDead
+		 && Actor_Query_Goal_Number(kActorLucy) < kGoalLucyGone
 		) {
 			Global_Variable_Increment(kVariableReplicants, 1);
 			Actor_Put_In_Set(kActorLucy, kSetKP07);
diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp
index 6ebdae5..c3c26f6 100644
--- a/engines/bladerunner/script/scene/ma04.cpp
+++ b/engines/bladerunner/script/scene/ma04.cpp
@@ -564,7 +564,7 @@ void SceneScriptMA04::sleep() {
 		Player_Loses_Control();
 		Game_Flag_Set(kFlagMA04McCoySleeping);
 		if ((Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && Global_Variable_Query(kVariableChapter) == 1) {
-			if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDead) {
+			if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenGone) {
 				Actor_Put_In_Set(kActorZuben, kSetFreeSlotA);
 				Actor_Set_At_Waypoint(kActorZuben, 33, 0);
 			}
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index 6c619ac..b7548d2 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -106,7 +106,7 @@ void SceneScriptNR01::SceneLoaded() {
 
 bool SceneScriptNR01::MouseClick(int x, int y) {
 	if (Actor_Query_Goal_Number(kActorMcCoy) == kGoalMcCoyNR01LayDrugged) {
-		Global_Variable_Increment(47, 4);
+		Global_Variable_Increment(kVariableNR01GetUpCounter, 4);
 		return true;
 	}
 	return false;
diff --git a/engines/bladerunner/script/scene/nr08.cpp b/engines/bladerunner/script/scene/nr08.cpp
index 7070e4d..b2f62f7 100644
--- a/engines/bladerunner/script/scene/nr08.cpp
+++ b/engines/bladerunner/script/scene/nr08.cpp
@@ -221,7 +221,7 @@ void SceneScriptNR08::PlayerWalkedIn() {
 		Actor_Says(kActorSteele, 1670, 13);
 		Actor_Says(kActorSteele, 1680, 14);
 		Actor_Says(kActorSteele, 1690, 15);
-		Actor_Set_Goal_Number(kActorSteele, 235);
+		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR08WalkOut);
 		return; // true;
 	}
 
diff --git a/engines/bladerunner/script/scene/nr10.cpp b/engines/bladerunner/script/scene/nr10.cpp
index 3f745bb..6031952 100644
--- a/engines/bladerunner/script/scene/nr10.cpp
+++ b/engines/bladerunner/script/scene/nr10.cpp
@@ -155,7 +155,7 @@ void SceneScriptNR10::PlayerWalkedIn() {
 		return;
 	}
 
-	if (Actor_Query_Goal_Number(kActorSteele) == 236) {
+	if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR10Wait) {
 		Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
 		Actor_Says(kActorSteele, 150, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
@@ -165,7 +165,7 @@ void SceneScriptNR10::PlayerWalkedIn() {
 		Actor_Says(kActorSteele, 1160, 16);
 		Delay(1000);
 		Actor_Says(kActorSteele, 1290, 14);
-		Actor_Set_Goal_Number(kActorSteele, 275);
+		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNRxxGoToSpinner);
 	}
 	//		return false;
 }
diff --git a/engines/bladerunner/script/scene/nr11.cpp b/engines/bladerunner/script/scene/nr11.cpp
index d0d3ff1..447dfda 100644
--- a/engines/bladerunner/script/scene/nr11.cpp
+++ b/engines/bladerunner/script/scene/nr11.cpp
@@ -139,7 +139,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
 	 || Object_Query_Click("BUST BUST", objectName)
 	) {
 		if (combatMode) {
-			Actor_Set_Goal_Number(kActorSteele, 211);
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopWaiting);
 			Scene_Exits_Disable();
 			untargetEverything();
 			Player_Loses_Control();
@@ -153,7 +153,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
 			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 24.0f, 0.33f, 0.0f, 0, true, false, 0)) {
 				Actor_Face_XYZ(kActorMcCoy, -180.0f, 0.0f, -170.0f, true);
 				untargetEverything();
-				Actor_Set_Goal_Number(kActorSteele, 211);
+				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopWaiting);
 				if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) < 30) {
 					Actor_Set_At_XYZ(kActorDektora, 0.5f, 0.33f, -162.0f, 0);
 					Loop_Actor_Walk_To_XYZ(kActorDektora, -24.0f, 0.33f, -35.4f, 0, false, true, 0);
@@ -209,7 +209,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
 					Music_Stop(4);
 					Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11WalkAway);
 					if (Global_Variable_Query(kVariableHollowayArrest) == 1) {
-						Actor_Set_Goal_Number(kActorSteele, 236);
+						Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR10Wait);
 					}
 					Game_Flag_Set(kFlagDektoraRanAway);
 				}
@@ -310,14 +310,14 @@ void SceneScriptNR11::SceneFrameAdvanced(int frame) {
 			return;
 		}
 		actorSweepArea(kActorMcCoy, frame);
-		if (Actor_Query_Goal_Number(kActorSteele) == 215) {
+		if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Shoot) {
 			actorSweepArea(kActorSteele, frame);
 		}
 		if (frame == 120) {
 			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 			Player_Gains_Control();
-			if (Actor_Query_Goal_Number(kActorSteele) == 215) {
-				Actor_Set_Goal_Number(kActorSteele, 216);
+			if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11Shoot) {
+				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopShooting);
 			}
 			Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR11PrepareBurning);
 		}
@@ -332,7 +332,7 @@ void SceneScriptNR11::PlayerWalkedIn() {
 	if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
 		Player_Set_Combat_Mode(true);
 		if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
-			Actor_Set_Goal_Number(kActorSteele, 210);
+			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StartWaiting);
 		}
 	}
 
@@ -345,14 +345,14 @@ void SceneScriptNR11::PlayerWalkedIn() {
 		Player_Set_Combat_Mode(false);
 		Player_Gains_Control();
 		if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
-			if (Actor_Query_Goal_Number(kActorSteele) == 211) {
+			if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11StopWaiting) {
 				Actor_Set_At_XYZ(kActorMcCoy, -37.41f, 0.33f, -86.0f, 26);
 				Delay(500);
 				Actor_Face_Current_Camera(kActorMcCoy, true);
 				Delay(750);
 				Actor_Says(kActorMcCoy, 5290, 12);
 				Delay(1000);
-				Actor_Set_Goal_Number(kActorSteele, 212);
+				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11Enter);
 				Actor_Face_Actor(kActorMcCoy, kActorSteele, true);
 			} else {
 				Actor_Set_At_XYZ(kActorMcCoy, -15.53f, 0.33f, 73.49f, 954);
@@ -365,10 +365,10 @@ void SceneScriptNR11::PlayerWalkedIn() {
 				Actor_Says(kActorMcCoy, 3810, 16);
 				Actor_Says_With_Pause(kActorSteele, 1730, 0.2f, 14);
 				Actor_Says(kActorSteele, 1740, 15);
-				Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDead);
+				Actor_Set_Goal_Number(kActorDektora, kGoalDektoraGone);
 				Actor_Put_In_Set(kActorDektora, kSetFreeSlotI);
 				Actor_Set_At_Waypoint(kActorDektora, 41, 0);
-				Actor_Set_Goal_Number(kActorSteele, 275);
+				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNRxxGoToSpinner);
 			}
 		} else {
 			Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyArrested);
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index d5eda1f..10f26d2 100644
--- a/engines/bladerunner/script/scene/ps04.cpp
+++ b/engines/bladerunner/script/scene/ps04.cpp
@@ -186,7 +186,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
 		Actor_Says(kActorMcCoy, 4065, 18);
 		Actor_Says(kActorGuzza, 560, 34);
 		if (Query_Difficulty_Level() != 0) {
-			Global_Variable_Increment(2, 100);
+			Global_Variable_Increment(kVariableChinyen, 100);
 		}
 		break;
 
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index f107699..1c7edb5 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -227,12 +227,12 @@ void SceneScriptUG05::DialogueQueueFlushed(int a1) {
 
 int SceneScriptUG05::getAffectionTowardsActor() {
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora
-	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraDead
+	 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
 	) {
 		return kActorDektora;
 	}
 	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy
-	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyDead
+	 && Actor_Query_Goal_Number(kActorLucy) != kGoalLucyGone
 	) {
 		return kActorLucy;
 	}


Commit: 69be53530853e432d7ee6e613614d0def7de0049
    https://github.com/scummvm/scummvm/commit/69be53530853e432d7ee6e613614d0def7de0049
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-01-31T21:27:31+01:00

Commit Message:
BLADERUNNER: Initial cleanup of underground scripts

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/scene/dr06.cpp
    engines/bladerunner/script/scene/kp02.cpp
    engines/bladerunner/script/scene/ma07.cpp
    engines/bladerunner/script/scene/tb03.cpp
    engines/bladerunner/script/scene/ug01.cpp
    engines/bladerunner/script/scene/ug02.cpp
    engines/bladerunner/script/scene/ug04.cpp
    engines/bladerunner/script/scene/ug05.cpp
    engines/bladerunner/script/scene/ug06.cpp
    engines/bladerunner/script/scene/ug07.cpp
    engines/bladerunner/script/scene/ug08.cpp
    engines/bladerunner/script/scene/ug09.cpp
    engines/bladerunner/script/scene/ug10.cpp
    engines/bladerunner/script/scene/ug12.cpp
    engines/bladerunner/script/scene/ug13.cpp
    engines/bladerunner/script/scene/ug14.cpp
    engines/bladerunner/script/scene/ug15.cpp
    engines/bladerunner/script/scene/ug16.cpp
    engines/bladerunner/script/scene/ug17.cpp
    engines/bladerunner/script/scene/ug18.cpp
    engines/bladerunner/script/scene/ug19.cpp


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 74db6f9..8eb4960 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -849,9 +849,22 @@ enum Flags {
 	// 408 is never used
 	kFlagMA01GaffApproachMcCoy = 409,
 	kFlagBB06AndroidDestroyed = 410,
+	kFlagKP02toUG12 = 411,
+	kFlagUG12toKP02 = 412, // is never checked
+
+	kFlagUG07toUG10 = 423,
+	kFlagUG10toUG07 = 424, // is never checked
+	kFlagUG07toUG08 = 425, // is never checked
+	kFlagUG08toUG07 = 426,
+	kFlagUG07toUG09 = 427, // is never checked
+	kFlagUG09ToUG07 = 428,
+	kFlagUG08toUG13 = 429,
+	kFlagUG13toUG08 = 430,
 
 	kFlagUG09toCT12 = 432,
 	kFlagCT12ToUG09 = 433,
+	kFlagUG13toUG18 = 434, // is never checked
+	kFlagUG18toUG13 = 435,
 	kFlagNR04toNR03 = 437,
 	kFlagNR03toNR04 = 438,
 	kFlagNR06toNR08 = 439,
@@ -860,6 +873,8 @@ enum Flags {
 	kFlagNR07toNR06 = 442,
 	kFlagGenericWalkerWaiting = 443,
 	kFlagIzoShot = 444,
+	kFlagTB03toUG17 = 447,
+	kFlagUG17toTB03 = 448,
 	kFlagUG02WeaponsChecked = 449,
 	kFlagTB02ElevatorToTB05 = 450,
 	kFlagTB05Entered = 451,
@@ -939,7 +954,10 @@ enum Flags {
 	kFlagNR05toNR08 = 546,
 	kFlagNR08toNR05 = 547,
 	kFlagDR06MannequinHeadOpen = 548,
+	kFlagTB03Entered = 549,
 	kFlagMcCoyTiedDown = 550,
+	kFlagUG16toDR06 = 551, // is never checked
+	kFlagDR06toUG16 = 552,
 	kFlagDR01toCT11 = 558,
 	kFlagNR02GordoLeaveLighter = 561,
 	kFlagHF05CrazyLegsTalk1 = 562,
@@ -1011,6 +1029,7 @@ enum Flags {
 	kFlagNR11BreakWindow = 659,
 	kFlagDNARowAvailableTalk = 660,
 	kFlagTB07ShadeDown = 661, // is never set
+	kFlagUG19Available = 665,
 	kFlagMA07toPS14 = 672,
 	kFlagPS14toMA07 = 673,
 	kFlagChapter2Intro = 678,
diff --git a/engines/bladerunner/script/scene/dr06.cpp b/engines/bladerunner/script/scene/dr06.cpp
index 441d7bd..51a3841 100644
--- a/engines/bladerunner/script/scene/dr06.cpp
+++ b/engines/bladerunner/script/scene/dr06.cpp
@@ -204,7 +204,7 @@ bool SceneScriptDR06::ClickedOnExit(int exitId) {
 	}
 	if (exitId == 1) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -707.57f, 136.6f, -1132.64f, 0, true, false, 0)) {
-			Game_Flag_Set(552);
+			Game_Flag_Set(kFlagDR06toUG16);
 			Set_Enter(kSetUG16, kSceneUG16);
 		}
 		return true;
@@ -227,7 +227,7 @@ void SceneScriptDR06::PlayerWalkedIn() {
 		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -729.57f, 136.6f, -1016.0f, 0, false, false, 0);
 	}
 	Game_Flag_Reset(kFlagDR04toDR06);
-	Game_Flag_Reset(551);
+	Game_Flag_Reset(kFlagUG16toDR06);
 }
 
 void SceneScriptDR06::PlayerWalkedOut() {
diff --git a/engines/bladerunner/script/scene/kp02.cpp b/engines/bladerunner/script/scene/kp02.cpp
index 2233b3d..3db4056 100644
--- a/engines/bladerunner/script/scene/kp02.cpp
+++ b/engines/bladerunner/script/scene/kp02.cpp
@@ -29,7 +29,7 @@ void SceneScriptKP02::InitializeScene() {
 		Setup_Scene_Information(-884.0f, -615.49f, 3065.0f, 20);
 	} else {
 		Setup_Scene_Information(-1040.0f, -615.49f, 2903.0f, 339);
-		Game_Flag_Reset(412);
+		Game_Flag_Reset(kFlagUG12toKP02);
 	}
 	Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3);
 	Ambient_Sounds_Add_Looping_Sound(464, 34, 1, 1);
@@ -83,12 +83,12 @@ bool SceneScriptKP02::ClickedOnExit(int exitId) {
 				Actor_Set_Goal_Number(kActorFreeSlotA, 400);
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
-				Game_Flag_Set(411);
+				Game_Flag_Set(kFlagKP02toUG12);
 				Set_Enter(kSetUG12, kSceneUG12);
 			} else {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
-				Game_Flag_Set(411);
+				Game_Flag_Set(kFlagKP02toUG12);
 				Set_Enter(kSetUG12, kSceneUG12);
 			}
 		}
diff --git a/engines/bladerunner/script/scene/ma07.cpp b/engines/bladerunner/script/scene/ma07.cpp
index 7016918..65d2332 100644
--- a/engines/bladerunner/script/scene/ma07.cpp
+++ b/engines/bladerunner/script/scene/ma07.cpp
@@ -28,7 +28,7 @@ void SceneScriptMA07::InitializeScene() {
 	if (Game_Flag_Query(kFlagUG19toMA07)) {
 		Setup_Scene_Information(  6.75f, -172.43f, 356.0f, 997);
 		Game_Flag_Reset(kFlagUG19toMA07);
-		Game_Flag_Set(665);
+		Game_Flag_Set(kFlagUG19Available);
 	} else if (Game_Flag_Query(kFlagPS14toMA07)) {
 		Setup_Scene_Information(-312.0f,  -162.8f, 180.0f,   0);
 	} else {
@@ -46,7 +46,7 @@ void SceneScriptMA07::InitializeScene() {
 	if (Global_Variable_Query(kVariableChapter) > 1) {
 		Scene_Exit_Add_2D_Exit(1, 0, 200, 50, 479, 3);
 	}
-	if (Game_Flag_Query(665)) {
+	if (Game_Flag_Query(kFlagUG19Available)) {
 		Scene_Exit_Add_2D_Exit(2, 176, 386, 230, 426, 2);
 	}
 	Scene_Exit_Add_2D_Exit(0, 270, 216, 382, 306, 0);
diff --git a/engines/bladerunner/script/scene/tb03.cpp b/engines/bladerunner/script/scene/tb03.cpp
index bd4d9c5..fb26584 100644
--- a/engines/bladerunner/script/scene/tb03.cpp
+++ b/engines/bladerunner/script/scene/tb03.cpp
@@ -25,13 +25,15 @@
 namespace BladeRunner {
 
 void SceneScriptTB03::InitializeScene() {
-	if (Game_Flag_Query(448)) {
+	if (Game_Flag_Query(kFlagUG17toTB03)) {
 		Setup_Scene_Information(-260.0f, 0.15f, 2014.0f, 276);
 	} else {
-		Setup_Scene_Information(-152.0f, 0.0f, 1890.0f, 500);
+		Setup_Scene_Information(-152.0f,  0.0f, 1890.0f, 500);
 	}
+
 	Scene_Exit_Add_2D_Exit(0, 25, 227, 81, 300, 0);
 	Scene_Exit_Add_2D_Exit(1, 298, 0, 639, 305, 0);
+
 	Ambient_Sounds_Add_Looping_Sound(211, 16, 0, 1);
 	Ambient_Sounds_Add_Sound(212, 2, 15, 16, 20, 0, 0, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(213, 2, 15, 16, 20, 0, 0, -101, -101, 0, 0);
@@ -55,6 +57,7 @@ void SceneScriptTB03::InitializeScene() {
 		Ambient_Sounds_Add_Sound(194, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
 		Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
 	}
+
 	Actor_Put_In_Set(kActorTyrellGuard, kSetTB02_TB03);
 	Actor_Set_At_XYZ(kActorTyrellGuard, -38.53f, 2.93f, 1475.97f, 673);
 	if (Global_Variable_Query(kVariableChapter) == 4) {
@@ -66,17 +69,18 @@ void SceneScriptTB03::InitializeScene() {
 			Actor_Set_Goal_Number(kActorTyrellGuard, 300);
 		}
 	}
-	if (Game_Flag_Query(448)) {
-		if (Game_Flag_Query(549)) {
+
+	if (Game_Flag_Query(kFlagUG17toTB03)) {
+		if (!Game_Flag_Query(kFlagTB03Entered)) {
+			Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
 			Scene_Loop_Set_Default(1);
+			Game_Flag_Set(kFlagTB03Entered);
 		} else {
-			Scene_Loop_Start_Special(0, 0, 0);
 			Scene_Loop_Set_Default(1);
-			Game_Flag_Set(549);
 		}
-		Game_Flag_Reset(448);
+		Game_Flag_Reset(kFlagUG17toTB03);
 	} else {
-		Scene_Loop_Start_Special(0, 0, 0);
+		Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
 		Scene_Loop_Set_Default(1);
 	}
 }
@@ -107,11 +111,12 @@ bool SceneScriptTB03::ClickedOnExit(int exitId) {
 			Actor_Set_Goal_Number(kActorTyrellGuard, 304);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
-			Game_Flag_Set(447);
+			Game_Flag_Set(kFlagTB03toUG17);
 			Set_Enter(kSetUG17, kSceneUG17);
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1774.0f, 0, 1, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
diff --git a/engines/bladerunner/script/scene/ug01.cpp b/engines/bladerunner/script/scene/ug01.cpp
index f1c11fe..ced4378 100644
--- a/engines/bladerunner/script/scene/ug01.cpp
+++ b/engines/bladerunner/script/scene/ug01.cpp
@@ -79,7 +79,7 @@ bool SceneScriptUG01::MouseClick(int x, int y) {
 
 bool SceneScriptUG01::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("PIPES_FG_LFT", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -9.0f, -50.13f, -148.0f, 0, 1, false, 0)
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -9.0f, -50.13f, -148.0f, 0, true, false, 0)
 		 && !Game_Flag_Query(kFlagUG01SteamOff)
 		) {
 			Actor_Says(kActorMcCoy, 8525, 13);
@@ -137,7 +137,9 @@ bool SceneScriptUG01::ClickedOn2DRegion(int region) {
 }
 
 void SceneScriptUG01::SceneFrameAdvanced(int frame) {
-	if (frame >= 61 && frame <= 120) {
+	if (frame >= 61
+	 && frame <= 120
+	) {
 		float density = (120 - frame) / 29500.0f; // why is this so big?
 		Set_Fog_Density("BoxFog01", density);
 		Set_Fog_Density("BoxFog02", density);
@@ -157,14 +159,14 @@ void SceneScriptUG01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG01::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG02toUG01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -55.0f, -50.13f, -288.0f, 12, 0, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -55.0f, -50.13f, -288.0f, 12, false, false, 0);
 		Game_Flag_Reset(kFlagUG02toUG01);
 	}
 
 	if (Game_Flag_Query(kFlagRC03toUG01)) {
 		Actor_Set_At_XYZ(kActorMcCoy, -70.0f, 93.87f, -500.0f, 768);
 		Loop_Actor_Travel_Ladder(kActorMcCoy, 12, 0, 0);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -58.0f, -50.13f, -488.0f, 0, 0, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -58.0f, -50.13f, -488.0f, 0, false, false, 0);
 		Game_Flag_Reset(kFlagRC03toUG01);
 	}
 
diff --git a/engines/bladerunner/script/scene/ug02.cpp b/engines/bladerunner/script/scene/ug02.cpp
index 5ac3fad..12be0c2 100644
--- a/engines/bladerunner/script/scene/ug02.cpp
+++ b/engines/bladerunner/script/scene/ug02.cpp
@@ -28,7 +28,7 @@ void SceneScriptUG02::InitializeScene() {
 	if (Game_Flag_Query(kFlagHC03toUG02)) {
 		Setup_Scene_Information(-313.0f, 155.73f, -128.0f, 556);
 	} else {
-		Setup_Scene_Information(-95.0f, 74.78f, -503.0f, 556);
+		Setup_Scene_Information( -95.0f,  74.78f, -503.0f, 556);
 	}
 	Scene_Exit_Add_2D_Exit(0, 529, 130, 607, 277, 0);
 	Scene_Exit_Add_2D_Exit(1, 305,  36, 335, 192, 0);
@@ -190,7 +190,7 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
 		}
 		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -304.75f, 155.75f, -171.0f, 0, false, false, 0);
 		Actor_Face_Heading(kActorMcCoy, 14, false);
-		Loop_Actor_Travel_Ladder(kActorMcCoy, 9, true, 0);
+		Loop_Actor_Travel_Ladder(kActorMcCoy, 9, true, kAnimationModeIdle);
 		Game_Flag_Set(kFlagUG02toHC03);
 		Game_Flag_Reset(kFlagMcCoyInUnderground);
 		Game_Flag_Set(kFlagMcCoyInHawkersCircle);
diff --git a/engines/bladerunner/script/scene/ug04.cpp b/engines/bladerunner/script/scene/ug04.cpp
index 82da71b..2f71899 100644
--- a/engines/bladerunner/script/scene/ug04.cpp
+++ b/engines/bladerunner/script/scene/ug04.cpp
@@ -59,7 +59,7 @@ void SceneScriptUG04::InitializeScene() {
 	Ambient_Sounds_Add_Sound(304, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(305, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
 
-	Scene_Loop_Start_Special(0, 0, 0);
+	Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
 	Scene_Loop_Set_Default(1);
 }
 
@@ -95,6 +95,7 @@ bool SceneScriptUG04::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.74f, -2400.0f, 0, true, false, 0)) {
 			Game_Flag_Set(kFlagUG04toUG05);
@@ -102,6 +103,7 @@ bool SceneScriptUG04::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+
 	if (exitId == 2) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 11.87f, -1013.0f, 0, true, false, 0)) {
 			Game_Flag_Set(kFlagUG04toUG06);
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index 1c7edb5..e02a9bd 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -31,12 +31,13 @@ void SceneScriptUG05::InitializeScene() {
 		) {
 			Setup_Scene_Information(-356.35f, 132.77f, -1092.36f, 389);
 		} else {
-			Setup_Scene_Information(-180.0f, 37.28f, -1124.0f, 296);
+			Setup_Scene_Information( -180.0f,  37.28f,  -1124.0f, 296);
 		}
 	} else {
 		Setup_Scene_Information(0.0f, -1.37f, 0.0f, 0);
 		Game_Flag_Reset(kFlagUG04toUG05);
 	}
+
 	Scene_Exit_Add_2D_Exit(0, 215, 240, 254, 331, 3);
 	if (!Game_Flag_Query(663)) {
 		Scene_Exit_Add_2D_Exit(1, 303, 422, 639, 479, 2);
@@ -46,26 +47,28 @@ void SceneScriptUG05::InitializeScene() {
 	) {
 		Scene_Exit_Add_2D_Exit(2, 352, 256, 393, 344, 0);
 	}
+
 	Ambient_Sounds_Add_Looping_Sound(105, 28, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
-	Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(226, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(391, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(395, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(225, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(226, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(391, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(395, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(392, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(303, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(304, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(305, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+
 	if (Game_Flag_Query(368)) {
 		Scene_Loop_Set_Default(2);
 	} else {
@@ -89,10 +92,13 @@ bool SceneScriptUG05::ClickedOn3DObject(const char *objectName, bool a2) {
 }
 
 bool SceneScriptUG05::ClickedOnActor(int actorId) {
-	if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, actorId, 30, 1, false)) {
+	if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, actorId, 30, true, false)) {
 		Actor_Face_Actor(kActorMcCoy, actorId, true);
 		int affectionTowardsActor = getAffectionTowardsActor();
-		if (actorId == kActorOfficerGrayford && Game_Flag_Query(368) && !Game_Flag_Query(683)) {
+		if ( actorId == kActorOfficerGrayford
+		 &&  Game_Flag_Query(368)
+		 && !Game_Flag_Query(683)
+		) {
 			Actor_Says(kActorOfficerGrayford, 220, -1);
 			Actor_Says(kActorMcCoy, 5540, 14);
 			Actor_Says(kActorOfficerGrayford, 230, -1);
@@ -118,10 +124,10 @@ bool SceneScriptUG05::ClickedOnItem(int itemId, bool a2) {
 bool SceneScriptUG05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
 		if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -356.35f, 132.77f, -1092.36f, 0, 0, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -356.35f, 132.77f, -1092.36f, 0, false, false, 0);
 			Game_Flag_Set(kFlagUG06toHF07);
 			Set_Enter(kSetHF07, kSceneHF07);
-		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, 1, false, 0)) {
+		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, true, false, 0)) {
 			Actor_Face_Heading(kActorMcCoy, 760, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
 			Game_Flag_Set(kFlagUG06toHF07);
@@ -129,16 +135,18 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.0f, -11.67f, -4.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.0f, -11.67f, -4.0f, 0, true, false, 0)) {
 			Game_Flag_Set(kFlagUG05toUG04);
 			Set_Enter(kSetUG04, kSceneUG04);
 		}
 		return true;
 	}
+
 	if (exitId == 2) {
 		if (!Game_Flag_Query(662)) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, 1, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, true, false, 0)) {
 				if (!Game_Flag_Query(522)) {
 					Actor_Voice_Over(2600, kActorVoiceOver);
 					Actor_Voice_Over(2610, kActorVoiceOver);
@@ -150,9 +158,9 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
 			int affectionTowardsActor = getAffectionTowardsActor();
 			bool v2;
 			if (affectionTowardsActor == -1) {
-				v2 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, 1, false, 0) != 0;
+				v2 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, true, false, 0) != 0;
 			} else {
-				v2 = Loop_Actor_Walk_To_Actor(kActorMcCoy, affectionTowardsActor, 30, 1, false) != 0;
+				v2 = Loop_Actor_Walk_To_Actor(kActorMcCoy, affectionTowardsActor, 30, true, false) != 0;
 			}
 			if (!v2) {
 				sub_402218();
@@ -204,13 +212,15 @@ void SceneScriptUG05::PlayerWalkedIn() {
 			}
 		}
 	}
+
 	if (Game_Flag_Query(kFlagHF07toUG06)) {
 		if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, 1, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, true, false, 0);
 		} else {
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, kAnimationModeIdle);
 		}
 	}
+
 	if (Game_Flag_Query(663)) {
 		Game_Flag_Query(368); // bug in game?
 	}
@@ -251,8 +261,10 @@ void SceneScriptUG05::sub_402218() {
 			Actor_Says(kActorLucy, 670, 17);
 		}
 	}
+
 	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 	Ambient_Sounds_Remove_All_Looping_Sounds(1);
+
 	if (affectionTowardsActor == kActorLucy) {
 		if (Game_Flag_Query(kFlagLucyIsReplicant)) {
 			if (Global_Variable_Query(kVariableDNAEvidences) > 3) {
@@ -277,6 +289,7 @@ void SceneScriptUG05::sub_402218() {
 		Outtake_Play(kOuttakeEnd3, false, -1);
 	}
 	Outtake_Play(kOuttakeEnd2, false, -1);
+
 	Game_Over();
 }
 
diff --git a/engines/bladerunner/script/scene/ug06.cpp b/engines/bladerunner/script/scene/ug06.cpp
index 174ba75..99ebc54 100644
--- a/engines/bladerunner/script/scene/ug06.cpp
+++ b/engines/bladerunner/script/scene/ug06.cpp
@@ -132,11 +132,13 @@ void SceneScriptUG06::PlayerWalkedIn() {
 		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 273.0f, 0, false, false, 0);
 		Game_Flag_Reset(kFlagUG04toUG06);
 	}
+
 	if (Game_Flag_Query(kFlagNR01toUG06)) {
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 17, false, kAnimationModeIdle);
 		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, false, false, 0);
 		Game_Flag_Reset(kFlagNR01toUG06);
 	}
+
 	if ( Global_Variable_Query(kVariableChapter) == 4
 	 && !Game_Flag_Query(524)
 	) {
diff --git a/engines/bladerunner/script/scene/ug07.cpp b/engines/bladerunner/script/scene/ug07.cpp
index f31660c..1b09943 100644
--- a/engines/bladerunner/script/scene/ug07.cpp
+++ b/engines/bladerunner/script/scene/ug07.cpp
@@ -25,36 +25,38 @@
 namespace BladeRunner {
 
 void SceneScriptUG07::InitializeScene() {
-	if (Game_Flag_Query(428)) {
+	if (Game_Flag_Query(kFlagUG09ToUG07)) {
 		Setup_Scene_Information(-76.0f, -12.21f, -738.0f, 505);
-		Game_Flag_Reset(428);
-	} else if (Game_Flag_Query(426)) {
+		Game_Flag_Reset(kFlagUG09ToUG07);
+	} else if (Game_Flag_Query(kFlagUG08toUG07)) {
 		Setup_Scene_Information(110.0f, -12.21f, -276.0f, 605);
 	} else {
-		Setup_Scene_Information(-10.0f, -12.21f, -58.0f, 0);
-		Game_Flag_Reset(424);
+		Setup_Scene_Information(-10.0f, -12.21f,  -58.0f,   0);
+		Game_Flag_Reset(kFlagUG10toUG07);
 	}
+
 	if (Game_Flag_Query(623)) {
-		Scene_Exit_Add_2D_Exit(0, 0, 192, 51, 334, 0);
+		Scene_Exit_Add_2D_Exit(0,   0, 192,  51, 334, 0);
 		Scene_Exit_Add_2D_Exit(1, 226, 224, 314, 396, 1);
 	}
 	Scene_Exit_Add_2D_Exit(2, 60, 440, 460, 479, 2);
+
 	Ambient_Sounds_Add_Looping_Sound(105, 90, -45, 1);
 	Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
-	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(395, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(395, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(291, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(292, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(293, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(294, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(295, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(303, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(304, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(305, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
 }
 
 void SceneScriptUG07::SceneLoaded() {
@@ -97,29 +99,35 @@ bool SceneScriptUG07::ClickedOnExit(int exitId) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -94.0f, -12.21f, -710.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
-			Game_Flag_Set(427);
+			Game_Flag_Set(kFlagUG07toUG09);
 			Set_Enter(kSetUG09, kSceneUG09);
 			return true;
 		}
 	}
+
 	if (exitId == 1) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 110.0f, -12.21f, -274.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
-			Game_Flag_Set(425);
+			Game_Flag_Set(kFlagUG07toUG08);
 			Set_Enter(kSetUG08, kSceneUG08);
 			return true;
 		}
 	}
+
 	if (exitId == 2) {
-		if (!Game_Flag_Query(607) && Game_Flag_Query(671) && Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(598)) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 49.0f, -12.21f, -130.0f, 0, 1, false, 0)) {
+		if (!Game_Flag_Query(607)
+		 &&  Game_Flag_Query(671)
+		 &&  Global_Variable_Query(kVariableChapter) == 4
+		 && !Game_Flag_Query(598)
+		) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 49.0f, -12.21f, -130.0f, 0, true, false, 0)) {
 				Game_Flag_Set(598);
 				Actor_Put_In_Set(kActorClovis, kSetUG07);
 				Actor_Set_At_XYZ(kActorClovis, 118.02f, -12.21f, -154.0f, 768);
 				Player_Set_Combat_Mode(true);
 				Actor_Face_Actor(kActorMcCoy, kActorClovis, true);
-				Loop_Actor_Walk_To_XYZ(kActorClovis, 98.02f, -12.21f, -154.0f, 0, 0, false, 0);
+				Loop_Actor_Walk_To_XYZ(kActorClovis, 98.02f, -12.21f, -154.0f, 0, false, false, 0);
 				Actor_Face_Actor(kActorClovis, kActorMcCoy, true);
 				Actor_Set_Goal_Number(kActorMcCoy, 301);
 				Actor_Face_Heading(kActorMcCoy, 0, true);
@@ -142,10 +150,12 @@ bool SceneScriptUG07::ClickedOnExit(int exitId) {
 				Actor_Set_Goal_Number(kActorClovis, 401);
 			}
 		} else {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, -21.47f, -58.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, -21.47f, -58.0f, 0, true, false, 0)
+			 && Actor_Query_Goal_Number(kActorClovis) != 402
+			) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
-				Game_Flag_Set(423);
+				Game_Flag_Set(kFlagUG07toUG10);
 				Set_Enter(kSetUG10, kSceneUG10);
 				return true;
 			}
@@ -165,23 +175,31 @@ void SceneScriptUG07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptUG07::PlayerWalkedIn() {
-	if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(623)) {
+	if ( Global_Variable_Query(kVariableChapter) == 4
+	 && !Game_Flag_Query(623)
+	) {
 		Actor_Set_Goal_Number(kActorOfficerLeary, 307);
 		Actor_Set_Goal_Number(kActorOfficerGrayford, 307);
 	}
-	if (Game_Flag_Query(426)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 62.0f, -12.21f, -274.0f, 0, 0, false, 0);
-		Game_Flag_Reset(426);
+
+	if (Game_Flag_Query(kFlagUG08toUG07)) {
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 62.0f, -12.21f, -274.0f, 0, false, false, 0);
+		Game_Flag_Reset(kFlagUG08toUG07);
 	}
 }
 
 void SceneScriptUG07::PlayerWalkedOut() {
-	if (Global_Variable_Query(kVariableChapter) == 4 && (Actor_Query_Goal_Number(kActorOfficerLeary) == 307 || Actor_Query_Goal_Number(kActorOfficerGrayford) == 307)) {
+	if (Global_Variable_Query(kVariableChapter) == 4
+	 && (Actor_Query_Goal_Number(kActorOfficerLeary) == 307
+	  || Actor_Query_Goal_Number(kActorOfficerGrayford) == 307
+	 )
+	) {
 		Non_Player_Actor_Combat_Mode_Off(kActorOfficerLeary);
 		Non_Player_Actor_Combat_Mode_Off(kActorOfficerGrayford);
 		Actor_Set_Goal_Number(kActorOfficerLeary, 306);
 		Actor_Set_Goal_Number(kActorOfficerGrayford, 306);
 	}
+
 	if (Actor_Query_In_Set(kActorClovis, kSetUG07)) {
 		Actor_Set_Goal_Number(kActorClovis, 400);
 	}
diff --git a/engines/bladerunner/script/scene/ug08.cpp b/engines/bladerunner/script/scene/ug08.cpp
index 6ae9d73..d3621af 100644
--- a/engines/bladerunner/script/scene/ug08.cpp
+++ b/engines/bladerunner/script/scene/ug08.cpp
@@ -25,34 +25,38 @@
 namespace BladeRunner {
 
 void SceneScriptUG08::InitializeScene() {
-	if (Game_Flag_Query(430)) {
-		Setup_Scene_Information(-124.0f, 93.18f, 71.0f, 745);
+	if (Game_Flag_Query(kFlagUG13toUG08)) {
+		Setup_Scene_Information(-124.0f, 93.18f,   71.0f, 745);
 	} else {
-		Setup_Scene_Information(-432.0f, 0.0f, -152.0f, 370);
+		Setup_Scene_Information(-432.0f,   0.0f, -152.0f, 370);
 	}
+
 	Scene_Exit_Add_2D_Exit(0, 125, 220, 157, 303, 3);
 	Scene_Exit_Add_2D_Exit(1, 353, 145, 552, 309, 1);
+
 	Ambient_Sounds_Add_Looping_Sound(331, 28, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
-	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(292, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(291, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(292, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(293, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(294, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(295, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(303, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(304, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(305, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+
 	if (!Game_Flag_Query(610)) {
 		Game_Flag_Set(431);
 		Game_Flag_Set(610);
 	}
-	if (Game_Flag_Query(430)) {
-		Scene_Loop_Start_Special(0, 0, 0);
+
+	if (Game_Flag_Query(kFlagUG13toUG08)) {
+		Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
 		Scene_Loop_Set_Default(1);
 	} else if (Game_Flag_Query(431)) {
 		Scene_Loop_Set_Default(1);
@@ -85,25 +89,29 @@ bool SceneScriptUG08::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG08::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -432.0f, 0.0f, -152.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -432.0f, 0.0f, -152.0f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
-			Game_Flag_Set(426);
+			Game_Flag_Set(kFlagUG08toUG07);
 			Set_Enter(kSetUG07, kSceneUG07);
+			return false;
 		}
-	} else if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.0f, -2.0f, 152.0f, 0, 1, false, 0)) {
+	}
+
+	if (exitId == 1) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.0f, -2.0f, 152.0f, 0, true, false, 0)) {
 			Actor_Face_Heading(kActorMcCoy, 240, false);
 			Footstep_Sound_Override_On(2);
-			Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, kAnimationModeIdle);
+			Loop_Actor_Travel_Stairs(kActorMcCoy, 11, true, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -118.02f, 93.02f, 52.76f, 0, 0, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -118.02f, 93.02f, 52.76f, 0, false, false, 0);
 			Player_Loses_Control();
 			Actor_Set_Invisible(kActorMcCoy, true);
-			Game_Flag_Set(429);
+			Game_Flag_Set(kFlagUG08toUG13);
 			Game_Flag_Reset(431);
 			Set_Enter(kSetUG13, kSceneUG13);
-			Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, 0);
+			Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, false);
+			return false;
 		}
 	}
 	return false;
@@ -123,17 +131,17 @@ void SceneScriptUG08::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptUG08::PlayerWalkedIn() {
-	if (Game_Flag_Query(430)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -167.0f, 93.18f, 71.0f, 0, 0, false, 0);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -180.0f, 93.18f, 134.0f, 0, 0, false, 0);
+	if (Game_Flag_Query(kFlagUG13toUG08)) {
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -167.0f, 93.18f,  71.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -180.0f, 93.18f, 134.0f, 0, false, false, 0);
 		Actor_Face_Heading(kActorMcCoy, 745, false);
 		Footstep_Sound_Override_On(2);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
 		Footstep_Sound_Override_Off();
 		Player_Gains_Control();
 	}
-	Game_Flag_Reset(425);
-	Game_Flag_Reset(430);
+	Game_Flag_Reset(kFlagUG07toUG08);
+	Game_Flag_Reset(kFlagUG13toUG08);
 }
 
 void SceneScriptUG08::PlayerWalkedOut() {
diff --git a/engines/bladerunner/script/scene/ug09.cpp b/engines/bladerunner/script/scene/ug09.cpp
index 91e493a..e6613c1 100644
--- a/engines/bladerunner/script/scene/ug09.cpp
+++ b/engines/bladerunner/script/scene/ug09.cpp
@@ -26,36 +26,38 @@ namespace BladeRunner {
 
 void SceneScriptUG09::InitializeScene() {
 	if (Game_Flag_Query(kFlagCT12ToUG09)) {
-		Setup_Scene_Information(-67.0f, 156.94f, -425.0f, 500);
+		Setup_Scene_Information(-67.0f, 156.94f, -425.0f,  500);
 		Game_Flag_Reset(kFlagCT12ToUG09);
 	} else {
-		Setup_Scene_Information(-53.0f, 156.94f, 174.0f, 1000);
-		Game_Flag_Reset(427);
+		Setup_Scene_Information(-53.0f, 156.94f,  174.0f, 1000);
+		Game_Flag_Reset(kFlagUG07toUG09);
 	}
+
 	Scene_Exit_Add_2D_Exit(0, 204, 159, 392, 360, 0);
-	Scene_Exit_Add_2D_Exit(1, 0, 455, 639, 479, 2);
+	Scene_Exit_Add_2D_Exit(1,   0, 455, 639, 479, 2);
+
 	Ambient_Sounds_Add_Looping_Sound(105, 71, 0, 1);
-	Ambient_Sounds_Add_Looping_Sound(95, 45, 0, 1);
+	Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
-	Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(295, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(291, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(292, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(294, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(295, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(303, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(304, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(305, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(  1, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound( 57, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound( 58, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(307, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(308, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(198, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(199, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
 }
 
 void SceneScriptUG09::SceneLoaded() {
@@ -100,7 +102,7 @@ bool SceneScriptUG09::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG09::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -67.0f, 156.94f, -425.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -67.0f, 156.94f, -425.0f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG09toCT12);
@@ -108,11 +110,12 @@ bool SceneScriptUG09::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -53.0f, 156.94f, 206.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -53.0f, 156.94f, 206.0f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
-			Game_Flag_Set(428);
+			Game_Flag_Set(kFlagUG09ToUG07);
 			Set_Enter(kSetUG07, kSceneUG07);
 		}
 		return true;
@@ -132,7 +135,9 @@ void SceneScriptUG09::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptUG09::PlayerWalkedIn() {
-	if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(623)) {
+	if (Global_Variable_Query(kVariableChapter) == 4
+	 && Game_Flag_Query(623)
+	) {
 		Game_Flag_Set(630);
 	}
 }
diff --git a/engines/bladerunner/script/scene/ug10.cpp b/engines/bladerunner/script/scene/ug10.cpp
index a33c05f..335d715 100644
--- a/engines/bladerunner/script/scene/ug10.cpp
+++ b/engines/bladerunner/script/scene/ug10.cpp
@@ -27,8 +27,8 @@ namespace BladeRunner {
 void SceneScriptUG10::InitializeScene() {
 	if (Game_Flag_Query(kFlagUG03toUG10)) {
 		Setup_Scene_Information(  -92.0f, 81.33f, -652.0f, 520);
-	} else if (Game_Flag_Query(423)) {
-		Game_Flag_Reset(423);
+	} else if (Game_Flag_Query(kFlagUG07toUG10)) {
+		Game_Flag_Reset(kFlagUG07toUG10);
 		Setup_Scene_Information(-385.12f,  1.15f,  57.44f, 400);
 	} else if (Game_Flag_Query(kFlagUG14toUG10)) {
 		Setup_Scene_Information(    2.5f,  1.15f,  405.0f, 200);
@@ -147,8 +147,8 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
 		) {
 			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, true, false, 0)) {
 				Actor_Face_Heading(kActorMcCoy, 1001, false);
-				Loop_Actor_Travel_Ladder(kActorMcCoy, 1, 1, 0);
-				Game_Flag_Set(424);
+				Loop_Actor_Travel_Ladder(kActorMcCoy, 1, true, kAnimationModeIdle);
+				Game_Flag_Set(kFlagUG10toUG07);
 				Set_Enter(kSetUG07, kSceneUG07);
 				return true;
 			}
diff --git a/engines/bladerunner/script/scene/ug12.cpp b/engines/bladerunner/script/scene/ug12.cpp
index 7f92023..f30f56c 100644
--- a/engines/bladerunner/script/scene/ug12.cpp
+++ b/engines/bladerunner/script/scene/ug12.cpp
@@ -25,9 +25,9 @@
 namespace BladeRunner {
 
 void SceneScriptUG12::InitializeScene() {
-	if (Game_Flag_Query(411)) {
+	if (Game_Flag_Query(kFlagKP02toUG12)) {
 		Setup_Scene_Information(207.0f, -126.21f, -364.0f, 561);
-		Game_Flag_Reset(411);
+		Game_Flag_Reset(kFlagKP02toUG12);
 	} else {
 		Setup_Scene_Information(375.0f, -126.21f,  180.0f, 730);
 		Game_Flag_Reset(kFlagUG14toUG12);
@@ -91,11 +91,12 @@ bool SceneScriptUG12::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, -126.21f, -364.0f, 0, 1, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
-			Game_Flag_Set(412);
+			Game_Flag_Set(kFlagUG12toKP02);
 			Set_Enter(kSetKP02, kSceneKP02);
 		}
 		return true;
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp
index e2a7ae9..d6dfbfa 100644
--- a/engines/bladerunner/script/scene/ug13.cpp
+++ b/engines/bladerunner/script/scene/ug13.cpp
@@ -25,7 +25,7 @@
 namespace BladeRunner {
 
 void SceneScriptUG13::InitializeScene() {
-	if (Game_Flag_Query(435)) {
+	if (Game_Flag_Query(kFlagUG18toUG13)) {
 		Setup_Scene_Information(-477.0f, 141.9f, -870.0f, 378);
 	} else if (Game_Flag_Query(kFlagUG15toUG13)) {
 		Setup_Scene_Information(  39.0f, 52.94f, -528.0f, 600);
@@ -54,10 +54,12 @@ void SceneScriptUG13::InitializeScene() {
 	) {
 		Actor_Set_Goal_Number(kActorTransient, 390);
 	}
+
 	if (Actor_Query_Goal_Number(kActorTransient) == 599) {
 		Actor_Change_Animation_Mode(kActorTransient, 89);
 	}
-	if (Game_Flag_Query(429)) {
+
+	if (Game_Flag_Query(kFlagUG08toUG13)) {
 		Scene_Loop_Start_Special(0, 0, 0);
 		Scene_Loop_Set_Default(1);
 	} else if (Game_Flag_Query(431)) {
@@ -93,21 +95,22 @@ bool SceneScriptUG13::MouseClick(int x, int y) {
 }
 
 bool SceneScriptUG13::ClickedOn3DObject(const char *objectName, bool a2) {
-
-	if (Object_Query_Click("BOLLARD", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 7.0f, 44.0f, -695.0f, 0, 1, false, 0)) {
-		Actor_Face_Object(kActorMcCoy, "BOLLARD", true);
-		if (Game_Flag_Query(431)) {
-			Scene_Loop_Set_Default(1);
-			Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false);
-			Game_Flag_Reset(431);
-			Game_Flag_Set(436);
-			return true;
-		} else {
-			Scene_Loop_Set_Default(4);
-			Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, false);
-			Game_Flag_Set(431);
-			Scene_Exit_Remove(0);
-			return true;
+	if (Object_Query_Click("BOLLARD", objectName)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 7.0f, 44.0f, -695.0f, 0, true, false, 0)) {
+			Actor_Face_Object(kActorMcCoy, "BOLLARD", true);
+			if (Game_Flag_Query(431)) {
+				Scene_Loop_Set_Default(1);
+				Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false);
+				Game_Flag_Reset(431);
+				Game_Flag_Set(436);
+				return true;
+			} else {
+				Scene_Loop_Set_Default(4);
+				Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, false);
+				Game_Flag_Set(431);
+				Scene_Exit_Remove(0);
+				return true;
+			}
 		}
 	}
 	return false;
@@ -148,20 +151,20 @@ bool SceneScriptUG13::ClickedOnActor(int actorId) {
 }
 
 bool SceneScriptUG13::ClickedOnItem(int itemId, bool a2) {
-	if ( itemId == kItemWeaponsOrderForm
-	 && !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemWeaponsOrderForm, 36, true, false)
-	) {
-		Actor_Face_Item(kActorMcCoy, kItemWeaponsOrderForm, true);
-		Actor_Clue_Acquire(kActorMcCoy, kClueOriginalRequisitionForm, true, -1);
-		Item_Remove_From_World(kItemWeaponsOrderForm);
-		Item_Pickup_Spin_Effect(958, 426, 316);
-		Actor_Voice_Over(3950, kActorVoiceOver);
-		Actor_Voice_Over(3960, kActorVoiceOver);
-		Actor_Voice_Over(3970, kActorVoiceOver);
-		Actor_Voice_Over(3980, kActorVoiceOver);
-		Actor_Voice_Over(3990, kActorVoiceOver);
-		Actor_Voice_Over(4000, kActorVoiceOver);
-		return true;
+	if (itemId == kItemWeaponsOrderForm) {
+		if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemWeaponsOrderForm, 36, true, false)) {
+			Actor_Face_Item(kActorMcCoy, kItemWeaponsOrderForm, true);
+			Actor_Clue_Acquire(kActorMcCoy, kClueOriginalRequisitionForm, true, -1);
+			Item_Remove_From_World(kItemWeaponsOrderForm);
+			Item_Pickup_Spin_Effect(958, 426, 316);
+			Actor_Voice_Over(3950, kActorVoiceOver);
+			Actor_Voice_Over(3960, kActorVoiceOver);
+			Actor_Voice_Over(3970, kActorVoiceOver);
+			Actor_Voice_Over(3980, kActorVoiceOver);
+			Actor_Voice_Over(3990, kActorVoiceOver);
+			Actor_Voice_Over(4000, kActorVoiceOver);
+			return true;
+		}
 	}
 	return false;
 }
@@ -169,36 +172,38 @@ bool SceneScriptUG13::ClickedOnItem(int itemId, bool a2) {
 bool SceneScriptUG13::ClickedOnExit(int exitId) {
 
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, 54.63f, -883.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, 54.63f, -883.0f, 0, true, false, 0)) {
 			Player_Loses_Control();
-			Game_Flag_Set(430);
+			Game_Flag_Set(kFlagUG13toUG08);
 			Game_Flag_Set(431);
 			Set_Enter(kSetUG08, kSceneUG08);
 			Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, 0);
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 39.0f, 52.94f, -528.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 39.0f, 52.94f, -528.0f, 0, true, false, 0)) {
 			Game_Flag_Set(kFlagUG13toUG15);
 			Set_Enter(kSetUG15, kSceneUG15);
 		}
 		return true;
 	}
+
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -267.0f, 44.0f, -795.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -267.0f, 44.0f, -795.0f, 0, true, false, 0)) {
 			Actor_Face_Heading(kActorMcCoy, 830, false);
 			Footstep_Sound_Override_On(3);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
 			if (!sub_402AD0()) {
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0f, 141.9f, -870.0f, 0, 0, false, 0);
-				Game_Flag_Set(434);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0f, 141.9f, -870.0f, 0, false, false, 0);
+				Game_Flag_Set(kFlagUG13toUG18);
 				Set_Enter(kSetUG18, kSceneUG18);
 				return true;
 			}
 			Actor_Face_Heading(kActorMcCoy, 325, false);
-			Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
+			Loop_Actor_Travel_Stairs(kActorMcCoy, 11, true, kAnimationModeIdle);
 		} else {
 			return true;
 		}
@@ -215,15 +220,25 @@ void SceneScriptUG13::SceneFrameAdvanced(int frame) {
 	if (frame == 94) {
 		Ambient_Sounds_Play_Sound(372, 90, 0, 0, 100);
 	}
-	if (Game_Flag_Query(436) && frame > 29 && frame < 91) {
+
+	if (Game_Flag_Query(436)
+	 && frame > 29
+	 && frame < 91
+	) {
 		Scene_Exit_Add_2D_Exit(0, 394, 205, 464, 281, 0);
 		Game_Flag_Reset(436);
 		//return true;
 		return;
 	}
-	if (Game_Flag_Query(429) && frame < 25) {
+
+	if (Game_Flag_Query(kFlagUG08toUG13)
+	 && frame < 25
+	) {
 		Actor_Set_Invisible(kActorMcCoy, true);
-	} else if (Game_Flag_Query(430) && frame >= 94 && frame <= 120) {
+	} else if (Game_Flag_Query(kFlagUG13toUG08)
+	        && frame >= 94
+	        && frame <= 120
+	) {
 		Actor_Set_Invisible(kActorMcCoy, true);
 	} else {
 		Actor_Set_Invisible(kActorMcCoy, false);
@@ -236,29 +251,32 @@ void SceneScriptUG13::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptUG13::PlayerWalkedIn() {
-	if (Game_Flag_Query(435)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, 0, false, 0);
+	if (Game_Flag_Query(kFlagUG18toUG13)) {
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, false, false, 0);
 		Actor_Face_Heading(kActorMcCoy, 325, false);
 		Footstep_Sound_Override_On(3);
-		Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
+		Loop_Actor_Travel_Stairs(kActorMcCoy, 11, false, kAnimationModeIdle);
 		Footstep_Sound_Override_Off();
-		Game_Flag_Reset(435);
+		Game_Flag_Reset(kFlagUG18toUG13);
 	} else if (Game_Flag_Query(kFlagUG15toUG13)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, 0, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, false, false, 0);
 		Game_Flag_Reset(kFlagUG15toUG13);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, 0, false, 0);
-		Game_Flag_Reset(429);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, false, false, 0);
+		Game_Flag_Reset(kFlagUG08toUG13);
 		Player_Gains_Control();
 	}
-	if (Actor_Query_Goal_Number(kActorTransient) >= 390 && !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
+
+	if ( Actor_Query_Goal_Number(kActorTransient) >= 390
+	 && !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
+	) {
 		if (Game_Flag_Query(553)) {
 			if (Random_Query(1, 3) == 1) {
 				Actor_Set_Goal_Number(kActorTransient, 395);
 			}
 		} else {
 			Game_Flag_Set(553);
-			Actor_Says(kActorTransient, 50, 3);
+			Actor_Says(kActorTransient, 50, kAnimationModeTalk);
 		}
 	}
 	//return false;
@@ -267,7 +285,7 @@ void SceneScriptUG13::PlayerWalkedIn() {
 void SceneScriptUG13::PlayerWalkedOut() {
 	Actor_Set_Invisible(kActorMcCoy, false);
 	Ambient_Sounds_Remove_All_Looping_Sounds(1);
-	if (Game_Flag_Query(430)) {
+	if (Game_Flag_Query(kFlagUG13toUG08)) {
 		Ambient_Sounds_Remove_Sound(401, false);
 		Ambient_Sounds_Remove_Sound(402, false);
 		Ambient_Sounds_Remove_Sound(369, false);
@@ -288,7 +306,7 @@ void SceneScriptUG13::sub_40223C() {
 	Actor_Says_With_Pause(kActorMcCoy, 5565, 3.0f, 18);
 	Actor_Says(kActorTransient, 70, 31);
 	Actor_Says(kActorTransient, 80, 32);
-	Actor_Says(kActorMcCoy, 5570, 3);
+	Actor_Says(kActorMcCoy, 5570, kAnimationModeTalk);
 	Actor_Says(kActorTransient, 90, 32);
 }
 
@@ -352,12 +370,15 @@ void SceneScriptUG13::sub_402AD4() {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1350, 1, 3, 7);
 	}
 	Dialogue_Menu_Add_DONE_To_List(1360);
+
 	Dialogue_Menu_Appear(320, 240);
 	int answer = Dialogue_Menu_Query_Input();
 	Dialogue_Menu_Disappear();
+
 	switch (answer) {
 	case 1360:
 		return;
+
 	case 1350:
 		Actor_Clue_Acquire(kActorTransient, kClueFlaskOfAbsinthe, false, kActorMcCoy);
 		Actor_Says_With_Pause(kActorMcCoy, 5595, 1.0f, 23);
@@ -367,6 +388,7 @@ void SceneScriptUG13::sub_402AD4() {
 		Actor_Clue_Lose(kActorMcCoy, kClueFlaskOfAbsinthe);
 		sub_402E24();
 		break;
+
 	case 1340:
 		Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, -10);
 		Actor_Says(kActorMcCoy, 5590, 15);
@@ -378,9 +400,11 @@ void SceneScriptUG13::sub_402AD4() {
 		Actor_Says(kActorMcCoy, 5585, 16);
 		sub_4025E0();
 		break;
+
 	case 1320:
 		sub_4023D8();
 		break;
+
 	default:
 		Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
 		Actor_Says(kActorMcCoy, 5600, 14);
@@ -398,9 +422,11 @@ void SceneScriptUG13::sub_402E24() {
 	DM_Add_To_List_Never_Repeat_Once_Selected(1370, 1, 1, 8);
 	DM_Add_To_List_Never_Repeat_Once_Selected(1380, 1, 8, 1);
 	DM_Add_To_List_Never_Repeat_Once_Selected(1390, 8, 1, 1);
+
 	Dialogue_Menu_Appear(320, 240);
 	int answer = Dialogue_Menu_Query_Input();
 	Dialogue_Menu_Disappear();
+
 	if (answer == 1370) {
 		Actor_Says(kActorMcCoy, 5665, 16);
 		Actor_Says(kActorTransient, 300, 32);
diff --git a/engines/bladerunner/script/scene/ug14.cpp b/engines/bladerunner/script/scene/ug14.cpp
index ace4b90..914cf10 100644
--- a/engines/bladerunner/script/scene/ug14.cpp
+++ b/engines/bladerunner/script/scene/ug14.cpp
@@ -81,10 +81,9 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 	float x, y, z;
 	Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
 	bool v1 = y > 57.0f;
-	if (exitId > 2) {
-		return false;
-	}
-	if (!exitId) {
+
+
+	if (!exitId == 0) {
 		if (v1) {
 			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, 0, true, false, 0)) {
 				return false;
@@ -94,6 +93,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 13, false, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
 		}
+
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -102,6 +102,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
 		if (!v1) {
 			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, 0)) {
@@ -112,6 +113,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
 		}
+
 		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -173,11 +175,12 @@ void SceneScriptUG14::PlayerWalkedIn() {
 		Actor_Face_Heading(kActorMcCoy, 807, false);
 		Game_Flag_Reset(kFlagUG10toUG14);
 	}
+
 	if ( Global_Variable_Query(kVariableChapter) == 4
 	 &&  Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
 	 && !Game_Flag_Query(kFlagUG14DeadHomeless)
 	) {
-		Overlay_Play("UG14OVER", 0, 0, 1, 0);
+		Overlay_Play("UG14OVER", 0, false, true, 0);
 		Delay(1000);
 		Actor_Face_Heading(kActorMcCoy, 609, false);
 		Delay(3000);
diff --git a/engines/bladerunner/script/scene/ug15.cpp b/engines/bladerunner/script/scene/ug15.cpp
index 13408bb..fdd3244 100644
--- a/engines/bladerunner/script/scene/ug15.cpp
+++ b/engines/bladerunner/script/scene/ug15.cpp
@@ -130,7 +130,9 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
 
 	if (exitId == 2) {
 		int v1 = Actor_Query_Goal_Number(kActorFreeSlotA);
-		if (v1 >= 300 && v1 <= 303) {
+		if (v1 >= 300
+		 && v1 <= 303
+		) {
 			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.61f, 48.07f, 147.12f, 0, 1, false, 0);
 		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.0f, 52.28f, 46.0f, 0, 1, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
@@ -162,7 +164,7 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
 		float x, y, z;
 		Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
 		if (-160.0f <= x
-		 && z < 220.0f
+		 &&  220.0f > z
 		) {
 			Actor_Set_Goal_Number(kActorFreeSlotA, 301);
 		}
@@ -170,11 +172,14 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
 	if (frame == 61) {
 		Ambient_Sounds_Play_Sound(583, 80, 0, 0, 99);
 	}
-	if (Game_Flag_Query(677) && !Game_Flag_Query(682)) {
+
+	if ( Game_Flag_Query(677)
+	 && !Game_Flag_Query(682)
+	) {
 		float x, y, z;
 		Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
-		if (-180.0f <= x
-		 && z < 220.0f
+		if ( -180.0f <= x
+		 &&   220.0f > z
 		 && !Game_Flag_Query(724)
 		) {
 			Game_Flag_Set(724);
@@ -183,6 +188,7 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
 			Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
 			Actor_Set_Goal_Number(kActorMcCoy, 390);
 			Actor_Query_XYZ(kActorFreeSlotA, &x, &y, &z);
+
 			if (-200.0f < x
 			 &&  -62.0f > x
 			) {
diff --git a/engines/bladerunner/script/scene/ug16.cpp b/engines/bladerunner/script/scene/ug16.cpp
index 858f4d1..6d075ab 100644
--- a/engines/bladerunner/script/scene/ug16.cpp
+++ b/engines/bladerunner/script/scene/ug16.cpp
@@ -25,14 +25,14 @@
 namespace BladeRunner {
 
 void SceneScriptUG16::InitializeScene() {
-	if (Game_Flag_Query(552)) {
+	if (Game_Flag_Query(kFlagDR06toUG16)) {
 		Setup_Scene_Information(-270.76f, -34.88f, -504.02f, 404);
-		Game_Flag_Reset(552);
+		Game_Flag_Reset(kFlagDR06toUG16);
 	} else if (Game_Flag_Query(kFlagUG15toUG16a)) {
-		Setup_Scene_Information(-322.0f, -34.0f, -404.0f, 345);
+		Setup_Scene_Information(-322.0f,   -34.0f,  -404.0f, 345);
 		Game_Flag_Reset(kFlagUG15toUG16a);
 	} else {
-		Setup_Scene_Information(-318.0f, -34.0f, -216.0f, 340);
+		Setup_Scene_Information(-318.0f,   -34.0f,  -216.0f, 340);
 		Game_Flag_Reset(kFlagUG15toUG16b);
 	}
 
@@ -78,42 +78,57 @@ bool SceneScriptUG16::MouseClick(int x, int y) {
 }
 
 bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
-	if (Object_Query_Click("QUADPATCH05", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, 1, false, 0)) {
-		Actor_Face_Heading(kActorMcCoy, 870, false);
-		if (!Game_Flag_Query(597) && Game_Flag_Query(595)) {
-			Game_Flag_Set(597);
-			Delay(1000);
-			Actor_Voice_Over(3480, kActorVoiceOver);
-			Actor_Change_Animation_Mode(kActorMcCoy, 38);
-			Sound_Play(339, 100, 0, 0, 50);
-			Delay(1000);
-			Item_Pickup_Spin_Effect(948, 460, 287);
-			Actor_Voice_Over(2740, kActorVoiceOver);
-			Actor_Voice_Over(2750, kActorVoiceOver);
-			Actor_Voice_Over(2760, kActorVoiceOver);
-			Actor_Voice_Over(2770, kActorVoiceOver);
-			Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, -1);
-		} else {
-			Actor_Says(kActorMcCoy, 8523, 12);
-			Actor_Says(kActorMcCoy, 8635, 12);
+	if (Object_Query_Click("QUADPATCH05", objectName)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, true, false, 0)) {
+			Actor_Face_Heading(kActorMcCoy, 870, false);
+			if (!Game_Flag_Query(597)
+			 &&  Game_Flag_Query(595)
+			) {
+				Game_Flag_Set(597);
+				Delay(1000);
+				Actor_Voice_Over(3480, kActorVoiceOver);
+				Actor_Change_Animation_Mode(kActorMcCoy, 38);
+				Sound_Play(339, 100, 0, 0, 50);
+				Delay(1000);
+				Item_Pickup_Spin_Effect(948, 460, 287);
+				Actor_Voice_Over(2740, kActorVoiceOver);
+				Actor_Voice_Over(2750, kActorVoiceOver);
+				Actor_Voice_Over(2760, kActorVoiceOver);
+				Actor_Voice_Over(2770, kActorVoiceOver);
+				Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, -1);
+			} else {
+				Actor_Says(kActorMcCoy, 8523, 12);
+				Actor_Says(kActorMcCoy, 8635, 12);
+			}
+			return true;
 		}
-		return true;
 	}
-	if (Object_Query_Click("SCREEN 01", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, 1, false, 0)) {
-		Actor_Face_Heading(kActorMcCoy, 870, false);
-		if ((!Game_Flag_Query(595) && Actor_Query_Is_In_Current_Set(kActorLuther)) || Actor_Clue_Query(kActorMcCoy, kClueDNALutherLance) || Game_Flag_Query(568)) {
-			Actor_Says(kActorMcCoy, 8525, 12);
-			Actor_Says(kActorMcCoy, 8526, 12);
-			return false;
+
+	if (Object_Query_Click("SCREEN 01", objectName)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, true, false, 0)) {
+
+			Actor_Face_Heading(kActorMcCoy, 870, false);
+
+			if ((!Game_Flag_Query(595)
+			  &&  Actor_Query_Is_In_Current_Set(kActorLuther)
+			 )
+			 || Actor_Clue_Query(kActorMcCoy, kClueDNALutherLance)
+			 || Game_Flag_Query(568)
+			) {
+				Actor_Says(kActorMcCoy, 8525, 12);
+				Actor_Says(kActorMcCoy, 8526, 12);
+				return false;
+			}
+
+			Delay(2000);
+			Actor_Face_Heading(kActorMcCoy, 1016, false);
+			Delay(2000);
+			Actor_Says(kActorMcCoy, 5725, 14);
+			Delay(1000);
+			Item_Pickup_Spin_Effect(941, 418, 305);
+			Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, true, -1);
+			return true;
 		}
-		Delay(2000);
-		Actor_Face_Heading(kActorMcCoy, 1016, false);
-		Delay(2000);
-		Actor_Says(kActorMcCoy, 5725, 14);
-		Delay(1000);
-		Item_Pickup_Spin_Effect(941, 418, 305);
-		Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, true, -1);
-		return true;
 	}
 	return false;
 }
@@ -157,7 +172,7 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
-			Game_Flag_Set(551);
+			Game_Flag_Set(kFlagUG16toDR06);
 			Set_Enter(kSetDR06, kSceneDR06);
 		}
 		return true;
@@ -180,10 +195,14 @@ void SceneScriptUG16::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG16::PlayerWalkedIn() {
 	Game_Flag_Set(715);
+
 	if (!Game_Flag_Query(595)) {
 		Actor_Set_Goal_Number(kActorLuther, 403);
 	}
-	if (!Game_Flag_Query(556) && Actor_Query_Is_In_Current_Set(kActorLuther)) {
+
+	if (!Game_Flag_Query(556)
+	 &&  Actor_Query_Is_In_Current_Set(kActorLuther)
+	) {
 		Player_Loses_Control();
 		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 120.29f, -35.67f, 214.8f, 310, 0, false, 0);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -219,24 +238,33 @@ void SceneScriptUG16::sub_401D78() {
 	Dialogue_Menu_Clear_List();
 	DM_Add_To_List_Never_Repeat_Once_Selected(1400, 5, 6, 2);
 	DM_Add_To_List_Never_Repeat_Once_Selected(1410, 5, 4, 8);
-	if (Game_Flag_Query(600) || Game_Flag_Query(601)) {
+	if (Game_Flag_Query(600)
+	 || Game_Flag_Query(601)
+	) {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1420, 6, 4, 5);
 		DM_Add_To_List_Never_Repeat_Once_Selected(1430, 6, 4, 5);
 		DM_Add_To_List_Never_Repeat_Once_Selected(1440, 6, 4, 5);
 	}
-	if (Global_Variable_Query(49) > 1 && !Actor_Clue_Query(kActorMcCoy, kClueFolder)) {
+	if ( Global_Variable_Query(49) > 1
+	 && !Actor_Clue_Query(kActorMcCoy, kClueFolder)
+	 ) {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1450, 6, 4, 5);
 	}
 	if (Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1460, 6, 4, 5);
 	}
-	if (Actor_Clue_Query(kActorMcCoy, kClueDNATyrell) && !Actor_Clue_Query(kActorMcCoy, kClueFolder) && Game_Flag_Query(698)) {
+	if ( Actor_Clue_Query(kActorMcCoy, kClueDNATyrell)
+	 && !Actor_Clue_Query(kActorMcCoy, kClueFolder)
+	 &&  Game_Flag_Query(698)
+	) {
 		DM_Add_To_List_Never_Repeat_Once_Selected(1470, 6, 4, 5);
 	}
 	Dialogue_Menu_Add_DONE_To_List(1480);
+
 	Dialogue_Menu_Appear(320, 240);
 	int answer = Dialogue_Menu_Query_Input();
 	Dialogue_Menu_Disappear();
+
 	switch (answer) {
 	case 1400:
 		Actor_Says(kActorMcCoy, 5730, 13);
@@ -272,12 +300,14 @@ void SceneScriptUG16::sub_401D78() {
 			Actor_Modify_Friendliness_To_Other(kActorLuther, kActorMcCoy, -10);
 		}
 		break;
+
 	case 1410:
 		Actor_Says(kActorMcCoy, 5735, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
 		Actor_Says(kActorLance, 160, 17);
 		Actor_Says(kActorLuther, 200, 14);
 		break;
+
 	case 1420:
 		Actor_Says(kActorMcCoy, 5740, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -296,6 +326,7 @@ void SceneScriptUG16::sub_401D78() {
 		Actor_Says(kActorLance, 230, 17);
 		Actor_Clue_Acquire(kActorMcCoy, kClueLutherLanceInterview, true, kActorLuther);
 		break;
+
 	case 1430:
 		Actor_Says(kActorMcCoy, 5745, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -305,6 +336,7 @@ void SceneScriptUG16::sub_401D78() {
 		Actor_Says(kActorLuther, 290, 15);
 		Actor_Says(kActorLance, 260, 15);
 		break;
+
 	case 1440:
 		Actor_Says(kActorMcCoy, 5750, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -313,6 +345,7 @@ void SceneScriptUG16::sub_401D78() {
 		Actor_Says(kActorLuther, 310, 15);
 		Actor_Modify_Friendliness_To_Other(kActorLuther, kActorMcCoy, -5);
 		break;
+
 	case 1450:
 		Actor_Says(kActorMcCoy, 5755, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -331,6 +364,7 @@ void SceneScriptUG16::sub_401D78() {
 		Actor_Says(kActorLance, 330, 15);
 		Game_Flag_Set(698);
 		break;
+
 	case 1460:
 		Actor_Says(kActorMcCoy, 5760, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -342,6 +376,7 @@ void SceneScriptUG16::sub_401D78() {
 		Actor_Says(kActorMcCoy, 5840, 13);
 		Actor_Says(kActorLance, 380, 13);
 		break;
+
 	case 1470:
 		Actor_Says(kActorMcCoy, 5765, 13);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
@@ -365,6 +400,7 @@ void SceneScriptUG16::sub_401D78() {
 		Game_Flag_Set(597);
 		Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, kActorLuther);
 		break;
+
 	case 1480:
 		Actor_Says(kActorMcCoy, 4595, 14);
 		break;
diff --git a/engines/bladerunner/script/scene/ug17.cpp b/engines/bladerunner/script/scene/ug17.cpp
index afbe340..3d41e2a 100644
--- a/engines/bladerunner/script/scene/ug17.cpp
+++ b/engines/bladerunner/script/scene/ug17.cpp
@@ -25,9 +25,9 @@
 namespace BladeRunner {
 
 void SceneScriptUG17::InitializeScene() {
-	if (Game_Flag_Query(447)) {
+	if (Game_Flag_Query(kFlagTB03toUG17)) {
 		Setup_Scene_Information(1013.0f, 67.96f, -1892.0f, 525);
-		Game_Flag_Reset(447);
+		Game_Flag_Reset(kFlagTB03toUG17);
 	} else {
 		Setup_Scene_Information(1000.0f, 67.96f, -1539.0f, 0);
 	}
@@ -67,7 +67,7 @@ bool SceneScriptUG17::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG17::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG17toUG15);
@@ -75,16 +75,17 @@ bool SceneScriptUG17::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1013.0f, 67.96f, -1892.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1013.0f, 67.96f, -1892.0f, 0, true, false, 0)) {
 			Actor_Face_Heading(kActorMcCoy, 89, false);
 			if (Global_Variable_Query(kVariableChapter) == 5) {
 				Actor_Says(kActorMcCoy, 8522, 14);
 			} else {
-				Loop_Actor_Travel_Ladder(kActorMcCoy, 10, 1, 0);
+				Loop_Actor_Travel_Ladder(kActorMcCoy, 10, true, kAnimationModeIdle);
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
-				Game_Flag_Set(448);
+				Game_Flag_Set(kFlagUG17toTB03);
 				Set_Enter(kSetTB02_TB03, kSceneTB03);
 			}
 		}
diff --git a/engines/bladerunner/script/scene/ug18.cpp b/engines/bladerunner/script/scene/ug18.cpp
index 5afb87e..7d45274 100644
--- a/engines/bladerunner/script/scene/ug18.cpp
+++ b/engines/bladerunner/script/scene/ug18.cpp
@@ -26,36 +26,43 @@ namespace BladeRunner {
 
 void SceneScriptUG18::InitializeScene() {
 	Setup_Scene_Information(-684.71f, 0.0f, 171.59f, 0);
-	Game_Flag_Reset(434);
+	Game_Flag_Reset(kFlagUG13toUG18);
+
 	Scene_Exit_Add_2D_Exit(0, 0, 158, 100, 340, 3);
+
 	Ambient_Sounds_Add_Looping_Sound(105, 71, 0, 1);
-	Ambient_Sounds_Add_Looping_Sound(95, 45, 0, 1);
+	Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
-	Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(292, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(293, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(294, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(295, 2, 20, 25, 25, -100, 100, -100, 100, 0, 0);
-	Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(305, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(1, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(57, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(58, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(306, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(307, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(308, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(196, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(291, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(292, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(293, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(294, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(295, 2,  20, 25, 25, -100, 100, -100,  100, 0, 0);
+	Ambient_Sounds_Add_Sound(303, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(304, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(305, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(  1, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound( 57, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound( 58, 5,  50, 17, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(306, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(307, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(308, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(196, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(197, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(198, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(199, 5,  50, 27, 37, -100, 100, -101, -101, 0, 0);
+
 	Scene_Loop_Set_Default(4);
-	if (Game_Flag_Query(670) && !Game_Flag_Query(671) && Global_Variable_Query(kVariableChapter) == 4) {
+
+	if ( Game_Flag_Query(670)
+	 && !Game_Flag_Query(671)
+	 &&  Global_Variable_Query(kVariableChapter) == 4
+	) {
 		Actor_Set_Goal_Number(kActorGuzza, 300);
 		Actor_Set_Goal_Number(kActorClovis, 300);
 		Actor_Set_Goal_Number(kActorSadik, 300);
@@ -69,15 +76,19 @@ void SceneScriptUG18::SceneLoaded() {
 	Unobstacle_Object("OBSTACLE1", true);
 	Clickable_Object("MACHINE_01");
 	Unclickable_Object("MACHINE_01");
+
 	if (Game_Flag_Query(671)) {
 		Actor_Put_In_Set(kActorGuzza, kSetFreeSlotI);
 		Actor_Set_At_Waypoint(kActorGuzza, 41, 0);
-		if (Actor_Query_Which_Set_In(kActorSadik) == 89) {
+		if (Actor_Query_Which_Set_In(kActorSadik) == kSetUG18) {
 			Actor_Put_In_Set(kActorSadik, kSetFreeSlotA);
 			Actor_Set_At_Waypoint(kActorSadik, 33, 0);
 		}
 	}
-	if (Game_Flag_Query(670) && !Game_Flag_Query(671) && Global_Variable_Query(kVariableChapter) == 4) {
+	if ( Game_Flag_Query(670)
+	 && !Game_Flag_Query(671)
+	 &&  Global_Variable_Query(kVariableChapter) == 4
+	) {
 		Item_Add_To_World(91, 987, 89, -55.21f, 0.0f, -302.17f, 0, 12, 12, false, true, false, true);
 	}
 }
@@ -98,7 +109,7 @@ bool SceneScriptUG18::ClickedOnItem(int itemId, bool combatMode) {
 	if (itemId == 91) {
 		if (combatMode) {
 			Item_Remove_From_World(91);
-		} else if (!Loop_Actor_Walk_To_Item(kActorMcCoy, 91, 12, 1, false)) {
+		} else if (!Loop_Actor_Walk_To_Item(kActorMcCoy, 91, 12, true, false)) {
 			Item_Pickup_Spin_Effect(987, 368, 243);
 			Item_Remove_From_World(itemId);
 			Game_Flag_Set(703);
@@ -110,10 +121,10 @@ bool SceneScriptUG18::ClickedOnItem(int itemId, bool combatMode) {
 
 bool SceneScriptUG18::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.71f, 0.0f, 171.59f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.71f, 0.0f, 171.59f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
-			Game_Flag_Set(435);
+			Game_Flag_Set(kFlagUG18toUG13);
 			Set_Enter(kSetUG13, kSceneUG13);
 		}
 		return true;
@@ -150,9 +161,14 @@ void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 			Scene_Exits_Enable();
 			Actor_Set_Goal_Number(kActorGuzza, 306);
 		}
-	} else if (actorId == kActorSadik) {
+		return;
+	}
+
+	if (actorId == kActorSadik) {
 		if (newGoal == 302) {
-			if (Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy) > 55 && Game_Flag_Query(607)) {
+			if (Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy) > 55
+			 && Game_Flag_Query(607)
+			) {
 				sub_403588();
 			} else {
 				Actor_Set_Goal_Number(kActorSadik, 307);
@@ -168,14 +184,18 @@ void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 			Actor_Force_Stop_Walking(kActorMcCoy);
 			Actor_Change_Animation_Mode(kActorMcCoy, 48);
 			Player_Loses_Control();
-			Actor_Retired_Here(kActorMcCoy, 6, 6, 1, kActorSadik);
+			Actor_Retired_Here(kActorMcCoy, 6, 6, true, kActorSadik);
 		}
 	}
 }
 
 void SceneScriptUG18::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -488.71f, 0.0f, 123.59f, 0, 0, false, 0);
-	if (Game_Flag_Query(670) && !Game_Flag_Query(671) && Actor_Query_Is_In_Current_Set(kActorGuzza)) {
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -488.71f, 0.0f, 123.59f, 0, false, false, 0);
+
+	if ( Game_Flag_Query(670)
+	 && !Game_Flag_Query(671)
+	 &&  Actor_Query_Is_In_Current_Set(kActorGuzza)
+	) {
 		Scene_Exits_Disable();
 		sub_402734();
 		sub_403278();
@@ -270,12 +290,12 @@ void SceneScriptUG18::sub_402734() {
 	Actor_Says(kActorGuzza, 790, 3);
 	Actor_Says(kActorMcCoy, 5865, 12);
 	Actor_Says(kActorGuzza, 800, 3);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -357.13f, 0.0f, -44.47f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -357.13f, 0.0f, -44.47f, 0, false, false, 0);
 	Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 	Actor_Says(kActorMcCoy, 5870, 14);
 	Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
 	Actor_Start_Speech_Sample(kActorGuzza, 810);
-	Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, false, false, 0);
 	Actor_Says(kActorMcCoy, 5875, 13);
 	Actor_Says(kActorGuzza, 830, 3);
 	Actor_Says(kActorGuzza, 840, 12);
@@ -285,7 +305,7 @@ void SceneScriptUG18::sub_402734() {
 	Actor_Says(kActorMcCoy, 5885, 9);
 	Actor_Says(kActorMcCoy, 5890, 13);
 	Actor_Says(kActorGuzza, 870, 15);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -205.13f, 0.0f, -184.47f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -205.13f, 0.0f, -184.47f, 0, false, false, 0);
 	Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 	Actor_Says(kActorMcCoy, 5900, 15);
 	Actor_Says(kActorGuzza, 880, 13);
@@ -294,7 +314,7 @@ void SceneScriptUG18::sub_402734() {
 	Actor_Says(kActorMcCoy, 5915, 13);
 	Actor_Says(kActorGuzza, 890, 16);
 	Actor_Says(kActorMcCoy, 5920, 14);
-	Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, false, false, 0);
 	Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
 	Actor_Says(kActorGuzza, 900, 15);
 	Actor_Says(kActorGuzza, 910, 12);
@@ -308,7 +328,7 @@ void SceneScriptUG18::sub_402734() {
 	if (Game_Flag_Query(607)) {
 		Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 3);
 		Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 5);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, 0, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
 		Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 		Actor_Says(kActorMcCoy, 5960, 9);
 		Actor_Says(kActorMcCoy, 5965, 14);
@@ -342,7 +362,7 @@ void SceneScriptUG18::sub_402DE8() {
 }
 
 void SceneScriptUG18::sub_402F8C() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
 	Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 	Actor_Says(kActorMcCoy, 5945, 12);
 	Actor_Says(kActorGuzza, 1040, 15);
@@ -359,7 +379,7 @@ void SceneScriptUG18::sub_402F8C() {
 void SceneScriptUG18::sub_403114() {
 	Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 20);
 	Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 10);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
 	Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 	Actor_Says(kActorMcCoy, 5950, 16);
 	Actor_Says(kActorMcCoy, 5955, 14);
@@ -374,7 +394,7 @@ void SceneScriptUG18::sub_403278() {
 	ADQ_Flush();
 	Actor_Start_Speech_Sample(kActorClovis, 590);
 	Delay(500);
-	Loop_Actor_Walk_To_XYZ(kActorGuzza, 126.79f, 0.0f, -362.17f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorGuzza, 126.79f, 0.0f, -362.17f, 0, false, false, 0);
 	Actor_Face_Heading(kActorGuzza, 729, false);
 	Actor_Set_Goal_Number(kActorGuzza, 301);
 	ADQ_Add(kActorSadik, 350, 13);
diff --git a/engines/bladerunner/script/scene/ug19.cpp b/engines/bladerunner/script/scene/ug19.cpp
index 40097de..d8ae281 100644
--- a/engines/bladerunner/script/scene/ug19.cpp
+++ b/engines/bladerunner/script/scene/ug19.cpp
@@ -85,10 +85,10 @@ bool SceneScriptUG19::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG19::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.03f, 7.29f, -74.97f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.03f, 7.29f, -74.97f, 0, true, false, 0)) {
 			Actor_Face_Heading(kActorMcCoy, 256, false);
 			Footstep_Sound_Override_On(3);
-			Loop_Actor_Travel_Ladder(kActorMcCoy, 8, 1, 0);
+			Loop_Actor_Travel_Ladder(kActorMcCoy, 8, true, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -97,8 +97,9 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {
 		}
 		return true;
 	}
+
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, true, false, 0)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG19toUG14);
@@ -126,7 +127,7 @@ void SceneScriptUG19::PlayerWalkedIn() {
 	} else {
 		Game_Flag_Reset(kFlagMA07toUG19);
 		Footstep_Sound_Override_On(3);
-		Loop_Actor_Travel_Ladder(kActorMcCoy, 8, false, 0);
+		Loop_Actor_Travel_Ladder(kActorMcCoy, 8, false, kAnimationModeIdle);
 		Footstep_Sound_Override_Off();
 	}
 }





More information about the Scummvm-git-logs mailing list