[Tool]Backstory list (Alpha 7) and excel spreadsheet with import macro

Started by Nommy, November 23, 2014, 02:15:22 PM

Previous topic - Next topic

Nommy

Attached is an excel 2010 spreadsheet listing all the childhood and adulthood backstories. There's 2 versions, one with a macro to import this data from the relavent xml file and the other without macros.

I've also put the backstory data for alpha 7 below for anyone who doesn't use excel (from the rimworld_creations_20140919.xml file).

Childhoods

Name Construction Growing Research Mining Shooting Melee Social Cooking Crafting Medicine Artistic Social Hauling Mining Caring Firefighting ManualDumb Crafting PlantWork Artistic Scary Intellectual Cooking ManualSkilled Violent Cleaning
Fallen prodigy 2 2 5 -3 2 3 No
Farmer boy 1 4 1 -3 2 No No No
Urbworld criminal 2 3 1
Optimistic child 4
Aristocrat 2 2 No No
Urbworld hooligan 2 3 -3 No
Tragic twin 1 3 -3 2 1 2
Indworld urchin 1 1 2 No
Mechanoid nerd 2 3 -2 2
Shunned girl 2 -2
Coliseum cleaner 4 2 1 No No No No
Officer cadet 1 -3 3 3 1 1 -3 No No
War refugee -3 5 6 5 -3 -3 -3 No No No
Toxic child 5 -5 4
Work camp slave 2 2 -3 2 -2 No
Disciplined farmer 2 3 -1 2 No No
Dreamer 1 3 2
Voyager child 4 -3 No No
Vatgrown medic 3 3 No No No No
Core dilettante 2 2 2 No No
Aspiring pop idol -2 -4 -4 4 4 No No No No No
Farm boy 2 3 4 -3 -2
Station whelp 3 5 -2 No No
Construction grunt 4 1 2 No No
Student engineer 2 4 -2 -2 4 -2 No
Street kid 3 3 No
Frontier marshal 4 3
Mercenary recruit 3 1 3
Abandoned child 1 1 1 1 No No No
Traders' child -2 -1 1 1
Corp student 3 3 -2 -3 No
VR addict 2 1 1 1 1 No
Nerd 1 4 -2 2 2 No
Rebel slave 1 1 -2 2 2 2 No No
Son of a huntress 2 2 2 1 1 No
Student socialite 6 No No No No
Awkward nerd 5 -2 -2 4 No
Cat herder 2 3 No No
Vatgrown assassin 2 4 1 No No No No
Hive world child 1 1 3 1 1 No
Starforce cadet 2 -3 2 1
Stableboy 2 2 -2 1 2 No
Artful dodger 1 2 3 No No No No No No
Pickpocket 2 2 2 No No
History student 2 2 2
Noble ward 4 -1 -2 3 No No No No
Feral child 2 4 1 No No
Spoiled child -2 2 -2 2 2 2 No
Amateur engineer 2 2 1 1 No No
Wild child 4 6 -2 -3 No No No No
Hacker prodigy 7 4 No No
Youth delinquent 3 1 -1 4 No No No
Hillbilly prodigy 2 2 -2 2 No No No
Midworld sketcher 2 1 3
Core world student 2 -1 -2 4 4 No No No
Medieval squire -1 -1 -1 3 5 No No
Drug mule 1 2 3 -2 No No No No No No
Artisan farmer 7 -2 -2 2 No
Pampered 2 -3 3 3 No
Military child 2 3 1 2 -3
Gang member -2 2 5 No No
Test subject 2 2 1 No No No
Fire-scarred child 1 1 -2 No No
Winerunner 2 2 2 2
Street child 3
Slave farmer 4 2 -3 No
Medieval slave 2 3 -3 1 2 -2 No
Foundry apprentice 3 1 3 -2
Privileged prodigy 2 1 2 No No No No No No
Child prodigy 6 -3 -3 6
Bone collector 2 2 -3 -3 -3 2 2 2
G-nome sculptor 2 2 -5 2 4 No No
Circus performer 3 2 No
Vatgrown slavegirl 5 -2 No No
Gun kid 3 3 -3
Feudal farm boy 4 2 No
Glitterworld nerd 5 2 -2 No No
War child 5 3 No No
Upper urbworlder -3 3 -3 2
Amateur botanist 4 2 No
Child slave 2 3 -2 No
Adventuring child 2 3
Video gamer 3 3 No
Tinkerer 2 4 No
Displaced noble 1 3 2 No
Chess master 2 4
Orphan 4 2 No
Straggler -3 2 2 2 No No
Brutal thief -2 2 4 -2 2 No No
Apocalypse child 2 3 2 No
Orphan of war 3 -3 3 3 No


