From 8a720273556b5d4389ea8f597dd70044020724be Mon Sep 17 00:00:00 2001 From: Oreolek Date: Wed, 9 Dec 2015 08:52:52 +0700 Subject: [PATCH] steps sounds --- game/end.coffee | 8 +++--- game/gameplay.coffee | 38 +++++++++++++++++++++----- game/story.coffee | 12 +++++++-- game/translations/ru.coffee | 54 ++++++++++++++++++++++--------------- 4 files changed, 80 insertions(+), 32 deletions(-) diff --git a/game/end.coffee b/game/end.coffee index ef6a107..ccf4c2d 100644 --- a/game/end.coffee +++ b/game/end.coffee @@ -19,11 +19,13 @@ undum.game.init = (character, system) -> character.sandbox.killed = 0 character.sandbox.seen_pacifist = 0 character.sandbox.shot_pacifist = undefined + character.sandbox.steps = false + character.sandbox.steps_volume = 0 $("#title").click(() -> $("#clip").fadeIn() ) - # setInterval( () -> - # console.log( 'Character object:', character ) - #, 1000 ); + setInterval( () -> + play_steps(character) + , 2400 ); window.onload = undum.begin diff --git a/game/gameplay.coffee b/game/gameplay.coffee index 48c02db..21ed49f 100644 --- a/game/gameplay.coffee +++ b/game/gameplay.coffee @@ -7,6 +7,35 @@ scripted_events = (character, system) -> if character.sandbox.shots == 1 writemd(system, "firstmove".l()) + # Finale buildup + if character.qualities.enemies < 9 + character.sandbox.steps = true + character.sandbox.steps_volume = 0.1 + (9 - character.qualities.enemies) * 0.1 + if character.qualities.enemies == 7 + writemd(system, "firststeps".l()) + if character.qualities.enemies == 5 + writemd(system, "secondsteps".l()) + if character.qualities.enemies == 3 + writemd(system, "thirdsteps".l()) + if character.qualities.enemies == 1 + writemd(system, "boss".l()) + if character.qualities.enemies == 0 + character.sandbox.steps = false + system.doLink("finale") + +# Finale buildup - steps sound +play_steps = (character) -> + console.log(character.sandbox.steps) + if character.sandbox.steps == false + return + coin = Math.random() + audio = 'step1' + if coin > 0.5 + audio = 'step2' + audio = document.getElementById(audio) + audio.currentTime=0 + audio.volume = character.sandbox.steps_volume + audio.play() kill_enemy = (character, system) -> if character.qualities.enemies == 0 @@ -15,8 +44,6 @@ kill_enemy = (character, system) -> character.sandbox.killed++ if character.qualities.enemies >= 1 system.setQuality("enemies", character.qualities.enemies - 1) - if character.qualities.enemies == 0 - system.doLink("finale") spend_bullet = (character, system) -> bullets = character.sandbox.clips[character.sandbox.current_clip] @@ -58,9 +85,6 @@ spend_clip = (character, system) -> if character.sandbox.killed > 15 and character.sandbox.seen_pacifist == 0 system.doLink("pacifist") character.sandbox.seen_pacifist = 1 - # Finale buildup - if character.sandbox.killed > 21 - setTimeout( play_step(0.2), 1500) situation "hit", content: (character, system, from) -> @@ -109,7 +133,9 @@ situation "trick", situation "shoot", tags: ["shoot"], optionText: (character, system, from) -> - return "shoot".l().oneOf().randomly(system) + if character.qualities.enemies > 1 + return "shoot".l().oneOf().randomly(system) + return "shoot_boss".l() canChoose: (character, system) -> return character.qualities.bullets > 0 before: (character, system, from) -> diff --git a/game/story.coffee b/game/story.coffee index 8d825a2..a88055c 100644 --- a/game/story.coffee +++ b/game/story.coffee @@ -177,5 +177,13 @@ play_step = (volume) -> situation "finale", content: (character, system) -> if character.sandbox.shots < 36 - return "finale_perfect".l() - return "finale".l() + """ + #{"finale_perfect".l()} + + #{"credits".l()} + """ + """ + #{"finale".l()} + + #{"credits".l()} + """ diff --git a/game/translations/ru.coffee b/game/translations/ru.coffee index de0e0c7..39f362b 100644 --- a/game/translations/ru.coffee +++ b/game/translations/ru.coffee @@ -95,7 +95,7 @@ module.exports.language = ] reload: "Перезарядить пистолет" reload_response: "Я вставляю другой картридж в пистолет. Надеюсь, в нём есть патроны." - search: "Попросить больше картриджей" + search: "Попросить Кристину поискать картриджи" search_response:[ """ -- Кристина! Патроны! @@ -103,6 +103,8 @@ module.exports.language = -- Ищу! """ "Я быстро оглядываюсь. Кристина бегает по дому в поисках моих заначек с патронами.", + "Я быстро оглядываюсь. Кристина уже ищет патроны.", + "Я надеюсь, она может держать барьер и искать патроны одновременно.", """ -- Кристина! Посмотри в морозилке! @@ -132,7 +134,16 @@ module.exports.language = Я отворачиваюсь и ухожу прочь, не обращая внимания на взрыв. Моя работа сделана. + """ + finale_perfect: """ + 35 выстрелов. + Вот всё, что потребовалось. + Была ли это невероятная удача, или вмешательство высшей силы, но ещё осталось много времени. + Моя работа сделана. + А теперь наш вечер вдвоём будет таким, каким он должен быть. + """ + credits: """

