PUSS!
Not enough ratings
Çö¤RЦP‡ÉÐ Achivement Helper Patch
By dreamscached
This guide explains an easy way to go into 'Broken Lives' (aka corrupt levels) mode with .dll patch.
   
Award
Favorite
Favorited
Unfavorite
How it works
This patch makes minor changes in game logic around death (life loss) and corrupt mode random chance in order to force corruption after every death that does not occur during tutorial or during the active corruption mode.

After you have installed it, simply lose one of your lives and you will instantly enter corrupt mode.
Patched DLL downloads
You can download patched DLLs for each version of PUSS! (starting from v1.4) here[drive.google.com]. Open the folder with your desired version (current version as of 12 September 2022 is v1.4) and download file called Assembly-CSharp.dll
Installation & uninstallation instructions
Installing the patched DLL file
1. Download 'Assembly-CSharp.dll' file.
2. Go to Steam, right click PUSS! game, hover over 'Manage' and click 'Browse local files.'
3. Go to folder named 'PUSS!_Data.', then go to 'Managed.'
4. Drag and drop 'Assembly-CSharp.dll' into this folder and let it overwrite the existing file.

Uninstalling the patch
To uninstall the patch and revert back to normal behavior of the game,
go to Steam, right click PUSS! game, click 'Properties...', go to
'Local files' and click 'Verify integrity of game files...'

Steam will verify files, detect changes and re-download stock files.
How to patch the game
This section is optional! If you just want to install the patch, look above!

This section explains the process of patching the game yourself. Doing so isn't too straightforward at times, but also isn't too complex if you have some experience with programming. This section assumes you are somewhat aware of what's going on, and will omit all the basics of C# syntax, control flow, function calls, etc.

PUSS! is made with Unity which uses C# for scripting and game logic. To inspect (and edit) the game files, you will need to get dnSpy[github.com] and edit the file named Assembly-CSharp.dll, located in PUSS!_Data\Managed folder in PUSS! game files. To do that:
1. Open dnSpy
2. Drag and drop Assembly-CSharp.dll file into the assembly explorer (panel on the left)
3. Unfold Assembly-CSharp, then Assembly-CSharp.dll, then the folder called - (minus sign, root namespace)

At this point the workspace will be saved and subsequent dnSpy sessions will start with this source tree unfolded.

4. To jump to corrupt mode chance rolling logic location, scroll down and look for item called PlayerController, unfold it and find method named LifesBrokenHandler
5. Right click method body and click 'Edit method (C#)' (or press Ctrl+Shift+E)

Starting with line 17, you'll see conditions for each amount of lives and chance rolls. The this.CalculateBrokeChance(...) call is the call that will attempt to roll the chance of corrupt mode and if your odds are good, it will be enabled. To force this mode to enable on each death, remove the remainder of the function, replacing it with just one call: this.CalculateBrokeChance(50f, isMomentalKill, true); Having true as last positonal parameter will force the corrupt mode instead of rolling a dice.

Once you're done with your desired changes, press 'Compile' in bottom right corner, ensure your code had no errors and then click 'File', then 'Save module.' Done! Your Assembly-CSharp.dll is saved and its effect will apply on next game startup.
Special thanks
Thanks TemmieNeko for their guide on doing the same thing (which, unfortunately, does not work any longer after the update.)

I was inspired for their work and decided to look for ways to redo their work but for newer versions; here, this guide is a product of my inspiration and my blind dive into Unity game hacking.
Afterword
While the authors of this guide will do they best to keep it up to date with new releases (if there will be any), it isn't impossible that it will be out of sync; if that's the case, please notify any of them (if there are multiple, currently it's solely dreamscached.)

However, if for any reason this guide will be abandoned or discontinued, there is an instruction up above on how to do it yourself. It might not necessarily be up to date either, but you can get an idea from it at least.

Peace.
8 Comments
[TSOM] MannOfTheHour 24 May @ 8:57pm 
any tips for the dlc when it comes to this mod?
доч феминиzма 12 Mar @ 5:30am 
ty ♥ i wish there wou;d be an update soon:rainbowpuss:
dreamscached  [author] 8 Feb @ 6:50am 
Not at the moment, but I'll update it as soon as I'm able to.
SmokeCat667 13 Jan @ 10:19am 
do you have an update patch?
SmokeCat667 12 Jan @ 7:10pm 
the patch broke completly the game, i have to restar the folder
.$>#& 5 Jun, 2024 @ 11:37am 
Finally
3 y. to this achivment :skullpuss:
dreamscached  [author] 23 Nov, 2022 @ 12:17pm 
Yes I noticed that too, unsure what exactly is causing it as I found it really hard to untangle the code and see the exact condition for this.
qbicfeet 23 Nov, 2022 @ 10:19am 
Thanks for posting this! The patch worked and I managed to get the achievements in the end, though I had to play through way more than 20 corrupted levels. I think the conditions for unlocking the achievements might be more complex than simply completing a corrupted level, such as the counter tracking the achievement progress only incrementing at most once per reset.