From 1062113f73fcb345fdb8ccee5ceaf5f75fefbabd Mon Sep 17 00:00:00 2001 From: Fredrik Ljungdahl Date: Wed, 5 Feb 2020 22:02:00 +0100 Subject: [PATCH] Make tiles in tower mode behave consistently with tower tileset elsewhere Previously, in tower mode, being inside walls would just kill you, unlike being inside walls outside tower mode, which was somewhat confusing. Also, spikes behaved differently with regards to invincibility, being unsolid in towers but solid outside them. This does not change the behaviour of the "edge" spikes in towers. --- desktop_version/src/Entity.cpp | 6 ------ desktop_version/src/Map.cpp | 4 ++++ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/desktop_version/src/Entity.cpp b/desktop_version/src/Entity.cpp index f2b43123..82a1d34a 100644 --- a/desktop_version/src/Entity.cpp +++ b/desktop_version/src/Entity.cpp @@ -37,12 +37,6 @@ bool entityclass::checktowerspikes(int t, mapclass& map) } } } - if (temprect.w >= 12) - { - tpx1 = getgridpoint(temprect.x + 6); - if (map.collide(tpx1, tempy)) return true; - if (map.collide(tpx1, temph)) return true; - } return false; } diff --git a/desktop_version/src/Map.cpp b/desktop_version/src/Map.cpp index e21d5dc0..c63aeaa3 100644 --- a/desktop_version/src/Map.cpp +++ b/desktop_version/src/Map.cpp @@ -699,6 +699,10 @@ bool mapclass::collide(int x, int y) if (towermode) { if (tower.at(x, y, 0) >= 12 && tower.at(x, y, 0) <= 27) return true; + if (invincibility) + { + if (tower.at(x, y, 0) >= 6 && tower.at(x, y, 0) <= 11) return true; + } } else if (tileset == 2) {