Kaboom! A Guide For Black Mage

Language: JP EN DE FR
New Items
2023-11-19
users online
Forum » FFXI » Jobs » Black Mage » Kaboom! A Guide for Black Mage
Kaboom! A Guide for Black Mage
First Page 2 3 ... 25 26 27 ... 41 42 43
 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2016-01-04 09:19:37
Link | Quote | Reply
 
Did you do this test on Lightsday or something?

SCH gets no MDMG from Gifts, but they do get 36 MAB.

50*1.36 (36 MAB from SCH Gifts) = 68 Naked
94/1.68 (36 MAB from Gifts + 32 from Feet) = 56 base damage

104/1.68 (36 MAB from Gifts + 32 from Feet and Lightsday Penalty) = 62 base damage (no match)

94/61 = 1.55 MAB (19 MAB implied from feet if there's 11 MDMG)

94/70 = 1.34 or 1.35 MAB (-1 or -2 MAB from feet if there's 20 MDMG)



Neither set of feet stats seem correct.
 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2016-01-04 09:29:31
Link | Quote | Reply
 
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.
[+]
 Asura.Toralin
Offline
Server: Asura
Game: FFXI
user: toralin
Posts: 1365
By Asura.Toralin 2016-01-04 09:29:48
Link | Quote | Reply
 
Hmm just tested again(lightningday)
Same results
Naked 68
Boots +1 94 (80mp/20macc+20mab path)
 Odin.Llewelyn
Offline
Server: Odin
Game: FFXI
user: Llewelyn
Posts: 2254
By Odin.Llewelyn 2016-01-04 09:30:12
Link | Quote | Reply
 
Forgetting about the probable 20 additional mab from feet augment?
 Asura.Toralin
Offline
Server: Asura
Game: FFXI
user: toralin
Posts: 1365
By Asura.Toralin 2016-01-04 09:30:34
Link | Quote | Reply
 
Are you maybe not adding in the augments?
 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2016-01-04 09:30:40
Link | Quote | Reply
 
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).
 Asura.Krystela
Offline
Server: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2016-01-05 09:51:41
Link | Quote | Reply
 
Fenrir.Ramzus said: »
Asura.Krystela said: »
Thank you Ramsus for the updated sets.

I have to be honest I am a bit at lost with the merlinic augments, which augments does your sets are based onto?

click on the item set you're interested in, it usually has the assumptions listed there.

Clicking the item didn't worked but clicking the set did, thanks!
I should of thought about that lol

Thanks again for the contribution.
 Ragnarok.Forsakengriever
Offline
Server: Ragnarok
Game: FFXI
Posts: 115
By Ragnarok.Forsakengriever 2016-01-05 20:37:23
Link | Quote | Reply
 
Fenrir.Ramzus said: »
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?

ItemSet 340819

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.
[+]
 Fenrir.Ramzus
Offline
Server: Fenrir
Game: FFXI
user: Venomfury
Posts: 1387
By Fenrir.Ramzus 2016-01-05 21:22:06
Link | Quote | Reply
 
Refresh x3.3 = amount gained in 1 tic
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-01-06 00:19:33
Link | Quote | Reply
 
How does GS differentiate between normal and death aspir?
 Fenrir.Snaps
Offline
Server: Fenrir
Game: FFXI
user: Mojopojo
Posts: 1139
By Fenrir.Snaps 2016-01-06 00:44:46
Link | Quote | Reply
 
You can use a different casting mode.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-01-06 00:48:39
Link | Quote | Reply
 
Hmmm, how would you code that?

Would this work?
Code
state.CastingMode:options('Normal', 'Resistant', 'AF', 'Proc', 'Death')

Code
sets.midcast.Aspir.Death
[+]
 Fenrir.Snaps
Offline
Server: Fenrir
Game: FFXI
user: Mojopojo
Posts: 1139
By Fenrir.Snaps 2016-01-06 00:59:17
Link | Quote | Reply
 
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.
 Fenrir.Snaps
Offline
Server: Fenrir
Game: FFXI
user: Mojopojo
Posts: 1139
By Fenrir.Snaps 2016-01-06 01:01:02
Link | Quote | Reply
 
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.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-01-06 01:12:30
Link | Quote | Reply
 
I will try that, thank you!
 Sylph.Dravidian
Offline
Server: Sylph
Game: FFXI
user: Eliseus
Posts: 465
By Sylph.Dravidian 2016-01-06 01:47:06
Link | Quote | Reply
 
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.
[+]
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-01-06 01:50:31
Link | Quote | Reply
 
Sylph.Dravidian said: »
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.
May I have your lua to compare stuffs?
 Sylph.Dravidian
Offline
Server: Sylph
Game: FFXI
user: Eliseus
Posts: 465
By Sylph.Dravidian 2016-01-06 01:54:35
Link | Quote | Reply
 
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.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-01-06 01:56:17
Link | Quote | Reply
 
Would that code go into function job_midcast?

How does idle_index work?
 Sylph.Dravidian
Offline
Server: Sylph
Game: FFXI
user: Eliseus
Posts: 465
By Sylph.Dravidian 2016-01-06 02:01:13
Link | Quote | Reply
 
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.
 Fenrir.Snaps
Offline
Server: Fenrir
Game: FFXI
user: Mojopojo
Posts: 1139
By Fenrir.Snaps 2016-01-06 05:00:13
Link | Quote | Reply
 
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.

sets.idle
sets.idle.HighMP
sets.precast.FC
sets.precast.FC.HighMP
sets.midcast.Death
sets.midcast.Death.HighMP
sets.midcast.Aspir
sets.midcast.Aspir.HighMP
sets.midcast['Aspir III']
sets.midcast['Aspir III'].HighMP

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.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-01-06 05:37:54
Link | Quote | Reply
 
Aye, I already use Mote's LUA's for all my jobs. Thanks for all the info guys!

I've already updated mote-mappings myself with missing spells like Aspir III and storm-II etc.

Fenrir.Snaps said: »
sets.midcast.Death
sets.midcast.Death.HighMP

Are these two the same exact sets, just defined due to different casting/idle modes?
 Sylph.Dravidian
Offline
Server: Sylph
Game: FFXI
user: Eliseus
Posts: 465
By Sylph.Dravidian 2016-01-06 09:13:23
Link | Quote | Reply
 
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.
 Asura.Toralin
Offline
Server: Asura
Game: FFXI
user: toralin
Posts: 1365
By Asura.Toralin 2016-01-06 11:30:13
Link | Quote | Reply
 
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 --
Code
      sets.Precast.FastCast.HighMP = {
            ammo="Ghastly Tathlum +1",
            head={ name="Merlinic Hood", augments={'"Fast Cast"+7','Mag. Acc.+12',}},
            neck="Orunmila's Torque",
            ear1="Loquac. Earring",
            ear2={name="Etiolation Earring", priority=2},
            body="Shango robe",
            hands="Amalric Gages +1",
            ring1="Prolix Ring",
            ring2={name="Mephitas's Ring +1", priority=3},
            back={ name="Bane Cape", augments={'Elem. magic skill +1','Dark magic skill +5','"Mag.Atk.Bns."+3','"Fast Cast"+2', priority=3}},
            waist="Witful belt",
            legs={name="Psycloth Lappas", priority=1},
            feet="Amalric Nails +1"}	
Code
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?
 Fenrir.Snaps
Offline
Server: Fenrir
Game: FFXI
user: Mojopojo
Posts: 1139
By Fenrir.Snaps 2016-01-06 12:15:26
Link | Quote | Reply
 
Bismarck.Speedyjim said: »
Aye, I already use Mote's LUA's for all my jobs. Thanks for all the info guys!

I've already updated mote-mappings myself with missing spells like Aspir III and storm-II etc.

Fenrir.Snaps said: »
sets.midcast.Death
sets.midcast.Death.HighMP

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.
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-01-06 16:55:11
Link | Quote | Reply
 
Asura.Toralin said: »
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 --
Code
      sets.Precast.FastCast.HighMP = {
            ammo="Ghastly Tathlum +1",
            head={ name="Merlinic Hood", augments={'"Fast Cast"+7','Mag. Acc.+12',}},
            neck="Orunmila's Torque",
            ear1="Loquac. Earring",
            ear2={name="Etiolation Earring", priority=2},
            body="Shango robe",
            hands="Amalric Gages +1",
            ring1="Prolix Ring",
            ring2={name="Mephitas's Ring +1", priority=3},
            back={ name="Bane Cape", augments={'Elem. magic skill +1','Dark magic skill +5','"Mag.Atk.Bns."+3','"Fast Cast"+2', priority=3}},
            waist="Witful belt",
            legs={name="Psycloth Lappas", priority=1},
            feet="Amalric Nails +1"}	
Code
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?
 Asura.Toralin
Offline
Server: Asura
Game: FFXI
user: toralin
Posts: 1365
By Asura.Toralin 2016-01-06 19:21:03
Link | Quote | Reply
 
Bismarck.Speedyjim said: »
Asura.Toralin said: »
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 --
Code
      sets.Precast.FastCast.HighMP = {
            ammo="Ghastly Tathlum +1",
            head={ name="Merlinic Hood", augments={'"Fast Cast"+7','Mag. Acc.+12',}},
            neck="Orunmila's Torque",
            ear1="Loquac. Earring",
            ear2={name="Etiolation Earring", priority=2},
            body="Shango robe",
            hands="Amalric Gages +1",
            ring1="Prolix Ring",
            ring2={name="Mephitas's Ring +1", priority=3},
            back={ name="Bane Cape", augments={'Elem. magic skill +1','Dark magic skill +5','"Mag.Atk.Bns."+3','"Fast Cast"+2', priority=3}},
            waist="Witful belt",
            legs={name="Psycloth Lappas", priority=1},
            feet="Amalric Nails +1"}	
Code
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
necroskull Necro Bump Detected! [35 days between previous and next post]
 Ragnarok.Forsakengriever
Offline
Server: Ragnarok
Game: FFXI
Posts: 115
By Ragnarok.Forsakengriever 2016-02-10 11:46:08
Link | Quote | Reply
 
Anyone get/test any REM for BLM with the update? Or is that still not a thing? Lol Empy had once been so good too! lol
 Fenrir.Ramzus
Offline
Server: Fenrir
Game: FFXI
user: Venomfury
Posts: 1387
By Fenrir.Ramzus 2016-02-10 11:58:33
Link | Quote | Reply
 
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
First Page 2 3 ... 25 26 27 ... 41 42 43
Log in to post.