Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function get_sets()
- AccIndex = 1
- AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For Magic. Default ACC Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
- IdleIndex = 1
- IdleArray = {"Full","DT","Warp"} -- Default Idle Set Is Movement --
- Armor = 'None'
- StunIndex = 0
- Lock_Main = 'OFF' -- Set Default Lock Main Weapon ON or OFF Here --
- Obi = 'ON' -- Set Default Obi ON or OFF Here --
- Elemental_Staff = 'ON' -- Set Default Precast Elemental Staff ON or OFF Here --
- LowNuke = 'ON' -- Set Default Low Tier Nuke ON or OFF Here --
- MB = 'ON' -- Set Default MB ON or OFF Here --
- target_distance = 5 -- Set Default Distance Here --
- define_geomancy_values()
- send_command('input /macro book 1;wait .1;input /macro set 1') -- Change Default Macro Book Here --
- Cure_Spells = {"Cure","Cure II","Cure III","Cure IV"} -- Cure Degradation --
- Curaga_Spells = {"Curaga","Curaga II"} -- Curaga Degradation --
- -- Add or Remove Low Tier Spells Here --
- Low_Tier_Spells = S{
- 'Fire','Aero','Water','Blizzard','Stone','Thunder','Fire II','Aero II','Water II',
- 'Blizzard II','Stone II','Thunder II'}
- Non_Obi_Spells = S{
- 'Burn','Choke','Drown','Frost','Rasp','Shock','Impact','Anemohelix','Cryohelix',
- 'Geohelix','Hydrohelix','Ionohelix','Luminohelix','Noctohelix','Pyrohelix'}
- Cities = S{
- "Ru'lude Gardens","Upper Jeuno","Lower Jeuno","Port Jeuno",
- "Port Windurst","Windurst Waters","Windurst Woods","Windurst Walls","Heavens Tower",
- "Port San d'Oria","Northern San d'Oria","Southern San d'Oria",
- "Port Bastok","Bastok Markets","Bastok Mines","Metalworks",
- "Aht Urhgan Whitegate","Nashmau","Tavanazian Safehold",
- "Selbina","Mhaura","Norg","Eastern Adoulin","Western Adoulin","Kazham"}
- -- Augments --
- MABCape={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Spell interruption rate down-10%',}}
- PetCape={ name="Nantosuelta's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Pet: "Regen"+10','Pet: "Regen"+5',}}
- --------------------
- -- Key Binds Load --
- --------------------
- -- Key Bind Toggles (The Same for all my job files) (Ctrl Key) --
- send_command('bind ^D input //gs c pdt')
- send_command('bind ^I input //gs c idle')
- -- GEO (Mule) Job Ability Key Binds (Win Key) --
- send_command('bind @3 input //send oeogo //ja Radial Arcana <me>')
- send_command('bind @5 input //send oeogo //ma Refresh <me>')
- send_command('bind @7 input //send oeogo //ja Blaze of Glory <me>')
- send_command('bind @8 input //send oeogo //ja Ecliptic Attrition <me>')
- send_command('bind @9 input //send oeogo //ja Life Cycle <me>')
- send_command('bind @0 input //send oeogo //ja Lasting Emanation <me>')
- -- GEO (Mule) Nuke Key Binds (Win Key) --
- send_command('bind @F1 input //send oeogo /ma Aero V <t>;pause 0.5;input //send oeogo /ma Aero IV <t>;pause 0.5;input //send oeogo /ma Aero III <t>;')
- send_command('bind @F2 input //send oeogo /ma Fire V <t>;pause 0.5;input //send oeogo /ma Fire IV <t>;pause 0.5;input //send oeogo /ma Fire III <t>;')
- send_command('bind @F3 input //send oeogo /ma Thunder V <t>;pause 0.5;input //send oeogo /ma Thunder IV <t>;pause 0.5;input //send oeogo /ma Thunder III <t>;')
- send_command('bind @F4 input //send oeogo /ma Stone V <t>;pause 0.5;input //send oeogo /ma Stone IV <t>;pause 0.5;input //send oeogo /ma Stone III <t>;')
- send_command('bind @F5 input //send oeogo /ma Water V <t>;pause 0.5;input //send oeogo /ma Water IV <t>;pause 0.5;input //send oeogo /ma Water III <t>;')
- send_command('bind @F6 input //send oeogo /ma Blizzard V <t>;pause 0.5;input //send oeogo /ma Blizzard IV <t>;pause 0.5;input //send oeogo /ma Blizzard III <t>;')
- -- GEO (Mule) Indicolure Spells (Win Key) --
- send_command('bind @1 input //send oeogo /ma Indi-Regen <me>')
- send_command('bind @2 input //send oeogo /ma Indi-Refresh <me>')
- send_command('bind @D input //send oeogo /ma Indi-DEX <me>')
- send_command('bind @A input //send oeogo /ma Indi-Acumen <me>')
- send_command('bind @F input //send oeogo /ma Indi-Fury <me>')
- send_command('bind @H input //send oeogo /ma Indi-Haste <me>')
- send_command('bind @K input //send oeogo /ma Indi-Focus <me>')
- send_command('bind @P input //send oeogo /ma Indi-Precision <me>')
- send_command('bind @Q input //send oeogo /ma Indi-Barrier <me>')
- send_command('bind @S input //send oeogo /ma Indi-STR <me>')
- send_command('bind @V input //send oeogo /ma Indi-Attunement <me>')
- -- GEO (Mule) Geocolure Spells (Alt+Win Keys) --
- send_command('bind !@1 input //send oeogo /ma Geo-Regen <me>')
- send_command('bind !@2 input //send oeogo /ma Geo-Refresh <me>')
- send_command('bind !@A input //send oeogo /ma Geo-Malaise <t>')
- send_command('bind !@D input //send oeogo /ma Geo-DEX <me>')
- send_command('bind !@F input //send oeogo /ma Geo-Frailty <t>')
- send_command('bind !@H input //send oeogo /ma Geo-Haste <me>')
- send_command('bind !@K input //send oeogo /ma Geo-Languor <t>')
- send_command('bind !@P input //send oeogo /ma Geo-Torpor <t>') --
- send_command('bind !@Q input //send oeogo /ma Geo-Wilt <t>') --
- send_command('bind !@S input //send oeogo /ma Geo-STR <me>')
- send_command('bind !@V input //send oeogo /ma Geo-Vex <t>')
- -- GEO (Mule) Entrust Indicolure Spells (Ctrl+Win Keys) --
- send_command('bind ^@1 input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Regen Arnan')
- send_command('bind ^@2 input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Refresh Arnan')
- send_command('bind ^@A input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Acumen Arnan')
- send_command('bind ^@D input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-DEX Arnan')
- send_command('bind ^@F input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Fury Arnan')
- send_command('bind ^@H input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Haste Arnan')
- send_command('bind ^@K input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Focus Arnan')
- send_command('bind ^@P input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Precision Arnan')
- send_command('bind ^@Q input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Barrier Arnan')
- send_command('bind ^@S input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-STR Arnan')
- send_command('bind ^@V input //send oeogo //ja Entrust <me>;pause 2;input //send oeogo /ma Indi-Attunement Arnan')
- ----------------------
- -- Key Binds Unload --
- ----------------------
- function file_unload()
- -- Unbind Toggles --
- send_command('unbind ^D')
- send_command('unbind ^I')
- -- Unbind GEO JA's --
- send_command('unbind @3')
- send_command('unbind @5')
- send_command('unbind @7')
- send_command('unbind @8')
- send_command('unbind @9')
- send_command('unbind @0')
- -- Unbind GEO Nukes --
- send_command('unbind @F1')
- send_command('unbind @F2')
- send_command('unbind @F3')
- send_command('unbind @F4')
- send_command('unbind @F5')
- send_command('unbind @F6')
- -- Unbind GEO Indi Spells --
- send_command('unbind @1')
- send_command('unbind @2')
- send_command('unbind @A')
- send_command('unbind @D')
- send_command('unbind @F')
- send_command('unbind @H')
- send_command('unbind @K')
- send_command('unbind @P')
- send_command('unbind @Q')
- send_command('unbind @S')
- send_command('unbind @V')
- -- Unbind GEO Geocolure Spells --
- send_command('unbind !@1')
- send_command('unbind !@2')
- send_command('unbind !@A')
- send_command('unbind !@D')
- send_command('unbind !@F')
- send_command('unbind !@H')
- send_command('unbind !@K')
- send_command('unbind !@P')
- send_command('unbind !@Q')
- send_command('unbind !@S')
- send_command('unbind !@V')
- -- Unbind GEO Entrust Spells --
- send_command('unbind ^@1')
- send_command('unbind ^@2')
- send_command('unbind ^@A')
- send_command('unbind ^@D')
- send_command('unbind ^@F')
- send_command('unbind ^@H')
- send_command('unbind ^@K')
- send_command('unbind ^@P')
- send_command('unbind ^@Q')
- send_command('unbind ^@S')
- send_command('unbind ^@V')
- end
- sets.Idle = {
- sub="Genmei Shield",
- range="Dunna",
- head="Merlinic Hood",
- neck="Loricate Torque +1",
- ear1="Etiolation Earring",
- ear2="Moonshade Earring",
- body="Jhakri Robe +2",
- hands="Merlinic Dastanas",
- ring1="Defending Ring",
- ring2="Vocane Ring",
- back="Moonbeam Cape",
- waist="Isa Belt",
- legs="Assid. Pants +1",
- feet="Geo. Sandals +3"}
- sets.Idle.Full = set_combine(sets.Idle,{})
- sets.Idle.DT = set_combine(sets.Idle,{})
- sets.Idle.Warp = set_combine(sets.Idle,{
- ring2="Warp Ring"})
- -- Luopan Set (Automaticly switches from Idle set when a GEO luopan is active) --
- sets.Luopan = {
- sub="Genmei Shield",
- range="Dunna",
- head="Telchine Cap",
- neck="Loricate Torque +1",
- ear1="Etiolation Earring",
- ear2="Odnowa Earring +1",
- body="Mallquis Saio +2",
- hands="Telchine Gloves",
- ring1="Defending Ring",
- ring2="Vocane Ring",
- back=PetCape,
- waist="Isa Belt",
- legs="Telchine Braconi",
- feet="Telchine Pigaches"}
- sets.Resting = set_combine(sets.Idle.Movement,{})
- -- PDT Set --
- sets.PDT = {
- sub="Genmei Shield",
- head="Telchine Cap",
- neck="Loricate Torque +1",
- ear1="Etiolation Earring",
- ear2="Odnowa Earring +1",
- body="Mallquis Saio +2",
- hands="Geo. Mitaines +2",
- ring1="Defending Ring",
- ring2="Vocane Ring",
- back="Moonbeam Cape",
- waist="Isa Belt",
- legs="Telchine Braconi",
- feet="Mallquis Clogs +1"}
- sets.Precast = {
- sub="Genmei Shield",
- head="Amalric Coif",
- neck="Loricate Torque +1",
- ear1="Etiolation Earring",
- ear2="Loquac. Earring",
- body="Shango Robe",
- hands="Geo. Mitaines +2",
- ring1="Lebeche Ring",
- ring2="Prolix Ring",
- back="Lifestream Cape",
- waist="Witful Belt",
- legs="Geomancy Pants +2",
- feet="Amalric Nails"}
- -- FastCast Set --
- sets.Precast.FastCast = set_combine(sets.Precast,{})
- -- Geomancy Precast --
- sets.Precast.GeoCast = set_combine(sets.Precast,{})
- -- Elemental Staves --
- sets.Precast.Lightning = {}
- sets.Precast.Water = {}
- sets.Precast.Fire = {}
- sets.Precast.Ice = {}
- sets.Precast.Wind = {}
- sets.Precast.Earth = {}
- sets.Precast.Light = {}
- sets.Precast.Dark = {}
- -- Precast Enhancing Magic --
- sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{})
- -- Precast Elemental Magic --
- sets.Precast['Elemental Magic'] = set_combine(sets.Precast.FastCast,{
- ear2="Barkaro. Earring",
- body="Mallquis Saio +2",
- hands="Bagua Mitaines +1",
- feet="Mallquis Clogs +1"})
- -- Precast Cure Set --
- sets.Precast.Cure = {}
- -- Midcast Base Set --
- sets.Midcast = {
- sub="Genmei Shield",
- head="Vanya Hood",
- neck="Loricate Torque +1",
- ear1="Mendi. Earring",
- ear2="Gifted Earring",
- body="Vanya Robe",
- hands="Vanya Cuffs",
- ring1="Defending Ring",
- ring2="Vocane Ring",
- back="Thauma. Cape",
- waist="Austerity Belt",
- legs="Vanya Slops",
- feet="Amalric Nails"}
- -- Midcast Geocolure Set --
- sets.Midcast.Geocolure = set_combine(sets.Midcast,{
- neck="Incanter's Torque",
- ring2="Stikini Ring"})
- -- Midcast Indicolure Set --
- sets.Midcast.Indicolure = set_combine(sets.Midcast,{
- neck="Incanter's Torque",
- ring2="Stikini Ring",
- back="Nantosuelta's Cape",
- legs="Bagua Pants +1",
- feet="Azimuth Gaiters +1"})
- -- Cure Set --
- sets.Midcast.Cure = set_combine(sets.Midcast,{
- head="Vanya Hood",
- neck="Incanter's Torque",
- ear1="Mendi. Earring",
- hands="Bokwus Gloves",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back="Solemnity Cape"})
- -- Curaga Set --
- sets.Midcast.Curaga = set_combine(sets.Midcast,{
- head="Vanya Hood",
- neck="Incanter's Torque",
- ear1="Mendi. Earring",
- hands="Bokwus Gloves",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back="Solemnity Cape"})
- -- Haste Set --
- sets.Midcast.Haste = set_combine(sets.Midcast,{})
- -- Enhancing Set --
- sets.Midcast['Enhancing Magic'] = set_combine(sets.Midcast,{
- sub="Ammurapi Shield",
- head="Befouled Crown",
- neck="Incanter's Torque",
- body="Telchine Chas.",
- ring1="Stikini Ring",
- ring2="Stikini Ring"})
- -- Stoneskin Set --
- sets.Midcast.Stoneskin = set_combine(sets.Midcast['Enhancing Magic'],{})
- -- Cursna Set --
- sets.Midcast.Cursna = set_combine(sets.Midcast,{})
- -- Stun Sets --
- sets.Midcast.Stun = {
- sub="Ammurapi Shield",
- head="Geo. Galero +2",
- neck="Incanter's Torque",
- ear1="Barkaro. Earring",
- ear2="Gwati Earring",
- body="Geomancy Tunic +2",
- hands="Geo. Mitaines +2",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back=MABCape,
- waist="Othila Sash",
- legs="Geomancy Pants +2",
- feet="Geo. Sandals +3"}
- sets.Midcast.Stun.MidACC = set_combine(sets.Midcast.Stun,{})
- sets.Midcast.Stun.HighACC = set_combine(sets.Midcast.Stun.MidACC,{})
- -- Dark Magic Sets --
- sets.Midcast['Dark Magic'] = {
- sub="Ammurapi Shield",
- head="Geo. Galero +2",
- neck="Incanter's Torque",
- ear1="Barkaro. Earring",
- ear2="Gwati Earring",
- body="Geomancy Tunic +2",
- hands="Geo. Mitaines +2",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back=MABCape,
- waist="Othila Sash",
- legs="Geomancy Pants +2",
- feet="Geo. Sandals +3"}
- sets.Midcast['Dark Magic'].MidACC = set_combine(sets.Midcast['Dark Magic'],{})
- sets.Midcast['Dark Magic'].HighACC = set_combine(sets.Midcast['Dark Magic'].MidACC,{})
- -- Aspir Set --
- sets.Midcast.Aspir = {
- sub="Ammurapi Shield",
- head="Bagua Galero +1",
- neck="Incanter's Torque",
- ear1="Barkaro. Earring",
- ear2="Gwati Earring",
- body="Geomancy Tunic +2",
- hands="Geo. Mitaines +2",
- ring1="Stikini Ring",
- ring2="Evanescence Ring",
- back=MABCape,
- waist="Othila Sash",
- legs="Geomancy Pants +2",
- feet="Geo. Sandals +3"}
- -- Drain Set --
- sets.Midcast.Drain = {
- sub="Ammurapi Shield",
- head="Bagua Galero +1",
- neck="Incanter's Torque",
- ear1="Barkaro. Earring",
- ear2="Gwati Earring",
- body="Geomancy Tunic +2",
- hands="Geo. Mitaines +2",
- ring1="Stikini Ring",
- ring2="Evanescence Ring",
- back=MABCape,
- waist="Othila Sash",
- legs="Geomancy Pants +2",
- feet="Geo. Sandals +3"}
- -- Low Tier Set --
- sets.LowNuke = {
- sub="Ammurapi Shield",
- head="Mall. Chapeau +2",
- neck="Sanctity Necklace",
- ear1="Barkaro. Earring",
- ear2="Friomisi Earring",
- body="Mallquis Saio +2",
- hands="Mallquis Cuffs +1",
- ring1="Acumen Ring",
- ring2="Mallquis Ring",
- back=MABCape,
- waist="Othila Sash",
- legs="Mallquis Trews +1",
- feet="Mallquis Clogs +1"}
- -- MB Set --
- sets.MB = {
- sub="Ammurapi Shield",
- head="Ea Hat",
- neck="Mizu. Kubikazari",
- ear1="Barkaro. Earring",
- ear2="Friomisi Earring",
- body="Ea Houppelande",
- hands="Ea Cuffs",
- ring1="Acumen Ring",
- ring2="Mujin Band",
- back=MABCape,
- waist="Othila Sash",
- legs="Ea Slops",
- feet="Ea Pigaches"}
- -- Elemental Sets --
- sets.Midcast['Elemental Magic'] = {
- sub="Ammurapi Shield",
- head="Jhakri Coronal +2",
- neck="Sanctity Necklace",
- ear1="Barkaro. Earring",
- ear2="Friomisi Earring",
- body="Jhakri Robe +2",
- hands="Jhakri Cuffs +2",
- ring1="Acumen Ring",
- ring2="Shiva Ring",
- back=MABCape,
- waist="Othila Sash",
- legs="Jhakri Slops +2",
- feet="Jhakri Pigaches +2"}
- sets.Midcast['Elemental Magic'].MidACC = set_combine(sets.Midcast['Elemental Magic'],{})
- sets.Midcast['Elemental Magic'].HighACC = set_combine(sets.Midcast['Elemental Magic'].MidACC,{})
- -- Enfeebling Sets --
- sets.Midcast['Enfeebling Magic'] = {
- sub="Ammurapi Shield",
- head="Geo. Galero +2",
- neck="Incanter's Torque",
- ear1="Barkaro. Earring",
- ear2="Gwati Earring",
- body="Geomancy Tunic +2",
- hands="Geo. Mitaines +2",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back=MABCape,
- waist="Othila Sash",
- legs="Geomancy Pants +2",
- feet="Geo. Sandals +3"}
- sets.Midcast['Enfeebling Magic'].MidACC = set_combine(sets.Midcast['Enfeebling Magic'],{})
- sets.Midcast['Enfeebling Magic'].HighACC = set_combine(sets.Midcast['Enfeebling Magic'].MidACC,{})
- -- Impact Set --
- sets.Midcast.Impact = {}
- -- Refresh --
- sets.Midcast.Refresh = set_combine(sets.Midcast,{
- head="Amalric Coif",
- feet="Inspirited Boots"})
- -- Elemental Obi --
- sets.Obi = {waist="Hachirin-no-Obi"}
- sets.Obi.Lightning = {waist="Hachirin-no-Obi"}
- sets.Obi.Water = {waist="Hachirin-no-Obi"}
- sets.Obi.Fire = {waist="Hachirin-no-Obi"}
- sets.Obi.Ice = {waist="Hachirin-no-Obi"}
- sets.Obi.Wind = {waist="Hachirin-no-Obi"}
- sets.Obi.Earth = {waist="Hachirin-no-Obi"}
- sets.Obi.Light = {waist="Hachirin-no-Obi"}
- sets.Obi.Dark = {waist="Hachirin-no-Obi"}
- -- JA Sets --
- sets.JA = {}
- sets.JA['Life Cycle'] = {body="Geomancy Tunic +2",back="Nantosuelta's Cape"}
- sets.JA.Bolster = {body="Bagua Tunic +1"}
- sets.JA['Radial Arcana'] = {feet="Bagua Sandals +1"}
- sets.JA['Mending Halation'] = {feet="Bagua Pants +1"}
- sets.JA['Full Circle'] = {head="Azimuth Hood +1"}
- -- Melee Set --
- sets.Melee = {}
- -- WS Base Set --
- sets.WS = {}
- sets.WS.Exudation = {}
- sets.WS["Hexa Strike"] = {}
- sets.WS.Realmrazer = {}
- sets.WS.Shattersoul = {}
- sets.WS.Cataclysm = {
- head="Jhakri Coronal +2",
- neck="Sanctity Necklace",
- ear1="Barkaro. Earring",
- ear2="Friomisi Earring",
- body="Jhakri Robe +2",
- hands="Jhakri Cuffs +2",
- ring1="Acumen Ring",
- ring2="Shiva Ring",
- back=MABCape,
- waist="Othila Sash",
- legs="Jhakri Slops +2",
- feet="Jhakri Pigaches +2"}
- -- Idle Reive Set --
- sets.Reive = {neck="Arciela's Grace +1"}
- end
- function pretarget(spell,action)
- if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
- cancel_spell()
- send_command('input /item "Echo Drops" <me>')
- elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
- cancel_spell()
- add_to_chat(123, spell.name..' Canceled: [Out of Range]')
- return
- elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then
- degrade_spell(spell,Cure_Spells)
- elseif spell.english:ifind("Curaga") and player.mp<actualCost(spell.mp_cost) then
- degrade_spell(spell,Curaga_Spells)
- elseif spell.english:startswith('Geo') and pet.isvalid then -- Change Any Geo Spells To Full Circle If You Have A Luopan Active --
- cancel_spell()
- send_command('input /ja "Full Circle" <me>')
- elseif buffactive['Light Arts'] or buffactive['Addendum: White'] then
- if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
- cancel_spell()
- send_command('input /ja Addendum: White <me>')
- elseif spell.english == "Manifestation" then
- cancel_spell()
- send_command('input /ja Accession <me>')
- elseif spell.english == "Alacrity" then
- cancel_spell()
- send_command('input /ja Celerity <me>')
- elseif spell.english == "Parsimony" then
- cancel_spell()
- send_command('input /ja Penury <me>')
- end
- elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
- if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
- cancel_spell()
- send_command('input /ja Addendum: Black <me>')
- elseif spell.english == "Accession" then
- cancel_spell()
- send_command('input /ja Manifestation <me>')
- elseif spell.english == "Celerity" then
- cancel_spell()
- send_command('input /ja Alacrity <me>')
- elseif spell.english == "Penury" then
- cancel_spell()
- send_command('input /ja Parsimony <me>')
- end
- end
- end
- function precast(spell,action)
- if spell.action_type == 'Magic' then
- if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
- cancel_spell()
- add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
- return
- else
- if spell.type == "Geomancy" then
- if Cities:contains(world.area) then
- cancel_spell()
- add_to_chat(123,'Unable To Use Geomancy In Town')
- return
- else
- display_geomancy_info(spell)
- equip(sets.Precast.GeoCast)
- end
- elseif spell.english:startswith('Cur') and spell.english ~= "Cursna" then
- equip(sets.Precast.Cure)
- elseif spell.english == "Impact" then
- equip(set_combine(sets.Precast.FastCast,{body="Twilight Cloak"}))
- elseif spell.english == 'Utsusemi: Ni' then
- if buffactive['Copy Image (3)'] then
- cancel_spell()
- add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
- return
- else
- equip(sets.Precast.FastCast)
- end
- elseif sets.Precast[spell.skill] then
- equip(sets.Precast[spell.skill])
- else
- equip(sets.Precast.FastCast)
- end
- end
- elseif spell.type == "WeaponSkill" then
- if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
- cancel_spell()
- add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
- return
- else
- if sets.WS[spell.english] then
- equip(sets.WS[spell.english])
- end
- end
- elseif spell.type == "JobAbility" then
- if sets.JA[spell.english] then
- equip(sets.JA[spell.english])
- end
- elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
- cast_delay(0.2)
- send_command('cancel Sneak')
- end
- if sets.Precast[spell.element] and Elemental_Staff == 'ON' then
- equip(sets.Precast[spell.element])
- end
- if StunIndex == 1 then
- equip(sets.Midcast.Stun)
- end
- end
- function midcast(spell,action)
- equipSet = {}
- if spell.action_type == 'Magic' then
- equipSet = sets.Midcast
- if spell.type == "Geomancy" then
- if spell.english:startswith('Indi') then
- equipSet = equipSet.Indicolure
- else
- equipSet = equipSet.Geocolure
- end
- elseif spell.english:startswith('Cur') and spell.english ~= "Cursna" then
- if spell.english:startswith('Cure') then
- equipSet = equipSet.Cure
- elseif spell.english:startswith('Cura') then
- equipSet = equipSet.Curaga
- end
- if world.day_element == spell.element or world.weather_element == spell.element then
- equipSet = set_combine(equipSet,{})
- end
- elseif spell.english:startswith('Banish') then
- equipSet = set_combine(equipSet.Haste,{})
- elseif spell.english == "Stoneskin" then
- if buffactive.Stoneskin then
- send_command('@wait 2.8;cancel stoneskin')
- end
- equipSet = equipSet.Stoneskin
- elseif spell.english == "Sneak" then
- if spell.target.name == player.name and buffactive['Sneak'] then
- send_command('cancel sneak')
- end
- equipSet = equipSet.Haste
- elseif spell.english:startswith('Aspir') then
- equipSet = equipSet.Aspir
- elseif spell.english == "Drain" then
- equipSet = equipSet.Drain
- elseif spell.english:startswith('Utsusemi') then
- if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then
- send_command('@wait 1.7;cancel Copy Image*')
- end
- equipSet = equipSet.Haste
- elseif spell.english == 'Monomi: Ichi' then
- if buffactive['Sneak'] then
- send_command('@wait 1.7;cancel sneak')
- end
- equipSet = equipSet.Haste
- elseif Low_Tier_Spells:contains(spell.english) and LowNuke == 'ON' then
- equipSet = set_combine(equipSet,sets.LowNuke)
- elseif spell.skill == 'Elemental Magic' and MB == 'ON' then
- equipSet = set_combine(equipSet,sets.MB)
- else
- if equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- end
- if equipSet[spell.skill] then
- equipSet = equipSet[spell.skill]
- end
- if equipSet[AccArray[AccIndex]] then
- equipSet = equipSet[AccArray[AccIndex]]
- end
- if equipSet[spell.type] then
- equipSet = equipSet[spell.type]
- end
- if (spell.skill == 'Elemental Magic' or spell.english:startswith('Cur') or spell.english:startswith('Bio') or spell.english:startswith('Dia') or spell.english == 'Aspir' or spell.english == 'Drain') and not Non_Obi_Spells:contains(spell.english) and (world.day_element == spell.element or world.weather_element == spell.element) and sets.Obi[spell.element] and Obi == 'ON' and spell.english ~= "Cursna" then -- Use Obi Toggle To Equip Normal Waist Gear --
- equipSet = set_combine(equipSet,sets.Obi[spell.element])
- end
- end
- elseif equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- end
- equip(equipSet)
- if StunIndex == 1 then
- equip(sets.Midcast.Stun)
- end
- end
- function aftercast(spell,action)
- if not spell.interrupted then
- if spell.english == "Sleep II" then-- Sleep II Countdown --
- send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
- elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
- send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
- elseif spell.english == "Banish II" then -- Banish II Countdown --
- send_command('wait 20;input /echo Banish Effect: [WEARING OFF IN 10 SEC.]')
- end
- end
- status_change(player.status)
- end
- function status_change(new,old)
- if Armor == 'PDT' then
- equip(sets.PDT)
- elseif pet.isvalid then -- Equip Luopan Set when a GEO Luopan is active --
- equip(sets.Luopan)
- elseif new == 'Engaged' then
- equip(sets.Melee)
- elseif new == 'Idle' then
- equipSet = sets.Idle
- if equipSet[IdleArray[IdleIndex]] then
- equipSet = equipSet[IdleArray[IdleIndex]]
- end
- if buffactive['Reive Mark'] then -- Equip Arciela's Grace +1 During Reive --
- equipSet = set_combine(equipSet,sets.Reive)
- end
- if world.area:endswith('Adoulin') then
- equipSet = set_combine(equipSet,{})
- end
- equip(equipSet)
- elseif new == 'Resting' then
- equip(sets.Resting)
- end
- if StunIndex == 1 then
- equip(sets.Midcast.Stun)
- end
- end
- function buff_change(buff,gain,buff_table)
- buff = string.lower(buff)
- if buff == 'weakness' then -- Weakness Timer --
- if gain then
- send_command('timers create "Weakness" 300 up')
- else
- send_command('timers delete "Weakness"')
- end
- elseif buff_table['id'] == 612 then -- Indi Spell --
- if not gain then
- send_command('input /tell Arnan >>>>>>>>>> Your Indi Spell wore off. <<<<<<<<<<')
- end
- end
- if not midaction() then
- status_change(player.status)
- end
- end
- -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
- function self_command(command)
- if command == 'acc' then -- Magic Accuracy Toggle --
- AccIndex = (AccIndex % #AccArray) + 1
- add_to_chat(155,'Magic Accuracy Level: ' .. AccArray[AccIndex])
- status_change(player.status)
- elseif command == 'stun' then -- Stun Toggle --
- if StunIndex == 1 then
- StunIndex = 0
- add_to_chat(123,'Stun Set: [Unlocked]')
- else
- StunIndex = 1
- add_to_chat(158,'Stun Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'update' then -- Auto Update Gear Toggle --
- status_change(player.status)
- add_to_chat(155,'Auto Update Gear')
- elseif command == 'C3' then -- Obi Toggle --
- if Obi == 'ON' then
- Obi = 'OFF'
- add_to_chat(123,'Obi: [OFF]')
- else
- Obi = 'ON'
- add_to_chat(158,'Obi: [ON]')
- end
- status_change(player.status)
- elseif command == 'pdt' then -- PDT Toggle --
- if Armor == 'PDT' then
- Armor = 'None'
- add_to_chat(123,'PDT Set: [Unlocked]')
- else
- Armor = 'PDT'
- add_to_chat(158,'PDT Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'lownuke' then -- LowNuke Toggle --
- if LowNuke == 'ON' then
- LowNuke = 'OFF'
- add_to_chat(123,'Low Nuke: [OFF]')
- else
- LowNuke = 'ON'
- add_to_chat(158,'Low Nuke: [ON]')
- end
- status_change(player.status)
- elseif command == 'mb' then -- MB Toggle --
- if MB == 'ON' then
- MB = 'OFF'
- add_to_chat(123,'MB: [OFF]')
- else
- MB = 'ON'
- add_to_chat(158,'MB: [ON]')
- end
- status_change(player.status)
- elseif command == 'mainlock' then -- Lock Main Weapon Toggle --
- if Lock_Main == 'ON' then
- Lock_Main = 'OFF'
- add_to_chat(123,'Main Weapon: [Unlocked]')
- else
- Lock_Main = 'ON'
- add_to_chat(158,'Main Weapon: [Locked]')
- end
- status_change(player.status)
- elseif command == 'distance' then -- Distance Toggle --
- if player.target.distance then
- target_distance = math.floor(player.target.distance*10)/10
- add_to_chat(155,'Distance: '..target_distance)
- else
- add_to_chat(123,'No Target Selected')
- end
- elseif command == 'idle' then -- Idle Toggle --
- IdleIndex = (IdleIndex % #IdleArray) + 1
- add_to_chat(155,'Idle Set: '..IdleArray[IdleIndex])
- status_change(player.status)
- elseif command:match('^SC%d$') then
- send_command('//' .. sc_map[command])
- end
- end
- function actualCost(originalCost)
- if buffactive["Penury"] then
- return originalCost*.5
- elseif buffactive["Light Arts"] then
- return originalCost*.9
- else
- return originalCost
- end
- end
- function degrade_spell(spell,degrade_array)
- spell_index = table.find(degrade_array,spell.name)
- if spell_index > 1 then
- new_spell = degrade_array[spell_index - 1]
- change_spell(new_spell,spell.target.raw)
- add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..new_spell..' instead.')
- end
- end
- function change_spell(spell_name,target)
- cancel_spell()
- send_command('//'..spell_name..' '..target)
- end
- function define_geomancy_values()
- geomancy = {
- Frailty = {bonus="Defense Down"},
- Torpor = {bonus="Evasion Down"},
- Languor = {bonus="Magic Evasion Down"},
- Focus = {bonus="Magic Accuracy"},
- Malaise = {bonus="Magic Defense Down"},
- Precision = {bonus="Accuracy"},
- Refresh = {bonus="Refresh"},
- Fade = {bonus="Magic Attack Down"},
- Wilt = {bonus="Attack Down"},
- Vex = {bonus="Magic Accuracy Down"},
- Slip = {bonus="Accuracy Down"},
- Acumen = {bonus="Magic Attack"},
- Fend = {bonus="Magic Defense"},
- Fury = {bonus="Attack"},
- Attunement = {bonus="Magic Evasion"},
- Voidance = {bonus="Evasion"},
- Barrier = {bonus="Defense"},
- Haste = {bonus="Haste"}
- }
- end
- function display_geomancy_info(spell)
- geoType=nil
- string.gsub(spell.english.."-","-(.-)-",function(geo) geoType=geo end)
- geoInfo = geomancy[geoType]
- if geoInfo then
- add_to_chat(155, spell.english..' = '..tostring(geoInfo.bonus))
- end
- end
- --- Luopan Notifier ---
- function pet_change(pet,gain_or_loss)
- status_change(player.status)
- if not gain_or_loss then
- add_to_chat(123,'Your luopan has vanished.')
- send_command('input /tell Arnan >>>>>>>>>> Your Luopan has vanished. <<<<<<<<<<')
- end
- end
- function job_aftercast(spell, action, spellMap, eventArgs)
- if not spell.interrupted then
- if spell.english:startswith('Indi') then
- if spell.target.type == 'SELF' then
- last_indi = spell.name
- end
- elseif spell.english:startswith('Geo') then
- last_geo = spell.name
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement