Latios Posted December 28, 2020 Share Posted December 28, 2020 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 More sharing options...
Latios Posted December 30, 2020 Author Share Posted December 30, 2020 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 More sharing options...
Latios Posted January 7, 2021 Author Share Posted January 7, 2021 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 More sharing options...
Latios Posted January 14, 2021 Author Share Posted January 14, 2021 I recently discovered today that classNum is actually View ID 😅 So this value has a 1-to-1 mapping with the client's View ID. Link to comment Share on other sites More sharing options...
Latios Posted February 7, 2021 Author Share Posted February 7, 2021 I've added a feature for converting Divine Pride's mob skills to rAthena's mob_skill_db.txt format. Instructions for updating and using the tool is on the GitHub repository. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now