That would be amazing, I think this is a great idea. I suppose care would need to be taken to not allow some items (such as a bed to reality) to move. It might also be nice to have a furniture store, that sells things like bookshelves in a variety of orientations and styles.
I've pushed the workaround to cph/fix-moving-ball-spells so it doesn't get lost in the shuffle.
Add work around for MOVING_BALL spells not working after commit 54e11c21cf
Document starvation bug reproduction steps
Fix 54e11c21cf251d24ea38d76e28f6923dc28ce7cc was to not decrement the food if there was a duration set, so that the food value did not end up negative.
I think this is where the other part of the issue is, but we all investigated and fixed this a while back: After eating the food, it calls fix_object(), which then adds up all the negative food variables of type FORCE, and uses that to set the player digestion. switch (tmp->type) { ... case FORCE: ... op->contr->digestion += tmp->stats.food; ...
Document starvation bug reproduction steps
Proposed fix is inside fire_arch_from_position(), and removes setting the duration field of certain spells. --- a/server/spell_util.cpp +++ b/server/spell_util.cpp @@ -693,9 +693,9 @@ int fire_arch_from_position(object *op, object *caster, int16_t x, int16_t y, in } tmp->stats.dam = spell->stats.dam+SP_level_dam_adjust(caster, spell); - tmp->duration = spell->duration+SP_level_duration_adjust(caster, spell); - /* code in time.c uses food for some things, duration for others */ - tmp->stats.food =...