Bay 12 Games Forum

Please login or register.

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

Author Topic: Tinkering with the Dwarven Soul - A Cheat Thread  (Read 13241 times)

Sabin Stargem

  • Bay Watcher
    • View Profile
Tinkering with the Dwarven Soul - A Cheat Thread
« on: May 04, 2010, 10:42:19 pm »

Here is my attempt at manipulating the Souls in the raws, with the hope of basically creating the Omega Dwarf.  Below is my notes and a copy-paste section of text that you can use in the standard_creatures.txt file, in which you replace the existing dwarf attributes.  You can also utilize this code with the Castes, if you want to specify what parts of your society get what.  The most easily adjustable portion of the castes is with the Males and Females.


ATT_RANGE dictates the level of effectiveness an being receives in an ability.  5,000 is the max.  Please note that the elves get "5,000" in the memory stat, for the entire range.  Humans get a default of 1,000, and presumably the same goes for any other creature that doesn't have a specified range.


Below, the ATT_RATES tag basically determines how quickly you gain and lose an attribute.  The first value indicates cost.  The lower it is, the better.  The other values are for dictating the rate of decay, so keeping them at "NONE" basically nullifies that aspect.  Don't use "0" for the first value, it crashes the game.  Default for the first value is 500.  If there is no number, the default will be used.  I believe that you can use negative numbers, which further increases the gain of attributes, since the ceiling to the next attribute level is lowered by the negative percentage you use.

ATT_RATE (Default is 500:2:3:2]
 * ATTRIBUTE Token
 * cost to improve     
 * unused counter rate
 * rust counter rate
 * demotion counter rate

-5000:NONE:NONE:NONE


The game comes pre-stocked with several sets of attribute ranges, some better than others.  The signs that come after the numeral ranges indicate what level that range represents, but has no effect in of themselves.

0:0:0:0:0:0:0]                       unattainable
0:100:200:300:400:450:500]           ---
0:400:600:750:800:900:1100]           --
150:600:800:900:1000:1100:1500]        -
450:950:1150:1250:1350:1550:2250]      +
700:1200:1400:1500:1600:1800:2500]    ++
1250:1500:1750:2000:2500:3000:5000]  +++
5000:5000:5000:5000:5000:5000:5000]  max


Skill rates is a tag that grants you a % of skill improvement.  The first number is the percentage, while the last three slots indicate decay.  Furthermore, I believe that it is capped at 5,000%. Default is 100, but creatures with Slow Learner tag will get half of that.  This part seems to work fairly well, I had my female dwarves at Legendary while the guys were only Talented.

SKILL_RATE (Default is 100:8:8:16]
 * % of improvement points you get
 * unused counter rate
 * rust counter rate
 * demotion counter rate

[SKILL_RATES:5000:NONE:NONE:NONE]



PHYS_ATT_CAP_PERC
MENT_ATT_CAP_PERC

The default value is 200% of a dwarf's median+starting stats.  This tag caps the amount of improvement to be had in an attribute. Below, I have cranked it up to 5,000%, hoping that it would let all dwarves achieve maximum attributes.

ex
[PHYS_ATT_CAP_PERC:STRENGTH:5000]
[MENT_ATT_CAP_PERC:FOCUS:5000]

Below is the code I am currently using.  It seems to somewhat work, most notably in Skill_Rates, but I have seen dwarves using the custom ATT_RANGES get better stuff than other dwarves.  I used Notepad++ to ensure proper indentation and placement within the .txt file.    I suspect that my setup isn't optimal by any means, but there you go! 

Instructions for use:

