How to prevent the civilian dwarves from drinking/eating from the military stockpiles

dwarf-fortress

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?

Best Answer

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."