The Binding of Isaac: Rebirth

The Binding of Isaac: Rebirth

(Passive Item) Transformer
Kappatechy 6 Apr, 2017 @ 8:45pm
Bugs detected in Transformer
Was playing around with the Transformer's code, working to get my own item to contribute to a transformation (very clever how you did that, btw), and I noticed a couple little bugs in Transformer. Not liable to come up a WHOLE lot, but worth noting.

First, if the player gets a transformation item BEFORE getting Transformer, but rerolls it away using D4, D100, a Dice Room, etc., or simply puts it down if it's an active item, then when Transformer IS collected, it doesn't properly account for such things.
Example: Player picks up Guppy's Paw, then switches to Guppy's Head. If player then picks up Transformer, they SHOULD transform into Guppy... but the Transformer only knows they have the Head, not that they also had the Paw.
I would suggest separating the part of the code that updates the transformation item lists from the part that applies those transformations when you have the Transformer, so that the lists can be updated BEFORE getting it.

Second, if the player has Transformer, and closes out of the game then reloads the save file, the transformation item lists are reset, meaning items that were previously obtained but no longer held (such as because you put Bob's Rotten Head back on the pedestal where it belongs) are no longer counted.
Example: Player picks up Transformer, then grabs Bob's Rotten Head, but puts it back so they can hold onto the far more useful D6. They then have to go to lunch, so they quit the game and load their file back up later. Player then finds Bob's Curse, and picks it up. Because the item lists were reinitialized when the file was loaded (which triggers PlayerInit callbacks again), they do not get the Bob transformation.
I would suggest adding something like:
if Game():GetFrameCount() <= 1
to the start of the PlayerInit function. This way the initializer will only trigger at the start of the game, not also each time the player chooses Continue.
< >
Showing 1-2 of 2 comments
DickyBoy  [developer] 15 Apr, 2017 @ 6:06am 
Hi Netto,

Thank you very much for pointing this out! I foolishly hadn't considered what would happen if somebody rerolled their items. I have split the logic as you suggested in your first point now, so this will be resolved in the next update.
And you're absolutely right about the saving problem, I was completely aware of this issue and have a solution to this using Isaac.SaveModData. I just need to test it out a little more, I have some time off work next week so I'm hoping to get an update out then to fix these issues.
Please keep feeding back if you find more issues like this, I appreciate it!
DickyBoy  [developer] 7 May, 2017 @ 3:24am 
Both these bugs are now fixed - sorry it took longer than expected. Feel free to take a look at the updated code and see if you can spot any new bugs! ;)
< >
Showing 1-2 of 2 comments
Per page: 1530 50