1) Open standard_creature.txt
2) Find dwarven stats, which ought to resemble the set below.
3) Delete those stats and replace with the new set.
4) Done.

      [SKILL_RATES:5000:NONE:NONE:NONE]
      [PHYS_ATT_RANGE:STRENGTH:1250:1500:1750:2000:2500:3000:5000]           +++     
      [PHYS_ATT_RATES:STRENGTH:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:STRENGTH:5000:NONE:NONE:NONE]
      [PHYS_ATT_RANGE:1250:1500:1750:2000:2500:3000:5000]                 +++
      [PHYS_ATT_RATES:TOUGHNESS:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:TOUGHNESS:5000:NONE:NONE:NONE]
      [PHYS_ATT_RANGE:AGILITY:1250:1500:1750:2000:2500:3000:5000]           +++
      [PHYS_ATT_RATES:AGILITY:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:AGILITY:5000:NONE:NONE:NONE]
      [PHYS_ATT_RANGE:ENDURANCE:1250:1500:1750:2000:2500:3000:5000]           +++
      [PHYS_ATT_RATES:ENDURANCE:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:ENDURANCE:5000]
      [PHYS_ATT_RANGE:RECUPERATION:1250:1500:1750:2000:2500:3000:5000]        +++       
      [PHYS_ATT_RATES:RECUPERATION:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:RECUPERATION:5000]
      [PHYS_ATT_RANGE:DISEASE_RESISTANCE:1250:1500:1750:2000:2500:3000:5000]  +++
      [PHYS_ATT_RATES:DISEASE_RESISTANCE:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:DISEASE_RESISTANCE:5000]
      [MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]              +++             
      [MENT_ATT_RATES:FOCUS:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:FOCUS:5000]
      [MENT_ATT_RANGE:CREATIVITY:1250:1500:1750:2000:2500:3000:5000]        +++         
      [MENT_ATT_RATES:CREATIVITY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:CREATIVITY:5000]
      [MENT_ATT_RANGE:PATIENCE:1250:1500:1750:2000:2500:3000:5000]           +++     
      [MENT_ATT_RATES:PATIENCE:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:PATIENCE:5000]
      [MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]           +++             
      [MENT_ATT_RATES:MEMORY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:MEMORY:5000]
      [MENT_ATT_RANGE:SPATIAL_SENSE:1250:1500:1750:2000:2500:3000:5000]        +++
      [MENT_ATT_RATES:SPATIAL_SENSE:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:SPATIAL_SENSE:5000]
      [MENT_ATT_RANGE:EMPATHY:1250:1500:1750:2000:2500:3000:5000]           +++
      [MENT_ATT_RATES:EMPATHY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:EMPATHY:5000]
      [MENT_ATT_RANGE:MUSICALITY:1250:1500:1750:2000:2500:3000:5000]        +++
      [MENT_ATT_RATES:MUSICALITY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:MUSICALITY:5000]
      [MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]  +++
      [MENT_ATT_RATES:ANALYTICAL_ABILITY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:ANALYTICAL_ABILITY:5000]
      [MENT_ATT_RANGE:LINGUISTIC_ABILITY:1250:1500:1750:2000:2500:3000:5000]  +++
      [MENT_ATT_RATES:LINGUISTIC_ABILITY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:LINGUISTIC_ABILITY:5000]
      [MENT_ATT_RANGE:INTUITION:1250:1500:1750:2000:2500:3000:5000]           +++
      [MENT_ATT_RATES:INTUITION:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:INTUITION:5000]
      [MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]           +++
      [MENT_ATT_RATES:WILLPOWER:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:WILLPOWER:5000]
      [MENT_ATT_RANGE:SOCIAL_AWARENESS:1250:1500:1750:2000:2500:3000:5000]     +++
      [MENT_ATT_RATES:SOCIAL_AWARENESS:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:SOCIAL_AWARENESS:5000]
      [MENT_ATT_RANGE:KINESTHETIC_SENSE:1250:1500:1750:2000:2500:3000:5000]     +++
      [MENT_ATT_RATES:KINESTHETIC_SENSE:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:KINESTHETIC_SENSE:5000]




I used a combination of Arena and Fortress testing to examine the effects of my changes.  With the code above for Arena testing, my female dwarves are average in all abilities until they excercise an attribute, which becomes super-dwarvenly.  Fortress testing is much slower and I am having trouble with nailing down the exact effects.  Still, I think this bit of research ought to help a little.   :)


TRAINING METHODS

