summaryrefslogtreecommitdiff
path: root/Data/BuiltIn/Libraries/lua-addons/addons/cancel/cancel.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-15 13:53:59 +0800
committerchai <chaifix@163.com>2021-11-15 13:53:59 +0800
commit942a030afd348ab2e02eac8054b43e3c3a72ea48 (patch)
treea13459f39a3d2f1b533fbd1b5ab523d7a621f673 /Data/BuiltIn/Libraries/lua-addons/addons/cancel/cancel.lua
parente307051a56a54c27f10438fd2025edf61d0dfeed (diff)
*rename
Diffstat (limited to 'Data/BuiltIn/Libraries/lua-addons/addons/cancel/cancel.lua')
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/cancel/cancel.lua57
1 files changed, 57 insertions, 0 deletions
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/cancel/cancel.lua b/Data/BuiltIn/Libraries/lua-addons/addons/cancel/cancel.lua
new file mode 100644
index 0000000..b8040fc
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/cancel/cancel.lua
@@ -0,0 +1,57 @@
+--Copyright (c) 2013, Byrthnoth
+--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 <addon name> 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 <your name> 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 = 'Cancel'
+_addon.version = '1.0'
+_addon.author = 'Byrth'
+_addon.commands = {'cancel'}
+
+res = require 'resources'
+
+name_index = {}
+language = windower.ffxi.get_info().language:lower()
+
+
+windower.register_event('addon command',function (...)
+ local command = table.concat({...},' ')
+ if not command then return end
+ local status_id_tab = command:split(',')
+ status_id_tab.n = nil
+ local ids = {}
+ local buffs = {}
+ for _,v in pairs(windower.ffxi.get_player().buffs) do
+ for _,r in pairs(status_id_tab) do
+ if windower.wc_match(res.buffs[v][language],r) or windower.wc_match(tostring(v),r) then
+ cancel(v)
+ break
+ end
+ end
+ end
+end)
+
+function cancel(id)
+ windower.packets.inject_outgoing(0xF1,string.char(0xF1,0x04,0,0,id%256,math.floor(id/256),0,0)) -- Inject the cancel packet
+end \ No newline at end of file