v2.1.0: magical fire can now burn heaps and ignores internal/water tiles

This commit is contained in:
Evan Debenham
2023-05-03 13:08:52 -04:00
parent f39c357192
commit e949746025

View File

@@ -207,6 +207,13 @@ public class MagicalFireRoom extends SpecialRoom {
|| cur[cell+1] > 0
|| cur[cell-Dungeon.level.width()] > 0
|| cur[cell+Dungeon.level.width()] > 0) {
//ignore cells which are behind the magical fire or water
if (Dungeon.level.map[cell] == Terrain.EMPTY_SP
|| Dungeon.level.map[cell] == Terrain.WATER){
continue;
}
//spread fire to nearby flammable cells
if (Dungeon.level.flamable[cell] && (fire == null || fire.volume == 0 || fire.cur[cell] == 0)){
GameScene.add(Blob.seed(cell, 4, Fire.class));
@@ -217,6 +224,11 @@ public class MagicalFireRoom extends SpecialRoom {
if (ch != null && !ch.isImmune(getClass())) {
Buff.affect(ch, Burning.class).reignite(ch, 4f);
}
//burn adjacent heaps, but only on outside cells
if (Dungeon.level.heaps.get(cell) != null){
Dungeon.level.heaps.get(cell).burn();
}
}
off[cell] = cur[cell];