Merge branch 'develop' into feature/ascension_7_8
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
# Conflicts: # impostor.inc # inc/decision/decision.have_a_coffee.lua # inc/decision/decision.sumphore_discussion.lua # inc/screen/screen.mysterious_man.lua # inc/screen/screen.walking_to_home.lua # inc/screen/screen.walking_to_office.lua # inc/window/window.menu.lua
This commit is contained in:
@@ -54,6 +54,32 @@ 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 ASC_78_TEXT = [[
|
||||
The road has run out
|
||||
of road.
|
||||
@@ -74,6 +100,8 @@ local ascension_texts = {
|
||||
[3] = ASC_23_TEXT,
|
||||
[4] = ASC_34_TEXT,
|
||||
[5] = ASC_45_TEXT,
|
||||
[6] = ASC_56_TEXT,
|
||||
[7] = ASC_67_TEXT,
|
||||
[8] = ASC_78_TEXT,
|
||||
}
|
||||
|
||||
@@ -147,6 +175,7 @@ function MysteriousManScreen.wake_up()
|
||||
target_points = 100,
|
||||
instruction_text = "Wake up Norman!",
|
||||
show_progress_text = false,
|
||||
meter_on_complete = Meter.apply_wakeup_reward,
|
||||
on_win = function()
|
||||
Audio.music_play_wakingup()
|
||||
Meter.show()
|
||||
@@ -160,11 +189,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.
|
||||
|
||||
@@ -51,8 +51,8 @@ Screen.register({
|
||||
local decay_pct = Meter.get_decay_percentage()
|
||||
local decay_text = string.format("-%d%%", decay_pct)
|
||||
local combo_mult = Meter.get_combo_multiplier()
|
||||
local combo_pct = math.floor((combo_mult - 1) * 100)
|
||||
local mult_text = string.format("+%d%%", combo_pct)
|
||||
local ism_bm_combo_pct = math.floor((combo_mult - 1) * 100)
|
||||
local wpm_combo_pct = math.floor((1 / combo_mult - 1) * 100 + 0.5)
|
||||
local meter_start_y = text_y + 10
|
||||
|
||||
local meter_list = {
|
||||
@@ -73,6 +73,12 @@ Screen.register({
|
||||
rect(bar_x, bar_y, fill_w, bar_h, meter.color)
|
||||
end
|
||||
|
||||
local mult_text
|
||||
if meter.key == "wpm" then
|
||||
mult_text = string.format("%+d%%", wpm_combo_pct)
|
||||
else
|
||||
mult_text = string.format("+%d%%", ism_bm_combo_pct)
|
||||
end
|
||||
local decay_w = print(decay_text, 0, -6, 0, false, 1)
|
||||
Print.text_contour(decay_text, bar_x - decay_w - 4, bar_y, Config.colors.light_blue, false, 1, Config.colors.white)
|
||||
Print.text_contour(mult_text, bar_x + bar_w + 4, bar_y, Config.colors.light_blue, false, 1, Config.colors.white)
|
||||
|
||||
@@ -5,6 +5,7 @@ Screen.register({
|
||||
"go_to_home",
|
||||
"go_to_office",
|
||||
"sumphore_discussion",
|
||||
"eating_fast_food",
|
||||
"go_to_truth",
|
||||
},
|
||||
init = function()
|
||||
@@ -43,20 +44,28 @@ Screen.register({
|
||||
return CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 and "" or "street"
|
||||
end,
|
||||
draw = function()
|
||||
if Window.get_current_id() == "game" then
|
||||
local w = Window.get_current_id()
|
||||
if w ~= "game" and w ~= "discussion" then
|
||||
return
|
||||
end
|
||||
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
Sprite.draw_at("norman", 7 * 8, 3 * 8)
|
||||
Sprite.draw_at("sumphore", 9 * 8, 2 * 8)
|
||||
|
||||
if not (CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7) then
|
||||
Sprite.draw_at("pizza_vendor", 19 * 8, 1 * 8)
|
||||
Sprite.draw_at("dev_guard", 22 * 8, 2 * 8)
|
||||
end
|
||||
|
||||
CommuteGlitch.draw_sprite_list(Context.walking_to_home_sprites)
|
||||
|
||||
if CommuteGlitch.is_active() then
|
||||
if CommuteGlitch.get_level() >= 7 then CommuteGlitch.draw_background_flicker() end
|
||||
if CommuteGlitch.get_level() >= 6 then Glitch.draw() end
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
Glitch.draw()
|
||||
else
|
||||
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, 2 * 8)
|
||||
CommuteGlitch.draw_sprite_list(Context.walking_to_home_sprites)
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 6 then
|
||||
Glitch.draw()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -4,7 +4,8 @@ Screen.register({
|
||||
decisions = {
|
||||
"go_to_home",
|
||||
"go_to_office",
|
||||
"sumphore_discussion"
|
||||
"sumphore_discussion",
|
||||
"eating_fast_food",
|
||||
},
|
||||
init = function()
|
||||
local possible_sprites = {
|
||||
@@ -31,12 +32,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