Convert Divine-Pride API data to rAthena YAML
Project description
dp2rathena
Convert Divine-Pride API data to rAthena text database formats
dp2rathena is an open-source command-line tool, helping developers save time updating their rAthena database data.
✨ Features
item_db.yml
mob_db.yml
mob_skill_db.txt
mob_db.txt
(planned)skill_db.yml
(planned)
🏁 Getting Started
Requirements
Installation
pip install dp2rathena
💻 Usage
A divine-pride.net API key is required, create an account and generate a key if you don't have one yet.
# Store API key
dp2rathena config
# Convert items with ids 501 and 1101
dp2rathena item 501 1101
# Convert mob with id 20355
dp2rathena mob 20355
# Convert mob skills from mob ids in a newline separated file
dp2rathena mobskill -f my_mobs.txt
# Print out help text
dp2rathena -h
🛠️ Limitations
All fields are mapped except the ones listed below:
item_db.yml
Partially Mapped
"Type"
- when the item type is "Consumable" on DP and subtype "Special", we output a few possible options for user to choose the correct one (Healing, Usable, DelayConsume or Cash)"SubType"
- when the item type is "Ammo" on DP, we output all rathena ammo subtypes for user to choose correct option as DP doesn't map all rathena ammo subtypes
Not Mapped (insufficient data)
"Script"
/"EquipScript"
/"UnEquipScript"
- script to execute when some action is performed with the item"Class"
- upper class types that can equip item"Flags"
- item flags such as"BuyingStore"
,"DeadBranch"
,"BindOnEquip"
, etc..."Delay"
- item use delay"Stack"
- item stack amount"NoUse"
- conditions when the item is unusable"AliasName"
- another item's AegisName to be sent to client instead of this AegisName
mob_db.yml
Not Mapped (insufficient data)
MvpExp
- MVP experience gainedRaceGroups
- list of secondary groups the monster may be part ofModes
- list of unique behavior not defined by AI, Class, or AttributeJapaneseName
- name in JapaneseDrops > RandomOptionGroup
- the Random Option Group applied to item on dropDrops > Index
- index used for overwriting item
Notes
Ai
- not always defined on DP and needs manual input (refer to rathena docs)Drops > Item
- relies on an internal db yaml file (updated every dp2rathena release) to determine output aegis name
🙌 Contributing
This project uses poetry to manage the development environment.
- Setup a local development environment with
poetry install
- Run tests with
poetry run tox
(orpytest
for current python version) - Run live API tests with
poetry run pytest --api
- Update internal db yamls with
poetry run python tools/generate_item_db.py
(ortools/generate_skill_db.py
) - Execute script with
poetry run dp2rathena
📰 Changelog
See CHANGELOG.md
📝 License
See LICENSE
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
dp2rathena-0.4.1.tar.gz
(239.7 kB
view details)
Built Distribution
dp2rathena-0.4.1-py3-none-any.whl
(245.1 kB
view details)
File details
Details for the file dp2rathena-0.4.1.tar.gz
.
File metadata
- Download URL: dp2rathena-0.4.1.tar.gz
- Upload date:
- Size: 239.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.8.12 Linux/4.15.0-1098-gcp
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cffa0a6dfa38b536f052917b1e836144fd6975d3eeb14bc75442ce98629e2aa |
|
MD5 | fd2f4ca2e4f9b3d2e9627f56485e598d |
|
BLAKE2b-256 | 13063f56b2c5b3beea0bac6a6f627bc48dfe00c3e34ce3219a8de9796da799b5 |
File details
Details for the file dp2rathena-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: dp2rathena-0.4.1-py3-none-any.whl
- Upload date:
- Size: 245.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.8.12 Linux/4.15.0-1098-gcp
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed2c05d8bc49e611b0fdda23ded2770ff9fcf541b9ff74b49d17201f2a893cfa |
|
MD5 | 5ccd2800e53f240ac0cdf7cc36083285 |
|
BLAKE2b-256 | 75899993a2bc5b972b00ac1357020a98881bd3aa22731dc73b225c4278ec2657 |