Non-DPS Set Optimizer - Help Fill In Gear

Eorzea Time
 
 
 
Language: JP EN FR DE
Version 3.1
New Items
users online
Forum » FFXI » General » Non-DPS Set Optimizer - Help Fill In Gear
Non-DPS Set Optimizer - Help Fill In Gear
First Page 2
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-11 23:03:18
Link | Quote | Reply
 
Need people to help fill up gear for optimizing sets for various jobs. Once I have gear added, I can optimize any set that isn't related to DPS. For example, PLD and RUN may want to maintain X amount of HP, cap PDT/MDT, and then maximize their Magic Evasion in idle. Or maintain said HP and maximize Fast Cast for pre-casting.
Or a healer can get 50% potency, 50 enmity, and max Conserve MP. Or any combination of stats really.

My newest iteration automatically 0s out a stat that isn't listed, so I don't feel so bad having people write up gear they find useful. I posted a snippet of some PLD gear as an example of how it's formatted. Each gear slot is separated by brackets and each individual piece is separated by the braces. The naming of the stats does matter, if you have a piece with "M Eva" and one with "Magic Evasion" it will recognize them separately, so for that, I try to only abbreviate really long stats or those that are three words or more. Spell Interrupt Rate Down would be SIRD and Magic Evasion wouldn't be abbreviated.
Code
equipment = [
        [
            {
                "Name": "Chev. Armet +2",
                "HP": 135,
                "Magic Evasion": 93,
                "Fast Cast": 8,
                "PDT": 10,
                "MDT": 10,
            },
            {
                "Name": "Sakpata's Helm",
                "HP": 91,
                "Magic Evasion": 123,
                "Fast Cast": 8,
                "PDT": 7,
                "MDT": 7,
            },
            {
                "Name": "Carmine Mask +1",
                "HP": 38,
                "Magic Evasion": 53,
                "Enhancing Skill": 11,
                "Fast Cast": 14,
            },
        ],
        [
            {
                "Name": "Chev. Cuirass +2",
                "HP": 141,
                "Magic Evasion": 109,
                "Enmity": 14,
                "SIRD": 15,
            },
            {
                "Name": "Rev. Surcoat +3",
                "HP": 254,
                "Magic Evasion": 68,
                "Divine Skill": 17,
                "Enmity": 10,
                "Fast Cast": 10,
                "PDT": 11,
                "MDT": 11,
            },
        ],
        [
            {"Name": "Regal Gauntlets", "HP": 205, "Magic Evasion": 48, "SIRD": 10},
            {"Name": "Leyline Gloves", "HP": 25, "Magic Evasion": 62, "Fast Cast": 8},
        ],
    ]
[+]
Offline
Posts: 339
By Meeble 2022-08-12 10:37:41
Link | Quote | Reply
 
Wouldn't it be easier to parse res/item_descriptions.lua? You'd need to handle augment stats separately, but the bulk of the work(including all AF) can be done programmatically.

It's pretty likely someone in the windower discord has a list of max augments enumerated already for stuff like SR/Geas Fete/Abj./Unity/Odyssey gear, as well. The only thing you should need to manually type out are example Oseem augs.
 Lakshmi.Avereith
Offline
Server: Lakshmi
Game: FFXI
user: Lilianna
Posts: 1194
By Lakshmi.Avereith 2022-08-12 11:17:36
Link | Quote | Reply
 
automatic set builder type thing? that would be fun, kind of like the tools they make for monster hunter games (but way more complicated)
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-12 11:30:19
Link | Quote | Reply
 
Meeble said: »
Wouldn't it be easier to parse res/item_descriptions.lua? You'd need to handle augment stats separately, but the bulk of the work(including all AF) can be done programmatically.

It's pretty likely someone in the windower discord has a list of max augments enumerated already for stuff like SR/Geas Fete/Abj./Unity/Odyssey gear, as well. The only thing you should need to manually type out are example Oseem augs.

I could, but I don't have windower installed for resources unless there is a web version of the resources somewhere.

I also don't need EVERY piece of gear, I don't want to use a NASA computer to go through trillions of combinations either, so I'd still have to pick and choose what to add in. My other concern there would be the naming, the stats are better now but some gear may have MAB and another piece might have Magic Attack listed. It would be faster to get large amounts of gear for sure, though.
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-12 11:33:54
Link | Quote | Reply
 
