diff options
-rw-r--r-- | engines/fullpipe/constants.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene08.cpp | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index af495eec32..77968b68b5 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -208,6 +208,7 @@ namespace Fullpipe { #define MV_MAN_TURN_SUD 1089 #define MV_MAN6_TAKEBALL 2691 #define MV_MAN6_THROWBALL 2692 +#define MV_MAN8_BADLUCK 783 #define MV_MAN8_SITDOWN 2968 #define MV_MANHDL_HANDLEDOWN 630 #define MV_MANHDL_HANDLEUP 631 @@ -453,6 +454,7 @@ namespace Fullpipe { #define ST_MAN_UP 449 #define ST_MAN6_BALL 2688 #define ST_MAN8_FLYDOWN 771 +#define ST_MAN8_HANDSUP 773 #define ST_MOM_SITS 659 #define ST_MOM_STANDS 658 #define ST_NBL_NORM 1076 diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp index 1f2d4bc4cc..1452744b7a 100644 --- a/engines/fullpipe/scenes/scene08.cpp +++ b/engines/fullpipe/scenes/scene08.cpp @@ -187,7 +187,25 @@ void sceneHandler08_checkEndArcade() { } void sceneHandler08_badLuck() { - warning("STUB: sceneHandler08_badLuck()"); + g_fp->_currentScene->getPictureObjectById(PIC_SC8_LADDER, 0)->_flags &= 0xFFFB; + + g_fp->_aniMan->changeStatics2(ST_MAN8_HANDSUP); + g_fp->_aniMan->setOXY(376, 280); + g_fp->_aniMan->_priority = 10; + + MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact()); + + ExCommand *ex = new ExCommand(g_fp->_aniMan->_id, 1, MV_MAN8_BADLUCK, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags |= 2; + ex->_keyCode = g_fp->_aniMan->_okeyCode; + mq->addExCommandToEnd(ex); + + mq->setFlags(mq->getFlags() | 1); + mq->chain(0); + + g_fp->setObjectState(sO_StairsUp_8, g_fp->getObjectEnumState(sO_StairsUp_8, sO_NotBroken)); + + g_vars->scene08_var01 = 0; } void sceneHandler08_calcOffset() { |