BLM LUA Issue

Langues: JP EN DE FR
users online
Forum » FFXI » Jobs » Black Mage » BLM LUA issue
BLM LUA issue
Offline
Posts: 25
By Echodiz 2018-09-03 15:03:47
Link | Citer | R
 
I'm gonna sound crazy. It seems to be randomly, but I've been farming for some torques and I randomly can't cast spells. Then one or two of any number of spells I try to cast will suddenly work and I'll be fine again. I have no idea what this madness is but its crippling. Here's my lua for anyone who is kind enough to take a look and see if it's something in there.
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')
	include('organizer-lib')
end
 ---F9 - Cycle Offense Mode (the offensive half of all 'hybrid' melee modes).
--Ctrl-F9 - Cycle Hybrid Mode (the defensive half of all 'hybrid' melee modes).
--Alt-F9 - Cycle Ranged Mode.
--Win-F9 - Cycle Weaponskill Mode.
--F10 - Activate emergency Physical Defense Mode. Replaces Magical Defense Mode, if that was active.
--F11 - Activate emergency Magical Defense Mode. Replaces Physical Defense Mode, if that was active.
--Ctrl-F10 - Cycle type of Physical Defense Mode in use.
--Alt-F12 - Turns off any emergency defense mode.
--Alt-F10 - Toggles Kiting Mode.
--Ctrl-F11 - Cycle Casting Mode.
--F12 - Update currently equipped gear, and report current status.
--Ctrl-F12 - Cycle Idle Mode.
 
 

-- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
function job_setup()


end

-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job.  Recommend that these be overridden in a sidecar file.

organizer_items = {
    "Echo Drops",
   item="Coalition Ether",
   back="Bane Cape",
	"Mecisto. Mantle",
	"C. Snow Cone",
	"Fruit Parfait",
	"Coalition Ether",
	"Cream Puff",
	"Trizek Ring",
	"Coalition Ether",
	"Capacity Ring" }
-------------------------------------------------------------------------------------------------------------------

-- 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', 'Spaekona', 'Acumen', 'Burst', 'MPBurst', 'Death')
    state.IdleMode:options('Normal', 'Death', 'PDT')
    
    state.MagicBurst = M(false, 'Magic Burst')

    lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
        'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
        'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
        'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
        'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}

    gear.macc_hagondes = {name="Hagondes Cuffs +1"}
    
    -- Additional local binds
    send_command('bind ^` input /ma Stun <t>')
    send_command('bind @` gs c activate MagicBurst')

    select_default_macro_book()
end

