summaryrefslogtreecommitdiff
path: root/Data/BuiltIn/Libraries/lua-addons/addons/SubTarget
diff options
context:
space:
mode:
Diffstat (limited to 'Data/BuiltIn/Libraries/lua-addons/addons/SubTarget')
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/SubTarget/README.txt42
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/SubTarget/SubTarget.lua76
2 files changed, 118 insertions, 0 deletions
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/SubTarget/README.txt b/Data/BuiltIn/Libraries/lua-addons/addons/SubTarget/README.txt
new file mode 100644
index 0000000..87d57af
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/SubTarget/README.txt
@@ -0,0 +1,42 @@
+name = 'SubTarget'
+version = '1.0'
+author = 'Sebyg666'
+
+Must have the "send" addon to work
+
+can use //subtarget or //sta
+
+Command "HELP" or no command:
+
+ Explanation of the addons usage printed to the console, essentially the 2 commands below.
+
+Command "GO":
+
+ subtarget|sta go mule_name spell_name
+ - Main usage.
+ - create an ingame macro with 2 lines
+ - line 1: /target <stal>
+ - line 2: /con sta go mule_name spell_name
+ - This sends your mule the spell + the target selected from <stal>
+
+Command "TOGGLE":
+
+ subtarget|sta toggle
+ - turns on|off ingame text verification for debugging
+
+I created this addon for the perpous of fasilitating casting buffs from my alt to the chosen party member from my mains
+window without having to write 6 macros for the same spell. If you use <stal> in your macro you can easily target
+alliance members too. you can also use this with <stpc>.
+
+Currently due to the limitations of mob targeting this does not apply to <stnpc> as i do not know how to force the alt to target a mob by ID.
+
+**********************************************************************************
+
+example macro:
+
+line 1: /target <stal>
+line 2: /con sta go Arcon haste
+
+if main name is Iroku, Arcon the mule and Byrth the target of <stal>, then essentially the macro makes your mule,
+Arcon, cast haste on Byrth.
+
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/SubTarget/SubTarget.lua b/Data/BuiltIn/Libraries/lua-addons/addons/SubTarget/SubTarget.lua
new file mode 100644
index 0000000..bb392aa
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/SubTarget/SubTarget.lua
@@ -0,0 +1,76 @@
+--Copyright (c) 2014, Sebyg666
+--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 = 'SubTarget'
+_addon.version = '1.0'
+_addon.author = 'Sebyg666'
+_addon.commands = {'SubTarget','STa'}
+
+require('tables')
+require('logger')
+require('strings')
+
+
+toggle = false
+
+windower.register_event('addon command', function(command, ...)
+ command = command or 'help'
+
+ if command == 'help' then
+ print(' The correct functionality is:')
+ print(' Command "GO":')
+ print(' subtarget|sta go mule_name spell_name')
+ print(' - Main usage.')
+ print(' - create an ingame macro with 2 lines')
+ print(' - line 1: /target <stal>')
+ print(' - line 2: /con sta go mule_name spell_name')
+ print(' - This sends your mule the spell + the target selected from <stal>')
+ print(' Command "TOGGLE":')
+ print(' subtarget|sta toggle')
+ print(' - turns on|off ingame text verification for debugging.')
+
+
+ elseif command == 'go' then
+ local name
+ local lastst = windower.ffxi.get_mob_by_target('lastst')
+ if not lastst then
+ name = L{...}[-1]
+ print('Last sub target does not exist.')
+ print('Setting last sub to the recipient of the send command.')
+ else
+ name = lastst.name
+ end
+ if toggle then
+ log('Command to send-> "send ' .. table.concat({...}, ' ') .. ' ' .. name ..'".')
+ end
+ windower.send_command('send ' .. table.concat({...}, ' ') .. ' ' .. name)
+
+ elseif command == 'toggle' then
+ toggle = not toggle
+ log('Text now ' .. (toggle and 'on' or 'off'))
+
+ end
+end) \ No newline at end of file