10 Commits

Author SHA1 Message Date
GreenComfyTea
c74a93a3b2 Fix "highlighted (targeted)" being used in damage meter 2023-02-06 16:53:13 +02:00
GreenComfyTea
ccd64f534c Cache some methods 2023-02-06 16:43:00 +02:00
GreenComfyTea
60bcd5770d Cache all global variables 2023-02-06 16:31:59 +02:00
GreenComfyTea
9252beba11 pcall each large monster UI individually 2023-02-06 15:58:28 +02:00
GreenComfyTea
9958817989 Fix a bug when autotarget was trying to target dead monster causing all large monster UI to not work 2023-02-06 15:55:57 +02:00
GreenComfyTea
fcf35d817f Potential fix to damage meter showing incorrect players sometimes 2023-02-06 15:26:03 +02:00
GreenComfyTea
b1d84ab739 Move default static large mon. UI from screen edge 2023-02-06 15:25:20 +02:00
GreenComfyTea
82033313ba Merge branch 'main' of https://github.com/GreenComfyTea/MHR-Overlay 2023-02-06 12:47:24 +02:00
GreenComfyTea
23213fcab0 Dont highlight if dps/damage is 0 2023-02-06 12:47:01 +02:00
GreenComfyTea
976abee356 Fix Highlighted Damage UI not being initialized 2023-02-06 12:45:23 +02:00
54 changed files with 1512 additions and 76 deletions

View File

@@ -1,5 +1,34 @@
xy = "";
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local debug = require("MHR_Overlay.Misc.debug");
local keyboard = require("MHR_Overlay.Game_Handler.keyboard");
@@ -291,8 +320,8 @@ if debug.enabled then
end
if xy ~= "" then
d2d.text(drawing.font, "xy:\n" .. tostring(xy), 551, 11, 0xFF000000);
d2d.text(drawing.font, "xy:\n" .. tostring(xy), 550, 10, 0xFFFFFFFF);
d2d.text(drawing.font, "xy:\n" .. tostring(xy), 6, 31, 0xFF000000);
d2d.text(drawing.font, "xy:\n" .. tostring(xy), 5, 30, 0xFFFFFFFF);
end
end);
end
@@ -303,8 +332,8 @@ if debug.enabled then
end
if xy ~= "" then
draw.text("xy:\n" .. tostring(xy), 551, 11, 0xFF000000);
draw.text("xy:\n" .. tostring(xy), 550, 10, 0xFFFFFFFF);
draw.text("xy:\n" .. tostring(xy), 6, 31, 0xFF000000);
draw.text("xy:\n" .. tostring(xy), 5, 30, 0xFFFFFFFF);
end
end);
end

View File

@@ -1,4 +1,5 @@
local damage_hook = {};
local quest_status;
local players;
local small_monster;
@@ -8,6 +9,35 @@ local table_helpers;
local singletons;
local non_players;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");
local enemy_character_base_after_calc_damage_damage_side_method = enemy_character_base_type_def:get_method("afterCalcDamage_DamageSide");
@@ -193,27 +223,17 @@ function damage_hook.update_damage(enemy, enemy_calc_damage_info)
players.update_damage(players.total, damage_source_type, is_large_monster, damage_object);
players.update_damage(player, damage_source_type, is_large_monster, damage_object);
--xy = xy .. "\nPlayer: " .. tostring(player.id) ..
-- " " .. tostring(player.name) ..
-- " Damage: " .. tostring(damage_object.total_damage);
--xy = xy .. "\nPlayer: " .. tostring(attacker_id) ..
--" " .. tostring(attacking_player.name) ..
--" Damage: " .. tostring(damage_object.total_damage) ..
--" Type: (" .. tostring(attacker_type);
--") " ..
--" Condition Damage: " .. tostring(condition_damage) ..
--" Condition Type: (" .. tostring(attacker_type) ..
--") " .. tostring(condition_type);
--if is_otomo_attack then
--xy = xy .. "\nOtomo: " .. tostring(otomo.id) ..
-- " " .. tostring(otomo.name) ..
-- " Damage: " .. tostring(damage_object.total_damage);
--end
--[[if is_otomo_attack then
xy = xy .. "\nOtomo Master: " .. tostring(player.id) ..
" " .. tostring(player.name) ..
" Damage: " .. tostring(damage_object.total_damage);
xy = xy .. "\nOtomo: " .. tostring(otomo.id) ..
" " .. tostring(otomo.name) ..
" Damage: " .. tostring(damage_object.total_damage);
end]]
--if string.len(xy) > 2700 then
--if string.len(xy) > 2000 then
-- xy = "";
--end
end