Lakshmi.Avereith said: »
automatic set builder type thing? that would be fun, kind of like the tools they make for monster hunter games (but way more complicated)
Yes. For example, I would say I need >= x HP (in gear) and then from there give me the highest amount of Fast Cast for a precast set for PLD/RUN. Or for SIRD, can do >= x HP, cap PDT and MDT, then if possible to reach 102 SIRD, maximize the magic evasion.
[+]
 Asura.Bippin
Offline
Server: Asura
Game: FFXI
user: Gunit
Posts: 1075
By Asura.Bippin 2022-08-12 11:42:52
Link | Quote | Reply
 
So can it currently find me the best enmity set for COR or I need to input data first?
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-12 11:43:28
Link | Quote | Reply
 
Asura.Bippin said: »
So can it currently find me the best enmity set for COR or I need to input data first?
I would have to add gear, but yes. Example with current gear I have added for PLD, if I say I want >= 1000 HP in gear and to give the most FC possible, I get
Code
Top valid set:
{'Name': 'Sapience Orb', 'Enmity': 2, 'Fast Cast': 2}
{'Name': 'Carmine Mask +1', 'HP': 38, 'Magic Evasion': 53, 'Enhancing Skill': 11, 'Fast Cast': 14}
{'Name': 'Rev. Surcoat +3', 'HP': 254, 'Magic Evasion': 68, 'Divine Skill': 17, 'Enmity': 10, 'Fast Cast': 10, 'PDT': 10, 'MDT': 10}
{'Name': 'Leyline Gloves', 'HP': 25, 'Magic Evasion': 62, 'Fast Cast': 8}
{'Name': 'Enif Cosciales', 'HP': 40, 'Fast Cast': 8}
{'Name': 'Carmine Greaves +1', 'HP': 95, 'Magic Evasion': 80, 'Fast Cast': 8, 'PDT': 4}
{'Name': 'Unmoving Collar +1', 'Enmity': 10, 'HP': 200}
{'Name': 'Audumbla Sash', 'SIRD': 10, 'PDT': 4}
{'Name': 'Loquac. Earring', 'Fast Cast': 2}
{'Name': 'Etiolation Earring', 'HP': 50, 'Fast Cast': 1, 'MDT': 3}
{'Name': 'Gelatinous Ring +1', 'PDT': 7, 'MDT': -1, 'HP': 150}
{'Name': 'Moonlight Ring', 'HP': 110, 'PDT': 5, 'MDT': 5}
{'Name': "Rudianos's Mantle", 'HP': 60, 'Magic Evasion': 20, 'Fast Cast': 10}

Stat sum:
63



If I say I need 1300 to survive a one shot for example, then I get
Code
Top valid set:
{'Name': 'Sapience Orb', 'Enmity': 2, 'Fast Cast': 2}
{'Name': 'Chev. Armet +2', 'HP': 135, 'Magic Evasion': 93, 'Fast Cast': 8, 'PDT': 10, 'MDT': 10}
{'Name': 'Rev. Surcoat +3', 'HP': 254, 'Magic Evasion': 68, 'Divine Skill': 17, 'Enmity': 10, 'Fast Cast': 10, 'PDT': 10, 'MDT': 10}
{'Name': 'Souv. Handsch. +1', 'HP': 239, 'Magic Evasion': 48, 'MDT': 5, 'Enmity': 9, 'Cure Received': 15}
{'Name': 'Enif Cosciales', 'HP': 40, 'Fast Cast': 8}
{'Name': 'Carmine Greaves +1', 'HP': 95, 'Magic Evasion': 80, 'Fast Cast': 8, 'PDT': 4}
{'Name': 'Unmoving Collar +1', 'Enmity': 10, 'HP': 200}
{'Name': 'Audumbla Sash', 'SIRD': 10, 'PDT': 4}
{'Name': 'Loquac. Earring', 'Fast Cast': 2}
{'Name': 'Etiolation Earring', 'HP': 50, 'Fast Cast': 1, 'MDT': 3}
{'Name': 'Gelatinous Ring +1', 'PDT': 7, 'MDT': -1, 'HP': 150}
{'Name': 'Moonlight Ring', 'HP': 110, 'PDT': 5, 'MDT': 5}
{'Name': "Rudianos's Mantle", 'HP': 60, 'Magic Evasion': 20, 'Fast Cast': 10}

