more bodies man, i must have more :D <SOLVED>

Started by rexx1888, April 30, 2015, 11:38:24 PM

Previous topic - Next topic

rexx1888

so, bodies are fun :D

buttttt, is there a way to actually make the individual parts increase the functioning of the overall body ala bionics without actually having bionics.

so say you have a genetically altered thingy with huge arms.. can you make the huge arms better(or worse) at manipulation without needing that body to have new parts strapped onto it??

youd think this was a thing that could be done, so i think im just missing something tbh, anyone know?


rexx1888

neither. lol.

ill just explain a bit clearer.

So atm the bodies Def uses bodyparts that are declared in the bodyparts def and then if you want you can make the body parts spawn things on removal(so an arm if you cut an arm off). Meaning if you have a bionic arm, and a pawn, you can put that arm on the pawn, and take it off. An while the arm is on the pawn it gets a boost to manipulation an such.

In my case though, i want to to make a whole new type of pawn, where the arms it already have give them a bonus to manipulation. So i want to make a new bodies def, that has body parts, that make that pawn better at doing things. I dont want to have to cut the arms off an put new ones on, i want the ones it has to make it better at things. Basically fiddling with the stats of the pawn without the need to attach bionics etc

thus, i could spawn whole new pawns with whole new bits that are better at doing things than the current human pawns.

BBream

Then you mean body part that have kind of socket or can be upgraded?

rexx1888

no i mean body parts that are better.

so, atm humans spawn with an arm. Cut that off, you get an arm thing def.

i want humans to spawn with a tentacle. cut that off, i want a tentacle thing to appear.

BUT i want humans with tentacles to be better at manipulation than humans with arms. AND i dont want to try an force the game to add tentacles like it adds bionics. I want the Bodies Def to say that humans now have tentacles, and i want those tentacles to make the human better at manipulation.

If thats not possible, ill settle for just changing the stats of humans manually so they are better at manipulation, an then ill just spawn them with tentacles. i think thats what ill have to do, but i dont know how to change the stats of pawns without using the thing Offset that exists on bionics

BBream

#5
You are talking about hook captain with parrot or some kind of hand puppet?
For example, if hook captain has parrot then he will talk better(or worse).
http://www.dees-fancydress.co.uk/catalog/images/captainhookwig.jpg

How about this hand puppet?
http://i00.i.aliimg.com/wsphoto/v0/1771938394/Snake-Muppets-Plush-Hand-Puppets-Modern-Glove-Puppet-Hand-Dolls-Plush-Toy-Baby-Child-Animal-Hand.jpg_350x350.jpg

It can be implemented by using hediff and Pawn. If pawn named parrot sit on colonist shoulder then parrot will added in colonist's shoulder and Pawn parrot will be despawned.

rexx1888

i dont think your getting me mate.

ok. right now, pawns spawn in game with two arms. Normal, unchanged arms. They do this because they are declared as humans in the races_humanoid def. So, the game looks at that def an says "oh, they are humans" and then it looks in the bodies def and it finds the human def and then it spawns a pawn with all the bits that a human has. If you change that def to scyther, then they spawn with a scyther body. Change it to centipede, they spawn as centipedes. You get the general idea.

I want to spawn a pawn that is none of those things. So i make a new entry into the bodies def. I then have to make any new body parts that that thing uses and put those into the body parts def. So our new species is called RandomAlien. In the races_humanoid def we turn our colonist into RandomAlien. ATM ive just copied the human def and pasted it as a RandomAlien. Nothings different. If i then change all of the body parts to new ones, and then create those new ones in the body part def, suddenly my pawn has new body parts. BUT its essentially the same as a human pawn. It has different parts, but it still manipulates and all of that jazz the same as a human. I want it to be better. I want the RandomAlien bodies def to mean that pawns that are RandomAliens are better at some things than pawns that are human.

are you getting me yet or is this even more confusing?? Basically, im trying to find out what i need to change to make some pawns better than others because they just exist and are better.

BBream

Then you mean mutant that can be modified bodypart?
For example, your colonist get incident. Storyteller said, "Oh, too bad. Your colonist got space energy so his body is mutated. It can be worse and he may become alien!" So, colonist is getting mutated little by little.

For implementation, prepare new bodies def similar human's but can be modified(More slot). Next, Apply it the colonist mutated(Copy bodies def and apply hediff). After time is passed, applied hediff will change other hediff and modify bodypart.

Hmm... I'm scary. You want alien in rimworld? Call Ripley!!

rexx1888

your slowly getting there.

im not looking to change an already existing pawn. i want colonists that arent humans. i want them to spawn that way, start that way. i want to change their stats(like aim an such) as a whole racial thing. So, instead of humans, i have random tentacled monsters with humanlike intelligence that can be recruited.

BBream

#9
Ok, new humanoid race that have different body type. Copy Ripley!

It remind me of Mind flayer, Illithid. They eat the human brain. Yum-yum!
http://forgottenrealms.wikia.com/wiki/Mind_flayer

Then you just define new bodypart and race_illithid, don't you? I don't understand what problem is. Let's start!

rexx1888

ok, thats all done. the problem is its just a human with different parts.

i do indeed have a new body.
but all the capacities are the same as when it was a human. im trying to figure out how to change the capacities of the new body so that they are better at things(or worse at things).

the core game has a bunch of stat related xml, but none of it references the body type(human) and the body type never references them, so i dont think changing that will affect the new body. Bizarrely enough though, its got all the stats i actual want to change in it though.

i suppose i should try code diving to find out how the bodies interact with being a pawn and how they all tie in together, but without comments in the code im not sure i can work it out. was hoping someone else had already done the leg work on this one lol

Latta

What I understood:
You want a new pawn which is great at, let's say, mining, because of his super powered fancy giant arm, but instead of manually set increased statBases of MiningSpeed of the pawn, you want that arm to increase the pawn's mining speed?

Easier way would be.. just write increased statBases for that specific pawn.
Dirty way would be apply hediff which is connected to the arm when the pawn spawns. Maybe hide that hediff to be less dirty.

rexx1888

statbases?? whats that, an how do i fiddle with it(that sounds like exactly what ive been trying to find all day)

BBream

I think you should check Hediff_AddedParts.xml in Defs/HediffDefs.
If you want to modify new race's ability then apply it in new race's bodypart.
For example, Suppose Mind Flayer has more intelligent than human. Then you make mind flayer's bodypart(brain) and apply hediff. mind flayer will have more efficient brain so they will work more efficiently. worse thing is vice versa.

rexx1888

if that was true then there would be hediff's for human body parts. there arent, so that cant be what im looking for.

statbases sounds like the thing, ill try an find whatever that is :D