Short:
Place
script in dfhack/scripts/, add
once-per-save ban-cooking tallow; ban-cooking honey; ban-cooking oil; ban-cooking seeds; ban-cooking brew; ban-cooking fruit; ban-cooking mill; ban-cooking thread; ban-cooking milk;
to your onMapLoad.init and don't ever forget doing it when returning to DF after a year long pause.
Long:
I'm sporadic DF player with months-long pauses between "sessions". Every time I'm trying to remember what was it one should always do when starting a fresh embark, were there any dfhack-commands to run? Every time I find something new, like `ban-cooking seeds` (so useful!).
There are those dfhack .init files, but sometimes we only want a command run once per fort, but unfortunately, there is no onNewGame.init (AFAIK).
But now we can do just this by placing all run-once-per-save commands in onMapLoad.init and don't have to think about them anymore.
If there is another way I'm unaware of, I'd really like to know.
I also don't yet know how do I hook into fortress abandoned (or created) events (those are when we want to reset the save state).
Update: the newest version shouldn't need resetting its state anymore: commands are saved per fortress (`site_id`) with `fortress_age` and world date associated, so new fortress, as well as an unretired one, are properly recognized.
pull request for discussion.
other pull request with simplified version of this.