mirror of
https://github.com/doublespeakgames/adarkroom.git
synced 2026-06-09 22:17:14 +08:00
Merge pull request #1 from doublespeakgames/master
Update fork to latest head
This commit is contained in:
@@ -2,3 +2,4 @@
|
|||||||
*.TODO
|
*.TODO
|
||||||
*.mo
|
*.mo
|
||||||
*.swp
|
*.swp
|
||||||
|
.idea
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<projectDescription>
|
|
||||||
<name>A Dark Room</name>
|
|
||||||
<comment></comment>
|
|
||||||
<projects>
|
|
||||||
</projects>
|
|
||||||
<buildSpec>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
|
||||||
<natures>
|
|
||||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
|
||||||
</natures>
|
|
||||||
</projectDescription>
|
|
||||||
+3
-3
@@ -563,12 +563,12 @@ body.noMask #description {
|
|||||||
|
|
||||||
#lootButtons {
|
#lootButtons {
|
||||||
padding-bottom: 0px !important;
|
padding-bottom: 0px !important;
|
||||||
margin: 20px 0 0 5px;
|
margin: 20px 0 5px 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
#lootButtons:before {
|
#lootButtons:before {
|
||||||
content: "take:";
|
content: attr(data-legend);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -25px;
|
top: -25px;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
@@ -586,7 +586,7 @@ body.noMask #description {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#dropMenu:before {
|
#dropMenu:before {
|
||||||
content: "drop:";
|
content: attr(data-legend);
|
||||||
border-bottom: 1px solid black;
|
border-bottom: 1px solid black;
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
|
|||||||
Binary file not shown.
+1
-1
File diff suppressed because one or more lines are too long
+50
-51
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2015-08-18 21:53+0200\n"
|
"POT-Creation-Date: 2016-02-15 02:03+0100\n"
|
||||||
"PO-Revision-Date: 2015-08-18 22:09+0200\n"
|
"PO-Revision-Date: 2016-02-15 02:03+0100\n"
|
||||||
"Last-Translator: Bernd Dorer <bdorer@mailbox.org>\n"
|
"Last-Translator: Bernd Dorer <bdorer@mailbox.org>\n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 1.3\n"
|
"Generated-By: Babel 1.3\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Poedit 1.8.4\n"
|
"X-Generator: Poedit 1.7.6\n"
|
||||||
"X-Poedit-SourceCharset: UTF-8\n"
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
"X-Poedit-Basepath: ../..\n"
|
"X-Poedit-Basepath: ../..\n"
|
||||||
"X-Poedit-SearchPath-0: .\n"
|
"X-Poedit-SearchPath-0: .\n"
|
||||||
@@ -35,7 +35,7 @@ msgid "connect"
|
|||||||
msgstr "verbinden"
|
msgstr "verbinden"
|
||||||
|
|
||||||
#: script/dropbox.js:75 script/dropbox.js:107 script/dropbox.js:133
|
#: script/dropbox.js:75 script/dropbox.js:107 script/dropbox.js:133
|
||||||
#: script/dropbox.js:163 script/engine.js:285 script/engine.js:330
|
#: script/dropbox.js:163 script/engine.js:285 script/engine.js:331
|
||||||
msgid "cancel"
|
msgid "cancel"
|
||||||
msgstr "abbrechen"
|
msgstr "abbrechen"
|
||||||
|
|
||||||
@@ -100,7 +100,6 @@ msgid "punches do more damage"
|
|||||||
msgstr "faustschläge verursachen mehr schaden"
|
msgstr "faustschläge verursachen mehr schaden"
|
||||||
|
|
||||||
# more force
|
# more force
|
||||||
#. TRANSLATORS : means with more force.
|
|
||||||
#: script/engine.js:18
|
#: script/engine.js:18
|
||||||
msgid "learned to throw punches with purpose"
|
msgid "learned to throw punches with purpose"
|
||||||
msgstr "gelernt kraftvolle schläge auszuteilen"
|
msgstr "gelernt kraftvolle schläge auszuteilen"
|
||||||
@@ -118,7 +117,6 @@ msgid "learned to fight quite effectively without weapons"
|
|||||||
msgstr "gelernt effizienter ohne Waffen zu kämpfen"
|
msgstr "gelernt effizienter ohne Waffen zu kämpfen"
|
||||||
|
|
||||||
# unarmed master = master of unarmed combat.
|
# unarmed master = master of unarmed combat.
|
||||||
#. TRANSLATORS : master of unarmed combat
|
|
||||||
#: script/engine.js:27
|
#: script/engine.js:27
|
||||||
msgid "unarmed master"
|
msgid "unarmed master"
|
||||||
msgstr "nahkampfmeister"
|
msgstr "nahkampfmeister"
|
||||||
@@ -228,34 +226,34 @@ msgstr "erlange mehr gesundheit durch nahrung"
|
|||||||
msgid "learned to make the most of food"
|
msgid "learned to make the most of food"
|
||||||
msgstr "gelernt besser mit essen aus zu kommen"
|
msgstr "gelernt besser mit essen aus zu kommen"
|
||||||
|
|
||||||
#: script/engine.js:138 script/engine.js:483
|
#: script/engine.js:138 script/space.js:450
|
||||||
|
msgid "app store."
|
||||||
|
msgstr "app store."
|
||||||
|
|
||||||
|
#: script/engine.js:144 script/engine.js:485
|
||||||
msgid "lights off."
|
msgid "lights off."
|
||||||
msgstr "licht aus."
|
msgstr "licht aus."
|
||||||
|
|
||||||
#: script/engine.js:144 script/engine.js:493
|
#: script/engine.js:150 script/engine.js:521
|
||||||
msgid "hyper."
|
msgid "hyper."
|
||||||
msgstr "hyper."
|
msgstr "hyper."
|
||||||
|
|
||||||
#: script/engine.js:150 script/space.js:442
|
#: script/engine.js:156 script/space.js:442
|
||||||
msgid "restart."
|
msgid "restart."
|
||||||
msgstr "neu starten."
|
msgstr "neu starten."
|
||||||
|
|
||||||
#: script/engine.js:156
|
#: script/engine.js:162
|
||||||
msgid "share."
|
msgid "share."
|
||||||
msgstr "teilen."
|
msgstr "teilen."
|
||||||
|
|
||||||
#: script/engine.js:162
|
#: script/engine.js:168
|
||||||
msgid "save."
|
msgid "save."
|
||||||
msgstr "speichern."
|
msgstr "speichern."
|
||||||
|
|
||||||
#: script/engine.js:171
|
#: script/engine.js:177
|
||||||
msgid "dropbox."
|
msgid "dropbox."
|
||||||
msgstr "dropbox."
|
msgstr "dropbox."
|
||||||
|
|
||||||
#: script/engine.js:178
|
|
||||||
msgid "app store."
|
|
||||||
msgstr "app store."
|
|
||||||
|
|
||||||
#: script/engine.js:184
|
#: script/engine.js:184
|
||||||
msgid "github."
|
msgid "github."
|
||||||
msgstr "github."
|
msgstr "github."
|
||||||
@@ -276,7 +274,7 @@ msgstr "oder zum wechseln von computern"
|
|||||||
msgid "export"
|
msgid "export"
|
||||||
msgstr "export"
|
msgstr "export"
|
||||||
|
|
||||||
#: script/engine.js:281 script/engine.js:325
|
#: script/engine.js:281 script/engine.js:326
|
||||||
msgid "import"
|
msgid "import"
|
||||||
msgstr "import"
|
msgstr "import"
|
||||||
|
|
||||||
@@ -284,79 +282,88 @@ msgstr "import"
|
|||||||
msgid "save this."
|
msgid "save this."
|
||||||
msgstr "speichere das."
|
msgstr "speichere das."
|
||||||
|
|
||||||
#: script/engine.js:296
|
#: script/engine.js:297
|
||||||
msgid "got it"
|
msgid "got it"
|
||||||
msgstr "habe verstanden"
|
msgstr "habe verstanden"
|
||||||
|
|
||||||
#: script/engine.js:304
|
#: script/engine.js:305
|
||||||
msgid "are you sure?"
|
msgid "are you sure?"
|
||||||
msgstr "bist du sicher?"
|
msgstr "bist du sicher?"
|
||||||
|
|
||||||
#: script/engine.js:305
|
#: script/engine.js:306
|
||||||
msgid "if the code is invalid, all data will be lost."
|
msgid "if the code is invalid, all data will be lost."
|
||||||
msgstr "wenn der code nicht stimmt, werden alle informationen verloren gehen."
|
msgstr "wenn der code nicht stimmt, werden alle informationen verloren gehen."
|
||||||
|
|
||||||
#: script/engine.js:306
|
#: script/engine.js:307
|
||||||
msgid "this is irreversible."
|
msgid "this is irreversible."
|
||||||
msgstr "dies ist nicht umkehrbar."
|
msgstr "dies ist nicht umkehrbar."
|
||||||
|
|
||||||
#: script/engine.js:310 script/engine.js:378
|
#: script/engine.js:311 script/engine.js:380 script/engine.js:499
|
||||||
msgid "yes"
|
msgid "yes"
|
||||||
msgstr "ja"
|
msgstr "ja"
|
||||||
|
|
||||||
#: script/engine.js:315 script/engine.js:383
|
#: script/engine.js:316 script/engine.js:385 script/engine.js:504
|
||||||
msgid "no"
|
msgid "no"
|
||||||
msgstr "nein"
|
msgstr "nein"
|
||||||
|
|
||||||
#: script/engine.js:321
|
#: script/engine.js:322
|
||||||
msgid "put the save code here."
|
msgid "put the save code here."
|
||||||
msgstr "lege den speichercode hier ab."
|
msgstr "lege den speichercode hier ab."
|
||||||
|
|
||||||
#: script/engine.js:372
|
#: script/engine.js:374
|
||||||
msgid "Restart?"
|
msgid "Restart?"
|
||||||
msgstr "neu starten?"
|
msgstr "neu starten?"
|
||||||
|
|
||||||
#: script/engine.js:375
|
#: script/engine.js:377
|
||||||
msgid "restart the game?"
|
msgid "restart the game?"
|
||||||
msgstr "das spiel neu starten?"
|
msgstr "das spiel neu starten?"
|
||||||
|
|
||||||
#: script/engine.js:406
|
#: script/engine.js:408
|
||||||
msgid "Share"
|
msgid "Share"
|
||||||
msgstr "Teilen"
|
msgstr "Teilen"
|
||||||
|
|
||||||
#: script/engine.js:409
|
#: script/engine.js:411
|
||||||
msgid "bring your friends."
|
msgid "bring your friends."
|
||||||
msgstr "bringe deine freunde mit."
|
msgstr "bringe deine freunde mit."
|
||||||
|
|
||||||
#: script/engine.js:412
|
#: script/engine.js:414
|
||||||
msgid "facebook"
|
msgid "facebook"
|
||||||
msgstr "facebook"
|
msgstr "facebook"
|
||||||
|
|
||||||
#: script/engine.js:419
|
#: script/engine.js:421
|
||||||
msgid "google+"
|
msgid "google+"
|
||||||
msgstr "google+"
|
msgstr "google+"
|
||||||
|
|
||||||
#: script/engine.js:426
|
#: script/engine.js:428
|
||||||
msgid "twitter"
|
msgid "twitter"
|
||||||
msgstr "twitter"
|
msgstr "twitter"
|
||||||
|
|
||||||
#: script/engine.js:433
|
#: script/engine.js:435
|
||||||
msgid "reddit"
|
msgid "reddit"
|
||||||
msgstr "reddit"
|
msgstr "reddit"
|
||||||
|
|
||||||
#: script/engine.js:440
|
#: script/engine.js:442
|
||||||
msgid "close"
|
msgid "close"
|
||||||
msgstr "schließen"
|
msgstr "schließen"
|
||||||
|
|
||||||
#: script/engine.js:474 script/engine.js:478
|
#: script/engine.js:476 script/engine.js:480
|
||||||
msgid "lights on."
|
msgid "lights on."
|
||||||
msgstr "licht an."
|
msgstr "licht an."
|
||||||
|
|
||||||
#: script/engine.js:491
|
#: script/engine.js:493
|
||||||
|
msgid "Go Hyper?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: script/engine.js:496
|
||||||
|
msgid ""
|
||||||
|
"turning hyper mode speeds up the game to x2 speed. do you want to do that?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: script/engine.js:519
|
||||||
msgid "classic."
|
msgid "classic."
|
||||||
msgstr "Klassisch."
|
msgstr "Klassisch."
|
||||||
|
|
||||||
#: script/engine.js:592
|
#: script/engine.js:620
|
||||||
msgid "{0} per {1}s"
|
msgid "{0} per {1}s"
|
||||||
msgstr "{0} per {1}s"
|
msgstr "{0} per {1}s"
|
||||||
|
|
||||||
@@ -421,7 +428,6 @@ msgstr "Alle"
|
|||||||
msgid "take everything"
|
msgid "take everything"
|
||||||
msgstr "nimm alles"
|
msgstr "nimm alles"
|
||||||
|
|
||||||
#. TRANSLATORS : Mind the whitespaces at the beginning and end.
|
|
||||||
#: script/events.js:653 script/outside.js:627
|
#: script/events.js:653 script/outside.js:627
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " und "
|
msgstr " und "
|
||||||
@@ -912,12 +918,13 @@ msgid "the old compass is dented and dusty, but it looks to work."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"der alte kompass ist verbeult und rostig aber er scheint zu funktionieren."
|
"der alte kompass ist verbeult und rostig aber er scheint zu funktionieren."
|
||||||
|
|
||||||
#: script/events/room.js:45 script/events/room.js:227 script/events/room.js:240
|
#: script/events/room.js:45 script/events/room.js:227
|
||||||
#: script/events/room.js:253 script/events/room.js:309
|
#: script/events/room.js:240 script/events/room.js:253
|
||||||
#: script/events/room.js:332 script/events/room.js:388
|
#: script/events/room.js:309 script/events/room.js:332
|
||||||
#: script/events/room.js:411 script/events/room.js:450
|
#: script/events/room.js:388 script/events/room.js:411
|
||||||
#: script/events/room.js:568 script/events/room.js:584
|
#: script/events/room.js:450 script/events/room.js:568
|
||||||
#: script/events/room.js:600 script/events/room.js:611
|
#: script/events/room.js:584 script/events/room.js:600
|
||||||
|
#: script/events/room.js:611
|
||||||
msgid "say goodbye"
|
msgid "say goodbye"
|
||||||
msgstr "verabschiede dich"
|
msgstr "verabschiede dich"
|
||||||
|
|
||||||
@@ -1372,7 +1379,6 @@ msgid "rot's been to work on it, and some of the pieces are missing."
|
|||||||
msgstr "verwesung hat eingesetzt. einige teile fehlen."
|
msgstr "verwesung hat eingesetzt. einige teile fehlen."
|
||||||
|
|
||||||
# 'it' is a wanderer corpse
|
# 'it' is a wanderer corpse
|
||||||
#. TRANSLATORS : 'it' is a rotting wanderer's body
|
|
||||||
#: script/events/setpieces.js:202
|
#: script/events/setpieces.js:202
|
||||||
msgid "can't tell what left it here."
|
msgid "can't tell what left it here."
|
||||||
msgstr "schwer zu sagen was ihn hier zurückgelassen hat."
|
msgstr "schwer zu sagen was ihn hier zurückgelassen hat."
|
||||||
@@ -1771,7 +1777,6 @@ msgid "looks like a camp of sorts up ahead."
|
|||||||
msgstr "sieht dort vorn nach einer art lager aus."
|
msgstr "sieht dort vorn nach einer art lager aus."
|
||||||
|
|
||||||
# a chainlink fence
|
# a chainlink fence
|
||||||
#. TRANSLATORS : chainlink is a type of metal fence.
|
|
||||||
#: script/events/setpieces.js:1677
|
#: script/events/setpieces.js:1677
|
||||||
msgid "rusted chainlink is pulled across an alleyway."
|
msgid "rusted chainlink is pulled across an alleyway."
|
||||||
msgstr "rostiger drahtzaun liegt in der gasse."
|
msgstr "rostiger drahtzaun liegt in der gasse."
|
||||||
@@ -1797,7 +1802,6 @@ msgid "the street ahead glows with firelight."
|
|||||||
msgstr "die straßen glühen rot im feuer."
|
msgstr "die straßen glühen rot im feuer."
|
||||||
|
|
||||||
# define squatter
|
# define squatter
|
||||||
#. TRANSLATORS : squatters occupy abandoned dwellings they don't own.
|
|
||||||
#: script/events/setpieces.js:1729
|
#: script/events/setpieces.js:1729
|
||||||
msgid "more squatters are crowding around now."
|
msgid "more squatters are crowding around now."
|
||||||
msgstr "mehr hausbesetzer sammeln sich jetzt."
|
msgstr "mehr hausbesetzer sammeln sich jetzt."
|
||||||
@@ -1909,7 +1913,6 @@ msgid "scavengers must have gotten to this place already."
|
|||||||
msgstr "plünderer waren wohl schon hier."
|
msgstr "plünderer waren wohl schon hier."
|
||||||
|
|
||||||
# part of the subway?
|
# part of the subway?
|
||||||
#. TRANSLATORS : a platform in the subway
|
|
||||||
#: script/events/setpieces.js:2403
|
#: script/events/setpieces.js:2403
|
||||||
msgid "the tunnel opens up at another platform."
|
msgid "the tunnel opens up at another platform."
|
||||||
msgstr "der tunnel öffnet sich an einer anderen haltestelle."
|
msgstr "der tunnel öffnet sich an einer anderen haltestelle."
|
||||||
@@ -2029,7 +2032,6 @@ msgid "inside, the remains of its victims are everywhere."
|
|||||||
msgstr "innen liegen die überreste seiner opfer verstreut."
|
msgstr "innen liegen die überreste seiner opfer verstreut."
|
||||||
|
|
||||||
# extremly disfigured
|
# extremly disfigured
|
||||||
#. TRANSLATORS : warped means extremely disfigured.
|
|
||||||
#: script/events/setpieces.js:2845
|
#: script/events/setpieces.js:2845
|
||||||
msgid "the warped man lies dead."
|
msgid "the warped man lies dead."
|
||||||
msgstr "der entstellte mann liegt tot am boden."
|
msgstr "der entstellte mann liegt tot am boden."
|
||||||
@@ -2271,7 +2273,6 @@ msgid "charred bodies litter the ground."
|
|||||||
msgstr "verkohlte leichen bedecken den boden."
|
msgstr "verkohlte leichen bedecken den boden."
|
||||||
|
|
||||||
# afterburner: a engine
|
# afterburner: a engine
|
||||||
#. TRANSLATORS : tang = strong metallic smell, wanderer afterburner = ship's engines
|
|
||||||
#: script/events/setpieces.js:3532
|
#: script/events/setpieces.js:3532
|
||||||
msgid "the metallic tang of wanderer afterburner hangs in the air."
|
msgid "the metallic tang of wanderer afterburner hangs in the air."
|
||||||
msgstr "der metallische geruch eines wanderer-nachbrenners hängt in der luft."
|
msgstr "der metallische geruch eines wanderer-nachbrenners hängt in der luft."
|
||||||
@@ -2591,7 +2592,6 @@ msgid "the town's booming. word does get around."
|
|||||||
msgstr "die stadt wächst. gerüchte verbreiten sich doch."
|
msgstr "die stadt wächst. gerüchte verbreiten sich doch."
|
||||||
|
|
||||||
# short for population.
|
# short for population.
|
||||||
#. TRANSLATORS : pop is short for population.
|
|
||||||
#: script/outside.js:452
|
#: script/outside.js:452
|
||||||
msgid "pop "
|
msgid "pop "
|
||||||
msgstr "volk "
|
msgstr "volk "
|
||||||
@@ -2636,7 +2636,6 @@ msgstr "der himmel ist grau und der wind heult erbarmungslos"
|
|||||||
msgid "dry brush and dead branches litter the forest floor"
|
msgid "dry brush and dead branches litter the forest floor"
|
||||||
msgstr "trockenes gestrüpp und herabgefallene äste bedecken den waldboden"
|
msgstr "trockenes gestrüpp und herabgefallene äste bedecken den waldboden"
|
||||||
|
|
||||||
#. TRANSLATORS : Mind the whitespace at the end.
|
|
||||||
#: script/outside.js:621
|
#: script/outside.js:621
|
||||||
msgid "the traps contain "
|
msgid "the traps contain "
|
||||||
msgstr "die fallen beinhalten "
|
msgstr "die fallen beinhalten "
|
||||||
|
|||||||
+875
-790
File diff suppressed because it is too large
Load Diff
+1839
-1748
File diff suppressed because it is too large
Load Diff
+16
-1
@@ -1,3 +1,18 @@
|
|||||||
.button{width: 100px !important;}
|
.button{width: 100px !important;}
|
||||||
#outsidePanel .button{width: 115px !important;}
|
#outsidePanel .button{width: 115px !important;}
|
||||||
.eventPanel .button {width: 122px !important;}
|
.eventPanel .button {width: 122px !important;}
|
||||||
|
#lootButtons:before {
|
||||||
|
content: "prendre :" !important;
|
||||||
|
}
|
||||||
|
#dropMenu:before {
|
||||||
|
content: "déposer :" !important;
|
||||||
|
}
|
||||||
|
#hullRow {
|
||||||
|
width: 80px !important;
|
||||||
|
}
|
||||||
|
div#workers {
|
||||||
|
width: 160px !important;
|
||||||
|
}
|
||||||
|
div.button div.tooltip {
|
||||||
|
width: 120px !important;
|
||||||
|
}
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
+2935
-1941
File diff suppressed because it is too large
Load Diff
+1
-1
File diff suppressed because one or more lines are too long
+875
-789
File diff suppressed because it is too large
Load Diff
+1
-1
File diff suppressed because one or more lines are too long
+863
-788
File diff suppressed because it is too large
Load Diff
+925
-807
File diff suppressed because it is too large
Load Diff
+15
-6
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2015-12-10 10:23+0900\n"
|
"POT-Creation-Date: 2015-12-22 13:35-0600\n"
|
||||||
"PO-Revision-Date: 2015-05-21 05:35+0900\n"
|
"PO-Revision-Date: 2016-02-15 02:05+0100\n"
|
||||||
"Last-Translator: Jeong YunWon <adarkroom@youknowone.org>\n"
|
"Last-Translator: Jeong YunWon <adarkroom@youknowone.org>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: ko\n"
|
"Language: ko\n"
|
||||||
@@ -228,7 +228,7 @@ msgstr "앱 스토어."
|
|||||||
msgid "lights off."
|
msgid "lights off."
|
||||||
msgstr "어둡게."
|
msgstr "어둡게."
|
||||||
|
|
||||||
#: script/engine.js:150 script/engine.js:495
|
#: script/engine.js:150 script/engine.js:521
|
||||||
msgid "hyper."
|
msgid "hyper."
|
||||||
msgstr "하이퍼."
|
msgstr "하이퍼."
|
||||||
|
|
||||||
@@ -292,11 +292,11 @@ msgstr "입력하신 코드가 정확하지 않으면, 모든 데이터가 사
|
|||||||
msgid "this is irreversible."
|
msgid "this is irreversible."
|
||||||
msgstr "이것은 되돌릴 수 없습니다."
|
msgstr "이것은 되돌릴 수 없습니다."
|
||||||
|
|
||||||
#: script/engine.js:311 script/engine.js:380
|
#: script/engine.js:311 script/engine.js:380 script/engine.js:499
|
||||||
msgid "yes"
|
msgid "yes"
|
||||||
msgstr "네"
|
msgstr "네"
|
||||||
|
|
||||||
#: script/engine.js:316 script/engine.js:385
|
#: script/engine.js:316 script/engine.js:385 script/engine.js:504
|
||||||
msgid "no"
|
msgid "no"
|
||||||
msgstr "아니오"
|
msgstr "아니오"
|
||||||
|
|
||||||
@@ -345,10 +345,19 @@ msgid "lights on."
|
|||||||
msgstr "밝게."
|
msgstr "밝게."
|
||||||
|
|
||||||
#: script/engine.js:493
|
#: script/engine.js:493
|
||||||
|
msgid "Go Hyper?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: script/engine.js:496
|
||||||
|
msgid ""
|
||||||
|
"turning hyper mode speeds up the game to x2 speed. do you want to do that?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: script/engine.js:519
|
||||||
msgid "classic."
|
msgid "classic."
|
||||||
msgstr "클래식."
|
msgstr "클래식."
|
||||||
|
|
||||||
#: script/engine.js:594
|
#: script/engine.js:620
|
||||||
msgid "{0} per {1}s"
|
msgid "{0} per {1}s"
|
||||||
msgstr "{1}초 당 {0}개"
|
msgstr "{1}초 당 {0}개"
|
||||||
|
|
||||||
|
|||||||
+926
-798
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,3 @@
|
|||||||
|
.button{width: 100px !important;}
|
||||||
|
#outsidePanel .button{width: 115px !important;}
|
||||||
|
.eventPanel .button {width: 122px !important;}
|
||||||
+1
-1
File diff suppressed because one or more lines are too long
+1824
-1587
File diff suppressed because it is too large
Load Diff
+934
-798
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+1096
-1076
File diff suppressed because it is too large
Load Diff
+2871
-2493
File diff suppressed because it is too large
Load Diff
+2867
-1873
File diff suppressed because it is too large
Load Diff
+919
-967
File diff suppressed because it is too large
Load Diff
+2882
-1902
File diff suppressed because it is too large
Load Diff
+2872
-1857
File diff suppressed because it is too large
Load Diff
+925
-798
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+2462
-1528
File diff suppressed because it is too large
Load Diff
+2829
-1857
File diff suppressed because it is too large
Load Diff
+44
-20
@@ -1,34 +1,58 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
<title>A Dark Room</title>
|
<title>A Dark Room</title>
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
|
line-height: 1.5;
|
||||||
|
font-size: 22px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
margin: 10px 20px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.logo {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.store {
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
.storeLink {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
div {
|
||||||
|
width: 100%;
|
||||||
|
margin: auto;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
div {
|
|
||||||
width: 960px;
|
|
||||||
margin: auto;
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<center>
|
<img class="logo" src="img/Logo1.jpg" />
|
||||||
<img src="img/Logo1.jpg" />
|
<p>
|
||||||
<div>
|
A Dark Room isn't mobile-friendly, and it requires arrow keys.
|
||||||
<strong>
|
<br>
|
||||||
A Dark Room isn't really mobile-friendly, and it requires arrow keys.<br/>
|
Sorry about that!
|
||||||
Sorry about that!<br/>
|
</p>
|
||||||
</strong><br/>
|
<p>
|
||||||
Of course you can <a href='index.html?ignorebrowser=true'>play anyway</a>, but it probably won't work!<br/><br/>
|
There are native apps, though! Get them now!
|
||||||
A Dark Room is now native on iOS! Get it on the <a href="https://itunes.apple.com/app/apple-store/id736683061?pt=2073437&ct=mobilesplash&mt=8">App Store</a>.
|
</p>
|
||||||
</div>
|
<a class="storeLink" href="https://itunes.apple.com/app/apple-store/id736683061?pt=2073437&ct=mobilesplash&mt=8">
|
||||||
</center>
|
<img class="store" src="http://i.imgur.com/DMdnDYq.png" alt="App Store">
|
||||||
|
</a>
|
||||||
|
<a class="storeLink" href = "https://play.google.com/store/apps/details?id=com.yourcompany.adarkroom&hl=en">
|
||||||
|
<img class="store" src="http://i.imgur.com/bLWWj4r.png" alt="Google Play">
|
||||||
|
</a>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -70,6 +70,9 @@ var Button = {
|
|||||||
var cd = btn.data("cooldown");
|
var cd = btn.data("cooldown");
|
||||||
var id = 'cooldown.'+ btn.attr('id');
|
var id = 'cooldown.'+ btn.attr('id');
|
||||||
if(cd > 0) {
|
if(cd > 0) {
|
||||||
|
if(typeof option == 'number') {
|
||||||
|
cd = option;
|
||||||
|
}
|
||||||
// param "start" takes value from cooldown time if not specified
|
// param "start" takes value from cooldown time if not specified
|
||||||
var start, left;
|
var start, left;
|
||||||
switch(option){
|
switch(option){
|
||||||
|
|||||||
+2
-4
@@ -577,10 +577,6 @@
|
|||||||
stores.animate({right: -(panelIndex * 700) + 'px'}, 300 * diff);
|
stores.animate({right: -(panelIndex * 700) + 'px'}, 300 * diff);
|
||||||
}
|
}
|
||||||
|
|
||||||
Engine.activeModule = module;
|
|
||||||
|
|
||||||
module.onArrival(diff);
|
|
||||||
|
|
||||||
if(Engine.activeModule == Room || Engine.activeModule == Path) {
|
if(Engine.activeModule == Room || Engine.activeModule == Path) {
|
||||||
// Don't fade out the weapons if we're switching to a module
|
// Don't fade out the weapons if we're switching to a module
|
||||||
// where we're going to keep showing them anyway.
|
// where we're going to keep showing them anyway.
|
||||||
@@ -593,6 +589,8 @@
|
|||||||
$('div#weapons').animate({opacity: 1}, 300);
|
$('div#weapons').animate({opacity: 1}, 300);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Engine.activeModule = module;
|
||||||
|
module.onArrival(diff);
|
||||||
Notifications.printQueue(module);
|
Notifications.printQueue(module);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+209
-118
@@ -72,20 +72,36 @@ var Events = {
|
|||||||
|
|
||||||
startCombat: function(scene) {
|
startCombat: function(scene) {
|
||||||
Engine.event('game event', 'combat');
|
Engine.event('game event', 'combat');
|
||||||
Events.won = false;
|
Events.fought = false;
|
||||||
var desc = $('#description', Events.eventPanel());
|
var desc = $('#description', Events.eventPanel());
|
||||||
|
|
||||||
$('<div>').text(scene.notification).appendTo(desc);
|
$('<div>').text(scene.notification).appendTo(desc);
|
||||||
|
|
||||||
// Draw the wanderer
|
// Draw pause button
|
||||||
Events.createFighterDiv('@', World.health, World.getMaxHealth()).attr('id', 'wanderer').appendTo(desc);
|
/* Disable for now, because it doesn't work and looks weird
|
||||||
|
var pauseBox = $('<div>').attr('id', 'pauseButton').appendTo(desc);
|
||||||
|
var pause = new Button.Button({
|
||||||
|
id: 'pause',
|
||||||
|
text: '',
|
||||||
|
cooldown: Events._PAUSE_COOLDOWN,
|
||||||
|
click: Events.togglePause
|
||||||
|
}).appendTo(pauseBox);
|
||||||
|
$('<span>').addClass('text').insertBefore(pause.children('.cooldown'));
|
||||||
|
$('<div>').addClass('clear').appendTo(pauseBox);
|
||||||
|
Events.setPause(pause, 'set');
|
||||||
|
Events.removePause(pause, 'set');
|
||||||
|
*/
|
||||||
|
|
||||||
|
var fightBox = $('<div>').attr('id', 'fight').appendTo(desc);
|
||||||
|
// Draw the wanderer
|
||||||
|
Events.createFighterDiv('@', World.health, World.getMaxHealth()).attr('id', 'wanderer').appendTo(fightBox);
|
||||||
// Draw the enemy
|
// Draw the enemy
|
||||||
Events.createFighterDiv(scene.chara, scene.health, scene.health).attr('id', 'enemy').appendTo(desc);
|
Events.createFighterDiv(scene.chara, scene.health, scene.health).attr('id', 'enemy').appendTo(fightBox);
|
||||||
|
|
||||||
// Draw the action buttons
|
// Draw the action buttons
|
||||||
var btns = $('#buttons', Events.eventPanel());
|
var btns = $('#buttons', Events.eventPanel());
|
||||||
|
|
||||||
|
var attackBtns = $('<div>').appendTo(btns).attr('id','attackButtons');
|
||||||
var numWeapons = 0;
|
var numWeapons = 0;
|
||||||
for(var k in World.Weapons) {
|
for(var k in World.Weapons) {
|
||||||
var weapon = World.Weapons[k];
|
var weapon = World.Weapons[k];
|
||||||
@@ -103,21 +119,105 @@ var Events = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
numWeapons++;
|
numWeapons++;
|
||||||
Events.createAttackButton(k).appendTo(btns);
|
Events.createAttackButton(k).appendTo(attackBtns);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(numWeapons === 0) {
|
if(numWeapons === 0) {
|
||||||
// No weapons? You can punch stuff!
|
// No weapons? You can punch stuff!
|
||||||
Events.createAttackButton('fists').prependTo(btns);
|
Events.createAttackButton('fists').prependTo(attackBtns);
|
||||||
}
|
}
|
||||||
|
$('<div>').addClass('clear').appendTo(attackBtns);
|
||||||
|
|
||||||
Events.createEatMeatButton().appendTo(btns);
|
var healBtns = $('<div>').appendTo(btns).attr('id','healButtons');
|
||||||
|
Events.createEatMeatButton().appendTo(healBtns);
|
||||||
if((Path.outfit['medicine'] || 0) !== 0) {
|
if((Path.outfit['medicine'] || 0) !== 0) {
|
||||||
Events.createUseMedsButton().appendTo(btns);
|
Events.createUseMedsButton().appendTo(healBtns);
|
||||||
}
|
}
|
||||||
|
$('<div>').addClass('clear').appendTo(healBtns);
|
||||||
|
Events.setHeal(healBtns);
|
||||||
|
|
||||||
// Set up the enemy attack timer
|
// Set up the enemy attack timer
|
||||||
Events._enemyAttackTimer = Engine.setTimeout(Events.enemyAttack, scene.attackDelay * 1000);
|
Events._enemyAttackTimer = Engine.setInterval(Events.enemyAttack, scene.attackDelay * 1000);
|
||||||
|
},
|
||||||
|
|
||||||
|
setPause: function(btn, state){
|
||||||
|
if(!btn) {
|
||||||
|
btn = $('#pause');
|
||||||
|
}
|
||||||
|
var event = btn.closest('#event');
|
||||||
|
var string, log;
|
||||||
|
if(state == 'set') {
|
||||||
|
string = 'start.';
|
||||||
|
log = 'loaded';
|
||||||
|
} else {
|
||||||
|
string = 'resume.';
|
||||||
|
log = 'paused';
|
||||||
|
}
|
||||||
|
btn.children('.text').first().text( _(string) )
|
||||||
|
Events.paused = (state == 'auto') ? 'auto' : true;
|
||||||
|
event.addClass('paused');
|
||||||
|
Button.clearCooldown(btn);
|
||||||
|
$('#buttons').find('.button').each(function(i){
|
||||||
|
if($(this).data('onCooldown')){
|
||||||
|
$(this).children('.cooldown').stop(true,false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Engine.log('fight '+ log +'.');
|
||||||
|
},
|
||||||
|
|
||||||
|
removePause: function(btn, state){
|
||||||
|
if(!btn) {
|
||||||
|
btn = $('#pause');
|
||||||
|
}
|
||||||
|
var event = btn.closest('#event');
|
||||||
|
var log, time, target;
|
||||||
|
if(state == 'auto' && Events.paused != 'auto') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
switch(state){
|
||||||
|
case 'set':
|
||||||
|
Button.cooldown(btn, Events._LEAVE_COOLDOWN);
|
||||||
|
log = 'started';
|
||||||
|
time = Events._LEAVE_COOLDOWN * 1000;
|
||||||
|
target = $();
|
||||||
|
break;
|
||||||
|
case 'end':
|
||||||
|
Button.setDisabled(btn, true);
|
||||||
|
log = 'ended';
|
||||||
|
time = Events._FIGHT_SPEED;
|
||||||
|
target = $();
|
||||||
|
break;
|
||||||
|
case 'auto':
|
||||||
|
Button.cooldown(btn);
|
||||||
|
default:
|
||||||
|
log = 'resumed';
|
||||||
|
time = Events._PAUSE_COOLDOWN * 1000;
|
||||||
|
target = $('#buttons').find('.button');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Engine.setTimeout(function(){
|
||||||
|
btn.children('.text').first().text( _('pause.') );
|
||||||
|
Events.paused = false;
|
||||||
|
event.removeClass('paused');
|
||||||
|
target.each(function(i){
|
||||||
|
if($(this).data('onCooldown')){
|
||||||
|
Button.cooldown($(this), 'pause');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Engine.log('Event '+ log);
|
||||||
|
}, time);
|
||||||
|
},
|
||||||
|
|
||||||
|
togglePause: function(btn, auto){
|
||||||
|
if(!btn) {
|
||||||
|
btn = $('#pause');
|
||||||
|
}
|
||||||
|
if((auto) && (document.hasFocus() == !Events.paused)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var f = (Events.paused) ? Events.removePause : Events.setPause;
|
||||||
|
var state = (auto) ? 'auto' : false;
|
||||||
|
f(btn, state);
|
||||||
},
|
},
|
||||||
|
|
||||||
createEatMeatButton: function(cooldown) {
|
createEatMeatButton: function(cooldown) {
|
||||||
@@ -201,52 +301,48 @@ var Events = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
eatMeat: function() {
|
setHeal: function(healBtns) {
|
||||||
if(Path.outfit['cured meat'] > 0) {
|
if(!healBtns){
|
||||||
Path.outfit['cured meat']--;
|
healBtns = $('#healButtons');
|
||||||
|
}
|
||||||
|
healBtns = healBtns.children('.button');
|
||||||
|
var canHeal = (World.health < World.getMaxHealth());
|
||||||
|
healBtns.each(function(i){
|
||||||
|
Button.setDisabled($(this), !canHeal);
|
||||||
|
});
|
||||||
|
return canHeal;
|
||||||
|
},
|
||||||
|
|
||||||
|
doHeal: function(healing, cured, btn) {
|
||||||
|
if(Path.outfit[healing] > 0) {
|
||||||
|
Path.outfit[healing]--;
|
||||||
World.updateSupplies();
|
World.updateSupplies();
|
||||||
if(Path.outfit['cured meat'] === 0) {
|
if(Path.outfit[healing] === 0) {
|
||||||
Button.setDisabled($('#eat'), true);
|
Button.setDisabled(btn, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
var hp = World.health;
|
var hp = World.health + cured;
|
||||||
hp += World.meatHeal();
|
hp = Math.min(World.getMaxHealth(),hp);
|
||||||
hp = hp > World.getMaxHealth() ? World.getMaxHealth() : hp;
|
|
||||||
World.setHp(hp);
|
World.setHp(hp);
|
||||||
|
Events.setHeal();
|
||||||
|
|
||||||
if(Events.activeEvent()) {
|
if(Events.activeEvent()) {
|
||||||
var w = $('#wanderer');
|
var w = $('#wanderer');
|
||||||
w.data('hp', hp);
|
w.data('hp', hp);
|
||||||
Events.updateFighterDiv(w);
|
Events.updateFighterDiv(w);
|
||||||
Events.drawFloatText('+' + World.meatHeal(), '#wanderer .hp');
|
Events.drawFloatText('+' + cured, '#wanderer .hp');
|
||||||
var takeETbutton = Events.setTakeAll();
|
var takeETbutton = Events.setTakeAll();
|
||||||
Events.canLeave(takeETbutton);
|
Events.canLeave(takeETbutton);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
useMeds: function() {
|
eatMeat: function(btn) {
|
||||||
if(Path.outfit['medicine'] > 0) {
|
Events.doHeal('cured meat', World.meatHeal(), btn);
|
||||||
Path.outfit['medicine']--;
|
},
|
||||||
World.updateSupplies();
|
|
||||||
if(Path.outfit['medicine'] === 0) {
|
|
||||||
Button.setDisabled($('#meds'), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
var hp = World.health;
|
useMeds: function(btn) {
|
||||||
hp += World.medsHeal();
|
Events.doHeal('medicine', World.medsHeal(), btn);
|
||||||
hp = hp > World.getMaxHealth() ? World.getMaxHealth() : hp;
|
|
||||||
World.setHp(hp);
|
|
||||||
|
|
||||||
if(Events.activeEvent()) {
|
|
||||||
var w = $('#wanderer');
|
|
||||||
w.data('hp', hp);
|
|
||||||
Events.updateFighterDiv(w);
|
|
||||||
Events.drawFloatText('+' + World.medsHeal(), '#wanderer .hp');
|
|
||||||
var takeETbutton = Events.setTakeAll();
|
|
||||||
Events.canLeave(takeETbutton);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
useWeapon: function(btn) {
|
useWeapon: function(btn) {
|
||||||
@@ -330,6 +426,33 @@ var Events = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
damage: function(fighter, enemy, dmg) {
|
||||||
|
var enemyHp = enemy.data('hp');
|
||||||
|
var msg = "";
|
||||||
|
if(typeof dmg == 'number') {
|
||||||
|
if(dmg < 0) {
|
||||||
|
msg = _('miss');
|
||||||
|
dmg = 0;
|
||||||
|
} else {
|
||||||
|
msg = '-' + dmg;
|
||||||
|
enemyHp = ((enemyHp - dmg) < 0) ? 0 : (enemyHp - dmg);
|
||||||
|
enemy.data('hp', enemyHp);
|
||||||
|
if(fighter.attr('id') == 'enemy') {
|
||||||
|
World.setHp(enemyHp);
|
||||||
|
Events.setHeal();
|
||||||
|
}
|
||||||
|
Events.updateFighterDiv(enemy);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(dmg == 'stun') {
|
||||||
|
msg = _('stunned');
|
||||||
|
enemy.data('stunned', Events.STUN_DURATION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Events.drawFloatText(msg, $('.hp', enemy));
|
||||||
|
},
|
||||||
|
|
||||||
animateMelee: function(fighter, dmg, callback) {
|
animateMelee: function(fighter, dmg, callback) {
|
||||||
var start, end, enemy;
|
var start, end, enemy;
|
||||||
if(fighter.attr('id') == 'wanderer') {
|
if(fighter.attr('id') == 'wanderer') {
|
||||||
@@ -343,32 +466,8 @@ var Events = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fighter.stop(true, true).animate(start, Events._FIGHT_SPEED, function() {
|
fighter.stop(true, true).animate(start, Events._FIGHT_SPEED, function() {
|
||||||
var enemyHp = enemy.data('hp');
|
|
||||||
var msg = "";
|
|
||||||
if(typeof dmg == 'number') {
|
|
||||||
if(dmg < 0) {
|
|
||||||
msg = _('miss');
|
|
||||||
dmg = 0;
|
|
||||||
} else {
|
|
||||||
msg = '-' + dmg;
|
|
||||||
enemyHp = ((enemyHp - dmg) < 0) ? 0 : (enemyHp - dmg);
|
|
||||||
enemy.data('hp', enemyHp);
|
|
||||||
if(fighter.attr('id') == 'enemy') {
|
|
||||||
World.setHp(enemyHp);
|
|
||||||
}
|
|
||||||
Events.updateFighterDiv(enemy);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if(dmg == 'stun') {
|
|
||||||
msg = _('stunned');
|
|
||||||
enemy.data('stunned', true);
|
|
||||||
Engine.setTimeout(function() {
|
|
||||||
enemy.data('stunned', false);
|
|
||||||
}, Events.STUN_DURATION);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Events.drawFloatText(msg, $('.hp', enemy));
|
Events.damage(fighter, enemy, dmg);
|
||||||
|
|
||||||
$(this).animate(end, Events._FIGHT_SPEED, callback);
|
$(this).animate(end, Events._FIGHT_SPEED, callback);
|
||||||
});
|
});
|
||||||
@@ -387,33 +486,9 @@ var Events = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$('<div>').css(start).addClass('bullet').text('o').appendTo('#description')
|
$('<div>').css(start).addClass('bullet').text('o').appendTo('#description')
|
||||||
.animate(end, Events._FIGHT_SPEED * 2, 'linear', function() {
|
.animate(end, Events._FIGHT_SPEED * 2, 'linear', function() {
|
||||||
var enemyHp = enemy.data('hp');
|
|
||||||
var msg = "";
|
|
||||||
if(typeof dmg == 'number') {
|
|
||||||
if(dmg < 0) {
|
|
||||||
msg = _('miss');
|
|
||||||
dmg = 0;
|
|
||||||
} else {
|
|
||||||
msg = '-' + dmg;
|
|
||||||
enemyHp = ((enemyHp - dmg) < 0) ? 0 : (enemyHp - dmg);
|
|
||||||
enemy.data('hp', enemyHp);
|
|
||||||
if(fighter.attr('id') == 'enemy') {
|
|
||||||
World.setHp(enemyHp);
|
|
||||||
}
|
|
||||||
Events.updateFighterDiv(enemy);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if(dmg == 'stun') {
|
|
||||||
msg = _('stunned');
|
|
||||||
enemy.data('stunned', true);
|
|
||||||
Engine.setTimeout(function() {
|
|
||||||
enemy.data('stunned', false);
|
|
||||||
}, Events.STUN_DURATION);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Events.drawFloatText(msg, $('.hp', enemy));
|
Events.damage(fighter, enemy, dmg);
|
||||||
|
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
if(typeof callback == 'function') {
|
if(typeof callback == 'function') {
|
||||||
@@ -423,6 +498,7 @@ var Events = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
enemyAttack: function() {
|
enemyAttack: function() {
|
||||||
|
// Events.togglePause($('#pause'),'auto');
|
||||||
|
|
||||||
var scene = Events.activeEvent().scenes[Events.activeScene];
|
var scene = Events.activeEvent().scenes[Events.activeScene];
|
||||||
|
|
||||||
@@ -445,16 +521,22 @@ var Events = {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
Events._enemyAttackTimer = Engine.setTimeout(Events.enemyAttack, scene.attackDelay * 1000);
|
endFight: function() {
|
||||||
|
Events.fought = true;
|
||||||
|
clearTimeout(Events._enemyAttackTimer);
|
||||||
|
Events.removePause($('#pause'), 'end');
|
||||||
},
|
},
|
||||||
|
|
||||||
winFight: function() {
|
winFight: function() {
|
||||||
Events.won = true;
|
Engine.setTimeout(function() {
|
||||||
clearTimeout(Events._enemyAttackTimer);
|
if(Events.fought) {
|
||||||
$('#enemy').animate({opacity: 0}, 300, 'linear', function() {
|
return;
|
||||||
Engine.setTimeout(function() {
|
}
|
||||||
try {
|
Events.endFight();
|
||||||
|
$('#enemy').animate({opacity: 0}, 300, 'linear', function() {
|
||||||
|
Engine.setTimeout(function() {
|
||||||
var scene = Events.activeEvent().scenes[Events.activeScene];
|
var scene = Events.activeEvent().scenes[Events.activeScene];
|
||||||
var leaveBtn = false;
|
var leaveBtn = false;
|
||||||
var desc = $('#description', Events.eventPanel());
|
var desc = $('#description', Events.eventPanel());
|
||||||
@@ -465,6 +547,7 @@ var Events = {
|
|||||||
|
|
||||||
var takeETbtn = Events.drawLoot(scene.loot);
|
var takeETbtn = Events.drawLoot(scene.loot);
|
||||||
|
|
||||||
|
var exitBtns = $('<div>').appendTo(btns).attr('id','exitButtons');
|
||||||
if(scene.buttons) {
|
if(scene.buttons) {
|
||||||
// Draw the buttons
|
// Draw the buttons
|
||||||
leaveBtn = Events.drawButtons(scene);
|
leaveBtn = Events.drawButtons(scene);
|
||||||
@@ -481,19 +564,28 @@ var Events = {
|
|||||||
},
|
},
|
||||||
text: _('leave')
|
text: _('leave')
|
||||||
});
|
});
|
||||||
Button.cooldown(leaveBtn.appendTo(btns));
|
Button.cooldown(leaveBtn.appendTo(exitBtns));
|
||||||
|
|
||||||
Events.createEatMeatButton(0).appendTo(btns);
|
var healBtns = $('<div>').appendTo(btns).attr('id','healButtons');
|
||||||
|
Events.createEatMeatButton(0).appendTo(healBtns);
|
||||||
if((Path.outfit['medicine'] || 0) !== 0) {
|
if((Path.outfit['medicine'] || 0) !== 0) {
|
||||||
Events.createUseMedsButton(0).appendTo(btns);
|
Events.createUseMedsButton(0).appendTo(healBtns);
|
||||||
}
|
}
|
||||||
|
$('<div>').addClass('clear').appendTo(healBtns);
|
||||||
|
Events.setHeal(healBtns);
|
||||||
}
|
}
|
||||||
|
$('<div>').addClass('clear').appendTo(exitBtns);
|
||||||
|
|
||||||
Events.allowLeave(takeETbtn, leaveBtn);
|
Events.allowLeave(takeETbtn, leaveBtn);
|
||||||
} catch(e) {
|
}, 1000, true);
|
||||||
// It is possible to die and win if the timing is perfect. Just let it fail.
|
});
|
||||||
}
|
}, Events._FIGHT_SPEED);
|
||||||
}, 1000, true);
|
},
|
||||||
});
|
|
||||||
|
loseFight: function(){
|
||||||
|
Events.endFight();
|
||||||
|
Events.endEvent();
|
||||||
|
World.die();
|
||||||
},
|
},
|
||||||
|
|
||||||
drawDrop:function(btn) {
|
drawDrop:function(btn) {
|
||||||
@@ -604,7 +696,9 @@ var Events = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
setTakeAll: function(lootButtons){
|
setTakeAll: function(lootButtons){
|
||||||
var lootButtons = lootButtons || $('#lootButtons');
|
if(!lootButtons) {
|
||||||
|
lootButtons = $('#lootButtons');
|
||||||
|
}
|
||||||
var canTakeSomething = false;
|
var canTakeSomething = false;
|
||||||
var free = Path.getFreeSpace();
|
var free = Path.getFreeSpace();
|
||||||
var takeETbutton = lootButtons.find('#loot_takeEverything');
|
var takeETbutton = lootButtons.find('#loot_takeEverything');
|
||||||
@@ -628,11 +722,7 @@ var Events = {
|
|||||||
takeAll.children('span').first().text(_('all'));
|
takeAll.children('span').first().text(_('all'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(canTakeSomething){
|
Button.setDisabled(takeETbutton, !canTakeSomething);
|
||||||
takeETbutton.removeClass('disabled');
|
|
||||||
} else {
|
|
||||||
takeETbutton.addClass('disabled');
|
|
||||||
}
|
|
||||||
takeETbutton.data('canTakeEverything', (free >= 0) ? true : false);
|
takeETbutton.data('canTakeEverything', (free >= 0) ? true : false);
|
||||||
return takeETbutton;
|
return takeETbutton;
|
||||||
},
|
},
|
||||||
@@ -647,18 +737,16 @@ var Events = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
canLeave: function(btn){
|
canLeave: function(btn){
|
||||||
var basetext = _('take everything');
|
var basetext = (btn.data('canTakeEverything')) ? _('take everything') : _('take all you can');
|
||||||
var textbox = btn.children('span');
|
var textbox = btn.children('span');
|
||||||
var takeAndLeave = (btn.data('leaveBtn')) ? btn.data('canTakeEverything') : false;
|
var takeAndLeave = (btn.data('leaveBtn')) ? btn.data('canTakeEverything') : false;
|
||||||
|
var text = _(basetext);
|
||||||
if(takeAndLeave){
|
if(takeAndLeave){
|
||||||
var verb = btn.data('leaveBtn').text() || _('leave');
|
|
||||||
textbox.text( basetext + _(' and ') + verb);
|
|
||||||
btn.data('canLeave', true);
|
|
||||||
Button.cooldown(btn);
|
Button.cooldown(btn);
|
||||||
} else {
|
text += _(' and ') + btn.data('leaveBtn').text();
|
||||||
textbox.text( basetext );
|
|
||||||
btn.data('canLeave', false)
|
|
||||||
}
|
}
|
||||||
|
textbox.text( text );
|
||||||
|
btn.data('canLeave', takeAndLeave);
|
||||||
},
|
},
|
||||||
|
|
||||||
dropStuff: function(e) {
|
dropStuff: function(e) {
|
||||||
@@ -774,13 +862,16 @@ var Events = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Draw the buttons
|
// Draw the buttons
|
||||||
|
var exitBtns = $('<div>').attr('id','exitButtons').appendTo($('#buttons', Events.eventPanel()));
|
||||||
leaveBtn = Events.drawButtons(scene);
|
leaveBtn = Events.drawButtons(scene);
|
||||||
|
$('<div>').addClass('clear').appendTo(exitBtns);
|
||||||
|
|
||||||
|
|
||||||
Events.allowLeave(takeETbtn, leaveBtn);
|
Events.allowLeave(takeETbtn, leaveBtn);
|
||||||
},
|
},
|
||||||
|
|
||||||
drawButtons: function(scene) {
|
drawButtons: function(scene) {
|
||||||
var btns = $('#buttons', Events.eventPanel());
|
var btns = $('#exitButtons', Events.eventPanel());
|
||||||
var btnsList = [];
|
var btnsList = [];
|
||||||
for(var id in scene.buttons) {
|
for(var id in scene.buttons) {
|
||||||
var info = scene.buttons[id];
|
var info = scene.buttons[id];
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ Events.Outside = [
|
|||||||
{ /* Hut fire */
|
{ /* Hut fire */
|
||||||
title: _('Fire'),
|
title: _('Fire'),
|
||||||
isAvailable: function() {
|
isAvailable: function() {
|
||||||
return Engine.activeModule == Outside && $SM.get('game.buildings["hut"]', true) > 0 && $SM.get('game.population', true) > 5;
|
return Engine.activeModule == Outside && $SM.get('game.buildings["hut"]', true) > 0 && $SM.get('game.population', true) > 50;
|
||||||
},
|
},
|
||||||
scenes: {
|
scenes: {
|
||||||
'start': {
|
'start': {
|
||||||
|
|||||||
@@ -433,6 +433,9 @@ Events.Room = [
|
|||||||
'buyMap': {
|
'buyMap': {
|
||||||
text: _('buy map'),
|
text: _('buy map'),
|
||||||
cost: { 'fur': 200, 'scales': 10 },
|
cost: { 'fur': 200, 'scales': 10 },
|
||||||
|
available: function() {
|
||||||
|
return !World.seenAll;
|
||||||
|
},
|
||||||
notification: _('the map uncovers a bit of the world'),
|
notification: _('the map uncovers a bit of the world'),
|
||||||
onChoose: World.applyMap
|
onChoose: World.applyMap
|
||||||
},
|
},
|
||||||
|
|||||||
+39
-24
@@ -157,20 +157,19 @@ var Path = {
|
|||||||
$('.row_val', wRow).text(World.getMaxWater());
|
$('.row_val', wRow).text(World.getMaxWater());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var space = Path.getFreeSpace();
|
var space = Path.getFreeSpace();
|
||||||
var total = 0;
|
var currentBagCapacity = 0;
|
||||||
// Add the non-craftables to the craftables
|
// Add the non-craftables to the craftables
|
||||||
var carryable = $.extend({
|
var carryable = $.extend({
|
||||||
'cured meat': { type: 'tool' },
|
'cured meat': { type: 'tool', desc: 'restores '+ World.MEAT_HEAL + ' hp' },
|
||||||
'bullets': { type: 'tool' },
|
'bullets': { type: 'tool', desc: 'use with rifle' },
|
||||||
'grenade': {type: 'weapon' },
|
'grenade': {type: 'weapon' },
|
||||||
'bolas': {type: 'weapon' },
|
'bolas': {type: 'weapon' },
|
||||||
'laser rifle': {type: 'weapon' },
|
'laser rifle': {type: 'weapon' },
|
||||||
'energy cell': {type: 'tool' },
|
'energy cell': {type: 'tool', desc: 'use with laser rifle' },
|
||||||
'bayonet': {type: 'weapon' },
|
'bayonet': {type: 'weapon' },
|
||||||
'charm': {type: 'tool'},
|
'charm': {type: 'tool'},
|
||||||
'medicine': {type: 'tool'}
|
'medicine': {type: 'tool', desc: 'restores ' + World.MEDS_HEAL + ' hp' }
|
||||||
}, Room.Craftables);
|
}, Room.Craftables);
|
||||||
|
|
||||||
for(var k in carryable) {
|
for(var k in carryable) {
|
||||||
@@ -179,13 +178,16 @@ var Path = {
|
|||||||
var have = $SM.get('stores["'+k+'"]');
|
var have = $SM.get('stores["'+k+'"]');
|
||||||
var num = Path.outfit[k];
|
var num = Path.outfit[k];
|
||||||
num = typeof num == 'number' ? num : 0;
|
num = typeof num == 'number' ? num : 0;
|
||||||
if (have < num) { num = have; }
|
if (have !== undefined) {
|
||||||
var numAvailable = $SM.get('stores["'+k+'"]', true);
|
if (have < num) { num = have; }
|
||||||
|
$SM.set(k, num, true);
|
||||||
|
}
|
||||||
|
|
||||||
var row = $('div#outfit_row_' + k.replace(' ', '-'), outfit);
|
var row = $('div#outfit_row_' + k.replace(' ', '-'), outfit);
|
||||||
if((store.type == 'tool' || store.type == 'weapon') && have > 0) {
|
if((store.type == 'tool' || store.type == 'weapon') && have > 0) {
|
||||||
total += num * Path.getWeight(k);
|
currentBagCapacity += num * Path.getWeight(k);
|
||||||
if(row.length === 0) {
|
if(row.length === 0) {
|
||||||
row = Path.createOutfittingRow(k, num, store.name);
|
row = Path.createOutfittingRow(k, num, store, store.name);
|
||||||
|
|
||||||
var curPrev = null;
|
var curPrev = null;
|
||||||
outfit.children().each(function(i) {
|
outfit.children().each(function(i) {
|
||||||
@@ -204,7 +206,7 @@ var Path = {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$('div#' + row.attr('id') + ' > div.row_val > span', outfit).text(num);
|
$('div#' + row.attr('id') + ' > div.row_val > span', outfit).text(num);
|
||||||
$('div#' + row.attr('id') + ' .tooltip .numAvailable', outfit).text(numAvailable - num);
|
$('div#' + row.attr('id') + ' .tooltip .numAvailable', outfit).text(have - num);
|
||||||
}
|
}
|
||||||
if(num === 0) {
|
if(num === 0) {
|
||||||
$('.dnBtn', row).addClass('disabled');
|
$('.dnBtn', row).addClass('disabled');
|
||||||
@@ -213,10 +215,10 @@ var Path = {
|
|||||||
$('.dnBtn', row).removeClass('disabled');
|
$('.dnBtn', row).removeClass('disabled');
|
||||||
$('.dnManyBtn', row).removeClass('disabled');
|
$('.dnManyBtn', row).removeClass('disabled');
|
||||||
}
|
}
|
||||||
if(num >= numAvailable || space < Path.getWeight(k)) {
|
if(num == have || space < Path.getWeight(k)) {
|
||||||
$('.upBtn', row).addClass('disabled');
|
$('.upBtn', row).addClass('disabled');
|
||||||
$('.upManyBtn', row).addClass('disabled');
|
$('.upManyBtn', row).addClass('disabled');
|
||||||
} else if(space >= Path.getWeight(k)) {
|
} else {
|
||||||
$('.upBtn', row).removeClass('disabled');
|
$('.upBtn', row).removeClass('disabled');
|
||||||
$('.upManyBtn', row).removeClass('disabled');
|
$('.upManyBtn', row).removeClass('disabled');
|
||||||
}
|
}
|
||||||
@@ -224,21 +226,27 @@ var Path = {
|
|||||||
row.remove();
|
row.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Path.updateBagSpace(currentBagCapacity);
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
updateBagSpace: function(currentBagCapacity) {
|
||||||
// Update bagspace
|
// Update bagspace
|
||||||
$('#bagspace').text(_('free {0}/{1}', Math.floor(Path.getCapacity() - total) , Path.getCapacity()));
|
$('#bagspace').text(_('free {0}/{1}', Math.floor(Path.getCapacity() - currentBagCapacity) , Path.getCapacity()));
|
||||||
|
|
||||||
if(Path.outfit['cured meat'] > 0) {
|
if(Path.outfit['cured meat'] > 0) {
|
||||||
Button.setDisabled($('#embarkButton'), false);
|
Button.setDisabled($('#embarkButton'), false);
|
||||||
} else {
|
} else {
|
||||||
Button.setDisabled($('#embarkButton'), true);
|
Button.setDisabled($('#embarkButton'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
createOutfittingRow: function(key, num, name) {
|
createOutfittingRow: function(key, num, store) {
|
||||||
if(!name) name = _(key);
|
if(!store.name) store.name = _(key);
|
||||||
var row = $('<div>').attr('id', 'outfit_row_' + key.replace(' ', '-')).addClass('outfitRow').attr('key',key);
|
var row = $('<div>').attr('id', 'outfit_row_' + key.replace(' ', '-')).addClass('outfitRow').attr('key',key);
|
||||||
$('<div>').addClass('row_key').text(name).appendTo(row);
|
$('<div>').addClass('row_key').text(store.name).appendTo(row);
|
||||||
var val = $('<div>').addClass('row_val').appendTo(row);
|
var val = $('<div>').addClass('row_val').appendTo(row);
|
||||||
|
|
||||||
$('<span>').text(num).appendTo(val);
|
$('<span>').text(num).appendTo(val);
|
||||||
@@ -250,6 +258,14 @@ var Path = {
|
|||||||
|
|
||||||
var numAvailable = $SM.get('stores["'+key+'"]', true);
|
var numAvailable = $SM.get('stores["'+key+'"]', true);
|
||||||
var tt = $('<div>').addClass('tooltip bottom right').appendTo(row);
|
var tt = $('<div>').addClass('tooltip bottom right').appendTo(row);
|
||||||
|
|
||||||
|
if(store.type == 'weapon') {
|
||||||
|
$('<div>').addClass('row_key').text(_('damage')).appendTo(tt);
|
||||||
|
$('<div>').addClass('row_val').text(World.getDamage(key)).appendTo(tt);
|
||||||
|
} else if(store.type == 'tool' && store.desc != "undefined") {
|
||||||
|
$('<div>').addClass('row_key').text(store.desc).appendTo(tt);
|
||||||
|
}
|
||||||
|
|
||||||
$('<div>').addClass('row_key').text(_('weight')).appendTo(tt);
|
$('<div>').addClass('row_key').text(_('weight')).appendTo(tt);
|
||||||
$('<div>').addClass('row_val').text(Path.getWeight(key)).appendTo(tt);
|
$('<div>').addClass('row_val').text(Path.getWeight(key)).appendTo(tt);
|
||||||
$('<div>').addClass('row_key').text(_('available')).appendTo(tt);
|
$('<div>').addClass('row_key').text(_('available')).appendTo(tt);
|
||||||
@@ -266,8 +282,7 @@ var Path = {
|
|||||||
if(Path.getFreeSpace() >= Path.getWeight(supply) && cur < $SM.get('stores["'+supply+'"]', true)) {
|
if(Path.getFreeSpace() >= Path.getWeight(supply) && cur < $SM.get('stores["'+supply+'"]', true)) {
|
||||||
var maxExtraByWeight = Math.floor(Path.getFreeSpace() / Path.getWeight(supply));
|
var maxExtraByWeight = Math.floor(Path.getFreeSpace() / Path.getWeight(supply));
|
||||||
var maxExtraByStore = $SM.get('stores["'+supply+'"]', true) - cur;
|
var maxExtraByStore = $SM.get('stores["'+supply+'"]', true) - cur;
|
||||||
var maxExtraByBtn = btn.data;
|
Path.outfit[supply] = cur + Math.min(btn.data, maxExtraByWeight, maxExtraByStore);
|
||||||
Path.outfit[supply] = cur + Math.min(maxExtraByBtn, Math.min(maxExtraByWeight, maxExtraByStore));
|
|
||||||
$SM.set('outfit['+supply+']', Path.outfit[supply]);
|
$SM.set('outfit['+supply+']', Path.outfit[supply]);
|
||||||
Path.updateOutfitting();
|
Path.updateOutfitting();
|
||||||
}
|
}
|
||||||
@@ -289,7 +304,6 @@ var Path = {
|
|||||||
Path.setTitle();
|
Path.setTitle();
|
||||||
Path.updateOutfitting();
|
Path.updateOutfitting();
|
||||||
Path.updatePerks(true);
|
Path.updatePerks(true);
|
||||||
$SM.set('outfit', Path.outfit);
|
|
||||||
|
|
||||||
Engine.moveStoresView($('#perks'), transition_diff);
|
Engine.moveStoresView($('#perks'), transition_diff);
|
||||||
},
|
},
|
||||||
@@ -302,7 +316,6 @@ var Path = {
|
|||||||
for(var k in Path.outfit) {
|
for(var k in Path.outfit) {
|
||||||
$SM.add('stores["'+k+'"]', -Path.outfit[k]);
|
$SM.add('stores["'+k+'"]', -Path.outfit[k]);
|
||||||
}
|
}
|
||||||
$SM.remove('outfit');
|
|
||||||
World.onArrival();
|
World.onArrival();
|
||||||
$('#outerSlider').animate({left: '-700px'}, 300);
|
$('#outerSlider').animate({left: '-700px'}, 300);
|
||||||
Engine.activeModule = World;
|
Engine.activeModule = World;
|
||||||
@@ -311,7 +324,9 @@ var Path = {
|
|||||||
handleStateUpdates: function(e){
|
handleStateUpdates: function(e){
|
||||||
if(e.category == 'character' && e.stateName.indexOf('character.perks') === 0 && Engine.activeModule == Path){
|
if(e.category == 'character' && e.stateName.indexOf('character.perks') === 0 && Engine.activeModule == Path){
|
||||||
Path.updatePerks();
|
Path.updatePerks();
|
||||||
};
|
} else if(e.category == 'income' && Engine.activeModule == Path){
|
||||||
|
Path.updateOutfitting();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
scrollSidebar: function(direction, reset){
|
scrollSidebar: function(direction, reset){
|
||||||
|
|||||||
+12
-6
@@ -750,7 +750,7 @@ var Room = {
|
|||||||
|
|
||||||
updateStoresView: function() {
|
updateStoresView: function() {
|
||||||
var stores = $('div#stores');
|
var stores = $('div#stores');
|
||||||
var resources = $('div#resources');
|
var resources = $('div#resources');
|
||||||
var special = $('div#special');
|
var special = $('div#special');
|
||||||
var weapons = $('div#weapons');
|
var weapons = $('div#weapons');
|
||||||
var needsAppend = false, rNeedsAppend = false, sNeedsAppend = false, wNeedsAppend = false, newRow = false;
|
var needsAppend = false, rNeedsAppend = false, sNeedsAppend = false, wNeedsAppend = false, newRow = false;
|
||||||
@@ -796,6 +796,9 @@ var Room = {
|
|||||||
case 'upgrade':
|
case 'upgrade':
|
||||||
// Don't display upgrades on the Room screen
|
// Don't display upgrades on the Room screen
|
||||||
continue;
|
continue;
|
||||||
|
case 'building':
|
||||||
|
// Don't display buildings either
|
||||||
|
continue;
|
||||||
case 'weapon':
|
case 'weapon':
|
||||||
location = weapons;
|
location = weapons;
|
||||||
break;
|
break;
|
||||||
@@ -825,7 +828,7 @@ var Room = {
|
|||||||
$SM.startThieves();
|
$SM.startThieves();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(row.length === 0 && num > 0) {
|
if(row.length === 0) {
|
||||||
row = $('<div>').attr('id', id).addClass('storeRow');
|
row = $('<div>').attr('id', id).addClass('storeRow');
|
||||||
$('<div>').addClass('row_key').text(lk).appendTo(row);
|
$('<div>').addClass('row_key').text(lk).appendTo(row);
|
||||||
$('<div>').addClass('row_val').text(Math.floor(num)).appendTo(row);
|
$('<div>').addClass('row_val').text(Math.floor(num)).appendTo(row);
|
||||||
@@ -844,7 +847,7 @@ var Room = {
|
|||||||
row.insertAfter(location.find('#' + curPrev));
|
row.insertAfter(location.find('#' + curPrev));
|
||||||
}
|
}
|
||||||
newRow = true;
|
newRow = true;
|
||||||
} else if(num>= 0){
|
} else {
|
||||||
$('div#' + row.attr('id') + ' > div.row_val', location).text(Math.floor(num));
|
$('div#' + row.attr('id') + ' > div.row_val', location).text(Math.floor(num));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -890,7 +893,8 @@ var Room = {
|
|||||||
$('div.storeRow', stores).each(function(index, el) {
|
$('div.storeRow', stores).each(function(index, el) {
|
||||||
el = $(el);
|
el = $(el);
|
||||||
$('div.tooltip', el).remove();
|
$('div.tooltip', el).remove();
|
||||||
var tt = $('<div>').addClass('tooltip bottom right');
|
var ttPos = index > 10 ? 'top right' : 'bottom right';
|
||||||
|
var tt = $('<div>').addClass('tooltip ' + ttPos);
|
||||||
var storeName = el.attr('id').substring(4).replace('-', ' ');
|
var storeName = el.attr('id').substring(4).replace('-', ' ');
|
||||||
for(var incomeSource in $SM.get('income')) {
|
for(var incomeSource in $SM.get('income')) {
|
||||||
var income = $SM.get('income["'+incomeSource+'"]');
|
var income = $SM.get('income["'+incomeSource+'"]');
|
||||||
@@ -1114,7 +1118,8 @@ var Room = {
|
|||||||
cost: good.cost(),
|
cost: good.cost(),
|
||||||
text: _(k),
|
text: _(k),
|
||||||
click: Room.buy,
|
click: Room.buy,
|
||||||
width: '80px'
|
width: '80px',
|
||||||
|
ttPos: buySection.children().length > 10 ? 'top right' : 'bottom right'
|
||||||
}).css('opacity', 0).attr('buildThing', k).appendTo(buySection).animate({opacity:1}, 300, 'linear');
|
}).css('opacity', 0).attr('buildThing', k).appendTo(buySection).animate({opacity:1}, 300, 'linear');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1149,7 +1154,8 @@ var Room = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
compassTooltip: function(direction){
|
compassTooltip: function(direction){
|
||||||
var tt = $('<div>').addClass('tooltip bottom right');
|
var ttPos = $('div#resources').children().length > 10 ? 'top right' : 'bottom right';
|
||||||
|
var tt = $('<div>').addClass('tooltip ' + ttPos);
|
||||||
$('<div>').addClass('row_key').text(_('the compass points '+ direction)).appendTo(tt);
|
$('<div>').addClass('row_key').text(_('the compass points '+ direction)).appendTo(tt);
|
||||||
tt.appendTo($('#row_compass'));
|
tt.appendTo($('#row_compass'));
|
||||||
},
|
},
|
||||||
|
|||||||
+20
-1
@@ -445,12 +445,31 @@ var Space = {
|
|||||||
.animate({opacity:1},1500);
|
.animate({opacity:1},1500);
|
||||||
$('<br />')
|
$('<br />')
|
||||||
.appendTo('.centerCont');
|
.appendTo('.centerCont');
|
||||||
|
$('<br />')
|
||||||
|
.appendTo('.centerCont');
|
||||||
|
$('<span>')
|
||||||
|
.addClass('endGame')
|
||||||
|
.text(_('expanded story. alternate ending. behind the scenes commentary. get the app.'))
|
||||||
|
.appendTo('.centerCont')
|
||||||
|
.animate({opacity:1}, 1500);
|
||||||
|
$('<br />')
|
||||||
|
.appendTo('.centerCont');
|
||||||
|
$('<br />')
|
||||||
|
.appendTo('.centerCont');
|
||||||
$('<span>')
|
$('<span>')
|
||||||
.addClass('endGame endGameOption')
|
.addClass('endGame endGameOption')
|
||||||
.text(_('app store.'))
|
.text(_('iOS.'))
|
||||||
.click(function() { window.open('https://itunes.apple.com/app/apple-store/id736683061?pt=2073437&ct=gameover&mt=8'); })
|
.click(function() { window.open('https://itunes.apple.com/app/apple-store/id736683061?pt=2073437&ct=gameover&mt=8'); })
|
||||||
.appendTo('.centerCont')
|
.appendTo('.centerCont')
|
||||||
.animate({opacity:1},1500);
|
.animate({opacity:1},1500);
|
||||||
|
$('<br />')
|
||||||
|
.appendTo('.centerCont');
|
||||||
|
$('<span>')
|
||||||
|
.addClass('endGame endGameOption')
|
||||||
|
.text(_('android.'))
|
||||||
|
.click(function() { window.open('https://play.google.com/store/apps/details?id=com.yourcompany.adarkroom'); })
|
||||||
|
.appendTo('.centerCont')
|
||||||
|
.animate({opacity:1},1500);
|
||||||
Engine.options = {};
|
Engine.options = {};
|
||||||
Engine.deleteSave(true);
|
Engine.deleteSave(true);
|
||||||
}
|
}
|
||||||
|
|||||||
+36
-3
@@ -162,6 +162,9 @@ var World = {
|
|||||||
// compass tooltip text
|
// compass tooltip text
|
||||||
Room.compassTooltip(World.dir);
|
Room.compassTooltip(World.dir);
|
||||||
|
|
||||||
|
// Check if everything has been seen
|
||||||
|
World.testMap();
|
||||||
|
|
||||||
//subscribe to stateUpdates
|
//subscribe to stateUpdates
|
||||||
$.Dispatch('stateUpdate').subscribe(World.handleStateUpdates);
|
$.Dispatch('stateUpdate').subscribe(World.handleStateUpdates);
|
||||||
},
|
},
|
||||||
@@ -549,6 +552,10 @@ var World = {
|
|||||||
return World.state.map[World.curPos[0]][World.curPos[1]];
|
return World.state.map[World.curPos[0]][World.curPos[1]];
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getDamage: function(thing) {
|
||||||
|
return World.Weapons[thing].damage;
|
||||||
|
},
|
||||||
|
|
||||||
narrateMove: function(oldTile, newTile) {
|
narrateMove: function(oldTile, newTile) {
|
||||||
var msg = null;
|
var msg = null;
|
||||||
switch(oldTile) {
|
switch(oldTile) {
|
||||||
@@ -617,10 +624,33 @@ var World = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
testMap: function() {
|
||||||
|
if(!World.seenAll) {
|
||||||
|
var dark;
|
||||||
|
var mask = $SM.get('game.world.mask');
|
||||||
|
loop:
|
||||||
|
for(var i = 0; i < mask.length; i++) {
|
||||||
|
for(var j = 0; j < mask[i].length; j++) {
|
||||||
|
if(!mask[i][j]) {
|
||||||
|
dark = true;
|
||||||
|
break loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
World.seenAll = !dark;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
applyMap: function() {
|
applyMap: function() {
|
||||||
var x = Math.floor(Math.random() * (World.RADIUS * 2) + 1);
|
if(!World.seenAll){
|
||||||
var y = Math.floor(Math.random() * (World.RADIUS * 2) + 1);
|
var x,y,mask = $SM.get('game.world.mask');
|
||||||
World.uncoverMap(x, y, 5, $SM.get('game.world.mask'));
|
do {
|
||||||
|
x = Math.floor(Math.random() * (World.RADIUS * 2) + 1);
|
||||||
|
y = Math.floor(Math.random() * (World.RADIUS * 2) + 1);
|
||||||
|
} while (mask[x][y]);
|
||||||
|
World.uncoverMap(x, y, 5, mask);
|
||||||
|
}
|
||||||
|
World.testMap();
|
||||||
},
|
},
|
||||||
|
|
||||||
generateMap: function() {
|
generateMap: function() {
|
||||||
@@ -851,6 +881,7 @@ var World = {
|
|||||||
Notifications.notify(World, _('the world fades'));
|
Notifications.notify(World, _('the world fades'));
|
||||||
World.state = null;
|
World.state = null;
|
||||||
Path.outfit = {};
|
Path.outfit = {};
|
||||||
|
$SM.remove('outfit');
|
||||||
$('#outerSlider').animate({opacity: '0'}, 600, 'linear', function() {
|
$('#outerSlider').animate({opacity: '0'}, 600, 'linear', function() {
|
||||||
$('#outerSlider').css('left', '0px');
|
$('#outerSlider').css('left', '0px');
|
||||||
$('#locationSlider').css('left', '0px');
|
$('#locationSlider').css('left', '0px');
|
||||||
@@ -872,6 +903,8 @@ var World = {
|
|||||||
goHome: function() {
|
goHome: function() {
|
||||||
// Home safe! Commit the changes.
|
// Home safe! Commit the changes.
|
||||||
$SM.setM('game.world', World.state);
|
$SM.setM('game.world', World.state);
|
||||||
|
World.testMap();
|
||||||
|
|
||||||
if(World.state.sulphurmine && $SM.get('game.buildings["sulphur mine"]', true) === 0) {
|
if(World.state.sulphurmine && $SM.get('game.buildings["sulphur mine"]', true) === 0) {
|
||||||
$SM.add('game.buildings["sulphur mine"]', 1);
|
$SM.add('game.buildings["sulphur mine"]', 1);
|
||||||
Engine.event('progress', 'sulphur mine');
|
Engine.event('progress', 'sulphur mine');
|
||||||
|
|||||||
Reference in New Issue
Block a user