|
2021 Ninja Gearsets
By Asura.Sesshmaru 2021-03-28 00:35:13
Tenrion Dagger is better option for physical ws, if u use hybrid go with kenimuitsu.
By Thunderjet 2021-03-28 02:22:57
I am surprised to see Agony Jerkin +1 in so many of the WS sets, especially in Shun over Adhemar Body +1.
R15 is the one and only reason Agony Jerkin +1 is in the sets.
R15 Augments (Lustreless Scales):
[1] Attack +60
[2] "Store TP" +10
[3] STR/DEX/VIT/AGI/INT/MND/CHR +10
The little extra attack and stats would make a difference, and the STP 10 would just help you WS again sooner. I use this for my ten its quite good
[+]
Necro Bump Detected!
[215 days between previous and next post]
By Sillex 2021-10-29 06:01:21
so good to have this in one place thanks for all your effort. One thing its missing is an MB set. trust me i need an mb set only hiting 14k atm but ill get there lol
By SimonSes 2021-10-29 08:49:06
Too bad the best MB set is Nyame path C, but oh well can't have everything :/
By Sillex 2021-11-03 05:31:18
would the base nyame set hands legs body be worth using with relic+3 head/feet stats still look pretty decent ?
By SimonSes 2021-11-03 06:36:50
would the base nyame set hands legs body be worth using with relic+3 head/feet stats still look pretty decent ?
Yeah base Nyame in those slots is still best behind Nyame C. The gap is huge tho. 75 MAB, 75 Magic Damage and 7%MBBII is a lot for Ninjutsu bursts. Depends if you have outside MAB buffs, Nyame C in those 3 slots is 30~35% higher damage on bursts over base Nyame.
Server: Asura
Game: FFXI
Posts: 1326
By Asura.Azagarth 2021-11-03 13:38:07
I was just complaining about this very thing in LS last night.. wish you could get the magical augs too somehow, or have gear that rivals it elsewhere for nuking.
OP needs updates!
[+]
Server: Asura
Game: FFXI
Posts: 41
By Asura.Shystie 2021-11-03 14:58:05
You make a few updates and suddenly you're calling out others!
[+]
By Sillex 2021-11-04 05:27:35
Thank you simon im a long way from obtaining those augs but am happy i was running the best I could atm. still in the process of learning NIN so any info i get is a great help.
[+]
Quetzalcoatl.Langly
Server: Quetzalcoatl
Game: FFXI
Posts: 685
By Quetzalcoatl.Langly 2021-11-04 08:12:34
If FFXIAH updated their item database within the same epoch as the day it came out I'd probably be more inclined to update things, mebbe a similar situation here. :D
Server: Asura
Game: FFXI
Posts: 1326
By Asura.Azagarth 2021-11-13 13:10:44
Yeah I am just trying to figure out where Nyame and Mpaca fits in here. Along with offhand weps now.
So much new gear this last yr. I just came back and feels like everything I had is way outdated.
By Izanami 2021-11-13 14:17:52
Yeah I am just trying to figure out where Nyame and Mpaca fits in here. Along with offhand weps now.
So much new gear this last yr. I just came back and feels like everything I had is way outdated.
The sets here are good for early 2021 before odyssey. The current best-in-slot weapon skill sets are presented in my Ninja gearsets with Python3 thread, which I try to keep up-to-date with new gear releases. Although, I'm debating whether or not to include Master Level 20 stats and subjob traits and rerunning everything.
https://www.ffxiah.com/forum/topic/56125/using-python3-to-estimate-bis-gear-sets-for-ninja/
[+]
Server: Asura
Game: FFXI
Posts: 1326
By Asura.Azagarth 2021-11-13 19:31:03
Nice work on the python, very helpful. Seeing thst we will probably keep getting master levels, it would be something you would have to keep updating. Probably not worth it as most things are clear or insignificant atm.
I would focus your effort maybe more on tp sets, nuking sets etc for nin. That would be very cool.
By Izanami 2021-11-13 21:46:31
Since it's automated, this is actually the easiest and fastest way to keep up-to-date sets for Ninja. I'd just need to spend maybe 30 minutes per master level increase (once a month?) putting in updated master level stats and adjusting gear in my ffxiah item sets page.
I do agree that I need to make the last few changes towards finding TP sets. It shouldn't be that hard considering that the code already calculates the time between attacks and TP return from auto attacks and weapon skills. I think this can be done by having the code save TP values and not resetting everything after each weapon skill, then saving the average result after N weapon skills or M seconds have passed. I have no immediate plans for this, though.
Ramuh.Austar
Server: Ramuh
Game: FFXI
Posts: 10481
By Ramuh.Austar 2021-11-14 02:14:57
I think this can be done by having the code save TP values and not resetting everything after each weapon skill, Not really sure I understand what you mean, but I instantiate between gear swap changes, you can do something very easy with this:
Code def equipment_change(self):
a = self.tp
g = self.aftermath
self.__init__()
self.tp = a
self.aftermath = g
Then if TP is >= minimum value it performs the WS gear function which loads all of my calculation functions and then performs the WS function itself. If not, it performs the TP gear function which also contains the calculation functions then performs the TP round function.
I also notice you don't simulate fully, you find the averages like a spreadsheet would. If you were just trying to find the "average" like a spreadsheet does, you could more easily just make something that goes through every combination on the gear page tab and print that.
By Izanami 2021-11-14 07:33:13
I think this can be done by having the code save TP values and not resetting everything after each weapon skill, Not really sure I understand what you mean
Since my published code only simulates weapon skills, the returned TP value is reset after each simulation. If I wanted to test for TP sets, then I simply need to NOT reset the TP value after each weapon skill and save it to some variable that gets iterated on in a loop.
My code only simulates weapon skills right now, correct. But the short functions for individual attack rounds are already written (in fact, they were the first thing I wrote and tested, but I became more interested in weapon skill sets at the time after seeing my Blade: Shun perform poorly).
This means I *should* be able to easily run a full short DPS simulation by calling the attack_round() function until a TP threshold has been met, then calling the already written and published full (or average) weapon skill simulation in the already defined best set. This would return TP and damage dealt from the weapon skill function to the main function that then calls the attack_round() function again until the TP threshold has been met again, repeating for N cycles or M simulated seconds. The last step would be to return the DPS over the interval and/or return the average number of attack rounds per weapon skill for each tested TP set.
I'm more interested in finding the lowest average attack rounds per weapon skill than the DPS, since rounds per weapon skill is normalized to something concrete while DPS is not and can vary wildly depending on the in-game situation.
Ramuh.Austar
Server: Ramuh
Game: FFXI
Posts: 10481
By Ramuh.Austar 2021-11-14 07:53:37
That's what I do, I just don't pre-average like you do for your WS ones. And because of that having a large degree of variance and the fact that there are HELP I AM TRAPPED IN 2006 PLEASE SEND A TIME MACHINE amounts of gear combinations, I manually select gear, which is why I was suggesting just writing something that finds every combination of gear on a gear tab of mote's spreadsheets instead if you're going to pre-average stuff
By Izanami 2021-11-14 09:05:30
I think we're talking about different things. My code does both methods and I've shown that they're essentially identical in terms of results. My code calculates the expected average for intermediate steps and then performs N=50000 full, proper, simulations to create the final plot and distribution. The distribution plot would be impossible to create if I didn't do the proper simulations somewhere in there.
The original unpublished version used N=50000 full simulations for each set of gear, which took like an hour to run per set due to the number of combinations it needed to check being multiplied by the number of simulations per combination. In the interest of time and at a small decrease to accuracy, I introduced the method used by the spreadsheet for intermediate steps and used proper simulations for the final best set and plot, which dropped runtime to about 3 seconds per set but returned the same result. The average method (spreadsheet method) is fine when you consider the variance seen in the distributions, but as a "first-order correction" of sorts, I check two slots simultaneously, which improved accuracy at the cost of increased runtime (3 seconds became 3 minutes). I could even say "swap three pieces at once!" to improve accuracy even more, but I think I estimated runtime to be about 30 minutes per set in that case (unless I add multiprocessing).
I already check every piece of modern Ninja gear, so there will be nothing new to add to my code if I were to look at the spreadsheet again. With so many pieces of gear and so many combinations of gear to check, manually changing one piece at a time is not feasible, let alone checking what happens with every combination of two pieces of gear being swapped at once. Of course you can remove a few "obviously not going to win" pieces, but at best, the manual method becomes an educated guess and check. In the time it takes a user to swap one item in the spreadsheet and see the result, my code has already checked ~10,000 combinations and found the best set when swapping one item at a time.
Ramuh.Austar
Server: Ramuh
Game: FFXI
Posts: 10481
By Ramuh.Austar 2021-11-14 09:26:56
I think we're talking about different things Maybe, I was talking about the inclusion of TP sets, not just WS sets.
My code calculates the expected average for intermediate steps and then performs N=50000 full, proper, simulations to create the final plot and distribution. This is the part that seems silly to me, is my point. Why not just do full average or do full simulation? When you start doing a timed fight, say 5 minutes, you'll get a large range. The goal then would be to reduce your IQRs while maintaining a similar average. If your only goal is just do have the highest average, then there is little reason to simulate anything at all.
This is assuming you are calculating TP sets as well. Not to mention any other additional things such as solo skill chains.
EDIT:
Just as an example of how large a range you can have, here is a MNK solo simulation on Apex mobs and this is the minimum and maximum DPS values
Code 4214.39 23080.4
0.31 0.69
3876.8 4548.24
20908.92 25267.35
3324.88 4924.39
3324 and 4924 are the min and max values. 3876 and 4548 are the 10-90% IQR. Forgot why I had that set, but ideally I'd want to shrink that range and maintain a similar average.
By Izanami 2021-11-14 10:42:11
Maybe, I was talking about the inclusion of TP sets, not just WS sets. My code would find the best TP set given a fixed weapon skill set. The process would be straightforward in that it just builds TP and uses it a certain number of times. No need for "average" damage. But averaging the final number of rounds per WS is the final goal.
My code calculates the expected average for intermediate steps and then performs N=50000 full, proper, simulations to create the final plot and distribution. This is the part that seems silly to me, is my point. Why not just do full average or do full simulation? Your confusion makes sense to me. I may have not done a good job explaining my reasoning in the original thread where I introduced the code. I'll try to do a better job here. It comes down to how the code evolved.
The original purpose of the code was to see how weapon skill damage is actually distributed. To do this, I needed to perform N simulations and use those to visualize the distribution. Thus doing N real simulations is a requirement, at least once. After I completed this goal, I recognized that the code was just a few new lines and indentations away from being able to automatically find the best in slot sets, so I did just that and then wrote the FFXIAH thread about it. However, the code took an hour to run per set and people were asking to see the code through DMs and in the main thread. With ~1 hour runtime, the code was not in an acceptable state to share.
I then modified the code to use a simple average to reduce runtime, which allowed me to show that the results do not change significantly between a simple average and N real simulations, for large N. Now the code uses simple averages for runtime improvements and N simulations for the final distribution. This current version of the code is posted on my Github, linked in the original thread.
When you start doing a timed fight, say 5 minutes, you'll get a large range. The goal then would be to reduce your IQRs while maintaining a similar average. If your only goal is just do have the highest average, then there is little reason to simulate anything at all. Again, the distribution at the end is the only reason I'm doing proper simulations. If I only cared about the average value at the end, then I would have stuck with spreadsheets and the code would've never been written.
This is assuming you are calculating TP sets as well. Not to mention any other additional things such as solo skill chains. I will add TP set calculations later using a method similar to how I've described above. I'm not interested in DPS as a measure of the performance of a TP set, since it would be strongly affected by status ailments, which would be difficult to simulate properly. If you get paralyzed or slowed, then your DPS drops. Such situations are too difficult for me to bother with right now. I'd rather keep it simple and say: "If I lock 5/5 Malignance and maybe an Engraved Belt for Magic Evasion, then what's the best set for the remaining armor slots in a hybrid TPing situation?"
I'm interested in the average number of completed attack rounds required to build enough TP to use a weapon skill with varying degrees of Haste(?) and enemy Evasion. This number is not affected by status ailments (except Virus?) and thus is easier to use as a first-step in comparing TP sets towards the goal of finding the "best" TP sets. Anything more complicated is currently beyond my ability I think.
Just as an example of how large a range you can have, here is a MNK solo simulation on Apex mobs and this is the minimum and maximum DPS values I don't know what those values represent, but I assume the last of each column are DPS. I'm still a few relatively large steps away from being able to do such simulations myself and would have to take things slowly one step at a time or I'd likely break everything.
[+]
Ramuh.Austar
Server: Ramuh
Game: FFXI
Posts: 10481
By Ramuh.Austar 2021-11-14 11:20:26
I then modified the code to use a simple average to reduce runtime, which allowed me to show that the results do not change significantly between a simple average and N real simulations, for large N. Now the code uses simple averages for runtime improvements and N simulations for the final distribution. This current version of the code is posted on my Github, linked in the original thread. Runtime shouldn't be a concern for something like this really. And doing it the way you did takes away one of the advantages of a simulation and that's having all of the output.
Again, the distribution at the end is the only reason I'm doing proper simulations. If I only cared about the average value at the end, then I would have stuck with spreadsheets and the code would've never been written. Then simulating every aspect would be a more accurate representation. Your averages are going to be similar to the way you do it, but you have accurate real results that you can then focus on reducing the variance with and maintaining the same average, or as close as you can.
I don't know what those values represent, but I assume the last of each column are DPS. I'm still a few relatively large steps away from being able to do such simulations myself and would have to take things slowly one step at a time or I'd likely break everything. Those are the results of a full simulation of a solo MNK beating on apex crabs for several minutes. I run it 10,000 times and get the averages I do. The first two are average DPS and average WS results, followed by percentage of AA/WS split, then my 10/90 IQRs for DPS and WS average, meaning 80% of my results are in those ranges. I forgot why I had it set to that, but it should be 25/75 so 50% of my results are in the range with anything outside of that being an outlier. The goal the would be to increase my average while keeping my results in a closer cluster.
By Izanami 2021-11-14 16:38:31
Runtime shouldn't be a concern for something like this really.
For these simple things, runtime is very important to me at least. I'd be pretty upset if somebody sent me a code and told me it'd take an hour to run for something that can be done in 3 seconds.
And doing it the way you did takes away one of the advantages of a simulation and that's having all of the output. I must be misreading something. It sounds like we're talking about different things again. Are we discussing the state of my current code, or my proposed direction for a future version? The way I'm doing things now isn't losing any information or output at all. Remember my final goal was only weapon skill damage and my code returns damage and TP. I'm just not using the TP return right now because the current version of the code has no use for it. As I mentioned, future versions would use it for TP set calculations. I don't understand what other useful information a weapon skill damage simulator could output.
Again, the distribution at the end is the only reason I'm doing proper simulations. If I only cared about the average value at the end, then I would have stuck with spreadsheets and the code would've never been written. Then simulating every aspect would be a more accurate representation. Your averages are going to be similar to the way you do it, but you have accurate real results that you can then focus on reducing the variance with and maintaining the same average, or as close as you can. Simulating every aspect is intractable. This is why I'm hesitant to trust any DPS simulation as a way to measure one set over another. If you're simulating realistic DPS on Kei, then you must include some amount of time in wind mode and some amount of time in fire mode. Wind mode has some chance to proc slow spikes, removing haste and applying slow, which is devastating to DPS, especially when solo. Similar situations must be accounted for in other extended fights. I'm curious to what extent you try to be realistic in your DPS simulations. An ideal DPS simulation hitting a wall with specific stats is too unrealistic to bother with since those numbers would never be realized in game. I assume at the very least you have something for reapplying AM3 and time with and without Impetus. Again, this is beyond my ability at the moment so I'll stick with the simple stuff for now.
I don't know what those values represent, but I assume the last of each column are DPS. I'm still a few relatively large steps away from being able to do such simulations myself and would have to take things slowly one step at a time or I'd likely break everything. Those are the results of a full simulation of a solo MNK beating on apex crabs for several minutes. I run it 10,000 times and get the averages I do. The first two are average DPS and average WS results, followed by percentage of AA/WS split, then my 10/90 IQRs for DPS and WS average, meaning 80% of my results are in those ranges. I forgot why I had it set to that, but it should be 25/75 so 50% of my results are in the range with anything outside of that being an outlier. The goal the would be to increase my average while keeping my results in a closer cluster. Okay, that is a cool output. Now I want to know if that 31% TP phase was with Empyrean AM3, and how that AA/WS damage ratio compares between Relic, Empyrean, and Aeonic.
I think 15.9% to 84.1% is the typical 1-sigma range used to determine outliers. Are your DPS distributions at least Gaussian(ish) or single peaked? Reducing the variance in a non-Gaussian(ish) distribution doesn't usually have any real meaning.
Ramuh.Austar
Server: Ramuh
Game: FFXI
Posts: 10481
By Ramuh.Austar 2021-11-14 16:51:12
I must be misreading something. It sounds like we're talking about different things again. Are we discussing the state of my current code, or my proposed direction for a future version? I'm talking about when you incorporate building TP sets.
I'm curious to what extent you try to be realistic in your DPS simulations. An ideal DPS simulation hitting a wall with specific stats is too unrealistic to bother with since those numbers would never be realized in game. I assume at the very least you have something for reapplying AM3 and time with and without Impetus. Again, this is beyond my ability at the moment so I'll stick with the simple stuff for now. I don't simulate niche stuff like your Kei example. I do incorporate maintaining AM3 with jobs starting at 0 TP, 3K TP, or anything in between really. JA alternating and usage, change of WS when my JAs change, skillchains up to solo 3 step, "merit style" mode where you deplete a mob's HP and have a 2 second delay before the next one which is based on a timer.
Okay, that is a cool output. Now I want to know if that 31% TP phase was with Empyrean AM3, and how that AA/WS damage ratio compares between Relic, Empyrean, and Aeonic. This particular output was with Godhands just spamming Howling.
I think 15.9% to 84.1% is the typical 1-sigma range used to determine outliers. Are your DPS distributions at least Gaussian(ish) or single peaked? Reducing the variance in a non-Gaussian(ish) distribution doesn't usually have any real meaning. I don't recall what numpy and random use by default, but I don't look at variance specifically since the results are such large numbers. That's why I focus on the IQR. If I compare a set and I get similar averages but my IQR 25 and 75 are both higher, there is a good chance that set will be more consistent.
[+]
By Sillex 2021-11-17 08:13:21
hello been using logicals lua for ninja but dont know how to change between ws set for capped att and uncapped any advice on how this is done please?
|
|