Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: "Accept no jobs in area" zone.  (Read 950 times)

Aquillion

  • Bay Watcher
    • View Profile
"Accept no jobs in area" zone.
« on: May 09, 2009, 04:34:19 am »

The "no-pathing-zone" thread got me thinking about this; this alternative seems much simpler to implement and more logical.

Basically, we just need a zone of some sort that the player can designate, within which no jobs are generated -- just treat all objects and structures within as forbidden, and prevent jobs for a target inside that area from entering the job queue.  I think this is how 'dwarves stay indoors' works?  This would be akin to forbidding everything in the area, but it would also cover everything new in it, without requiring constant monitoring on the player's part.  Perhaps it could also be easily turned off / on somehow.

An alternative / additional option would be to have a 'treat area as indoors' zone...  well, that name isn't so clear.  But the point is, a zone that counts as indoors for the purpose of the 'dwarves stay indoors' restriction, allowing dwarves to take jobs from that area even when 'dwarves stay indoors' is on, so, say, a well-protected outdoor farm can be made accessible while forbidding everything else.

This would only cover civilian jobs, so soldiers could still be ordered in there.

Of course, dwarves might still path through the 'forbidden' area -- but this is far, far easier for players to avoid with existing capabilities.  Dwarves and pets might also randomly wander in, but the chance of that is much lower.
« Last Edit: May 09, 2009, 04:37:52 am by Aquillion »
Logged
We don't want another cheap fantasy universe, we want a cheap fantasy universe generator. --Toady One

sweitx

  • Bay Watcher
  • Sun Berry McSunshine
    • View Profile
Re: "Accept no jobs in area" zone.
« Reply #1 on: May 09, 2009, 04:40:32 am »

This is a good idea.  A small refinement thou.
Add an order command that allow you to set something similar to "Obey No-Job Zone" and "Ignore No-Job Zone".  So you can designate a large swath of exterior land, and when siege come, switch to "Obey" mode, which auto suspend all current and new job entering the queue for the duration.  The designation should also have a shortcut, requesting to predesignate any location considered outside (or light and above ground) as no job zone.  This way you can save time by letting the program designate most area you don't want dwarf in while have the ability to clear up some area so they can still work under siege.
Logged
One of the toads decided to go for a swim in the moat - presumably because he could path through the moat to my dwarves. He is not charging in, just loitering in the moat.

The toad is having a nice relaxing swim.
The goblin mounted on his back, however, is drowning.

Derakon

  • Bay Watcher
    • View Profile
Re: "Accept no jobs in area" zone.
« Reply #2 on: May 09, 2009, 12:56:42 pm »

I would suggest doing this via activity zones, which can already be toggled on and off. The only issue there is that I suspect you'd want to do this for very large areas, and I think activity zones have a maximum size.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

LordChess

  • Bay Watcher
    • View Profile
Re: "Accept no jobs in area" zone.
« Reply #3 on: May 09, 2009, 01:30:14 pm »

A simpler option would be the reverse of this. You create "Safe job zones" (i.e. throughout your fortress), and there is a standing order available to toggle "Only use safe job zones" on or off.

Or allow activity zones that do the "dwarves treat space as indoors" thing.
Logged