The Black Sacrament -- A Guide To Black Mage |
||
The Black Sacrament -- A Guide to Black Mage
Yeah, I was going to edit to put a "maybe" in there, as I'd have to do the math for the INT and MAB vs the MBD2, but I figured I'd let someone correct me. Ea +1 Pigaches has -7 MAB, -28 INT, +6 Macc, and +5 MBD2 compared to Jhakri +2. There's a few too many factors for me to calculate it here at work.
Been doing Orpheus's Sash testing so I can add it to my BLM lua
Code Distance Percent 0 1.148348348 1 1.148348348 2 1.139039039 3 1.12972973 4 1.118318318 5 1.109009009 6 1.0996997 7 1.088288288 8 1.078978979 9 1.069369369 10 1.058258258 11 1.048948949 12 1.039339339 13 1.028228228 14 1.018793574 15 1.009396787 16 1.009396787 Used linear regression to create this function for lua: Code function get_orpheus_damage_percent(spell) if spell.target.distance < 1 then return 1.148348348 end if spell.target.distance > 15 then return 1.009396787 end return -0.01 * spell.target.distance + 1.1589 end Just pass the current spell in during midcast and it will return the % boost you'll get from the sash. If you want to compare it against Hachirin obi you can use the following function to get the % boost from that too: Code opposingElement = T{ ['Water'] = 'Fire', ['Lightning'] = 'Water', ['Earth'] = 'Lightning', ['Wind'] = 'Earth', ['Ice'] = 'Wind', ['Fire'] = 'Ice', ['Light'] = 'Dark', ['Dark'] = 'Light', } stormNames = T{ ['Fire'] = 178, ['Ice'] = 179, ['Wind'] = 180, ['Earth'] = 181, ['Lightning'] = 182, ['Water'] = 183, ['Light'] = 184, ['Dark'] = 185, } storm2Names = T{ ['Fire'] = 589, ['Ice'] = 590, ['Wind'] = 591, ['Earth'] = 592, ['Lightning'] = 593, ['Water'] = 594, ['Light'] = 595, ['Dark'] = 596, } function get_obi_percent(spell) local intensity = 1.00 -- Helix spells are always affected by weather, so obi is never required to force weather proc if spell.skill == 'Elemental Magic' and (spell.english:sub(-5) == 'helix' or spell.english:sub(-8) == 'helix II') then return intensity end if buffactive[stormNames[spell.element]] then intensity = intensity + 0.1 elseif buffactive[storm2Names[spell.element]] then intensity = intensity + 0.25 elseif spell.element == world.weather_element then if gearswap.res.weather[world.weather_id].intensity == 2 then intensity = intensity + 0.25 elseif gearswap.res.weather[world.weather_id].intensity == 1 then intensity = intensity + 0.1 end elseif world.weather_element == opposingElement[spell.element] then if gearswap.res.weather[world.weather_id].intensity == 2 then intensity = intensity - 0.25 elseif gearswap.res.weather[world.weather_id].intensity == 1 then intensity = intensity - 0.1 end end if world.day_element == spell.element then intensity = intensity + 0.1 elseif world.day_element == opposingElement[spell.element] then intensity = intensity - 0.1 end return intensity end In my midcast section I have the following: Code local weatherLevel = get_obi_percent(spell) if weatherLevel > 1.00 then if spell.skill == 'Elemental Magic' and sets.Orpheus.waist and get_orpheus_damage_percent(spell) > weatherLevel then equip(sets.Orpheus) else equip(sets[spell.element]) end else equip(sets.Orpheus) end And the above will equip the relevant set from these: Code sets['Lightning'] = {waist="Hachirin-no-Obi"} sets['Ice'] = {waist="Hachirin-no-Obi"} sets['Water'] = {waist="Hachirin-no-Obi"} sets['Fire'] = {waist="Hachirin-no-Obi"} sets['Earth'] = {waist="Hachirin-no-Obi"} sets['Wind'] = {waist="Hachirin-no-Obi"} sets['Light'] = {waist="Hachirin-no-Obi"} sets['Dark'] = {waist="Hachirin-no-Obi"} sets['Orpheus'] = {waist="Orpheus's Sash"} Just throwing this out there in case anyone else wanted to automate using the sash Does anyone have a function to have Sorcerer's Ring equip under 75% HP? I'd like it for my free nukes!
Shiva.Hiep said: » Does anyone have a function to have Sorcerer's Ring equip under 75% HP? I'd like it for my free nukes! Code if player.hpp < 75 then equip(sets["Sorcerer's Ring"]) end Put that in your midcast, right after where it equips gear for your nukes How would I exclude elemental debuffs such as burn?
Code if player.hpp < 75 and spell.skill == 'Elemental Magic' then equip(sets.Sorcerer) end Asura.Byrne
Offline
Lakshmi.Miang said: » Code if buffactive[stormNames[spell.element]] then intensity = intensity + 0.1 elseif buffactive[storm2Names[spell.element]] then intensity = intensity + 0.25 Damn, I really need to remember to dig into luas for jobs I don't use! So I'm guessing this can tell the difference between weather 1 and 2? If so, I should pass it around for all the RDMs, CORs, BST, WARs, and RNGs that want to distinguish them :o I would like clarification, but you seem to be saying as much; if so, I'd like to say, nice work, and thanks. his method is overly complex to tell the diff between weather 1 and 2.
Shiva.Hiep said: » How would I exclude elemental debuffs such as burn? Code if player.hpp < 75 and spell.skill == 'Elemental Magic' then equip(sets.Sorcerer) end Code function job_post_midcast(spell, action, spellMap, eventArgs) if player.hpp < 75 and spell.skill == 'Elemental Magic' and spellMap ~= 'ElementalEnfeeble' then equip(sets.Sorcerer) end end Asura.Byrne said: » Lakshmi.Miang said: » Code if buffactive[stormNames[spell.element]] then intensity = intensity + 0.1 elseif buffactive[storm2Names[spell.element]] then intensity = intensity + 0.25 Damn, I really need to remember to dig into luas for jobs I don't use! So I'm guessing this can tell the difference between weather 1 and 2? If so, I should pass it around for all the RDMs, CORs, BST, WARs, and RNGs that want to distinguish them :o I would like clarification, but you seem to be saying as much; if so, I'd like to say, nice work, and thanks. Yeah this will tell the difference between the type of weather, both storm based and world weather based. You'd need to include these variables too though: Code opposingElement = T{ ['Water'] = 'Fire', ['Lightning'] = 'Water', ['Earth'] = 'Lightning', ['Wind'] = 'Earth', ['Ice'] = 'Wind', ['Fire'] = 'Ice', ['Light'] = 'Dark', ['Dark'] = 'Light', } stormNames = T{ ['Fire'] = 178, ['Ice'] = 179, ['Wind'] = 180, ['Earth'] = 181, ['Lightning'] = 182, ['Water'] = 183, ['Light'] = 184, ['Dark'] = 185, } storm2Names = T{ ['Fire'] = 589, ['Ice'] = 590, ['Wind'] = 591, ['Earth'] = 592, ['Lightning'] = 593, ['Water'] = 594, ['Light'] = 595, ['Dark'] = 596, } The two stormNames variables convert a spell.element format into a buff id. The opposingElement variable is only needed if you want to track negative consequences too. Shiva.Spynx said: » Shiva.Hiep said: » How would I exclude elemental debuffs such as burn? Code if player.hpp < 75 and spell.skill == 'Elemental Magic' then equip(sets.Sorcerer) end Code function job_post_midcast(spell, action, spellMap, eventArgs) if player.hpp < 75 and spell.skill == 'Elemental Magic' and spellMap ~= 'ElementalEnfeeble' then equip(sets.Sorcerer) end end If you're not using mote: Code if player.hpp < 75 and spell.skill == 'Elemental Magic' and spell.english ~= 'Burn' and spell.english ~= 'Frost' and spell.english ~= 'Choke' and spell.english ~= 'Rasp' and spell.english ~= 'Shock' and spell.english ~= 'Drown') then equip(sets.Sorcerer) end Asura.Byrne
Offline
Lakshmi.Miang said: » Asura.Byrne said: » Lakshmi.Miang said: » Code if buffactive[stormNames[spell.element]] then intensity = intensity + 0.1 elseif buffactive[storm2Names[spell.element]] then intensity = intensity + 0.25 Damn, I really need to remember to dig into luas for jobs I don't use! So I'm guessing this can tell the difference between weather 1 and 2? If so, I should pass it around for all the RDMs, CORs, BST, WARs, and RNGs that want to distinguish them :o I would like clarification, but you seem to be saying as much; if so, I'd like to say, nice work, and thanks. Yeah this will tell the difference between the type of weather, both storm based and world weather based. You'd need to include these variables too though: Code opposingElement = T{ ['Water'] = 'Fire', ['Lightning'] = 'Water', ['Earth'] = 'Lightning', ['Wind'] = 'Earth', ['Ice'] = 'Wind', ['Fire'] = 'Ice', ['Light'] = 'Dark', ['Dark'] = 'Light', } stormNames = T{ ['Fire'] = 178, ['Ice'] = 179, ['Wind'] = 180, ['Earth'] = 181, ['Lightning'] = 182, ['Water'] = 183, ['Light'] = 184, ['Dark'] = 185, } storm2Names = T{ ['Fire'] = 589, ['Ice'] = 590, ['Wind'] = 591, ['Earth'] = 592, ['Lightning'] = 593, ['Water'] = 594, ['Light'] = 595, ['Dark'] = 596, } The two stormNames variables convert a spell.element format into a buff id. The opposingElement variable is only needed if you want to track negative consequences too. I'll probably just use buffactive[#] to handle the arguments for Obi on Elemental WS since it's pretty straightforward. I just didn't know what the ID's for weather 2 were, as I had tried to find them in the past and failed. Cheers! Edit: Maybe a bit more thought for COR and RNG, but the melee jobs are going to be standing in a range such that Orpheus will beat out anything but double weather. Of course when firing WS at range that will be different so, I'll have to remember to include the whole gamut for those jobs. Offline
Posts: 20
which is better for magic burst, the Count's Garb or Ea Houpplande?
EA has higher MAB/Int/Macc/ and MB 1/2. Count's Garb offers nothing. If I remember the formula right the Magic Crit rate/dmg on the count's garb would translate to and and extra 25 MAB 15% of the time. Which really isn't ***. Tho I could be wrong.
Either way EA body shits on it. Lakshmi.Miang said: » Been doing Orpheus's Sash testing so I can add it to my BLM lua Code Distance Percent 0 1.148348348 1 1.148348348 2 1.139039039 3 1.12972973 4 1.118318318 5 1.109009009 6 1.0996997 7 1.088288288 8 1.078978979 9 1.069369369 10 1.058258258 11 1.048948949 12 1.039339339 13 1.028228228 14 1.018793574 15 1.009396787 16 1.009396787 Used linear regression to create this function for lua: Code function get_orpheus_damage_percent(spell) if spell.target.distance < 1 then return 1.148348348 end if spell.target.distance > 15 then return 1.009396787 end return -0.01 * spell.target.distance + 1.1589 end Just pass the current spell in during midcast and it will return the % boost you'll get from the sash. If you want to compare it against Hachirin obi you can use the following function to get the % boost from that too: Code opposingElement = T{ ['Water'] = 'Fire', ['Lightning'] = 'Water', ['Earth'] = 'Lightning', ['Wind'] = 'Earth', ['Ice'] = 'Wind', ['Fire'] = 'Ice', ['Light'] = 'Dark', ['Dark'] = 'Light', } stormNames = T{ ['Fire'] = 178, ['Ice'] = 179, ['Wind'] = 180, ['Earth'] = 181, ['Lightning'] = 182, ['Water'] = 183, ['Light'] = 184, ['Dark'] = 185, } storm2Names = T{ ['Fire'] = 589, ['Ice'] = 590, ['Wind'] = 591, ['Earth'] = 592, ['Lightning'] = 593, ['Water'] = 594, ['Light'] = 595, ['Dark'] = 596, } function get_obi_percent(spell) local intensity = 1.00 -- Helix spells are always affected by weather, so obi is never required to force weather proc if spell.skill == 'Elemental Magic' and (spell.english:sub(-5) == 'helix' or spell.english:sub(-8) == 'helix II') then return intensity end if buffactive[stormNames[spell.element]] then intensity = intensity + 0.1 elseif buffactive[storm2Names[spell.element]] then intensity = intensity + 0.25 elseif spell.element == world.weather_element then if gearswap.res.weather[world.weather_id].intensity == 2 then intensity = intensity + 0.25 elseif gearswap.res.weather[world.weather_id].intensity == 1 then intensity = intensity + 0.1 end elseif world.weather_element == opposingElement[spell.element] then if gearswap.res.weather[world.weather_id].intensity == 2 then intensity = intensity - 0.25 elseif gearswap.res.weather[world.weather_id].intensity == 1 then intensity = intensity - 0.1 end end if world.day_element == spell.element then intensity = intensity + 0.1 elseif world.day_element == opposingElement[spell.element] then intensity = intensity - 0.1 end return intensity end In my midcast section I have the following: Code local weatherLevel = get_obi_percent(spell) if weatherLevel > 1.00 then if spell.skill == 'Elemental Magic' and sets.Orpheus.waist and get_orpheus_damage_percent(spell) > weatherLevel then equip(sets.Orpheus) else equip(sets[spell.element]) end else equip(sets.Orpheus) end And the above will equip the relevant set from these: Code sets['Lightning'] = {waist="Hachirin-no-Obi"} sets['Ice'] = {waist="Hachirin-no-Obi"} sets['Water'] = {waist="Hachirin-no-Obi"} sets['Fire'] = {waist="Hachirin-no-Obi"} sets['Earth'] = {waist="Hachirin-no-Obi"} sets['Wind'] = {waist="Hachirin-no-Obi"} sets['Light'] = {waist="Hachirin-no-Obi"} sets['Dark'] = {waist="Hachirin-no-Obi"} sets['Orpheus'] = {waist="Orpheus's Sash"} Just throwing this out there in case anyone else wanted to automate using the sash So whats the tipping point here? Orph is better if single weather and inside 15 range? Asura.Byrne
Offline
Right, seems like it doesn't get quite as much use on BLM, but hey if it's put in with arguments, it should only swap when it was the optimal choice... It's a little easier to find uses on melees for sure.
Necro Bump Detected!
[39 days between previous and next post]
Offline
Posts: 1
In the Burst Max Dmg set, I'm counting only 39 MBD. Am I missing a source somewhere, or is it just worth giving up that 1 MBD to get lots more MBD2?
swagster said: » In the Burst Max Dmg set, I'm counting only 39 MBD. Am I missing a source somewhere, or is it just worth giving up that 1 MBD to get lots more MBD2? Didn't go back to look at the set but the value of MBD 1 and MBD 2 are the same. Maximize the sum of MBD1 and MBD2 (subject to a 40 max of MBD1 of course). Giving up one MBD1 for one MBD2 will net exactly zero change. Offline
Posts: 222
Why Terra's staff in the BiS Manawall set? Seems like the iLvl hit would make that a terrible choice over something like Mafic Cudgel + Genmei shield.
Moar DT with staff+grip
BiS would probably have the ambuscade grip in there btw (updated etc) Also, possibly important, you can't myrkr with a club, and myrkr is cure for mana wall. Myrkr > Moonlight Offline
Posts: 222
Asura.Eiryl said: » Moar DT with staff+grip BiS would probably have the ambuscade grip in there btw (updated etc) Also, possibly important, you can't myrkr with a club, and myrkr is cure for mana wall. Myrkr > Moonlight But his set has -45% PDT without the staff. A i119 staff, such as this one would still get you to the DT cap and access to myrkr, but without the iLvl hit. The set is also pretty old, I'm pretty sure it doesn't even account for resin aug on the cape. so.
Best probably doesn't even need to change weapons anymore. Su4/5 would be better with an updated set. ItemSet 343718
Posted it two pages ago. however, it's far more expensive to make than the one on page1 for a set you'll barely ever use, hence insane. Offline
Posts: 222
Chimerawizard said: » ItemSet 343718 Posted it two pages ago. however, it's far more expensive to make than the one on page1 for a set you'll barely ever use, hence insane. Thanks for sharing. For path C on Kaumodaki, BG says "Damage Taken - +15%". The way they wrote that up is very confusing, is it -15% DT or +15% DT? I don't own one, however it should be DT- as there are no other SU5 weapons or JSE necks that have a detrimental augment on them.
BLM next up. AM/AMII almost 100%
But ***other than that, short of blanket elemental changes idk Should strongly consider putting a merit in each AM II just to get the spell for free before they scroll them. Worst case scenario you just change em back if they don't. They said they are going to look into making more spells that are merit-unlocked learnible via scrolls after they changed WHM's Pro/Shell V, so BLM merit spells will become scrolls and merit catagories for them will just be changed into potency + / magic accuracy + catagories.
Pray that when they say the scrolls have the potency of 5/5 merit versions, that they actually do, unlike how they screwed WHM. Offline
Posts: 35422
Is black mage great yet ?
Leviathan.Celebrindal
Offline
Asura.Aeonova said: » They said they are going to look into making more spells that are merit-unlocked learnible via scrolls after they changed WHM's Pro/Shell V, so BLM merit spells will become scrolls and merit catagories for them will just be changed into potency + / magic accuracy + catagories. Pray that when they say the scrolls have the potency of 5/5 merit versions, that they actually do, unlike how they screwed WHM. That I actually doubt. In WHM's case, there were two spells, 10 merits spread across two spells which allowed capping the potency of both spells. SE's desire to "free" up those merits for WHM was when dealing with just those two spells. BLM, however, is talking about 6 spells. There wasn't a way to cap them before so I doubt we're talking about giving us capped versions in the future. I find it much more likely that if they do something of this nature, we'll get unlocks via scroll and then either direct spell potency bonuses for the merits, or (and really hoping on this one even though I doubt it) general elemental potency via merits that will raise the damage of all spells of that element. Leviathan.Celebrindal said: » BLM, however, is talking about 6 spells. There wasn't a way to cap them before so I doubt we're talking about giving us capped versions in the future. You might be right, but on the other hand... it's not as if giving 5/5 potency AMII for all spells is some gamebreaking buff or anything. And they are presumably seeking to give some reasonable buffs with these job updates. Hell, maybe they give BLM all six AMII spells at the potency of a current 1/5 merit AMII spell, and make one of the new Group 2 Merits something like "Ancient Magic II Potency", with MB+3%/MAcc+5 per merit that affects all six AMII spells. Frees up another Group 2 merit for something brand new, and gives a little buff in that everyone can have max strength AMII of all elements without having to fiddle around with re-allocating merits. Asura.Eiryl said: » Should strongly consider putting a merit in each AM II just to get the spell for free before they scroll them. Worst case scenario you just change em back if they don't. Quoting to amplify this really great advice ^^ |
||
All FFXI content and images © 2002-2024 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|