Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Help- variable features within a race without castes  (Read 659 times)

Quailman

  • Bay Watcher
    • View Profile
Help- variable features within a race without castes
« on: November 19, 2012, 04:20:12 pm »

I am creating a mod which features a race similar in many ways to DnD Tieflings.  I want them to have a chance of having any combination of different features and mutations at birth.  For example, one might have a tail, another might have horns and claws, another might smell faintly of brimstone, and another might have all of the above.  I am pretty new to modding DF, but I understand that castes seem to be the primary method of doing this sort of thing.  However, it also seems that I would have to create millions of castes for this race if I wanted it to be possible for members of this race to have any possible combination of these mutations.

So I guess what I am asking is:
Is there a method of having specific traits appear or not appear randomly without creating a million different castes?

And if so, would these traits be able to include attacks, venoms, material emissions etc.?
Logged

i2amroy

  • Bay Watcher
  • Cats, ruling the world one dwarf at a time
    • View Profile
Re: Help- variable features within a race without castes
« Reply #1 on: November 19, 2012, 04:21:23 pm »

So I guess what I am asking is:
Is there a method of having specific traits appear or not appear randomly without creating a million different castes?
No.
Quote
And if so, would these traits be able to include attacks, venoms, material emissions etc.?
Yes.
Logged
Quote from: PTTG
It would be brutally difficult and probably won't work. In other words, it's absolutely dwarven!
Cataclysm: Dark Days Ahead - A fun zombie survival rougelike that I'm dev-ing for.

Lycaeon

  • Bay Watcher
    • View Profile
Re: Help- variable features within a race without castes
« Reply #2 on: November 19, 2012, 04:27:07 pm »

While you can make a creature with any different combination of attacks, venoms, and material emissions, you need to define a caste for each combination. So no randomization, although you can approximate it somewhat if you give the creature a larger number of castes.
Logged
“I want to calm the storm, but the war is in your eyes.
How can I shield you from the horror and the lies?
When all that once held meaning is shattered, ruined, bleeding
And the whispers in the darkness tell me we won’t survive?”

Quailman

  • Bay Watcher
    • View Profile
Re: Help- variable features within a race without castes
« Reply #3 on: November 19, 2012, 04:29:55 pm »

Well, thanks for the responses.  It looks like I am going to have to cut down greatly on the number of traits I wanted.

It seems as if it might be possible to have a great range of body sizes within a race without using castes.  Am I wrong about that? And can the same thing be done with body parts?  For example, is it possible to have large claws on some members and small, useless claws on others?
Logged

i2amroy

  • Bay Watcher
  • Cats, ruling the world one dwarf at a time
    • View Profile
Re: Help- variable features within a race without castes
« Reply #4 on: November 19, 2012, 04:34:31 pm »

You can change body overall sizing fairly easily, but ti doesn't have any effect on the utility of a given part (so regardless of if they have small or large claws they will still be able to claw with them just as well).

I would like to point out that the only things that need to be defined in a given caste are the things that are different in that caste from all the others. So if all of your castes have two eyes then you can define that part of the body outside of the castes and it will be applied to all. As such it is very easy to crank out a large number of castes in a very short amount of time, as each one may only need a few lines of raws to do. And if you really want to speed things up you can make creature variations for the different types. Then just combine them (so the winged version would have the winged creature variation and the claw one would have a claw variation, then the winged&clawed one would just have both creature variations applied. As such most castes can be easily reduced down to 2-5 lines of work, most of which can be easily copy/pasted from caste to caste.
Logged
Quote from: PTTG
It would be brutally difficult and probably won't work. In other words, it's absolutely dwarven!
Cataclysm: Dark Days Ahead - A fun zombie survival rougelike that I'm dev-ing for.

Lycaeon

  • Bay Watcher
    • View Profile
Re: Help- variable features within a race without castes
« Reply #5 on: November 19, 2012, 04:41:45 pm »

Variations in body size are managed by the [BODY_APPEARANCE_MODIFIER:ATTRIBUTE:lowest:lower:low:median:high:higher:highest], with the attributes being HEIGHT, BROADNESS, and LENGTH. This can be defined within each caste or for the whole creature; i2amroy's response sums up caste vs. creature differences nicely.

Different body parts like claws can be caste-defined through the [BODY:body_parts] tokens, though this takes more effort as it involves the body_detail_plan and body part files. A quick and dirty way of making claws useless would be giving the claw attack to one set of castes but not others.
Logged
“I want to calm the storm, but the war is in your eyes.
How can I shield you from the horror and the lies?
When all that once held meaning is shattered, ruined, bleeding
And the whispers in the darkness tell me we won’t survive?”

Quailman

  • Bay Watcher
    • View Profile
Re: Help- variable features within a race without castes
« Reply #6 on: November 19, 2012, 05:38:40 pm »

Sorry for the delay, I had to go buy food.

I appreciate the help.  Thanks everybody.
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Help- variable features within a race without castes
« Reply #7 on: November 19, 2012, 06:07:05 pm »

You could have an interaction that has a small chance of adding random tokens from the list under IT_REQUIRES here. That should do for some tokens.