Python library to help parsing secrets from Zelda OoS/OoA
Project description
pyzora
Python decoder library for Zelda OoS/OoA secrets
This library has been inspired both by Paulygon's password generator for The Legend of Zelda: Oracle of Seasons/Ages (referred to as the Oracle games from now on) and Amy Nagle (aka kabili207)'s zora-sharp library for C#. It can handle all three types of secrets in the games.
But... what's a secret?
Let me explain. A secret is a password the Oracle games use to transfer data. There are three types of secrets :
- Game secrets : they allow a player who has finished one of the two games to continue the story in the other game.
- Ring secrets : once one of the two games is completed, Red Snake in the completed file will generate this kind of secret. It allows the player to transfer all their rings from one game to the other (for this to work, you need to talk to Red Snake in the non-completed file at least once).
- Memory secrets : during a linked game, exclusive NPCs will spawn on the map. Some of these NPCs can be interacted with to get a short secret to transfer to another NPC in the completed file. The latter NPC will then give the player another code to transfer back to the non-finished file to carry his bonus over. The player might be required to play a minigame before getting the return secret.
As you can see, secrets are pretty vital if you want to have the full experience in The Legend of Zelda: Oracle of Ages/Seasons. (which is why this library exists, duh).
What does pyzora provide?
- One class per secret type, with its own attributes and uses
- Reading and writing secrets of any type in both available game regions (Japan and US. Note that PAL releases use the same encoding as US cartridges)
- Easy to use
Okay, but how am I supposed to install this?
Don't worry! It's very simple! You just need to do the good old pip install pyzora!
If you want to manually install the library with the source code, follow the steps below:
python3 -m pip install -r requirements.txt
- You're good to go!
I noticed a bug or want to contribute!
Found a bug? Don't panic! Simply head towards the Issues section in this repository and describe your problem! A solution will be worked on as soon as possible afterwards.
Want to contribute? You can start by forking the project. Once you're done, open a pull request in the repository, and it'll be reviewed as soon as possible!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyzora-1.0.0.tar.gz.
File metadata
- Download URL: pyzora-1.0.0.tar.gz
- Upload date:
- Size: 32.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51272cb78e84735c738d9ad2563b45f31aeb4702e78c19c060f1c127a35a2422
|
|
| MD5 |
f7fdc6898cdbaa0c983ed57d00e2678d
|
|
| BLAKE2b-256 |
cffad64020617e5c7c5a44ecd025f7390d4876fb0ab00ea01b0e1f5343e4a5fc
|
File details
Details for the file pyzora-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pyzora-1.0.0-py3-none-any.whl
- Upload date:
- Size: 38.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0f91d2d4063b66354e4db633781078f05a0af0f86f461f2773de8dcb474947b
|
|
| MD5 |
c34ff7d6a6f17559442d477e33fa0eaf
|
|
| BLAKE2b-256 |
94627fc0984ade31126b1d27820cb5e37b7e72703be79f9755892dd1dfa88fda
|