Divergent/mods/PDA Hacking/gamedata/scripts/modxml_pdahacking_unlockcos...

42 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

2024-03-17 20:18:03 -04:00
function on_xml_read()
if beo_mcm then return end
RegisterScriptCallback("on_xml_read", function(xml_file_name, xml_obj)
if xml_file_name:find( [[\dialogs.xml]] ) then
local query_res = xml_obj:query("dialog[id=dm_encrypted_pda] > phrase_list > phrase[id=1] > text")
if not (type(query_res) == "table" and size_table(query_res) == 1) then return end
local elem = query_res[1]
local phrase_elem = elem.parent
xml_obj:removeElement(elem)
xml_obj:insertFromXMLString([[<script_text>modxml_pdahacking_unlockcost.dialog_pda_unlock</script_text>]], phrase_elem, #phrase_elem.kids)
end
end)
end
function on_game_start()
if beo_mcm then return end
if not ui_mcm.get("pda_hacking/enable_tech_unlock_cost") then return end
base_have_encrypted_pda_money = ui_pda_npc_tab.have_encrypted_pda_money
function ui_pda_npc_tab.have_encrypted_pda_money(first_speaker, second_speaker)
local encrypted_pdas = ui_pda_npc_tab.get_encrypted_pdas()
local num = #encrypted_pdas
return mlr_utils.have_money(ui_mcm.get("pda_hacking/tech_unlock_cost") * num)
end
base_take_encrypted_pda_money = ui_pda_npc_tab.take_encrypted_pda_money
function ui_pda_npc_tab.take_encrypted_pda_money(first_speaker, second_speaker)
local encrypted_pdas = ui_pda_npc_tab.get_encrypted_pdas()
local num = #encrypted_pdas
dialogs.relocate_money_from_actor(first_speaker, second_speaker, num * ui_mcm.get("pda_hacking/tech_unlock_cost"))
end
end
function dialog_pda_unlock()
if ui_mcm.get("pda_hacking/enable_tech_unlock_cost") then
return strformat(game.translate_string("st_pdahacking_unlock_cost"), ui_mcm.get("pda_hacking/tech_unlock_cost"))
else
return "st_encrypted_pda_text_1"
end
end