aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h3
-rw-r--r--engines/fullpipe/scenes/scene38.cpp14
2 files changed, 16 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 1de35560b4..a4aef5a5ea 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1316,8 +1316,11 @@ namespace Fullpipe {
#define MV_GLV_LOOKMAN 2167
#define ST_DMS_3 3319
#define ST_DMS_4 3320
+#define ST_GLV_HAMMER 2156
#define ST_GLV_NOHAMMER 2159
#define ST_MLS_LEFT2 2291
+#define QU_GLV_TOSMALL 2208
+#define QU_GLV_TOSMALL_NOHMR 2209
#define QU_MLS_TURNR 2221
#define QU_SC38_SHOWBOTTLE 2199
#define QU_SC38_SHOWBOTTLE_ONTABLE 2838
diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp
index f73aa7c782..13c5dea262 100644
--- a/engines/fullpipe/scenes/scene38.cpp
+++ b/engines/fullpipe/scenes/scene38.cpp
@@ -106,7 +106,19 @@ void sceneHandler38_propose() {
}
void sceneHandler38_point() {
- warning("STUB: sceneHandler38_point()");
+ if ((!g_vars->scene38_boss->_movement && ((g_vars->scene38_boss->_flags & 4) || !(g_vars->scene38_boss->_flags & 2)))
+ && g_vars->scene38_var05 > 0
+ && g_fp->_rnd->getRandomNumber(32767) < 32767) {
+ if (g_vars->scene38_boss->_statics->_staticsId == ST_GLV_HAMMER) {
+ chainQueue(QU_GLV_TOSMALL, 0);
+ g_vars->scene38_var05 = 0;
+ } else {
+ if (g_vars->scene38_boss->_statics->_staticsId == ST_GLV_NOHAMMER)
+ chainQueue(QU_GLV_TOSMALL_NOHMR, 0);
+
+ g_vars->scene38_var05 = 0;
+ }
+ }
}
void sceneHandler38_hammerKick() {