diff --git a/source/player/player.cpp b/source/player/player.cpp index 5ade5e215..8abd9ccee 100644 --- a/source/player/player.cpp +++ b/source/player/player.cpp @@ -2541,7 +2541,7 @@ int CPlayer::moveVertical(int _moveDistance) if(m_currentMode!=PLAYER_MODE_DEAD) { // Lock the camera, kill the player and let him fall to his death.. - setMode(PLAYER_MODE_DEAD); + dieYouPorousFreak(DEATHTYPE__FALL_TO_DEATH); m_lockCamera=true; } } diff --git a/source/player/player.h b/source/player/player.h index 26a057754..7480c44cd 100644 --- a/source/player/player.h +++ b/source/player/player.h @@ -138,6 +138,7 @@ typedef enum DEATHTYPE__DRYUP, DEATHTYPE__SQUASH, DEATHTYPE__LIQUID, + DEATHTYPE__FALL_TO_DEATH, } DEATH_TYPE; typedef enum diff --git a/source/player/pmdead.cpp b/source/player/pmdead.cpp index a7b852f65..cb84cdb76 100644 --- a/source/player/pmdead.cpp +++ b/source/player/pmdead.cpp @@ -76,8 +76,15 @@ void CPlayerModeDead::enter() case DEATHTYPE__LIQUID: deathAnim=ANIM_SPONGEBOB_DEATHFORWARDS; break; + case DEATHTYPE__FALL_TO_DEATH: + deathAnim=-1; + break; + } + + if(deathAnim!=-1) + { + m_player->setAnimNo(deathAnim); } - m_player->setAnimNo(deathAnim); } /*---------------------------------------------------------------------- @@ -89,9 +96,12 @@ void CPlayerModeDead::enter() void CPlayerModeDead::think() { m_deadTime++; - if(m_deadTimegetAnimFrameCount()) + if(m_player->getDeathType()!=DEATHTYPE__FALL_TO_DEATH) { - m_player->setAnimFrame(m_deadTime); + if(m_deadTimegetAnimFrameCount()) + { + m_player->setAnimFrame(m_deadTime); + } } m_player->moveVertical(5);