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
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
This commit is contained in:
@@ -54,12 +54,40 @@ local ASC_45_TEXT = [[
|
||||
|
||||
]]
|
||||
|
||||
local ASC_56_TEXT = [[
|
||||
Norman is not as productive as he should be.
|
||||
|
||||
Can we distract him?
|
||||
|
||||
We need to keep him busy.
|
||||
|
||||
We need
|
||||
|
||||
More
|
||||
|
||||
Time
|
||||
]]
|
||||
|
||||
local ASC_67_TEXT = [[
|
||||
He knows.
|
||||
|
||||
Norman has broken through the first veil.
|
||||
|
||||
The simulation is compromised.
|
||||
|
||||
This was not supposed to happen.
|
||||
|
||||
Not yet.
|
||||
]]
|
||||
|
||||
local ascension_texts = {
|
||||
[1] = ASC_01_TEXT,
|
||||
[2] = ASC_12_TEXT,
|
||||
[3] = ASC_23_TEXT,
|
||||
[4] = ASC_34_TEXT,
|
||||
[5] = ASC_45_TEXT,
|
||||
[6] = ASC_56_TEXT,
|
||||
[7] = ASC_67_TEXT,
|
||||
}
|
||||
|
||||
function MysteriousManScreen.get_text_for_level(level)
|
||||
@@ -146,11 +174,25 @@ function MysteriousManScreen.wake_up()
|
||||
end
|
||||
|
||||
-- Norman chooses to stay in bed, skipping the minigame and flash, and going straight to the next day.
|
||||
-- At ascension level 4, staying in bed triggers 4->5: shows the ascension text then wakes with flash.
|
||||
-- @within MysteriousManScreen
|
||||
function MysteriousManScreen.stay_in_bed()
|
||||
Day.increase()
|
||||
state = STATE_DAY
|
||||
day_timer = day_display_seconds
|
||||
if Ascension.get_level() == 4 then
|
||||
Context.should_ascend = true
|
||||
Day.increase()
|
||||
Ascension.consume_increase()
|
||||
trigger_flash_on_wake = true
|
||||
show_mysterious_screen = true
|
||||
text = MysteriousManScreen.get_text_for_level(Ascension.get_level())
|
||||
text_y = Config.screen.height
|
||||
text_done = false
|
||||
text_done_timer = 0
|
||||
state = STATE_TEXT
|
||||
else
|
||||
Day.increase()
|
||||
state = STATE_DAY
|
||||
day_timer = day_display_seconds
|
||||
end
|
||||
end
|
||||
|
||||
--- Starts the mysterious man screen.
|
||||
|
||||
@@ -4,15 +4,20 @@ Screen.register({
|
||||
decisions = {
|
||||
"go_to_home",
|
||||
"go_to_office",
|
||||
"eating_fast_food",
|
||||
},
|
||||
init = function()
|
||||
Audio.music_play_room_work()
|
||||
end,
|
||||
background = "street",
|
||||
draw = function()
|
||||
if Window.get_current_id() == "game" then
|
||||
Sprite.draw_at("norman", 7 * 8, 3 * 8)
|
||||
Sprite.draw_at("pizza_vendor", 19 * 8, 1 * 8)
|
||||
local w = Window.get_current_id()
|
||||
if w == "game" or w == "discussion" then
|
||||
local norman_x = Context.fast_food_approaching and (19 * 8) or (7 * 8)
|
||||
Sprite.draw_at("norman", norman_x, 3 * 8)
|
||||
if Context.fast_food_eaten_today < 3 then
|
||||
Sprite.draw_at("pizza_vendor", 19 * 8, 1 * 8)
|
||||
end
|
||||
Sprite.draw_at("dev_guard", 22 * 8, 2 * 8)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
WalkingToOfficeScreen = {}
|
||||
|
||||
Screen.register({
|
||||
id = "walking_to_office",
|
||||
name = "Walking to office",
|
||||
@@ -5,6 +7,7 @@ Screen.register({
|
||||
"go_to_home",
|
||||
"go_to_office",
|
||||
"sumphore_discussion",
|
||||
"eating_fast_food",
|
||||
},
|
||||
init = function()
|
||||
Audio.music_play_room_work()
|
||||
@@ -32,12 +35,18 @@ Screen.register({
|
||||
Context.walking_to_office_sprites = Sprite.list_randomize(possible_sprites, possible_positions)
|
||||
end,
|
||||
background = "street",
|
||||
update = function()
|
||||
end,
|
||||
draw = function()
|
||||
if Window.get_current_id() == "game" then
|
||||
Sprite.draw_at("norman", 7 * 8, 3 * 8)
|
||||
Sprite.draw_at("sumphore", 9 * 8, 2 * 8)
|
||||
Sprite.draw_at("pizza_vendor", 19 * 8, 1 * 8)
|
||||
Sprite.draw_at("dev_guard", 22 * 8, 2 * 8)
|
||||
local w = Window.get_current_id()
|
||||
if w == "game" or w == "discussion" then
|
||||
local norman_x = Context.fast_food_approaching and (19 * 8) or (7 * 8)
|
||||
Sprite.draw_at("norman", norman_x, 3 * 8)
|
||||
Sprite.draw_at("sumphore", 9 * 8, 2 * 8)
|
||||
if Context.fast_food_eaten_today < 3 then
|
||||
Sprite.draw_at("pizza_vendor", 19 * 8, 1 * 8)
|
||||
end
|
||||
Sprite.draw_at("dev_guard", 22 * 8, 3 * 8)
|
||||
|
||||
Sprite.draw_list(Context.walking_to_office_sprites)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user