Adulthoods

Name Construction Growing Research Mining Shooting Melee Social Cooking Crafting Medicine Artistic Social Hauling Mining Caring Firefighting ManualDumb Crafting PlantWork Artistic Scary Intellectual Cooking ManualSkilled Violent Cleaning
Mad scientist 5 -3 5 2 4 No No
Army cook 2 -2 2 2 3 1 -2 No No No
Urbworld politican 8 No No
Graphic designer 1 7
Wasteland ruffian 4 2 2 No No
Space technician 5 1 2 1 No
Space traveler -2 3 -3 5 4 -1 1 2 3
Doomsday pariah 2 3 2 2 2 No No
Military engineer 3 3 1 4
Art student -2 -1 -1 2 1 8 No
Coliseum fighter 2 5 -1 3 No No No No
Fighter controller -3 5 5 2 1 3 -3 No No
Vengeful explorer 4 6 5 No
Criminal tinker 3 4 4 No
Banished soldier 7
Stalwart farmer 3 3 -2 2 5 2 No
Pirate surveyor 2 4 7 2
Space researcher 2 6 -1 3 No No
Genetic scientist 4 2 3 No No No No
Reporter 2 4 3
Pop idol -4 -4 -4 8 8 No No No No No
Unstable butcher 4 -4 3 6 2 -3
Pirate king 7 5 -2 -2 No No
Military inventor 3 3 1 2 3 No
Engineered pilot 5 2 -2 2
Bandit leader 5 5 2 No No
Colonial governor 3 1 6
Mercenary chef -3 -3 4 5 5 No
Cargo pilot 2 1 4 2 1 No No No
Space humanitarian 2 -2 4 2 No
Executive officer 3 4 2 7 No
Rugby player 4 3 5 No
State engineer 2 4 -1 5
Combat negotiator 4 3 3
Space hunter 5 1 1 3 2
Political assassin 8 8 No No No No
AI researcher 6 -2 -2 4 1 No
Feline scientist 4 2 3
Mercenary 3 2 4 3
Microbiologist 5 3
Ace fighter pilot 2 -3 3 2 3 3
Brigand 2 2 3 2 1 1
Assassin 7 4 No No No No No No
Business gangster 2 3 5 1 No No No
Storyteller 2 4 2 2 No No
Information broker 4 -1 -2 5
Versatile worker 1 4 5 2 -1 No No No
Test subject -8 6 8 -4 No
Aerospace engineer 2 4 2 2 2 No No
Alcoholic trucker 4 2 2 No No No No No
Intelligence agent 7 4 8 No
Involuntary hermit 1 3 4 3 No No No
Medical scientist 4 2
Midworld sailor 3 4 3 4 No
Core world jeweler 3 -1 -3 7 5 No
Medieval knight 2 6 No
Test subject 4 4 -2 No No No No No No
Genetic engineer 1 6 2 No
Ninja assassin 4 3 2 2 No
Lazy programmer -3 8 No No
Mindwiped assassin 5 2 -2 4 No No
Test subject 4 4 1 3 No No No No
Spaceship salesman 2 1 2 2 8 -1 -1 -1 -2
Vinho king 3 3 7 No
Slave chemist -1 4 -2 -1 5 No
Rocket engineer 4 5 3 -1 -4 -2
Space marine 5 4 -2 -2 2 -3 No No
Combat engineer 2 5 3
Planetary diplomat -2 3 8 2 No No No No No No
Renegade engineer 3 3 3 3
Osteologist 7 -3 3 3 No
Gnomebiologist 4 4 -5 4 7 No No No
Criminal kingpin 2 2 5 No No
Urbworld sex slave 6 2 -2 No No
Urbworld sergeant 4 2 3
Hunter of the king -2 6 4 -3 3 -2 No No
Energy researcher 8 -2 2 -1 No
Bounty hunter 5 3 2 2
Missionary 6 4 2 No
Undertaker 3 -2 6 2 No
Mercenary 3 2 5 -2
Hired assassin 4 5 3
Spaceship chef 7 5 No
Engineer 2 1 2 -2 8
Minister 3 2 4 3 No
Pirate 4 2 8 No
Bounty hunter 6 4 2 No
Spiceminer 2 -2 8 2 -2 No
Crime lord 2 6 2 3 2 No No No
Mob henchman 3 7 -2 2 2 -2 No No
Mech war veteran 7 4 No No