Stat sum:
49


The formatting will be a future update, will automate the formatting based on the length of the strings.
[+]
 Fenrir.Richybear
Offline
Server: Fenrir
Game: FFXI
user: Richybear
Posts: 1142
By Fenrir.Richybear 2022-08-12 11:49:47
Link | Quote | Reply
 
Just 5/5 Outrider everything to troll
 Odin.Creaucent
Offline
Server: Odin
Game: FFXI
user: Creaucent
Posts: 1360
By Odin.Creaucent 2022-08-12 12:09:04
Link | Quote | Reply
 
Ramuh.Austar said: »
Asura.Bippin said: »
So can it currently find me the best enmity set for COR or I need to input data first?
I would have to add gear, but yes. Example with current gear I have added for PLD, if I say I want >= 1000 HP in gear and to give the most FC possible, I get
Code
Top valid set:
{'Name': 'Sapience Orb', 'Enmity': 2, 'Fast Cast': 2}
{'Name': 'Carmine Mask +1', 'HP': 38, 'Magic Evasion': 53, 'Enhancing Skill': 11, 'Fast Cast': 14}
{'Name': 'Rev. Surcoat +3', 'HP': 254, 'Magic Evasion': 68, 'Divine Skill': 17, 'Enmity': 10, 'Fast Cast': 10, 'PDT': 10, 'MDT': 10}
{'Name': 'Leyline Gloves', 'HP': 25, 'Magic Evasion': 62, 'Fast Cast': 8}
{'Name': 'Enif Cosciales', 'HP': 40, 'Fast Cast': 8}
{'Name': 'Carmine Greaves +1', 'HP': 95, 'Magic Evasion': 80, 'Fast Cast': 8, 'PDT': 4}
{'Name': 'Unmoving Collar +1', 'Enmity': 10, 'HP': 200}
{'Name': 'Audumbla Sash', 'SIRD': 10, 'PDT': 4}
{'Name': 'Loquac. Earring', 'Fast Cast': 2}
{'Name': 'Etiolation Earring', 'HP': 50, 'Fast Cast': 1, 'MDT': 3}
{'Name': 'Gelatinous Ring +1', 'PDT': 7, 'MDT': -1, 'HP': 150}
{'Name': 'Moonlight Ring', 'HP': 110, 'PDT': 5, 'MDT': 5}
{'Name': "Rudianos's Mantle", 'HP': 60, 'Magic Evasion': 20, 'Fast Cast': 10}

Stat sum:
63



If I say I need 1300 to survive a one shot for example, then I get
Code
Top valid set:
{'Name': 'Sapience Orb', 'Enmity': 2, 'Fast Cast': 2}
{'Name': 'Chev. Armet +2', 'HP': 135, 'Magic Evasion': 93, 'Fast Cast': 8, 'PDT': 10, 'MDT': 10}
{'Name': 'Rev. Surcoat +3', 'HP': 254, 'Magic Evasion': 68, 'Divine Skill': 17, 'Enmity': 10, 'Fast Cast': 10, 'PDT': 10, 'MDT': 10}
{'Name': 'Souv. Handsch. +1', 'HP': 239, 'Magic Evasion': 48, 'MDT': 5, 'Enmity': 9, 'Cure Received': 15}
{'Name': 'Enif Cosciales', 'HP': 40, 'Fast Cast': 8}
{'Name': 'Carmine Greaves +1', 'HP': 95, 'Magic Evasion': 80, 'Fast Cast': 8, 'PDT': 4}
{'Name': 'Unmoving Collar +1', 'Enmity': 10, 'HP': 200}
{'Name': 'Audumbla Sash', 'SIRD': 10, 'PDT': 4}
{'Name': 'Loquac. Earring', 'Fast Cast': 2}
{'Name': 'Etiolation Earring', 'HP': 50, 'Fast Cast': 1, 'MDT': 3}
{'Name': 'Gelatinous Ring +1', 'PDT': 7, 'MDT': -1, 'HP': 150}
{'Name': 'Moonlight Ring', 'HP': 110, 'PDT': 5, 'MDT': 5}
{'Name': "Rudianos's Mantle", 'HP': 60, 'Magic Evasion': 20, 'Fast Cast': 10}

