Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: How to disable labors for a playable civ?  (Read 1442 times)

King Kitteh

  • Bay Watcher
  • [SAVAGE][CRAZED]
    • View Profile
How to disable labors for a playable civ?
« on: January 05, 2016, 07:02:40 pm »

I'm making a mod which makes some animal men have tribal-like civilizations. I'd like to make them playable but I'm having problems with restricting their labors.

For example: I don't want them to be able to grow food in farm plots, but I want them to be able to gather food, and butcher, and so on.

But when I remove planter from their permitted civ jobs in the entity file, it doesn't stop me selecting in during gameplay. I've found that not permitting all the labors in a catergory will not allow me to select that category. But this doesn't help as I need some of the farming labors.

Is there anyway I can do this? I've never used DFhack, could that work?  :-\
Logged
goodnight, speep tighht, don't let the bedbugs bite

King Kitteh

  • Bay Watcher
  • [SAVAGE][CRAZED]
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #1 on: January 06, 2016, 12:59:13 am »

Does anyone know if this is possible?

Can someone atleast tell me if it isn't possible so I don't waste my time  :(
Logged
goodnight, speep tighht, don't let the bedbugs bite

Smak64

  • Bay Watcher
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #2 on: January 06, 2016, 01:23:49 am »

I can say for sure it's possible. I homebrewed a mod that allows elf fortresses (Because irony and the ability to cause self-inflicted magma demise.), and my biggest problem was trying to figure out how to get the little buggers to chop down a tree.
But in the end, they did.

Restricting labors can be done by removing the relevant [PERMITTED_JOB] entry in the entity file. For restricting farming, you'd want to remove [PERMITTED_JOB:PLANTER] from the civ you're creating. This means that this civ will never be able to create farms, nor will they be able to gain skill in Farming (fields) as they aren't allowed to do it. However, since [PERMITTED_JOB:HERBALIST] is still in, they can harvest whatever plants they please.
Logged

King Kitteh

  • Bay Watcher
  • [SAVAGE][CRAZED]
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #3 on: January 06, 2016, 01:32:43 am »

I did remove [PERMITTED_JOB:PLANTER]. The thing is I'm making them playable (in fortress mode), and the game still allows the player to assign them to planting and building farms even with it removed from the entity file. I want to have it removed from the labor list so that the player can't do planting at all.

However the only way I can seem to remove it from the labor list is to remove the entire category, which won't do because I need herbalists  :-\
Logged
goodnight, speep tighht, don't let the bedbugs bite

Teneb

  • Bay Watcher
  • (they/them) Penguin rebellion
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #4 on: January 06, 2016, 10:47:21 am »

However the only way I can seem to remove it from the labor list is to remove the entire category, which won't do because I need herbalists  :-\
This is correct, yes.

Maybe you can remove individual stuff with DFHack, but I'm not one of the wizards.
Logged
Monstrous Manual: D&D in DF
Quote from: Tack
What if “slammed in the ass by dead philosophers” is actually the thing which will progress our culture to the next step?

jaked122

  • Bay Watcher
  • [PREFSTRING:Lurker tendancies]
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #5 on: January 06, 2016, 12:22:23 pm »

If removing PERMITTED_LABOR from entity_standard.txt(or whatever it is you're using at the moment) doesn't do it, then I doubt that there's any means of doing it whatsoever.

King Kitteh

  • Bay Watcher
  • [SAVAGE][CRAZED]
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #6 on: January 06, 2016, 04:44:36 pm »

Oh well, that's a pity. Guess I'll just have to compromise.

Thanks anyway  :(
Logged
goodnight, speep tighht, don't let the bedbugs bite

Zangi

  • Bay Watcher
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #7 on: January 06, 2016, 07:29:25 pm »

Try removing from Entity:
   [INDOOR_FARMING]
   [OUTDOOR_FARMING]
   [OUTDOOR_GARDENS]
   [INDOOR_GARDENS]
Logged
All life begins with Nu and ends with Nu...  This is the truth! This is my belief! ... At least for now...
FMA/FMA:B Recommendation

Trainzack

  • Bay Watcher
  • The universe is, and we are.
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #8 on: January 06, 2016, 08:53:43 pm »

Try removing from Entity:
   [INDOOR_FARMING]
   [OUTDOOR_FARMING]
   [OUTDOOR_GARDENS]
   [INDOOR_GARDENS]

I think that those only affect what they bring in caravans.

King Kitteh

  • Bay Watcher
  • [SAVAGE][CRAZED]
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #9 on: January 06, 2016, 09:18:58 pm »

Quote
Try removing from Entity:
   [INDOOR_FARMING]
   [OUTDOOR_FARMING]
   [OUTDOOR_GARDENS]
   [INDOOR_GARDENS]

This means they won't have the seeds and crops for farming on embark, (I think). But it doesn't stop people from farming with gathered or traded seeds.

It doesn't really matter anyway. I've instead allowed players to farm, but made it so that the animal men they never gain skill in it. So they'll have terrible returns making farming a bad choice.
It makes sense atleast, the animal people should be able to put seeds in the ground, but not know how to sustain the crops well.
Logged
goodnight, speep tighht, don't let the bedbugs bite

Teneb

  • Bay Watcher
  • (they/them) Penguin rebellion
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #10 on: January 07, 2016, 03:31:48 pm »

Quote
Try removing from Entity:
   [INDOOR_FARMING]
   [OUTDOOR_FARMING]
   [OUTDOOR_GARDENS]
   [INDOOR_GARDENS]

This means they won't have the seeds and crops for farming on embark, (I think). But it doesn't stop people from farming with gathered or traded seeds.

It doesn't really matter anyway. I've instead allowed players to farm, but made it so that the animal men they never gain skill in it. So they'll have terrible returns making farming a bad choice.
It makes sense atleast, the animal people should be able to put seeds in the ground, but not know how to sustain the crops well.
I think that unless you are doing some challenge thing, you should let the player pick if they want to roleplay or not. So, if you (the modder) don't want them farming, just tank their skill gains and remove embark seeds, but if the player really wants farming they can still get seeds through other means.
Logged
Monstrous Manual: D&D in DF
Quote from: Tack
What if “slammed in the ass by dead philosophers” is actually the thing which will progress our culture to the next step?

Rydel

  • Bay Watcher
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #11 on: January 08, 2016, 09:26:56 am »

In Sorcerer's My Little Pony mod, I think he stopped the ponies from eating meat by making it so no animals give meat when butchered.  Would it be possible to make no plants actually give seeds when eaten/brewed/cooked/etc without stopping them from growing wildly?  Does the game actually check if they produce seeds before spawning them?

EDIT: Looks like this should work - Muck Root doesn't have a SEED line or [USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE] section. It still grows naturally, but there's no way to get seeds from it. Same for Bloated Tubers, Kobold Bulbs, and Valley Herbs.

Of course, this solution is only useful if NO playable civs should be able to plant, as none of the civs will have access to any seeds.
And I don't know if this will affect their ability to survive world gen.
« Last Edit: January 08, 2016, 09:37:13 am by Rydel »
Logged

milo christiansen

  • Bay Watcher
  • Something generic here
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #12 on: January 08, 2016, 12:17:59 pm »

You want to restrict farms? Simple.

Rubble has a DFHack script that allows you to remove items from the build list (in "Libs/Change Build List" I think). You can use that script to remove farms quite easily (once you figure out what the ID numbers are for farmplots).
Logged
Rubble 8 - The most powerful modding suite in existence!
After all, coke is for furnaces, not for snorting.
You're not true dwarven royalty unless you own the complete 'Signature Collection' baby-bone bedroom set from NOKEAS

King Kitteh

  • Bay Watcher
  • [SAVAGE][CRAZED]
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #13 on: January 08, 2016, 06:59:46 pm »

Quote
Rubble has a DFHack script that allows you to remove items from the build list

Thanks, this will actually prove really helpful. Not just for farming. I also wanted to restrict their use of traps to only cage traps, but before it was only all or nothing. This will hopefully fix that  :D

EDIT: I'm a complete noob, where can I find the script? Does it come with DFhack? I've never really used DFhack before  :-\
« Last Edit: January 08, 2016, 07:03:13 pm by King Kitteh »
Logged
goodnight, speep tighht, don't let the bedbugs bite

milo christiansen

  • Bay Watcher
  • Something generic here
    • View Profile
Re: How to disable labors for a playable civ?
« Reply #14 on: January 08, 2016, 07:13:54 pm »

The script comes with Rubble (see sig for link), specifically it is part of the "Libs/Change Build List" addon (which is found at "addons/Libs/Change Build List"). There should be a file named "addon.md" with some documentation.

Using this script without Rubble is non-trivial, don't even try unless you know what you are doing! (the script depends on some special DFHack features that Rubble installs)
Logged
Rubble 8 - The most powerful modding suite in existence!
After all, coke is for furnaces, not for snorting.
You're not true dwarven royalty unless you own the complete 'Signature Collection' baby-bone bedroom set from NOKEAS
Pages: [1] 2