|
Using Python3 to estimate BIS gear sets for Ninja.
By Zannakun 2023-02-18 14:05:58
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.
By Izanami 2023-02-18 14:22:45
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.
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.
Server: Asura
Game: FFXI
Posts: 135
By Asura.Chendar 2023-02-18 15:03:21
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
Server: Asura
Game: FFXI
Posts: 10102
By Asura.Sechs 2023-02-18 15:10:02
Composure also gives ~70 acc iir, which is quite a lot if you ask me.
[+]
By Izanami 2023-02-18 15:26:29
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.
[+]
Server: Asura
Game: FFXI
Posts: 116
By Asura.Neviskio 2023-02-18 17:35:40
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
By Izanami 2023-02-19 17:57:16
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.
[+]
Server: Asura
Game: FFXI
Posts: 135
By Asura.Chendar 2023-02-20 08:49:16
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!
By Izanami 2023-02-20 11:59:14
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
Server: Phoenix
Game: FFXI
Posts: 35
By Phoenix.Xax 2023-02-20 13:10:14
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
[+]
Server: Asura
Game: FFXI
Posts: 135
By Asura.Chendar 2023-02-20 16:11:37
The absolute minimum you'd have on BLU for traits, assuming 1200jp, when aiming to melee DD would probably be something like:
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:
...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 ^^
[+]
By Izanami 2023-02-20 16:33:38
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
Server: Bismarck
Game: FFXI
Posts: 55
By Bismarck.Nekhekh 2023-02-22 22:26:01
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!
By Izanami 2023-02-22 22:55:15
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.
Node 456
Updated: 2022 January 28:
ML20 NIN99/WAR53 & R25 Odyssey.
Slightly updated code for easier reading (see Github link below).
While a simple average is nice and convenient for DPS spreadsheets, it does not tell the whole story for most weapon skills. To know exactly how your weapon skill damage will be distributed, you need detailed information about your stats, the enemy you're fighting, and the mechanics of weapon skill damage. As a side-project to learn a bit of basic Python3 programming and about the FFXI damage formulae, I've written a Python3 code to simulate weapon skills and obtain distributions of the damage being dealt given a set of gear and an enemy.
I'm not very familiar with GitHub, but I've put the code on my newly-created GitHub page ( https://github.com/IzaKastra/wsdist_v2).
The code is not meant to replace DPS spreadsheets, but the gear sets provided here should agree with the spreadsheets reasonably well. I believe the sets presented here are the best in slot sets currently available, but you may find marginally better sets for specific enemies. I therefore encourage you to play around with these sets using the spreadsheets to try to find potentially better or worse options that fit within your gear budget.
In addition to finding the best katana weapon skill sets, the code has the added benefit of working with all jobs and all physical and hybrid weapon skills (after minor modifications to adjust for different player race/job stats). This allowed me to also check the best Evisceration, Savage Blade, and Tachi: Jinpu/Koki/Kagero/Goten/Kasha sets for Ninja. I have a version of the code that works for SAM and nearly works for DRK. I "simply" need to work out the DRK Smite trait before it's finished. This is technically the second of three parts of a Python3-based DPS simulator. It currently has everything it needs to be a full DPS simulator, including real-world time between attacks, TP return, and auto-attack/WS damage, but it seems appropriate to stop where I am for now.
I've tested the code's output against SimonSes' NIN Hybrid WS spreadsheet for Blade: Chi and find the difference to be within 0.5%-2% depending on the TP range and buffs used. For physical weapon skills, I tested the results against the Ninja DPS spreadsheet and found that Blade: Shun, Kamu, Hi, and Ku all agree within 5% or better, while Blade: Metsu shows 10% differences due to incorrect Aftermath: Attack+10% handling in the spreadsheet (see the spoiler below). This of course does not mean that I've done everything perfectly.
The spreadsheet is applying Kikoku's aftermath only to the Ninja's base attack (Lv99+STR+Skill), not including BRD songs, attack traits from /WAR, or the +70 attack from job gifts. My in-game testing has shown that Kikoku's AM is applied additively with the other percentage-based boosts like Fury, Chaos, and Berserk; Attack = (Base+BRD)*(1+Berserk+Chaos+Fury+Kikoku_AM)+Food. The image below shows my observed and calculated Attack values with different buffs up.
I've modified the code to automatically adjust a given gearset until it finds the "best" piece in each slot for a specified weapon skill. I then ran the code for 3 different buff states and 3 different TP ranges that I consider to be typical low/mid/high buffs for content in-game:
Low Buffs: Only Grape Daifuku and Dia2, not even trust buffs (but we know you'd end up with March, Paeon, and Evoker's Roll anyway)
Standard Buffs: Grape Daifuku, Dia2, Minuet5, Minuet4, Honor March, Victory March, Lucky Chaos Roll (Songs+7, Rolls+7, HonorMarch+4)
High Buffs: Grape Daifuku, Dia2, Minuet5, Minuet4, Honor March, Victory March, Lucky Chaos Roll, Fury, Frailty (Songs+7, Rolls+7, Geomancy+6, HonorMarch+4)
High Buffs (Hybrid): Grape Daifuku, Dia2, Minuet5, Minuet4, Honor March, Victory March, Lucky Chaos Roll, Fury, Malaise (Songs+7, Rolls+7, Geomancy+6, HonorMarch+4) -- Only used for Blade:Chi
tp = [1000,1300]
tp = [1500,1800]
tp = [2000,2300]
I use max skill-potency geomancy bubbles and songs with 5/5 Minuet merits and 20/20 Minuet job gifts. I did not use any buff-enhancing abilities such as Crooked Cards, Marcato, Blaze of Glory, etc.
My earlier testing suggested that Hitaki is by far the best off-hand weapon for "damage varies with TP" weapon skills. However, it also only showed ~30-70% off-hand hit rate on the Apex Toad target that I'm simulating against (Evasion:1103~1163, Lv131-133), which would likely translate to significantly reduced TP gain and thus significantly reduced WS frequency. Because of this, I removed Hitaki and reran my simulations without it being an option. If you are able to make up for the significantly reduced accuracy and auto attack damage, then Hitaki should probably be your go-to for "damage varies with TP" weapon skills.
I did not test any Herculean gear since I believed it would be a waste of time given the accessibility of Nyame R10+ and the random nature of obtaining "good" augments behind multiple layers of RNG. I encourage you to input the sets I present here into the spreadsheets and see how your Herculean gear compares, though.
It should be noted that these sets are based raw weapon skill damage values. Stats such as Skillchain Bonus (see Nyame) have no effect as a result until I finish the code to be a proper DPS simulator with auto-attacks, TP rounds, auto-WS, and SCs. Swapping some pieces listed in these sets with Nyame will lower weapon skill damage, but the skillchain bonus stat will likely result in larger overall damage.
The details of the code's algorithm are explained in a bit of detail below, but the process is likely very well known to most of you. For now, here is the list of "best average" gear sets for each buff state for a few of Ninja's available weapon skills at specific TP ranges. Each one contains an imgur link to the simulated distributions, which display the gear used and basic player stats for all tests run on that specific weapon skill. A representative image is also presented in each section. The list of all sets can also be found on my FFXIAH item sets page. The comments within each gear set may provide swaps for varying TP ranges.
Note that these gearsets are for a Master Level 20 Lv.NIN99/WAR53, R25 Odyssey gear, and R15 UNM gear.
Blade: Chi
ItemSet 380757
To nobody's surprise, with the release of augmented Nyame gear, the "best average damage" gearset for Blade: Chi is incredibly easy to predict. Blade: Teki and Blade: To likely use an identical weapon skill set, but I did not test them. I would not be surprised if To/Teki used Fotia Belt, though. Since both of them are single-hit weapon skills.
Note that these tests were done on a neutral monster with 100 Magic Defense and no Magic Evasion. I believe many relevant enemies have something like 150 Magic Defense or an SDT value that would guarantee at least a 50% magic damage resist.
Blade: Hi
ItemSet 380758
ItemSet 380759
ItemSet 380760
Kannagi (R15) was locked into the main hand.
Andartia Mantle AGI+Crit Rate for low buffs
Andartia Mantle AGI+WSD for standard/high buffs
Critical hit weapon skill damage varies wildly based on the AGI stat of your target. This is because up to 15% of your Crit Rate comes from dDEX. Unfortunately, Blade: Hi has an 80% AGI modifier, which is essentially useless for meleeing. I'm still convinced the developers accidentally swapped the modifiers for Jishnu's Radiance (80% DEX) and Blade: Hi (80% AGI) and refuse to admit it.
Since Apex Toads do not have a published AGI value to calculate dDEX from, I ended up performing about 2 hours worth of auto-attacks in various sets to estimate it myself (AGI ~ 354-358). Either way, I don't necessarily recommend the Blade: Hi sets presented here. I don't think Blade: Hi is a good weapon skill in general compared to the other Katana options. The conditions required for critical hit weapon skills to perform well are too variable to simply stick with a single set based on a spreadsheet or code. You should do your own research based on exactly what you plan to use the weapon skill on and build your set around that.
Blade: Kamu
Blade: Ku
ItemSet 380763
ItemSet 380764
ItemSet 380765
Blade: Ku is surprisingly powerful when compared to Blade: Shun. The +60% damage on Gokotai, 1.25 FTP, and 30% STR+DEX modifier put in a lot of work to boost the damage. Unfortunately the skillchain properties are not great compared to Blade: Shun with Heishi.
Blade: Metsu
ItemSet 380766
ItemSet 380768
These sets are a good example of not using a lot of Nyame where Nyame would likely win. Blade: Metsu has excellent skillchain properties so I expect at least 4/5 Nyame with Relic legs to win in most cases considering they provide +24% skillchain damage.
With the release of R25 Nyame, most of these sets actually use Nyame for maximum physical damage. The skillchain damage stat on Nyame is just a bonus on top now.
Blade: Shun
Blade: Ten
Savage Blade
ItemSet 380771
ItemSet 380772
ItemSet 380773
For Naegling's "Weaponskill: Attack bonus based on number of upgrades" stat, I assumed the player had at least eight buffs up (protect, shell, haste, utsusemi, kakka, yonin, food, signet) for all sets. Standard buffs added 4 songs and 2 rolls for 14 total buffs, and high buffs added a single GEO bubble for 15 total buffs. The player's base attack then received +1% per buff present. This bonus attack was added to the player's base attack before any other buffs were added.
Evisceration
ItemSet 380942
ItemSet 380770
ItemSet 380943
Tauret was locked into the main hand.
Ryuo Tekko Path A or D
Andartia Mantle DEX+Crit Rate
Kendatsuba Samue +1 or Mpaca Doublet R25 are generally the go-to body slots for Evisceration.
Similar to Blade: Hi, critical hit weapon skill damage will vary wildly depending on the AGI of your target. Your dDEX provides as much as 15% critical hit rate that you're potentially missing on high AGI targets unless you stack more DEX. Luckily, Evisceration has a 50% DEX modifier, so this is not likely to be a problem. I still recommend finding your own set that works well on the content you plan to use Evisceration on (Odyssey Lamia/Aquans or that one Master Trial) instead of just sticking with this set or one from the spreadsheet.
Tachi: Goten
ItemSet 383500
Tachi: Goten is the Lightning-elemental hybrid weapon skill. The Donar Gun would likely be fantastic for this weapon skill, but it would require that you never unequip the gun since you would lose TP to swap to Shuriken for TPing.
Be sure to weaponskill above 2000 TP.
You may want to use Samurai subjob for Hasso/Zanshin in order to increase your TP gain rate when relying on the Great Katana weapon skills.
Tachi: Jinpu
ItemSet 383497
Nyame Path B
Andartia Mantle STR+WSD
Ninja Nodowa +2 when attack capped and TP>2000.
Fotia Belt > Orpheus's Sash when below 1500 TP. You should always weapon skill above 2000 effective TP, though.
Tachi: Jinpu is a powerful tool for a Ninja to have available against Earth-based enemies weak to magic and slashing damage. This is essentially the Great Katana version of Blade: Chi, so you'll want to WS above 2000 effective TP.
You may want to use Samurai subjob for Hasso/Zanshin in order to increase your TP gain rate when relying on the Great Katana weapon skills.
The best part of Tachi: Jinpu is that it creates and endless skillchain loop with itself. When fully buffed, you are able to simply spam Tachi: Jinpu and create powerful skillchains with every use. It's unfortunate that the developers did not allow Blade: Chi to self-skillchain endlessly as well.
Tachi: Kagero
ItemSet 383499
Tachi: Kagero is the Fire-elemental hybrid weapon skill. Tachi: Kagero is especially potent on a few enemies in Odyssey C, such as Puks and Bomb Clusters. Be sure to weaponskill above 2000 TP.
You may want to use Samurai subjob for Hasso/Zanshin in order to increase your TP gain rate when relying on the Great Katana weapon skills.
Tachi: Kasha
ItemSet 383491
ItemSet 383492
Nyame Path B
Andartia Mantle STR+WSD
I don't expect anyone to use Tachi: Kasha on Ninja, but it is a pretty weapon skill.
You may want to use Samurai subjob for Hasso/Zanshin in order to increase your TP gain rate when relying on the Great Katana weapon skills.
Tachi: Kasha is the Great Katana version of Blade: Retsu, since it can Paralyze the enemy. I'm not sure if it is as potent as Blade: Retsu, though.
Tachi: Koki
ItemSet 383498
Nyame Path B
Andartia Mantle STR+WSD
Tachi: Koki is a single-hit weaponskill. Ninja Nodowa +2 will likely not beat Fotia Gorget unless you hold until 3000 TP for some reason.
Epaminondas's Ring can replace Gere Ring when near attack cap, but you lose those rare triple attack procs.
Tachi: Koki is the light-elemental hybrid weapon skill, which means it benefits greatly from Weatherspoon Ring (SoA final reward option). Despite the boost in power from Weatherspoon Ring, I don't see Koki getting much use.
You may want to use Samurai subjob for Hasso/Zanshin in order to increase your TP gain rate when relying on the Great Katana weapon skills.
As a side note: Blade: Ei is a Darkness-based magical Katana weapon skill. There is no Darkness-based hybrid weapon skill. This is unfortunate because it would likely be very powerful with Archon Ring and Pixie Hairpin +1
Based on the sets listed above, we can make a short list of gear priority for a newer Ninja to reference.
Odin: Gere Ring
UNM: Lugra Earring +1 (Aug) > Sailfi Belt +1 (Aug) >= Seething Bomblet +1 (Aug) > Blistering Sallet +1 (Aug)
Lilith: Malignance Gloves > Malignance Tabard > Malignance Boots > Malignance Tights >= Malignance Chapeau
Bumba: Nyame Mail > Nyame Sollerets > Nyame Gauntlets > Nyame Flanchard >= Nyame Helm
Arebeti: Mpaca Cap > Mpaca Hose > Mpaca Doublet > Mpaca Gloves >= > Mpaca Boots
Ngai: Gleti's Knife
Xevioso: Kunimitsu
Relic: Legs > Head > Hands >= Feet > Body(TP low haste)
AF: Head
Adhemar: Head(A) > Body(B) > Hands(B) > Feet(A)
However, just because an item didn't show up here doesn't mean it doesn't hold a best-in-slot position in some situation. The 2021 Ninja Gearsets thread provides excellent gear to use for many weapon skills without considering Odyssey gear. Many of these sets are well within uncertainty of my "best average" sets presented here.
Here I give a "brief," but relatively detailed, description of how the damage was calculated within the code. Let me know if there are any mistakes or inaccuracies that need to be corrected. I'm confident in the algorithm, but I may have done a poor job explaining in some places.
The simulations were based on Apex Toads with three sets of possible stats, excluding their innate -25% MDT. This can be thought of as having three unfortunate Apex Toads in a room and each weapon skill hit one of them randomly. Taken directly from my code, the stats used were:
Code
e_mdef = 0-malaise*(15+3*nbubble) if 0-malaise*(15+3*nbubble) > -50 else -50
apex_toad = {'Level': [131, 132, 133],
'Defense': [1206*(1-dia[dia_potency]-frailty*(0.148+0.027*nbubble)), 1239*(1-dia[dia_potency]-frailty*(0.148+0.027*nbubble)), 1272*(1-dia[dia_potency]-frailty*(0.148+0.027*nbubble))],
'Evasion': [1103, 1133, 1163],
'VIT': [264, 270, 276],
'AGI': [354, 356, 358], # AGI roughly measured using Scoreboard on two different toads.
'MND': [218, 224, 228],
'INT': [285, 293, 299],
'CHR': [270, 277, 284],
'Magic Defense': [e_mdef, e_mdef, e_mdef]} # Enemy Magic Defense has a floor of 50
For Physical weapon skills, I used the standard BG-wiki formula to calculate damage: Due to the random nature of PDIF, a new value is calculated for each hit individually.
Additional hits after the first main-hand hit, whether they be from multi-hit weapon skills or multi-attacks, were performed in the order suggested by the testing of Austar. In the case of multi-attack procs on weapon skills, testing by Saevel and Austar show that there can be no more than two multi-attack checks of any kind per weapon skill and that the off-hand weapon will always get one of these two checks if you have an off-hand weapon equipped, otherwise the main-hand will get both checks only if the weapon skill has at least two natural hits.
In addition to the testing of Saevel and Austar, I tested this by using 404 Blade: Retsu while dual-wielding (2+1 hits) with 29% DA and 31% TA on Apex Toads. The observed TP return distribution from 404 Blade: Retsu closely matches the expected distribution assuming that only the first two hits (the first main hit and the one sub hit in this case) can multi-attack. Any assumptions that all weapon skill hits can multi-attack (6 chances for Blade: Shun for example) quickly cause the expected distribution to diverge from the observed.
For Hybrid weapon skills, I used the equation provided by Bahadir's Blade: Chi testing, Jakey's YouTube video, and SimonSes' NIN Hybrid Damage calculator, which splits the weapon skill damage into two parts
Hybrid = Physical + Magical
The physical damage is calculated using the exact same method as mentioned previously for purely physical weapon skills, with the important change that FTP is 1.0 and non-replicating for the physical portion of Hybrid weapon skills (see Bahadir's testing). The magical damage is calculated using the physical damage and the player's "Magic Damage" stat as a base:
In addition to the basic formula for damage, it is important to explicitly mention the following special cases that are included in the damage calculations:
Unlike the first main-hand hit, the first off-hand hit does not gain the bonus from the standard weapon skill damage stat.
Certain "weapon skill damage" stats on weapons apply to all hits. Examples of this include Naegling Savage Blade Damage +15%, augmented REMA weapons, and the hidden weapon skill damage bonus on Mythics and Relics.
Weapon skills gain a hidden ~+100 accuracy to their first hit. My testing of 1745 unbuffed (Brygid+KuyinHathdenna+YoranUC) Blade: Chi on Apex toads heavily suggests that this bonus applies to the first off-hand hit as well.
Buffs to player Attack are applied in a specific order:
Attack = (8+Gear+Traits+Gifts+Skill+STR+STR(food)+STR(buffs)+BRD)*(1+COR+GEO+Kikoku10%+Berserk)+Attack(food)
The player's secondary/auxiliary/off-hand attack is calculated using only half of their STR stat (see BG-wiki: "Attack")
STR from food is immediately used to calculate base attack, but "Attack+" from food is not applied until all other buffs have taken effect.
Before running the code, I manually selected equipment for each equipment slot that I wanted to test. This allowed me to exclude testing items like Mummu Kecks for Blade: Chi, which would obviously be a waste of time. To allow the output of my code be easily compared to the spreadsheets, the code uses a distribution's average damage to determine which piece of gear is "better" than another. It should be noted that the average is not a good summary statistic for multi-peaked distributions, though. The algorithm itself is simple:
(Edit 2021-08-23: I've adjusted the code's algorithm to use averages for intermediate steps, and 50,000 simulations as the last step. The process for finding best sets is now identical to manually selecting gear in a spreadsheet and checking the DPS value. The advantage is that this code is automated and provides expected damage distributions at the end for further analysis.)
1) For each item slot (or for each pair of two item slots simultaneously), cycle through all selected equipment and calculate the average weapon skill damage from that test gear set.
2) If the average damage is higher than the previous highest, then keep that item equipped, otherwise ignore it and try another combination of gear.
3) After all slots (or all combination of two slots simultaneously) have been tested and the best item in each slot determined, restart from the beginning with the previous best set as the starting place, checking each slot (or combination of two slots simultaneously) again, up to 20 times until. This allows for some gear to change based on changes to already tested slots.
4) Stop early if gear changes result in an average damage increase less than 0.5%, or if no changes are made within two consecutive iterations. This is the convergence criterion and it usually triggered before iteration 7.
With the above algorithm, the code's runtime is ~3 seconds to find a best set while swapping only one slot at a time, or ~180 seconds if changing two slots simultaneously. An additional 10 seconds is required to build a distribution of 50,000 simulations for the fancy output plots.
The list of gear tested in each slot is presented here. All weapon skills used the same pool of gear. All UNM gear is R15. All Odyssey gear is R25. Code
mains = [Heishi, Kannagi, Kikoku, Nagi, Gokotai]
subs = [Ternion, Kunimitsu, Gleti_Knife, Tauret, Gokotai, Crepuscular_Knife]
grips = [Alber_Strap]
ammos = [Yetshila, Seething_Bomblet, Cath_Palug_Stone, Aurgelmir_Orb, Pemphredo_Tathlum, Ghastly_Tathlum, Crepuscular_Pebble]
heads = [Adhemar_Bonnet_A, Adhemar_Bonnet_B, Hachiya_Hatsuburi, Mochizuki_Hatsuburi, Malignance_Chapeau, Kendatsuba_Jinpachi, Mummu_Bonnet, Nyame_Helm, Mpaca_Cap, Blistering_Sallet]
necks = [Ninja_Nodowa, Fotia_Gorget, Caro_Necklace, Baetyl_Pendant]
ears = [Ishvara_Earring, Lugra_Earring_Aug, Moonshade_Earring, Brutal_Earring, Friomisi_Earring, Crematio_Earring, Balder_Earring, Mache_Earring1, Mache_Earring2, Odr_Earring, Crepuscular_Earring]
ears2 = [Ishvara_Earring, Lugra_Earring_Aug, Moonshade_Earring, Brutal_Earring, Friomisi_Earring, Crematio_Earring, Balder_Earring, Mache_Earring1, Mache_Earring2, Odr_Earring, Crepuscular_Earring]
bodies = [Kendatsuba_Samue, Adhemar_Jacket_A, Adhemar_Jacket_B, Malignance_Tabard, Nyame_Mail, Samnuha_Coat, Gyve_Doublet, Abnoba_Kaftan, Mpaca_Doublet, Tatenashi_Haramaki, Ryuo_Domaru_A, Agony_Jerkin]
hands = [Adhemar_Wristbands_A, Adhemar_Wristbands_B, Mochizuki_Tekko, Mummu_Wrists, Malignance_Gloves, Kendatsuba_Tekko, Nyame_Gauntlets, Mpaca_Gloves, Tatenashi_Gote, Ryuo_Tekko_A, Ryuo_Tekko_D]
rings = [Gere_Ring, Hetairoi_Ring, Shukuyu_Ring, Apate_Ring, Ilabrat_Ring, Regal_Ring, Epona_Ring, Petrov_Ring, Rufescent_Ring, Begrudging_Ring, Epaminondas_Ring, Mummu_Ring, Beithir_Ring, Dingir_Ring, Metamorph_Ring, Shiva_Ring1, Shiva_Ring2, Weatherspoon_Ring]
rings2 = [Gere_Ring, Hetairoi_Ring, Shukuyu_Ring, Apate_Ring, Ilabrat_Ring, Regal_Ring, Epona_Ring, Petrov_Ring, Rufescent_Ring, Begrudging_Ring, Epaminondas_Ring, Mummu_Ring, Beithir_Ring, Dingir_Ring, Metamorph_Ring, Shiva_Ring1, Shiva_Ring2, Weatherspoon_Ring]
capes = [Andartia_DAdex, Andartia_DAstr, Andartia_DAagi, Andartia_Critagi, Andartia_Critdex, Andartia_WSDstr, Andartia_WSDdex, Andartia_WSDagi, Andartia_Nuke]
belts = [Windbuffet_Belt, Fotia_Belt, Grunfeld_Rope, Kentarch_Belt, Sailfi_Belt, Orpheus_Sash]
legs = [Kendatsuba_Hakama, Adhemar_Kecks_A, Adhemar_Kecks_B, Mochizuki_Hakama, Samnuha_Tights, Jokushu_Haidate, Malignance_Tights, Mummu_Kecks, Gyve_Trousers, Hizamaru_Hizayoroi, Nyame_Flanchard, Mpaca_Hose, Tatenashi_Haidate, Ryuo_Hakama_A, Rao_Haidate_B]
feet = [Mochizuki_Kyahan, Adhemar_Gamashes_A, Adhemar_Gamashes_B, Malignance_Boots, Mummu_Gamashes, Kendatsuba_Sune_Ate, Nyame_Sollerets, Mpaca_Boots, Tatenashi_SuneAte, Ryuo_SuneAte_D, Rao_SuneAte_D]
Finally, since this post is already pretty long, I may as well link my official forum post from last year. This post details my requested Ninja job adjustments. Feel free to give it a like/comment.
https://forum.square-enix.com/ffxi/threads/57263-2020-2021-Ninja-Job-Adjustment-and-Feedback?s=66c8aaed6a12e3a576c9ee8f403e1174
|
|