List of Tasks for training attributes:

Digging  :  Strength, Endurance
Wagon  :  Empathy, Social Awareness  (Just let the dwarves mill around the wagon for a few minutes or to socialize.)
Sleeping:  Recuperation

Unknown:  Toughness, Memory, Disease, Musicality, Patience, Focus, Creativity, Kinethetic sense, Linguistics, Will Power, Intuition, Memory, Spatial Sense.



OTHER CHEATS

Editing world_gen.txt, alter the tag below for more embark points.
[EMBARK_POINTS:XXXXXX]

Place the tag below near the SWIM_SPEED tag to increase the speed of your dwarves.
[SPEED:1]

Remove the Maxage tag to make your dwarves no longer die of old age.  Alternatively, you can dictate the range within which your dwarves will die.

[MAXAGE:120:160]




CREDIT:
Thanks to Deon, who has confirmed the nature of the Attribute Comments.
TKTOM was quite helpful in demystifying the indents.
Magma Wiki had some of the information that is now here.  The Skill_Rate tag is especially important.
Bricks - correcting descriptors.
Shaoulstoul - Embark points.
« Last Edit: May 06, 2010, 08:04:09 pm by Sabin Stargem »
Logged

DracoGriffin

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #1 on: May 04, 2010, 10:55:23 pm »

Nice information! Not sure what there is to do to help.

Hopefully this'll help out with the shoddy attribute increases compared to 40d.
Logged

Sabin Stargem

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #2 on: May 04, 2010, 11:21:28 pm »

I am looking forward to the future version of Dwarf Therapist for info-gathering purposes, since it is currently broken where analyzing the attributes is concerned.  Keeping track of information is my biggest issue right now, which is why divining the ATT_RATES aspect is difficult.  In any case, I hope the information helps you.  :)
Logged

Shaostoul

  • Bay Watcher
  • Expanding your universe.
    • View Profile
    • Shaostoul Patreon
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #3 on: May 04, 2010, 11:31:19 pm »

Well what I've noticed is...

when you have xxx:xxx:xxx:xxx:xxx
A dwarf for example will spawn with one of the numbers, which is random. The left number is more or less "weakest or extremely susceptible" and the right is "strongest or best or w/e"

If you make all values 5000 for example after a genned world and you embarked already, your 7 dwarfs will list as extremely weak. Your next migrant wave will have the 5000 stats.

I know this bit because I was playing around with it... my first 20 something dwarfs are listed as extremely weak...
Logged
I mod games and educate others how to do so as well, if you'd like to learn join my Discord and you can join a bunch of like minded individuals. (Presently modding Space Engineers and No Man's Sky.)

Looking into modding DF? This forum guide & wiki guide may still be a good start!

Sabin Stargem

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #4 on: May 04, 2010, 11:50:38 pm »

Ah, I think that might explain some of the discrepancies in my testing so far.  I never before tried to get a migrant wave, instead I had my dwarves do socializing or digging in order to monitor their stat changes.  However, the arena testing had my dwarves change very easily when created, which seems to be different from embarked dwarves.  This is very good to know!
Logged

Deon

  • Bay Watcher
  • 💀 💀 💀 💀 💀
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #5 on: May 05, 2010, 02:08:53 am »

Also "max", "+++" etc. you called "tags" are just comments. Anything not in square brackets is a comment (well except for the header).
Logged
▬(ஜ۩۞۩ஜ)▬
✫ DF Wanderer ✫ - the adventure mode crafting and tweaks
✫ Cartographer's Lounge ✫ - a custom worldgen repository

Sabin Stargem

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #6 on: May 05, 2010, 02:48:24 am »

Modified my post to indicate that.  Thank you for the assist.
Logged

TKTom

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #7 on: May 05, 2010, 06:40:53 am »

 I don't think that indentations have any meaning in the raws. However: some tags need to go after other tags, and without the previous tag they are useless or dangerous. Thus it makes sense to have tags which are relying on another tag be indented under their parent, just so it's easier to see that they are both there.

 And, in finding out what the cost means you should have some attributes to 1 and others to 5000 and check for a clear corelation between which attributes gain quickly and which slowly. Setting them all to one or theother and then making some kind of qualitative judgement as to which setup was better or worse and by how much is bound to introduce error.
