mirror of
https://gitlab.com/Oreolek/black_phone.git
synced 2024-06-26 03:50:56 +03:00
The box puzzle
This commit is contained in:
parent
5e2c1862a0
commit
e7e0a7b4d5
|
@ -37,6 +37,36 @@ writemd = (system, text) ->
|
||||||
money = (character, system, amount) ->
|
money = (character, system, amount) ->
|
||||||
system.setQuality("money", character.qualities.money + amount)
|
system.setQuality("money", character.qualities.money + amount)
|
||||||
|
|
||||||
|
code_can_input = (character) ->
|
||||||
|
return character.sandbox.code.length < 6
|
||||||
|
|
||||||
|
code_input = (character, digit) ->
|
||||||
|
if code_can_input(character)
|
||||||
|
character.sandbox.code = character.sandbox.code + digit
|
||||||
|
|
||||||
|
code_reset = (character) ->
|
||||||
|
character.sandbox.code = ""
|
||||||
|
|
||||||
|
code_check = (character, system) ->
|
||||||
|
if character.sandbox.code.length >= 6
|
||||||
|
if character.sandbox.code != "27032017"
|
||||||
|
writemd(system, "Something clicks and the display resets, but the box stays locked.")
|
||||||
|
if character.sandbox.code == "000000"
|
||||||
|
writemd(system, "Of course, Ronald didn't hope it would be that easy.")
|
||||||
|
else
|
||||||
|
character.sandbox.box_opened = 1
|
||||||
|
writemd(system, """
|
||||||
|
Something clicks and box opens.
|
||||||
|
|
||||||
|
The phone is slick, black and light in Ronald's hand.
|
||||||
|
It springs to life, humming with purpose.
|
||||||
|
The screen plays an animation: "LOADING..."
|
||||||
|
|
||||||
|
Ronald has no other business here.
|
||||||
|
It's time to go.
|
||||||
|
""")
|
||||||
|
character.sandbox.code = ""
|
||||||
|
|
||||||
situation "start",
|
situation "start",
|
||||||
content: """
|
content: """
|
||||||
Peter had so much trouble sleeping he had to drown his pills in at least an hour of thoughts.
|
Peter had so much trouble sleeping he had to drown his pills in at least an hour of thoughts.
|
||||||
|
|
|
@ -7,5 +7,8 @@ undum.game.init = (character, system) ->
|
||||||
)
|
)
|
||||||
document.onmousedown = (e) ->
|
document.onmousedown = (e) ->
|
||||||
e.target.click()
|
e.target.click()
|
||||||
|
character.sandbox.view_smash = 1
|
||||||
|
character.sandbox.code = ""
|
||||||
|
character.sandbox.box_opened = 0
|
||||||
|
|
||||||
window.onload = undum.begin
|
window.onload = undum.begin
|
||||||
|
|
|
@ -5,13 +5,11 @@ update_ways = (ways) ->
|
||||||
content += way_to(undum.game.situations[way].title, way)
|
content += way_to(undum.game.situations[way].title, way)
|
||||||
$("#ways").html(content)
|
$("#ways").html(content)
|
||||||
|
|
||||||
# Сюжет игры:
|
# the code is the day she met her lover
|
||||||
# герой находит коробку, коробка закрыта
|
# if the player enters the code prior to learning the birthday, the game responds accordingly
|
||||||
# коробка - отдельная ситуация с вариантами действий
|
# when he wants to go, there's someone at rge door
|
||||||
# сломать коробку = шум
|
# it's another thief (someone who is at ease with Ana's Instagram too) who took out Petya
|
||||||
# открыть коробку - нужен код
|
# the Black Phone can deal with him
|
||||||
# когда он хочет уйти, за дверью кто-то стоит - это другой вор, который оглушил Петю
|
|
||||||
# его можно убрать при помощи Чёрного Телефона
|
|
||||||
|
|
||||||
situation "living-room",
|
situation "living-room",
|
||||||
title: "Living room"
|
title: "Living room"
|
||||||
|
@ -87,11 +85,14 @@ situation "bedroom",
|
||||||
update_ways(this.ways)
|
update_ways(this.ways)
|
||||||
title: "Bedroom"
|
title: "Bedroom"
|
||||||
ways: ["living-room", "kitchen"]
|
ways: ["living-room", "kitchen"]
|
||||||
content: """
|
content: (character, system) ->
|
||||||
On a small table near the bed is an ornate #{textlink("wooden box.", "box")}
|
return """
|
||||||
"""
|
The bedroom is spacious. There's a wardrobe and a big bed.
|
||||||
writers:
|
|
||||||
box: ""
|
#{if character.sandbox.box_opened == 0
|
||||||
|
"On a small table near the bed is an ornate #{way_to("wooden box.", "box")}"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
situation "kitchen",
|
situation "kitchen",
|
||||||
before: () ->
|
before: () ->
|
||||||
|
@ -101,3 +102,114 @@ situation "kitchen",
|
||||||
content: """
|
content: """
|
||||||
Bedroom here
|
Bedroom here
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
situation "box",
|
||||||
|
before: () ->
|
||||||
|
update_ways(this.ways)
|
||||||
|
ways: ["bedroom"]
|
||||||
|
choices: "#box"
|
||||||
|
content: (character, system) ->
|
||||||
|
return """
|
||||||
|
It's a red wood, very expensive.
|
||||||
|
And this box is locked with a digital code key.
|
||||||
|
#{if is_visited(this) == 0
|
||||||
|
"""
|
||||||
|
Ronald takes out a vial from his pocket. He coats the keys with a bright white powder.
|
||||||
|
|
||||||
|
Only 1, 2, 3, 7 and 0 keys are fingerprinted.
|
||||||
|
|
||||||
|
He wipes the box clean until there is no trace of the powder.
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
# no need to call update_ways, it's the same location
|
||||||
|
situation "smash",
|
||||||
|
canView: (character) ->
|
||||||
|
character.sandbox.view_smash == 1
|
||||||
|
optionText: "Smash the box"
|
||||||
|
before: (character) ->
|
||||||
|
character.sandbox.view_smash = 0
|
||||||
|
choices: "#box"
|
||||||
|
tags: ["box"]
|
||||||
|
content: "Ronald still needs the phone in this box. A very high-tech fragile phone. Smashing isn't an option."
|
||||||
|
|
||||||
|
situation "put1",
|
||||||
|
choices: "#box"
|
||||||
|
tags: ["box"]
|
||||||
|
optionText: "Enter 1"
|
||||||
|
before: (character) ->
|
||||||
|
code_input(character, 1)
|
||||||
|
canChoose: (character) ->
|
||||||
|
code_can_input(character)
|
||||||
|
after: (character, system) ->
|
||||||
|
code_check(character, system)
|
||||||
|
content: (character) -> """
|
||||||
|
Ronald presses button 1. The display is #{character.sandbox.code} now.
|
||||||
|
"""
|
||||||
|
|
||||||
|
situation "put2",
|
||||||
|
choices: "#box"
|
||||||
|
tags: ["box"]
|
||||||
|
optionText: "Enter 2"
|
||||||
|
before: (character) ->
|
||||||
|
code_input(character, 2)
|
||||||
|
after: (character, system) ->
|
||||||
|
code_check(character, system)
|
||||||
|
canChoose: (character) ->
|
||||||
|
code_can_input(character)
|
||||||
|
content: (character) -> """
|
||||||
|
Ronald presses button 2. The display is #{character.sandbox.code} now.
|
||||||
|
"""
|
||||||
|
|
||||||
|
situation "put3",
|
||||||
|
choices: "#box"
|
||||||
|
tags: ["box"]
|
||||||
|
optionText: "Enter 3"
|
||||||
|
before: (character) ->
|
||||||
|
code_input(character, 3)
|
||||||
|
after: (character, system) ->
|
||||||
|
code_check(character, system)
|
||||||
|
canChoose: (character) ->
|
||||||
|
code_can_input(character)
|
||||||
|
content: (character) -> """
|
||||||
|
Ronald presses button 3. The display is #{character.sandbox.code} now.
|
||||||
|
"""
|
||||||
|
|
||||||
|
situation "put7",
|
||||||
|
choices: "#box"
|
||||||
|
tags: ["box"]
|
||||||
|
optionText: "Enter 7"
|
||||||
|
before: (character) ->
|
||||||
|
code_input(character, 7)
|
||||||
|
after: (character, system) ->
|
||||||
|
code_check(character, system)
|
||||||
|
canChoose: (character) ->
|
||||||
|
code_can_input(character)
|
||||||
|
content: (character) -> """
|
||||||
|
Ronald presses button 7. The display is #{character.sandbox.code} now.
|
||||||
|
"""
|
||||||
|
|
||||||
|
situation "put0",
|
||||||
|
choices: "#box"
|
||||||
|
tags: ["box"]
|
||||||
|
optionText: "Enter 0"
|
||||||
|
before: (character) ->
|
||||||
|
code_input(character, 0)
|
||||||
|
after: (character, system) ->
|
||||||
|
code_check(character, system)
|
||||||
|
canChoose: (character) ->
|
||||||
|
code_can_input(character)
|
||||||
|
content: (character) -> """
|
||||||
|
Ronald presses button 0. The display is #{character.sandbox.code} now.
|
||||||
|
"""
|
||||||
|
|
||||||
|
situation "reset",
|
||||||
|
choices: "#box"
|
||||||
|
tags: ["box"]
|
||||||
|
optionText: "Reset the display"
|
||||||
|
before: (character) ->
|
||||||
|
code_reset(character)
|
||||||
|
content: """
|
||||||
|
You press Backspace until the display is empty.
|
||||||
|
"""
|
||||||
|
|
Loading…
Reference in a new issue