v0.6.2: freezing and fire now fully cancel eachother
This commit is contained in:
parent
aeb53585d1
commit
051dddf835
|
@ -42,6 +42,8 @@ public class Fire extends Blob {
|
||||||
int cell;
|
int cell;
|
||||||
int fire;
|
int fire;
|
||||||
|
|
||||||
|
Freezing freeze = (Freezing)Dungeon.level.blobs.get( Freezing.class );
|
||||||
|
|
||||||
boolean observe = false;
|
boolean observe = false;
|
||||||
|
|
||||||
for (int i = area.left-1; i <= area.right; i++) {
|
for (int i = area.left-1; i <= area.right; i++) {
|
||||||
|
@ -49,6 +51,12 @@ public class Fire extends Blob {
|
||||||
cell = i + j*Dungeon.level.width();
|
cell = i + j*Dungeon.level.width();
|
||||||
if (cur[cell] > 0) {
|
if (cur[cell] > 0) {
|
||||||
|
|
||||||
|
if (freeze != null && freeze.cur[cell] > 0){
|
||||||
|
freeze.clear(cell);
|
||||||
|
off[cell] = cur[cell] = 0;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
burn( cell );
|
burn( cell );
|
||||||
|
|
||||||
fire = cur[cell] - 1;
|
fire = cur[cell] - 1;
|
||||||
|
@ -61,7 +69,7 @@ public class Fire extends Blob {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else if (freeze == null || freeze.cur[cell] < 0) {
|
||||||
|
|
||||||
if (flamable[cell]
|
if (flamable[cell]
|
||||||
&& (cur[cell-1] > 0
|
&& (cur[cell-1] > 0
|
||||||
|
@ -75,6 +83,8 @@ public class Fire extends Blob {
|
||||||
fire = 0;
|
fire = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
fire = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
volume += (off[cell] = fire);
|
volume += (off[cell] = fire);
|
||||||
|
|
|
@ -49,6 +49,12 @@ public class Freezing extends Blob {
|
||||||
cell = i + j*Dungeon.level.width();
|
cell = i + j*Dungeon.level.width();
|
||||||
if (cur[cell] > 0) {
|
if (cur[cell] > 0) {
|
||||||
|
|
||||||
|
if (fire != null && fire.cur[cell] > 0){
|
||||||
|
fire.clear(cell);
|
||||||
|
off[cell] = cur[cell] = 0;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
Char ch = Actor.findChar( cell );
|
Char ch = Actor.findChar( cell );
|
||||||
if (ch != null) {
|
if (ch != null) {
|
||||||
if (ch.buff(Frost.class) != null){
|
if (ch.buff(Frost.class) != null){
|
||||||
|
@ -62,8 +68,6 @@ public class Freezing extends Blob {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fire != null) fire.clear(cell);
|
|
||||||
|
|
||||||
Heap heap = Dungeon.level.heaps.get( cell );
|
Heap heap = Dungeon.level.heaps.get( cell );
|
||||||
if (heap != null) heap.freeze();
|
if (heap != null) heap.freeze();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user