67 lines
1.9 KiB
Plaintext
67 lines
1.9 KiB
Plaintext
tasks_info = {}
|
|
function create_overrides()
|
|
local original_give_talk_message2 = db.actor.give_talk_message2
|
|
db.actor.give_talk_message2 = function (...)
|
|
if ActorMenu.get_pda_menu():IsShown() then
|
|
local _, task_title, task_details, task_icon = ...
|
|
table.insert(tasks_info, {
|
|
task_title = task_title,
|
|
task_details = task_details,
|
|
task_icon = task_icon
|
|
})
|
|
else
|
|
original_give_talk_message2(...)
|
|
end
|
|
|
|
end
|
|
|
|
local original_GetTalkingNpc = mob_trade.GetTalkingNpc
|
|
mob_trade.GetTalkingNpc = function (...)
|
|
if ui_pda_taskboard_tab.currently_processed_npc_id then
|
|
return level.object_by_id(ui_pda_taskboard_tab.currently_processed_npc_id)
|
|
else
|
|
return original_GetTalkingNpc(...)
|
|
end
|
|
end
|
|
|
|
local original_is_talking = db.actor.is_talking
|
|
db.actor.is_talking = function (...)
|
|
if ui_pda_taskboard_tab.currently_processed_npc_id then
|
|
return true
|
|
else
|
|
return original_is_talking(...)
|
|
end
|
|
end
|
|
|
|
local original_get_speaker = _G.get_speaker
|
|
_G.get_speaker = function (...)
|
|
if ui_pda_taskboard_tab.currently_processed_npc_id then
|
|
return level.object_by_id(ui_pda_taskboard_tab.currently_processed_npc_id)
|
|
else
|
|
return original_get_speaker(...)
|
|
end
|
|
end
|
|
|
|
local original_set_active_subdialog = pda.set_active_subdialog
|
|
pda.set_active_subdialog = function (section)
|
|
if (section == "eptTaskboard") then
|
|
return ui_pda_taskboard_tab.get_ui()
|
|
else
|
|
return original_set_active_subdialog(section)
|
|
end
|
|
end
|
|
end
|
|
|
|
function clear_tasks_info()
|
|
tasks_info = {}
|
|
end
|
|
|
|
function push_task_info(task_info)
|
|
table.insert(tasks_info, task_info)
|
|
end
|
|
|
|
function on_game_start()
|
|
RegisterScriptCallback("on_game_load", create_overrides)
|
|
end
|
|
|