[lua][sql] Implement Maat's Concoction and Maat's Mix - #11179
Conversation
| -- Retail cap is 500 total (unspent + spent) for that job. | ||
| -- https://www.bg-wiki.com/ffxi/Maat%27s_Mix | ||
| -- https://www.bg-wiki.com/ffxi/Maat%27s_Concoction | ||
| xi.itemUtils.JOB_POINTS_MAX = 500 |
There was a problem hiding this comment.
This doesn't need to be a global
There was a problem hiding this comment.
Moved this to a file-local jobPointsMax. It is no longer on xi.itemUtils.
| not target:isPC() or | ||
| target:getMainLvl() < 99 | ||
| then | ||
| return xi.msg.basic.ITEM_UNABLE_TO_USE_2 |
There was a problem hiding this comment.
Do you have a capture showing this error message?
There was a problem hiding this comment.
I do not have a retail capture for this fail message. Left ITEM_UNABLE_TO_USE_2 as an unverified wiki-based guess and marked it in the helper. Happy to switch the message ID if someone has a packet.
There was a problem hiding this comment.
I only play on a private server and have no retail client, so I cannot capture this. Left the TODO / unverified message in place.
There was a problem hiding this comment.
Need to check through the capture discord more -
Uncategorized - Item-Use - Maats Mix Unable to use if max JP already PACKETS ONLY
https://1drv.ms/u/c/87e665e10555c452/IQA4MMamywdNQKBQsNVPIT9SAQxKKwDgT1R3NgQiGboJmyI?e=9bzCw4
| local job = target:getMainJob() | ||
| local total = target:getJobPoints(job) + target:getSpentJobPoints() | ||
| if total >= xi.itemUtils.JOB_POINTS_MAX then | ||
| return xi.msg.basic.ITEM_UNABLE_TO_USE_2 |
There was a problem hiding this comment.
Do you have a capture showing this is what happens?
There was a problem hiding this comment.
Same as above: no capture for the 500 JP cap fail path. Left the same unverified message and noted it in the helper.
There was a problem hiding this comment.
Same: no retail client, so no capture for the 500 JP fail path. TODO left in place.
| INSERT INTO `item_usable` VALUES (6596,'duck_curry',1,10,0,0,0,0,0,0); -- TODO: Not implemented | ||
| INSERT INTO `item_usable` VALUES (6597,'mutton_curry',1,1,0,0,0,0,0,0); -- TODO: Not implemented | ||
| INSERT INTO `item_usable` VALUES (6598,'maats_mix',1,1,0,0,0,0,0,0); -- TODO: Not implemented | ||
| INSERT INTO `item_usable` VALUES (6597,'maats_concoction',1,1,0,0,0,0,0,0); |
There was a problem hiding this comment.
Need capture for animation IDs
There was a problem hiding this comment.
No capture for the animation. Left animation / animationTime at 0 and added a TODO rather than copying a nearby potion or food ID.
There was a problem hiding this comment.
Same: no retail client, so no animation capture. Left animation at 0 with a TODO.
There was a problem hiding this comment.
Uncategorized - Item Use - Maats Mix (+10 JP)
https://youtu.be/sNz0OF9Vp0Q
https://1drv.ms/u/c/87e665e10555c452/EfJ9hrBB8cxCmrV4MHhLlYgBVZNjME_JhoedsPR2_mWYWw?e=eae8MJ
There was a problem hiding this comment.
Misc - Items - Use Maats Concoction
Video: https://drive.google.com/open?id=1NPgT5swP8k0repNx1tbR-we-4ylJm27K
Packets: https://drive.google.com/open?id=1neccOgKGGte9s2cbika-3nhAyQJC_I8n
item_basic already names 6597 maats_concoction; item_usable still listed it as mutton_curry and both rows were TODO. Concoction grants 50 JP, Mix grants 10, capped at 500 spent+unspent for the current job. jobPointsMax is file-local. Fail messages and animation IDs are unverified pending retail captures. Sources: BG-Wiki Maat's Mix / Maat's Concoction.
76d8f13 to
54a2a69
Compare
|
I only play on a private server and do not have a retail client, so I cannot produce packet captures for the fail messages or item-use animation. The fail message IDs and |
|
Parsed siknoz's Concoction dump (Raguza, 2021-10-13, Upper Jeuno). 0x028 ItemStart: category 9, FourCC item-use, param item 6597, message 28. Set Could not fetch the Mix OneDrive dumps from this environment (HTTP 403). Fail-message IDs and Mix animation are still TODO until those zips are available locally. Success message 807 is not in |
|
Parsed the Mix dumps (thanks siknoz). Success (Siknawz 2025-07-21 and 2026-05-23):
500 JP fail (Siknawz 2026-05-23, packets-only zip):
Wired 0x028 success message 807 as |
Animation 34 and message 807 from 0x028. At 500 JP onItemCheck returns -1 (no 0x029 fail).
a9c4031 to
ac9e005
Compare
|
This PR has been automatically marked as stale because |
I affirm:
What does this pull request do?
Implements usable-item scripts for Maat's Concoction (6597, 50 JP) and Maat's Mix (6598, 10 JP).
item_basicalready names 6597maats_concoction.item_usablestill had it asmutton_currywith both rows-- TODO: Not implemented. Deeds already grant these items.JP is applied to the current main job and stops at the 500 spent+unspent cap. Use is blocked below 99 (and for non-PCs).
Sources:
Steps to test these changes
sql/item_usable.sql(or run dbtool).Made with Cursor