КОНЕЦ

В игре использованы следующие звуковые эффекты и изображения в общественном достоянии и под лицензией CC-BY: @@ -142,23 +153,6 @@ module.exports.language = * watupgroupie - [gunshots](http://freesound.org/people/watupgroupie/sounds/36815/) * Yoyodaman234 - [metal footstep 1](http://freesound.org/people/Yoyodaman234/sounds/223168/) * qubodup - [Bullet silhoettes](https://openclipart.org/detail/29029/bullet-silhouettes) - """ - finale_perfect: """ - 35 выстрелов. - Вот всё, что потребовалось. - Была ли это невероятная удача, или вмешательство высшей силы, но ещё осталось много времени. - - Моя работа сделана. - А теперь Новый Год будет таким, каким он должен быть. - -

КОНЕЦ

- - В игре использованы следующие звуковые эффекты и изображения в общественном достоянии и под лицензией CC-BY: - - * SpartanX109 - [Desert Eagle Fire](http://freesound.org/people/SpartanX109/sounds/89147/) - * ngphil22 - [DEagle wCasing](http://freesound.org/people/ngphil22/sounds/233322/) - * watupgroupie - [gunshots](http://freesound.org/people/watupgroupie/sounds/36815/) - * qubodup - [Bullet silhoettes](https://openclipart.org/detail/29029/bullet-silhouettes) """ clips_not_found:[ "-- Не могу найти!", @@ -201,9 +195,12 @@ module.exports.language = "А, вот какой-то. На вес тяжёлый -- надеюсь, в нём есть патроны." ] player_missed:[ - "Пуля пролетает над левым плечом андроида.", - "Андроид вовремя уворачивается от выстрела. Ничего, в следующий раз я не промахнусь.", - "Чёрт! Промазал." + "Пуля пролетает над левым плечом робота.", + "Робот вовремя уворачивается от выстрела. Ничего, в следующий раз я не промахнусь.", + "Чёрт! Промазал.", + "Мимо! Ну что за невезение.", + "На заметку: надо чаще упражняться в стрельбе. Часто промахиваюсь.", + "Чёрт! Почему я промазал именно сейчас?!", ] trick_shot: "Попробовать хитрый выстрел", trick_shot_discover: (character) -> @@ -251,3 +248,18 @@ module.exports.language = После этого он перешагивает через свежую лужицу и смотрит на меня злым взглядом. Похоже, битва продолжается. """ + firststeps: "Это шаги? Похоже, что-то приближается по ту сторону портала." + secondsteps: "Шаги становятся громче. Оно большое." + thirdsteps: "Уже близко. Совсем близко." + boss: """ + Из портала вылезает гигантская блестящая Рука. + Она цепляется за край портала и начинает его растягивать. + + Кристина кричит: + -- Оно слишком большое! Я не смогу удержать! + + Из растянутого портала показывается ведро. + Это голова робота-титана, который мог бы таранить города. + Я точно не хочу впускать его на задний двор своего дома. + """ + shoot_boss: "Успокоить титана свинцом"