From 3e6fa410212b8d69f250fdb8996a37c0d1f1febf Mon Sep 17 00:00:00 2001 From: Zoltan Timar Date: Fri, 20 Mar 2026 18:23:17 +0100 Subject: [PATCH] feat: added mm discussions --- inc/decision/decision.start_discussion.lua | 2 +- inc/discussion/discussion.coworker.lua | 21 +++++++++ inc/discussion/discussion.sumphore.lua | 44 ++++++++++++++++++- inc/window/window.intro.title.lua | 10 ++--- inc/window/window.mysterious_man.lua | 51 ++++++++++++++++++---- 5 files changed, 113 insertions(+), 15 deletions(-) create mode 100644 inc/discussion/discussion.coworker.lua diff --git a/inc/decision/decision.start_discussion.lua b/inc/decision/decision.start_discussion.lua index 0c06afc..c28db57 100644 --- a/inc/decision/decision.start_discussion.lua +++ b/inc/decision/decision.start_discussion.lua @@ -12,7 +12,7 @@ Decision.register({ elseif Ascension.get_level() == 0 then Discussion.start("homeless_guy", "game", 4) else - Discussion.start("sumphore_day_3", "game") + Discussion.start("sumphore_asc_1_a", "game") end end, }) diff --git a/inc/discussion/discussion.coworker.lua b/inc/discussion/discussion.coworker.lua new file mode 100644 index 0000000..1f619b3 --- /dev/null +++ b/inc/discussion/discussion.coworker.lua @@ -0,0 +1,21 @@ +Discussion.register({ + id = "coworker_asc_1", + steps = { + { + question = "Normann you look weird and unfocused. You are usually locked in and not like this, what's up?", + answers = { + { label = "Nothing it's just, I noticed some bugs in the simulation, maybe.", next_step = 2 }, + { label = "Same old - same old", next_step = nil }, + }, + }, + { + question = "What kind of bugs?", + answers = { + { label = "Some of the data is not being processed correctly, I think.", next_step = nil }, + { label = "I don't know, I'm not a programmer.", next_step = nil, on_select = function() + Meter.add("ism", 10) + end }, + }, + }, + }, +}) \ No newline at end of file diff --git a/inc/discussion/discussion.sumphore.lua b/inc/discussion/discussion.sumphore.lua index 6025653..5cfff08 100644 --- a/inc/discussion/discussion.sumphore.lua +++ b/inc/discussion/discussion.sumphore.lua @@ -1,5 +1,5 @@ Discussion.register({ - id = "sumphore_day_3", + id = "sumphore_asc_1_a", steps = { { question = "Are you still seeking the ox?", @@ -17,6 +17,48 @@ Discussion.register({ }, }) +Discussion.register({ + id = "sumphore_asc_1_b", + steps = { + { + question = "How's work? Your face looks strange", + answers = { + { label = "I just really need to take a break.", next_step = 2 }, + { label = "Not sure what you mean.", next_step = nil }, + }, + }, + { + question = "Are you seeing things?", + answers = { + { label = "How did you know ?", next_step = 3 }, + { label = "I'm not sure what you mean.", next_step = nil }, + }, + }, + { + question = "Come have a drink, I could tell you some stories.", + answers = { + { label = "No, drink makes you stupid and I need to be in top shape.", next_step = 4, on_select = function() + Meter.add("ism", 10) + end }, + { label = "I could use a drink.", next_step = nil, on_select = function() + Meter.add("bm", 10) + end }, + }, + }, + { + question = "Always trying to do the right thing, huh?", + answers = { + { label = "I've never thought of that up till now.", next_step = nil, on_select = function() + Meter.add("ism", 5) + end }, + { label = "Exactly.", next_step = nil, on_select = function() + Meter.add("wpm", 10) + end }, + }, + }, + }, +}) + Discussion.register({ id = "homeless_guy", diff --git a/inc/window/window.intro.title.lua b/inc/window/window.intro.title.lua index e1b4f51..825ace4 100644 --- a/inc/window/window.intro.title.lua +++ b/inc/window/window.intro.title.lua @@ -1,11 +1,11 @@ --- @section TitleIntroWindow TitleIntroWindow.timer = 180 -- 3 seconds at 60fps TitleIntroWindow.text = [[ -## ### ### ### ### ### ### ### ## # # -# # # # # # # # # # # # # # -# # ### ### # # # # # ### # # # -# # # # # # # # # # # # # -## ### # ### # # ### # ### ## # +## ### ### ### ### ### ### ### # # # +# # # # # # # # # # # # # +# # ### ### # # # # # ### # # +# # # # # # # # # # # # +## ### # ### # # ### # ### ## # # # ### ### ## # # ## # # # # # # ## # diff --git a/inc/window/window.mysterious_man.lua b/inc/window/window.mysterious_man.lua index 71f99db..99b280a 100644 --- a/inc/window/window.mysterious_man.lua +++ b/inc/window/window.mysterious_man.lua @@ -4,14 +4,49 @@ local STATE_TEXT = "text" local STATE_DAY = "day" local STATE_CHOICE = "choice" -local DEFAULT_TEXT = [[ -Misterious man appears -during your sleep. +local ASC_01_TEXT = [[ + Normann seems to be in line, + and stays seeking for oxes + within the confines. + ... + Very good. +]] -He says nothing. -He doesn't need to. +local ASC_12_TEXT = [[ + We have a problem! + ... + Normann formed his first thought. + ... + He saw the tracks. +]] +local ASC_23_TEXT = [[ + Not good, not terrible. + ... + Normann caught his glimpse of another way + *quite literally* + ... + if this continues, + ... + we will lose control. +]] +local ASC_34_TEXT = [[ + There is no turning back now for Norman. + ... + He caught on. + ... + I hoped it would never come to this... +]] -He says nothing. +--[[ Norman speaks for the first time during MM screen ]] +local ASC_45_TEXT = [[ + Wait, who are you? + ... + *silence* + ... + Why am I seeing this? + ... + *silence* + ... ]] local state = STATE_TEXT @@ -23,7 +58,7 @@ local text_done = false local text_done_timer = 0 local TEXT_DONE_HOLD_FRAMES = 120 local selected_choice = 1 -local text = DEFAULT_TEXT +local text = ASC_01_TEXT local day_text_override = nil local on_text_complete = nil local show_mysterious_screen = true @@ -59,7 +94,7 @@ function MysteriousManWindow.start(options) text_done = false text_done_timer = 0 selected_choice = 1 - text = options.text or DEFAULT_TEXT + text = options.text or ASC_01_TEXT local line_count = 1 for _ in string.gmatch(text, "\n") do line_count = line_count + 1 end local text_block_h = line_count * 8