Logged

Sabin Stargem

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #8 on: May 05, 2010, 07:07:10 am »

Examining the ATT_RATES with a another test, I found that "1" is the best value.  Females with a value of 1 gained attributes much faster than Males weighted at 5,000.  I will edit the first post to reflect this. 

EDIT: TKTom replied while I was making this.  Thank you for the information.  By the way, how do I tell in what order a tag goes, when there isn't an example to follow?  The CAP_PERC tag isn't used for any creatures that I am aware of, so I am not sure where it goes in relation to ATT_RATES and ATT_RANGE.

Furthermore, I recommend using the following set of values if you like having your detailed display to show more attributes.  This is because stock attribute sets seem to be detected by the game from the start, while unofficial sets or the maxed set will not be display until a change has occurred.  This affects each stat individually, so it would take a long time to make unofficial sets fully revealed in Dwarf Fortress mode.

1250:1500:1750:2000:2500:3000:5000]  +++


EDIT:  Negative numbers can be used with ATT_RATE, so I recommend the use of -5000.
« Last Edit: May 05, 2010, 07:42:00 am by Sabin Stargem »
Logged

TKTom

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #9 on: May 05, 2010, 07:19:44 am »

EDIT: TKTom replied while I was making this.  Thank you for the information.  By the way, how do I tell in what order a tag goes, when there isn't an example to follow?  The CAP_PERC tag isn't used for any creatures that I am aware of, so I am not sure where it goes in relation to ATT_RATES and ATT_RANGE.

 Well, that is the question. I expect it can go anywhere after the range has been defined. I know of no way to find out beyond doubt.
Logged

Sabin Stargem

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #10 on: May 05, 2010, 07:55:50 am »

