summaryrefslogtreecommitdiff
path: root/Data/DefaultContent/Libraries/addons/addons/autocontrol/burden.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Data/DefaultContent/Libraries/addons/addons/autocontrol/burden.lua')
-rw-r--r--Data/DefaultContent/Libraries/addons/addons/autocontrol/burden.lua186
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