Sakura Dungeon was made with the visual novel engine Ren'Py.
It's makes it harder to hack the game with something like Cheat Engine, but it's based on Python, so the game scrips can be easily decompiled and modified.
In case of Sakura Dungeon we don't have to decompile anything, the game got an developer console, that can be simple enabled and used to modify the game while playing. This is what the guide about.
- Get Started
- Console usage
- Modify stats and attributes
- Add or remove consumable, valuable items and outfits
- Add or remove companions
- Actors list
- Items list
- Credits
At first we want to activate the developer console.
- Save and close the game.
- Go to your Sakura Dungeon directory.
gif tutorial - Go to renpy\common\ folder and search for 00console.rpy.
- Open 00console.rpy and go to line 98.
- Change
config.console = False
toconfig.console = True
gif tutorial - Done, now you can use the developer console ingame.
After activating the console, you can use it ingame.
Try to open it with shift+o
.
gif tutorial
Generally the console can execute any valid python command.
We will use it to manipulate the game.
After starting a new game or loading a save (not in main menu), you can modify your companions(actors) stats and attributes.
Some Stats like VP or AP are dynamic and will be reseted to max value.
Attributes are more static and will be only modified by items you use.
Each ally got an object, you can modify anything about him through his object. Normally this objects got the same name as the character, but there are exceptions. See the actors list for more informations.
There are two main characters, Yomi(the player) and your first companion Ceri.
Yomi is coincident the player himself, so you can access her/players object through player
or fox
.
And Ceri's object is named knight
.
With this information you can start modify their stats and attributes.
At fisrt, let us modify our Mana shards amount, attribute currency
hold this information:
player.currency=991337
or fox.currency=991337
(is the same)
animation
All object id's and attributes you can find in the actors list .
Possible stats are VP
, AP
, CP
, XP
, max_vp
and max_ap
.
VP
, AP
, max_vp
, max_ap
and XP
can be directly modified, but CP
need two methods.
Example for Ceri:
VP: knight.vp=999
(will be reseted to max)
AP: knight.ap=999
(will be reseted to max)
Max VP: knight.max_vp=200
Max AP: knight.max_ap=200
XP: knight.xp=99
CP methods:
To change CP: knight.cp_change(10, force=True)
Reset CP: knight.reset_cp()
The list of all attributes you can find in the actors list.
Resistance work a bit different, 1 point = 25%.
Examples for Ceri:
level: knight.level=20
(set level to 20)
Vit (vitality): knight.vit=100
(set vit to 100)
fire (resistance): knight.fire=4
(4 * 25% = 100%)
shock (resistance): knight.shock=2
(2 * 25% = 50%)
and so on
animation
Attention! Modify attributes like type
, skills
, abilities
, hit
, suffer
or info
only if you know what you are doing!
Objects player
, fox
and knight
got lists, which can be filled with another objects. A list got two necessary mehtods, append()
and remove()
. This methods will be needed to add and remove items.
Full items list can be found here: Full items list
player
got list items
, to add an item, we have to append it:
player.items.append(warp_stone)
(will add an Warp Stone to the "Consumables")
If you want to remove an item, use the remove method:
player.items.remove(warp_stone)
"Valuables" got the type valuable
in the items list.
You can add valuable to your "Consumables", but they can not be used.
To add a valuable item, use this command:
player.valuables.append(fabric_leaf)
To remove, like before:
player.valuables.remove(fabric_leaf)
Only fox
and knight
got both a list named dresses
.
Yomi's list can only be filled with items type fox
.
fox.dresses.append(fox_bikini)
fox.dresses.remove(fox_bikini)
Ceri's list can only be filled with items type knight
.
knight.dresses.append(knight_bikini)
knight.dresses.remove(knight_bikini)
Be careful, some actors like Ceri(knight) can't be removed! Always save before you add someone!
There are two objects, party
and backup
.
You can execute two methods on both objects, append
and remove
.
Get sure that your party
isn't full before you add someone!
Example:
backup.append(bunny)
will add a bunny to your "BackUp".
Then you can remove a bunny with
backup.remove(bunny)
same with party
.
Full actors (characters) list (Google Table)
Full items list (Google Table)
Guys from CE Forum
happybrother for hint about console commands.
glebsa for actors info.