diff options
| -rw-r--r-- | engines/titanic/game/chicken_dispensor.cpp | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/engines/titanic/game/chicken_dispensor.cpp b/engines/titanic/game/chicken_dispensor.cpp index dd87848456..8a56f43fff 100644 --- a/engines/titanic/game/chicken_dispensor.cpp +++ b/engines/titanic/game/chicken_dispensor.cpp @@ -21,6 +21,7 @@   */  #include "titanic/game/chicken_dispensor.h" +#include "titanic/carry/chicken.h"  #include "titanic/core/project_item.h"  #include "titanic/pet_control/pet_control.h" @@ -92,9 +93,7 @@ bool CChickenDispensor::StatusChangeMsg(CStatusChangeMsg *msg) {  			playSound("z#400.wav");  		} else {  			playMovie(12, 16, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE); -			_dispensed = true;  		} -		_dispenseMode = DISPENSE_NONE;  		break;  	default: @@ -113,6 +112,17 @@ bool CChickenDispensor::MovieEndMsg(CMovieEndMsg *msg) {  		playSound("b#50.wav", 50);  		CActMsg actMsg("Dispense Chicken");  		actMsg.execute("Chicken"); + +		if (_dispenseMode == DISPENSE_HOT) { +			// A properly hot chicken is dispensed, no further ones will be +			// until the current one is used up, and the fuse in Titania's +			// fusebox is removed and replaced +			_dispenseMode = DISPENSE_NONE; +		} else { +			// WORKAROUND: If the fuse for the dispensor is removed in Titania's fusebox, +			// make the dispensed chicken already cold +			CChicken::_temperature = 0; +		}  	} else if (_dispensed) {  		// Chicken dispensed whilst dispensor is "disabled", which basically  		// spits the chicken out at high speed directly into the SuccUBus | 
