I've been playing around with various weapons recently (sword, axe) vs the normal Great Sword / Great Axe that I'm used to.
So what this allows is a single Macro to issue a weapon skill regardless of Weapon Class or weapon name. So I make 3 macros "/console gs c ws 1" "/console gs c ws 2" "/console gs c ws 3" and then depending on Weapon class it matches correctly and then sends the weaponskill. Can run '/console gs c wslist' to print to screen what your options 1/2/3 are. Can make the list as long or short as you want.
In user_setup function do the following:
Code
res = require 'resources'
WeaponSkill = {
["Great Sword"] = {
["1"] = "Resolution",
["2"] = "Scourge",
["3"] = "Shockwave"
},
["Great Axe"] = {
["1"] = "Upheaval",
["2"] = "King's Justice",
["3"] = "Full Break"
},
["Axe"] = {
["1"] = "Mistral Axe",
["2"] = "Decimation",
["3"] = "Cloudsplitter"
},
["Sword"] = {
["1"] = "Savage Blade",
["2"] = "Requiescat",
["3"] = "Vorpal Blade"
},
}
then my job_self_command function:
Code
function job_self_command(command)
if command[1]:lower() == "ws" and command[2] ~= nil then
local EquipedGear = windower.ffxi.get_items()
local CurrentSkill
if EquipedGear.equipment.main == nil or EquipedGear.equipment.main == 0 then
CurrentSkill = "Hand-to-Hand"
else
CurrentSkill = res.skills[res.items[windower.ffxi.get_items(EquipedGear.equipment.main_bag, EquipedGear.equipment.main).id].skill].en
end
send_command('input /ws '..WeaponSkill[CurrentSkill][command[2]])
end
if command[1]:lower() == "wslist" then
local EquipedGear = windower.ffxi.get_items()
local CurrentSkill
if EquipedGear.equipment.main == nil or EquipedGear.equipment.main == 0 then
CurrentSkill = "Hand-to-Hand"
else
CurrentSkill = res.skills[res.items[windower.ffxi.get_items(EquipedGear.equipment.main_bag, EquipedGear.equipment.main).id].skill].en
end
windower.add_to_chat(2,"WS List:")
for i,v in pairs(WeaponSkill[CurrentSkill]) do
windower.add_to_chat(2,i..") "..v)
end
end
end
Example:
YouTube Video Placeholder
