From 735b862a1989fe19d15dee9209e81b61bc1c9be6 Mon Sep 17 00:00:00 2001 From: server Date: Thu, 16 Apr 2026 17:26:51 +0200 Subject: [PATCH] issue-4: support remote biolog submit from hud --- .../locale/english/quest/biolog_system.quest | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/share/locale/english/quest/biolog_system.quest b/share/locale/english/quest/biolog_system.quest index 3a8b518..14ea765 100644 --- a/share/locale/english/quest/biolog_system.quest +++ b/share/locale/english/quest/biolog_system.quest @@ -321,6 +321,18 @@ quest biolog_system begin return true end + function show_status_dialog() + say_title("Biolog Research") + say(biolog_system.get_status_text()) + say("") + + if not biolog_system.is_complete() and pc.getqf("biolog_stage") > 0 then + local stage = biolog_system.get_stage(pc.getqf("biolog_stage")) + say_item_vnum(stage.item_vnum) + say_reward(string.format("Submitted: %d / %d", pc.getqf("biolog_submitted"), stage.item_count)) + end + end + function is_target_mob(stage_index, race) local stage = biolog_system.get_stage(stage_index) if not stage then @@ -368,27 +380,24 @@ quest biolog_system begin biolog_system.refresh_tracker() end - when button or info begin - say_title("Biolog Research") - say(biolog_system.get_status_text()) - say("") - - if not biolog_system.is_complete() then - local stage = biolog_system.get_stage(pc.getqf("biolog_stage")) - say_item_vnum(stage.item_vnum) - say_reward(string.format("Submitted: %d / %d", pc.getqf("biolog_submitted"), stage.item_count)) + when button begin + if pc.getqf("remote_submit") != 0 then + pc.setqf("remote_submit", 0) + biolog_system.submit_sample() + else + biolog_system.show_status_dialog() end end + when info begin + biolog_system.show_status_dialog() + end + when 20084.chat."Biolog Research" begin - say_title("Biolog Research") - say(biolog_system.get_status_text()) - say("") + biolog_system.show_status_dialog() if not biolog_system.is_complete() and pc.getqf("biolog_stage") > 0 then local stage = biolog_system.get_stage(pc.getqf("biolog_stage")) - say_item_vnum(stage.item_vnum) - say_reward(string.format("Submitted: %d / %d", pc.getqf("biolog_submitted"), stage.item_count)) say_reward(string.format("Inventory: %d x %s", pc.count_item(stage.item_vnum), item_name(stage.item_vnum))) say("")