Gearswap Support Thread |
||
Gearswap Support Thread
For whatever reason, the coding provided uses Marin Staff for Aero but still Keraunos for Aero II, III, IV, V and Anemohelix.
I am trying to figure out if there is a way to do macros that will work with gearswap and the shortcuts plugin standard /ma"w.e"<t> doesn't work when typing it out via keyboard works fine "//cure3 w.e" anyone know if there is a way to avoid typing spells out?
nvm I figured it out macro should be /cure with no /ma "blablabs"
Bahamut.Phidruran said: » What would be the easiest way to add coding to a gearswap file to use Marin Staff for all wind magic? Odin.Quixacotl said: » Code sets.midcast['Elemental Magic'] = {nuke gear here} function midcast(spell,action) if spell.skill == 'Elemental Magic' then if spell.element == 'Wind' then equip(sets.midcast['Elemental Magic'], {main="Marin Staff"}) end end end Bahamut.Phidruran said: » For whatever reason, the coding provided uses Marin Staff for Aero but still Keraunos for Aero II, III, IV, V and Anemohelix. Odin.Quixacotl said: » Bahamut.Phidruran said: » What would be the easiest way to add coding to a gearswap file to use Marin Staff for all wind magic? Odin.Quixacotl said: » Code sets.midcast['Elemental Magic'] = {nuke gear here} function midcast(spell,action) if spell.skill == 'Elemental Magic' then if spell.element == 'Wind' then equip(sets.midcast['Elemental Magic'], {main="Marin Staff"}) end end end Bahamut.Phidruran said: » For whatever reason, the coding provided uses Marin Staff for Aero but still Keraunos for Aero II, III, IV, V and Anemohelix. I'm welcome to any suggestions you have. Code ------------------------------------------------------------------------------------------------------------------- -- Setup functions for this job. Generally should not be modified. ------------------------------------------------------------------------------------------------------------------- --[[ Custom commands: Shorthand versions for each strategem type that uses the version appropriate for the current Arts. Light Arts Dark Arts gs c scholar light Light Arts/Addendum gs c scholar dark Dark Arts/Addendum gs c scholar cost Penury Parsimony gs c scholar speed Celerity Alacrity gs c scholar aoe Accession Manifestation gs c scholar power Rapture Ebullience gs c scholar duration Perpetuance gs c scholar accuracy Altruism Focalization gs c scholar enmity Tranquility Equanimity gs c scholar skillchain Immanence gs c scholar addendum Addendum: White Addendum: Black --]] -- Initialization function for this job file. function get_sets() mote_include_version = 2 -- Load and initialize the include file. include('Mote-Include.lua') include('Phidruran-Globals.lua') end -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked. function job_setup() info.addendumNukes = S{"Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV", "Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"} state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false update_active_strategems() end ------------------------------------------------------------------------------------------------------------------- -- User setup functions for this job. Recommend that these be overridden in a sidecar file. ------------------------------------------------------------------------------------------------------------------- -- Setup vars that are user-dependent. Can override this function in a sidecar file. function user_setup() state.OffenseMode:options('None', 'Normal') state.CastingMode:options('Normal', 'Resistant') state.IdleMode:options('Normal', 'PDT') send_command('bind ^` input /ma Stun <t>') select_default_macro_book(1, 14) end function user_unload() send_command('unbind ^`') 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['Tabula Rasa'] = {legs="Pedagogy Pants"} -- Fast cast sets for spells sets.precast.FC = {main="Marin Staff",sub="Vivid Strap",ammo="Impatiens", head="Pedagogy Mortarboard +1",ear1="Enchanter Earring +1",ear2="Loquacious Earring",neck="Orunmila's Torque", body="Vanir Cotehardie",hands="Gendewitha Gages",ring1="Weatherspoon Ring",ring2="Veneficium Ring", back="Ogapepo Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Regal Pumps +1"} sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"}) sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris",back="Pahtli Cape"}) sets.precast.FC.Curaga = sets.precast.FC.Cure sets.precast.FC.Impact = {head=empty,body="Twilight Cloak",main="Marin Staff",ammo="Incantor Stone",hands="Lurid Mitts", neck="Imbodla Necklace",ear1="Enchanter Earring +1",ear2="Gwati Earring",ring1="Sangoma Ring", ring2="Globidonta Ring",back="Ogapepo Cape",waist="Aswang Sash",legs="Artsieq Hose",feet="Artsieq Boots"} sets.precast.FC.Stun = {main="Marin Staff",sub="Vivid Strap",ammo="Incantor Stone", head="Pedagogy Mortarboard +1",neck="Orunmila's Torque",ear1="Enchanter Earring +1",ear2="Loquacious Earring", body="Vanir Cotehardie",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Weatherspoon Ring", back="Swith Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Regal Pumps +1"} sets.precast.FC.Stun.Resistant = set_combine(sets.precast.FC.Stun, {head="Artsieq Hat",feet="Artsieq Boots", ear2="Gwati Earring"}) -- Midcast Sets sets.midcast.FastRecast = {main="Marin Staff",sub="Vivid Strap",ammo="Impatiens", head="Nahtirah Hat",ear1="Enchanter Earring +1",ear2="Loquacious Earring",neck="Orunmila's Torque", body="Vanir Cotehardie",hands="Gendewitha Gages",ring1="Weatherspoon Ring",ring2="Veneficium Ring", back="Ogapepo Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Regal Pumps +1"} sets.midcast.Cure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Impatiens", head="Gendewitha Caubeen",neck="Colossus's Torque",ear1="Gwati Earring",ear2="Loquacious Earring", body="Heka's Kalasiris",hands="Pedagogy Bracers +1",ring1="Ephedra Ring",ring2="Sirona's Ring", back="Tempered Cape +1",waist="Witful Belt",legs="Academic's Pants +1",feet="Pedagogy Loafers +1"} sets.midcast.CureWithLightWeather = {main="Iridal Staff",sub="Achaq Grip",ammo="Impatiens", head="Gendewitha Caubeen",neck="Colossus's Torque",ear1="Gwati Earring",ear2="Loquacious Earring", body="Heka's Kalasiris",hands="Pedagogy Bracers +1",ring1="Ephedra Ring",ring2="Sirona's Ring", back="Tempered Cape +1",waist="Korin Obi",legs="Academic's Pants +1",feet="Pedagogy Loafers +1"} sets.midcast.Curaga = sets.midcast.Cure sets.midcast.Regen = {main="Bolelabunga",head="Savant's Bonnet +2"} sets.midcast.Cursna = { neck="Malison Medallion", hands="Hieros Mittens",ring1="Ephedra Ring", feet="Gendewitha Galoshes"} sets.midcast['Enhancing Magic'] = {head="Umuthi Hat",neck="Colossus's Torque",back="Merciful Cape", body="Pedagogy Gown +1",hands="Savant's Bracers +2", waist="Olympus Sash",legs="Academic's Pants +1", ring2="Sheltered Ring",feet="Regal Pumps +1"} sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {waist="Siegel Sash",head="Umuthi Hat"}) sets.midcast.Storm = set_combine(sets.midcast['Enhancing Magic'], {feet="Pedagogy Loafers +1"}) sets.midcast.Protect = {ring1="Sheltered Ring"} sets.midcast.Protectra = sets.midcast.Protect sets.midcast.Shell = {ring1="Sheltered Ring"} sets.midcast.Shellra = sets.midcast.Shell -- Custom spell classes sets.midcast.MndEnfeebles = {main="Marin Staff",sub="Mephitis Grip",range="Aureole", head="Artsieq Hat",neck="Imbodla Necklace",ear1="Enchanter Earring +1",ear2="Gwati Earring", body="Ischemia Chasuble",hands="Lurid Mitts",ring1="Weatherspoon Ring",ring2="Globidonta Ring", back="Ogapepo Cape",waist="Aswang Sash",legs="Artsieq Hose",feet="Artsieq Boots"} sets.midcast.IntEnfeebles = {main="Marin Staff",sub="Mephitis Grip",ammo="Aureole", head="Artsieq Hat",neck="Imbodla Necklace",ear1="Enchanter Earring +1",ear2="Gwati Earring", body="Ischemia Chasuble",hands="Lurid Mitts",ring1="Weatherspoon Ring",ring2="Globidonta Ring", back="Ogapepo Cape",waist="Aswang Sash",legs="Perdition Slops",feet="Artsieq Boots"} sets.midcast.ElementalEnfeeble = sets.midcast.IntEnfeebles sets.midcast['Dark Magic'] = {main="Marin Staff",sub="Mephitis Grip",range="Aureole", head="Pixie Hairpin +1",neck="Dark Torque",ear1="Enchanter Earring +1",ear2="Gwati Earring", body="Academic's Gown +1",hands="Lurid Mitts",ring1="Weatherspoon Ring",ring2="Globidonta Ring", back="Bookworm's Cape",waist="Aswang Sash",legs="Artsieq Hose",feet="Artsieq Boots"} sets.midcast.Kaustra = {main="Marin Staff",sub="Mephitis Grip",range="Aureole", head="Pixie Hairpin +1",neck="Saevus Pendant +1",ear1="Crematio Earring",ear2="Friomisi Earring", body="Hagondes Coat",hands="Otomi Gloves",ring1="Shiva Ring",ring2="Shiva Ring", back="Bookworm's Cape",waist=gear.ElementalObi,legs="Hagondes Pants",feet="Umbani Boots"} sets.midcast.Drain = {main="Marin Staff",sub="Mephitis Grip",range="Aureole", head="Pixie Hairpin +1",neck="Dark Torque",ear1="Enchanter Earring +1",ear2="Gwati Earring", body="Academic's Gown +1",hands="Lurid Mitts",ring1="Sangoma Ring",ring2="Weatherspoon Ring", back="Bookworm's Cape",waist="Fucho-no-Obi",legs="Pedagogy Pants",feet="Artsieq Boots"} sets.midcast.Aspir = sets.midcast.Drain -- Elemental Magic sets are default for handling low-tier nukes. sets.midcast['Elemental Magic'] = {main="Keraunos",sub="Zuuxowu Grip",ammo="Dosis Tathlum", head="Hagondes Hat",neck="Saevus Pendant +1",ear1="Crematio Earring",ear2="Friomisi Earring", body="Hagondes Coat",hands="Otomi Gloves",ring1="Shiva Ring",ring2="Shiva Ring", back="Bookworm's Cape",waist=gear.ElementalObi,legs="Hagondes Pants",feet="Umbani Boots"} sets.midcast['Elemental Magic'].Resistant = {main="Marin Staff",sub="Zuuxowu Grip",ammo="Dosis Tathlum", head="Artsieq Hat",neck="Imbodla Necklace",ear1="Crematio Earring",ear2="Friomisi Earring", body="Vanir Cotehardie",hands="Hagondes Cuffs",ring1="Shiva Ring",ring2="Shiva Ring", back="Bookworm's Cape",waist=gear.ElementalObi,legs="Perdition Slops",feet="Umbani Boots"} -- Sets for helixes sets.midcast.Helix = {main="Keraunos",sub="Mephitis Grip",ammo="Dosis Tathlum", head="Hagondes Hat",neck="Saevus Pendant +1",ear1="Crematio Earring",ear2="Friomisi Earring", body="Vanir Cotehardie",hands="Hagondes Cuffs",ring1="Shiva Ring",ring2="Shiva Ring", back="Bookworm's Cape",waist=gear.ElementalObi,legs="Hagondes Pants",feet="Umbani Boots"} sets.midcast.Noctohelix = {main="Keraunos",sub="Mephitis Grip",ammo="Dosis Tathlum", head="Pixie Hairpin +1",neck="Saevus Pendant +1",ear1="Crematio Earring",ear2="Friomisi Earring", body="Vanir Cotehardie",hands="Hagondes Cuffs",ring1="Shiva Ring",ring2="Shiva Ring", back="Bookworm's Cape",waist=gear.ElementalObi,legs="Hagondes Pants",feet="Umbani Boots"} sets.midcast.Helix.Resistant = {main="Marin Staff",sub="Mephitis Grip",ammo="Dosis Tathlum", head="Hagondes Hat",neck="Imbodla Necklace",ear1="Crematio Earring",ear2="Friomisi Earring", body="Vanir Cotehardie",hands="Hagondes Cuffs",ring1="Shiva Ring",ring2="Shiva Ring", back="Bookworm's Cape",waist=gear.ElementalObi,legs="Perdition Slops",feet="Umbani Boots"} sets.midcast.Impact = {main="Keraunos",sub="Mephitis Grip",ammo="Dosis Tathlum", head=empty,neck="Imbodla Necklace",ear1="Enchanter Earring +1",ear2="Gwati Earring", body="Twilight Cloak",hands="Lurid Mitts",ring1="Shiva Ring",ring2="Shiva Ring", back="Bookworm's Cape",waist=gear.ElementalObi,legs="Hagondes Pants",feet="Umbani Boots"} sets.midcast.Stun = {main="Marin Staff",sub="Vivid Strap",ammo="Incantor Stone", head="Pedagogy Mortarboard +1",neck="Orunmila's Torque",ear1="Enchanter Earring +1",ear2="Loquacious Earring", body="Vanir Cotehardie",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Weatherspoon Ring", back="Swith Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Regal Pumps +1"} sets.midcast.Stun.Resistant = set_combine(sets.precast.FC.Stun, {head="Artsieq Hat",feet="Artsieq Boots", ear2="Gwati Earring"}) -- Sets to return to when not performing an action. -- Resting sets sets.resting = {head="Auspex Coif",neck="Twilight Torque", body="Chelona Blazer",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", back="Vita cape",legs="Sagacity lappas",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="Auspex Coif",neck="Twilight Torque", body="Academic's Gown +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", back="Swith Cape +1",waist="Fucho-no-Obi",legs="Assiduity Pants +1",feet="Serpentes Sabots"} sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Auspex Coif",neck="Twilight Torque", body="Academic's Gown +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", back="Swith Cape +1",waist="Fucho-no-Obi",legs="Assiduity Pants +1",feet="Serpentes Sabots"} sets.idle.Field.PDT = {main=gear.Staff.PDT,sub="Achaq Grip",ammo="Impatiens", head="Nahtirah Hat",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring", body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Sheltered Ring",ring2="Paguroidea Ring", back="Umbra Cape",waist="Hierarch Belt",legs="Assiduity Pants +1",feet="Herald's Gaiters"} sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens", head="Auspex Coif",neck="Twilight Torque", body="Academic's Gown +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring", back="Swith Cape +1",waist="Fucho-no-Obi",legs="Assiduity Pants +1",feet="Serpentes Sabots"} -- Defense sets sets.defense.PDT = {main=gear.Staff.PDT,sub="Achaq Grip",ammo="Incantor Stone", head="Academic's Mortarboard +1",neck="Twilight Torque",ear1="Sanare Earring",ear2="Ethereal Earring", body="Academic's Gown +1",hands="Academic's Bracers +1",ring1="Dark Ring",ring2="Dark Ring", back="Shadow Mantle",waist="Hierarch Belt",legs="Hagondes Pants",feet="Regal Pumps +1"} sets.defense.MDT = {main=gear.Staff.PDT,sub="Achaq Grip",ammo="Incantor Stone", head="Nahtirah Hat",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring", body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Dark Ring",ring2="Shadow Ring", back="Tuilha Cape",waist="Hierarch Belt",legs="Bokwus Slops",feet="Hagondes Sabots"} sets.Kiting = {feet="Herald's Gaiters"} -- 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="Keraunos",sub="Pole Grip", ammo="Impatiens", head="Hagondes Hat",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring", body="Ischemia Chasuble",hands="Hagondes Cuffs",ring1="Rajas Ring",ring2="K'ayres Ring", waist="Cetl Belt",back="Kayapa Cape",legs="Hagondes Pants",feet="Regal Pumps +1"} -- Myrkr Sets -- sets.precast.WS['Myrkr'] = {ammo="Incantor Stone",head="Pixie Hairpin +1",body="Academic's Gown +1", neck="Orunmila's Torque",ear1="Moonshade Earring",ear2="Loquacious Earring",hands="Otomi Gloves", ring1="Sangoma Ring",ring2="Prolix Ring",back="Pahtli Cape",waist="Fucho-no-obi",legs="Perdition Slops",feet="Regal Pumps +1"} -- Omniscience Sets -- sets.precast.WS['Omniscience'] = {ammo="Dosis Tathlum",head="Pixie Hairpin +1",body="Hagondes Coat", neck="Saevus Pendant +1",ear1="Friomisi Earring",ear2="Crematio Earring",hands="Otomi Gloves", ring1="Globidonta Ring",ring2="Sirona's Ring",back="Bookworm's Cape",waist="Anrin Obi",legs="Hagondes Pants",feet="Umbani Boots"} -- Cataclysm Sets -- sets.precast.WS['Cataclysm'] = {ammo="Dosis Tathlum",head="Pixie Hairpin +1",body="Hagondes Coat", neck="Saevus Pendant +1",ear1="Friomisi Earring",ear2="Moonshade Earring",hands="Otomi Gloves", ring1="Shiva Ring",ring2="Shiva Ring",back="Bookworm's Cape",waist="Anrin Obi",legs="Hagondes Pants",feet="Umbani Boots"} -- Shattersoul Sets -- sets.precast.WS['Shattersoul'] = {ammo="Incantor Stone",head="Academic's Mortarboard +1",body="Vanir Cotehardie", neck="Soil Gorget",ear1="Moonshade Earring",ear2="Brutal Earring",hands="Otomi Gloves", ring1="Shiva Ring",ring2="Shiva Ring",back="Bookworm's Cape",waist="Soil Belt",legs="Perdition Slops",feet="Umbani Boots"} -- Buff sets: Gear that needs to be worn to actively enhance a current player buff. sets.buff['Ebullience'] = {head="Savant's Bonnet +2"} sets.buff['Rapture'] = {head="Savant's Bonnet +2"} sets.buff['Perpetuance'] = {hands="Savant's Bracers +2"} sets.buff['Immanence'] = {hands="Savant's Bracers +2"} sets.buff['Penury'] = {legs="Savant's Pants +2"} sets.buff['Parsimony'] = {legs="Savant's Pants +2"} sets.buff['Celerity'] = {feet="Pedagogy Loafers +1"} sets.buff['Alacrity'] = {feet="Pedagogy Loafers +1",head="Nahtirah Hat"} sets.buff['Klimaform'] = {feet="Savant's Loafers +2"} sets.buff.FullSublimation = {head="Academic's Mortarboard +1",ear1="Savant's Earring",body="Pedagogy Gown +1"} sets.buff.PDTSublimation = {head="Academic's Mortarboard +1",ear1="Savant's Earring",body="Pedagogy Gown +1"} --sets.buff['Sandstorm'] = {feet="Desert Boots"} end ------------------------------------------------------------------------------------------------------------------- -- Job-specific hooks for standard casting events. ------------------------------------------------------------------------------------------------------------------- -- Run after the general Midcast() is done. function job_post_Midcast(spell, action, spellMap, eventArgs) if spell.action_type == 'Magic' then apply_grimoire_bonuses(spell, action, spellMap, eventArgs) end end ------------------------------------------------------------------------------------------------------------------- -- Job-specific hooks for non-casting 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 buff == "Sublimation: Activated" then handle_equipping_gear(player.status) end end -- Handle notifications of general user state change. function job_state_change(stateField, newValue, oldValue) if stateField == 'Offense Mode' then if newValue == 'Normal' then disable('main','sub','range') else enable('main','sub','range') end end end ------------------------------------------------------------------------------------------------------------------- -- User code that supplements standard library decisions. ------------------------------------------------------------------------------------------------------------------- -- 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 world.weather_element == 'Light' then return 'CureWithLightWeather' end elseif spell.skill == "Enfeebling Magic" then if spell.type == "WhiteMagic" then return "MndEnfeebles" else return "IntEnfeebles" end if spell.english == 'Noctohelix' then equip(sets.Midcast.Noctohelix) end end end end function customize_idle_set(idleSet) if state.Buff['Sublimation: Activated'] then if state.IdleMode.value == 'Normal' then idleSet = set_combine(idleSet, sets.buff.FullSublimation) elseif state.IdleMode.value == 'PDT' then idleSet = set_combine(idleSet, sets.buff.PDTSublimation) end end if player.mpp < 51 then idleSet = set_combine(idleSet, sets.latent_refresh) end return idleSet end -- Spell Specific Equipment function midcast(spell,action) if spell.skill == 'Elemental Magic' then if spell.element == 'Wind' then equip(sets.midcast['Elemental Magic'], {main="Marin Staff"}) end end end -- Called by the 'update' self-command. function job_update(cmdParams, eventArgs) if cmdParams[1] == 'user' and not (buffactive['light arts'] or buffactive['dark arts'] or buffactive['addendum: white'] or buffactive['addendum: black']) then if state.IdleMode.value == 'Stun' then send_command('@input /ja "Dark Arts" <me>') else send_command('@input /ja "Light Arts" <me>') end end update_active_strategems() update_sublimation() end -- Function to display the current relevant user state when doing an update. -- Return true if display was handled, and you don't want the default info shown. function display_current_job_state(eventArgs) display_current_caster_state() eventArgs.handled = true end ------------------------------------------------------------------------------------------------------------------- -- User code that supplements self-commands. ------------------------------------------------------------------------------------------------------------------- -- Called for direct player commands. function job_self_command(cmdParams, eventArgs) if cmdParams[1]:lower() == 'scholar' then handle_strategems(cmdParams) eventArgs.handled = true end end ------------------------------------------------------------------------------------------------------------------- -- Utility functions specific to this job. ------------------------------------------------------------------------------------------------------------------- -- Reset the state vars tracking strategems. function update_active_strategems() state.Buff['Ebullience'] = buffactive['Ebullience'] or false state.Buff['Rapture'] = buffactive['Rapture'] or false state.Buff['Perpetuance'] = buffactive['Perpetuance'] or false state.Buff['Immanence'] = buffactive['Immanence'] or false state.Buff['Penury'] = buffactive['Penury'] or false state.Buff['Parsimony'] = buffactive['Parsimony'] or false state.Buff['Celerity'] = buffactive['Celerity'] or false state.Buff['Alacrity'] = buffactive['Alacrity'] or false state.Buff['Klimaform'] = buffactive['Klimaform'] or false end function update_sublimation() state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false end -- Equip sets appropriate to the active buffs, relative to the spell being cast. function apply_grimoire_bonuses(spell, action, spellMap) if state.Buff.Perpetuance and spell.type =='WhiteMagic' and spell.skill == 'Enhancing Magic' then equip(sets.buff['Perpetuance']) end if state.Buff.Rapture and (spellMap == 'Cure' or spellMap == 'Curaga') then equip(sets.buff['Rapture']) end if spell.skill == 'Elemental Magic' and spellMap ~= 'ElementalEnfeeble' then if state.Buff.Ebullience and spell.english ~= 'Impact' then equip(sets.buff['Ebullience']) end if state.Buff.Immanence then equip(sets.buff['Immanence']) end if state.Buff.Klimaform and spell.element == world.weather_element then equip(sets.buff['Klimaform']) end end if state.Buff.Penury then equip(sets.buff['Penury']) end if state.Buff.Parsimony then equip(sets.buff['Parsimony']) end if state.Buff.Celerity then equip(sets.buff['Celerity']) end if state.Buff.Alacrity then equip(sets.buff['Alacrity']) end end -- General handling of strategems in an Arts-agnostic way. -- Format: gs c scholar <strategem> function handle_strategems(cmdParams) -- cmdParams[1] == 'scholar' -- cmdParams[2] == strategem to use if not cmdParams[2] then add_to_chat(123,'Error: No strategem command given.') return end local strategem = cmdParams[2]:lower() if strategem == 'light' then if buffactive['light arts'] then send_command('input /ja "Addendum: White" <me>') elseif buffactive['addendum: white'] then add_to_chat(122,'Error: Addendum: White is already active.') else send_command('input /ja "Light Arts" <me>') end elseif strategem == 'dark' then if buffactive['dark arts'] then send_command('input /ja "Addendum: Black" <me>') elseif buffactive['addendum: black'] then add_to_chat(122,'Error: Addendum: Black is already active.') else send_command('input /ja "Dark Arts" <me>') end elseif buffactive['light arts'] or buffactive['addendum: white'] then if strategem == 'cost' then send_command('input /ja Penury <me>') elseif strategem == 'speed' then send_command('input /ja Celerity <me>') elseif strategem == 'aoe' then send_command('input /ja Accession <me>') elseif strategem == 'power' then send_command('input /ja Rapture <me>') elseif strategem == 'duration' then send_command('input /ja Perpetuance <me>') elseif strategem == 'accuracy' then send_command('input /ja Altruism <me>') elseif strategem == 'enmity' then send_command('input /ja Tranquility <me>') elseif strategem == 'skillchain' then add_to_chat(122,'Error: Light Arts does not have a skillchain strategem.') elseif strategem == 'addendum' then send_command('input /ja "Addendum: White" <me>') else add_to_chat(123,'Error: Unknown strategem ['..strategem..']') end elseif buffactive['dark arts'] or buffactive['addendum: black'] then if strategem == 'cost' then send_command('input /ja Parsimony <me>') elseif strategem == 'speed' then send_command('input /ja Alacrity <me>') elseif strategem == 'aoe' then send_command('input /ja Manifestation <me>') elseif strategem == 'power' then send_command('input /ja Ebullience <me>') elseif strategem == 'duration' then add_to_chat(122,'Error: Dark Arts does not have a duration strategem.') elseif strategem == 'accuracy' then send_command('input /ja Focalization <me>') elseif strategem == 'enmity' then send_command('input /ja Equanimity <me>') elseif strategem == 'skillchain' then send_command('input /ja Immanence <me>') elseif strategem == 'addendum' then send_command('input /ja "Addendum: Black" <me>') else add_to_chat(123,'Error: Unknown strategem ['..strategem..']') end else add_to_chat(123,'No arts has been activated yet.') end end -- Gets the current number of available strategems based on the recast remaining -- and the level of the sch. function get_current_strategem_count() -- returns recast in seconds. local allRecasts = windower.ffxi.get_ability_recasts() local stratsRecast = allRecasts[231] local maxStrategems = (player.main_job_level + 10) / 20 local fullRechargeTime = 4*60 local currentCharges = math.floor(maxStrategems - maxStrategems * stratsRecast / fullRechargeTime) return currentCharges end -- Select default macro book on initial load or subjob change. function select_default_macro_book() set_macro_page(1, 14) end You didn't mention you're using Motes... and just as I suspected, you pasted the code in the wrong place.
Lines 369-375 can't work because it'll be overwritten by job_post_midcast() which happens after midcast() is done. Basically your Keraunos will overwrite your Marin Staff even though the code for that is correct. Delete lines 369-375 altogether. Then delete lines 301-309 and paste this in instead. Code ------------------------------------------------------------------------------------------------------------------- -- Job-specific hooks for standard casting events. ------------------------------------------------------------------------------------------------------------------- -- Run after the general Midcast() is done. function job_post_midcast(spell, action, spellMap, eventArgs) if spell.action_type == 'Magic' then if spell.skill == 'Elemental Magic' then if spell.element == 'Wind' then equip(sets.midcast['Elemental Magic'], {main="Marin Staff"}) end end apply_grimoire_bonuses(spell, action, spellMap, eventArgs) end end Thanks so much Quixacotl, worked like a charm.
Offline
Posts: 806
Any way to check in a conditional statement in gearswap if a slot is enabled or disabled?
I'm not sure that's possible since in GS, enable/disable returns no value. You could assign some custom variable to toggle true/false when you use disable/enable.
Is there any way to send myself an echo a minute after setting BLU spells with GS? not sure if there is any event when spells are set or spells are ready to use again.
Anyone willing to share a template function to equip the new dusk till dawn earring coming out? Example.. you're lua will equip the armoor during the latent time and default to triditional armor when latent down.
Shiva.Nokturnall
Offline
Hey everyone,
looking for some assistance with my MNK file. I am using Mote's file with my updated sets, and am trying to make a function to auto-equip an impetus set when my impetus count goes above a certain number. Currently, my function equips the impetus set after I've performed an action only (WS, use an ability, etc), but won't equip it when my impetus count goes from, say, 9-10. It will also not remove the impetus set until I perform another action. I'm thinking I need to write a function recognizing the impetus hit count change from 9-10 (or any other number). What do you guys think? Here is my function. function customize_melee_set(meleeSet) if buffactive.Impetus and (info.impetus_hit_count > 10) then meleeSet = sets.buff.Impetus end return meleeSet end Odin.Brocovich said: » Is there any way to send myself an echo a minute after setting BLU spells with GS? not sure if there is any event when spells are set or spells are ready to use again. I personally don't use it but according to the description, the addon will set spells from a customized list. Then it displays a Timer-based timer to let you know when your spells are ready to use. Leviathan.Syagin said: » Anyone willing to share a template function to equip the new dusk till dawn earring coming out? Example.. you're lua will equip the armoor during the latent time and default to triditional armor when latent down. Code sets.NightEar = {ear1="Lugra Earring +1"} function job_post_precast(spell, action, spellMap, eventArgs) if spell.type:lower() == 'weaponskill' then if world.time <= (7*60) or world.time >= (17*60) then equip(sets.NightEar) end end end Offline
Posts: 32
I'm getting a Lua runtime error: GearSwap/Refresh.lua:229: attempt to index field '?' (a nil value)
Not sure if I'm the only one getting this since the update. Xaiha said: » I'm getting a Lua runtime error: GearSwap/Refresh.lua:229: attempt to index field '?' (a nil value) Not sure if I'm the only one getting this since the update. You're not. Looked at the file and have no clue what to potentially do about it. Awaiting response from more code-savvy players. Offline
Posts: 32
Shiva.Ladyofhonor said: » Xaiha said: » I'm getting a Lua runtime error: GearSwap/Refresh.lua:229: attempt to index field '?' (a nil value) Not sure if I'm the only one getting this since the update. You're not. Looked at the file and have no clue what to potentially do about it. Awaiting response from more code-savvy players. That's good, well not good that there's an error xD. does the lua:229 refer to the line number? if so I wonder what can be done about it * Clueless * if player_mob_table.race ~= nil then player.race_id = player.race player.race = res.races[player.race][language] end That was update related. A new LuaCore was just pushed, can you update and see if it resolves that?
Many addons were actually affected by it, Distance, TParty, etc. were all not working right. Offline
Posts: 32
Leviathan.Arcon said: » That was update related. A new LuaCore was just pushed, can you update and see if it resolves that? Many addons were actually affected by it, Distance, TParty, etc. were all not working right. Thank you Arcon, just updated and everything seems to be in working order :) Leviathan.Arcon said: » That was update related. A new LuaCore was just pushed, can you update and see if it resolves that? Many addons were actually affected by it, Distance, TParty, etc. were all not working right. Awesome, thanks. For me windower had stopped updating, could see it "start" an update but it instantly skipped doing so. Guess I could have guessed that would eventually come to make a difference down the line. Bahamut.Artoriusrex
Offline
getting LUA errors when casting new magic like ReRaise IV, all other version working fine and changing gear, but new spells throwing errors.
Is there anything that needs to be done to add make gearswap use the new elemental equipment using Motes includes?
Odin.Quixacotl said: » Leviathan.Syagin said: » Anyone willing to share a template function to equip the new dusk till dawn earring coming out? Example.. you're lua will equip the armoor during the latent time and default to triditional armor when latent down. Code sets.NightEar = {ear1="Lugra Earring +1"} function job_post_precast(spell, action, spellMap, eventArgs) if spell.type:lower() == 'weaponskill' then if world.time <= (7*60) or world.time >= (17*60) then equip(sets.NightEar) end end end You're the man Quixacotl. Thank you. Hello, i use motenten RDM.lua, but when i try to cast my news Tier V, gear didn't swap in pre and mid cast.
There is a ressources where i can add my tier V as elemental magic ? Thks in advance Resources have been updated a while ago to include the new spells. Re-run the launcher to update, or, if you're using the Update addon, type //update.
Thks, did you add the new obi to the obi rules ?
Mmmm just test, nop for me.
Let me show my "elemental part" Code sets.midcast['Elemental Magic'] = { main="Lehbrailg +2",sub="Elder's grip +1",ammo="Dosis tathlum", head="Hagondes Hat +1",neck="eddy necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Seidr Cotehardie" ,hands="Otomi Gloves",ring1="Shiva Ring +1",ring2="Shiva Ring +1", back="Toro Cape", --waist="Yamabuki-no-Obi" waist=gear.ElementalObi ,legs="Hagondes Pants +1",feet="Umbani Boots"} sets.midcast['Stone'] = set_combine(sets.midcast['Elemental Magic'], {Neck="Quanpur Necklace"}) sets.midcast['Stone II'] = set_combine(sets.midcast['Elemental Magic'], {Neck="Quanpur Necklace"}) sets.midcast['Stone III'] = set_combine(sets.midcast['Elemental Magic'], {Neck="Quanpur Necklace"}) sets.midcast['Stone IV'] = set_combine(sets.midcast['Elemental Magic'], {Neck="Quanpur Necklace"}) sets.midcast['Stone V'] = set_combine(sets.midcast['Elemental Magic'], {Neck="Quanpur Necklace"}) sets.midcast['Stonega'] = set_combine(sets.midcast['Elemental Magic'], {Neck="Quanpur Necklace"}) sets.midcast['Stonega II'] = set_combine(sets.midcast['Elemental Magic'], {Neck="Quanpur Necklace"}) sets.midcast['Aero'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1"}) sets.midcast['Aero II'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1"}) sets.midcast['Aero III'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1"}) sets.midcast['Aero IV'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1"}) sets.midcast['Aero V'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1"}) sets.midcast['Aeroga'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1"}) sets.midcast['Aeroga II'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1"}) sets.midcast['Elemental Magic'].Resistant = { main="Lehbrailg +2","Elder grip +1",range="Aureole", head="Hagondes Hat +1",neck="Imbodla Necklace",ear1="Friomisi Earring",ear2="Crematio Earring", body="Vanir Cotehardie" ,hands="Hagondes cuffs +1",ring1="Shiva ring +1",ring2="Shiva ring +1", back="Toro Cape",waist="Yamabuki-no-ochi",legs="Hagondes Pants +1",feet="Vitivation Boots +1"} --Vitivation Boots +1 --Aureole If you go into Mote-Mappings.lua you can change the obis there to the new one. I just copy/pasted all 3 items in case anyone else asks
Code elements.obi_of = {['Light']='Hachirin-no-obi', ['Dark']='Hachirin-no-obi', ['Fire']='Hachirin-no-obi', ['Ice']='Hachirin-no-obi', ['Wind']='Hachirin-no-obi', ['Earth']='Hachirin-no-obi', ['Lightning']='Hachirin-no-obi', ['Water']='Hachirin-no-obi'} elements.gorget_of = {['Light']='Fotia Gorget', ['Dark']='Fotia Gorget', ['Fire']='Fotia Gorget', ['Ice']='Fotia Gorget', ['Wind']='Fotia Gorget', ['Earth']='Fotia Gorget', ['Lightning']='Fotia Gorget', ['Water']='Fotia Gorget'} elements.belt_of = {['Light']='Fotia Belt', ['Dark']='Fotia Belt', ['Fire']='Fotia Belt', ['Ice']='Fotia Belt', ['Wind']='Fotia Belt', ['Earth']='Fotia Belt', ['Lightning']='Fotia Belt', ['Water']='Fotia Belt'} Just changing those names has not worked, which doesn't make sense because they were swapping out for the old elemental Obi's beforehand.
Leviathan.Arcon said: » Resources have been updated a while ago to include the new spells. Re-run the launcher to update, or, if you're using the Update addon, type //update. In fact Tier V are not news spells, or maybe you have made a list by job maybe. |
||
All FFXI content and images © 2002-2024 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|