HolmesLiu / PalEdit

A simple tool for Editing and Generating Pals within PalWorld Saves

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Note

Because apparently it needs to be stated here as well as in the NexusMods; the application is unsigned and therefore can flag up a False Positive with some anti-virus software. If you are really scared about it being a virus, download the application and compile it yourself. Look through the source code. You can see a virus report here

PalEdit

GitHub Pull Requests GitHub Issues Python
A simple tool for editing and generating Pals within PalWorld saves.

⚠️ Before Opening a new Issue: Please check the 🚧 Project roadmap section to ensure that your concern or feature request hasn't already been addressed or is planned for a future release. Also check the Open Issues.

📚 Table of Contents

🚀 Installation

Download the compiled executable from Nexus Mods or over on the Releases Page.

⚠️ A word of warning

When in the app, simply load a deserialized save file using the file menu. Wait patiently for it to load the *.json and gather the data. You can then replace the traits of your Pals with ones that you want.

Caution

It is advised that you backup ALL save files before using the tool; it will eventually do this on it's own but doesn't yet. For more information on how to do this, see the 📦 Backing up your save section.

It is recommended to save your edited pals as a *.pson file for easier access. You can choose to save as a *.pson file. When you want to inject the changes into your save, simply save over your Level.sav.json and the program will splice it in at the correct location. Then Serialize the save again using 'palworld-save-tools' and put the resulting Level.sav into your save folder where the original one was. Load up PalWorld and enjoy.

🕹️ Usage

  1. Convert your save to a *.sav.json using the Convert menu at the top.
  2. Load the *.sav.json file using the File menu.
  3. Edit your Pals as desired.
  4. Save the changes to the same *.sav.json file.
  5. Convert it back to a *.sav using the Convert menu again.

💾 Saving Edited Pals

  1. Save your edited pals as a *.pson file for easier access.
  2. Choose to save as a *.pson file.
  3. To inject the changes into your save, save over your Level.sav.json.
  4. The program will splice it in at the correct location.
  5. Serialize the save again using the Convert menu.
  6. Put the resulting Level.sav into your save folder where the original one was.
  7. Load up PalWorld and enjoy.

📦 Backing up your save

It is advised that you backup ALL save files before using the tool. Although the tool will eventually do this on its own, it doesn't yet.

On Windows, the saves can be found in the following locations:

  • %appdata%/Local/Pal/Save/Savegames
  • C:\Users\<username>\AppData\Local\Pal\Saved\SaveGames

Replace <username> with your Windows username.

If you’ve installed Palworld via Steam, you can also access your save files by following these steps:

  1. Open your Steam library.
  2. Right-click on Palworld, then select Manage > Browse local files.
  3. This will open the folder where Palworld’s installed files are stored, named Pal.
  4. From here, go to Saved > SaveGames to access your save files for the game.

🛠️ Building from source (on Windows)

  1. Install Python, at least version 3.10 (for the CI/CD pipeline we are using Python 3.12.1). You can get it from here. Don't forget to check the box to add Python to your PATH.

  2. Open a PowerShell window in the root of the project.

  3. Create a virtual environment:

    python -m venv venv
  4. Run the following command to activate the virtual environment:

    .\venv\Scripts\Activate.ps1

    If you get an error about running scripts, you may need to run the following command first:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
  5. Install the required packages:

    pip install -r requirements.txt
  6. Build the binary file. Once done, it will be located in the dist folder:

    pyinstaller --noconfirm --onefile --windowed --icon "resources/MossandaIcon.ico" --hidden-import=PIL "PalEdit.py"

    If you get any error about virus, check the top of this README file. Also this issue comment with some further explanation may interest you: Issue #41

  7. Copy the resources folder into the dist folder. This is required to display the images inside PalEdit:

    cp -r resources dist
  8. Run your newly built binary file and enjoy.

Alternatively, to run PalEdit without compiling it, follow steps 1 to 5 and then run the following command:

python PalEdit.py

🚧 Project roadmap

Note

We could really use the help of the community to make this tool better. If you think you can help us deliver any of the features listed below, please feel free to open a pull request.

  • Pending features:

    • Pal Deletion
    • Stat Editing (Hero Statue)
    • Edit Pals Nickname
    • Improve Pal ListBox UI to mimic ingame PalBox
    • Add update notification if a newer version is found
    • Automatic savefile backup
  • v0.3 Release:

    • Integrate SaveTools into PalEdit natively.
    • Nickname Compatibility
    • Ability to Change Species
  • v0.4 Release:

    • Defence Editing
    • Gender Swapping
    • Sorted lists so that everything is alphabetical
    • Rank editing (Pal Essence Condenser)
    • Workspeed Editing
    • Pal presets to speed up creation of workers, fighters and tanks
    • Compatibility for Tower Boss and Human captures
    • Overhauled Attack IV and Level Editing to make it easier
    • Moved species editing to main app instead of tucked away in the Tools menu
  • v0.4.8 Release:

    • Converting Pal to Lucky
    • Converting Pal to Alpha (Boss)
    • Player Filtered Pals so you know who belongs to who
  • v0.5 Release:

    • Simplify Loading/Converting/Saving process
    • Database system to make things easier to update
    • Pal Info Database Overhaul
  • v0.6 Release:

    • Generate New Pals/Clone Old Pals
    • Localisation Support
    • Move Editing
    • Optimised Loading and Saving
    • Changed Code structure to OOP

About

A simple tool for Editing and Generating Pals within PalWorld Saves

License:MIT License


Languages

Language:Python 99.5%Language:Batchfile 0.5%