Предметы и описания

This commit is contained in:
Alexander Yakovlev 2016-12-11 22:12:06 +07:00
parent f2e8cf6700
commit ab131fdfec
3 changed files with 60 additions and 1 deletions

View File

@ -25,6 +25,8 @@ $.getJSON('game/procgen/'+i18n.lang+'.json', (data) ->
salet.init = () -> salet.init = () ->
salet.character.lastBeat = () -> salet.character.lastBeat = () ->
return salet.progress.sequence.length - salet.character.beat return salet.progress.sequence.length - salet.character.beat
salet.character.newBeat = () ->
salet.character.beat = salet.progress.sequence.length
$(document).ready(() -> $(document).ready(() ->
window.addEventListener('popstate', (event) -> window.addEventListener('popstate', (event) ->
@ -90,6 +92,12 @@ class ImprovModel
if @getTag(tagName) == undefined if @getTag(tagName) == undefined
@tags.push([tagName, value]) @tags.push([tagName, value])
cunit = (name, spec) ->
spec.act = () ->
salet.view.clearContent()
salet.here().entering("start")
return '<em>'+@enact.fcall(this)+'</em>'
return unit(name, spec)
state = new ImprovModel state = new ImprovModel
procgen = (tag) -> procgen = (tag) ->
return Improv.gen(tag, state) return Improv.gen(tag, state)

View File

@ -115,6 +115,9 @@ module.exports =
Вы видите то же купе, но сейчас дверь открыта, и внутри никого нет. Вы видите то же купе, но сейчас дверь открыта, и внутри никого нет.
За окном осенний тёплый пейзаж сменился метелью.
Неужели вы уже в Сибири?
Куда все так внезапно ушли? Куда все так внезапно ушли?
Верхние полки сложены, а на столе лежит книжка Стивена Кинга. Верхние полки сложены, а на столе лежит книжка Стивена Кинга.
""" """
@ -171,3 +174,9 @@ module.exports =
У вас созревает план мести. У вас созревает план мести.
Но если вы не можете выйти, то как заставить кондуктора прийти сюда? Но если вы не можете выйти, то как заставить кондуктора прийти сюда?
""" """
book: "На столике лежит {{книга}} в мягком переплёте."
book_floor: "На полу лежит {{книга}} в мягком переплёте."
book_act: "Напрягшись, вы берёте книгу и роняете её со стола."
book_act_twice: "Книга только упала со столика, а вы и так устали."
reset_book: "Алексей замечает книгу на полу и нагибается, чтобы её поднять."
reset_book_ends: "Алексей поднимается и кладёт книгу на место."

View File

@ -20,8 +20,14 @@ room "start",
salet.character.knows_alexey salet.character.knows_alexey
) )
salet.character.killed = true salet.character.killed = true
salet.character.beat = salet.progress.sequence.length salet.character.newBeat()
salet.goTo("killed") salet.goTo("killed")
if (salet.character.book = true and salet.character.lastBeat() == 2)
salet.view.write "**"+"reset_book".l()+"**"
if (salet.character.book = true and salet.character.lastBeat() > 3)
salet.character.book = false
salet.character.newBeat()
salet.view.write "**"+"reset_book_ends".l()+"**"
writers: writers:
window: () -> window: () ->
# re-enter the room, reroll the description # re-enter the room, reroll the description
@ -33,6 +39,40 @@ room "start",
salet.view.clearContent() salet.view.clearContent()
salet.view.append("<em>"+"#{to}_reaction".l()+"</em>") salet.view.append("<em>"+"#{to}_reaction".l()+"</em>")
return false return false
units:[
unit "debug",
dsc: "{{Пропустить интро}}"
act: () ->
state.setTag("weather", "cold")
salet.here().take(book)
salet.here().take(blood)
salet.character.newBeat()
salet.character["knows_alexey"] = true
salet.character["knows_margo"] = true
salet.here().drop("debug")
salet.character.killed = true
salet.view.clearContent()
salet.here().entering("start")
return "*Сделано.*"
]
book = cunit "book",
dsc: () ->
if salet.character.book
return "book_floor".l()
else
return "book".l()
enact: () ->
if salet.character.book
return "book_act_twice".l()
else
salet.character.book = true
salet.character.newBeat()
return "book_act".l()
blood = cunit "blood",
dsc: "Вы замечаете на полу {{красное пятно.}}"
enact: "Кровь. Вы не очень удивлены."
## ACTUALLY DIALOGUES ## ACTUALLY DIALOGUES
@ -111,6 +151,8 @@ room "killed5",
clear: false clear: false
enter: () -> enter: () ->
state.setTag("weather", "cold") state.setTag("weather", "cold")
salet.rooms["start"].take(book)
salet.rooms["start"].take(blood)
optionText: "killed5_option".l() optionText: "killed5_option".l()
dsc: "killed5".l() dsc: "killed5".l()
tags: ["killed"] tags: ["killed"]