v3.0.0: added a safety check to wall of light
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user