Just tested using Ghastly Tathlum +1 (11 MDMG) and it didn't affect Bio II damage at all. This implies that Amalric feet +1 are giving 52 MAB (32 + 20 from set bonus) even without any other pieces of the set.
Ah, 20 MAB from the Augment. Well, nevermind then.
Also, apparently Bio doesn't work for testing m.dmg.
I bet Dia is the same, which means that I don't know of any spells affected by magic damage that aren't affected by base stats.
You could try using Stone with an INT build (~180 should be enough for level 0 mobs), but you'd need to verify that sources of Magic Damage still affect base damage in that case (Zuu grip or something).
personally I think hmp is a useless set because if you run out of MP on blm with all the tools available for MP recovery, you're probably doing something wrong . . . although if you want me to be useful, it might be something like this?
Do you know off the top of your head how many refresh would end up equaling heal while resting? Like which is better than the other? I know I saw it in one of the mage guides...I'll have to hunt it down. Might have been whm or smn.
I haven't actually tried this yet, but I believe you could also make a job_post_precast callback to check on your MP after changing all of your precast gear. You could use this to determine whether or not to use a low MP or high MP Aspir set. I'm not sure how useful this might be though given that you can often burst 2k+ MP using a non-optimal Aspir set. In those cases, you'd want to be in your high MP sets. The multipliers for Aspir/Aspir II/Aspir III are different (I don't even know what Aspir III is), so that's another factor to consider. I guess what I'm getting at is that finding the optimal solution for Aspir is probably somewhat difficult if you need to worry about high MP issues.
That will probably work although I recommend using something like 'HighMP' as your casting mode instead of 'Death' given that Death is also the name of a spell GS will search for sometimes.
This is how I have mine set up if it helps. I have a toggle to change idle sets from a normal idle set to a death idle set. I then have a check for aspir in precast and midcast to see if my idle set is death. Currently my index for my idle death is 2, so this is what my midcast looks like for example for aspir.
Code
elseif spell.english:startswith('Aspir') then
if Idle_Index == 2 then
equip(sets.midcast.deathaspir)
else
equip(sets.midcast.aspir)
end
You could of course also just do a toggle like you do a toggle with everything else, I just found this the most simple route for me personally, just have everything switch based off my idle set.
This is how I have mine set up if it helps. I have a toggle to change idle sets from a normal idle set to a death idle set. I then have a check for aspir in precast and midcast to see if my idle set is death. Currently my index for my idle death is 2, so this is what my midcast looks like for example for aspir.
Code
elseif spell.english:startswith('Aspir') then
if Idle_Index == 2 then
equip(sets.midcast.deathaspir)
else
equip(sets.midcast.aspir)
end
You could of course also just do a toggle like you do a toggle with everything else, I just found this the most simple route for me personally, just have everything switch based off my idle set.
Heh, I may not be the best choice for a lua atm. Just started BLM recently and my lua is only like half down, if even that and as odd as it sounds, I would feel terrible sharing a lua missing stuff.
Yes it would. If you look in the GS folder, bryth has a lot of great examples. That is where I learned a lot of the stuff I did. All credit goes to him, but mine looks like something like this.
Under function self_command I have something that looks like this.
Code
elseif command == 'idle' then
Idle_Index = Idle_Index +1
if Idle_Index > #Idle_Set_Names then
Idle_Index = 1 end
send_command('@input /echo ----- Idle Set changed to '..Idle_Set_Names[Idle_Index]..' -----')
equip(sets.idle[Idle_Set_Names[Idle_Index]])
In the top of my lua I have something that looks like this
Code
Idle_Set_Names = {'default','death'}
now you can change your commands to actually be a keyboard command or w/e you want. I prefer to type it out and like it that way. You can also remove the equips at the end, I prefer it as to make sure I know my set switched.
You can do it that way too although almost everything you did is already built into motes. Why rebuild the wheel? I currently have the following sets defined.
I have also defined 'HighMP' as both casting and idle modes. Ctrl + F11 and Ctrl + F12 will cycle through them. Aspir III is defined because mote-mappings is out of date and doesn't have some newer spells in there. Maybe I'll try and get windower github access and push some updates. I consider adding a function that controls both your idle and casting sets as one to be too restrictive. There may be times where you'd want to mix and match (perhaps not these sets, but others.) Pushing F11 and then F12 once in a while to change both modes isn't really costing me anything.
Who is rebuilding the wheel? I don't like using motes lua (you even gave an example why in your own post) and gave the user an example that would fit his needs.
I have a Precast.FastCast.HighMP set defined and when I toggle to IdleArray = HighMP I would like to universally use my HighMP precast for death most importantly but for all spells so if im buffing/debuffing, i don't cannibalize all my MP
Code
IdleArray = {"Movement","Refresh","HighMP"} -- Default Idle Set Is Movement --
function precast(spell,action)
if spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
cancel_spell()
add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
return
else
if Idle_Index == 3 then
equip(set_combine(sets.Precast.FastCast.HighMP))
elseif string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
equip(sets.Precast.Cure)
elseif spell.english == "Impact" then
equip(set_combine(sets.Precast.FastCast,{body="Twilight Cloak"}))
elseif string.find(spell.english,'Utsusemi') then
if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
cancel_spell()
add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
return
else
equip(sets.Precast.FastCast)
end
elseif sets.Precast[spell.english] then
equip(sets.Precast[spell.english])
elseif sets.Precast[spell.skill] then
equip(sets.Precast[spell.skill])
else
equip(sets.Precast.FastCast)
end
Doesnt seem to work, is there a way to confirm what the variable of my idleindex is? I would assume 3 is correct?
Are these two the same exact sets, just defined due to different casting/idle modes?
They are different. I use Death even when solo and various other situations where I value having capped PDT/MDT in my idle. For those situations, pieces like Mephitas's Ring +1 don't add any value.
Sylph.Dravidian said:
Who is rebuilding the wheel? I don't like using motes lua (you even gave an example why in your own post) and gave the user an example that would fit his needs.
I think you have misunderstood my post. The example I gave works with motes. Additional code is required if you wish to get it to work standalone.
I have a Precast.FastCast.HighMP set defined and when I toggle to IdleArray = HighMP I would like to universally use my HighMP precast for death most importantly but for all spells so if im buffing/debuffing, i don't cannibalize all my MP
Code
IdleArray = {"Movement","Refresh","HighMP"} -- Default Idle Set Is Movement --
function precast(spell,action)
if spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
cancel_spell()
add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
return
else
if Idle_Index == 3 then
equip(set_combine(sets.Precast.FastCast.HighMP))
elseif string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
equip(sets.Precast.Cure)
elseif spell.english == "Impact" then
equip(set_combine(sets.Precast.FastCast,{body="Twilight Cloak"}))
elseif string.find(spell.english,'Utsusemi') then
if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
cancel_spell()
add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
return
else
equip(sets.Precast.FastCast)
end
elseif sets.Precast[spell.english] then
equip(sets.Precast[spell.english])
elseif sets.Precast[spell.skill] then
equip(sets.Precast[spell.skill])
else
equip(sets.Precast.FastCast)
end
Doesnt seem to work, is there a way to confirm what the variable of my idleindex is? I would assume 3 is correct?
Wouldn't you need a HighMP casting mode array for this?
I have a Precast.FastCast.HighMP set defined and when I toggle to IdleArray = HighMP I would like to universally use my HighMP precast for death most importantly but for all spells so if im buffing/debuffing, i don't cannibalize all my MP
Code
IdleArray = {"Movement","Refresh","HighMP"} -- Default Idle Set Is Movement --
function precast(spell,action)
if spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
cancel_spell()
add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
return
else
if Idle_Index == 3 then
equip(set_combine(sets.Precast.FastCast.HighMP))
elseif string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
equip(sets.Precast.Cure)
elseif spell.english == "Impact" then
equip(set_combine(sets.Precast.FastCast,{body="Twilight Cloak"}))
elseif string.find(spell.english,'Utsusemi') then
if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
cancel_spell()
add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
return
else
equip(sets.Precast.FastCast)
end
elseif sets.Precast[spell.english] then
equip(sets.Precast[spell.english])
elseif sets.Precast[spell.skill] then
equip(sets.Precast[spell.skill])
else
equip(sets.Precast.FastCast)
end
Doesnt seem to work, is there a way to confirm what the variable of my idleindex is? I would assume 3 is correct?
Wouldn't you need a HighMP casting mode array for this?
hmm yeah i guess thats a good point
Necro Bump Detected!
[35 days between previous and next post]
Laeva is pretty much the same still. I haven't upgraded mine yet but like the 119, it's bis with 2999tp AM2. Outside of that, it's a pretty good macc staff
So I’ve never written a guide and I don’t claim to be an expert, but I wanted to try and write out a guide for Black Mage. I’ve always really enjoyed the job and it is one of the jobs that (sadly) didn’t have a guide for it until now.
I will try and keep this updated as much as I can. Gear wise, I will try to keep a low/mid/high tier sets up.
As I am only human, there may be mistakes within this guide or changes that may need to be made. Feel free to send me a PM, reply, discuss, debate, make suggestions, etc. I will add and change things as needed.