feat: added sumphore & coworker discussions until asc 3, fixed game flow bugs, added mysterious man screen texts
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
Zoltan Timar
2026-03-21 00:12:15 +01:00
parent f79233521d
commit 05091c7af2
17 changed files with 489 additions and 284 deletions

View File

@@ -6,9 +6,14 @@ Decision.register({
Util.go_to_screen_by_id("work")
MinigameDDRWindow.start("game", nil, {
on_win = function()
if (Context.minigame_ddr.special_condition_met and Context.ascension.level == 1) then
Context.should_ascend = true
Context.minigame_ddr.special_condition_met = false
end
Meter.show()
Util.go_to_screen_by_id("office")
Window.set_current("game")
Context.have_done_work_today = true
end,
})
end,

View File

@@ -1,6 +1,9 @@
Decision.register({
id = "go_to_home",
label = "Go to Home",
condition = function()
return Context.have_been_to_office and Context.have_done_work_today
end,
handle = function()
Util.go_to_screen_by_id("home")
end,

View File

@@ -1,6 +1,9 @@
Decision.register({
id = "go_to_sleep",
label = "Go to Sleep",
condition = function()
return Context.have_been_to_office and Context.have_done_work_today
end,
handle = function()
Meter.hide()
Day.increase()
@@ -10,7 +13,11 @@ Decision.register({
focus_initial_radius = 0,
on_win = function()
local ascended = Ascension.consume_increase()
MysteriousManScreen.start({ skip_text = not ascended })
local level = Ascension.get_level()
MysteriousManScreen.start({
skip_text = not ascended,
text = ascended and MysteriousManScreen.get_text_for_level(level) or nil,
})
end,
})
end,

View File

@@ -3,6 +3,14 @@ Decision.register({
label = "Have a Coffee",
handle = function()
local new_situation_id = Situation.apply("drink_coffee", Context.game.current_screen)
local level = Ascension.get_level()
local disc_id = "coworker_disc_0"
-- TODO: Add more discussions for levels above 3
if level >= 1 and level <= 3 then
local suffix = Context.have_done_work_today and ("_asc_" .. level) or ("_" .. level)
disc_id = "coworker_disc" .. suffix
end
Discussion.start(disc_id, "game")
Context.game.current_situation = new_situation_id
end,
})
})

View File

@@ -1,5 +1,5 @@
Decision.register({
id = "start_discussion",
id = "sumphore_discussion",
label = function()
if Context.have_met_sumphore then
return "Talk to Sumphore"
@@ -9,10 +9,15 @@ Decision.register({
handle = function()
if not Context.have_met_sumphore then
Discussion.start("homeless_guy", "game")
elseif Ascension.get_level() == 0 then
Discussion.start("homeless_guy", "game", 4)
return
end
local level = Ascension.get_level()
-- TODO: Add more discussions for levels above 3
if level >= 1 and level <= 3 then
Discussion.start("sumphore_disc_asc_" .. level, "game")
else
Discussion.start("sumphore_asc_1_a", "game")
Discussion.start("homeless_guy", "game", 4)
end
end,
})