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
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
This commit is contained in:
@@ -48,8 +48,9 @@ decision/decision.go_to_end.lua
|
|||||||
decision/decision.go_to_walking_to_home.lua
|
decision/decision.go_to_walking_to_home.lua
|
||||||
decision/decision.go_to_sleep.lua
|
decision/decision.go_to_sleep.lua
|
||||||
decision/decision.do_work.lua
|
decision/decision.do_work.lua
|
||||||
decision/decision.start_discussion.lua
|
decision/decision.sumphore_discussion.lua
|
||||||
discussion/discussion.sumphore.lua
|
discussion/discussion.sumphore.lua
|
||||||
|
discussion/discussion.coworker.lua
|
||||||
map/map.manager.lua
|
map/map.manager.lua
|
||||||
map/map.bedroom.lua
|
map/map.bedroom.lua
|
||||||
map/map.street.lua
|
map/map.street.lua
|
||||||
|
|||||||
@@ -6,9 +6,14 @@ Decision.register({
|
|||||||
Util.go_to_screen_by_id("work")
|
Util.go_to_screen_by_id("work")
|
||||||
MinigameDDRWindow.start("game", nil, {
|
MinigameDDRWindow.start("game", nil, {
|
||||||
on_win = function()
|
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()
|
Meter.show()
|
||||||
Util.go_to_screen_by_id("office")
|
Util.go_to_screen_by_id("office")
|
||||||
Window.set_current("game")
|
Window.set_current("game")
|
||||||
|
Context.have_done_work_today = true
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
Decision.register({
|
Decision.register({
|
||||||
id = "go_to_home",
|
id = "go_to_home",
|
||||||
label = "Go to Home",
|
label = "Go to Home",
|
||||||
|
condition = function()
|
||||||
|
return Context.have_been_to_office and Context.have_done_work_today
|
||||||
|
end,
|
||||||
handle = function()
|
handle = function()
|
||||||
Util.go_to_screen_by_id("home")
|
Util.go_to_screen_by_id("home")
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
Decision.register({
|
Decision.register({
|
||||||
id = "go_to_sleep",
|
id = "go_to_sleep",
|
||||||
label = "Go to Sleep",
|
label = "Go to Sleep",
|
||||||
|
condition = function()
|
||||||
|
return Context.have_been_to_office and Context.have_done_work_today
|
||||||
|
end,
|
||||||
handle = function()
|
handle = function()
|
||||||
Meter.hide()
|
Meter.hide()
|
||||||
Day.increase()
|
Day.increase()
|
||||||
@@ -10,7 +13,11 @@ Decision.register({
|
|||||||
focus_initial_radius = 0,
|
focus_initial_radius = 0,
|
||||||
on_win = function()
|
on_win = function()
|
||||||
local ascended = Ascension.consume_increase()
|
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,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -3,6 +3,14 @@ Decision.register({
|
|||||||
label = "Have a Coffee",
|
label = "Have a Coffee",
|
||||||
handle = function()
|
handle = function()
|
||||||
local new_situation_id = Situation.apply("drink_coffee", Context.game.current_screen)
|
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
|
Context.game.current_situation = new_situation_id
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
Decision.register({
|
Decision.register({
|
||||||
id = "start_discussion",
|
id = "sumphore_discussion",
|
||||||
label = function()
|
label = function()
|
||||||
if Context.have_met_sumphore then
|
if Context.have_met_sumphore then
|
||||||
return "Talk to Sumphore"
|
return "Talk to Sumphore"
|
||||||
@@ -9,10 +9,15 @@ Decision.register({
|
|||||||
handle = function()
|
handle = function()
|
||||||
if not Context.have_met_sumphore then
|
if not Context.have_met_sumphore then
|
||||||
Discussion.start("homeless_guy", "game")
|
Discussion.start("homeless_guy", "game")
|
||||||
elseif Ascension.get_level() == 0 then
|
return
|
||||||
Discussion.start("homeless_guy", "game", 4)
|
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
|
else
|
||||||
Discussion.start("sumphore_asc_1_a", "game")
|
Discussion.start("homeless_guy", "game", 4)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@@ -1,20 +1,136 @@
|
|||||||
Discussion.register({
|
Discussion.register({
|
||||||
id = "coworker_asc_1",
|
id = "coworker_disc_0",
|
||||||
|
steps = {
|
||||||
|
{
|
||||||
|
question = "Good morning Normal, enjoying your coffee as usual, huh?",
|
||||||
|
answers = {
|
||||||
|
{ label = "The name is Norman, not Normal", next_step = 2 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "Can't work without some good coffee, no? ",
|
||||||
|
answers = {
|
||||||
|
{ label = "Mhmm", next_step = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
Discussion.register({
|
||||||
|
id = "coworker_disc_1",
|
||||||
|
steps = {
|
||||||
|
{
|
||||||
|
question = "Norman, you look confused, what's up?",
|
||||||
|
answers = {
|
||||||
|
{ label = "Just some bugs I noticed", next_step = 2 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "Your coffee also seems whiter than usual!",
|
||||||
|
answers = {
|
||||||
|
{ label = "I feel like latte today", next_step = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
Discussion.register({
|
||||||
|
id = "coworker_disc_asc_1",
|
||||||
steps = {
|
steps = {
|
||||||
{
|
{
|
||||||
question = "Normann you look weird and unfocused. You are usually locked in and not like this, what's up?",
|
question = "Normann you look weird and unfocused. You are usually locked in and not like this, what's up?",
|
||||||
answers = {
|
answers = {
|
||||||
{ label = "Nothing it's just, I noticed some bugs in the simulation, maybe.", next_step = 2 },
|
{ label = "Nothing it's just, I noticed some bugs in the simulation, maybe.", next_step = 2 },
|
||||||
{ label = "Same old - same old", next_step = nil },
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
question = "What kind of bugs?",
|
question = "Are you fixing bugs nobody noticed before?",
|
||||||
answers = {
|
answers = {
|
||||||
{ label = "Some of the data is not being processed correctly, I think.", next_step = nil },
|
{ label = "Maybe", next_step = nil },
|
||||||
{ label = "I don't know, I'm not a programmer.", next_step = nil, on_select = function()
|
},
|
||||||
Meter.add("ism", 10)
|
},
|
||||||
end },
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
Discussion.register({
|
||||||
|
id = "coworker_disc_2",
|
||||||
|
steps = {
|
||||||
|
{
|
||||||
|
question = "Hey Norman, do you have new socks on? That's a weird color!",
|
||||||
|
answers = {
|
||||||
|
{ label = "Huh? True ...", next_step = 2 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "You look strange today, Normal, you put your tie on backwards, is everything ok? ",
|
||||||
|
answers = {
|
||||||
|
{ label = "Get it right, Norman ... NORMAN!", next_step = 3 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "Yo Normann, text goes from left to right, not right to left, these parts!",
|
||||||
|
answers = {
|
||||||
|
{ label = "Uhm...why?", next_step = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Discussion.register({
|
||||||
|
id = "coworker_disc_asc_2",
|
||||||
|
steps = {
|
||||||
|
{
|
||||||
|
question = "Normann, are you ok? You were doing weird things while typing?",
|
||||||
|
answers = {
|
||||||
|
{ label = "Naw", next_step = 2 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "Oh, it's ok, I'm not wathcing you. Noone really is. *giggle*",
|
||||||
|
answers = {
|
||||||
|
{ label = "Huh ?", next_step = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
Discussion.register({
|
||||||
|
id = "coworker_disc_3",
|
||||||
|
steps = {
|
||||||
|
{
|
||||||
|
question = "You look so happy, did you catch a bull or something?",
|
||||||
|
answers = {
|
||||||
|
{ label = "What do you mean?", next_step = 2 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "Most people catch colds! You are so strange!",
|
||||||
|
answers = {
|
||||||
|
{ label = "An apple a day keeps the cold away", next_step = 3 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "You look like you don't really want to work today, are you ok?",
|
||||||
|
answers = {
|
||||||
|
{ label = "Oh brother", next_step = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
Discussion.register({
|
||||||
|
id = "coworker_disc_asc_3",
|
||||||
|
steps = {
|
||||||
|
{
|
||||||
|
question = "Normal, you should take a break, you don't live up to your name today",
|
||||||
|
answers = {
|
||||||
|
{ label = "Norman is the name ...", next_step = 2 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "You aren't as enthusiastic as you were before!",
|
||||||
|
answers = {
|
||||||
|
{ label = "Burnout comes for everyone", next_step = nil },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Discussion.register({
|
Discussion.register({
|
||||||
id = "sumphore_asc_1_a",
|
id = "sumphore_disc_asc_1",
|
||||||
steps = {
|
steps = {
|
||||||
{
|
{
|
||||||
question = "Are you still seeking the ox?",
|
question = "Are you still seeking the ox?",
|
||||||
@@ -18,7 +18,7 @@ Discussion.register({
|
|||||||
})
|
})
|
||||||
|
|
||||||
Discussion.register({
|
Discussion.register({
|
||||||
id = "sumphore_asc_1_b",
|
id = "sumphore_disc_asc_2",
|
||||||
steps = {
|
steps = {
|
||||||
{
|
{
|
||||||
question = "How's work? Your face looks strange",
|
question = "How's work? Your face looks strange",
|
||||||
@@ -46,12 +46,12 @@ Discussion.register({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
question = "Always trying to do the right thing, huh?",
|
question = "Always trying to do the right thing, huh? What if you did the left thing instead?",
|
||||||
answers = {
|
answers = {
|
||||||
{ label = "I've never thought of that up till now.", next_step = nil, on_select = function()
|
{ label = "I've never thought of that up till now.", next_step = nil, on_select = function()
|
||||||
Meter.add("ism", 5)
|
Meter.add("ism", 5)
|
||||||
end },
|
end },
|
||||||
{ label = "Exactly.", next_step = nil, on_select = function()
|
{ label = "Silly wordgames, I like them.", next_step = nil, on_select = function()
|
||||||
Meter.add("wpm", 10)
|
Meter.add("wpm", 10)
|
||||||
end },
|
end },
|
||||||
},
|
},
|
||||||
@@ -59,6 +59,32 @@ Discussion.register({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Discussion.register({
|
||||||
|
id = "sumphore_disc_asc_3",
|
||||||
|
steps = {
|
||||||
|
{
|
||||||
|
question = "Do you think it's work you're doing?",
|
||||||
|
answers = {
|
||||||
|
{ label = "... that sounds like it's from a movie.", next_step = 2 },
|
||||||
|
{ label = "Are you drunk, old man?", next_step = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "You might just be trying too hard, why dont you just flow for a while?",
|
||||||
|
answers = {
|
||||||
|
{ label = "Flow where ?", next_step = 3 },
|
||||||
|
{ label = "I'm not sure what you mean.", next_step = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
question = "Flow carelessly, without any effort",
|
||||||
|
answers = {
|
||||||
|
{ label = "Consuming sth other than alcohol ?", next_step = nil },
|
||||||
|
{ label = "Deja vu", next_step = nil },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
Discussion.register({
|
Discussion.register({
|
||||||
id = "homeless_guy",
|
id = "homeless_guy",
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ Context = {}
|
|||||||
--- * triggers (table) Active trigger runtime state, keyed by trigger ID.<br/>
|
--- * triggers (table) Active trigger runtime state, keyed by trigger ID.<br/>
|
||||||
--- * stat_screen_active (boolean) Whether the stat screen overlay is currently shown.<br/>
|
--- * stat_screen_active (boolean) Whether the stat screen overlay is currently shown.<br/>
|
||||||
--- * have_met_sumphore (boolean) Whether the player has talked to the homeless guy.<br/>
|
--- * have_met_sumphore (boolean) Whether the player has talked to the homeless guy.<br/>
|
||||||
|
--- * have_been_to_office (boolean) Whether the player has been to the office.<br/>
|
||||||
|
--- * have_done_work_today (boolean) Whether the player has done work today.<br/>
|
||||||
--- * game (table) Current game progress state. Contains: `current_screen` (string) active screen ID, `current_situation` (string|nil) active situation ID.<br/>
|
--- * game (table) Current game progress state. Contains: `current_screen` (string) active screen ID, `current_situation` (string|nil) active situation ID.<br/>
|
||||||
function Context.initial_data()
|
function Context.initial_data()
|
||||||
return {
|
return {
|
||||||
@@ -40,6 +42,9 @@ function Context.initial_data()
|
|||||||
timer = Timer.get_initial(),
|
timer = Timer.get_initial(),
|
||||||
triggers = {},
|
triggers = {},
|
||||||
home_norman_visible = false,
|
home_norman_visible = false,
|
||||||
|
have_been_to_office = false,
|
||||||
|
have_done_work_today = false,
|
||||||
|
should_ascend = false,
|
||||||
have_met_sumphore = false,
|
have_met_sumphore = false,
|
||||||
game = {
|
game = {
|
||||||
current_screen = "home",
|
current_screen = "home",
|
||||||
@@ -93,10 +98,16 @@ function Context.new_game()
|
|||||||
MysteriousManScreen.start({
|
MysteriousManScreen.start({
|
||||||
text = [[
|
text = [[
|
||||||
Norman was never a bad
|
Norman was never a bad
|
||||||
simulation engineer, but
|
...
|
||||||
we need to be careful in
|
simulation engineer,
|
||||||
letting him improve. We
|
...
|
||||||
need to distract him.
|
but
|
||||||
|
...
|
||||||
|
we need to be careful
|
||||||
|
...
|
||||||
|
letting him improve.
|
||||||
|
...
|
||||||
|
We need to distract him.
|
||||||
]],
|
]],
|
||||||
on_text_complete = function()
|
on_text_complete = function()
|
||||||
Audio.sfx_alarm()
|
Audio.sfx_alarm()
|
||||||
@@ -111,7 +122,6 @@ function Context.new_game()
|
|||||||
show_progress_text = false,
|
show_progress_text = false,
|
||||||
on_win = function()
|
on_win = function()
|
||||||
Audio.music_play_wakingup()
|
Audio.music_play_wakingup()
|
||||||
Context.home_norman_visible = true
|
|
||||||
Meter.show()
|
Meter.show()
|
||||||
Window.set_current("game")
|
Window.set_current("game")
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ local _day_increase_handlers = {}
|
|||||||
--- @within Day
|
--- @within Day
|
||||||
function Day.increase()
|
function Day.increase()
|
||||||
Context.day_count = Context.day_count + 1
|
Context.day_count = Context.day_count + 1
|
||||||
|
if Context.day_count == 3 then
|
||||||
|
Context.should_ascend = true
|
||||||
|
end
|
||||||
for _, handler in ipairs(_day_increase_handlers) do
|
for _, handler in ipairs(_day_increase_handlers) do
|
||||||
handler()
|
handler()
|
||||||
end
|
end
|
||||||
@@ -25,7 +28,8 @@ Day.register_handler(function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
Day.register_handler(function()
|
Day.register_handler(function()
|
||||||
if Context.day_count == 3 then
|
if Context.should_ascend then
|
||||||
Ascension.increase()
|
Ascension.increase()
|
||||||
end
|
end
|
||||||
|
Context.should_ascend = false
|
||||||
end)
|
end)
|
||||||
@@ -24,8 +24,11 @@ local ASC_12_TEXT = [[
|
|||||||
local ASC_23_TEXT = [[
|
local ASC_23_TEXT = [[
|
||||||
Not good, not terrible.
|
Not good, not terrible.
|
||||||
...
|
...
|
||||||
Normann caught his glimpse of another way
|
Normann caught his glimpse
|
||||||
*quite literally*
|
...
|
||||||
|
of another way
|
||||||
|
...
|
||||||
|
- quite literally -
|
||||||
...
|
...
|
||||||
if this continues,
|
if this continues,
|
||||||
...
|
...
|
||||||
@@ -51,6 +54,18 @@ local ASC_45_TEXT = [[
|
|||||||
...
|
...
|
||||||
]]
|
]]
|
||||||
|
|
||||||
|
local ascension_texts = {
|
||||||
|
[1] = ASC_01_TEXT,
|
||||||
|
[2] = ASC_12_TEXT,
|
||||||
|
[3] = ASC_23_TEXT,
|
||||||
|
[4] = ASC_34_TEXT,
|
||||||
|
[5] = ASC_45_TEXT,
|
||||||
|
}
|
||||||
|
|
||||||
|
function MysteriousManScreen.get_text_for_level(level)
|
||||||
|
return ascension_texts[level] or ASC_01_TEXT
|
||||||
|
end
|
||||||
|
|
||||||
local state = STATE_TEXT
|
local state = STATE_TEXT
|
||||||
local text_y = Config.screen.height
|
local text_y = Config.screen.height
|
||||||
local text_speed = 0.2
|
local text_speed = 0.2
|
||||||
@@ -118,7 +133,6 @@ local function wake_up()
|
|||||||
show_progress_text = false,
|
show_progress_text = false,
|
||||||
on_win = function()
|
on_win = function()
|
||||||
Audio.music_play_wakingup()
|
Audio.music_play_wakingup()
|
||||||
Context.home_norman_visible = true
|
|
||||||
Meter.show()
|
Meter.show()
|
||||||
if trigger_flash_on_wake then
|
if trigger_flash_on_wake then
|
||||||
trigger_flash_on_wake = false
|
trigger_flash_on_wake = false
|
||||||
@@ -149,10 +163,7 @@ function MysteriousManScreen.start(options)
|
|||||||
text_done_timer = 0
|
text_done_timer = 0
|
||||||
selected_choice = 1
|
selected_choice = 1
|
||||||
text = options.text or ASC_01_TEXT
|
text = options.text or ASC_01_TEXT
|
||||||
local line_count = 1
|
text_y = Config.screen.height
|
||||||
for _ in string.gmatch(text, "\n") do line_count = line_count + 1 end
|
|
||||||
local text_block_h = line_count * 8
|
|
||||||
text_y = math.floor((Config.screen.height - text_block_h) / 2)
|
|
||||||
day_text_override = options.day_text
|
day_text_override = options.day_text
|
||||||
on_text_complete = options.on_text_complete
|
on_text_complete = options.on_text_complete
|
||||||
Meter.hide()
|
Meter.hide()
|
||||||
|
|||||||
@@ -23,5 +23,6 @@ Screen.register({
|
|||||||
Sprite.draw_at("dev_guru", 22 * 8, 10 * 8 + 4)
|
Sprite.draw_at("dev_guru", 22 * 8, 10 * 8 + 4)
|
||||||
Sprite.draw_at("dev_operator", 27 * 8, 10 * 8 + 4)
|
Sprite.draw_at("dev_operator", 27 * 8, 10 * 8 + 4)
|
||||||
end
|
end
|
||||||
|
Context.have_been_to_office = true
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ Screen.register({
|
|||||||
Focus.stop()
|
Focus.stop()
|
||||||
Context.stat_screen_active = false
|
Context.stat_screen_active = false
|
||||||
Meter.show()
|
Meter.show()
|
||||||
|
Util.go_to_screen_by_id("home")
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
draw = function()
|
draw = function()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Screen.register({
|
|||||||
decisions = {
|
decisions = {
|
||||||
"go_to_home",
|
"go_to_home",
|
||||||
"go_to_office",
|
"go_to_office",
|
||||||
"start_discussion",
|
"sumphore_discussion",
|
||||||
},
|
},
|
||||||
background = "street",
|
background = "street",
|
||||||
draw = function()
|
draw = function()
|
||||||
|
|||||||
@@ -2,6 +2,5 @@ Situation.register({
|
|||||||
id = "drink_coffee",
|
id = "drink_coffee",
|
||||||
handle = function()
|
handle = function()
|
||||||
Audio.sfx_select()
|
Audio.sfx_select()
|
||||||
Sprite.show("norman", 100, 100)
|
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -40,7 +40,9 @@ function MinigameDDRWindow.init_context()
|
|||||||
use_pattern = false,
|
use_pattern = false,
|
||||||
return_window = nil,
|
return_window = nil,
|
||||||
win_timer = 0,
|
win_timer = 0,
|
||||||
on_win = nil
|
on_win = nil,
|
||||||
|
special_condition_met = false,
|
||||||
|
total_misses = 0,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -162,6 +164,7 @@ function MinigameDDRWindow.update()
|
|||||||
if mg.win_timer > 0 then
|
if mg.win_timer > 0 then
|
||||||
mg.win_timer = mg.win_timer - 1
|
mg.win_timer = mg.win_timer - 1
|
||||||
if mg.win_timer == 0 then
|
if mg.win_timer == 0 then
|
||||||
|
mg.special_condition_met = (mg.total_misses == 0)
|
||||||
Meter.on_minigame_complete()
|
Meter.on_minigame_complete()
|
||||||
if mg.on_win then
|
if mg.on_win then
|
||||||
mg.on_win()
|
mg.on_win()
|
||||||
@@ -211,6 +214,7 @@ function MinigameDDRWindow.update()
|
|||||||
if mg.bar_fill < 0 then
|
if mg.bar_fill < 0 then
|
||||||
mg.bar_fill = 0
|
mg.bar_fill = 0
|
||||||
end
|
end
|
||||||
|
mg.total_misses = mg.total_misses + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- iterate backwards to avoid index shift issues
|
-- iterate backwards to avoid index shift issues
|
||||||
@@ -254,6 +258,7 @@ function MinigameDDRWindow.update()
|
|||||||
if mg.bar_fill < 0 then
|
if mg.bar_fill < 0 then
|
||||||
mg.bar_fill = 0
|
mg.bar_fill = 0
|
||||||
end
|
end
|
||||||
|
mg.total_misses = mg.total_misses + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -70,6 +70,9 @@ function MinigameButtonMashWindow.update()
|
|||||||
if mg.win_timer == 0 then
|
if mg.win_timer == 0 then
|
||||||
Meter.on_minigame_complete()
|
Meter.on_minigame_complete()
|
||||||
if mg.focus_center_x then Focus.stop() end
|
if mg.focus_center_x then Focus.stop() end
|
||||||
|
Context.home_norman_visible = true
|
||||||
|
Context.have_done_work_today = false
|
||||||
|
Context.have_been_to_office = false
|
||||||
if mg.on_win then
|
if mg.on_win then
|
||||||
mg.on_win()
|
mg.on_win()
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user