Endless Electrocution (0.5)

A shocker zombie spat lightning at a kitchen cluster

It contains beneath them an oven, a cupboard, two sections of table, floor, wall, broken window.

It is not decaying. The cloud appears to be permanent.

Troll science

became a normal cloud after save/quitting and re-entering. before than I used it to read, sew, and otherwise do things for several days.

I confirmed the bug in the version 0.5 stable.
When I load a game, I sometimes see a permanent smoke (a smoke
which doesn’t move or disappear). This doesn’t happen in a freshly
created world.

The game tracks the number of fields (including smokes) with
the variable field_count. If it is non-positive, the game skips
field processing (map::process_fields_in_submap()).
Although field_count is reset to 0 when the world is created
(map::generate()), it is not initialized when the game is loaded.

— a/mapbuffer.cpp
+++ b/mapbuffer.cpp
@@ -209,6 +209,8 @@
num_loaded, num_submaps);
int locx, locy, locz, turn;
submap* sm = new submap;

  • sm->active_item_count = 0;
  • sm->field_count = 0;
    fin >> locx >> locy >> locz >> turn;
    sm->turn_last_touched = turn;
    int turndif = (master_game ? int(master_game->turn) - turn : 0);