diff options
-rw-r--r-- | engines/fullpipe/constants.h | 3 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene38.cpp | 14 |
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() { |