summaryrefslogtreecommitdiff
path: root/Data/BuiltIn/Libraries/lua-addons/addons/enemybar
diff options
context:
space:
mode:
Diffstat (limited to 'Data/BuiltIn/Libraries/lua-addons/addons/enemybar')
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/enemybar/README.md3
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/enemybar/bg_body.pngbin0 -> 2823 bytes
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/enemybar/bg_cap.pngbin0 -> 2805 bytes
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/enemybar/enemybar.lua54
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/enemybar/fg_body.pngbin0 -> 2819 bytes
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/enemybar/gui_settings.lua298
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/enemybar/subtargetBar.lua64
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/enemybar/targetBar.lua87
8 files changed, 506 insertions, 0 deletions
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/README.md b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/README.md
new file mode 100644
index 0000000..bf25b28
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/README.md
@@ -0,0 +1,3 @@
+# enemybar
+
+This is an addon for Windower4 for FFXI. It creates a big health bar for the target to make it easy to see.
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/bg_body.png b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/bg_body.png
new file mode 100644
index 0000000..5bc94f3
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/bg_body.png
Binary files differ
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/bg_cap.png b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/bg_cap.png
new file mode 100644
index 0000000..7d546de
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/bg_cap.png
Binary files differ
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/enemybar.lua b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/enemybar.lua
new file mode 100644
index 0000000..0a5edeb
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/enemybar.lua
@@ -0,0 +1,54 @@
+--[[
+Copyright © 2015, Mike McKee
+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 enemybar 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 Mike McKee 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 = 'enemybar'
+_addon.author = 'mmckee'
+_addon.version = '1.0.2'
+_addon.language = 'English'
+
+config = require('config')
+images = require('images')
+texts = require('texts')
+require('gui_settings')
+require('targetBar')
+require('subtargetBar')
+
+player_id = 0
+debug_string = ''
+
+windower.register_event('load', function()
+ if windower.ffxi.get_info().logged_in then
+ player_id = windower.ffxi.get_player().id
+ end
+end)
+
+windower.register_event('prerender', render_target_bar)
+windower.register_event('prerender', render_subtarget_bar)
+windower.register_event('target change', target_change)
+
+windower.register_event('logout', function(...)
+ -- This is a super cheap fix, but it works.
+ windower.send_command("input //lua r enemybar");
+end)
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/fg_body.png b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/fg_body.png
new file mode 100644
index 0000000..70804bd
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/fg_body.png
Binary files differ
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/gui_settings.lua b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/gui_settings.lua
new file mode 100644
index 0000000..3cf47d2
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/gui_settings.lua
@@ -0,0 +1,298 @@
+--[[
+Copyright © 2015, Mike McKee
+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 enemybar 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 Mike McKee 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.
+--]]
+
+targetBarHeight = 12
+targetBarWidth = 598
+subtargetBarHeight = 12
+subtargetBarWidth = 198
+visible = false
+
+bg_cap_path = windower.addon_path.. 'bg_cap.png'
+bg_body_path = windower.addon_path.. 'bg_body.png'
+fg_body_path = windower.addon_path.. 'fg_body.png'
+
+center_screen = windower.get_windower_settings().x_res / 2 - targetBarWidth / 2
+
+text_settings = {}
+text_settings.pos = {}
+text_settings.pos.x = center_screen
+text_settings.pos.y = 50
+text_settings.text = {}
+text_settings.text.size = 14
+text_settings.text.font = 'Arial'
+text_settings.text.fonts = {'Arial'}
+text_settings.text.stroke = {}
+text_settings.text.stroke.width = 2
+text_settings.text.stroke.alpha = 127
+text_settings.text.stroke.red = 50
+text_settings.text.stroke.green = 50
+text_settings.text.stroke.blue = 50
+text_settings.flags = {}
+text_settings.flags.bold = true
+text_settings.flags.draggable = false
+text_settings.bg = {}
+text_settings.bg.visible = false
+
+tbg_cap_settings = {}
+tbg_cap_settings.pos = {}
+tbg_cap_settings.pos.x = center_screen
+tbg_cap_settings.pos.y = 50
+tbg_cap_settings.visible = true
+tbg_cap_settings.color = {}
+tbg_cap_settings.color.alpha = 255
+tbg_cap_settings.color.red = 150
+tbg_cap_settings.color.green = 0
+tbg_cap_settings.color.blue = 0
+tbg_cap_settings.size = {}
+tbg_cap_settings.size.width = 1
+tbg_cap_settings.size.height = 598
+tbg_cap_settings.texture = {}
+tbg_cap_settings.texture.path = bg_cap_path
+tbg_cap_settings.texture.fit = true
+tbg_cap_settings.repeatable = {}
+tbg_cap_settings.repeatable.x = 1
+tbg_cap_settings.repeatable.y = 1
+tbg_cap_settings.draggable = false
+
+stbg_cap_settings = {}
+stbg_cap_settings.pos = {}
+stbg_cap_settings.pos.x = center_screen
+stbg_cap_settings.pos.y = 50
+stbg_cap_settings.visible = true
+stbg_cap_settings.color = {}
+stbg_cap_settings.color.alpha = 255
+stbg_cap_settings.color.red = 0
+stbg_cap_settings.color.green = 51
+stbg_cap_settings.color.blue = 255
+stbg_cap_settings.size = {}
+stbg_cap_settings.size.width = 1
+stbg_cap_settings.size.height = subtargetBarHeight
+stbg_cap_settings.texture = {}
+stbg_cap_settings.texture.path = bg_cap_path
+stbg_cap_settings.texture.fit = true
+stbg_cap_settings.repeatable = {}
+stbg_cap_settings.repeatable.x = 1
+stbg_cap_settings.repeatable.y = 1
+stbg_cap_settings.draggable = false
+
+tbg_body_settings = {}
+tbg_body_settings.pos = {}
+tbg_body_settings.pos.x = center_screen
+tbg_body_settings.pos.y = 50
+tbg_body_settings.visible = true
+tbg_body_settings.color = {}
+tbg_body_settings.color.alpha = 255
+tbg_body_settings.color.red = 150
+tbg_body_settings.color.green = 0
+tbg_body_settings.color.blue = 0
+tbg_body_settings.size = {}
+tbg_body_settings.size.width = targetBarWidth
+tbg_body_settings.size.height = targetBarHeight
+tbg_body_settings.texture = {}
+tbg_body_settings.texture.path = bg_body_path
+tbg_body_settings.texture.fit = true
+tbg_body_settings.repeatable = {}
+tbg_body_settings.repeatable.x = 1
+tbg_body_settings.repeatable.y = 1
+tbg_body_settings.draggable = false
+
+stbg_body_settings = {}
+stbg_body_settings.pos = {}
+stbg_body_settings.pos.x = center_screen + 400
+stbg_body_settings.pos.y = 65
+stbg_body_settings.visible = true
+stbg_body_settings.color = {}
+stbg_body_settings.color.alpha = 255
+stbg_body_settings.color.red = 0
+stbg_body_settings.color.green = 51
+stbg_body_settings.color.blue = 255
+stbg_body_settings.size = {}
+stbg_body_settings.size.width = subtargetBarWidth
+stbg_body_settings.size.height = subtargetBarHeight
+stbg_body_settings.texture = {}
+stbg_body_settings.texture.path = bg_body_path
+stbg_body_settings.texture.fit = true
+stbg_body_settings.repeatable = {}
+stbg_body_settings.repeatable.x = 1
+stbg_body_settings.repeatable.y = 1
+stbg_body_settings.draggable = false
+
+tfgg_body_settings = {}
+tfgg_body_settings.pos = {}
+tfgg_body_settings.pos.x = center_screen
+tfgg_body_settings.pos.y = 50
+tfgg_body_settings.visible = true
+tfgg_body_settings.color = {}
+tfgg_body_settings.color.alpha = 200
+tfgg_body_settings.color.red = 255
+tfgg_body_settings.color.green = 0
+tfgg_body_settings.color.blue = 0
+tfgg_body_settings.size = {}
+tfgg_body_settings.size.width = targetBarWidth
+tfgg_body_settings.size.height = targetBarHeight
+tfgg_body_settings.texture = {}
+tfgg_body_settings.texture.path = fg_body_path
+tfgg_body_settings.texture.fit = true
+tfgg_body_settings.repeatable = {}
+tfgg_body_settings.repeatable.x = 1
+tfgg_body_settings.repeatable.y = 1
+tfgg_body_settings.draggable = false
+
+tfg_body_settings = {}
+tfg_body_settings.pos = {}
+tfg_body_settings.pos.x = center_screen
+tfg_body_settings.pos.y = 50
+tfg_body_settings.visible = true
+tfg_body_settings.color = {}
+tfg_body_settings.color.alpha = 255
+tfg_body_settings.color.red = 255
+tfg_body_settings.color.green = 51
+tfg_body_settings.color.blue = 0
+tfg_body_settings.size = {}
+tfg_body_settings.size.width = targetBarWidth
+tfg_body_settings.size.height = targetBarHeight
+tfg_body_settings.texture = {}
+tfg_body_settings.texture.path = fg_body_path
+tfg_body_settings.texture.fit = true
+tfg_body_settings.repeatable = {}
+tfg_body_settings.repeatable.x = 1
+tfg_body_settings.repeatable.y = 1
+tfg_body_settings.draggable = false
+
+stfg_body_settings = {}
+stfg_body_settings.pos = {}
+stfg_body_settings.pos.x = center_screen + 400
+stfg_body_settings.pos.y = 65
+stfg_body_settings.visible = true
+stfg_body_settings.color = {}
+stfg_body_settings.color.alpha = 255
+stfg_body_settings.color.red = 0
+stfg_body_settings.color.green = 102
+stfg_body_settings.color.blue = 255
+stfg_body_settings.size = {}
+stfg_body_settings.size.width = subtargetBarWidth
+stfg_body_settings.size.height = subtargetBarHeight
+stfg_body_settings.texture = {}
+stfg_body_settings.texture.path = fg_body_path
+stfg_body_settings.texture.fit = true
+stfg_body_settings.repeatable = {}
+stfg_body_settings.repeatable.x = 1
+stfg_body_settings.repeatable.y = 1
+stfg_body_settings.draggable = false
+
+defaults = {}
+defaults.font = 'Arial'
+defaults.font_size = 14
+defaults.pos = {}
+defaults.pos.x = 400
+defaults.pos.y = 50
+
+settings = config.load(defaults)
+config.save(settings)
+
+config.register(settings, function(settings_table)
+ --Validating settings.xml values
+ local nx = 0
+ if settings_table.pos.x == nil or settings_table.pos.x < 0 then
+ nx = center_screen
+ else
+ nx = settings_table.pos.x
+ end
+
+ text_settings.pos.x = nx
+ text_settings.pos.y = settings_table.pos.y
+ text_settings.text.font = settings_table.font
+ text_settings.text.size = settings_table.font_size
+
+ tbg_cap_settings.pos.x = nx
+ tbg_cap_settings.pos.y = settings_table.pos.y
+
+ stbg_cap_settings.pos.x = nx
+ stbg_cap_settings.pos.y = settings_table.pos.y
+
+ tbg_body_settings.pos.x = nx
+ tbg_body_settings.pos.y = settings_table.pos.y
+
+ stbg_body_settings.pos.x = nx
+ stbg_body_settings.pos.y = settings_table.pos.y
+
+ tfgg_body_settings.pos.x = nx
+ tfgg_body_settings.pos.y = settings_table.pos.y
+
+ tfg_body_settings.pos.x = nx
+ tfg_body_settings.pos.y = settings_table.pos.y
+
+ stfg_body_settings.pos.x = nx
+ stfg_body_settings.pos.y = settings_table.pos.y
+
+ tbg_cap_l = images.new(tbg_cap_settings)
+ tbg_cap_r = images.new(tbg_cap_settings)
+ tbg_body = images.new(tbg_body_settings)
+ tfgg_body = images.new(tfgg_body_settings)
+ tfg_body = images.new(tfg_body_settings)
+ t_text = texts.new(' ${name|(Name)} - HP: ${hpp|(100)}% ${debug|}', text_settings)
+
+ stbg_cap_l = images.new(stbg_cap_settings)
+ stbg_cap_r = images.new(stbg_cap_settings)
+ stbg_body = images.new(stbg_body_settings)
+ stfg_body = images.new(stfg_body_settings)
+ st_text = texts.new(' ${name|(Name)}', text_settings)
+
+ tbg_cap_l:pos_x(tbg_cap_l:pos_x() - 1)
+ tbg_cap_r:pos_x(tbg_cap_r:pos_x() + targetBarWidth + 1)
+
+ stbg_cap_l:pos(stbg_cap_l:pos_x() + 399, 65)
+ stbg_cap_r:pos(stbg_cap_r:pos_x() + subtargetBarWidth + 1, 65)
+ stfg_body:pos(stfg_body:pos_x() + 400, 65)
+ stbg_body:pos(stbg_body:pos_x() + 400, 65)
+ st_text:pos(st_text:pos_x() + 400, 65)
+end)
+
+
+
+check_claim = function(claim_id)
+ if player_id == claim_id then
+ return true
+ else
+ for i = 1, 5, 1 do
+ member = windower.ffxi.get_mob_by_target('p'..i)
+ if member == nil then
+ -- do nothing
+ elseif member.id == claim_id then
+ return true
+ end
+ end
+ end
+ return false
+end
+
+target_change = function(index)
+ if index == 0 then
+ visible = false
+ else
+ visible = true
+ end
+end
+
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/subtargetBar.lua b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/subtargetBar.lua
new file mode 100644
index 0000000..83e7c24
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/subtargetBar.lua
@@ -0,0 +1,64 @@
+--[[
+Copyright © 2015, Mike McKee
+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 enemybar 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 Mike McKee 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.
+--]]
+
+render_subtarget_bar = function(...)
+ if visible == true then
+ local subtarget = windower.ffxi.get_mob_by_target('st')
+
+ if subtarget ~= nil and target ~= nil and subtarget.id ~= target.id then
+ stbg_cap_l:show()
+ stbg_cap_r:show()
+ stbg_body:show()
+ stfg_body:show()
+ st_text:show()
+
+ local i = subtarget.hpp / 100
+ local new_width = math.floor(subtargetBarWidth * i)
+ stfg_body:width(new_width)
+ stbg_body:width(subtargetBarWidth)
+
+ st_text.name = subtarget.name
+ if subtarget.hpp == 0 then
+ st_text:color(155, 155, 155)
+ elseif check_claim(subtarget.claim_id) then
+ st_text:color(255, 204, 204)
+ elseif subtarget.in_party == true and subtarget.id ~= player_id then
+ st_text:color(102, 255, 255)
+ elseif subtarget.is_npc == false then
+ st_text:color(255, 255, 255)
+ elseif subtarget.claim_id == 0 then
+ st_text:color(230, 230, 138)
+ elseif subtarget.claim_id ~= 0 then
+ st_text:color(153, 102, 255)
+ end
+ else
+ stbg_cap_l:hide()
+ stbg_cap_r:hide()
+ stbg_body:hide()
+ stfg_body:hide()
+ st_text:hide()
+ end
+ end
+end \ No newline at end of file
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/targetBar.lua b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/targetBar.lua
new file mode 100644
index 0000000..57db968
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/enemybar/targetBar.lua
@@ -0,0 +1,87 @@
+--[[
+Copyright © 2015, Mike McKee
+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 enemybar 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 Mike McKee 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.
+--]]
+
+render_target_bar = function (...)
+ if visible == true then
+ tbg_cap_l:show()
+ tbg_cap_r:show()
+ tbg_body:show()
+ tfg_body:show()
+ tfgg_body:show()
+ t_text:show()
+
+ target = windower.ffxi.get_mob_by_target('t')
+
+ if target ~= nil then
+ local player = windower.ffxi.get_player()
+ local i = target.hpp / 100
+ local new_width = math.floor(targetBarWidth * i)
+ local old_width = tfgg_body:width()
+
+ tfgg_body:width(0)
+
+ local now = os.clock()
+ if new_width ~= nil and new_width > 0 then
+ if new_width < old_width and player.in_combat then
+ local x = old_width + math.floor(((new_width - old_width) * 0.1))
+ tfgg_body:width(x)
+ elseif new_width >= old_width or not player.in_combat then
+ tfgg_body:width(new_width)
+ end
+ end
+
+ tfg_body:width(new_width)
+ tbg_body:width(targetBarWidth) -- I still have no idea why removing this breaks the bg.
+
+ t_text.name = target.name
+ t_text.hpp = target.hpp
+ t_text.debug = debug_string
+
+ --Check claim_id with player and party_id
+ if target.hpp == 0 then
+ t_text:color(155, 155, 155)
+ elseif check_claim(target.claim_id) then
+ t_text:color(255, 204, 204)
+ elseif target.in_party == true and target.id ~= player_id then
+ t_text:color(102, 255, 255)
+ elseif target.is_npc == false then
+ t_text:color(255, 255, 255)
+ elseif target.claim_id == 0 then
+ t_text:color(230, 230, 138)
+ elseif target.claim_id ~= 0 then
+ t_text:color(153, 102, 255)
+ end
+ end
+
+ else
+ tbg_cap_l:hide()
+ tbg_cap_r:hide()
+ tbg_body:hide()
+ tfg_body:hide()
+ tfgg_body:hide()
+ tfgg_body:size(0, 12)
+ t_text:hide()
+ end
+end \ No newline at end of file