View File

@@ -1,4 +1,5 @@
local non_players = {};
local config;
local table_helpers;
local singletons;
@@ -11,6 +12,35 @@ local language;
local unicode_helpers;
local players;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
non_players.servant_list = {};
non_players.otomo_list = {};

View File

@@ -1,4 +1,5 @@
local players = {};
local config;
local table_helpers;
local singletons;
@@ -10,6 +11,35 @@ local drawing;
local language;
local non_players;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
players.list = {};
players.myself = nil;
players.myself_position = Vector3f.new(0, 0, 0);
@@ -57,6 +87,10 @@ function players.new(id, name, master_rank, hunter_rank, type)
players.init_UI(player);
if players.highlighted_damage_UI == nil then
players.init_highlighted_UI();
end
return player;
end
@@ -490,7 +524,7 @@ function players.init()
players.list = {};
players.display_list = {};
players.total = players.new(0, "Total", 0, 0, players.types.total);
players.myself = players.new(-1, "Dummy", -1, -1, players.types.myself);
players.myself = players.new(-1, "DummyMHROverlay", -1, -1, players.types.myself);
end
local lobby_manager_type_def = sdk.find_type_definition("snow.LobbyManager");
@@ -603,13 +637,23 @@ function players.update_player_list_(hunter_info_field_)
local player = players.list[id];
if player == nil or (player.name ~= name and player.hunter_rank ~= hunter_rank and player.master_rank ~= master_rank) then
if player ~= nil then
if player.name == players.myself.name then
player = players.new(id, name, master_rank, hunter_rank, players.types.myself);
players.myself = player;
players.list[id] = player;
end
if player == nil then
if name == players.myself.name then
player = players.new(id, name, master_rank, hunter_rank, players.types.myself);
players.myself = player;
players.list[id] = player;
else
player = players.new(id, name, master_rank, hunter_rank, players.types.other_player);
players.list[id] = player;
end
elseif player.name ~= name or player.hunter_rank ~= hunter_rank or player.master_rank ~= master_rank then
if name == players.myself.name then
player = players.new(id, name, master_rank, hunter_rank, players.types.myself);
players.myself = player;
players.list[id] = player;
else
player = players.new(id, name, master_rank, hunter_rank, players.types.other_player);
players.list[id] = player;

View File

@@ -1,10 +1,40 @@
local env_creature = {};
local drawing;
local customization_menu;
local singletons;
local config;
local table_helpers;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
env_creature.list = {};
function env_creature.new(REcreature)

View File

@@ -1,8 +1,38 @@
local env_creature_hook = {};
local env_creature;
local config;
local time;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local environment_creature_base_type_def = sdk.find_type_definition("snow.envCreature.EnvironmentCreatureBase");
local update_method = environment_creature_base_type_def:get_method("update");

View File

@@ -1,5 +1,6 @@
local config = require "MHR_Overlay.Misc.config"
local keyboard = {};
local config;
local singletons;
local customization_menu;
local players;
@@ -8,6 +9,35 @@ local large_monster;
local damage_meter_UI;
local time;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local game_keyboard_type_def = sdk.find_type_definition("snow.GameKeyboard");
local hard_keyboard_field = game_keyboard_type_def:get_field("hardKeyboard");
@@ -572,6 +602,7 @@ function keyboard.get_hotkey_name(hotkey)
end
function keyboard.init_module()
config = require "MHR_Overlay.Misc.config"
singletons = require("MHR_Overlay.Game_Handler.singletons");
customization_menu = require("MHR_Overlay.UI.customization_menu");
players = require("MHR_Overlay.Damage_Meter.players");

View File

