From 0e8f3d79c4044e5f5a1cf1ec0c68a60978159862 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 31 Jul 2001 21:01:04 +0000 Subject: [PATCH] --- source/game/game.cpp | 10 +++++++++- source/player/pmdead.cpp | 7 +++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/source/game/game.cpp b/source/game/game.cpp index cd3102aa6..94ec7faf4 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -623,7 +623,15 @@ void CGameScene::think_playing(int _frames) #endif else if (s_restartLevel) { - if(m_player->getLivesLeft()>=0) + if(getLevelNumber()==5) + { + // Bonus level.. go back to map after death + GameState::setNextScene(&MapScene); + s_readyToExit=true; + s_levelFinished=false; + CFader::setFadingOut(); + } + else if(m_player->getLivesLeft()>=0) { respawnLevel(); } diff --git a/source/player/pmdead.cpp b/source/player/pmdead.cpp index b15c493bd..b2d7f104c 100644 --- a/source/player/pmdead.cpp +++ b/source/player/pmdead.cpp @@ -131,8 +131,11 @@ void CPlayerModeDead::think() if((m_deadTime>DEATH_DELAY&&m_player->getPadInputDown()&(PI_JUMP|PI_FIRE))|| m_deadTime>DEATH_TIMEOUT) { - // Take a life off.. - CGameSlotManager::getSlotData()->m_lives--; + if(GameScene.getLevelNumber()!=5) + { + // Take a life off.. + CGameSlotManager::getSlotData()->m_lives--; + } CGameScene::restartlevel(); m_killed=true;