Sylph.Reain said: »
The Wind-50% there actually means geomancy resistance 50%.
Ramuh.Austar said: »
...
A Scholar's Education (Guide) |
||
|
A Scholar's Education (Guide)
Ramuh.Austar said: » They do without agwu and +3 empyrean. I don't have them added at the moment, but I can check later if you have specifics. 1) Unaugmented Agwu set 2) Amalric+1 set 3) Arbatel+2 set 4) Merlinic augmented set (see spoiler for stats) Also specifically for Helix, do you have a tier list of the three main waist options I can think of? Acuity+1 R15, Skrymir+1, Sacro Cord. Merlinic augs I get the strong feeling there's no point updating my very old nuking set, unless I get past a certain Agwu level (I would assume at least R20 on the relevant pieces) Also, what do you people say with Akademos (A) + Enki Strap, vs Bunzi R0 + Ammurapi? I feel the former would be slightly more damage, but only in situations where you can afford the pretty big loss in terms of Macc. Anywhere else where Macc would matter, the latter combination should win. Asura.Sechs said: » Ramuh.Austar said: » They do without agwu and +3 empyrean. I don't have them added at the moment, but I can check later if you have specifics. 1) Unaugmented Agwu set 2) Amalric+1 set 3) Arbatel+2 set 4) Merlinic augmented set (see spoiler for stats) Also specifically for Helix, do you have a tier list of the three main waist options I can think of? Acuity+1 R15, Skrymir+1, Sacro Cord. Merlinic augs I get the strong feeling there's no point updating my very old nuking set, unless I get past a certain Agwu level (I would assume at least R20 on the relevant pieces) Also, what do you people say with Akademos (A) + Enki Strap, vs Bunzi R0 + Ammurapi? I feel the former would be slightly more damage, but only in situations where you can afford the pretty big loss in terms of Macc. Anywhere else where Macc would matter, the latter combination should win. Ramuh.Austar said: » If you have a full list of available gear, I can run it. What kind of target are you looking at? Just Apex or bursting on sortie/ongo stuff? Here is the full list of available gear that I can think of. Hopefully I didn't forget anything of what I have available. Thanks in advance! Waist part is only for Helix of course. I assume obi is gonna win every time for the elementally-alligned nukes. Cerberus.Shadowmeld
Offline
Get an ongo v1 win and augment agwus up to r15. It really would help
I have Ongo V20 win Shadow, but RP won't magically appear on my gear with a snap of my fingers.
I used around 300k Segments the past few weeks to cap several other items to R25. Now my segments are low and either way I'm not able to solo Ongo V20 RP I might be able to do 6% HP with a solo SC from my SCH, but I need to test it and either way I have no segs atm so I'm gonna have to farm segs for the upcoming weeks. Which brings back to my initial question: is there space for improvement on my old, outdated MBB set? Or should I simply not bother until Agwu is past a certain Rank? Which is exactely why I asked Austar if he can be bothered to use his tool with my list of available gear. If, like I suspect, the result will be to just leave my set as it is, then I'll just give up tryin to update it until Agwu is augmented :D Are you trying to do 6% solo without any buffs?
With your gear list and assuming regular buffs for V20: 2H INT songs, 2H INT and -MDB GEO, Crooked Wizard's, Impact, Burn, Vidohunir, and Rayke active: Stone V ItemSet 388476 Although metamorph ring +1 is really close and pulls ahead when buffs drop. R0 agwu legs also are pretty close to your merlinic, so you could honestly probably just ditch merlinic completely. The helix damage values on BG stated need verification, but looks like individual pages are fine, so I'll run a check on those. Asura.Sechs said: » I have Ongo V20 win Shadow, but RP won't magically appear on my gear with a snap of my fingers. I used around 300k Segments the past few weeks to cap several other items to R25. Now my segments are low and either way I'm not able to solo Ongo V20 RP I might be able to do 6% HP with a solo SC from my SCH, but I need to test it and either way I have no segs atm so I'm gonna have to farm segs for the upcoming weeks. Which brings back to my initial question: is there space for improvement on my old, outdated MBB set? Or should I simply not bother until Agwu is past a certain Rank? Which is exactely why I asked Austar if he can be bothered to use his tool with my list of available gear. If, like I suspect, the result will be to just leave my set as it is, then I'll just give up tryin to update it until Agwu is augmented :D Gambit rayke helix don’t tp it on RUN. Regen5 should keep a properly geared run up fine With a RUN to give you Rayke and Gambit you could bring V20 Ongo down to ~70% pretty easily. For the purpose of farming RP, I wouldn't drop it to below 75% to avoid the pet though. Ygnas can solo heal this, you don't even need to cast Regen V if you want to be lazy. You are timing out on this anyways, so there's no reason not to bring Ongo to a lower HP% to get a (slightly) higher RP reward threshold.
@Sechs
If you're just going in to burst a Geohelix II, if you can bring a RUN that can at least Rayke, this set with no other buffs besides food gets pretty close to capped damage. ItemSet 388495 Asura.Sechs said: » Ramuh.Austar said: » If you have a full list of available gear, I can run it. What kind of target are you looking at? Just Apex or bursting on sortie/ongo stuff? Here is the full list of available gear that I can think of. Hopefully I didn't forget anything of what I have available. Thanks in advance! Waist part is only for Helix of course. I assume obi is gonna win every time for the elementally-alligned nukes. Would be interested in seeing how Mpaca's Staff does as well. Is there anywhere we can get the optimizer to play around with different sets? Bismarck.Yvan said: » Asura.Sechs said: » Ramuh.Austar said: » If you have a full list of available gear, I can run it. What kind of target are you looking at? Just Apex or bursting on sortie/ongo stuff? Here is the full list of available gear that I can think of. Hopefully I didn't forget anything of what I have available. Thanks in advance! Waist part is only for Helix of course. I assume obi is gonna win every time for the elementally-alligned nukes. Would be interested in seeing how Mpaca's Staff does as well. Is there anywhere we can get the optimizer to play around with different sets? As far as the optimizer, it isn't very user friendly. I don't have an interface for it and don't care to make one, so you'd have to do a little bit of modifying for gear, mob stats, and buffs I'm not worried about having to make any modifications but would like to give it a shot if you don't mind sharing.
Bismarck.Yvan said: » I'm not worried about having to make any modifications but would like to give it a shot if you don't mind sharing. Should only have to mess with the variables at the top, spell base damage functions, and gear. I would suggest using notepad++ or a more robust editor like VS Code. You can run online if you don't want to install python 3 https://www.tutorialspoint.com/execute_python3_online.php works well Code from itertools import product from math import floor base_int = 114 # Base, GEO, BRD base_macc = 456 + 42 + 15 # Dark Arts/Merits/Master, Gifts, Klimaform target_int = 425 mab_buffs = 0 # Roll target_mdb = 0 sc_multiplier = 1.75 target_mdt = 0.8 day_weather = 1.25 macc_required = 1060 - 100 # -100 for Burst # Stone V # def dINT(dint): # if dint < 50: # d = dint # v = 650 # m = 6 # elif dint < 100: # d = dint - 50 # v = 950 # m = 5 # elif dint < 200: # d = dint - 100 # v = 1200 # m = 4 # elif dint < 300: # d = dint - 200 # v = 1600 # m = 3 # elif dint < 400: # d = dint - 300 # v = 1900 # m = 2 # elif dint < 500: # d = dint - 400 # v = 2 # m = 1 # return floor(v + d * m) # Helix II def dINT(dint): if dint < 50: d = dint v = 75 m = 2 elif dint < 100: d = dint - 50 v = 175 m = 1 else: d = dint - 100 v = 225 m = 0 return floor(v + d * m) def dACC(dint): if dint < -70: d = 0 m = 0 b = 0 elif dint < -30: d = dint - -70 m = 0.25 b = 0 elif dint < -10: d = dint - -30 m = 0.5 b = 10 elif dint < 11: d = dint - -10 m = 1 b = 20 elif dint < 31: d = dint - 11 m = 0.5 b = 10 elif dint < 71: d = dint - 31 m = 0.25 b = 50 else: d = 0 m = 0 b = 60 return floor(d * m) + b def amalric(set_count): if set_count > 1: return 10 * set_count else: return 0 def af_set(set_count): if set_count > 1: return 15 * (set_count - 1) else: return 0 # a function to calculate the sum of some stat for an equipment_set def stat_sum(equipment_set, stat): return sum(item.get(stat, 0) for item in equipment_set) def main(): # equipment is grouped up into sub-lists by slot name equipment = [ [ {"Name": "C. Snow Cone", "INT": 5, "Magic Atk. Bonus": 13}, {"Name": "Tropical Crepe", "INT": 2, "Magic Accuracy": 90}, ], [ { "Name": "Maxentius", "INT": 15 + 13, "Magic Accuracy": 40 + 250 + 38, "Magic Atk. Bonus": 21 + 38, "Magic Damage": 232, "Magic Burst Damage": 4, # Ammurapi Shield }, { "Name": "Daybreak", "INT": 13, "Magic Accuracy": 40 + 242 + 38, "Magic Atk. Bonus": 40 + 38, "Magic Damage": 241, # "Affinity": 50, # Ammurapi Shield }, { "Name": "Bunzi's Rod", "INT": 15 + 13, "Magic Accuracy": 40 + 255 + 38, "Magic Atk. Bonus": 35 + 38, "Magic Damage": 248, "Magic Burst Damage": 10, # Ammurapi Shield }, { "Name": "Mpaca's Staff", "INT": 15 + 10, "Magic Accuracy": 40 + 255 + 10, "Magic Atk. Bonus": 35, "Magic Damage": 263, "Magic Burst Damage II": 2, # Enki Strap }, ], [ {"Name": "Ghastly Tathlum +1", "Magic Damage": 11 + 10, "INT": 6 + 5}, { "Name": "Pemphredo Tathlum", "INT": 4, "Magic Accuracy": 8, "Magic Atk. Bonus": 4, }, ], [ { "Name": "Arbatel Bonnet +2", "INT": 33, "Magic Accuracy": 51, "Magic Atk. Bonus": 46, "Magic Damage": 21, }, { "Name": "Peda. M.Board +3", "INT": 39, "Magic Accuracy": 37 + 15, "Magic Atk. Bonus": 49, "Elemental Magic Skill": 19, "Magic Burst Damage II": 4, }, { "Name": "Agwu's Cap", "INT": 33, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 7, }, { "Name": "C. Palug Crown", "INT": 34, "Magic Accuracy": 50, "Magic Atk. Bonus": 45, }, { "Name": "Merlinic Hood", "INT": 29, "Magic Accuracy": 15 + 20, "Magic Atk. Bonus": 10 + 30, "Magic Burst Damage": 7, }, ], [ { "Name": "Arbatel Gown +2", "INT": 45, "Magic Accuracy": 54, "Magic Atk. Bonus": 54, "Magic Damage": 24, }, { "Name": "Agwu's Robe", "INT": 47, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 10, }, { "Name": "Amalric Doublet +1", "INT": 38, "Magic Accuracy": 33 + 20, "Magic Atk. Bonus": 33 + 20, "Set Bonus": 1, }, { "Name": "Merlinic Jubbah", "INT": 40 + 5, "Magic Accuracy": 20 + 15, "Magic Atk. Bonus": 20 + 16, "Magic Burst Damage": 9, }, ], [ { "Name": "Arbatel Bracers +2", "INT": 31, "Magic Accuracy": 52, "Magic Atk. Bonus": 47, "Magic Damage": 22, "Magic Burst Damage": 10, }, { "Name": "Agwu's Gages", "INT": 33, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 8, }, { "Name": "Amalric Gages +1", "INT": 24 + 12, "Magic Accuracy": 20, "Magic Atk. Bonus": 33 + 20, "Elemental Magic Skill": 14, "Magic Burst Damage II": 6, "Set Bonus": 1, }, ], [ { "Name": "Arbatel Pants +2", "INT": 48, "Magic Accuracy": 53 + 31, "Magic Atk. Bonus": 48, "Magic Damage": 23, }, { "Name": "Agwu's Slops", "INT": 49, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 9, }, { "Name": "Merlinic Shalwar", "INT": 43, "Magic Accuracy": 20 + 10, "Magic Damage": 13, "Magic Atk. Bonus": 15 + 37, "Magic Burst Damage": 9, }, { "Name": "Amalric Slops +1", "INT": 40, "Magic Accuracy": 20, "Magic Atk. Bonus": 40 + 20, "Set Bonus": 1, }, ], [ { "Name": "Arbatel Loafers +2", "INT": 29, "Magic Accuracy": 50, "Magic Atk. Bonus": 45, "Magic Damage": 20, "Elemental Magic Skill": 28, "Magic Burst Damage II": 4, "Klimaform": 20, }, { "Name": "Agwu's Pigaches", "INT": 30, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 6, }, { "Name": "Amalric Nails +1", "INT": 21, "Magic Damage": 20, "Magic Accuracy": 20, "Magic Atk. Bonus": 32 + 20, "Set Bonus": 1, }, ], [ # {"Name": "Sibyl Scarf", "INT": 10, "Magic Atk. Bonus": 10}, # { # "Name": "Argute Stole +2", # "Magic Accuracy": 30, # "Magic Burst Damage": 10, # "INT": 15, # "Magic Damage": 25, # }, { "Name": "Mizu. Kubikazari", "INT": 4, "Magic Atk. Bonus": 8, "Magic Burst Damage": 10, }, {"Name": "Quanpur Necklace", "Magic Atk. Bonus": 7, "Affinity": 5}, ], [ { "Name": "Sacro Cord", "INT": 8, "Magic Accuracy": 8, "Magic Atk. Bonus": 8, }, { "Name": "Skrymir Cord +1", "Magic Accuracy": 7, "Magic Atk. Bonus": 7, "Magic Damage": 35, }, {"Name": "Acuity Belt +1", "INT": 6 + 7 + 10, "Magic Accuracy": 15}, ], [ {"Name": "Regal Earring", "INT": 10, "Magic Atk. Bonus": 7, "AF Set": 1}, { "Name": "Barkaro. Earring", "INT": 3, "Magic Accuracy": 8, "Magic Atk. Bonus": 8, }, ], [ { "Name": "Malignance Earring", "INT": 8, "Magic Accuracy": 10, "Magic Atk. Bonus": 8, } ], [ {"Name": "Mujin Band", "Magic Burst Damage II": 5}, {"Name": "Metamor. Ring +1", "INT": 6 + 10, "Magic Accuracy": 5 + 10}, {"Name": "Locus Ring", "Magic Burst Damage": 5}, ], [ # {"Name": "Mujin Band", "Magic Burst Damage II": 5}, {"Name": "Freke Ring", "INT": 10, "Magic Atk. Bonus": 8}, {"Name": "Locus Ring", "Magic Burst Damage": 5}, ], [ { "Name": "Lugh's Cape", "INT": 20 + 10, "Magic Accuracy": 20, "Magic Damage": 20, "Magic Atk. Bonus": 10, } ], ] # User itertools method product to get every potential set of equipment # https://d...content-available-to-author-only...n.org/3/library/itertools.html#itertools.product equipment_sets = product(*equipment) # with the usage of list comprehension valid_equipment_sets = [ equipment_set for equipment_set in equipment_sets if base_macc + stat_sum(equipment_set, "Magic Accuracy") + stat_sum(equipment_set, "Elemental Magic Skill") + dACC(base_int + stat_sum(equipment_set, "INT") - target_int) + af_set(stat_sum(equipment_set, "AF Set")) >= macc_required ] # find the equipment set with the highest sum of the stat 'RapidShot' top_valid_equipment_set = max( valid_equipment_sets, key=lambda x: ( floor( floor( floor( floor( floor( floor( floor( ( stat_sum(x, "Magic Damage") + dINT( base_int + stat_sum(x, "INT") - target_int ) ) * (1 + stat_sum(x, "Affinity") / 100) ) * sc_multiplier ) * ( 1 + ( min(40, stat_sum(x, "Magic Burst Damage")) + stat_sum(x, "Magic Burst Damage II") + 22 ) / 100 ) ) * day_weather ) * ( ( 1 + ( mab_buffs + stat_sum(x, "Magic Atk. Bonus") + amalric(stat_sum(x, "Set Bonus")) + 60 ) / 100 ) / (1 + target_mdb / 100) ) ) * target_mdt ) * (1 + stat_sum(x, "Klimaform") / 100) ) ), ) print(len(valid_equipment_sets), "valid sets.", end="\n\n") print("Top Valid Set:", *top_valid_equipment_set, sep="\n", end="\n\n") print( "Magic Damage:", stat_sum(top_valid_equipment_set, "Magic Damage"), sep="\n", ) print("INT:", stat_sum(top_valid_equipment_set, "INT") + base_int, sep="\n") print( "Magic Accuracy:", base_macc + stat_sum(top_valid_equipment_set, "Magic Accuracy") + stat_sum(top_valid_equipment_set, "Elemental Magic Skill") + dACC(base_int + stat_sum(top_valid_equipment_set, "INT") - target_int) + af_set(stat_sum(top_valid_equipment_set, "AF Set")), sep="\n", ) print( "Magic Atk. Bonus:", stat_sum(top_valid_equipment_set, "Magic Atk. Bonus") + amalric(stat_sum(top_valid_equipment_set, "Set Bonus")) + mab_buffs + 60, sep="\n", ) print( "Magic Burst Damage:", stat_sum(top_valid_equipment_set, "Magic Burst Damage"), sep="\n", ) print( "Magic Burst Damage II:", stat_sum(top_valid_equipment_set, "Magic Burst Damage II") + 22, sep="\n", ) print() print( floor( floor( floor( floor( floor( floor( floor( ( stat_sum( top_valid_equipment_set, "Magic Damage" ) + dINT( base_int + stat_sum(top_valid_equipment_set, "INT") - target_int ) ) * ( 1 + stat_sum(top_valid_equipment_set, "Affinity") / 100 ) ) * sc_multiplier ) * ( 1 + ( min( 40, stat_sum( top_valid_equipment_set, "Magic Burst Damage", ), ) + stat_sum( top_valid_equipment_set, "Magic Burst Damage II" ) + 22 ) / 100 ) ) * day_weather ) * ( ( 1 + ( mab_buffs + stat_sum(top_valid_equipment_set, "Magic Atk. Bonus") + amalric( stat_sum(top_valid_equipment_set, "Set Bonus") ) + 60 ) / 100 ) / (1 + target_mdb / 100) ) ) * target_mdt ) * (1 + stat_sum(top_valid_equipment_set, "Klimaform") / 100) ) ) main() Assuming I did everything properly and the values we had earlier are correct. Target Aiti
Updated base INT to 141 (my current int as ML26) Buffs: 6 Wizards Roll, Geo Int/Acumen and Malaise Nukes: Code {'Name': 'C. Snow Cone', 'INT': 5, 'Magic Atk. Bonus': 13} {'Name': "Bunzi's Rod r25", 'INT': 28, 'Magic Accuracy': 343, 'Magic Atk. Bonus': 98, 'Magic Damage': 248, 'Magic Burst Damage': 10} {'Name': 'Ghastly Tathlum +1', 'Magic Damage': 21, 'INT': 11} {'Name': "Agwu's Cap r25", 'INT': 33, 'Magic Accuracy': 50, 'Magic Atk. Bonus': 58, 'Magic Damage': 33, 'Magic Burst Damage': 7} {'Name': 'Arbatel Gown +3', 'INT': 50, 'Magic Accuracy': 64, 'Magic Atk. Bonus': 59, 'Magic Damage': 34} {'Name': "Agwu's Gages r25", 'INT': 33, 'Magic Accuracy': 50, 'Magic Atk. Bonus': 58, 'Magic Damage': 20, 'Magic Burst Damage': 8, 'Magic Burst Damage II': 5} {'Name': "Agwu's Slops r25", 'INT': 49, 'Magic Accuracy': 50, 'Magic Atk. Bonus': 58, 'Magic Damage': 20, 'Magic Burst Damage': 9} {'Name': 'Arbatel Loafers +3', 'INT': 34, 'Magic Accuracy': 60, 'Magic Atk. Bonus': 50, 'Magic Damage': 30, 'Elemental Magic Skill': 33, 'Magic Burst Damage II': 5, 'Klimaform': 25} {'Name': 'Argute Stole +2', 'Magic Accuracy': 30, 'Magic Burst Damage': 10, 'INT': 15, 'Magic Damage': 25} {'Name': 'Acuity Belt +1', 'INT': 23, 'Magic Accuracy': 15} {'Name': 'Regal Earring', 'INT': 10, 'Magic Atk. Bonus': 7, 'AF Set': 1} {'Name': 'Malignance Earring', 'INT': 8, 'Magic Accuracy': 10, 'Magic Atk. Bonus': 8} {'Name': 'Metamor. Ring +1', 'INT': 16, 'Magic Accuracy': 15} {'Name': 'Freke Ring', 'INT': 10, 'Magic Atk. Bonus': 8} {'Name': "Lugh's Cape", 'INT': 30, 'Magic Accuracy': 20, 'Magic Damage': 20, 'Magic Atk. Bonus': 10} Helix: Code {'Name': 'C. Snow Cone', 'INT': 5, 'Magic Atk. Bonus': 13} {'Name': "Bunzi's Rod r25", 'INT': 28, 'Magic Accuracy': 343, 'Magic Atk. Bonus': 98, 'Magic Damage': 248, 'Magic Burst Damage': 10} {'Name': 'Ghastly Tathlum +1', 'Magic Damage': 21, 'INT': 11} {'Name': "Agwu's Cap r25", 'INT': 33, 'Magic Accuracy': 50, 'Magic Atk. Bonus': 58, 'Magic Damage': 33, 'Magic Burst Damage': 7} {'Name': 'Arbatel Gown +3', 'INT': 50, 'Magic Accuracy': 64, 'Magic Atk. Bonus': 59, 'Magic Damage': 34} {'Name': 'Arbatel Bracers +3', 'INT': 36, 'Magic Accuracy': 62, 'Magic Atk. Bonus': 52, 'Magic Damage': 32, 'Magic Burst Damage': 15} {'Name': 'Arbatel Pants +3', 'INT': 53, 'Magic Accuracy': 99, 'Magic Atk. Bonus': 53, 'Magic Damage': 33} {'Name': 'Arbatel Loafers +3', 'INT': 34, 'Magic Accuracy': 60, 'Magic Atk. Bonus': 50, 'Magic Damage': 30, 'Elemental Magic Skill': 33, 'Magic Burst Damage II': 5, 'Klimaform': 25} {'Name': 'Argute Stole +2', 'Magic Accuracy': 30, 'Magic Burst Damage': 10, 'INT': 15, 'Magic Damage': 25} {'Name': 'Skrymir Cord +1', 'Magic Accuracy': 7, 'Magic Atk. Bonus': 7, 'Magic Damage': 35} {'Name': 'Regal Earring', 'INT': 10, 'Magic Atk. Bonus': 7, 'AF Set': 1} {'Name': 'Malignance Earring', 'INT': 8, 'Magic Accuracy': 10, 'Magic Atk. Bonus': 8} {'Name': 'Metamor. Ring +1', 'INT': 16, 'Magic Accuracy': 15} {'Name': 'Freke Ring', 'INT': 10, 'Magic Atk. Bonus': 8} {'Name': "Lugh's Cape", 'INT': 30, 'Magic Accuracy': 20, 'Magic Damage': 20, 'Magic Atk. Bonus': 10} Difference between nuke numbers with Bunzi vs Mpaca Staff (r25) if you wanted to keep Myrkr as an option. Bunzi r25: Code Magic Damage: 451 INT: 541 Magic Accuracy: 1307 Magic Atk. Bonus: 544 Magic Burst Damage: 44 Magic Burst Damage II: 32 18926 Mpaca r25: Code Magic Damage: 478 INT: 541 Magic Accuracy: 1291 Magic Atk. Bonus: 500 Magic Burst Damage: 41 Magic Burst Damage II: 29 17663 you'll want to comment out the waists for non-helix nukes since you should be using obi for those.
marin +1 would probably beat mpaca 25 also if you need a staff You might have something wrong, though, using only the gear sech's had, so R0 everything and only +2, and no waist(for weather), I get values near that Good catch thanks, that does change this up a bit as we end up at 17136 (bunzi r25 )and 15935 (mpaca r25). mpaca is coming ahead of marin +1 at r24.
What did you set your variables to? Adding in R25 to agwu and weapons and +3 on emp gear, my results are higher than yours
I added 45 int/mab for geo buffs, 12 for wizards roll
based everything off Aiti from earlier in the thread. set base mdb to 77 (122 + malaise) set target_int to 494 change the mdb to -23, default should be 0. if it has 22 bonus, and mailaise brings it to 77, you'd put that 77 - 100 for -23
settings should look like this Code base_int = 141 + 45 # 114 # Base + GEO base_macc = 456 + 42 + 15 # Dark Arts/Merits/Master + Gifts + Klimaform target_int = 494 mab_buffs = 45 + 12 # GEO + Roll target_mdb = -23 sc_multiplier = 1.85 target_mdt = 1 day_weather = 1.25 macc_required = 1344 - 100 # -100 for Burst Code 76536 valid sets. Top Valid Set: {'Name': 'C. Snow Cone', 'INT': 5, 'Magic Atk. Bonus': 13} {'Name': "Bunzi's Rod", 'INT': 28, 'Magic Accuracy': 343, 'Magic Atk. Bonus': 98, 'Magic Damage': 248, 'Magic Burst Damage': 10} {'Name': 'Ghastly Tathlum +1', 'Magic Damage': 21, 'INT': 11} {'Name': "Agwu's Cap", 'INT': 33, 'Magic Accuracy': 50, 'Magic Atk. Bonus': 58, 'Magic Damage': 33, 'Magic Burst Damage': 7} {'Name': 'Arbatel Gown +3', 'INT': 50, 'Magic Accuracy': 64, 'Magic Atk. Bonus': 55, 'Magic Damage': 34} {'Name': 'Arbatel Bracers +3', 'INT': 36, 'Magic Accuracy': 62, 'Magic Atk. Bonus': 52, 'Magic Damage': 32, 'Magic Burst Damage': 15} {'Name': 'Arbatel Pants +3', 'INT': 53, 'Magic Accuracy': 99, 'Magic Atk. Bonus': 54, 'Magic Damage': 33} {'Name': 'Arbatel Loafers +3', 'INT': 34, 'Magic Accuracy': 60, 'Magic Atk. Bonus': 50, 'Magic Damage': 30, 'Elemental Magic Skill': 33, 'Magic Burst Damage II': 5, 'Klimaform': 25} {'Name': 'Argute Stole +2', 'Magic Accuracy': 30, 'Magic Burst Damage': 10, 'INT': 15, 'Magic Damage': 25} {'Name': 'Regal Earring', 'INT': 10, 'Magic Atk. Bonus': 7, 'AF Set': 1} {'Name': 'Malignance Earring', 'INT': 8, 'Magic Accuracy': 10, 'Magic Atk. Bonus': 8} {'Name': 'Metamor. Ring +1', 'INT': 16, 'Magic Accuracy': 15} {'Name': 'Freke Ring', 'INT': 10, 'Magic Atk. Bonus': 8} {'Name': "Lugh's Cape", 'INT': 30, 'Magic Accuracy': 20, 'Magic Damage': 20, 'Magic Atk. Bonus': 10} Magic Damage: 476 INT: 525 Magic Accuracy: 1349 Magic Atk. Bonus: 530 Magic Burst Damage: 42 Magic Burst Damage II: 27 51811 then you should get marin+1 beating mpaca as well and competitive with bunzi's rod Code 66197 valid sets. Top Valid Set: {'Name': 'C. Snow Cone', 'INT': 5, 'Magic Atk. Bonus': 13} {'Name': 'Marin Staff +1', 'INT': 47, 'Magic Accuracy': 293, 'Magic Atk. Bonus': 68, 'Magic Damage': 217} {'Name': 'Ghastly Tathlum +1', 'Magic Damage': 21, 'INT': 11} {'Name': "Agwu's Cap", 'INT': 33, 'Magic Accuracy': 50, 'Magic Atk. Bonus': 58, 'Magic Damage': 33, 'Magic Burst Damage': 7} {'Name': "Agwu's Robe", 'INT': 47, 'Magic Accuracy': 50, 'Magic Atk. Bonus': 58, 'Magic Damage': 20, 'Magic Burst Damage': 10} {'Name': 'Arbatel Bracers +3', 'INT': 36, 'Magic Accuracy': 62, 'Magic Atk. Bonus': 52, 'Magic Damage': 32, 'Magic Burst Damage': 15} {'Name': 'Arbatel Pants +3', 'INT': 53, 'Magic Accuracy': 99, 'Magic Atk. Bonus': 54, 'Magic Damage': 33} {'Name': 'Arbatel Loafers +3', 'INT': 34, 'Magic Accuracy': 60, 'Magic Atk. Bonus': 50, 'Magic Damage': 30, 'Elemental Magic Skill': 33, 'Magic Burst Damage II': 5, 'Klimaform': 25} {'Name': 'Argute Stole +2', 'Magic Accuracy': 30, 'Magic Burst Damage': 10, 'INT': 15, 'Magic Damage': 25} {'Name': 'Regal Earring', 'INT': 10, 'Magic Atk. Bonus': 7, 'AF Set': 1} {'Name': 'Malignance Earring', 'INT': 8, 'Magic Accuracy': 10, 'Magic Atk. Bonus': 8} {'Name': 'Metamor. Ring +1', 'INT': 16, 'Magic Accuracy': 15} {'Name': 'Freke Ring', 'INT': 10, 'Magic Atk. Bonus': 8} {'Name': "Lugh's Cape", 'INT': 30, 'Magic Accuracy': 20, 'Magic Damage': 20, 'Magic Atk. Bonus': 10} Magic Damage: 431 INT: 541 Magic Accuracy: 1289 Magic Atk. Bonus: 503 Magic Burst Damage: 42 Magic Burst Damage II: 27 51508 Ramuh.Austar said: » Bismarck.Yvan said: » I'm not worried about having to make any modifications but would like to give it a shot if you don't mind sharing. Should only have to mess with the variables at the top, spell base damage functions, and gear. I would suggest using notepad++ or a more robust editor like VS Code. You can run online if you don't want to install python 3 https://www.tutorialspoint.com/execute_python3_online.php works well Code from itertools import product from math import floor base_int = 114 # Base, GEO, BRD base_macc = 456 + 42 + 15 # Dark Arts/Merits/Master, Gifts, Klimaform target_int = 425 mab_buffs = 0 # Roll target_mdb = 0 sc_multiplier = 1.75 target_mdt = 0.8 day_weather = 1.25 macc_required = 1060 - 100 # -100 for Burst # Stone V # def dINT(dint): # if dint < 50: # d = dint # v = 650 # m = 6 # elif dint < 100: # d = dint - 50 # v = 950 # m = 5 # elif dint < 200: # d = dint - 100 # v = 1200 # m = 4 # elif dint < 300: # d = dint - 200 # v = 1600 # m = 3 # elif dint < 400: # d = dint - 300 # v = 1900 # m = 2 # elif dint < 500: # d = dint - 400 # v = 2 # m = 1 # return floor(v + d * m) # Helix II def dINT(dint): if dint < 50: d = dint v = 75 m = 2 elif dint < 100: d = dint - 50 v = 175 m = 1 else: d = dint - 100 v = 225 m = 0 return floor(v + d * m) def dACC(dint): if dint < -70: d = 0 m = 0 b = 0 elif dint < -30: d = dint - -70 m = 0.25 b = 0 elif dint < -10: d = dint - -30 m = 0.5 b = 10 elif dint < 11: d = dint - -10 m = 1 b = 20 elif dint < 31: d = dint - 11 m = 0.5 b = 10 elif dint < 71: d = dint - 31 m = 0.25 b = 50 else: d = 0 m = 0 b = 60 return floor(d * m) + b def amalric(set_count): if set_count > 1: return 10 * set_count else: return 0 def af_set(set_count): if set_count > 1: return 15 * (set_count - 1) else: return 0 # a function to calculate the sum of some stat for an equipment_set def stat_sum(equipment_set, stat): return sum(item.get(stat, 0) for item in equipment_set) def main(): # equipment is grouped up into sub-lists by slot name equipment = [ [ {"Name": "C. Snow Cone", "INT": 5, "Magic Atk. Bonus": 13}, {"Name": "Tropical Crepe", "INT": 2, "Magic Accuracy": 90}, ], [ { "Name": "Maxentius", "INT": 15 + 13, "Magic Accuracy": 40 + 250 + 38, "Magic Atk. Bonus": 21 + 38, "Magic Damage": 232, "Magic Burst Damage": 4, # Ammurapi Shield }, { "Name": "Daybreak", "INT": 13, "Magic Accuracy": 40 + 242 + 38, "Magic Atk. Bonus": 40 + 38, "Magic Damage": 241, # "Affinity": 50, # Ammurapi Shield }, { "Name": "Bunzi's Rod", "INT": 15 + 13, "Magic Accuracy": 40 + 255 + 38, "Magic Atk. Bonus": 35 + 38, "Magic Damage": 248, "Magic Burst Damage": 10, # Ammurapi Shield }, { "Name": "Mpaca's Staff", "INT": 15 + 10, "Magic Accuracy": 40 + 255 + 10, "Magic Atk. Bonus": 35, "Magic Damage": 263, "Magic Burst Damage II": 2, # Enki Strap }, ], [ {"Name": "Ghastly Tathlum +1", "Magic Damage": 11 + 10, "INT": 6 + 5}, { "Name": "Pemphredo Tathlum", "INT": 4, "Magic Accuracy": 8, "Magic Atk. Bonus": 4, }, ], [ { "Name": "Arbatel Bonnet +2", "INT": 33, "Magic Accuracy": 51, "Magic Atk. Bonus": 46, "Magic Damage": 21, }, { "Name": "Peda. M.Board +3", "INT": 39, "Magic Accuracy": 37 + 15, "Magic Atk. Bonus": 49, "Elemental Magic Skill": 19, "Magic Burst Damage II": 4, }, { "Name": "Agwu's Cap", "INT": 33, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 7, }, { "Name": "C. Palug Crown", "INT": 34, "Magic Accuracy": 50, "Magic Atk. Bonus": 45, }, { "Name": "Merlinic Hood", "INT": 29, "Magic Accuracy": 15 + 20, "Magic Atk. Bonus": 10 + 30, "Magic Burst Damage": 7, }, ], [ { "Name": "Arbatel Gown +2", "INT": 45, "Magic Accuracy": 54, "Magic Atk. Bonus": 54, "Magic Damage": 24, }, { "Name": "Agwu's Robe", "INT": 47, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 10, }, { "Name": "Amalric Doublet +1", "INT": 38, "Magic Accuracy": 33 + 20, "Magic Atk. Bonus": 33 + 20, "Set Bonus": 1, }, { "Name": "Merlinic Jubbah", "INT": 40 + 5, "Magic Accuracy": 20 + 15, "Magic Atk. Bonus": 20 + 16, "Magic Burst Damage": 9, }, ], [ { "Name": "Arbatel Bracers +2", "INT": 31, "Magic Accuracy": 52, "Magic Atk. Bonus": 47, "Magic Damage": 22, "Magic Burst Damage": 10, }, { "Name": "Agwu's Gages", "INT": 33, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 8, }, { "Name": "Amalric Gages +1", "INT": 24 + 12, "Magic Accuracy": 20, "Magic Atk. Bonus": 33 + 20, "Elemental Magic Skill": 14, "Magic Burst Damage II": 6, "Set Bonus": 1, }, ], [ { "Name": "Arbatel Pants +2", "INT": 48, "Magic Accuracy": 53 + 31, "Magic Atk. Bonus": 48, "Magic Damage": 23, }, { "Name": "Agwu's Slops", "INT": 49, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 9, }, { "Name": "Merlinic Shalwar", "INT": 43, "Magic Accuracy": 20 + 10, "Magic Damage": 13, "Magic Atk. Bonus": 15 + 37, "Magic Burst Damage": 9, }, { "Name": "Amalric Slops +1", "INT": 40, "Magic Accuracy": 20, "Magic Atk. Bonus": 40 + 20, "Set Bonus": 1, }, ], [ { "Name": "Arbatel Loafers +2", "INT": 29, "Magic Accuracy": 50, "Magic Atk. Bonus": 45, "Magic Damage": 20, "Elemental Magic Skill": 28, "Magic Burst Damage II": 4, "Klimaform": 20, }, { "Name": "Agwu's Pigaches", "INT": 30, "Magic Accuracy": 40, "Magic Atk. Bonus": 35, "Magic Damage": 20, "Magic Burst Damage": 6, }, { "Name": "Amalric Nails +1", "INT": 21, "Magic Damage": 20, "Magic Accuracy": 20, "Magic Atk. Bonus": 32 + 20, "Set Bonus": 1, }, ], [ # {"Name": "Sibyl Scarf", "INT": 10, "Magic Atk. Bonus": 10}, # { # "Name": "Argute Stole +2", # "Magic Accuracy": 30, # "Magic Burst Damage": 10, # "INT": 15, # "Magic Damage": 25, # }, { "Name": "Mizu. Kubikazari", "INT": 4, "Magic Atk. Bonus": 8, "Magic Burst Damage": 10, }, {"Name": "Quanpur Necklace", "Magic Atk. Bonus": 7, "Affinity": 5}, ], [ { "Name": "Sacro Cord", "INT": 8, "Magic Accuracy": 8, "Magic Atk. Bonus": 8, }, { "Name": "Skrymir Cord +1", "Magic Accuracy": 7, "Magic Atk. Bonus": 7, "Magic Damage": 35, }, {"Name": "Acuity Belt +1", "INT": 6 + 7 + 10, "Magic Accuracy": 15}, ], [ {"Name": "Regal Earring", "INT": 10, "Magic Atk. Bonus": 7, "AF Set": 1}, { "Name": "Barkaro. Earring", "INT": 3, "Magic Accuracy": 8, "Magic Atk. Bonus": 8, }, ], [ { "Name": "Malignance Earring", "INT": 8, "Magic Accuracy": 10, "Magic Atk. Bonus": 8, } ], [ {"Name": "Mujin Band", "Magic Burst Damage II": 5}, {"Name": "Metamor. Ring +1", "INT": 6 + 10, "Magic Accuracy": 5 + 10}, {"Name": "Locus Ring", "Magic Burst Damage": 5}, ], [ # {"Name": "Mujin Band", "Magic Burst Damage II": 5}, {"Name": "Freke Ring", "INT": 10, "Magic Atk. Bonus": 8}, {"Name": "Locus Ring", "Magic Burst Damage": 5}, ], [ { "Name": "Lugh's Cape", "INT": 20 + 10, "Magic Accuracy": 20, "Magic Damage": 20, "Magic Atk. Bonus": 10, } ], ] # User itertools method product to get every potential set of equipment # https://d...content-available-to-author-only...n.org/3/library/itertools.html#itertools.product equipment_sets = product(*equipment) # with the usage of list comprehension valid_equipment_sets = [ equipment_set for equipment_set in equipment_sets if base_macc + stat_sum(equipment_set, "Magic Accuracy") + stat_sum(equipment_set, "Elemental Magic Skill") + dACC(base_int + stat_sum(equipment_set, "INT") - target_int) + af_set(stat_sum(equipment_set, "AF Set")) >= macc_required ] # find the equipment set with the highest sum of the stat 'RapidShot' top_valid_equipment_set = max( valid_equipment_sets, key=lambda x: ( floor( floor( floor( floor( floor( floor( floor( ( stat_sum(x, "Magic Damage") + dINT( base_int + stat_sum(x, "INT") - target_int ) ) * (1 + stat_sum(x, "Affinity") / 100) ) * sc_multiplier ) * ( 1 + ( min(40, stat_sum(x, "Magic Burst Damage")) + stat_sum(x, "Magic Burst Damage II") + 22 ) / 100 ) ) * day_weather ) * ( ( 1 + ( mab_buffs + stat_sum(x, "Magic Atk. Bonus") + amalric(stat_sum(x, "Set Bonus")) + 60 ) / 100 ) / (1 + target_mdb / 100) ) ) * target_mdt ) * (1 + stat_sum(x, "Klimaform") / 100) ) ), ) print(len(valid_equipment_sets), "valid sets.", end="\n\n") print("Top Valid Set:", *top_valid_equipment_set, sep="\n", end="\n\n") print( "Magic Damage:", stat_sum(top_valid_equipment_set, "Magic Damage"), sep="\n", ) print("INT:", stat_sum(top_valid_equipment_set, "INT") + base_int, sep="\n") print( "Magic Accuracy:", base_macc + stat_sum(top_valid_equipment_set, "Magic Accuracy") + stat_sum(top_valid_equipment_set, "Elemental Magic Skill") + dACC(base_int + stat_sum(top_valid_equipment_set, "INT") - target_int) + af_set(stat_sum(top_valid_equipment_set, "AF Set")), sep="\n", ) print( "Magic Atk. Bonus:", stat_sum(top_valid_equipment_set, "Magic Atk. Bonus") + amalric(stat_sum(top_valid_equipment_set, "Set Bonus")) + mab_buffs + 60, sep="\n", ) print( "Magic Burst Damage:", stat_sum(top_valid_equipment_set, "Magic Burst Damage"), sep="\n", ) print( "Magic Burst Damage II:", stat_sum(top_valid_equipment_set, "Magic Burst Damage II") + 22, sep="\n", ) print() print( floor( floor( floor( floor( floor( floor( floor( ( stat_sum( top_valid_equipment_set, "Magic Damage" ) + dINT( base_int + stat_sum(top_valid_equipment_set, "INT") - target_int ) ) * ( 1 + stat_sum(top_valid_equipment_set, "Affinity") / 100 ) ) * sc_multiplier ) * ( 1 + ( min( 40, stat_sum( top_valid_equipment_set, "Magic Burst Damage", ), ) + stat_sum( top_valid_equipment_set, "Magic Burst Damage II" ) + 22 ) / 100 ) ) * day_weather ) * ( ( 1 + ( mab_buffs + stat_sum(top_valid_equipment_set, "Magic Atk. Bonus") + amalric( stat_sum(top_valid_equipment_set, "Set Bonus") ) + 60 ) / 100 ) / (1 + target_mdb / 100) ) ) * target_mdt ) * (1 + stat_sum(top_valid_equipment_set, "Klimaform") / 100) ) ) main() This is awsome, been fooling around with this all day, lol. TY! /bow /kneel. I made a quick change so you can easily change spells without having to comment anything out. This also contains R25 and emp +3 stats instead. If you want to add new spells, just get the values off of BG wiki, make a new function like ThunderV or something and just create it like the other spells are. Then scroll down and change the spell variable to whatever the function name is, without the parenthesis.
Just don't forget to comment out waist list on non-helix nukes Code from itertools import product from math import floor # Stone V def StoneV(dint): if dint < 50: d = dint v = 650 m = 6 elif dint < 100: d = dint - 50 v = 950 m = 5 elif dint < 200: d = dint - 100 v = 1200 m = 4 elif dint < 300: d = dint - 200 v = 1600 m = 3 elif dint < 400: d = dint - 300 v = 1900 m = 2 elif dint < 500: d = dint - 400 v = 2 m = 1 return floor(v + d * m) # Helix II def HelixII(dint): if dint < 50: d = dint v = 75 m = 2 elif dint < 100: d = dint - 50 v = 175 m = 1 else: d = dint - 100 v = 225 m = 0 return floor(v + d * m) def dACC(dint): if dint < -70: d = 0 m = 0 b = 0 elif dint < -30: d = dint - -70 m = 0.25 b = 0 elif dint < -10: d = dint - -30 m = 0.5 b = 10 elif dint < 11: d = dint - -10 m = 1 b = 20 elif dint < 31: d = dint - 11 m = 0.5 b = 10 elif dint < 71: d = dint - 31 m = 0.25 b = 50 else: d = 0 m = 0 b = 60 return floor(d * m) + b def amalric(set_count): if set_count > 1: return 10 * set_count else: return 0 def af_set(set_count): if set_count > 1: return 15 * (set_count - 1) else: return 0 spell = HelixII base_int = 141 + 45 # 114 # Base + GEO base_macc = 456 + 42 + 15 # Dark Arts/Merits/Master + Gifts + Klimaform target_int = 494 mab_buffs = 45 + 12 # GEO + Roll target_mdb = -23 sc_multiplier = 1.85 target_mdt = 1 day_weather = 1.25 macc_required = 1344 - 100 # -100 for Burst # a function to calculate the sum of some stat for an equipment_set def stat_sum(equipment_set, stat): return sum(item.get(stat, 0) for item in equipment_set) def main(): # equipment is grouped up into sub-lists by slot name equipment = [ [ {"Name": "C. Snow Cone", "INT": 5, "Magic Atk. Bonus": 13}, {"Name": "Tropical Crepe", "INT": 2, "Magic Accuracy": 90}, ], [ { "Name": "Marin Staff +1", "INT": 12 + 15 + 10 + 10, "Magic Accuracy": 15 + 228 + 40 + 10, "Magic Atk. Bonus": 28 + 40, "Magic Damage": 217, # "Affinity": 11, # Enki Strap }, { "Name": "Maxentius", "INT": 15 + 13, "Magic Accuracy": 40 + 250 + 38, "Magic Atk. Bonus": 21 + 38, "Magic Damage": 232, "Magic Burst Damage": 4, # Ammurapi Shield }, { "Name": "Daybreak", "INT": 13, "Magic Accuracy": 40 + 242 + 38, "Magic Atk. Bonus": 40 + 38, "Magic Damage": 241, # "Affinity": 50, # Ammurapi Shield }, # { # "Name": "Bunzi's Rod", # "INT": 15 + 13, # "Magic Accuracy": 40 + 255 + 10 + 38, # "Magic Atk. Bonus": 35 + 25 + 38, # "Magic Damage": 248, # "Magic Burst Damage": 10, # # Ammurapi Shield # }, { "Name": "Mpaca's Staff", "INT": 15 + 10, "Magic Accuracy": 40 + 255 + 10 + 10, "Magic Atk. Bonus": 35 + 25, "Magic Damage": 263, "Magic Burst Damage II": 2, # Enki Strap }, ], [ {"Name": "Ghastly Tathlum +1", "Magic Damage": 11 + 10, "INT": 6 + 5}, { "Name": "Pemphredo Tathlum", "INT": 4, "Magic Accuracy": 8, "Magic Atk. Bonus": 4, }, ], [ { "Name": "Peda. M.Board +3", "INT": 39, "Magic Accuracy": 37 + 15, "Magic Atk. Bonus": 49, "Elemental Magic Skill": 19, "Magic Burst Damage II": 4, }, { "Name": "Arbatel Bonnet +3", "INT": 38, "Magic Accuracy": 61, "Magic Atk. Bonus": 51, "Magic Damage": 31, }, { "Name": "Agwu's Cap", "INT": 33, "Magic Accuracy": 40 + 10, "Magic Atk. Bonus": 35 + 23, "Magic Damage": 20 + 13, "Magic Burst Damage": 7, }, ], [ { "Name": "Arbatel Gown +3", "INT": 50, "Magic Accuracy": 64, "Magic Atk. Bonus": 55, "Magic Damage": 34, }, { "Name": "Agwu's Robe", "INT": 47, "Magic Accuracy": 40 + 10, "Magic Atk. Bonus": 35 + 23, "Magic Damage": 20, "Magic Burst Damage": 10, }, { "Name": "Amalric Doublet +1", "INT": 38, "Magic Accuracy": 33 + 20, "Magic Atk. Bonus": 33 + 20, "Set Bonus": 1, }, ], [ { "Name": "Arbatel Bracers +3", "INT": 36, "Magic Accuracy": 62, "Magic Atk. Bonus": 52, "Magic Damage": 32, "Magic Burst Damage": 15, }, { "Name": "Agwu's Gages", "INT": 33, "Magic Accuracy": 40 + 10, "Magic Atk. Bonus": 35 + 23, "Magic Damage": 20, "Magic Burst Damage": 8, "Magic Burst Damage II": 5, }, { "Name": "Amalric Gages +1", "INT": 24 + 12, "Magic Accuracy": 20, "Magic Atk. Bonus": 33 + 20, "Elemental Magic Skill": 14, "Magic Burst Damage II": 6, "Set Bonus": 1, }, ], [ { "Name": "Arbatel Pants +3", "INT": 53, "Magic Accuracy": 63 + 36, "Magic Atk. Bonus": 54, "Magic Damage": 33, }, { "Name": "Agwu's Slops", "INT": 49, "Magic Accuracy": 40 + 10, "Magic Atk. Bonus": 35 + 23, "Magic Damage": 20, "Magic Burst Damage": 9, }, { "Name": "Amalric Slops +1", "INT": 40, "Magic Accuracy": 20, "Magic Atk. Bonus": 40 + 20, "Set Bonus": 1, }, ], [ { "Name": "Arbatel Loafers +3", "INT": 34, "Magic Accuracy": 60, "Magic Atk. Bonus": 50, "Magic Damage": 30, "Elemental Magic Skill": 33, "Magic Burst Damage II": 5, "Klimaform": 25, }, { "Name": "Agwu's Pigaches", "INT": 30, "Magic Accuracy": 40 + 10, "Magic Atk. Bonus": 35 + 23, "Magic Damage": 20, "Magic Burst Damage": 6, }, { "Name": "Amalric Nails +1", "INT": 21, "Magic Damage": 20, "Magic Accuracy": 20, "Magic Atk. Bonus": 32 + 20, "Set Bonus": 1, }, ], [ {"Name": "Sibyl Scarf", "INT": 10, "Magic Atk. Bonus": 10}, { "Name": "Argute Stole +2", "Magic Accuracy": 30, "Magic Burst Damage": 10, "INT": 15, "Magic Damage": 25, }, { "Name": "Mizu. Kubikazari", "INT": 4, "Magic Atk. Bonus": 8, "Magic Burst Damage": 10, }, {"Name": "Quanpur Necklace", "Magic Atk. Bonus": 7, "Affinity": 5}, ], # [ # { # "Name": "Sacro Cord", # "INT": 8, # "Magic Accuracy": 8, # "Magic Atk. Bonus": 8, # }, # { # "Name": "Skrymir Cord +1", # "Magic Accuracy": 7, # "Magic Atk. Bonus": 7, # "Magic Damage": 35, # }, # {"Name": "Acuity Belt +1", "INT": 6 + 7 + 10, "Magic Accuracy": 15}, # ], [ {"Name": "Regal Earring", "INT": 10, "Magic Atk. Bonus": 7, "AF Set": 1}, { "Name": "Barkaro. Earring", "INT": 3, "Magic Accuracy": 8, "Magic Atk. Bonus": 8, }, ], [ { "Name": "Malignance Earring", "INT": 8, "Magic Accuracy": 10, "Magic Atk. Bonus": 8, } ], [ {"Name": "Mujin Band", "Magic Burst Damage II": 5}, {"Name": "Metamor. Ring +1", "INT": 6 + 10, "Magic Accuracy": 5 + 10}, {"Name": "Locus Ring", "Magic Burst Damage": 5}, ], [ # {"Name": "Mujin Band", "Magic Burst Damage II": 5}, {"Name": "Freke Ring", "INT": 10, "Magic Atk. Bonus": 8}, {"Name": "Locus Ring", "Magic Burst Damage": 5}, ], [ { "Name": "Lugh's Cape", "INT": 20 + 10, "Magic Accuracy": 20, "Magic Damage": 20, "Magic Atk. Bonus": 10, } ], ] # User itertools method product to get every potential set of equipment # https://d...content-available-to-author-only...n.org/3/library/itertools.html#itertools.product equipment_sets = product(*equipment) # with the usage of list comprehension valid_equipment_sets = [ equipment_set for equipment_set in equipment_sets if base_macc + stat_sum(equipment_set, "Magic Accuracy") + stat_sum(equipment_set, "Elemental Magic Skill") + dACC(base_int + stat_sum(equipment_set, "INT") - target_int) + af_set(stat_sum(equipment_set, "AF Set")) >= macc_required ] # find the equipment set with the highest sum of the stat 'RapidShot' top_valid_equipment_set = max( valid_equipment_sets, key=lambda x: ( floor( floor( floor( floor( floor( floor( floor( ( stat_sum(x, "Magic Damage") + spell( base_int + stat_sum(x, "INT") - target_int ) ) * (1 + stat_sum(x, "Affinity") / 100) ) * sc_multiplier ) * ( 1 + ( min(40, stat_sum(x, "Magic Burst Damage")) + stat_sum(x, "Magic Burst Damage II") + 22 ) / 100 ) ) * day_weather ) * ( ( 1 + ( mab_buffs + stat_sum(x, "Magic Atk. Bonus") + amalric(stat_sum(x, "Set Bonus")) + 60 ) / 100 ) / (1 + target_mdb / 100) ) ) * target_mdt ) * (1 + stat_sum(x, "Klimaform") / 100) ) ), ) print(len(valid_equipment_sets), "valid sets.", end="\n\n") print("Top Valid Set:", *top_valid_equipment_set, sep="\n", end="\n\n") print( "Magic Damage:", stat_sum(top_valid_equipment_set, "Magic Damage"), sep="\n", ) print("INT:", stat_sum(top_valid_equipment_set, "INT") + base_int, sep="\n") print( "Magic Accuracy:", base_macc + stat_sum(top_valid_equipment_set, "Magic Accuracy") + stat_sum(top_valid_equipment_set, "Elemental Magic Skill") + dACC(base_int + stat_sum(top_valid_equipment_set, "INT") - target_int) + af_set(stat_sum(top_valid_equipment_set, "AF Set")), sep="\n", ) print( "Magic Atk. Bonus:", stat_sum(top_valid_equipment_set, "Magic Atk. Bonus") + amalric(stat_sum(top_valid_equipment_set, "Set Bonus")) + mab_buffs + 60, sep="\n", ) print( "Magic Burst Damage:", stat_sum(top_valid_equipment_set, "Magic Burst Damage"), sep="\n", ) print( "Magic Burst Damage II:", stat_sum(top_valid_equipment_set, "Magic Burst Damage II") + 22, sep="\n", ) print() print( floor( floor( floor( floor( floor( floor( floor( ( stat_sum( top_valid_equipment_set, "Magic Damage" ) + spell( base_int + stat_sum(top_valid_equipment_set, "INT") - target_int ) ) * ( 1 + stat_sum(top_valid_equipment_set, "Affinity") / 100 ) ) * sc_multiplier ) * ( 1 + ( min( 40, stat_sum( top_valid_equipment_set, "Magic Burst Damage", ), ) + stat_sum( top_valid_equipment_set, "Magic Burst Damage II" ) + 22 ) / 100 ) ) * day_weather ) * ( ( 1 + ( mab_buffs + stat_sum(top_valid_equipment_set, "Magic Atk. Bonus") + amalric( stat_sum(top_valid_equipment_set, "Set Bonus") ) + 60 ) / 100 ) / (1 + target_mdb / 100) ) ) * target_mdt ) * (1 + stat_sum(top_valid_equipment_set, "Klimaform") / 100) ) ) main() Ramuh.Austar said: » Offline
Posts: 46
Are Merlinic Shalwar with INT13, magic acc 25, magic attack 39, magic burst damage 9% still worth using over rank20 Agwu’s Slops?
Edit I see Ammurapi is built in with Bunzi rod, makes sense,
I bumped all the Ody to r30 came up with this for MB MB ItemSet 343187 Helix ItemSet 356832 I havnt seen any mention of Sroda tathlum at all, which makes me guess (im not a math guy): is it reliquished for magical WS on rdm mostyl for now, as SE "might" add some more mCrit II eventually, or would it have some room in some nuking sets?
Sroda Tathlum is a damage bonus of +2.5% on average over no ammo, which might win on high tier nukes when the target has very, very low INT (like, INT that a mob needs to be less than 99 for), but that's not really a situation that anyone gears for.
On any remotely relevant foe, 11 INT and 21 MDMG will be much more significant for nuking. It's only better for magic WSs because they're much less effected by INT and MDMG. Managed to upgrade a few SCH pieces to +3 finally and I was comparing body and hands for free nukes (no MBB)
Amalric +1 (+20 mab set bonus included) INT 74 Macc 87 Mab 126 Empy+3 INT 86 Macc 126 Mab 111 Mdmg 66 It's basically a loss of 15 Mab, but a substantial gain in everything else. I don't have access to spreasheets or python calculators to get unbiased outcoms but on a hunch I would say it seems worth it? |
|
All FFXI content and images © 2002-2024 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|