GS Not Equipping Sets Related To Buffs

Eorzea Time
 
 
 
言語: JP EN FR DE
日本語版のFFXIVPRO利用したい場合は、上記の"JP"を設定して、又はjp.ffxivpro.comを直接に利用してもいいです
users online
フォーラム » FFXI » Jobs » Scholar » GS not equipping sets related to buffs
GS not equipping sets related to buffs
Offline
Posts: 73
By likard 2016-09-05 11:06:09  
Hey all,
So I have been trying to use the default sch gs to modify it for personal gear sets. One thing I have noticed is that it doesn't seem to do any of the swaps related to scholar buffs from klimaform or strategems. I have the gear, I have showswaps on, and it never equips arbatel loafers +1 when nuking under klimaform with weather up.

Likewise, it never equips the arbatel bonnet +1 when using rapture or ebullience.

here is the current version if anyone would be able to help.

Code
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job.  Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------

-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2

    -- Load and initialize the include file.
    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['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
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', 'Burst')
    state.IdleMode:options('Normal', 'PDT')
    select_default_macro_book()
	
	info.low_nukes = S{"Stone", "Water", "Aero", "Fire", "Blizzard", "Thunder"}
    info.mid_nukes = S{"Stone II", "Water II", "Aero II", "Fire II", "Blizzard II", "Thunder II",
                       "Stone III", "Water III", "Aero III", "Fire III", "Blizzard III", "Thunder III",
                       "Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",}
    info.high_nukes = S{"Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}
end


-- Define sets and vars used by this job file.
function init_gear_sets()

    --------------------------------------
    -- Precast sets
    --------------------------------------

    -- Precast sets to enhance JAs
    sets.precast.JA['Sublimation'] = {head="Acad. Mortarboard",
    body={ name="Pedagogy Gown", augments={'Enhances "Enlightenment" effect',}},
    left_ear="Savant's Earring"}

    -- Fast cast sets for spells

    sets.precast.FC = {ammo="Impatiens",
	head="Merlinic Hood",
    body="Anhur Robe",
    legs="Orvail Pants +1",
    feet="Merlinic Crackows",
    waist="Witful Belt",
	ear1= "Etiolation Earring",
    back="Swith Cape"}
    -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {
            head="Jhakri Coronal +1",
    body="Jhakri Robe +1",
    hands="Jhakri Cuffs +1",
    legs="Jhakri Slops +1",
    feet="Jhakri Pigaches +1",
    neck="Incanter's Torque",
    waist="Windbuffet Belt +1",
    left_ear="Cessance Earring",
    right_ear="Brutal Earring",
    left_ring="Mouflon Ring",
    right_ring="Petrov Ring"}

  sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
	
    --------------------------------------
    -- Midcast sets
    --------------------------------------

    -- Base fast recast for spells
    sets.midcast.FastRecast= {ammo="Impatiens",
	head="Merlinic Hood",
    body="Anhur Robe",
	ear1="Etiolation earring",
  legs="Orvail Pants +1",
    feet="Merlinic Crackows",
    waist="Witful Belt",
    back="Swith Cape"}

    sets.midcast['Elemental Magic'] = {
    ammo="Dosis Tathlum",
   head="Jhakri Coronal +1",
    body="Jhakri Robe +1",
    hands="amalric gages",
    legs="Merlinic Shalwar",
    feet="Jhakri Pigaches +1",
    neck="Eddy Necklace",
    waist="Yamabuki-no-Obi",
    left_ear="Friomisi Earring",
    right_ear="Barkaro.' Earring",
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back="Seshaw Cape"}
    
    sets.midcast.Helix = {
    ammo="Dosis Tathlum",
   head="Jhakri Coronal +1",
    body="Jhakri Robe +1",
    hands="amalric gages",
    legs="Merlinic Shalwar",
    feet="Jhakri Pigaches +1",
    neck="Eddy Necklace",
    waist="Yamabuki-no-Obi",
    left_ear="Friomisi Earring",
    right_ear="Barkaro.' Earring",
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back="Seshaw Cape"}
    
    sets.midcast.Stun = {
		ammo="Dosis Tathlum",
   head="Jhakri Coronal +1",
    body="Jhakri Robe +1",
    hands="amalric gages",
    legs="Merlinic Shalwar",
    feet="Jhakri Pigaches +1",
    neck="Eddy Necklace",
    waist="Yamabuki-no-Obi",
    left_ear="Friomisi Earring",
    right_ear="Barkaro.' Earring",
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back="Seshaw Cape"}
    
    sets.midcast['Dark Magic'] = {
		ammo="Dosis tathlum",
        head="Merlinic Hood",neck="Eddy Necklace",ear1="Barkaro. Earring",ear2="Friomisi earring",
        body="Gyve doublet",hands="amalric gages",ring1="Archon ring",ring2="Shiva Ring +1",
        back="Seshaw Cape",waist="Yamabuki-no-Obi",legs="Merlinic Shalwar",feet="Merlinic crackows"}
    
    sets.midcast['Enfeebling Magic'] = {
		ammo="Dosis Tathlum",
   head="Jhakri Coronal +1",
    body="Jhakri Robe +1",
    hands="amalric gages",
    legs="Merlinic Shalwar",
    feet="Jhakri Pigaches +1",
    neck="Eddy Necklace",
    waist="Yamabuki-no-Obi",
    left_ear="Friomisi Earring",
    right_ear="Barkaro.' Earring",
    left_ring="Shiva Ring +1",
    right_ring="Shiva Ring +1",
    back="Seshaw Cape"}	
	
	sets.Burst = {neck="Mizu. Kubikazari", 
	ear1="Static Earring", 
	ear2="Barkaro. Earring", 
	ring1="Mujin Band", 
	ring2="Locus Ring",
	waist="Yamabuki-no-Obi",
	hands="Amalric gages",
	feet="Jhakri Pigaches +1"}
	
	sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
    sets.midcast['Dark Magic'].Burst = set_combine(sets.midcast['Dark Magic'], sets.Burst)
	sets.midcast['Elemental Magic'].Burst = set_combine(sets.midcast['Elemental Magic'], sets.Burst)
	sets.midcast['Helix'].Burst = set_combine(sets.midcast['Elemental Magic'], sets.Burst)
    sets.midcast.Cure = {main="Tamaxchi", legs="Gyve trousers",body="Vrikodara jupon", hands="Weatherspoon cuffs +1"}
    sets.midcast['Healing Magic'] = {main="Tamaxchi", legs="Gyve trousers",body="Vrikodara jupon", hands="Weatherspoon cuffs +1"}
    sets.midcast.Curaga = sets.midcast.Cure
    sets.midcast.Regen = {main="Bolelabunga",head="Arbatel Bonnet +1", back="Lugh's cape"}


    --------------------------------------
    -- Idle/resting/defense/etc sets
    --------------------------------------

    -- Idle sets

    sets.idle = {main="Akademos",
    sub="Niobid Strap",
	ammo="Homiliary",
	head="Wivre hairpin",
    body="Jhakri robe +1",
    hands="serpentes cuffs",
    legs="Assid. Pants +1",
    feet="Serpentes Sabots",
    neck="Twilight Torque",
    waist="Yamabuki-no-Obi",
    left_ear="Etiolation Earring",
    right_ear="Barkaro. Earring",
    left_ring="Renaye Ring",
    right_ring={ name="Dark Ring", augments={'Phys. dmg. taken -5%','Magic dmg. taken -3%',}},
    back="Shadow Mantle"}


    -- Defense sets

    sets.defense.PDT = {}

    sets.defense.MDT = {}


   sets.midcast.Kaustra = sets.midcast['Dark Magic']

    --------------------------------------
    -- 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 = {
            head="Jhakri Coronal +1",
    body="Jhakri Robe +1",
    hands="Jhakri Cuffs +1",
    legs="Jhakri Slops +1",
    feet="Jhakri Pigaches +1",
    neck="Incanter's Torque",
    waist="Windbuffet Belt +1",
    left_ear="Cessance Earring",
    right_ear="Brutal Earring",
    left_ring="Mouflon Ring",
    right_ring="Petrov Ring"}

    --------------------------------------
    -- Custom buff sets
    --------------------------------------
    sets.buff['Klimaform'] = {feet="Arbatel Loafers +1"}
   sets.buff.FullSublimation = {head="Acad. Mortarboard",
    body={ name="Pedagogy Gown", augments={'Enhances "Enlightenment" effect',}},
    left_ear="Savant's Earring"}
	sets.buff['Ebullience'] = {head="Arbatel Bonnet +1"}
    sets.buff['Rapture'] = {head="Arbatel Bonnet +1"}
    sets.buff['Perpetuance'] = {hands="Arbatel Bracers +1"}
    sets.buff['Immanence'] = {hands="Arbatel Bracers +1", back="Lugh's cape"}

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.skill == 'Elemental Magic' and (spell.element == world.weather_element or spell.element == world.day_element) then
       equip(sets.midcast['Elemental Magic'], {back="Twilight Cape",waist="Hachirin-no-Obi", feet="Arbatel Loafers +1"}) 
    end
end
function job_buff_change(buff, gain)
    if buff == "Sublimation: Activated" then
        handle_equipping_gear(player.status)
    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_state_change(stateField, newValue, oldValue)
    if stateField == 'Offense Mode' then
        if newValue == 'Normal' then
            enable('main','sub','range')
        else
            enable('main','sub','range')
        end
    end
end

-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------

-- function job_get_spell_map(spell, default_spell_map)
    -- if spell.action_type == 'Magic' then
        -- if spell.skill == 'Elemental Magic' then
            -- if info.low_nukes:contains(spell.english) then
                -- return 'LowTierNuke'
            -- elseif info.mid_nukes:contains(spell.english) then
                -- return 'MidTierNuke'
            -- elseif info.high_nukes:contains(spell.english) then
                -- return 'HighTierNuke'
            -- 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

    return idleSet
end

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 apply_grimoire_bonuses(spell, action, spellMap)
if (spell.skill == 'Elemental Magic' and world.weather_element == spell.element and state.Buff.Klimaform) then
       -- if state.Buff.Klimaform and spell.element == world.weather_element then
            equip(sets.buff['Klimaform'])
        end
		if state.Buff.Ebullience then equip(sets.buff['Ebullience']) end
		if state.Buff.Rapture then equip(sets.buff['Rapture']) end
		if state.Buff.Perpetuance then equip(sets.buff['Perpetuance']) end
		if state.Buff.Immanence then equip(sets.buff['Immanence']) end
    end
function update_sublimation()
    state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
end
-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
    display_current_caster_state()
    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()
    set_macro_page(1, 6)
end
 Odin.Speedyjim
Offline
サーバ: Odin
Game: FFXI
user: speedyjim
Posts: 177
By Odin.Speedyjim 2016-09-05 11:23:36  
Only difference with mine that I can spot is line 320, try swapping it to: spell.element == world.weather_element
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-09-05 12:43:42  
You are not actually calling the apply_grimoire_bonuses function, so it will never do anything. You should call it from the job_post_midcast function. You can replace the one you have with:
Code
function job_post_midcast(spell, action, spellMap, eventArgs)
    apply_grimoire_bonuses(spell, action, spellMap)
    if spell.skill == 'Elemental Magic' and (spell.element == world.weather_element or spell.element == world.day_element) then
        equip(sets.midcast['Elemental Magic'], {back="Twilight Cape",waist="Hachirin-no-Obi", feet="Arbatel Loafers +1"}) 
    end    
end
Offline
Posts: 73
By likard 2016-09-05 15:42:13  
That did it. Thank you. I don't remember deleting anything like that, which means the file I started with didn't have it. Odd, but it's working now.

Thanks.