Here is the latest setup I am going with.  I believe that you can max out any attribute within two minutes if you got the right exercise.  The -5,000 really helps with the rates. If any of you know what tasks can improve an attribute, please mention it.   :)




      [SKILL_RATES:5000:NONE:NONE:NONE]
      [PHYS_ATT_RANGE:STRENGTH:1250:1500:1750:2000:2500:3000:5000]           +++     
      [PHYS_ATT_RATES:STRENGTH:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:STRENGTH:-5000:NONE:NONE:NONE]
      [PHYS_ATT_RANGE:1250:1500:1750:2000:2500:3000:5000]                 +++
      [PHYS_ATT_RATES:TOUGHNESS:5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:TOUGHNESS:-5000:NONE:NONE:NONE]
      [PHYS_ATT_RANGE:AGILITY:1250:1500:1750:2000:2500:3000:5000]           +++
      [PHYS_ATT_RATES:AGILITY:5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:AGILITY:-5000:NONE:NONE:NONE]
      [PHYS_ATT_RANGE:ENDURANCE:1250:1500:1750:2000:2500:3000:5000]           +++
      [PHYS_ATT_RATES:ENDURANCE:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:ENDURANCE:5000]
      [PHYS_ATT_RANGE:RECUPERATION:1250:1500:1750:2000:2500:3000:5000]        +++       
      [PHYS_ATT_RATES:RECUPERATION:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:RECUPERATION:5000]
      [PHYS_ATT_RANGE:DISEASE_RESISTANCE:1250:1500:1750:2000:2500:3000:5000]  +++
      [PHYS_ATT_RATES:DISEASE_RESISTANCE:-5000:NONE:NONE:NONE]
      [PHYS_ATT_CAP_PERC:DISEASE_RESISTANCE:5000]
      [MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]              +++             
      [MENT_ATT_RATES:FOCUS:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:FOCUS:5000]
      [MENT_ATT_RANGE:CREATIVITY:1250:1500:1750:2000:2500:3000:5000]        +++         
      [MENT_ATT_RATES:CREATIVITY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:CREATIVITY:5000]
      [MENT_ATT_RANGE:PATIENCE:1250:1500:1750:2000:2500:3000:5000]           +++     
      [MENT_ATT_RATES:PATIENCE:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:PATIENCE:5000]
      [MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]           +++             
      [MENT_ATT_RATES:MEMORY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:MEMORY:5000]
      [MENT_ATT_RANGE:SPATIAL_SENSE:1250:1500:1750:2000:2500:3000:5000]        +++
      [MENT_ATT_RATES:SPATIAL_SENSE:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:SPATIAL_SENSE:5000]
      [MENT_ATT_RANGE:EMPATHY:1250:1500:1750:2000:2500:3000:5000]           +++
      [MENT_ATT_RATES:EMPATHY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:EMPATHY:5000]
      [MENT_ATT_RANGE:MUSICALITY:1250:1500:1750:2000:2500:3000:5000]        +++
      [MENT_ATT_RATES:MUSICALITY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:MUSICALITY:5000]
      [MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]  +++
      [MENT_ATT_RATES:ANALYTICAL_ABILITY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:ANALYTICAL_ABILITY:5000]
      [MENT_ATT_RANGE:LINGUISTIC_ABILITY:1250:1500:1750:2000:2500:3000:5000]  +++
      [MENT_ATT_RATES:LINGUISTIC_ABILITY:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:LINGUISTIC_ABILITY:5000]
      [MENT_ATT_RANGE:INTUITION:1250:1500:1750:2000:2500:3000:5000]           +++
      [MENT_ATT_RATES:INTUITION:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:INTUITION:5000]
      [MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]           +++
      [MENT_ATT_RATES:WILLPOWER:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:WILLPOWER:5000]
      [MENT_ATT_RANGE:SOCIAL_AWARENESS:1250:1500:1750:2000:2500:3000:5000]     +++
      [MENT_ATT_RATES:SOCIAL_AWARENESS:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:SOCIAL_AWARENESS:5000]
      [MENT_ATT_RANGE:KINESTHETIC_SENSE:1250:1500:1750:2000:2500:3000:5000]     +++
      [MENT_ATT_RATES:KINESTHETIC_SENSE:-5000:NONE:NONE:NONE]
      [MENT_ATT_CAP_PERC:KINESTHETIC_SENSE:5000]


List of Tasks for training attributes:

Digging:  Strength, Endurance
Wagon:  Empathy, Social Awareness  (Just let the dwarves mill around the wagon for a few minutes or to socialize.)

Unknown:  Toughness, Memory, Recuperation, Disease, Musicality, Patience, Focus, Creativity, Kinethetic sense, Linguistics, Will Power, Intuition, Memory, Spatial Sense.


Logged

Askot Bokbondeler

  • Bay Watcher
  • please line up orderly
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #11 on: May 05, 2010, 09:02:56 am »

is it possible to tinker with this to make dwarves gain experience slower? i've got [slow_learner] and it isnt slow enough for me

TKTom

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #12 on: May 05, 2010, 11:28:42 am »

is it possible to tinker with this to make dwarves gain experience slower? i've got [slow_learner] and it isnt slow enough for me

 Yes.


 The top post has the info you want.

Use [SKILL_RATES:X:NONE:NONE:NONE] where X is a value less than 100 (100 is the vanilla default value, lower values are worse.)

 Did you test the effects with Dwarf Therapist? I'm wondering if skill rates gives bonus/malus to XP directly or to the values of XP at which new skill levels are awarded.
Logged

Askot Bokbondeler

  • Bay Watcher
  • please line up orderly
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #13 on: May 05, 2010, 12:03:43 pm »

what do the none:none:none's do in this tag?

TKTom

  • Bay Watcher
    • View Profile
Re: Tinkering with the Dwarven Soul - A Cheat Thread
« Reply #14 on: May 05, 2010, 12:11:27 pm »

what do the none:none:none's do in this tag?

 Rates of decay. Presumably decay rate can get worse and worse the longer decay goes on.
Logged
Pages: [1] 2