aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic')
-rw-r--r--engines/titanic/carry/mouth.cpp5
-rw-r--r--engines/titanic/npcs/titania.cpp5
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);