diff options
Diffstat (limited to 'Data/DefaultContent/Libraries/addons/addons/autocontrol/burden.lua')
-rw-r--r-- | Data/DefaultContent/Libraries/addons/addons/autocontrol/burden.lua | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/Data/DefaultContent/Libraries/addons/addons/autocontrol/burden.lua b/Data/DefaultContent/Libraries/addons/addons/autocontrol/burden.lua deleted file mode 100644 index 51a8136..0000000 --- a/Data/DefaultContent/Libraries/addons/addons/autocontrol/burden.lua +++ /dev/null @@ -1,186 +0,0 @@ -local set = require("sets") -local packets = require("packets") - -local o = { - fire = 0, - earth = 0, - water = 0, - wind = 0, - ice = 0, - thunder = 0, - light = 0, - dark = 0, -} -local burden = {} -local mt = { - __index = burden -} -setmetatable(o, mt) -local updaters = {} -local heatsink - -windower.register_event('incoming chunk',function(id,org,modi,is_injected,is_blocked) - if id == 0x044 then - local attachments = windower.ffxi.get_mjob_data().attachments - if attachments then - for _, id in pairs(attachments) do - heatsink = (id == 8610) - if heatsink then - break - end - end - end - end -end) - -local thresholdModifiers = -{ - [11101] = 40, -- Cirque Farsetto +2 - [11201] = 20, -- Cirque Farsetto +1 - [14930] = 5, -- Pup. Dastanas - [15030] = 5, -- Pup. Dastanas +1 - [16281] = 5, -- Buffoon's Collar - [16282] = 5, -- Buffoon's Collar +1 - [20520] = 40, -- Midnights - [26263] = 10, -- Visucius's Mantle - [26932] = 40, -- Kara. Farsetto - [26933] = 40, -- Kara. Farsetto +1 - [27960] = 5, -- Foire Dastanas - [27981] = 5, -- Foire Dastanas +1 - [28634] = 5, -- Dispersal Mantle -} -burden.threshold = 30 - -local pet_actions = -{ - [136] = "activate", - [139] = "deactivate", - [141] = "fire", - [142] = "ice", - [143] = "wind", - [144] = "earth", - [145] = "thunder", - [146] = "water", - [147] = "light", - [148] = "dark", - [309] = "cooldown", - [310] = "deus_ex_automata", -} -function burden:update(action) - updaters[action](self) -end - -function burden:zone() - for k in pairs(self) do - self[k] = 15 - end -end - -function burden.set_decay_event(func) - burden.decay_event = func -end -function updaters.deactivate(self) - for k in pairs(self) do - self[k] = 0 - end -end - -function updaters.activate(self) - for _, id in pairs(windower.ffxi.get_mjob_data().attachments) do - heatsink = (id == 8610) - if heatsink then - break - end - end - burden.update_decay_rate() - for k in pairs(self) do - self[k] = 15 - end -end -updaters.deus_ex_automata = updaters.activate - -function updaters.cooldown(self) - for k in pairs(self) do - self[k] = self[k] / 2 - end -end - -function updaters.maneuver(self, type) - self[type] = self[type] + 15 - local inventory = windower.ffxi.get_items() - local equipment = { - sub = {}, - ammo = {}, - main = {}, - head = {}, - body = {}, - back = {}, - legs = {}, - feet = {}, - neck = {}, - hands = {}, - range = {}, - waist = {}, - left_ear = {}, - left_ring = {}, - right_ear = {}, - right_ring = {}, - } - for k, v in pairs(inventory.equipment) do - equipment[string.gsub(k ,"_bag","")][k] = v - end - burden.threshold = 30 - for k, v in pairs(equipment) do - item = windower.ffxi.get_items(v[k .. "_bag"], v[k]) - if thresholdModifiers[item.id] then - burden.threshold = burden.threshold + thresholdModifiers[item.id] - end - end -end - -function updaters.ice(self) updaters.maneuver(self, "ice") end -function updaters.fire(self) updaters.maneuver(self, "fire") end -function updaters.wind(self) updaters.maneuver(self, "wind") end -function updaters.dark(self) updaters.maneuver(self, "dark") end -function updaters.earth(self) updaters.maneuver(self, "earth") end -function updaters.water(self) updaters.maneuver(self, "water") end -function updaters.light(self) updaters.maneuver(self, "light") end -function updaters.thunder(self) updaters.maneuver(self, "thunder") end - -burden.decay_rate = 1 -function burden.decay() - for k in pairs(o) do - if o[k] > burden.decay_rate then - o[k] = o[k] - burden.decay_rate - elseif o[k] > 0 then - o[k] = 0 - end - end - if burden.decay_event then - burden.decay_event() - end - coroutine.schedule(burden.decay, 3) -end -coroutine.schedule(burden.decay, os.date("*t").sec % 3) - -local count_to_decay_rate = { - [0] = 2, - [1] = 4, - [2] = 5, - [3] = 6, -} -function burden.update_decay_rate() - if heatsink then - local count = 0 - for _, v in pairs(windower.ffxi.get_player().buffs) do - if v == 305 then - count = count + 1 - end - end - burden.decay_rate = count_to_decay_rate[count]; - else - burden.decay_rate = 1 - end -end - -return o |