v3.0.0: added a safety check to wall of light

This commit is contained in:
Evan Debenham
2025-01-29 19:50:04 -05:00
parent d828ee95de
commit bd338dd7e7

View File

@@ -193,19 +193,32 @@ public class WallOfLight extends TargetedClericSpell {
for (int i = 0; i < steps; i++) { for (int i = 0; i < steps; i++) {
if (leftDirY != 0) { if (leftDirY != 0) {
leftPos += leftDirY * Dungeon.level.width(); leftPos += leftDirY * Dungeon.level.width();
if (!Dungeon.level.insideMap(leftPos)){
break;
}
placeWall(leftPos, knockBackDir); placeWall(leftPos, knockBackDir);
} }
if (leftDirX != 0) { if (leftDirX != 0) {
leftPos += leftDirX; leftPos += leftDirX;
if (!Dungeon.level.insideMap(leftPos)){
break;
}
placeWall(leftPos, knockBackDir); placeWall(leftPos, knockBackDir);
} }
}
for (int i = 0; i < steps; i++) {
if (rightDirX != 0) { if (rightDirX != 0) {
rightPos += rightDirX; rightPos += rightDirX;
if (!Dungeon.level.insideMap(rightPos)){
break;
}
placeWall(rightPos, knockBackDir); placeWall(rightPos, knockBackDir);
} }
if (rightDirY != 0) { if (rightDirY != 0) {
rightPos += rightDirY * Dungeon.level.width(); rightPos += rightDirY * Dungeon.level.width();
if (!Dungeon.level.insideMap(rightPos)){
break;
}
placeWall(rightPos, knockBackDir); placeWall(rightPos, knockBackDir);
} }
} }