Skip to content

A simple build planner tool for Siralim Ultimate.

License

Notifications You must be signed in to change notification settings

gurgalex/siralim-planner

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Siralim Planner

This is a fan-made tool designed to simplify the process of planning builds for Siralim Ultimate. Further details on the tool are available on the Info page of the tool: https://berated-bert.github.io/siralim-planner/.

About the source code

This is a front-end only React app. It uses a simple python script to read in data from the Siralim Ultimate Compendium such that it can be visualised via the React app.

Running the app locally

Running the app locally requires NodeJS and npm. To run the app, first install the packages via:

npm install

Then simply run it via

npm start

Updating the database

In order to update the database to the latest version of the Siralim Ultimate Compendium, simply download a copy of the Traits sheet of the Compendium, save it to data/Siralim Ultimate Compendium - Traits.csv, and run:

python build_data.py

This will convert the .csv file into a .json file, which is stored under src/data/data.json and read in by the React app.

Other notes

How the URL sharing works

In order to come up with a way of saving/loading builds without using a back-end server (like Grimtools.com), I needed some way to uniquely identify monsters/traits so that they could be saved in the URL parameters. I was originally going to use the indexes of the monsters within the Compendium, (i.e. Abomination Bile is 1, Abomination Brute is 2, etc...), so that the URL would look as follows:

https://siralim-tools.github.io/?build=1,123,34,15,44...

but this would cause problems later down the line when new creatures are added. If a creature was added before creature 123, for example, then any builds loaded from previous versions of the Compendium would break.

So instead I decided to take the hash of the family + creature + trait. This should be more robust as the family, creature and traits don't tend to change between patches. I chose a hash length of 6 (in order to minimise potential collisions). So the result is a unique 6-character string that represents each monster, e.g. Iron Golem just happens to be ef5667 and will always be ef5667 unless its family, creature or the name of its trait changes at some point.

TODO

  • Tidy up the source code (it is a bit messy - it needs refactoring/commenting/documenting etc).
  • Make the design responsive, i.e. work nicely on mobile.
  • Potentially add artifact stats
  • Allow import of builds from the game (this may be tricky)
  • Improve accessibility of the site
  • Find a way to add the monster sprites to the planner. If anybody knows a database that maps monster names to their respective sprites, please let me know!

License and contact

The software is licensed under the open source GNU GPL 3.0 License.

Please feel free to fork the repository and/or submit pull requests/issues etc. If you have any other comments/feedback feel free to message me on Discord - BeratedBert#6292.

This tool is not affiliated with Thylacine Studios.

Creature sprites and the mapping between trait -> creature sprite are sourced from the Siralim Ultimate API.

About

A simple build planner tool for Siralim Ultimate.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 70.4%
  • SCSS 22.0%
  • Python 4.8%
  • HTML 2.3%
  • CSS 0.5%