mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-24 04:18:11 -08:00
Add Cart Count, fix Script Time;
This commit is contained in:
@@ -3,6 +3,7 @@ local singletons;
|
||||
local customization_menu;
|
||||
local player;
|
||||
local config;
|
||||
local small_monster;
|
||||
|
||||
local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager");
|
||||
local get_quest_elapsed_time_min_method = quest_manager_type_def:get_method("getQuestElapsedTimeMin");
|
||||
@@ -12,9 +13,16 @@ time.total_elapsed_seconds = 0;
|
||||
time.elapsed_minutes = 0;
|
||||
time.elapsed_seconds = 0;
|
||||
|
||||
time.last_elapsed_seconds = 0;
|
||||
time.total_elapsed_script_seconds = 0;
|
||||
time.last_elapsed_script_seconds = 0;
|
||||
|
||||
function time.update_script_time()
|
||||
time.total_elapsed_script_seconds = os.clock();
|
||||
end
|
||||
|
||||
function time.tick()
|
||||
time.update_script_time();
|
||||
|
||||
if singletons.quest_manager == nil then
|
||||
return;
|
||||
end
|
||||
@@ -36,9 +44,10 @@ function time.tick()
|
||||
time.total_elapsed_seconds = quest_time_total_elapsed_seconds;
|
||||
time.elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60;
|
||||
|
||||
if time.total_elapsed_seconds - time.last_elapsed_seconds > 60 / config.current_config.global_settings.performance.updates_rate then
|
||||
time.last_elapsed_seconds = time.total_elapsed_seconds;
|
||||
if time.total_elapsed_script_seconds - time.last_elapsed_script_seconds > config.current_config.global_settings.performance.update_rate then
|
||||
time.last_elapsed_script_seconds = time.total_elapsed_script_seconds;
|
||||
time.update_players_dps();
|
||||
time.update_small_monsters();
|
||||
end
|
||||
end
|
||||
|
||||
@@ -48,20 +57,20 @@ function time.update_players_dps()
|
||||
local new_total_dps = 0;
|
||||
for _, _player in pairs(player.list) do
|
||||
if _player.join_time == -1 then
|
||||
_player.join_time = time.total_elapsed_seconds;
|
||||
_player.join_time = time.total_elapsed_script_seconds;
|
||||
end
|
||||
|
||||
if cached_config.dps_mode == "Quest Time" then
|
||||
if time.total_elapsed_seconds > 0 then
|
||||
_player.dps = _player.display.total_damage / time.total_elapsed_seconds;
|
||||
if time.total_elapsed_script_seconds > 0 then
|
||||
_player.dps = _player.display.total_damage / time.total_elapsed_script_seconds;
|
||||
end
|
||||
elseif cached_config.dps_mode == "Join Time" then
|
||||
if time.total_elapsed_seconds - _player.join_time > 0 then
|
||||
_player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.join_time);
|
||||
if time.total_elapsed_script_seconds - _player.join_time > 0 then
|
||||
_player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.join_time);
|
||||
end
|
||||
elseif cached_config.dps_mode == "First Hit" then
|
||||
if time.total_elapsed_seconds - _player.first_hit_time > 0 then
|
||||
_player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.first_hit_time);
|
||||
if time.total_elapsed_script_seconds - _player.first_hit_time > 0 then
|
||||
_player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.first_hit_time);
|
||||
end
|
||||
else
|
||||
end
|
||||
@@ -72,12 +81,19 @@ function time.update_players_dps()
|
||||
player.total.dps = new_total_dps;
|
||||
end
|
||||
|
||||
function time.update_small_monsters()
|
||||
for enemy, monster in pairs(small_monster.list) do
|
||||
small_monster.update(enemy, monster);
|
||||
end
|
||||
end
|
||||
|
||||
function time.init_module()
|
||||
player = require("MHR_Overlay.Damage_Meter.player");
|
||||
singletons = require("MHR_Overlay.Game_Handler.singletons");
|
||||
customization_menu = require("MHR_Overlay.UI.customization_menu");
|
||||
time = require("MHR_Overlay.Game_Handler.time");
|
||||
config = require("MHR_Overlay.Misc.config");
|
||||
small_monster = require("MHR_Overlay.Monsters.small_monster");
|
||||
end
|
||||
|
||||
return time;
|
||||
Reference in New Issue
Block a user