Skip to content

A LuAshitacast engine for those allergic to Lua.

Notifications You must be signed in to change notification settings

Azu-XI/miniswap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MiniSwap

MiniSwap is a LuAshitacast engine for those allergic to Lua.
Its simplicity comes at a cost though, there's no fancy automatic Treasure Hunter tagging or Haste calculation.

Important

  1. I mostly play on CatsEyeXI, there could be some incompatibilities if you are playing on a different server.
  2. I do not play all the jobs, so it might be missing a few key things for some jobs.
  3. Although I did not have any issue so far, it might not be the most performant code around, both for gear processing and GUI (which use imgui, probably overkill for this use case but easier to code).

Thanks to Thorny for the amazing LuAshitacast, and Jyouya and avogadro-war for publishing their own lua and providing some inspiration.

Getting Started

  1. Copy the common/miniswap.lua file to your ashita/config/addons/LuAshitacast/common/ folder.
  2. In game, use /lac newlua to create a profile for your job.
  3. Locate the newly created file, it should be under ashita/config/addons/LuAshitacast/YourName_00000/JOB.lua where 00000 is your character ID and JOB the job you were on.
  4. Replace the content of the file with the following:
local profile = gFunc.LoadFile('common/miniswap.lua');

-- Add job gear sets, aliases and bindings here.

return profile;

Gear Sets

There's no fancy lua function to write to swap gear. Simply declare sets with a specific name and it will be used automatically.

How to declare a set:

profile.Sets.SetName = {
    Main  = 'Lathi',
    Sub   = 'Enki Strap',
    Ammo  = 'Staunch Tathlum +1',
    Head  = 'Befouled Crown',
    Neck  = 'Loricate Torque +1',
    Ear1  = 'Hearty Earring',
    Ear2  = 'Etiolation Earring',
    Body  = 'Amalric Doublet +1',
    Hands = 'Amalric Gages +1',
    Ring1 = 'Defending Ring',
    Ring2 = 'Shneddick Ring',
    Back  = 'Moonlight Cape',
    Waist = 'Fucho-no-Obi',
    Legs  = { Name = 'Psycloth Lappas', AugPath='D' },
    Feet  = { Name = 'Merlinic Crackows', Augment = { [1] = '"Fast Cast"+7', [2] = 'MND+10' } },
};

Note that:

  • Each slot is optional
  • As shown on the Legs and Feet slots, multiple versions of augmented gears can be distinguished with AugPath and Augment.

