diff --git a/desktop_version/src/Logic.cpp b/desktop_version/src/Logic.cpp index c1456d20..082ba220 100644 --- a/desktop_version/src/Logic.cpp +++ b/desktop_version/src/Logic.cpp @@ -1033,42 +1033,7 @@ void gamelogic() } //Finally: Are we changing room? - if (map.warpx && map.warpy) - { - for (size_t i = 0; i < obj.entities.size(); i++) - { - if(obj.entities[i].type<50 //Don't warp warp lines - && obj.entities[i].size < 12) //Don't wrap SWN enemies - { - if (obj.entities[i].xp <= -10) - { - obj.entities[i].xp += 320; - } - else if (obj.entities[i].xp > 310) - { - obj.entities[i].xp -= 320; - } - } - } - - for (size_t i = 0; i < obj.entities.size(); i++) - { - - if(obj.entities[i].type<50 //Don't warp warp lines - && obj.entities[i].size < 12) //Don't wrap SWN enemies - { - if (obj.entities[i].yp <= -12) - { - obj.entities[i].yp += 232; - } - else if (obj.entities[i].yp > 226) - { - obj.entities[i].yp -= 232; - } - } - } - } - else if (map.warpx) + if (map.warpx) { for (size_t i = 0; i < obj.entities.size(); i++) { @@ -1100,20 +1065,9 @@ void gamelogic() } } } - - int player = obj.getplayer(); - if (game.door_down > -2 && obj.entities[player].yp >= 238) - { - obj.entities[player].yp -= 240; - map.gotoroom(game.roomx, game.roomy + 1); - } - if (game.door_up > -2 && obj.entities[player].yp < -2) - { - obj.entities[player].yp += 240; - map.gotoroom(game.roomx, game.roomy - 1); - } } - else if (map.warpy) + + if (map.warpy) { for (size_t i = 0; i < obj.entities.size(); i++) { @@ -1128,7 +1082,10 @@ void gamelogic() } } } + } + if (map.warpy && !map.warpx) + { for (size_t i = 0; i < obj.entities.size(); i++) { @@ -1145,20 +1102,9 @@ void gamelogic() } } } - - int player = obj.getplayer(); - if (game.door_left > -2 && obj.entities[player].xp < -14) - { - obj.entities[player].xp += 320; - map.gotoroom(game.roomx - 1, game.roomy); - } - if (game.door_right > -2 && obj.entities[player].xp >= 308) - { - obj.entities[player].xp -= 320; - map.gotoroom(game.roomx + 1, game.roomy); - } } - else + + if (!map.warpy) { //Normal! Just change room int player = obj.getplayer(); @@ -1172,6 +1118,12 @@ void gamelogic() obj.entities[player].yp += 240; map.gotoroom(game.roomx, game.roomy - 1); } + } + + if (!map.warpx) + { + //Normal! Just change room + int player = obj.getplayer(); if (game.door_left > -2 && obj.entities[player].xp < -14) { obj.entities[player].xp += 320;