How can I prevent my civilian dwarves from drinking/eating from the military stockpiles?

I have a military training room which is off a corridor which branches off near the entrance to my base. To maximize training time, I have tables in the room, with food and drink stockpiles next to them. The problem is, because my main food/drink stockpiles and tables are much deeper in the mountain, any dwarf that is outside or near the entrance goes to the military stockpile when they get hungry/thirsty.

I've tried setting the corridor and the room to restricted, and bumped the cost up to 100, but apparently they ignore pathing costs when getting food/drink, so it does nothing. What can I do to make it so only the military dwarves can use those stockpiles and tables, while still allowing civilians to refill the stockpiles?


I'm afraid that currently there isn't one. When hungry or thirsty, dorfs will make a beeline to whatever source of food or booze is closest, weighed by preference for type of food (they'll go for prepared meals if there are any available before they eat something raw, and will walk a little further for their preferred type of food or booze if it's there to eat) even if there are enemies or hideous monsters in between them and the snack.

"Urist McDolt cancels eat: Interrupted by Goblin Pikeman."

[Seconds pass while Urist McDolt runs away from the goblin and gets out of sight]

"Urist McDolt cancels eat: Interrupted by Goblin Swordsman."

[repeat, until]

"Urist McDolt has starved to death."


A possible solution would be to create a locked door or drawbridge between your military section and the rest of the fortress.

Restrict civilians to a burrow outside the military area and your soldiers to a burrow within the military area. Then lock the door or raise the drawbridge, and un-restrict everyone again.

As long as your military have everything they need in their section they should be ok in their area.

You will run into an issue resupplying your food and drink stockpiles, so you will need to grant access to other dwarves from time to time when supplies run out.