List of expected set names:

  • Stances

    • Engaged_Default
    • Engaged_Pet_Default, only when a pet is charmed/summoned.
    • Engaged_Pet_NAME, only when a pet is charmed/summoned, where NAME is the name of the Pet without spaces or any special characters, for example Cait Sith is CaitSith.
    • Idle_Default
    • Idle_Pet_Default, only when a pet is charmed/summoned.
    • Idle_Pet_NAME, only when a pet is charmed/summoned, where NAME is the name of the Pet without spaces or any special characters, for example Cait Sith is CaitSith.
    • Resting_Default
  • Job Abilities

    • JA_TYPE, where TYPE is one of BloodPactRage, BloodPactWard, CorsairRoll, QuickDraw, Ready, RuneEnchantment.
    • JA_NAME, where NAME is the name of the Job Ability without spaces or any special characters, for example Curing Waltz III is CuringWaltzIII and Avatar's Favor is AvatarsFavor.
  • Precast

    • Precast_Default

    • Precast_TYPE, where TYPE is one of BlueMagic, DarkMagic, DivineMagic, ElementalMagic, EnfeeblingMagic, EnhancingMagic, Geomancy, HealingMagic, Ninjutsu, Singing, Summoning.

    • Precast_GROUP, where group is one of:

      see group names

      ["1000 Needles"] = {"BluMagicalAcc", "BluMagical"},
      ["Absolute Terror"] = {"BluMagicalAcc", "BluMagical"},
      ["Absorb-Acc"] = {"Absorb"},
      ["Absorb-Agi"] = {"Absorb"},
      ["Absorb-Attri"] = {"Absorb"},
      ["Absorb-Chr"] = {"Absorb"},
      ["Absorb-Dex"] = {"Absorb"},
      ["Absorb-Int"] = {"Absorb"},
      ["Absorb-Mnd"] = {"Absorb"},
      ["Absorb-Str"] = {"Absorb"},
      ["Absorb-TP"] = {"Absorb"},
      ["Absorb-Vit"] = {"Absorb"},
      ["Acrid Stream"] = {"BluMagicalMnd", "BluMagical"},
      ["Actinic Burst"] = {"BluMagicalAcc", "BluMagical"},
      ["Advancing March"] = {"March"},
      ["Amorphic Spikes"] = {"BluPhysicalDex", "BluPhysical"},
      ["Amplification"] = {"BluEnhancing"},
      ["Anemohelix"] = {"Helix"},
      ["Anemohelix II"] = {"Helix"},
      ["Animating Wail"] = {"BluEnhancing"},
      ["Anvil Lightning"] = {"BluMagicalDex", "BluMagical"},
      ["Archer's Prelude"] = {"Prelude"},
      ["Arise"] = {"Raise"},
      ["Army's Paeon"] = {"Paeon"},
      ["Army's Paeon II"] = {"Paeon"},
      ["Army's Paeon III"] = {"Paeon"},
      ["Army's Paeon IV"] = {"Paeon"},
      ["Army's Paeon V"] = {"Paeon"},
      ["Army's Paeon VI"] = {"Paeon"},
      ["Aspir"] = {"Aspir"},
      ["Aspir II"] = {"Aspir"},
      ["Asuran Claws"] = {"BluPhysicalDex", "BluPhysical"},
      ["Atra. Libations"] = {"BluMagicalVit", "BluMagical"},
      ["Auroral Drape"] = {"BluMagicalAcc", "BluMagical"},
      ["Aurorastorm"] = {"Storm"},
      ["Aurorastorm II"] = {"Storm"},
      ["Awful Eye"] = {"BluMagicalAcc", "BluMagical"},
      ["Bad Breath"] = {"BluBreath"},
      ["Banish"] = {"Banish"},
      ["Banish II"] = {"Banish"},
      ["Banish III"] = {"Banish"},
      ["Banishga II"] = {"Banish"},
      ["Banishga"] = {"Banish"},
      ["Baraera"] = {"EnhancingPotency", "BarElement"},
      ["Baraero"] = {"EnhancingPotency", "BarElement"},
      ["Baramnesia"] = {"EnhancingPotency", "BarStatus"},
      ["Baramnesra"] = {"EnhancingPotency", "BarStatus"},
      ["Barbed Crescent"] = {"BluPhysicalDex", "BluPhysical"},
      ["Barblind"] = {"EnhancingPotency", "BarStatus"},
      ["Barblindra"] = {"EnhancingPotency", "BarStatus"},
      ["Barblizzara"] = {"EnhancingPotency", "BarElement"},
      ["Barblizzard"] = {"EnhancingPotency", "BarElement"},
      ["Barfira"] = {"EnhancingPotency", "BarElement"},
      ["Barfire"] = {"EnhancingPotency", "BarElement"},
      ["Barparalyze"] = {"EnhancingPotency", "BarStatus"},
      ["Barparalyzra"] = {"EnhancingPotency", "BarStatus"},
      ["Barpetra"] = {"EnhancingPotency", "BarStatus"},
      ["Barpetrify"] = {"EnhancingPotency", "BarStatus"},
      ["Barpoison"] = {"EnhancingPotency", "BarStatus"},
      ["Barpoisonra"] = {"EnhancingPotency", "BarStatus"},
      ["Barrier Tusk"] = {"BluSkill"},
      ["Barsilence"] = {"EnhancingPotency", "BarStatus"},
      ["Barsilencera"] = {"EnhancingPotency", "BarStatus"},
      ["Barsleep"] = {"EnhancingPotency", "BarStatus"},
      ["Barsleepra"] = {"EnhancingPotency", "BarStatus"},
      ["Barstone"] = {"EnhancingPotency", "BarElement"},
      ["Barstonra"] = {"EnhancingPotency", "BarElement"},
      ["Barthunder"] = {"EnhancingPotency", "BarElement"},
      ["Barthundra"] = {"EnhancingPotency", "BarElement"},
      ["Barvira"] = {"EnhancingPotency", "BarStatus"},
      ["Barvirus"] = {"EnhancingPotency", "BarStatus"},
      ["Barwater"] = {"EnhancingPotency", "BarElement"},
      ["Barwatera"] = {"EnhancingPotency", "BarElement"},
      ["Battery Charge"] = {"BluEnhancing"},
      ["Battle Dance"] = {"BluPhysicalStr", "BluPhysical"},
      ["Battlefield Elegy"] = {"Elegy"},
      ["Benthic Typhoon"] = {"BluPhysicalAgi", "BluPhysical"},
      ["Bewitching Etude"] = {"Etude"},
      ["Bilgestorm"] = {"BluPhysical"},
      ["Blade Madrigal"] = {"Madrigal"},
      ["Blank Gaze"] = {"BluMagicalAcc", "BluMagical"},
      ["Blastbomb"] = {"BluMagicalInt", "BluMagical"},
      ["Blaze Spikes"] = {"EnhancingPotency"},
      ["Blazing Bound"] = {"BluMagicalInt", "BluMagical"},
      ["Blinding Fulgor"] = {"BluMagicalStr", "BluMagical"},
      ["Blindna"] = {"StatusRemoval"},
      ["Blink"] = {"EnhancingDuration"},
      ["Blistering Roar"] = {"BluMagicalAcc", "BluMagical"},
      ["Blitzstrahl"] = {"BluStun", "BluMagicalInt", "BluMagical"},
      ["Blood Drain"] = {"BluMagicalAcc", "BluMagical"},
      ["Blood Saber"] = {"BluMagicalAcc", "BluMagical"},
      ["Bloodrake"] = {"BluPhysicalStr", "BluPhysical"},
      ["Bludgeon"] = {"BluPhysicalChr", "BluPhysical"},
      ["Body Slam"] = {"BluPhysicalVit", "BluPhysical"},
      ["Bomb Toss"] = {"BluMagicalInt", "BluMagical"},
      ["Burn"] = {"ElementalEnfeeble"},
      ["Cannonball"] = {"BluPhysicalVit", "BluPhysical"},
      ["Carcharian Verve"] = {"BluEnhancing"},
      ["Carnage Elegy"] = {"Elegy"},
      ["Chaotic Eye"] = {"BluMagicalAcc", "BluMagical"},
      ["Charged Whisker"] = {"BluMagicalDex", "BluMagical"},
      ["Chocobo Mazurka"] = {"Mazurka"},
      ["Choke"] = {"ElementalEnfeeble"},
      ["Cimicine Discharge"] = {"BluMagicalAcc", "BluMagical"},
      ["Claw Cyclone"] = {"BluPhysicalDex", "BluPhysical"},
      ["Cocoon"] = {"BluEnhancing"},
      ["Cold Wave"] = {"BluMagicalAcc", "BluMagical"},
      ["Corrosive Ooze"] = {"BluMagicalAcc", "BluMagical"},
      ["Cryohelix"] = {"Helix"},
      ["Cryohelix II"] = {"Helix"},
      ["Cura"] = {"Cura"},
      ["Cura II"] = {"Cura"},
      ["Cura III"] = {"Cura"},
      ["Curaga"] = {"Cura"},
      ["Curaga II"] = {"Cura"},
      ["Curaga III"] = {"Cura"},
      ["Curaga IV"] = {"Cura"},
      ["Curaga V"] = {"Cura"},
      ["Cure"] = {"Cure"},
      ["Cure II"] = {"Cure"},
      ["Cure III"] = {"Cure"},
      ["Cure IV"] = {"Cure"},
      ["Cure V"] = {"Cure"},
      ["Cursed Sphere"] = {"BluMagicalInt", "BluMagical"},
      ["Cursna"] = {"StatusRemoval"},
      ["Dark Carol"] = {"Carol"},
      ["Dark Carol II"] = {"Carol"},
      ["Dark Maneuver"] = {"Maneuver"},
      ["Dark Orb"] = {"BluMagicalInt", "BluMagical"},
      ["Dark Threnody"] = {"Threnody"},
      ["Dark Threnody II"] = {"Threnody"},
      ["Death Ray"] = {"BluMagicalInt", "BluMagical"},
      ["Death Scissors"] = {"BluPhysicalStr", "BluPhysical"},
      ["Delta Thrust"] = {"BluPhysicalVit", "BluPhysical"},
      ["Demoralizing Roar"] = {"BluMagicalAcc", "BluMagical"},
      ["Deodorize"] = {"EnhancingDuration"},
      ["Dextrous Etude"] = {"Etude"},
      ["Diamondhide"] = {"BluSkill"},
      ["Diffusion Ray"] = {"BluMagicalInt", "BluMagical"},
      ["Digest"] = {"BluMagicalAcc", "BluMagical"},
      ["Dimensional Death"] = {"BluPhysicalStr", "BluPhysical"},
      ["Disseverment"] = {"BluPhysicalDex", "BluPhysical"},
      ["Doton: Ichi"] = {"ElementalNinjutsu"},
      ["Doton: Ni"] = {"ElementalNinjutsu"},
      ["Doton: San"] = {"ElementalNinjutsu"},
      ["Dragonfoe Mambo"] = {"Mambo"},
      ["Drain"] = {"Drain"},
      ["Drain II"] = {"Drain"},
      ["Drain III"] = {"Drain"},
      ["Dream Flower"] = {"BluMagicalAcc", "BluMagical"},
      ["Droning Whirlwind"] = {"BluMagicalInt", "BluMagical"},
      ["Drown"] = {"ElementalEnfeeble"},
      ["Earth Carol"] = {"Carol"},
      ["Earth Carol II"] = {"Carol"},
      ["Earth Maneuver"] = {"Maneuver"},
      ["Earth Threnody"] = {"Threnody"},
      ["Earth Threnody II"] = {"Threnody"},
      ["Embalming Earth"] = {"BluMagicalInt", "BluMagical"},
      ["Empty Thrash"] = {"BluPhysicalStr", "BluPhysical"},
      ["Enaero"] = {"EnElement"},
      ["Enaero II"] = {"EnElement"},
      ["Enblizzard"] = {"EnElement"},
      ["Enblizzard II"] = {"EnElement"},
      ["Enchanting Etude"] = {"Etude"},
      ["Endark"] = {"EnElement"},
      ["Endark II"] = {"EnElement"},
      ["Enervation"] = {"BluMagicalAcc", "BluMagical"},
      ["Enfire"] = {"EnElement"},
      ["Enfire II"] = {"EnElement"},
      ["Enlight"] = {"EnElement"},
      ["Enlight II"] = {"EnElement"},
      ["Enstone"] = {"EnElement"},
      ["Enstone II"] = {"EnElement"},
      ["Enthunder"] = {"EnElement"},
      ["Enthunder II"] = {"EnElement"},
      ["Entomb"] = {"BluMagicalVit", "BluMagical"},
      ["Enwater"] = {"EnElement"},
      ["Enwater II"] = {"EnElement"},
      ["Erase"] = {"StatusRemoval"},
      ["Erratic Flutter"] = {"BluEnhancing"},
      ["Evryone. Grudge"] = {"BluMagicalMnd", "BluMagical"},
      ["Exuviation"] = {"BluEnhancing"},
      ["Eyes On Me"] = {"BluMagicalChr", "BluMagical"},
      ["Fantod"] = {"BluEnhancing"},
      ["Feather Barrier"] = {"BluEnhancing"},
      ["Feather Storm"] = {"BluPhysicalAgi", "BluPhysical"},
      ["Feather Tickle"] = {"BluMagicalAcc", "BluMagical"},
      ["Filamented Hold"] = {"BluMagicalAcc", "BluMagical"},
      ["Final Sting"] = {"BluPhysicalHP", "BluPhysical"},
      ["Fire Carol"] = {"Carol"},
      ["Fire Carol II"] = {"Carol"},
      ["Fire Maneuver"] = {"Maneuver"},
      ["Fire Threnody"] = {"Threnody"},
      ["Fire Threnody II"] = {"Threnody"},
      ["Firespit"] = {"BluMagicalInt", "BluMagical"},
      ["Firestorm II"] = {"Storm"},
      ["Firestorm"] = {"Storm"},
      ["Flurry II"] = {"EnhancingDuration"},
      ["Flurry"] = {"EnhancingDuration"},
      ["Flying Hip Press"] = {"BluBreath"},
      ["Foe Lullaby"] = {"Lullaby"},
      ["Foe Requiem"] = {"Requiem"},
      ["Foe Lullaby II"] = {"Lullaby"},
      ["Foe Requiem II"] = {"Requiem"},
      ["Foe Requiem III"] = {"Requiem"},
      ["Foe Requiem IV"] = {"Requiem"},
      ["Foe Requiem V"] = {"Requiem"},
      ["Foe Requiem VI"] = {"Requiem"},
      ["Foe Requiem VII"] = {"Requiem"},
      ["Foot Kick"] = {"BluPhysicalDex", "BluPhysical"},
      ["Foul Waters"] = {"BluMagicalInt", "BluMagical"},
      ["Frenetic Rip"] = {"BluPhysicalDex", "BluPhysical"},
      ["Frightful Roar"] = {"BluMagicalAcc", "BluMagical"},
      ["Frost Breath"] = {"BluBreath"},
      ["Frost"] = {"ElementalEnfeeble"},
      ["Frypan"] = {"BluStun", "BluPhysical"},
      ["Full Cure"] = {"Cure"},
      ["Gain-AGI"] = {"Gain"},
      ["Gain-CHR"] = {"Gain"},
      ["Gain-DEX"] = {"Gain"},
      ["Gain-INT"] = {"Gain"},
      ["Gain-MND"] = {"Gain"},
      ["Gain-STR"] = {"Gain"},
      ["Gain-VIT"] = {"Gain"},
      ["Gates of Hades"] = {"BluMagicalDex", "BluMagical"},
      ["Geo-Acumen"] = {"Geo"},
      ["Geo-AGI"] = {"Geo"},
      ["Geo-Attunement"] = {"Geo"},
      ["Geo-Barrier"] = {"Geo"},
      ["Geo-CHR"] = {"Geo"},
      ["Geo-DEX"] = {"Geo"},
      ["Geo-Fade"] = {"Geo"},
      ["Geo-Fend"] = {"Geo"},
      ["Geo-Focus"] = {"Geo"},
      ["Geo-Frailty"] = {"Geo"},
      ["Geo-Fury"] = {"Geo"},
      ["Geo-Gravity"] = {"Geo"},
      ["Geo-Haste"] = {"Geo"},
      ["Geo-INT"] = {"Geo"},
      ["Geo-Languor"] = {"Geo"},
      ["Geo-Malaise"] = {"Geo"},
      ["Geo-MND"] = {"Geo"},
      ["Geo-Paralyze"] = {"Geo"},
      ["Geo-Poison"] = {"Geo"},
      ["Geo-Precision"] = {"Geo"},
      ["Geo-Refresh"] = {"Geo"},
      ["Geo-Regen"] = {"Geo"},
      ["Geo-Slip"] = {"Geo"},
      ["Geo-Slow"] = {"Geo"},
      ["Geo-STR"] = {"Geo"},
      ["Geo-Torpor"] = {"Geo"},
      ["Geo-Vex"] = {"Geo"},
      ["Geo-VIT"] = {"Geo"},
      ["Geo-Voidance"] = {"Geo"},
      ["Geo-Wilt"] = {"Geo"},
      ["Geist Wall"] = {"BluMagicalAcc", "BluMagical"},
      ["Geohelix"] = {"Helix"},
      ["Geohelix II"] = {"Helix"},
      ["Glutinous Dart"] = {"BluPhysicalVit", "BluPhysical"},
      ["Goblin Rush"] = {"BluPhysicalDex", "BluPhysical"},
      ["Grand Slam"] = {"BluPhysicalVit", "BluPhysical"},
      ["Hailstorm II"] = {"Storm"},
      ["Hailstorm"] = {"Storm"},
      ["Harden Shell"] = {"BluEnhancing"},
      ["Haste"] = {"EnhancingDuration"},
      ["Haste II"] = {"EnhancingDuration"},
      ["Head Butt"] = {"BluStun", "BluPhysical"},
      ["Healing Breeze"] = {"BluHealing"},
      ["Heat Breath"] = {"BluBreath"},
      ["Heavy Strike"] = {"BluPhysicalAcc", "BluPhysical"},
      ["Hecatomb Wave"] = {"BluBreath", "BluMagicalAcc", "BluMagical"},
      ["Helldive"] = {"BluPhysicalAgi", "BluPhysical"},
      ["Herculean Etude"] = {"Etude"},
      ["Holy"] = {"Holy"},
      ["Holy II"] = {"Holy"},
      ["Horde Lullaby"] = {"Lullaby"},
      ["Horde Lullaby II"] = {"Lullaby"},
      ["Hunter's Prelude"] = {"Prelude"},
      ["Huton: Ichi"] = {"ElementalNinjutsu"},
      ["Huton: Ni"] = {"ElementalNinjutsu"},
      ["Huton: San"] = {"ElementalNinjutsu"},
      ["Hydro Shot"] = {"BluPhysicalAgi", "BluPhysical"},
      ["Hydrohelix"] = {"Helix"},
      ["Hydrohelix II"] = {"Helix"},
      ["Hyoton: Ichi"] = {"ElementalNinjutsu"},
      ["Hyoton: Ni"] = {"ElementalNinjutsu"},
      ["Hyoton: San"] = {"ElementalNinjutsu"},
      ["Hysteric Barrage"] = {"BluPhysicalDex", "BluPhysical"},
      ["Ice Break"] = {"BluMagicalInt", "BluMagical"},
      ["Ice Carol"] = {"Carol"},
      ["Ice Carol II"] = {"Carol"},
      ["Ice Maneuver"] = {"Maneuver"},
      ["Ice Spikes"] = {"EnhancingPotency"},
      ["Ice Threnody"] = {"Threnody"},
      ["Ice Threnody II"] = {"Threnody"},
      ["Indi-Acumen"] = {"Indi"},
      ["Indi-AGI"] = {"Indi"},
      ["Indi-Attunement"] = {"Indi"},
      ["Indi-Barrier"] = {"Indi"},
      ["Indi-CHR"] = {"Indi"},
      ["Indi-DEX"] = {"Indi"},
      ["Indi-Fade"] = {"Indi"},
      ["Indi-Fend"] = {"Indi"},
      ["Indi-Focus"] = {"Indi"},
      ["Indi-Frailty"] = {"Indi"},
      ["Indi-Fury"] = {"Indi"},
      ["Indi-Gravity"] = {"Indi"},
      ["Indi-Haste"] = {"Indi"},
      ["Indi-INT"] = {"Indi"},
      ["Indi-Languor"] = {"Indi"},
      ["Indi-Malaise"] = {"Indi"},
      ["Indi-MND"] = {"Indi"},
      ["Indi-Paralyze"] = {"Indi"},
      ["Indi-Poison"] = {"Indi"},
      ["Indi-Precision"] = {"Indi"},
      ["Indi-Refresh"] = {"Indi"},
      ["Indi-Regen"] = {"Indi"},
      ["Indi-Slip"] = {"Indi"},
      ["Indi-Slow"] = {"Indi"},
      ["Indi-STR"] = {"Indi"},
      ["Indi-Torpor"] = {"Indi"},
      ["Indi-Vex"] = {"Indi"},
      ["Indi-VIT"] = {"Indi"},
      ["Indi-Voidance"] = {"Indi"},
      ["Indi-Wilt"] = {"Indi"},
      ["Infrasonics"] = {"BluMagicalAcc", "BluMagical"},
      ["Invisible"] = {"EnhancingDuration"},
      ["Ionohelix"] = {"Helix"},
      ["Ionohelix II"] = {"Helix"},
      ["Jet Stream"] = {"BluPhysicalAgi", "BluPhysical"},
      ["Jettatura"] = {"BluMagicalAcc", "BluMagical"},
      ["Katon: Ichi"] = {"ElementalNinjutsu"},
      ["Katon: Ni"] = {"ElementalNinjutsu"},
      ["Katon: San"] = {"ElementalNinjutsu"},
      ["Klimaform"] = {"DarkDuration"},
      ["Knight's Minne II"] = {"Minne"},
      ["Knight's Minne III"] = {"Minne"},
      ["Knight's Minne IV"] = {"Minne"},
      ["Knight's Minne V"] = {"Minne"},
      ["Knight's Minne"] = {"Minne"},
      ["Leafstorm"] = {"BluMagicalInt", "BluMagical"},
      ["Learned Etude"] = {"Etude"},
      ["Light Carol"] = {"Carol"},
      ["Light Carol II"] = {"Carol"},
      ["Light Maneuver"] = {"Maneuver"},
      ["Light Threnody"] = {"Threnody"},
      ["Light Threnody II"] = {"Threnody"},
      ["Light of Penance"] = {"BluMagicalAcc", "BluMagical"},
      ["Lightning Carol"] = {"Carol"},
      ["Lightning Carol II"] = {"Carol"},
      ["Lightning Threnody"] = {"Threnody"},
      ["Lightning Threnody II"] = {"Threnody"},
      ["Logical Etude"] = {"Etude"},
      ["Lowing"] = {"BluMagicalAcc", "BluMagical"},
      ["Luminohelix"] = {"Helix"},
      ["Luminohelix II"] = {"Helix"},
      ["MP Drainkiss"] = {"BluMagicalAcc", "BluMagical"},
      ["Maelstrom"] = {"BluMagicalInt", "BluMagical"},
      ["Mage's Ballad"] = {"Ballad"},
      ["Mage's Ballad II"] = {"Ballad"},
      ["Mage's Ballad III"] = {"Ballad"},
      ["Magic Barrier"] = {"BluSkill"},
      ["Magic Fruit"] = {"BluHealing"},
      ["Magic Hammer"] = {"BluMagicalMnd", "BluMagical"},
      ["Magnetite Cloud"] = {"BluBreath"},
      ["Mandibular Bite"] = {"BluPhysicalInt", "BluPhysical"},
      ["Memento Mori"] = {"BluEnhancing"},
      ["Metallic Body"] = {"BluSkill"},
      ["Mighty Guard"] = {"BluEnhancing"},
      ["Mighty Guard"] = {"BluSkill"},
      ["Mind Blast"] = {"BluMagicalAcc", "BluMagicalMnd", "BluMagical"},
      ["Molting Plumage"] = {"BluMagicalAgi", "BluMagical"},
      ["Mortal Ray"] = {"BluMagicalAcc", "BluMagical"},
      ["Mysterious Light"] = {"BluMagicalChr", "BluMagical"},
      ["Nat. Meditation"] = {"BluEnhancing"},
      ["Nectarous Deluge"] = {"BluMagicalMnd", "BluMagical"},
      ["Noctohelix"] = {"Helix"},
      ["Noctohelix II"] = {"Helix"},
      ["Occultation"] = {"BluEnhancing"},
      ["Orcish Counterstance"] = {"BluEnhancing"},
      ["Osmosis"] = {"BluMagicalAcc", "BluMagical"},
      ["Palling Salvo"] = {"BluMagicalAgi", "BluMagical"},
      ["Paralyna"] = {"StatusRemoval"},
      ["Paralyzing Triad"] = {"BluPhysicalDex", "BluPhysical"},
      ["Phalanx II"] = {"Phalanx"},
      ["Phalanx"] = {"Phalanx"},
      ["Pinecone Bomb"] = {"BluPhysicalAgi", "BluPhysical"},
      ["Plasma Charge"] = {"BluSkill"},
      ["Plenilune Embrace"] = {"BluHealing"},
      ["Poison Breath"] = {"BluBreath"},
      ["Poisona"] = {"StatusRemoval"},
      ["Pollen"] = {"BluHealing"},
      ["Power Attack"] = {"BluPhysicalVit", "BluPhysical"},
      ["Protect"] = {"ProShell", "Protect"},
      ["Protect II"] = {"ProShell", "Protect"},
      ["Protect III"] = {"ProShell", "Protect"},
      ["Protect IV"] = {"ProShell", "Protect"},
      ["Protect V"] = {"ProShell", "Protect"},
      ["Protectra"] = {"ProShell", "Protectra"},
      ["Protectra II"] = {"ProShell", "Protectra"},
      ["Protectra III"] = {"ProShell", "Protectra"},
      ["Protectra IV"] = {"ProShell", "Protectra"},
      ["Protectra V"] = {"ProShell", "Protectra"},
      ["Pyric Bulwark"] = {"BluSkill"},
      ["Pyrohelix II"] = {"Helix"},
      ["Pyrohelix"] = {"Helix"},
      ["Quad. Continuum"] = {"BluPhysicalVit", "BluPhysical"},
      ["Quadrastrike"] = {"BluPhysicalStr", "BluPhysical"},
      ["Queasyshroom"] = {"BluPhysicalInt", "BluPhysical"},
      ["Quick Etude"] = {"Etude"},
      ["Radiant Breath"] = {"BluBreath"},
      ["Rail Cannon"] = {"BluMagicalInt", "BluMagical"},
      ["Rainstorm II"] = {"Storm"},
      ["Rainstorm"] = {"Storm"},
      ["Raise"] = {"Raise"},
      ["Raise II"] = {"Raise"},
      ["Raise III"] = {"Raise"},
      ["Raiton: Ichi"] = {"ElementalNinjutsu"},
      ["Raiton: Ni"] = {"ElementalNinjutsu"},
      ["Raiton: San"] = {"ElementalNinjutsu"},
      ["Ram Charge"] = {"BluPhysicalMnd", "BluPhysical"},
      ["Raptor Mazurka"] = {"Mazurka"},
      ["Rasp"] = {"ElementalEnfeeble"},
      ["Reactor Cool"] = {"BluSkill"},
      ["Reaving Wind"] = {"BluMagicalAcc", "BluMagical"},
      ["Refresh"] = {"Refresh"},
      ["Refresh II"] = {"Refresh"},
      ["Refresh III"] = {"Refresh"},
      ["Refueling"] = {"BluEnhancing"},
      ["Regen"] = {"Regen"},
      ["Regen II"] = {"Regen"},
      ["Regen III"] = {"Regen"},
      ["Regen IV"] = {"Regen"},
      ["Regen V"] = {"Regen"},
      ["Regeneration"] = {"BluEnhancing", "BluMagicalInt", "BluMagical"},
      ["Rending Deluge"] = {"BluMagicalInt", "BluMagical"},
      ["Reraise"] = {"EnhancingDuration", "Raise"},
      ["Reraise II"] = {"EnhancingDuration", "Raise"},
      ["Reraise III"] = {"EnhancingDuration", "Raise"},
      ["Reraise IV"] = {"EnhancingDuration", "Raise"},
      ["Restoral"] = {"BluHealing"},
      ["Retinal Glare"] = {"BluMagicalInt", "BluMagical"},
      ["Sage Etude"] = {"Etude"},
      ["Saline Coat"] = {"BluEnhancing"},
      ["Sandspin"] = {"BluMagicalAcc", "BluMagical"},
      ["Sandspray"] = {"BluMagicalAcc", "BluMagical"},
      ["Sandstorm"] = {"Storm"},
      ["Sandstorm II"] = {"Storm"},
      ["Saurian Slide"] = {"BluPhysicalVit", "BluPhysical"},
      ["Scouring Spate"] = {"BluMagicalMnd", "BluMagical"},
      ["Screwdriver"] = {"BluPhysicalMnd", "BluPhysical"},
      ["Searing Tempest"] = {"BluMagicalStr", "BluMagical"},
      ["Seedspray"] = {"BluPhysicalDex", "BluPhysical"},
      ["Self-Destruct"] = {"BluBreath"},
      ["Sheep Song"] = {"BluMagicalAcc", "BluMagical"},
      ["Sheepfoe Mambo"] = {"Mambo"},
      ["Shell"] = {"ProShell", "Shell"},
      ["Shell II"] = {"ProShell", "Shell"},
      ["Shell III"] = {"ProShell", "Shell"},
      ["Shell IV"] = {"ProShell", "Shell"},
      ["Shell V"] = {"ProShell", "Shell"},
      ["Shellra"] = {"ProShell", "Shellra"},
      ["Shellra II"] = {"ProShell", "Shellra"},
      ["Shellra III"] = {"ProShell", "Shellra"},
      ["Shellra IV"] = {"ProShell", "Shellra"},
      ["Shellra V"] = {"ProShell", "Shellra"},
      ["Shock Spikes"] = {"EnhancingPotency"},
      ["Shock"] = {"ElementalEnfeeble"},
      ["Sickle Slash"] = {"BluPhysicalDex", "BluPhysical"},
      ["Silena"] = {"StatusRemoval"},
      ["Silent Storm"] = {"BluMagicalAgi", "BluMagical"},
      ["Sinewy Etude"] = {"Etude"},
      ["Sinker Drill"] = {"BluPhysicalStr", "BluPhysical"},
      ["Smite of Rage"] = {"BluPhysicalDex", "BluPhysical"},
      ["Sneak"] = {"EnhancingDuration"},
      ["Soporific"] = {"BluMagicalAcc", "BluMagical"},
      ["Sound Blast"] = {"BluMagicalAcc", "BluMagical"},
      ["Spectral Floe"] = {"BluMagicalInt", "BluMagical"},
      ["Spinal Cleave"] = {"BluPhysicalStr", "BluPhysical"},
      ["Spiral Spin"] = {"BluPhysicalAgi", "BluPhysical"},
      ["Spirited Etude"] = {"Etude"},
      ["Sprout Smack"] = {"BluPhysicalVit", "BluPhysical"},
      ["Stinking Gas"] = {"BluMagicalAcc", "BluMagical"},
      ["Stona"] = {"StatusRemoval"},
      ["Sub-zero Smash"] = {"BluMagicalAcc", "BluPhysicalVit", "BluPhysical"},
      ["Subduction"] = {"BluMagicalInt", "BluMagical"},
      ["Sudden Lunge"] = {"BluStun", "BluPhysicalAGI", "BluPhysical"},
      ["Suiton: Ichi"] = {"ElementalNinjutsu"},
      ["Suiton: Ni"] = {"ElementalNinjutsu"},
      ["Suiton: San"] = {"ElementalNinjutsu"},
      ["Sweeping Gouge"] = {"BluPhysicalVit", "BluPhysical"},
      ["Swift Etude"] = {"Etude"},
      ["Sword Madrigal"] = {"Madrigal"},
      ["Tail Slap"] = {"BluStun", "BluPhysicalVit", "BluPhysical"},
      ["Tem. Upheaval"] = {"BluMagicalInt", "BluMagical"},
      ["Temper"] = {"EnhancingPotency"},
      ["Temper II"] = {"EnhancingPotency"},
      ["Temporal Shift"] = {"BluStun", "BluMagical"},
      ["Tenebral Crush"] = {"BluMagical"},
      ["Terror Touch"] = {"BluPhysicalDex", "BluPhysical"},
      ["Thermal Pulse"] = {"BluMagicalVit", "BluMagical"},
      ["Thrashing Assault"] = {"BluPhysicalDex", "BluPhysical"},
      ["Thunder Breath"] = {"BluBreath"},
      ["Thunder Maneuver"] = {"Maneuver"},
      ["Thunderbolt"] = {"BluStun", "BluMagicalInt", "BluMagical"},
      ["Thunderstorm II"] = {"Storm"},
      ["Thunderstorm"] = {"Storm"},
      ["Tourbillion"] = {"BluPhysicalMnd", "BluPhysical"},
      ["Triumphant Roar"] = {"BluEnhancing"},
      ["Uncanny Etude"] = {"Etude"},
      ["Uppercut"] = {"BluPhysicalStr", "BluPhysical"},
      ["Utsusemi: Ichi"] = {"Utsusemi"},
      ["Utsusemi: Ni"] = {"Utsusemi"},
      ["Utsusemi: San"] = {"Utsusemi"},
      ["Valor Minuet"] = {"Minuet"},
      ["Valor Minuet II"] = {"Minuet"},
      ["Valor Minuet III"] = {"Minuet"},
      ["Valor Minuet IV"] = {"Minuet"},
      ["Valor Minuet V"] = {"Minuet"},
      ["Vanity Dive"] = {"BluPhysicalDex", "BluPhysical"},
      ["Vapor Spray"] = {"BluBreath"},
      ["Venom Shell"] = {"BluMagicalAcc", "BluMagical"},
      ["Vertical Cleave"] = {"BluPhysicalStr", "BluPhysical"},
      ["Victory March"] = {"March"},
      ["Viruna"] = {"StatusRemoval"},
      ["Vital Etude"] = {"Etude"},
      ["Vivacious Etude"] = {"Etude"},
      ["Voidstorm II"] = {"Storm"},
      ["Voidstorm"] = {"Storm"},
      ["Voracious Trunk"] = {"BluMagicalAcc", "BluMagical"},
      ["Warm-Up"] = {"BluEnhancing"},
      ["Water Bomb"] = {"BluMagicalInt", "BluMagical"},
      ["Water Carol"] = {"Carol"},
      ["Water Carol II"] = {"Carol"},
      ["Water Maneuver"] = {"Maneuver"},
      ["Water Threnody"] = {"Threnody"},
      ["Water Threnody II"] = {"Threnody"},
      ["Whirl of Rage"] = {"BluStun", "BluPhysicalStr", "BluPhysicalMnd", "BluPhysical"},
      ["White Wind"] = {"BluHealing"},
      ["Wild Carrot"] = {"BluHealing"},
      ["Wild Oats"] = {"BluPhysicalAgi", "BluPhysical"},
      ["Wind Breath"] = {"BluBreath"},
      ["Wind Carol"] = {"Carol"},
      ["Wind Carol II"] = {"Carol"},
      ["Wind Maneuver"] = {"Maneuver"},
      ["Wind Threnody"] = {"Threnody"},
      ["Wind Threnody II"] = {"Threnody"},
      ["Winds of Promyvion"] = {"BluEnhancing"},
      ["Windstorm II"] = {"Storm"},
      ["Windstorm"] = {"Storm"},
      ["Yawn"] = {"BluMagicalAcc", "BluMagical"},
      ["Zephyr Mantle"] = {"BluEnhancing"},

    • Precast_NAME, where NAME is the name of the Spell without spaces or any special characters, for example Indi-Regen is IndiRegen and Cure IV is CureIV.

  • Midcast

    • Same as precast, but replace the Precast_ prefix by Midcast_.
  • Preshot

    • Preshot_Default
  • Midshot

    • Midshot_Default
  • Weapon Skills

    • WS_Default
    • WS_NAME, where NAME is the name of the Weapon Skill without spaces or any special characters, for example King's Justice is KingsJustice and Tachi: Kaiten is TachiKaiten.
  • Items

    • ITEM_NAME, where NAME is the name of the Item without spaces or any special characters, for example B.E.W. Pitaru is BEWPitaru.
  • Special

    • Town equipped when in town.
    • Town_NAME, where NAME is one of Adoulin, Bastok, Jeuno, SandOria, Windurst.

