├── .gitignore ├── .github └── FUNDING.yml ├── LICENSE ├── config └── addons │ └── luashitacast │ ├── common │ └── gcdisplay.lua │ ├── MNK.lua │ ├── DRG.lua │ ├── THF.lua │ ├── DNC.lua │ ├── DRK.lua │ ├── BST.lua │ ├── WHM.lua │ ├── WAR.lua │ ├── RNG.lua │ ├── SAM.lua │ ├── PUP.lua │ ├── RDM.lua │ ├── GEO.lua │ └── BLM.lua └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /.github/ 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: GetAwayCoxn 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 GetAwayCoxn 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /config/addons/luashitacast/common/gcdisplay.lua: -------------------------------------------------------------------------------- 1 | local gcdisplay = {}; 2 | 3 | local fonts = require('fonts'); 4 | local Toggles = {}; 5 | local Cycles = {}; 6 | local Def = 0; 7 | local Attk = 0; 8 | local MainLV = 0; 9 | local SubLV = 0; 10 | local Main = 'FOO'; 11 | local Sub = 'BAR'; 12 | 13 | local fontSettings = T{ 14 | visible = true, 15 | font_family = 'Arial', 16 | font_height = 12, 17 | color = 0xFFFFFFFF, 18 | position_x = 300, 19 | position_y = 0, 20 | background = T{ 21 | visible = true, 22 | color = 0xFF000000, 23 | } 24 | }; 25 | 26 | function gcdisplay.AdvanceCycle(name) 27 | local ctable = Cycles[name]; 28 | if (type(ctable) ~= 'table') then 29 | return; 30 | end 31 | 32 | ctable.Index = ctable.Index + 1; 33 | if (ctable.Index > #ctable.Array) then 34 | ctable.Index = 1; 35 | end 36 | end 37 | 38 | function gcdisplay.SetCycle(name,val) 39 | local ctable = Cycles[name]; 40 | if (type(ctable) ~= 'table') then 41 | return; 42 | end 43 | 44 | for k,v in pairs(ctable.Array) do 45 | if val == v then 46 | ctable.Index = k 47 | return true 48 | end 49 | end 50 | return false 51 | end 52 | 53 | function gcdisplay.AdvanceToggle(name) 54 | if (type(Toggles[name]) ~= 'boolean') then 55 | return; 56 | elseif Toggles[name] then 57 | Toggles[name] = false; 58 | else 59 | Toggles[name] = true; 60 | end 61 | end 62 | 63 | function gcdisplay.Update() 64 | local player = AshitaCore:GetMemoryManager():GetPlayer(); 65 | 66 | local MID = player:GetMainJob(); 67 | local SID = player:GetSubJob(); 68 | Def = player:GetDefense(); 69 | Attk = player:GetAttack(); 70 | MainLV =player:GetMainJobLevel(); 71 | SubLV = player:GetSubJobLevel(); 72 | Main = AshitaCore:GetResourceManager():GetString("jobs.names_abbr", MID); 73 | Sub = AshitaCore:GetResourceManager():GetString("jobs.names_abbr", SID); 74 | 75 | end 76 | 77 | function gcdisplay.CreateToggle(name, default) 78 | Toggles[name] = default; 79 | end 80 | 81 | function gcdisplay.GetToggle(name) 82 | if (Toggles[name] ~= nil) then 83 | return Toggles[name]; 84 | else 85 | return false; 86 | end 87 | end 88 | 89 | function gcdisplay.CreateCycle(name, values) 90 | local newCycle = { 91 | Index = 1, 92 | Array = values 93 | }; 94 | Cycles[name] = newCycle; 95 | end 96 | 97 | function gcdisplay.GetCycle(name) 98 | local ctable = Cycles[name]; 99 | if (type(ctable) == 'table') then 100 | return ctable.Array[ctable.Index]; 101 | else 102 | return 'Unknown'; 103 | end 104 | end 105 | 106 | function gcdisplay.Unload() 107 | if (gcdisplay.FontObject ~= nil) then 108 | gcdisplay.FontObject:destroy(); 109 | end 110 | ashita.events.unregister('d3d_present', 'gcdisplay_present_cb'); 111 | ashita.events.unregister('command', 'gcdisplay_cb'); 112 | end 113 | 114 | function gcdisplay.Initialize() 115 | gcdisplay.Update(); 116 | gcdisplay.FontObject = fonts.new(fontSettings); 117 | ashita.events.register('d3d_present', 'gcdisplay_present_cb', function () 118 | local display = MainLV .. Main .. '/' .. SubLV .. Sub ..' Attk:' .. Attk .. ' Def:' .. Def; 119 | for k, v in pairs(Toggles) do 120 | display = display .. ' '; 121 | if (v == true) then 122 | display = display .. '|cFF00FF00|' .. k .. '|r'; 123 | else 124 | display = display .. '|cFFFF0000|' .. k .. '|r'; 125 | end 126 | end 127 | for key, value in pairs(Cycles) do 128 | display = display .. ' ' .. key .. ': ' .. '|cFF00FF00|' .. value.Array[value.Index] .. '|r'; 129 | end 130 | gcdisplay.FontObject.text = display; 131 | end); 132 | end 133 | 134 | ashita.events.register('command', 'gcdisplay_cb', function (e) 135 | local args = e.command:args() 136 | if #args == 0 or args[1] ~= '/gcdisplay' then 137 | return 138 | end 139 | 140 | e.blocked = true 141 | 142 | if #args == 1 then 143 | gcdisplay.FontObject.visible = not gcdisplay.FontObject.visible; 144 | end 145 | end) 146 | 147 | return gcdisplay; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Luashitacast-Profiles 2 | These are my luashitacast profiles for FFXI Ashita v4, all jobs available, built for current retail. Keep in mind I made these for myself and I am simply sharing them for others to have at least a good starting off point if they want since Luashitacast and Ashita v4 in general is so new and there is not a widely available library of different profiles yet. 3 | 4 | ## IMPORTANT NOTICE AS OF MARCH 22, 2023 5 | I have made a major name change in all files. If you are using any of my profiles from before this date and you never update then you're fine. If you are using any of my profiles and modified them for your use then awesome. If you are going to use any of my profiles going forward you will need to make sure to have the gcinclude.lua, gcdisplay.lua, and any/all jobs files from this date or after otherwise they will not load/work. You will not be able to mix and match older job files with newer includes and vise versa. As always, take care to save your current gear sets if you choose to upgrade to the newer files. If your starting from scratch with any of these profiles on or after this date, then congrats, read the reset of this readme and hit me up on here or discord if you have any questions. I added a command to toggle the gcdisplay output visibility, fixed bugs with the SCH spell handler and the /nuke spell handler, and added the ability to /setcycle directly so you dont have to cycle through all the elements to get the one you want. See the updated commands below. 6 | 7 | ## Overview: 8 | 9 | First, a LOT of the gear sets in these job files are copied and pasted and you so will need to edit them for your own use case and gear sets. That is why you might see something like BLM gear in the SAM file for example. I edit the sets as I play the jobs and if I do not play it very much it will have very weird looking gear sets for that job. Along the same lines some jobs I do not play at all (lolwhm) the profile will have the bare minimum to work and you will have more things to add to suit your needs. If you do not want to use or do not know how to use a particular set it is best to just leave the set there but remove any/all gear from it. If you delete any set you may get error messages when using the profile. I encourage anyone using these profiles to generate an issue here on the github repository for issues/recommendations/requests/etc. 10 | 11 | Second, be aware that I use two custom files that need to be in your Ashita/config/addons/luashitacast/common/ folder, gcinclude.lua and gcdisplay.lua. The latter is a just a slighty modified version of Thornys included varhelper.lua, full credit to him for that. I just changed the output to my own style/taste and didnt want to override his default file so I copied it to a seperate file called gcdisplay. 12 | 13 | Third, there are several settings that can be set globally in the gcinclude.lua file. Those settings are at the top of the file and there are notes in the file to explain more and give examples. Almost all of those settings can be overridden in any job file if a particular job needs a different default for some reason. There are also global sets in the gcinclude.lua however those are not meant to be overridden currently and truly are global to all jobs and characters on your account at this time. I am talking about things like the crafting set and fishing set for example. 14 | 15 | Last, I am leaving this note here although this has not been an issue for me in a long time. The stability around the profiles loading when the equiped gear has not fully loaded seems better after I put in a two second delay. The big thing here is try not to change jobs and zone immediately, also dont just zone immediately on first log in. Zoning out during that very short window could cause the luashitacast addon to crash (when using my profiles). Basically if you do not see the text overlay on your screen showing you your basic job info and the status of your meleeset etc., then try not to zone. If you get any errors/crashes or anything weird on log in or on zone just reload with /lac load or /addon load luashitacast if the addon itself crashed. 16 | 17 | ## Quick Summary: 18 | 19 | Some of the things that my profiles will do is automatically equip idle regen or refresh gear below a predefined % amount. The same can be done with DT gear or Pet DT gear as well. You can customize this % amounts globally in the gcinclude file or on a per job basis in your job file. These profiles will also auto cancel stoneskin for spell casting and spectral jig/sneak. They will lock in various rings for use such as tele/warp/exp rings. They will also do things like abort a WS before the gear swaps in cases where you may be amnesia'd or what not so you dont get whacked in your WS gear when your not even actually doing the WS. All jobs have basic TH gear functionality. 20 | 21 | Several jobs have very specific tools as well. For example COR will display lucky/unlucky numbers when you roll and this can also be turned off. BLU has loads of custom stuff like a specific Cruel Joke "mode" and set. PLD and RUN have special tanking sets and spell interupt modes. The mage jobs have an option to lock your weapon for TP use and other mage jobs have full on melee sets/modes, etc. 22 | 23 | ## Things in the works: 24 | 25 | - [X] I'll sort out some automatic ninja shadows canceling in the near future 26 | - [ ] Add a similar function to prevent swapping gear for spells if your silenced/terror'd/etc like I do for WS's 27 | - [X] Thinking about adding a distance check to non-ranged WS's to avoid TP loss 28 | - [ ] Will add to all jobs all relic gear JA checks/sets, so far been adding as I go, need to just do them all 29 | - [ ] Thinking about updating all commands to have '/gc' requirement to prevent conflicts since there are alot now 30 | - [X] Organize the commands in this readme better 31 | - [ ] Add weather checks to my /siphon function on SMN 32 | 33 | # Commands 34 | 35 | ## All Jobs 36 | 37 | |**Command**|**Description**| 38 | |------------:|:---| 39 | |/gcdisplay|Will toggle the text/info bar visibility| 40 | |/gcmessages|Will toggle the chat messages when using various commands, default to off, some messages will always show| 41 | |/wsdistance|Will toggle whether or not to apply distance check to non-ranged WS's, default is 4 yalms since I am a taru, can update in gcinclude.settings to adjust for your liking, can also add a number to this command to update on the fly in case of fighting larger mob etc. (example: /wsdistance 6)| 42 | |/th|TH gear sets are in each job lua, this will force those sets while engaged or casting a spell or ranged attacks| 43 | |/dt|Will equip the dt set you define in the individual job file| 44 | |/kite|Will equip the movement set you define in the individual job file to stay on even over DT gear| 45 | |/warpring|Will equip and then use your warp ring. Does not currently check for cooldown| 46 | |/telering|Same thing as warp ring except for your teleport ring| 47 | |/meleeset|Each of the job files have a default, hybrid, and acc TP and WS set. This will cycle through which one you want to use| 48 | |/rrset|Will force the Reraise set defined in gcinclude to equip| 49 | |/craftset|Will force the Crafting set defined in gcinclude to equip| 50 | |/fishset|Will force the Fishing set defined in gcinclude to equip| 51 | |/zeniset|Will force the Zeni set defined in gcinclude to equip| 52 | 53 | ## Job Specific Commands 54 | 55 | |**Command**|**Description**| 56 | |------------:|:---| 57 | |/proc|I have specific low dmg output sets for SAM and NIN that are activated with this toggle, intended to kill things slowly for procs like in abyssea or vagary| 58 | |/tankset|For RUN and PLD only right now, allows a tank set to over right the meleeset you may be using for more specific tanking set control| 59 | |/sir|For RUN and PLD only right now, forces spell interupt set| 60 | |/nukeset|Each of the mage job files have a default and acc nuking set. This will cycle through which one you want to use| 61 | |/elecycle|This will cycle a variable through all the elements and allow me to cast a nuke/weather/helix of that same element very easily using the same macro set| 62 | |/setcycle|This will take a second argument and set to that element so you dont have to cycle. "/setcycle Fire" for example| 63 | |/nuke #|Will cast the teir nuke of the element that /elecycle is currently on (e.g. /nuke 6 will attempt to cast FIRE VI if elecycle on fire)| 64 | |/helix|Will cast the helix (II if sch main job) of the element that /elecycle is currently on (e.g. will attempt to cast pyrohelix if elecycle on fire)| 65 | |/weather|Will cast the highest teir weatherspell available of the element that /elecycle is currently on (e.g. will attempt to cast firestorm if elecycle on fire)| 66 | |/burst|Will use burst nuke/helix sets over regular sets if toggle on| 67 | |/gcdrain|Will use Drain II if you have access to it and its not on cool down, else it will cast Drain if you have it and not on cooldown. This really just saves you one in game macro as I chose to not include Drain III here because that has very specific timing uses| 68 | |/gcaspir|Same as /drain but for aspir spells, order in which it will try and use is Aspir III > Aspir II > Aspir checking for spell availability and cooldown for each| 69 | |/death|Will force equip your death set on BLM| 70 | |/weapon|This will force staff to stay equipped for BLM,SCH, and GEO jobs for TP/mykyr use| 71 | |/fight|This will prevent TP loss on mage jobs that sometimes melee, BRD, RDM, WHM, and GEO| 72 | |/pupmode|Will cycle through the tank, melee, rng, mage gear TP sets on PUP main| 73 | |/forcestring|Will force harp on BRD although I just use paeon for my dummy songs but I left this toggle available| 74 | |/cormsg|When playing COR messages will appear telling you lucky/unlucky, use this to toggle off or can set to off as default inside the COR.lua| 75 | |/tpgun|When playing COR toggle on or off locking the TP+ gun for savage blade spamming| 76 | |/siphon|When on SMN this will cast the spirit matching the day and use siphon, if you had an avatar out to start with it will recast that avatar| 77 | -------------------------------------------------------------------------------- /config/addons/luashitacast/MNK.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Ammo = 'Staunch Tathlum', 7 | Head = 'Malignance Chapeau', 8 | Neck = 'Bathy Choker +1', 9 | Ear1 = 'Telos Earring', 10 | Ear2 = 'Eabani Earring', 11 | Body = 'Hiza. Haramaki +2', 12 | Hands = 'Malignance Gloves', 13 | Ring1 = 'Karieyh Ring +1', 14 | Ring2 = 'Chirich Ring +1', 15 | Back = 'Solemnity Cape', 16 | Waist = 'Moonbow Belt', 17 | Legs = 'Mpaca\'s Hose', 18 | Feet = 'Mpaca\'s Boots', 19 | }, 20 | Resting = {}, 21 | Idle_Regen = { 22 | Neck = 'Bathy Choker +1', 23 | Ear1 = 'Infused Earring', 24 | Body = 'Hiza. Haramaki +2', 25 | Hands = 'Rao Kote', 26 | Ring2 = 'Chirich Ring +1', 27 | }, 28 | Idle_Refresh = {}, 29 | Town = { 30 | Main = 'Sakpata\'s Fists', 31 | Ammo = 'Staunch Tathlum', 32 | Head = 'Anchorite\'s Crown', 33 | Body = 'Bhikku Cyclas +2', 34 | Legs = 'Mpaca\'s Hose', 35 | }, 36 | 37 | Dt = { 38 | Ammo = 'Staunch Tathlum', 39 | Head = 'Nyame Helm', 40 | Neck = { Name = 'Loricate Torque +1', AugPath='A' }, 41 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 42 | Ear2 = 'Etiolation Earring', 43 | Body = 'Malignance Tabard', 44 | Hands = 'Nyame Gauntlets', 45 | Ring1 = 'Defending Ring', 46 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' }, 47 | Waist = 'Flume Belt +1', 48 | Legs = 'Nyame Flanchard', 49 | Feet = 'Nyame Sollerets', 50 | }, 51 | 52 | Tp_Default = { 53 | Ammo = 'Coiste Bodhar', 54 | Head = { Name = 'Adhemar Bonnet +1', AugPath='B' }, 55 | Neck = 'Anu Torque', 56 | Ear1 = 'Sherida Earring', 57 | Ear2 = 'Telos Earring', 58 | Body = 'Malignance Tabard', 59 | Hands = { Name = 'Adhemar Wrist. +1', AugPath='B' }, 60 | Ring1 = 'Niqmaddu Ring', 61 | Ring2 = 'Gere Ring', 62 | Back = { Name = 'Segomo\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 63 | Waist = 'Moonbow Belt', 64 | Legs = { Name = 'Tatena. Haidate +1', AugPath='A' }, 65 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+6', [3] = 'AGI+1', [4] = '"Triple Atk."+3' } }, 66 | }, 67 | Tp_Hybrid = { 68 | Head = 'Mpaca\'s Cap', 69 | Neck = 'Sanctity Necklace', 70 | Body = 'Mpaca\'s Doublet', 71 | Hands = 'Mpaca\'s Gloves', 72 | Legs = 'Mpaca\'s Hose', 73 | Feet = 'Mpaca\'s Boots', 74 | }, 75 | Tp_Acc = { 76 | Ear1 = 'Mache Earring +1', 77 | Hands = 'Tatena. Gote +1', 78 | Ring1 = 'Cacoethic Ring +1', 79 | Ring2 = 'Chirich Ring +1', 80 | Feet = 'Tatena. Sune. +1', 81 | }, 82 | 83 | 84 | Precast = { 85 | Ammo = 'Staunch Tathlum', 86 | Neck = 'Baetyl Pendant', 87 | Ear1 = 'Etiolation Earring', 88 | Ring2 = 'Prolix Ring', 89 | }, 90 | 91 | Preshot = { 92 | }, 93 | Midshot = { 94 | Ear1 = 'Telos Earring', 95 | Ear2 = 'Crep. Earring', 96 | }, 97 | 98 | Ws_Default = { 99 | Ammo = 'Knobkierrie', 100 | Head = 'Mpaca\'s Cap', 101 | Neck = 'Fotia Gorget', 102 | Ear1 = 'Telos Earring', 103 | Ear2 = 'Odr Earring', 104 | Body = 'Mummu Jacket +2', 105 | Hands = 'Malignance Gloves', 106 | Ring1 = 'Gere Ring', 107 | Ring2 = 'Niqmaddu Ring', 108 | Back = { Name = 'Segomo\'s Mantle', Augment = { [1] = 'STR+20', [2] = 'Crit.hit rate+10', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 109 | Waist = 'Moonbow Belt', 110 | Legs = 'Mpaca\'s Hose', 111 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+30', [2] = 'Weapon skill damage +8%', [3] = 'Attack+6', [4] = 'Mag. Acc.+2' } }, 112 | }, 113 | Ws_Hybrid = { 114 | }, 115 | Ws_Acc = { 116 | }, 117 | 118 | Victory_Default = { 119 | Head = { Name = 'Adhemar Bonnet +1', AugPath='B' }, 120 | Ear1 = 'Sherida Earring', 121 | Hands = 'Ryuo Tekko', 122 | Back = { Name = 'Segomo\'s Mantle', Augment = { [1] = 'STR+20', [2] = 'Crit.hit rate+10', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 123 | Legs = 'Mpaca\'s Hose', 124 | }, 125 | Victory_Imp = { 126 | Ammo = 'Coiste Bodhar', 127 | Ear1 = 'Sherida Earring', 128 | Ear2 = 'Schere Earring', 129 | Body = 'Bhikku Cyclas +2', 130 | Back = { Name = 'Segomo\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 131 | }, 132 | Victory_Hybrid = {}, 133 | Victory_Acc = {}, 134 | 135 | Shijin_Default = { 136 | }, 137 | Shijin_Hybrid = {}, 138 | Shijin_Acc = {}, 139 | 140 | Impetus = {--over rides your TP set if impetus is up 141 | Body = 'Bhikku Cyclas +2', 142 | }, 143 | Focus = { 144 | Head = 'Anchor. Crown +1', 145 | }, 146 | Dodge = { 147 | Feet = 'Anch. Gaiters', 148 | }, 149 | Chakra = { 150 | Body = 'Anch. Cyclas +1', 151 | Hands = 'Hes. Gloves', 152 | }, 153 | FootworkJA = {--this is used on JA activation 154 | Feet = 'Bhikku Gaiters +1', 155 | }, 156 | Footwork = {--this will override your TP while footwork is active 157 | Feet = 'Bhikku Gaiters +1', 158 | }, 159 | HundredFists = { 160 | Legs = 'Hes. Hose +3', 161 | }, 162 | FormlessStrikes = { 163 | Body = 'Hes. Cyclas', 164 | }, 165 | Counterstance = {--these feet are also for Mantra 166 | Feet = 'Hes. Gaiters', 167 | }, 168 | 169 | TH = { 170 | Ammo = 'Per. Lucky Egg', 171 | Waist = 'Chaac Belt', 172 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Potency of "Cure" effect received+5%', [2] = 'Mag. Acc.+19', [3] = 'Accuracy+21', [4] = '"Mag. Atk. Bns."+19', [5] = '"Treasure Hunter"+2' } }, 173 | }, 174 | Movement = { 175 | Feet = 'Herald\'s Gaiters', 176 | }, 177 | }; 178 | profile.Sets = sets; 179 | 180 | profile.Packer = { 181 | {Name = 'Red Curry Bun', Quantity = 'all'}, 182 | }; 183 | 184 | profile.OnLoad = function() 185 | gSettings.AllowAddSet = true; 186 | gcinclude.Initialize(); 187 | 188 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 4'); 189 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 10'); 190 | end 191 | 192 | profile.OnUnload = function() 193 | gcinclude.Unload(); 194 | end 195 | 196 | profile.HandleCommand = function(args) 197 | gcinclude.HandleCommands(args); 198 | end 199 | 200 | profile.HandleDefault = function() 201 | gFunc.EquipSet(sets.Idle); 202 | local impetus = gData.GetBuffCount('Impetus'); 203 | local footwork = gData.GetBuffCount('Footwork'); 204 | 205 | local player = gData.GetPlayer(); 206 | 207 | if (player.Status == 'Engaged') then 208 | gFunc.EquipSet(sets.Tp_Default); 209 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 210 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 211 | if (impetus >= 1) then gFunc.EquipSet(sets.Impetus) end 212 | if (footwork >= 1) then gFunc.EquipSet(sets.Footwork) end 213 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 214 | elseif (player.Status == 'Resting') then 215 | gFunc.EquipSet(sets.Resting); 216 | elseif (player.IsMoving == true) then 217 | gFunc.EquipSet(sets.Movement); 218 | end 219 | 220 | gcinclude.CheckDefault (); 221 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 222 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 223 | end 224 | 225 | profile.HandleAbility = function() 226 | local ability = gData.GetAction(); 227 | 228 | if string.match(ability.Name, 'Focus') then gFunc.EquipSet(sets.Focus); 229 | elseif string.match(ability.Name, 'Dodge') then gFunc.EquipSet(sets.Dodge); 230 | elseif string.match(ability.Name, 'Hundred Fists') then gFunc.EquipSet(sets.HundredFists); 231 | elseif string.match(ability.Name, 'Chakra') then gFunc.EquipSet(sets.Chakra); 232 | elseif string.match(ability.Name, 'Footwork') then gFunc.EquipSet(sets.FootworkJA); 233 | elseif string.match(ability.Name, 'Counterstance') or string.match(ability.Name, 'Mantra') then gFunc.EquipSet(sets.Counterstance); 234 | elseif string.contains(ability.Name, 'Formless Strikes') then gFunc.EquipSet(sets.FormlessStrikes) end 235 | 236 | gcinclude.CheckCancels(); 237 | end 238 | 239 | profile.HandleItem = function() 240 | local item = gData.GetAction(); 241 | 242 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 243 | end 244 | 245 | profile.HandlePrecast = function() 246 | local spell = gData.GetAction(); 247 | gFunc.EquipSet(sets.Precast); 248 | 249 | gcinclude.CheckCancels(); 250 | end 251 | 252 | profile.HandleMidcast = function() 253 | local spell = gData.GetAction(); 254 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 255 | end 256 | 257 | profile.HandlePreshot = function() 258 | gFunc.EquipSet(sets.Preshot); 259 | end 260 | 261 | profile.HandleMidshot = function() 262 | gFunc.EquipSet(sets.Midshot); 263 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 264 | end 265 | 266 | profile.HandleWeaponskill = function() 267 | local canWS = gcinclude.CheckWsBailout(); 268 | if (canWS == false) then gFunc.CancelAction() return; 269 | else 270 | local ws = gData.GetAction(); 271 | local impetus = gData.GetBuffCount('Impetus'); 272 | 273 | gFunc.EquipSet(sets.Ws_Default) 274 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 275 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 276 | 277 | if string.match(ws.Name, 'Victory Smite') then 278 | gFunc.EquipSet(sets.Victory_Default) 279 | if impetus > 0 then gFunc.EquipSet('Victory_Imp'); end 280 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 281 | gFunc.EquipSet('Victory_' .. gcdisplay.GetCycle('MeleeSet')); end 282 | elseif string.match(ws.Name, 'Shijin Spiral') then 283 | gFunc.EquipSet(sets.Shijin_Default) 284 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 285 | gFunc.EquipSet('Shijin_' .. gcdisplay.GetCycle('MeleeSet')); end 286 | end 287 | end 288 | end 289 | 290 | return profile; 291 | -------------------------------------------------------------------------------- /config/addons/luashitacast/DRG.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Ammo = 'Staunch Tathlum', 7 | Head = 'Crepuscular Helm', 8 | Neck = 'Shulmanu Collar', 9 | Ear1 = 'Mache Earring +1', 10 | Ear2 = 'Telos Earring', 11 | Body = 'Gleti\'s Cuirass', 12 | Hands = 'Flam. Manopolas +2', 13 | Ring1 = 'Defending Ring', 14 | Ring2 = 'Karieyh Ring +1', 15 | Back = { Name = 'Brigantia\'s Mantle', Augment = { [1] = 'STR+30', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 16 | Waist = 'Isa Belt', 17 | Legs = 'Gleti\'s Breeches', 18 | Feet = 'Gleti\'s Boots', 19 | }, 20 | Resting = {}, 21 | Idle_Regen = { 22 | Head = 'Crepuscular Helm', 23 | Neck = 'Bathy Choker +1', 24 | Ear1 = 'Infused Earring', 25 | Ring2 = 'Chirich Ring +1', 26 | }, 27 | Idle_Refresh = { 28 | Head = 'Jumalik Helm', 29 | Ring1 = 'Stikini Ring +1', 30 | }, 31 | Town = { 32 | Main = 'Shining One', 33 | Sub = 'Utu Grip', 34 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 35 | Head = 'Crepuscular Helm', 36 | Neck = 'Bathy Choker +1', 37 | Ear1 = 'Infused Earring', 38 | Ear2 = 'Telos Earring', 39 | Body = 'Gleti\'s Cuirass', 40 | Hands = 'Flam. Manopolas +2', 41 | Ring1 = 'Stikini Ring +1', 42 | Ring2 = 'Chirich Ring +1', 43 | Back = { Name = 'Brigantia\'s Mantle', Augment = { [1] = 'STR+30', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 44 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 45 | Legs = 'Gleti\'s Breeches', 46 | Feet = 'Gleti\'s Boots', 47 | }, 48 | 49 | Dt = { 50 | Ammo = 'Staunch Tathlum', 51 | Head = 'Nyame Helm', 52 | Neck = { Name = 'Loricate Torque +1', AugPath='A' }, 53 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 54 | Ear2 = 'Etiolation Earring', 55 | Body = 'Nyame Mail', 56 | Hands = 'Nyame Gauntlets', 57 | Ring1 = 'Defending Ring', 58 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' }, 59 | Back = 'Solemnity Cape', 60 | Waist = 'Flume Belt +1', 61 | Legs = 'Nyame Flanchard', 62 | Feet = 'Nyame Sollerets', 63 | }, 64 | 65 | Tp_Default = { 66 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 67 | Head = 'Flam. Zucchetto +2', 68 | Neck = 'Shulmanu Collar', 69 | Ear1 = 'Sherida Earring', 70 | Ear2 = 'Telos Earring', 71 | Body = 'Gleti\'s Cuirass', 72 | Hands = 'Flam. Manopolas +2', 73 | Ring1 = 'Petrov Ring', 74 | Ring2 = 'Niqmaddu Ring', 75 | Back = { Name = 'Brigantia\'s Mantle', Augment = { [1] = 'STR+30', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 76 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 77 | Legs = 'Gleti\'s Breeches', 78 | Feet = 'Gleti\'s Boots', 79 | }, 80 | Tp_Hybrid = { 81 | Body = 'Hjarrandi Breast.', 82 | }, 83 | Tp_Acc = { 84 | Ring1 = 'Cacoethic Ring +1', 85 | Ring2 = 'Chirich Ring +1', 86 | }, 87 | 88 | 89 | Precast = { 90 | Neck = 'Baetyl Pendant', 91 | Ear1 = 'Malignance Earring', 92 | Ear2 = 'Etiolation Earring', 93 | Body = 'Taeon Tabard', 94 | Hands = 'Leyline Gloves', 95 | Ring1 = 'Prolix Ring', 96 | Legs = 'Enif Cosciales', 97 | }, 98 | 99 | 100 | Cure = { 101 | Ammo = 'Pemphredo Tathlum', 102 | Neck = 'Incanter\'s Torque', 103 | Ear1 = 'Mendi. Earring', 104 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 105 | Back = 'Solemnity Cape', 106 | Legs = 'Carmine Cuisses +1', 107 | }, 108 | 109 | Enhancing = { 110 | Ammo = 'Pemphredo Tathlum', 111 | Neck = 'Incanter\'s Torque', 112 | Ear1 = 'Mendi. Earring', 113 | Ear2 = 'Andoaa Earring', 114 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 115 | }, 116 | 117 | Enfeebling = { 118 | Ammo = 'Pemphredo Tathlum', 119 | Neck = 'Erra Pendant', 120 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 121 | }, 122 | Macc = {}, 123 | 124 | Drain = { 125 | Neck = 'Erra Pendant', 126 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 127 | }, 128 | 129 | Nuke = { 130 | Ammo = 'Pemphredo Tathlum', 131 | Head = 'Nyame Helm', 132 | Neck = 'Baetyl Pendant', 133 | Ear1 = 'Crematio Earring', 134 | Body = 'Nyame Mail', 135 | Hands = 'Nyame Gauntlets', 136 | Ring1 = 'Shiva Ring +1', 137 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 138 | Legs = 'Nyame Flanchard', 139 | Feet = 'Nyame Sollerets', 140 | }, 141 | 142 | Preshot = { 143 | }, 144 | Midshot = { 145 | Ear1 = 'Telos Earring', 146 | Ear2 = 'Crep. Earring', 147 | }, 148 | 149 | Ws_Default = { 150 | Ammo = 'Knobkierrie', 151 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 152 | Neck = 'Fotia Gorget', 153 | Ear1 = 'Thrud Earring', 154 | Ear2 = 'Telos Earring', 155 | Body = 'Gleti\'s Cuirass', 156 | Hands = 'Nyame Gauntlets', 157 | Ring1 = 'Beithir Ring', 158 | Ring2 = 'Karieyh Ring +1', 159 | Back = { Name = 'Brigantia\'s Mantle', Augment = { [1] = 'STR+30', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 160 | Waist = 'Fotia Belt', 161 | Legs = 'Gleti\'s Breeches', 162 | Feet = 'Sulev. Leggings +2', 163 | }, 164 | Ws_Hybrid = { 165 | Body = 'Hjarrandi Breast.', 166 | }, 167 | Ws_Acc = { 168 | }, 169 | Aedge_Default = { 170 | Ammo = 'Knobkierrie', 171 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 172 | Neck = 'Baetyl Pendant', 173 | Ear1 = 'Thrud Earring', 174 | Ear2 = 'Friomisi Earring', 175 | Body = 'Nyame Mail', 176 | Hands = 'Nyame Gauntlets', 177 | Ring1 = 'Shiva Ring +1', 178 | Ring2 = 'Karieyh Ring +1', 179 | Waist = 'Eschan Stone', 180 | Legs = 'Nyame Flanchard', 181 | Feet = 'Nyame Sollerets', 182 | }, 183 | Aedge_Hybrid = { 184 | }, 185 | Aedge_Acc = { 186 | }, 187 | 188 | Jumps_Default = { 189 | }, 190 | Jumps_Hybrid = {}, 191 | Jumps_Acc = {}, 192 | 193 | TH = { 194 | Ammo = 'Per. Lucky Egg', 195 | Waist = 'Chaac Belt', 196 | }, 197 | Movement = { 198 | Legs = 'Carmine Cuisses +1', 199 | }, 200 | }; 201 | profile.Sets = sets; 202 | 203 | profile.Packer = { 204 | --{Name = 'Chonofuda', Quantity = 'all'}, 205 | }; 206 | 207 | profile.OnLoad = function() 208 | gSettings.AllowAddSet = true; 209 | gcinclude.Initialize(); 210 | 211 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 7'); 212 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 1'); 213 | 214 | gcinclude.settings.RefreshGearMPP = 40; 215 | gcinclude.settings.PetDTGearHPP = 0; --remove/edit this line if you care about your wyvern, I clearly do not care about mine. 216 | end 217 | 218 | profile.OnUnload = function() 219 | gcinclude.Unload(); 220 | end 221 | 222 | profile.HandleCommand = function(args) 223 | gcinclude.HandleCommands(args); 224 | end 225 | 226 | profile.HandleDefault = function() 227 | gFunc.EquipSet(sets.Idle); 228 | 229 | local player = gData.GetPlayer(); 230 | if (player.Status == 'Engaged') then 231 | gFunc.EquipSet(sets.Tp_Default) 232 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 233 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 234 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 235 | elseif (player.Status == 'Resting') then 236 | gFunc.EquipSet(sets.Resting); 237 | elseif (player.IsMoving == true) then 238 | gFunc.EquipSet(sets.Movement); 239 | end 240 | 241 | gcinclude.CheckDefault (); 242 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 243 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 244 | end 245 | 246 | profile.HandleAbility = function() 247 | local ability = gData.GetAction(); 248 | 249 | if (string.contains(ability.Name, 'Jump')) then 250 | gFunc.EquipSet(sets.Jumps_Default); 251 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 252 | gFunc.EquipSet('Jumps_' .. gcdisplay.GetCycle('MeleeSet')); end 253 | end 254 | 255 | gcinclude.CheckCancels(); 256 | end 257 | 258 | profile.HandleItem = function() 259 | local item = gData.GetAction(); 260 | 261 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 262 | end 263 | 264 | profile.HandlePrecast = function() 265 | local spell = gData.GetAction(); 266 | gFunc.EquipSet(sets.Precast); 267 | 268 | gcinclude.CheckCancels(); 269 | end 270 | 271 | profile.HandleMidcast = function() 272 | local weather = gData.GetEnvironment(); 273 | local spell = gData.GetAction(); 274 | local target = gData.GetActionTarget(); 275 | 276 | if (spell.Skill == 'Enhancing Magic') then 277 | gFunc.EquipSet(sets.Enhancing); 278 | elseif (spell.Skill == 'Healing Magic') then 279 | gFunc.EquipSet(sets.Cure); 280 | elseif (spell.Skill == 'Elemental Magic') then 281 | gFunc.EquipSet(sets.Nuke); 282 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 283 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 284 | end 285 | elseif (spell.Skill == 'Enfeebling Magic') then 286 | gFunc.EquipSet(sets.Enfeebling); 287 | elseif (spell.Skill == 'Dark Magic') then 288 | gFunc.EquipSet(sets.Macc); 289 | if (string.contains(spell.Name, 'Aspir') or string.contains(spell.Name, 'Drain')) then 290 | gFunc.EquipSet(sets.Drain); 291 | end 292 | end 293 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 294 | end 295 | 296 | profile.HandlePreshot = function() 297 | gFunc.EquipSet(sets.Preshot); 298 | end 299 | 300 | profile.HandleMidshot = function() 301 | gFunc.EquipSet(sets.Midshot); 302 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 303 | end 304 | 305 | profile.HandleWeaponskill = function() 306 | local canWS = gcinclude.CheckWsBailout(); 307 | if (canWS == false) then gFunc.CancelAction() return; 308 | else 309 | local ws = gData.GetAction(); 310 | 311 | gFunc.EquipSet(sets.Ws_Default) 312 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 313 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 314 | 315 | if string.match(ws.Name, 'Aeolian Edge') then 316 | gFunc.EquipSet(sets.Aedge_Default) 317 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 318 | gFunc.EquipSet('Aedge_' .. gcdisplay.GetCycle('MeleeSet')); end 319 | end 320 | end 321 | end 322 | 323 | return profile; 324 | -------------------------------------------------------------------------------- /config/addons/luashitacast/THF.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | 5 | local sets = { 6 | Idle = { 7 | Head = 'Malignance Chapeau', 8 | Neck = 'Bathy Choker +1', 9 | Ear1 = 'Eabani Earring', 10 | Ear2 = 'Etiolation Earring', 11 | Body = 'Gleti\'s Cuirass', 12 | Hands = 'Malignance Gloves', 13 | Ring1 = 'Moonbeam Ring', 14 | Ring2 = 'Chirich Ring +1', 15 | Back = 'Solemnity Cape', 16 | Waist = 'Flume Belt +1', 17 | Legs = 'Gleti\'s Breeches', 18 | Feet = 'Gleti\'s Boots', 19 | }, 20 | Resting = {}, 21 | Idle_Regen = { 22 | Head = 'Meghanada Visor +2', 23 | Neck = 'Bathy Choker +1', 24 | Ear1 = 'Infused Earring', 25 | Hands = 'Meg. Gloves +2', 26 | Ring2 = 'Chirich Ring +1', 27 | Feet = 'Meg. Jam. +2', 28 | }, 29 | Idle_Refresh = {}, 30 | Town = { 31 | Main = 'Tauret', 32 | Sub = 'Shijo', 33 | Ammo = 'Coiste Bodhar', 34 | }, 35 | 36 | Dt = { 37 | Head = 'Nyame Helm', 38 | Neck ='Bathy Choker +1', 39 | Ear1 = 'Odnowa Earring +1', 40 | Ear2 = 'Etiolation Earring', 41 | Body = 'Nyame Mail', 42 | Hands = 'Nyame Gauntlets', 43 | Ring1 = 'Moonbeam Ring', 44 | Ring2 = 'Gelatinous Ring +1', 45 | Back = { Name = 'Toutatis\'s Cape', Augment = { [1] = 'Damage taken-5%', [2] = 'Accuracy+30', [3] = 'Attack+20', [4] = '"Store TP"+10', [5] = 'DEX+20' } }, 46 | Waist = 'Sailfi Belt +1', 47 | Legs = 'Nyame Flanchard', 48 | Feet = 'Nyame Sollerets', 49 | }, 50 | 51 | Tp_Default = { 52 | Head = { Name = 'Adhemar Bonnet +1', AugPath='B' }, 53 | Neck = 'Anu Torque', 54 | Ear1 = 'Sherida Earring', 55 | Ear2 = 'Skulker\'s Earring', 56 | Body = { Name = 'Plunderer\'s Vest +3', AugTrial=5477 }, 57 | Hands = { Name = 'Adhemar Wrist. +1', AugPath='B' }, 58 | Ring1 = 'Gere Ring', 59 | Ring2 = 'Epona\'s Ring', 60 | Back = { Name = 'Toutatis\'s Cape', Augment = { [1] = 'Damage taken-5%', [2] = 'Accuracy+30', [3] = 'Attack+20', [4] = '"Store TP"+10', [5] = 'DEX+20' } }, 61 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 62 | Legs = 'Samnuha Tights', 63 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+6', [3] = 'AGI+1', [4] = '"Triple Atk."+3' } }, 64 | }, 65 | Tp_Hybrid = { 66 | Head = 'Malignance Chapeau', 67 | Body = 'Gleti\'s Cuirass', 68 | Hands = 'Malignance Gloves', 69 | Legs = 'Gleti\'s Breeches', 70 | Feet = 'Gleti\'s Boots', 71 | }, 72 | Tp_Acc = { 73 | Head = 'Malignance Chapeau', 74 | Neck = 'Sanctity Necklace', 75 | Ear1 = 'Mache Earring +1', 76 | Body = 'Gleti\'s Cuirass', 77 | Hands = 'Malignance Gloves', 78 | Ring1 = 'Cacoethic Ring +1', 79 | Ring2 = 'Chirich Ring +1', 80 | Legs = 'Gleti\'s Breeches', 81 | Feet = 'Gleti\'s Boots', 82 | }, 83 | 84 | 85 | Precast = { 86 | Head = 'Haruspex Hat', 87 | Neck = 'Baetyl Pendant', 88 | Ear2 = 'Etiolation Earring', 89 | Body = 'Taeon Tabard', 90 | Hands = 'Leyline Gloves', 91 | Ring1 = 'Prolix Ring', 92 | Legs = 'Enif Cosciales', 93 | }, 94 | 95 | Preshot = { 96 | }, 97 | Midshot = { 98 | Head = 'Malignance Chapeau', 99 | Neck = 'Iskur Gorget', 100 | Ear1 = 'Telos Earring', 101 | Ear2 = 'Crep. Earring', 102 | Body = 'Mummu Jacket +2', 103 | Hands = 'Plun. Armlets +3', 104 | Ring2 = 'Dingir Ring', 105 | Waist = 'Eschan Stone', 106 | }, 107 | 108 | Ws_Default = { 109 | Head = { Name = 'Adhemar Bonnet +1', AugPath='B' }, 110 | Neck = 'Fotia Gorget', 111 | Ear1 = 'Odr Earring', 112 | Ear2 = 'Mache Earring +1', 113 | Body = { Name = 'Plunderer\'s Vest +3', AugTrial=5477 }, 114 | Hands = 'Meg. Gloves +2', 115 | Ring1 = 'Beithir Ring', 116 | Ring2 = 'Karieyh Ring +1', 117 | Back = { Name = 'Toutatis\'s Cape', Augment = { [1] = 'Accuracy+20', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'DEX+20' } }, 118 | Waist = 'Fotia Belt', 119 | Legs = 'Gleti\'s Breeches', 120 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+30', [2] = 'Weapon skill damage +8%', [3] = 'Attack+6', [4] = 'Mag. Acc.+2' } }, 121 | }, 122 | Ws_Default_SA = { 123 | }, 124 | Ws_Default_TA = { 125 | }, 126 | Ws_Default_SATA = { 127 | }, 128 | Ws_Hybrid = { 129 | Head = 'Nyame Helm', 130 | Body = 'Gleti\'s Cuirass', 131 | Legs = 'Gleti\'s Breeches', 132 | Feet = 'Gleti\'s Boots', 133 | }, 134 | Ws_Hybrid_SA = {}, 135 | Ws_Hybrid_TA = {}, 136 | Ws_Hybrid_SATA = {}, 137 | Ws_Acc = { 138 | }, 139 | Ws_Acc_SA = {}, 140 | Ws_Acc_TA = {}, 141 | Ws_Acc_SATA = {}, 142 | 143 | Evis_Default = { 144 | Head = { Name = 'Adhemar Bonnet +1', AugPath='B' }, 145 | Neck = 'Fotia Gorget', 146 | Ear1 = 'Odr Earring', 147 | Ear2 = 'Mache Earring +1', 148 | Body = { Name = 'Plunderer\'s Vest +3', AugTrial=5477 }, 149 | Hands = 'Meg. Gloves +2', 150 | Ring1 = 'Beithir Ring', 151 | Ring2 = 'Karieyh Ring +1', 152 | Back = { Name = 'Toutatis\'s Cape', Augment = { [1] = 'Accuracy+20', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'DEX+20' } }, 153 | Waist = 'Fotia Belt', 154 | Legs = 'Gleti\'s Breeches', 155 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+30', [2] = 'Weapon skill damage +8%', [3] = 'Attack+6', [4] = 'Mag. Acc.+2' } }, 156 | }, 157 | Evis_Default_SA = { 158 | }, 159 | Evis_Default_TA = { 160 | 161 | }, 162 | Evis_Default_SATA = { 163 | }, 164 | Evis_Hybrid = { 165 | }, 166 | Evis_Hybrid_SA = {}, 167 | Evis_Hybrid_TA = {}, 168 | Evis_Hybrid_SATA = {}, 169 | Evis_Acc = { 170 | }, 171 | Evis_Acc_SA = {}, 172 | Evis_Acc_TA = {}, 173 | Evis_Acc_SATA = {}, 174 | 175 | 176 | SATA = { 177 | 178 | }, 179 | SA = { 180 | 181 | }, 182 | TA = { 183 | 184 | }, 185 | TH = { 186 | Hands = 'Plun. Armlets +3', 187 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Potency of "Cure" effect received+5%', [2] = 'Mag. Acc.+19', [3] = 'Accuracy+21', [4] = '"Mag. Atk. Bns."+19', [5] = '"Treasure Hunter"+2' } }, 188 | }, 189 | Flee = { 190 | Feet = 'Pill. Poulaines +2', 191 | }, 192 | Movement = { 193 | Feet = 'Pill. Poulaines +2', 194 | }, 195 | }; 196 | profile.Sets = sets; 197 | 198 | profile.Packer = { 199 | 'Odious Blood', 200 | 'Odious Pen', 201 | 'Odious Skull', 202 | 'Odious Horn', 203 | {Name = 'Forgotten Hope', Quantity = 'all'}, 204 | {Name = 'Frgtn. Thought', Quantity = 'all'}, 205 | 'Shrouded Bijou', 206 | {Name = 'T. Whiteshell', Quantity = 'all'}, 207 | {Name = 'O. Bronzepiece', Quantity = 'all'}, 208 | {Name = '1 Byne Bill', Quantity = 'all'}, 209 | }; 210 | 211 | profile.OnLoad = function() 212 | gSettings.AllowAddSet = true; 213 | gcinclude.Initialize(); 214 | 215 | --[[ Set you job macro defaults here]] 216 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 2'); 217 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 1'); 218 | end 219 | 220 | profile.OnUnload = function() 221 | gcinclude.Unload(); 222 | end 223 | 224 | profile.HandleCommand = function(args) 225 | gcinclude.HandleCommands(args); 226 | end 227 | 228 | profile.HandleDefault = function() 229 | gFunc.EquipSet(sets.Idle); 230 | local sa = gData.GetBuffCount('Sneak Attack'); 231 | local ta = gData.GetBuffCount('Trick Attack'); 232 | 233 | local player = gData.GetPlayer(); 234 | if (player.Status == 'Engaged') then 235 | gFunc.EquipSet(sets.Tp_Default) 236 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 237 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 238 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 239 | elseif (player.Status == 'Resting') then 240 | gFunc.EquipSet(sets.Resting); 241 | elseif (player.IsMoving == true) then 242 | gFunc.EquipSet(sets.Movement); 243 | end 244 | 245 | if (sa == 1) and (ta == 1) then 246 | gFunc.EquipSet('SATA'); 247 | elseif (sa == 1) then 248 | gFunc.EquipSet('SA'); 249 | elseif (ta == 1) then 250 | gFunc.EquipSet('TA'); 251 | end 252 | 253 | gcinclude.CheckDefault (); 254 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 255 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 256 | end 257 | 258 | profile.HandleAbility = function() 259 | local ability = gData.GetAction(); 260 | if string.match(ability.Name, 'Flee') then 261 | gFunc.EquipSet(sets.Flee); 262 | end 263 | 264 | gcinclude.CheckCancels(); 265 | end 266 | 267 | profile.HandleItem = function() 268 | local item = gData.GetAction(); 269 | 270 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 271 | end 272 | 273 | profile.HandlePrecast = function() 274 | local spell = gData.GetAction(); 275 | gFunc.EquipSet(sets.Precast); 276 | 277 | gcinclude.CheckCancels(); 278 | end 279 | 280 | profile.HandleMidcast = function() 281 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 282 | end 283 | 284 | profile.HandlePreshot = function() 285 | gFunc.EquipSet(sets.Preshot); 286 | end 287 | 288 | profile.HandleMidshot = function() 289 | gFunc.EquipSet(sets.Midshot); 290 | 291 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 292 | end 293 | 294 | profile.HandleWeaponskill = function() 295 | local canWS = gcinclude.CheckWsBailout(); 296 | if (canWS == false) then gFunc.CancelAction() return; 297 | else 298 | local ws = gData.GetAction(); 299 | local sa = gData.GetBuffCount('Sneak Attack'); 300 | local ta = gData.GetBuffCount('Trick Attack'); 301 | 302 | gFunc.EquipSet(sets.Ws_Default) 303 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 304 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 305 | if (sa == 1) and (ta == 1) then 306 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet') .. '_SATA'); 307 | elseif (sa == 1) then 308 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet') .. '_SA'); 309 | elseif (ta == 1) then 310 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet') .. '_TA'); 311 | end 312 | 313 | if string.match(ws.Name, 'Evisceration') then 314 | gFunc.EquipSet(sets.Evis_Default) 315 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 316 | gFunc.EquipSet('Evis_' .. gcdisplay.GetCycle('MeleeSet')); end 317 | if (sa == 1) and (ta == 1) then 318 | gFunc.EquipSet('Evis_' .. gcdisplay.GetCycle('MeleeSet') .. '_SATA'); 319 | elseif (sa == 1) then 320 | gFunc.EquipSet('Evis_' .. gcdisplay.GetCycle('MeleeSet') .. '_SA'); 321 | elseif (ta == 1) then 322 | gFunc.EquipSet('Evis_' .. gcdisplay.GetCycle('MeleeSet') .. '_TA'); 323 | end 324 | end 325 | end 326 | end 327 | 328 | return profile; 329 | -------------------------------------------------------------------------------- /config/addons/luashitacast/DNC.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Ammo = 'Yamarang', 7 | Head = 'Malignance Chapeau', 8 | Neck = 'Loricate Torque +1', 9 | Ear1 = 'Etiolation Earring', 10 | Ear2 = 'Eabani Earring', 11 | Body = 'Gleti\'s Cuirass', 12 | Hands = 'Malignance Gloves', 13 | Ring1 = 'Defending Ring', 14 | Ring2 = 'Karieyh Ring +1', 15 | Back = 'Solemnity Cape', 16 | Waist = 'Gishdubar Sash', 17 | Legs = 'Gleti\'s Breeches', 18 | Feet = 'Gleti\'s Boots', 19 | }, 20 | Resting = {}, 21 | Idle_Regen = { 22 | Neck = 'Bathy Choker +1', 23 | Ear1 = 'Infused Earring', 24 | Ring2 = 'Chirich Ring +1', 25 | Feet = 'Turms Leggings', 26 | }, 27 | Idle_Refresh = {}, 28 | Town = { 29 | Main = 'Tauret', 30 | Sub = 'Acrontica', 31 | Ammo = 'Yamarang', 32 | Head = 'Maculele Tiara +1', 33 | Body = 'Macu. Casaque +1', 34 | Hands = 'Malignance Gloves', 35 | Legs = 'Gleti\'s Breeches', 36 | Feet = 'Gleti\'s Boots', 37 | }, 38 | 39 | Dt = { 40 | Ammo = 'Staunch Tathlum', 41 | Head = 'Nyame Helm', 42 | Neck = { Name = 'Loricate Torque +1', AugPath='A' }, 43 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 44 | Ear2 = 'Etiolation Earring', 45 | Body = 'Nyame Mail', 46 | Hands = 'Nyame Gauntlets', 47 | Ring1 = 'Defending Ring', 48 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' }, 49 | Back = 'Solemnity Cape', 50 | Waist = 'Flume Belt +1', 51 | Legs = 'Nyame Flanchard', 52 | Feet = 'Nyame Sollerets', 53 | }, 54 | 55 | Tp_Default = { 56 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 57 | Head = { Name = 'Adhemar Bonnet +1', AugPath='B' }, 58 | Neck = 'Anu Torque', 59 | Ear1 = 'Sherida Earring', 60 | Ear2 = 'Eabani Earring', 61 | Body = 'Gleti\'s Cuirass', 62 | Hands = 'Adhemar Wrist. +1', 63 | Ring1 = 'Gere Ring', 64 | Ring2 = 'Epona\'s Ring', 65 | Back = 'Senuna\'s Mantle', 66 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 67 | Legs = 'Samnuha Tights', 68 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+6', [3] = 'AGI+1', [4] = '"Triple Atk."+3' } }, 69 | }, 70 | Tp_Hybrid = { 71 | Head = 'Malignance Chapeau', 72 | Neck = 'Sanctity Necklace', 73 | Body = 'Malignance Tabard', 74 | Hands = 'Malignance Gloves', 75 | Legs = 'Gleti\'s Breeches', 76 | Feet = 'Gleti\'s Boots', 77 | }, 78 | Tp_Acc = { 79 | Ammo = 'Yamarang', 80 | Head = 'Malignance Chapeau', 81 | Neck = 'Sanctity Necklace', 82 | Ear1 = 'Mache Earring +1', 83 | Ear2 = 'Telos Earring', 84 | Body = 'Malignance Tabard', 85 | Hands = 'Malignance Gloves', 86 | Ring1 = 'Cacoethic Ring +1', 87 | Ring2 = 'Chirich Ring +1', 88 | Legs = 'Gleti\'s Breeches', 89 | Feet = 'Gleti\'s Boots', 90 | }, 91 | 92 | 93 | Precast = { 94 | Ammo = 'Staunch Tathlum', 95 | Neck = 'Baetyl Pendant', 96 | Ear1 = 'Loquac. Earring', 97 | Ear2 = 'Etiolation Earring', 98 | Hands = 'Leyline Gloves', 99 | Ring2 = 'Prolix Ring', 100 | }, 101 | 102 | Preshot = { 103 | }, 104 | Midshot = { 105 | Ear1 = 'Telos Earring', 106 | Ear2 = 'Crep. Earring', 107 | }, 108 | 109 | Ws_Default = { 110 | Ammo = 'Voluspa Tathlum', 111 | Head = { Name = 'Adhemar Bonnet +1', AugPath='B' }, 112 | Neck = 'Fotia Gorget', 113 | Ear1 = 'Sherida Earring', 114 | Ear2 = 'Mache Earring +1', 115 | Body = 'Nyame Mail', 116 | Hands = 'Meg. Gloves +2', 117 | Ring1 = 'Beithir Ring', 118 | Ring2 = 'Karieyh Ring +1', 119 | Waist = 'Fotia Belt', 120 | Legs = 'Nyame Flanchard', 121 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+30', [2] = 'Weapon skill damage +8%', [3] = 'Attack+6', [4] = 'Mag. Acc.+2' } }, 122 | }, 123 | Ws_Hybrid = { 124 | }, 125 | Ws_Acc = { 126 | }, 127 | 128 | Evis_Default = { 129 | Head = 'Adhemar Bonnet +1', 130 | Neck = 'Fotia Gorget', 131 | Ear1 = 'Sherida Earring', 132 | Ear2 = 'Odr Earring', 133 | Body = 'Meg. Cuirie +2', 134 | Hands = 'Mummu Wrists +2', 135 | Ring1 = 'Gere Ring', 136 | Ring2 = 'Ilabrat Ring', 137 | Waist = 'Fotia Belt', 138 | Legs = 'Mummu Kecks +2', 139 | Feet = 'Gleti\'s Boots', 140 | }, 141 | Evis_Hybrid = { 142 | }, 143 | Evis_Acc = { 144 | 145 | }, 146 | 147 | Rudra_Default = { 148 | Head = 'Blistering Sallet +1', 149 | Neck = 'Sanctity Necklace', 150 | Body = 'Meg. Cuirie +2', 151 | Hands = 'Meg. Gloves +2', 152 | Ring1 = 'Beithir Ring', 153 | Ring2 = 'Karieyh Ring +1', 154 | Waist = 'Sailfi Belt +1', 155 | Legs = 'Mummu Kecks +2', 156 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+30', [2] = 'Weapon skill damage +8%', [3] = 'Attack+6', [4] = 'Mag. Acc.+2' } }, 157 | }, 158 | Rudra_Hybrid = { 159 | }, 160 | Rudra_Acc = { 161 | 162 | }, 163 | 164 | Pyrrhic_Default = { 165 | Ammo = 'Coiste Bodhar', 166 | Head = 'Adhemar Bonnet +1', 167 | Neck = 'Fotia Gorget', 168 | Body = 'Herculean Vest', 169 | Hands = 'Adhemar Wrist. +1', 170 | Ring1 = 'Gere Ring', 171 | Ring2 = 'Epona\'s Ring', 172 | Waist = 'Fotia Belt', 173 | Legs = 'Samnuha Tights', 174 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+6', [3] = 'AGI+1', [4] = '"Triple Atk."+3' } }, 175 | }, 176 | Pyrrhic_Hybrid = { 177 | }, 178 | Pyrrhic_Acc = { 179 | 180 | }, 181 | 182 | Aedge_Default = { 183 | Ammo = 'Pemphredo Tathlum', 184 | Head = 'Nyame Helm', 185 | Neck = 'Baetyl Pendant', 186 | Ear1 = 'Friomisi Earring', 187 | Ear2 = 'Crematio Earring', 188 | Body = 'Nyame Mail', 189 | Hands = 'Nyame Gauntlets', 190 | Ring1 = 'Shiva Ring +1', 191 | Ring2 = 'Karieyh Ring +1', 192 | Waist = 'Eschan Stone', 193 | Legs = 'Nyame Flanchard', 194 | Feet = 'Nyame Sollerets', 195 | }, 196 | Aedge_Hybrid = {}, 197 | Aedge_Acc = {}, 198 | 199 | Waltz = { 200 | Ammo = 'Yamarang', 201 | }, 202 | 203 | Climactic = {-- on JA and while buff is active 204 | Head = 'Maculele Tiara +1', 205 | }, 206 | Striking = {-- on JA and while buff is active 207 | Body = 'Macu. Casaque +1', 208 | }, 209 | 210 | TH = { 211 | Ammo = 'Per. Lucky Egg', 212 | Waist = 'Chaac Belt', 213 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Potency of "Cure" effect received+5%', [2] = 'Mag. Acc.+19', [3] = 'Accuracy+21', [4] = '"Mag. Atk. Bns."+19', [5] = '"Treasure Hunter"+2' } }, 214 | }, 215 | Movement = { 216 | Feet = 'Herald\'s Gaiters', 217 | }, 218 | }; 219 | profile.Sets = sets; 220 | 221 | profile.Packer = { 222 | --{Name = 'Chonofuda', Quantity = 'all'}, 223 | }; 224 | 225 | profile.OnLoad = function() 226 | gSettings.AllowAddSet = true; 227 | gcinclude.Initialize(); 228 | 229 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 3'); 230 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 7'); 231 | end 232 | 233 | profile.OnUnload = function() 234 | gcinclude.Unload(); 235 | end 236 | 237 | profile.HandleCommand = function(args) 238 | gcinclude.HandleCommands(args); 239 | end 240 | 241 | profile.HandleDefault = function() 242 | gFunc.EquipSet(sets.Idle); 243 | 244 | local player = gData.GetPlayer(); 245 | local climactic = gData.GetBuffCount('Climactic Flourish'); 246 | 247 | if (player.Status == 'Engaged') then 248 | gFunc.EquipSet(sets.Tp_Default); 249 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 250 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 251 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 252 | elseif (player.Status == 'Resting') then 253 | gFunc.EquipSet(sets.Resting); 254 | elseif (player.IsMoving == true) then 255 | gFunc.EquipSet(sets.Movement); 256 | end 257 | 258 | gcinclude.CheckDefault (); 259 | if climactic > 0 then gFunc.EquipSet(sets.Climactic); end 260 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 261 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 262 | end 263 | 264 | profile.HandleAbility = function() 265 | local ability = gData.GetAction(); 266 | 267 | if string.match(ability.Name, 'Provoke') then gFunc.EquipSet(sets.Enmity); 268 | elseif string.contains(ability.Name, 'Climactic') then gFunc.EquipSet(sets.Climactic); 269 | elseif string.contains(ability.Name, 'Waltz') then gFunc.EquipSet(sets.Waltz) end 270 | 271 | gcinclude.CheckCancels(); 272 | end 273 | 274 | profile.HandleItem = function() 275 | local item = gData.GetAction(); 276 | 277 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 278 | end 279 | 280 | profile.HandlePrecast = function() 281 | local spell = gData.GetAction(); 282 | gFunc.EquipSet(sets.Precast); 283 | 284 | gcinclude.CheckCancels(); 285 | end 286 | 287 | profile.HandleMidcast = function() 288 | local spell = gData.GetAction(); 289 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 290 | end 291 | 292 | profile.HandlePreshot = function() 293 | gFunc.EquipSet(sets.Preshot); 294 | end 295 | 296 | profile.HandleMidshot = function() 297 | gFunc.EquipSet(sets.Midshot); 298 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 299 | end 300 | 301 | profile.HandleWeaponskill = function() 302 | local canWS = gcinclude.CheckWsBailout(); 303 | if (canWS == false) then gFunc.CancelAction() return; 304 | elseif (gcdisplay.GetToggle('PROC') == true) then 305 | gFunc.EquipSet(sets.Ws_Proc); 306 | else 307 | local ws = gData.GetAction(); 308 | local climactic = gData.GetBuffCount('Climactic Flourish'); 309 | local striking = gData.GetBuffCount('Striking Flourish'); 310 | 311 | gFunc.EquipSet(sets.Ws_Default) 312 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 313 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 314 | 315 | if string.match(ws.Name, 'Aeolian Edge') then 316 | gFunc.EquipSet(sets.Aedge_Default) 317 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 318 | gFunc.EquipSet('Aedge_' .. gcdisplay.GetCycle('MeleeSet')); end 319 | elseif string.match(ws.Name, 'Evisceration') then 320 | gFunc.EquipSet(sets.Evis_Default) 321 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 322 | gFunc.EquipSet('Evis_' .. gcdisplay.GetCycle('MeleeSet')); end 323 | if striking > 0 then gFunc.EquipSet(sets.Striking); end 324 | elseif string.match(ws.Name, 'Rudra\'s Storm') then 325 | gFunc.EquipSet(sets.Rudra_Default) 326 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 327 | gFunc.EquipSet('Rudra_' .. gcdisplay.GetCycle('MeleeSet')); end 328 | if climactic > 0 then gFunc.EquipSet(sets.Climactic); end 329 | elseif string.match(ws.Name, 'Pyrrhic Kleos') then 330 | gFunc.EquipSet(sets.Pyrrhic_Default) 331 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 332 | gFunc.EquipSet('Pyrrhic_' .. gcdisplay.GetCycle('MeleeSet')); end 333 | if striking > 0 then gFunc.EquipSet(sets.Striking); end 334 | end 335 | end 336 | end 337 | 338 | return profile; 339 | -------------------------------------------------------------------------------- /config/addons/luashitacast/DRK.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Ammo = 'Staunch Tathlum', 7 | Head = 'Jumalik Helm', 8 | Neck = 'Bathy Choker +1', 9 | Ear1 = 'Infused Earring', 10 | Ear2 = 'Etiolation Earring', 11 | Body = 'Nyame Mail', 12 | Hands = 'Volte Moufles', 13 | Ring1 = 'Stikini Ring +1', 14 | Ring2 = 'Chirich Ring +1', 15 | Back = 'Solemnity Cape', 16 | Waist = 'Gishdubar Sash', 17 | Legs = 'Nyame Flanchard', 18 | Feet = 'Nyame Sollerets', 19 | }, 20 | Resting = {}, 21 | Idle_Regen = { 22 | Head = 'Crepuscular Helm', 23 | Neck = 'Bathy Choker +1', 24 | Ear1 = 'Infused Earring', 25 | Ring2 = 'Chirich Ring +1', 26 | }, 27 | Idle_Refresh = { 28 | Head = 'Jumalik Helm', 29 | Ring1 = 'Stikini Ring +1', 30 | }, 31 | Town = { 32 | Main = 'Apocalypse', 33 | Sub = 'Utu Grip', 34 | Ammo = 'Staunch Tathlum', 35 | Head = 'Crepuscular Helm', 36 | Body = 'Fall. Cuirass +3', 37 | Hands = 'Nyame Gauntlets', 38 | Ring1 = 'Stikini Ring +1', 39 | Ring2 = 'Chirich Ring +1', 40 | Legs = { Name = 'Carmine Cuisses +1', AugPath='D' }, 41 | Feet = 'Nyame Sollerets', 42 | }, 43 | 44 | Dt = { 45 | Ammo = 'Staunch Tathlum', 46 | Head = 'Nyame Helm', 47 | Neck = { Name = 'Loricate Torque +1', AugPath='A' }, 48 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 49 | Ear2 = 'Etiolation Earring', 50 | Body = 'Nyame Mail', 51 | Hands = 'Volte Moufles', 52 | Ring1 = 'Defending Ring', 53 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' }, 54 | Back = 'Solemnity Cape', 55 | Waist = 'Flume Belt +1', 56 | Legs = 'Nyame Flanchard', 57 | Feet = 'Nyame Sollerets', 58 | }, 59 | 60 | Tp_Default = { 61 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 62 | Head = 'Flam. Zucchetto +2', 63 | Neck = 'Sanctity Necklace',--jse neck 64 | Ear1 = 'Telos Earring', 65 | Ear2 = 'Cessance Earring', 66 | Body = 'Flamma Korazin +2',--Sakpata\ body 67 | Hands = 'Sakpata\'s Gauntlets', 68 | Ring1 = 'Petrov Ring', 69 | Ring2 = 'Niqmaddu Ring', 70 | Back = { Name = 'Ankou\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 71 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 72 | Legs = 'Sakpata\'s Cuisses',--af+3 73 | Feet = 'Flam. Gambieras +2', 74 | }, 75 | Tp_Hybrid = { 76 | Body = 'Hjarrandi Breast.', 77 | Ring1 = 'Moonbeam Ring', 78 | Ring2 = 'Sulevia\'s Ring', 79 | Waist = 'Ioskeha Belt +1', 80 | Legs = 'Sakpata\'s Cuisses', 81 | }, 82 | Tp_Acc = { 83 | Ammo = 'Seeth. Bomblet +1', 84 | Head = 'Blistering Sallet +1', 85 | Ring1 = 'Cacoethic Ring +1', 86 | Ring2 = 'Chirich Ring +1', 87 | Waist = 'Ioskeha Belt +1', 88 | }, 89 | 90 | 91 | Precast = { 92 | Ammo = 'Sapience Orb', 93 | Head = 'Haruspex Hat', 94 | Neck = 'Baetyl Pendant', 95 | Body = 'Fall. Cuirass +3', 96 | Hands = 'Leyline Gloves', 97 | Ear1 = 'Malignance Earring', 98 | Ear2 = 'Etiolation Earring', 99 | Ring1 = 'Prolix Ring', 100 | Ring2 = 'Kishar Ring', 101 | Legs = 'Enif Cosciales', 102 | Feet = 'Carmine Greaves +1',--7 103 | }, 104 | 105 | 106 | Cure = { 107 | Ammo = 'Pemphredo Tathlum', 108 | Neck = 'Incanter\'s Torque', 109 | Ear1 = 'Mendi. Earring', 110 | Ring1 = 'Stikini Ring +1', 111 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 112 | Back = 'Solemnity Cape', 113 | Legs = 'Carmine Cuisses +1', 114 | Feet = { Name = 'Odyssean Greaves', Augment = { [1] = 'Damage taken-4%', [2] = 'Attack+8', [3] = 'Accuracy+2' } }, 115 | }, 116 | 117 | Enhancing = { 118 | Ammo = 'Pemphredo Tathlum', 119 | Head = 'Befouled Crown', 120 | Body = 'Shab. Cuirass +1', 121 | Neck = 'Incanter\'s Torque', 122 | Ear1 = 'Mendi. Earring', 123 | Ear2 = 'Andoaa Earring', 124 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 125 | }, 126 | Dread_Spikes = { -- HP+++++ at cast for max potency 127 | Head = 'Hjarrandi Helm', 128 | Neck = 'Unmoving Collar +1', 129 | Ear1 = 'Odnowa Earring +1', 130 | Ear2 = 'Etiolation Earring', 131 | Body = 'Hjarrandi Breast.', 132 | Hands = 'Sakpata\'s Gauntlets', 133 | Ring1 = 'Moonbeam Ring', 134 | Ring2 = 'Eihwaz Ring', 135 | Waist = 'Asklepian Belt', 136 | Legs = 'Nyame Flanchard', 137 | Feet = 'Carmine Greaves +1', 138 | }, 139 | 140 | Enfeebling = { 141 | Ammo = 'Pemphredo Tathlum', 142 | Head = 'Befouled Crown', 143 | Neck = 'Erra Pendant', 144 | Ear1 = 'Crep. Earring', 145 | Ear2 = 'Malignance Earring', 146 | Ring1 = 'Kishar Ring', 147 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 148 | }, 149 | Macc = { 150 | Neck = 'Erra Pendant', 151 | Ear1 = 'Crep. Earring', 152 | Ear2 = 'Malignance Earring', 153 | Ring1 = 'Kishar Ring', 154 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 155 | }, 156 | 157 | Drain = { 158 | Neck = 'Erra Pendant', 159 | Ear1 = 'Crep. Earring', 160 | Ear2 = 'Malignance Earring', 161 | Ring1 = 'Kishar Ring', 162 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 163 | }, 164 | 165 | Nuke = { 166 | Ammo = 'Pemphredo Tathlum', 167 | Head = 'Nyame Helm', 168 | Neck = 'Baetyl Pendant', 169 | Ear1 = 'Crematio Earring', 170 | Ear2 = 'Malignance Earring', 171 | Body = 'Fall. Cuirass +3', 172 | Hands = 'Nyame Gauntlets', 173 | Ring1 = 'Shiva Ring +1', 174 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 175 | Legs = 'Nyame Flanchard', 176 | Feet = 'Nyame Sollerets', 177 | }, 178 | 179 | Preshot = { 180 | }, 181 | Midshot = { 182 | Ear1 = 'Telos Earring', 183 | Ear2 = 'Crep. Earring', 184 | }, 185 | 186 | Ws_Default = { -- WSD for all scythe basically 187 | Ammo = 'Knobkierrie', 188 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 189 | Neck = 'Fotia Gorget', 190 | Ear1 = 'Telos Earring', 191 | Ear2 = 'Thrud Earring', 192 | Body = 'Hjarrandi Breast.', -- af+3 193 | Hands = 'Nyame Gauntlets', 194 | Ring1 = 'Beithir Ring', 195 | Ring2 = 'Karieyh Ring +1', 196 | Back = { Name = 'Ankou\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 197 | Waist = 'Fotia Belt', 198 | Legs = 'Sakpata\'s Cuisses', -- relic +3 199 | Feet = 'Sulev. Leggings +2', 200 | }, 201 | Ws_Hybrid = { 202 | }, 203 | Ws_Acc = { 204 | }, 205 | 206 | Aedge_Default = { 207 | Ammo = 'Seeth. Bomblet +1', 208 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 209 | Neck = 'Sanctity Necklace', 210 | Ear1 = 'Malignance Earring', 211 | Ear2 = 'Friomisi Earring', 212 | Body = 'Fall. Cuirass +3', 213 | Hands = 'Carmine Fin. Ga. +1', 214 | Ring1 = 'Shiva Ring +1', 215 | Ring2 = 'Metamor. Ring +1', 216 | Back = { Name = 'Ankou\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 217 | Waist = 'Eschan Stone', 218 | Legs = 'Nyame Flanchard', 219 | Feet = 'Nyame Sollerets', 220 | }, 221 | Aedge_Hybrid = { 222 | }, 223 | Aedge_Acc = { 224 | }, 225 | 226 | Spikes = { -- set to leave body on with dread spikes up, only body here! 227 | Body = 'Heath. Cuirass +1', 228 | }, 229 | BloodWeapon = { 230 | Body = 'Fall. Cuirass +3', 231 | }, 232 | TH = { 233 | Ammo = 'Per. Lucky Egg', 234 | Waist = 'Chaac Belt', 235 | }, 236 | Movement = { 237 | Legs = 'Carmine Cuisses +1', 238 | }, 239 | }; 240 | profile.Sets = sets; 241 | 242 | profile.Packer = { 243 | --{Name = 'Chonofuda', Quantity = 'all'}, 244 | }; 245 | 246 | profile.OnLoad = function() 247 | gSettings.AllowAddSet = true; 248 | gcinclude.Initialize(); 249 | 250 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 7'); 251 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 10'); 252 | end 253 | 254 | profile.OnUnload = function() 255 | gcinclude.Unload(); 256 | end 257 | 258 | profile.HandleCommand = function(args) 259 | gcinclude.HandleCommands(args); 260 | end 261 | 262 | profile.HandleDefault = function() 263 | gFunc.EquipSet(sets.Idle); 264 | local spikes = gData.GetBuffCount('Dread Spikes'); 265 | 266 | local player = gData.GetPlayer(); 267 | if (player.Status == 'Engaged') then 268 | gFunc.EquipSet(sets.Tp_Default) 269 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 270 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 271 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 272 | elseif (player.Status == 'Resting') then 273 | gFunc.EquipSet(sets.Resting); 274 | elseif (player.IsMoving == true) then 275 | gFunc.EquipSet(sets.Movement); 276 | end 277 | 278 | if spikes ~= 0 then gFunc.EquipSet(sets.Spikes) end 279 | 280 | gcinclude.CheckDefault (); 281 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 282 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 283 | end 284 | 285 | profile.HandleAbility = function() 286 | local ability = gData.GetAction(); 287 | 288 | if string.match(ability.Name, 'Blood Weapon') then 289 | gFunc.EquipSet(sets.BloodWeapon); 290 | end 291 | 292 | gcinclude.CheckCancels(); 293 | end 294 | 295 | profile.HandleItem = function() 296 | local item = gData.GetAction(); 297 | 298 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 299 | end 300 | 301 | profile.HandlePrecast = function() 302 | local spell = gData.GetAction(); 303 | gFunc.EquipSet(sets.Precast); 304 | 305 | gcinclude.CheckCancels(); 306 | end 307 | 308 | profile.HandleMidcast = function() 309 | local weather = gData.GetEnvironment(); 310 | local spell = gData.GetAction(); 311 | local target = gData.GetActionTarget(); 312 | 313 | if (spell.Skill == 'Enhancing Magic') then 314 | gFunc.EquipSet(sets.Enhancing); 315 | elseif (spell.Skill == 'Healing Magic') then 316 | gFunc.EquipSet(sets.Cure); 317 | elseif (spell.Skill == 'Elemental Magic') then 318 | gFunc.EquipSet(sets.Nuke); 319 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 320 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 321 | end 322 | elseif (spell.Skill == 'Enfeebling Magic') then 323 | gFunc.EquipSet(sets.Enfeebling); 324 | elseif (spell.Skill == 'Dark Magic') then 325 | gFunc.EquipSet(sets.Macc); 326 | if (string.contains(spell.Name, 'Aspir') or string.contains(spell.Name, 'Drain')) then 327 | gFunc.EquipSet(sets.Drain); 328 | elseif (string.match(spell.Name, 'Dread Spikes')) then 329 | gFunc.EquipSet(sets.Dread_Spikes); 330 | end 331 | end 332 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 333 | end 334 | 335 | profile.HandlePreshot = function() 336 | gFunc.EquipSet(sets.Preshot); 337 | end 338 | 339 | profile.HandleMidshot = function() 340 | gFunc.EquipSet(sets.Midshot); 341 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 342 | end 343 | 344 | profile.HandleWeaponskill = function() 345 | local canWS = gcinclude.CheckWsBailout(); 346 | if (canWS == false) then gFunc.CancelAction() return; 347 | else 348 | local ws = gData.GetAction(); 349 | 350 | gFunc.EquipSet(sets.Ws_Default) 351 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 352 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 353 | 354 | if string.match(ws.Name, 'Aeolian Edge') then 355 | gFunc.EquipSet(sets.Aedge_Default) 356 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 357 | gFunc.EquipSet('Aedge_' .. gcdisplay.GetCycle('MeleeSet')); end 358 | end 359 | end 360 | end 361 | 362 | return profile; 363 | -------------------------------------------------------------------------------- /config/addons/luashitacast/BST.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | 5 | local sets = { 6 | Idle = { 7 | Main = 'Naegling', 8 | Sub = 'Adapa Shield', 9 | Ammo = 'Voluspa Tathlum', 10 | Head = 'Malignance Chapeau', 11 | Neck = 'Bathy Choker +1', 12 | Ear1 = 'Odnowa Earring +1', 13 | Ear2 = 'Etiolation Earring', 14 | Body = 'Gleti\'s Cuirass', 15 | Hands = 'Nyame Gauntlets', 16 | Ring1 = 'Defending Ring', 17 | Ring2 = 'Gelatinous Ring +1', 18 | Back = { Name = 'Artio\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: "Regen"+10', [4] = 'Pet: Acc.+20', [5] = 'Pet: Atk.+20' } }, 19 | Waist = 'Isa Belt', 20 | Legs = 'Gleti\'s Breeches', 21 | Feet = 'Gleti\'s Boots', 22 | }, 23 | Resting = {}, 24 | Idle_Regen = { 25 | Head = 'Crepuscular Helm', 26 | Neck = 'Bathy Choker +1', 27 | Ear1 = 'Infused Earring', 28 | Ring2 = 'Chirich Ring +1', 29 | }, 30 | Idle_Refresh = { 31 | Head = 'Jumalik Helm', 32 | Ring1 = 'Stikini Ring +1', 33 | }, 34 | Town = { 35 | Main = 'Naegling', 36 | Sub = 'Adapa Shield', 37 | Ammo = 'Voluspa Tathlum', 38 | Head = 'Malignance Chapeau', 39 | Neck = 'Empath Necklace', 40 | Ear1 = 'Thrud Earring', 41 | Ear2 = 'Telos Earring', 42 | Body = 'Gleti\'s Cuirass', 43 | Hands = 'Malignance Gloves', 44 | Ring1 = 'Epona\'s Ring', 45 | Ring2 = 'Petrov Ring', 46 | Back = { Name = 'Artio\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: "Regen"+10', [4] = 'Pet: Acc.+20', [5] = 'Pet: Atk.+20' } }, 47 | Waist = 'Flume Belt +1', 48 | Legs = 'Gleti\'s Breeches', 49 | Feet = 'Gleti\'s Boots', 50 | }, 51 | 52 | Dt = { 53 | Ammo = 'Staunch Tathlum', 54 | Head = 'Nyame Helm', 55 | Neck = 'Empath Necklace', 56 | Ear1 = 'Odnowa Earring +1', 57 | Ear2 = 'Handler\'s Earring +1', 58 | Body = 'Gleti\'s Cuirass', 59 | Hands = 'Nyame Gauntlets', 60 | Ring1 = 'Defending Ring', 61 | Ring2 = 'Gelatinous Ring +1', 62 | Back = { Name = 'Artio\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: "Regen"+10', [4] = 'Pet: Acc.+20', [5] = 'Pet: Atk.+20' } }, 63 | Waist = 'Gishdubar Sash', 64 | Legs = 'Nyame Flanchard', 65 | Feet = 'Nyame Sollerets', 66 | }, 67 | Pet_Dt = { 68 | Head = 'Anwig Salade', 69 | Neck = 'Empath Necklace', 70 | Ear1 = 'Enmerkar Earring', 71 | Ear2 = 'Handler\'s Earring +1', 72 | Body = 'Taeon Tabard', 73 | Hands = 'Taeon Gloves', 74 | Ring1 = 'Defending Ring', 75 | Ring2 = 'Gelatinous Ring +1', 76 | Back = { Name = 'Artio\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: "Regen"+10', [4] = 'Pet: Acc.+20', [5] = 'Pet: Atk.+20' } }, 77 | Waist = 'Isa Belt', 78 | Legs = 'Taeon Tights', 79 | Feet = 'Gleti\'s Boots', 80 | }, 81 | 82 | Tp_Default = { 83 | Ammo = 'Coiste Bodhar', 84 | Head = 'Malignance Chapeau', 85 | Neck = 'Anu Torque', 86 | Ear1 = 'Sherida Earring', 87 | Ear2 = 'Telos Earring', 88 | Body = 'Gleti\'s Cuirass', 89 | Hands = 'Malignance Gloves', 90 | Ring1 = 'Epona\'s Ring', 91 | Ring2 = 'Gere Ring', 92 | Back = { Name = 'Artio\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: "Regen"+10', [4] = 'Pet: Acc.+20', [5] = 'Pet: Atk.+20' } }, 93 | Waist = 'Sailfi Belt +1', 94 | Legs = 'Gleti\'s Breeches', 95 | Feet = 'Gleti\'s Boots', 96 | }, 97 | Tp_Hybrid = { 98 | Neck = 'Empath Necklace', 99 | Ear1 = 'Mache Earring +1', 100 | Hands = 'Malignance Gloves', 101 | Ring1 = 'Varar Ring +1', 102 | Ring2 = 'C. Palug Ring', 103 | }, 104 | Tp_Acc = { 105 | Ring1 = 'Cacoethic Ring +1', 106 | Ring2 = 'Chirich Ring +1', 107 | }, 108 | Pet_Only_Tp = { 109 | Ammo = 'Voluspa Tathlum', 110 | Head = 'Taeon Chapeau', 111 | Neck = 'Shulmanu Collar', 112 | Ear1 = 'Enmerkar Earring', 113 | Ear2 = 'Domes. Earring', 114 | Ring1 = 'Varar Ring +1', 115 | Ring2 = 'C. Palug Ring', 116 | Back = { Name = 'Artio\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: "Regen"+10', [4] = 'Pet: Acc.+20', [5] = 'Pet: Atk.+20' } }, 117 | Waist = 'Incarnation Sash', 118 | Legs = 'Taeon Tights', 119 | Feet = 'Gleti\'s Boots', 120 | }, 121 | 122 | Precast = { 123 | Neck = 'Baetyl Pendant', 124 | Ear2 = 'Etiolation Earring', 125 | Body = 'Taeon Tabard', 126 | Hands = 'Leyline Gloves', 127 | Ring2 = 'Prolix Ring', 128 | }, 129 | 130 | Enhancing = { 131 | }, 132 | Phalanx = { 133 | }, 134 | Stoneskin = { 135 | }, 136 | Refresh = { 137 | }, 138 | 139 | Cure = { 140 | }, 141 | 142 | Enfeebling = { 143 | }, 144 | 145 | Ws_Default = { 146 | Ammo = 'Coiste Bodhar', 147 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 148 | Neck = 'Fotia Gorget', 149 | Ear1 = 'Thrud Earring', 150 | Ear2 = 'Telos Earring', 151 | Body = 'Gleti\'s Cuirass', 152 | Hands = 'Meg. Gloves +2', 153 | Ring1 = 'Beithir Ring', 154 | Ring2 = 'Karieyh Ring +1', 155 | Waist = 'Fotia Belt', 156 | Legs = 'Gleti\'s Breeches', 157 | Feet = 'Gleti\'s Boots', 158 | }, 159 | Ws_Hybrid = { 160 | Ammo = 'Voluspa Tathlum', 161 | }, 162 | Ws_Acc = { 163 | Ammo = 'Voluspa Tathlum', 164 | }, 165 | Aedge_Default = { 166 | Ammo = 'Knobkierrie', 167 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 168 | --Head = 'Nyame Helm', 169 | Neck = 'Baetyl Pendant', 170 | Ear1 = 'Thrud Earring', 171 | Ear2 = 'Friomisi Earring', 172 | Body = 'Nyame Mail', 173 | Hands = 'Nyame Gauntlets', 174 | Ring1 = 'Shiva Ring +1', 175 | Ring2 = 'Karieyh Ring +1', 176 | Back = { Name = 'Ankou\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 177 | Waist = 'Eschan Stone', 178 | Legs = 'Nyame Flanchard', 179 | Feet = 'Nyame Sollerets', 180 | }, 181 | Aedge_Hybrid = { 182 | }, 183 | Aedge_Acc = { 184 | }, 185 | 186 | Call = { 187 | Hands = 'Ankusa Gloves +1', 188 | Feet = 'Gleti\'s Boots', 189 | }, 190 | Reward = { 191 | Ammo = 'Pet Food Theta', 192 | }, 193 | Killer = { 194 | Body = 'Nukumi Gausape +1', 195 | }, 196 | Spur = { 197 | Feet = 'Nukumi Ocreae +1', 198 | }, 199 | Ready = { 200 | Legs = 'Gleti\'s Breeches', 201 | }, 202 | PetReadyDefault = { 203 | Ammo = 'Voluspa Tathlum', 204 | Head = 'Nyame Helm', 205 | Neck = 'Shulmanu Collar', 206 | Ear1 = 'Enmerkar Earring', 207 | Ear2 = 'Domes. Earring', 208 | Body = 'Gleti\'s Cuirass', 209 | Hands = 'Nukumi Manoplas +1', 210 | Ring1 = 'Varar Ring +1', 211 | Ring2 = 'C. Palug Ring', 212 | Waist = 'Incarnation Sash', 213 | Legs = 'Taeon Tights', 214 | Feet = 'Gleti\'s Boots', 215 | }, 216 | PetAttack = {}, 217 | PetMagicAttack = {}, 218 | PetMagicAccuracy = {}, 219 | 220 | TH = { 221 | Ammo = 'Per. Lucky Egg', 222 | Waist = 'Chaac Belt', 223 | }, 224 | Movement = { 225 | }, 226 | }; 227 | profile.Sets = sets; 228 | 229 | profile.Packer = { 230 | {Name = 'Pet Food Theta', Quantity = 'all'}, 231 | {Name = 'Furious Broth', Quantity = 'all'}, 232 | {Name = 'Poisonous Broth', Quantity = 'all'}, 233 | {Name = 'Livid Broth', Quantity = 'all'}, 234 | {Name = 'Crackling Broth', Quantity = 'all'}, 235 | {Name = 'Dire Broth', Quantity = 'all'}, 236 | }; 237 | 238 | local function HandlePetAction(PetAction) 239 | gFunc.EquipSet(sets.PetReadyDefault); 240 | 241 | if (gcinclude.BstPetAttack:contains(PetAction.Name)) then 242 | gFunc.EquipSet(sets.PetAttack); 243 | elseif (gcinclude.BstPetMagicAttack:contains(PetAction.Name)) then 244 | gFunc.EquipSet(sets.PetMagicAttack); 245 | elseif (gcinclude.BstPetMagicAccuracy:contains(PetAction.Name)) then 246 | gFunc.EquipSet(sets.PetMagicAccuracy); 247 | end 248 | end 249 | 250 | profile.OnLoad = function() 251 | gSettings.AllowAddSet = true; 252 | gcinclude.Initialize(); 253 | 254 | --[[ Set you job macro defaults here]] 255 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 9'); 256 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 10'); 257 | 258 | gcinclude.settings.RefreshGearMPP = 50; 259 | end 260 | 261 | profile.OnUnload = function() 262 | gcinclude.Unload(); 263 | end 264 | 265 | profile.HandleCommand = function(args) 266 | gcinclude.HandleCommands(args); 267 | end 268 | 269 | profile.HandleDefault = function() 270 | local pet = gData.GetPet(); 271 | local petAction = gData.GetPetAction(); 272 | if (petAction ~= nil) then 273 | HandlePetAction(petAction); 274 | return; 275 | end 276 | 277 | local player = gData.GetPlayer(); 278 | if (player.Status == 'Engaged') then 279 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')); 280 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 281 | elseif (pet ~= nil) and (player.Status == 'Engaged') and (pet.Status == 'Engaged') then 282 | gFunc.EquipSet(sets.Tp_Hybrid); 283 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 284 | elseif (pet ~= nil and pet.Status == 'Engaged') then 285 | gFunc.EquipSet(sets.Pet_Only_Tp); 286 | elseif (player.Status == 'Resting') then 287 | gFunc.EquipSet(sets.Resting); 288 | else 289 | gFunc.EquipSet(sets.Idle); 290 | end 291 | 292 | if (player.IsMoving == true) then 293 | gFunc.EquipSet(sets.Movement); 294 | end 295 | 296 | gcinclude.CheckDefault (); 297 | if (gcdisplay.GetToggle('DTset') == true) then 298 | gFunc.EquipSet(sets.Dt); 299 | if (pet ~= nil) and (pet.HPP < 60) then 300 | gFunc.EquipSet(sets.Pet_Dt); 301 | end 302 | end 303 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 304 | if (pet ~= nil) then 305 | if (player.Status == 'Engaged') and (pet.Status ~= 'Engaged') then 306 | AshitaCore:GetChatManager():QueueCommand(1, '/ja "Fight" '); 307 | end 308 | end 309 | end 310 | 311 | profile.HandleAbility = function() 312 | local ability = gData.GetAction(); 313 | if string.match(ability.Name, 'Call Beast') or string.match(ability.Name, 'Bestial Loyalty') then 314 | gFunc.EquipSet(sets.Call); 315 | elseif string.match(ability.Name, 'Reward') then 316 | gFunc.EquipSet(sets.Reward); 317 | elseif string.match(ability.Type, 'Killer Instinct') then 318 | gFunc.EquipSet(sets.Killer); 319 | elseif string.match(ability.Type, 'Spur') then 320 | gFunc.EquipSet(sets.Spur); 321 | elseif string.match(ability.Type, 'Ready') then 322 | gFunc.EquipSet(sets.Ready); 323 | end 324 | 325 | gcinclude.CheckCancels(); 326 | end 327 | 328 | profile.HandleItem = function() 329 | local item = gData.GetAction(); 330 | 331 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 332 | end 333 | 334 | profile.HandlePrecast = function() 335 | local spell = gData.GetAction(); 336 | gFunc.EquipSet(sets.Precast); 337 | 338 | gcinclude.CheckCancels(); 339 | end 340 | 341 | profile.HandleMidcast = function() 342 | local player = gData.GetPlayer(); 343 | local spell = gData.GetAction(); 344 | 345 | if (spell.Skill == 'Enhancing Magic') then 346 | gFunc.EquipSet(sets.Enhancing); 347 | 348 | if string.match(spell.Name, 'Phalanx') then 349 | gFunc.EquipSet(sets.Phalanx); 350 | elseif string.match(spell.Name, 'Stoneskin') then 351 | gFunc.EquipSet(sets.Stoneskin); 352 | elseif string.contains(spell.Name, 'Refresh') then 353 | gFunc.EquipSet(sets.Refresh); 354 | end 355 | elseif (spell.Skill == 'Healing Magic') then 356 | gFunc.EquipSet(sets.Cure); 357 | elseif (spell.Skill == 'Enfeebling Magic') then 358 | gFunc.EquipSet(sets.Enfeebling); 359 | end 360 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 361 | end 362 | 363 | profile.HandlePreshot = function() 364 | gFunc.EquipSet(sets.Preshot); 365 | end 366 | 367 | profile.HandleMidshot = function() 368 | gFunc.EquipSet(sets.Midshot); 369 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 370 | end 371 | 372 | profile.HandleWeaponskill = function() 373 | local canWS = gcinclude.CheckWsBailout(); 374 | if (canWS == false) then gFunc.CancelAction() return; 375 | else 376 | local ws = gData.GetAction(); 377 | 378 | gFunc.EquipSet(sets.Ws_Default) 379 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 380 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 381 | 382 | if string.match(ws.Name, 'Aeolian Edge') then 383 | gFunc.EquipSet(sets.Aedge_Default) 384 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 385 | gFunc.EquipSet('Aedge_' .. gcdisplay.GetCycle('MeleeSet')); end 386 | end 387 | end 388 | end 389 | 390 | return profile; -------------------------------------------------------------------------------- /config/addons/luashitacast/WHM.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Main = 'Bolelabunga', 7 | Sub = 'Genmei Shield', 8 | Ammo = 'Staunch Tathlum', 9 | Head = 'Befouled Crown', 10 | Neck = 'Loricate Torque +1', 11 | Ear1 = 'Eabani Earring', 12 | Ear2 = 'Etiolation Earring', 13 | Body = 'Witching Robe', 14 | Hands = 'Nyame Gauntlets', 15 | Ring1 = 'Stikini Ring +1', 16 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 17 | Waist = 'Gishdubar Sash', 18 | Legs = 'Assid. Pants +1', 19 | Feet = 'Volte Gaiters', 20 | }, 21 | Resting = {}, 22 | Idle_Regen = { 23 | Neck = 'Bathy Choker +1', 24 | Ear1 = 'Infused Earring', 25 | Ring2 = 'Chirich Ring +1', 26 | }, 27 | Idle_Refresh = { 28 | Ammo = 'Homiliary', 29 | Head = 'Befouled Crown', 30 | Body = 'Witching Robe', 31 | Ring1 = 'Stikini Ring +1', 32 | Waist = 'Fucho-no-Obi', 33 | Legs = 'Assid. Pants +1', 34 | }, 35 | Town = { 36 | Main = 'Bunzi\'s Rod', 37 | Sub = 'Culminus', 38 | }, 39 | 40 | Dt = { 41 | Ammo = 'Staunch Tathlum', 42 | Head = 'Nyame Helm', 43 | Neck = 'Loricate Torque +1', 44 | Ear1 = 'Odnowa Earring +1', 45 | Ear2 = 'Etiolation Earring', 46 | Body = 'Nyame Mail', 47 | Hands = 'Nyame Gauntlets', 48 | Ring1 = 'Defending Ring', 49 | Ring2 = 'Gelatinous Ring +1', 50 | Waist = 'Gishdubar Sash', 51 | Legs = 'Nyame Flanchard', 52 | Feet = 'Nyame Sollerets', 53 | }, 54 | 55 | Tp_Default = { 56 | Main = 'Kaja Rod', 57 | Sub = 'Genmei Shield', 58 | Ammo = 'Staunch Tathlum', 59 | Head = 'Blistering Sallet +1', 60 | Neck = 'Sanctity Necklace', 61 | Ear1 = 'Brutal Earring', 62 | Ear2 = 'Telos Earring', 63 | Body = 'Nyame Mail', 64 | Hands = 'Nyame Gauntlets', 65 | Ring1 = 'Cacoethic Ring +1', 66 | Ring2 = 'Chirich Ring +1', 67 | Waist = 'Eschan Stone', 68 | Legs = 'Nyame Flanchard', 69 | Feet = 'Nyame Sollerets', 70 | }, 71 | Tp_Hybrid = { 72 | }, 73 | Tp_Acc = { 74 | Ear1 = 'Digni. Earring', 75 | Ring1 = 'Cacoethic Ring +1', 76 | Ring2 = 'Chirich Ring +1', 77 | }, 78 | 79 | 80 | Precast = { 81 | Ammo = 'Sapience Orb', 82 | Head = 'Haruspex Hat', 83 | Neck = 'Baetyl Pendant', 84 | Ear1 = 'Etiolation Earring', 85 | Ear2 = 'Malignance Earring', 86 | Hands = 'Leyline Gloves', --6 87 | Ring1 = 'Kishar Ring',--4 88 | Ring2 = 'Prolix Ring',--2 89 | Back = 'Swith Cape +1', 90 | Waist = 'Embla Sash', 91 | Legs = 'Pinga Pants',--11 92 | Feet = 'Volte Gaiters',--6 93 | }, 94 | Cure_Precast = { 95 | Ear1 = 'Mendi. Earring', 96 | Feet = 'Vanya Clogs', 97 | }, 98 | Enhancing_Precast = { 99 | Waist = 'Siegel Sash', 100 | }, 101 | Stoneskin_Precast = { 102 | Head = 'Umuthi Hat', 103 | Hands = 'Carapacho Cuffs', 104 | Waist = 'Siegel Sash', 105 | }, 106 | 107 | 108 | Cure = {--I cap is 50, II cap is 30 109 | Main = 'Bunzi\'s Rod',--I 30 110 | Sub = 'Ammurapi Shield', 111 | Ammo = 'Pemphredo Tathlum', 112 | Neck = 'Nodens Gorget',--I 5 113 | Ear1 = 'Mendi. Earring',--I 5 114 | Ear2 = 'Glorious Earring',--II 2 115 | Hands = 'Telchine Gloves',--I 9 116 | Ring1 = 'Stikini Ring +1', 117 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 118 | Back = 'Aurist\'s Cape +1', 119 | Waist = 'Rumination Sash', 120 | Legs = 'Pinga Pants',--I 11 121 | Feet = 'Vanya Clogs',--I 10 122 | }, 123 | Self_Cure = {--cap 30 124 | Waist = 'Gishdubar Sash', 125 | }, 126 | Regen = { 127 | Main = 'Bolelabunga', 128 | Sub = 'Ammurapi Shield', 129 | Body = 'Telchine Chas.', 130 | Waist = 'Embla Sash', 131 | Legs = 'Telchine Braconi', 132 | Feet = 'Telchine Pigaches', 133 | }, 134 | Cursna = { 135 | Ring1 = 'Purity Ring', 136 | Waist = 'Gishdubar Sash', 137 | Feet = 'Vanya Clogs', 138 | }, 139 | 140 | Enhancing = { 141 | Main = 'Bunzi\'s Rod', 142 | Sub = 'Ammurapi Shield', 143 | Ammo = 'Pemphredo Tathlum', 144 | Head = 'Befouled Crown', 145 | Neck = 'Incanter\'s Torque', 146 | Ear1 = 'Mendi. Earring', 147 | Ear2 = 'Andoaa Earring', 148 | Ring1 = 'Stikini Ring +1', 149 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 150 | Back = 'Solemnity Cape', 151 | Waist = 'Embla Sash', 152 | Legs = 'Telchine Braconi', 153 | Feet = 'Telchine Pigaches', 154 | }, 155 | Self_Enhancing = {}, 156 | Skill_Enhancing = {}, 157 | Stoneskin = { 158 | Neck = 'Nodens Gorget', 159 | Waist = 'Siegel Sash', 160 | }, 161 | Phalanx = {}, 162 | Refresh = { 163 | Waist = 'Gishdubar Sash', 164 | }, 165 | Self_Refresh = {}, 166 | 167 | Enfeebling = { 168 | Main = 'Bunzi\'s Rod', 169 | Sub = 'Ammurapi Shield', 170 | Ammo = 'Pemphredo Tathlum', 171 | Head = 'Befouled Crown', 172 | Neck = 'Erra Pendant', 173 | Ear1 = 'Regal Earring', 174 | Ear2 = 'Malignance Earring', 175 | Ring1 = 'Stikini Ring +1', 176 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 177 | Back = { Name = 'Aurist\'s Cape +1', AugPath='A' }, 178 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 179 | }, 180 | 181 | Drain = { 182 | Main = 'Bunzi\'s Rod', 183 | Sub = 'Ammurapi Shield', 184 | Ammo = 'Pemphredo Tathlum', 185 | Neck = 'Erra Pendant', 186 | Ear1 = 'Regal Earring', 187 | Ear2 = 'Malignance Earring', 188 | Ring1 = 'Kishar Ring', 189 | Ring2 = 'Metamor. Ring +1', 190 | Back = 'Aurist\'s Cape +1', 191 | Waist = 'Fucho-no-Obi', 192 | }, 193 | 194 | Nuke = { 195 | Main = 'Bunzi\'s Rod', 196 | Sub = 'Ammurapi Shield', 197 | Ammo = 'Pemphredo Tathlum', 198 | Neck = 'Baetyl Pendant', 199 | Ear1 = 'Regal Earring', 200 | Ear2 = 'Malignance Earring', 201 | Ring1 = 'Shiva Ring +1', 202 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 203 | Waist = 'Eschan Stone', 204 | Feet = 'Volte Gaiters', 205 | }, 206 | NukeACC = { 207 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 208 | }, 209 | 210 | Preshot = { 211 | }, 212 | Midshot = { 213 | Ear1 = 'Telos Earring', 214 | Ear2 = 'Crep. Earring', 215 | }, 216 | 217 | Ws_Default = { 218 | Ammo = 'Voluspa Tathlum', 219 | Head = 'Nyame Helm', 220 | Neck = 'Fotia Gorget', 221 | Ear1 = 'Telos Earring', 222 | Ear2 = 'Digni. Earring', 223 | Body = 'Nyame Mail', 224 | Hands = 'Nyame Gauntlets', 225 | Ring1 = 'Cacoethic Ring +1', 226 | Ring2 = 'Karieyh Ring +1', 227 | Back = 'Solemnity Cape', 228 | Waist = 'Fotia Belt', 229 | Legs = 'Nyame Flanchard', 230 | Feet = 'Nyame Sollerets', 231 | }, 232 | Ws_Hybrid = { 233 | }, 234 | Ws_Acc = { 235 | }, 236 | Cataclysm_Default = { 237 | Ammo = 'Pemphredo Tathlum', 238 | Head = 'Pixie Hairpin +1', 239 | Neck = 'Sanctity Necklace', 240 | Ear1 = 'Malignance Earring', 241 | Ear2 = 'Crematio Earring', 242 | Body = 'Nyame Mail', 243 | Hands = 'Nyame Gauntlets', 244 | Ring1 = 'Shiva Ring +1', 245 | Ring2 = 'Karieyh Ring +1', 246 | Back = 'Lugh\'s Cape', 247 | Waist = 'Eschan Stone', 248 | Legs = 'Nyame Flanchard', 249 | Feet = 'Nyame Sollerets', 250 | }, 251 | Cataclysm_Hybrid = { 252 | }, 253 | Cataclysm_Acc = { 254 | }, 255 | 256 | TH = { 257 | Ammo = 'Per. Lucky Egg', 258 | Waist = 'Chaac Belt', 259 | }, 260 | Movement = { 261 | Feet = 'Herald\'s Gaiters', 262 | }, 263 | }; 264 | profile.Sets = sets; 265 | 266 | profile.Packer = { 267 | 268 | }; 269 | 270 | profile.OnLoad = function() 271 | gSettings.AllowAddSet = true; 272 | gcinclude.Initialize(); 273 | 274 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 8'); 275 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 9'); 276 | end 277 | 278 | profile.OnUnload = function() 279 | gcinclude.Unload(); 280 | end 281 | 282 | profile.HandleCommand = function(args) 283 | gcinclude.HandleCommands(args); 284 | end 285 | 286 | profile.HandleDefault = function() 287 | local player = gData.GetPlayer(); 288 | 289 | gFunc.EquipSet(sets.Idle); 290 | 291 | if (player.Status == 'Engaged') then 292 | gFunc.EquipSet(sets.Tp_Default) 293 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 294 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 295 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 296 | elseif (player.Status == 'Resting') then 297 | gFunc.EquipSet(sets.Resting); 298 | elseif (player.IsMoving == true) then 299 | gFunc.EquipSet(sets.Movement); 300 | end 301 | 302 | gcinclude.CheckDefault (); 303 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 304 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 305 | end 306 | 307 | profile.HandleAbility = function() 308 | local ability = gData.GetAction(); 309 | 310 | gcinclude.CheckCancels(); 311 | end 312 | 313 | profile.HandleItem = function() 314 | local item = gData.GetAction(); 315 | 316 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 317 | end 318 | 319 | profile.HandlePrecast = function() 320 | local spell = gData.GetAction(); 321 | 322 | gFunc.EquipSet(sets.Precast); 323 | 324 | if (spell.Skill == 'Enhancing Magic') then 325 | gFunc.EquipSet(sets.Enhancing_Precast); 326 | 327 | if string.contains(spell.Name, 'Stoneskin') then 328 | gFunc.EquipSet(sets.Stoneskin_Precast); 329 | end 330 | elseif (spell.Skill == 'Healing Magic') then 331 | gFunc.EquipSet(sets.Cure_Precast); 332 | end 333 | 334 | gcinclude.CheckCancels(); 335 | end 336 | 337 | profile.HandleMidcast = function() 338 | local player = gData.GetPlayer(); 339 | local weather = gData.GetEnvironment(); 340 | local spell = gData.GetAction(); 341 | local target = gData.GetActionTarget(); 342 | local me = AshitaCore:GetMemoryManager():GetParty():GetMemberName(0); 343 | 344 | if (spell.Skill == 'Enhancing Magic') then 345 | gFunc.EquipSet(sets.Enhancing); 346 | if (target.Name == me) then 347 | gFunc.EquipSet(sets.Self_Enhancing); 348 | end 349 | 350 | if string.match(spell.Name, 'Phalanx') then 351 | gFunc.EquipSet(sets.Phalanx); 352 | elseif string.match(spell.Name, 'Stoneskin') then 353 | gFunc.EquipSet(sets.Stoneskin); 354 | elseif string.contains(spell.Name, 'Regen') then 355 | gFunc.EquipSet(sets.Regen); 356 | elseif string.contains(spell.Name, 'Refresh') then 357 | gFunc.EquipSet(sets.Refresh); 358 | if (target.Name == me) then 359 | gFunc.EquipSet(sets.Self_Refresh); 360 | end 361 | end 362 | elseif (spell.Skill == 'Healing Magic') then 363 | gFunc.EquipSet(sets.Cure); 364 | if (target.Name == me) then 365 | gFunc.EquipSet(sets.Self_Cure); 366 | end 367 | if string.match(spell.Name, 'Cursna') then 368 | gFunc.EquipSet(sets.Cursna); 369 | end 370 | elseif (spell.Skill == 'Elemental Magic') then 371 | gFunc.EquipSet(sets.Nuke); 372 | 373 | if (gcdisplay.GetCycle('NukeSet') == 'Macc') then 374 | gFunc.EquipSet(sets.NukeACC); 375 | end 376 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 377 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 378 | end 379 | elseif (spell.Skill == 'Enfeebling Magic') then 380 | gFunc.EquipSet(sets.Enfeebling); 381 | elseif (spell.Skill == 'Dark Magic') then 382 | gFunc.EquipSet(sets.Enfeebling); -- mostly macc anyways 383 | if (string.contains(spell.Name, 'Aspir') or string.contains(spell.Name, 'Drain')) then 384 | gFunc.EquipSet(sets.Drain); 385 | end 386 | end 387 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 388 | end 389 | 390 | profile.HandlePreshot = function() 391 | gFunc.EquipSet(sets.Preshot); 392 | end 393 | 394 | profile.HandleMidshot = function() 395 | gFunc.EquipSet(sets.Midshot); 396 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 397 | end 398 | 399 | profile.HandleWeaponskill = function() 400 | local canWS = gcinclude.CheckWsBailout(); 401 | if (canWS == false) then gFunc.CancelAction() return; 402 | else 403 | local ws = gData.GetAction(); 404 | 405 | gFunc.EquipSet(sets.Ws_Default) 406 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 407 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 408 | 409 | if string.match(ws.Name, 'Cataclysm') then 410 | gFunc.EquipSet(sets.Cataclysm_Default) 411 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 412 | gFunc.EquipSet('Cataclysm_' .. gcdisplay.GetCycle('MeleeSet')); end 413 | end 414 | end 415 | end 416 | 417 | return profile; 418 | -------------------------------------------------------------------------------- /config/addons/luashitacast/WAR.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 7 | Head = 'Valorous Mask', 8 | Neck = 'Bathy Choker +1', 9 | Ear1 = 'Telos Earring', 10 | Ear2 = 'Cessance Earring', 11 | Body = 'Hjarrandi Breast.', 12 | Hands = 'Volte Moufles', 13 | Ring1 = 'Defending Ring', 14 | Ring2 = 'Karieyh Ring +1', 15 | Back = { Name = 'Cichol\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 16 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 17 | Legs = 'Sakpata\'s Cuisses', 18 | Feet = 'Nyame Sollerets', 19 | }, 20 | Resting = {}, 21 | Idle_Regen = { 22 | Head = 'Crepuscular Helm', 23 | Neck = 'Bathy Choker +1', 24 | Ear1 = 'Infused Earring', 25 | Hands = 'Volte Moufles', 26 | Ring2 = 'Chirich Ring +1', 27 | }, 28 | Idle_Refresh = { 29 | Ring1 = 'Stikini Ring +1', 30 | }, 31 | Town = { 32 | Main = 'Naegling', 33 | Sub = 'Blurred Shield +1', 34 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 35 | Head = 'Hjarrandi Helm', 36 | Neck = 'Bathy Choker +1', 37 | Ear1 = 'Telos Earring', 38 | Ear2 = 'Cessance Earring', 39 | Body = 'Hjarrandi Breast.', 40 | Hands = 'Volte Moufles', 41 | Ring1 = 'Stikini Ring +1', 42 | Ring2 = 'Chirich Ring +1', 43 | Back = { Name = 'Cichol\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 44 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 45 | Legs = 'Sakpata\'s Cuisses', 46 | Feet = 'Hermes\' Sandals', 47 | }, 48 | 49 | Dt = { 50 | Ammo = 'Staunch Tathlum', 51 | Head = 'Nyame Helm', 52 | Neck = { Name = 'Loricate Torque +1', AugPath='A' }, 53 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 54 | Ear2 = 'Etiolation Earring', 55 | Body = 'Nyame Mail', 56 | Hands = 'Volte Moufles', 57 | Ring1 = 'Defending Ring', 58 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' }, 59 | Back = 'Solemnity Cape', 60 | Waist = 'Flume Belt +1', 61 | Legs = 'Nyame Flanchard', 62 | Feet = 'Nyame Sollerets', 63 | }, 64 | 65 | Tp_Default = { 66 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 67 | Head = 'Flam. Zucchetto +2', 68 | Neck = 'War. Beads +1', 69 | Ear1 = 'Brutal Earring', 70 | Ear2 = 'Cessance Earring', 71 | Body = 'Flamma Korazin +2', 72 | Hands = 'Sulev. Gauntlets +2', 73 | Ring1 = 'Niqmaddu Ring', 74 | Ring2 = 'Chirich Ring +1', 75 | Back = { Name = 'Cichol\'s Mantle', Augment = { [1] = 'Accuracy+20', [2] = '"Dbl.Atk."+10', [3] = 'Attack+20', [4] = 'DEX+20' } }, 76 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 77 | Legs = 'Sakpata\'s Cuisses', 78 | Feet = 'Tatena. Sune. +1', 79 | }, 80 | Tp_Hybrid = { 81 | Ammo = 'Staunch Tathlum', 82 | Body = 'Hjarrandi Breast.', 83 | Hands = 'Sakpata\'s Gauntlets', 84 | }, 85 | Tp_Acc = { 86 | Ammo = 'Seeth. Bomblet +1', 87 | Hands = 'Tatena. Gote +1', 88 | Ring1 = 'Cacoethic Ring +1', 89 | Ring2 = 'Chirich Ring +1', 90 | Legs = 'Tatena. Haidate +1', 91 | Waist = 'Ioskeha Belt +1', 92 | }, 93 | 94 | 95 | Precast = { 96 | Neck = 'Baetyl Pendant', 97 | Ear2 = 'Etiolation Earring', 98 | Ring1 = 'Prolix Ring', 99 | Feet = 'Odyssean Greaves', 100 | }, 101 | 102 | 103 | Cure = { 104 | Ammo = 'Pemphredo Tathlum', 105 | Neck = 'Incanter\'s Torque', 106 | Ear1 = 'Mendi. Earring', 107 | Ring1 = 'Stikini Ring +1', 108 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 109 | Back = 'Solemnity Cape', 110 | Feet = 'Odyssean Greaves', 111 | }, 112 | 113 | Enhancing = { 114 | Ammo = 'Pemphredo Tathlum', 115 | Neck = 'Incanter\'s Torque', 116 | Ear1 = 'Mendi. Earring', 117 | Ear2 = 'Andoaa Earring', 118 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 119 | }, 120 | 121 | Enfeebling = { 122 | Ammo = 'Pemphredo Tathlum', 123 | Neck = 'Erra Pendant', 124 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 125 | }, 126 | Macc = {}, 127 | 128 | Drain = { 129 | Neck = 'Erra Pendant', 130 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 131 | }, 132 | 133 | Nuke = { 134 | Ammo = 'Pemphredo Tathlum', 135 | Head = 'Nyame Helm', 136 | Neck = 'Baetyl Pendant', 137 | Ear1 = 'Crematio Earring', 138 | Body = 'Nyame Mail', 139 | Hands = 'Nyame Gauntlets', 140 | Ring1 = 'Shiva Ring +1', 141 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 142 | Legs = 'Nyame Flanchard', 143 | Feet = 'Nyame Sollerets', 144 | }, 145 | 146 | Preshot = { 147 | }, 148 | Midshot = { 149 | Ear1 = 'Telos Earring', 150 | Ear2 = 'Crep. Earring', 151 | }, 152 | 153 | Ws_Default = { 154 | Ammo = 'Knobkierrie', 155 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 156 | Neck = 'Fotia Gorget', 157 | Ear1 = 'Thrud Earring', 158 | Ear2 = 'Schere Earring', 159 | Body = 'Hjarrandi Breast.', 160 | Hands = 'Boii Mufflers +2', 161 | Ring1 = 'Beithir Ring', 162 | Ring2 = 'Karieyh Ring +1', 163 | Back = { Name = 'Cichol\'s Mantle', Augment = { [1] = 'STR+20', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 164 | Waist = 'Fotia Belt', 165 | Legs = 'Sakpata\'s Cuisses', 166 | Feet = 'Valorous Greaves', 167 | }, 168 | Ws_Hybrid = { 169 | Body = 'Hjarrandi Breast.', 170 | }, 171 | Ws_Acc = { 172 | }, 173 | Aedge_Default = { 174 | Ammo = 'Knobkierrie', 175 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 176 | --Head = 'Nyame Helm', 177 | Neck = 'Baetyl Pendant', 178 | Ear1 = 'Friomisi Earring', 179 | Ear2 = 'Crematio Earring', 180 | Body = 'Nyame Mail', 181 | Hands = 'Nyame Gauntlets', 182 | Ring1 = 'Shiva Ring +1', 183 | Ring2 = 'Karieyh Ring +1', 184 | Back = { Name = 'Cichol\'s Mantle', Augment = { [1] = 'STR+20', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 185 | Waist = 'Eschan Stone', 186 | Legs = 'Nyame Flanchard', 187 | Feet = 'Nyame Sollerets', 188 | }, 189 | Aedge_Hybrid = { 190 | }, 191 | Aedge_Acc = { 192 | }, 193 | Savage_Default = { 194 | Ammo = 'Knobkierrie', 195 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 196 | Neck = 'War. Beads +1', 197 | Ear1 = 'Thrud Earring', 198 | Ear2 = 'Schere Earring', 199 | Body = 'Nyame Mail',--AF+3 200 | Hands = 'Boii Mufflers +2', 201 | Ring1 = 'Beithir Ring', 202 | Ring2 = 'Karieyh Ring +1', 203 | Back = { Name = 'Cichol\'s Mantle', Augment = { [1] = 'STR+20', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 204 | Waist = 'Fotia Belt', 205 | Legs = 'Sakpata\'s Cuisses',--Valorous 206 | Feet = 'Sulev. Leggings +2', 207 | }, 208 | Savage_Hybrid = { 209 | }, 210 | Savage_Acc = { 211 | }, 212 | Impulse_Default = { 213 | Ammo = 'Knobkierrie', 214 | Head = { Name = 'Valorous Mask', Augment = { [1] = 'Attack+16', [2] = 'Weapon skill damage +10%', [3] = 'Accuracy+16', [4] = 'Pet: Mag. Acc.+1', [5] = 'Pet: STR+4' } }, 215 | Neck = 'Fotia Gorget', 216 | Ear1 = 'Thrud Earring', 217 | Ear2 = 'Schere Earring', 218 | Body = 'Nyame Mail',--AF+3 219 | Hands = 'Boii Mufflers +2', 220 | Ring1 = 'Beithir Ring', 221 | Ring2 = 'Karieyh Ring +1', 222 | Back = { Name = 'Cichol\'s Mantle', Augment = { [1] = 'STR+20', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 223 | Waist = 'Fotia Belt', 224 | Legs = 'Sakpata\'s Cuisses',--Valorous 225 | Feet = 'Sulev. Leggings +2', 226 | }, 227 | Impulse_Hybrid = { 228 | }, 229 | Impulse_Acc = { 230 | }, 231 | 232 | Tomahawk = { 233 | Ammo = 'Thr. Tomahawk', 234 | }, 235 | Warcry = { 236 | Head = 'Agoge Mask', 237 | }, 238 | Aggressor = { 239 | Head = 'Pumm. Mask +1', 240 | Body = 'Agoge Lorica +1', 241 | }, 242 | Defender = { 243 | Hands = 'Agoge Mufflers +1', 244 | }, 245 | Berserk = { 246 | Body = 'Pumm. Lorica +1', 247 | Feet = 'Agoge Calligae +1', 248 | }, 249 | BloodRage = { 250 | Body = 'Boii Lorica +1', 251 | }, 252 | 253 | TH = { 254 | Ammo = 'Per. Lucky Egg', 255 | Waist = 'Chaac Belt', 256 | }, 257 | Movement = { 258 | Feet = 'Hermes\' Sandals', 259 | }, 260 | }; 261 | profile.Sets = sets; 262 | 263 | profile.Packer = { 264 | {Name = 'Thr. Tomahawk', Quantity = 'all'}, 265 | {Name = 'Red Curry Bun', Quantity = 'all'}, 266 | }; 267 | 268 | profile.OnLoad = function() 269 | gSettings.AllowAddSet = true; 270 | gcinclude.Initialize(); 271 | 272 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 3'); 273 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 10'); 274 | 275 | gcinclude.settings.RegenGearHPP = 65; 276 | gcinclude.settings.RefreshGearMPP = 40; 277 | end 278 | 279 | profile.OnUnload = function() 280 | gcinclude.Unload(); 281 | end 282 | 283 | profile.HandleCommand = function(args) 284 | gcinclude.HandleCommands(args); 285 | end 286 | 287 | profile.HandleDefault = function() 288 | gFunc.EquipSet(sets.Idle); 289 | 290 | local player = gData.GetPlayer(); 291 | if (player.Status == 'Engaged') then 292 | gFunc.EquipSet(sets.Tp_Default) 293 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 294 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 295 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 296 | elseif (player.Status == 'Resting') then 297 | gFunc.EquipSet(sets.Resting); 298 | elseif (player.IsMoving == true) then 299 | gFunc.EquipSet(sets.Movement); 300 | end 301 | 302 | gcinclude.CheckDefault (); 303 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 304 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 305 | end 306 | 307 | profile.HandleAbility = function() 308 | local ability = gData.GetAction(); 309 | 310 | if ability.Name == 'Tomahawk' then gFunc.EquipSet(sets.Tomahawk); 311 | elseif ability.Name == 'Berserk' then gFunc.EquipSet(sets.Berserk); 312 | elseif ability.Name == 'Aggressor' then gFunc.EquipSet(sets.Aggressor); 313 | elseif ability.Name == 'Warcry' then gFunc.EquipSet(sets.Warcry); 314 | elseif ability.Name == 'Defender' then gFunc.EquipSet(sets.Defender); 315 | elseif ability.Name == 'Blood Rage' then gFunc.EquipSet(sets.BloodRage) end; 316 | 317 | gcinclude.CheckCancels(); 318 | end 319 | 320 | profile.HandleItem = function() 321 | local item = gData.GetAction(); 322 | 323 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 324 | end 325 | 326 | profile.HandlePrecast = function() 327 | local spell = gData.GetAction(); 328 | gFunc.EquipSet(sets.Precast); 329 | 330 | gcinclude.CheckCancels(); 331 | end 332 | 333 | profile.HandleMidcast = function() 334 | local weather = gData.GetEnvironment(); 335 | local spell = gData.GetAction(); 336 | local target = gData.GetActionTarget(); 337 | 338 | if (spell.Skill == 'Enhancing Magic') then 339 | gFunc.EquipSet(sets.Enhancing); 340 | elseif (spell.Skill == 'Healing Magic') then 341 | gFunc.EquipSet(sets.Cure); 342 | elseif (spell.Skill == 'Elemental Magic') then 343 | gFunc.EquipSet(sets.Nuke); 344 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 345 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 346 | end 347 | elseif (spell.Skill == 'Enfeebling Magic') then 348 | gFunc.EquipSet(sets.Enfeebling); 349 | elseif (spell.Skill == 'Dark Magic') then 350 | gFunc.EquipSet(sets.Macc); 351 | if (string.contains(spell.Name, 'Aspir') or string.contains(spell.Name, 'Drain')) then 352 | gFunc.EquipSet(sets.Drain); 353 | end 354 | end 355 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 356 | end 357 | 358 | profile.HandlePreshot = function() 359 | gFunc.EquipSet(sets.Preshot); 360 | end 361 | 362 | profile.HandleMidshot = function() 363 | gFunc.EquipSet(sets.Midshot); 364 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 365 | end 366 | 367 | profile.HandleWeaponskill = function() 368 | local canWS = gcinclude.CheckWsBailout(); 369 | if (canWS == false) then gFunc.CancelAction() return; 370 | else 371 | local ws = gData.GetAction(); 372 | 373 | gFunc.EquipSet(sets.Ws_Default) 374 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 375 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 376 | 377 | if string.match(ws.Name, 'Aeolian Edge') then 378 | gFunc.EquipSet(sets.Aedge_Default) 379 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 380 | gFunc.EquipSet('Aedge_' .. gcdisplay.GetCycle('MeleeSet')); end 381 | if (gcdisplay.GetCycle('MeleeSet') == 'Default') then gcinclude.DoMoonshade() end; 382 | elseif string.match(ws.Name, 'Savage Blade') then 383 | gFunc.EquipSet(sets.Savage_Default) 384 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 385 | gFunc.EquipSet('Savage_' .. gcdisplay.GetCycle('MeleeSet')); end 386 | if (gcdisplay.GetCycle('MeleeSet') == 'Default') then gcinclude.DoMoonshade() end; 387 | elseif string.match(ws.Name, 'Impulse Drive') then 388 | gFunc.EquipSet(sets.Impulse_Default) 389 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 390 | gFunc.EquipSet('Impulse_' .. gcdisplay.GetCycle('MeleeSet')); end 391 | if (gcdisplay.GetCycle('MeleeSet') == 'Default') then gcinclude.DoMoonshade() end; 392 | end 393 | end 394 | end 395 | 396 | return profile; 397 | -------------------------------------------------------------------------------- /config/addons/luashitacast/RNG.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Range = 'Holliday', 7 | Ammo = 'Decimating Bullet', 8 | Head = 'Malignance Chapeau', 9 | Neck = 'Bathy Choker +1', 10 | Ear1 = 'Infused Earring', 11 | Ear2 = 'Telos Earring', 12 | Body = 'Malignance Tabard', 13 | Hands = 'Malignance Gloves', 14 | Ring1 = 'Petrov Ring', 15 | Ring2 = 'Karieyh Ring +1', 16 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 17 | Legs = 'Ikenga\'s Trousers', 18 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+6', [3] = 'AGI+1', [4] = '"Triple Atk."+3' } }, 19 | }, 20 | Resting = {}, 21 | Idle_Regen = { 22 | Neck = 'Bathy Choker +1', 23 | Ear1 = 'Infused Earring', 24 | Ring2 = 'Chirich Ring +1', 25 | }, 26 | Idle_Refresh = { 27 | Head = 'Rawhide Mask', 28 | Ring1 = 'Stikini Ring +1', 29 | Waist = 'Fucho-no-Obi', 30 | }, 31 | Town = { 32 | Main = 'Naegling', 33 | Sub = 'Nusku Shield', 34 | Range = 'Holliday', 35 | Ammo = 'Decimating Bullet', 36 | Head = 'Rawhide Mask', 37 | Neck = 'Iskur Gorget', 38 | Ear1 = 'Mache Earring +1', 39 | Ear2 = 'Telos Earring', 40 | Body = 'Herculean Vest', 41 | Hands = { Name = 'Adhemar Wrist. +1', AugPath='B' }, 42 | Ring1 = 'Stikini Ring +1', 43 | Ring2 = 'Chirich Ring +1', 44 | Back = 'Solemnity Cape', 45 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 46 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+6', [3] = 'AGI+1', [4] = '"Triple Atk."+3' } }, 47 | }, 48 | 49 | Dt = { 50 | Head = 'Nyame Helm', 51 | Neck = { Name = 'Loricate Torque +1', AugPath='A' }, 52 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 53 | Ear2 = 'Etiolation Earring', 54 | Body = 'Nyame Mail', 55 | Hands = 'Nyame Gauntlets', 56 | Ring1 = 'Defending Ring', 57 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' }, 58 | Back = 'Solemnity Cape', 59 | Waist = 'Flume Belt +1', 60 | Legs = 'Nyame Flanchard', 61 | Feet = 'Nyame Sollerets', 62 | }, 63 | 64 | Tp_Default = { 65 | Head = { Name = 'Adhemar Bonnet +1', AugPath='B' }, 66 | Neck = 'Anu Torque', 67 | Ear1 = 'Sherida Earring', 68 | Ear2 = 'Telos Earring', 69 | Body = 'Herculean Vest', 70 | Hands = { Name = 'Adhemar Wrist. +1', AugPath='B' }, 71 | Ring1 = 'Petrov Ring', 72 | Ring2 = 'Epona\'s Ring', 73 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 74 | Legs = { Name = 'Samnuha Tights', Augment = { [1] = 'STR+9', [2] = '"Dbl.Atk."+2', [3] = '"Triple Atk."+2', [4] = 'DEX+8' } }, 75 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+6', [3] = 'AGI+1', [4] = '"Triple Atk."+3' } }, 76 | }, 77 | Tp_Hybrid = { 78 | Head = 'Malignance Chapeau', 79 | Body = 'Malignance Tabard', 80 | Hands = 'Malignance Gloves', 81 | }, 82 | Tp_Acc = { 83 | Ear1 = 'Mache Earring +1', 84 | Ear2 = 'Telos Earring', 85 | Hands = 'Tatena. Gote +1', 86 | Ring1 = 'Cacoethic Ring +1', 87 | Ring2 = 'Chirich Ring +1', 88 | Legs = 'Tatena. Haidate +1', 89 | Feet = 'Tatena. Sune. +1', 90 | }, 91 | 92 | 93 | Precast = { 94 | Neck = 'Baetyl Pendant', 95 | Ear1 = 'Malignance Earring', 96 | Ear2 = 'Etiolation Earring', 97 | Body = 'Taeon Tabard', 98 | Ring1 = 'Prolix Ring', 99 | Legs = 'Enif Cosciales', 100 | }, 101 | 102 | 103 | Cure = { 104 | Neck = 'Incanter\'s Torque', 105 | Ear1 = 'Mendi. Earring', 106 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 107 | Back = 'Solemnity Cape', 108 | Legs = 'Carmine Cuisses +1', 109 | }, 110 | 111 | Enhancing = { 112 | Neck = 'Incanter\'s Torque', 113 | Ear1 = 'Mendi. Earring', 114 | Ear2 = 'Andoaa Earring', 115 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 116 | }, 117 | 118 | Enfeebling = { 119 | Neck = 'Erra Pendant', 120 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 121 | }, 122 | Macc = {}, 123 | 124 | Drain = { 125 | Neck = 'Erra Pendant', 126 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 127 | }, 128 | 129 | Nuke = { 130 | Head = 'Nyame Helm', 131 | Neck = 'Baetyl Pendant', 132 | Ear1 = 'Crematio Earring', 133 | Body = 'Nyame Mail', 134 | Hands = 'Nyame Gauntlets', 135 | Ring1 = 'Shiva Ring +1', 136 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 137 | Legs = 'Nyame Flanchard', 138 | Feet = 'Nyame Sollerets', 139 | }, 140 | 141 | Preshot = {--base preshot, no flurry, 70cap, 10 from gifts 142 | Hands = 'Carmine Fin. Ga. +1',--8 143 | Ring1 = 'Crepuscular Ring',--3 144 | Waist = 'Impulse Belt',--3 145 | Legs = 'Ikenga\'s Trousers',--8 146 | Feet = 'Meg. Jam. +2',--10 147 | }, 148 | Preshot_FlurryI = {--with flurry I on, gives 15, 10 from gifts 149 | Hands = 'Carmine Fin. Ga. +1',--8 150 | Ring1 = 'Crepuscular Ring',--3 151 | Waist = 'Impulse Belt',--3 152 | Legs = 'Ikenga\'s Trousers',--8 153 | Feet = 'Meg. Jam. +2',--10 154 | }, 155 | Preshot_FlurryII = {--with flurry II on, gives 30, 10 from gifts 156 | Hands = 'Carmine Fin. Ga. +1',--8 157 | Waist = 'Impulse Belt',--3 158 | Legs = 'Ikenga\'s Trousers',--8 159 | Feet = 'Meg. Jam. +2',--10 160 | }, 161 | Midshot = { 162 | Head = 'Malignance Chapeau', 163 | Neck = 'Iskur Gorget', 164 | Ear1 = 'Telos Earring', 165 | Ear2 = 'Enervating Earring', 166 | Body = 'Malignance Tabard', 167 | Hands = 'Malignance Gloves', 168 | Ring1 = 'Dingir Ring', 169 | Ring2 = 'Ilabrat Ring', 170 | Waist = 'Eschan Stone', 171 | Legs = 'Ikenga\'s Trousers', 172 | Feet = 'Nyame Sollerets', 173 | }, 174 | Barrage = { 175 | Hands = 'Orion Bracers', 176 | }, 177 | Midshot_Acc = {--will be over written by barrage set still 178 | Head = 'Malignance Chapeau', 179 | Neck = 'Iskur Gorget', 180 | Ear1 = 'Telos Earring', 181 | Ear2 = 'Crep. Earring', 182 | Body = 'Malignance Tabard', 183 | Hands = 'Malignance Gloves', 184 | Ring1 = 'Crepuscular Ring', 185 | Ring2 = 'Cacoethic Ring +1', 186 | Waist = 'Eschan Stone', 187 | Legs = 'Ikenga\'s Trousers', 188 | Feet = 'Nyame Sollerets', 189 | }, 190 | DoubleShot = { 191 | }, 192 | 193 | Ws_Default = { 194 | Head = 'Nyame Helm', 195 | Neck = 'Fotia Gorget', 196 | Body = 'Nyame Mail', 197 | Hands = 'Nyame Gauntlets', 198 | Ring1 = 'Beithir Ring', 199 | Ring2 = 'Karieyh Ring +1', 200 | Back = 'Belenus\'s Cape', 201 | Waist = 'Fotia Belt', 202 | Legs = 'Nyame Flanchard', 203 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+30', [2] = 'Weapon skill damage +8%', [3] = 'Attack+6', [4] = 'Mag. Acc.+2' } }, 204 | }, 205 | Ws_Hybrid = { 206 | }, 207 | Ws_Acc = { 208 | }, 209 | WsObi = {--puts elemental obi on for trueflight/wildfire under light/fire situations 210 | Waist = 'Hachirin-no-Obi', 211 | }, 212 | 213 | Savage_Default = { 214 | Head = 'Nyame Helm', 215 | Ear1 = 'Sherida Earring', 216 | Ear2 = 'Moonshade Earring', 217 | Body = 'Nyame Mail', 218 | Hands = 'Meg. Gloves +2', 219 | Ring1 = 'Beithir Ring', 220 | Ring2 = 'Karieyh Ring +1', 221 | Legs = 'Nyame Flanchard', 222 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+30', [2] = 'Weapon skill damage +8%', [3] = 'Attack+6', [4] = 'Mag. Acc.+2' } }, 223 | }, 224 | Savage_Hybrid = { 225 | }, 226 | Savage_Acc = { 227 | }, 228 | Aedge_Default = { 229 | Head = 'Nyame Helm', 230 | Neck = 'Baetyl Pendant', 231 | Ear1 = 'Friomisi Earring', 232 | Ear2 = 'Crematio Earring', 233 | Body = 'Nyame Mail', 234 | Hands = 'Nyame Gauntlets', 235 | Ring1 = 'Shiva Ring +1', 236 | Ring2 = 'Karieyh Ring +1', 237 | Waist = 'Eschan Stone', 238 | Legs = 'Nyame Flanchard', 239 | Feet = 'Nyame Sollerets', 240 | }, 241 | Aedge_Hybrid = { 242 | }, 243 | Aedge_Acc = { 244 | }, 245 | TrueFlight_Default = { 246 | Head = 'Nyame Helm', 247 | Neck = 'Baetyl Pendant', 248 | Ear1 = 'Friomisi Earring', 249 | Ear2 = 'Crematio Earring', 250 | Body = 'Nyame Mail', 251 | Hands = 'Carmine Fin. Ga. +1', 252 | Ring1 = 'Dingir Ring', 253 | Ring2 = 'Karieyh Ring +1', 254 | Back = 'Belenus\'s Cape', 255 | Waist = 'Eschan Stone', 256 | Legs = 'Nyame Flanchard',--relic+3 257 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+30', [2] = 'Weapon skill damage +8%', [3] = 'Attack+6', [4] = 'Mag. Acc.+2' } }, 258 | }, 259 | TrueFlight_Hybrid = { 260 | }, 261 | TrueFlight_Acc = { 262 | }, 263 | 264 | Scavenge = { 265 | Feet = 'Orion Socks', 266 | }, 267 | Sharpshot = { 268 | Legs = 'Orion Braccae', 269 | }, 270 | TH = { 271 | Waist = 'Chaac Belt', 272 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Potency of "Cure" effect received+5%', [2] = 'Mag. Acc.+19', [3] = 'Accuracy+21', [4] = '"Mag. Atk. Bns."+19', [5] = '"Treasure Hunter"+2' } }, 273 | }, 274 | Movement = { 275 | Legs = 'Carmine Cuisses +1', 276 | }, 277 | }; 278 | profile.Sets = sets; 279 | 280 | profile.Packer = { 281 | {Name = 'Decimating Bullet', Quantity = 'all'}, 282 | {Name = 'Dec. Bul. Pouch', Quantity = 'all'}, 283 | }; 284 | 285 | profile.OnLoad = function() 286 | gSettings.AllowAddSet = true; 287 | gcinclude.Initialize(); 288 | 289 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 10'); 290 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 1'); 291 | 292 | gcinclude.settings.RefreshGearMPP = 35; 293 | end 294 | 295 | profile.OnUnload = function() 296 | gcinclude.Unload(); 297 | end 298 | 299 | profile.HandleCommand = function(args) 300 | gcinclude.HandleCommands(args); 301 | end 302 | 303 | profile.HandleDefault = function() 304 | gFunc.EquipSet(sets.Idle); 305 | 306 | local player = gData.GetPlayer(); 307 | if (player.Status == 'Engaged') then 308 | gFunc.EquipSet(sets.Tp_Default) 309 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 310 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 311 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 312 | elseif (player.Status == 'Resting') then 313 | gFunc.EquipSet(sets.Resting); 314 | elseif (player.IsMoving == true) then 315 | gFunc.EquipSet(sets.Movement); 316 | end 317 | 318 | gcinclude.CheckDefault (); 319 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 320 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 321 | end 322 | 323 | profile.HandleAbility = function() 324 | local ability = gData.GetAction(); 325 | 326 | if string.match(ability.Name, 'Scavenge') then gFunc.EquipSet(sets.Scavenge); 327 | elseif string.match(ability.Name, 'Sharpshot') then gFunc.EquipSet(sets.Sharpshot) end 328 | 329 | gcinclude.CheckCancels(); 330 | end 331 | 332 | profile.HandleItem = function() 333 | local item = gData.GetAction(); 334 | 335 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 336 | end 337 | 338 | profile.HandlePrecast = function() 339 | local spell = gData.GetAction(); 340 | gFunc.EquipSet(sets.Precast); 341 | 342 | gcinclude.CheckCancels(); 343 | end 344 | 345 | profile.HandleMidcast = function() 346 | local weather = gData.GetEnvironment(); 347 | local spell = gData.GetAction(); 348 | local target = gData.GetActionTarget(); 349 | 350 | if (spell.Skill == 'Enhancing Magic') then 351 | gFunc.EquipSet(sets.Enhancing); 352 | elseif (spell.Skill == 'Healing Magic') then 353 | gFunc.EquipSet(sets.Cure); 354 | elseif (spell.Skill == 'Elemental Magic') then 355 | gFunc.EquipSet(sets.Nuke); 356 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 357 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 358 | end 359 | elseif (spell.Skill == 'Enfeebling Magic') then 360 | gFunc.EquipSet(sets.Enfeebling); 361 | elseif (spell.Skill == 'Dark Magic') then 362 | gFunc.EquipSet(sets.Macc); 363 | if (string.contains(spell.Name, 'Aspir') or string.contains(spell.Name, 'Drain')) then 364 | gFunc.EquipSet(sets.Drain); 365 | end 366 | end 367 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 368 | end 369 | 370 | profile.HandlePreshot = function() 371 | local flurryI = gData.GetBuffCount(265); 372 | local flurryII = gData.GetBuffCount(581); 373 | 374 | gFunc.EquipSet(sets.Preshot); 375 | 376 | if flurryII > 0 then 377 | gFunc.EquipSet(sets.Preshot_FlurryII); 378 | elseif flurryI > 0 then 379 | gFunc.EquipSet(sets.Preshot_FlurryI); 380 | end 381 | end 382 | 383 | profile.HandleMidshot = function() 384 | local double = gData.GetBuffCount('Double Shot'); 385 | local barrage = gData.GetBuffCount('Barrage'); 386 | gFunc.EquipSet(sets.Midshot); 387 | 388 | if double > 0 then 389 | gFunc.EquipSet(sets.DoubleShot); 390 | end 391 | 392 | if (gcdisplay.GetCycle('MeleeSet') == 'Acc') then 393 | gFunc.EquipSet(sets.Midshot_Acc); 394 | end 395 | 396 | if barrage > 0 then--ensure acc as base if barrage up 397 | gFunc.EquipSet(sets.Midshot_Acc); 398 | gFunc.EquipSet(sets.Barrage); 399 | end 400 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 401 | end 402 | 403 | profile.HandleWeaponskill = function() 404 | local canWS = gcinclude.CheckWsBailout(); 405 | if (canWS == false) then gFunc.CancelAction() return; 406 | else 407 | local ws = gData.GetAction(); 408 | local weather = gData.GetEnvironment(); 409 | 410 | gFunc.EquipSet(sets.Ws_Default) 411 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 412 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 413 | 414 | if string.match(ws.Name, 'Savage Blade') then 415 | gFunc.EquipSet(sets.Savage_Default) 416 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 417 | gFunc.EquipSet('Savage_' .. gcdisplay.GetCycle('MeleeSet')); end 418 | elseif string.match(ws.Name, 'Aeolian Edge') then 419 | gFunc.EquipSet(sets.Aedge_Default) 420 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 421 | gFunc.EquipSet('Aedge_' .. gcdisplay.GetCycle('MeleeSet')); end 422 | if (gcdisplay.GetCycle('MeleeSet') == 'Default') then gcinclude.DoMoonshade() end; 423 | elseif string.match(ws.Name, 'True Flight') then 424 | gFunc.EquipSet(sets.TrueFlight_Default) 425 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 426 | gFunc.EquipSet('TrueFlight_' .. gcdisplay.GetCycle('MeleeSet')); end 427 | if (gcdisplay.GetCycle('MeleeSet') == 'Default') then gcinclude.DoMoonshade() end; 428 | if (weather.DayElement == 'Light' or weather.RawWeatherElement == 'Light') then gFunc.EquipSet(sets.WsObi) end 429 | elseif string.match(ws.Name, 'Wildfire') then 430 | gFunc.EquipSet(sets.Wildfire_Default) 431 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 432 | gFunc.EquipSet('Wildfire_' .. gcdisplay.GetCycle('MeleeSet')); end 433 | if (gcdisplay.GetCycle('MeleeSet') == 'Default') then gcinclude.DoMoonshade() end; 434 | if (weather.DayElement == 'Fire' or weather.RawWeatherElement == 'Fire') then gFunc.EquipSet(sets.WsObi) end 435 | end 436 | end 437 | end 438 | 439 | return profile; 440 | -------------------------------------------------------------------------------- /config/addons/luashitacast/SAM.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Main = 'Masamune', 7 | Sub = 'Utu Grip', 8 | Ammo = 'Staunch Tathlum', 9 | Head = 'Wakido Kabuto +2', 10 | Neck = 'Bathy Choker +1', 11 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 12 | Ear2 = 'Eabani Earring', 13 | Body = 'Mpaca\'s Doublet', 14 | Hands = 'Macabre Gaunt. +1', 15 | Ring1 = 'Karieyh Ring +1', 16 | Ring2 = 'Chirich Ring +1', 17 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'Damage taken-5%', [2] = 'Accuracy+30', [3] = 'Attack+20', [4] = '"Store TP"+10', [5] = 'DEX+20' } }, 18 | Waist = 'Flume Belt +1', 19 | Legs = 'Mpaca\'s Hose', 20 | Feet = 'Mpaca\'s Boots', 21 | }, 22 | Resting = {}, 23 | Idle_Regen = { 24 | Head = 'Crepuscular Helm', 25 | Neck = 'Bathy Choker +1', 26 | Ear1 = 'Infused Earring', 27 | Body = 'Hiza. Haramaki +2', 28 | Hands = 'Rao Kote', 29 | Ring2 = 'Chirich Ring +1', 30 | }, 31 | Idle_Refresh = {}, 32 | Town = { 33 | Main = 'Masamune', 34 | Sub = 'Utu Grip', 35 | Ammo = 'Staunch Tathlum', 36 | Head = 'Wakido Kabuto +2', 37 | Neck = 'Bathy Choker +1', 38 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 39 | Ear2 = 'Eabani Earring', 40 | Body = { Name = 'Sakonji Domaru +3', AugTrial=5483 }, 41 | Hands = 'Nyame Gauntlets', 42 | Ring1 = 'Defending Ring', 43 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' }, 44 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'Damage taken-5%', [2] = 'Accuracy+30', [3] = 'Attack+20', [4] = '"Store TP"+10', [5] = 'DEX+20' } }, 45 | Waist = 'Flume Belt +1', 46 | Legs = 'Mpaca\'s Hose', 47 | Feet = 'Danzo Sune-Ate', 48 | }, 49 | 50 | Dt = { 51 | Ammo = 'Staunch Tathlum',--3 52 | Head = 'Nyame Helm',--7 53 | Neck = { Name = 'Loricate Torque +1', AugPath='A' },--6 54 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' },--1 55 | Ear2 = 'Schere Earring', 56 | Body = 'Mpaca\'s Doublet', 57 | Hands = 'Nyame Gauntlets',--7 58 | Ring1 = 'Defending Ring',--10 59 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' },--7 60 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'Damage taken-5%', [2] = 'Accuracy+30', [3] = 'Attack+20', [4] = '"Store TP"+10', [5] = 'DEX+20' } }, 61 | Waist = 'Ioskeha Belt +1', 62 | Legs = 'Nyame Flanchard',--8 63 | Feet = 'Nyame Sollerets',--7 64 | }, 65 | 66 | Tp_Default = { 67 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 68 | Head = 'Flam. Zucchetto +2', 69 | Neck = { Name = 'Sam. Nodowa +1', AugPath='A' }, 70 | Ear1 = 'Telos Earring', 71 | Ear2 = 'Schere Earring', 72 | Body = 'Kasuga Domaru +2', 73 | Hands = 'Flam. Manopolas +2', 74 | Ring1 = 'Niqmaddu Ring', 75 | Ring2 = 'Chirich Ring +1', 76 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'Damage taken-5%', [2] = 'Accuracy+30', [3] = 'Attack+20', [4] = '"Store TP"+10', [5] = 'DEX+20' } }, 77 | Waist = 'Sailfi Belt +1', 78 | Legs = { Name = 'Tatena. Haidate +1', AugPath='A' }, 79 | Feet = { Name = 'Tatena. Sune. +1', AugPath='A' }, 80 | }, 81 | Tp_Hybrid = { 82 | Head = 'Mpaca\'s Cap', 83 | Body = 'Mpaca\'s Doublet', 84 | Hands = 'Mpaca\'s Gloves', 85 | Legs = 'Mpaca\'s Hose', 86 | Feet = 'Mpaca\'s Boots', 87 | }, 88 | Tp_Acc = { 89 | Ear1 = 'Mache Earring +1', 90 | Hands = 'Tatena. Gote +1', 91 | Ring1 = 'Cacoethic Ring +1', 92 | Ring2 = 'Chirich Ring +1', 93 | Waist = 'Ioskeha Belt +1', 94 | Feet = 'Tatena. Sune. +1', 95 | }, 96 | Tp_Proc = { -- a set to force low dmg for things like Vagary 97 | Ammo = { Name = 'Coiste Bodhar', AugPath='A' }, 98 | Head = 'Flam. Zucchetto +2', 99 | Neck = { Name = 'Sam. Nodowa +1', AugPath='A' }, 100 | Ear1 = 'Telos Earring', 101 | Ear2 = 'Schere Earring', 102 | Body = 'Kasuga Domaru +2', 103 | Hands = 'Flam. Manopolas +2', 104 | Ring1 = 'Petrov Ring', 105 | Ring2 = 'Karieyh Ring +1', 106 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'Damage taken-5%', [2] = 'Accuracy+30', [3] = 'Attack+20', [4] = '"Store TP"+10', [5] = 'DEX+20' } }, 107 | Waist = 'Ioskeha Belt +1', 108 | Legs = { Name = 'Tatena. Haidate +1', AugPath='A' }, 109 | Feet = 'Flam. Gambieras +2', 110 | }, 111 | 112 | 113 | Precast = { 114 | Ammo = 'Sapience Orb', 115 | Neck = 'Baetyl Pendant', 116 | Ear1 = 'Etiolation Earring', 117 | Ear2 = 'Loquac. Earring', 118 | Hands = 'Leyline Gloves', 119 | Ring2 = 'Prolix Ring', 120 | }, 121 | 122 | 123 | Cure = { 124 | }, 125 | 126 | Enhancing = { 127 | }, 128 | 129 | Preshot = { 130 | Ring1 = 'Crepuscular Ring', 131 | }, 132 | Midshot = { 133 | Ear1 = 'Telos Earring', 134 | Ear2 = 'Crep. Earring', 135 | }, 136 | 137 | Ws_Default = { 138 | Ammo = 'Knobkierrie', 139 | Head = 'Mpaca\'s Cap', 140 | Neck = { Name = 'Sam. Nodowa +1', AugPath='A' }, 141 | Ear1 = 'Thrud Earring', 142 | Ear2 = 'Schere Earring', 143 | Body = { Name = 'Sakonji Domaru +3', AugTrial=5483 }, 144 | Hands = 'Kasuga Kote +2', 145 | Ring1 = 'Beithir Ring', 146 | Ring2 = 'Karieyh Ring +1', 147 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'STR+30', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 148 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 149 | Legs = 'Hiza. Hizayoroi +2', 150 | Feet = 'Valorous Greaves', 151 | }, 152 | Ws_Hybrid = { 153 | Body = 'Nyame Mail', 154 | Legs = 'Nyame Flanchard', 155 | Feet = 'Nyame Sollerets', 156 | }, 157 | Ws_Acc = { 158 | }, 159 | Ws_Proc = { -- a set to force low dmg for things like Vagary 160 | Ammo = 'Staunch Tathlum', 161 | Head = 'Flam. Zucchetto +2', 162 | Neck = { Name = 'Loricate Torque +1', AugPath='A' }, 163 | Ear1 = 'Telos Earring', 164 | Ear2 = 'Cessance Earring', 165 | Body = 'Kasuga Domaru +2', 166 | Hands = 'Wakido Kote +3', 167 | Ring1 = 'Defending Ring', 168 | Ring2 = 'Beithir Ring', 169 | Back = 'Solemnity Cape', 170 | Waist = 'Flume Belt +1', 171 | Legs = 'Mpaca\'s Hose', 172 | Feet = 'Flam. Gambieras +2', 173 | }, 174 | 175 | Savage_Default = { 176 | Ammo = 'Knobkierrie', 177 | Head = 'Mpaca\'s Cap', 178 | Neck = 'Fotia Gorget', 179 | Ear1 = 'Schere Earring', 180 | Ear2 = 'Telos Earring', 181 | Body = { Name = 'Sakonji Domaru +3', AugTrial=5483 }, 182 | Hands = 'Kasuga Kote +2', 183 | Ring1 = 'Beithir Ring', 184 | Ring2 = 'Karieyh Ring +1', 185 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'STR+30', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 186 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 187 | Legs = 'Mpaca\'s Hose', 188 | Feet = 'Valorous Greaves', 189 | }, 190 | Savage_Hybrid = { 191 | Body = 'Nyame Mail', 192 | Legs = 'Nyame Flanchard', 193 | Feet = 'Nyame Sollerets', 194 | }, 195 | Savage_Acc = {}, 196 | 197 | Jinpu_Default = { 198 | Ammo = 'Knobkierrie', 199 | Head = 'Nyame Helm', 200 | Neck = { Name = 'Sam. Nodowa +1', AugPath='A' }, 201 | Ear1 = 'Friomisi Earring', 202 | Ear2 = 'Crematio Earring', 203 | Body = { Name = 'Sakonji Domaru +3', AugTrial=5483 }, 204 | Hands = 'Kasuga Kote +2', 205 | Ring2 = 'Karieyh Ring +1', 206 | Ring1 = 'Metamor. Ring +1', 207 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'STR+30', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 208 | Waist = 'Eschan Stone', 209 | Legs = 'Hiza. Hizayoroi +2', 210 | Feet = 'Nyame Sollerets', 211 | }, 212 | Jinpu_Hybrid = { 213 | Body = 'Nyame Mail', 214 | Legs = 'Nyame Flanchard', 215 | Feet = 'Nyame Sollerets', 216 | }, 217 | Jinpu_Acc = {}, 218 | 219 | Ageha_Default = { 220 | Ammo = 'Pemphredo Tathlum', 221 | Head = 'Nyame Helm', 222 | Neck = 'Sanctity Necklace', 223 | Ear1 = 'Crep. Earring', 224 | Ear2 = 'Lugra Earring +1', 225 | Body = 'Nyame Mail', 226 | Hands = 'Mpaca\'s Gloves', 227 | Ring1 = 'Stikini Ring +1', 228 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 229 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'STR+30', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 230 | Waist = 'Eschan Stone', 231 | Legs = 'Mpaca\'s Hose', 232 | Feet = 'Nyame Sollerets', 233 | }, 234 | Ageha_Hybrid = { 235 | Body = 'Nyame Mail', 236 | Legs = 'Nyame Flanchard', 237 | Feet = 'Nyame Sollerets', 238 | }, 239 | Ageha_Acc = {}, 240 | 241 | Stardiver_Default = { 242 | Ammo = 'Knobkierrie', 243 | Head = 'Mpaca\'s Cap', 244 | Neck = { Name = 'Sam. Nodowa +1', AugPath='A' }, 245 | Ear1 = 'Thrud Earring', 246 | Ear2 = 'Schere Earring', 247 | Body = { Name = 'Sakonji Domaru +3', AugTrial=5483 }, 248 | Hands = 'Mpaca\'s Gloves', 249 | Ring1 = 'Beithir Ring', 250 | Ring2 = 'Karieyh Ring +1', 251 | Back = { Name = 'Smertrios\'s Mantle', Augment = { [1] = 'STR+30', [2] = 'Weapon skill damage +10%', [3] = 'Attack+20', [4] = 'Accuracy+20' } }, 252 | Waist = 'Fotia Belt', 253 | Legs = 'Mpaca\'s Hose', 254 | Feet = 'Valorous Greaves', 255 | }, 256 | Stardiver_Hybrid = { 257 | Body = 'Nyame Mail', 258 | Legs = 'Nyame Flanchard', 259 | Feet = 'Nyame Sollerets', 260 | }, 261 | Stardiver_Acc = {}, 262 | 263 | Hasso = { 264 | Hands = 'Wakido Kote +3', 265 | }, 266 | ThirdEye = { 267 | Legs = 'Sakonji Haidate +1', 268 | }, 269 | Seigan = { 270 | Head = 'Kasuga Kabuto +1', 271 | }, 272 | Sekkanoki = { 273 | Hands = 'Kasuga Kote +2', 274 | }, 275 | Sengikori = { 276 | Feet = 'Kas. Sune-Ate +1', 277 | }, 278 | Meditate = { 279 | Head = 'Wakido Kabuto +2', 280 | Hands = 'Sakonji Kote +1', 281 | }, 282 | Meikyo = { 283 | Feet = 'Sakonji Sune-Ate', 284 | }, 285 | Enmity = { 286 | Neck = { Name = 'Unmoving Collar +1', AugPath='A' }, 287 | Ear1 = 'Cryptic Earring', 288 | Ring1 = 'Petrov Ring', 289 | }, 290 | 291 | TH = { 292 | Ammo = 'Per. Lucky Egg', 293 | Waist = 'Chaac Belt', 294 | }, 295 | Movement = { 296 | Feet = 'Danzo Sune-Ate', 297 | }, 298 | }; 299 | profile.Sets = sets; 300 | 301 | profile.Packer = { 302 | {Name = 'Red Curry Bun', Quantity = 'all'}, 303 | }; 304 | 305 | profile.OnLoad = function() 306 | gSettings.AllowAddSet = true; 307 | gcinclude.Initialize(); 308 | 309 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 4'); 310 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 8'); 311 | end 312 | 313 | profile.OnUnload = function() 314 | gcinclude.Unload(); 315 | end 316 | 317 | profile.HandleCommand = function(args) 318 | gcinclude.HandleCommands(args); 319 | end 320 | 321 | profile.HandleDefault = function() 322 | gFunc.EquipSet(sets.Idle); 323 | local hasso = gData.GetBuffCount('Hasso'); 324 | local thirdeye = gData.GetBuffCount('Third Eye'); 325 | local seigan = gData.GetBuffCount('Seigan'); 326 | local player = gData.GetPlayer(); 327 | 328 | if (player.Status == 'Engaged') then 329 | gFunc.EquipSet(sets.Tp_Default); 330 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 331 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 332 | if (hasso >= 1) then gFunc.EquipSet(sets.Hasso) end 333 | if (thirdeye >= 1) and (seigan >= 1) then 334 | gFunc.EquipSet(sets.ThirdEye); 335 | elseif (seigan >= 1) then 336 | gFunc.EquipSet(sets.Seigan); 337 | end 338 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 339 | if (gcdisplay.GetToggle('PROC') == true) then 340 | gFunc.EquipSet(sets.Tp_Proc); end 341 | elseif (player.Status == 'Resting') then 342 | gFunc.EquipSet(sets.Resting); 343 | elseif (player.IsMoving == true) then 344 | gFunc.EquipSet(sets.Movement); 345 | end 346 | 347 | gcinclude.CheckDefault (); 348 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 349 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 350 | end 351 | 352 | profile.HandleAbility = function() 353 | local ability = gData.GetAction(); 354 | 355 | if string.match(ability.Name, 'Provoke') then gFunc.EquipSet(sets.Enmity); 356 | elseif string.match(ability.Name, 'Meditate') then gFunc.EquipSet(sets.Meditate); 357 | elseif string.match(ability.Name, 'Third Eye') then gFunc.EquipSet(sets.ThirdEye); 358 | elseif string.match(ability.Name, 'Sengikori') then gFunc.EquipSet(sets.Sengikori); 359 | elseif string.contains(ability.Name, 'Meikyo') then gFunc.EquipSet(sets.Meikyo) end 360 | 361 | gcinclude.CheckCancels(); 362 | end 363 | 364 | profile.HandleItem = function() 365 | local item = gData.GetAction(); 366 | 367 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 368 | end 369 | 370 | profile.HandlePrecast = function() 371 | local spell = gData.GetAction(); 372 | gFunc.EquipSet(sets.Precast); 373 | 374 | gcinclude.CheckCancels(); 375 | end 376 | 377 | profile.HandleMidcast = function() 378 | local spell = gData.GetAction(); 379 | 380 | if (spell.Skill == 'Enhancing Magic') then 381 | gFunc.EquipSet(sets.Enhancing); 382 | elseif (spell.Skill == 'Healing Magic') then 383 | gFunc.EquipSet(sets.Cure); 384 | end 385 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 386 | end 387 | 388 | profile.HandlePreshot = function() 389 | gFunc.EquipSet(sets.Preshot); 390 | end 391 | 392 | profile.HandleMidshot = function() 393 | gFunc.EquipSet(sets.Midshot); 394 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 395 | end 396 | 397 | profile.HandleWeaponskill = function() 398 | local meikyo = gData.GetBuffCount('Meikyo Shisui'); 399 | local sekkanoki = gData.GetBuffCount('Sekkanoki'); 400 | local canWS = gcinclude.CheckWsBailout(); 401 | if (canWS == false) then gFunc.CancelAction() return; 402 | elseif (gcdisplay.GetToggle('PROC') == true) then 403 | gFunc.EquipSet(sets.Ws_Proc); 404 | else 405 | local ws = gData.GetAction(); 406 | 407 | gFunc.EquipSet(sets.Ws_Default) 408 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 409 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 410 | 411 | if string.match(ws.Name, 'Savage Blade') then 412 | gFunc.EquipSet(sets.Savage_Default) 413 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 414 | gFunc.EquipSet('Savage_' .. gcdisplay.GetCycle('MeleeSet')); end 415 | elseif string.match(ws.Name, 'Tachi: Jinpu') then 416 | gFunc.EquipSet(sets.Jinpu_Default) 417 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 418 | gFunc.EquipSet('Jinpu_' .. gcdisplay.GetCycle('MeleeSet')); end 419 | elseif string.match(ws.Name, 'Tachi: Ageha') then 420 | gFunc.EquipSet(sets.Ageha_Default) 421 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 422 | gFunc.EquipSet('Ageha_' .. gcdisplay.GetCycle('MeleeSet')); end 423 | elseif string.match(ws.Name, 'Stardiver') then 424 | gFunc.EquipSet(sets.Stardiver_Default) 425 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 426 | gFunc.EquipSet('Stardiver_' .. gcdisplay.GetCycle('MeleeSet')); end 427 | end 428 | 429 | if (meikyo >= 1) then gFunc.EquipSet(sets.Meikyo) end 430 | if (sekkanoki >= 1) then gFunc.EquipSet(sets.Sekkanoki) end 431 | end 432 | end 433 | 434 | return profile; 435 | -------------------------------------------------------------------------------- /config/addons/luashitacast/PUP.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | 5 | local sets = { 6 | Idle = { 7 | Main = 'Sakpata\'s Fists', 8 | Head = 'Mpaca\'s Cap', 9 | Neck = 'Empath Necklace', 10 | Ear1 = 'Odnowa Earring +1', 11 | Ear2 = 'Etiolation Earring', 12 | Body = 'Mpaca\'s Doublet', 13 | Hands = 'Nyame Gauntlets', 14 | Ring1 = 'Defending Ring', 15 | Ring2 = 'Gelatinous Ring +1', 16 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 17 | Waist = 'Gishdubar Sash', 18 | Legs = 'Mpaca\'s Hose', 19 | Feet = 'Mpaca\'s Boots', 20 | }, 21 | Idle_Pet = { 22 | Main = 'Sakpata\'s Fists', 23 | Head = 'Taeon Chapeau', 24 | Neck = 'Empath Necklace', 25 | Ear1 = 'Burana Earring', 26 | Ear2 = 'Kara. Earring +1', 27 | Body = 'Taeon Tabard', 28 | Hands = 'Taeon Gloves', 29 | Ring1 = 'Chirich Ring +1', 30 | Ring2 = 'Stikini Ring +1', 31 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 32 | Waist = 'Isa Belt', 33 | Legs = 'Taeon Tights', 34 | Feet = 'Mpaca\'s Boots', 35 | }, 36 | Resting = { 37 | Head = 'Foire Taj +1', 38 | }, 39 | Idle_Regen = { 40 | Neck = 'Bathy Choker +1', 41 | Ear1 = 'Infused Earring', 42 | Hands = 'Rao Kote', 43 | Ring2 = 'Chirich Ring +1', 44 | }, 45 | Idle_Refresh = { 46 | Head = 'Rawhide Mask', 47 | Ring2 = 'Stikini Ring +1', 48 | Waist = 'Fucho-no-Obi', 49 | Legs = 'Assid. Pants +1', 50 | }, 51 | Town = { 52 | Main = 'Sakpata\'s Fists', 53 | Range = 'Neo Animator', 54 | Ammo = 'Automat. Oil +3', 55 | Head = 'Kara. Cappello +2', 56 | Neck = 'Bathy Choker +1', 57 | Ear1 = 'Burana Earring', 58 | Ear2 = 'Kara. Earring +1', 59 | Body = 'Mpaca\'s Doublet', 60 | Hands = 'Mpaca\'s Gloves', 61 | Ring1 = 'Stikini Ring +1', 62 | Ring2 = 'Chirich Ring +1', 63 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 64 | Waist = 'Moonbow Belt', 65 | Legs = 'Mpaca\'s Hose', 66 | Feet = 'Hermes\' Sandals', 67 | }, 68 | 69 | Dt = { 70 | Head = 'Malignance Chapeau', 71 | Neck = 'Empath Necklace', 72 | Ear1 = 'Odnowa Earring +1', 73 | Ear2 = 'Handler\'s Earring +1', 74 | Body = 'Mpaca\'s Doublet', 75 | Hands = 'Nyame Gauntlets', 76 | Ring1 = 'Defending Ring', 77 | Ring2 = 'C. Palug Ring', 78 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 79 | Waist = 'Isa Belt', 80 | Legs = 'Nyame Flanchard', 81 | Feet = 'Nyame Sollerets', 82 | }, 83 | Pet_Dt = { 84 | Head = 'Anwig Salade',--10pt 85 | Neck = 'Empath Necklace', 86 | Ear1 = 'Enmerkar Earring',--3dt 87 | Ear2 = 'Handler\'s Earring +1',--4pt 88 | --Ear2 = 'Kara. Earring +1', 89 | Body = 'Taeon Tabard',--4dt 90 | Hands = 'Taeon Gloves',--4dt 91 | Ring1 = 'Defending Ring', 92 | Ring2 = 'C. Palug Ring', 93 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 94 | Waist = 'Isa Belt',--3dt 95 | Legs = 'Taeon Tights', 96 | Feet = 'Mpaca\'s Boots', 97 | }, 98 | 99 | Pet_Only_Tp_Default = { 100 | Ammo = 'Automat. Oil +3', 101 | Head = 'Foire Taj +1', 102 | Neck = 'Shulmanu Collar', 103 | Ear1 = 'Domes. Earring', 104 | Ear2 = 'Kara. Earring +1', 105 | Ring1 = 'Varar Ring +1', 106 | Ring2 = 'C. Palug Ring', 107 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 108 | Waist = 'Incarnation Sash', 109 | Legs = 'Taeon Tights', 110 | Feet = 'Mpaca\'s Boots', 111 | }, 112 | Pet_Only_Tp_Hybrid = { 113 | }, 114 | Pet_Only_Tp_Acc = { 115 | Legs = 'Heyoka Subligar', 116 | }, 117 | -- These profile.Sets will be for when both you and your pet are engaged 118 | Tp_Default = { 119 | Main = 'Sakpata\'s Fists', 120 | Head = 'Malignance Chapeau', 121 | Ammo = 'Automat. Oil +3', 122 | Neck = 'Shulmanu Collar', 123 | Ear1 = 'Cessance Earring', 124 | Ear2 = 'Kara. Earring +1', 125 | Body = 'Pitre Tobe +3', 126 | Hands = 'Mpaca\'s Gloves', 127 | Ring1 = 'Epona\'s Ring', 128 | Ring2 = 'Gere Ring', 129 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 130 | Waist = 'Moonbow Belt', 131 | Legs = 'Mpaca\'s Hose', 132 | Feet = 'Mpaca\'s Boots', 133 | }, 134 | Tp_Hybrid = { 135 | Neck = 'Empath Necklace', 136 | Body = 'Mpaca\'s Doublet', 137 | Hands = 'Malignance Gloves', 138 | Ring2 = 'C. Palug Ring', 139 | Legs = 'Mpaca\'s Hose', 140 | Feet = 'Mpaca\'s Boots', 141 | }, 142 | Tp_Acc = { 143 | Ear1 = 'Telos Earring', 144 | Ear2 = 'Cessance Earring', 145 | Ring1 = 'Cacoethic Ring +1', 146 | Ring2 = 'Chirich Ring +1', 147 | }, 148 | -- These following profile.Sets are intended for one off items to equip while the pet is engaged (or both of you) based on the PupMode. An example would be Pet HP+ pieces for Tank mode. Can be empty but do not delete. 149 | Tank = { 150 | Range = 'Animator P +1', 151 | Head = 'Taeon Chapeau', 152 | Ear1 = 'Domes. Earring', 153 | Ring1 = 'Overbearing Ring', 154 | Ring2 = 'C. Palug Ring', 155 | Legs = 'Heyoka Subligar', 156 | }, 157 | Melee = { 158 | Range = 'Neo Animator', 159 | Ring1 = 'Varar Ring +1', 160 | Ring2 = 'C. Palug Ring', 161 | }, 162 | Ranger = { 163 | Range = 'Animator P +1', 164 | Ring1 = 'Varar Ring +1', 165 | Ring2 = 'C. Palug Ring', 166 | -- Waist = 'Klouskap Sash +1', -- do this after getting +1 167 | }, 168 | Mage = { 169 | Range = 'Neo Animator', 170 | Head = 'Naga Somen', 171 | Neck = 'Empath Necklace', 172 | Ear1 = 'Enmerkar Earring', 173 | Ear2 = 'Burana Earring', 174 | Body = 'Naga Samue', 175 | Hands = 'Foire Dastanas +1', 176 | Ring1 = 'Tali\'ah Ring', 177 | Ring2 = 'C. Palug Ring', 178 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 179 | Waist = 'Ukko Sash', 180 | Legs = 'Foire Churidars +2', 181 | Feet = 'Mpaca\'s Boots', 182 | }, 183 | 184 | Precast = { 185 | Head = 'Haruspex Hat', 186 | Neck = 'Baetyl Pendant', 187 | Ear1 = 'Loquac. Earring', 188 | Ear2 = 'Etiolation Earring', 189 | Body = 'Taeon Tabard', 190 | Ring2 = 'Prolix Ring', 191 | }, 192 | 193 | Enhancing = { 194 | }, 195 | Phalanx = { 196 | }, 197 | Stoneskin = { 198 | }, 199 | Refresh = { 200 | }, 201 | 202 | Cure = { 203 | }, 204 | 205 | Enfeebling = { 206 | }, 207 | 208 | Ws_Default = { 209 | Head = 'Blistering Sallet +1', 210 | Neck = 'Fotia Gorget', 211 | Ear1 = 'Schere Earring', 212 | Ear2 = 'Mache Earring +1', 213 | Body = 'Mpaca\'s Doublet', 214 | Hands = 'Ryuo Tekko', 215 | Ring1 = 'Niqmaddu Ring', 216 | Ring2 = 'Gere Ring', 217 | Waist = 'Fotia Belt', 218 | Legs = 'Mpaca\'s Hose', 219 | Feet = 'Mpaca\'s Boots', 220 | }, 221 | Ws_Hybrid = { 222 | }, 223 | Ws_Acc = { 224 | }, 225 | 226 | Shijin_Default = { 227 | Head = 'Malignance Chapeau', 228 | Neck = 'Fotia Gorget', 229 | Ear1 = 'Schere Earring', 230 | Ear2 = 'Mache Earring +1', 231 | Body = 'Herculean Vest', 232 | Hands = 'Malignance Gloves', 233 | Ring1 = 'Niqmaddu Ring', 234 | Ring2 = 'Gere Ring', 235 | Waist = 'Moonbow Belt', 236 | Legs = 'Samnuha Tights', 237 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+6', [3] = 'AGI+1', [4] = '"Triple Atk."+3' } }, 238 | }, 239 | Shijin_Hybrid = { 240 | }, 241 | Shijin_Acc = { 242 | }, 243 | 244 | Pet_WS = { 245 | Head = 'Kara. Cappello +2', 246 | Neck = 'Shulmanu Collar', 247 | Ear1 = 'Burana Earring', 248 | Ear2 = 'Domes. Earring', 249 | Body = 'Pitre Tobe +3', 250 | Hands = 'Mpaca\'s Gloves', 251 | Ring1 = 'Varar Ring +1', 252 | Ring2 = 'C. Palug Ring', 253 | Waist = 'Incarnation Sash', 254 | Legs = 'Mpaca\'s Hose', 255 | Feet = 'Mpaca\'s Boots', 256 | }, 257 | Pet_RNGWS = { 258 | Head = 'Kara. Cappello +2', 259 | Neck = 'Shulmanu Collar', 260 | Ear1 = 'Burana Earring', 261 | Ear2 = 'Crep. Earring', 262 | Body = 'Pitre Tobe +3', 263 | Hands = 'Mpaca\'s Gloves', 264 | Ring1 = 'Varar Ring +1', 265 | Ring2 = 'C. Palug Ring', 266 | Waist = 'Klouskap Sash', 267 | Legs = 'Mpaca\'s Hose', 268 | Feet = 'Mpaca\'s Boots', 269 | }, 270 | 271 | Repair = { 272 | Ammo = 'Automat. Oil +3', 273 | Ear1 = 'Guignol Earring', 274 | Body = 'Foire Tobe +2', 275 | Hands = 'Rao Kote', 276 | Ring1 = 'Overbearing Ring', 277 | Feet = 'Foire Babouches', 278 | }, 279 | Maneuver = { 280 | Ear1 = 'Burana Earring', 281 | Body = 'Kara. Farsetto +1', 282 | Hands = 'Foire Dastanas +1', 283 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 284 | }, 285 | Overdrive = {-- this set will force on the ability AND stay on for the duration of OD, dont change the body out because of that 286 | Range = 'Animator P +1', 287 | Ammo = 'Automat. Oil +3', 288 | Head = 'Kara. Cappello +2', 289 | Neck = 'Shulmanu Collar', 290 | Ear1 = 'Enmerkar Earring', 291 | Ear2 = 'Domes. Earring', 292 | Body = 'Pitre Tobe +3', 293 | Hands = 'Mpaca\'s Gloves', 294 | Ring1 = 'Varar Ring +1', 295 | Ring2 = 'C. Palug Ring', 296 | Back = { Name = 'Visucius\'s Mantle', Augment = { [1] = 'Pet: R.Acc.+20', [2] = 'Pet: R.Atk.+20', [3] = 'Pet: Haste+10', [4] = 'Accuracy+20', [5] = 'Attack+20', [6] = 'Pet: Acc.+20', [7] = 'Pet: Atk.+20' } }, 297 | Waist = 'Klouskap Sash', 298 | Legs = 'Heyoka Subligar', 299 | Feet = 'Mpaca\'s Boots', 300 | }, 301 | 302 | TH = { 303 | Waist = 'Chaac Belt', 304 | Feet = { Name = 'Herculean Boots', Augment = { [1] = 'Potency of "Cure" effect received+5%', [2] = 'Mag. Acc.+19', [3] = 'Accuracy+21', [4] = '"Mag. Atk. Bns."+19', [5] = '"Treasure Hunter"+2' } }, 305 | }, 306 | Movement = { 307 | Feet = 'Hermes\' Sandals', 308 | }, 309 | }; 310 | profile.Sets = sets; 311 | 312 | profile.Packer = { 313 | {Name = 'Automat. Oil +3', Quantity = 'all'}, 314 | {Name = 'Bean Daifuku', Quantity = 'all'}, 315 | }; 316 | 317 | profile.OnLoad = function() 318 | gSettings.AllowAddSet = true; 319 | gcinclude.Initialize(); 320 | 321 | --[[ Set you job macro defaults here]] 322 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 9'); 323 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 1'); 324 | 325 | gcinclude.settings.RefreshGearMPP = 30; 326 | end 327 | 328 | profile.OnUnload = function() 329 | gcinclude.Unload(); 330 | end 331 | 332 | profile.HandleCommand = function(args) 333 | gcinclude.HandleCommands(args); 334 | end 335 | 336 | profile.HandleDefault = function() 337 | local player = gData.GetPlayer(); 338 | local pet = gData.GetPet(); 339 | local OD = gData.GetBuffCount('Overdrive'); 340 | 341 | gFunc.EquipSet(sets.Idle); 342 | if (pet ~= nil) then 343 | gFunc.EquipSet(sets.Idle_Pet); 344 | end 345 | 346 | if (pet ~= nil and pet.Status == 'Engaged') then 347 | gFunc.EquipSet('Pet_Only_Tp_' .. gcdisplay.GetCycle('MeleeSet')); 348 | gFunc.EquipSet(gcdisplay.GetCycle('PupMode')); 349 | if (player.Status == 'Engaged') then 350 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 351 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 352 | elseif (player.Status == 'Resting') then 353 | gFunc.EquipSet(sets.Resting); 354 | elseif (player.IsMoving == true) then 355 | gFunc.EquipSet(sets.Movement); 356 | end 357 | 358 | gcinclude.CheckDefault (); 359 | if (pet ~= nil) and (pet.TP > 950) and (pet.Status == 'Engaged') then 360 | if (gcdisplay.GetCycle('PupMode') == 'Ranger') then 361 | gFunc.EquipSet(sets.Pet_RNGWS); 362 | elseif (gcdisplay.GetCycle('PupMode') == 'Melee') then 363 | gFunc.EquipSet(sets.Pet_WS); 364 | end 365 | end 366 | if (gcdisplay.GetToggle('DTset') == true) then 367 | if (pet ~= nil) then 368 | gFunc.EquipSet(sets.Pet_Dt); 369 | end 370 | gFunc.EquipSet(sets.Dt); 371 | end 372 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 373 | 374 | if OD > 0 then 375 | gFunc.EquipSet(sets.Overdrive); 376 | end 377 | end 378 | 379 | profile.HandleAbility = function() 380 | local ability = gData.GetAction(); 381 | if (string.match(ability.Name, 'Repair')) or (string.match(ability.Name, 'Maintenance')) then 382 | gFunc.EquipSet(sets.Repair); 383 | elseif (string.contains(ability.Name, 'Maneuver')) then 384 | gFunc.EquipSet(sets.Maneuver); 385 | elseif (string.match(ability.Name, 'Overdrive')) then 386 | gFunc.EquipSet(sets.Overdrive); 387 | end 388 | 389 | gcinclude.CheckCancels(); 390 | end 391 | 392 | profile.HandleItem = function() 393 | local item = gData.GetAction(); 394 | 395 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 396 | end 397 | 398 | profile.HandlePrecast = function() 399 | local spell = gData.GetAction(); 400 | gFunc.EquipSet(sets.Precast); 401 | 402 | gcinclude.CheckCancels(); 403 | end 404 | 405 | profile.HandleMidcast = function() 406 | local player = gData.GetPlayer(); 407 | local spell = gData.GetAction(); 408 | 409 | if (spell.Skill == 'Enhancing Magic') then 410 | gFunc.EquipSet(sets.Enhancing); 411 | 412 | if string.match(spell.Name, 'Phalanx') then 413 | gFunc.EquipSet(sets.Phalanx); 414 | elseif string.match(spell.Name, 'Stoneskin') then 415 | gFunc.EquipSet(sets.Stoneskin); 416 | elseif string.contains(spell.Name, 'Refresh') then 417 | gFunc.EquipSet(sets.Refresh); 418 | end 419 | elseif (spell.Skill == 'Healing Magic') then 420 | gFunc.EquipSet(sets.Cure); 421 | elseif (spell.Skill == 'Enfeebling Magic') then 422 | gFunc.EquipSet(sets.Enfeebling); 423 | end 424 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 425 | end 426 | 427 | profile.HandlePreshot = function() 428 | gFunc.EquipSet(sets.Preshot); 429 | end 430 | 431 | profile.HandleMidshot = function() 432 | gFunc.EquipSet(sets.Midshot); 433 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 434 | end 435 | 436 | profile.HandleWeaponskill = function() 437 | local canWS = gcinclude.CheckWsBailout(); 438 | if (canWS == false) then gFunc.CancelAction() return; 439 | else 440 | local ws = gData.GetAction(); 441 | 442 | gFunc.EquipSet(sets.Ws_Default) 443 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 444 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 445 | 446 | if string.match(ws.Name, 'Shijin Spiral') then 447 | gFunc.EquipSet(sets.Shijin_Default) 448 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 449 | gFunc.EquipSet('Shijin_' .. gcdisplay.GetCycle('MeleeSet')); end 450 | end 451 | end 452 | end 453 | 454 | return profile; -------------------------------------------------------------------------------- /config/addons/luashitacast/RDM.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Main = 'Bolelabunga', 7 | Sub = 'Genmei Shield', 8 | Range = 'Ullr', 9 | Head = 'Malignance Chapeau', 10 | Neck = 'Warder\'s Charm +1', 11 | Ear1 = 'Eabani Earring', 12 | Ear2 = 'Etiolation Earring', 13 | Body = 'Atrophy Tabard +2', 14 | Hands = 'Nyame Gauntlets', 15 | Ring1 = 'Stikini Ring +1', 16 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 17 | Back = 'Solemnity Cape', 18 | Waist = 'Carrier\'s Sash', 19 | Legs = 'Nyame Flanchard', 20 | Feet = 'Nyame Sollerets', 21 | }, 22 | Resting = {}, 23 | Idle_Regen = { 24 | Head = 'Befouled Crown', 25 | Neck = 'Bathy Choker +1', 26 | Ear1 = 'Infused Earring', 27 | Ring2 = 'Chirich Ring +1', 28 | }, 29 | Idle_Refresh = { 30 | Head = 'Viti. Chapeau +2', 31 | Body = 'Atrophy Tabard +2', 32 | Feet = 'Volte Gaiters', 33 | }, 34 | Town = { 35 | Main = 'Excalibur', 36 | Sub = 'Genmei Shield', 37 | Range = 'Ullr', 38 | Head = 'Atro. Chapeau +1', 39 | Neck = 'Bathy Choker +1', 40 | Ear1 = 'Eabani Earring', 41 | Ear2 = 'Etiolation Earring', 42 | Body = 'Viti. Tabard +3', 43 | Hands = 'Malignance Gloves', 44 | Ring1 = 'Defending Ring', 45 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 46 | Back = 'Solemnity Cape', 47 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 48 | Legs = { Name = 'Carmine Cuisses +1', AugPath='D' }, 49 | Feet = 'Volte Gaiters', 50 | }, 51 | 52 | Dt = { 53 | Sub = 'Genmei Shield', 54 | Ammo = 'Staunch Tathlum', 55 | Head = 'Malignance Chapeau', 56 | Neck = { Name = 'Loricate Torque +1', AugPath='A' }, 57 | Ear1 = { Name = 'Odnowa Earring +1', AugPath='A' }, 58 | Ear2 = 'Etiolation Earring', 59 | Body = 'Nyame Mail', 60 | Hands = 'Malignance Gloves', 61 | Ring1 = 'Defending Ring', 62 | Ring2 = { Name = 'Gelatinous Ring +1', AugPath='A' }, 63 | Back = 'Solemnity Cape', 64 | Waist = 'Flume Belt +1', 65 | Legs = { Name = 'Carmine Cuisses +1', AugPath='D' }, 66 | Feet = 'Nyame Sollerets', 67 | }, 68 | 69 | Tp_Default = { 70 | Main = 'Excalibur', 71 | Sub = 'Genmei Shield', 72 | Ammo = 'Coiste Bodhar', 73 | Head = 'Malignance Chapeau', 74 | Neck = 'Anu Torque', 75 | Ear1 = 'Sherida Earring', 76 | Ear2 = 'Telos Earring', 77 | Body = 'Nyame Mail', 78 | Hands = 'Malignance Gloves', 79 | Ring1 = 'Ilabrat Ring', 80 | Ring2 = 'Petrov Ring', 81 | Back = { Name = 'Sucellos\'s Cape', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+20', [3] = 'DEX+20' } }, 82 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 83 | Legs = 'Carmine Cuisses +1', 84 | Feet = 'Nyame Sollerets', 85 | }, 86 | Tp_Hybrid = { 87 | Ring1 = 'Defending Ring', 88 | }, 89 | Tp_Acc = { 90 | Ring1 = 'Cacoethic Ring +1', 91 | Ring2 = 'Chirich Ring +1', 92 | }, 93 | 94 | 95 | Precast = {--30 from traits, 53 from gear 96 | Head = 'Atro. Chapeau +1',--12 97 | Neck = 'Baetyl Pendant',--4 98 | Ear1 = 'Etiolation Earring',--1 99 | Ear2 = 'Malignance Earring',--4 100 | Body = 'Viti. Tabard +3',--15 101 | Ring1 = 'Kishar Ring',--4 102 | Ring2 = 'Prolix Ring',--2 103 | Waist = 'Embla Sash',--5 104 | Legs = { Name = 'Carmine Cuisses +1', AugPath='D' },--SIR 105 | Feet = 'Volte Gaiters',--6 106 | }, 107 | Cure_Precast = { 108 | Ear1 = 'Mendi. Earring', 109 | Feet = 'Vanya Clogs', 110 | }, 111 | Enhancing_Precast = { 112 | Waist = 'Siegel Sash', 113 | }, 114 | Stoneskin_Precast = { 115 | Head = 'Umuthi Hat', 116 | Waist = 'Siegel Sash', 117 | }, 118 | 119 | 120 | Cure = {--I cap is 50, II cap is 30 121 | Main = 'Bunzi\'s Rod',--I 30 122 | Sub = 'Ammurapi Shield', 123 | Ammo = 'Pemphredo Tathlum', 124 | Neck = 'Nodens Gorget',--I 5 125 | Ear1 = 'Mendi. Earring',--I 5 126 | Ear2 = 'Regal Earring', 127 | Hands = 'Telchine Gloves',--I 9 128 | Ring1 = 'Stikini Ring +1', 129 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 130 | Back = 'Solemnity Cape',--I 7 131 | Waist = 'Rumination Sash', 132 | Legs = 'Atrophy Tights +1',--I 10 and skill 133 | Feet = { Name = 'Medium\'s Sabots', Augment = { [1] = 'MND+6', [2] = '"Conserve MP"+5', [3] = 'MP+40', [4] = '"Cure" potency +3%' } }, 134 | }, 135 | Self_Cure = {--cap 30 136 | Waist = 'Gishdubar Sash', 137 | }, 138 | Regen = { 139 | Main = 'Bolelabunga', 140 | Sub = 'Ammurapi Shield', 141 | Body = 'Viti. Tabard +3', 142 | }, 143 | Cursna = { 144 | Ring1 = 'Purity Ring', 145 | Waist = 'Gishdubar Sash', 146 | }, 147 | 148 | Enhancing = { 149 | Main = 'Sakpata\'s Sword', 150 | Sub = 'Ammurapi Shield', 151 | Ammo = 'Pemphredo Tathlum', 152 | Head = 'Befouled Crown', 153 | Neck = 'Dls. Torque +1', 154 | Ear1 = 'Mendi. Earring', 155 | Ear2 = 'Lethargy Earring', 156 | Body = 'Viti. Tabard +3', 157 | Hands = 'Atrophy Gloves +2', 158 | Ring1 = 'Stikini Ring +1', 159 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 160 | Back = { Name = 'Sucellos\'s Cape', Augment = { [1] = 'Accuracy+20', [2] = 'Attack+20', [3] = 'DEX+20' } }, 161 | Waist = 'Embla Sash', 162 | Legs = 'Telchine Braconi', 163 | Feet = 'Leth. Houseaux +1', 164 | }, 165 | Self_Enhancing = {}, 166 | Skill_Enhancing = {}, 167 | Stoneskin = { 168 | Neck = 'Nodens Gorget', 169 | Waist = 'Siegel Sash', 170 | }, 171 | Phalanx = {}, 172 | Refresh = { 173 | Body = 'Atrophy Tabard +2', 174 | Waist = 'Gishdubar Sash', 175 | }, 176 | Self_Refresh = {}, 177 | 178 | Enfeebling = { 179 | Main = 'Bunzi\'s Rod', 180 | Sub = 'Ammurapi Shield', 181 | Range = 'Ullr', 182 | Head = 'Viti. Chapeau +2', 183 | Neck = 'Dls. Torque +1', 184 | Ear1 = 'Snotra Earring', 185 | Ear2 = 'Malignance Earring', 186 | Body = 'Lethargy Sayon +1', 187 | Hands = 'Malignance Gloves', 188 | Ring1 = 'Kishar Ring', 189 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 190 | Back = { Name = 'Aurist\'s Cape +1', AugPath='A' }, 191 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 192 | Legs = 'Nyame Flanchard', 193 | Feet = { Name = 'Medium\'s Sabots', Augment = { [1] = 'MND+6', [2] = '"Conserve MP"+5', [3] = 'MP+40', [4] = '"Cure" potency +3%' } }, 194 | }, 195 | EnfeeblingACC = { 196 | Ear1 = 'Snotra Earring', 197 | Ear2 = 'Regal Earring', 198 | Body = 'Atrophy Tabard +2', 199 | Hands = 'Atrophy Gloves +2', 200 | Ring1 = 'Stikini Ring +1', 201 | }, 202 | Mind_Enfeebling = { 203 | Ring1 = 'Stikini Ring +1', 204 | }, 205 | Int_Enfeebling = {}, 206 | Potency_Enfeebling = {}, 207 | 208 | Drain = { 209 | Main = 'Bunzi\'s Rod', 210 | Sub = 'Ammurapi Shield', 211 | Range = 'Ullr', 212 | Head = 'Viti. Chapeau +2', 213 | Neck = 'Erra Pendant', 214 | Ear1 = 'Regal Earring', 215 | Ear2 = 'Malignance Earring', 216 | Body = 'Atrophy Tabard +2', 217 | Hands = 'Atrophy Gloves +2', 218 | Ring1 = 'Kishar Ring', 219 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 220 | Back = { Name = 'Aurist\'s Cape +1', AugPath='A' }, 221 | Waist = 'Fucho-no-Obi', 222 | Legs = 'Nyame Flanchard', 223 | Feet = 'Amalric Nails +1', 224 | }, 225 | 226 | Nuke = { 227 | Main = 'Marin Staff +1', 228 | Sub = 'Enki Strap', 229 | Ammo = 'Pemphredo Tathlum', 230 | Head = 'Jhakri Coronal +2', 231 | Neck = 'Baetyl Pendant', 232 | Ear1 = 'Regal Earring', 233 | Ear2 = 'Malignance Earring', 234 | Body = 'Nyame Mail', 235 | Hands = 'Amalric Gages +1', 236 | Ring1 = 'Shiva Ring +1', 237 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 238 | Back = 'Aurist\'s Cape +1', 239 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 240 | Legs = 'Amalric Slops +1', 241 | Feet = 'Amalric Nails +1', 242 | }, 243 | NukeACC = {}; 244 | Burst = { 245 | Main = 'Bunzi\'s Rod', -- 10 and 0 246 | Sub = 'Ammurapi Shield', 247 | Head = 'Ea Hat', -- 6 and 6 248 | Body = 'Ea Houppelande', -- 8 and 8 249 | Hands = 'Amalric Gages +1', -- 0 and 6 250 | Ring1 = 'Mujin Band', -- 0 and 5 251 | Feet = 'Ea Pigaches', -- 4 and 4 252 | }, 253 | Helix = {}, 254 | Mp_Body = {Body = 'Seidr Cotehardie',}, 255 | 256 | Preshot = { 257 | }, 258 | Midshot = { 259 | Ear1 = 'Telos Earring', 260 | Ear2 = 'Crep. Earring', 261 | }, 262 | 263 | Ws_Default = { 264 | Ammo = 'Voluspa Tathlum', 265 | Head = 'Viti. Chapeau +2', 266 | Neck = 'Fotia Gorget', 267 | Ear1 = 'Eabani Earring', 268 | Ear2 = 'Etiolation Earring', 269 | Body = 'Nyame Mail', 270 | Hands = 'Nyame Gauntlets', 271 | Ring1 = 'Ilabrat Ring', 272 | Ring2 = 'Karieyh Ring +1', 273 | Back = 'Solemnity Cape', 274 | Waist = 'Fotia Belt', 275 | Legs = 'Nyame Flanchard', 276 | Feet = 'Thereoid Greaves', 277 | }, 278 | Ws_Hybrid = { 279 | }, 280 | Ws_Acc = { 281 | }, 282 | 283 | Savage_Default = { 284 | Ammo = 'Voluspa Tathlum', 285 | Head = 'Viti. Chapeau +2', 286 | Neck = 'Fotia Gorget', 287 | Ear1 = 'Telos Earring', 288 | Ear2 = 'Digni. Earring', 289 | Body = 'Nyame Mail', 290 | Hands = 'Atrophy Gloves +2', 291 | Ring1 = 'Petrov Ring', 292 | Ring2 = 'Karieyh Ring +1', 293 | Back = 'Solemnity Cape', 294 | Waist = { Name = 'Sailfi Belt +1', AugPath='A' }, 295 | Legs = 'Nyame Flanchard', 296 | Feet = 'Thereoid Greaves', 297 | }, 298 | Savage_Hybrid = {}, 299 | Savage_Acc = {}, 300 | 301 | Chant_Default = { 302 | Ammo = 'Voluspa Tathlum', 303 | Head = { Name = 'Blistering Sallet +1', AugPath='A' }, 304 | Neck = 'Fotia Gorget', 305 | Ear1 = 'Eabani Earring', 306 | Ear2 = 'Etiolation Earring', 307 | Body = 'Nyame Mail', 308 | Hands = 'Nyame Gauntlets', 309 | Ring1 = 'Petrov Ring', 310 | Ring2 = 'Begrudging Ring', 311 | Back = 'Solemnity Cape', 312 | Waist = 'Fotia Belt', 313 | Legs = 'Nyame Flanchard', 314 | Feet = 'Thereoid Greaves', 315 | }, 316 | Chant_Hybrid = {}, 317 | Chant_Acc = {}, 318 | 319 | CS = { 320 | Body = 'Viti. Tabard +3', 321 | }, 322 | TH = { 323 | Ammo = 'Per. Lucky Egg', 324 | Waist = 'Chaac Belt', 325 | }, 326 | Movement = { 327 | Legs = 'Carmine Cuisses +1', 328 | }, 329 | }; 330 | profile.Sets = sets; 331 | 332 | profile.Packer = { 333 | {Name = 'Tropical Crepe', Quantity = 'all'}, 334 | {Name = 'Rolan. Daifuku', Quantity = 'all'}, 335 | }; 336 | 337 | profile.OnLoad = function() 338 | gSettings.AllowAddSet = true; 339 | gcinclude.Initialize(); 340 | 341 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 1'); 342 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 10'); 343 | end 344 | 345 | profile.OnUnload = function() 346 | gcinclude.Unload(); 347 | end 348 | 349 | profile.HandleCommand = function(args) 350 | gcinclude.HandleCommands(args); 351 | end 352 | 353 | profile.HandleDefault = function() 354 | gFunc.EquipSet(sets.Idle); 355 | 356 | local player = gData.GetPlayer(); 357 | if (player.Status == 'Engaged') then 358 | gFunc.EquipSet(sets.Tp_Default) 359 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 360 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 361 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 362 | if (gcdisplay.GetToggle('Fight') == false) then 363 | AshitaCore:GetChatManager():QueueCommand(1, '/fight') end 364 | elseif (player.Status == 'Resting') then 365 | gFunc.EquipSet(sets.Resting); 366 | elseif (player.IsMoving == true) then 367 | gFunc.EquipSet(sets.Movement); 368 | end 369 | 370 | gcinclude.CheckDefault (); 371 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 372 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 373 | end 374 | 375 | profile.HandleAbility = function() 376 | local ability = gData.GetAction(); 377 | 378 | if ability.Name == 'Chainspell' then 379 | gFunc.EquipSet(sets.CS); 380 | end 381 | 382 | gcinclude.CheckCancels(); 383 | end 384 | 385 | profile.HandleItem = function() 386 | local item = gData.GetAction(); 387 | 388 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 389 | end 390 | 391 | profile.HandlePrecast = function() 392 | local spell = gData.GetAction(); 393 | gFunc.EquipSet(sets.Precast) 394 | 395 | if (spell.Skill == 'Enhancing Magic') then 396 | gFunc.EquipSet(sets.Enhancing_Precast); 397 | 398 | if string.contains(spell.Name, 'Stoneskin') then 399 | gFunc.EquipSet(sets.Stoneskin_Precast); 400 | end 401 | elseif (spell.Skill == 'Healing Magic') then 402 | gFunc.EquipSet(sets.Cure_Precast); 403 | end 404 | 405 | gcinclude.CheckCancels(); 406 | end 407 | 408 | profile.HandleMidcast = function() 409 | local weather = gData.GetEnvironment(); 410 | local spell = gData.GetAction(); 411 | local target = gData.GetActionTarget(); 412 | local me = AshitaCore:GetMemoryManager():GetParty():GetMemberName(0); 413 | local player = gData.GetPlayer(); 414 | 415 | if (spell.Skill == 'Enhancing Magic') then 416 | gFunc.EquipSet(sets.Enhancing); 417 | if (target.Name == me) then 418 | gFunc.EquipSet(sets.Self_Enhancing); 419 | end 420 | 421 | if string.match(spell.Name, 'Phalanx') then 422 | gFunc.EquipSet(sets.Phalanx); 423 | elseif string.match(spell.Name, 'Stoneskin') then 424 | gFunc.EquipSet(sets.Stoneskin); 425 | elseif string.contains(spell.Name, 'Temper') then 426 | gFunc.EquipSet(sets.Skill_Enhancing); 427 | elseif string.contains(spell.Name, 'Regen') then 428 | gFunc.EquipSet(sets.Regen); 429 | elseif string.contains(spell.Name, 'Refresh') then 430 | gFunc.EquipSet(sets.Refresh); 431 | if (target.Name == me) then 432 | gFunc.EquipSet(sets.Self_Refresh); 433 | end 434 | elseif (target.Name == me) and string.contains(spell.Name, 'En') then 435 | gFunc.EquipSet(sets.Skill_Enhancing); 436 | end 437 | elseif (spell.Skill == 'Healing Magic') then 438 | gFunc.EquipSet(sets.Cure); 439 | if (target.Name == me) then 440 | gFunc.EquipSet(sets.Self_Cure); 441 | end 442 | if string.match(spell.Name, 'Cursna') then 443 | gFunc.EquipSet(sets.Cursna); 444 | end 445 | elseif (spell.Skill == 'Elemental Magic') then 446 | gFunc.EquipSet(sets.Nuke); 447 | 448 | if (gcdisplay.GetToggle('NukeSet') == 'Macc') then 449 | gFunc.EquipSet(sets.NukeACC); 450 | end 451 | if (gcdisplay.GetToggle('Burst') == true) then 452 | gFunc.EquipSet(sets.Burst); 453 | end 454 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 455 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 456 | end 457 | if string.match(spell.Name, 'helix') then 458 | gFunc.EquipSet(sets.Helix); 459 | end 460 | if (player.MPP <= 40) then 461 | gFunc.EquipSet(sets.Mp_Body); 462 | end 463 | elseif (spell.Skill == 'Enfeebling Magic') then 464 | gFunc.EquipSet(sets.Enfeebling); 465 | if (gcdisplay.GetToggle('NukeSet') == 'Macc') then 466 | gFunc.EquipSet(sets.EnfeeblingACC); 467 | end 468 | if string.contains(spell.Name, 'Paralyze') or string.contains(spell.Name, 'Slow') or string.contains(spell.Name, 'Addle') then 469 | gFunc.EquipSet(sets.Mind_Enfeebling); 470 | elseif string.contains(spell.Name, 'Poison') then 471 | gFunc.EquipSet(sets.Int_Enfeebling); 472 | elseif string.contains(spell.Name, 'Distract') or string.match(spell.Name, 'Frazzle III') then 473 | gFunc.EquipSet(sets.Potency_Enfeebling); 474 | end 475 | elseif (spell.Skill == 'Dark Magic') then 476 | gFunc.EquipSet(sets.EnfeeblingACC); -- mostly MACC anyways 477 | if (string.contains(spell.Name, 'Aspir') or string.contains(spell.Name, 'Drain')) then 478 | gFunc.EquipSet(sets.Drain); 479 | end 480 | end 481 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 482 | end 483 | 484 | profile.HandlePreshot = function() 485 | gFunc.EquipSet(sets.Preshot); 486 | end 487 | 488 | profile.HandleMidshot = function() 489 | gFunc.EquipSet(sets.Midshot); 490 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 491 | end 492 | 493 | profile.HandleWeaponskill = function() 494 | local canWS = gcinclude.CheckWsBailout(); 495 | if (canWS == false) then gFunc.CancelAction() return; 496 | else 497 | local ws = gData.GetAction(); 498 | 499 | gFunc.EquipSet(sets.Ws_Default) 500 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 501 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 502 | 503 | if string.match(ws.Name, 'Chant du Cygne') then 504 | gFunc.EquipSet(sets.Chant_Default) 505 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 506 | gFunc.EquipSet('Chant_' .. gcdisplay.GetCycle('MeleeSet')); end 507 | elseif string.match(ws.Name, 'Savage Blade') then 508 | gFunc.EquipSet(sets.Savage_Default) 509 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 510 | gFunc.EquipSet('Savage_' .. gcdisplay.GetCycle('MeleeSet')); end 511 | end 512 | end 513 | end 514 | 515 | return profile; 516 | -------------------------------------------------------------------------------- /config/addons/luashitacast/GEO.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Main = 'Idris', 7 | Sub = 'Ammurapi Shield', 8 | Range = 'Dunna', 9 | Head = 'Nyame Helm', 10 | Neck = 'Loricate Torque +1', 11 | Ear1 = 'Eabani Earring', 12 | Ear2 = 'Etiolation Earring', 13 | Body = 'Agwu\'s Robe', 14 | Hands = 'Nyame Gauntlets', 15 | Ring1 = 'Stikini Ring +1', 16 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 17 | Back = 'Solemnity Cape', 18 | Waist = 'Gishdubar Sash', 19 | Legs = 'Agwu\'s Slops', 20 | Feet = 'Volte Gaiters', 21 | }, 22 | Idle_Pet = { 23 | Main = 'Idris', 24 | Sub = 'Genmei Shield', 25 | Range = 'Dunna', 26 | Head = 'Azimuth Hood +2', 27 | Neck = 'Loricate Torque +1', 28 | Ear1 = 'Ethereal Earring', 29 | Ear2 = 'Etiolation Earring', 30 | Body = 'Telchine Chas.', 31 | Hands = 'Geo. Mitaines +2', 32 | Ring1 = 'Stikini Ring +1', 33 | Ring2 = 'Defending Ring', 34 | Back = { Name = 'Nantosuelta\'s Cape', Augment = { [1] = 'Eva.+20', [2] = 'Pet: "Regen"+15', [3] = 'Mag. Eva.+20' } }, 35 | Waist = 'Isa Belt', 36 | Legs = 'Telchine Braconi', 37 | Feet = 'Telchine Pigaches', 38 | }, 39 | Resting = {}, 40 | Idle_Regen = { 41 | Neck = 'Bathy Choker +1', 42 | Ear1 = 'Infused Earring', 43 | Ring2 = 'Chirich Ring +1', 44 | }, 45 | Idle_Refresh = { 46 | Main = 'Bolelabunga', 47 | Head = 'Befouled Crown', 48 | Body = 'Jhakri Robe +2', 49 | Hands = 'Bagua Mitaines +1', 50 | Waist = 'Fucho-no-Obi', 51 | Legs = 'Assid. Pants +1', 52 | Feet = 'Volte Gaiters', 53 | }, 54 | Town = { 55 | Main = 'Idris', 56 | Sub = 'Culminus', 57 | Range = 'Dunna', 58 | Head = 'Bagua Galero +1', 59 | Body = 'Agwu\'s Robe', 60 | Hands = 'Geo. Mitaines +2', 61 | Legs = 'Agwu\'s Slops', 62 | Feet = 'Herald\'s Gaiters', 63 | }, 64 | 65 | Dt = { 66 | Head = 'Nyame Helm', 67 | Neck = 'Loricate Torque +1', 68 | Ear1 = 'Odnowa Earring +1', 69 | Ear2 = 'Etiolation Earring', 70 | Body = 'Agwu\'s Robe', 71 | Hands = 'Nyame Gauntlets', 72 | Ring1 = 'Defending Ring', 73 | Ring2 = 'Gelatinous Ring +1', 74 | Back = 'Solemnity Cape', 75 | Waist = 'Gishdubar Sash', 76 | Legs = 'Nyame Flanchard', 77 | Feet = 'Nyame Sollerets', 78 | }, 79 | 80 | Tp_Default = { 81 | Main = 'Idris', 82 | Sub = 'Ammurapi Shield', 83 | Range = 'Dunna', 84 | --Head = 'Jhakri Coronal +2', 85 | Head = 'Blistering Sallet +1', 86 | Neck = 'Sanctity Necklace', 87 | Ear1 = 'Cessance Earring', 88 | Ear2 = 'Telos Earring', 89 | Body = 'Jhakri Robe +2', 90 | Hands = 'Jhakri Cuffs +2', 91 | Ring1 = 'Petrov Ring', 92 | Ring2 = 'Chirich Ring +1', 93 | Back = { Name = 'Nantosuelta\'s Cape', Augment = { [1] = 'Eva.+20', [2] = 'Pet: "Regen"+15', [3] = 'Mag. Eva.+20' } }, 94 | Waist = 'Eschan Stone', 95 | Legs = 'Jhakri Slops +2', 96 | Feet = 'Jhakri Pigaches +2', 97 | }, 98 | Tp_Hybrid = { 99 | }, 100 | Tp_Acc = { 101 | Head = 'Blistering Sallet +1', 102 | Ear1 = 'Mache Earring +1', 103 | Ring1 = 'Cacoethic Ring +1', 104 | Ring2 = 'Chirich Ring +1', 105 | Back = 'Aurist\'s Cape +1', 106 | }, 107 | 108 | 109 | Precast = { 110 | Main = 'Solstice', 111 | Range = 'Dunna', 112 | Head = 'Haruspex Hat', 113 | Neck = 'Baetyl Pendant', 114 | Ear1 = 'Etiolation Earring', 115 | Ear2 = 'Malignance Earring', 116 | Body = 'Agwu\'s Robe', 117 | Hands = 'Bagua Mitaines +1', 118 | Ring1 = 'Kishar Ring', 119 | Ring2 = 'Mallquis Ring', 120 | Back = 'Swith Cape +1', 121 | Waist = 'Embla Sash', 122 | Legs = 'Agwu\'s Slops', 123 | Feet = 'Volte Gaiters', 124 | }, 125 | Cure_Precast = { 126 | Feet = 'Vanya Clogs', 127 | }, 128 | Enhancing_Precast = { 129 | Waist = 'Siegel Sash', 130 | }, 131 | Stoneskin_Precast = { 132 | Head = 'Umuthi Hat', 133 | Hands = 'Carapacho Cuffs', 134 | Waist = 'Siegel Sash', 135 | }, 136 | 137 | 138 | Cure = {--I cap is 50, II cap is 30 139 | Main = 'Bunzi\'s Rod',--I 30 140 | Sub = 'Ammurapi Shield', 141 | Ammo = 'Pemphredo Tathlum', 142 | Neck = 'Nodens Gorget',--I 5 143 | Ear1 = 'Mendi. Earring',--I 5 144 | Ear2 = 'Regal Earring', 145 | Hands = 'Telchine Gloves',--I 9 146 | Ring1 = 'Stikini Ring +1', 147 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 148 | Back = 'Aurist\'s Cape +1', 149 | Waist = 'Rumination Sash', 150 | Feet = 'Vanya Clogs',--I 10 151 | }, 152 | Self_Cure = {--cap 30 153 | Waist = 'Gishdubar Sash', 154 | }, 155 | Regen = { 156 | Main = 'Bolelabunga', 157 | Sub = 'Ammurapi Shield', 158 | Body = 'Telchine Chas.', 159 | Waist = 'Embla Sash', 160 | Legs = 'Telchine Braconi', 161 | Feet = 'Telchine Pigaches', 162 | }, 163 | Cursna = { 164 | Ring1 = 'Purity Ring', 165 | Waist = 'Gishdubar Sash', 166 | Feet = 'Vanya Clogs', 167 | }, 168 | 169 | Enhancing = { 170 | Main = 'Bunzi\'s Rod', 171 | Sub = 'Ammurapi Shield', 172 | Ammo = 'Pemphredo Tathlum', 173 | Head = 'Befouled Crown', 174 | Neck = 'Incanter\'s Torque', 175 | Ear1 = 'Mendi. Earring', 176 | Ear2 = 'Andoaa Earring', 177 | Body = 'Telchine Chas.', 178 | Hands = 'Nyame Gauntlets', 179 | Ring1 = 'Defending Ring', 180 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 181 | Back = 'Solemnity Cape', 182 | Waist = 'Embla Sash', 183 | Legs = 'Telchine Braconi', 184 | Feet = 'Telchine Pigaches', 185 | }, 186 | Stoneskin = { 187 | Neck = 'Nodens Gorget', 188 | Waist = 'Siegel Sash', 189 | }, 190 | Phalanx = {}, 191 | Refresh = { 192 | Waist = 'Gishdubar Sash', 193 | }, 194 | Geomancy = { --900 skill, then indi duration, then CMP 195 | Main = 'Idris', 196 | Range = 'Dunna', 197 | Head = 'Agwu\'s Cap',--sir 198 | Neck = 'Bagua Charm', 199 | Ear1 = 'Mendi. Earring', 200 | Body = 'Telchine Chas.', 201 | Hands = 'Geo. Mitaines +2',--15 202 | Ring1 = 'Stikini Ring +1',--8 203 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 204 | Waist = 'Hachirin-no-Obi', 205 | Legs = 'Assid. Pants +1', 206 | Feet = 'Medium\'s Sabots', 207 | }, 208 | Indi = { 209 | Main = 'Solstice', 210 | Back = 'Nantosuelta\'s Cape', 211 | Legs = 'Bagua Pants +1', 212 | Feet = 'Azimuth Gaiters +2', 213 | }, 214 | 215 | Enfeebling = { 216 | Main = 'Bunzi\'s Rod', 217 | Sub = 'Ammurapi Shield', 218 | Ammo = 'Pemphredo Tathlum', 219 | Head = 'Befouled Crown', 220 | Neck = 'Erra Pendant', 221 | --Ear1 = 'Regal Earring',--use this when u upgrade the AF 222 | Ear1 = 'Digni. Earring', 223 | Ear2 = 'Malignance Earring', 224 | Body = 'Agwu\'s Robe', 225 | Hands = 'Nyame Gauntlets', 226 | Ring1 = 'Stikini Ring +1', 227 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 228 | Back = { Name = 'Aurist\'s Cape +1', AugPath='A' }, 229 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 230 | Legs = 'Agwu\'s Slops', 231 | Feet = { Name = 'Medium\'s Sabots', Augment = { [1] = 'MND+6', [2] = '"Conserve MP"+5', [3] = 'MP+40', [4] = '"Cure" potency +3%' } }, 232 | }, 233 | Macc = { 234 | Main = 'Bunzi\'s Rod', 235 | Sub = 'Ammurapi Shield', 236 | Ammo = 'Pemphredo Tathlum', 237 | Head = 'Nyame Helm', 238 | Neck = 'Erra Pendant', 239 | --Ear1 = 'Regal Earring',--use this when u upgrade the AF 240 | Ear1 = 'Digni. Earring', 241 | Ear2 = 'Malignance Earring', 242 | Body = 'Agwu\'s Robe', 243 | Hands = 'Nyame Gauntlets', 244 | Ring1 = 'Stikini Ring +1', 245 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 246 | Back = { Name = 'Aurist\'s Cape +1', AugPath='A' }, 247 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 248 | Legs = 'Agwu\'s Slops', 249 | Feet = 'Agwu\'s Pigaches', 250 | }, 251 | 252 | Drain = { 253 | Main = 'Bunzi\'s Rod', 254 | Sub = 'Ammurapi Shield', 255 | Ammo = 'Pemphredo Tathlum', 256 | Head = 'Bagua Galero +1', 257 | Neck = 'Erra Pendant', 258 | Ear1 = 'Regal Earring', 259 | Ear2 = 'Malignance Earring', 260 | Body = 'Agwu\'s Robe', 261 | Ring1 = 'Kishar Ring', 262 | Ring2 = 'Metamor. Ring +1', 263 | Back = 'Aurist\'s Cape +1', 264 | Waist = 'Fucho-no-Obi', 265 | Legs = 'Agwu\'s Slops', 266 | Feet = 'Agwu\'s Pigaches', 267 | }, 268 | 269 | Nuke = { 270 | Main = 'Marin Staff +1', 271 | Sub = 'Enki Strap', 272 | Ammo = 'Pemphredo Tathlum', 273 | Head = 'Jhakri Coronal +2', 274 | Neck = 'Baetyl Pendant', 275 | Ear1 = 'Regal Earring', 276 | Ear2 = 'Malignance Earring', 277 | Body = 'Bagua Tunic +3', 278 | Hands = 'Amalric Gages +1', 279 | Ring1 = 'Shiva Ring +1', 280 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 281 | Back = { Name = 'Nantosuelta\'s Cape', Augment = { [1] = '"Mag. Atk. Bns."+10', [2] = 'Mag. Acc+20', [3] = 'Magic Damage +20', [4] = 'INT+20' } }, 282 | Waist = 'Eschan Stone', 283 | Legs = 'Amalric Slops +1', 284 | Feet = 'Amalric Nails +1', 285 | }, 286 | NukeACC = { 287 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 288 | }, 289 | Burst = { 290 | Main = 'Bunzi\'s Rod', --10 and 0 291 | Sub = 'Ammurapi Shield', 292 | Head = 'Ea Hat', -- 6 and 6 293 | Body = 'Ea Houppelande', -- 8 and 8 294 | Hands = 'Amalric Gages +1', -- 0 and 6 295 | Ring1 = 'Mujin Band', -- 0 and 5 296 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 297 | Legs = 'Agwu\'s Slops', -- 9 and 0 298 | Feet = 'Ea Pigaches', -- 4 and 4 299 | }, 300 | Mp_Body = {Body = 'Seidr Cotehardie',}, 301 | 302 | Preshot = { 303 | }, 304 | Midshot = { 305 | Ear1 = 'Telos Earring', 306 | Ear2 = 'Crep. Earring', 307 | }, 308 | 309 | Ws_Default = { 310 | Ammo = 'Voluspa Tathlum', 311 | Head = 'Nyame Helm', 312 | Neck = 'Fotia Gorget', 313 | Ear1 = 'Telos Earring', 314 | Ear2 = 'Digni. Earring', 315 | Body = 'Nyame Mail', 316 | Hands = 'Nyame Gauntlets', 317 | Ring1 = 'Petrov Ring', 318 | Ring2 = 'Karieyh Ring +1', 319 | Back = 'Solemnity Cape', 320 | Waist = 'Fotia Belt', 321 | Legs = 'Nyame Flanchard', 322 | Feet = 'Nyame Sollerets', 323 | }, 324 | Ws_Hybrid = { 325 | }, 326 | Ws_Acc = { 327 | }, 328 | Aedge_Default = { 329 | Ammo = 'Pemphredo Tathlum', 330 | Head = 'Jhakri Coronal +2', 331 | Neck = 'Baetyl Pendant', 332 | Ear1 = 'Regal Earring', 333 | Ear2 = 'Malignance Earring', 334 | Body = 'Agwu\'s Robe', 335 | Hands = 'Jhakri Cuffs +2', 336 | Ring1 = 'Shiva Ring +1', 337 | Ring2 = 'Karieyh Ring +1', 338 | Back = { Name = 'Nantosuelta\'s Cape', Augment = { [1] = '"Mag. Atk. Bns."+10', [2] = 'Mag. Acc+20', [3] = 'Magic Damage +20', [4] = 'INT+20' } }, 339 | Waist = 'Eschan Stone', 340 | Legs = 'Nyame Flanchard', 341 | Feet = 'Nyame Sollerets', 342 | }, 343 | Aedge_Hybrid = { 344 | }, 345 | Aedge_Acc = { 346 | }, 347 | 348 | Bolster = {Body = 'Bagua Tunic +3'}, 349 | TH = { 350 | Ammo = 'Per. Lucky Egg', 351 | Waist = 'Chaac Belt', 352 | }, 353 | Movement = { 354 | Feet = 'Herald\'s Gaiters', 355 | }, 356 | }; 357 | profile.Sets = sets; 358 | 359 | profile.Packer = { 360 | {Name = 'Tropical Crepe', Quantity = 'all'}, 361 | {Name = 'Rolan. Daifuku', Quantity = 'all'}, 362 | }; 363 | 364 | profile.OnLoad = function() 365 | gSettings.AllowAddSet = true; 366 | gcinclude.Initialize(); 367 | 368 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 14'); 369 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 1'); 370 | end 371 | 372 | profile.OnUnload = function() 373 | gcinclude.Unload(); 374 | end 375 | 376 | profile.HandleCommand = function(args) 377 | gcinclude.HandleCommands(args); 378 | end 379 | 380 | profile.HandleDefault = function() 381 | local player = gData.GetPlayer(); 382 | local pet = gData.GetPet(); 383 | 384 | gFunc.EquipSet(sets.Idle); 385 | 386 | if (player.Status == 'Engaged') then 387 | gFunc.EquipSet(sets.Tp_Default) 388 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 389 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 390 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 391 | if (gcdisplay.GetToggle('Fight') == false) then AshitaCore:GetChatManager():QueueCommand(1, '/fight') end 392 | elseif (player.Status == 'Resting') then 393 | gFunc.EquipSet(sets.Resting); 394 | elseif (player.IsMoving == true) then 395 | gFunc.EquipSet(sets.Movement); 396 | end 397 | 398 | gcinclude.CheckDefault (); 399 | if (pet ~= nil) and (player.Status ~= 'Engaged') then 400 | gFunc.EquipSet(sets.Idle_Pet); 401 | end 402 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 403 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 404 | end 405 | 406 | profile.HandleAbility = function() 407 | local ability = gData.GetAction(); 408 | 409 | if string.match(ability.Name, 'Full Circle') then gFunc.EquipSet(sets.Geomancy) end --lazy way to ensure the empy head piece is in on use 410 | if string.match(ability.Name, 'Bolster') then gFunc.EquipSet(sets.Bolster) end 411 | 412 | gcinclude.CheckCancels(); 413 | end 414 | 415 | profile.HandleItem = function() 416 | local item = gData.GetAction(); 417 | 418 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 419 | end 420 | 421 | profile.HandlePrecast = function() 422 | local spell = gData.GetAction(); 423 | 424 | gFunc.EquipSet(sets.Precast) 425 | 426 | if (spell.Skill == 'Enhancing Magic') then 427 | gFunc.EquipSet(sets.Enhancing_Precast); 428 | 429 | if string.contains(spell.Name, 'Stoneskin') then 430 | gFunc.EquipSet(sets.Stoneskin_Precast); 431 | end 432 | elseif (spell.Skill == 'Healing Magic') then 433 | gFunc.EquipSet(sets.Cure_Precast); 434 | end 435 | 436 | gcinclude.CheckCancels(); 437 | end 438 | 439 | profile.HandleMidcast = function() 440 | local player = gData.GetPlayer(); 441 | local weather = gData.GetEnvironment(); 442 | local spell = gData.GetAction(); 443 | local target = gData.GetActionTarget(); 444 | local me = AshitaCore:GetMemoryManager():GetParty():GetMemberName(0); 445 | 446 | if (spell.Skill == 'Enhancing Magic') then 447 | gFunc.EquipSet(sets.Enhancing); 448 | 449 | if string.match(spell.Name, 'Phalanx') then 450 | gFunc.EquipSet(sets.Phalanx); 451 | elseif string.match(spell.Name, 'Stoneskin') then 452 | gFunc.EquipSet(sets.Stoneskin); 453 | elseif string.contains(spell.Name, 'Regen') then 454 | gFunc.EquipSet(sets.Regen); 455 | elseif string.contains(spell.Name, 'Refresh') then 456 | gFunc.EquipSet(sets.Refresh); 457 | end 458 | elseif (spell.Skill == 'Healing Magic') then 459 | gFunc.EquipSet(sets.Cure); 460 | if (target.Name == me) then 461 | gFunc.EquipSet(sets.Self_Cure); 462 | end 463 | if string.match(spell.Name, 'Cursna') then 464 | gFunc.EquipSet(sets.Cursna); 465 | end 466 | elseif (spell.Skill == 'Elemental Magic') then 467 | gFunc.EquipSet(sets.Nuke); 468 | 469 | if (gcdisplay.GetCycle('NukeSet') == 'Macc') then 470 | gFunc.EquipSet(sets.NukeACC); 471 | end 472 | if (gcdisplay.GetToggle('Burst') == true) then 473 | gFunc.EquipSet(sets.Burst); 474 | end 475 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 476 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 477 | end 478 | if (player.MPP <= 40) then 479 | gFunc.EquipSet(sets.Mp_Body); 480 | end 481 | elseif (spell.Skill == 'Enfeebling Magic') then 482 | gFunc.EquipSet(sets.Enfeebling); 483 | if (gcdisplay.GetCycle('NukeSet') == 'Macc') then 484 | gFunc.EquipSet(sets.Macc); 485 | end 486 | elseif (spell.Skill == 'Dark Magic') then 487 | gFunc.EquipSet(sets.Macc); 488 | if (string.contains(spell.Name, 'Aspir') or string.contains(spell.Name, 'Drain')) then 489 | gFunc.EquipSet(sets.Drain); 490 | end 491 | elseif (spell.Skill == 'Geomancy') then 492 | gFunc.EquipSet(sets.Geomancy); 493 | if (string.contains(spell.Name, 'Indi')) then 494 | gFunc.EquipSet(sets.Indi); 495 | end 496 | end 497 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 498 | end 499 | 500 | profile.HandlePreshot = function() 501 | gFunc.EquipSet(sets.Preshot); 502 | end 503 | 504 | profile.HandleMidshot = function() 505 | gFunc.EquipSet(sets.Midshot); 506 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 507 | end 508 | 509 | profile.HandleWeaponskill = function() 510 | local canWS = gcinclude.CheckWsBailout(); 511 | if (canWS == false) then gFunc.CancelAction() return; 512 | else 513 | local ws = gData.GetAction(); 514 | 515 | gFunc.EquipSet(sets.Ws_Default) 516 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 517 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 518 | 519 | if string.match(ws.Name, 'Aeolian Edge') then 520 | gFunc.EquipSet(sets.Aedge_Default) 521 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 522 | gFunc.EquipSet('Aedge_' .. gcdisplay.GetCycle('MeleeSet')); end 523 | end 524 | end 525 | end 526 | 527 | return profile; 528 | -------------------------------------------------------------------------------- /config/addons/luashitacast/BLM.lua: -------------------------------------------------------------------------------- 1 | local profile = {}; 2 | gcinclude = gFunc.LoadFile('common\\gcinclude.lua'); 3 | 4 | local sets = { 5 | Idle = { 6 | Main = 'Bolelabunga', 7 | Sub = 'Genmei Shield', 8 | Ammo = 'Staunch Tathlum', 9 | Head = 'Agwu\'s Cap', 10 | Neck = 'Loricate Torque +1', 11 | Ear1 = 'Eabani Earring', 12 | Ear2 = 'Etiolation Earring', 13 | Body = 'Agwu\'s Robe', 14 | Hands = 'Amalric Gages +1', 15 | Ring1 = 'Stikini Ring +1', 16 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 17 | Back = { Name = 'Taranus\'s Cape', Augment = { [1] = 'Damage taken-5%', [2] = '"Mag. Atk. Bns."+10', [3] = 'Mag. Acc+20', [4] = 'INT+20', [5] = 'Magic Damage +20' } }, 18 | Waist = 'Gishdubar Sash', 19 | Legs = 'Agwu\'s Slops', 20 | Feet = 'Volte Gaiters', 21 | }, 22 | Idle_Staff = { 23 | Main = 'Marin Staff +1', 24 | Sub = 'Enki Strap', 25 | }, 26 | Resting = {}, 27 | Idle_Regen = { 28 | Neck = 'Bathy Choker +1', 29 | Ear1 = 'Infused Earring', 30 | Ring2 = 'Chirich Ring +1', 31 | }, 32 | Idle_Refresh = { 33 | Head = 'Befouled Crown', 34 | Waist = 'Fucho-no-Obi', 35 | Legs = 'Assid. Pants +1', 36 | }, 37 | Town = { 38 | Main = 'Bunzi\'s Rod', 39 | Sub = 'Culminus', 40 | Ammo = 'Pemphredo Tathlum', 41 | Head = 'Agwu\'s Cap', 42 | Neck = 'Bathy Choker +1', 43 | Body = 'Agwu\'s Robe', 44 | Hands = 'Amalric Gages +1', 45 | Back = { Name = 'Taranus\'s Cape', Augment = { [1] = 'Damage taken-5%', [2] = '"Mag. Atk. Bns."+10', [3] = 'Mag. Acc+20', [4] = 'INT+20', [5] = 'Magic Damage +20' } }, 46 | Legs = 'Agwu\'s Slops', 47 | Feet = 'Herald\'s Gaiters', 48 | }, 49 | 50 | Dt = { 51 | Ammo = 'Staunch Tathlum', 52 | Head = 'Nyame Helm', 53 | Neck = 'Loricate Torque +1', 54 | Ear1 = 'Odnowa Earring +1', 55 | Ear2 = 'Etiolation Earring', 56 | Body = 'Agwu\'s Robe', 57 | Hands = 'Nyame Gauntlets', 58 | Ring1 = 'Defending Ring', 59 | Ring2 = 'Gelatinous Ring +1', 60 | Back = { Name = 'Taranus\'s Cape', Augment = { [1] = 'Damage taken-5%', [2] = '"Mag. Atk. Bns."+10', [3] = 'Mag. Acc+20', [4] = 'INT+20', [5] = 'Magic Damage +20' } }, 61 | Waist = 'Gishdubar Sash', 62 | Legs = 'Nyame Flanchard', 63 | Feet = 'Nyame Sollerets', 64 | }, 65 | 66 | Tp_Default = { 67 | }, 68 | Tp_Hybrid = { 69 | }, 70 | Tp_Acc = { 71 | Ring1 = 'Cacoethic Ring +1', 72 | Ring2 = 'Chirich Ring +1', 73 | }, 74 | 75 | 76 | Precast = { 77 | Ammo = 'Sapience Orb', 78 | Head = 'Haruspex Hat', 79 | Neck = 'Baetyl Pendant', 80 | Ear1 = 'Malignance Earring', 81 | Ear2 = 'Etiolation Earring', 82 | Body = 'Agwu\'s Robe', 83 | Hands = 'Mallquis Cuffs +2', 84 | Ring1 = 'Kishar Ring', 85 | Ring2 = 'Mallquis Ring', 86 | Back = 'Swith Cape +1', 87 | Waist = 'Embla Sash', 88 | Legs = 'Agwu\'s Slops', 89 | Feet = 'Volte Gaiters', 90 | }, 91 | Cure_Precast = { 92 | Ear1 = 'Mendi. Earring', 93 | Feet = 'Vanya Clogs', 94 | }, 95 | Enhancing_Precast = { 96 | Waist = 'Siegel Sash', 97 | }, 98 | Stoneskin_Precast = { 99 | Head = 'Umuthi Hat', 100 | Hands = 'Carapacho Cuffs', 101 | Waist = 'Siegel Sash', 102 | }, 103 | 104 | 105 | Cure = {--I cap is 50, II cap is 30 106 | Main = 'Bunzi\'s Rod',--I 30 107 | Sub = 'Ammurapi Shield', 108 | Ammo = 'Pemphredo Tathlum', 109 | Neck = 'Nodens Gorget',--I 5 110 | Ear1 = 'Mendi. Earring',--I 5 111 | Ear2 = 'Regal Earring', 112 | Hands = 'Telchine Gloves',--I 9 113 | Ring1 = 'Stikini Ring +1', 114 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 115 | Back = 'Aurist\'s Cape +1', 116 | Waist = 'Rumination Sash', 117 | Feet = 'Vanya Clogs',--I 10 118 | }, 119 | Self_Cure = {--cap 30 120 | Waist = 'Gishdubar Sash', 121 | }, 122 | Regen = { 123 | Main = 'Bolelabunga', 124 | Sub = 'Ammurapi Shield', 125 | Body = 'Telchine Chas.', 126 | Waist = 'Embla Sash', 127 | Legs = 'Telchine Braconi', 128 | Feet = 'Telchine Pigaches', 129 | }, 130 | Cursna = { 131 | Ring1 = 'Purity Ring', 132 | Waist = 'Gishdubar Sash', 133 | Feet = 'Vanya Clogs', 134 | }, 135 | 136 | Enhancing = { 137 | Main = 'Bunzi\'s Rod', 138 | Sub = 'Ammurapi Shield', 139 | Ammo = 'Pemphredo Tathlum', 140 | Head = 'Befouled Crown', 141 | Neck = 'Incanter\'s Torque', 142 | Ear1 = 'Mendi. Earring', 143 | Ear2 = 'Andoaa Earring', 144 | Body = 'Telchine Chas.', 145 | Hands = 'Nyame Gauntlets', 146 | Ring1 = 'Defending Ring', 147 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 148 | Back = 'Solemnity Cape', 149 | Waist = 'Embla Sash', 150 | Legs = 'Telchine Braconi', 151 | Feet = 'Telchine Pigaches', 152 | }, 153 | Self_Enhancing = {}, 154 | Skill_Enhancing = {}, 155 | Stoneskin = { 156 | Neck = 'Nodens Gorget', 157 | Waist = 'Siegel Sash', 158 | }, 159 | Phalanx = {}, 160 | Refresh = { 161 | Waist = 'Gishdubar Sash', 162 | }, 163 | Self_Refresh = {}, 164 | 165 | Enfeebling = { 166 | Main = 'Bunzi\'s Rod', 167 | Sub = 'Ammurapi Shield', 168 | Ammo = 'Pemphredo Tathlum', 169 | Head = 'Befouled Crown', 170 | Neck = 'Erra Pendant', 171 | Ear1 = 'Malignance Earring', 172 | Ear2 = 'Regal Earring', 173 | Body = 'Arch. Coat +3', 174 | Hands = 'Nyame Gauntlets', 175 | Ring1 = 'Kishar Ring', 176 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 177 | Back = { Name = 'Aurist\'s Cape +1', AugPath='A' }, 178 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 179 | Legs = 'Agwu\'s Slops', 180 | Feet = { Name = 'Medium\'s Sabots', Augment = { [1] = 'MND+6', [2] = '"Conserve MP"+5', [3] = 'MP+40', [4] = '"Cure" potency +3%' } }, 181 | }, 182 | Macc = { 183 | Main = 'Bunzi\'s Rod', 184 | Sub = 'Ammurapi Shield', 185 | Ammo = 'Pemphredo Tathlum', 186 | Head = 'Nyame Helm', 187 | Neck = 'Src. Stole +1', 188 | Ear1 = 'Malignance Earring', 189 | Ear2 = 'Regal Earring', 190 | Body = 'Spaekona\'s Coat +2', 191 | Hands = 'Nyame Gauntlets', 192 | Ring1 = 'Kishar Ring', 193 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 194 | Back = { Name = 'Aurist\'s Cape +1', AugPath='A' }, 195 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 196 | Legs = 'Agwu\'s Slops', 197 | Feet = { Name = 'Medium\'s Sabots', Augment = { [1] = 'MND+6', [2] = '"Conserve MP"+5', [3] = 'MP+40', [4] = '"Cure" potency +3%' } }, 198 | }, 199 | 200 | Drain = { 201 | Main = 'Bunzi\'s Rod', 202 | Sub = 'Ammurapi Shield', 203 | Ammo = 'Pemphredo Tathlum', 204 | Neck = 'Erra Pendant', 205 | Ear1 = 'Malignance Earring', 206 | Ear2 = 'Regal Earring', 207 | Body = 'Spaekona\'s Coat +2', 208 | Ring1 = 'Kishar Ring', 209 | Ring2 = 'Metamor. Ring +1', 210 | Back = 'Aurist\'s Cape +1', 211 | Waist = 'Fucho-no-Obi', 212 | Legs = 'Agwu\'s Slops', 213 | Feet = 'Agwu\'s Pigaches', 214 | }, 215 | 216 | Nuke = { 217 | Main = 'Marin Staff +1', 218 | Sub = 'Enki Strap', 219 | Ammo = 'Pemphredo Tathlum', 220 | Head = 'Jhakri Coronal +2', 221 | Neck = 'Baetyl Pendant', 222 | Ear1 = 'Malignance Earring', 223 | Ear2 = 'Regal Earring', 224 | Body = 'Arch. Coat +3', 225 | Hands = 'Amalric Gages +1', 226 | Ring1 = 'Shiva Ring +1', 227 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 228 | Back = { Name = 'Taranus\'s Cape', Augment = { [1] = 'Damage taken-5%', [2] = '"Mag. Atk. Bns."+10', [3] = 'Mag. Acc+20', [4] = 'INT+20', [5] = 'Magic Damage +20' } }, 229 | Waist = 'Eschan Stone', 230 | Legs = 'Wicce Chausses +2', 231 | Feet = 'Amalric Nails +1', 232 | }, 233 | NukeACC = { 234 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 235 | }, 236 | Burst = { 237 | Main = 'Bunzi\'s Rod', -- 10 and 0 238 | Sub = 'Ammurapi Shield', 239 | Head = 'Ea Hat', -- 6 and 6 240 | Neck = 'Src. Stole +1', -- 8 and 0 241 | Body = 'Ea Houppelande', -- 8 and 9 242 | Hands = 'Amalric Gages +1', -- 0 and 6 243 | Ring1 = 'Mujin Band', -- 0 and 5 244 | Back = { Name = 'Taranus\'s Cape', Augment = { [1] = 'Damage taken-5%', [2] = '"Mag. Atk. Bns."+10', [3] = 'Mag. Acc+20', [4] = 'INT+20', [5] = 'Magic Damage +20' } }, -- 5 and 0 245 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 246 | Legs = 'Agwu\'s Slops', -- 9 and 0 247 | Feet = 'Ea Pigaches', -- 4 and 4 248 | }, 249 | Helix = { 250 | Main = 'Bunzi\'s Rod', 251 | Sub = 'Ammurapi Shield', 252 | Head = 'Mall. Chapeau +2', 253 | Ear1 = 'Malignance Earring', 254 | Ear2 = 'Wicce Earring +1', 255 | Body = 'Agwu\'s Robe', 256 | Hands = 'Amalric Gages +1', 257 | Back = { Name = 'Taranus\'s Cape', Augment = { [1] = 'Damage taken-5%', [2] = '"Mag. Atk. Bns."+10', [3] = 'Mag. Acc+20', [4] = 'INT+20', [5] = 'Magic Damage +20' } }, 258 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 259 | Legs = 'Agwu\'s Slops', 260 | Feet = 'Amalric Nails +1', 261 | }, 262 | Death = { 263 | Main = 'Marin Staff +1', 264 | Sub = 'Enki Strap', 265 | Ammo = 'Ghastly Tathlum +1', 266 | Head = 'Pixie Hairpin +1', 267 | Neck = 'Sanctity Necklace', 268 | Ear1 = 'Mendi. Earring', 269 | Ear2 = 'Etiolation Earring', 270 | Body = 'Agwu\'s Robe', 271 | Hands = 'Nyame Gauntlets', 272 | Ring1 = 'Archon Ring', 273 | Ring2 = { Name = 'Metamor. Ring +1', AugPath='A' }, 274 | Back = 'Aurist\'s Cape +1', 275 | Waist = { Name = 'Acuity Belt +1', AugPath='A' }, 276 | Legs = 'Agwu\'s Slops', 277 | Feet = 'Agwu\'s Pigaches', 278 | }, 279 | Af_Body = {Body = 'Spaekona\'s Coat +2'}, 280 | EmpyLegs = {Legs ='Wicce Chausses +2'}, 281 | 282 | Preshot = { 283 | }, 284 | Midshot = { 285 | Ear1 = 'Telos Earring', 286 | Ear2 = 'Crep. Earring', 287 | }, 288 | 289 | Ws_Default = {--myrkr mostly 290 | Ammo = 'Ghastly Tathlum +1', 291 | Head = 'Pixie Hairpin +1', 292 | Neck = 'Sanctity Necklace', 293 | Ear1 = 'Mendi. Earring', 294 | Ear2 = 'Etiolation Earring', 295 | Body = 'Ea Houppelande', 296 | Hands = 'Nyame Gauntlets', 297 | Ring1 = 'Sangoma Ring', 298 | Ring2 = 'Metamor. Ring +1', 299 | Back = 'Aurist\'s Cape +1', 300 | Waist = 'Shinjutsu-no-Obi +1', 301 | Legs = 'Wicce Chausses +2', 302 | Feet = 'Nyame Sollerets', 303 | }, 304 | Ws_Hybrid = { 305 | }, 306 | Ws_Acc = { 307 | }, 308 | 309 | TH = { 310 | Ammo = 'Per. Lucky Egg', 311 | Waist = 'Chaac Belt', 312 | }, 313 | Movement = { 314 | Feet = 'Herald\'s Gaiters', 315 | }, 316 | }; 317 | profile.Sets = sets; 318 | 319 | profile.Packer = { 320 | {Name = 'Tropical Crepe', Quantity = 'all'}, 321 | {Name = 'Rolan. Daifuku', Quantity = 'all'}, 322 | }; 323 | 324 | profile.OnLoad = function() 325 | gSettings.AllowAddSet = true; 326 | gcinclude.Initialize(); 327 | 328 | AshitaCore:GetChatManager():QueueCommand(1, '/macro book 1'); 329 | AshitaCore:GetChatManager():QueueCommand(1, '/macro set 5'); 330 | end 331 | 332 | profile.OnUnload = function() 333 | gcinclude.Unload(); 334 | end 335 | 336 | profile.HandleCommand = function(args) 337 | gcinclude.HandleCommands(args); 338 | end 339 | 340 | profile.HandleDefault = function() 341 | local player = gData.GetPlayer(); 342 | 343 | if (gcdisplay.GetToggle('Death') == true) and (player.MPP > 50) then 344 | gFunc.EquipSet(sets.Death); 345 | return; 346 | end 347 | 348 | gFunc.EquipSet(sets.Idle); 349 | 350 | if (player.Status == 'Engaged') then 351 | gFunc.EquipSet(sets.Tp_Default) 352 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 353 | gFunc.EquipSet('Tp_' .. gcdisplay.GetCycle('MeleeSet')) end 354 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 355 | elseif (player.Status == 'Resting') then 356 | gFunc.EquipSet(sets.Resting); 357 | elseif (player.IsMoving == true) then 358 | gFunc.EquipSet(sets.Movement); 359 | end 360 | 361 | gcinclude.CheckDefault (); 362 | if (gcdisplay.GetCycle('Weapon') == 'Staff') then 363 | gFunc.EquipSet(sets.Idle_Staff); 364 | end 365 | if (gcdisplay.GetToggle('DTset') == true) then gFunc.EquipSet(sets.Dt) end; 366 | if (gcdisplay.GetToggle('Kite') == true) then gFunc.EquipSet(sets.Movement) end; 367 | end 368 | 369 | profile.HandleAbility = function() 370 | local ability = gData.GetAction(); 371 | 372 | gcinclude.CheckCancels(); 373 | end 374 | 375 | profile.HandleItem = function() 376 | local item = gData.GetAction(); 377 | 378 | if string.match(item.Name, 'Holy Water') then gFunc.EquipSet(gcinclude.sets.Holy_Water) end 379 | end 380 | 381 | profile.HandlePrecast = function() 382 | local spell = gData.GetAction(); 383 | 384 | if (gcdisplay.GetToggle('Death') == true) then 385 | gFunc.EquipSet(sets.Death); 386 | else 387 | gFunc.EquipSet(sets.Precast) 388 | 389 | if (spell.Skill == 'Enhancing Magic') then 390 | gFunc.EquipSet(sets.Enhancing_Precast); 391 | 392 | if string.contains(spell.Name, 'Stoneskin') then 393 | gFunc.EquipSet(sets.Stoneskin_Precast); 394 | end 395 | elseif (spell.Skill == 'Healing Magic') then 396 | gFunc.EquipSet(sets.Cure_Precast); 397 | end 398 | 399 | gcinclude.CheckCancels(); 400 | if (gcdisplay.GetCycle('Weapon') == 'Staff') then 401 | gFunc.EquipSet(sets.Idle_Staff); 402 | end 403 | end 404 | end 405 | 406 | profile.HandleMidcast = function() 407 | local player = gData.GetPlayer(); 408 | local weather = gData.GetEnvironment(); 409 | local spell = gData.GetAction(); 410 | local target = gData.GetActionTarget(); 411 | local me = AshitaCore:GetMemoryManager():GetParty():GetMemberName(0); 412 | local mw = gData.GetBuffCount('Manawell'); 413 | 414 | if (gcdisplay.GetToggle('Death') == true) then 415 | gFunc.EquipSet(sets.Death); 416 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 417 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 418 | end 419 | else 420 | if (spell.Skill == 'Enhancing Magic') then 421 | gFunc.EquipSet(sets.Enhancing); 422 | if (target.Name == me) then 423 | gFunc.EquipSet(sets.Self_Enhancing); 424 | end 425 | 426 | if string.match(spell.Name, 'Phalanx') then 427 | gFunc.EquipSet(sets.Phalanx); 428 | elseif string.match(spell.Name, 'Stoneskin') then 429 | gFunc.EquipSet(sets.Stoneskin); 430 | elseif string.contains(spell.Name, 'Regen') then 431 | gFunc.EquipSet(sets.Regen); 432 | elseif string.contains(spell.Name, 'Refresh') then 433 | gFunc.EquipSet(sets.Refresh); 434 | if (target.Name == me) then 435 | gFunc.EquipSet(sets.Self_Refresh); 436 | end 437 | end 438 | elseif (spell.Skill == 'Healing Magic') then 439 | gFunc.EquipSet(sets.Cure); 440 | if (target.Name == me) then 441 | gFunc.EquipSet(sets.Self_Cure); 442 | end 443 | if string.match(spell.Name, 'Cursna') then 444 | gFunc.EquipSet(sets.Cursna); 445 | end 446 | elseif (spell.Skill == 'Elemental Magic') then 447 | gFunc.EquipSet(sets.Nuke); 448 | 449 | if (gcdisplay.GetCycle('NukeSet') == 'Macc') then 450 | gFunc.EquipSet(sets.NukeACC); 451 | end 452 | if (gcdisplay.GetToggle('Burst') == true) then 453 | gFunc.EquipSet(sets.Burst); 454 | end 455 | if (spell.Element == weather.WeatherElement) or (spell.Element == weather.DayElement) then 456 | gFunc.Equip('Waist', 'Hachirin-no-Obi'); 457 | end 458 | if string.match(spell.Name, 'helix') then 459 | gFunc.EquipSet(sets.Helix); 460 | if (gcdisplay.GetToggle('Burst') == true) then 461 | gFunc.EquipSet(sets.Burst); 462 | end 463 | end 464 | if (player.MPP <= 40) and (mw == 0) then 465 | gFunc.EquipSet(sets.Af_Body); 466 | end 467 | if string.contains(spell.Name, 'ja') then 468 | gFunc.EquipSet(sets.EmpyLegs); 469 | end 470 | elseif (spell.Skill == 'Enfeebling Magic') then 471 | gFunc.EquipSet(sets.Enfeebling); 472 | if (gcdisplay.GetCycle('NukeSet') == 'Macc') then 473 | gFunc.EquipSet(sets.Macc); 474 | end 475 | elseif (spell.Skill == 'Dark Magic') then 476 | gFunc.EquipSet(sets.Macc); 477 | if (string.contains(spell.Name, 'Aspir') or string.contains(spell.Name, 'Drain')) then 478 | gFunc.EquipSet(sets.Drain); 479 | end 480 | end 481 | 482 | if (gcdisplay.GetCycle('Weapon') == 'Staff') then 483 | gFunc.EquipSet(sets.Idle_Staff); 484 | end 485 | end 486 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 487 | end 488 | 489 | profile.HandlePreshot = function() 490 | gFunc.EquipSet(sets.Preshot); 491 | end 492 | 493 | profile.HandleMidshot = function() 494 | gFunc.EquipSet(sets.Midshot); 495 | if (gcdisplay.GetToggle('TH') == true) then gFunc.EquipSet(sets.TH) end 496 | end 497 | 498 | profile.HandleWeaponskill = function() 499 | local canWS = gcinclude.CheckWsBailout(); 500 | if (canWS == false) then gFunc.CancelAction() return; 501 | else 502 | local ws = gData.GetAction(); 503 | 504 | gFunc.EquipSet(sets.Ws_Default) 505 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 506 | gFunc.EquipSet('Ws_' .. gcdisplay.GetCycle('MeleeSet')) end 507 | 508 | if string.match(ws.Name, 'Chant du Cygne') then 509 | gFunc.EquipSet(sets.Chant_Default) 510 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 511 | gFunc.EquipSet('Chant_' .. gcdisplay.GetCycle('MeleeSet')); end 512 | elseif string.match(ws.Name, 'Savage Blade') then 513 | gFunc.EquipSet(sets.Savage_Default) 514 | if (gcdisplay.GetCycle('MeleeSet') ~= 'Default') then 515 | gFunc.EquipSet('Savage_' .. gcdisplay.GetCycle('MeleeSet')); end 516 | end 517 | end 518 | end 519 | 520 | return profile; 521 | --------------------------------------------------------------------------------