Using Python3 To Estimate BIS Gear Sets For Ninja.

Langues: JP EN DE FR
users online
Forum » FFXI » Jobs » Ninja » Using Python3 to estimate BIS gear sets for Ninja.
Using Python3 to estimate BIS gear sets for Ninja.
First Page 2 3 4 5 6 7 8 9
Offline
Posts: 6
By Zannakun 2023-02-18 14:05:58
Link | Citer | R
 
Ah, that makes sense with the priority on STP. However, could I ask for an option to toggle for ACC swaps priority? Would allow me to calculate for a Acc set, then optimize STP with the Acc set as a base. I feel it's more important to land attacks than to get a lot of TP from them.

On the topics of RDM buffs/debuffs. I would love to see Distract III as a toggle. Also, adding Temper II and RDM values for Gain-STR/DEX/VIT/etc. gain stats would be amazing too!

Temper II @692 enchanting magic skill is 39% (39.2%) triple attack.
Gain-Stat @692 enhancing magic skill is 55 (25+30) stat gain with RDM gloves.
Offline
Posts: 298
By Izanami 2023-02-18 14:22:45
Link | Citer | R
 
Zannakun said: »
However, could I ask for an option to toggle for ACC swaps priority? Would allow me to calculate for a Acc set, then optimize STP with the Acc set as a base. I feel it's more important to land attacks than to get a lot of TP from them.
Unfortunately, there is no reasonable way to do this. The code already prioritizes the best item to equip, which almost always uses Accuracy > Store TP > multi-attack for TP sets.

The only way that I can think of to automatically break out of the problem you had is to have the code swap more than two items at once, so the sum of all the accuracy swaps makes up the difference you need to reach 21% hit rate. After reaching 21% hit rate, the code can go back to adding accuracy to improve the set and should naturally reach the hitrate cap, or the highest possible value given the gear you provided.

The code currently takes only a few seconds to find a set by swapping only two items at once (without DT conditions included), but if we increase this to swap three items, it could easily take an hour. Swapping four items could take over a day. The problem gets exponentially worse as you increase the number of items to swap. If you know some Python and are curious, I think you could have it swap three items at once right now by changing the "fitn = 2" to "fitn = 3" on line 1070 of wsdist.py.

The only recommendations I have are to either manually build a 21%+ hit rate set to start with or have the code find one for you by giving it lower evasion as a first step, then rerunning it with higher evasion using the set from the lower evasion run.

Zannakun said: »
On the topics of RDM buffs/debuffs. I would love to see Distract III as a toggle. Also, adding Temper II and RDM values for Gain-STR/DEX/VIT/etc. gain stats would be amazing too!

Temper II is already included (and always on for RDM main) as +35% TA for ML20 RDM based on a previous discussion in the RDM forums. Click the "Calculate Stats" button under the displayed gear to view the totals for your selected gear set's stats.

I'm not able to make any changes to the code for a few days, but I'll try to add a Distract III and another drop-down menu for Gain spells sometime later.
 Asura.Chendar
Offline
Serveur: Asura
Game: FFXI
user: chendar
Posts: 129
By Asura.Chendar 2023-02-18 15:03:21
Link | Citer | R
 
Fully maxed out saboteur distract3 should be like -279 evasion (on NMs, even more on non-NMs). Without sabo is -205. As long as distract actually lands acc is never really much of an issue on RDM unless you're fighting something extremely evasive.
 Asura.Sechs
Offline
Serveur: Asura
Game: FFXI
user: Akumasama
Posts: 9893
By Asura.Sechs 2023-02-18 15:10:02
Link | Citer | R
 
Composure also gives ~70 acc iir, which is quite a lot if you ask me.
[+]
Offline
Posts: 298
By Izanami 2023-02-18 15:26:29
Link | Citer | R
 
Asura.Sechs said: »
Composure also gives ~70 acc iir, which is quite a lot if you ask me.

Looks like I currently do not include the +70 accuracy from Composure. I must've forgotten about this when I was writing that bit of code. I'll add it later when I get a chance.
[+]
 Asura.Neviskio
