dp2rathena is an open-source command-line tool, helping developers save time updating their rAthena database data.
item_db.yml
mob_db.yml
mob_skill_db.txt
mob_db.txt
(planned)skill_db.yml
(planned)
Requirements
Installation
pip install dp2rathena
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
All fields are mapped except the ones listed below:
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
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
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
See CHANGELOG.md
See LICENSE