mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-24 04:18:11 -08:00
Implemented Ailment Buildup UI per player.
This commit is contained in:
@@ -24,11 +24,13 @@ local monster_hook = require("MHR_Overlay.Monsters.monster_hook");
|
||||
local small_monster = require("MHR_Overlay.Monsters.small_monster");
|
||||
local ailments = require("MHR_Overlay.Monsters.ailments");
|
||||
local ailment_hook = require("MHR_Overlay.Monsters.ailment_hook");
|
||||
local ailment_buildup = require("MHR_Overlay.Monsters.ailment_buildup");
|
||||
|
||||
local damage_meter_UI = require("MHR_Overlay.UI.Modules.damage_meter_UI");
|
||||
local large_monster_UI = require("MHR_Overlay.UI.Modules.large_monster_UI");
|
||||
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 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");
|
||||
@@ -36,7 +38,7 @@ local health_UI_entity = require("MHR_Overlay.UI.UI_Entities.health_UI_entity");
|
||||
local stamina_UI_entity = require("MHR_Overlay.UI.UI_Entities.stamina_UI_entity");
|
||||
local rage_UI_entity = require("MHR_Overlay.UI.UI_Entities.rage_UI_entity");
|
||||
local ailment_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_UI_entity");
|
||||
local env_creature_UI = require("MHR_Overlay.UI.Modules.env_creature_UI");
|
||||
local ailment_buildup_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_buildup_UI_entity");
|
||||
|
||||
local customization_menu = require("MHR_Overlay.UI.customization_menu");
|
||||
local drawing = require("MHR_Overlay.UI.drawing");
|
||||
@@ -58,6 +60,9 @@ health_UI_entity.init_module();
|
||||
stamina_UI_entity.init_module();
|
||||
rage_UI_entity.init_module();
|
||||
ailment_UI_entity.init_module();
|
||||
ailment_buildup_UI_entity.init_module();
|
||||
body_part_UI_entity.init_module();
|
||||
|
||||
damage_hook.init_module();
|
||||
player.init_module();
|
||||
|
||||
@@ -70,9 +75,10 @@ large_monster.init_module();
|
||||
monster_hook.init_module();
|
||||
small_monster.init_module();
|
||||
ailment_hook.init_module();
|
||||
ailment_buildup.init_module();
|
||||
|
||||
customization_menu.init_module();
|
||||
body_part_UI_entity.init_module();
|
||||
|
||||
damage_meter_UI.init_module();
|
||||
drawing.init_module();
|
||||
large_monster_UI.init_module();
|
||||
@@ -107,8 +113,8 @@ re.on_frame(function()
|
||||
end);
|
||||
|
||||
re.on_frame(function()
|
||||
--draw.text("xy: " .. tostring(xy), 551, 11, 0xFF000000);
|
||||
--draw.text("xy: " .. tostring(xy), 550, 10, 0xFFFFFFFF);
|
||||
draw.text("xy: " .. tostring(xy), 551, 11, 0xFF000000);
|
||||
draw.text("xy: " .. tostring(xy), 550, 10, 0xFFFFFFFF);
|
||||
end);
|
||||
-- #endregion
|
||||
--------------------------RE_IMGUI---------------------------
|
||||
|
||||
@@ -120,15 +120,11 @@ function damage_hook.update_damage(args)
|
||||
monster = small_monster.get_monster(enemy);
|
||||
end
|
||||
|
||||
--xy =
|
||||
-- "type: " .. tostring(damage_source_type) .. "\n" ..
|
||||
-- "total damage: " .. tostring(damage_object.total_damage) .. "\n" ..
|
||||
-- "physical damage: " .. tostring(damage_object.physical_damage) .. "\n" ..
|
||||
-- "elemental damage: " .. tostring(damage_object.elemental_damage) .. "\n" ..
|
||||
-- "condition damage: " .. tostring(condition_damage) .. "\n" ..
|
||||
-- "condition type: " .. tostring(condition_type) .. "\n" ..
|
||||
-- "is mario attack: " .. tostring(is_marionette_attack) .. "\n" ..
|
||||
-- "attacker id: " .. tostring(attacker_id) .. "\n";
|
||||
local stun_damage = enemy_calc_damage_info:get_field("<StunDamage>k__BackingField");
|
||||
if stun_damage ~= 0 and stun_damage ~= nil then
|
||||
ailments.apply_ailment_buildup(monster, attacker_id, ailments.stun_id, stun_damage);
|
||||
end
|
||||
|
||||
|
||||
ailments.apply_ailment_buildup(monster, attacker_id, condition_type, condition_damage);
|
||||
|
||||
|
||||
@@ -508,7 +508,200 @@ function config.init()
|
||||
background = 0xA7000000
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
ailment_buildups = {
|
||||
visibility = false,
|
||||
|
||||
offset = {
|
||||
x = 220,
|
||||
y = 17
|
||||
},
|
||||
|
||||
players_spacing = {
|
||||
x = 0,
|
||||
y = 24
|
||||
},
|
||||
|
||||
ailments_spacing = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
settings = {
|
||||
buildup_bar_relative_to = "Top Buildup",
|
||||
highlighted_bar = "Me",
|
||||
time_limit = 15
|
||||
},
|
||||
|
||||
filter = {
|
||||
stun = true,
|
||||
poison = true,
|
||||
blast = true,
|
||||
},
|
||||
|
||||
sorting = {
|
||||
type = "Buildup",
|
||||
reversed_order = false
|
||||
},
|
||||
|
||||
ailment_name_label = {
|
||||
visibility = true,
|
||||
|
||||
include = {
|
||||
ailment_name = true,
|
||||
activation_count = true
|
||||
},
|
||||
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = -17
|
||||
},
|
||||
color = 0xFF7cdbff,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
player_name_label = {
|
||||
visibility = true,
|
||||
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_value_label = {
|
||||
visibility = true,
|
||||
text = "%.0f",
|
||||
offset = {
|
||||
x = 115,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_percentage_label = {
|
||||
visibility = true,
|
||||
text = "%5.1f%%",
|
||||
offset = {
|
||||
x = 152,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
total_buildup_label = {
|
||||
visibility = true,
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFFF9393,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
total_buildup_value_label = {
|
||||
visibility = true,
|
||||
text = "%.0f",
|
||||
offset = {
|
||||
x = 115,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFFF9393,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_bar = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
size = {
|
||||
width = 200,
|
||||
height = 5
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xA796cfe5,
|
||||
background = 0xA7000000
|
||||
}
|
||||
},
|
||||
|
||||
highlighted_buildup_bar = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
size = {
|
||||
width = 200,
|
||||
height = 5
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xA7F4D5A3,
|
||||
background = 0xA7000000
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
large_monster_UI = {
|
||||
@@ -1135,7 +1328,200 @@ function config.init()
|
||||
background = 0xA7000000
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
ailment_buildups = {
|
||||
visibility = false,
|
||||
|
||||
offset = {
|
||||
x = 220,
|
||||
y = 17
|
||||
},
|
||||
|
||||
players_spacing = {
|
||||
x = 0,
|
||||
y = 24
|
||||
},
|
||||
|
||||
ailments_spacing = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
settings = {
|
||||
buildup_bar_relative_to = "Top Buildup",
|
||||
highlighted_bar = "Me",
|
||||
time_limit = 15
|
||||
},
|
||||
|
||||
filter = {
|
||||
stun = true,
|
||||
poison = true,
|
||||
blast = true,
|
||||
},
|
||||
|
||||
sorting = {
|
||||
type = "Buildup",
|
||||
reversed_order = false
|
||||
},
|
||||
|
||||
ailment_name_label = {
|
||||
visibility = true,
|
||||
|
||||
include = {
|
||||
ailment_name = true,
|
||||
activation_count = true
|
||||
},
|
||||
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = -17
|
||||
},
|
||||
color = 0xFF7cdbff,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
player_name_label = {
|
||||
visibility = true,
|
||||
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_value_label = {
|
||||
visibility = true,
|
||||
text = "%.0f",
|
||||
offset = {
|
||||
x = 115,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_percentage_label = {
|
||||
visibility = true,
|
||||
text = "%5.1f%%",
|
||||
offset = {
|
||||
x = 152,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
total_buildup_label = {
|
||||
visibility = true,
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFFF9393,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
total_buildup_value_label = {
|
||||
visibility = true,
|
||||
text = "%.0f",
|
||||
offset = {
|
||||
x = 115,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFFF9393,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_bar = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
size = {
|
||||
width = 200,
|
||||
height = 5
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xA796cfe5,
|
||||
background = 0xA7000000
|
||||
}
|
||||
},
|
||||
|
||||
highlighted_buildup_bar = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
size = {
|
||||
width = 200,
|
||||
height = 5
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xA7F4D5A3,
|
||||
background = 0xA7000000
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
static = {
|
||||
@@ -1767,7 +2153,200 @@ function config.init()
|
||||
background = 0xA7000000
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
ailment_buildups = {
|
||||
visibility = false,
|
||||
|
||||
offset = {
|
||||
x = 220,
|
||||
y = 17
|
||||
},
|
||||
|
||||
players_spacing = {
|
||||
x = 0,
|
||||
y = 24
|
||||
},
|
||||
|
||||
ailments_spacing = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
settings = {
|
||||
buildup_bar_relative_to = "Top Buildup",
|
||||
highlighted_bar = "Me",
|
||||
time_limit = 15
|
||||
},
|
||||
|
||||
filter = {
|
||||
stun = true,
|
||||
poison = true,
|
||||
blast = true,
|
||||
},
|
||||
|
||||
sorting = {
|
||||
type = "Buildup",
|
||||
reversed_order = false
|
||||
},
|
||||
|
||||
ailment_name_label = {
|
||||
visibility = true,
|
||||
|
||||
include = {
|
||||
ailment_name = true,
|
||||
activation_count = true
|
||||
},
|
||||
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = -17
|
||||
},
|
||||
color = 0xFF7cdbff,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
player_name_label = {
|
||||
visibility = true,
|
||||
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_value_label = {
|
||||
visibility = true,
|
||||
text = "%.0f",
|
||||
offset = {
|
||||
x = 115,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_percentage_label = {
|
||||
visibility = true,
|
||||
text = "%5.1f%%",
|
||||
offset = {
|
||||
x = 152,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
total_buildup_label = {
|
||||
visibility = true,
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFFF9393,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
total_buildup_value_label = {
|
||||
visibility = true,
|
||||
text = "%.0f",
|
||||
offset = {
|
||||
x = 115,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFFF9393,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_bar = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
size = {
|
||||
width = 200,
|
||||
height = 5
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xA796cfe5,
|
||||
background = 0xA7000000
|
||||
}
|
||||
},
|
||||
|
||||
highlighted_buildup_bar = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
size = {
|
||||
width = 200,
|
||||
height = 5
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xA7F4D5A3,
|
||||
background = 0xA7000000
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
highlighted = {
|
||||
@@ -2379,7 +2958,200 @@ function config.init()
|
||||
background = 0xA7000000
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
ailment_buildups = {
|
||||
visibility = false,
|
||||
|
||||
offset = {
|
||||
x = 220,
|
||||
y = 167
|
||||
},
|
||||
|
||||
players_spacing = {
|
||||
x = 0,
|
||||
y = 24
|
||||
},
|
||||
|
||||
ailments_spacing = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
settings = {
|
||||
buildup_bar_relative_to = "Top Buildup",
|
||||
highlighted_bar = "Me",
|
||||
time_limit = 15
|
||||
},
|
||||
|
||||
filter = {
|
||||
stun = true,
|
||||
poison = true,
|
||||
blast = true,
|
||||
},
|
||||
|
||||
sorting = {
|
||||
type = "Buildup",
|
||||
reversed_order = false
|
||||
},
|
||||
|
||||
ailment_name_label = {
|
||||
visibility = true,
|
||||
|
||||
include = {
|
||||
ailment_name = true,
|
||||
activation_count = true
|
||||
},
|
||||
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = -17
|
||||
},
|
||||
color = 0xFF7cdbff,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
player_name_label = {
|
||||
visibility = true,
|
||||
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_value_label = {
|
||||
visibility = true,
|
||||
text = "%.0f",
|
||||
offset = {
|
||||
x = 115,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_percentage_label = {
|
||||
visibility = true,
|
||||
text = "%5.1f%%",
|
||||
offset = {
|
||||
x = 152,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFb5dded,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
total_buildup_label = {
|
||||
visibility = true,
|
||||
text = "%s",
|
||||
offset = {
|
||||
x = 5,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFFF9393,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
total_buildup_value_label = {
|
||||
visibility = true,
|
||||
text = "%.0f",
|
||||
offset = {
|
||||
x = 115,
|
||||
y = 0
|
||||
},
|
||||
color = 0xFFFF9393,
|
||||
|
||||
shadow = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 1,
|
||||
y = 1
|
||||
},
|
||||
color = 0xFF000000
|
||||
}
|
||||
},
|
||||
|
||||
buildup_bar = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
size = {
|
||||
width = 200,
|
||||
height = 5
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xA796cfe5,
|
||||
background = 0xA7000000
|
||||
}
|
||||
},
|
||||
|
||||
highlighted_buildup_bar = {
|
||||
visibility = true,
|
||||
offset = {
|
||||
x = 0,
|
||||
y = 17
|
||||
},
|
||||
|
||||
size = {
|
||||
width = 200,
|
||||
height = 5
|
||||
},
|
||||
|
||||
colors = {
|
||||
foreground = 0xA7F4D5A3,
|
||||
background = 0xA7000000
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
@@ -2746,7 +3518,7 @@ function config.init_module()
|
||||
|
||||
config.init();
|
||||
config.load();
|
||||
config.current_config.version = "v1.10";
|
||||
config.current_config.version = "v1.11";
|
||||
|
||||
language.update(table_helpers.find_index(language.language_names, config.current_config.global_settings.language, false));
|
||||
|
||||
|
||||
@@ -90,7 +90,8 @@ language.default_language = {
|
||||
mini = "Mini",
|
||||
total_damage = "Total Damage",
|
||||
player = "Player",
|
||||
buildup = "Buildup:"
|
||||
buildup = "Buildup:",
|
||||
total_buildup = "Total Buildup"
|
||||
},
|
||||
|
||||
customization_menu = {
|
||||
@@ -301,7 +302,22 @@ language.default_language = {
|
||||
creature_name_label = "Creature Name Label",
|
||||
hide_inactive_creatures = "Hide Inactive Creatures",
|
||||
|
||||
relative_offset = "Relative Offset"
|
||||
relative_offset = "Relative Offset",
|
||||
|
||||
ailment_buildups = "Ailment Buildups",
|
||||
players_spacing = "Player Spacing",
|
||||
ailments_spacing = "Ailment Spacing",
|
||||
buildup_value_label = "Buildup Value Label",
|
||||
buildup_percentage_label = "Buildup Percentage Label",
|
||||
total_buildup_label = "Total Buildup Label",
|
||||
total_buildup_value_label = "Total Buildup Value Label",
|
||||
buildup_bar = "Buildup Bar",
|
||||
highlighted_buildup_bar = "Highlighted Buildup Bar",
|
||||
|
||||
filter = "Filter",
|
||||
top_buildup = "Top Buildup",
|
||||
total_buildup = "Total Buildup",
|
||||
buildup_bars_are_relative_to = "Buildup Bars are relative to"
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
529
reframework/autorun/MHR_Overlay/Monsters/ailment_buildup.lua
Normal file
529
reframework/autorun/MHR_Overlay/Monsters/ailment_buildup.lua
Normal file
@@ -0,0 +1,529 @@
|
||||
local ailment_buildup = {};
|
||||
local player;
|
||||
local language;
|
||||
local config;
|
||||
local ailments;
|
||||
local ailment_buildup_UI_entity;
|
||||
local time;
|
||||
local small_monster;
|
||||
local large_monster;
|
||||
local table_helpers;
|
||||
local drawing;
|
||||
|
||||
function ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_screen, opacity_scale)
|
||||
if not config.current_config.large_monster_UI.dynamic.ailment_buildups.enabled then
|
||||
return;
|
||||
end
|
||||
|
||||
for id, ailment in pairs(monster.ailments) do
|
||||
if id == ailments.stun_id then
|
||||
if not config.current_config.large_monster_UI.dynamic.ailment_buildups.filter.stun then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
elseif id == ailments.poison_id then
|
||||
if not config.current_config.large_monster_UI.dynamic.ailment_buildups.filter.poison then
|
||||
goto continue;
|
||||
end
|
||||
elseif id == ailments.blast_id then
|
||||
if not config.current_config.large_monster_UI.dynamic.ailment_buildups.filter.blast then
|
||||
goto continue;
|
||||
end
|
||||
else
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > config.current_config.large_monster_UI.dynamic.ailment_buildups.settings.time_limit then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
local total_buildup = 0;
|
||||
local top_buildup = 0;
|
||||
|
||||
local displayed_players = {};
|
||||
for player_id, player_buildup in pairs(ailment.buildup) do
|
||||
total_buildup = total_buildup + player_buildup;
|
||||
|
||||
if player_buildup > top_buildup then
|
||||
top_buildup = player_buildup;
|
||||
end
|
||||
|
||||
table.insert(displayed_players,
|
||||
{
|
||||
["buildup"] = player_buildup,
|
||||
["buildup_share"] = ailment.buildup_share[player_id],
|
||||
["id"] = player_id
|
||||
}
|
||||
);
|
||||
end
|
||||
|
||||
if total_buildup == 0 then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.type == "Normal" then
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id > right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.type == "Buildup" then
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup < right.buildup;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup > right.buildup;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.type == "Buildup Percentage" then
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share < right.buildup_share;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share > right.buildup_share;
|
||||
end);
|
||||
end
|
||||
end
|
||||
|
||||
local ailment_name = "";
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.ailment_name_label.include.ailment_name then
|
||||
ailment_name = ailment.name .. " ";
|
||||
end
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
ailment_name = ailment_name .. "x" .. tostring(ailment.activate_count);
|
||||
end
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_dynamic_UI.ailment_name_label, ailment_buildups_position_on_screen, opacity_scale, ailment_name);
|
||||
|
||||
|
||||
local last_j = 0;
|
||||
for j, _player in ipairs(displayed_players) do
|
||||
local ailment_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.dynamic.ailment_buildups.players_spacing.x * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.dynamic.ailment_buildups.players_spacing.y * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
};
|
||||
|
||||
ailment_buildup_UI_entity.draw_dynamic(_player, monster.ailments[ailments.stun_id].ailment_buildup_dynamic_UI, ailment_buildup_position_on_screen, opacity_scale, top_buildup);
|
||||
|
||||
last_j = j;
|
||||
end
|
||||
|
||||
|
||||
|
||||
local total_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.dynamic.ailment_buildups.players_spacing.x * last_j * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.dynamic.ailment_buildups.players_spacing.y * last_j * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
};
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_dynamic_UI.total_buildup_label, total_buildup_position_on_screen, opacity_scale, language.current_language.UI.total_buildup);
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_dynamic_UI.total_buildup_value_label, total_buildup_position_on_screen, opacity_scale, total_buildup);
|
||||
|
||||
ailment_buildups_position_on_screen = {
|
||||
x = total_buildup_position_on_screen.x + config.current_config.large_monster_UI.dynamic.ailment_buildups.ailments_spacing.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + config.current_config.large_monster_UI.dynamic.ailment_buildups.ailments_spacing.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
::continue::
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
function ailment_buildup.draw_static(monster, ailment_buildups_position_on_screen, opacity_scale)
|
||||
if not config.current_config.large_monster_UI.static.ailment_buildups.enabled then
|
||||
return;
|
||||
end
|
||||
|
||||
for id, ailment in pairs(monster.ailments) do
|
||||
if id == ailments.stun_id then
|
||||
if not config.current_config.large_monster_UI.static.ailment_buildups.filter.stun then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
elseif id == ailments.poison_id then
|
||||
if not config.current_config.large_monster_UI.static.ailment_buildups.filter.poison then
|
||||
goto continue;
|
||||
end
|
||||
elseif id == ailments.blast_id then
|
||||
if not config.current_config.large_monster_UI.static.ailment_buildups.filter.blast then
|
||||
goto continue;
|
||||
end
|
||||
else
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > config.current_config.large_monster_UI.static.ailment_buildups.settings.time_limit then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
local total_buildup = 0;
|
||||
local top_buildup = 0;
|
||||
|
||||
local displayed_players = {};
|
||||
for player_id, player_buildup in pairs(ailment.buildup) do
|
||||
total_buildup = total_buildup + player_buildup;
|
||||
|
||||
if player_buildup > top_buildup then
|
||||
top_buildup = player_buildup;
|
||||
end
|
||||
|
||||
table.insert(displayed_players,
|
||||
{
|
||||
["buildup"] = player_buildup,
|
||||
["buildup_share"] = ailment.buildup_share[player_id],
|
||||
["id"] = player_id
|
||||
}
|
||||
);
|
||||
end
|
||||
|
||||
if total_buildup == 0 then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.sorting.type == "Normal" then
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id > right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.static.ailment_buildups.sorting.type == "Buildup" then
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup < right.buildup;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup > right.buildup;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.static.ailment_buildups.sorting.type == "Buildup Percentage" then
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share < right.buildup_share;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share > right.buildup_share;
|
||||
end);
|
||||
end
|
||||
end
|
||||
|
||||
local ailment_name = "";
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.ailment_name_label.include.ailment_name then
|
||||
ailment_name = ailment.name .. " ";
|
||||
end
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
ailment_name = ailment_name .. "x" .. tostring(ailment.activate_count);
|
||||
end
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_static_UI.ailment_name_label, ailment_buildups_position_on_screen, opacity_scale, ailment_name);
|
||||
|
||||
local last_j = 0;
|
||||
for j, _player in ipairs(displayed_players) do
|
||||
local ailment_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.static.ailment_buildups.players_spacing.x * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.static.ailment_buildups.players_spacing.y * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
};
|
||||
|
||||
ailment_buildup_UI_entity.draw_static(_player, monster.ailments[ailments.stun_id].ailment_buildup_static_UI, ailment_buildup_position_on_screen, opacity_scale, top_buildup);
|
||||
|
||||
last_j = j;
|
||||
end
|
||||
|
||||
local total_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.static.ailment_buildups.players_spacing.x * last_j * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.static.ailment_buildups.players_spacing.y * last_j * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
};
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_static_UI.total_buildup_label, total_buildup_position_on_screen, opacity_scale, language.current_language.UI.total_buildup);
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_static_UI.total_buildup_value_label, total_buildup_position_on_screen, opacity_scale, total_buildup);
|
||||
|
||||
ailment_buildups_position_on_screen = {
|
||||
x = total_buildup_position_on_screen.x + config.current_config.large_monster_UI.static.ailment_buildups.ailments_spacing.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + config.current_config.large_monster_UI.static.ailment_buildups.ailments_spacing.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
::continue::
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
function ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_screen, opacity_scale)
|
||||
if not config.current_config.large_monster_UI.highlighted.ailment_buildups.enabled then
|
||||
return;
|
||||
end
|
||||
|
||||
for id, ailment in pairs(monster.ailments) do
|
||||
if id == ailments.stun_id then
|
||||
if not config.current_config.large_monster_UI.highlighted.ailment_buildups.filter.stun then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
elseif id == ailments.poison_id then
|
||||
if not config.current_config.large_monster_UI.highlighted.ailment_buildups.filter.poison then
|
||||
goto continue;
|
||||
end
|
||||
elseif id == ailments.blast_id then
|
||||
if not config.current_config.large_monster_UI.highlighted.ailment_buildups.filter.blast then
|
||||
goto continue;
|
||||
end
|
||||
else
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > config.current_config.large_monster_UI.highlighted.ailment_buildups.settings.time_limit then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
local total_buildup = 0;
|
||||
local top_buildup = 0;
|
||||
|
||||
local displayed_players = {};
|
||||
for player_id, player_buildup in pairs(ailment.buildup) do
|
||||
total_buildup = total_buildup + player_buildup;
|
||||
|
||||
if player_buildup > top_buildup then
|
||||
top_buildup = player_buildup;
|
||||
end
|
||||
|
||||
table.insert(displayed_players,
|
||||
{
|
||||
["buildup"] = player_buildup,
|
||||
["buildup_share"] = ailment.buildup_share[player_id],
|
||||
["id"] = player_id
|
||||
}
|
||||
);
|
||||
end
|
||||
|
||||
if total_buildup == 0 then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.type == "Normal" then
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id > right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.type == "Buildup" then
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup < right.buildup;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup > right.buildup;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.type == "Buildup Percentage" then
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share < right.buildup_share;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share > right.buildup_share;
|
||||
end);
|
||||
end
|
||||
end
|
||||
|
||||
local ailment_name = "";
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.ailment_name_label.include.ailment_name then
|
||||
ailment_name = ailment.name .. " ";
|
||||
end
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
ailment_name = ailment_name .. "x" .. tostring(ailment.activate_count);
|
||||
end
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_highlighted_UI.ailment_name_label, ailment_buildups_position_on_screen, opacity_scale, ailment_name);
|
||||
|
||||
local last_j = 0;
|
||||
for j, _player in ipairs(displayed_players) do
|
||||
local ailment_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.highlighted.ailment_buildups.players_spacing.x * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.highlighted.ailment_buildups.players_spacing.y * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
};
|
||||
|
||||
ailment_buildup_UI_entity.draw_highlighted(_player, monster.ailments[ailments.stun_id].ailment_buildup_highlighted_UI, ailment_buildup_position_on_screen, opacity_scale, top_buildup);
|
||||
|
||||
last_j = j;
|
||||
end
|
||||
|
||||
local total_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.large_monster_UI.highlighted.ailment_buildups.players_spacing.x * last_j * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.large_monster_UI.highlighted.ailment_buildups.players_spacing.y * last_j * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
};
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_highlighted_UI.total_buildup_label, total_buildup_position_on_screen, opacity_scale, language.current_language.UI.total_buildup);
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_highlighted_UI.total_buildup_value_label, total_buildup_position_on_screen, opacity_scale, total_buildup);
|
||||
|
||||
ailment_buildups_position_on_screen = {
|
||||
x = total_buildup_position_on_screen.x + config.current_config.large_monster_UI.highlighted.ailment_buildups.ailments_spacing.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + config.current_config.large_monster_UI.highlighted.ailment_buildups.ailments_spacing.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
::continue::
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
function ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen, opacity_scale)
|
||||
if not config.current_config.small_monster_UI.ailment_buildups.enabled then
|
||||
return;
|
||||
end
|
||||
|
||||
for id, ailment in pairs(monster.ailments) do
|
||||
if id == ailments.stun_id then
|
||||
if not config.current_config.small_monster_UI.ailment_buildups.filter.stun then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
elseif id == ailments.poison_id then
|
||||
if not config.current_config.small_monster_UI.ailment_buildups.filter.poison then
|
||||
goto continue;
|
||||
end
|
||||
elseif id == ailments.blast_id then
|
||||
if not config.current_config.small_monster_UI.ailment_buildups.filter.blast then
|
||||
goto continue;
|
||||
end
|
||||
else
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.small_monster_UI.ailment_buildups.settings.time_limit ~= 0 and time.total_elapsed_seconds - ailment.last_change_time > config.current_config.small_monster_UI.ailment_buildups.settings.time_limit then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
local total_buildup = 0;
|
||||
local top_buildup = 0;
|
||||
|
||||
local displayed_players = {};
|
||||
for player_id, player_buildup in pairs(ailment.buildup) do
|
||||
total_buildup = total_buildup + player_buildup;
|
||||
|
||||
if player_buildup > top_buildup then
|
||||
top_buildup = player_buildup;
|
||||
end
|
||||
|
||||
table.insert(displayed_players,
|
||||
{
|
||||
["buildup"] = player_buildup,
|
||||
["buildup_share"] = ailment.buildup_share[player_id],
|
||||
["id"] = player_id
|
||||
}
|
||||
);
|
||||
end
|
||||
|
||||
if total_buildup == 0 then
|
||||
goto continue;
|
||||
end
|
||||
|
||||
if config.current_config.small_monster_UI.ailment_buildups.sorting.type == "Normal" then
|
||||
if config.current_config.small_monster_UI.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id < right.id;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.id > right.id;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.small_monster_UI.ailment_buildups.sorting.type == "Buildup" then
|
||||
if config.current_config.small_monster_UI.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup < right.buildup;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup > right.buildup;
|
||||
end);
|
||||
end
|
||||
elseif config.current_config.small_monster_UI.ailment_buildups.sorting.type == "Buildup Percentage" then
|
||||
if config.current_config.small_monster_UI.ailment_buildups.sorting.reversed_order then
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share < right.buildup_share;
|
||||
end);
|
||||
else
|
||||
table.sort(displayed_players, function(left, right)
|
||||
return left.buildup_share > right.buildup_share;
|
||||
end);
|
||||
end
|
||||
end
|
||||
|
||||
local ailment_name = "";
|
||||
if config.current_config.small_monster_UI.ailment_buildups.ailment_name_label.include.ailment_name then
|
||||
ailment_name = ailment.name .. " ";
|
||||
end
|
||||
if config.current_config.small_monster_UI.ailment_buildups.ailment_name_label.include.activation_count and ailment.activate_count ~= 0 then
|
||||
ailment_name = ailment_name .. "x" .. tostring(ailment.activate_count);
|
||||
end
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_small_UI.ailment_name_label, ailment_buildups_position_on_screen, opacity_scale, ailment_name);
|
||||
|
||||
local last_j = 0;
|
||||
for j, _player in ipairs(displayed_players) do
|
||||
local ailment_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.small_monster_UI.ailment_buildups.players_spacing.x * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.small_monster_UI.ailment_buildups.players_spacing.y * (j - 1) * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
};
|
||||
|
||||
ailment_buildup_UI_entity.draw_small(_player, monster.ailments[ailments.stun_id].ailment_buildup_small_UI, ailment_buildup_position_on_screen, opacity_scale, top_buildup);
|
||||
|
||||
last_j = j;
|
||||
end
|
||||
|
||||
local total_buildup_position_on_screen = {
|
||||
x = ailment_buildups_position_on_screen.x + config.current_config.small_monster_UI.ailment_buildups.players_spacing.x * last_j * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = ailment_buildups_position_on_screen.y + config.current_config.small_monster_UI.ailment_buildups.players_spacing.y * last_j * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
};
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_small_UI.total_buildup_label, total_buildup_position_on_screen, opacity_scale, language.current_language.UI.total_buildup);
|
||||
|
||||
drawing.draw_label(monster.ailments[ailments.stun_id].ailment_buildup_small_UI.total_buildup_value_label, total_buildup_position_on_screen, opacity_scale, total_buildup);
|
||||
|
||||
ailment_buildups_position_on_screen = {
|
||||
x = total_buildup_position_on_screen.x + config.current_config.small_monster_UI.ailment_buildups.ailments_spacing.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = total_buildup_position_on_screen.y + 17 + config.current_config.small_monster_UI.ailment_buildups.ailments_spacing.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
::continue::
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
function ailment_buildup.init_module()
|
||||
player = require("MHR_Overlay.Damage_Meter.player");
|
||||
language = require("MHR_Overlay.Misc.language");
|
||||
config = require("MHR_Overlay.Misc.config");
|
||||
ailments = require("MHR_Overlay.Monsters.ailments");
|
||||
ailment_buildup_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_buildup_UI_entity");
|
||||
time = require("MHR_Overlay.Game_Handler.time");
|
||||
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
||||
large_monster = require("MHR_Overlay.Monsters.large_monster");
|
||||
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
||||
drawing = require("MHR_Overlay.UI.drawing");
|
||||
end
|
||||
|
||||
return ailment_buildup;
|
||||
@@ -54,7 +54,8 @@ function ailment_hook.poison_proc(poison_param)
|
||||
monster = small_monster.get_monster(enemy);
|
||||
end
|
||||
|
||||
ailments.calculate_ailment_contribution(monster, ailments.poison_id);
|
||||
monster.ailments[ailments.poison_id].cashed_buildup_share = monster.ailments[ailments.poison_id].buildup_share;
|
||||
ailments.clear_ailment_contribution(monster, ailments.poison_id);
|
||||
end
|
||||
|
||||
function ailment_hook.stock_damage()
|
||||
|
||||
@@ -3,6 +3,7 @@ local player;
|
||||
local language;
|
||||
local config;
|
||||
local ailment_UI_entity;
|
||||
local ailment_buildup_UI_entity;
|
||||
local time;
|
||||
local small_monster;
|
||||
local large_monster;
|
||||
@@ -139,13 +140,65 @@ function ailments.init_ailments()
|
||||
|
||||
_ailments[ailments.poison_id].buildup = {};
|
||||
_ailments[ailments.poison_id].buildup_share = {};
|
||||
_ailments[ailments.poison_id].cashed_buildup_share = {};
|
||||
|
||||
_ailments[ailments.blast_id].buildup = {};
|
||||
_ailments[ailments.blast_id].buildup_share = {};
|
||||
|
||||
_ailments[ailments.stun_id].buildup = {};
|
||||
_ailments[ailments.stun_id].buildup_share = {};
|
||||
|
||||
ailments.init_ailment_buildup_UI(_ailments);
|
||||
|
||||
return _ailments;
|
||||
end
|
||||
|
||||
function ailments.init_ailment_buildup_UI(_ailments)
|
||||
_ailments[ailments.stun_id].ailment_buildup_dynamic_UI = ailment_buildup_UI_entity.new(
|
||||
config.current_config.large_monster_UI.dynamic.ailment_buildups.buildup_bar,
|
||||
config.current_config.large_monster_UI.dynamic.ailment_buildups.highlighted_buildup_bar,
|
||||
config.current_config.large_monster_UI.dynamic.ailment_buildups.ailment_name_label,
|
||||
config.current_config.large_monster_UI.dynamic.ailment_buildups.player_name_label,
|
||||
config.current_config.large_monster_UI.dynamic.ailment_buildups.buildup_value_label,
|
||||
config.current_config.large_monster_UI.dynamic.ailment_buildups.buildup_percentage_label,
|
||||
config.current_config.large_monster_UI.dynamic.ailment_buildups.total_buildup_label,
|
||||
config.current_config.large_monster_UI.dynamic.ailment_buildups.total_buildup_value_label
|
||||
);
|
||||
|
||||
_ailments[ailments.stun_id].ailment_buildup_static_UI = ailment_buildup_UI_entity.new(
|
||||
config.current_config.large_monster_UI.static.ailment_buildups.buildup_bar,
|
||||
config.current_config.large_monster_UI.static.ailment_buildups.highlighted_buildup_bar,
|
||||
config.current_config.large_monster_UI.static.ailment_buildups.ailment_name_label,
|
||||
config.current_config.large_monster_UI.static.ailment_buildups.player_name_label,
|
||||
config.current_config.large_monster_UI.static.ailment_buildups.buildup_value_label,
|
||||
config.current_config.large_monster_UI.static.ailment_buildups.buildup_percentage_label,
|
||||
config.current_config.large_monster_UI.static.ailment_buildups.total_buildup_label,
|
||||
config.current_config.large_monster_UI.static.ailment_buildups.total_buildup_value_label
|
||||
);
|
||||
|
||||
_ailments[ailments.stun_id].ailment_buildup_highlighted_UI = ailment_buildup_UI_entity.new(
|
||||
config.current_config.large_monster_UI.highlighted.ailment_buildups.buildup_bar,
|
||||
config.current_config.large_monster_UI.highlighted.ailment_buildups.highlighted_buildup_bar,
|
||||
config.current_config.large_monster_UI.highlighted.ailment_buildups.ailment_name_label,
|
||||
config.current_config.large_monster_UI.highlighted.ailment_buildups.player_name_label,
|
||||
config.current_config.large_monster_UI.highlighted.ailment_buildups.buildup_value_label,
|
||||
config.current_config.large_monster_UI.highlighted.ailment_buildups.buildup_percentage_label,
|
||||
config.current_config.large_monster_UI.highlighted.ailment_buildups.total_buildup_label,
|
||||
config.current_config.large_monster_UI.highlighted.ailment_buildups.total_buildup_value_label
|
||||
);
|
||||
|
||||
_ailments[ailments.stun_id].ailment_buildup_small_UI = ailment_buildup_UI_entity.new(
|
||||
config.current_config.small_monster_UI.ailment_buildups.buildup_bar,
|
||||
config.current_config.small_monster_UI.ailment_buildups.highlighted_buildup_bar,
|
||||
config.current_config.small_monster_UI.ailment_buildups.ailment_name_label,
|
||||
config.current_config.small_monster_UI.ailment_buildups.player_name_label,
|
||||
config.current_config.small_monster_UI.ailment_buildups.buildup_value_label,
|
||||
config.current_config.small_monster_UI.ailment_buildups.buildup_percentage_label,
|
||||
config.current_config.small_monster_UI.ailment_buildups.total_buildup_label,
|
||||
config.current_config.small_monster_UI.ailment_buildups.total_buildup_value_label
|
||||
);
|
||||
end
|
||||
|
||||
local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase");
|
||||
local enemy_condition_damage_param_base_type_def = sdk.find_type_definition("snow.enemy.EnemyConditionDamageParamBase");
|
||||
|
||||
@@ -218,6 +271,10 @@ function ailments.update_ailments(enemy, monster)
|
||||
if activate_count ~= nil then
|
||||
if activate_count ~= monster.ailments[id].activate_count then
|
||||
ailments.update_last_change_time(monster, id);
|
||||
|
||||
if id == ailments.stun_id then
|
||||
ailments.clear_ailment_contribution(monster, ailments.stun_id);
|
||||
end
|
||||
end
|
||||
|
||||
monster.ailments[id].activate_count = activate_count;
|
||||
@@ -267,7 +324,7 @@ function ailments.update_ailments(enemy, monster)
|
||||
monster.ailments[id].duration = duration;
|
||||
end
|
||||
|
||||
if duration ~= 0 then
|
||||
if duration ~= 0 and duration ~= nil then
|
||||
monster.ailments[id].timer_percentage = timer / monster.ailments[id].duration;
|
||||
end
|
||||
|
||||
@@ -286,14 +343,6 @@ function ailments.update_ailments(enemy, monster)
|
||||
monster.ailments[id].minutes_left = minutes_left;
|
||||
monster.ailments[id].seconds_left = seconds_left;
|
||||
end
|
||||
|
||||
if is_active ~= nil then
|
||||
if is_active ~= monster.ailments[id].is_active then
|
||||
ailments.update_last_change_time(monster, id);
|
||||
end
|
||||
|
||||
monster.ailments[id].is_active = is_active;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -323,12 +372,11 @@ function ailments.update_poison_blast(monster, poison_param, blast_param)
|
||||
|
||||
if activate_count > monster.ailments[ailments.blast_id].activate_count then
|
||||
monster.ailments[ailments.blast_id].activate_count = activate_count;
|
||||
ailments.calculate_ailment_contribution(monster, ailments.blast_id);
|
||||
|
||||
local blast_damage = blast_damage_method:call(blast_param);
|
||||
local blast_adjust_rate = blast_adjust_rate_method:call(blast_param);
|
||||
|
||||
ailments.apply_ailment_damage(monster, ailments.blast_id, blast_damage * blast_adjust_rate);
|
||||
ailments.clear_ailment_contribution(monster, ailments.blast_id);
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -643,7 +691,8 @@ function ailments.draw_small(monster, ailments_position_on_screen, opacity_scale
|
||||
end
|
||||
|
||||
function ailments.apply_ailment_buildup(monster, attacker_id, ailment_type, ailment_buildup)
|
||||
if monster == nil or player == nil or (ailment_type ~= ailments.poison_id and ailment_type ~= ailments.blast_id) then
|
||||
|
||||
if monster == nil or player == nil or (ailment_type ~= ailments.poison_id and ailment_type ~= ailments.blast_id and ailment_type ~= ailments.stun_id) then
|
||||
return;
|
||||
end
|
||||
|
||||
@@ -654,6 +703,8 @@ function ailments.apply_ailment_buildup(monster, attacker_id, ailment_type, ailm
|
||||
|
||||
-- accumulate this buildup for this attacker
|
||||
monster.ailments[ailment_type].buildup[attacker_id] = (monster.ailments[ailment_type].buildup[attacker_id] or 0) + ailment_buildup;
|
||||
|
||||
ailments.calculate_ailment_contribution(monster, ailment_type);
|
||||
end
|
||||
|
||||
-- Code by coavins
|
||||
@@ -667,8 +718,12 @@ function ailments.calculate_ailment_contribution(monster, ailment_type)
|
||||
for attacker_id, player_buildup in pairs(monster.ailments[ailment_type].buildup) do
|
||||
-- update ratio for this attacker
|
||||
monster.ailments[ailment_type].buildup_share[attacker_id] = player_buildup / total;
|
||||
-- clear accumulated buildup for this attacker
|
||||
-- they have to start over to earn a share of next ailment trigger
|
||||
end
|
||||
end
|
||||
|
||||
function ailments.clear_ailment_contribution(monster, ailment_type)
|
||||
for attacker_id, player_buildup in pairs(monster.ailments[ailment_type].buildup) do
|
||||
monster.ailments[ailment_type].buildup_share[attacker_id] = 0;
|
||||
monster.ailments[ailment_type].buildup[attacker_id] = 0;
|
||||
end
|
||||
end
|
||||
@@ -681,8 +736,10 @@ function ailments.apply_ailment_damage(monster, ailment_type, ailment_damage)
|
||||
end
|
||||
|
||||
local damage_source_type = "";
|
||||
local buildup_share = monster.ailments[ailment_type].buildup_share;
|
||||
if ailment_type == ailments.poison_id then
|
||||
damage_source_type = "poison";
|
||||
buildup_share = monster.ailments[ailment_type]._cached_buildup_share;
|
||||
elseif ailment_type == ailments.blast_id then
|
||||
damage_source_type = "blast";
|
||||
else
|
||||
@@ -693,7 +750,7 @@ function ailments.apply_ailment_damage(monster, ailment_type, ailment_damage)
|
||||
|
||||
|
||||
-- split up damage according to ratio of buildup on boss for this type
|
||||
for attacker_id, percentage in pairs(monster.ailments[ailment_type].buildup_share) do
|
||||
for attacker_id, percentage in pairs(buildup_share) do
|
||||
local damage_portion = damage * percentage;
|
||||
|
||||
local damage_object = {};
|
||||
@@ -719,6 +776,7 @@ function ailments.init_module()
|
||||
language = require("MHR_Overlay.Misc.language");
|
||||
config = require("MHR_Overlay.Misc.config");
|
||||
ailment_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_UI_entity");
|
||||
ailment_buildup_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_buildup_UI_entity");
|
||||
time = require("MHR_Overlay.Game_Handler.time");
|
||||
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
||||
large_monster = require("MHR_Overlay.Monsters.large_monster");
|
||||
|
||||
@@ -8,6 +8,7 @@ local health_UI_entity;
|
||||
local stamina_UI_entity;
|
||||
local rage_UI_entity;
|
||||
local ailment_UI_entity;
|
||||
local ailment_buildup;
|
||||
local screen;
|
||||
local drawing;
|
||||
local ailments;
|
||||
@@ -688,6 +689,11 @@ function large_monster.draw_dynamic(monster, position_on_screen, opacity_scale)
|
||||
x = position_on_screen.x + config.current_config.large_monster_UI.dynamic.ailments.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.dynamic.ailments.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
local ailment_buildups_position_on_screen = {
|
||||
x = position_on_screen.x + config.current_config.large_monster_UI.dynamic.ailment_buildups.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.dynamic.ailment_buildups.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
health_UI_entity.draw(monster, monster.health_dynamic_UI, health_position_on_screen, opacity_scale);
|
||||
drawing.draw_capture_line(monster.health_dynamic_UI.bar, health_position_on_screen, opacity_scale, monster.capture_percentage);
|
||||
@@ -707,6 +713,7 @@ function large_monster.draw_dynamic(monster, position_on_screen, opacity_scale)
|
||||
end
|
||||
|
||||
ailments.draw_dynamic(monster, ailments_position_on_screen, opacity_scale);
|
||||
ailment_buildup.draw_dynamic(monster, ailment_buildups_position_on_screen, opacity_scale);
|
||||
end
|
||||
|
||||
function large_monster.draw_static(monster, position_on_screen, opacity_scale)
|
||||
@@ -762,6 +769,11 @@ function large_monster.draw_static(monster, position_on_screen, opacity_scale)
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.static.ailments.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
local ailment_buildups_position_on_screen = {
|
||||
x = position_on_screen.x + config.current_config.large_monster_UI.static.ailment_buildups.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.static.ailment_buildups.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
health_UI_entity.draw(monster, monster.health_static_UI, health_position_on_screen, opacity_scale);
|
||||
drawing.draw_capture_line(monster.health_static_UI.bar, health_position_on_screen, opacity_scale, monster.capture_percentage);
|
||||
|
||||
@@ -773,13 +785,14 @@ function large_monster.draw_static(monster, position_on_screen, opacity_scale)
|
||||
if config.current_config.large_monster_UI.static.ailments.settings.offset_is_relative_to_parts then
|
||||
if last_part_position_on_screen ~= nil then
|
||||
ailments_position_on_screen = {
|
||||
x = last_part_position_on_screen.x + config.current_config.large_monster_UI.highlighted.ailments.relative_offset.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = last_part_position_on_screen.y + config.current_config.large_monster_UI.highlighted.ailments.relative_offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
x = last_part_position_on_screen.x + config.current_config.large_monster_UI.static.ailments.relative_offset.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = last_part_position_on_screen.y + config.current_config.large_monster_UI.static.ailments.relative_offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
end
|
||||
end
|
||||
|
||||
ailments.draw_static(monster, ailments_position_on_screen, opacity_scale);
|
||||
ailment_buildup.draw_static(monster, ailment_buildups_position_on_screen, opacity_scale);
|
||||
end
|
||||
|
||||
function large_monster.draw_highlighted(monster, position_on_screen, opacity_scale)
|
||||
@@ -834,6 +847,11 @@ function large_monster.draw_highlighted(monster, position_on_screen, opacity_sca
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.highlighted.ailments.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
local ailment_buildups_position_on_screen = {
|
||||
x = position_on_screen.x + config.current_config.large_monster_UI.highlighted.ailment_buildups.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = position_on_screen.y + config.current_config.large_monster_UI.highlighted.ailment_buildups.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
health_UI_entity.draw(monster, monster.health_highlighted_UI, health_position_on_screen, opacity_scale);
|
||||
drawing.draw_capture_line(monster.health_highlighted_UI.bar, health_position_on_screen, opacity_scale, monster.capture_percentage);
|
||||
|
||||
@@ -842,8 +860,6 @@ function large_monster.draw_highlighted(monster, position_on_screen, opacity_sca
|
||||
|
||||
local last_part_position_on_screen = body_part.draw_highlighted(monster, parts_position_on_screen, opacity_scale);
|
||||
|
||||
|
||||
|
||||
if config.current_config.large_monster_UI.highlighted.ailments.settings.offset_is_relative_to_parts then
|
||||
if last_part_position_on_screen ~= nil then
|
||||
ailments_position_on_screen = {
|
||||
@@ -854,6 +870,7 @@ function large_monster.draw_highlighted(monster, position_on_screen, opacity_sca
|
||||
end
|
||||
|
||||
ailments.draw_highlighted(monster, ailments_position_on_screen, opacity_scale);
|
||||
ailment_buildup.draw_highlighted(monster, ailment_buildups_position_on_screen, opacity_scale);
|
||||
end
|
||||
|
||||
function large_monster.init_list()
|
||||
@@ -877,6 +894,7 @@ function large_monster.init_module()
|
||||
ailments = require("MHR_Overlay.Monsters.ailments");
|
||||
player = require("MHR_Overlay.Damage_Meter.player");
|
||||
time = require("MHR_Overlay.Game_Handler.time");
|
||||
ailment_buildup = require("MHR_Overlay.Monsters.ailment_buildup");
|
||||
end
|
||||
|
||||
return large_monster;
|
||||
@@ -9,6 +9,7 @@ local screen;
|
||||
local drawing;
|
||||
local ailments;
|
||||
local ailment_UI_entity;
|
||||
local ailment_buildup;
|
||||
|
||||
small_monster.list = {};
|
||||
|
||||
@@ -282,11 +283,18 @@ function small_monster.draw(monster, position_on_screen, opacity_scale)
|
||||
x = position_on_screen.x + config.current_config.small_monster_UI.ailments.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = position_on_screen.y + config.current_config.small_monster_UI.ailments.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
local ailment_buildups_position_on_screen = {
|
||||
x = position_on_screen.x + config.current_config.small_monster_UI.ailment_buildups.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier,
|
||||
y = position_on_screen.y + config.current_config.small_monster_UI.ailment_buildups.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier
|
||||
};
|
||||
|
||||
health_UI_entity.draw(monster, monster.health_UI, health_position_on_screen, opacity_scale);
|
||||
stamina_UI_entity.draw(monster, monster.stamina_UI, stamina_position_on_screen, opacity_scale);
|
||||
|
||||
ailments.draw_small(monster, ailments_position_on_screen, opacity_scale);
|
||||
ailment_buildup.draw_small(monster, ailment_buildups_position_on_screen, opacity_scale);
|
||||
|
||||
end
|
||||
|
||||
function small_monster.init_list()
|
||||
@@ -304,6 +312,7 @@ function small_monster.init_module()
|
||||
drawing = require("MHR_Overlay.UI.drawing");
|
||||
ailments = require("MHR_Overlay.Monsters.ailments");
|
||||
ailment_UI_entity = require("MHR_Overlay.UI.UI_Entities.ailment_UI_entity");
|
||||
ailment_buildup = require("MHR_Overlay.Monsters.ailment_buildup");
|
||||
end
|
||||
|
||||
return small_monster;
|
||||
@@ -0,0 +1,154 @@
|
||||
local ailment_buildup_UI_entity = {};
|
||||
local table_helpers;
|
||||
local drawing;
|
||||
local config;
|
||||
local player;
|
||||
local language;
|
||||
|
||||
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)
|
||||
local entity = {};
|
||||
|
||||
|
||||
--entity.visibility = visibility;
|
||||
entity.buildup_bar = table_helpers.deep_copy(buildup_bar);
|
||||
entity.highlighted_buildup_bar = table_helpers.deep_copy(highlighted_buildup_bar);
|
||||
entity.ailment_name_label = table_helpers.deep_copy(ailment_name_label);
|
||||
entity.player_name_label = table_helpers.deep_copy(player_name_label);
|
||||
entity.buildup_value_label = table_helpers.deep_copy(buildup_value_label);
|
||||
entity.buildup_percentage_label = table_helpers.deep_copy(buildup_percentage_label);
|
||||
entity.total_buildup_label = table_helpers.deep_copy(total_buildup_label);
|
||||
entity.total_buildup_value_label = table_helpers.deep_copy(total_buildup_value_label);
|
||||
|
||||
entity.buildup_bar.offset.x = entity.buildup_bar.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.buildup_bar.offset.y = entity.buildup_bar.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.buildup_bar.size.width = entity.buildup_bar.size.width * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.buildup_bar.size.height = entity.buildup_bar.size.height * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
entity.highlighted_buildup_bar.offset.x = entity.highlighted_buildup_bar.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.highlighted_buildup_bar.offset.y = entity.highlighted_buildup_bar.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.highlighted_buildup_bar.size.width = entity.highlighted_buildup_bar.size.width * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.highlighted_buildup_bar.size.height = entity.highlighted_buildup_bar.size.height * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
entity.player_name_label.offset.x = entity.player_name_label.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.player_name_label.offset.y = entity.player_name_label.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
entity.buildup_value_label.offset.x = entity.buildup_value_label.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.buildup_value_label.offset.y = entity.buildup_value_label.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
entity.buildup_percentage_label.offset.x = entity.buildup_percentage_label.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.buildup_percentage_label.offset.y = entity.buildup_percentage_label.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
entity.total_buildup_label.offset.x = entity.total_buildup_label.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.total_buildup_label.offset.y = entity.total_buildup_label.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
entity.total_buildup_value_label.offset.x = entity.total_buildup_value_label.offset.x * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
entity.total_buildup_value_label.offset.y = entity.total_buildup_value_label.offset.y * config.current_config.global_settings.modifiers.global_scale_modifier;
|
||||
|
||||
return entity;
|
||||
end
|
||||
|
||||
function ailment_buildup_UI_entity.draw_dynamic(_player, ailment_buildup_UI, position_on_screen, opacity_scale, top_buildup)
|
||||
|
||||
local player_buildup_bar_percentage = 0;
|
||||
if config.current_config.large_monster_UI.dynamic.ailment_buildups.settings.buildup_bar_relative_to == "Total Buildup" then
|
||||
player_buildup_bar_percentage = _player.buildup_share;
|
||||
else
|
||||
if top_buildup ~= 0 then
|
||||
player_buildup_bar_percentage = _player.buildup / top_buildup;
|
||||
end
|
||||
end
|
||||
|
||||
if _player.id == player.myself.id and config.current_config.large_monster_UI.dynamic.ailment_buildups.settings.highlighted_bar == "Me" then
|
||||
drawing.draw_bar(ailment_buildup_UI.highlighted_buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
elseif config.current_config.large_monster_UI.dynamic.ailment_buildups.settings.highlighted_bar == "Top Buildup" and _player.buildup == top_buildup then
|
||||
drawing.draw_bar(ailment_buildup_UI.highlighted_buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
else
|
||||
drawing.draw_bar(ailment_buildup_UI.buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
end
|
||||
|
||||
drawing.draw_label(ailment_buildup_UI.player_name_label, position_on_screen, opacity_scale, player.get_player(_player.id).name);
|
||||
drawing.draw_label(ailment_buildup_UI.buildup_value_label, position_on_screen, opacity_scale, _player.buildup);
|
||||
drawing.draw_label(ailment_buildup_UI.buildup_percentage_label, position_on_screen, opacity_scale, 100 * _player.buildup_share);
|
||||
end
|
||||
|
||||
function ailment_buildup_UI_entity.draw_static(_player, ailment_buildup_UI, position_on_screen, opacity_scale, top_buildup)
|
||||
|
||||
local player_buildup_bar_percentage = 0;
|
||||
if config.current_config.large_monster_UI.static.ailment_buildups.settings.buildup_bar_relative_to == "Total Buildup" then
|
||||
player_buildup_bar_percentage = _player.buildup_share;
|
||||
else
|
||||
if top_buildup ~= 0 then
|
||||
player_buildup_bar_percentage = _player.buildup / top_buildup;
|
||||
end
|
||||
end
|
||||
|
||||
if _player.id == player.myself.id and config.current_config.large_monster_UI.static.ailment_buildups.settings.highlighted_bar == "Me" then
|
||||
drawing.draw_bar(ailment_buildup_UI.highlighted_buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
elseif config.current_config.large_monster_UI.static.ailment_buildups.settings.highlighted_bar == "Top Buildup" and _player.buildup == top_buildup then
|
||||
drawing.draw_bar(ailment_buildup_UI.highlighted_buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
else
|
||||
drawing.draw_bar(ailment_buildup_UI.buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
end
|
||||
|
||||
drawing.draw_label(ailment_buildup_UI.player_name_label, position_on_screen, opacity_scale, player.get_player(_player.id).name);
|
||||
drawing.draw_label(ailment_buildup_UI.buildup_value_label, position_on_screen, opacity_scale, _player.buildup);
|
||||
drawing.draw_label(ailment_buildup_UI.buildup_percentage_label, position_on_screen, opacity_scale, 100 * _player.buildup_share);
|
||||
end
|
||||
|
||||
function ailment_buildup_UI_entity.draw_highlighted(_player, ailment_buildup_UI, position_on_screen, opacity_scale, top_buildup)
|
||||
|
||||
local player_buildup_bar_percentage = 0;
|
||||
if config.current_config.large_monster_UI.highlighted.ailment_buildups.settings.buildup_bar_relative_to == "Total Buildup" then
|
||||
player_buildup_bar_percentage = _player.buildup_share;
|
||||
else
|
||||
if top_buildup ~= 0 then
|
||||
player_buildup_bar_percentage = _player.buildup / top_buildup;
|
||||
end
|
||||
end
|
||||
|
||||
if _player.id == player.myself.id and config.current_config.large_monster_UI.highlighted.ailment_buildups.settings.highlighted_bar == "Me" then
|
||||
drawing.draw_bar(ailment_buildup_UI.highlighted_buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
elseif config.current_config.large_monster_UI.highlighted.ailment_buildups.settings.highlighted_bar == "Top Buildup" and _player.buildup == top_buildup then
|
||||
drawing.draw_bar(ailment_buildup_UI.highlighted_buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
else
|
||||
drawing.draw_bar(ailment_buildup_UI.buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
end
|
||||
|
||||
drawing.draw_label(ailment_buildup_UI.player_name_label, position_on_screen, opacity_scale, player.get_player(_player.id).name);
|
||||
drawing.draw_label(ailment_buildup_UI.buildup_value_label, position_on_screen, opacity_scale, _player.buildup);
|
||||
drawing.draw_label(ailment_buildup_UI.buildup_percentage_label, position_on_screen, opacity_scale, 100 * _player.buildup_share);
|
||||
end
|
||||
|
||||
function ailment_buildup_UI_entity.draw_small(_player, ailment_buildup_UI, position_on_screen, opacity_scale, top_buildup)
|
||||
|
||||
local player_buildup_bar_percentage = 0;
|
||||
if config.current_config.small_monster_UI.ailment_buildups.settings.buildup_bar_relative_to == "Total Buildup" then
|
||||
player_buildup_bar_percentage = _player.buildup_share;
|
||||
else
|
||||
if top_buildup ~= 0 then
|
||||
player_buildup_bar_percentage = _player.buildup / top_buildup;
|
||||
end
|
||||
end
|
||||
|
||||
if _player.id == player.myself.id and config.current_config.small_monster_UI.ailment_buildups.settings.highlighted_bar == "Me" then
|
||||
drawing.draw_bar(ailment_buildup_UI.highlighted_buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
elseif config.current_config.small_monster_UI.ailment_buildups.settings.highlighted_bar == "Top Buildup" and _player.buildup == top_buildup then
|
||||
drawing.draw_bar(ailment_buildup_UI.highlighted_buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
else
|
||||
drawing.draw_bar(ailment_buildup_UI.buildup_bar, position_on_screen, opacity_scale, player_buildup_bar_percentage);
|
||||
end
|
||||
|
||||
drawing.draw_label(ailment_buildup_UI.player_name_label, position_on_screen, opacity_scale, player.get_player(_player.id).name);
|
||||
drawing.draw_label(ailment_buildup_UI.buildup_value_label, position_on_screen, opacity_scale, _player.buildup);
|
||||
drawing.draw_label(ailment_buildup_UI.buildup_percentage_label, position_on_screen, opacity_scale, 100 * _player.buildup_share);
|
||||
end
|
||||
|
||||
function ailment_buildup_UI_entity.init_module()
|
||||
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
||||
drawing = require("MHR_Overlay.UI.drawing");
|
||||
config = require("MHR_Overlay.Misc.config");
|
||||
player = require("MHR_Overlay.Damage_Meter.player");
|
||||
language = require("MHR_Overlay.Misc.language");
|
||||
end
|
||||
|
||||
return ailment_buildup_UI_entity;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,6 +8,7 @@
|
||||
"rage": "Rage:",
|
||||
"silver": "Silver",
|
||||
"stamina": "Stamina:",
|
||||
"total_buildup": "Total Buildup",
|
||||
"total_damage": "Total Damage"
|
||||
},
|
||||
"ailments": {
|
||||
@@ -36,9 +37,11 @@
|
||||
"UI_font": "UI Font",
|
||||
"UI_font_notice": "Any changes to the font require script reload!",
|
||||
"activation_count": "Activation Count",
|
||||
"ailment_buildups": "Ailment Buildups",
|
||||
"ailment_name": "Ailment Name",
|
||||
"ailment_name_label": "Ailment Name Label",
|
||||
"ailments": "Ailments",
|
||||
"ailments_spacing": "Ailment Spacing",
|
||||
"all_UI": "All UI",
|
||||
"anchor": "Anchor",
|
||||
"assign_new_key": "Assign new key",
|
||||
@@ -51,7 +54,11 @@
|
||||
"bottom_left": "Bottom-Left",
|
||||
"bottom_right": "Bottom-Right",
|
||||
"buildup": "Buildup",
|
||||
"buildup_bar": "Buildup Bar",
|
||||
"buildup_bars_are_relative_to": "Buildup Bars are relative to",
|
||||
"buildup_percentage": "Buildup Percentage",
|
||||
"buildup_percentage_label": "Buildup Percentage Label",
|
||||
"buildup_value_label": "Buildup Value Label",
|
||||
"capture_line": "Capture Line",
|
||||
"color": "Color",
|
||||
"colors": "Colors",
|
||||
@@ -76,6 +83,7 @@
|
||||
"endemic_life_UI": "Endemic Life UI",
|
||||
"family": "Family",
|
||||
"fight_time": "Fight Time",
|
||||
"filter": "Filter",
|
||||
"first": "First",
|
||||
"first_hit": "First Hit",
|
||||
"flinch_count": "Flinch Count",
|
||||
@@ -99,6 +107,7 @@
|
||||
"hide_undamaged_parts": "Hide Undamaged Parts",
|
||||
"highlighted": "Highlighted (targeted)",
|
||||
"highlighted_bar": "Highlighted Bar",
|
||||
"highlighted_buildup_bar": "Highlighted Buildup Bar",
|
||||
"highlighted_damage_bar": "Highlighted Damage Bar",
|
||||
"horizontal": "Horizontal",
|
||||
"hotkeys": "Hotkeys",
|
||||
@@ -145,6 +154,7 @@
|
||||
"player_id": "Player ID",
|
||||
"player_name": "Player Name",
|
||||
"player_name_label": "Player Name Label",
|
||||
"players_spacing": "Player Spacing",
|
||||
"poison_damage": "Poison Damage",
|
||||
"position": "Position",
|
||||
"press_any_key": "Press any key...",
|
||||
@@ -175,10 +185,14 @@
|
||||
"time_label": "Time Label",
|
||||
"time_limit": "Time Limit (seconds)",
|
||||
"timer_label": "Timer Label",
|
||||
"top_buildup": "Top Buildup",
|
||||
"top_damage": "Top Damage",
|
||||
"top_dps": "Top DPS",
|
||||
"top_left": "Top-Left",
|
||||
"top_right": "Top-Right",
|
||||
"total_buildup": "Total Buildup",
|
||||
"total_buildup_label": "Total Buildup Label",
|
||||
"total_buildup_value_label": "Total Buildup Value Label",
|
||||
"total_damage": "Total Damage",
|
||||
"total_damage_label": "Total Damage Label",
|
||||
"total_damage_offset_is_relative": "Total Damage Offset is Relative",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"rage": "분노:",
|
||||
"silver": "은관",
|
||||
"stamina": "스태미나:",
|
||||
"total_buildup": "Total Buildup",
|
||||
"total_damage": "총 대미지"
|
||||
},
|
||||
"ailments": {
|
||||
@@ -36,9 +37,11 @@
|
||||
"UI_font": "UI 글꼴",
|
||||
"UI_font_notice": "글꼴 변경시 스크립트를 리로드 해야합니다!",
|
||||
"activation_count": "Activation Count",
|
||||
"ailment_buildups": "Ailment Buildups",
|
||||
"ailment_name": "Ailment Name",
|
||||
"ailment_name_label": "Ailment Name Label",
|
||||
"ailments": "Ailments",
|
||||
"ailments_spacing": "Ailment Spacing",
|
||||
"all_UI": "모든 UI",
|
||||
"anchor": "기준",
|
||||
"assign_new_key": "새 키를 할당",
|
||||
@@ -52,7 +55,11 @@
|
||||
"bottom_right": "우하단",
|
||||
"break_count": "파괴 횟수",
|
||||
"buildup": "Buildup",
|
||||
"buildup_bar": "Buildup Bar",
|
||||
"buildup_bars_are_relative_to": "Buildup Bars are relative to",
|
||||
"buildup_percentage": "Buildup Percentage",
|
||||
"buildup_percentage_label": "Buildup Percentage Label",
|
||||
"buildup_value_label": "Buildup Value Label",
|
||||
"capture_line": "포획 표시선",
|
||||
"color": "색상",
|
||||
"colors": "색상",
|
||||
@@ -77,6 +84,7 @@
|
||||
"endemic_life_UI": "Endemic Life UI",
|
||||
"family": "글꼴",
|
||||
"fight_time": "전투 시간",
|
||||
"filter": "Filter",
|
||||
"first": "처음",
|
||||
"first_hit": "첫 공격",
|
||||
"flinch_count": "경직 횟수",
|
||||
@@ -100,6 +108,7 @@
|
||||
"hide_undamaged_parts": "피해를 입히지 않은 부위 숨김",
|
||||
"highlighted": "타겟 몬스터 표시",
|
||||
"highlighted_bar": "타겟 몬스터 막대",
|
||||
"highlighted_buildup_bar": "Highlighted Buildup Bar",
|
||||
"highlighted_damage_bar": "타겟 몬스터 대미지 막대",
|
||||
"horizontal": "가로",
|
||||
"hotkeys": "단축키",
|
||||
@@ -146,6 +155,7 @@
|
||||
"player_id": "헌터 ID",
|
||||
"player_name": "헌터명",
|
||||
"player_name_label": "헌터명 라벨",
|
||||
"players_spacing": "Player Spacing",
|
||||
"poison_damage": "독 대미지",
|
||||
"position": "위치",
|
||||
"press_any_key": "설정할 키를 누르세요...",
|
||||
@@ -176,10 +186,14 @@
|
||||
"time_label": "시간 라벨",
|
||||
"time_limit": "Time Limit (seconds)",
|
||||
"timer_label": "타이머 라벨",
|
||||
"top_buildup": "Top Buildup",
|
||||
"top_damage": "최고 대미지",
|
||||
"top_dps": "최고 DPS",
|
||||
"top_left": "좌상단",
|
||||
"top_right": "우상단",
|
||||
"total_buildup": "Total Buildup",
|
||||
"total_buildup_label": "Tota Buildup Label",
|
||||
"total_buildup_value_label": "Tota Buildup Value Label",
|
||||
"total_damage": "총 대미지",
|
||||
"total_damage_label": "총 대미지 라벨",
|
||||
"total_damage_offset_is_relative": "총 대미지 위치를 상대적 위치로",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"rage": "Ярость:",
|
||||
"silver": "Серебро",
|
||||
"stamina": "Выносливость:",
|
||||
"total_buildup": "Total Buildup",
|
||||
"total_damage": "Общий урон"
|
||||
},
|
||||
"ailments": {
|
||||
@@ -36,9 +37,11 @@
|
||||
"UI_font": "Шрифт интерфейса",
|
||||
"UI_font_notice": "Любые изменения шрифта требуют перезагрузку скрипта!",
|
||||
"activation_count": "Кол-во активаций",
|
||||
"ailment_buildups": "Ailment Buildups",
|
||||
"ailment_name": "Название аномального статуса",
|
||||
"ailment_name_label": "Метка названия аномального статуса",
|
||||
"ailments": "Аномальные статусы",
|
||||
"ailments_spacing": "Ailment Spacing",
|
||||
"all_UI": "Весь интерфейс",
|
||||
"anchor": "Привязка",
|
||||
"assign_new_key": "Привязать клавишу",
|
||||
@@ -52,7 +55,11 @@
|
||||
"bottom_right": "Правй нижний угол",
|
||||
"break_count": "Счётчик повреждений",
|
||||
"buildup": "Накопление",
|
||||
"buildup_bar": "Buildup Bar",
|
||||
"buildup_bars_are_relative_to": "Buildup Bars are relative to",
|
||||
"buildup_percentage": "Процент накопления",
|
||||
"buildup_percentage_label": "Buildup Percentage Label",
|
||||
"buildup_value_label": "Buildup Value Label",
|
||||
"capture_line": "Линия здоровья захвата",
|
||||
"color": "Цвет",
|
||||
"colors": "Цвета",
|
||||
@@ -77,6 +84,7 @@
|
||||
"endemic_life_UI": "Интерфейс местной живности",
|
||||
"family": "Семейство",
|
||||
"fight_time": "Время в бою",
|
||||
"filter": "Filter",
|
||||
"first": "Первый",
|
||||
"first_hit": "Первый удар",
|
||||
"flinch_count": "Кол-во повреждений",
|
||||
@@ -100,6 +108,7 @@
|
||||
"hide_undamaged_parts": "Скрыть неповреждённые части тела",
|
||||
"highlighted": "Помеченный",
|
||||
"highlighted_bar": "Помеченная шкала",
|
||||
"highlighted_buildup_bar": "Highlighted Buildup Bar",
|
||||
"highlighted_damage_bar": "Помеченная шкала урона",
|
||||
"horizontal": "Горизонтально",
|
||||
"hotkeys": "Горячие клавиши",
|
||||
@@ -146,6 +155,7 @@
|
||||
"player_id": "ИД игрока",
|
||||
"player_name": "Имя игрока",
|
||||
"player_name_label": "Метка имени игрока",
|
||||
"players_spacing": "Player Spacing",
|
||||
"poison_damage": "Урон от отравления",
|
||||
"position": "Расположение",
|
||||
"press_any_key": "Нажмите любую клавишу...",
|
||||
@@ -176,10 +186,14 @@
|
||||
"time_label": "Метка времени",
|
||||
"time_limit": "Ограничение по времени",
|
||||
"timer_label": "Метка таймера",
|
||||
"top_buildup": "Top Buildup",
|
||||
"top_damage": "Наибольший урон",
|
||||
"top_dps": "Наибольший урон в секунду",
|
||||
"top_left": "Левый верхний угол",
|
||||
"top_right": "Правый верхний угол",
|
||||
"total_buildup": "Total Buildup",
|
||||
"total_buildup_label": "Tota Buildup Label",
|
||||
"total_buildup_value_label": "Tota Buildup Value Label",
|
||||
"total_damage": "Общий урон",
|
||||
"total_damage_label": "Метка общего урона",
|
||||
"total_damage_offset_is_relative": "Относительный сдвиг общего урона",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"rage": "憤怒值:",
|
||||
"silver": "銀冠",
|
||||
"stamina": "耐力:",
|
||||
"total_buildup": "Total Buildup",
|
||||
"total_damage": "總傷害"
|
||||
},
|
||||
"ailments": {
|
||||
@@ -36,9 +37,11 @@
|
||||
"UI_font": "UI 字體",
|
||||
"UI_font_notice": "當更改文字時,請重新載入",
|
||||
"activation_count": "Activation Count",
|
||||
"ailment_buildups": "Ailment Buildups",
|
||||
"ailment_name": "Ailment Name",
|
||||
"ailment_name_label": "Ailment Name Label",
|
||||
"ailments": "Ailments",
|
||||
"ailments_spacing": "Ailment Spacing",
|
||||
"all_UI": "All UI",
|
||||
"anchor": "錨點",
|
||||
"assign_new_key": "Assign new key",
|
||||
@@ -52,7 +55,11 @@
|
||||
"bottom_right": "右下",
|
||||
"break_count": "破壞次數",
|
||||
"buildup": "Buildup",
|
||||
"buildup_bar": "Buildup Bar",
|
||||
"buildup_bars_are_relative_to": "Buildup Bars are relative to",
|
||||
"buildup_percentage": "Buildup Percentage",
|
||||
"buildup_percentage_label": "Buildup Percentage Label",
|
||||
"buildup_value_label": "Buildup Value Label",
|
||||
"capture_line": "可捕捉標記線",
|
||||
"color": "調色盤",
|
||||
"colors": "調色盤",
|
||||
@@ -77,6 +84,7 @@
|
||||
"endemic_life_UI": "Endemic Life UI",
|
||||
"family": "字體",
|
||||
"fight_time": "Fight Time",
|
||||
"filter": "Filter",
|
||||
"first": "第一",
|
||||
"first_hit": "First Hit",
|
||||
"flinch_count": "Flinch Count",
|
||||
@@ -100,6 +108,7 @@
|
||||
"hide_undamaged_parts": "隱藏沒受到傷害的部位",
|
||||
"highlighted": "Highlighted (targeted)",
|
||||
"highlighted_bar": "重點條",
|
||||
"highlighted_buildup_bar": "Highlighted Buildup Bar",
|
||||
"highlighted_damage_bar": "重點傷害條",
|
||||
"horizontal": "水平",
|
||||
"hotkeys": "Hotkeys",
|
||||
@@ -146,6 +155,7 @@
|
||||
"player_id": "玩家ID",
|
||||
"player_name": "玩家名稱",
|
||||
"player_name_label": "玩家名稱",
|
||||
"players_spacing": "Player Spacing",
|
||||
"poison_damage": "Poison Damage",
|
||||
"position": "位置",
|
||||
"press_any_key": "Press any key...",
|
||||
@@ -176,10 +186,14 @@
|
||||
"time_label": "時間",
|
||||
"time_limit": "Time Limit (seconds)",
|
||||
"timer_label": "計時器",
|
||||
"top_buildup": "Top Buildup",
|
||||
"top_damage": "最高傷害",
|
||||
"top_dps": "Top DPS",
|
||||
"top_left": "左上",
|
||||
"top_right": "右上",
|
||||
"total_buildup": "Total Buildup",
|
||||
"total_buildup_label": "Tota Buildup Label",
|
||||
"total_buildup_value_label": "Tota Buildup Value Label",
|
||||
"total_damage": "總傷害",
|
||||
"total_damage_label": "總傷害文字",
|
||||
"total_damage_offset_is_relative": "總傷害顯示位置調整",
|
||||
|
||||
Reference in New Issue
Block a user