mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-24 04:18:11 -08:00
Add Stats UI
This commit is contained in:
@@ -42,6 +42,8 @@ local language = require("MHR_Overlay.Misc.language");
|
||||
local part_names = require("MHR_Overlay.Misc.part_names");
|
||||
local utils = require("MHR_Overlay.Misc.utils");
|
||||
|
||||
local player_info = require("MHR_Overlay.Misc.player_info");
|
||||
|
||||
local buffs = require("MHR_Overlay.Buffs.buffs");
|
||||
local consumables = require("MHR_Overlay.Buffs.consumables");
|
||||
local melody_effects = require("MHR_Overlay.Buffs.melody_effects");
|
||||
@@ -71,6 +73,7 @@ local small_monster_UI = require("MHR_Overlay.UI.Modules.small_monster_UI");
|
||||
local time_UI = require("MHR_Overlay.UI.Modules.time_UI");
|
||||
local env_creature_UI = require("MHR_Overlay.UI.Modules.env_creature_UI");
|
||||
local buff_UI = require("MHR_Overlay.UI.Modules.buff_UI");
|
||||
local stats_UI = require("MHR_Overlay.UI.Modules.stats_UI");
|
||||
|
||||
local body_part_UI_entity = require("MHR_Overlay.UI.UI_Entities.body_part_UI_entity");
|
||||
local damage_UI_entity = require("MHR_Overlay.UI.UI_Entities.damage_UI_entity");
|
||||
@@ -119,6 +122,8 @@ ailment_buildup_UI_entity.init_dependencies();
|
||||
body_part_UI_entity.init_dependencies();
|
||||
buff_UI_entity.init_dependencies();
|
||||
|
||||
player_info.init_dependencies();
|
||||
|
||||
buffs.init_dependencies();
|
||||
consumables.init_dependencies();
|
||||
melody_effects.init_dependencies();
|
||||
@@ -167,6 +172,7 @@ small_monster_UI.init_dependencies();
|
||||
time_UI.init_dependencies();
|
||||
env_creature_UI.init_dependencies();
|
||||
buff_UI.init_dependencies();
|
||||
stats_UI.init_dependencies();
|
||||
|
||||
keyboard.init_dependencies();
|
||||
|
||||
@@ -191,6 +197,8 @@ ailment_buildup_UI_entity.init_module();
|
||||
body_part_UI_entity.init_module();
|
||||
buff_UI_entity.init_module();
|
||||
|
||||
player_info.init_module();
|
||||
|
||||
buffs.init_module();
|
||||
consumables.init_module();
|
||||
melody_effects.init_module();
|
||||
@@ -239,6 +247,7 @@ small_monster_UI.init_module();
|
||||
time_UI.init_module();
|
||||
env_creature_UI.init_module();
|
||||
buff_UI.init_module();
|
||||
stats_UI.init_module();
|
||||
|
||||
keyboard.init_module();
|
||||
|
||||
@@ -333,6 +342,13 @@ local function draw_modules(module_visibility_config, flow_state_name)
|
||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Buff UI Draw Function threw an Exception", flow_state_name));
|
||||
end
|
||||
end
|
||||
|
||||
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
||||
local success = pcall(stats_UI.draw);
|
||||
if not success then
|
||||
error_handler.report("MHR_Overlay.draw_modules", string.format("[%s] Stats UI Draw Function threw an Exception", flow_state_name));
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function update_UI()
|
||||
@@ -390,7 +406,17 @@ local function update_UI()
|
||||
end
|
||||
|
||||
local function draw_loop()
|
||||
if quest_status.flow_state == quest_status.flow_states.IN_TRAINING_AREA then
|
||||
if quest_status.flow_state == quest_status.flow_states.IN_LOBBY then
|
||||
local module_visibility_config = config.current_config.global_settings.module_visibility.in_lobby;
|
||||
|
||||
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
||||
local success = pcall(stats_UI.draw);
|
||||
if not success then
|
||||
error_handler.report("MHR_Overlay.main_loop", "[In Training Area] Stats UI Draw Function threw an Exception");
|
||||
end
|
||||
end
|
||||
|
||||
elseif quest_status.flow_state == quest_status.flow_states.IN_TRAINING_AREA then
|
||||
|
||||
local large_monster_UI_config = config.current_config.large_monster_UI;
|
||||
local module_visibility_config = config.current_config.global_settings.module_visibility.in_training_area;
|
||||
@@ -427,6 +453,13 @@ local function draw_loop()
|
||||
end
|
||||
end
|
||||
|
||||
if config.current_config.stats_UI.enabled and module_visibility_config.stats_UI then
|
||||
local success = pcall(stats_UI.draw);
|
||||
if not success then
|
||||
error_handler.report("MHR_Overlay.main_loop", "[In Training Area] Stats UI Draw Function threw an Exception");
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
elseif quest_status.flow_state == quest_status.flow_states.CUTSCENE then
|
||||
draw_modules(config.current_config.global_settings.module_visibility.cutscene, "Cutscene");
|
||||
|
||||
@@ -84,13 +84,18 @@ function this.init_default()
|
||||
},
|
||||
|
||||
module_visibility = {
|
||||
in_lobby = {
|
||||
stats_UI = true
|
||||
},
|
||||
|
||||
in_training_area = {
|
||||
large_monster_dynamic_UI = true,
|
||||
large_monster_static_UI = true,
|
||||
large_monster_highlighted_UI = true,
|
||||
damage_meter_UI = true,
|
||||
endemic_life_UI = true,
|
||||
buff_UI = true
|
||||
buff_UI = true,
|
||||
stats_UI = true
|
||||
},
|
||||
|
||||
cutscene = {
|
||||
@@ -101,7 +106,8 @@ function this.init_default()
|
||||
time_UI = false,
|
||||
damage_meter_UI = false,
|
||||
endemic_life_UI = false,
|
||||
buff_UI = false
|
||||
buff_UI = false,
|
||||
stats_UI = false
|
||||
},
|
||||
|
||||
loading_quest = {
|
||||
@@ -112,7 +118,8 @@ function this.init_default()
|
||||
time_UI = false,
|
||||
damage_meter_UI = false,
|
||||
endemic_life_UI = false,
|
||||
buff_UI = false
|
||||
buff_UI = false,
|
||||
stats_UI = false
|
||||
},
|
||||
|
||||
quest_start_animation = {
|
||||
@@ -123,7 +130,8 @@ function this.init_default()
|
||||
time_UI = true,
|
||||
damage_meter_UI = true,
|
||||
endemic_life_UI = true,
|
||||
buff_UI = true
|
||||
buff_UI = true,
|
||||
stats_UI = true
|
||||
},
|
||||
|
||||
playing_quest = {
|
||||
@@ -134,7 +142,8 @@ function this.init_default()
|
||||
time_UI = true,
|
||||
damage_meter_UI = true,
|
||||
endemic_life_UI = true,
|
||||
buff_UI = true
|
||||
buff_UI = true,
|
||||
stats_UI = true
|
||||
},
|
||||
|
||||
killcam = {
|
||||
@@ -145,7 +154,8 @@ function this.init_default()
|
||||
time_UI = true,
|
||||
damage_meter_UI = true,
|
||||
endemic_life_UI = true,
|
||||
buff_UI = true
|
||||
buff_UI = true,
|
||||
stats_UI = true
|
||||
},
|
||||
|
||||
quest_end_timer = {
|
||||
@@ -156,7 +166,8 @@ function this.init_default()
|
||||
time_UI = true,
|
||||
damage_meter_UI = true,
|
||||
endemic_life_UI = true,
|
||||
buff_UI = true
|
||||
buff_UI = true,
|
||||
stats_UI = true
|
||||
},
|
||||
|
||||
quest_end_animation = {
|
||||
@@ -167,7 +178,8 @@ function this.init_default()
|
||||
time_UI = false,
|
||||
damage_meter_UI = false,
|
||||
endemic_life_UI = false,
|
||||
buff_UI = false
|
||||
buff_UI = false,
|
||||
stats_UI = false
|
||||
},
|
||||
|
||||
quest_end_screen = {
|
||||
@@ -178,7 +190,9 @@ function this.init_default()
|
||||
time_UI = false,
|
||||
damage_meter_UI = false,
|
||||
endemic_life_UI = false,
|
||||
buff_UI = false
|
||||
buff_UI = false,
|
||||
stats_UI = false
|
||||
|
||||
},
|
||||
|
||||
reward_screen = {
|
||||
@@ -189,7 +203,8 @@ function this.init_default()
|
||||
time_UI = true,
|
||||
damage_meter_UI = true,
|
||||
endemic_life_UI = false,
|
||||
buff_UI = false
|
||||
buff_UI = false,
|
||||
stats_UI = false
|
||||
},
|
||||
|
||||
summary_screen = {
|
||||
@@ -200,7 +215,8 @@ function this.init_default()
|
||||
time_UI = true,
|
||||
damage_meter_UI = true,
|
||||
endemic_life_UI = false,
|
||||
buff_UI = false
|
||||
buff_UI = false,
|
||||
stats_UI = false
|
||||
},
|
||||
},
|
||||
|
||||
@@ -6124,6 +6140,7 @@ function this.init_default()
|
||||
x = 205,
|
||||
y = 0
|
||||
},
|
||||
|
||||
color = 0xFFF59FC4,
|
||||
|
||||
shadow = {
|
||||
@@ -7576,6 +7593,381 @@ function this.init_default()
|
||||
}
|
||||
},
|
||||
|
||||
stats_UI = {
|
||||
enabled = false,
|
||||
|
||||
position = {
|
||||
x = 0,
|
||||
y = 0,
|
||||
-- Possible values: "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right"
|
||||
anchor = "Bottom-Right"
|
||||
},
|
||||
|
||||
attack_label = {
|
||||
visibility = true,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 11
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -353,
|
||||
y = -17
|
||||
},
|
||||
|
||||
color = 0xFFF27979,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
affinity_label = {
|
||||
visibility = true,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 14
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -242,
|
||||
y = -17
|
||||
},
|
||||
|
||||
color = 0xFFF27979,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
defense_label = {
|
||||
visibility = true,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 13
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -103,
|
||||
y = -17
|
||||
},
|
||||
|
||||
color = 0xFFBFF7FF,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
fire_resistance_label = {
|
||||
visibility = false,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 13
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -625,
|
||||
y = -53
|
||||
},
|
||||
|
||||
color = 0xFFF27979,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
water_resistance_label = {
|
||||
visibility = false,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 14
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -507,
|
||||
y = -53
|
||||
},
|
||||
|
||||
color = 0xFF7AB8F8,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
thunder_resistance_label = {
|
||||
visibility = false,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 16
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -382,
|
||||
y = -53
|
||||
},
|
||||
|
||||
color = 0xFFFEFF88,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
ice_resistance_label = {
|
||||
visibility = false,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 12
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -228,
|
||||
y = -53
|
||||
},
|
||||
|
||||
color = 0xFFBFF7FF,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
dragon_resistance_label = {
|
||||
visibility = false,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 15
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -117,
|
||||
y = -53
|
||||
},
|
||||
|
||||
color = 0xFFB999FF,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
stamina_label = {
|
||||
visibility = false,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 16
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true,
|
||||
max_value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -382,
|
||||
y = -35
|
||||
},
|
||||
|
||||
color = 0xFFFEFF88,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
element_label = {
|
||||
visibility = false,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 14
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -110,
|
||||
y = -35
|
||||
},
|
||||
|
||||
color = 0xFFF59FC4,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
element_2_label = {
|
||||
visibility = false,
|
||||
|
||||
settings = {
|
||||
right_alignment_shift = 14
|
||||
},
|
||||
|
||||
text_formatting = "%s",
|
||||
|
||||
include = {
|
||||
name = true,
|
||||
value = true
|
||||
},
|
||||
|
||||
offset = {
|
||||
x = -242,
|
||||
y = -35
|
||||
},
|
||||
|
||||
color = 0xFFF59FC4,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
debug = {
|
||||
history_size = 64
|
||||
},
|
||||
|
||||
@@ -665,7 +665,42 @@ this.default_language = {
|
||||
current_time = "Current Time",
|
||||
everything_seems_to_be_ok = "Everything seems to be OK!",
|
||||
history = "History",
|
||||
history_size = "History Size"
|
||||
history_size = "History Size",
|
||||
|
||||
value = "Value",
|
||||
|
||||
stats_UI = "Stats UI",
|
||||
attack_label = "Attack Label",
|
||||
defense_label = "Defense Label",
|
||||
affinity_label = "Affinity Label",
|
||||
fire_resistance_label = "Fire Resistance Label",
|
||||
water_resistance_label = "Water Resistance Label",
|
||||
thunder_resistance_label = "Thunder Resistance Label",
|
||||
ice_resistance_label = "Ice Resistance Label",
|
||||
dragon_resistance_label = "Dragon Resistance Label",
|
||||
stamina_label = "Stamina Label",
|
||||
element_label = "Element Label",
|
||||
element_2_label = "Element 2 Label"
|
||||
},
|
||||
|
||||
stats = {
|
||||
attack = "Attack",
|
||||
defense = "Defense",
|
||||
affinity = "Affinity",
|
||||
|
||||
fire_resistance = "Fire Res";
|
||||
water_resistance = "Water Res";
|
||||
thunder_resistance = "Thunder Res";
|
||||
ice_resistance = "Ice Res";
|
||||
dragon_resistance = "Dragon Res";
|
||||
|
||||
stamina = "Stamina",
|
||||
|
||||
fire = "Fire",
|
||||
water = "Water",
|
||||
thunder = "Thunder",
|
||||
ice = "Ice",
|
||||
dragon = "Dragon",
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
251
reframework/autorun/MHR_Overlay/Misc/player_info.lua
Normal file
251
reframework/autorun/MHR_Overlay/Misc/player_info.lua
Normal file
@@ -0,0 +1,251 @@
|
||||
local this = {};
|
||||
|
||||
local drawing;
|
||||
local customization_menu;
|
||||
local singletons;
|
||||
local config;
|
||||
local utils;
|
||||
local error_handler;
|
||||
local quest_status;
|
||||
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 os = os;
|
||||
local ValueType = ValueType;
|
||||
local package = package;
|
||||
|
||||
this.list = {
|
||||
attack = 0;
|
||||
defense = 0;
|
||||
affinity = 0;
|
||||
|
||||
stamina = 0;
|
||||
max_stamina = 0;
|
||||
|
||||
element_type = 0;
|
||||
element_attack = 0;
|
||||
|
||||
element_type_2 = 0;
|
||||
element_attack_2 = 0;
|
||||
|
||||
fire_resistance = 0;
|
||||
water_resistance = 0;
|
||||
thunder_resistance = 0;
|
||||
ice_resistance = 0;
|
||||
dragon_resistance = 0;
|
||||
};
|
||||
|
||||
local player_manager_type_def = sdk.find_type_definition("snow.player.PlayerManager");
|
||||
local get_player_method = player_manager_type_def:get_method("getPlayer");
|
||||
local find_master_player_method = player_manager_type_def:get_method("findMasterPlayer");
|
||||
|
||||
local player_base_type_def = find_master_player_method:get_return_type();
|
||||
local get_player_data_method = player_base_type_def:get_method("get_PlayerData");
|
||||
|
||||
local player_data_type_def = get_player_data_method:get_return_type();
|
||||
|
||||
local attack_field = player_data_type_def:get_field("_Attack");
|
||||
local defence_field = player_data_type_def:get_field("_Defence");
|
||||
local critical_rate_field = player_data_type_def:get_field("_CriticalRate");
|
||||
|
||||
|
||||
local stamina_field = player_data_type_def:get_field("_stamina");
|
||||
local stamina_max_field = player_data_type_def:get_field("_staminaMax");
|
||||
|
||||
local element_type_field = player_data_type_def:get_field("_ElementType");
|
||||
local element_attack_field = player_data_type_def:get_field("_ElementAttack");
|
||||
|
||||
local element_type_2nd_field = player_data_type_def:get_field("_ElementType2nd");
|
||||
local element_attack_2nd_field = player_data_type_def:get_field("_ElementAttack2nd");
|
||||
|
||||
local resistance_element_field = player_data_type_def:get_field("_ResistanceElement");
|
||||
|
||||
local system_array_type_def = sdk.find_type_definition("System.Array");
|
||||
local length_method = system_array_type_def:get_method("get_Length");
|
||||
local get_value_method = system_array_type_def:get_method("GetValue(System.Int32)");
|
||||
|
||||
function this.update()
|
||||
if not config.current_config.stats_UI.enabled then
|
||||
return;
|
||||
end
|
||||
|
||||
if quest_status.flow_state == quest_status.flow_states.NONE then
|
||||
return;
|
||||
end
|
||||
|
||||
if singletons.player_manager == nil then
|
||||
error_handler.report("player_info.update", "Failed to access Data: player_manager");
|
||||
return;
|
||||
end
|
||||
|
||||
local master_player = find_master_player_method:call(singletons.player_manager);
|
||||
if master_player == nil then
|
||||
error_handler.report("player_info.update", "Failed to access Data: master_player");
|
||||
return;
|
||||
end
|
||||
|
||||
local master_player_data = get_player_data_method:call(master_player);
|
||||
if master_player_data == nil then
|
||||
error_handler.report("player_info.update", "Failed to access Data: master_player_data");
|
||||
end
|
||||
|
||||
this.update_generic("attack", master_player_data, attack_field);
|
||||
this.update_generic("affinity", master_player_data, critical_rate_field);
|
||||
this.update_generic("defense", master_player_data, defence_field);
|
||||
|
||||
this.update_generic("stamina", master_player_data, stamina_field);
|
||||
this.list.stamina = math.floor(this.list.stamina / 30);
|
||||
|
||||
this.update_generic("max_stamina", master_player_data, stamina_max_field);
|
||||
this.list.max_stamina = math.floor(this.list.max_stamina / 30);
|
||||
|
||||
this.update_generic("element_type", master_player_data, element_type_field);
|
||||
this.update_generic("element_attack", master_player_data, element_attack_field);
|
||||
|
||||
this.update_generic("element_type_2", master_player_data, element_type_2nd_field);
|
||||
this.update_generic("element_attack_2", master_player_data, element_attack_2nd_field);
|
||||
|
||||
this.update_resistances(master_player_data);
|
||||
end
|
||||
|
||||
function this.update_generic(key, player_data, field)
|
||||
local value = field:get_data(player_data);
|
||||
if value == nil then
|
||||
error_handler.report("player_info.update_generic", string.format("Failed to access Data: %s_value", key));
|
||||
return;
|
||||
end
|
||||
|
||||
this.list[key] = math.floor(value);
|
||||
end
|
||||
|
||||
function this.update_resistances(player_data)
|
||||
local resistance_element_array = resistance_element_field:get_data(player_data);
|
||||
if resistance_element_array == nil then
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: resistance_element_array");
|
||||
return;
|
||||
end
|
||||
|
||||
-- Fire Resistance
|
||||
local fire_resistance_valtype = get_value_method:call(resistance_element_array, 0);
|
||||
if fire_resistance_valtype == nil then
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: fire_resistance_valtype");
|
||||
return;
|
||||
end
|
||||
|
||||
local fire_resistance = fire_resistance_valtype:get_field("mValue");
|
||||
if fire_resistance ~= nil then
|
||||
this.list.fire_resistance = math.floor(fire_resistance);
|
||||
else
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: fire_resistance");
|
||||
return;
|
||||
end
|
||||
|
||||
-- Water Resistance
|
||||
local water_resistance_valtype = get_value_method:call(resistance_element_array, 1);
|
||||
if water_resistance_valtype == nil then
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: water_resistance_valtype");
|
||||
return;
|
||||
end
|
||||
|
||||
local water_resistance = water_resistance_valtype:get_field("mValue");
|
||||
if water_resistance ~= nil then
|
||||
this.list.water_resistance = math.floor(water_resistance);
|
||||
else
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: water_resistance");
|
||||
return;
|
||||
end
|
||||
|
||||
-- Thunder Resistance
|
||||
local thunder_resistance_valtype = get_value_method:call(resistance_element_array, 2);
|
||||
if thunder_resistance_valtype == nil then
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: thunder_resistance_valtype");
|
||||
return;
|
||||
end
|
||||
|
||||
local thunder_resistance = thunder_resistance_valtype:get_field("mValue");
|
||||
if thunder_resistance ~= nil then
|
||||
this.list.thunder_resistance = math.floor(thunder_resistance);
|
||||
else
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: thunder_resistance");
|
||||
return;
|
||||
end
|
||||
|
||||
-- Ice Resistance
|
||||
local ice_resistance_valtype = get_value_method:call(resistance_element_array, 3);
|
||||
if ice_resistance_valtype == nil then
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: ice_resistance_valtype");
|
||||
return;
|
||||
end
|
||||
|
||||
local ice_resistance = ice_resistance_valtype:get_field("mValue");
|
||||
if ice_resistance ~= nil then
|
||||
this.list.ice_resistance = math.floor(ice_resistance);
|
||||
else
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: ice_resistance");
|
||||
return;
|
||||
end
|
||||
|
||||
-- Dragon Resistance
|
||||
local dragon_resistance_valtype = get_value_method:call(resistance_element_array, 4);
|
||||
if dragon_resistance_valtype == nil then
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: dragon_resistance_valtype");
|
||||
return;
|
||||
end
|
||||
|
||||
local dragon_resistance = dragon_resistance_valtype:get_field("mValue");
|
||||
if dragon_resistance ~= nil then
|
||||
this.list.dragon_resistance = math.floor(dragon_resistance);
|
||||
else
|
||||
error_handler.report("player_info.update_resistances", "Failed to access Data: dragon_resistance");
|
||||
return;
|
||||
end
|
||||
end
|
||||
|
||||
function this.init_dependencies()
|
||||
singletons = require("MHR_Overlay.Game_Handler.singletons");
|
||||
customization_menu = require("MHR_Overlay.UI.customization_menu");
|
||||
config = require("MHR_Overlay.Misc.config");
|
||||
utils = require("MHR_Overlay.Misc.utils");
|
||||
--health_UI_entity = require("MHR_Overlay.UI.UI_Entities.health_UI_entity");
|
||||
--stamina_UI_entity = require("MHR_Overlay.UI.UI_Entities.stamina_UI_entity");
|
||||
--screen = require("MHR_Overlay.Game_Handler.screen");
|
||||
drawing = require("MHR_Overlay.UI.drawing");
|
||||
--ailments = require("MHR_Overlay.Monsters.ailments");
|
||||
--ailment_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_UI_entity");
|
||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||
quest_status = require("MHR_Overlay.Game_Handler.quest_status");
|
||||
time = require("MHR_Overlay.Game_Handler.time");
|
||||
end
|
||||
|
||||
function this.init_module()
|
||||
time.new_timer(this.update, 0.5);
|
||||
end
|
||||
|
||||
return this;
|
||||
@@ -97,6 +97,10 @@ function this.draw(cached_config)
|
||||
language.current_language.customization_menu.buff_UI,
|
||||
cached_config.buff_UI);
|
||||
|
||||
changed, cached_config.stats_UI = imgui.checkbox(
|
||||
language.current_language.customization_menu.stats_UI,
|
||||
cached_config.stats_UI);
|
||||
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
return config_changed;
|
||||
|
||||
266
reframework/autorun/MHR_Overlay/UI/Modules/stats_UI.lua
Normal file
266
reframework/autorun/MHR_Overlay/UI/Modules/stats_UI.lua
Normal file
@@ -0,0 +1,266 @@
|
||||
local this = {};
|
||||
|
||||
local buff_UI_entity;
|
||||
local config;
|
||||
local buffs;
|
||||
local consumables;
|
||||
local melody_effects;
|
||||
local endemic_life_buff;
|
||||
local screen;
|
||||
local utils;
|
||||
local error_handler;
|
||||
local skills;
|
||||
local dangos;
|
||||
local abnormal_statuses;
|
||||
local drawing;
|
||||
local player_info;
|
||||
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;
|
||||
local os = os;
|
||||
local ValueType = ValueType;
|
||||
local package = package;
|
||||
|
||||
this.label_list = {
|
||||
attack = nil,
|
||||
|
||||
defense = nil,
|
||||
fire_resistance = nil,
|
||||
water_resistance = nil,
|
||||
thunder_resistance = nil,
|
||||
ice_resistance = nil,
|
||||
dragon_resistance = nil
|
||||
};
|
||||
|
||||
this.affinity_label = nil;
|
||||
this.stamina_label = nil;
|
||||
this.element_label = nil;
|
||||
this.element_2_label = nil;
|
||||
|
||||
function this.draw()
|
||||
local cached_config = config.current_config.stats_UI;
|
||||
|
||||
if not cached_config.enabled then
|
||||
return;
|
||||
end
|
||||
|
||||
local cached_names = language.current_language.stats;
|
||||
|
||||
local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
local position_on_screen = screen.calculate_absolute_coordinates(cached_config.position);
|
||||
|
||||
-- draw
|
||||
for label_key, label in pairs(this.label_list) do
|
||||
local name_text = "";
|
||||
if label.include.name then
|
||||
name_text = string.format("%s: ", cached_names[label_key]);
|
||||
end
|
||||
|
||||
if label.include.value then
|
||||
name_text = string.format("%s%s", name_text, tostring(player_info.list[label_key]));
|
||||
end
|
||||
|
||||
drawing.draw_label(label, position_on_screen, 1, name_text);
|
||||
|
||||
::continue::
|
||||
end
|
||||
|
||||
-- Affinity Label
|
||||
local affinity_name_text = "";
|
||||
if this.affinity_label.include.name then
|
||||
affinity_name_text = string.format("%s: ", cached_names.affinity);
|
||||
end
|
||||
|
||||
if this.affinity_label.include.value then
|
||||
affinity_name_text = string.format("%s%s%%", affinity_name_text, tostring(player_info.list.affinity));
|
||||
end
|
||||
|
||||
drawing.draw_label(this.affinity_label, position_on_screen, 1, affinity_name_text);
|
||||
|
||||
-- Stamina Label
|
||||
local stamina_name_text = "";
|
||||
if this.stamina_label.include.name then
|
||||
stamina_name_text = string.format("%s: ", cached_names.stamina);
|
||||
end
|
||||
|
||||
if this.stamina_label.include.value and not this.stamina_label.include.max_value then
|
||||
stamina_name_text = string.format("%s%s", stamina_name_text, tostring(player_info.list.stamina));
|
||||
|
||||
elseif not this.stamina_label.include.value and this.stamina_label.include.max_value then
|
||||
stamina_name_text = string.format("%s%s", stamina_name_text, tostring(player_info.list.max_stamina));
|
||||
|
||||
elseif this.stamina_label.include.value and this.stamina_label.include.max_value then
|
||||
stamina_name_text = string.format("%s%s/%s", stamina_name_text, tostring(player_info.list.stamina), tostring(player_info.list.max_stamina));
|
||||
end
|
||||
|
||||
drawing.draw_label(this.stamina_label, position_on_screen, 1, stamina_name_text);
|
||||
|
||||
-- Element Label
|
||||
if player_info.list.element_type ~= 0 then
|
||||
|
||||
local element_name_text = "";
|
||||
if this.element_label.include.name then
|
||||
|
||||
local ailment_names = language.current_language.ailments;
|
||||
|
||||
if player_info.list.element_type == 1 then
|
||||
element_name_text = string.format("%s: ", cached_names.fire);
|
||||
elseif player_info.list.element_type == 2 then
|
||||
element_name_text = string.format("%s: ", cached_names.water);
|
||||
elseif player_info.list.element_type == 3 then
|
||||
element_name_text = string.format("%s: ", cached_names.thunder);
|
||||
elseif player_info.list.element_type == 4 then
|
||||
element_name_text = string.format("%s: ", cached_names.ice);
|
||||
elseif player_info.list.element_type == 5 then
|
||||
element_name_text = string.format("%s: ", cached_names.dragon);
|
||||
elseif player_info.list.element_type == 6 then
|
||||
element_name_text = string.format("%s: ", ailment_names.poison);
|
||||
elseif player_info.list.element_type == 7 then
|
||||
element_name_text = string.format("%s: ", ailment_names.sleep);
|
||||
elseif player_info.list.element_type == 8 then
|
||||
element_name_text = string.format("%s: ", ailment_names.paralysis);
|
||||
elseif player_info.list.element_type == 9 then
|
||||
element_name_text = string.format("%s: ", ailment_names.blast);
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if this.element_label.include.value then
|
||||
element_name_text = string.format("%s%s", element_name_text, tostring(player_info.list.element_attack));
|
||||
end
|
||||
|
||||
drawing.draw_label(this.element_label, position_on_screen, 1, element_name_text);
|
||||
end
|
||||
|
||||
|
||||
-- Element 2 Label
|
||||
if player_info.list.element_type_2 ~= 0 then
|
||||
|
||||
local element_2_name_text = "";
|
||||
if this.element_2_label.include.name then
|
||||
|
||||
local ailment_names = language.current_language.ailments;
|
||||
|
||||
if player_info.list.element_type_2 == 1 then
|
||||
element_2_name_text = string.format("%s: ", cached_names.fire);
|
||||
elseif player_info.list.element_type_2 == 2 then
|
||||
element_2_name_text = string.format("%s: ", cached_names.water);
|
||||
elseif player_info.list.element_type_2 == 3 then
|
||||
element_2_name_text = string.format("%s: ", cached_names.thunder);
|
||||
elseif player_info.list.element_type_2 == 4 then
|
||||
element_2_name_text = string.format("%s: ", cached_names.ice);
|
||||
elseif player_info.list.element_type_2 == 5 then
|
||||
element_2_name_text = string.format("%s: ", cached_names.dragon);
|
||||
elseif player_info.list.element_type_2 == 6 then
|
||||
element_2_name_text = string.format("%s: ", ailment_names.poison);
|
||||
elseif player_info.list.element_type_2 == 7 then
|
||||
element_2_name_text = string.format("%s: ", ailment_names.sleep);
|
||||
elseif player_info.list.element_type_2 == 8 then
|
||||
element_2_name_text = string.format("%s: ", ailment_names.paralysis);
|
||||
elseif player_info.list.element_type_2 == 9 then
|
||||
element_2_name_text = string.format("%s: ", ailment_names.blast);
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if this.element_2_label.include.value then
|
||||
element_2_name_text = string.format("%s%s", element_2_name_text, tostring(player_info.list.element_attack_2));
|
||||
end
|
||||
|
||||
drawing.draw_label(this.element_2_label, position_on_screen, 1, element_2_name_text);
|
||||
end
|
||||
end
|
||||
|
||||
function this.init_UI()
|
||||
this.label_list.attack = utils.table.deep_copy(config.current_config.stats_UI.attack_label);
|
||||
this.label_list.defense = utils.table.deep_copy(config.current_config.stats_UI.defense_label);
|
||||
|
||||
this.label_list.fire_resistance = utils.table.deep_copy(config.current_config.stats_UI.fire_resistance_label);
|
||||
this.label_list.water_resistance = utils.table.deep_copy(config.current_config.stats_UI.water_resistance_label);
|
||||
this.label_list.thunder_resistance = utils.table.deep_copy(config.current_config.stats_UI.thunder_resistance_label);
|
||||
this.label_list.ice_resistance = utils.table.deep_copy(config.current_config.stats_UI.ice_resistance_label);
|
||||
this.label_list.dragon_resistance = utils.table.deep_copy(config.current_config.stats_UI.dragon_resistance_label);
|
||||
|
||||
this.affinity_label = utils.table.deep_copy(config.current_config.stats_UI.affinity_label);
|
||||
this.stamina_label = utils.table.deep_copy(config.current_config.stats_UI.stamina_label);
|
||||
this.element_label = utils.table.deep_copy(config.current_config.stats_UI.element_label);
|
||||
this.element_2_label = utils.table.deep_copy(config.current_config.stats_UI.element_2_label);
|
||||
|
||||
local global_scale_modifier = config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
for label_key, label in pairs(this.label_list) do
|
||||
label.offset.x = label.offset.x * global_scale_modifier;
|
||||
label.offset.y = label.offset.y * global_scale_modifier;
|
||||
end
|
||||
|
||||
this.affinity_label.offset.x = this.affinity_label.offset.x * global_scale_modifier;
|
||||
this.affinity_label.offset.y = this.affinity_label.offset.y * global_scale_modifier;
|
||||
|
||||
this.stamina_label.offset.x = this.stamina_label.offset.x * global_scale_modifier;
|
||||
this.stamina_label.offset.y = this.stamina_label.offset.y * global_scale_modifier;
|
||||
|
||||
this.element_label.offset.x = this.element_label.offset.x * global_scale_modifier;
|
||||
this.element_label.offset.y = this.element_label.offset.y * global_scale_modifier;
|
||||
|
||||
this.element_2_label.offset.x = this.element_2_label.offset.x * global_scale_modifier;
|
||||
this.element_2_label.offset.y = this.element_2_label.offset.y * global_scale_modifier;
|
||||
end
|
||||
|
||||
function this.init_dependencies()
|
||||
config = require("MHR_Overlay.Misc.config");
|
||||
buff_UI_entity = require("MHR_Overlay.UI.UI_Entities.buff_UI_entity");
|
||||
consumables = require("MHR_Overlay.Buffs.consumables");
|
||||
melody_effects = require("MHR_Overlay.Buffs.melody_effects");
|
||||
buffs = require("MHR_Overlay.Buffs.buffs");
|
||||
--singletons = require("MHR_Overlay.Game_Handler.singletons");
|
||||
config = require("MHR_Overlay.Misc.config");
|
||||
--customization_menu = require("MHR_Overlay.UI.customization_menu");
|
||||
--players = require("MHR_Overlay.Damage_Meter.players");
|
||||
--non_players = require("MHR_Overlay.Damage_Meter.non_players");
|
||||
--quest_status = require("MHR_Overlay.Game_Handler.quest_status");
|
||||
screen = require("MHR_Overlay.Game_Handler.screen");
|
||||
--drawing = require("MHR_Overlay.UI.drawing");
|
||||
utils = require("MHR_Overlay.Misc.utils");
|
||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||
endemic_life_buff = require("MHR_Overlay.Buffs.endemic_life_buffs");
|
||||
skills = require("MHR_Overlay.Buffs.skills");
|
||||
dangos = require("MHR_Overlay.Buffs.dangos");
|
||||
abnormal_statuses = require("MHR_Overlay.Buffs.abnormal_statuses");
|
||||
drawing = require("MHR_Overlay.UI.drawing");
|
||||
player_info = require("MHR_Overlay.Misc.player_info");
|
||||
language = require("MHR_Overlay.Misc.language");
|
||||
end
|
||||
|
||||
function this.init_module()
|
||||
this.init_UI();
|
||||
end
|
||||
|
||||
return this;
|
||||
@@ -16,6 +16,7 @@ local quest_status;
|
||||
local buffs;
|
||||
local error_handler;
|
||||
local time;
|
||||
local stats_UI;
|
||||
|
||||
local label_customization;
|
||||
local bar_customization;
|
||||
@@ -365,6 +366,7 @@ function this.draw()
|
||||
local damage_meter_UI_changed = false;
|
||||
local endemic_life_UI_changed = false;
|
||||
local buff_UI_changed = false;
|
||||
local stats_UI_changed = false;
|
||||
local debug_changed = false;
|
||||
local apply_font_requested = false;
|
||||
|
||||
@@ -404,6 +406,7 @@ function this.draw()
|
||||
damage_meter_UI_changed = this.draw_damage_meter_UI();
|
||||
endemic_life_UI_changed = this.draw_endemic_life_UI()
|
||||
buff_UI_changed = this.draw_buff_UI();
|
||||
stats_UI_changed = this.draw_stats_UI()
|
||||
|
||||
imgui.new_line();
|
||||
debug_changed = this.draw_debug();
|
||||
@@ -471,6 +474,11 @@ function this.draw()
|
||||
end
|
||||
end
|
||||
|
||||
if stats_UI_changed or modifiers_changed or config_changed then
|
||||
stats_UI.init_UI();
|
||||
end
|
||||
|
||||
|
||||
if this.menu_font_changed and (apply_font_requested or config_changed) then
|
||||
this.menu_font_changed = false;
|
||||
this.reload_font();
|
||||
@@ -478,7 +486,7 @@ function this.draw()
|
||||
|
||||
if window_changed or modules_changed or global_settings_changed or small_monster_UI_changed or large_monster_dynamic_UI_changed or
|
||||
large_monster_static_UI_changed or large_monster_highlighted_UI_changed or time_UI_changed or damage_meter_UI_changed or
|
||||
endemic_life_UI_changed or buff_UI_changed or modifiers_changed or config_changed or debug_changed then
|
||||
endemic_life_UI_changed or buff_UI_changed or stats_UI_changed or modifiers_changed or config_changed or debug_changed then
|
||||
config.save_current();
|
||||
end
|
||||
|
||||
@@ -1002,6 +1010,17 @@ function this.draw_global_settings(apply_font_requested, language_changed)
|
||||
|
||||
if imgui.tree_node(language.current_language.customization_menu.module_visibility_based_on_game_state) then
|
||||
|
||||
if imgui.tree_node(language.current_language.customization_menu.in_lobby) then
|
||||
|
||||
changed, cached_config.module_visibility.in_lobby.stats_UI = imgui.checkbox(
|
||||
language.current_language.customization_menu.stats_UI,
|
||||
cached_config.module_visibility.in_lobby.stats_UI);
|
||||
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
if imgui.tree_node(language.current_language.customization_menu.in_training_area) then
|
||||
|
||||
changed, cached_config.module_visibility.in_training_area.large_monster_dynamic_UI = imgui.checkbox(
|
||||
@@ -1040,6 +1059,12 @@ function this.draw_global_settings(apply_font_requested, language_changed)
|
||||
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, cached_config.module_visibility.in_training_area.stats_UI = imgui.checkbox(
|
||||
language.current_language.customization_menu.stats_UI,
|
||||
cached_config.module_visibility.in_training_area.stats_UI);
|
||||
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
@@ -2296,6 +2321,83 @@ function this.draw_buff_UI()
|
||||
return config_changed;
|
||||
end
|
||||
|
||||
function this.draw_stats_UI()
|
||||
local changed = false;
|
||||
local config_changed = false;
|
||||
local index = 0;
|
||||
|
||||
if imgui.tree_node(language.current_language.customization_menu.stats_UI) then
|
||||
local cached_config = config.current_config.stats_UI;
|
||||
|
||||
changed, cached_config.enabled = imgui.checkbox(
|
||||
language.current_language.customization_menu.enabled, cached_config.enabled);
|
||||
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
if imgui.tree_node(language.current_language.customization_menu.position) then
|
||||
changed, cached_config.position.x = imgui.drag_float(
|
||||
language.current_language.customization_menu.x, cached_config.position.x, 0.1, 0, screen.width, "%.1f");
|
||||
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, cached_config.position.y = imgui.drag_float(
|
||||
language.current_language.customization_menu.y, cached_config.position.y, 0.1, 0, screen.height, "%.1f");
|
||||
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed, index = imgui.combo(
|
||||
language.current_language.customization_menu.anchor,
|
||||
utils.table.find_index(this.anchor_types, cached_config.position.anchor),
|
||||
this.displayed_anchor_types);
|
||||
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
if changed then
|
||||
cached_config.position.anchor = this.anchor_types[index];
|
||||
end
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.attack_label, cached_config.attack_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.affinity_label, cached_config.affinity_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.defense_label, cached_config.defense_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.fire_resistance_label, cached_config.fire_resistance_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.water_resistance_label, cached_config.water_resistance_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.thunder_resistance_label, cached_config.thunder_resistance_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.ice_resistance_label, cached_config.ice_resistance_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.dragon_resistance_label, cached_config.dragon_resistance_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.stamina_label, cached_config.stamina_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.element_label, cached_config.element_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
changed = label_customization.draw(language.current_language.customization_menu.element_2_label, cached_config.element_2_label);
|
||||
config_changed = config_changed or changed;
|
||||
|
||||
imgui.tree_pop();
|
||||
end
|
||||
|
||||
return config_changed;
|
||||
end
|
||||
|
||||
function this.draw_debug()
|
||||
local cached_config = config.current_config.debug;
|
||||
|
||||
@@ -2369,6 +2471,7 @@ function this.init_dependencies()
|
||||
buffs = require("MHR_Overlay.Buffs.buffs");
|
||||
error_handler = require("MHR_Overlay.Misc.error_handler");
|
||||
time = require("MHR_Overlay.Game_Handler.time");
|
||||
stats_UI = require("MHR_Overlay.UI.Modules.stats_UI");
|
||||
|
||||
label_customization = require("MHR_Overlay.UI.Customizations.label_customization");
|
||||
bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization");
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
"UI_font": "UI Font",
|
||||
"UI_font_notice": "Any changes to the font require script reload!",
|
||||
"activation_count": "Activation Count",
|
||||
"affinity_label": "Affinity Label",
|
||||
"ailment_buildups": "Ailment Buildups",
|
||||
"ailment_name": "Ailment Name",
|
||||
"ailment_name_label": "Ailment Name Label",
|
||||
@@ -87,6 +88,7 @@
|
||||
"anomaly_health_percentage": "Anomaly Core Health Percentage",
|
||||
"apply": "Apply",
|
||||
"assign_new_key": "Assign new key",
|
||||
"attack_label": "Attack Label",
|
||||
"auto_highlight": "Auto-highlight",
|
||||
"background": "Background",
|
||||
"bar": "Bar",
|
||||
@@ -135,15 +137,19 @@
|
||||
"damage_value_label": "Damage Value Label",
|
||||
"debug": "Debug",
|
||||
"default_state": "Default State",
|
||||
"defense_label": "Defense Label",
|
||||
"delete": "Delete",
|
||||
"distance": "Distance",
|
||||
"dps": "DPS",
|
||||
"dps_label": "DPS Label",
|
||||
"dps_mode": "DPS Mode",
|
||||
"dragon_resistance_label": "Dragon Resistance Label",
|
||||
"duplicate": "Duplicate",
|
||||
"duration": "Duration",
|
||||
"dynamic_positioning": "Dynamic Positioning",
|
||||
"dynamically_positioned": "Dynamically Positioned",
|
||||
"element_2_label": "Element 2 Label",
|
||||
"element_label": "Element Label",
|
||||
"enable_for": "Enable for",
|
||||
"enabled": "Enabled",
|
||||
"endemic_life": "Endemic Life",
|
||||
@@ -155,6 +161,7 @@
|
||||
"fill_direction": "Fill Direction",
|
||||
"filter": "Filter",
|
||||
"filter_mode": "Filter Mode",
|
||||
"fire_resistance_label": "Fire Resistance Label",
|
||||
"first": "First",
|
||||
"first_hit": "First Hit",
|
||||
"flinch_count": "Flinch Count",
|
||||
@@ -204,6 +211,7 @@
|
||||
"hotkeys": "Hotkeys",
|
||||
"hunter_rank": "Hunter Rank",
|
||||
"hunter_rank_label": "Hunter Rank Label",
|
||||
"ice_resistance_label": "Ice Resistance Label",
|
||||
"id": "ID",
|
||||
"in_lobby": "In Lobby",
|
||||
"in_training_area": "In Training Area",
|
||||
@@ -311,16 +319,19 @@
|
||||
"sorting": "Sorting",
|
||||
"spacing": "Spacing",
|
||||
"stamina": "Stamina",
|
||||
"stamina_label": "Stamina Label",
|
||||
"static_orientation": "Static Orientation",
|
||||
"static_position": "Static Position",
|
||||
"static_sorting": "Static Sorting",
|
||||
"static_spacing": "Static Spacing",
|
||||
"statically_positioned": "Statically Positioned",
|
||||
"stats_UI": "Stats UI",
|
||||
"status": "Status",
|
||||
"style": "Style",
|
||||
"summary_screen": "Summary Screen",
|
||||
"text_label": "Text Label",
|
||||
"thickness": "Thickness",
|
||||
"thunder_resistance_label": "Thunder Resistance Label",
|
||||
"time_UI": "Time UI",
|
||||
"time_label": "Time Label",
|
||||
"time_limit": "Time Limit (seconds)",
|
||||
@@ -348,10 +359,12 @@
|
||||
"tracked_monster_types": "Tracked Monster Types",
|
||||
"type": "Type",
|
||||
"use_d2d_if_available": "Use Direct2D if available",
|
||||
"value": "Value",
|
||||
"value_label": "Value Label",
|
||||
"vertical": "Vertical",
|
||||
"viewport_offset": "Viewport Offset",
|
||||
"visible": "Visible",
|
||||
"water_resistance_label": "Water Resistance Label",
|
||||
"width": "Width",
|
||||
"world_offset": "World Offset",
|
||||
"wyvern_riding": "Wyvern Riding",
|
||||
@@ -484,6 +497,22 @@
|
||||
"wall_runner": "Wall Runner",
|
||||
"wind_mantle": "Wind Mantle"
|
||||
},
|
||||
"stats": {
|
||||
"affinity": "Affinity",
|
||||
"attack": "Attack",
|
||||
"defense": "Defense",
|
||||
"dragon": "Dragon",
|
||||
"dragon_resistance": "Dragon Res",
|
||||
"fire": "Fire",
|
||||
"fire_resistance": "Fire Res",
|
||||
"ice": "Ice",
|
||||
"ice_resistance": "Ice Res",
|
||||
"stamina": "Stamina",
|
||||
"thunder": "Thunder",
|
||||
"thunder_resistance": "Thunder Res",
|
||||
"water": "Water",
|
||||
"water_resistance": "Water Res"
|
||||
},
|
||||
"unicode_glyph_ranges": [
|
||||
0
|
||||
]
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
"UI_font": "UI フォント",
|
||||
"UI_font_notice": "フォントの変更後はスクリプトリセットを行ってください。",
|
||||
"activation_count": "適用までのカウント",
|
||||
"affinity_label": "Affinity Label",
|
||||
"ailment_buildups": "状態異常の蓄積値",
|
||||
"ailment_name": "状態異常表示",
|
||||
"ailment_name_label": "状態異常表示ラベル",
|
||||
@@ -87,6 +88,7 @@
|
||||
"anomaly_health_percentage": "Anomaly Core Health Percentage",
|
||||
"apply": "適用",
|
||||
"assign_new_key": "新規に割り当てるキーを入力",
|
||||
"attack_label": "Attack Label",
|
||||
"auto_highlight": "Auto-highlight",
|
||||
"background": "背景色",
|
||||
"bar": "バー",
|
||||
@@ -135,15 +137,19 @@
|
||||
"damage_value_label": "ダメージラベル",
|
||||
"debug": "Debug",
|
||||
"default_state": "Default State",
|
||||
"defense_label": "Defense Label",
|
||||
"delete": "Delete",
|
||||
"distance": "距離",
|
||||
"dps": "DPS",
|
||||
"dps_label": "DPSラベル",
|
||||
"dps_mode": "DPS モード",
|
||||
"dragon_resistance_label": "Dragon Resistance Label",
|
||||
"duplicate": "Duplicate",
|
||||
"duration": "Duration",
|
||||
"dynamic_positioning": "動的な場所",
|
||||
"dynamically_positioned": "モンスターに追随して表示",
|
||||
"element_2_label": "Element 2 Label",
|
||||
"element_label": "Element Label",
|
||||
"enable_for": "有効にする",
|
||||
"enabled": "有効",
|
||||
"endemic_life": "Endemic Life",
|
||||
@@ -155,6 +161,7 @@
|
||||
"fill_direction": "Fill Direction",
|
||||
"filter": "フィルター",
|
||||
"filter_mode": "Filter Mode",
|
||||
"fire_resistance_label": "Fire Resistance Label",
|
||||
"first": "最初",
|
||||
"first_hit": "初撃",
|
||||
"flinch_count": "ひるみ回数",
|
||||
@@ -204,6 +211,7 @@
|
||||
"hotkeys": "ホットキー",
|
||||
"hunter_rank": "ハンターランク",
|
||||
"hunter_rank_label": "ハンターランクのラベル",
|
||||
"ice_resistance_label": "Ice Resistance Label",
|
||||
"id": "ID",
|
||||
"in_lobby": "In Lobby",
|
||||
"in_training_area": "In Training Area",
|
||||
@@ -311,16 +319,19 @@
|
||||
"sorting": "ソート",
|
||||
"spacing": "間隔",
|
||||
"stamina": "スタミナ",
|
||||
"stamina_label": "Stamina Label",
|
||||
"static_orientation": "モンスター情報の配置を修正",
|
||||
"static_position": "モンスター情報の場所を修正",
|
||||
"static_sorting": "モンスター情報の並べ替えを修正",
|
||||
"static_spacing": "モンスター情報間の距離を修正",
|
||||
"statically_positioned": "モンスター情報の一覧表示",
|
||||
"stats_UI": "Stats UI",
|
||||
"status": "ステータス",
|
||||
"style": "Style",
|
||||
"summary_screen": "Summary Screen",
|
||||
"text_label": "テキストラベル",
|
||||
"thickness": "Thickness",
|
||||
"thunder_resistance_label": "Thunder Resistance Label",
|
||||
"time_UI": "タイムUI",
|
||||
"time_label": "タイムラベル",
|
||||
"time_limit": "タイムリミット(s.)",
|
||||
@@ -348,10 +359,12 @@
|
||||
"tracked_monster_types": "モンスタータイプでの追跡",
|
||||
"type": "タイプ",
|
||||
"use_d2d_if_available": "Use Direct2D if available",
|
||||
"value": "Value",
|
||||
"value_label": "バリューラベル",
|
||||
"vertical": "縦",
|
||||
"viewport_offset": "表示領域からの位置",
|
||||
"visible": "表示する",
|
||||
"water_resistance_label": "Water Resistance Label",
|
||||
"width": "幅",
|
||||
"world_offset": "表示位置",
|
||||
"wyvern_riding": "Wyvern Riding",
|
||||
@@ -484,6 +497,22 @@
|
||||
"wall_runner": "Wall Runner",
|
||||
"wind_mantle": "Wind Mantle"
|
||||
},
|
||||
"stats": {
|
||||
"affinity": "Affinity",
|
||||
"attack": "Attack",
|
||||
"defense": "Defense",
|
||||
"dragon": "Dragon",
|
||||
"dragon_resistance": "Dragon Res",
|
||||
"fire": "Fire",
|
||||
"fire_resistance": "Fire Res",
|
||||
"ice": "Ice",
|
||||
"ice_resistance": "Ice Res",
|
||||
"stamina": "Stamina",
|
||||
"thunder": "Thunder",
|
||||
"thunder_resistance": "Thunder Res",
|
||||
"water": "Water",
|
||||
"water_resistance": "Water Res"
|
||||
},
|
||||
"unicode_glyph_ranges": [
|
||||
32,
|
||||
255,
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
"UI_font": "UI 글꼴",
|
||||
"UI_font_notice": "글꼴 변경시 스크립트를 리로드 해야합니다!",
|
||||
"activation_count": "활성 횟수",
|
||||
"affinity_label": "Affinity Label",
|
||||
"ailment_buildups": "상태이상 누적치",
|
||||
"ailment_name": "상태이상 이름",
|
||||
"ailment_name_label": "상태이상 이름 정보",
|
||||
@@ -87,6 +88,7 @@
|
||||
"anomaly_health_percentage": "괴이핵 체력 비율",
|
||||
"apply": "적용",
|
||||
"assign_new_key": "새 키를 할당",
|
||||
"attack_label": "Attack Label",
|
||||
"auto_highlight": "자동 타겟 설정",
|
||||
"background": "배경색",
|
||||
"bar": "막대",
|
||||
@@ -136,15 +138,19 @@
|
||||
"debug": "Debug",
|
||||
"debug_errors": "Debug Errors",
|
||||
"default_state": "기본 상태",
|
||||
"defense_label": "Defense Label",
|
||||
"delete": "삭제하기",
|
||||
"distance": "간격",
|
||||
"dps": "DPS",
|
||||
"dps_label": "DPS 정보",
|
||||
"dps_mode": "DPS 모드",
|
||||
"dragon_resistance_label": "Dragon Resistance Label",
|
||||
"duplicate": "복제하기",
|
||||
"duration": "지속시간",
|
||||
"dynamic_positioning": "유동 위치",
|
||||
"dynamically_positioned": "유동 위치 UI",
|
||||
"element_2_label": "Element 2 Label",
|
||||
"element_label": "Element Label",
|
||||
"enable_for": "표시 대상",
|
||||
"enabled": "사용함",
|
||||
"endemic_life": "환경생물",
|
||||
@@ -156,6 +162,7 @@
|
||||
"fill_direction": "채우는 방향",
|
||||
"filter": "필터",
|
||||
"filter_mode": "필터 모드",
|
||||
"fire_resistance_label": "Fire Resistance Label",
|
||||
"first": "맨 앞",
|
||||
"first_hit": "첫 공격",
|
||||
"flinch_count": "경직 횟수",
|
||||
@@ -205,6 +212,7 @@
|
||||
"hotkeys": "단축키",
|
||||
"hunter_rank": "헌터 랭크",
|
||||
"hunter_rank_label": "헌터 랭크 정보",
|
||||
"ice_resistance_label": "Ice Resistance Label",
|
||||
"id": "ID",
|
||||
"in_lobby": "로비 내",
|
||||
"in_training_area": "훈련구역 내",
|
||||
@@ -312,16 +320,19 @@
|
||||
"sorting": "정렬방법",
|
||||
"spacing": "간격",
|
||||
"stamina": "스태미나",
|
||||
"stamina_label": "Stamina Label",
|
||||
"static_orientation": "고정 방향",
|
||||
"static_position": "고정 위치",
|
||||
"static_sorting": "고정 정렬방법",
|
||||
"static_spacing": "고정 간격",
|
||||
"statically_positioned": "고정 위치 UI",
|
||||
"stats_UI": "Stats UI",
|
||||
"status": "상태",
|
||||
"style": "스타일",
|
||||
"summary_screen": "결과 요약 화면",
|
||||
"text_label": "텍스트 정보",
|
||||
"thickness": "두께",
|
||||
"thunder_resistance_label": "Thunder Resistance Label",
|
||||
"time_UI": "시간 UI",
|
||||
"time_label": "시간 정보",
|
||||
"time_limit": "시간 제한 (단위: 초)",
|
||||
@@ -349,10 +360,12 @@
|
||||
"tracked_monster_types": "추적할 몬스터 타입",
|
||||
"type": "종류",
|
||||
"use_d2d_if_available": "가능한 Direct2D를 사용함",
|
||||
"value": "Value",
|
||||
"value_label": "값 정보",
|
||||
"vertical": "세로",
|
||||
"viewport_offset": "뷰포트 오프셋",
|
||||
"visible": "표시함",
|
||||
"water_resistance_label": "Water Resistance Label",
|
||||
"width": "너비",
|
||||
"world_offset": "전역 오프셋",
|
||||
"wyvern_riding": "용조종",
|
||||
@@ -485,6 +498,22 @@
|
||||
"wall_runner": "Wall Runner",
|
||||
"wind_mantle": "Wind Mantle"
|
||||
},
|
||||
"stats": {
|
||||
"affinity": "Affinity",
|
||||
"attack": "Attack",
|
||||
"defense": "Defense",
|
||||
"dragon": "Dragon",
|
||||
"dragon_resistance": "Dragon Res",
|
||||
"fire": "Fire",
|
||||
"fire_resistance": "Fire Res",
|
||||
"ice": "Ice",
|
||||
"ice_resistance": "Ice Res",
|
||||
"stamina": "Stamina",
|
||||
"thunder": "Thunder",
|
||||
"thunder_resistance": "Thunder Res",
|
||||
"water": "Water",
|
||||
"water_resistance": "Water Res"
|
||||
},
|
||||
"unicode_glyph_ranges": [
|
||||
32,
|
||||
255,
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
"UI_font": "Шрифт интерфейса",
|
||||
"UI_font_notice": "Любые изменения шрифта требуют перезагрузку скрипта!",
|
||||
"activation_count": "Кол-во активаций",
|
||||
"affinity_label": "Affinity Label",
|
||||
"ailment_buildups": "Накопление аномального статуса",
|
||||
"ailment_name": "Название аномального статуса",
|
||||
"ailment_name_label": "Метка названия аномального статуса",
|
||||
@@ -87,6 +88,7 @@
|
||||
"anomaly_health_percentage": "Здоровье ядра аномалии в процентах",
|
||||
"apply": "Применить",
|
||||
"assign_new_key": "Привязать клавишу",
|
||||
"attack_label": "Attack Label",
|
||||
"auto_highlight": "Автофокус",
|
||||
"background": "Фон",
|
||||
"bar": "Шкала",
|
||||
@@ -136,15 +138,19 @@
|
||||
"debug": "Debug",
|
||||
"debug_errors": "Debug Errors",
|
||||
"default_state": "Состояние по умолчанию",
|
||||
"defense_label": "Defense Label",
|
||||
"delete": "Удалить",
|
||||
"distance": "Расстояние",
|
||||
"dps": "Урон в секунду",
|
||||
"dps_label": "Метка урона в секунду",
|
||||
"dps_mode": "Режим урона в секунду",
|
||||
"dragon_resistance_label": "Dragon Resistance Label",
|
||||
"duplicate": "Дублировать",
|
||||
"duration": "Продолжительность",
|
||||
"dynamic_positioning": "Динамическое позиционирование",
|
||||
"dynamically_positioned": "Рассположенный динамично",
|
||||
"element_2_label": "Element 2 Label",
|
||||
"element_label": "Element Label",
|
||||
"enable_for": "Показывать для",
|
||||
"enabled": "Включить",
|
||||
"endemic_life": "Местная живность",
|
||||
@@ -156,6 +162,7 @@
|
||||
"fill_direction": "Направление заполнения",
|
||||
"filter": "Фильтр",
|
||||
"filter_mode": "Режим Фильтра",
|
||||
"fire_resistance_label": "Fire Resistance Label",
|
||||
"first": "Первый",
|
||||
"first_hit": "Первый удар",
|
||||
"flinch_count": "Кол-во вздрагиваний",
|
||||
@@ -205,6 +212,7 @@
|
||||
"hotkeys": "Горячие клавиши",
|
||||
"hunter_rank": "Ранг охотника",
|
||||
"hunter_rank_label": "Метка ранга охотника",
|
||||
"ice_resistance_label": "Ice Resistance Label",
|
||||
"id": "ID",
|
||||
"in_lobby": "В лобби",
|
||||
"in_training_area": "В тренировочной зоне",
|
||||
@@ -312,16 +320,19 @@
|
||||
"sorting": "Сортировка",
|
||||
"spacing": "Расстояние между элементами",
|
||||
"stamina": "Выносливость",
|
||||
"stamina_label": "Stamina Label",
|
||||
"static_orientation": "Статичная ориентация",
|
||||
"static_position": "Статичное расположение",
|
||||
"static_sorting": "Статичная сортировка",
|
||||
"static_spacing": "Статичное расстояние между элементами",
|
||||
"statically_positioned": "Рассположенный статично",
|
||||
"stats_UI": "Stats UI",
|
||||
"status": "Статус",
|
||||
"style": "Стиль",
|
||||
"summary_screen": "Экран Результатов",
|
||||
"text_label": "Текстовая метка",
|
||||
"thickness": "Толщина",
|
||||
"thunder_resistance_label": "Thunder Resistance Label",
|
||||
"time_UI": "Интерфейс времени",
|
||||
"time_label": "Метка времени",
|
||||
"time_limit": "Ограничение по времени (cек.)",
|
||||
@@ -349,10 +360,12 @@
|
||||
"tracked_monster_types": "Отслеживаемые типы монстров",
|
||||
"type": "Тип",
|
||||
"use_d2d_if_available": "Использовать Direct2D, если доступен",
|
||||
"value": "Value",
|
||||
"value_label": "Метка значений",
|
||||
"vertical": "Вертикально",
|
||||
"viewport_offset": "Сдвиг в экранном пространстве",
|
||||
"visible": "Включить",
|
||||
"water_resistance_label": "Water Resistance Label",
|
||||
"width": "Ширина",
|
||||
"world_offset": "Сдвиг в игровом пространстве",
|
||||
"wyvern_riding": "Езда на виверне",
|
||||
@@ -485,6 +498,22 @@
|
||||
"wall_runner": "Wall Runner",
|
||||
"wind_mantle": "Wind Mantle"
|
||||
},
|
||||
"stats": {
|
||||
"affinity": "Affinity",
|
||||
"attack": "Attack",
|
||||
"defense": "Defense",
|
||||
"dragon": "Dragon",
|
||||
"dragon_resistance": "Dragon Res",
|
||||
"fire": "Fire",
|
||||
"fire_resistance": "Fire Res",
|
||||
"ice": "Ice",
|
||||
"ice_resistance": "Ice Res",
|
||||
"stamina": "Stamina",
|
||||
"thunder": "Thunder",
|
||||
"thunder_resistance": "Thunder Res",
|
||||
"water": "Water",
|
||||
"water_resistance": "Water Res"
|
||||
},
|
||||
"unicode_glyph_ranges": [
|
||||
32,
|
||||
255,
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
"UI_font": "UI字体",
|
||||
"UI_font_notice": "当更改字体时,请重新加载脚本!",
|
||||
"activation_count": "激活次数",
|
||||
"affinity_label": "Affinity Label",
|
||||
"ailment_buildups": "状态异常积累值",
|
||||
"ailment_name": "状态异常名",
|
||||
"ailment_name_label": "状态异常标签",
|
||||
@@ -87,6 +88,7 @@
|
||||
"anomaly_health_percentage": "怪异核破坏百分比",
|
||||
"apply": "应用",
|
||||
"assign_new_key": "指定新按键",
|
||||
"attack_label": "Attack Label",
|
||||
"auto_highlight": "自动高亮",
|
||||
"background": "背景",
|
||||
"bar": "状态条",
|
||||
@@ -136,15 +138,19 @@
|
||||
"debug": "Debug",
|
||||
"debug_errors": "Debug Errors",
|
||||
"default_state": "默认阶段",
|
||||
"defense_label": "Defense Label",
|
||||
"delete": "删除",
|
||||
"distance": "距离",
|
||||
"dps": "DPS",
|
||||
"dps_label": "DPS标签",
|
||||
"dps_mode": "DPS模式",
|
||||
"dragon_resistance_label": "Dragon Resistance Label",
|
||||
"duplicate": "复制",
|
||||
"duration": "持续时间",
|
||||
"dynamic_positioning": "动态位置",
|
||||
"dynamically_positioned": "动态位置",
|
||||
"element_2_label": "Element 2 Label",
|
||||
"element_label": "Element Label",
|
||||
"enable_for": "开启",
|
||||
"enabled": "开启",
|
||||
"endemic_life": "环境生物",
|
||||
@@ -156,6 +162,7 @@
|
||||
"fill_direction": "填充方向",
|
||||
"filter": "筛选器",
|
||||
"filter_mode": "筛选方式",
|
||||
"fire_resistance_label": "Fire Resistance Label",
|
||||
"first": "第一",
|
||||
"first_hit": "第一击",
|
||||
"flinch_count": "胆怯次数",
|
||||
@@ -205,6 +212,7 @@
|
||||
"hotkeys": "热键",
|
||||
"hunter_rank": "猎人等级",
|
||||
"hunter_rank_label": "猎人等级标签",
|
||||
"ice_resistance_label": "Ice Resistance Label",
|
||||
"id": "ID",
|
||||
"in_lobby": "在大厅",
|
||||
"in_training_area": "在修炼场",
|
||||
@@ -312,16 +320,19 @@
|
||||
"sorting": "排序方式",
|
||||
"spacing": "间距",
|
||||
"stamina": "耐力",
|
||||
"stamina_label": "Stamina Label",
|
||||
"static_orientation": "固定方向",
|
||||
"static_position": "固定位置",
|
||||
"static_sorting": "固定排序",
|
||||
"static_spacing": "固定间距",
|
||||
"statically_positioned": "固定位置",
|
||||
"stats_UI": "Stats UI",
|
||||
"status": "状态",
|
||||
"style": "样式",
|
||||
"summary_screen": "总结界面",
|
||||
"text_label": "文字标签",
|
||||
"thickness": "粗细度",
|
||||
"thunder_resistance_label": "Thunder Resistance Label",
|
||||
"time_UI": "时间UI",
|
||||
"time_label": "时间标签",
|
||||
"time_limit": "时间限制(秒)",
|
||||
@@ -349,10 +360,12 @@
|
||||
"tracked_monster_types": "跟踪的怪物类型",
|
||||
"type": "类型",
|
||||
"use_d2d_if_available": "可用时使用Direct2D",
|
||||
"value": "Value",
|
||||
"value_label": "数字",
|
||||
"vertical": "垂直",
|
||||
"viewport_offset": "窗口偏移",
|
||||
"visible": "可见",
|
||||
"water_resistance_label": "Water Resistance Label",
|
||||
"width": "宽度",
|
||||
"world_offset": "整体偏移",
|
||||
"wyvern_riding": "御龙",
|
||||
@@ -485,6 +498,22 @@
|
||||
"wall_runner": "Wall Runner",
|
||||
"wind_mantle": "Wind Mantle"
|
||||
},
|
||||
"stats": {
|
||||
"affinity": "Affinity",
|
||||
"attack": "Attack",
|
||||
"defense": "Defense",
|
||||
"dragon": "Dragon",
|
||||
"dragon_resistance": "Dragon Res",
|
||||
"fire": "Fire",
|
||||
"fire_resistance": "Fire Res",
|
||||
"ice": "Ice",
|
||||
"ice_resistance": "Ice Res",
|
||||
"stamina": "Stamina",
|
||||
"thunder": "Thunder",
|
||||
"thunder_resistance": "Thunder Res",
|
||||
"water": "Water",
|
||||
"water_resistance": "Water Res"
|
||||
},
|
||||
"unicode_glyph_ranges": [
|
||||
32,
|
||||
255,
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
"UI_font": "UI 字型",
|
||||
"UI_font_notice": "當更改文字時,請重新載入",
|
||||
"activation_count": "觸發次數",
|
||||
"affinity_label": "Affinity Label",
|
||||
"ailment_buildups": "異常狀態累積值",
|
||||
"ailment_name": "異常狀態",
|
||||
"ailment_name_label": "異常狀態名稱",
|
||||
@@ -87,6 +88,7 @@
|
||||
"anomaly_health_percentage": "Anomaly Core Health Percentage",
|
||||
"apply": "套用",
|
||||
"assign_new_key": "指定新按鍵",
|
||||
"attack_label": "Attack Label",
|
||||
"auto_highlight": "自動高亮",
|
||||
"background": "圖形化顯示條的背景底色",
|
||||
"bar": "圖形化顯示條",
|
||||
@@ -136,15 +138,19 @@
|
||||
"debug": "Debug",
|
||||
"debug_errors": "Debug Errors",
|
||||
"default_state": "Default State",
|
||||
"defense_label": "Defense Label",
|
||||
"delete": "Delete",
|
||||
"distance": "距離",
|
||||
"dps": "DPS",
|
||||
"dps_label": "DPS文字",
|
||||
"dps_mode": "DPS模式",
|
||||
"dragon_resistance_label": "Dragon Resistance Label",
|
||||
"duplicate": "Duplicate",
|
||||
"duration": "Duration",
|
||||
"dynamic_positioning": "浮動的資訊位置",
|
||||
"dynamically_positioned": "浮動的魔物資訊",
|
||||
"element_2_label": "Element 2 Label",
|
||||
"element_label": "Element Label",
|
||||
"enable_for": "啟用對象",
|
||||
"enabled": "啟用",
|
||||
"endemic_life": "Endemic Life",
|
||||
@@ -156,6 +162,7 @@
|
||||
"fill_direction": "Fill Direction",
|
||||
"filter": "篩選器",
|
||||
"filter_mode": "Filter Mode",
|
||||
"fire_resistance_label": "Fire Resistance Label",
|
||||
"first": "第一",
|
||||
"first_hit": "第一擊",
|
||||
"flinch_count": "膽怯次數",
|
||||
@@ -205,6 +212,7 @@
|
||||
"hotkeys": "快捷鍵",
|
||||
"hunter_rank": "獵人等級",
|
||||
"hunter_rank_label": "獵人等級",
|
||||
"ice_resistance_label": "Ice Resistance Label",
|
||||
"id": "ID",
|
||||
"in_lobby": "In Lobby",
|
||||
"in_training_area": "In Training Area",
|
||||
@@ -312,16 +320,19 @@
|
||||
"sorting": "排序方式",
|
||||
"spacing": "間距",
|
||||
"stamina": "耐力",
|
||||
"stamina_label": "Stamina Label",
|
||||
"static_orientation": "固定魔物資訊的對齊方式",
|
||||
"static_position": "固定魔物資訊的位置",
|
||||
"static_sorting": "固定魔物資訊的排序",
|
||||
"static_spacing": "固定魔物資訊的間距",
|
||||
"statically_positioned": "固定的魔物資訊",
|
||||
"stats_UI": "Stats UI",
|
||||
"status": "狀態",
|
||||
"style": "樣式",
|
||||
"summary_screen": "Summary Screen",
|
||||
"text_label": "文字",
|
||||
"thickness": "粗細",
|
||||
"thunder_resistance_label": "Thunder Resistance Label",
|
||||
"time_UI": "時間 UI",
|
||||
"time_label": "時間",
|
||||
"time_limit": "時限 (秒)",
|
||||
@@ -349,10 +360,12 @@
|
||||
"tracked_monster_types": "追蹤的魔物類型",
|
||||
"type": "類型",
|
||||
"use_d2d_if_available": "Use Direct2D if available",
|
||||
"value": "Value",
|
||||
"value_label": "數字",
|
||||
"vertical": "垂直",
|
||||
"viewport_offset": "視窗的位置",
|
||||
"visible": "可見",
|
||||
"water_resistance_label": "Water Resistance Label",
|
||||
"width": "寬度",
|
||||
"world_offset": "地圖中的位置",
|
||||
"wyvern_riding": "Wyvern Riding",
|
||||
@@ -485,6 +498,22 @@
|
||||
"wall_runner": "Wall Runner",
|
||||
"wind_mantle": "Wind Mantle"
|
||||
},
|
||||
"stats": {
|
||||
"affinity": "Affinity",
|
||||
"attack": "Attack",
|
||||
"defense": "Defense",
|
||||
"dragon": "Dragon",
|
||||
"dragon_resistance": "Dragon Res",
|
||||
"fire": "Fire",
|
||||
"fire_resistance": "Fire Res",
|
||||
"ice": "Ice",
|
||||
"ice_resistance": "Ice Res",
|
||||
"stamina": "Stamina",
|
||||
"thunder": "Thunder",
|
||||
"thunder_resistance": "Thunder Res",
|
||||
"water": "Water",
|
||||
"water_resistance": "Water Res"
|
||||
},
|
||||
"unicode_glyph_ranges": [
|
||||
32,
|
||||
255,
|
||||
|
||||
Reference in New Issue
Block a user