Flame jets destroy anything on them when turned on

This commit is contained in:
Eevee (Evelyn Woods) 2020-12-16 21:01:47 -07:00
parent cace6d4180
commit 4d5c1b4332

View File

@ -1346,6 +1346,11 @@ const TILE_TYPES = {
draw_layer: DRAW_LAYERS.terrain,
activate(me, level) {
level.transmute_tile(me, 'flame_jet_on');
// If there's anything on us already, nuke it
let actor = me.cell.get_actor();
if (actor) {
me.type._kill(me, level, actor);
}
},
on_gray_button(me, level) {
me.type.activate(me, level);
@ -1366,10 +1371,10 @@ const TILE_TYPES = {
me.type.activate(me, level);
},
// Kill anything that shows up
// FIXME every tic, also kills every actor in the cell (mostly matters if you step on with
// fire boots and then drop them)
on_arrive(me, level, other) {
// Note that blocks, fireballs, and anything with fire boots are immune
// FIXME every tic, also kills every actor in the cell (mostly matters if something steps on
// with fire boots and then drops them, which is unlike fire)
_kill(me, level, other) {
// Note that (dirt?) blocks, fireballs, and anything with fire boots are immune
// TODO would be neat if this understood "ignores anything with fire immunity" but that
// might be a bit too high-level for this game
if (other.type.is_real_player) {
@ -1380,6 +1385,9 @@ const TILE_TYPES = {
level.transmute_tile(other, 'explosion');
}
},
on_arrive(me, level, other) {
this._kill(me, level, other);
},
},
// Buttons
button_blue: {