diff options
-rw-r--r-- | engines/titanic/carry/mouth.cpp | 5 | ||||
-rw-r--r-- | engines/titanic/npcs/titania.cpp | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/engines/titanic/carry/mouth.cpp b/engines/titanic/carry/mouth.cpp index d750fc969e..1b2830b99e 100644 --- a/engines/titanic/carry/mouth.cpp +++ b/engines/titanic/carry/mouth.cpp @@ -74,6 +74,11 @@ bool CMouth::PETGainedObjectMsg(CPETGainedObjectMsg *msg) { _field13C = true; } + // WORKAROUND: If Mouth is removed from Titania after inserting, + // message the Titania control so it can be flagged as removed + CTakeHeadPieceMsg headpieceMsg(getName()); + headpieceMsg.execute("TitaniaControl"); + return true; } diff --git a/engines/titanic/npcs/titania.cpp b/engines/titanic/npcs/titania.cpp index 887a72de55..d3e3395fc8 100644 --- a/engines/titanic/npcs/titania.cpp +++ b/engines/titanic/npcs/titania.cpp @@ -174,8 +174,9 @@ bool CTitania::ActMsg(CActMsg *msg) { workingMsg3._value = _speechCentre ? "Working" : "Random"; } - if (_centralCore && _eye1 && _eye2 && _ear1 && _ear2 && _nose && _mouth - && _speechCentre && _olfactoryCentre && _auditoryCentre) { + if (_centralCore && _eye1 && _eye2 && _ear1 && _ear2 && _nose + && _mouth && _visionCentre && _speechCentre + && _olfactoryCentre && _auditoryCentre) { CProximity prox(Audio::Mixer::kSpeechSoundType); playSound("z#47.wav", prox); |