From 6bf198946ce8ab89e4776953128d5db1364e383b Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 28 May 2024 11:58:41 +0200 Subject: [PATCH] chainspilling lava slimes --- attack.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/attack.cpp b/attack.cpp index bfe39258..3f5fcb51 100644 --- a/attack.cpp +++ b/attack.cpp @@ -340,6 +340,10 @@ EX eWall conditional_flip_slime(bool flip, eWall t) { return t; } +EX void chainspill(cell *c) { + if(c->wall == waMagma && c->monst == moSlimeNextTurn) killMonster(c, moNone, 0); + } + EX void spillfix(cell* c, eWall t, int rad) { if(c->wall == waTemporary) { changes.ccell(c); @@ -348,6 +352,7 @@ EX void spillfix(cell* c, eWall t, int rad) { if(rad) for(auto p: adj_minefield_cells_full(c)) { spillfix(p.c, conditional_flip_slime(p.mirrored, t), rad-1); } + chainspill(c); } EX void spill(cell* c, eWall t, int rad) { @@ -362,6 +367,7 @@ EX void spill(cell* c, eWall t, int rad) { si.second.spill_b > si.second.spill_a ? waFloorB : isAlchAny(si.second.orig) ? si.second.orig : waNone; + chainspill(c); } }