Stat sum:
49


The formatting will be a future update, will automate the formatting based on the length of the strings.

Some questionable choices with gear changes. Swapping out the bigger FC stuff for hp but keeping in both earrings that would result in +200 HP total when using r15 Odnowa +1 and the DI earring instead.
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-12 12:10:05
Link | Quote | Reply
 
Odin.Creaucent said: »
Ramuh.Austar said: »
Asura.Bippin said: »
So can it currently find me the best enmity set for COR or I need to input data first?
I would have to add gear, but yes. Example with current gear I have added for PLD, if I say I want >= 1000 HP in gear and to give the most FC possible, I get
Code
Top valid set:
{'Name': 'Sapience Orb', 'Enmity': 2, 'Fast Cast': 2}
{'Name': 'Carmine Mask +1', 'HP': 38, 'Magic Evasion': 53, 'Enhancing Skill': 11, 'Fast Cast': 14}
{'Name': 'Rev. Surcoat +3', 'HP': 254, 'Magic Evasion': 68, 'Divine Skill': 17, 'Enmity': 10, 'Fast Cast': 10, 'PDT': 10, 'MDT': 10}
{'Name': 'Leyline Gloves', 'HP': 25, 'Magic Evasion': 62, 'Fast Cast': 8}
{'Name': 'Enif Cosciales', 'HP': 40, 'Fast Cast': 8}
{'Name': 'Carmine Greaves +1', 'HP': 95, 'Magic Evasion': 80, 'Fast Cast': 8, 'PDT': 4}
{'Name': 'Unmoving Collar +1', 'Enmity': 10, 'HP': 200}
{'Name': 'Audumbla Sash', 'SIRD': 10, 'PDT': 4}
{'Name': 'Loquac. Earring', 'Fast Cast': 2}
{'Name': 'Etiolation Earring', 'HP': 50, 'Fast Cast': 1, 'MDT': 3}
{'Name': 'Gelatinous Ring +1', 'PDT': 7, 'MDT': -1, 'HP': 150}
{'Name': 'Moonlight Ring', 'HP': 110, 'PDT': 5, 'MDT': 5}
{'Name': "Rudianos's Mantle", 'HP': 60, 'Magic Evasion': 20, 'Fast Cast': 10}

Stat sum:
63



If I say I need 1300 to survive a one shot for example, then I get
Code
Top valid set:
{'Name': 'Sapience Orb', 'Enmity': 2, 'Fast Cast': 2}
{'Name': 'Chev. Armet +2', 'HP': 135, 'Magic Evasion': 93, 'Fast Cast': 8, 'PDT': 10, 'MDT': 10}
{'Name': 'Rev. Surcoat +3', 'HP': 254, 'Magic Evasion': 68, 'Divine Skill': 17, 'Enmity': 10, 'Fast Cast': 10, 'PDT': 10, 'MDT': 10}
{'Name': 'Souv. Handsch. +1', 'HP': 239, 'Magic Evasion': 48, 'MDT': 5, 'Enmity': 9, 'Cure Received': 15}
{'Name': 'Enif Cosciales', 'HP': 40, 'Fast Cast': 8}
{'Name': 'Carmine Greaves +1', 'HP': 95, 'Magic Evasion': 80, 'Fast Cast': 8, 'PDT': 4}
{'Name': 'Unmoving Collar +1', 'Enmity': 10, 'HP': 200}
{'Name': 'Audumbla Sash', 'SIRD': 10, 'PDT': 4}
{'Name': 'Loquac. Earring', 'Fast Cast': 2}
{'Name': 'Etiolation Earring', 'HP': 50, 'Fast Cast': 1, 'MDT': 3}
{'Name': 'Gelatinous Ring +1', 'PDT': 7, 'MDT': -1, 'HP': 150}
{'Name': 'Moonlight Ring', 'HP': 110, 'PDT': 5, 'MDT': 5}
{'Name': "Rudianos's Mantle", 'HP': 60, 'Magic Evasion': 20, 'Fast Cast': 10}

Stat sum:
49


The formatting will be a future update, will automate the formatting based on the length of the strings.

Some questionable choices with gear changes. Swapping out the bigger FC stuff for hp but keeping in both earrings that would result in +200 HP total for r15 Odnowa +1 and the DI earring.
I don't have those added in yet. That was just an example of a result with gear I do already have added.
 Odin.Creaucent
