Jump to content

API Documentation - Mappings for various IDs


Latios

Recommended Posts

Hi Divine-Pride team,

I thought it would be helpful for developers to have some additional documentation about the API to make it easier to get up and running with.
There are a few values in the Item API which require some work to make sense of:

For example, the following values are returned for Sword (1101) are ambiguous without investigation:

"classNum": 2,
"itemTypeId": 1,
"itemSubTypeId": 257,

I think it would be very helpful for developers to know how to make sense of the above values.

Developers can take the time to manually map out each variation, for example itemTypeId 1 seems to represent "Weapon" and itemSubTypeId 257 seems to represent "Sword".
A list of these mappings would be very helpful on either the forum or API documentation itself: https://www.divine-pride.net/api
 

Kind regards,
Latios

Link to comment
Share on other sites

I think I've been able to confirm some mappings for the following values. Although I haven't been able to reverse engineer or map "classNum" yet.

Would be awesome to have someone officially confirm if these are the intended values too.

locationId
An integer bitmask from 0 to 0x3FFFFF with value returned as decimal.
Example: 768 (0x300) = Head Top + Head Mid

Spoiler

0x000001: Head Low
0x000002: Right Hand
0x000004: Garment
0x000008: Right Accessory
0x000010: Armor
0x000020: Left Hand
0x000022: Both Hand
0x000040: Shoes
0x000080: Left Accessory
0x000088: Both Accessory
0x000100: Head Top
0x000200: Head Mid
0x000400: Costume Head Top
0x000800: Costume Head Mid
0x001000: Costume Head Low
0x002000: Costume Garment
0x010000: Shadow Armor
0x020000: Shadow Weapon
0x040000: Shadow Shield
0x080000: Shadow Shoes
0x100000: Shadow Right Accessory
0x200000: Shadow Left Accessory


job
An integer bitmask from 0 to 0xFFFFF (with value returned as decimal) for 1st and 2nd jobs or an integer from 73 to 503 for extended and 3rd jobs.
Note: I could not find all values, some clearly missing values have been marked with a '?'.
Example: 132112 (0x20410) = Acolyte + Priest + Monk

Spoiler

0x00001: Novice
0x00002: Swordman
0x00004: Mage
0x00008: Archer
0x00010: Acolyte
0x00020: Merchant
0x00040: Thief
0x00080: Knight
0x00100: Wizard
0x00200: Hunter
0x00400: Priest
0x00800: Blacksmith
0x01000: Assassin
0x02000: Crusader
0x04000: Sage
0x08000: Bard
0x10000: Dancer
0x20000: Monk
0x40000: Alchemist
0x80000: Rogue
0xFFFFF: All
73: Gunslinger
74: Ninja
81: Mechanic and Genetic
82: Guillotine Cross and Shadow Chaser
83: Warlock and Sorceror
95: Lord Knight
97: Whitesmith
99: High Wizard
105: High Priest
106: Champion
107: Stalker
111: Rune Knight
112: Royal Guard
114: Guillotine Cross
115: Mechanic
116: Ranger
117: Genetic
118: Warlock
119: Sorceror
120: Minstrel
121: Wanderer
122: Arch Bishop
123: Sura
124: Shadow Chaser
141: Soul Linker
142: Summoner
143: Taekwon
144: Kagerou/Oboro and Rebellion
145: Star Emperor
146: Soul Reaper
500: Rebellion
501: Kagerou/Oboro
502: Super Novice
503: Star Gladiator
?: Assassin Cross
?: Biochemist
?: Clown
?: Gypsy
?: Paladin
?: Professor
?: Sniper


itemTypeId
An integer value from 1 to 10 (excluding 8).
Example: 5 = Etc

Spoiler

1: Weapon
2: Armor
3: Consumable
4: Ammo
5: Etc
6: Card
7: Cash
9: Costume
10: Shadow Gear


itemSubTypeId
An integer value from 0 to 1027 (excluding ranges 1-255, 281-511, 520-521, 523-524, 531-767, 770-1023).
Example: 280 = Shadow Weapon

Spoiler

0: None
256: Dagger
257: One-handed Sword
258: Two-handed Sword
259: One-handed Spear
260: Two-handed Spear
261: One-handed Axe
262: Two-handed Axe
263: One-handed Mace
264: Two-handed Mace
265: One-handed Staff
266: Two-handed Staff
267: Bow
268: Knuckle
269: Musical
270: Whip
271: Book
272: Katar
273: Revolver
274: Rifle
275: Gatling
276: Shotgun
277: Grenade
278: Huuma
280: Shadow Weapon
512: Helm
513: Armor
514: Shield
515: Garment
516: Shoes
517: Accessory
518: Pet
519: Costume Helm
522: Costume Garment
525: Costume Floor
526: Shadow Armor
527: Shadow Shield
528: Shadow Shoes
529: Shadow Right Accessory
530: Shadow Left Accessory
768: Special
769: Regeneration
1024: Arrow
1025: Cannon Ball
1026: Throw Weapon
1027: Bullet

 

Link to comment
Share on other sites

I've put together a tool for converting divine-pride API data to rathena database formats: https://github.com/Latiosu/dp2rathena
Currently it only supports converting Item DB to `item_db.yml`.

If someone is able to confirm the above values or point to some documentation about IDs in the divine-pride API data it would helps developers (including myself) with integrating with the API.

Link to comment
Share on other sites

  • 4 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...