Alpha 19 d3188 - Water Bug


Information Bug:
develop-3188 (x64)
stonehearth/components/water/water_component.lua:794: assertion failed!
stack traceback:
radiant/modules/common.lua:237: in function ‘report_traceback’
radiant/modules/common.lua:248: in function <radiant/modules/common.lua:242>
[C]: in function ‘assert’
stonehearth/components/water/water_component.lua:794: in function ‘_remove_height’
stonehearth/components/water/water_component.lua:261: in function ‘_remove_water’
stonehearth/components/water/water_component.lua:473: in function ‘fill_channel_from_water_region’
…hearth/services/server/hydrology/channel_manager.lua:561: in function ‘callback_fn’
…hearth/services/server/hydrology/channel_manager.lua:194: in function ‘each_channel_ascending’
…hearth/services/server/hydrology/channel_manager.lua:559: in function ‘fill_channels_to_capacity’
…arth/services/server/hydrology/hydrology_service.lua:768: in function ‘_on_tick’
…arth/services/server/hydrology/hydrology_service.lua:52: in function ‘fn’

radiant/controllers/time_tracker_controller.lua:82: in function ‘set_now’
…hearth/services/server/calendar/calendar_service.lua:379: in function ‘_on_event_loop’
…hearth/services/server/calendar/calendar_service.lua:37: in function ‘instance’
radiant/modules/events.lua:291: in function <radiant/modules/events.lua:285>
[C]: in function ‘xpcall’
radiant/modules/common.lua:257: in function ‘xpcall’
radiant/modules/events.lua:285: in function ‘trigger’
radiant/modules/events.lua:398: in function ‘_trigger_gameloop’
radiant/modules/events.lua:446: in function ‘_update’
radiant/server.lua:61: in function <radiant/server.lua:58>

This bug is fairly common when water tries to fill a space from multiple entry points at once. Even when it doesn’t throw an error, the game struggles to equalise the water in this situation.

Hopefully the team can give water some more attention soon :slight_smile: In the meantime, if you want to fill in moats I’d suggest you keep one end sealed until the entire moat is filled, and then remove the last layer of blocks to join it up. Alternatively, use a drawbridge or similar to cover over the barricade which stops the water “circling back” onto itself.

Fortunately, you don’t lose any filling speed by having the water flow in from only one end.

2 Likes

Adding @albert! Is this covered by some of your pending water investigations?

1 Like

Yes, I’ll be looking at all the outstanding issues with water.

1 Like