Tip

Sets are cumulatives. Any slot from a previous set which isn't overwritten by a later set will remain.

For example, when casting Cure IV, MiniSwap will try to equip in this order Midcast_Default, Midcast_HealingMagic, Midcast_Cure, Midcast_CureIV.
So if Midcast_Default equips the Chatoyant Staff and Crow Bracers, and Midcast_HealingMagic equips the Healer's Mitts, then the midcast action as a whole will equip the Chatoyant Staff and Healer's Mitts.

Modes

There isn't any modes just yet, I'm not too sure how I want it to fit with the rest.

For weapons though, you can /lac fwd locktp on to disable main/sub/range/ammo slots (minus range for BRD) so you can manually equip something. Use /lac fwd locktp off to enable those slots again.

Aliases

On your profile, add aliases like so:

profile.Aliases["/locklv"] = "/lac fwd locklv";

Bindings

On your profile, add aliases like so:

profile.Aliases["^y"] = "/poke";

Shared Configuration

  1. Create a shared.lua file in your ashita/config/addons/LuAshitacast/YourName_00000/ folder.
  2. Copy the following template into it
local profile = { Aliases = {}, Bindings = {}, Sets = {} };

-- Add shared gear sets, aliases and bindings here.

return profile;

LockStyle

Define a set called LockStyle for automatic lock styling when switching jobs.