-- Called when this job file is unloaded (eg: job change)
function user_unload()
    send_command('unbind ^`')
    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['Mana Wall'] = {feet="Wicce Sabots +1",
									back="Taranus's Cape"}

    sets.precast.JA.Manafont = {body="Sorcerer's Coat +2"}
    


    -- Fast cast sets for spells

    sets.precast.FC = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Impatiens",
										head="Nahtirah Hat",
										ear1="Enchanter earring +1",
										ear2="Loquacious Earring",
										body="Rosette Jaseran",
										hands="Helios Gloves",
										ring1="Prolix Ring",
										ring2="Weatherspoon Ring",
										back="Swith Cape +1",
										waist="Witful Belt",
										legs="Psycloth lappas",
										feet="Regal Pumps"}
										
	sets.precast.FC.Death = {			main="Lathi",
										sub="Niobid Strap",
										ammo="Impatiens",
										head="Merlinic Hood",
										ear1="Loquacious Earring",
										ear2="Enchanter Earring +1",
										neck="Weike Torque",
										body="Rosette Jaseran",
										hands="Helios Gloves",
										ring1="Mephitas's Ring",
										ring2="Weatherspoon Ring",
										back="Bane Cape",
										waist="Witful Belt",
										legs="Psycloth lappas",
										feet="Regal Pumps"}

    sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})

    sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
																	neck="Stoicheion Medal",
																	feet="Spaekona's Sabots",
																	body="Wicce Coat",
																	ear1="Barkaro. Earring",
																	head="Wicce Petasos"})

    sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris", back="Pahtli Cape"})

    sets.precast.FC.Curaga = sets.precast.FC.Cure

    
    ---- Midcast Sets ----

    sets.midcast.FastRecast = {
										main="Lathi",
										sub="Niobid Strap",
										head="Nahtirah Hat",
										ear1="Enchanter earring +1",
										ear2="Loquacious //Earring",
										body="Rosette Jaseran",
										hands="Hagondes cuffs +1",
										ring1="Prolix Ring",
										ring2="Weatherspoon Ring",
										back="Swith Cape +1",
										waist="Witful belt",
										legs="Hagondes Pants +1",
										feet="Helios Boots"}

    sets.midcast.Cure = {
										main="Lathi",
										sub="Niobid Strap",
										head="Nahtirah Hat",
										neck="Weike torque",
										ear1="Roundel Earring",
										ear2="Mendicant's Earring",
										body="Heka's Kalasiris",
										hands="Bokwus Gloves",
										ring1="Sangoma ring",
										ring2="Haoma's ring",
										back="Swith cape +1",
										waist="Witful belt",
										legs="Psycloth lappas",
										feet="Vanya Clogs"}

    sets.midcast.Curaga = sets.midcast.Cure

    sets.midcast['Enhancing Magic'] = {
										neck="Weike torque",
										body="Ischemia Chasuble",
										hands="Hagondes cuffs +1",
										head="Befouled Crown",
										waist="Olympus sash",
										legs="Portent Pants"}
    
    sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {legs="Haven hose"}, {waist="Siegel Sash"})

    sets.midcast['Enfeebling Magic'] = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Impatiens",
										head="Befouled Crown",
										neck="Imbodla necklace",
										ear1="Psystorm Earring",
										ear2="Lifestorm Earring",
										waist="Yamabuki-no-obi",
										body="Ischemia Chasuble",
										hands="Hagondes Cuffs +1",
										ring1="Strendu Ring",
										ring2="Sangoma Ring",
										back="Bane Cape",
										legs="Psycloth Lappas",
										feet="Helios Boots"}
        
    sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']

    sets.midcast['Dark Magic'] = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Impatiens",
										head="Nahtirah Hat",
										neck="Weike Torque",
										ear2="Enchanter earring +1",
										ear1="Lifestorm Earring",
										body="Hyksos Robe",
										hands="Yaoyotl Gloves",
										ring1="Strendu Ring",
										ring2="Sangoma Ring",
										back="Bane Cape",
										legs="Psycloth lappas",
										feet="Geotia Sabots +2"}

    sets.midcast.Drain = {
										main="Rubicundity",
										sub="Sors Shield",
										ammo="Sturm's Report",
										head="Nahtirah Hat",
										neck="Aesir Torque",
										ear1="Psystorm Earring",
										ear2="Lifestorm Earring",
										body="Hyksos Robe",
										hands="Yaoyotl Gloves",
										ring1="Excelsis Ring",
										ring2="Sangoma Ring",
										back="Bane Cape",
										waist="Fucho-no-Obi",
										legs="Helios Spats",
										feet="Merlinic Crackows"}
    
    sets.midcast.Aspir = sets.midcast.Drain

    sets.midcast.Stun = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Impatiens",
										head="Nahtirah Hat",
										neck="Weike Torque",
										ear1="Psystorm Earring",
										ear2="Lifestorm Earring",
										body="Ischemia Chasuble",
										hands="Hagondes Cuffs +1",
										ring1="Prolix Ring",
										ring2="Sangoma Ring",
										back="Bane Cape",
										waist="Yamabuki-no-obi",
										legs="Psycloth Lappas",
										feet="Wicce Sabots +1"}


    -- Elemental Magic sets
    --Default is for lower tier nukes--
    sets.midcast['Elemental Magic'] = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Merlinic Hood",
										neck="Eddy Necklace",
										ear1="Barkaro. Earring",
										ear2="Friomisi Earring",
										body="Jhakri Robe +1",
										hands="Amalric Gages",
										ring1="Strendu ring",
										ring2="Acumen Ring",
										back="Taranus's Cape",
										waist="Yamabuki-no-obi",
										legs="Merlinic Shalwar",
										feet="Merlinic Crackows"}

	sets.midcast['Elemental Magic'].Spaekona = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Merlinic Hood",
										neck="Eddy Necklace",
										ear1="Barkaro. Earring",
										ear2="Friomisi Earring",
										body="Spaekona's Coat +1",
										hands="Amalric Gages",
										ring1="Strendu ring",
										ring2="Acumen Ring",
										back="Taranus's Cape",
										waist="Yamabuki-no-obi",
										legs="Merlinic Shalwar",
										feet="Merlinic Crackows"}

										
										
    sets.midcast['Elemental Magic'].Acumen = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Merlinic Hood",
										neck="Eddy Necklace",
										ear1="Barkaro. Earring",
										ear2="Friomisi Earring",
										body="Jhakri Robe +1",
										hands="Amalric Gages",
										ring1="Acumen Ring",
										ring2="Strendu Ring",
										back="Taranus's Cape",
										waist="Yamabuki-no-obi",
										legs="Merlinic Shalwar",
										feet="Helios Boots"}

    sets.midcast['Elemental Magic'].HighTierNuke = {set_combine(sets.midcast['Elemental Magic']),

										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Merlinic Hood",
										neck="Eddy Necklace",
										ear1="Barkaro. Earring",
										ear2="Friomisi Earring",
										body="Jhakri Robe +1",
										hands="Amalric Gages",
										ring1="Strendu ring",
										ring2="Acumen Ring",
										back="Taranus's Cape",
										waist="Yamabuki-no-obi",
										legs="Merlinic Shalwar",
										feet="Merlinic Crackows"}
										
   -- sets.midcast['Elemental Magic'].HighTierNuke.Acumen = set_combine(sets.midcast['Elemental Magic'].Resistant, {sub="Niobid Strap"})


    -- Minimal damage gear for procs.
    sets.midcast['Elemental Magic'].Burst = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Merlinic Hood",
										neck="Mizukage-no-Kubikazari",
										ear1="Barkaro. Earring",
										ear2="Friomisi Earring",
										body="Jhakri Robe +1",
										hands="Amalric Gages",
										ring1="Locus Ring",
										ring2="Mujin Band",
										back="Taranus's Cape",
										waist="Yamabuki-no-obi",
										legs="Merlinic Shalwar",
										feet="Merlinic Crackows"}
										
	sets.midcast['Elemental Magic'].MPBurst = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Merlinic Hood",
										neck="Mizukage-no-Kubikazari",
										ear1="Barkaro. Earring",
										ear2="Friomisi Earring",
										body="Spaekona's Coat +1",
										hands="Amalric Gages",
										ring1="Locus Ring",
										ring2="Mujin Band",
										back="Taranus's Cape",
										waist="Yamabuki-no-obi",
										legs="Merlinic Shalwar",
										feet="Merlinic Crackows"}

	-- DEATH SET
	sets.midcast['Dark Magic'].Death = {				
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Pixie Hairpin +1",
										neck="Mizukage-no-Kubikazari",
										ear1="Barkaro. Earring",
										ear2="Friomisi Earring",
										body="Witching Robe",
										hands="Amalric Gages",
										ring1="Mephitas's Ring",
										ring2="Mephitas's Ring +1",
										back="Taranus's Cape",
										waist="Hachirin-no-Obi",
										legs="Merlinic Shalwar",
										feet="Merlinic Crackows"}
										
    
    -- Sets to return to when not performing an action.
    
    -- Resting sets
    sets.resting = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Impatiens",
										head="Hagondes Hat +1",
										neck="Twilight Torque",
										ear1="Lifestorm earring",
										ear2="Psystorm earring",
										body="Jhakri Robe +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Repulse Mantle",
										waist="Fucho-no-Obi",
										legs="Assiduity Pants +1",
										feet="Herald's Gaiters"}
    

    -- Idle sets
    
    -- Normal refresh idle set
    sets.idle = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Befouled Crown",
										neck="Twilight Torque",
										ear1="Barkaro. Earring",
										ear2="Infused Earring",
										body="Jhakri Robe +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Repulse Mantle",
										waist="Fucho-no-Obi",
										legs="Assiduity Pants +1",
										feet="Serpentes Sabots"}

    -- THIS SET IS ACTUALLY FOR DEATH IDLE
    sets.idle.Death = {
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Befouled Crown",
										neck="Twilight Torque",
										ear1="Barkaro. Earring",
										ear2="Influx Earring",
										body="Hagondes Coat +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Mephitas's Ring +1",
										back="Bane Cape",
										waist="Fucho-no-Obi",
										legs="Assiduity Pants +1",
										feet="Serpentes Sabots"}

	sets.idle.PDT = {					main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Hagondes Hat +1",
										neck="Twilight Torque",
										ear1="Barkaro. Earring",
										ear2="Infused Earring",
										body="Hagondes coat +1",
										hands="Hagondes Cuffs +1",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Repulse Mantle",
										waist="Fucho-no-Obi",
										legs="Assiduity Pants +1",
										feet="Hagondes Sabots +1"}
										
    -- Idle mode scopes:
    -- Idle mode when weak.
    sets.idle.Weak = {					main="Lathi",
										sub="Niobid Strap",
										ammo="Impatiens",
										head="Hagondes Hat +1",
										neck="Twilight Torque",
										ear1="Lifestorm earring",
										ear2="Infused Earring",
										body="Hagondes coat +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Repulse Mantle",
										waist="Fucho-no-Obi",
										legs="Assiduity Pants +1",
										feet="Serpentes Sabots"}
    
    -- Town gear.
    sets.idle.Town = {
	
										main="Lathi",
										sub="Niobid Strap",
										ammo="Dosis Tathlum",
										head="Merlinic Hood",
										neck="Eddy Necklace",
										ear1="Barkaro. Earring",
										ear2="Loquacious Earring",
										body="Councilor's garb",
										hands="Amalric Gages",
										ring1="Acumen Ring",
										ring2="Weatherspoon Ring",
										back="Taranus's Cape",
										waist="Yamabuki-no-obi",
										legs="Merlinic Shalwar",
										feet="Merlinic Crackows"}
        
    -- Defense sets

    sets.defense.PDT = {				
										main="Lathi",
										sub="Niobid Strap",
										ammo="Impatiens",
										head="Hagondes Hat +1",
										neck="Twilight Torque",
										ear1="Lifestorm earring",
										ear2="Psystorm earring",
										body="Hagondes coat +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Refraction Cape",
										waist="Fucho-no-Obi",
										legs="Assiduity Pants +1",
										feet="Hagondes Sabots +1"}

    sets.defense.MDT = {ammo="Impatiens",
        head="Nahtirah Hat",neck="Twilight Torque",
        body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Dark Ring", ring2="Dark Ring",
        back="Refraction Cape",waist="Hierarch Belt",legs="Bokwus Slops",feet="Hagondes Sabots +1"}

    sets.Kiting = {feet="Herald's Gaiters"}

    sets.latent_refresh = {waist="Fucho-no-obi"}

    -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
    
    sets.buff['Mana Wall'] = {			feet="Wicce Sabots +1",
										back="Taranus's Cape"}

    sets.magic_burst = {neck="Mizukage-no-Kubikazari"}
	
	    sets.midcast.BardSong = {main="Lathi",sub="Niobid Strap",ammo="Sturm's Report",
        head="Nahtirah Hat",neck="Weike Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
        body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
        back="Refraction Cape",legs="Bokwus Slops",feet="Helios Boots"}

    -- Engaged sets

    -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
    -- sets if more refined versions aren't defined.
    -- If you create a set with both offense and defense modes, the offense mode should be first.
    -- EG: sets.engaged.Dagger.Accuracy.Evasion
	
	 -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {
										head="Hagondes Hat",
										neck="Asperity Necklace",
										ear1="Bladeborn Earring",
										ear2="Steelflash Earring",
										body="Hagondes Coat +1",
										hands="Yaoyotl Gloves",
										ring1="Rajas Ring",
										ring2="Icesoul Ring",
										back="Repulse Mantle",
										waist="Cognition Belt",
										legs="Hagondes Pants +1",
										feet="Hagondes Sabots +1"}
	
	-- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Myrkr'] = {
	
								ammo="Dosis Tathlum",
								head="Pixie Hairpin +1",
								neck="Weike Torque",
								ear1="Gifted Earring",
								ear2="Influx Earring",
								body="Weatherspoon Robe",
								hands="Bokwus Gloves",
								ring1="Mephitas's Ring +1",
								ring2="Mephitas's Ring",
								back="Bane Cape",
								waist="Mujin Obi",
								legs="Psycloth Lappas",
								feet="Regal Pumps"}
    
    -- Normal melee group
    sets.engaged = {
        main="Magesmasher +1", head="Zelus Tiara",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Hagondes Coat",hands="Bokwus Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Umbra Cape",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------

-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
    if spellMap == 'Cure' or spellMap == 'Curaga' then
        gear.default.obi_waist = "Goading Belt"
    elseif spell.skill == 'Elemental Magic' then
        gear.default.obi_waist = "Sekhmet Corset"
        if state.CastingMode.value == 'Burst' then
            classes.CustomClass = 'Burst'
        end
    end
end


-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)

end

function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
        equip(sets.magic_burst)
    end
	if spell.english == 'Death' then
		equip(sets.midcast.Death)

end

end

function job_aftercast(spell, action, spellMap, eventArgs)
    -- Lock feet after using Mana Wall.
    if not spell.interrupted then
        if spell.english == 'Mana Wall' then
            enable('feet')
            equip(sets.buff['Mana Wall'])
            disable('feet')
        elseif spell.skill == 'Elemental Magic' then
            state.MagicBurst:reset()
        end
    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)
    -- Unlock feet when Mana Wall buff is lost.
    if buff == "Mana Wall" and not gain then
        enable('feet')
        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.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
        --[[ No real need to differentiate with current gear.
        if lowTierNukes:contains(spell.english) then
            return 'LowTierNuke'
        else
            return 'HighTierNuke'
        end
        --]]
    end
end

-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
    if player.mpp < 51 then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end
    
    return idleSet
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()
if player.sub_job == 'SCH' then
        set_macro_page(2, 15)
    elseif player.sub_job == 'RDM' then
        set_macro_page(2, 16)
    elseif player.sub_job == 'WHM' then
        set_macro_page(2, 14)
    else
        set_macro_page(2, 5)
		end
    end
Log in to post.