|
Gearswap Support Thread
Serveur: Asura
Game: FFXI
By Asura.Bangerang 2017-08-04 07:57:11
I imagine its an equipment list somewhere that needs updating but I have no clue how to do it so gearswap doesn't swap gear if i put this sword on at the moment. Anyone else experiencing this? or know a fix?
That's exactly the problem. The files are under windower/res. If you don't want to spend the time figuring it out like myself, you can temporarily send the items to your delivery box until the resource files are updated. Just having the items in your bag will crash addons/plugins.
Serveur: Asura
Game: FFXI
Posts: 9
By Asura.Vdoubleo 2017-08-05 01:41:19
That's exactly the problem. The files are under windower/res. If you don't want to spend the time figuring it out like myself, you can temporarily send the items to your delivery box until the resource files are updated. Just having the items in your bag will crash addons/plugins.
Thanks for the reply. It seems to only be problematic when equipped. A shame. Itching to try out my new toys! but I can be patient i guess
Serveur: Asura
Game: FFXI
Posts: 159
By Asura.Warusha 2017-08-05 01:51:25
Here is a link to my SCH .lua.
I'm trying to get my fastcast gear to swap properly. Right now my goal is to lose tp and have optimal equipment in slots when possible. If I happen to lock a weapon I want to have different gear equip based on what's in my main slot. For instance I want to have a different set of fastcast gear on when I have Tupsimati as my main weapon. As of right now, I'm not having issues with that particular functionality. I'd like JSE equipment on when certain buffs are active and I'm casting spells of a particular type. The rules relevant to buffs active I'm having issues with. Here are the most relevant snippets from my .lua: Code sets.precast.FC = {
main="Hvergelmir",
sub="Clerisy Strap +1",
ammo="Impatiens",
head="Amalric Coif +1",
body=FCBody,
hands="Academic's Bracers +3",
legs="Amalric Slops +1",
feet="Amalric Nails +1",
neck="Orunmila's Torque",
waist="Witful Belt",
right_ear="Evans Earring",
left_ear="Etiolation Earring",
left_ring="Kishar Ring",
right_ring="Lebeche Ring",
back="Perimede Cape",
}
sets.precast.FC['Tupsimati'] = {
ammo="Impatiens",
head=FCHead,
body=FCBody,
hands="Academic's Bracers +3",
legs=FCLegs,
feet=FCFeet,
neck="Orunmila's Torque",
waist="Witful Belt",
left_ear="Enchntr. Earring +1",
right_ear="Loquac. Earring",
left_ring="Kishar Ring",
right_ring="Rahab Ring",
back=FCBack,
}
sets.precast.FC['Khatvanga'] = {
ammo="Impatiens",
head=FCHead,
body=FCBody,
hands="Academic's Bracers +3",
legs=FCLegs,
feet=FCFeet,
neck="Orunmila's Torque",
waist="Witful Belt",
left_ear="Enchntr. Earring +1",
right_ear="Loquac. Earring",
left_ring="Kishar Ring",
right_ring="Rahab Ring",
back=FCBack,
} Code function job_precast(spell, action, spellMap, eventArgs)
if spell.name == 'Impact' then
equip({head=empty,body="Twilight Cloak"})
elseif spell.name == 'Stun' then
if not buffactive['Thunderstorm'] then
add_to_chat(8,'--------- Thunderstorm is down ---------')
elseif not buffactive['Klimaform'] then
add_to_chat(8,'----------- Klimaform is down -----------')
end
end
if spell.action_type == 'Magic' then
classes.CustomClass = player.equipment.main
if (buffactive['Dark Arts'] or buffactive['Addendum: Black']) and (spell.skill == "Elemental Magic" or spell.skill == "Dark Magic" or spell.skill == "Enfeebling Magic") then
equip(sets.precast.FC,{head="Pedagogy Mortarboard +1",feet="Academic's Loafers +3"})
elseif (buffactive['Light Arts'] or buffactive['Addendum: White']) and (spell.skill == "Healing Magic" or spell.skill == "Divine Magic" or spell.skill == "Enfeebling Magic" or spell.skill == "Enhancing Magic") then
equip(sets.precast.FC,{head="Pedagogy Mortarboard +1",feet="Academic's Loafers +3"})
end
if (buffactive['Alacrity'] or buffactive['Celerity']) and world.weather_element == spell.element then
equip({feet='Pedagogy Loafers +1'})
end
end
end
Thanks in the advance for any assistance you can offer.
Bismarck.Radec
Serveur: Bismarck
Game: FFXI
Posts: 146
By Bismarck.Radec 2017-08-05 10:50:59
Here is a link to my SCH .lua.
I'm trying to get my fastcast gear to swap properly. Right now my goal is to lose tp and have optimal equipment in slots when possible. If I happen to lock a weapon I want to have different gear equip based on what's in my main slot. For instance I want to have a different set of fastcast gear on when I have Tupsimati as my main weapon. As of right now, I'm not having issues with that particular functionality. I'd like JSE equipment on when certain buffs are active and I'm casting spells of a particular type. The rules relevant to buffs active I'm having issues with. Here are the most relevant snippets from my .lua:
...
Thanks in the advance for any assistance you can offer.
I assume it's just equipping your weapon-based FC set and not adding on the Grimoire bonus gear?
Try adding "eventArgs.handled = true" right after each equip line. Also, simplify the spell conditions to account for mostly enfeebling magic - differences in FC set from Paralyze vs Blind.
Edit - moved the Pedagogy Loafers bit so it should handle properly as well
Code function job_precast(spell, action, spellMap, eventArgs)
if spell.name == 'Impact' then
equip({head=empty,body="Twilight Cloak"})
elseif spell.name == 'Stun' then
if not buffactive['Thunderstorm'] then
add_to_chat(8,'--------- Thunderstorm is down ---------')
elseif not buffactive['Klimaform'] then
add_to_chat(8,'----------- Klimaform is down -----------')
end
end
if spell.action_type == 'Magic' then
classes.CustomClass = player.equipment.main
if (buffactive['Dark Arts'] or buffactive['Addendum: Black']) and (spell.type == "BlackMagic") then
equip(sets.precast.FC,{head="Pedagogy Mortarboard +1",feet="Academic's Loafers +3"})
if (buffactive['Alacrity'] or buffactive['Celerity']) and world.weather_element == spell.element then
equip({feet='Pedagogy Loafers +1'})
end
eventArgs.handled = true
elseif (buffactive['Light Arts'] or buffactive['Addendum: White']) and (spell.type == "WhiteMagic") then
equip(sets.precast.FC,{head="Pedagogy Mortarboard +1",feet="Academic's Loafers +3"})
if (buffactive['Alacrity'] or buffactive['Celerity']) and world.weather_element == spell.element then
equip({feet='Pedagogy Loafers +1'})
end
eventArgs.handled = true
end
end
end
Serveur: Asura
Game: FFXI
Posts: 159
By Asura.Warusha 2017-08-05 12:30:06
I assume it's just equipping your weapon-based FC set and not adding on the Grimoire bonus gear?
Try adding "eventArgs.handled = true" right after each equip line. Also, simplify the spell conditions to account for mostly enfeebling magic - differences in FC set from Paralyze vs Blind.
Edit - moved the Pedagogy Loafers bit so it should handle properly as well
You're my hero. Thank you so much!
Leviathan.Sidra
Serveur: Leviathan
Game: FFXI
Posts: 334
By Leviathan.Sidra 2017-08-06 11:13:02
So my lua was working fine, I made a few edits to a few weaponskill and JA sets, and now I am getting this error:
Lua Runtime Error: Gearswap/equip_processing.lua:246 attempt to index field '?' (a nil value)
I edit the lua and moved stuff around and the error never changes form line 246 no matter what is in the line. Anyone mind just letting me know exactly what type of error I should be looking for to get this fixed?
Bismarck.Radec
Serveur: Bismarck
Game: FFXI
Posts: 146
By Bismarck.Radec 2017-08-06 12:58:09
Out of the blue, guessing you have one of the new WS-weapons equipped [or, potentially in your file], but resources aren't updated with it yet.
Check if the item exists in Windower/res/items.lua - if not, that's why
Leviathan.Sidra
Serveur: Leviathan
Game: FFXI
Posts: 334
By Leviathan.Sidra 2017-08-06 14:05:00
Yes, it's not in my lua but I was wearing it. They are broken?
Bismarck.Radec
Serveur: Bismarck
Game: FFXI
Posts: 146
By Bismarck.Radec 2017-08-06 22:45:57
For now - resources will updated automatically in the next few days, until then can either find a manual update or hold off on using new items.
Asura.Chiaia
VIP
Serveur: Asura
Game: FFXI
Posts: 1656
By Asura.Chiaia 2017-08-06 23:09:28
Manually update your resources from https://github.com/Windower/Resources and you'll be fine. Its been updated since patch night but for some reason its not downloading for anyone I know.
Asura.Arnan
Serveur: Asura
Game: FFXI
Posts: 132
By Asura.Arnan 2017-08-07 01:49:26
Manually update your resources from https://github.com/Windower/Resources and you'll be fine. Its been updated since patch night but for some reason its not downloading for anyone I know. which files are needed? just items and item_description?
Asura.Chiaia
VIP
Serveur: Asura
Game: FFXI
Posts: 1656
By Asura.Chiaia 2017-08-07 02:05:06
Asura.Chiaia said: »
Manually update your resources from https://github.com/Windower/Resources and you'll be fine. Its been updated since patch night but for some reason its not downloading for anyone I know.
which files are needed? just items and item_description? You'll want all the files listed as 4 days old. You should just download the whole thing "the big green button" and replace all in your windower folder.
Leviathan.Stamos
Serveur: Leviathan
Game: FFXI
Posts: 1239
By Leviathan.Stamos 2017-08-09 05:18:10
Ty
Serveur: Cerberus
Game: FFXI
Posts: 1809
By Cerberus.Shadowmeld 2017-08-09 12:16:00
Code
buff = string.lower(buff)
if buff == "Battuta" and not gain then
enable('hands')
The line right before you are changeing buff from Battuta to battuta, so the next line fails due to the capital letter
change to
Code
if buff == 'battuta' and not gain ...
Asura.Eiryl
Serveur: Asura
Game: FFXI
By Asura.Eiryl 2017-08-09 13:03:26
Could I get some help with a semi complicated setup?
I more or less want a template that covers everything in one, so that i can take one model and customize it to each job.
Basically all the things combined into one:
TH system
weather/day rule (ie; sch feet, obi, twilight etc)
Time of day Rule (ie; lugra earrings)
waltz tiering (whatever makes montens GS not overheal you)
Or tell me how to figure out what is in the gs that makes it work. I KINDA understand the TH system, but I probably over complicate it when I add to to other jobs. I more or less take everything that has TH in it and copy paste.
Serveur: Cerberus
Game: FFXI
Posts: 1809
By Cerberus.Shadowmeld 2017-08-09 13:21:37
I couldn't really help with that stuff as I've never done them. If I were to try to implement a tiering ruleset for waltzes I'd probably just use the mote ones as they are super complicated. I do do weather/day rules for all my jobs, and I have specific rules for my sch in a separate Rules.lua for my SCH.
I have a function called handle_arts_equip
Code
function handle_arts_equip(spell, EventArgs)
if is_light_active(spell) then
if spell.name == 'Cursna' then
EventArgs.EquipSet = set_combine(EventArgs.EquipSet, sets.CastingSet.LightArts)
end
EventArgs = handle_perpetuance(spell, EventArgs)
EventArgs = handle_celerity(spell, EventArgs)
EventArgs = handle_rapture(spell, EventArgs)
elseif is_dark_active(spell) then
if EventArgs.SpellInfo.Group == 'Drain' then
EventArgs.EquipSet = set_combine(EventArgs.EquipSet, sets.CastingSet.DarkArts)
end
EventArgs = handle_immanence(spell, EventArgs)
EventArgs = handle_alacrity(spell, EventArgs)
EventArgs = handle_ebullience(spell, EventArgs)
end
if S{'WhiteMagic', 'BlackMagic'}:contains(spell.type) then
EventArgs = handle_klimaform(spell, EventArgs)
end
return EventArgs
end
handle_perpetuance example: Code
function handle_perpetuance(spell, EventArgs)
if buffactive['Perpetuance'] and spell.skill == 'Enhancing Magic' then
show_debug_message('Perpetuance Active: Equipping [' .. sets.CastingSet.Grimoire.Perpetuance.hands .. '] for 55% more duration')
EventArgs.EquipSet = set_combine(EventArgs.EquipSet, sets.CastingSet.Grimoire.Perpetuance)
end
return EventArgs
end
handle_klimaform example: Code
function handle_klimaform(spell, EventArgs)
local use_gear = false
if buffactive['Klimaform'] and spell.element == world.weather_element then
if is_dark_active(spell) then
if spell.skill == 'Elemental Magic' and not S{'Debuff'}:contains(EventArgs.SpellInfo.Group) then
use_gear = true
elseif spell.skill == 'Dark Magic' and (S{'Drain'}:contains(EventArgs.SpellInfo.Group) or spell.name == 'Kaustra') then
use_gear = true
end
elseif is_light_active(spell) then
if spell.skill == 'Divine Magic' and S{'Banish', 'Banishga'}:contains(EventArgs.SpellInfo.Group) then
use_gear = true
end
end
if use_gear then
show_debug_message('Klimaform + Weather Active: Equipping [' .. sets.CastingSet.Klimaform.feet .. '] for 10% bonus damage')
EventArgs.EquipSet = set_combine(EventArgs.EquipSet, sets.CastingSet.Klimaform)
end
end
return EventArgs
end
This has worked excellently for me for sch casting.
Asura.Eiryl
Serveur: Asura
Game: FFXI
By Asura.Eiryl 2017-08-09 15:00:05
I mean like all the things I need are spread across mont's respective gs's I just need to know which parts make them work. To keep the file "tidy".
By Fendarin007 2017-08-14 23:08:04
hello was wondering if u guys can help me, trying to make an enmity set in castingmode
state.CastingMode:options('Normal', 'enmity')
sets.enmity = {
ammo="Paeapua",
head={ name="Despair Helm", augments={'STR+15','Enmity+7','"Store TP"+3',}},
body="Emet Harness +1",
hands={ name="Merlinic Dastanas", augments={'"Mag.Atk.Bns."+8','Magic burst dmg.+8%','Mag. Acc.+2',}},
legs="Aya. Cosciales +1",
feet="Rager Ledel. +1",
neck="Warder's Charm +1",
left_ring="Begrudging Ring",
right_ring="Petrov Ring",
}
sets.midcast['Healing Magic'].enmity = set_combine(sets.enmity, {})
sets.midcast['Dark Magic'].enmity = set_combine(sets.enmity, {})
sets.midcast['Elemental Magic'].enmity = set_combine(sets.enmity, {})
sets.midcast['Enfeebling Magic'].enmity = set_combine(sets.enmity, {})
only the elemental magic command works at the moment, am i doing something wrong? ty in advance
By Fendarin007 2017-08-15 09:49:23
Still no success. Can anyone tell me why there is no enfeebling magic spells in mote-mapping? I think this is the reason
Shiva.Spynx
Serveur: Shiva
Game: FFXI
Posts: 371
By Shiva.Spynx 2017-08-15 10:34:37
Enfeebling magic is not a mote-mapping but a standard windower one (skill=35 is enfeebling magic in res/spells.lua). The code should work for all magic but worst case you can modify your job_post_midcast to force the enmity gear:
Code
if ( spell.action_type == 'Magic' and state.CastingMode.value == 'enmity' ) then{
equip(sets.enmity);
}
This will make any single magic cast in enmity set so you may want to adjust based on your needs (e.g. when you need SID/fast recast)
By Fendarin007 2017-08-15 11:45:53
Thanks a lot il test that out when I'm back home
By Fendarin007 2017-08-16 07:48:08
My precast.fc will equip before the set.enmity right?
By Brynach 2017-08-19 19:22:09
Hoping I can get some help with an issue ive been having. I am trying to have a specific set pull in when I have Samurai Roll active. So far, I have had no luck getting this to work. Ive tried at least four different ways, and nothing has worked for me.
Here is my lua; the current setup would involve lines 482-494 and lines 650-664. Someone told me it may have something to do with my mainweapon customization, but we couldnt be sure.
Thanks in advance for any assistance.
Code -------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job. Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------
-- Initialization function for this job file.
function get_sets()
mote_include_version = 2
include('Mote-Include.lua')
end
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.Buff.Hasso = buffactive.Hasso or false
state.Buff.Seigan = buffactive.Seigan or false
state.Buff.Sekkanoki = buffactive.Sekkanoki or false
state.Buff.Sengikori = buffactive.Sengikori or false
state.Buff['Meikyo Shisui'] = buffactive['Meikyo Shisui'] or false
state.mainweapon = M{['description'] = 'Main Weapon'}
state.mainweapon:options('Kogarasumaru','Masamune','Amanomurakumo','Dojikiri Yasutsuna', 'Tachi')
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent.
function user_setup()
state.OffenseMode:options('Normal', 'LowAcc', 'MidAcc', 'HiAcc')
state.HybridMode:options('Normal','PDT', 'Reraise')
state.WeaponskillMode:options('Normal', 'Acc', 'HiAcc')
state.PhysicalDefenseMode:options('PDT', 'Reraise')
state.IdleMode:options('Normal', 'PDT')
Aeol_weapons = S{'Dojikiri Yasutsuna'}
Koga_weapons = S{'Kogarasumaru'}
Empy_weapons = S{'Masamune'}
Proc_weapons = S{'Tachi'}
-- Additional local binds
send_command('bind ^q input /ja "Hasso" <me>') -- ctrl q
send_command('bind !q input /ja "Seigan" <me>') -- alt q
send_command('bind !a input /ja "Third Eye" <me>') -- alt a
send_command('bind ^z gs c mainweapon') -- ctrl z
update_combat_form()
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^q')
send_command('unbind !q')
send_command('unbind !a')
send_command('unbind ^z')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
sets.mainweapon = {}
sets.mainweapon.Kogarasumaru = {
main="Kogarasumaru",
sub="Utu Grip"
}
sets.mainweapon.Masamune = {
main="Masamune",
sub="Utu Grip"
}
sets.mainweapon.Amanomurakumo = {
main="Amanomurakumo",
sub="Utu Grip"
}
sets.mainweapon['Dojikiri Yasutsuna'] = {
main="Dojikiri Yasutsuna",
sub="Utu Grip"
}
sets.mainweapon['Tachi'] = {
main="Tachi",
sub="Utu Grip"
}
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA.Meditate = {head="Wakido Kabuto +3",hands="Sakonji Kote +1",back="Smertrios's Mantle"}
sets.precast.JA['Warding Circle'] = {head="Wakido Kabuto +3"}
sets.precast.JA['Blade Bash'] = {hands="Sakonji Kote +1"}
sets.precast.JA['Sengikori'] = {feet="Kasuga Sune-ate +1"}
sets.precast.JA['Sekkanoki'] = {hands="Kasuga Kote +1"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Sonia's Plectrum",
head="Yaoyotl Helm",
body="Otronif Harness +1",hands="Buremte Gloves",ring1="Spiral Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Karieyh Brayettes +1",feet="Otronif Boots +1"}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
ammo="Knobkierrie",
head="Flam. Zucchetto +1",
body={ name="Valorous Mail", augments={'Accuracy+28','Weapon skill damage +5%',}},
hands={ name="Valorous Mitts", augments={'Accuracy+18 Attack+18','Weapon skill damage +4%','AGI+8','Accuracy+9','Attack+12',}},
legs="Wakido Haidate +3",
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','Weapon skill damage +5%','STR+8','Accuracy+2','Attack+6',}},
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Telos Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}}
sets.precast.WS.Acc = set_combine(sets.precast.WS, {back="Letalis Mantle"})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Tachi: Fudo'] ={ ammo="Knobkierrie",
head={ name="Valorous Mask", augments={'Accuracy+25','Weapon skill damage +5%','DEX+6',}},
body={ name="Valorous Mail", augments={'Accuracy+28','Weapon skill damage +5%',}},
hands={ name="Valorous Mitts", augments={'Accuracy+18 Attack+18','Weapon skill damage +4%','AGI+8','Accuracy+9','Attack+12',}},
legs="Wakido Haidate +3",
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','Weapon skill damage +5%','STR+8','Accuracy+2','Attack+6',}},
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Telos Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}}
sets.precast.WS['Tachi: Fudo'].Acc = set_combine(sets.precast.WS['Tachi: Fudo'], {ring2="Rufescent Ring",waist="Prosilio Belt +1",legs="Hizamaru Hizayoroi +1"})
sets.precast.WS['Tachi: Fudo'].Mod = set_combine(sets.precast.WS['Tachi: Fudo'], {waist="Snow Belt"})
sets.precast.WS['Tachi: Shoha'] = {
head={ name="Valorous Mask", augments={'Accuracy+25','Weapon skill damage +5%','DEX+6',}},neck="Fotia Gorget",ear1="Cessance Earring",ear2="Brutal Earring",
body={ name="Valorous Mail", augments={'Accuracy+28','Weapon skill damage +5%',}},
hands={ name="Valorous Mitts", augments={'Accuracy+18 Attack+18','Weapon skill damage +4%','AGI+8','Accuracy+9','Attack+12',}},
ring1="Regal Ring",ring2="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
waist="Windbuffet Belt +1",legs={ name="Valor. Hose", augments={'Accuracy+28','Weapon skill damage +5%','STR+10','Attack+5',}},
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','Weapon skill damage +5%','STR+8','Accuracy+2','Attack+6',}}}
sets.precast.WS['Tachi: Shoha'].Acc = set_combine(sets.precast.WS.Acc, {neck="Thunder Gorget"})
sets.precast.WS['Tachi: Shoha'].Mod = set_combine(sets.precast.WS['Tachi: Shoha'], {waist="Thunder Belt"})
sets.precast.WS['Tachi: Rana'] = {
head={ name="Valorous Mask", augments={'Accuracy+25','Weapon skill damage +5%','DEX+6',}},neck="Fotia Gorget",ear1="Cessance Earring",ear2="Telos Earring",
body={ name="Valorous Mail", augments={'Accuracy+28','Weapon skill damage +5%',}},hands={ name="Valorous Mitts", augments={'Accuracy+18 Attack+18','Weapon skill damage +4%','AGI+8','Accuracy+9','Attack+12',}},ring1="Niqmaddu Ring",ring2="Regal Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},waist="Fotia Belt",legs={ name="Valor. Hose", augments={'Accuracy+28','Weapon skill damage +5%','STR+10','Attack+5',}},feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','Weapon skill damage +5%','STR+8','Accuracy+2','Attack+6',}}}
sets.precast.WS['Tachi: Rana'].Acc = set_combine(sets.precast.WS.Acc, {neck="Snow Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",})
sets.precast.WS['Tachi: Rana'].Mod = set_combine(sets.precast.WS['Tachi: Rana'], {waist="Snow Belt"})
sets.precast.WS['Tachi: Kasha'] = {ammo="Knobkierrie",
head="Flam. Zucchetto +1",
body={ name="Valorous Mail", augments={'Accuracy+28','Weapon skill damage +5%',}},
hands={ name="Valorous Mitts", augments={'Accuracy+18 Attack+18','Weapon skill damage +4%','AGI+8','Accuracy+9','Attack+12',}},
legs="Wakido Haidate +3",
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','Weapon skill damage +5%','STR+8','Accuracy+2','Attack+6',}},
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Telos Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}}
sets.precast.WS['Tachi: Gekko'] = {ammo="Knobkierrie",
head="Flam. Zucchetto +1",
body={ name="Valorous Mail", augments={'Accuracy+28','Weapon skill damage +5%',}},
hands={ name="Valorous Mitts", augments={'Accuracy+18 Attack+18','Weapon skill damage +4%','AGI+8','Accuracy+9','Attack+12',}},
legs="Wakido Haidate +3",
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','Weapon skill damage +5%','STR+8','Accuracy+2','Attack+6',}},
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Telos Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
}
sets.precast.WS['Tachi: Yukikaze'] = {ammo="Knobkierrie",
head="Flam. Zucchetto +1",
body={ name="Valorous Mail", augments={'Accuracy+28','Weapon skill damage +5%',}},
hands={ name="Valorous Mitts", augments={'Accuracy+18 Attack+18','Weapon skill damage +4%','AGI+8','Accuracy+9','Attack+12',}},
legs="Wakido Haidate +3",
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','Weapon skill damage +5%','STR+8','Accuracy+2','Attack+6',}},
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Telos Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}}
sets.precast.WS['Tachi: Ageha'] = {ammo="Knobkierrie",
head="Flam. Zucchetto +1",
body="Flamma Korazin +1",
hands="Flam. Manopolas +1",
legs="Flamma Dirs +1",
feet="Flam. Gambieras +1",
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Telos Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}}
sets.precast.WS['Tachi: Jinpu'] = {ammo="Knobkierrie",
head={ name="Valorous Mask", augments={'Accuracy+25','Weapon skill damage +5%','DEX+6',}},
body={ name="Found. Breastplate", augments={'Accuracy+15','Mag. Acc.+15','Attack+15','"Mag.Atk.Bns."+15',}},
hands={ name="Founder's Gauntlets", augments={'STR+9','Attack+13','"Mag.Atk.Bns."+14','Phys. dmg. taken -4%',}},
legs="Wakido Haidate +3",
feet={ name="Founder's Greaves", augments={'VIT+10','Accuracy+15','"Mag.Atk.Bns."+15','Mag. Evasion+15',}},
neck="Fotia Gorget",
waist="Fotia Belt",
left_ear="Ishvara Earring",
right_ear="Friomisi Earring",
left_ring="Regal Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}}
-- Midcast Sets
sets.midcast.FastRecast = {ammo="Pemphredo Tathlum",
head="Flam. Zucchetto +1",
body="Flamma Korazin +1",
hands="Flam. Manopolas +1",
legs="Flamma Dirs +1",
feet="Flam. Gambieras +1",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Digni. Earring",
right_ear="Gwati Earring",
left_ring="Stikini Ring +1",
right_ring="Stikini Ring",
back="Moonbeam Cape"}
sets.midcast['Absorb STR'] = {ammo="Pemphredo Tathlum",
head="Flam. Zucchetto +1",
body="Flamma Korazin +1",
hands="Flam. Manopolas +1",
legs="Flamma Dirs +1",
feet="Flam. Gambieras +1",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Digni. Earring",
right_ear="Gwati Earring",
left_ring="Stikini Ring +1",
right_ring="Stikini Ring",
back="Moonbeam Cape"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {neck="Wiglen Gorget",ring1="Sheltered Ring",ring2="Paguroidea Ring"}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle = {
head="Wakido Kabuto +3",neck="Bathy Choker +1",ammo="Staunch Tathlum",ear1="Dawn Earring",ear2="Infused Earring",
body="Hizamaru Haramaki +1",hands="Rao Kote +1",ring1="Chirich Ring +1",ring2="Defending Ring",
back="Moonbeam Cape",waist="Flume Belt +1",legs="Rao Haidate +1",feet="Rao Sune-ate +1"}
sets.idle.Regen = {
head="Rao Kabuto +1",neck="Bathy Choker +1",ear1="Dawn Earring",ear2="Infused Earring",
body="Hizamaru Haramaki +1",hands="Rao Kote +1",ring1="Chirich Ring +1",ring2="Paguroidea Ring",
back="Mollusca Mantle",waist="Flume Belt +1",legs="Rao Haidate +1",feet="Rao Sune-ate +1"}
sets.idle.PDT = {ammo="Staunch Tathlum",
head="Loess Barbuta +1",
body="Wakido Domaru +3",
hands={ name="Sakonji Kote +1", augments={'Enhances "Blade Bash" effect',}},
legs="Arjuna Breeches",
feet={ name="Amm Greaves", augments={'HP+50','VIT+10','Accuracy+15','Damage taken-2%',}},
neck="Loricate Torque +1",
waist="Flume Belt +1",
left_ring="Chirich Ring +1",
right_ring="Defending Ring"
}
sets.idle.Weak = {
head="Rao Kabuto +1",neck="Bathy Choker +1",ammo="Staunch Tathlum",ear1="Dawn Earring",ear2="Infused Earring",
body="Hizamaru Haramaki +1",hands="Rao Kote +1",ring1="Chirich Ring +1",ring2="Paguroidea Ring",
back="Moonbeam Cape",waist="Flume Belt +1",legs="Rao Haidate +1",feet="Rao Sune-ate +1"}
-- Defense sets
sets.defense.PDT = {ammo="Staunch Tathlum",
head="Loess Barbuta +1",
body="Wakido Domaru +3",
hands={ name="Sakonji Kote +1", augments={'Enhances "Blade Bash" effect',}},
legs="Arjuna Breeches",
feet={ name="Amm Greaves", augments={'HP+50','VIT+10','Accuracy+15','Damage taken-2%',}},
neck="Loricate Torque +1",
waist="Flume Belt +1",
left_ring="Chirich Ring +1",
right_ring="Defending Ring"}
sets.defense.Reraise = {
head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Twilight Mail",hands="Buremte Gloves",ring1="Defending Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Karieyh Brayettes +1",feet="Otronif Boots +1"}
sets.defense.MDT = {ammo="Demonry Stone",
head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Otronif Harness +1",hands="Otronif Gloves",ring1="Defending Ring",ring2="Shadow Ring",
back="Engulfer Cape",waist="Flume Belt",legs="Karieyh Brayettes +1",feet="Otronif Boots +1"}
sets.Kiting = {feet="Danzo Sune-ate"}
sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
-- 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.Dojikiri = {ammo="Ginsen",
head="Flam. Zucchetto +1",
body="Ken. Samue +1",
hands="Wakido Kote +3",
legs="Ken. Hakama +1",
feet="Ken. Sune-Ate +1",
neck="Moonlight Nodowa",
waist="Windbuffet Belt +1",
left_ear="Dedition Earring",
right_ear="Telos Earring",
left_ring="Hetairoi Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}}}
sets.engaged.Dojikiri.LowAcc = {
ammo="Ginsen",
head="Flam. Zucchetto +1",
body="Kasuga Domaru +1",
hands="Wakido Kote +3",
legs={ name="Ryuo Hakama +1", augments={'Accuracy+25','"Store TP"+5','Phys. dmg. taken -4',}},
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','"Store TP"+7','DEX+4','Accuracy+12',}},
neck="Lissome Necklace",
waist="Ioskeha Belt +1",
left_ear="Cessance Earring",
right_ear="Telos Earring",
left_ring="Hetairoi Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}}
}
sets.engaged.Dojikiri.MidAcc = {
head={ name="Valorous Mask", augments={'"Mag.Atk.Bns."+17','Accuracy+17','Haste+3',}},neck="Combatant's Torque",ear1="Telos Earring",ear2="Brutal Earring",
body="Rao Togi +1",hands="Ryuo Tekko +1",ring1="Chirich Ring +1",ring2="Ramuh Ring +1",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},waist="Kentarch Belt +1",legs="Kasuga Haidate +1",feet="Rao Sune-ate +1"}
sets.engaged.Dojikiri.HiAcc = {
head="Ryuo Somen +1",neck="Combatant's Torque",ear1="Telos Earring",ear2="Mache Earring +1",
body="Ryuo Domaru +1",hands="Ryuo Tekko +1",ring1="Ramuh Ring +1",ring2="Chirich Ring +1",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},waist="Olseni Belt",legs="Hizamaru Hizayoroi +1",feet="Rao Sune-ate +1"}
sets.engaged.Kogarasumaru = {
head={ name="Valorous Mask", augments={'"Mag.Atk.Bns."+17','Accuracy+17','Haste+3',}},neck="Ganesha's Mala",ear1="Telos Earring",ear2="Dedition Earring",
body="Kasuga Domaru +1",hands={ name="Valorous Mitts", augments={'Accuracy+24 Attack+24','"Store TP"+4','DEX+1','Accuracy+7',}},ring1="Hetairoi Ring",ring2="Petrov Ring",
back={ name="Takaha Mantle", augments={'STR+4','"Zanshin"+5','"Store TP"+3',}},waist="Windbuffet Belt +1",legs="Kasuga Haidate +1",feet="Ryuo Sune-Ate +1"}
sets.engaged.Kogarasumaru.LowAcc = {
head={ name="Valorous Mask", augments={'"Mag.Atk.Bns."+17','Accuracy+17','Haste+3',}},neck="Combatant's Torque",ear1="Telos Earring",ear2="Tripudio Earring",
body="Kasuga Domaru +1",hands="Ryuo Tekko +1",ring1="Hetairoi Ring",ring2="Petrov Ring",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},waist="Windbuffet Belt +1",legs="Kasuga Haidate +1",feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','"Store TP"+7','DEX+4','Accuracy+12',}}}
sets.engaged.Kogarasumaru.MidAcc = {
head={ name="Valorous Mask", augments={'"Mag.Atk.Bns."+17','Accuracy+17','Haste+3',}},neck="Combatant's Torque",ear1="Telos Earring",ear2="Cessance Earring",
body="Ryuo Domaru +1",hands="Ryuo Tekko +1",ring1="Hetairoi Ring",ring2="Ramuh Ring +1",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},waist="Kentarch Belt +1",legs="Kasuga Haidate +1",feet="Rao Sune-ate +1"}
sets.engaged.KogarasumaruHiAcc = {
head="Ryuo Somen +1",neck="Combatant's Torque",ear1="Telos Earring",ear2="Mache Earring +1",
body="Ryuo Domaru +1",hands="Ryuo Tekko +1",ring1="Ramuh Ring +1",ring2="Chirich Ring +1",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},waist="Olseni Belt",legs="Hizamaru Hizayoroi +1",feet="Rao Sune-ate +1"}
sets.engaged.Masamune = {ammo="Ginsen",
head="Flam. Zucchetto +1",
body="Ken. Samue +1",
hands="Wakido Kote +3",
legs={ name="Ryuo Hakama +1", augments={'Accuracy+25','"Store TP"+5','Phys. dmg. taken -4',}},
feet={ name="Valorous Greaves", augments={'Accuracy+27','"Store TP"+8','DEX+3',}},
neck="Moonlight Nodowa",
waist="Ioskeha Belt +1",
left_ear="Dedition Earring",
right_ear="Telos Earring",
left_ring="Chirich Ring +1",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}}
--sets.engaged.Masamune = {
--ammo="Paeapua",
--head="Flam. Zucchetto +1",
--body="Kasuga Domaru +1",
--hands="Wakido Kote +3",
--legs={ name="Ryuo Hakama +1", augments={'Accuracy+25','"Store TP"+5','Phys. dmg. taken -4',}},
--feet="Flamma Gambieras +1",
--neck="Ganesha's Mala",
--waist="Ioskeha Belt +1",
--left_ear="Cessance Earring",
--right_ear="Brutal Earring",
--left_ring="Hetairoi Ring",
--right_ring="Niqmaddu Ring",
--back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}}
sets.engaged.Masamune.LowAcc = {ammo="Paeapua",
head="Flam. Zucchetto +1",
body="Kasuga Domaru +1",
hands="Wakido Kote +3",
legs={ name="Ryuo Hakama +1", augments={'Accuracy+25','"Store TP"+5','Phys. dmg. taken -4',}},
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','"Store TP"+7','DEX+4','Accuracy+12',}},
neck="Lissome Necklace",
waist="Ioskeha Belt +1",
left_ear="Cessance Earring",
right_ear="Telos Earring",
left_ring="Hetairoi Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}}}
sets.engaged.Masamune.HighAcc = {ammo="Ginsen",
head={ name="Ryuo Somen +1", augments={'STR+12','DEX+12','Accuracy+20',}},
body="Kasuga Domaru +1",
hands="Wakido Kote +3",
legs={ name="Ryuo Hakama +1", augments={'Accuracy+25','"Store TP"+5','Phys. dmg. taken -4',}},
feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','"Store TP"+7','DEX+4','Accuracy+12',}},
neck="Lissome Necklace",
waist="Ioskeha Belt +1",
left_ear="Mache Earring +1",
right_ear="Telos Earring",
left_ring="Chirich Ring +1",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}}
sets.engaged.Masamune.HiAcc = { ammo="Ginsen",
head="Ryuo Somen +1",neck="Combatant's Torque",ear1="Telos Earring",ear2="Mache Earring +1",
body="Ryuo Domaru +1",hands="Ryuo Tekko +1",ring1="Chirich Ring +1",ring2="Ramuh Ring +1",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}},
waist="Olseni Belt",
legs="Flamma Dirs +1",feet="Rao Sune-ate +1"}
sets.engaged.Masamune.PDT = set_combine(sets.engaged.Masamune, {ammo="Staunch Tathlum",
head="Loess Barbuta +1",
body="Wakido Domaru +3",
hands={ name="Sakonji Kote +1", augments={'Enhances "Blade Bash" effect',}},
legs="Arjuna Breeches",
feet={ name="Amm Greaves", augments={'HP+50','VIT+10','Accuracy+15','Damage taken-2%',}},
neck="Loricate Torque +1",
waist="Flume Belt +1",
left_ring="Chirich Ring +1",
right_ring="Defending Ring"})
sets.engaged.Tachi = {
ammo="Ginsen",
head="Flam. Zucchetto +1",
body="Ken. Samue +1",
hands="Wakido Kote +3",
legs="Ken. Hakama +1",
feet="Ken. Sune-Ate +1",
neck="Moonlight Nodowa",
waist="Windbuffet Belt +1",
left_ear="Telos Earring",
right_ear="Dedition Earring",
left_ring="Hetairoi Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10',}}
}
sets.engaged.Archery = {sub="Bloodrain Strap",
head={ name="Valorous Mask", augments={'Accuracy+30','"Store TP"+6','DEX+5','Attack+12',}},neck="Ganesha's Mala",ear1="Telos Earring",ear2="Brutal Earring",
body="Kasuga Domaru +1",hands={ name="Valorous Mitts", augments={'Accuracy+22 Attack+22','Weapon Skill Acc.+5','DEX+10','Accuracy+11','Attack+15',}},ring1="Hetairoi Ring",ring2="Petrov Ring",
back={ name="Takaha Mantle", augments={'STR+4','"Zanshin"+5','"Store TP"+3',}},waist="Ioskeha Belt +1",legs="Kasuga Haidate +1",feet={ name="Valorous Greaves", augments={'Accuracy+20 Attack+20','"Store TP"+7','DEX+4','Accuracy+12',}}}
sets.engaged.PDT = {ammo="Thew Bomblet",
head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Otronif Harness +1",hands="Otronif Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
back="Iximulew Cape",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}
-- Melee sets for in Adoulin, which has an extra 10 Save TP for weaponskills.
-- Delay 450 GK, 35 Save TP => 89 Store TP for a 4-hit (49 Store TP in gear), 2 Store TP for a 5-hit
sets.buff.Sekkanoki = {hands="Kasuga Kote +1"}
sets.buff.Sengikori = {feet="Kasuga Sune-ate +1"}
sets.MS_WS = {feet="Sakonji Sune-ate +1"}
sets.buff.Doom = {ring1="Saida Ring", ring2="Saida Ring", waist="Gishdubar Sash"}
sets.buff.SamRoll = {ammo="Paeapua",
head="Flam. Zucchetto +1",
body="Ken. Samue +1",
hands="Wakido Kote +3",
legs="Ken. Hakama +1",
feet="Ken. Sune-Ate +1",
neck="Ganesha's Mala",
waist="Ioskeha Belt +1",
left_ear="Brutal Earring",
right_ear="Telos Earring",
left_ring="Hetairoi Ring",
right_ring="Niqmaddu Ring",
back={ name="Smertrios's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
function update_combat_form()
-- Check Weapontype
if Aeol_weapons:contains(player.equipment.main) then
state.CombatForm:set('Dojikiri')
elseif
Koga_weapons:contains(player.equipment.main) then
state.CombatForm:set('Kogarasumaru')
elseif
Empy_weapons:contains(player.equipment.main) then
state.CombatForm:set('Masamune')
elseif
Proc_weapons:contains(player.equipment.main) then
state.CombatForm:set('Tachi')
else
state.CombatForm:reset()
end
end
function job_self_command(cmdParams, eventArgs)
command = cmdParams[1]:lower()
if command=='mainweapon' then
enable('main','sub')
mainswap=1
send_command('gs c cycle mainweapon')
end
end
function job_update(cmdParams, eventArgs)
update_combat_form()
end
function job_buff_change(buff, gain, buffTable, eventArgs)
if buff == "doom" then
if gain then
equip(sets.buff.Doom)
send_command('@input /p Doomed, please Cursna.')
send_command('@input /item "Holy Water" <me>')
disable('ring1','ring2','waist')
else
enable('ring1','ring2','waist')
send_command('input /p '..player.name..' is no longer Doom Thank you !')
handle_equipping_gear(player.status)
end
end
end
-- Set eventArgs.handled to true if we don't want any automatic target handling to be done.
function job_pretarget(spell, action, spellMap, eventArgs)
end
-- Run after the default precast() is done.
-- eventArgs is the same one used in job_precast, in case information needs to be persisted.
moonshade_WS = S{"Tachi: Fudo", "Tachi: Kasha", "Tachi: Shoha", "Tachi: Rana", "Tachi: Gekko"}
function job_post_precast(spell, action, spellMap, eventArgs)
if buffactive['Meikyo Shisui'] then
if sets.precast.WS[spell] then
equipSet = sets.precast.WS[spell]
equipSet = set_combine(equipSet,sets.MS_WS)
equip(equipSet)
else
equipSet = sets.precast.WS
equipSet = set_combine(equipSet,sets.MS_WS)
equip(equipSet)
end
end
if buffactive['Sekkanoki'] then
if sets.precast.WS[spell] then
equipSet = sets.precast.WS[spell]
equipSet = set_combine(equipSet,sets.buff.Sekkanoki)
equip(equipSet)
else
equipSet = sets.precast.WS
equipSet = set_combine(equipSet,sets.buff.Sekkanoki)
equip(equipSet)
end
end
if buffactive['Sengikori'] then
if sets.precast.WS[spell] then
equipSet = sets.precast.WS[spell]
equipSet = set_combine(equipSet,sets.buff.Sengikori)
equip(equipSet)
else
equipSet = sets.precast.WS
equipSet = set_combine(equipSet,sets.buff.Sengikori)
equip(equipSet)
end
end
if spell.english == "Tachi: Jinpu" and (buffactive['Windstorm'] or buffactive['Windstorm II']) then
--print('weather mode')
equip({waist="Hachirin-no-obi"})
end
--print(player.tp)
if spell.english == "Tachi: Jinpu" and player.tp < 2850 then
equip({ear2="Moonshade Earring"})
end
if spell.type == 'WeaponSkill' then
if (moonshade_WS:contains(spell.english) and (((player.tp<2900) and (player.equipment.main ~= 'Dojikiri Yasutsuna')) or (player.tp<2400))) then
equip({ear2="Moonshade Earring"})
end
end
if spell.type == 'WeaponSkill' then
if spell.target.distance > 5 then
cancel_spell()
add_to_chat(8, 'Target to far away. Move closer')
return
end
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)
-- Effectively lock these items in place.
if state.HybridMode.value == 'Reraise' or
(state.DefenseMode.value == 'Physical' and state.PhysicalDefenseMode.value == 'Reraise') then
equip(sets.Reraise)
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
local msg = 'Melee'
if state.HybridMode.value ~= 'Normal' then
msg = msg .. '/' .. state.HybridMode.value
end
end
-- Modify the default idle set
function customize_idle_set(idleSet)
if mainswap then
mainswap=0
enable('main','sub')
equip(sets.mainweapon[state.mainweapon.value])
disable('main','sub')
end
return idleSet
end
--add_to_chat(122,'Idle Set ')
function customize_melee_set(meleeSet)
if mainswap then
mainswap=0
enable('main','sub')
equip(sets.mainweapon[state.mainweapon.value])
disable('main','sub')
end
if state.Buff.Aftermath then
return set_combine(meleeSet, sets.Aftermath)
end
if state.buff['Samurai Roll'] then
meleeSet = set_combine(meleeSet, sets.buff.SamRoll)
end
return meleeSet
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
if player.sub_job == 'WAR' then
set_macro_page(8, 1)
elseif player.sub_job == 'DNC' then
set_macro_page(2, 11)
elseif player.sub_job == 'THF' then
set_macro_page(8, 1)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 11)
else
set_macro_page(8, 1)
end
end
Serveur: Shiva
Game: FFXI
Posts: 1052
By Shiva.Arislan 2017-08-19 19:44:17
On line 660, state.buff['Samurai Roll'] isn't defined anywhere in your lua.
You have to explicitly define custom states in the job_setup function:
Code state.Buff['Samurai Roll'] = buffactive['Samurai Roll'] or false
... or, you can skip the state entirely and just detect for Sam Roll directly on line 660:
Code if buffactive['Samurai Roll'] then
meleeSet = set_combine(meleeSet, sets.buff.SamRoll)
end
(FYI, state.Buff.Aftermath is also not defined)
By Brynach 2017-08-19 19:53:04
dammit.. thank you. I feel dumb for missing that.
yes, the Aftermath portion was something pre-existing that I have not yet dealt with.
Cerberus.Lauranna
Serveur: Cerberus
Game: FFXI
Posts: 17
By Cerberus.Lauranna 2017-08-20 10:49:37
Hey everyone,
I'm new at using gearswap with my sch and i'm having an issue.
Everytime I use any abilities, it automatically swap to my precast set.
I don't see any lines in the script saying it should do that...
Do you have any ideas ?
Here's the link to my script : https://pastebin.com/TK6RP0hh
Thanks for your help
Bahamut.Ayasha
Serveur: Bahamut
Game: FFXI
Posts: 95
By Bahamut.Ayasha 2017-08-20 15:09:42
The problem is your precast function. Code
function precast(spell,spellMap)
if spell.skill == 'Healing Magic' then
equip(sets.precast_FastCast)
if spell.name == 'Impact' then
equip(sets['precast_Impact'])
end
elseif spell.english == 'Stun' then
equip(sets['precast_Stun'])
if stuntarg ~= 'Shantotto' then
send_command('@input /t '..stuntarg..' ---- Byrth Stunned!!! ---- ')
end
else
equip(sets['precast_FastCast'])
end
if (buffactive.alacrity or buffactive.celerity) and world.weather_element == spell.element then
equip({feet='Argute Loafers +2'})
end
end
The main issue is the nested if-elseif-else blocks. In plain english, this is what it does.
Check if spell is healing magic, if so equip precast_fastcast set. Then check if the spell is Impact and equip impact precast set (will never get to this point, as Impact is not healing magic).
If the spell isn't healing magic, it checks if the spell is Stun. If so equip precast_stun set, then check (confusingly) if the target is shantotto and if true do some stuff.
If absolutely NONE of the above are true, just equip your precast_fastcast set.
I would suggest a complete rewrite of the above. If you wish, I could help you with this. Send me a PM and I'll see what I can come up with.
Leviathan.Hirasaki
Serveur: Leviathan
Game: FFXI
Posts: 26
By Leviathan.Hirasaki 2017-08-20 19:14:42
Can anyone post a up-to-date Scholar lua please. Thx!
Cerberus.Lauranna
Serveur: Cerberus
Game: FFXI
Posts: 17
By Cerberus.Lauranna 2017-08-21 13:55:41
The problem is your precast function. Code
function precast(spell,spellMap)
if spell.skill == 'Healing Magic' then
equip(sets.precast_FastCast)
if spell.name == 'Impact' then
equip(sets['precast_Impact'])
end
elseif spell.english == 'Stun' then
equip(sets['precast_Stun'])
if stuntarg ~= 'Shantotto' then
send_command('@input /t '..stuntarg..' ---- Byrth Stunned!!! ---- ')
end
else
equip(sets['precast_FastCast'])
end
if (buffactive.alacrity or buffactive.celerity) and world.weather_element == spell.element then
equip({feet='Argute Loafers +2'})
end
end
The main issue is the nested if-elseif-else blocks. In plain english, this is what it does.
Check if spell is healing magic, if so equip precast_fastcast set. Then check if the spell is Impact and equip impact precast set (will never get to this point, as Impact is not healing magic).
If the spell isn't healing magic, it checks if the spell is Stun. If so equip precast_stun set, then check (confusingly) if the target is shantotto and if true do some stuff.
If absolutely NONE of the above are true, just equip your precast_fastcast set.
I would suggest a complete rewrite of the above. If you wish, I could help you with this. Send me a PM and I'll see what I can come up with.
PM sent, thanks for the explaination
Cerberus.Tidis
Serveur: Cerberus
Game: FFXI
Posts: 3927
By Cerberus.Tidis 2017-08-22 07:58:02
Hi, I'm trying to create a set for San precast that is basically just my Fast Cast Set combined with Mochizuki Kyahan but I'm not very good with lua so would anyone be able to help?
Just looking for someone to explain this addon a bit for me. It looks like it is an alternative to Spellcast.
Is it going to be replacing Spellcast? In which ways is it better or worse. I don't know any programming but I've slowly learned more and more about spellcast and the 'language' used in gearswap is confusing to me.
It says it uses packets so it potentially could be more detectable? but does that also eliminate any lag that spellcast may encounter?
I plan on redoing my PUP xml to include pet casting sets thanks to the new addon petschool. I'm just not sure if it's worth it to just wait until gearswap gets more popular or to go ahead and do it in spellcast.
If anyone could give me more info I'd greatly appreciate it.
|
|