diff --git a/addons/EmpyPopTracker/EmpyPopTracker.lua b/addons/EmpyPopTracker/EmpyPopTracker.lua new file mode 100644 index 000000000..a87bbf5d2 --- /dev/null +++ b/addons/EmpyPopTracker/EmpyPopTracker.lua @@ -0,0 +1,326 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +_addon.name = 'Empy Pop Tracker' +_addon.author = 'Dean James (Xurion of Bismarck)' +_addon.commands = { 'ept', 'empypoptracker' } +_addon.version = '2.0.0' + +config = require('config') +res = require('resources') +nm_data = require('nms/index') + +active = false + +local EmpyPopTracker = {} + +local defaults = {} +defaults.text = {} +defaults.text.pos = {} +defaults.text.pos.x = 0 +defaults.text.pos.y = 0 +defaults.text.bg = {} +defaults.text.bg.alpha = 150 +defaults.text.bg.blue = 0 +defaults.text.bg.green = 0 +defaults.text.bg.red = 0 +defaults.text.bg.visible = true +defaults.text.padding = 8 +defaults.text.text = {} +defaults.text.text.font = 'Consolas' +defaults.text.text.size = 10 +defaults.tracking = 'briareus' +defaults.visible = true +defaults.add_to_chat_mode = 8 + +EmpyPopTracker.settings = config.load(defaults) +EmpyPopTracker.text = require('texts').new(EmpyPopTracker.settings.text, EmpyPopTracker.settings) + +colors = {} +colors.success = '\\cs(100,255,100)' +colors.danger = '\\cs(255,50,50)' +colors.warning = '\\cs(255,170,0)' +colors.close = '\\cr' + +function owns_item(id, items) + for _, bag in ipairs(items) do + for _, item in ipairs(bag) do + if item.id == id then + return true + end + end + end + + return false +end + +function owns_key_item(id, items) + local owned = false + + for _, item_id in pairs(items) do + if item_id == id then + owned = true + break + end + end + + return owned +end + +function item_treasure_pool_count(id, treasure) + local count = 0 + + for _, item in pairs(treasure) do + if item.item_id == id then + count = count + 1 + end + end + + return count +end + +function ucwords(str) + local result = string.gsub(str, '(%a)([%w_\']*)', function(first, rest) + return first:upper() .. rest:lower() + end) + + return result +end + +function get_indent(depth) + return string.rep(' ', depth) +end + +function generate_text(data, key_items, items, depth) + local text = depth == 1 and data.name or '' + for _, pop in pairs(data.pops) do + local resource + local item_scope + local owns_pop + local in_pool_count = 0 + local item_identifier = '' + + if pop.type == 'key item' then + resource = res.key_items[pop.id] + owns_pop = owns_key_item(pop.id, key_items) + item_identifier = 'Ж ' + else + resource = res.items[pop.id] + owns_pop = owns_item(pop.id, items) + in_pool_count = item_treasure_pool_count(pop.id, items.treasure) + end + + local pop_name = 'Unknown pop' + if resource then + pop_name = ucwords(resource.name) + end + + --separator line for each top-level mob + if depth == 1 then + text = text .. '\n' + end + + local item_colour + if owns_pop then + item_colour = colors.success + else + item_colour = colors.danger + end + + local pool_notification = '' + if in_pool_count > 0 then + pool_notification = colors.warning .. ' [' .. in_pool_count .. ']' .. colors.close + end + text = text .. '\n' .. get_indent(depth) .. pop.dropped_from.name .. '\n' .. get_indent(depth) .. ' >> ' .. item_colour .. item_identifier .. pop_name .. colors.close .. pool_notification + if pop.dropped_from.pops then + text = text .. generate_text(pop.dropped_from, key_items, items, depth + 1) + end + end + + return text +end + +EmpyPopTracker.generate_info = function(nm, key_items, items) + local info = { + has_all_kis = true, + text = '' + } + + if nm.pops then + for _, key_item_data in pairs(nm.pops) do + local has_pop_ki = owns_key_item(key_item_data.id, key_items) + + if not has_pop_ki then + info.has_all_kis = false + end + end + end + + info.text = generate_text(nm, key_items, items, 1) + + return info +end + +function find_nms(pattern) + local matching_nms = {} + local lower_pattern = pattern:lower() + for _, nm in pairs(nm_data) do + local nm_name = nm.name:lower() + local result = windower.wc_match(nm_name, lower_pattern) + if result then + table.insert(matching_nms, nm_name) + end + end + + return matching_nms +end + +windower.register_event('addon command', function(command, ...) + command = command and command:lower() or 'help' + + if commands[command] then + commands[command](...) + else + commands.help() + end +end) + +commands = {} + +commands.track = function(...) + local args = {...} + local nm_search_pattern = args[1] + local matching_nm_names = find_nms(nm_search_pattern) + + if #matching_nm_names == 0 then + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, 'Unable to find a NM using: "' .. nm_search_pattern .. '"') + elseif #matching_nm_names > 1 then + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, '"' .. nm_search_pattern .. '" matches ' .. #matching_nm_names .. ' NMs. Please be more explicit:') + for key, matching_file_name in pairs(matching_nm_names) do + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, ' Match ' .. key .. ': ' .. ucwords(matching_file_name)) + end + else + active = true + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, 'Now tracking: ' .. ucwords(matching_nm_names[1])) + EmpyPopTracker.settings.tracking = matching_nm_names[1] + EmpyPopTracker.update() + commands.show() + end +end +commands.t = commands.track + +commands.hide = function() + active = false + EmpyPopTracker.text:visible(false) + EmpyPopTracker.settings.visible = false + EmpyPopTracker.settings:save() +end + +commands.show = function() + active = true + EmpyPopTracker.text:visible(true) + EmpyPopTracker.settings.visible = true + EmpyPopTracker.settings:save() + EmpyPopTracker.update() +end + +commands.help = function() + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, '---Empy Pop Tracker---') + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, 'Available commands:') + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, '//ept track briareus - tracks Briareus pops (search patterns such as apadem* work too!)') + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, '//ept hide - hides the UI') + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, '//ept show - shows the UI') + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, '//ept list - lists all trackable NMs') + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, '//ept help - displays this help') +end + +commands.list = function() + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, '---Empy Pop Tracker---') + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, 'Trackable NMs:') + for _, nm in pairs(nm_data) do + windower.add_to_chat(EmpyPopTracker.settings.add_to_chat_mode, ucwords(nm.name)) + end +end + +commands.bg = function() + local tracking_nm = nm_data[EmpyPopTracker.settings.tracking] + local url = 'https://www.bg-wiki.com/bg/' .. tracking_nm.name + windower.open_url(url) +end + +EmpyPopTracker.update = function() + local key_items = windower.ffxi.get_key_items() + local items = windower.ffxi.get_items() + local tracked_nm_data = nm_data[EmpyPopTracker.settings.tracking] + local generated_info = EmpyPopTracker.generate_info(tracked_nm_data, key_items, items) + EmpyPopTracker.text:text(generated_info.text) + if generated_info.has_all_kis then + EmpyPopTracker.text:bg_color(0, 75, 0) + else + EmpyPopTracker.text:bg_color(0, 0, 0) + end + if EmpyPopTracker.settings.visible then + EmpyPopTracker.text:visible(true) + end +end + +windower.register_event('load', function() + if windower.ffxi.get_info().logged_in and EmpyPopTracker.settings.visible then + active = true + EmpyPopTracker.update() + end +end) + +windower.register_event('add item', 'remove item', function() + if active then + EmpyPopTracker.update() + end +end) + +windower.register_event('incoming chunk', function(id) + --0x055: KI update + --0x0D2: Treasure pool addition + --0x0D3: Treasure pool lot/drop + if active and id == 0x055 or id == 0x0D2 or id == 0x0D3 then + EmpyPopTracker.update() + end +end) + +windower.register_event('login', function() + if EmpyPopTracker.settings.visible then + EmpyPopTracker.text:visible(true) + active = true + end +end) + +windower.register_event('logout', function() + EmpyPopTracker.text:visible(false) + active = false +end) + +return EmpyPopTracker diff --git a/addons/EmpyPopTracker/README.md b/addons/EmpyPopTracker/README.md new file mode 100644 index 000000000..f674c3c94 --- /dev/null +++ b/addons/EmpyPopTracker/README.md @@ -0,0 +1,53 @@ +# FFXI Empyrean Pop Tracker + +An FFXI Windower 4 addon that tracks items and key items for popping Empyrean NMs in Abyssea, such as Briareus, Apademak and Sobek. + +![Example of Cirein-croin tracking](readme/demo.png) ![All KIs obtained](readme/demo-full.png) + +Key items are identified by the Zhe (Ж) character. Treasure pool counts for pop items are listed in amber after the item in the format of [3] (assuming 3 of that item in the pool). + +## Load + +`//lua load empypoptracker` + +## Track an NM + +`//ept track glavoid` tracks Glavoid pop items/key items. + +You can also track an NM by using a wildcard pattern, because fuck having to remember how to spell Itzpapalotl: + +`//ept track itz*` + +For a full list of trackable NMs, see the nms directory or use the `list` command (see below). + +## Other Commands + +### List Trackable NMs + +`//ept list` + +### Open BG Wiki for NM + +`//ept bg` + +### Hide UI + +`//ept hide` + +### Show UI + +`//ept show` + +### Display Help + +`//ept help` + +## Where is Fistule? + +Fistule is a unique NM when compared to the others. It does not require KIs that can be tracked, so it isn't included with the addon. + +## Contributing + +Notice something not quite right? [Raise an issue](https://github.com/xurion/ffxi-empy-pop-tracker/issues). + +[Pull requests](https://github.com/xurion/ffxi-empy-pop-tracker/pulls) welcome! diff --git a/addons/EmpyPopTracker/nms/README.md b/addons/EmpyPopTracker/nms/README.md new file mode 100644 index 000000000..d9e9278bd --- /dev/null +++ b/addons/EmpyPopTracker/nms/README.md @@ -0,0 +1,64 @@ +# NM data + +The data structure for each trackable NM uses a series of nested NM entities. A standard NM entity contains the following data: + +| Key | Type | Required? | Description | +| ------------------- | --------- | --------- | ------------------------------ | +| name | String | Required | Name of the NM | +| pops | Table | Optional | The pop information for the NM | +| pops{}.id | Number | Required | The ID of the item/key item | +| pops{}.type | String | Required | Either "key item" or "item" | +| pops{}.dropped_from | NM Entity | Required | A nested set of NM information | + +A simple example of the above would be: + +```lua +{ + name = 'Azdaja', + pops = { { + id = 1531, --Vacant Bugard Eye + type = 'key item', + dropped_from = { name = 'Deelgeed, Timed (F-9/F-10)' } + } } +} +``` + +A larger example with multiple nested entites: + +```lua +{ + name = 'Bukhis', + pops = { { + id = 1508, --Ingrown Taurus Nail + type = 'key item', + dropped_from = { + name = 'Khalkotaur, Forced (F-4)', + pops = { { + id = 3098, --Gnarled Taurus Horn + type = 'item', + dropped_from = { name = 'Aestutaur (G-9/G-10)' } + } } + } + }, { + id = 1509, --Ossified Gargouille Hand + type = 'key item', + dropped_from = { + name = 'Quasimodo, Forced (F-4)', + pops = { { + id = 3099, --Gargouille Stone + type = 'item', + dropped_from = { + name = 'Gruesome Gargouille (F-10/G-10)' + } + } } + } + }, { + id = 1510, --Imbrued Vampyr Fang + type = 'key item', + dropped_from = { name = 'Lord Varney, Timed (G-10/H-10)' } + } } +} + +``` + +The main addon file requires the index.lua file which in turn is responsible for requiring and returning data for each nm. diff --git a/addons/EmpyPopTracker/nms/alfard.lua b/addons/EmpyPopTracker/nms/alfard.lua new file mode 100644 index 000000000..ee492fd25 --- /dev/null +++ b/addons/EmpyPopTracker/nms/alfard.lua @@ -0,0 +1,58 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Alfard', + pops = { { + id = 1530, --Venomous hydra fang + type = 'key item', + dropped_from = { + name = 'Ningishzida, Forced (I-7/I-8)', + pops = { { + id = 3262, --Jaculus Wing + type = 'item', + dropped_from = { name = 'Jaculus, Timed (I-8)' } + }, { + id = 3261, --Minaruja Skull + type = 'item', + dropped_from = { + name = 'Minaruja, Forced (I-10)', + pops = { { + id = 3267, --Pursuer's Wing + type = 'item', + dropped_from = { name = 'Faunus Wyvern (I-9)' } + } } + } + }, { + id = 3268, --High-Quality Wivre Hide + type = 'item', + dropped_from = { name = 'Glade Wivre (I-8)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/apademak.lua b/addons/EmpyPopTracker/nms/apademak.lua new file mode 100644 index 000000000..4ecec8aec --- /dev/null +++ b/addons/EmpyPopTracker/nms/apademak.lua @@ -0,0 +1,57 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Apademak', + pops = { { + id = 1525, --Torn Khimaira Wing + type = 'key item', + dropped_from = { + name = 'Dhorme Khimaira, Forced (F-7)', + pops = { { + id = 3246, --Snow God Core + type = 'item', + dropped_from = { + name = 'Upas-Kamuy, Forced (G-5)', + pops = { { + id = 3252, --Gelid Arm + dropped_from = { name = 'Snowflake (G-5)' } + } } + } + }, { + id = 3247, --Sisyphus Fragment + type = 'item', + dropped_from = { name = 'Sisyphus, Timed (F-6/G-6)' } + }, { + id = 3253, --High-quality marid hide + type = 'item', + dropped_from = { name = 'Olyphant (F-6)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/azdaja.lua b/addons/EmpyPopTracker/nms/azdaja.lua new file mode 100644 index 000000000..cb06f668d --- /dev/null +++ b/addons/EmpyPopTracker/nms/azdaja.lua @@ -0,0 +1,36 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Azdaja', + pops = { { + id = 1531, --Vacant Bugard Eye + type = 'key item', + dropped_from = { name = 'Deelgeed, Timed (F-9/F-10)' } + } } +} diff --git a/addons/EmpyPopTracker/nms/briareus.lua b/addons/EmpyPopTracker/nms/briareus.lua new file mode 100644 index 000000000..7b2e68d4b --- /dev/null +++ b/addons/EmpyPopTracker/nms/briareus.lua @@ -0,0 +1,65 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Briareus', + pops = { { + id = 1482, --Dented Gigas Shield + type = 'key item', + dropped_from = { + name = 'Adamastor, Forced (C-4)', + pops = { { + id = 2894, --Trophy Shield + type = 'item', + dropped_from = { name = 'Bathyal Gigas (C-5/D-5)' } + } } + } + }, { + id = 1484, --Severed Gigas Collar + type = 'key item', + dropped_from = { + name = 'Grandgousier, Forced (F-10)', + pops = { { + id = 2896, --Massive Armband + type = 'item', + dropped_from = { name = 'Demersal Gigas (E-9/F-9)' } + } } + } + }, { + id = 1483, --Warped Gigas Armband + type = 'key item', + dropped_from = { + name = 'Pantagruel, Forced (F-7)', + pops = { { + id = 2895, --Oversized Sock + type = 'item', + dropped_from = { name = 'Hadal Gigas (F-6/F-7)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/bukhis.lua b/addons/EmpyPopTracker/nms/bukhis.lua new file mode 100644 index 000000000..b1926152a --- /dev/null +++ b/addons/EmpyPopTracker/nms/bukhis.lua @@ -0,0 +1,60 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Bukhis', + pops = { { + id = 1508, --Ingrown Taurus Nail + type = 'key item', + dropped_from = { + name = 'Khalkotaur, Forced (F-4)', + pops = { { + id = 3098, --Gnarled Taurus Horn + type = 'item', + dropped_from = { name = 'Aestutaur (G-9/G-10)' } + } } + } + }, { + id = 1509, --Ossified Gargouille Hand + type = 'key item', + dropped_from = { + name = 'Quasimodo, Forced (F-4)', + pops = { { + id = 3099, --Gargouille Stone + type = 'item', + dropped_from = { + name = 'Gruesome Gargouille (F-10/G-10)' + } + } } + } + }, { + id = 1510, --Imbrued Vampyr Fang + type = 'key item', + dropped_from = { name = 'Lord Varney, Timed (G-10/H-10)' } + } } +} diff --git a/addons/EmpyPopTracker/nms/carabosse.lua b/addons/EmpyPopTracker/nms/carabosse.lua new file mode 100644 index 000000000..ad9aa0079 --- /dev/null +++ b/addons/EmpyPopTracker/nms/carabosse.lua @@ -0,0 +1,54 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Carabosse', + pops = { { + id = 1485, --Pellucid Fly Eye + type = 'key item', + dropped_from = { + name = 'La Theine Liege, Forced (I-7)', + pops = { { + id = 2897, --Transparent Insect Wing + type = 'item', + dropped_from = { name = 'Plateau Glider (H-7)' } + } } + } + }, { + id = 1486, --Shimmering Pixie Pinion + type = 'key item', + dropped_from = { + name = 'Baba Yaga, Forced (H-7)', + pops = { { + id = 2898, --Piceous Scale + type = 'item', + dropped_from = { name = 'Farfadet (H-7)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/chloris.lua b/addons/EmpyPopTracker/nms/chloris.lua new file mode 100644 index 000000000..df7451eed --- /dev/null +++ b/addons/EmpyPopTracker/nms/chloris.lua @@ -0,0 +1,113 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Chloris', + pops = { { + id = 1470, --Gory Scorpion Claw + type = 'key item', + dropped_from = { + name = 'Hedetet, Forced (F-7)', + pops = { { + id = 2921, --Venomous Scorpion Stinger + type = 'item', + dropped_from = { name = 'Canyon Scorpion (F-7)' } + }, { + id = 2948, --Acidic Humus + type = 'item', + dropped_from = { + name = 'Gancanagh, Forced (H-8)', + pops = { { + id = 2920, --Alkaline Humus + type = 'item', + dropped_from = { name = 'Pachypodium (H-8)' } + } } + } + } } + } + }, { + id = 1469, --Torn Bat Wing + type = 'key item', + dropped_from = { + name = 'Treble Noctules, Forced (I-9)', + pops = { { + id = 2919, --Bloody Fang + type = 'item', + dropped_from = { name = 'Blood Bat (I-9)' } + }, { + id = 2947, --Exorcised Skull + type = 'item', + dropped_from = { + name = 'Cannered Noz, Forced (F-6)', + pops = { { + id = 2918, --Baleful Skull + type = 'item', + dropped_from = { name = 'Caoineag (F-6)' } + } } + } + } } + } + }, { + id = 1468, --Veinous Hecteyes Eyelid + type = 'key item', + dropped_from = { + name = 'Ophanim, Forced (G-9)', + pops = { { + id = 2946, --Tarnished Pincer + type = 'item', + dropped_from = { + name = 'Vetehinen, Forced (H-10)', + pops = { { + id = 2916, --High-quality Limule Pincer + type = 'item', + dropped_from = { name = 'Gulch Limule (H-10)' } + }, { + id = 2917, --Bloodshot Hecteye + type = 'item', + dropped_from = { name = 'Beholder (G-9)' } + }, { + id = 2945, --Shriveled Wing + type = 'item', + dropped_from = { + name = 'Halimede, Forced (G-12)', + pops = { { + id = 2915, --High-quality Clionid Wing + type = 'item', + dropped_from = { name = 'Gully Clionid (G-12)' } + } } + } + } } + } + } } + } + }, { + id = 1471, --Mossy Adamantoise Shell + type = 'key item', + dropped_from = { name = 'Chukwa, Timed (F-5)' } + } } +} diff --git a/addons/EmpyPopTracker/nms/cirein-croin.lua b/addons/EmpyPopTracker/nms/cirein-croin.lua new file mode 100644 index 000000000..478c23ffe --- /dev/null +++ b/addons/EmpyPopTracker/nms/cirein-croin.lua @@ -0,0 +1,47 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Cirein-croin', + pops = { { + id = 1504, --Glistening Orobon Liver + type = 'key item', + dropped_from = { + name = 'Cep-Kamuy, Forced (F-4)', + pops = { { + id = 3089, --Orobon Cheekmeat + type = 'item', + dropped_from = { name = 'Ancient Orobon (F-5)' } + } } + } + }, { + id = 1505, --Doffed Poroggo Hat + type = 'key item', + dropped_from = { name = 'Heqet, Timed (I-6)' } + } } +} diff --git a/addons/EmpyPopTracker/nms/dragua.lua b/addons/EmpyPopTracker/nms/dragua.lua new file mode 100644 index 000000000..456a477b9 --- /dev/null +++ b/addons/EmpyPopTracker/nms/dragua.lua @@ -0,0 +1,36 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Dragua', + pops = { { + id = 1521, --Bloodied Dragon Ear + type = 'key item', + dropped_from = { name = 'Hazhdiha, Timed (H-10)' } + } } +} diff --git a/addons/EmpyPopTracker/nms/glavoid.lua b/addons/EmpyPopTracker/nms/glavoid.lua new file mode 100644 index 000000000..9beca3c7d --- /dev/null +++ b/addons/EmpyPopTracker/nms/glavoid.lua @@ -0,0 +1,82 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Glavoid', + pops = { { + id = 1473, --Sodden Sandworm Husk + type = 'key item', + dropped_from = { name = 'Minhocao, Timed (I-6)' } + }, { + id = 1475, --Sticky Gnat Wing + type = 'key item', + dropped_from = { name = 'Adze, Timed (G-5)' } + }, { + id = 1472, --Fat-lined Cockatrice Skin + type = 'key item', + dropped_from = { + name = 'Alectryon (H-8)', + pops = { { + id = 2923, --Cockatrice Tailmeat + type = 'item', + dropped_from = { name = 'Cluckatrice (H-8)' } + }, { + id = 2949, --Quivering Eft Egg + type = 'item', + dropped_from = { + name = 'Abas, Forced (K-10)', + pops = { { + id = 2922, --Eft Egg + dropped_from = { name = 'Canyon Eft (J-10/J-11)' } + } } + } + } } + } + }, { + id = 1474, --Luxuriant manticore mane + type = 'key item', + dropped_from = { + name = 'Muscaliet, Forced (J-6)', + pops = { { + id = 2925, --Resilient Mane + type = 'item', + dropped_from = { name = 'Hieracosphinx (J-6)' } + }, { + id = 2950, --Smooth Whisker + type = 'item', + dropped_from = { + name = 'Tefenet, Forced (G-6)', + pops = { { + id = 2924, --Shocking Whisker + dropped_from = { name = 'Jaguarundi (G-6)' } + } } + } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/index.lua b/addons/EmpyPopTracker/nms/index.lua new file mode 100644 index 000000000..9091a466a --- /dev/null +++ b/addons/EmpyPopTracker/nms/index.lua @@ -0,0 +1,54 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +local nms = { + 'alfard', + 'apademak', + 'azdaja', + 'briareus', + 'bukhis', + 'carabosse', + 'chloris', + 'cirein-croin', + 'dragua', + 'glavoid', + 'isgebind', + 'itzpapalotl', + 'kukulkan', + 'orthrus', + 'sedna', + 'sobek', + 'ulhuadshi' +} + +nm_data = {} +for _, nm in pairs(nms) do + nm_data[nm] = require('nms/' .. nm) +end + +return nm_data diff --git a/addons/EmpyPopTracker/nms/isgebind.lua b/addons/EmpyPopTracker/nms/isgebind.lua new file mode 100644 index 000000000..1fd4de0e6 --- /dev/null +++ b/addons/EmpyPopTracker/nms/isgebind.lua @@ -0,0 +1,36 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Isgebind', + pops = { { + id = 1526, --Begrimed Dragon Hide + type = 'key item', + dropped_from = { name = 'Kur, Timed (I-5/J-5)' } + } } +} diff --git a/addons/EmpyPopTracker/nms/itzpapalotl.lua b/addons/EmpyPopTracker/nms/itzpapalotl.lua new file mode 100644 index 000000000..371d4ab8c --- /dev/null +++ b/addons/EmpyPopTracker/nms/itzpapalotl.lua @@ -0,0 +1,58 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Itzpapalotl', + pops = { { + id = 1488, --Venomous Wamoura Feeler + type = 'key item', + dropped_from = { + name = 'Granite Borer, Forced (K-10)', + pops = { { + id = 3072, --Withered Cocoon + type = 'item', + dropped_from = { name = 'Gullycampa (K-10)' } + } } + } + }, { + id = 1490, --Distended Chigoe Abdomen + type = 'key item', + dropped_from = { name = 'Tunga, Timed (K-10)' } + }, { + id = 1489, --Bulbous crawler cocoon + type = 'key item', + dropped_from = { + name = 'Blazing Eruca, Forced (J-10)', + pops = { { + id = 3073, --Eruca Egg + type = 'item', + dropped_from = { name = 'Ignis Eruca (J-10)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/kukulkan.lua b/addons/EmpyPopTracker/nms/kukulkan.lua new file mode 100644 index 000000000..d49fbc8ac --- /dev/null +++ b/addons/EmpyPopTracker/nms/kukulkan.lua @@ -0,0 +1,65 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Kukulkan', + pops = { { + id = 1466, --Mucid Ahriman Eyeball + type = 'key item', + dropped_from = { + name = 'Arimaspi, Forced (K-6)', + pops = { { + id = 2913, --Clouded Lens + type = 'item', + dropped_from = { name = 'Deep Eye (K-6/K-7)' } + } } + } + }, { + id = 1464, --Tattered Hippogryph Wing + type = 'key item', + dropped_from = { + name = 'Alkonost, Forced (H-6)', + pops = { { + id = 2912, --Giant Bugard Tusk + type = 'item', + dropped_from = { name = 'Ypotryll (I-7)' } + } } + } + }, { + id = 1465, --Cracked Wivre Horn + type = 'key item', + dropped_from = { + name = 'Keratyrannos, Forced (G-6)', + pops = { { + id = 2910, --Armored Dragonhorn + type = 'item', + dropped_from = { name = 'Mesa Wivre (G-6)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/orthrus.lua b/addons/EmpyPopTracker/nms/orthrus.lua new file mode 100644 index 000000000..16ff706e6 --- /dev/null +++ b/addons/EmpyPopTracker/nms/orthrus.lua @@ -0,0 +1,57 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Orthrus', + pops = { { + id = 1520, --Steaming cerberus tongue + type = 'key item', + dropped_from = { + name = 'Amarok, Forced (E-6)', + pops = { { + id = 3231, --Sharabha Hide + type = 'item', + dropped_from = { + name = 'Sharabha, Forced (G-5)', + pops = { { + id = 3237, + dropped_from = { name = 'Dune Manticore (F-5/F-6)' } + } } + } + }, { + id = 3232, --Tiger King Hide + type = 'item', + dropped_from = { name = 'Ansherekh, Timed (F-8/G-8)' } + }, { + id = 3238, --H.Q. Dhalmel Hide + type = 'item', + dropped_from = { name = 'Camelopardalis (F-7/G-7)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/sedna.lua b/addons/EmpyPopTracker/nms/sedna.lua new file mode 100644 index 000000000..e2d95077c --- /dev/null +++ b/addons/EmpyPopTracker/nms/sedna.lua @@ -0,0 +1,47 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Sedna', + pops = { { + id = 1512, --Shimmering Pugil Scale + type = 'key item', + dropped_from = { name = 'Hrosshvalur, Timed (J-6)' } + }, { + id = 1511, --Glossy Sea Monk Sucker + type = 'key item', + dropped_from = { + name = 'Iku-Turso, Forced (J-7)', + pops = { { + id = 3100, --Moonbeam Clam + type = 'item', + dropped_from = { name = 'Jasconius (I-7/J-7)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/sobek.lua b/addons/EmpyPopTracker/nms/sobek.lua new file mode 100644 index 000000000..a9dcaa033 --- /dev/null +++ b/addons/EmpyPopTracker/nms/sobek.lua @@ -0,0 +1,58 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Sobek', + pops = { { + id = 1500, --Molted Peiste Skin + type = 'key item', + dropped_from = { name = 'Gukumatz, Timed (J-11)' } + }, { + id = 1498, --Bloodstained Bugard Fang + type = 'key item', + dropped_from = { + name = 'Minax Bugard, Forced (K-10)', + pops = { { + id = 3085, --Bewitching Tusk + type = 'item', + dropped_from = { name = 'Abyssobugard (J-10/K-11)' } + } } + } + }, { + id = 1499, --Gnarled Lizard Nail + type = 'key item', + dropped_from = { + name = 'Sirrush, Forced (I-11)', + pops = { { + id = 3086, --Molt Scraps + type = 'item', + dropped_from = { name = 'Dusk Lizard (J-11)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/nms/ulhuadshi.lua b/addons/EmpyPopTracker/nms/ulhuadshi.lua new file mode 100644 index 000000000..38ead1379 --- /dev/null +++ b/addons/EmpyPopTracker/nms/ulhuadshi.lua @@ -0,0 +1,47 @@ +--[[ +Copyright © 2020, Dean James (Xurion of Bismarck) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Empy Pop Tracker nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Dean James (Xurion of Bismarck) BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]] + +return { + name = 'Ulhuadshi', + pops = { { + id = 1492, --Shriveled Hecteyes Stalk + type = 'key item', + dropped_from = { name = 'Amun, Timed (H-8/I-9)' } + }, { + id = 1491, --Mucid Worm Segment + type = 'key item', + dropped_from = { + name = 'Pallid Percy, Forced (J-7)', + pops = { { + id = 3074, --Blanched Silver + type = 'item', + dropped_from = { name = 'Entozoon (J-7)' } + } } + } + } } +} diff --git a/addons/EmpyPopTracker/readme/demo-full.png b/addons/EmpyPopTracker/readme/demo-full.png new file mode 100644 index 000000000..02df409da Binary files /dev/null and b/addons/EmpyPopTracker/readme/demo-full.png differ diff --git a/addons/EmpyPopTracker/readme/demo.png b/addons/EmpyPopTracker/readme/demo.png new file mode 100644 index 000000000..db24c678e Binary files /dev/null and b/addons/EmpyPopTracker/readme/demo.png differ diff --git a/addons/GearSwap/README.md b/addons/GearSwap/README.md index 8b417af36..650af8511 100644 --- a/addons/GearSwap/README.md +++ b/addons/GearSwap/README.md @@ -26,7 +26,7 @@ Commands (<> indicates a field. You do not actually have to use <>s): ** APPDATA/Windower/GearSwap/ ** ..Windower/addons/libs/ * gs reload : Reloads the current user file. -* gs export : Exports your currently equipped gear, inventory, or all the items in your current Lua files' sets into GearSwap .lua or spellcast .xml format. Takes options "inventory", "sets", and "xml." Defaults to currently equipped gear and lua otherwise. Also exports appropriate advanced set tables with augments for currently equipped gear and inventory. +* gs export : Exports your currently equipped gear, inventory, or all the items in your current Lua files' sets into GearSwap .lua or spellcast .xml format. Takes options "inventory", "all", "wearable", "sets", and "xml." Defaults to currently equipped gear and lua otherwise. Also exports appropriate advanced set tables with augments for currently equipped gear and inventory. * gs enable : Enables equip commands targeting a specified slot. "All" will allow all equip commands. Providing no slot argument will enable user GearSwap file execution, if it was disabled. * gs disable : Disables equip commands targeting a given slot. "All" will prevent all equip commands. Providing no second argument will disable user GearSwap file execution, although registered events will still run. * gs validate : This command checks to see whether the equipment in the sets table also exists in your inventory (default), or (by passing "inv") whether the equipment in your inventory exists in your sets table. is an optional list of words that restricts the output to only those items that contain text from one of the filter's words. @@ -37,4 +37,4 @@ Settings Files: There is no settings file for GearSwap. Additional Assistance: -The Windower/addons/GearSwap/beta_examples_and_information folder has a file in it named Variables.xlsx that gives more specific information. If that is insufficient, you can go to BlueGartr's FFXI section or FFXIAH and ask for more assistance. \ No newline at end of file +The Windower/addons/GearSwap/beta_examples_and_information folder has a file in it named Variables.xlsx that gives more specific information. If that is insufficient, you can go to BlueGartr's FFXI section or FFXIAH and ask for more assistance. diff --git a/addons/GearSwap/export.lua b/addons/GearSwap/export.lua index 4ad8b96e5..454bab4c7 100644 --- a/addons/GearSwap/export.lua +++ b/addons/GearSwap/export.lua @@ -33,6 +33,8 @@ function export_set(options) targinv = true elseif v:lower() == 'all' then all_items = true + elseif v:lower() == 'wearable' then + wearable = true elseif S{'xml'}:contains(v:lower()) then xml = true elseif S{'sets','set','s'}:contains(v:lower()) then @@ -60,6 +62,8 @@ function export_set(options) local buildmsg = 'Exporting ' if all_items then buildmsg = buildmsg..'all your items' + elseif wearable then + buildmsg = buildmsg..'all your items in inventory and wardrobes' elseif targinv then buildmsg = buildmsg..'your current inventory' elseif all_sets then @@ -96,6 +100,10 @@ function export_set(options) for i = 0, #res.bags do item_list:extend(get_item_list(items[res.bags[i].english:gsub(' ', ''):lower()])) end + elseif wearable then + for _, v in pairs(equippable_item_bags) do + item_list:extend(get_item_list(items[v.english:gsub(' ', ''):lower()])) + end elseif targinv then item_list:extend(get_item_list(items.inventory)) elseif all_sets then diff --git a/addons/addons.xml b/addons/addons.xml index f09c2cb2d..dfc12b02d 100644 --- a/addons/addons.xml +++ b/addons/addons.xml @@ -205,6 +205,13 @@ https://github.com/tehkrizz/Lua/issues http://www.ffxiah.com/player/Bahamut/Krizz + + EmpyPopTracker + Dean James (Xurion of Bismarck) + Tracks items and key items for popping Empyrean NMs in Abyssea, such as Briareus, Apademak and Sobek. + https://github.com/xurion/ffxi-empy-pop-tracker/issues + https://www.ffxiah.com/forum/topic/54376/empyrean-pop-tracker-addon-10-years-late/ + Enemybar mmckee diff --git a/addons/libs/slips.lua b/addons/libs/slips.lua index 3e1911c36..2b5f752a4 100644 --- a/addons/libs/slips.lua +++ b/addons/libs/slips.lua @@ -26,7 +26,7 @@ slips.items = { [slips.storages[11]] = L{15297, 15298, 15299, 15919, 15929, 15921, 18871, 16273, 18166, 18167, 18256, 13216, 13217, 13218, 15455, 15456, 181, 182, 183, 184, 129, 11499, 18502, 18855, 19274, 18763, 19110, 15008, 17764, 19101, 365, 366, 367, 15860, 272, 273, 274, 275, 276, 11853, 11956, 11854, 11957, 11811, 11812, 11861, 11862, 3676, 18879, 3647, 3648, 3649, 3677, 18880, 18863, 18864, 15178, 14519, 10382, 11965, 11967, 15752, 15179, 14520, 10383, 11966, 11968, 15753, 10875, 3619, 3620, 3621, 3650, 3652, 10430, 10251, 10593, 10431, 10252, 10594, 10432, 10253, 10595, 10433, 10254, 10596, 10429, 10250, 17031, 17032, 10807, 18881, 10256, 10330, 10257, 10331, 10258, 10332, 10259, 10333, 10260, 10334, 10261, 10335, 10262, 10336, 10263, 10337, 10264, 10338, 10265, 10339, 10266, 10340, 10267, 10341, 10268, 10342, 10269, 10343, 10270, 10344, 10271, 10345, 10446, 10447, 426, 10808, 3654, 265, 266, 267, 269, 270, 271, 18464, 18545, 18563, 18912, 18913, 10293, 10809, 10810, 10811, 10812, 27803, 28086, 27804, 28087, 27805, 28088, 27806, 28089, 27765, 27911, 27760, 27906, 27759, 28661, 286, 27757, 27758, 287, 27899, 28185, 28324, 27898, 28655, 27756, 28511, 21118, 27902, 100, 21117, 87, 20953, 21280, 28652, 28650, 27726, 28509, 28651, 27727, 28510, 27872, 21113, 27873, 21114, 20532, 20533, 27717, 27718}, -- 192 [slips.storages[12]] = L{2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727}, -- 100 [slips.storages[13]] = L{10650, 10670, 10690, 10710, 10730, 10651, 10671, 10691, 10711, 10731, 10652, 10672, 10692, 10712, 10732, 10653, 10673, 10693, 10713, 10733, 10654, 10674, 10694, 10714, 10734, 10655, 10675, 10695, 10715, 10735, 10656, 10676, 10696, 10716, 10736, 10657, 10677, 10697, 10717, 10737, 10658, 10678, 10698, 10718, 10738, 10659, 10679, 10699, 10719, 10739, 10660, 10680, 10700, 10720, 10740, 10661, 10681, 10701, 10721, 10741, 10662, 10682, 10702, 10722, 10742, 10663, 10683, 10703, 10723, 10743, 10664, 10684, 10704, 10724, 10744, 10665, 10685, 10705, 10725, 10745, 10666, 10686, 10706, 10726, 10746, 10667, 10687, 10707, 10727, 10747, 10668, 10688, 10708, 10728, 10748, 10669, 10689, 10709, 10729, 10749}, -- 100 - [slips.storages[14]] = L{10901, 10474, 10523, 10554, 10620, 10906, 10479, 10528, 10559, 10625, 10911, 10484, 10533, 10564, 10630, 19799, 18916, 10442, 10280, 16084, 27788, 27928, 28071, 28208, 27649, 27789, 27929, 28072, 28209, 27650, 27790, 27930, 28073, 28210, 27651, 27791, 27931, 28074, 28211, 27652, 27792, 27932, 28075, 28212, 27653, 27793, 27933, 28076, 28213, 27654, 27794, 27934, 28077, 28214, 27655, 27795, 27935, 28078, 28215, 27656, 27796, 27936, 28079, 28216, 27657, 27797, 27937, 28080, 28217, 27658, 27798, 27938, 28081, 28218, 27659, 27799, 27939, 28082, 28219, 27660, 27800, 27940, 28083, 28220, 27661, 27801, 27941, 28084, 28221, 27662, 27802, 27942, 28085, 28222}, -- 94 + [slips.storages[14]] = L{10901, 10474, 10523, 10554, 10620, 10906, 10479, 10528, 10559, 10625, 10911, 10484, 10533, 10564, 10630, 19799, 18916, 10442, 10280, 16084, 27788, 27928, 28071, 28208, 27649, 27789, 27929, 28072, 28209, 27650, 27790, 27930, 28073, 28210, 27651, 27791, 27931, 28074, 28211, 27652, 27792, 27932, 28075, 28212, 27653, 27793, 27933, 28076, 28213, 27654, 27794, 27934, 28077, 28214, 27655, 27795, 27935, 28078, 28215, 27656, 27796, 27936, 28079, 28216, 27657, 27797, 27937, 28080, 28217, 27658, 27798, 27938, 28081, 28218, 27659, 27799, 27939, 28082, 28219, 27660, 27800, 27940, 28083, 28220, 27661, 27801, 27941, 28084, 28221, 27662, 27802, 27942, 28085, 28222, 21510, 21566, 21622, 21665, 21712, 21769, 21822, 21864, 21912, 21976, 22006, 22088, 22133, 22144, 22219, 26413, 23738, 23741, 23744, 23747, 23750, 23739, 23742, 23745, 23748, 23751, 23740, 23743, 23746, 23749, 23752}, -- 125 [slips.storages[15]] = L{27663, 27807, 27943, 28090, 28223, 27664, 27808, 27944, 28091, 28224, 27665, 27809, 27945, 28092, 28225, 27666, 27810, 27946, 28093, 28226, 27667, 27811, 27947, 28094, 28227, 27668, 27812, 27948, 28095, 28228, 27669, 27813, 27949, 28096, 28229, 27670, 27814, 27950, 28097, 28230, 27671, 27815, 27951, 28098, 28231, 27672, 27816, 27952, 28099, 28232, 27673, 27817, 27953, 28100, 28233, 27674, 27818, 27954, 28101, 28234, 27675, 27819, 27955, 28102, 28235, 27676, 27820, 27956, 28103, 28236, 27677, 27821, 27957, 28104, 28237, 27678, 27822, 27958, 28105, 28238, 27679, 27823, 27959, 28106, 28239, 27680, 27824, 27960, 28107, 28240, 27681, 27825, 27961, 28108, 28241, 27682, 27826, 27962, 28109, 28242, 27683, 27827, 27963, 28110, 28243}, -- 105 [slips.storages[16]] = L{27684, 27828, 27964, 28111, 28244, 27685, 27829, 27965, 28112, 28245, 27686, 27830, 27966, 28113, 28246, 27687, 27831, 27967, 28114, 28247, 27688, 27832, 27968, 28115, 28248, 27689, 27833, 27969, 28116, 28249, 27690, 27834, 27970, 28117, 28250, 27691, 27835, 27971, 28118, 28251, 27692, 27836, 27972, 28119, 28252, 27693, 27837, 27973, 28120, 28253, 27694, 27838, 27974, 28121, 28254, 27695, 27839, 27975, 28122, 28255, 27696, 27840, 27976, 28123, 28256, 27697, 27841, 27977, 28124, 28257, 27698, 27842, 27978, 28125, 28258, 27699, 27843, 27979, 28126, 28259, 27700, 27844, 27980, 28127, 28260, 27701, 27845, 27981, 28128, 28261, 27702, 27846, 27982, 28129, 28262, 27703, 27847, 27983, 28130, 28263, 27704, 27848, 27984, 28131, 28264, 27705, 27849, 27985, 28132, 28265, 27706, 27850, 27986, 28133, 28266}, -- 115 [slips.storages[17]] = L{26624, 26800, 26976, 27152, 27328, 26626, 26802, 26978, 27154, 27330, 26628, 26804, 26980, 27156, 27332, 26630, 26806, 26982, 27158, 27334, 26632, 26808, 26984, 27160, 27336, 26634, 26810, 26986, 27162, 27338, 26636, 26812, 26988, 27164, 27340, 26638, 26814, 26990, 27166, 27342, 26640, 26816, 26992, 27168, 27344, 26642, 26818, 26994, 27170, 27346, 26644, 26820, 26996, 27172, 27348, 26646, 26822, 26998, 27174, 27350, 26648, 26824, 27000, 27176, 27352, 26650, 26826, 27002, 27178, 27354, 26652, 26828, 27004, 27180, 27356, 26654, 26830, 27006, 27182, 27358, 26656, 26832, 27008, 27184, 27360, 26658, 26834, 27010, 27186, 27362, 26660, 26836, 27012, 27188, 27364, 26662, 26838, 27014, 27190, 27366, 26664, 26840, 27016, 27192, 27368, 26666, 26842, 27018, 27194, 27370}, -- 110 @@ -34,7 +34,7 @@ slips.items = { [slips.storages[19]] = L{27715, 27866, 27716, 27867, 278, 281, 284, 3680, 3681, 27859, 28149, 27860, 28150, 21107, 21108, 27625, 27626, 26693, 26694, 26707, 26708, 27631, 27632, 26705, 26706, 27854, 27855, 26703, 26704, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 21097, 21098, 26717, 26718, 26728,26719,26720,26889,26890, 21095, 21096, 26738, 26739, 26729, 26730, 26788, 26946, 27281, 27455, 26789, 3698, 20713, 20714, 26798, 26954, 26799, 26955, 3706, 26956, 26957, 3705, 26964, 26965, 27291, 26967, 27293, 26966, 27292, 26968, 27294, 21153, 21154, 21086, 21087, 25606, 26974, 27111, 27296, 27467, 25607, 26975, 27112, 27297, 27468, 14195, 14830, 14831, 13945, 13946, 14832, 13947, 17058, 13948, 14400, 14392, 14393, 14394, 14395, 14396, 14397, 14398, 14399, 11337, 11329, 11330, 11331, 11332, 11333, 11334, 11335, 11336, 15819, 15820, 15821, 15822, 15823, 15824, 15825, 15826, 3670, 3672, 3661, 3595, 3665, 3668, 3663, 3674, 3667, 191, 28, 153, 151, 198, 202, 142, 134, 137, 340, 341, 334, 335, 337, 339, 336, 342, 338, 3631, 3632, 3625, 3626, 3628, 3630, 3627, 3633, 3629, 25632, 25633, 25604, 25713, 27325, 25714, 27326, 3651, 25711, 25712, 10925, 10948, 10949, 10950, 10951, 10952, 10953, 10954, 10955, 25657, 25756, 25658, 25757}, -- 191 [slips.storages[20]] = L{26740, 26898, 27052, 27237, 27411, 26742, 26900, 27054, 27239, 27413, 26744, 26902, 27056, 27241, 27415, 26746, 26904, 27058, 27243, 27417, 26748, 26906, 27060, 27245, 27419, 26750, 26908, 27062, 27247, 27421, 26752, 26910, 27064, 27249, 27423, 26754, 26912, 27066, 27251, 27425, 26756, 26914, 27068, 27253, 27427, 26758, 26916, 27070, 27255, 27429, 26760, 26918, 27072, 27257, 27431, 26762, 26920, 27074, 27259, 27433, 26764, 26922, 27076, 27261, 27435, 26766, 26924, 27078, 27263, 27437, 26768, 26926, 27080, 27265, 27439, 26770, 26928, 27082, 27267, 27441, 26772, 26930, 27084, 27269, 27443, 26774, 26932, 27086, 27271, 27445, 26776, 26934, 27088, 27273, 27447, 26778, 26936, 27090, 27275, 27449, 26780, 26938, 27092, 27277, 27451, 26782, 26940, 27094, 27279, 27453,}, -- 110 [slips.storages[21]] = L{26741, 26899, 27053, 27238, 27412, 26743, 26901, 27055, 27240, 27414, 26745, 26903, 27057, 27242, 27416, 26747, 26905, 27059, 27244, 27418, 26749, 26907, 27061, 27246, 27420, 26751, 26909, 27063, 27248, 27422, 26753, 26911, 27065, 27250, 27424, 26755, 26913, 27067, 27252, 27426, 26757, 26915, 27069, 27254, 27428, 26759, 26917, 27071, 27256, 27430, 26761, 26919, 27073, 27258, 27432, 26763, 26921, 27075, 27260, 27434, 26765, 26923, 27077, 27262, 27436, 26767, 26925, 27079, 27264, 27438, 26769, 26927, 27081, 27266, 27440, 26771, 26929, 27083, 27268, 27442, 26773, 26931, 27085, 27270, 27444, 26775, 26933, 27087, 27272, 27446, 26777, 26935, 27089, 27274, 27448, 26779, 26937, 27091, 27276, 27450, 26781, 26939, 27093, 27278, 27452, 26783, 26941, 27095, 27280, 27454,}, -- 110 - [slips.storages[22]] = L{25639, 25715, 25638, 3707, 3708, 21074, 26406, 25645, 25726, 25648, 25649, 25650, 25758, 25759, 25672, 25673, 282, 279, 280, 268, 25670, 25671, 26520, 25652, 25669, 22017, 22018, 25586, 25587, 10384, 10385, 22019, 22020, 25722, 25585, 25776, 25677, 25678, 25675, 25679, 20668, 20669, 22069, 25755, 3722, 21608, 3713, 3714, 3715, 3717, 3727, 3728, 20577, 3726, 20666, 20667, 21741, 21609, 3723, 26410, 26411, 25850, 21509, 3725, 3720, 21658, 26524, 20665, 26412, 21965, 21966, 21967, 25774, 25838, 25775, 25839, 3724, 3721, 21682, 22072, 21820, 21821, 23731, 26517, 23730, 20573, 20674, 21742, 21860, 22065, 22039, 22124, 22132, 3719, 3738, 26518, 27623, 21867, 21868, 22283, 26516, 20933, 20578, 20568, 3739}, -- 105 + [slips.storages[22]] = L{25639, 25715, 25638, 3707, 3708, 21074, 26406, 25645, 25726, 25648, 25649, 25650, 25758, 25759, 25672, 25673, 282, 279, 280, 268, 25670, 25671, 26520, 25652, 25669, 22017, 22018, 25586, 25587, 10384, 10385, 22019, 22020, 25722, 25585, 25776, 25677, 25678, 25675, 25679, 20668, 20669, 22069, 25755, 3722, 21608, 3713, 3714, 3715, 3717, 3727, 3728, 20577, 3726, 20666, 20667, 21741, 21609, 3723, 26410, 26411, 25850, 21509, 3725, 3720, 21658, 26524, 20665, 26412, 21965, 21966, 21967, 25774, 25838, 25775, 25839, 3724, 3721, 21682, 22072, 21820, 21821, 23731, 26517, 23730, 20573, 20674, 21742, 21860, 22065, 22039, 22124, 22132, 3719, 3738, 26518, 27623, 21867, 21868, 22283, 26516, 20933, 20578, 20568, 3739, 20569, 20570, 22288, 26352, 23737, 22282, 3740}, -- 112 [slips.storages[23]] = L{25659, 25745, 25800, 25858, 25925, 25660, 25746, 25801, 25859, 25926, 25663, 25749, 25804, 25862, 25929, 25664, 25750, 25805, 25863, 25930, 25665, 25751, 25806, 25865, 25931, 25666, 25752, 25807, 25866, 25932, 25661, 25747, 25802, 25860, 25927, 25662, 25748, 25803, 25861, 25928, 25667, 25753, 25808, 25867, 25933, 25668, 25754, 25809, 25868, 25934, 25579, 25779, 25818, 25873, 25940, 25580, 25780, 25819, 25874, 25941, 25590, 25764, 25812, 25871, 25937, 25591, 25765, 25813, 25872, 25938, 25581, 25781, 25820, 25875, 25942, 25582, 25782, 25821, 25876, 25943, 25588, 25762, 25810, 25869, 25935, 25589, 25763, 25811, 25870, 25936, 25583, 25783, 25822, 25877, 25944, 25584, 25784, 25823, 25878, 25945, 25574, 25790, 25828, 25879, 25946, 25575, 25791, 25829, 25880, 25947, 25576, 25792, 25830, 25881, 25948, 25577, 25793, 25831, 25882, 25949, 25578, 25794, 25832, 25883, 25950, 26204, 26205, 26206, 26207, 26208, 25569, 25797, 25835, 25886, 25953, 25573, 25796, 25834, 25885, 25952, 25570, 25798, 25836, 25887, 25954, 25572, 25795, 25833, 25884, 25951, 25571, 25799, 25837, 25888, 25955, 26211, 26210, 26212, 26209, 26213, 21863, 22004, 21744, 21272, 20576, 21761, 26409, 22070}, --168 [slips.storages[24]] = L{23040, 23107, 23174, 23241, 23308, 23041, 23108, 23175, 23242, 23309, 23042, 23109, 23176, 23243, 23310, 23043, 23110, 23177, 23244, 23311, 23044, 23111, 23178, 23245, 23312, 23045, 23112, 23179, 23246, 23313, 23046, 23113, 23180, 23247, 23314, 23047, 23114, 23181, 23248, 23315, 23048, 23115, 23182, 23249, 23316, 23049, 23116, 23183, 23250, 23317, 23050, 23117, 23184, 23251, 23318, 23051, 23118, 23185, 23252, 23319, 23052, 23119, 23186, 23253, 23320, 23053, 23120, 23187, 23254, 23321, 23054, 23121, 23188, 23255, 23322, 23055, 23122, 23189, 23256, 23323, 23056, 23123, 23190, 23257, 23324, 23057, 23124, 23191, 23258, 23325, 23058, 23125, 23192, 23259, 23326, 23059, 23126, 23193, 23260, 23327, 23060, 23127, 23194, 23261, 23328, 23061, 23128, 23195, 23262, 23329, 23062, 23129, 23196, 23263, 23330,}, --115 [slips.storages[25]] = L{23375, 23442, 23509, 23576, 23643, 23376, 23443, 23510, 23577, 23644, 23377, 23444, 23511, 23578, 23645, 23378, 23445, 23512, 23579, 23646, 23379, 23446, 23513, 23580, 23647, 23380, 23447, 23514, 23581, 23648, 23381, 23448, 23515, 23582, 23649, 23382, 23449, 23516, 23583, 23650, 23383, 23450, 23517, 23584, 23651, 23384, 23451, 23518, 23585, 23652, 23385, 23452, 23519, 23586, 23653, 23386, 23453, 23520, 23587, 23654, 23387, 23454, 23521, 23588, 23655, 23388, 23455, 23522, 23589, 23656, 23389, 23456, 23523, 23590, 23657, 23390, 23457, 23524, 23591, 23658, 23391, 23458, 23525, 23592, 23659, 23392, 23459, 23526, 23593, 23660, 23393, 23460, 23527, 23594, 23661, 23394, 23461, 23528, 23595, 23662, 23395, 23462, 23529, 23596, 23663, 23396, 23463, 23530, 23597, 23664, 23397, 23464, 23531, 23598, 23665,}, --115 diff --git a/addons/scoreboard/scoreboard.lua b/addons/scoreboard/scoreboard.lua index 6a6c0fe39..1d35ea159 100644 --- a/addons/scoreboard/scoreboard.lua +++ b/addons/scoreboard/scoreboard.lua @@ -437,6 +437,9 @@ function action_handler(raw_actionpacket) dps_db:incr_ws_misses(target:get_name(), create_mob_name(actionpacket)) elseif main.resource and main.resource == 'weapon_skills' and main.conclusion then dps_db:add_ws_damage(target:get_name(), create_mob_name(actionpacket), main.param, main.spell_id) + -- Siren's Hysteric Assault does HP drain and falls under message_id 802 + elseif main.message_id == 802 then + dps_db:add_damage(target:get_name(), create_mob_name(actionpacket), main.param) elseif main.conclusion then if main.conclusion.subject == 'target' and T(main.conclusion.objects):contains('HP') and main.param ~= 0 then dps_db:add_damage(target:get_name(), create_mob_name(actionpacket), (main.conclusion.verb == 'gains' and -1 or 1)*main.param) @@ -485,7 +488,7 @@ function find_pet_owner_name(actionpacket) for _, member in pairs(party) do if type(member) == 'table' and member.mob then if member.mob.pet_index and member.mob.pet_index> 0 and pet.index == member.mob.pet_index then - name = member.mob.name + name = member.mob.name break end end