From 553eb2126b51bd8d8de5c359c64abf5e7bf89f5a Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 14:57:01 +0000 Subject: [PATCH 01/11] Create indinope.lua --- addons/indinope/indinope.lua | 64 ++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 addons/indinope/indinope.lua diff --git a/addons/indinope/indinope.lua b/addons/indinope/indinope.lua new file mode 100644 index 000000000..67ca8b420 --- /dev/null +++ b/addons/indinope/indinope.lua @@ -0,0 +1,64 @@ +--[[ +Copyright © Lili, 2020 +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 Indi-Nope 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 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 = 'Indi-Nope' +_addon.author = 'Lili' +_addon.version = '1.0.3' + +--[[ +Indi-nope 1.0.3 +Hides visual effects from geomancy on players. + +Currently does not hide geomancy effect around luopans. + +No commands. Load it and it's on, unload and it's off. + +Changelog: + +1.0.3 - A few tweaks. +1.0.1 - Fixed a bug where Indi-Nope would make Master stars disappear. Thanks Kenshi for finding out. +1.0.0 - Initial + +Thanks to Thorny, this addon is a port to windower of his Ashita code with the same functionality. +]] + +require('bit') + +offsets = { [0x00D] = 67, [0x037] = 89, } + +windower.register_event('incoming chunk',function(id,original,modified,injected,blocked) + if injected or blocked or not offsets[id] then return end + + offset = offsets[id] + flags = original:byte(offsets[id]) + + if bit.band(flags,0x7F) ~= 0 then + packet = table.concat({ original:sub(1,offset-1), string.char(bit.band(flags,0x80)), original:sub(offset+1) }) + return packet + end +end) From 1ed43ae31b2b37c552313f1575e7956013bd9cd2 Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 14:57:34 +0000 Subject: [PATCH 02/11] Create README.md --- addons/indinope/README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 addons/indinope/README.md diff --git a/addons/indinope/README.md b/addons/indinope/README.md new file mode 100644 index 000000000..5385a9e31 --- /dev/null +++ b/addons/indinope/README.md @@ -0,0 +1,14 @@ +# Indi-nope 1.0.3 +Hides visual effects from geomancy on players. + +Currently does not hide geomancy effect around luopans. + +**No commands.** Load it and it's on, unload and it's off. + +### Changelog: + +1.0.3 - A few tweaks. +1.0.1 - Fixed a bug where Indi-Nope would make Master stars disappear. Thanks Kenshi for finding out. +1.0.0 - Initial release. + +Thanks to Thorny, this addon is a port to windower of his Ashita code with the same functionality. From 74d80eff24dd33bcae28c668f6968c5b5e1f9a34 Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 15:42:47 +0000 Subject: [PATCH 03/11] Update addons.xml --- addons/addons.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/addons/addons.xml b/addons/addons.xml index 7243b1c91..853b12d31 100644 --- a/addons/addons.xml +++ b/addons/addons.xml @@ -809,4 +809,11 @@ https://github.com/Windower/Lua/issues https://github.com/azamorapl + + Indi-Nope + Lili + Block graphical effects from Geomancer's Indi- spells. + https://github.com/Windower/Lua/issues + https://github.com/lili-ffxi + From 5607e271862b2225616462bc31b1d337b671cb4d Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 15:47:57 +0000 Subject: [PATCH 04/11] Update addons.xml --- addons/addons.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/addons.xml b/addons/addons.xml index 853b12d31..ed64f3a4f 100644 --- a/addons/addons.xml +++ b/addons/addons.xml @@ -810,7 +810,7 @@ https://github.com/azamorapl - Indi-Nope + IndiNope Lili Block graphical effects from Geomancer's Indi- spells. https://github.com/Windower/Lua/issues From 54af6f6b5de04d9c4852a885c26a8c5b99443935 Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 15:52:46 +0000 Subject: [PATCH 05/11] Update indinope.lua --- addons/indinope/indinope.lua | 38 +++++++++++------------------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/addons/indinope/indinope.lua b/addons/indinope/indinope.lua index 67ca8b420..86119d295 100644 --- a/addons/indinope/indinope.lua +++ b/addons/indinope/indinope.lua @@ -25,40 +25,24 @@ 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 = 'Indi-Nope' _addon.author = 'Lili' -_addon.version = '1.0.3' - ---[[ -Indi-nope 1.0.3 -Hides visual effects from geomancy on players. - -Currently does not hide geomancy effect around luopans. - -No commands. Load it and it's on, unload and it's off. - -Changelog: - -1.0.3 - A few tweaks. -1.0.1 - Fixed a bug where Indi-Nope would make Master stars disappear. Thanks Kenshi for finding out. -1.0.0 - Initial - -Thanks to Thorny, this addon is a port to windower of his Ashita code with the same functionality. -]] +_addon.version = '1.0.4' require('bit') offsets = { [0x00D] = 67, [0x037] = 89, } windower.register_event('incoming chunk',function(id,original,modified,injected,blocked) - if injected or blocked or not offsets[id] then return end - - offset = offsets[id] - flags = original:byte(offsets[id]) + if injected or blocked or not offsets[id] then return end + + offset = offsets[id] + flags = original:byte(offsets[id]) - if bit.band(flags,0x7F) ~= 0 then - packet = table.concat({ original:sub(1,offset-1), string.char(bit.band(flags,0x80)), original:sub(offset+1) }) - return packet - end + -- if any of the bits 0 through 7 are set, a bubble is shown and we want to block it. + if bit.band(flags,0x7F) ~= 0 then + packet = original:sub(1,offset-1)..string.char(bit.band(flags,0x80))..original:sub(offset+1) -- preserve bit 8 (Job Master stars) + return packet + end end) From 60bd06633e5625650aaf9b01fd4f6954f098de54 Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 15:53:16 +0000 Subject: [PATCH 06/11] Update README.md --- addons/indinope/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/indinope/README.md b/addons/indinope/README.md index 5385a9e31..5f4568c81 100644 --- a/addons/indinope/README.md +++ b/addons/indinope/README.md @@ -1,4 +1,4 @@ -# Indi-nope 1.0.3 +# Indi-nope 1.0.4 Hides visual effects from geomancy on players. Currently does not hide geomancy effect around luopans. @@ -7,6 +7,7 @@ Currently does not hide geomancy effect around luopans. ### Changelog: +1.0.4 - More tweaks. 1.0.3 - A few tweaks. 1.0.1 - Fixed a bug where Indi-Nope would make Master stars disappear. Thanks Kenshi for finding out. 1.0.0 - Initial release. From 7832b6cee74b4cfd2cdcf5b48a1afe5ed4f5b917 Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 15:54:08 +0000 Subject: [PATCH 07/11] Update indinope.lua --- addons/indinope/indinope.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/indinope/indinope.lua b/addons/indinope/indinope.lua index 86119d295..e9ee1622b 100644 --- a/addons/indinope/indinope.lua +++ b/addons/indinope/indinope.lua @@ -10,7 +10,7 @@ modification, are permitted provided that the following conditions are met: * 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 Indi-Nope nor the + * Neither the name of IndiNope nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -26,7 +26,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ]] -_addon.name = 'Indi-Nope' +_addon.name = 'IndiNope' _addon.author = 'Lili' _addon.version = '1.0.4' From 5bbb10545add7cba114b8abcd7644013a29c2a6c Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 15:58:18 +0000 Subject: [PATCH 08/11] Update README.md --- addons/indinope/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/indinope/README.md b/addons/indinope/README.md index 5f4568c81..16c82a4e4 100644 --- a/addons/indinope/README.md +++ b/addons/indinope/README.md @@ -1,4 +1,4 @@ -# Indi-nope 1.0.4 +# IndiNope 1.0.4 Hides visual effects from geomancy on players. Currently does not hide geomancy effect around luopans. From b8460572d9f12175a7b100306883499760aedbbb Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 16:02:30 +0000 Subject: [PATCH 09/11] Update indinope.lua --- addons/indinope/indinope.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/indinope/indinope.lua b/addons/indinope/indinope.lua index e9ee1622b..36ceccf59 100644 --- a/addons/indinope/indinope.lua +++ b/addons/indinope/indinope.lua @@ -17,7 +17,7 @@ modification, are permitted provided that the following conditions are met: 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 BE LIABLE FOR ANY +DISCLAIMED. IN NO EVENT SHALL LILI 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 @@ -34,7 +34,7 @@ require('bit') offsets = { [0x00D] = 67, [0x037] = 89, } -windower.register_event('incoming chunk',function(id,original,modified,injected,blocked) +windower.register_event('incoming chunk', function(id, original, modified, injected, blocked) if injected or blocked or not offsets[id] then return end offset = offsets[id] @@ -42,7 +42,7 @@ windower.register_event('incoming chunk',function(id,original,modified,injected, -- if any of the bits 0 through 7 are set, a bubble is shown and we want to block it. if bit.band(flags,0x7F) ~= 0 then - packet = original:sub(1,offset-1)..string.char(bit.band(flags,0x80))..original:sub(offset+1) -- preserve bit 8 (Job Master stars) + packet = original:sub(1, offset - 1) .. string.char(bit.band(flags, 0x80)) .. original:sub(offset + 1) -- preserve bit 8 (Job Master stars) return packet end end) From 1c8c7d62feb8da3c45a03fabc8b1d3cbc756bb5d Mon Sep 17 00:00:00 2001 From: lili-ffxi <40600148+lili-ffxi@users.noreply.github.com> Date: Sun, 8 Mar 2020 16:04:24 +0000 Subject: [PATCH 10/11] Update indinope.lua --- addons/indinope/indinope.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/indinope/indinope.lua b/addons/indinope/indinope.lua index 36ceccf59..e085b2b79 100644 --- a/addons/indinope/indinope.lua +++ b/addons/indinope/indinope.lua @@ -41,7 +41,7 @@ windower.register_event('incoming chunk', function(id, original, modified, injec flags = original:byte(offsets[id]) -- if any of the bits 0 through 7 are set, a bubble is shown and we want to block it. - if bit.band(flags,0x7F) ~= 0 then + if bit.band(flags, 0x7F) ~= 0 then packet = original:sub(1, offset - 1) .. string.char(bit.band(flags, 0x80)) .. original:sub(offset + 1) -- preserve bit 8 (Job Master stars) return packet end From feb7f1d01bc99295f26f9dfa3e87427319f88a5a Mon Sep 17 00:00:00 2001 From: Dean James Date: Mon, 9 Mar 2020 16:54:59 +0000 Subject: [PATCH 11/11] Fixed incorrect Chloris data. Allowed configurable text colours. --- addons/EmpyPopTracker/EmpyPopTracker.lua | 39 ++++++++++++++++-------- addons/EmpyPopTracker/README.md | 6 ++-- addons/EmpyPopTracker/nms/chloris.lua | 28 ++++++++--------- 3 files changed, 45 insertions(+), 28 deletions(-) diff --git a/addons/EmpyPopTracker/EmpyPopTracker.lua b/addons/EmpyPopTracker/EmpyPopTracker.lua index 751ea953f..797226ddb 100644 --- a/addons/EmpyPopTracker/EmpyPopTracker.lua +++ b/addons/EmpyPopTracker/EmpyPopTracker.lua @@ -29,7 +29,7 @@ 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.1.1' +_addon.version = '2.2.1' config = require('config') res = require('resources') @@ -57,15 +57,30 @@ defaults.text.text.size = 10 defaults.tracking = 'briareus' defaults.visible = true defaults.add_to_chat_mode = 8 +defaults.colors = {} +defaults.colors.needed = {} +defaults.colors.needed.red = 255 +defaults.colors.needed.green = 50 +defaults.colors.needed.blue = 50 +defaults.colors.obtained = {} +defaults.colors.obtained.red = 100 +defaults.colors.obtained.green = 255 +defaults.colors.obtained.blue = 100 +defaults.colors.pool = {} +defaults.colors.pool.red = 255 +defaults.colors.pool.green = 170 +defaults.colors.pool.blue = 0 +defaults.colors.bgall = {} +defaults.colors.bgall.red = 0 +defaults.colors.bgall.green = 75 +defaults.colors.bgall.blue = 0 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 start_color(color) + return '\\cs(' .. EmpyPopTracker.settings.colors[color].red .. ',' .. EmpyPopTracker.settings.colors[color].green .. ',' .. EmpyPopTracker.settings.colors[color].blue .. ')' +end function owns_item(id, items) for _, bag in pairs(items) do @@ -149,16 +164,16 @@ function generate_text(data, key_items, items, depth) local item_colour if owns_pop then - item_colour = colors.success + item_colour = start_color('obtained') else - item_colour = colors.danger + item_colour = start_color('needed') end local pool_notification = '' if in_pool_count > 0 then - pool_notification = colors.warning .. ' [' .. in_pool_count .. ']' .. colors.close + pool_notification = start_color('pool') .. ' [' .. in_pool_count .. ']' .. '\\cr' 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 + text = text .. '\n' .. get_indent(depth) .. pop.dropped_from.name .. '\n' .. get_indent(depth) .. ' >> ' .. item_colour .. item_identifier .. pop_name .. '\\cr' .. pool_notification if pop.dropped_from.pops then text = text .. generate_text(pop.dropped_from, key_items, items, depth + 1) end @@ -269,9 +284,9 @@ EmpyPopTracker.update = function() local generated_info = EmpyPopTracker.generate_info(tracked_nm_data, key_items, items) EmpyPopTracker.text:text(generated_info.text) if generated_info.has_all_pops then - EmpyPopTracker.text:bg_color(0, 75, 0) + EmpyPopTracker.text:bg_color(EmpyPopTracker.settings.colors.bgall.red, EmpyPopTracker.settings.colors.bgall.green, EmpyPopTracker.settings.colors.bgall.blue) else - EmpyPopTracker.text:bg_color(0, 0, 0) + EmpyPopTracker.text:bg_color(EmpyPopTracker.settings.text.red, EmpyPopTracker.settings.text.green, EmpyPopTracker.settings.text.blue) end if EmpyPopTracker.settings.visible then EmpyPopTracker.text:visible(true) diff --git a/addons/EmpyPopTracker/README.md b/addons/EmpyPopTracker/README.md index 5fd2550af..5ff3d1214 100644 --- a/addons/EmpyPopTracker/README.md +++ b/addons/EmpyPopTracker/README.md @@ -6,6 +6,8 @@ An FFXI Windower 4 addon that tracks items and key items for popping various NMs Originally developed to track Abyssea Empyrean weapon NMs, hence the name. 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). +All text colours are configurable via the auto-generated settings.xml file. + ## Load `//lua load empypoptracker` @@ -48,6 +50,6 @@ Fistule is a unique NM when compared to the others. It does not require KIs that ## Contributing -Notice something not quite right? [Raise an issue](https://github.com/xurion/ffxi-empy-pop-tracker/issues). +If there's an NM you want to have added, or if you notice something not quite right, please [raise an issue](https://github.com/xurion/ffxi-empy-pop-tracker/issues). -[Pull requests](https://github.com/xurion/ffxi-empy-pop-tracker/pulls) welcome! +Or better yet, [pull requests](https://github.com/xurion/ffxi-empy-pop-tracker/pulls) are welcome! diff --git a/addons/EmpyPopTracker/nms/chloris.lua b/addons/EmpyPopTracker/nms/chloris.lua index df7451eed..875b5bff2 100644 --- a/addons/EmpyPopTracker/nms/chloris.lua +++ b/addons/EmpyPopTracker/nms/chloris.lua @@ -78,6 +78,10 @@ return { dropped_from = { name = 'Ophanim, Forced (G-9)', pops = { { + id = 2917, --Bloodshot Hecteye + type = 'item', + dropped_from = { name = 'Beholder (G-9)' } + }, { id = 2946, --Tarnished Pincer type = 'item', dropped_from = { @@ -86,21 +90,17 @@ return { 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 + } } + } + }, { + 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 = 'Halimede, Forced (G-12)', - pops = { { - id = 2915, --High-quality Clionid Wing - type = 'item', - dropped_from = { name = 'Gully Clionid (G-12)' } - } } - } + dropped_from = { name = 'Gully Clionid (G-12)' } } } } } }