DhoroMaroCharo
New Member
- Mar 21, 2025
- 1
- 0
- 1
Heyho everyone.
Chatgpt and I made a little cheat script that can give the player all perks at once.
Warning: This script will modify the game files irreversibly. I am not responsible for any damage this may cause to your saves!
Here is is how it works:
Any time the game wants to check which perk you have chosen it will ask "perk == "something" " or something very similar.
While something then is either "intelligence", "strength" or "mage".
This script searches through all rpy files and replaces it with True.
Meaning that "if perk == "intelligence" " becomes "if True".
Again. This will literally change the games code. Once you apply this you would have to reinstall the game to undo.
I tried to first overwrite the if statements but this just really fucked up the game. Going for the throat is the easiest way.
It should be entirely version independent and also not break the code unless the dev deviates from how they used these perks until now.
Now, obviously, I can't predict that this will never cause an issue because I don't know what the dev will do in relation to such perk checks. But so far, having played this game with URM like 3 times, I can't think of any instance where this would bork the game. I tried to cover all possible syntax comparisons. But if the dev wants to they could still trick me. In the end its just a regex replacement.
How to use:
1. place the rpy file into the /game folder.
2. Run the game and load a save to be sure.
3. Immediately close the game again.
4. Remove BOTH the rpy file and the new rpyc file.
5. Run the game again. It is now modified.
Use at your own risk! I will provide 0 tech support!!! The code is readable in plain within the file.
Python:init python: import os import re def modify_game_files(): game_dir = os.path.join(config.basedir, "game") # Get the game directory pattern = re.compile(r'not\s*perk == "([^"]+)"|perk == "([^"]+)"|perk != "([^"]+)"|perk is "([^"]+)"|perk is not "([^"]+)"') # Match all forms of comparisons for root, _, files in os.walk(game_dir): for file in files: if file.endswith(".rpy"): # Only modify .rpy files file_path = os.path.join(root, file) with open(file_path, "r", encoding="utf-8") as f: content = f.read() # Replace the matched patterns with 'True' new_content = pattern.sub('True', content) with open(file_path, "w", encoding="utf-8") as f: f.write(new_content) modify_game_files() # Run on game start
We can achieve the same result by renaming the script to '.py' instead of '.rpy', essentially using it as a python script instead of a ren'py file. This will eliminate the need to run the game, close it, run game again to activate cheat. You can simply run the cheat script only and have it modify the files. You can even modify the cheat script to return back to original after modifications. No need to reinstall, etc..