diff --git a/desktop_version/src/Logic.cpp b/desktop_version/src/Logic.cpp index a6661b93..b0a2b96a 100644 --- a/desktop_version/src/Logic.cpp +++ b/desktop_version/src/Logic.cpp @@ -470,7 +470,7 @@ void gamelogic() game.gravitycontrol = game.savegc; graphics.textboxremove(); - map.resetplayer(); + map.resetplayer(true); } } } diff --git a/desktop_version/src/Map.cpp b/desktop_version/src/Map.cpp index af2d4deb..7165b6cf 100644 --- a/desktop_version/src/Map.cpp +++ b/desktop_version/src/Map.cpp @@ -802,6 +802,11 @@ void mapclass::showship() } void mapclass::resetplayer() +{ + resetplayer(false); +} + +void mapclass::resetplayer(const bool player_died) { bool was_in_tower = towermode; if (game.roomx != game.saverx || game.roomy != game.savery) @@ -821,8 +826,11 @@ void mapclass::resetplayer() obj.entities[i].yp = game.savey; obj.entities[i].dir = game.savedir; obj.entities[i].colour = 0; - game.lifeseq = 10; - obj.entities[i].invis = true; + if (player_died) + { + game.lifeseq = 10; + obj.entities[i].invis = true; + } if (!game.glitchrunnermode) { obj.entities[i].size = 0; diff --git a/desktop_version/src/Map.h b/desktop_version/src/Map.h index 2e17902a..26fffb9a 100644 --- a/desktop_version/src/Map.h +++ b/desktop_version/src/Map.h @@ -69,6 +69,7 @@ public: void showship(); + void resetplayer(const bool player_died); void resetplayer(); void warpto(int rx, int ry , int t, int tx, int ty); diff --git a/desktop_version/src/Script.cpp b/desktop_version/src/Script.cpp index 07a42105..a7f41fdc 100644 --- a/desktop_version/src/Script.cpp +++ b/desktop_version/src/Script.cpp @@ -2675,7 +2675,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -2701,7 +2700,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); graphics.fademode = 4; @@ -2742,7 +2740,6 @@ void scriptclass::startgamemode( int t ) map.cameramode = 0; map.colsuperstate = 0; } - game.lifeseq = 0; graphics.fademode = 4; break; case 3: @@ -2770,7 +2767,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); graphics.fademode = 4; @@ -2800,7 +2796,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); graphics.fademode = 4; @@ -2830,7 +2825,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); graphics.fademode = 4; @@ -2860,7 +2854,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); graphics.fademode = 4; @@ -2890,7 +2883,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); graphics.fademode = 4; @@ -2926,7 +2918,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); graphics.fademode = 4; @@ -2952,7 +2943,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -2982,7 +2972,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3019,7 +3008,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); music.play(11); @@ -3056,7 +3044,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3093,7 +3080,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3130,7 +3116,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3167,7 +3152,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3201,7 +3185,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3235,7 +3218,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3269,7 +3251,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3303,7 +3284,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3328,7 +3308,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); graphics.fademode = 4; @@ -3365,7 +3344,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); if(ed.levmusic>0){ @@ -3404,7 +3382,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); @@ -3451,7 +3428,6 @@ void scriptclass::startgamemode( int t ) { map.resetplayer(); } - game.lifeseq = 0; map.gotoroom(game.saverx, game.savery); map.initmapdata(); ed.generatecustomminimap();