Offline
Server: Odin
Game: FFXI
user: Creaucent
Posts: 1360
By Odin.Creaucent 2022-08-12 12:13:18
Link | Quote | Reply
 
Fair, was just making sure it hadnt been overlooked.
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-12 12:32:23
Link | Quote | Reply
 
Odin.Creaucent said: »
Fair, was just making sure it hadnt been overlooked.
Nope, I just am piecing gear together between work. But just adding ego tathlum and odnowa, for example, under the same 1300 HP requirement it would give me:
Code
Top valid set:
{'Name': "Egoist's Tathlum", 'HP': 45}
{'Name': 'Carmine Mask +1', 'HP': 38, 'Magic Evasion': 53, 'Enhancing Skill': 11, 'Fast Cast': 14}
{'Name': 'Rev. Surcoat +3', 'HP': 254, 'Magic Evasion': 68, 'Divine Skill': 17, 'Enmity': 10, 'Fast Cast': 10, 'PDT': 10, 'MDT': 10}
{'Name': 'Regal Gauntlets', 'HP': 205, 'Magic Evasion': 48, 'SIRD': 10}
{'Name': 'Enif Cosciales', 'HP': 40, 'Fast Cast': 8}
{'Name': 'Chev. Sabatons +2', 'HP': 42, 'Magic Evasion': 126, 'Enmity': 13, 'Fast Cast': 10}
{'Name': 'Unmoving Collar +1', 'Enmity': 10, 'HP': 200}
{'Name': 'Audumbla Sash', 'SIRD': 10, 'PDT': 4}
{'Name': 'Odnowa Earring +1', 'HP': 110, 'MDT': 5, 'PDT': 3}
{'Name': 'Etiolation Earring', 'HP': 50, 'Fast Cast': 1, 'MDT': 3}
{'Name': 'Gelatinous Ring +1', 'PDT': 7, 'MDT': -1, 'HP': 150}
{'Name': 'Moonlight Ring', 'HP': 110, 'PDT': 5, 'MDT': 5}
{'Name': "Rudianos's Mantle", 'HP': 60, 'Magic Evasion': 20, 'Fast Cast': 10}

Stat sum:
53
VIP
Offline
Posts: 675
By Lili 2022-08-12 12:40:37
Link | Quote | Reply
 
Ramuh.Austar said: »
I could, but I don't have windower installed for resources unless there is a web version of the resources somewhere.

The item description resource table can be found here:
https://github.com/Windower/Resources/blob/master/resources_data/item_descriptions.lua

It's sorted by item ID. If you need to filter items, for example by job, this is the item resource:

https://raw.githubusercontent.com/Windower/Resources/master/resources_data/items.lua

The flags and jobs fields are bitmasks.

The bit meanings for flags are in this file:
https://github.com/Windower/Lua/blob/dev/addons/libs/resources.lua#L191 at line 191 and onwards. Equipment has the 0x0800 flag set. Augmented items have the 0x0020 flag set.

The jobs bitmask is simply the job IDs in order, and those are here:
https://github.com/Windower/Resources/blob/master/resources_data/jobs.lua

Unfortunately as you know consistency is not SE's forte, so stats are often not written the same way. Also, augments will still be needed to be inputted manually :\
[+]
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-12 12:46:09
Link | Quote | Reply
 
Lili said: »
Unfortunately as you know consistency is not SE's forte, so stats are often not written the same way. Also, augments will still be needed to be inputted manually :\
Yeah, that's one issue. And filtering the gear too for only the relevant stuff, but if it's all there, that's a lot easier. Still, having people give me a list of "good" items to actually add in would be a big help.

Either way it looks like even if I parse the data, I'd have to add at least the names from the link you gave me.
VIP
Offline
Posts: 675
By Lili 2022-08-12 12:52:49
Link | Quote | Reply
 
Ramuh.Austar said: »
Lili said: »
Unfortunately as you know consistency is not SE's forte, so stats are often not written the same way. Also, augments will still be needed to be inputted manually :\
Yeah, that's one issue. And filtering the gear too for only the relevant stuff, but if it's all there, that's a lot easier. Still, having people give me a list of "good" items to actually add in would be a big help.

Either way it looks like even if I parse the data, I'd have to add at least the names from the link you gave me.

