I've been trying to figure this out/look it up with no success, can someone please let me know if Gearswap will equip items that are located in the Mog Wardrobe?
I've been trying to figure this out/look it up with no success, can someone please let me know if Gearswap will equip items that are located in the Mog Wardrobe?
Yes, it will.
Is there a particular way it has to be scripted or will it just do it?
It just does it.
I created a new Sch.Lua and loaded it fine. No errors on loading, but when I go to cast an elemental spell I am getting this error and not changing into precast, midcast and after cast gear:
GearSwap has detected an error in the user function aftercast:
....SCH.lua:444: attempt to index field 'low nukes' (a nil value)
Here is the code lua link: http://pastebin.com/zaGg1Db9
If anyone could help fix this I would be much appreciated.
change
you never defined info.low_nukes you only defined low_nukes
Where would I define these? In line 444 or different part?
here this file should work (at lest on that line)
http://www.filedropper.com/zagg1db9_1
---i borked the for one sorry
I am not seeing the change that was made in that coding. That line still looks to be the same.
for some reason that link wont open correctly here is the change from your original file
change
toCode:function user_setup() state.OffenseMode:options('None', 'Normal') state.CastingMode:options('Normal','MB') state.IdleMode:options('Normal', 'PDT', 'MDT') gear.default.obi_waist = "" gear.default.obi_back = "" gear.default.obi_ring = "" select_default_macro_book() end lowtier = S{"Fire", "Fire II", "Stone", "Stone II", "Blizzard", "Blizzard II", "Aero", "Aero II", "Water", "Water II", "Thunder", "Thunder II", "Fira", "Blizzara", "Aerora", "Stonera", "Thundara", "Watera"} hightier = S{"Fire III", "Fire IV", "Stone IV", "Stone III", "Blizzard IV", "Blizzard III", "Aero IV", "Aero III", "Water IV", "Water III", "Thunder IV", "Thunder III", "Fira II", "Blizzara II", "Aerora II", "Stonera II", "Thundara II", "Watera II", "Fira III", "Blizzara III", "Aerora III", "Stonera III", "Thundara III", "Watera III"}
motes include defines info but only after it load the main include file and you never added anything to the info table so you received a nil errorCode:function user_setup() state.OffenseMode:options('None', 'Normal') state.CastingMode:options('Normal','MB') state.IdleMode:options('Normal', 'PDT', 'MDT') gear.default.obi_waist = "" gear.default.obi_back = "" gear.default.obi_ring = "" select_default_macro_book() info.low_nukes = S{"Fire", "Fire II", "Stone", "Stone II", "Blizzard", "Blizzard II", "Aero", "Aero II", "Water", "Water II", "Thunder", "Thunder II", "Fira", "Blizzara", "Aerora", "Stonera", "Thundara", "Watera"} info.mid_nukes = S{""} info.high_nukes = S{"Fire III", "Fire IV", "Stone IV", "Stone III", "Blizzard IV", "Blizzard III", "Aero IV", "Aero III", "Water IV", "Water III", "Thunder IV", "Thunder III", "Fira II", "Blizzara II", "Aerora II", "Stonera II", "Thundara II", "Watera II", "Fira III", "Blizzara III", "Aerora III", "Stonera III", "Thundara III", "Watera III"} end
Perfect, thanks I'll update the lua file and see if there is any other errors or things not working correctly. I appreciate the help.
Spent a few more hours trying to work on my gearswap but I'm still at a loss as to how to fix the thing. I can't figure out what to even do regarding the CombatMode line, no matter how I've tried to make it line up with the updated lines or how I've tried to change it to things like HybridMode, nothing is working.
I looked at the upgrading page and tried to follow it too but nothing short of starting over seems like it'll help since that doesn't explain how to carry over the special stuff. I get stopped dead in the water at CombatMode regardless. ><;
Spoiler: showCode:------------------------------------------------------------------------------------------------------------------- -- Initialization function that defines sets and variables to be used. ------------------------------------------------------------------------------------------------------------------- -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this. -- Initialization function for this job file. function get_sets() -- Load and initialize the include file. include('Mote-Include.lua') end -- Setup vars that are user-independent. function job_setup() state.Buff.Saboteur = buffactive.saboteur or false event_list = L{} event_list:append(windower.register_event('time change', time_change)) end -- Setup vars that are user-dependent. Can override this function in a sidecar file. function user_setup() -- Options: Override default values options.CombatModes = {'Frontline', 'Backline'} options.OffenseModes = {'Normal', 'Acc', 'TH'} options.DefenseModes = {'Normal', 'DT'} options.WeaponskillModes = {'Normal', 'Acc', 'TH'} options.CastingModes = {'Normal', 'Acc', 'TH'} options.IdleModes = {'Normal'} options.RestingModes = {'Normal'} options.PhysicalDefenseModes = {'PDT', 'RefreshPDT'} options.MagicalDefenseModes = {'MDT'} state.Defense.PhysicalMode = 'PDT' state.CombatForm = nil if player.sub_job == 'NIN' or player.sub_job == 'DNC' then state.CombatForm = 'DW' else state.CombatForm = nil end if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then state.CombatMode = 'Frontline' else state.CombatMode = 'Backline' end EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'} MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'} INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'} IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'} send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode') HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}} HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}} if player.sub_job == 'BLM' then set_macro_page(2, 5) elseif player.sub_job == 'NIN' then set_macro_page(4, 5) elseif player.sub_job == 'DNC' then set_macro_page(5, 5) elseif player.sub_job == 'DRK' then set_macro_page(7, 5) elseif player.sub_job == 'PLD' then set_macro_page(8, 5) else set_macro_page(1, 5) end end -- Called when this job file is unloaded (eg: job change) function file_unload() if binds_on_unload then binds_on_unload() end event_list:map(unregister_event) end -- Define sets and vars used by this job file. function init_gear_sets() -------------------------------------- -- Start defining the sets -------------------------------------- -- Precast Sets -- Precast sets to enhance JAs sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"} -- Waltz set (chr and vit) sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens", head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} -- Fast cast sets for spells -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast -- No other FC sets necessary. sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"}) -- Weaponskill sets -- Default set for any weaponskill that isn't any more specifically defined sets.precast.WS = {ammo="Cheruski Needle", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.precast.WS.Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS.TH= {ammo="Cheruski Needle", head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Chaac Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found. sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum", head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle", head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle", head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Vanir Boots"} sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"}) -- Midcast Sets sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring", body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring", back="Shadow Mantle",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum", head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring", body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring", back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum", head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring", body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring", back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring", body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring", back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring", body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring", back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"} sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"}) sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"} sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"}) sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['Dia III'] = {head="Viti. Chapeau +1"} sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Chaac Belt"}) sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum", head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring", back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"} sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"}) sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Ogapepo Cape +1",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum", head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"} sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"}) sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone", head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"} sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone", head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"} sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone", head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Chaac Belt",legs="Hagondes Pants +1",feet="Umbani Boots"} sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"}) sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"}) sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"}) sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"}) sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} --sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {}) --sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"}) --sets.midcast.Aspir = sets.midcast.Drain -- Sets for special buff conditions on spells. sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"} sets.buff.ComposureOther = {head="Estoqueur's Chappel +2", body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1", back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"} sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"} -- Sets to return to when not performing an action. -- Resting sets sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes) sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} -- Defense sets sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"} sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"} sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring", back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"} -- Engaged sets -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous -- sets if more refined versions aren't defined. -- If you create a set with both offense and defense modes, the offense mode should be first. -- EG: sets.engaged.Dagger.Accuracy.Evasion -- Normal melee group sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather", head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"}) sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Chaac Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) -- Defensive melee group sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"} sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"} end ------------------------------------------------------------------------------------------------------------------- -- Job-specific hooks that are called to process player actions at specific points in time. ------------------------------------------------------------------------------------------------------------------- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. function job_midcast(spell, action, spellMap, eventArgs) if spell.action_type == 'Magic' then -- Default base equipment layer of fast recast. equip(sets.midcast.FastRecast) end end -- Run after the default midcast() is done. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted. function job_post_midcast(spell, action, spellMap, eventArgs) if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then equip(sets.buff.Saboteur) elseif spell.skill == 'Enhancing Magic' then if buffactive.composure and spell.target.type == 'PLAYER' then if spell.english == 'Phalanx II' then equip(sets.buff.EnhancingDuration) else equip(sets.buff.ComposureOther) end else equip(sets.midcast.EnhancingDuration) end end end -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. function job_aftercast(spell, action, spellMap, eventArgs) if not spell.interrupted then if state.Buff[spell.english] ~= nil then state.Buff[spell.english] = true end end end ------------------------------------------------------------------------------------------------------------------- -- Customization hooks for idle and melee sets, after they've been automatically constructed. ------------------------------------------------------------------------------------------------------------------- -- Custom spell mapping. function job_get_spell_map(spell, default_spell_map) if spell.action_type == 'Magic' then if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then if state.CombatMode == 'Frontline' then return "FrontlineCure" else return "BacklineCure" end elseif MNDPotencySpells:contains(spell.english) then return 'MNDPotency' elseif spell.english == 'Silence' then return 'MNDAccuracy' elseif spell.english == 'Blind' then return 'INTPotency' elseif INTAccuracySpells:contains(spell.english) then return 'INTAccuracy' elseif EnhancingSpells:contains(spell.english) then return 'Enhancing' elseif IceSpells:contains(spell.english) then return 'Blizzard' end end end ------------------------------------------------------------------------------------------------------------------- -- General hooks for other events. ------------------------------------------------------------------------------------------------------------------- -- Called when a player gains or loses a buff. -- buff == buff gained or lost -- gain == true if the buff was gained, false if it was lost. function job_buff_change(buff, gain) if state.Buff[buff] ~= nil then state.Buff[buff] = gain end end function get_custom_wsmode(spell, action, spellMap, default_wsmode) if default_wsmode == 'Acc' and classes.Daytime then return 'DaytimeAcc' end end function job_time_change(new_time, old_time) classes.CustomMeleeGroups:clear() if classes.Daytime then classes.CustomMeleeGroups:append('Daytime') end end ------------------------------------------------------------------------------------------------------------------- -- User code that supplements self-commands. ------------------------------------------------------------------------------------------------------------------- -- Called by the 'update' self-command, for common needs. -- Set eventArgs.handled to true if we don't want automatic equipping of gear. function job_update(cmdParams, eventArgs) if weapons then equip(weapons) weapons = nil eventArgs.handled = true end end function job_state_change(stateField, newValue, oldValue) if stateField == 'CombatMode' then if newValue == 'Frontline' then weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons send_command('wait 0.1; gs disable main sub') else enable('main', 'sub') end end end -- Set eventArgs.handled to true if we don't want the automatic display to be run. function display_current_job_state(eventArgs) local defenseString = '' if state.Defense.Active then local defMode = state.Defense.PhysicalMode if state.Defense.Type == 'Magical' then defMode = state.Defense.MagicalMode end defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', ' end local meleeString = '' if state.OffenseMode == 'Normal' then --meleeString = 'Melee: Weapons locked, ' end add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString.. 'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting]) eventArgs.handled = true end ------------------------------------------------------------------------------------------------------------------- -- Utility functions specific to this job. ------------------------------------------------------------------------------------------------------------------- -- Select default macro book on initial load or subjob change. function select_default_macro_book() -- Default macro set/book set_macro_page(1, 5) -- Default macro set/book if player.sub_job == 'BLM' then set_macro_page(2, 5) elseif player.sub_job == 'NIN' then set_macro_page(4, 5) elseif player.sub_job == 'DNC' then set_macro_page(5, 5) elseif player.sub_job == 'DRK' then set_macro_page(7, 5) elseif player.sub_job == 'PLD' then set_macro_page(8, 5) end end
this is the part you need to look atSpent a few more hours trying to work on my gearswap but I'm still at a loss as to how to fix the thing. I can't figure out what to even do regarding the CombatMode line, no matter how I've tried to make it line up with the updated lines or how I've tried to change it to things like HybridMode, nothing is working.
I looked at the upgrading page and tried to follow it too but nothing short of starting over seems like it'll help since that doesn't explain how to carry over the special stuff. I get stopped dead in the water at CombatMode regardless. ><;
so all your options tables need to be changed fromCode:options.OffenseModes = {'Normal', 'Acc'} becomes state.OffenseMode:options('Normal', 'Acc')
- In the user_setup function, where all the options lists are defined (this applies to both the main job lua, and the sidecar override), replace them in this manner:
state.OffenseMode:set('Acc') state.OffenseMode:reset() state.OffenseMode:reset() will set it to whatever the default value is (ie: the first value in the
- Remove any old state.Defense.PhysicalMode = 'PDT' type lines in user_setup that simply set up the default state value to match the options list that was used. The new version of options automatically assigns the first value of a list as the default.
- Any place you assign a value to a state variable in your rules code should be changed to something like the following, depending on how you were using it:
toCode:options.<modestypes> = {<options>}
andCode:state.<modestypes>:options(<options>)
toCode:state.<modestypes> = <optionsetto>
and to reset to the first optionCode:state.<modestypes>:set(<optionsetto>)
Code:state.<modestypes>:reset()
Made those changes.Windower4/addons/gearswap/data/Demonjustin_RDM.lua:26: attempt to index field 'CombatMode' (a nil value)Spoiler: showCode:------------------------------------------------------------------------------------------------------------------- -- Initialization function that defines sets and variables to be used. ------------------------------------------------------------------------------------------------------------------- -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this. -- Initialization function for this job file. function get_sets() -- Load and initialize the include file. include('Mote-Include.lua') mote_include_version = 2 end -- Setup vars that are user-independent. function job_setup() state.Buff.Saboteur = buffactive.saboteur or false event_list = L{} event_list:append(windower.register_event('time change', time_change)) end -- Setup vars that are user-dependent. Can override this function in a sidecar file. function user_setup() -- Options: Override default values state.CombatMode:options('Frontline', 'Backline') state.OffenseMode:options('Normal', 'Acc', 'TH') state.DefenseMode:options('Normal', 'DT') state.WeaponskillMode:options('Normal', 'Acc', 'TH') state.CastingMode:options('Normal', 'Acc', 'TH') state.IdleModes:options('Normal') state.RestingModes:options('Normal') state.PhysicalDefenseModes:options('PDT', 'RefreshPDT') state.MagicalDefenseModes:options('MDT') state.Defense.PhysicalMode = 'PDT' state.CombatForm = nil if player.sub_job == 'NIN' or player.sub_job == 'DNC' then state.CombatForm = 'DW' else state.CombatForm = nil end if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then state.CombatMode = 'Frontline' else state.CombatMode = 'Backline' end EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'} MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'} INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'} IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'} send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode') HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}} HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}} if player.sub_job == 'BLM' then set_macro_page(2, 5) elseif player.sub_job == 'NIN' then set_macro_page(4, 5) elseif player.sub_job == 'DNC' then set_macro_page(5, 5) elseif player.sub_job == 'DRK' then set_macro_page(7, 5) elseif player.sub_job == 'PLD' then set_macro_page(8, 5) else set_macro_page(1, 5) end end -- Called when this job file is unloaded (eg: job change) function file_unload() if binds_on_unload then binds_on_unload() end event_list:map(unregister_event) end -- Define sets and vars used by this job file. function init_gear_sets() -------------------------------------- -- Start defining the sets -------------------------------------- -- Precast Sets -- Precast sets to enhance JAs sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"} -- Waltz set (chr and vit) sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens", head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} -- Fast cast sets for spells -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast -- No other FC sets necessary. sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"}) -- Weaponskill sets -- Default set for any weaponskill that isn't any more specifically defined sets.precast.WS = {ammo="Cheruski Needle", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.precast.WS.Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS.TH= {ammo="Cheruski Needle", head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Chaac Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found. sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum", head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle", head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle", head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Vanir Boots"} sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"}) -- Midcast Sets sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring", body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring", back="Shadow Mantle",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum", head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring", body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring", back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum", head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring", body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring", back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring", body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring", back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring", body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring", back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"} sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"}) sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"} sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"}) sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['Dia III'] = {head="Viti. Chapeau +1"} sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Chaac Belt"}) sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum", head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring", back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"} sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"}) sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Ogapepo Cape +1",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum", head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"} sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"}) sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone", head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"} sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone", head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"} sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone", head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Chaac Belt",legs="Hagondes Pants +1",feet="Umbani Boots"} sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"}) sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"}) sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"}) sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"}) sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} --sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {}) --sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"}) --sets.midcast.Aspir = sets.midcast.Drain -- Sets for special buff conditions on spells. sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"} sets.buff.ComposureOther = {head="Estoqueur's Chappel +2", body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1", back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"} sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"} -- Sets to return to when not performing an action. -- Resting sets sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes) sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} -- Defense sets sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"} sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"} sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring", back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"} -- Engaged sets -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous -- sets if more refined versions aren't defined. -- If you create a set with both offense and defense modes, the offense mode should be first. -- EG: sets.engaged.Dagger.Accuracy.Evasion -- Normal melee group sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather", head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"}) sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Chaac Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) -- Defensive melee group sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"} sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"} end ------------------------------------------------------------------------------------------------------------------- -- Job-specific hooks that are called to process player actions at specific points in time. ------------------------------------------------------------------------------------------------------------------- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. function job_midcast(spell, action, spellMap, eventArgs) if spell.action_type == 'Magic' then -- Default base equipment layer of fast recast. equip(sets.midcast.FastRecast) end end -- Run after the default midcast() is done. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted. function job_post_midcast(spell, action, spellMap, eventArgs) if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then equip(sets.buff.Saboteur) elseif spell.skill == 'Enhancing Magic' then if buffactive.composure and spell.target.type == 'PLAYER' then if spell.english == 'Phalanx II' then equip(sets.buff.EnhancingDuration) else equip(sets.buff.ComposureOther) end else equip(sets.midcast.EnhancingDuration) end end end -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. function job_aftercast(spell, action, spellMap, eventArgs) if not spell.interrupted then if state.Buff[spell.english] ~= nil then state.Buff[spell.english] = true end end end ------------------------------------------------------------------------------------------------------------------- -- Customization hooks for idle and melee sets, after they've been automatically constructed. ------------------------------------------------------------------------------------------------------------------- -- Custom spell mapping. function job_get_spell_map(spell, default_spell_map) if spell.action_type == 'Magic' then if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then if state.CombatMode == 'Frontline' then return "FrontlineCure" else return "BacklineCure" end elseif MNDPotencySpells:contains(spell.english) then return 'MNDPotency' elseif spell.english == 'Silence' then return 'MNDAccuracy' elseif spell.english == 'Blind' then return 'INTPotency' elseif INTAccuracySpells:contains(spell.english) then return 'INTAccuracy' elseif EnhancingSpells:contains(spell.english) then return 'Enhancing' elseif IceSpells:contains(spell.english) then return 'Blizzard' end end end ------------------------------------------------------------------------------------------------------------------- -- General hooks for other events. ------------------------------------------------------------------------------------------------------------------- -- Called when a player gains or loses a buff. -- buff == buff gained or lost -- gain == true if the buff was gained, false if it was lost. function job_buff_change(buff, gain) if state.Buff[buff] ~= nil then state.Buff[buff] = gain end end function get_custom_wsmode(spell, action, spellMap, default_wsmode) if default_wsmode == 'Acc' and classes.Daytime then return 'DaytimeAcc' end end function job_time_change(new_time, old_time) classes.CustomMeleeGroups:clear() if classes.Daytime then classes.CustomMeleeGroups:append('Daytime') end end ------------------------------------------------------------------------------------------------------------------- -- User code that supplements self-commands. ------------------------------------------------------------------------------------------------------------------- -- Called by the 'update' self-command, for common needs. -- Set eventArgs.handled to true if we don't want automatic equipping of gear. function job_update(cmdParams, eventArgs) if weapons then equip(weapons) weapons = nil eventArgs.handled = true end end function job_state_change(stateField, newValue, oldValue) if stateField == 'CombatMode' then if newValue == 'Frontline' then weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons send_command('wait 0.1; gs disable main sub') else enable('main', 'sub') end end end -- Set eventArgs.handled to true if we don't want the automatic display to be run. function display_current_job_state(eventArgs) local defenseString = '' if state.Defense.Active then local defMode = state.Defense.PhysicalMode if state.Defense.Type == 'Magical' then defMode = state.Defense.MagicalMode end defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', ' end local meleeString = '' if state.OffenseMode == 'Normal' then --meleeString = 'Melee: Weapons locked, ' end add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString.. 'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting]) eventArgs.handled = true end ------------------------------------------------------------------------------------------------------------------- -- Utility functions specific to this job. ------------------------------------------------------------------------------------------------------------------- -- Select default macro book on initial load or subjob change. function select_default_macro_book() -- Default macro set/book set_macro_page(1, 5) -- Default macro set/book if player.sub_job == 'BLM' then set_macro_page(2, 5) elseif player.sub_job == 'NIN' then set_macro_page(4, 5) elseif player.sub_job == 'DNC' then set_macro_page(5, 5) elseif player.sub_job == 'DRK' then set_macro_page(7, 5) elseif player.sub_job == 'PLD' then set_macro_page(8, 5) end end
change
toCode:-- Setup vars that are user-dependent. Can override this function in a sidecar file. function user_setup() -- Options: Override default values state.CombatMode:options('Frontline', 'Backline') state.OffenseMode:options('Normal', 'Acc', 'TH') state.DefenseMode:options('Normal', 'DT') state.WeaponskillMode:options('Normal', 'Acc', 'TH') state.CastingMode:options('Normal', 'Acc', 'TH') state.IdleModes:options('Normal') state.RestingModes:options('Normal') state.PhysicalDefenseModes:options('PDT', 'RefreshPDT') state.MagicalDefenseModes:options('MDT') state.Defense.PhysicalMode = 'PDT' state.CombatForm = nil if player.sub_job == 'NIN' or player.sub_job == 'DNC' then state.CombatForm = 'DW' else state.CombatForm = nil end if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then state.CombatMode = 'Frontline' else state.CombatMode = 'Backline' end
Code:-- Setup vars that are user-dependent. Can override this function in a sidecar file. function user_setup() -- Options: Override default values state.CombatMode:options('Backline','Frontline') state.OffenseMode:options('Normal', 'Acc', 'TH') state.DefenseMode:options('Normal', 'DT') state.WeaponskillMode:options('Normal', 'Acc', 'TH') state.CastingMode:options('Normal', 'Acc', 'TH') state.IdleModes:options('Normal') state.RestingModes:options('Normal') state.PhysicalDefenseModes:options('PDT', 'RefreshPDT') state.MagicalDefenseModes:options('MDT') state.CombatForm:options('Normal','DW') if player.sub_job == 'NIN' or player.sub_job == 'DNC' then state.CombatForm:set('DW') end if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then state.CombatMode:set('Frontline') end
Still says the same thing. : /
Spoiler: showCode:I keep including this with my changes since it doesn't take much space but helps to make sure I'm not messin stuff up in the changes I'm makin. :x ------------------------------------------------------------------------------------------------------------------- -- Initialization function that defines sets and variables to be used. ------------------------------------------------------------------------------------------------------------------- -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this. -- Initialization function for this job file. function get_sets() -- Load and initialize the include file. include('Mote-Include.lua') mote_include_version = 2 end -- Setup vars that are user-independent. function job_setup() state.Buff.Saboteur = buffactive.saboteur or false event_list = L{} event_list:append(windower.register_event('time change', time_change)) end -- Setup vars that are user-dependent. Can override this function in a sidecar file. function user_setup() -- Options: Override default values state.CombatMode:options('Backline','Frontline') state.OffenseMode:options('Normal', 'Acc', 'TH') state.DefenseMode:options('Normal', 'DT') state.WeaponskillMode:options('Normal', 'Acc', 'TH') state.CastingMode:options('Normal', 'Acc', 'TH') state.IdleModes:options('Normal') state.RestingModes:options('Normal') state.PhysicalDefenseModes:options('PDT', 'RefreshPDT') state.MagicalDefenseModes:options('MDT') state.CombatForm:options('Normal','DW') state.PhysicalDefenseModes:set('PDT') if player.sub_job == 'NIN' or player.sub_job == 'DNC' then state.CombatForm:set('DW') end if S{'WAR', 'THF', 'PLD', 'DRK', 'BST', 'RNG', 'SAM', 'NIN', 'BLU', 'DNC', 'RUN'}:contains(player.sub_job) then state.CombatMode:set('Frontline') end EnhancingSpells = S{'Haste', 'Haste', 'Invisible', 'Sneak', 'Regen', 'Regen II', 'Refresh', 'Refresh II', 'Sandstorm', 'Rainstorm', 'Windstorm', 'Firestorm', 'Hailstorm', 'Klimaform'} MNDPotencySpells = S{'Paralyze', 'Paralyze II', 'Slow', 'Slow II', 'Addle', 'Distract', 'Distract II', 'Frazzle', 'Frazzle II'} INTAccuracySpells = S{'Sleep', 'Sleep II', 'Sleepga', 'Sleepga II', 'Break', 'Breakga', 'Bind', 'Dispel', 'Gravity', 'Gravity II'} IceSpells = S{'Blizzard', 'Blizzard II', 'Blizzard III', 'Blizzard IV', 'Blizzard V', 'Blizzaga', 'Blizzaga II', 'Blizzaga III', 'Blizzaja', 'Blizzara', 'Blizzara II', 'Cryohelix'} send_command('unbind !f11; wait 0.1; bind !f11 gs c cycle CombatMode') HMAtk = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Magic dmg. taken -3%','"Mag.Atk.Bns."+21',}} HMAcc = {name="Hagondes Cuffs +1",augments={'Phys. dmg. taken -3%','Mag. Acc.+26',}} if player.sub_job == 'BLM' then set_macro_page(2, 5) elseif player.sub_job == 'NIN' then set_macro_page(4, 5) elseif player.sub_job == 'DNC' then set_macro_page(5, 5) elseif player.sub_job == 'DRK' then set_macro_page(7, 5) elseif player.sub_job == 'PLD' then set_macro_page(8, 5) else set_macro_page(1, 5) end end -- Called when this job file is unloaded (eg: job change) function file_unload() if binds_on_unload then binds_on_unload() end event_list:map(unregister_event) end -- Define sets and vars used by this job file. function init_gear_sets() -------------------------------------- -- Start defining the sets -------------------------------------- -- Precast Sets -- Precast sets to enhance JAs sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"} -- Waltz set (chr and vit) sets.precast.Waltz = {main="Excalibur",sub="Buramenk'ah",ammo="Impatiens", head="Atro. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Asklepian Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} -- Fast cast sets for spells -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast -- No other FC sets necessary. sets.precast.FC = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Shadow Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"}) -- Weaponskill sets -- Default set for any weaponskill that isn't any more specifically defined sets.precast.WS = {ammo="Cheruski Needle", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.precast.WS.Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS.DaytimeAcc = set_combine(sets.precast.WS.Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS.TH= {ammo="Cheruski Needle", head="Sukeroku Hachi.",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Chaac Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found. sets.precast.WS['Requiescat'] = {ammo="Oreiad's Tathlum", head="Viti. Chapeau +1",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Requiescat'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Soil Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Soil Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Requiescat'].DaytimeAcc = set_combine(sets.precast.WS['Requiescat'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Knights of Round'] = {ammo="Cheruski Needle", head="Atro. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Knights of Round'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Knights of Round'].DaytimeAcc = set_combine(sets.precast.WS['Knights of Round'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Death Blossom'] = {ammo="Cheruski Needle", head="Viti. Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Vitivation Boots +1"} sets.precast.WS['Death Blossom'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Atrophy Tabard +1",hands="Viti. Gloves +1",ring1="Aqua Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Celt Belt",legs="Atrophy Tights +1",feet="Battlecast Gaiters"} sets.precast.WS['Death Blossom'].DaytimeAcc = set_combine(sets.precast.WS['Death Blossom'].Acc, {ammo="Tengu-no-Hane"}) sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Vanir Boots"} sets.precast.WS['Chant du Cygne'].Acc = {ammo="Jukukik Feather", head="Sukeroku Hachi.",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Thundersoul Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Wanion Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.precast.WS['Chant du Cygne'].DaytimeAcc = set_combine(sets.precast.WS['Chant du Cygne'].Acc, {ammo="Tengu-no-Hane"}) -- Midcast Sets sets.midcast.FastRecast = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring", body="Vitivation Tabard",hands="Umuthi Gloves",ring1="Prolix Ring",ring2="Shadow Ring", back="Shadow Mantle",waist="Pya'ekue Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} sets.midcast.FrontlineCure = {main="Excalibur",sub="Buramenk'ah",ammo="Oreiad's Tathlum", head="Gende. Caubeen +1",neck="Phalaina Locket",ear1="Estq. Earring",ear2="Ethereal Earring", body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Asklepian Ring", back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast.BacklineCure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Oreiad's Tathlum", head="Gende. Caubeen +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Novia Earring", body="Heka's Kalasiris",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sirona's Ring", back="Pahtli Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Umuthi Hat",neck="Colossus's Torque",ear1="Estq. Earring",ear2="Andoaa Earring", body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring", back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Atrophy Tights +1",feet="Estq. Houseaux +2"} sets.midcast.Enhancing = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Estoqueur's Chappel +2",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Ethereal Earring", body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1",ring1="Prolix Ring",ring2="Defending Ring", back="Estoqueur's Cape",waist="Pya'ekue Belt",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"} sets.midcast.Refresh = set_combine(sets.midcast.Enhancing, {legs="Estoqueur's Fuseau +2"}) sets.midcast.Stoneskin = {neck="Stone Gorget",ear2="Earthcry Earring",waist="Siegel Sash",legs="Shedir Seraweels"} sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Rope",legs="Shedir Seraweels"}) sets.midcast['Enfeebling Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['Dia III'] = {head="Viti. Chapeau +1"} sets.midcast['Diaga'] = set_combine(sets.midcast.EnfeeblingMagic, {waist="Chaac Belt"}) sets.midcast.MNDPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum", head="Viti. Chapeau +1",neck="Phalaina Locket",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Aqua Ring",ring2="Sirona's Ring", back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Uk'uxkaj Boots"} sets.midcast.MNDPotency.Acc = set_combine(sets.midcast.MNDAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"}) sets.midcast.MNDAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Ogapepo Cape +1",waist="Demonry Sash",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast.INTPotency = {main="Twebuliij",sub="Mephitis Grip",ammo="Oreiad's Tathlum", head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Estoqueur's Sayon +2",hands=HMAcc,ring1="Spiral Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Uk'uxkaj Boots"} sets.midcast.INTPotency.Acc = set_combine(sets.midcast.INTAccuracy, {body="Estoqueur's Sayon +2",feet="Uk'uxkaj Boots"}) sets.midcast.INTAccuracy = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Artsieq Jubbah",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Perception Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['ElementalEnfeeble'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Atro. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAcc,ring1="Sangoma Ring",ring2="Perception Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone", head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Sekhmet Corset",legs="Hagondes Pants +1",feet="Umbani Boots"} sets.midcast['Elemental Magic'].Acc = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone", head="Atro. Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Artsieq Jubbah",hands=HMAtk,ring1="Sangoma Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Hagondes Pants +1",feet="Vitivation Boots +1"} sets.midcast['Elemental Magic'].TH = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Witchstone", head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Seidr Cotehardie",hands=HMAtk,ring1="Acumen Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Chaac Belt",legs="Hagondes Pants +1",feet="Umbani Boots"} sets.midcast.Blizzard = set_combine(sets.midcast['Elemental Magic'], {main="Ngqoqwanb"}) sets.midcast.Blizzard.Acc = set_combine(sets.midcast['Elemental Magic'].Acc, {main="Ngqoqwanb"}) sets.midcast.Blizzard.TH = set_combine(sets.midcast['Elemental Magic'].TH, {main="Ngqoqwanb"}) sets.midcast.Impact = set_combine(sets.midcast['ElementalEnfeeble'], {head=empty,body="Twilight Cloak"}) sets.midcast['Dark Magic'] = {main="Twebuliij",sub="Mephitis Grip",ammo="Kalboron Stone", head="Viti. Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring", body="Atrophy Tabard +1",hands=HMAcc,ring1="Sangoma Ring",ring2="Diamond Ring", back="Refraction Cape",waist="Wanion Belt",legs="Artsieq Hose",feet="Vitivation Boots +1"} sets.midcast.Stun = {main="Twebuliij",sub="Mephitis Grip",ammo="Impatiens", head="Atro. Chapeau +1",neck="Orunmila's Torque",ear1="Estq. Earring",ear2="Enchntr. Earring +1", body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Diamond Ring", back="Ogapepo Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Battlecast Gaiters"} --sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {}) --sets.midcast.Drain = set_combine(sets.midcast.DarkMagic, {ring2="Excelsis Ring"}) --sets.midcast.Aspir = sets.midcast.Drain -- Sets for special buff conditions on spells. sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"} sets.buff.ComposureOther = {head="Estoqueur's Chappel +2", body="Estoqueur's Sayon +2",hands="Atrophy Gloves +1", back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"} sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"} -- Sets to return to when not performing an action. -- Resting sets sets.resting = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes) sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Shadow Ring", back="Kumbira Cape",waist="Fucho-no-obi",legs="Nares Trews",feet="Serpentes Sabots"} -- Defense sets sets.defense.PDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Lithelimb Cap",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"} sets.defense.RefreshPDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Viti. Chapeau +1",neck="Twilight Torque",ear1="Brutal Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Umuthi Gloves",ring1="Defending Ring",ring2="K'ayres Ring", back="Shadow Mantle",waist="Fucho-no-obi",legs="Osmium Cuisses",feet="Battlecast Gaiters"} sets.defense.MDT = {main="Shikargar",sub="Genbu's Shield",ammo="Impatiens", head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Novia Earring",ear2="Ethereal Earring", body="Atrophy Tabard +1",hands="Vitivation Gloves +1",ring1="Defending Ring",ring2="Shadow Ring", back="Refraction Cape",waist="Wanion Belt",legs="Atrophy Tights +1",feet="Umbani Boots"} -- Engaged sets -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous -- sets if more refined versions aren't defined. -- If you create a set with both offense and defense modes, the offense mode should be first. -- EG: sets.engaged.Dagger.Accuracy.Evasion -- Normal melee group sets.engaged = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.Acc = {main="Excalibur", sub="Genbu's Shield",ammo="Jukukik Feather", head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Letalis Mantle",waist="Shetal Stone",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.Acc.Daytime = set_combine(sets.engaged.Acc, {ammo="Tengu-no-Hane"}) sets.engaged.TH = {main="Excalibur", sub="Genbu's Shield",ammo="Paeapua", head="Lithelimb Cap",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring", body="Karmesin Vest",hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Rajas Ring", back="Bleating Mantle",waist="Chaac Belt",legs="Augury Cuisses",feet="Battlecast Gaiters"} sets.engaged.DW = set_combine(sets.engaged, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.Acc.Daytime = set_combine(sets.engaged.Acc.Daytime, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) sets.engaged.DW.TH = set_combine(sets.engaged.TH, {sub="Buramenk'ah",ear1="Brutal Earring",ear2="Suppanomimi"}) -- Defensive melee group sets.engaged.DT = set_combine(sets.engaged, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.Acc.DT = set_combine(sets.engaged.Acc, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.Acc.DT.Daytime = set_combine(sets.engaged.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.TH.DT = set_combine(sets.engaged.TH, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.DT = set_combine(sets.engaged.DW, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.Acc.DT = set_combine(sets.engaged.DW.Acc, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.Acc.DT.Daytime = set_combine(sets.engaged.DW.Acc.Daytime, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.engaged.DW.TH.DT = set_combine(sets.engaged.DW.TH, {head="Lithelimb Cap",neck="Twilight Torque", hands="Umuthi Gloves",ring1="K'ayres Ring",ring2="Defending Ring",legs="Osmium Cuisses",feet="Battlecast Gaiters"}) sets.FrontlineWeapons = {main="Excalibur", sub="Genbu's Shield"} sets.FrontlineWeapons.DW = {main="Excalibur", sub="Buramenk'ah"} end ------------------------------------------------------------------------------------------------------------------- -- Job-specific hooks that are called to process player actions at specific points in time. ------------------------------------------------------------------------------------------------------------------- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. function job_midcast(spell, action, spellMap, eventArgs) if spell.action_type == 'Magic' then -- Default base equipment layer of fast recast. equip(sets.midcast.FastRecast) end end -- Run after the default midcast() is done. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted. function job_post_midcast(spell, action, spellMap, eventArgs) if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then equip(sets.buff.Saboteur) elseif spell.skill == 'Enhancing Magic' then if buffactive.composure and spell.target.type == 'PLAYER' then if spell.english == 'Phalanx II' then equip(sets.buff.EnhancingDuration) else equip(sets.buff.ComposureOther) end else equip(sets.midcast.EnhancingDuration) end end end -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. function job_aftercast(spell, action, spellMap, eventArgs) if not spell.interrupted then if state.Buff[spell.english] ~= nil then state.Buff[spell.english] = true end end end ------------------------------------------------------------------------------------------------------------------- -- Customization hooks for idle and melee sets, after they've been automatically constructed. ------------------------------------------------------------------------------------------------------------------- -- Custom spell mapping. function job_get_spell_map(spell, default_spell_map) if spell.action_type == 'Magic' then if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then if state.CombatMode == 'Frontline' then return "FrontlineCure" else return "BacklineCure" end elseif MNDPotencySpells:contains(spell.english) then return 'MNDPotency' elseif spell.english == 'Silence' then return 'MNDAccuracy' elseif spell.english == 'Blind' then return 'INTPotency' elseif INTAccuracySpells:contains(spell.english) then return 'INTAccuracy' elseif EnhancingSpells:contains(spell.english) then return 'Enhancing' elseif IceSpells:contains(spell.english) then return 'Blizzard' end end end ------------------------------------------------------------------------------------------------------------------- -- General hooks for other events. ------------------------------------------------------------------------------------------------------------------- -- Called when a player gains or loses a buff. -- buff == buff gained or lost -- gain == true if the buff was gained, false if it was lost. function job_buff_change(buff, gain) if state.Buff[buff] ~= nil then state.Buff[buff] = gain end end function get_custom_wsmode(spell, action, spellMap, default_wsmode) if default_wsmode == 'Acc' and classes.Daytime then return 'DaytimeAcc' end end function job_time_change(new_time, old_time) classes.CustomMeleeGroups:clear() if classes.Daytime then classes.CustomMeleeGroups:append('Daytime') end end ------------------------------------------------------------------------------------------------------------------- -- User code that supplements self-commands. ------------------------------------------------------------------------------------------------------------------- -- Called by the 'update' self-command, for common needs. -- Set eventArgs.handled to true if we don't want automatic equipping of gear. function job_update(cmdParams, eventArgs) if weapons then equip(weapons) weapons = nil eventArgs.handled = true end end function job_state_change(stateField, newValue, oldValue) if stateField == 'CombatMode' then if newValue == 'Frontline' then weapons = sets.FrontlineWeapons[state.CombatForm] or sets.FrontlineWeapons send_command('wait 0.1; gs disable main sub') else enable('main', 'sub') end end end -- Set eventArgs.handled to true if we don't want the automatic display to be run. function display_current_job_state(eventArgs) local defenseString = '' if state.Defense.Active then local defMode = state.Defense.PhysicalMode if state.Defense.Type == 'Magical' then defMode = state.Defense.MagicalMode end defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', ' end local meleeString = '' if state.OffenseMode == 'Normal' then --meleeString = 'Melee: Weapons locked, ' end add_to_chat(122,'Combat ['..state.CombatMode..'], '..meleeString..'Casting ['..state.CastingMode..'], '..meleeString.. 'Idle ['..state.IdleMode..'], '..defenseString..'Kiting: '..on_off_names[state.Kiting]) eventArgs.handled = true end ------------------------------------------------------------------------------------------------------------------- -- Utility functions specific to this job. ------------------------------------------------------------------------------------------------------------------- -- Select default macro book on initial load or subjob change. function select_default_macro_book() -- Default macro set/book set_macro_page(1, 5) -- Default macro set/book if player.sub_job == 'BLM' then set_macro_page(2, 5) elseif player.sub_job == 'NIN' then set_macro_page(4, 5) elseif player.sub_job == 'DNC' then set_macro_page(5, 5) elseif player.sub_job == 'DRK' then set_macro_page(7, 5) elseif player.sub_job == 'PLD' then set_macro_page(8, 5) end end
then i have no clue im sorry
Hey everyone, I need help with my COR.lua:
Actually, I don't even know if my problem has something to do with the lua or anything else. My problem: I shot 2 Animikii Bullets so far. After I got a new computer I updated some of my gearswap luas. I don't know why my COR.lua didn't saved me from shooting these precious bullets. I tend to use Triple Shot more often these days, maybe it has something to do with that. Maybe it's server lag? Or lag from my higher ffxi settings?
I am really clueless atm what caused it... Getting a new bullet isn't that funny when having limited playtime...
So, I'd really like to keep using gearswap but if my .lua has nothing to do with that issue I need to see how can do a work around to be still able to use the Animikii Bullet (BiS for QD)
Please Help :/
Thats the problem, Mote disappeared a while back without word that I saw.