diff options
| -rw-r--r-- | engines/bladerunner/game_constants.h | 4 | ||||
| -rw-r--r-- | engines/bladerunner/script/ai/dektora.cpp | 8 | ||||
| -rw-r--r-- | engines/bladerunner/script/ai/insect_dealer.cpp | 7 | 
3 files changed, 17 insertions, 2 deletions
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h index 7140243053..e412adf944 100644 --- a/engines/bladerunner/game_constants.h +++ b/engines/bladerunner/game_constants.h @@ -552,7 +552,7 @@ enum Flags {  	kFlagHC02toHC04 = 110,  	kFlagPS07KleinTalkClues = 111,  	// 112 is never used -	kFlagScorpionsInAR02 = 113, // // Re-purposed. Original: 113 is never used +	kFlagScorpionsInAR02 = 113,   // Re-purposed. Original: 113 is never used  	kFlagRC03toRC01 = 114,  	kFlagRC01toRC03 = 115,  	kFlagRC03toAR02 = 116, @@ -1165,7 +1165,7 @@ enum Flags {  	kFlagZubenBountyPaid = 723,  	kFlagUG15BridgeBreaks = 724,  	kFlagCT11DogWrapperAvailable = 725, -	kFlagAR02Entered = 726, +	kFlagAR02Entered = 726,  // Now: never checked (superseded by new kFlagScorpionsInAR02). Original: used to track if McCoy visited AR02 in order to remove scorpion's cage item if Dektora buys it  	kFlagPS04WeaponsOrderForm = 727,  	kFlagDR01Visited = 728,                     // Re-purposed. Original: 728 is never used  	kFlagNR08DektoraShow = 729 diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp index 0d76f10b2c..94bdfe37e3 100644 --- a/engines/bladerunner/script/ai/dektora.cpp +++ b/engines/bladerunner/script/ai/dektora.cpp @@ -56,10 +56,18 @@ bool AIScriptDektora::Update() {  			 &&  Player_Query_Current_Scene() != kSceneAR01  			 &&  Player_Query_Current_Scene() != kSceneAR02  			) { +#if BLADERUNNER_ORIGINAL_BUGS  				if (Game_Flag_Query(kFlagAR02Entered)) {  					Item_Remove_From_World(kItemScorpions);  				}  				Game_Flag_Set(kFlagAR02DektoraBoughtScorpions); +#else +				if (Game_Flag_Query(kFlagScorpionsInAR02)) { +					Item_Remove_From_World(kItemScorpions); +					Game_Flag_Reset(kFlagScorpionsInAR02); +				} +				Game_Flag_Set(kFlagAR02DektoraBoughtScorpions); +#endif  			}  		}  		return true; diff --git a/engines/bladerunner/script/ai/insect_dealer.cpp b/engines/bladerunner/script/ai/insect_dealer.cpp index 245aebbafe..41e2c26dc2 100644 --- a/engines/bladerunner/script/ai/insect_dealer.cpp +++ b/engines/bladerunner/script/ai/insect_dealer.cpp @@ -113,7 +113,14 @@ bool AIScriptInsectDealer::GoalChanged(int currentGoalNumber, int newGoalNumber)  		if (!Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {  			Game_Flag_Set(kFlagAR02DektoraBoughtScorpions); +#if BLADERUNNER_ORIGINAL_BUGS  			Item_Remove_From_World(kItemScorpions); +#else +			if (Game_Flag_Query(kFlagScorpionsInAR02)) { +				Game_Flag_Reset(kFlagScorpionsInAR02); +				Item_Remove_From_World(kItemScorpions); +			} +#endif  		}  	}  | 