NB: If you're trying to paste this into a spreadsheet or something and it's not formatting correctly, try pasting into a plain text editor like notepad first then copying it from there. That trick works for excel.

This was done to make it easier to choose backstories when setting up colonists using EdB Prepare Carefully.

[attachment deleted by admin: too old]

Vas

This is pretty nice.  However, you think you could make a version directly compatible with my spreadsheet?

https://docs.google.com/spreadsheets/d/1a-2fa75FNirIbgMPCLbZZU1PObIT55BLMxersJA8Imo/edit#gid=838249380

I did this manually for a while, I put all of the backstories under childhood and figured I'd organize by alphabetical order in the childhood cat then move those rows over into a new tab after.  Also started typing them all in manually, which took me 5 hours to get this many, and gave up cause I had only gotten through 30KB of the 300KB file.

If you can make one for this, one way you can mark the disabled work conditions, is after the number in their slot, just add (d).  All that start with a -, or +, need to begin with '.  So '-1 or '+5.  Disabled would look like '-1 (d) or "nochange (d)" in the event one has no change.

Also, i've been taking all new lines, and converting them to "NEWLINE".  I've been pestering a friend to make a python script to do it, but he is too busy.  :P  Also tried to get a list of what disabled types disable what, but haven't found where that information is stored yet.
Click to see my steam. I'm a lazy modder who takes long breaks and everyone seems to hate.

Nommy

5 hours copying data, wow! I think I gave up after about 1. That's some dedication!

Quote from: Vas on November 24, 2014, 12:48:57 AMHowever, you think you could make a version directly compatible with my spreadsheet?
Yep, I think I could. I'm not sure about a few things though. Like if I want to try doing it in the google apps script or stick with excel VBA. I could just change the format so you can cut and paste too.

What's your goal though? Like, are you wanting something to help create a statistically ideal group of colonists? Or are you interested in the role play, stories and appearance etc too? Or something else? Perhaps that's not the ideal format for what you're trying to achieve.

Showing when stuff is disabled in with skill gain stats is a nice idea. One drawback of making the skill gain fields text rather than numeric however is that it makes it harder calculate the final skills of a colonist. Like if you wanted a bit where you can select a childhood and adulthood and see what stats they would end up with. That could be done using extra hidden columns with the skill gain stats though. Just thinking aloud.

Quote from: Vas on November 24, 2014, 12:48:57 AMAlso, i've been taking all new lines, and converting them to "NEWLINE".  I've been pestering a friend to make a python script to do it, but he is too busy.  :P  Also tried to get a list of what disabled types disable what, but haven't found where that information is stored yet.
You could just grab a free text editor like notepad++ and use search and replace to do that. For notepad++ I think you search for \n or \r.

The information for what disables what is in RimWorld584Win\Mods\Core\Defs\WorkTypeDefs\BaseWorkTypes.xml. I'm thinking to  use this to work out what jobs they can do.

Vas

