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