Yeah, the item descriptions doesn't have item names, only IDs, so you still need both files to do this programmatically either way, but filtering should not be a big issue. Making a dictionary of equivalent term can also be done relatively quickly, spelling doesn't change that much and for any given stat there's generally no more than 2 or 3 different spellings - it's just annoying.

Augments are the real *** because they're nowhere in resources, windower processes them ingame on the fly each time, so those would definitely need to be inputed manually. And your database would contain a lot of ancient gear which might or might not be useful (many times it is!), so having volunteers filling up modernly used gear is certainly going to be a big help no matter what. Go volunteers! We believe in you!
[+]
Offline
Posts: 339
By Meeble 2022-08-12 12:59:24
Link | Quote | Reply
 
Ramuh.Austar said: »
I could, but I don't have windower installed for resources unless there is a web version of the resources somewhere.

I also don't need EVERY piece of gear, I don't want to use a NASA computer to go through trillions of combinations either, so I'd still have to pick and choose what to add in. My other concern there would be the naming, the stats are better now but some gear may have MAB and another piece might have Magic Attack listed. It would be faster to get large amounts of gear for sure, though.

https://github.com/Windower/Resources

items.lua has id/name/type/slot/flags/jobs/level/ilvl keys
item_descriptions.lua has id and a string you can parse for stats

Should be pretty trivial to pull out only what you deem relevant, parse the description string, and map a schema to pipe that data into a more convenient format. Filtering by unique stats should make any typos or weird naming conventions easy enough to spot and account for in the map.

If you want to minimize item count for efficiency, you could exclude all items below a certain level, or make your mapping function save separate datasets for each job, but that shouldn't be necessary.
 Bismarck.Radec
Offline
Server: Bismarck
Game: FFXI
user: Radec
Posts: 131
By Bismarck.Radec 2022-08-12 13:43:43
Link | Quote | Reply
 
Here's a csv of most of the common stats parsed for all emp+2, relic/af+3, ambuscade+2, rema weapons, most odyssey armor/weapons, and many other 'good' pieces across all jobs.

All augments are capped, r25 gaol, r15 weapons, etc. Ruaun gear augments are the most 'common' path, so things like a FC Adhemar body are not included. Latents or other conditional stats should be all active.

It's not in your exact format, but should be easier to parse than the raw item descriptions.