Quote from: Nommy on November 24, 2014, 07:01:23 AMYep, I think I could. I'm not sure about a few things though. Like if I want to try doing it in the google apps script or stick with excel VBA. I could just change the format so you can cut and paste too.

What's your goal though? Like, are you wanting something to help create a statistically ideal group of colonists? Or are you interested in the role play, stories and appearance etc too? Or something else? Perhaps that's not the ideal format for what you're trying to achieve.

Showing when stuff is disabled in with skill gain stats is a nice idea. One drawback of making the skill gain fields text rather than numeric however is that it makes it harder calculate the final skills of a colonist. Like if you wanted a bit where you can select a childhood and adulthood and see what stats they would end up with. That could be done using extra hidden columns with the skill gain stats though. Just thinking aloud.
My goal was actually to create a character creator that works outside the game for people who don't have the game, but for that I need a database of all the stuff from the game.  So basically, Prepare Carefully, but for people who don't have the game.  :P  Which'll export a file that is in the same format Prepare Carefully uses, or another file that is compatible with it.

I wanted to do this so my friends can all make their characters and I can play a game with all of them in it.  :P  But I can't copy a list of the backstories and such to them all the time, being that there are a tremendous amount of them.

Google Spreadsheets uses tabs to seperate cells by the way, and new lines to make a new row.  So when I make something to copy and paste, I just use tabs to seperate everything in the same row and make it export as a text file.  My head hurts right now, and I'm not too sure I'd be any good at making a tool to do all this so meh.

Quote from: Nommy on November 24, 2014, 07:01:23 AMYou could just grab a free text editor like notepad++ and use search and replace to do that. For notepad++ I think you search for \n or \r.
What?  Backstories.xml doesn't use /n.  :P  I've been changing all new lines to "NEWLINE" because spreadsheet does not like to stay in one row.  :P
Click to see my steam. I'm a lazy modder who takes long breaks and everyone seems to hate.

Nommy

Quote from: Vas on November 26, 2014, 08:46:56 AMMy goal was actually to create a character creator that works outside the game for people who don't have the game, but for that I need a database of all the stuff from the game.  So basically, Prepare Carefully, but for people who don't have the game.  :P  Which'll export a file that is in the same format Prepare Carefully uses, or another file that is compatible with it.

I wanted to do this so my friends can all make their characters and I can play a game with all of them in it.
That's cool. I reckon I might be able to help with that if you like. At least with the spreadsheet & data side of things. Like I reckon we could make a spreadsheet where you view and select the traits, backstories and stats and stuff for a mock colonist a bit like prepare carefully, and could probably even get some sort of xml output in the format PPC uses, but I've got no idea how you'd go about doing the hair style design and stuff like that. IDK if that's anything like what you've got in mind, but I'll try and catch you next time your on.

Quote from: Vas on November 26, 2014, 08:46:56 AM
What?  Backstories.xml doesn't use /n.  :P  I've been changing all new lines to "NEWLINE" because spreadsheet does not like to stay in one row.  :P
Damn spreadsheet, always misbehaving! :)

I'm not sure I understood what you were trying to do with the NEWLINE replace exactly. Something to do with importing the data, which we can code, so I guess is not really necessary now.

In any case, \n and \r are used in notepadd++ to search for the special line break characters.
So doing this:

on
    <baseDesc>NAME was a settler on a new colony world.

Such a life requires a jack-of-all trades at basic hands-on tasks.</baseDesc>
    <slot>Adulthood</slot>

makes it
NEWLINE    <baseDesc>NAME was a settler on a new colony world.NEWLINENEWLINESuch a life requires a jack-of-all trades at basic hands-on tasks.</baseDesc>
NEWLINE    <slot>Adulthood</slot>


That file's a little odd. The line brakes in the <baseDesc> descriptions are found if you search for \n while the line breaks for every other line in the file are found if you search for \r\n. I think mac uses \n to indicate new lines in files and windows uses \r\n, or something like that.

Anyway, point is, if you ever need to join lines you can do a similar search and replace for those special line break characters in any decent text editor.