Tip

It waits for 5 seconds before applying the lock style so it works a bit better when also changing subjob, but it's not perfect.
If it failed, it can be reapplied with /lac lockstyle Lockstyle.

Level Sync

MiniSwap can automatically equip level appropriate gear when leveling, or syncing in parties and BCNMs.

To do so, set names need to be suffixed with _Priority and then gear for each level needs to be defined for each slots, for example:

profile.Sets.Engaged_Default_Priority = {
    Main  = {
        { Name = "Mandau", Level = 75 },
        { Name = "Hornetneedle", Level = 48 },
        { Name = "Beestringer", Level = 7 },
        "Bronze Knife",
    },
};

Tip

Before engaging in level synced content, or to verify that everything is setup properly, use /lac fwd locklv 00, where 00 is the target level.
Use /lac fwd locklv without a level to disable the lock.

Further Customization

Want to push it further?

It's still a regular LuAshitacast profile, so you can overwrite any of the lifecycle function (see the LuAshitacast documentation for a full list). If you want to call MiniSwap default function, you can do so with profile.MiniSwap.HandleXxx. For example:

profile.HandleDefault = function()
      -- Do something before MiniSwap
    myCustomStuff();

      -- Call MiniSwap function
    profile.MiniSwap.HandleDefault();

      -- Do something after MiniSwap
    myOtherCustomStuff();
end

About

A LuAshitacast engine for those allergic to Lua.

Topics

Resources

Stars

Watchers

Forks

Languages