aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/scenes/scene27.cpp9
2 files changed, 9 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index b5b60d4451..8e1ec4d7ca 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1099,6 +1099,7 @@ namespace Fullpipe {
#define MV_MAN27_THROWBET 1989
#define PIC_SC27_HITZONE2 4756
#define QU_DRV_GIVEVENT 2040
+#define QU_MID_CLEANVENT 4583
#define SND_27_027 4128
#define SND_27_044 4687
#define ST_DRV_VENT 1996
diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp
index 6110e7c425..4593f905ad 100644
--- a/engines/fullpipe/scenes/scene27.cpp
+++ b/engines/fullpipe/scenes/scene27.cpp
@@ -181,7 +181,14 @@ void sceneHandler27_winArcade() {
}
void sceneHandler27_takeVent() {
- warning("STUB: sceneHandler27_takeVent()");
+ if (g_fp->getObjectState(sO_Maid) == g_fp->getObjectEnumState(sO_Maid, sO_WithSwab)) {
+ if (g_vars->scene27_maid->isIdle()) {
+ if (g_vars->scene27_maid->_flags & 4) {
+ g_vars->scene27_maid->changeStatics2(ST_MID_SWAB2);
+ g_vars->scene27_maid->startMQIfIdle(QU_MID_CLEANVENT, 1);
+ }
+ }
+ }
}
void sceneHandler27_showNextBat() {