Offline
Serveur: Asura
Game: FFXI
user: Neviskio
Posts: 115
By Asura.Neviskio 2023-02-18 17:35:40
Link | Citer | R
 
Maybe dumb question, I'm really hit and miss at maths and admittedly not tried to use the python app myself but wondering if someone has the answer to these:

1) what would you use for max tp when moonshade is not relevant? I know it depends on ws
2)Lugra also used during the day or just during dusk? I imagine only dusk so again, what'd be the alternative if possible?

Might be a thing to consider adding in the notes to help dumb arses like me that've been staring at options for an hour and being indecisive :P
Offline
Posts: 298
By Izanami 2023-02-19 17:57:16
Link | Citer | R
 
Asura.Neviskio said: »
1) what would you use for max tp when moonshade is not relevant? I know it depends on ws
2)Lugra also used during the day or just during dusk? I imagine only dusk so again, what'd be the alternative if possible?

There are only a handful of earring options for Ninja weapon skills. None of them should be a huge improvement over the others as long as you make reasonable choices.

  • Needs accuracy: Hattori +1, Odr, and Mache +1.

  • Needs Crit Rate or DEX: Odr, Mache +1, and Lugra +1 R15

  • WS with low FTP or FTP transfer: Brutal Earring

  • Capped attack: Hattori +1, Ishvara, and WSC earrings

  • Deals magic damage: Friomisi, Crematio, and maybe Lugra +1 R15



My code only considers Lugra Earring +1 R15 during the day, so it only sees +8 STR/DEX/VIT/INT. From Dusk to Dawn, Lugra +1 R15 should be an even better option.
[+]
 Asura.Chendar
Offline
Serveur: Asura
Game: FFXI
user: chendar
Posts: 129
By Asura.Chendar 2023-02-20 08:49:16
Link | Citer | R
 
Thanks for the awesome work on this, loving how easy this makes it to make WS sets specific for certain setups/bosses. Very helpful ^^

Messing around with TP sets though, there are a few things I noticed:

  • It seems to not consider DW at all for BLU.

  • It really likes putting me in AGI/STP or AGI/DA capes for some reason. (mostly tried with cor and blu)

  • All ambu capes are considered to have 5DT? I guess I could play around with adding gear myself, have just been using the executable. Does seem like a waste when some of these sets end up with 70+ MDT though (with shell).

  • I think some of these sets might end up slightly undercapped on equip haste, unless you have the hard 1/1024 values plugged in. Had a few end up at exactly 25% with the in-game values at least.

  • Verethragna/Spharai/Xoanon appear to be missing from the "select gear" > Main list on MNK, can still select them for the initial set though.

  • Seems to really like QA, it puts Dampening Tam in a ton of sets for BLU/COR, but still somehow picks Epona ring over Niqmaddu for MNK. That specific example is probably pretty close and you'd obviously use Niq anyway on MNK for the subtle blow, but still seems super weird to me :P



Love the DT requirement option, keep up the good work!
Offline
Posts: 298
By Izanami 2023-02-20 11:59:14
Link | Citer | R
 
