ISOR3X / pawn-editor

5 stars 5 forks source link

Copying pawns causes ID clashes potentially resulting in pawn-breaking bugs #91

Open Feimni opened 7 months ago

Feimni commented 7 months ago

Adding the same saved pawn multiple times spawns these pawns with the same ID. When loading a save with these pawns, the game detects clashing IDs and reports corresponding errors in the player log. These ID clashes seem to cause a multitude of small and big problems the longer a game goes on.

I created a base pawn, saved it, added it multiple times, and then modified the copies. After starting the game, it first ran fine, but I noticed more and more bugs the longer the game went on. For example, when loading the game, one pawn kept losing his ideology title. With another pawn, I no longer could use his blood feed ability (it suddenly behaved like some spy cast ability). The only errors I could find in the player log are the ID clashes. Therefore, this bug may potentially be pawn-breaking.

Feimni commented 7 months ago

Update: Probably more pawn-breaking than game-breaking

sharkman commented 6 months ago

Having the same issue after copying a few pawns.

sharkman commented 6 months ago

So, I've checked exported files, and it saves the ids of everything for some unknown reason. Parts/Hediffs/Pawns/Abilities/etc. It breaks a lot of checks the game does, for example, psy abilities stop working for any pawn, that's not the original one.

Demid65 commented 6 months ago

Tried fix this issue for ThingID of pawn itself, seems to be working. Can you verify if this fixes it for Parts/Hediffs/Pawns/Abilities/etc. Loading a copy of a pawn results in a pawn with the same ID.

eth0net commented 4 months ago

I have a similar issue with loading pawns I saved from one save game to a new one I'm creating and loading them in during creation 👀 Getting a bunch of ID collision errors from my pawns loading into the starting pawns menu and then the game crashes when I try to load into the map, I assume due to pawn collisions.