|
All Jobs Damage Simulator and Gear Sets
By drakefs 2023-09-14 11:35:34
I haven't added Enspells yet actually. Line 1552 of actions.py adds the +100% elemental WS damage, though. This is the same as line 758 in the old wsdist.py in the original GUI.
Thank you, I was looking through all of the WS files.
EDIT:
Code crocea = True if player.gearset["main"]["Name2"] == "Crocea Mors R25C" else False
viti = True if player.gearset["main"]["Name2"] == "Vitiation Sword R20C" else False
base_magical_damage = int(((152 + int((weapon_level-99)*2.45)+wsc)*ftp)*(1+crocea)*(.75+viti) + ws_dSTAT + magic_damage_stat)
should work with the Vitiation Sword being added to gear.py
Serveur: Cerberus
Game: FFXI
Posts: 1786
By Cerberus.Shadowmeld 2023-09-14 11:44:34
That won't work. It will reduce damage by 25% when you don't have viti in the set.
you'd have to do: Code
viti = 0.75 if player.gearset["main"]["Name2"] == "Vitiation Sword R20C" else 0
base_magical_damage = int(((152 + int((weapon_level-99)*2.45)+wsc)*ftp)*(1+crocea + viti) + ws_dSTAT + magic_damage_stat)
Edit: For all magic WS, not just RDM
[+]
By Izanami 2023-09-14 11:47:11
Code crocea = True if player.gearset["main"]["Name2"] == "Crocea Mors R25C" else False
viti = True if player.gearset["main"]["Name2"] == "Vitiation Sword R20C" else False
base_magical_damage = int(((152 + int((weapon_level-99)*2.45)+wsc)*ftp)*(1+crocea)*(.75+viti) + ws_dSTAT + magic_damage_stat)
should work with the Vitiation Sword being added to gear.py
Pretty close. You'll want (1 + 0.75*viti), instead. This will always be 1.0 or 1.75 multiplier.
[+]
Serveur: Cerberus
Game: FFXI
Posts: 1786
By Cerberus.Shadowmeld 2023-09-14 11:48:04
^^ Or that!
By drakefs 2023-09-14 11:58:07
If by pretty close, you mean completely wrong hehe
By drakefs 2023-09-14 12:45:10
EDIT: nevermind, I was using the exe instead of launching through py
I have screwed something up. Nageling (~19k) is beating out the Vitiation Sword (~18k) and Crocea Mors (~28k) is ~10k ahead of the Vitiation Sword.
Using 1k tp Sanguine Blade (45 ML, RDM/NIN, no buffs others than Gain-INT).
Code main="Naegling",
sub="Bunzi's Rod",
ranged=Empty,
ammo="Oshasha's Treatise",
head="Pixie Hairpin +1",
body="Lethargy Sayon +3",
hands="Jhakri Cuffs +2",
legs="Leth. Fuseau +3",
feet="Leth. Houseaux +3",
neck="Sibyl Scarf",
waist="Fotia Belt",
ear1="Regal Earring",
ear2="Malignance Earring",
ring1="Archon Ring",
ring2="Cornelia's ring",
back="Sucellos's Cape",
Cape is INT Magic WS.
Vitiation Sword is defined as:
Code Vitiation_Sword = {"Name":"Vitiation Sword","Name2":"Vitiation Sword R20C","Type":"Weapon","Skill Type":"Sword","DMG":179,"Delay":260,"Accuracy":40,"Magic Accuracy":40,"Magic Damage":201,"Sword Skill":255,"Magic Accuracy Skill":242,"Jobs":["rdm"]}
and added to mains
By Izanami 2023-09-14 16:13:24
EDIT: nevermind, I was using the exe instead of launching through py
I had a feeling that may have been the issue.
I've updated how the code handles Crocea by adding "Elemental WS Damage%" and "EnSpell Damage%" stats to the gear.py file. You can simply modify the gear.py file directly to add Vitiation Sword if you wanted.
Ayanmo+2 hands also now have "EnSpell Damage" +17, but the code still does not handle EnSpells at the moment.
[+]
Fenrir.Jinxs
Serveur: Fenrir
Game: FFXI
Posts: 540
By Fenrir.Jinxs 2023-09-20 11:15:10
Before I go down the rabbit hole of setting up the environment... Is there a way to run this on Android being that it is python based?
Edit: started trying anyways hit a wall with installing numba and by extension llvmlite which can't find it's config
Might get further if I figure out how to point them together
Cerberus.Kylos
Serveur: Cerberus
Game: FFXI
Posts: 4454
By Cerberus.Kylos 2023-09-20 12:39:45
I haven't got time to test this myself, but somebody in the DRK sub-forum was wondering why it keeps favouring store tp for Liberator, even when the Aftermath box for AM3 isn't checked. Is that something you can look at for them? Thanks.
Fenrir.Jinxs
Serveur: Fenrir
Game: FFXI
Posts: 540
By Fenrir.Jinxs 2023-09-20 13:10:12
Does anyone know how I should arrange the file for the optimize tab?
Becoming tedious to unselect vr rings r30 etc
Serveur: Cerberus
Game: FFXI
Posts: 1786
By Cerberus.Shadowmeld 2023-09-21 19:34:55
@Izanami if I wanted to add possible info for Ruthless Stroke, do I need to recompile the .exe?
Edit: I tried adding Ruthless Stroke to the ws dict in gui_wsdist.py and tab_inputs.py and I added what I think the stats for Ruthless Stroke are in weaponskill_scaling.py. But I can't get the WS to show up in the dropdown.
Ramuh.Austar
Serveur: Ramuh
Game: FFXI
Posts: 10481
By Ramuh.Austar 2023-09-21 19:45:54
you would have to recompile, yes. do you have python 3 installed or do you just run it as the executable?
By drakefs 2023-09-21 19:47:24
If you have python 3 installed you do not need to compile it. You can run to launch the GUI with the updated info (if you associated .py with python when installing python 3, you can also just double click gui_wsdist.py to launch it)
Serveur: Cerberus
Game: FFXI
Posts: 1786
By Cerberus.Shadowmeld 2023-09-21 19:51:10
I do not... :D
Edit: I know next to nothing about python.
Would you be willing to add the following?
Code
elif ws_name == "Ruthless Stroke":
base_ftp = [5.57, 14.0, 22.5]
ftp = np.interp(tp, base_tp, base_ftp)
ftp_rep = False
wsc = 0.2 * (player_dex + player_vit) + dStat[1] * gearset.palyerstats[dStat[0]]
nhits = 4
Edit2: I did install python, and was able to run it from the IDLE Shell, but I'm fair certain i've done something very wrong as the set it's putting out isn't even putting gear in some spots.
Edit3: I fixed it, it was a comma in the run_weaponskill function when I added Ruthless Stroke to the dict
By Dodik 2023-09-22 05:53:16
Does anyone know how I should arrange the file for the optimize tab?
Becoming tedious to unselect vr rings r30 etc
Do 'gs export all' in game and import your gear file. Auto-selects only gear you have.
By Izanami 2023-09-25 09:06:41
Before I go down the rabbit hole of setting up the environment... Is there a way to run this on Android being that it is python based?
Edit: started trying anyways hit a wall with installing numba and by extension llvmlite which can't find it's config
Might get further if I figure out how to point them together I'm not sure about running this on Android. This stackoverflow page links to a specific software that apparently works well.
If you're able to install Python, then you should be able to install missing packages with the Python package manager using the command "pip install <package-name>" or "pip3 install <package-name>" (pip usually is included with python installations). Numba is technically optional, so if numba is the only issue, then you can delete or comment out all lines with "numba" or "njit" in them throughout all of the files and it should run (much slower than before, though).
I haven't got time to test this myself, but somebody in the DRK sub-forum was wondering why it keeps favouring store tp for Liberator, even when the Aftermath box for AM3 isn't checked. Is that something you can look at for them? Thanks. I can't find anything obviously incorrect with the code. The code must see Store TP as best in general for the situation and gear selected for the person in the DRK sub-forum. I imagine this is due to the code using the highest "average TP gain per attack round" to build TP sets, rather than aiming for some X-hit build that players may be used to.
The sets I'm seeing the code output for DRK pre-AM3 Liberator TP seem fine to me at least. It doesn't appear to be favoring Store TP heavily and even suggests DA capes.
What was the expected pre-AM3 Liberator TP set? You could also double-check with the most up to date DRK spreadsheet to see how the expected set compares to what the code is outputting.
Does anyone know how I should arrange the file for the optimize tab?
Becoming tedious to unselect vr rings r30 etc You can manually delete equipment names from the lists in the gear.py file for the code to stop seeing them. For example, you could remove Nyame_Mail30 from the "bodies" list and the code will not show it in the optimize tab. See this post for a bit more detail.
Odyssey gear is added towards the end of the gear.py file. Nyame is added first on line 1187, so you'll want to remove "Nyame_Mail30A" and "Nyame_Mail30B" from the lists in that part of the code if you wanted the GUI to ignore them.
[+]
Serveur: Shiva
Game: FFXI
Posts: 26
By Shiva.Seraphione 2023-09-26 05:34:22
I can't find anything obviously incorrect with the code. The code must see Store TP as best in general for the situation and gear selected for the person in the DRK sub-forum. I imagine this is due to the code using the highest "average TP gain per attack round" to build TP sets, rather than aiming for some X-hit build that players may be used to.
My understanding was that the code would take our “initial TP” and “minimum TP to WS” settings and try to find a gear set that reaches the shortest average time for WS. Is this understanding wrong? Now you mention this, I indeed have an impression that the code sometimes favors Store TP even in cases where a small increase in Store TP in theory should not influence x-hit, but I am not sure if that impression is really correct.
Ramuh.Austar
Serveur: Ramuh
Game: FFXI
Posts: 10481
By Ramuh.Austar 2023-09-26 07:29:40
because it doesn't calculate based on x-hit.
Fenrir.Jinxs
Serveur: Fenrir
Game: FFXI
Posts: 540
By Fenrir.Jinxs 2023-09-26 09:47:15
Do magic calculations work for holy and banish? And magic burst?
By Izanami 2023-09-26 11:23:02
My understanding was that the code would take our “initial TP” and “minimum TP to WS” settings and try to find a gear set that reaches the shortest average time for WS. Is this understanding wrong? Now you mention this, I indeed have an impression that the code sometimes favors Store TP even in cases where a small increase in Store TP in theory should not influence x-hit, but I am not sure if that impression is really correct.
The code maximizes the average TP gained per attack round. It would be very difficult to optimize X-hit while also only swapping two pieces of gear at once. This is complicated further if we wanted to find a DT set that optimizes X-hit.
I could iteratively do it, similar to how DT sets are calculated, by finding the "best" TP set, calculating its X-hit value, and slowly moving towards the nearest/desired integer, but this would be slow and I'm not sure if X-hit is used much these days anyway since we gain TP so quickly and most useful weapon skills actually benefit from TP overflow.
Do magic calculations work for holy and banish? And magic burst? No. I wanted to build a WHM Banish/Holy burst set for DDing, but I could not find published [M, V] values for Banish or Holy so I can't accurately calculate the damage dealt by these spells. Maybe I just wasn't looking in the correct places, though. The Black Magic [M, V] values are on the Magic Damage page of BG Wiki.
If you wanted to find [M, V] for white magic (as a function of dMND probably), then check out my other FFXIAH post where I fully constrained [M, V] for Ninjutsu as a function of dINT. Essentially you just fix your Magic Attack and Magic Damage stats and nuke hundreds of targets with known MND while slowly increasing your MND value.
Carbuncle.Maletaru
Serveur: Carbuncle
Game: FFXI
Posts: 2521
By Carbuncle.Maletaru 2023-09-26 11:34:24
X-hit is further complicated by the value of your samurai roll too. Unless you're going to make 11 different X-hit builds, you're going to be over- or under-flowing TP in your set.
I think X-hit builds are a thing of the past TBH. It's extremely difficult to get a consistent X-hit unless you either don't have Samurai Roll or presume some result. It would also depend on whether or not Crooked Cards was used on the roll, so maybe 22 different sets.
Can probably eliminate 1, 3, 4, 5 from the lists because most people wouldn't stop on those numbers, but ya never know. Anyway, I think it's a pointless endeavor and not practical.
Serveur: Bahamut
Game: FFXI
Posts: 1781
By Bahamut.Celebrindal 2023-09-26 11:37:55
Carbuncle.Maletaru said: »X-hit is further complicated by the value of your samurai roll too. Unless you're going to make 11 different X-hit builds, you're going to be over- or under-flowing TP in your set.
I think X-hit builds are a thing of the past TBH. It's extremely difficult to get a consistent X-hit unless you either don't have Samurai Roll or presume some result. It would also depend on whether or not Crooked Cards was used on the roll, so maybe 22 different sets.
Can probably eliminate 1, 3, 4, 5 from the lists because most people wouldn't stop on those numbers, but ya never know. Anyway, I think it's a pointless endeavor and not practical.
Thank you. X-hit comes from an era where TP gain was infinitely rougher than it is today....capped gear haste was a thing to dream about, not hard to avoid....multiattack gear was rare at best as well. Its completely outdated in terms of a way to plan DPS any more, in particular when the advantages of TP scaling of so many WSs ends up out-performing spamming at 1k with often little difference in time between WS.
Are there moments where I re-evaluate a set because I find myself constantly landing just short of 1k? Sure- on RNG and COR shooting sets. That's really the only time I think I've altered something for "x-hit purposes".
Carbuncle.Maletaru
Serveur: Carbuncle
Game: FFXI
Posts: 2521
By Carbuncle.Maletaru 2023-09-26 12:29:15
I mean I've also sometimes found myself frustratingly stuck at 993 TP on a regular basis while TPing on some jobs...but that situation is only under a specific set of buff conditions so I'm not going to rebuild my entire set for it. Especially not when any double, triple, or quad attack (on either hand if dual-wielding) will negate the "benefit" of optimizing my set to hit exactly 1k TP.
Plus as stated above, some WS are better at 1500, 1650, or 2k TP, so optimizing for 1k is only relevant sometimes on some jobs with some amount of samurai roll...it's antiquated. I think the method of "which set gets the highest TP/second on average" is the best method we can use. If you find yourself in the same situation on a regular basis (Always get a Crooked 11 in Ambu because you're resetting JA between runs) and want to build a custom TP set just for that situation to hit an X-hit go for it, but I'm personally extremely skeptical that it will provide any benefit, practically speaking.
Serveur: Shiva
Game: FFXI
Posts: 26
By Shiva.Seraphione 2023-09-26 14:00:25
I agree with all of you. I just wanted to make sure I understand correctly. I was under an impression that the code tries to minimize the average time to WS (because the output gear set is always associated with mentioning "average time to WS = x.xx seconds"). Now it has been clarified that it maximizes the average TP gain per attack round instead. This subtle difference explains some of my earlier confusions so it is all good.
Apart from the Samurai roll and TP overflow which gave already been mentioned, there is one other factor that makes x-hit builds even less useful. Nowadays our WS gear also has a lot of DA and TA in it. If we DA on one hit we get 10 more TP, and if we TA on one hit we get 20 more TP. So if we talk about "x-hit after WS", which is the real situation in practice, then it is really hard to find a situation where adding some substantial STP does not help.
The only situation where I found x-hit somewhat useful is when I use RDM in a solo situation using magical WS. Since magic WS does not DA/TA/QA, we basically get fixed 60 TP after each WS (depending on STP in our WS gear). In this scenario, calculating x-hit tiers has been useful for me to a certain extent. In the case of Sanguine Blade, TP overflow is not very useful; in the case of Seraph > RLB > Seraph > MB, keeping skillchain going is also important. It was in that context I noticed that the code seems to build the TP set in a somewhat different way than what I expected, but I do not consider that to be an issue or consider any change would be needed.
By drakefs 2023-09-28 14:29:39
Can aria +5 and Aria +6 be added to the Song list? I would do it myself but unfortunately I am a "bit" out of my depth here.
Has anyone done this for themselves that doesn't mind sharing the code?
Aria +5 is 19% PDL
Aria +6 is 20% PDL
per: https://www.ffxiah.com/forum/topic/57318/prime-ws-information-testing-discussion/20/#3673083
Edit: these are specific + song levels for the song because you cannot get +7 without the Stage 5 horn, while all other songs (except Honor March) will be at +7 regardless of the stage of you Prime Horn. Aria +5 and +6 will be common for a while.
Cerberus.Kylos
Serveur: Cerberus
Game: FFXI
Posts: 4454
By Cerberus.Kylos 2023-10-01 15:03:45
How much magic evasion would you give an i145 target like Dhartok? It was suggested to use 800-1100 (with no Frazzle) in an earlier post. I know it is impossible to know the exact number, but a good estimate would help a lot. Thanks.
Edit: Also, one thing I have noticed about the damage calculator for Magic Bursts sets, is that it does not prioritize capped Magic Burst at 40 as much as it probably should. I know there are instances where losing some MB for other stats are beneficial, but when I get sets with 34 MB I have to question it.
By Izanami 2023-10-01 18:35:19
Can aria +5 and Aria +6 be added to the Song list? I've added Aria as +12.0 PDL with +1.333 per each Song+ and a minimum of Songs+3. This should be fine until we know the exact values. The total PDL value can be viewed in the stats tab.
Edit: The Oct01a version has a typo which set Aria's maximum bonus to Songs+3, rather than its minimum bonus. I've fixed this in the Oct01b version.
How much magic evasion would you give an i145 target like Dhartok? It was suggested to use 800-1100 (with no Frazzle) in an earlier post. I know it is impossible to know the exact number, but a good estimate would help a lot. Thanks. I have no idea about magic evasion.
Edit: Also, one thing I have noticed about the damage calculator for Magic Bursts sets, is that it does not prioritize capped Magic Burst at 40 as much as it probably should. I know there are instances where losing some MB for other stats are beneficial, but when I get sets with 34 MB I have to question it. There should be no issues with the Magic Burst sets since magic damage is already very well defined in this game, assuming you left enemy_meva=0. I'll look into this later.
If you're playing with MB sets with some enemy Magic Evasion, or if you gave the enemy a ton of INT, then I could see the code favoring more INT or Magic Accuracy rather than throwing together a +40 MB1 set. Magic Burst Bonus also suffers slightly from diminishing returns, but 6% is a lot missing.
[+]
Cerberus.Kylos
Serveur: Cerberus
Game: FFXI
Posts: 4454
By Cerberus.Kylos 2023-10-01 19:13:54
It should be noted that I am not decked out with +3 Empyrean and augmented Odyssey gear, so my limitations against a higher target could be causing these results, but it is good to be sure.
Serveur: Asura
Game: FFXI
Posts: 3184
By Asura.Geriond 2023-10-02 15:30:40
Magic Burst Bonus is strong, but it's not strong enough to always outmuscle higher MAB or higher INT, especially on BLM.
If a job master BLM has 34 MBB and 30 MBB, adding 6% MBB to hit the cap is a ~3% increase in damage. If you've got, say, 100 more INT than the enemy, then it only takes like +15 INT to outmuscle that difference using Stone VI (maybe +18 INT for Thunder VI).
Serveur: Asura
Game: FFXI
Posts: 3184
By Asura.Geriond 2023-10-02 15:37:45
I agree with all of you. I just wanted to make sure I understand correctly. I was under an impression that the code tries to minimize the average time to WS (because the output gear set is always associated with mentioning "average time to WS = x.xx seconds"). Now it has been clarified that it maximizes the average TP gain per attack round instead. This subtle difference explains some of my earlier confusions so it is all good. Unless I'm mistaken, it doesn't maximize that, either. Rather, it maximizes pure DPS regardless of how that manifests in terms of WS rate.
In one situation maximizing overall TP speed might lead to max DPS (such as with DRK using Cross Reaper, which has high TP scaling and minimal innate TP bonus), but in another minimizing the average time to WS might lead to max DPS (such as when using WAR Savage + Thibron, which gains little from TP since it's already at +2250 from innate TP Bonus).
|
|