1
0
Fork 0
mirror of https://gitlab.com/Oreolek/ludumdare37.git synced 2024-04-25 13:49:47 +03:00

Разрешение проблем с таймерами.

This commit is contained in:
Alexander Yakovlev 2016-12-15 20:50:16 +07:00
parent d32089d79c
commit c8801dad4d
5 changed files with 54 additions and 57 deletions

View file

@ -10,7 +10,7 @@ i18n.push("ru", require('../../game/language/ru.coffee'))
i18n.push("en", require('../../game/language/en.coffee')) i18n.push("en", require('../../game/language/en.coffee'))
salet.game_id = "0ee0825d-0c71-4a08-bfe5-730e575df26d" salet.game_id = "0ee0825d-0c71-4a08-bfe5-730e575df26d"
salet.game_version = "1.0" salet.game_version = "2.0"
$.holdReady( true ) $.holdReady( true )
$.getJSON('game/procgen/'+i18n.lang+'.json', (data) -> $.getJSON('game/procgen/'+i18n.lang+'.json', (data) ->
@ -25,11 +25,6 @@ $.getJSON('game/procgen/'+i18n.lang+'.json', (data) ->
) )
salet.init = () -> salet.init = () ->
salet.character.lastBeat = () ->
return salet.progress.sequence.length - salet.character.beat
salet.character.newBeat = () ->
salet.character.beat = salet.progress.sequence.length
salet.character.beat = 0
state.setTag("weather", "warm") state.setTag("weather", "warm")
audio = document.getElementById("bgsound") audio = document.getElementById("bgsound")
if audio? if audio?
@ -100,15 +95,17 @@ class ImprovModel
setTagIfNotPresent: (tagName, value) -> setTagIfNotPresent: (tagName, value) ->
if @getTag(tagName) == undefined if @getTag(tagName) == undefined
@tags.push([tagName, value]) @tags.push([tagName, value])
state = new ImprovModel
procgen = (tag) ->
return Improv.gen(tag, state)
cunit = (name, spec) -> cunit = (name, spec) ->
spec.act = () -> spec.act = () ->
# re-enter the room, reroll the description # re-enter the room, reroll the description
salet.view.clearContent() salet.view.clearContent()
response = '<em>'+@enact.fcall(this)+'</em>'
r = salet.here() r = salet.here()
r.entering(r.name) r.entering(r.name)
return '<em>'+@enact.fcall(this)+'</em>' return response
return unit(name, spec) return unit(name, spec)
state = new ImprovModel
procgen = (tag) ->
return Improv.gen(tag, state)

View file

@ -297,3 +297,4 @@ module.exports =
### КОНЕЦ ### КОНЕЦ
""" """
owindow_opened: "Оно открыто."

View file

@ -1,40 +1,25 @@
## REAL ROOM ## REAL ROOM
#TODO: после открытия окна нельзя открыть его дважды, пока его не закрыли
room "start", room "start",
clear: false clear: false
before: (from) -> before: (from) ->
if (!from) if (!from)
# timer every three actions
salet.addTimer("killed", () ->
if (
salet.character.knows_margo and
salet.character.knows_alexey
)
salet.character.killed = true
salet.dropTimer("killed")
salet.goTo("killed")
, true, 3)
return "intro".l() return "intro".l()
dsc: () -> dsc: () ->
if salet.character.ferret if salet.character.ferret
return "dsc_ferret".l() return "dsc_ferret".l()
return "dsc".l() return "dsc".l()
afterChoices: () ->
if (
salet.character.lastBeat() > 3 and
salet.character.killed != true and
salet.character.knows_margo and
salet.character.knows_alexey
)
salet.character.killed = true
salet.character.newBeat()
salet.goTo("killed")
if (salet.character.book and salet.character.lastBeat() == 2)
salet.view.write "**"+"reset_book".l()+"**"
if (salet.character.window and salet.character.lastBeat() == 2)
salet.view.write "**"+"reset_window".l()+"**"
if (salet.character.window and salet.character.lastBeat() > 3)
salet.character.window = false
salet.character.newBeat()
salet.view.write "**"+"reset_window_ends".l()+"**"
if (salet.character.book and salet.character.lastBeat() > 3)
salet.character.book = false
salet.character.newBeat()
salet.view.write "**"+"reset_book_ends".l()+"**"
canExit: (to) -> canExit: (to) ->
if salet.character.killed and (to == "margo" or to == "alexey") if salet.character.killed and (to == "margo" or to == "alexey")
salet.view.clearContent() salet.view.clearContent()
@ -44,6 +29,8 @@ room "start",
cunit "window", cunit "window",
order: 5 order: 5
dsc: () -> dsc: () ->
if salet.character.ferret
return "\n\n"+"window_end".l()
if salet.character.ferret if salet.character.ferret
return "\n\n"+"window_end".l() return "\n\n"+"window_end".l()
return "\n\n"+"window".l() return "\n\n"+"window".l()
@ -52,13 +39,21 @@ room "start",
cunit "owindow", cunit "owindow",
order: 6 order: 6
dsc: () -> dsc: () ->
if salet.character.window
return "owindow_opened".l()
if salet.character.ferret if salet.character.ferret
return "owindow_end".l() return "owindow_end".l()
return "owindow".l() return "owindow".l()
enact: () -> enact: () ->
if salet.character.killed if salet.character.killed
salet.addTimer("window", () ->
return "**"+"reset_window".l()+"**"
, false, 2)
salet.addTimer("windowend", () ->
salet.character.window = false
return "**"+"reset_window_ends".l()+"**"
, false, 4)
salet.character.window = true salet.character.window = true
salet.character.newBeat()
return "window_open".l() return "window_open".l()
else else
return "window_open_no".l() return "window_open_no".l()
@ -83,36 +78,39 @@ room "start",
enact: () -> enact: () ->
salet.goTo("margo") salet.goTo("margo")
] ]
###
cunit "debug", debug = cunit "debug",
dsc: "<center>{{Skip until the puzzles}}</center>" dsc: "<center>{{Skip until the puzzles}}</center>"
order: 666 order: 666
enact: () -> enact: () ->
state.setTag("weather", "cold") state.setTag("weather", "cold")
salet.here().take(book) salet.here().take(book)
salet.here().take(blood) salet.here().take(blood)
salet.here().take(ferret) salet.here().take(ferret)
salet.character.newBeat() salet.character["knows_alexey"] = true
salet.character["knows_alexey"] = true salet.character["knows_margo"] = true
salet.character["knows_margo"] = true salet.here().drop("debug")
salet.here().drop("debug") salet.dropTimer("killed")
salet.character.killed = true salet.character.killed = true
return "Done." return "Done."
### salet.rooms.start.take(debug)
book = cunit "book", book = cunit "book",
order: 7 order: 7
dsc: () -> dsc: () ->
if salet.character.book if salet.character.book
return "\n\n"+"book_floor".l() return "\n\n"+"book_floor".l()
else return "\n\n"+"book".l()
return "\n\n"+"book".l()
enact: () -> enact: () ->
if salet.character.book if salet.character.book
return "book_act_twice".l() return "book_act_twice".l()
else else
salet.addTimer("book", "**"+"reset_book".l()+"**", false, 2)
salet.addTimer("bookend", () ->
salet.character.book = false
return "**"+"reset_book_ends".l()+"**"
, false, 4)
salet.character.book = true salet.character.book = true
salet.character.newBeat()
return "book_act".l() return "book_act".l()
blood = cunit "blood", blood = cunit "blood",