Asura.Chendar said: »
  • It seems to not consider DW at all for BLU.

  • It really likes putting me in AGI/STP or AGI/DA capes for some reason. (mostly tried with cor and blu)

  • All ambu capes are considered to have 5DT? I guess I could play around with adding gear myself, have just been using the executable. Does seem like a waste when some of these sets end up with 70+ MDT though (with shell).

  • I think some of these sets might end up slightly undercapped on equip haste, unless you have the hard 1/1024 values plugged in. Had a few end up at exactly 25% with the in-game values at least.

  • Verethragna/Spharai/Xoanon appear to be missing from the "select gear" > Main list on MNK, can still select them for the initial set though.

  • Seems to really like QA, it puts Dampening Tam in a ton of sets for BLU/COR, but still somehow picks Epona ring over Niqmaddu for MNK. That specific example is probably pretty close and you'd obviously use Niq anyway on MNK for the subtle blow, but still seems super weird to me :P




  • BLU has zero traits right now because I have no idea what spell set BLU uses for melee or what traits that spell set provides. I thought I at least gave it dual wield, but I do not see it in the list. It looks like I just forgot to add it back when I rewrote how the code handles traits (since I didn't add any BLU traits yet). Do you happen to know where I can find a list of traits and tiers that BLU has with a melee spell set?

  • For the ambuscade TP capes, the code only really sees Accuracy, STP, and DA. After the code caps accuracy from other gear, it no longer sees an improvement with a DEX-based ambuscade cape. This applies to all base stats, so it just settles on the first one it equips because it can't find a better option. AGI happens to be first alphabetically.

    If you see AGI on NIN TP capes, then I recommend checking your ranged accuracy vs the enemy's evasion. The NIN capes sometimes prefer AGI for more Daken accuracy against evasive enemies. The potentially extra Subtle Blow from dAGI is nice too, though.

  • It's very easy to change all ambuscade capes to use -10 PDT with -0 MDT. You would just change the DT-5 to PDT-10 on lines 801, 806, 812, 817, and 819 in the gear.py file. I can't remember why I stuck with DT-5, I may change them to PDT-10 in a few days.

  • You are correct. For some reason I'm dividing gear haste by 100, instead of 102.4. I'll fix this when I get a chance in a few days.

  • All items for your selected job are visible in both lists. The problem you're seeing is that when you change your main job, the scrollable item lists update their contents, but their scroll bars do not update to accommodate the new list size, so you may not see all available items if the list gets longer. Verethragna/Spharai/Xoanon are the last three items alphabetically in the MNK main-hand list, after the many Sakpata's Fists options. This is a silly issue with PySimpleGUI not allowing dynamic GUI elements. I finally decided to fix it yesterday (on my laptop, not my main computer). The next update to the code will have the fix. For now, you'll have to adjust the window size by some amount to force the scrollbar to update (just drag the corner of the window by like 1 pixel).

  • At first glance, I have no idea why Epona's would beat Niqmaddu. I should look into this more in case there's an issue with how the code is handling multi-attack. As far as I can tell, they should be almost equal, but with Niqmaddu winning due to multi-attack priority and potentially diminishing returns affecting DA and TA. Maybe I'm not thinking about this properly, though.

[+]
 Phoenix.Xax
Offline
Serveur: Phoenix
Game: FFXI
Posts: 31
By Phoenix.Xax 2023-02-20 13:10:14
Link | Citer | R
 
problem with blu is not everyone is going to have the same spells/traits set so unless we had an option to set the traits in the calculator ourselves, it wont be 100% accurate. although the guide here on ffxiah or the out of blu guide prolly would cover a good majority of players for DD scenarios. so the Zahak Reborn (Expert DD Spec) setup might be a base line. which is basically dual wield 3, triple attack, store tp 3, crit attack bonus 3, acc 6, attack 3 traits iirc as the main dd traits at least
[+]
 Asura.Chendar
Offline
Serveur: Asura
Game: FFXI
user: chendar
Posts: 129
By Asura.Chendar 2023-02-20 16:11:37
Link | Citer | R
 
The absolute minimum you'd have on BLU for traits, assuming 1200jp, when aiming to melee DD would probably be something like:
  • DW III - 25%

  • Triple Attack - 5%

  • Store TP III - 20

  • Accuracy Bonus III (at the very least) - 35


If going all out DD mode you likely use the "Zahak Reborn" set from the "The Beast Within"-guide by Prothescar (Xax already mentioned it) or something very close to it though:
  • DW III - 25%

  • Triple Attack - 5%

  • Store TP V - 30

  • Accuracy Bonus IV - 48

  • Critical Attack Bonus III - 11%

  • Skillchain Bonus III - 16%


...But a case could also be made for even higher tier acc trait and dropping crit/sc traits for zerg sitations where you're just spamming Expiacion or Savage Blade. Since being able to keep Thibron on in the offhand is a really significant damage boost.

Figured it might be a UI thing for the weapons selection, since they were the last few alphabetically, just didn't know how to fix it :P

The haste thing is really annoying since SE seem to be very inconsistent about haste values, sometimes 5% might mean 52/1024 (actually over 5%), while others it could be 50/1024. Usually people tend to just aim for 26% in all sets just to be safe in my experience (which might end up being what happens with your fix anyway I suppose).

I'll have to play around with editing gear in the file, then I can just remove the AGI capes for jobs that wouldn't use them anyway too. Not familiar with python, but shouldn't be too hard looks like, thanks ^^
[+]
Offline
Posts: 298
By Izanami 2023-02-20 16:33:38
Link | Citer | R
 
Asura.Chendar said: »
I'll have to play around with editing gear in the file, then I can just remove the AGI capes for jobs that wouldn't use them anyway too. Not familiar with python, but shouldn't be too hard looks like, thanks ^^


You'll want to look at lines 760-823 of gear.py to modify all of the ambuscade cape combinations. Lines 760-781 is where I define the pre-augment stats for each cape and the base stats to consider for each job.

For example, looking at the THF and NIN lines:
Code
"THF":["Toutatis's Cape",{"Sneak Attack":10,"TA DMG":20,"Jobs":["thf"]}, ["STR","DEX","VIT","AGI","INT","MND","CHR"]],
"NIN":["Andartia's Mantle",{"Jobs":["nin"]}, ["STR","DEX","INT","AGI"]],

The code will create THF capes with all possible base stats (STR, DEX, VIT, AGI, INT, MND, CHR), but the NIN capes will only consider STR, DEX, INT, and AGI. If you didn't care about MND on THF, then you'd just remove the "MND" part of the THF line. Similarly, if you wanted VIT capes on NIN, then you'd add "VIT" to the NIN line.


Lines 786-792 do the same thing, but they pair base stats with things like Store TP and DA.

Line 787 shows the DEX combinations:
Code
"DEX":["Weaponskill Damage","DA","Store TP","Dual Wield","Crit Rate"],

This tells the code to create DEX capes with WSD, DA, STP, DW, and Crit rate. Both THF and NIN have DEX in their lists, so they'll both create DEX+WSD, DEX+DA, DEX+STP, DEX+DW, and DEX+Crit capes.

Things get messy from lines 795 to 823 where I add conditions for certain jobs getting ranged attack or magic damage versions of the ambuscade capes.
[+]
 Bismarck.Nekhekh
Offline
Serveur: Bismarck
Game: FFXI
user: nekhekh
Posts: 47
By Bismarck.Nekhekh 2023-02-22 22:26:01
Link | Citer | R
 
Downloading the newer version now... can't wait to test it out. Like that you added additional gear and R0 Sheol sets. Keep up the great work!
Offline
Posts: 298
By Izanami 2023-02-22 22:55:15
Link | Citer | R
 
I was being lazy and not posting, but since you already bumped the thread:

I've uploaded an updated version of the code earlier today. If I remember correctly, I made the following changes:

  • Fixed the weird scroll bar issue where the item lists were occasionally not entirely visible because the scroll bar wouldn't scroll far enough

  • Fixed an issue with Terpsichore not boosting Pyrrhic Kleos damage

  • Ambuscade capes now all use PDT-10, instead of DT-5

  • Added some gear. At least Zantetsuken.

  • Added BLU traits, using the "Zahak Reborn" spell set in the BLU guide

    • The exact traits added can be seen on lines 618-635 of set_stats.py
    • No traits have been added for BLU sub job.

  • Added different priorities for ranged TP sets

    • Damage only: maximizes damage, ignoring TP return
    • TP only: maximizes TP return only, ignoring damage
    • TP > Damage: maximizes (tp_return**2)*(damage)
    • Damage > TP: maximizes (damage**2)*(tp_return)

  • Hachirin-no-Obi is now included

    • SCH main job gains +25% magic damage with this equipped (ignoring helix spells, which get this bonus without the Obi)
    • SCH sub job gains +10% magic damage with this equipped.
    • No other jobs or subjobs benefit from using Hachirin



I think that was everything I changed. In any case, there's an updated version of the code up as of earlier today. Keep letting me know if you run into any weird issues.


Also: I have a new node relating to this code that I'd like to post soon so we can move the "all jobs" discussion out of the Ninja subforum. I suppose it'll go in the General forum since it doesn't really fit into any single job subforum. It feels out of place in the General forum as well, though.
First Page 2 3 4 5 6 7 8 9
Log in to post.