If an item has a description, but not a printed stat, 50/50 if it got included properly (ie Gastra's 'Increases "Barrage" accuracy V' had to be manually changed to '"Barrage" accuracy +70')

https://pastebin.com/cYB8nmZP
[+]
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-12 13:47:36
Link | Quote | Reply
 
Python works really well with CSV, can convert that easily
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-12 15:43:12
Link | Quote | Reply
 
https://docs.google.com/spreadsheets/d/1H0W171j94eFZJSWJ_b-pLq56m9EQqY-Mj0AZA5ORrGk/edit?usp=sharing

Uploaded the gear to a google sheet, if anyone wants to add gear through here, can PM me to add permission. From there I can convert it back to a csv and work with it easily. I will probably clean up stats that aren't important from a utility point, like weapon damage and delays, mythic aftermaths, and random JA stuff like perfect counter
[+]
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-15 09:00:08
Link | Quote | Reply
 
bumping this for a generic question since I don't recall as I haven't played in awhile, enhancing duration static stat and augments were two separate terms werent' they?
Offline
Posts: 339
By Meeble 2022-08-15 09:33:13
Link | Quote | Reply
 
Yes, they're separate. RDM Empy set bonus, RUN gift, and Perpetuance are separate terms as well.
[+]
 Cerberus.Shadowmeld
Offline
Server: Cerberus
Game: FFXI
Posts: 1663
By Cerberus.Shadowmeld 2022-08-15 11:40:53
Link | Quote | Reply
 
Enhancing has multiple multipliers:
  1. Enhancing Duration Bonus + Naturalist Roll

  2. Enhancing Duration Bonus (Augment)

  3. Composure

  4. Perpetuance

  5. Rune Fencer Gifts



One outlier that I don't know where it fits. There are a few pieces of gear that have "Enhancing Magic Received Duration." The only piece of gear I can think of off the top of my head is Ajax +1, but I think there is at least 1 more.
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-15 11:52:58
Link | Quote | Reply
 
I'm only concerned with gear terms so I can have a separate stat for them in the optimizer. If Ajax is a third term, that would be good to know.
 Cerberus.Shadowmeld
Offline
Server: Cerberus
Game: FFXI
Posts: 1663
By Cerberus.Shadowmeld 2022-08-15 12:09:25
Link | Quote | Reply
 
There are already five known terms for enhancing magic, not two.
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-15 12:12:37
Link | Quote | Reply
 
I only care about the gear related terms.
 Cerberus.Shadowmeld
Offline
Server: Cerberus
Game: FFXI
Posts: 1663
By Cerberus.Shadowmeld 2022-08-15 12:17:10
Link | Quote | Reply
 
composure (on others) is a gear related term, 10, 20, 35, 50% depending on the number of empy armor items you have equipped,

Perpetuance is a gear related term, empy hands add up to 60% extra duration on top of the job ability activation.
 Asura.Patriclis
Offline
Server: Asura
Game: FFXI
user: Patriclis
Posts: 389
By Asura.Patriclis 2022-08-15 12:53:01
Link | Quote | Reply
 
Honestly done a lot of thinking in regards to building a system like this myself. Not an automatic gear builder mind you... but something to let people theorycraft sets.

What I had planned to do is this:

First thing you'd need to do is scrape both the windower resources files talked about previously to create your own table which would include Id, Name, Jobs, Slot, Description.

Once you have that, you would create a second CLI tool that would parse through each description 1 by 1.

First you have a file with known terminology. The order of this list would be important.
For example you would want the term "Weapon skill DEX+" to come before DEX+
Then it goes through the description and checks for string matches, any match found would remove that from the description. and create a new object

So as an example your list might be
"Weapon skill DEX"
"HP"
"Accuracy"
"Attack"

If you fed it an Utu grip the description would get cut down like so:
HP+70 Accuracy+30 Attack+30 Weapon skill DEX +10%
HP+70 Accuracy+30 Attack+30
Accuracy+30 Attack+30
Attack+30

Meanwhile your object is starting to look like
{Name: Utu Grip, ID: 01, Slot: Sub, Job: WAR|DRK|SAM|DRG|NIN, HP: 70, Accuracy:30, Attack:30, Weapon skill DEX:10%}

Any time it fails to completely empty a description, the tool would warn you and you would adjust your terminology file

These objects get output to a new file so you have a list of all base equipment with their stats.

Then you parse that file and collate stats that are the same with different names (ie rename all "rng.acc." to "ranged accuracy"

Then you could go and dump all of that into a database if you wanted.

Honestly it would be a fair bit of work but if you got it all working it also future proofs you from updates and new gear being added.

Plus you need to build in a system for augments.
Probably a field that says what type of augment it is (since different augment systems have different rules) and then a table to link items to their potential augments.

Not to mention this still doesn't handle more niche gear like "augments composure bonus" for enhancing duration calculation when it comes to building sets. which needs individual rules by themselves XD

Honestly its a huge undertaking, which is no doubt why the set builder in ffxiah doesn't work so good anymore lol
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-15 13:14:37
Link | Quote | Reply
 
Main issue with parsing the files like that is I still have to cherry pick the gear and change stat names for stuff with multiple names like "magic attack" and "mag. atk bonus".

Figure setting it as an excel file like this would let anyone add new gear and change their own augments. Since you can save directly as a csv from google sheets, it would future proof it as well besides from any new stats that come out. Also allows individuals without any programming knowledge to use it, just copy the file, modify or delete gear at their leisure, then save as a csv. my program will auto format it to the format I have that runs through the optimizer, and once I have a GUI set for it, would be super easy to do.
 Cerberus.Shadowmeld
Offline
Server: Cerberus
Game: FFXI
Posts: 1663
By Cerberus.Shadowmeld 2022-08-15 13:21:09
Link | Quote | Reply
 
Do you want to include also, gear the provides flat duration increases. This is mostly related to Regen spells, but there are others as well like grapevine cape
 Ramuh.Austar
Offline
Server: Ramuh
Game: FFXI
user: Austar
Posts: 10457
By Ramuh.Austar 2022-08-15 13:23:39
Link | Quote | Reply
 
Yeah, any stat that would be optimized for utility based stuff I'd add.
First Page 2