@@ -10,6 +10,35 @@ local time;
local env_creature;
local non_players;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
quest_status.flow_states = {
NONE = 0,
IN_LOBBY = 1,

View File

@@ -3,6 +3,35 @@ local screen = {};
local config;
local singletons;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
screen.width = 1920;
screen.height = 1080;

View File

@@ -1,5 +1,34 @@
local singletons = {};
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
singletons.message_manager = nil;
singletons.enemy_manager = nil;
singletons.lobby_manager = nil;

View File

@@ -1,4 +1,5 @@
local time = {};
local singletons;
local customization_menu;
local quest_status;
@@ -7,6 +8,35 @@ local non_players;
local config;
local small_monster;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager");
local get_quest_elapsed_time_min_method = quest_manager_type_def:get_method("getQuestElapsedTimeMin");
local get_quest_elapsed_time_sec_method = quest_manager_type_def:get_method("getQuestElapsedTimeSec");
@@ -36,8 +66,6 @@ function time.tick()
time.elapsed_minutes = quest_time_elapsed_minutes;
end
local quest_time_total_elapsed_seconds = get_quest_elapsed_time_sec_method:call(singletons.quest_manager);
if quest_time_total_elapsed_seconds == nil then
customization_menu.status = "No quest time total elapsed seconds";

View File

@@ -1,7 +1,37 @@
local config = {};
local table_helpers;
local language;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
config.version = "2.4";
config.config_folder = "MHR Overlay\\configs\\";
@@ -1927,7 +1957,7 @@ function config.init_default()
position = {
x = 525,
y = 47,
y = 50,
anchor = "Bottom-Left"
},
@@ -3041,7 +3071,7 @@ function config.init_default()
highlighted = {
enabled = true,
position = {
x = 615,
y = 25, -- y = 44,
@@ -4237,7 +4267,7 @@ function config.init_default()
orientation = "Vertical", -- "Vertical" or "Horizontal"
highlighted_bar = "None",
highlight = "Top Damage",
damage_bar_relative_to = "Top Damage", -- "total damage" or "top damage"
my_damage_bar_location = "Last", -- "normal" or "first" or "last"
total_damage_location = "First",

View File

@@ -1,6 +1,36 @@
local language = {};
local table_helpers;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
language.language_folder = "MHR Overlay\\languages\\";
language.current_language = {};
@@ -238,7 +268,7 @@ language.default_language = {
dynamically_positioned = "Dynamically Positioned",
statically_positioned = "Statically Positioned",
highlighted = "Highlighted (targeted)",
highlighted_targeted = "Highlighted (targeted)",
include = "Include",
monster_name = "Monster Name",
@@ -455,7 +485,9 @@ language.default_language = {
duplicate = "Duplicate",
delete = "Delete",
new = "New",
reset = "Reset"
reset = "Reset",
highlighted = "Highlighted"
}
};

View File

@@ -1,7 +1,37 @@
local part_names = {};
local language;
local table_helpers;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
part_names.list = {};
function part_names.init()

View File

@@ -1,6 +1,33 @@
local table_helpers = {};
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function table_helpers.deep_copy(original, copies)
copies = copies or {};
@@ -13,13 +40,9 @@ function table_helpers.deep_copy(original, copies)
copy = {};
copies[original] = copy;
for original_key, original_value in next, original, nil do
copy[table_helpers.deep_copy(original_key, copies)] = table_helpers.deep_copy(original_value
,
copies);
copy[table_helpers.deep_copy(original_key, copies)] = table_helpers.deep_copy(original_value,copies);
end
setmetatable(copy,
table_helpers.deep_copy(getmetatable(original)
, copies));
setmetatable(copy, table_helpers.deep_copy(getmetatable(original), copies));
end
else -- number, string, boolean, etc
copy = original;

View File

@@ -1,5 +1,34 @@
local unicode_helpers = {};
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
-- https://github.com/blitmap/lua-utf8-simple/blob/master/utf8_simple.lua
-- ABNF from RFC 3629

View File

@@ -1,4 +1,5 @@
local ailment_buildup = {};
local players;
local language;
local config;
@@ -10,6 +11,35 @@ local large_monster;
local table_helpers;
local drawing;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function ailment_buildup.draw(monster, ailment_buildup_UI, cached_config, ailment_buildups_position_on_screen, opacity_scale)
local cached_config = cached_config.ailment_buildups;

View File

@@ -1,10 +1,40 @@
local ailment_hook = {};
local small_monster;
local large_monster;
local config;
local ailments;
local table_helpers;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local enemy_poison_damage_param_type_def = sdk.find_type_definition("snow.enemy.EnemyPoisonDamageParam");
local on_poison_activate_proc_method = enemy_poison_damage_param_type_def:get_method("onActivateProc");

View File

@@ -1,4 +1,5 @@
local ailments = {};
local players;
local language;
local config;
@@ -10,6 +11,35 @@ local large_monster;
local table_helpers;
local non_players;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
--0 Paralyze
--1 Sleep
--2 Stun

View File

@@ -1,4 +1,5 @@
local body_part = {};
local singletons;
local customization_menu;
local config;
@@ -12,6 +13,35 @@ local drawing;
local part_names;
local time;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
body_part.list = {};
function body_part.new(id, name)

View File

@@ -1,4 +1,5 @@
local large_monster = {};
local singletons;
local customization_menu;
local config;
@@ -16,10 +17,38 @@ local drawing;
local ailments;
local players;
local time;
local body_part;
local part_names;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
large_monster.list = {};
function large_monster.new(enemy)
@@ -890,4 +919,4 @@ function large_monster.init_module()
ailment_buildup = require("MHR_Overlay.Monsters.ailment_buildup");
end
return large_monster;
return large_monster;

View File

@@ -1,4 +1,5 @@
local monster_hook = {};
local small_monster;
local large_monster;
local config;
@@ -6,6 +7,35 @@ local ailments;
local players;
local quest_status;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");
local enemy_character_base_update_method = enemy_character_base_type_def:get_method("update");
@@ -13,12 +43,14 @@ local is_boss_enemy_method = enemy_character_base_type_def:get_method("get_isBos
local enemy_damage_check_type_def = sdk.find_type_definition("snow.enemy.EnemyDamageCheck");
local damage_check_update_param_update_method = enemy_damage_check_type_def:get_method("updateParam");
local get_ref_enemy = enemy_damage_check_type_def:get_method("get_RefEnemy");
local anger_param_type_def = sdk.find_type_definition("snow.enemy.EnemyAngerParam");
local anger_add_method = anger_param_type_def:get_method("add");
local stamina_param_type_def = sdk.find_type_definition("snow.enemy.EnemyStaminaParam");
local stamina_sub_method = stamina_param_type_def:get_method("sub");
local get_enemy_method = stamina_param_type_def:get_method("get_Em");
local tick_count = 0;
local last_update_tick = 0;
@@ -163,8 +195,8 @@ function monster_hook.update_small_monster(enemy)
end
end
function monster_hook.update_health(enemy_damage_stock_param)
local enemy = enemy_damage_stock_param:call("get_RefEnemy");
function monster_hook.update_health(enemy_damage_check)
local enemy = get_ref_enemy:call(enemy_damage_check);
if enemy == nil then
return;
end
@@ -190,7 +222,7 @@ function monster_hook.update_stamina(stamina_param, stamina_sub)
return;
end
local enemy = stamina_param:call("get_Em");
local enemy = get_enemy_method:call(stamina_param);
if enemy == nil then
return;
end

View File

@@ -1,4 +1,5 @@
local small_monster = {};
local singletons;
local customization_menu;
local config;
@@ -12,6 +13,35 @@ local ailment_UI_entity;
local ailment_buildup;
local ailment_buildup_UI_entity;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
small_monster.list = {};
function small_monster.new(enemy)

View File

@@ -15,6 +15,35 @@ local customization_menu;
local label_customization;
local bar_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function ailment_buildups_customization.draw(cached_config)
local changed = false;
local config_changed = false;

View File

@@ -15,9 +15,39 @@ local customization_menu;
local label_customization;
local bar_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function ailments_customization.draw(cached_config)
local changed = false;
local config_changed = false;
local index = 0;
if imgui.tree_node(language.current_language.customization_menu.ailments) then
changed, cached_config.visibility = imgui.checkbox(

View File

@@ -14,6 +14,35 @@ local keyboard;
local customization_menu;
local line_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function bar_customization.draw(bar_name, bar)
if bar == nil then
return false;

View File

@@ -15,9 +15,39 @@ local customization_menu;
local label_customization;
local bar_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function body_parts_customization.draw(cached_config)
local changed = false;
local config_changed = false;
local index = 0;
if imgui.tree_node(language.current_language.customization_menu.body_parts) then
changed, cached_config.visibility = imgui.checkbox(

View File

@@ -15,6 +15,35 @@ local customization_menu;
local label_customization;
local bar_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function large_monster_UI_customization.draw(cached_config)
local changed = false;
local config_changed = false;

View File

@@ -13,6 +13,35 @@ local time_UI;
local keyboard;
local customization_menu;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function label_customization.draw(label_name, label)
local label_changed = false;
local changed = false;

View File

@@ -22,6 +22,35 @@ local body_parts_customization;
local ailments_customization;
local ailment_buildups_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function large_monster_UI_customization.draw(cached_config)
local changed = false;
local config_changed = false;

View File

@@ -13,6 +13,35 @@ local time_UI;
local keyboard;
local customization_menu;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function line_customization.draw(line_name, line)
if line == nil then
return;

View File

@@ -15,6 +15,35 @@ local customization_menu;
local label_customization;
local bar_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function module_visibility_customization.draw(cached_config)
local changed = false;
local config_changed = false;

View File

@@ -15,6 +15,35 @@ local customization_menu;
local label_customization;
local bar_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function rage_customization.draw(cached_config)
local changed = false;
local config_changed = false;

View File

@@ -15,6 +15,35 @@ local customization_menu;
local label_customization;
local bar_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function stamina_customization.draw(cached_config)
local changed = false;
local config_changed = false;

View File

@@ -1,4 +1,5 @@
local damage_meter_UI = {};
local singletons;
local config;
local customization_menu;
@@ -10,6 +11,35 @@ local drawing;
local language;
local table_helpers;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
damage_meter_UI.last_displayed_players = {};
damage_meter_UI.freeze_displayed_players = false;
@@ -79,8 +109,7 @@ function damage_meter_UI.draw()
if not cached_config.settings.total_damage_offset_is_relative then
position_on_screen = screen.calculate_absolute_coordinates(cached_config.position);
end
for _, player in ipairs(quest_players) do
if player.display.total_damage == 0 and cached_config.settings.hide_player_if_player_damage_is_zero then

View File

@@ -1,4 +1,5 @@
local env_creature_UI = {};
local singletons;
local config;
local customization_menu;
@@ -12,6 +13,35 @@ local stamina_UI_entity;
local rage_UI_entity;
local env_creature;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local enemy_manager_type_def = sdk.find_type_definition("snow.enemy.EnemyManager");
function env_creature_UI.draw()

View File

@@ -1,4 +1,5 @@
local large_monster_UI = {};
local singletons;
local config;
local customization_menu;
@@ -11,6 +12,35 @@ local health_UI_entity;
local stamina_UI_entity;
local rage_UI_entity;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local enemy_manager_type_def = sdk.find_type_definition("snow.enemy.EnemyManager");
local get_boss_enemy_count_method = enemy_manager_type_def:get_method("getBossEnemyCount");
local get_boss_enemy_method = enemy_manager_type_def:get_method("getBossEnemy");
@@ -121,15 +151,23 @@ function large_monster_UI.draw(dynamic_enabled, static_enabled, highlighted_enab
end
if dynamic_enabled then
large_monster_UI.draw_dynamic(displayed_monsters, highlighted_monster, cached_config);
local success = pcall(large_monster_UI.draw_dynamic, displayed_monsters, highlighted_monster, cached_config);
if not success then
customization_menu.status = string.format("[%s] Dynamic Large Monster drawing function threw an exception");
end
end
if highlighted_enabled then
large_monster_UI.draw_highlighted(highlighted_monster, cached_config);
local success = pcall(large_monster_UI.draw_highlighted, highlighted_monster, cached_config);
if not success then
customization_menu.status = string.format("[%s] Highlighted Large Monster drawing function threw an exception");
end
end
if static_enabled then
large_monster_UI.draw_static(displayed_monsters, highlighted_monster, cached_config);
local success = pcall(large_monster_UI.draw_static, displayed_monsters, highlighted_monster, cached_config);
if not success then
customization_menu.status = string.format("[%s] Static Large Monster drawing function threw an exception");
end
end
end
@@ -163,8 +201,7 @@ function large_monster_UI.draw_dynamic(displayed_monsters, highlighted_monster,
local position_on_screen = {};
local world_offset = Vector3f.new(cached_config.world_offset.x, cached_config.world_offset.y,
cached_config.world_offset.z);
local world_offset = Vector3f.new(cached_config.world_offset.x, cached_config.world_offset.y, cached_config.world_offset.z);
position_on_screen = draw.world_to_screen(monster.position + world_offset);
@@ -281,7 +318,7 @@ function large_monster_UI.draw_highlighted(monster, cached_config)
local position_on_screen = screen.calculate_absolute_coordinates(cached_config.position);
if monster.dead_or_captured and cached_config.settings.hide_dead_or_captured then
if monster.dead_or_captured then
return;
end

View File

@@ -1,4 +1,5 @@
local small_monster_UI = {};
local singletons;
local config;
local small_monster;
@@ -10,6 +11,35 @@ local table_helpers;
local health_UI_entity;
local stamina_UI_entity;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
local enemy_manager_type_def = sdk.find_type_definition("snow.enemy.EnemyManager");
local get_zako_enemy_count_method = enemy_manager_type_def:get_method("getZakoEnemyCount");
local get_zako_enemy_method = enemy_manager_type_def:get_method("getZakoEnemy");

View File

@@ -1,10 +1,40 @@
local time_UI = {};
local time;
local screen;
local config;
local drawing;
local table_helpers;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
time_UI.label = nil;
function time_UI.draw()

View File

@@ -1,9 +1,39 @@
local ailment_UI_entity = {};
local config;
local table_helpers;
local drawing;
local language;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function ailment_UI_entity.new(visibility, bar, name_label, text_label, value_label, percentage_label, timer_label)
local entity = {};

View File

@@ -1,10 +1,40 @@
local ailment_buildup_UI_entity = {};
local table_helpers;
local drawing;
local config;
local players;
local language;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function ailment_buildup_UI_entity.new(buildup_bar, highlighted_buildup_bar, ailment_name_label, player_name_label,
buildup_value_label, buildup_percentage_label, total_buildup_label,
total_buildup_value_label)

View File

@@ -1,8 +1,38 @@
local body_part_UI_entity = {};
local config;
local table_helpers;
local drawing;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function body_part_UI_entity.new(part_visibility, part_name_label, flinch_visibility, flinch_bar, flinch_text_label,
flinch_value_label, flinch_percentage_label, break_visibility, break_bar, break_text_label, break_value_label,
break_percentage_label, loss_visibility, loss_bar, loss_text_label, loss_value_label, loss_health_percentage_label)

View File

@@ -1,4 +1,5 @@
local damage_UI_entity = {};
local table_helpers;
local drawing;
local config;
@@ -7,6 +8,35 @@ local language;
local quest_status;
local non_players;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function damage_UI_entity.new(damage_meter_UI_elements, type)
local entity = {};
@@ -169,8 +199,8 @@ function damage_UI_entity.draw(player, position_on_screen, opacity_scale, top_da
local dps_label = player.damage_UI.dps_label;
if player.type ~= players.types.total then
if (cached_config.settings.highlighted_bar == "Top Damage" and player.display.total_damage == top_damage) or
(cached_config.settings.highlighted_bar == "Top DPS" and player.dps == top_dps) then
if (cached_config.settings.highlighted_bar == "Top Damage" and player.display.total_damage == top_damage and top_damage ~= 0) or
(cached_config.settings.highlighted_bar == "Top DPS" and player.dps == top_dps and top_dps ~= 0) then
bar = players.highlighted_damage_UI.bar;
name_label = players.highlighted_damage_UI.name_label;
hunter_rank_label = players.highlighted_damage_UI.hunter_rank_label;
@@ -179,7 +209,7 @@ function damage_UI_entity.draw(player, position_on_screen, opacity_scale, top_da
dps_label = players.highlighted_damage_UI.dps_label;
end
end
drawing.draw_bar(bar, position_on_screen, opacity_scale, player_damage_bar_percentage);
name_text = drawing.limit_text_size(name_text, player.damage_UI.player_name_size_limit);

View File

@@ -1,9 +1,39 @@
local health_UI_entity = {};
local table_helpers;
local drawing;
local language;
local config;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function health_UI_entity.new(visibility, bar, text_label, value_label, percentage_label)
local entity = {};

View File

@@ -1,9 +1,39 @@
local rage_UI_entity = {};
local table_helpers;
local drawing;
local language;
local config;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function rage_UI_entity.new(visibility, bar, text_label, value_label, percentage_label, timer_label)
local entity = {};

View File

@@ -1,9 +1,39 @@
local stamina_UI_entity = {};
local table_helpers;
local drawing;
local language;
local config;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
function stamina_UI_entity.new(visibility, bar, text_label, value_label, percentage_label, timer_label)
local entity = {};

View File

@@ -28,6 +28,35 @@ local ailments_customization;
local ailment_buildups_customization;
local module_visibility_customization;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
customization_menu.font = nil;
customization_menu.font_range = {0x1, 0xFFFF, 0};
customization_menu.is_opened = false;
@@ -51,7 +80,7 @@ customization_menu.displayed_ailment_buildups_sorting_types = {};
customization_menu.displayed_highlighted_buildup_bar_types = {};
customization_menu.displayed_buildup_bar_relative_types = {};
customization_menu.displayed_damage_meter_UI_highlighted_bar_types = {};
customization_menu.displayed_damage_meter_UI_highlighted_entity_types = {};
customization_menu.displayed_damage_meter_UI_damage_bar_relative_types = {};
customization_menu.displayed_damage_meter_UI_my_damage_bar_location_types = {};
customization_menu.displayed_damage_meter_UI_total_damage_location_types = {};
@@ -70,7 +99,7 @@ customization_menu.ailment_buildups_sorting_types = {};
customization_menu.highlighted_buildup_bar_types = {};
customization_menu.buildup_bar_relative_types = {};
customization_menu.damage_meter_UI_highlighted_bar_types = {};
customization_menu.damage_meter_UI_highlighted_entity_types = {};
customization_menu.damage_meter_UI_damage_bar_relative_types = {};
customization_menu.damage_meter_UI_my_damage_bar_location_types = {};
customization_menu.damage_meter_UI_total_damage_location_types = {};
@@ -151,7 +180,7 @@ function customization_menu.init()
customization_menu.displayed_buildup_bar_relative_types = {language.current_language.customization_menu.total_buildup,
language.current_language.customization_menu.top_buildup};
customization_menu.displayed_damage_meter_UI_highlighted_bar_types =
customization_menu.displayed_damage_meter_UI_highlighted_entity_types =
{language.current_language.customization_menu.top_damage,
language.current_language.customization_menu.top_dps, language.current_language.customization_menu.none};
@@ -219,7 +248,7 @@ function customization_menu.init()
customization_menu.buildup_bar_relative_types = {language.default_language.customization_menu.total_buildup,
language.default_language.customization_menu.top_buildup};
customization_menu.damage_meter_UI_highlighted_bar_types = {language.default_language.customization_menu.top_damage,
customization_menu.damage_meter_UI_highlighted_entity_types = {language.default_language.customization_menu.top_damage,
language.default_language.customization_menu.top_dps,
language.default_language.customization_menu.none};
customization_menu.damage_meter_UI_damage_bar_relative_types =
@@ -1362,7 +1391,7 @@ function customization_menu.draw_large_monster_highlighted_UI()
local config_changed = false;
local index = 1;
if imgui.tree_node(language.current_language.customization_menu.highlighted) then
if imgui.tree_node(language.current_language.customization_menu.highlighted_targeted) then
local cached_config = config.current_config.large_monster_UI.highlighted;
changed, cached_config.enabled = imgui.checkbox(
@@ -1561,14 +1590,14 @@ function customization_menu.draw_damage_meter_UI()
end
changed, index = imgui.combo(
language.current_language.customization_menu.highlighted_bar,
table_helpers.find_index(customization_menu.damage_meter_UI_highlighted_bar_types, cached_config.settings.highlighted_bar),
customization_menu.displayed_damage_meter_UI_highlighted_bar_types);
language.current_language.customization_menu.highlighted,
table_helpers.find_index(customization_menu.damage_meter_UI_highlighted_entity_types, cached_config.settings.highlighted_bar),
customization_menu.displayed_damage_meter_UI_highlighted_entity_types);
config_changed = config_changed or changed;
if changed then
cached_config.settings.highlighted_bar = customization_menu.damage_meter_UI_highlighted_bar_types[index];
cached_config.settings.highlighted_bar = customization_menu.damage_meter_UI_highlighted_entity_types[index];
end
changed, index = imgui.combo(

View File

@@ -1,8 +1,38 @@
local drawing = {};
local config;
local table_helpers;
local unicode_helpers;
local sdk = sdk;
local tostring = tostring;
local pairs = pairs;
local ipairs = ipairs;
local tonumber = tonumber;
local require = require;
local pcall = pcall;
local table = table;
local string = string;
local Vector3f = Vector3f;
local d2d = d2d;
local math = math;
local json = json;
local log = log;
local fs = fs;
local next = next;
local type = type;
local setmetatable = setmetatable;
local getmetatable = getmetatable;
local assert = assert;
local select = select;
local coroutine = coroutine;
local utf8 = utf8;
local re = re;
local imgui = imgui;
local draw = draw;
local Vector2f = Vector2f;
local reframework = reframework;
drawing.font = nil;
function drawing.init_font()

View File

@@ -137,10 +137,11 @@
"hide_undamaged_parts": "Hide Undamaged Parts",
"highest_health": "Highest Health",
"highest_health_percentage": "Highest Health Percentage",
"highlighted": "Highlighted (targeted)",
"highlighted": "Highlighted",
"highlighted_bar": "Highlighted Bar",
"highlighted_buildup_bar": "Highlighted Buildup Bar",
"highlighted_damage_bar": "Highlighted Damage Bar",
"highlighted_targeted": "Highlighted (targeted)",
"horizontal": "Horizontal",
"hotkeys": "Hotkeys",
"hunter_rank": "Hunter Rank",

View File

@@ -137,10 +137,11 @@
"hide_undamaged_parts": "攻撃していない部位の表示を隠す",
"highest_health": "Highest Health",
"highest_health_percentage": "Highest Health Percentage",
"highlighted": "詳細表示 (ターゲット)",
"highlighted": "詳細表示",
"highlighted_bar": "ハイライトされたバー",
"highlighted_buildup_bar": "ハイライトされた蓄積値バー",
"highlighted_damage_bar": "ハイライトされたダメージバー",
"highlighted_targeted": "詳細表示 (ターゲット)",
"horizontal": "水平",
"hotkeys": "ホットキー",
"hunter_rank": "ハンターランク",

View File

@@ -137,10 +137,11 @@
"hide_undamaged_parts": "피해를 입히지 않은 부위 숨김",
"highest_health": "가장 체력이 높은",
"highest_health_percentage": "가장 체력 비율이 높은",
"highlighted": "타겟이 된 몬스터 표시",
"highlighted": "Highlighted",
"highlighted_bar": "타겟이 된 몬스터 바",
"highlighted_buildup_bar": "타겟이 된 몬스터 누적치 바",
"highlighted_damage_bar": "타겟이 된 몬스터 대미지 바",
"highlighted_targeted": "타겟이 된 몬스터 표시",
"horizontal": "가로",
"hotkeys": "단축키",
"hunter_rank": "헌터 랭크",

View File

@@ -141,6 +141,7 @@
"highlighted_bar": "Помеченная шкала",
"highlighted_buildup_bar": "Помеченная шкала накопления",
"highlighted_damage_bar": "Помеченная шкала урона",
"highlighted_targeted": "Помеченный",
"horizontal": "Горизонтально",
"hotkeys": "Горячие клавиши",
"hunter_rank": "Ранг охотника",

View File

@@ -137,10 +137,11 @@
"hide_undamaged_parts": "隐藏没有受到伤害的部位",
"highest_health": "Highest Health",
"highest_health_percentage": "Highest Health Percentage",
"highlighted": "高亮(目标)",
"highlighted": "高亮",
"highlighted_bar": "高亮条",
"highlighted_buildup_bar": "高亮积累值条",
"highlighted_damage_bar": "高亮伤害条",
"highlighted_targeted": "高亮(目标)",
"horizontal": "水平",
"hotkeys": "热键",
"hunter_rank": "猎人等級",

View File

@@ -137,10 +137,11 @@
"hide_undamaged_parts": "隱藏沒受到傷害的部位",
"highest_health": "最高血量",
"highest_health_percentage": "最高血量百分比",
"highlighted": "鎖定的魔物資訊(目標)",
"highlighted": "鎖定的魔物資訊",
"highlighted_bar": "重點條",
"highlighted_buildup_bar": "重點累積條",
"highlighted_damage_bar": "重點傷害條",
"highlighted_targeted": "鎖定的魔物資訊(目標)",
"horizontal": "水平",
"hotkeys": "快捷鍵",
"hunter_rank": "獵人等級",