feat: added ascension logic 4-7, added new decision (eating fast food), indicating meter changes better, added discussions (needs more work, but meh ... fine like this)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
Zoltan Timar
2026-04-28 00:51:42 +02:00
parent b5dd0cc686
commit efe903110b
15 changed files with 522 additions and 21 deletions

View File

@@ -10,6 +10,7 @@ Decision.register({
modes_for_ascension_levels[1] = "only_special"
modes_for_ascension_levels[2] = "only_left"
modes_for_ascension_levels[3] = "only_nothing"
modes_for_ascension_levels[4] = "normal"
MinigameDDRWindow.start("game", "generated", {
on_win = function(game_context)
@@ -19,8 +20,6 @@ Decision.register({
Context.should_ascend = true
elseif (game_context.special_mode_condition and Context.ascension.level == 3) then
Context.should_ascend = true
elseif (game_context.special_mode_condition and Context.ascension.level == 4) then
Context.should_ascend = true
end
Meter.show()
@@ -28,7 +27,7 @@ Decision.register({
Window.set_current("game")
Context.have_done_work_today = true
end,
special_mode = modes_for_ascension_levels[Ascension.get_level()]
special_mode = modes_for_ascension_levels[Ascension.get_level()] or "normal"
})
end,
})

View File

@@ -0,0 +1,11 @@
Decision.register({
id = "eating_fast_food",
label = "Eat Fast Food",
condition = function()
return Context.fast_food_eaten_today < 3
end,
handle = function()
Context.fast_food_approaching = true
Discussion.start("pizza_vendor_disc", "game")
end,
})

View File

@@ -4,10 +4,17 @@ Decision.register({
handle = function()
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
if level >= 1 and level <= 5 then
local suffix = Context.have_done_work_today and ("_asc_" .. level) or ("_" .. level)
disc_id = "coworker_disc" .. suffix
elseif level == 6 then
if not Context.glitch_conversation_done_today and Context.glitch_conversation_count < 6 then
Context.glitch_conversation_done_today = true
Context.glitch_conversation_count = Context.glitch_conversation_count + 1
Glitch.show()
Discussion.start("coworker_disc_asc_6_" .. Context.glitch_conversation_count, "game")
return
end
end
Discussion.start(disc_id, "game")
end,

View File

@@ -13,9 +13,14 @@ Decision.register({
end
local level = Ascension.get_level()
-- TODO: Add more discussions for levels above 3
if level >= 1 and level <= 3 then
if level >= 1 and level <= 5 then
Discussion.start("sumphore_disc_asc_" .. level, "game")
elseif level == 6 then
if Context.glitch_conversation_count >= 6 then
Discussion.start("sumphore_disc_asc_6", "game")
else
Discussion.start("sumphore_disc_asc_6_waiting", "game")
end
else
Discussion.start("homeless_guy", "game", 4)
end