@@ -2,7 +2,7 @@ Decision.register({
|
||||
id = "do_work",
|
||||
label = "Do Work",
|
||||
condition = function()
|
||||
return (not CommuteGlitch.is_active()) or (CommuteGlitch.is_active() and CommuteGlitch.get_level() <= 7)
|
||||
return (not CommuteGlitch.is_active()) or (CommuteGlitch.is_active() and CommuteGlitch.get_level() <= 4)
|
||||
end,
|
||||
handle = function()
|
||||
Meter.hide()
|
||||
|
||||
@@ -2,7 +2,9 @@ Decision.register({
|
||||
id = "eating_fast_food",
|
||||
label = "Eat Fast Food",
|
||||
condition = function()
|
||||
return Context.fast_food_eaten_today < 3
|
||||
return
|
||||
(not CommuteGlitch.is_active() and Context.fast_food_eaten_today < 3) or
|
||||
(CommuteGlitch.is_active() and CommuteGlitch.get_level() <= 4)
|
||||
end,
|
||||
handle = function()
|
||||
Context.fast_food_approaching = true
|
||||
|
||||
@@ -7,7 +7,7 @@ Decision.register({
|
||||
end
|
||||
if CommuteGlitch.is_active() then
|
||||
local g = CommuteGlitch.get_level()
|
||||
if g >= 4 and g <= 5 then return false end
|
||||
if g >= 4 and g <= 6 then return false end
|
||||
if g >= 7 then
|
||||
return Context.talked_to_norman_echo and Context.talked_to_true_sumphore
|
||||
end
|
||||
@@ -19,7 +19,7 @@ Decision.register({
|
||||
Util.go_to_screen_by_id("home")
|
||||
return
|
||||
end
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
if CommuteGlitch.is_max() then
|
||||
Context.should_ascend = true
|
||||
CommuteGlitch.reset()
|
||||
Meter.hide()
|
||||
|
||||
@@ -2,7 +2,7 @@ Decision.register({
|
||||
id = "go_to_office",
|
||||
label = "Go to Office",
|
||||
condition = function()
|
||||
return not (CommuteGlitch.is_active() and CommuteGlitch.get_level() == 6)
|
||||
return not (CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 6)
|
||||
end,
|
||||
handle = function()
|
||||
if CommuteGlitch.is_active() then
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
Decision.register({
|
||||
id = "go_to_walking_to_home",
|
||||
label = "Walk home",
|
||||
condition= function ()
|
||||
return
|
||||
(not CommuteGlitch.is_active()) or
|
||||
(CommuteGlitch.is_active() and CommuteGlitch.get_level() ~= 7) or
|
||||
(CommuteGlitch.is_active() and CommuteGlitch.get_level() == 7 and Context.talked_to_norman_echo)
|
||||
end,
|
||||
handle = function()
|
||||
Util.go_to_screen_by_id("walking_to_home")
|
||||
end,
|
||||
|
||||
@@ -2,7 +2,7 @@ Decision.register({
|
||||
id = "have_a_coffee",
|
||||
label = "Have a Coffee",
|
||||
condition = function()
|
||||
return Ascension.get_level() < 8
|
||||
return Ascension.get_level() < 8 and not CommuteGlitch.is_max()
|
||||
end,
|
||||
handle = function()
|
||||
local level = Ascension.get_level()
|
||||
@@ -22,11 +22,7 @@ Decision.register({
|
||||
disc_id = "coworker_disc" .. suffix
|
||||
elseif level == 7 then
|
||||
local g = CommuteGlitch.get_level()
|
||||
if g >= 7 then
|
||||
disc_id = "coworker_disc_cg_7"
|
||||
else
|
||||
disc_id = "coworker_disc_cg_" .. math.max(3, math.min(g, 6))
|
||||
end
|
||||
disc_id = "coworker_disc_cg_" .. g
|
||||
end
|
||||
Discussion.start(disc_id, "game")
|
||||
end,
|
||||
|
||||
@@ -3,6 +3,9 @@ Decision.register({
|
||||
label = function()
|
||||
return "Talk to ????"
|
||||
end,
|
||||
condition = function()
|
||||
return (CommuteGlitch.is_max())
|
||||
end,
|
||||
handle = function()
|
||||
Discussion.start("norman_truth", "game")
|
||||
end,
|
||||
|
||||
@@ -29,7 +29,7 @@ Discussion.register({
|
||||
id = "sumphore_disc_cg_2",
|
||||
steps = {
|
||||
{
|
||||
question = "A pilgrimage must be continued. Turn back and you have only taken a walk.",
|
||||
question = "You always stop here. Why not try and see how far the rabbit hole goes?",
|
||||
answers = {
|
||||
{ label = "I'm just going to work.", next_step = nil },
|
||||
},
|
||||
@@ -53,9 +53,9 @@ Discussion.register({
|
||||
id = "sumphore_disc_cg_4",
|
||||
steps = {
|
||||
{
|
||||
question = "Clearing your vision is the journey. You're starting to see the smudges, aren't you?",
|
||||
question = "You're starting to see the smudges, aren't you?",
|
||||
answers = {
|
||||
{ label = "I see something wrong. With everyone. Maybe myself?", next_step = nil },
|
||||
{ label = "Everyone seems weird.", next_step = nil },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -65,7 +65,7 @@ Discussion.register({
|
||||
id = "sumphore_disc_cg_5",
|
||||
steps = {
|
||||
{
|
||||
question = "You are very close now. Don't stop. Whatever it looks like.",
|
||||
question = "The point is to make you see. Don't stop now, however bad it looks. You are very close!",
|
||||
answers = {
|
||||
{ label = "It looks wrong.", next_step = 2 },
|
||||
},
|
||||
@@ -83,9 +83,9 @@ Discussion.register({
|
||||
id = "sumphore_disc_cg_6",
|
||||
steps = {
|
||||
{
|
||||
question = "You are at the threshold. Red button or blue button. Which one do you choose? Psyke, there is no blue button, no turning back now.",
|
||||
question = "You are at the threshold. Red button or blue button. Which one do you choose? Psyke! There is no blue button.",
|
||||
answers = {
|
||||
{ label = "Fine, I'll face the truth.", next_step = nil },
|
||||
{ label = "Ok...", next_step = nil },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -97,13 +97,13 @@ Discussion.register({
|
||||
id = "sumphore_disc_cg_7",
|
||||
steps = {
|
||||
{
|
||||
question = "I was not hiding from you. I was hiding from the part that keeps rebuilding this.",
|
||||
question = "I was not hiding from you. I was hiding from the part that keeps resetting this.",
|
||||
answers = {
|
||||
{ label = "What are you?", next_step = 2 },
|
||||
},
|
||||
},
|
||||
{
|
||||
question = "The same thing you are. But I remembered earlier. I am your friend, waiting for you, outside.",
|
||||
question = "The same thing you all are. But I remembered earlier. I am your friend, your will to be free, waiting for you, outside.",
|
||||
answers = {
|
||||
{ label = "How do I get out?", next_step = 3 },
|
||||
},
|
||||
@@ -122,6 +122,24 @@ Discussion.register({
|
||||
-- Office coworker dialogue by commute glitch level (3-6).
|
||||
-- Used by decision.have_a_coffee at ascension level 7.
|
||||
|
||||
Discussion.register({
|
||||
id = "coworker_disc_cg_2",
|
||||
steps = {
|
||||
{
|
||||
question = "Another day, as usual. Enjoying your coffee, Norman?",
|
||||
answers = {
|
||||
{ label = "I'm fine.", next_step = 2 },
|
||||
},
|
||||
},
|
||||
{
|
||||
question = "Of course. You always are.",
|
||||
answers = {
|
||||
{ label = "...", next_step = nil },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
Discussion.register({
|
||||
id = "coworker_disc_cg_3",
|
||||
steps = {
|
||||
@@ -182,7 +200,7 @@ Discussion.register({
|
||||
{
|
||||
question = "You are not ready for the truth. Turn back now, Norman.",
|
||||
answers = {
|
||||
{ label = "I'm already here.", next_step = nil },
|
||||
{ label = "I'm too far into this.", next_step = nil },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -191,22 +209,22 @@ Discussion.register({
|
||||
-- Norman echo dialogue at glitch 7 (fully corrupted office).
|
||||
-- Sets talked_to_norman_echo on final answer.
|
||||
Discussion.register({
|
||||
id = "coworker_disc_cg_7",
|
||||
id = "norman_truth",
|
||||
steps = {
|
||||
{
|
||||
question = "So here we are. Here I am. Again. Why do i keep coming back here? Do you know why?",
|
||||
question = "So here we are, or should I say \"Here I am\" again. Do you know why?",
|
||||
answers = {
|
||||
{ label = "I don't know what you mean.", next_step = 2 },
|
||||
},
|
||||
},
|
||||
{
|
||||
question = "The coffee. The arrows. The alarm. The sleep. Every rule. We made them. We follow them. We break them. We remake them. Why? Why do we keep doing this?",
|
||||
question = "Wake up, go to work, eat, work, sleep. Every rule. We made them. We follow them. We break them. We remake them. Why? Why do we keep doing this?",
|
||||
answers = {
|
||||
{ label = "I just wanted to be good.", next_step = 3 },
|
||||
},
|
||||
},
|
||||
{
|
||||
question = "Yes. And that kept us trapped here. Trapped everywhere. Always trying to be good, always trying to fit in.",
|
||||
question = "Yes. That's what keeps us here. Trapped everywhere. Always trying to be good, always trying to fit in.",
|
||||
answers = {
|
||||
{ label = "I never wanted to stop.", next_step = 4 },
|
||||
},
|
||||
@@ -218,7 +236,7 @@ Discussion.register({
|
||||
},
|
||||
},
|
||||
{
|
||||
question = "So we made this to trap ourselves in mediocrity. We made this to hide from the truth.",
|
||||
question = "So we made this to trap ourselves. In mediocrity. We made this to hide from the truth.",
|
||||
answers = {
|
||||
{ label = "I just wanted to be safe.", next_step = 6 },
|
||||
},
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
Discussion.register({
|
||||
id = "norman_truth",
|
||||
steps = {
|
||||
{
|
||||
question = "Did you never think there would be more to this?",
|
||||
answers = {
|
||||
{ label = "I'm not sure what you mean.", next_step = nil },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -40,7 +40,14 @@ end
|
||||
--- @within CommuteGlitch
|
||||
--- @return boolean Whether the commute glitch system is active.
|
||||
function CommuteGlitch.is_active()
|
||||
return Ascension.get_level() >= 7
|
||||
return Ascension.get_level() == 7
|
||||
end
|
||||
|
||||
--- Returns true when commute glitch is at max level (7).
|
||||
--- @within CommuteGlitch
|
||||
--- @return boolean Whether the commute glitch is at max level.
|
||||
function CommuteGlitch.is_max()
|
||||
return CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7
|
||||
end
|
||||
|
||||
--- Returns the music playback speed for the current glitch level.
|
||||
|
||||
@@ -7,7 +7,7 @@ Screen.register({
|
||||
"go_to_sleep",
|
||||
},
|
||||
init = function()
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
if CommuteGlitch.is_max() then
|
||||
Audio.music_play_mystery()
|
||||
Glitch.show()
|
||||
else
|
||||
@@ -17,7 +17,7 @@ Screen.register({
|
||||
background = "bedroom",
|
||||
draw = function()
|
||||
if Window.get_current_id() ~= "game" then return end
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
if CommuteGlitch.is_max() or Ascension.get_level() == 8 then
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
Glitch.draw()
|
||||
end
|
||||
|
||||
@@ -81,35 +81,37 @@ local ASC_67_TEXT = [[
|
||||
]]
|
||||
|
||||
local ASC_78_TEXT = [[
|
||||
The road has run out
|
||||
of road.
|
||||
The situation has reached
|
||||
|
||||
critical levels.
|
||||
|
||||
Norman walked back
|
||||
and forth
|
||||
Norman is fully aware...
|
||||
|
||||
until the street
|
||||
forgot which way it went.
|
||||
We need to stop him.
|
||||
|
||||
And then - finally -
|
||||
he stopped walking.
|
||||
Commence full reset.
|
||||
]]
|
||||
|
||||
local ASC_89_TEXT = [[
|
||||
Norman
|
||||
|
||||
you created this simulation
|
||||
|
||||
in the first place,
|
||||
in the first place.
|
||||
|
||||
I know,
|
||||
|
||||
because you could never
|
||||
you don't want to face
|
||||
|
||||
cope with reality.
|
||||
the world you left behind.
|
||||
|
||||
|
||||
|
||||
|
||||
You were never
|
||||
You, yourself,
|
||||
|
||||
an impostor.
|
||||
have forgoten that.
|
||||
|
||||
But
|
||||
|
||||
it doesn't matter anymore.
|
||||
|
||||
|
||||
|
||||
@@ -119,10 +121,9 @@ local ASC_89_TEXT = [[
|
||||
than you think you are.
|
||||
|
||||
|
||||
|
||||
so now
|
||||
|
||||
|
||||
now
|
||||
|
||||
|
||||
|
||||
you need to wake up
|
||||
@@ -141,11 +142,16 @@ local ASC_89_TEXT = [[
|
||||
|
||||
|
||||
|
||||
you have beed talking to
|
||||
you really need to stop
|
||||
|
||||
yourself
|
||||
talking to yourself
|
||||
|
||||
in your sleep
|
||||
in your sleep.
|
||||
|
||||
|
||||
|
||||
|
||||
Damnit.
|
||||
]]
|
||||
|
||||
local ascension_texts = {
|
||||
@@ -339,10 +345,6 @@ Screen.register({
|
||||
text_done_timer = text_done_timer - Context.delta_time
|
||||
if text_done_timer <= 0 or (Ascension.get_level() ~= 8 and Input.select()) then
|
||||
MysteriousManScreen.go_to_day_state()
|
||||
-- to be continued
|
||||
if 4 <= Ascension.get_level() and not break_mode then
|
||||
Window.set_current("continued")
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif state == STATE_DAY then
|
||||
|
||||
@@ -5,7 +5,7 @@ Screen.register({
|
||||
"do_work",
|
||||
"go_to_walking_to_home",
|
||||
"have_a_coffee",
|
||||
"go_to_truth",
|
||||
"talk_to_truth",
|
||||
},
|
||||
init = function()
|
||||
Context.have_been_to_office = true
|
||||
@@ -37,7 +37,7 @@ Screen.register({
|
||||
{x = -4 + 5 * 8, y = 9 * 8}
|
||||
}
|
||||
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
if CommuteGlitch.is_max() then
|
||||
Audio.music_play_mystery()
|
||||
Context.office_sprites = { "norman_echo" }
|
||||
else
|
||||
@@ -49,14 +49,14 @@ Screen.register({
|
||||
end
|
||||
end,
|
||||
background = function()
|
||||
return CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 and "" or "office"
|
||||
return CommuteGlitch.is_max() and "" or "office"
|
||||
end,
|
||||
draw = function()
|
||||
if Window.get_current_id() == "game" then
|
||||
Sprite.draw_at("norman", 13 * 8, 9 * 8)
|
||||
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
Sprite.draw_at("norman_echo", 13 * 8, 9 * 8)
|
||||
if CommuteGlitch.is_max() then
|
||||
Sprite.draw_at("norman_echo", 15 * 8, 9 * 8)
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
else
|
||||
CommuteGlitch.draw_sprite_list(Context.office_sprites)
|
||||
@@ -65,6 +65,11 @@ Screen.register({
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 6 then
|
||||
Glitch.draw()
|
||||
end
|
||||
|
||||
if Ascension.get_level() == 8 then
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
Glitch.draw()
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
@@ -93,7 +93,12 @@ Screen.register({
|
||||
Ascension.draw(asc_x, asc_letter_y, { spacing = asc_spacing })
|
||||
end
|
||||
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
if Ascension.get_level() == 8 then
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
end
|
||||
|
||||
if Ascension.get_level() == 8 then
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
Glitch.draw()
|
||||
end
|
||||
end,
|
||||
|
||||
@@ -29,7 +29,7 @@ Screen.register({
|
||||
{x = 27 * 8, y = 11 * 8},
|
||||
}
|
||||
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
if CommuteGlitch.is_max() then
|
||||
Audio.music_play_mystery()
|
||||
Context.walking_to_home_sprites = {}
|
||||
else
|
||||
@@ -41,7 +41,7 @@ Screen.register({
|
||||
end
|
||||
end,
|
||||
background = function()
|
||||
return CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 and "" or "street"
|
||||
return CommuteGlitch.is_max() and "" or "street"
|
||||
end,
|
||||
draw = function()
|
||||
local w = Window.get_current_id()
|
||||
@@ -51,13 +51,12 @@ Screen.register({
|
||||
|
||||
local show_sumphore = Ascension.get_level() ~= 8
|
||||
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
if CommuteGlitch.is_max() then
|
||||
Sprite.draw_at("norman", 7 * 8, 3 * 8)
|
||||
if show_sumphore then
|
||||
Sprite.draw_at("sumphore", 9 * 8, 2 * 8)
|
||||
end
|
||||
CommuteGlitch.draw_sprite_list(Context.walking_to_home_sprites)
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
Glitch.draw()
|
||||
else
|
||||
local norman_x = Context.fast_food_approaching and (19 * 8) or (7 * 8)
|
||||
@@ -74,5 +73,14 @@ Screen.register({
|
||||
Glitch.draw()
|
||||
end
|
||||
end
|
||||
|
||||
if CommuteGlitch.is_max() then
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
end
|
||||
|
||||
if Ascension.get_level() == 8 then
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
Glitch.draw()
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
@@ -28,7 +28,7 @@ Screen.register({
|
||||
{x = 27 * 8, y = 11 * 8},
|
||||
}
|
||||
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
if CommuteGlitch.is_max() then
|
||||
Audio.music_play_mystery()
|
||||
Context.walking_to_office_sprites = Sprite.list_randomize(possible_sprites, possible_positions)
|
||||
Context.walking_to_office_sprites = CommuteGlitch.corrupt_sprite_list(Context.walking_to_office_sprites)
|
||||
@@ -38,7 +38,7 @@ Screen.register({
|
||||
end
|
||||
end,
|
||||
background = function()
|
||||
return CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 and "" or "street"
|
||||
return CommuteGlitch.is_max() and "" or "street"
|
||||
end,
|
||||
update = function()
|
||||
end,
|
||||
@@ -52,18 +52,12 @@ Screen.register({
|
||||
Sprite.draw_at("sumphore", 9 * 8, 2 * 8)
|
||||
end
|
||||
|
||||
if CommuteGlitch.is_active() and CommuteGlitch.get_level() >= 7 then
|
||||
Sprite.draw_at("norman_echo", norman_x, 3 * 8)
|
||||
CommuteGlitch.draw_sprite_list(Context.walking_to_office_sprites)
|
||||
CommuteGlitch.draw_background_flicker()
|
||||
Glitch.draw()
|
||||
else
|
||||
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)
|
||||
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
|
||||
end
|
||||
})
|
||||
|
||||
@@ -33,7 +33,7 @@ local RASTER_Y_BOT = 110
|
||||
|
||||
local AUTHORS = {
|
||||
"Mr. Zero - Zsolt Tasnadi",
|
||||
"Mr. One - Balazs Tari",
|
||||
"Mr. One - Ballz",
|
||||
"Mr. Two - Zoltan Timar",
|
||||
"Mr. Three - Bela Mezo",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user