View file

@ -39,6 +39,7 @@
<!-- CDN JS Libraries --> <!-- CDN JS Libraries -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.5/marked.min.js" integrity="sha384-QXBtGc4014gU26HdCwzgy8TVO+FHSSE4+EvPPiSTpdE9w0KyJy1ocfiIbBl1HLq7" crossorigin="anonymous"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.5/marked.min.js" integrity="sha384-QXBtGc4014gU26HdCwzgy8TVO+FHSSE4+EvPPiSTpdE9w0KyJy1ocfiIbBl1HLq7" crossorigin="anonymous"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script> <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script>
<audio id="bgsound" preload="auto" loop="loop"><source src="audio/bgr.mp3" type='audio/mpeg; codecs="mp3"'></audio>
<script type="text/javascript" src="game/bundle.js"></script> <script type="text/javascript" src="game/bundle.js"></script>
<!-- Piwik --> <!-- Piwik -->

View file

@ -40,7 +40,7 @@
<!-- CDN JS Libraries --> <!-- CDN JS Libraries -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.5/marked.min.js" integrity="sha384-QXBtGc4014gU26HdCwzgy8TVO+FHSSE4+EvPPiSTpdE9w0KyJy1ocfiIbBl1HLq7" crossorigin="anonymous"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.5/marked.min.js" integrity="sha384-QXBtGc4014gU26HdCwzgy8TVO+FHSSE4+EvPPiSTpdE9w0KyJy1ocfiIbBl1HLq7" crossorigin="anonymous"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script> <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script>
<!-- <audio id="bgsound" preload="auto" loop="loop"><source src="audio/bgr.mp3" type='audio/mpeg; codecs="mp3"'></audio> --> <audio id="bgsound" preload="auto" loop="loop"><source src="audio/bgr.mp3" type='audio/mpeg; codecs="mp3"'></audio>
<script type="text/javascript" src="game/bundle.js"></script> <script type="text/javascript" src="game/bundle.js"></script>
<!-- Piwik --> <!-- Piwik -->