From 6ae8504be04a039c2ace7a9b14e0a1f1bbf7a830 Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Tue, 9 Apr 2013 02:02:34 +0200 Subject: [PATCH 01/40] Adds Dutch Translations. These are a ridumentary first pass, as according to https://github.com/lefnire/habitrpg/wiki/Translations the localization implementation is still in a state of flux. Hopefully these can serve a temporary use in the meanwhile. --- locales/nl/app.json | 115 +++++++++++++++++++++++++++++++++++++++++++ src/app/i18n.coffee | 1 + src/app/index.coffee | 2 +- 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 locales/nl/app.json diff --git a/locales/nl/app.json b/locales/nl/app.json new file mode 100644 index 0000000000..dfc9bccb3b --- /dev/null +++ b/locales/nl/app.json @@ -0,0 +1,115 @@ +{ +"_commenttut": "HANDLEIDING", + +"_commenthead": "AANHEF", + "Health": "Gezondheid", + "Experience": "Ervaring", + "History": "Geschiedenis", + "Settings": "Instellingen", + "Party": "Groep", + "Logout": "Uitloggen", + +"_commentuser": "GEBRUIKER", + "Anonymous": "Anoniem", + "Avatar": "Avatar", + "Level": "Level", + "GP": "Goudstukken", + "Head": "Hoofd", + "ShowHelm": "Toon Helm", + "Hair": "Haar", + "Skin": "Huid", + "Profile": "Profiel", + "Edit": "Pas Aan", + "Save": "Sla Op", + "PhotoUrl": "Foto URL", + "FullName": "Volledige Naam", + "Blurb": "Blurp", + "Websites": "Voeg Website Toe", + "Achievements": "Prestaties", + "OriginalUser": "Originele Gebruiker!", + "Inventory": "Inventaris", + "EggsTitle": "Eieren", + "EggsContent": "Je Hebt Nog Geen Eieren", + "HatchingPotionsTitle": "Broed Tover Drankjes", + "HatchingPotionsContent": "Je hebt nog geen broed ~over drankjes!", + "Market": "Markt", + "MarketTitle": "Welkom op de markt!", + "MarketContent": "Wil je graag dat ene dier, maar kan je niet wachten tot hij valt? Koop hem hier!", + "Stable": "Stal", + "Tokens": "Tokens", + +"_commentitems": "BUIT & BELONINGEN", + "_comment": "HUISDIER EIEREN", + "WolfEgg": "Wolf Welp", + "TigerEgg": "Tijger Welp", + "PandaEgg": "Panda Welp", + "LionEgg": "Leeuwen Welp", + "FoxEgg": "Vos", + "PigEgg": "Vliegend Big", + "DragonEgg": "Draak", + "CactusEgg": "Cactus", + "BearEgg": "Beren Welp", + "WolfEgg": "Wolf", + "_comment": "BROED TOVERDRANKEN", + "BasePot": "Basis", + "WhitePot": "Wit", + "DesertPot": "Woestijn", + "RedPot": "Rood", + "ShadePot": "Schaduw", + "SkeletonPot": "Skelet", + "ZombiePot": "Zombie", + "CottonPinkPot": "Suikerspin Roze", + "CottonBluePot": "Suikerspin Blauw", + "GoldenPot": "Goud", + "_comment": "GOUDEN BELONINGEN", + + + +"_commentmain": "HOOFD SCHERM", + "Habits": "Gewoonten", + "NewHabit": "Nieuwe Gewoonte", + "Edit": "Pas Aan", + "Text": "Text", + "ExtraNotes": "Extra Aantekeningen", + "Directions/Actions": "Richtingen/Acties", + "AdvancedOptions": "Uitgebreide Opties", + "Difficulty": "Moeilijkheid", + "DifficultyHelpTitle": "Hoe moeilijk is deze taak?", + "DifficultyHelpContent": "Dit vermenigvuldigt de punt waarde. Gebruik spaars, de waarde wordt automatisch door ons algoritmes aangepast. Sommige taken zijn daarentegen daadwerkelijk veel meer waard dan anderen (b.v.b. 'Flossen' versus 'These Schrijven')", + "Easy": "Makkelijk", + "Medium": "Gemiddeld", + "Hard": "Moeilijk", + "Save&Close": "Sla Op & Sluit", + "Delete": "Verwijder", + "Progress": "Voortgang", + "Score": "Score", + "Daily": "Dagelijkse", + "NewDaily": "Nieuwe Dagelijkse", + "Repeat": "Herhaal", + "Su": "Zo", + "M": "Ma", + "T": "Di", + "We": "Wo", + "Th": "Do", + "F": "Vr", + "S": "Za", + "Todos": "TeDoens", + "NewTodo": "Nieuwe TeDoen", + "DueDate": "Eindtijd", + "Remaining": "Resterende", + "Complete": "Compleet", + "Rewards": "Beloningen", + "Gold": "Goud", + "Silver": "Zilver", + "NewReward": "Nieuwe Beloning", + "Price": "Prijs", + +"_commentfooter": "ONDERSCHRIFT", + +"_commentmisc": "OVERIGE", + "RemoveAds": "Verwijder Reclame", + "WhyAds": "Waarom Reclame?", + "WhyAdsContent1": "Habit is een open source project en kan alle hulp gebruiken die het kan krijgen - beschouw dit als een donatie aan de ontwikkelaars. Je krijgt ook 20 tokens van de aankoop, welke je kunt gebruiken voor speciale voorwerpen", + "WhyAdsContent2": "'Hey, ik heb de Kickstarter gebacked' - volg ", + "WhyAdsContent3": "deze instructies" +} diff --git a/src/app/i18n.coffee b/src/app/i18n.coffee index 07b233a562..97603691e5 100644 --- a/src/app/i18n.coffee +++ b/src/app/i18n.coffee @@ -1,5 +1,6 @@ i18n = require 'derby-i18n' i18n.plurals.add 'he', (n) -> n +i18n.plurals.add 'nl', (n) -> n module.exports = i18n diff --git a/src/app/index.coffee b/src/app/index.coffee index adc1561cc4..fb84448ef5 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -9,7 +9,7 @@ derby.use require 'derby-auth/components' # Translations i18n = require './i18n' i18n.localize app, - availableLocales: ['en', 'he'] + availableLocales: ['en', 'he', 'nl'] defaultLocale: 'en' helpers = require './helpers' From 485dd59c8ae974c10ed05de3acb078c20b3de5a4 Mon Sep 17 00:00:00 2001 From: Xeross Date: Tue, 7 May 2013 11:48:20 +0200 Subject: [PATCH 02/40] Make capitalization consistent with English --- locales/nl/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/nl/app.json b/locales/nl/app.json index dfc9bccb3b..906b3a7d33 100644 --- a/locales/nl/app.json +++ b/locales/nl/app.json @@ -29,7 +29,7 @@ "OriginalUser": "Originele Gebruiker!", "Inventory": "Inventaris", "EggsTitle": "Eieren", - "EggsContent": "Je Hebt Nog Geen Eieren", + "EggsContent": "Je hebt nog geen eieren", "HatchingPotionsTitle": "Broed Tover Drankjes", "HatchingPotionsContent": "Je hebt nog geen broed ~over drankjes!", "Market": "Markt", From c56938891cfa3f67660a7a23a3761070036ef00b Mon Sep 17 00:00:00 2001 From: Xeross Date: Tue, 7 May 2013 11:48:35 +0200 Subject: [PATCH 03/40] Should be single words, typo fix --- locales/nl/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locales/nl/app.json b/locales/nl/app.json index 906b3a7d33..665f3e62d6 100644 --- a/locales/nl/app.json +++ b/locales/nl/app.json @@ -30,8 +30,8 @@ "Inventory": "Inventaris", "EggsTitle": "Eieren", "EggsContent": "Je hebt nog geen eieren", - "HatchingPotionsTitle": "Broed Tover Drankjes", - "HatchingPotionsContent": "Je hebt nog geen broed ~over drankjes!", + "HatchingPotionsTitle": "Broed Toverdrankjes", + "HatchingPotionsContent": "Je hebt nog geen broed toverdrankjes!", "Market": "Markt", "MarketTitle": "Welkom op de markt!", "MarketContent": "Wil je graag dat ene dier, maar kan je niet wachten tot hij valt? Koop hem hier!", From 5067bf1f1fdfdb3a1fbf9c3bcf9f469f8b9130a3 Mon Sep 17 00:00:00 2001 From: Xeross Date: Tue, 7 May 2013 11:49:03 +0200 Subject: [PATCH 04/40] Fix pet names --- locales/nl/app.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locales/nl/app.json b/locales/nl/app.json index 665f3e62d6..c020e86c74 100644 --- a/locales/nl/app.json +++ b/locales/nl/app.json @@ -40,12 +40,12 @@ "_commentitems": "BUIT & BELONINGEN", "_comment": "HUISDIER EIEREN", - "WolfEgg": "Wolf Welp", - "TigerEgg": "Tijger Welp", - "PandaEgg": "Panda Welp", - "LionEgg": "Leeuwen Welp", + "WolfEgg": "Wolvenwelp", + "TigerEgg": "Tijgerwelp", + "PandaEgg": "Pandawelp", + "LionEgg": "Leeuwenwelp", "FoxEgg": "Vos", - "PigEgg": "Vliegend Big", + "PigEgg": "Vliegende Big", "DragonEgg": "Draak", "CactusEgg": "Cactus", "BearEgg": "Beren Welp", From 45ac0db2621b72a037ca723ef1b17a177d16b0d5 Mon Sep 17 00:00:00 2001 From: Xeross Date: Tue, 7 May 2013 11:49:16 +0200 Subject: [PATCH 05/40] These colours should be single words --- locales/nl/app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locales/nl/app.json b/locales/nl/app.json index c020e86c74..0b689bb3b3 100644 --- a/locales/nl/app.json +++ b/locales/nl/app.json @@ -58,8 +58,8 @@ "ShadePot": "Schaduw", "SkeletonPot": "Skelet", "ZombiePot": "Zombie", - "CottonPinkPot": "Suikerspin Roze", - "CottonBluePot": "Suikerspin Blauw", + "CottonPinkPot": "Suikerspinroze", + "CottonBluePot": "Suikerspinblauw", "GoldenPot": "Goud", "_comment": "GOUDEN BELONINGEN", From 777530fa7f435a1011a68c43282b263eff36e86b Mon Sep 17 00:00:00 2001 From: Xeross Date: Tue, 7 May 2013 11:49:28 +0200 Subject: [PATCH 06/40] Thesis is the correct word here --- locales/nl/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/nl/app.json b/locales/nl/app.json index 0b689bb3b3..29e9f07767 100644 --- a/locales/nl/app.json +++ b/locales/nl/app.json @@ -75,7 +75,7 @@ "AdvancedOptions": "Uitgebreide Opties", "Difficulty": "Moeilijkheid", "DifficultyHelpTitle": "Hoe moeilijk is deze taak?", - "DifficultyHelpContent": "Dit vermenigvuldigt de punt waarde. Gebruik spaars, de waarde wordt automatisch door ons algoritmes aangepast. Sommige taken zijn daarentegen daadwerkelijk veel meer waard dan anderen (b.v.b. 'Flossen' versus 'These Schrijven')", + "DifficultyHelpContent": "Dit vermenigvuldigt de punt waarde. Gebruik spaars, de waarde wordt automatisch door ons algoritmes aangepast. Sommige taken zijn daarentegen daadwerkelijk veel meer waard dan anderen (b.v.b. 'Flossen' versus 'Thesis Schrijven')", "Easy": "Makkelijk", "Medium": "Gemiddeld", "Hard": "Moeilijk", From 362509f17f33b6b726ef0d841438dd003dd016d2 Mon Sep 17 00:00:00 2001 From: Xeross Date: Tue, 7 May 2013 11:49:49 +0200 Subject: [PATCH 07/40] Todo translations modified --- locales/nl/app.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/locales/nl/app.json b/locales/nl/app.json index 29e9f07767..c677c8b5ef 100644 --- a/locales/nl/app.json +++ b/locales/nl/app.json @@ -83,8 +83,8 @@ "Delete": "Verwijder", "Progress": "Voortgang", "Score": "Score", - "Daily": "Dagelijkse", - "NewDaily": "Nieuwe Dagelijkse", + "Daily": "Dagelijks", + "NewDaily": "Nieuw", "Repeat": "Herhaal", "Su": "Zo", "M": "Ma", @@ -93,11 +93,11 @@ "Th": "Do", "F": "Vr", "S": "Za", - "Todos": "TeDoens", - "NewTodo": "Nieuwe TeDoen", - "DueDate": "Eindtijd", - "Remaining": "Resterende", - "Complete": "Compleet", + "Todos": "Te Doen", + "NewTodo": "Nieuw", + "DueDate": "Einddatum", + "Remaining": "Te Doen", + "Complete": "Voltooid", "Rewards": "Beloningen", "Gold": "Goud", "Silver": "Zilver", From 8e7ab790981889188a23b78302bd120574dd2b53 Mon Sep 17 00:00:00 2001 From: Daniel Saewitz Date: Sat, 11 May 2013 18:05:27 -0400 Subject: [PATCH 08/40] Turn off locale set --- src/server/middleware.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/middleware.coffee b/src/server/middleware.coffee index ccf24f14ca..fa2ca2aef5 100644 --- a/src/server/middleware.coffee +++ b/src/server/middleware.coffee @@ -28,7 +28,7 @@ translate = (req, res, next) -> model = req.getModel() # Set locale to bg on dev - model.set '_i18n.locale', 'bg' if process.env.NODE_ENV is "development" + #model.set '_i18n.locale', 'bg' if process.env.NODE_ENV is "development" next() From d54afdcc3d9ab3e0b703b07c48c5c15f99554301 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 00:22:35 +0100 Subject: [PATCH 09/40] tavern: icon-eye-close instead of icon-glass (to signify resting) --- views/app/game-pane.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/app/game-pane.html b/views/app/game-pane.html index 5584342b81..be060fd3d1 100644 --- a/views/app/game-pane.html +++ b/views/app/game-pane.html @@ -12,7 +12,7 @@
  • Inventory
  • Stable
  • {/if} -
  • Tavern
  • +
  • Tavern
  • Achievements
  • {{#if _loggedIn}}
  • Settings
  • From ca9d3bf2edd991b66a674646de365d4a890b56fd Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 00:51:59 +0100 Subject: [PATCH 10/40] small bailey about tokens => gems --- views/app/alerts.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/views/app/alerts.html b/views/app/alerts.html index d94914f93f..0a0df13d0d 100644 --- a/views/app/alerts.html +++ b/views/app/alerts.html @@ -14,6 +14,11 @@

    +

    5/12/2013

    +
      +
    • Renamed "Tokens" to "Gems". Tokens caused confusion.
    • +
    +

    5/10/2013

    • Less harsh death: Used to be you lose everything, now you lose GP & one random gear piece, 1 level. We're working on a really cool death mechanic here., but this is a stop-gap so people don't lose heart presently.
    • From 2164e7322b64c2a5f1532d38aa99ccb56e895a6b Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 00:56:02 +0100 Subject: [PATCH 11/40] _partyMembers fetch as async to final 3-part subscription. test on beta first --- src/app/index.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/index.coffee b/src/app/index.coffee index 7aab63dd4c..1b1a535d93 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -94,8 +94,8 @@ setupSubscriptions = (page, model, params, next, cb) -> return next(err) if err model.ref '_partyMembers', members - # Note - selfQ *must* come after membersQ in subscribe, otherwise _user will only get the fields restricted by party-members in store.coffee. Strang bug, but easy to get around - return finished([partyQ, selfQ, 'tavern'], ['_party', '_user', '_tavern']) + # Note - selfQ *must* come after membersQ in subscribe, otherwise _user will only get the fields restricted by party-members in store.coffee. Strang bug, but easy to get around + return finished([partyQ, selfQ, 'tavern'], ['_party', '_user', '_tavern']) # ========== ROUTES ========== From a9d33486783cee87ca3d5809b6e42834beaa23f1 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 10:15:31 +0100 Subject: [PATCH 12/40] last of the tokens=>gems --- styles/app/index.styl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/styles/app/index.styl b/styles/app/index.styl index f70d29d61f..27f1bd7c4f 100644 --- a/styles/app/index.styl +++ b/styles/app/index.styl @@ -84,7 +84,7 @@ hr /* Gems -------------------------------------------------- */ -/* Adaptation of GH's social-count for Tokens */ +/* Adaptation of GH's social-count for Gems */ .gem-cost border: 1px solid #D4D4D4; From f7145bb9517ff5f62d026e0b5036a993ca3bd68c Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 10:52:32 +0100 Subject: [PATCH 13/40] cleanup of the show-completed / show-remaining. That context-dependant / display-context-for stuff was bugging me out, and wasn't using Derby to it's potential. also some tags & habit-wide cleanup in helpers:taskClasses() --- src/app/helpers.coffee | 9 +++++++-- src/app/tasks.coffee | 24 ++---------------------- styles/app/tasks.styl | 15 --------------- views/app/tasks.html | 16 ++++++++-------- 4 files changed, 17 insertions(+), 47 deletions(-) diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index b0963580bd..184a75738e 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -125,14 +125,17 @@ viewHelpers = (view) -> ### Tasks ### - view.fn 'taskClasses', (task, filters, dayStart, lastCron) -> + view.fn 'taskClasses', (task, filters, dayStart, lastCron, showCompleted=false) -> return unless task {type, completed, value, repeat} = task + # completed / remaining toggle + return 'hidden' if (type is 'todo') and (completed != showCompleted) + for filter, enabled of filters if enabled and not task.tags?[filter] # All the other classes don't matter - return 'hide' + return 'hidden' classes = type @@ -150,6 +153,8 @@ viewHelpers = (view) -> classes += " completed" else classes += " uncompleted" + else if type is 'habit' + classes += ' habit-wide' if task.down and task.up if value < -20 classes += ' color-worst' diff --git a/src/app/tasks.coffee b/src/app/tasks.coffee index 3fb3dff8f3..d9b2811bf9 100644 --- a/src/app/tasks.coffee +++ b/src/app/tasks.coffee @@ -99,28 +99,8 @@ module.exports.app = (appExports, model) -> chart = new google.visualization.LineChart(document.getElementById( chartSelector )) chart.draw(data, options) - appExports.changeContext = (e, el) -> - # Get the data from the element - targetSelector = $(el).attr('data-target') - newContext = $(el).attr('data-context') - newActiveNav = $(el).parent('li') - - # If the clicked nav is already active, do nothing - if newActiveNav.hasClass('active') - return - - # Find the old active nav and context - oldActiveNav = $(el).closest('ul').find('> .active') - oldContext = oldActiveNav.find('a').attr('data-context') - - # Set the new active nav - oldActiveNav.removeClass('active') - newActiveNav.addClass('active') - - # Set the new context on the target - target = $(targetSelector) - target.removeClass(oldContext) - target.addClass(newContext) + appExports.todosShowRemaining = -> model.set '_showCompleted', false + appExports.todosShowCompleted = -> model.set '_showCompleted', true setUndo = (stats, task) -> previousUndo = model.get('_undo') diff --git a/styles/app/tasks.styl b/styles/app/tasks.styl index b79843411d..08db9535e9 100644 --- a/styles/app/tasks.styl +++ b/styles/app/tasks.styl @@ -383,21 +383,6 @@ form // todos ui // -------- -// context switching -.context-enabled - .display-context-dependant, - .task-list > li - display: none - - &.context-completed - .show-for-completed, .completed - display: block - - &.context-uncompleted - .show-for-uncompleted, .uncompleted - display: block - - // nav tabs .nav-tabs margin-top: 1.5em diff --git a/views/app/tasks.html b/views/app/tasks.html index 7e82907735..45f30609a9 100644 --- a/views/app/tasks.html +++ b/views/app/tasks.html @@ -54,7 +54,7 @@
      -
      +
      {#if _user.history.todos} @@ -67,7 +67,7 @@ -
      +
      @@ -80,12 +80,12 @@ The Checklist Manifesto: How to Get Things Right - + -
      @@ -103,7 +103,7 @@ -
    • +
    • @@ -238,4 +238,4 @@
      - \ No newline at end of file + From 4347ba52bad6a796a9c5ff005a9f9f3c3a483ac9 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 11:32:59 +0100 Subject: [PATCH 14/40] overhaul tasks.html so we can start generalizing task-lists, ground-work for challenges --- locales/en/app.json | 2 +- views/app/index.html | 2 +- views/app/rewards.html | 39 ++++++++------------ views/app/tasks.html | 80 +++++++++++++++++------------------------- 4 files changed, 49 insertions(+), 74 deletions(-) diff --git a/locales/en/app.json b/locales/en/app.json index 672753bef2..32534ec20b 100644 --- a/locales/en/app.json +++ b/locales/en/app.json @@ -55,7 +55,7 @@ "Delete": "Delete", "Progress": "Progress", "Score": "Score", - "Daily": "Dailys", + "Dailies": "Dailies", "NewDaily": "New Daily", "Repeat": "Repeat", "Su": "Su", diff --git a/views/app/index.html b/views/app/index.html index 6cd5c61034..01094210f4 100644 --- a/views/app/index.html +++ b/views/app/index.html @@ -42,7 +42,7 @@
      -
      +
    • diff --git a/views/app/rewards.html b/views/app/rewards.html index 96b8026b45..614959fd2f 100644 --- a/views/app/rewards.html +++ b/views/app/rewards.html @@ -9,7 +9,7 @@ - +
      @@ -24,29 +24,20 @@
      -

      Rewards

      - - - - - -
        - {#each _rewardList as :task}{/} -
      - - -
        - - - - - - -
      - - - Drive: The Surprising Truth About What Motivates Us - + + <@extra> + +
        + + + + + + +
      + + <@ads>Drive: The Surprising Truth About What Motivates Us +
      diff --git a/views/app/tasks.html b/views/app/tasks.html index 45f30609a9..27be0ed5d9 100644 --- a/views/app/tasks.html +++ b/views/app/tasks.html @@ -8,47 +8,24 @@ - - {{#if and( _loggedIn, notEqual(_user.flags.ads,'hide') )}} - -
      - -
      - - {{@content}} - {{/}} - - + @@ -63,22 +40,11 @@ -

      Todos

      - - -
      - -
      - -
        - {#each _todoList as :task}{/} -
      -
      - - The Checklist Manifesto: How to Get Things Right - + + <@ads>The Checklist Manifesto: How to Get Things Right + @@ -91,15 +57,33 @@ - + - -
      - + +

      {{t(@header)}}

      + + {{#if equal(@type,'todo')}}{{/}} + + +
      +
        + {#each @list as :task}{/} +
      + {{@extra}} +
      + + {{#if and( _loggedIn, notEqual(_user.flags.ads,'hide') )}} + +
      + +
      + + {{@ads}} + {{/}} From dcc4d0c93e702a477cce66ea8a52a3fe29a7434c Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 11:36:56 +0100 Subject: [PATCH 15/40] update Dailys => Dailies (we use dailys throughout the code so we can easly switch between singular/plural, but for actual text we want Dailies) --- locales/bg/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/bg/app.json b/locales/bg/app.json index 12513ba992..eb32658356 100644 --- a/locales/bg/app.json +++ b/locales/bg/app.json @@ -83,7 +83,7 @@ "Delete": "Изтрий", "Progress": "Прогрес", "Score": "Точки", - "Daily": "Ежедневни задачи", + "Dailies": "Ежедневни задачи", "NewDaily": "Нова задача", "Repeat": "Повтаряй", "Su": "Нед", From 912b716a2815aee6a8d793efd678b0c136cf5927 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 12:29:00 +0100 Subject: [PATCH 16/40] fix the reroll buy-button bug --- views/app/rewards.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/app/rewards.html b/views/app/rewards.html index 614959fd2f..f658b6e786 100644 --- a/views/app/rewards.html +++ b/views/app/rewards.html @@ -60,7 +60,7 @@
      - {#if equal(@item.type),'reroll')} + {#if equal(@item.type,'reroll')} {else} From f28a542aa446521ddf28593b46f7d18a8cf0b37a Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 12:39:54 +0100 Subject: [PATCH 17/40] small cleanup --- views/app/game-pane.html | 2 +- views/app/modals.html | 4 ++-- views/app/rewards.html | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/views/app/game-pane.html b/views/app/game-pane.html index be060fd3d1..f4b6871af5 100644 --- a/views/app/game-pane.html +++ b/views/app/game-pane.html @@ -2,7 +2,7 @@
      - + <@ads>Drive: The Surprising Truth About What Motivates Us @@ -43,7 +43,7 @@ - +
      {gems(_user.balance)} Gems From a287160d3bee8c446686f1024a6defeb45084ba0 Mon Sep 17 00:00:00 2001 From: Slappybag Date: Sun, 12 May 2013 12:41:00 +0100 Subject: [PATCH 18/40] Changed Tavern message to be less threatening & simplier. --- views/app/game-pane.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/app/game-pane.html b/views/app/game-pane.html index be060fd3d1..de2a08c2d1 100644 --- a/views/app/game-pane.html +++ b/views/app/game-pane.html @@ -88,7 +88,7 @@
      - +
      Whilst resting your dailies are saved and aren't effected by day turn-over. Whether you check out tomorrow or in a weeks time you'll continue in the same state as when you checked in.

      Resources

      From bb1ea755f1a0db574ae82021f5f1348787a0c7da Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Sun, 12 May 2013 13:11:27 +0100 Subject: [PATCH 19/40] tasks / rewards.html - pass in the actual list, and whether booleans @editable and @main, which will allow for challenges lists & mngr accounts / public lists --- views/app/index.html | 14 ++++++-- views/app/rewards.html | 35 ------------------ views/app/tasks.html | 81 +++++++++++++++++++++++++++++++++++++++--- 3 files changed, 88 insertions(+), 42 deletions(-) diff --git a/views/app/index.html b/views/app/index.html index 01094210f4..3e1c2b834f 100644 --- a/views/app/index.html +++ b/views/app/index.html @@ -42,8 +42,18 @@
      -
      -
      +
      + +
      +
      + +
      diff --git a/views/app/rewards.html b/views/app/rewards.html index 21dab841e5..d00b91b2ff 100644 --- a/views/app/rewards.html +++ b/views/app/rewards.html @@ -8,41 +8,6 @@ - - -
      -
      - - -
      - {gold(floor(_user.stats.gp))} - -
      -
      - {silver(_user.stats.gp)} - -
      -
      - - - <@extra> - -
        - - - - - - -
      - - <@ads>Drive: The Surprising Truth About What Motivates Us -
      -
      -
      - - - diff --git a/views/app/tasks.html b/views/app/tasks.html index 27be0ed5d9..3be2c35f98 100644 --- a/views/app/tasks.html +++ b/views/app/tasks.html @@ -14,7 +14,15 @@
      @@ -23,7 +31,15 @@
      @@ -32,6 +48,8 @@
      + + {{#if @main}} {#if _user.history.todos} @@ -40,9 +58,18 @@ + {{/}} - + <@ads>The Checklist Manifesto: How to Get Things Right @@ -57,7 +84,49 @@
      - +
      +
      + + {{#if @main}} + + +
      + {gold(floor(_user.stats.gp))} + +
      +
      + {silver(_user.stats.gp)} + +
      +
      + {{/}} + + + <@extra> + {{#if @main}} + +
        + + + + + + +
      + {{/}} + + <@ads>Drive: The Surprising Truth About What Motivates Us +
      +
      +
      @@ -65,18 +134,20 @@ {{#if equal(@type,'todo')}}{{/}} + {{#if @editable}}

      + {{/}}
        {#each @list as :task}{/}
      {{@extra}}
      - {{#if and( _loggedIn, notEqual(_user.flags.ads,'hide') )}} + {{#if and( _loggedIn, notEqual(_user.flags.ads,'hide'), @main )}}
      From 1079d060fcdb08cd8045e247172e428295147efd Mon Sep 17 00:00:00 2001 From: Slappybag Date: Sun, 12 May 2013 13:32:41 +0100 Subject: [PATCH 20/40] Final app.json english. --- locales/en/app.json | 511 ++++++++++++++++++++++++-------------------- 1 file changed, 282 insertions(+), 229 deletions(-) diff --git a/locales/en/app.json b/locales/en/app.json index 32534ec20b..ee06f4a107 100644 --- a/locales/en/app.json +++ b/locales/en/app.json @@ -1,63 +1,88 @@ { "_commentfrontpage":"HABITRPG FRONT PAGE", - "Synopsis" : "A habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.", - "PlayButton" : "Play", + "synopsis" : "A habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.", + "playButton" : "Play", + "" "_commenttut": "TUTORIAL/TOUR", - "EndTourButton": "End Tour", - "NextButton" : "Next", - "PrevButton" : "Prev", - "Tour1Title" : "Welcome to HabitRPG", - "Tour1Text" : "Welcome to HabitRPG, a habit-tracker which treats your goals like a Role Playing Game.", - "Tour2Title" : "Habits", - "Tour2Text" : "Habits are good or bad goals that you constantly track.", - "Tour3Title" : "Dailies", - "Tour3Text" : "Dailies are goals that you want to complete once a day.", - "Tour4Title" : "Todos", - "Tour4Text" : "Todos are one-off goals which need to be completed eventually. ", - "Tour5Title" : "Rewards", - "Tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ", - "Tour6Title" : "Hover over comments", - "Tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.", + "endTourButton": "End Tour", + "nextButton" : "Next", + "prevButton" : "Prev", + "tour1Title" : "Welcome to HabitRPG", + "tour1Text" : "Welcome to HabitRPG, a habit-tracker which treats your goals like a Role Playing Game.", + "tour2Title" : "Habits", + "tour2Text" : "Habits are good or bad goals that you constantly track.", + "tour3Title" : "Dailies", + "tour3Text" : "Dailies are goals that you want to complete once a day.", + "tour4Title" : "Todos", + "tour4Text" : "Todos are one-off goals which need to be completed eventually. ", + "tour5Title" : "Rewards", + "tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ", + "tour6Title" : "Hover over comments", + "tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.", +"_commentdefaulttasks":"DEFAULT TASKS", + "habit1" : "1h Productive Work", + "habit1comment": "-- Habits: Constantly Track -- For some habits, it only makes sense to *gain* points (like this one)", + "habit2" : "Eat Junk Food", + "habit2comment" : "For others, it only makes sense to *lose* points", + "habit3" : "Take The Stairs", + "habit3comment" : "For the rest, both + and - make sense (stairs = gain, elevator = lose)", + "daily1" : "1h Personal Project", + "daily1comment" : "-- Dailies: Complete Once a Day -- At the end of each day, non-completed Dailies dock you points.", + "daily2" : "Exercise", + "daily2comment" : "If you are doing well, they turn green and are less valuable (experience, gold) and less damaging (HP). This means you can ease up on them for a bit.", + "daily3" : "45m Reading", + "daily3comment" : "But if you are doing poorly, they turn red. The worse you do, the more valuable (exp, gold) and more damaging (HP) these goals become. This encourages you to focus on your shortcomings, the reds.", + "todo1" : "Call Mom", + "todo1comment" : "-- Todos: Complete Eventually -- Non-completed Todos won't hurt you, but they will become more valuable over time. This will encourage you to wrap up stale Todos.", + "reward1" : "1 Episode of Game of Thrones", + "reward1comment": "-- Rewards: Treat Yourself! -- As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integral in forming good habits.", + "reward2" : "Cake", + "reward2comment" : "But only buy if you have enough gold - you lose HP otherwise.", + +"_commentdefaulttags" : "DEFAULT TAGS", + "morning" : "morning", + "afternoon" : "afternoon", + "evening" : "evening", + "_commenthead": "HEADER", - "Health": "Health", - "Experience": "Experience", - "History": "History", - "Anonymous": "Anonymous", - "Level": "Level", - "GP": "GP", - "Tasks": "Tasks", - "Options": "Options", - "Logout": "Logout", + "health": "Health", + "experience": "Experience", + "history": "History", + "anonymous": "Anonymous", + "level": "Level", + "tasks": "Tasks", + "options": "Options", + "logout": "Logout", "_commenttaskview": "TASK VIEW", - "Habits": "Habits", - "NewHabit": "New Habit", - "Edit": "Edit", - "Text": "Text", - "ExtraNotes": "Extra Notes", - "Directions/Actions": "Directions/Actions", - "AdvancedOptions": "Advanced Options", - "Difficulty": "Difficulty", - "DifficultyHelpTitle": "How difficult is this task?", - "DifficultyHelpContent": "This multiplies its point value. Use sparingly, rely instead on our organic value-adjustment algorithms. But some tasks are grossly more valuable (Write Thesis vs Floss Teeth). Click for more info.", - "Easy": "Easy", - "Medium": "Medium", - "Hard": "Hard", - "Delete": "Delete", - "Progress": "Progress", - "Score": "Score", - "Dailies": "Dailies", - "NewDaily": "New Daily", - "Repeat": "Repeat", + "habits": "Habits", + "newHabit": "New Habit", + "edit": "Edit", + "text": "Text", + "extraNotes": "Extra Notes", + "directions/Actions": "Directions/Actions", + "advancedOptions": "Advanced Options", + "difficulty": "Difficulty", + "difficultyHelpTitle": "How difficult is this task?", + "difficultyHelpContent": "This multiplies its point value. Use sparingly, rely instead on our organic value-adjustment algorithms. But some tasks are grossly more valuable (Write Thesis vs Floss Teeth). Click for more info.", + "easy": "Easy", + "medium": "Medium", + "hard": "Hard", + "delete": "Delete", + "progress": "Progress", + "score": "Score", + "dailies": "Dailies", + "newDaily": "New Daily", + "repeat": "Repeat", "Su": "Su", "M": "M", "T": "T", @@ -65,84 +90,106 @@ "Th": "Th", "F": "F", "S": "S", - "Todos": "Todos", - "NewTodo": "New Todo", - "DueDate": "Due Date", - "Remaining": "Remaining", - "Complete": "Complete", - "Rewards": "Rewards", - "Gold": "Gold", - "Silver": "Silver", - "NewReward": "New Reward", - "Price": "Price", + "todos": "Todos", + "newTodo": "New Todo", + "dueDate": "Due Date", + "remaining": "Remaining", + "complete": "Complete", + "rewards": "Rewards", + "gold": "Gold", + "silver": "Silver", + "newReward": "New Reward", + "price": "Price", "_commentoptionsview": "OPTIONS VIEW", - "Profile": "Profile", - "Avatar": "Avatar", - "Head": "Head", - "ShowHelm": "Show Helm", - "Hair": "Hair", - "Skin": "Skin", - "PhotoUrl": "Photo Url", - "FullName": "Full Name", - "Blurb": "Blurb", - "Websites": "Websites", - "Add Websites": "Add Websites", + "profile": "Profile", + "avatar": "Avatar", + "head": "Head", + "showHelm": "Show Helm", + "hair": "Hair", + "skin": "Skin", + "photoUrl": "Photo Url", + "fullName": "Full Name", + "blurb": "Blurb", + "websites": "Websites", + "addWebsites": "Add Websites", + "stats" : "Stats", + "strength" : "Strength", + "defense" : "Defense", + "totalstrength" : "Total Strength", + "totaldefense" : "Total Defense", - "Party": "Party", - "CreateAParty":"Create A Party", - "NoPartyText": "You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter:", - "PartyName": "Party Name", - "Create":"Create", - "UserId":"User Id", - "Invite":"Invite", - "Leave": "Leave", - "PartyChat": "Chat", - "Inventory": "Inventory", - "EggsTitle": "Eggs", - "EggsContent": "You don't have any eggs yet.", - "HatchingPotionsTitle": "Hatching Potions", - "HatchingPotionsContent": "You don't have any hatching potions yet.", - "Market": "Market", + "party": "Party", + "createAParty":"Create A Party", + "noPartyText": "You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter:", + "partyName": "Party Name", + "create":"Create", + "userId":"User Id", + "invite":"Invite", + "leave": "Leave", + "partyChat": "Chat", - "Stable": "Stable", - "PetsFound":"Pets Found", - "RarePets": "Rare Pets", + "inventory": "Inventory", + "eggsTitle": "Eggs", + "eggsContent": "You don't have any eggs yet.", + "hatchingPotionsTitle": "Hatching Potions", + "hatchingPotionsContent": "You don't have any hatching potions yet.", + "market": "Market", - "Tavern": "Tavern", - "RestButton":"Rest In The Inn", - "CheckoutButton": "Check Out Of Inn", - "TavernTalkTitle":"Tavern Talk & LFG", + "stable": "Stable", + "petsFound":"Pets Found", + "rarePets": "Rare Pets", - "Achievements":"Achievements", + "tavern": "Tavern", + "restButton":"Rest In The Inn", + "checkoutButton": "Check Out Of Inn", + "tavernTalkTitle":"Tavern Talk & LFG", + "tavernRestingInfo" : "Whilst resting your dailies are saved and aren't effected by day turn-over. Whether you check out tomorrow or in a weeks time you'll continue in the same state as when you checked in.", - "Settings":"Settings", - "CustomDayStart":"Custom Day Start", + "achievements":"Achievements", + "npctext" : "Backed the Kickstarter project at the maximum level!", + "contribname" : "Contributor", + "contribtext" : "Has contributed to HabitRPG (code, design, pixel art, legal advice, docs, etc). Want this badge? Fix a bug", + "kickstartname1" : "Kickstarter Backer - ", + "kickstartname2" : "Tier", + "kickstarttext" : "Backed the Kickstarter Project", + "streakname" : " Streak Achievement(s)", + "streaktext1" : "Has performed ", + "streaktext2" : " 21-day streaks on Dailies", + "origusername" : "Original User", + "origusertext" : "Goes way back to the Habit's days of yore (bless them for soldiering through bugs!)", + "ultimgearname" : "Ultimate Gear", + "ultimgeartext" : "Has attained the maximum weapon and armor set", + "beastmastname" : "Beast Master", + "beastmasttext" : "Has found all 90 pets (insanely difficult, give this user props!)", + + "settings":"Settings", + "customDayStart":"Custom Day Start", "24HrClock": "24Hr Clock", - "ClockInfo":"Habit defaults to check and reset your dailies at midnight each day. You can customize that here (Enter number between 0 and 24).", - "Misc":"Misc", - "HideHeader":"Hide Header", - "ShowHeader":"Show Header", - "ChangePass":"Change Password", - "OldPass":"Old Password", - "NewPass":"New Password", - "ConfirmPass":"Confirm New Password", - "DangerZone": "Danger Zone", - "Reset":"Reset", - "ResetAltText":"Resets your entire account (dangerous)", - "ResetText1":"This resets your entire account - your tasks will be deleted and your character will start over.", - "ResetText2":"This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.", - "Restore":"Restore", - "RestoreAltText":"Restores attributes to your character", - "RestoreText1":"HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.", - "Delete":"Delete", - "DeleteAltText":"Delete your account", - "DeleteText1":"Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type", - "DeleteText2":" DELETE ", - "DeleteText3":"into the text-box", + "clockInfo":"Habit defaults to check and reset your dailies at midnight each day. You can customize that here (Enter number between 0 and 24).", + "misc":"Misc", + "hideHeader":"Hide Header", + "showHeader":"Show Header", + "changePass":"Change Password", + "oldPass":"Old Password", + "newPass":"New Password", + "confirmPass":"Confirm New Password", + "dangerZone": "Danger Zone", + "reset":"Reset", + "resetAltText":"Resets your entire account (dangerous)", + "resetText1":"This resets your entire account - your tasks will be deleted and your character will start over.", + "resetText2":"This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.", + "restore":"Restore", + "restoreAltText":"Restores attributes to your character", + "restoreText1":"HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.", + "delete":"Delete", + "deleteAltText":"Delete your account", + "deleteText1":"Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type", + "deleteText2":" DELETE ", + "deleteText3":"into the text-box", "API":"API", "APIText":"Copy these for use in third party applications.", "APIToken":"Api Token", @@ -151,155 +198,161 @@ "_commentitems": "ITEMS", "_commentitemsweps": "WEAPONS", - "Sword1Name" : "Sword", - "Sword1Text" : "Increases experience gain by 3%.", - "Sword2Name" : "Axe", - "Sword2Text" : "Increases experience gain by 6%.", - "Sword3Name" : "Morningstar", - "Sword3Text" : "Increases experience gain by 9%.", - "Sword4Name" : "Blue Sword", - "Sword4Text" : "Increases experience gain by 12%.", - "Sword5Name" : "Red Sword", - "Sword5Text" : "Increases experience gain by 15%.", - "Sword6Name" : "Golden Sword", - "Sword6Text" : "Increases experience gain by 18%.", + "sword0name" : "Training Sword", + "sword1Name" : "Sword", + "sword1Text" : "Increases experience gain by 3%.", + "sword2Name" : "Axe", + "sword2Text" : "Increases experience gain by 6%.", + "sword3Name" : "Morningstar", + "sword3Text" : "Increases experience gain by 9%.", + "sword4Name" : "Blue Sword", + "sword4Text" : "Increases experience gain by 12%.", + "sword5Name" : "Red Sword", + "sword5Text" : "Increases experience gain by 15%.", + "sword6Name" : "Golden Sword", + "sword6Text" : "Increases experience gain by 18%.", "_commentitemsarmour": "ARMOUR", - "Armour1Name" : "Leather Armor" , - "Armour1Text": "Decreases HP Loss by 4%", - "Armour2Name" : "Chain Mail", - "Armour2Text": "Decreases HP Loss by 6%", - "Armour3Name" : "Plate Mail", - "Armour3Text": "Decreases HP Loss by 7%", - "Armour4Name" : "Red Armor", - "Armour4Text": "Decreases HP Loss by 8%", - "Armour5Name" : "Golden Armor", - "Armour5Text": "Decreases HP Loss by 10%", + "armour0Name" : "Cloth Armour", + "armour1Name" : "Leather Armor" , + "armour1Text": "Decreases HP Loss by 4%", + "armour2Name" : "Chain Mail", + "armour2Text": "Decreases HP Loss by 6%", + "armour3Name" : "Plate Mail", + "armour3Text": "Decreases HP Loss by 7%", + "armour4Name" : "Red Armor", + "armour4Text": "Decreases HP Loss by 8%", + "armour5Name" : "Golden Armor", + "armour5Text": "Decreases HP Loss by 10%", "_commentitemshead" : "HEADGEAR", - "Head1Name" : "Leather Helm" , - "Head1Text": "Decreases HP loss by 2%", - "Head2Name" : "Chain Coif", - "Head2Text": "Decreases HP loss by 3%", - "Head3Name" : "Plate Helm", - "Head3Text": "Decreases HP loss by 4%", - "Head4Name" : "Red Helm", - "Head4Text": "Decreases HP loss by 5%", - "Head5Name" : "Golden Helm", - "Head5Text": "Decreases HP loss by 6%", + "head0Name" : "No Helm", + "head1Name" : "Leather Helm" , + "head1Text": "Decreases HP loss by 2%", + "head2Name" : "Chain Coif", + "head2Text": "Decreases HP loss by 3%", + "head3Name" : "Plate Helm", + "head3Text": "Decreases HP loss by 4%", + "head4Name" : "Red Helm", + "head4Text": "Decreases HP loss by 5%", + "head5Name" : "Golden Helm", + "head5Text": "Decreases HP loss by 6%", "_commentitemsshield" : "SHIELDS", - "Shield1Name" : "Wooden Shield", - "Shield1Text": "Decreases HP loss by 3%", - "Shield2Name" : "Buckler", - "Shield2Text": "Decreases HP loss by 4%", - "Shield3Name" : "Enforced Shield", - "Shield3Text": "Decreases HP loss by 5%", - "Shield4Name" : "Red Shield", - "Shield4Text": "Decreases HP loss by 7%", - "Shield5Name" : "Golden Shield", - "Shield5Text": "Decreases HP loss by 8%", + "sheild0Name" : "No Shield", + "sheild1Name" : "Wooden Shield", + "sheild1Text": "Decreases HP loss by 3%", + "sheild2Name" : "Buckler", + "sheild2Text": "Decreases HP loss by 4%", + "sheild3Name" : "Enforced Shield", + "sheild3Text": "Decreases HP loss by 5%", + "sheild4Name" : "Red Shield", + "sheild4Text": "Decreases HP loss by 7%", + "sheild5Name" : "Golden Shield", + "sheild5Text": "Decreases HP loss by 8%", "_commentitemsother" : "OTHER ITEMS", - "HealthPotionName" : "Health Potion", - "HealthPotionNotes" : "Recover 15 HP Instantly", - "RerollName" : "Re-Roll", - "RerollNotes" : "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.", + "healthPotionName" : "Health Potion", + "healthPotionNotes" : "Recover 15 HP Instantly", + "rerollName" : "Re-Roll", + "rerollNotes" : "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.", "_commentitemspeteggs": "PET EGGS", - "WolfEgg": "Wolf Cub", - "TigerEgg": "Tiger Cub", - "PandaEgg": "Wolf Cub", - "LionEgg": "Lion Cub", - "FoxEgg": "Fox", - "PigEgg": "Flying Pig", - "DragonEgg": "Dragon", - "CactusEgg": "Cactus", - "BearEgg": "Bear Cub", - "WolfEgg": "Wolf", + "wolfEgg": "Wolf Cub", + "tigerEgg": "Tiger Cub", + "pandaEgg": "Wolf Cub", + "lionEgg": "Lion Cub", + "foxEgg": "Fox", + "pigEgg": "Flying Pig", + "dragonEgg": "Dragon", + "cactusEgg": "Cactus", + "bearEgg": "Bear Cub", + "wolfEgg": "Wolf", "_commentitemshatchingpotions": "HATCHING POTIONS", - "BasePotName": "Base", - "BasePotText" : "Hatches your pet into its base form.", - "WhitePotName": "White", - "WhitePotText" : "Hatches your pet into its white form.", - "DesertPotName": "Desert", - "DesertPotText" : "Hatches your pet into its desert form.", - "RedPotName": "Red", - "RedPotText" : "Hatches your pet into its red form.", - "ShadePotName": "Shadepot", - "ShadePotText" : "Hatches your pet into its shade form.", - "SkeletonPotName": "Skeleton", - "SkeletonPotText" : "Hatches your pet into its skeleton form.", - "ZombiePotName": "Zombie", - "ZombiePotText" : "Hatches your pet into its zombie form.", - "CottonPinkPotName": "Cotton Candy Pink", - "CottonPinkPotText" : "Hatches your pet into its cotton candy pink form.", - "CottonBluePotName": "Cotton Candy Blue", - "CottonBluePotText" : "Hatches your pet into its cotton candy blue form.", - "GoldenPotName": "Golden", - "GoldenPotText" : "Hatches your pet into its golden form.", + "basePotName": "Base", + "basePotText" : "Hatches your pet into its base form.", + "whitePotName": "White", + "whitePotText" : "Hatches your pet into its white form.", + "desertPotName": "Desert", + "desertPotText" : "Hatches your pet into its desert form.", + "redPotName": "Red", + "redPotText" : "Hatches your pet into its red form.", + "shadePotName": "Shadepot", + "shadePotText" : "Hatches your pet into its shade form.", + "skeletonPotName": "Skeleton", + "skeletonPotText" : "Hatches your pet into its skeleton form.", + "zombiePotName": "Zombie", + "zombiePotText" : "Hatches your pet into its zombie form.", + "cottonPinkPotName": "Cotton Candy Pink", + "cottonPinkPotText" : "Hatches your pet into its cotton candy pink form.", + "cottonBluePotName": "Cotton Candy Blue", + "cottonBluePotText" : "Hatches your pet into its cotton candy blue form.", + "goldenPotName": "Golden", + "goldenPotText" : "Hatches your pet into its golden form.", "_commentnpcsandchars": "NPCS & CHARACTERS", "_commentNPCS" : "NPCS", "NPCBaileyName" : "Bailey", - "NPCBaileyText" : "Bailey the Crier here! Announcing new stuff!", + "NPCBaileyText1" : "the Town Crier here! Announcing new stuff!", "NPCAugustinName" : "Alexander Augustin", - "NPCAugustinText" : "Welcome to the Market! I'm the merchant, Alexander. Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!", + "NPCAugustinText1" : "Welcome to the Market! I'm the merchant,", + "NPCAugustinText2" : "Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!", "NPCJohanssonName" : "Daniel Johansson", - "NPCJohanssonText" : "Welcome to the Tavern! I'm Daniel, the bar keep. If you want to rest a while (going on vacation?), I'll set you up at the inn - dailies won't hurt you while you're resting. The minimum stay is 24h, but you can check out any time. Stay a while & meet the clientele.", + "NPCJohanssonText1" : "Welcome to the Tavern! I'm", + "NPCJohanssonText2": "the bar keep. If you want to rest a while (going on vacation?), I'll set you up at the inn - dailies won't hurt you while you're resting. The minimum stay is 24h, but you can check out any time. Stay a while & meet the clientele.", "NPCMelchiorName" : "Ian Melchior ", - "NPCMelchiorText" : "", + "NPCMelchiorText1" : "", "NPCBowenName" : "Justin Bowen", - "NPCBowenText" : "", + "NPCBowenText1" : "", "NPCBochName" : "Matt Boch", - "NPCBochText" : "", + "NPCBochText1" : "", "_commentfooter": "FOOTER", - "FooterCompany" : "Company", - "CompanyAbout" : "About", - "CompanyBlog" : "Blog", - "CompanyTeam" : "Team", - "CompanyExtensions" : "Extensions", - "CompanyFAQ" : "FAQ", - "FooterLegal" : "Legal", - "LegalPrivacy" : "Privacy", - "LegamTerms" : "Terms", - "FooterCommunity" : "Community", - "CommunityBugs" : "Submit Bugs", - "CommunityFeatures" : "Request Feautres", - "CommunityAPI" : "API", - "CommunityExtensions" : "Add-ons / Extensions", - "CommunityForum" : "Forum", - "CommunityKickstarter" : "Kickstarter", - "CommunityFB" : "Facebook", - "CommunityReddit" : "Reddit", + "footerCompany" : "Company", + "companyAbout" : "About", + "companyBlog" : "Blog", + "companyTeam" : "Team", + "companyExtensions" : "Extensions", + "companyFAQ" : "FAQ", + "footerLegal" : "Legal", + "legalPrivacy" : "Privacy", + "legamTerms" : "Terms", + "footerCommunity" : "Community", + "communityBugs" : "Submit Bugs", + "communityFeatures" : "Request Feautres", + "communityAPI" : "API", + "communityExtensions" : "Add-ons / Extensions", + "communityForum" : "Forum", + "communityKickstarter" : "Kickstarter", + "communityFB" : "Facebook", + "communityReddit" : "Reddit", "_commentmisc": "MISC & GLOBAL", - "Gems" : "Gems", - "RemoveAds": "Remove Ads", - "WhyAds": "Why Ads?", - "WhyAdsContent1": "Habit an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items.", - "WhyAdsContent2": "'Hey, I backed the Kickstarter!' - follow ", - "WhyAdsContent3": "these instructions.", + "gems" : "Gems", + "removeAds": "Remove Ads", + "whyAds": "Why Ads?", + "whyAdsContent1": "Habit an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items.", + "whyAdsContent2": "'Hey, I backed the Kickstarter!' - follow ", + "whyAdsContent3": "these instructions.", "_commentbuttons": "BUTTONS", - "Submit":"Submit", - "Close":"Close", - "Save&Close": "Save & Close", - "Cancel":"Cancel", + "submit":"Submit", + "close":"Close", + "saveAndClose": "Save & Close", + "cancel":"Cancel", "_commenttimestamps":"TIME STAMPS", - "JustNow":"Just now", - "AMinuteAgo":"A minute ago", - "MinutesAgo":"minutes ago", - "AnHourAgo": "An hour ago", - "HoursAgo": "hours ago", - "Yesterday":"Yesterday", - "DaysAgo":"days ago" + "justNow":"Just now", + "aMinuteAgo":"A minute ago", + "minutesAgo":"minutes ago", + "anHourAgo": "An hour ago", + "hoursAgo": "hours ago", + "yesterday":"Yesterday", + "daysAgo":"days ago" } From 367c860ac8d96f339abe28cadae4462f6cd6be78 Mon Sep 17 00:00:00 2001 From: Slappybag Date: Sun, 12 May 2013 14:34:49 +0100 Subject: [PATCH 21/40] syntax error on my part --- locales/en/app.json | 4 +--- views/app/tasks.html | 8 ++++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/locales/en/app.json b/locales/en/app.json index ee06f4a107..0d14e41e4c 100644 --- a/locales/en/app.json +++ b/locales/en/app.json @@ -3,8 +3,6 @@ "_commentfrontpage":"HABITRPG FRONT PAGE", "synopsis" : "A habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.", "playButton" : "Play", - "" - "_commenttut": "TUTORIAL/TOUR", @@ -22,7 +20,7 @@ "tour5Title" : "Rewards", "tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ", "tour6Title" : "Hover over comments", - "tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.", + "tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.", diff --git a/views/app/tasks.html b/views/app/tasks.html index 3be2c35f98..cf404e8445 100644 --- a/views/app/tasks.html +++ b/views/app/tasks.html @@ -15,7 +15,7 @@
      Date: Sun, 12 May 2013 16:46:40 +0100 Subject: [PATCH 22/40] module.exports growl notifications so other files can use it --- src/app/browser.coffee | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/app/browser.coffee b/src/app/browser.coffee index 910b9ab2e1..76656ca7d1 100644 --- a/src/app/browser.coffee +++ b/src/app/browser.coffee @@ -119,6 +119,17 @@ setupTour = (model) -> initStickyHeader = (model) -> $('.header-wrap').sticky({topSpacing:0}) +growlNotification = module.exports.growlNotification = (html, type) -> + $.bootstrapGrowl html, + ele: '#notification-area', + type: type # (null, 'info', 'error', 'success', 'gp', 'xp', 'hp', 'lvl','death') + top_offset: 20 + align: 'right' # ('left', 'right', or 'center') + width: 250 # (integer, or 'auto') + delay: 3000 + allow_dismiss: true + stackup_spacing: 10 # spacing between consecutive stacecked growls. + ### Sets up "+1 Exp", "Level Up", etc notifications ### @@ -127,17 +138,8 @@ setupGrowlNotifications = (model) -> user = model.at '_user' statsNotification = (html, type) -> - #don't show notifications if user dead - return if user.get('stats.lvl') == 0 - $.bootstrapGrowl html, - ele: '#notification-area', - type: type # (null, 'info', 'error', 'success', 'gp', 'xp', 'hp', 'lvl','death') - top_offset: 20 - align: 'right' # ('left', 'right', or 'center') - width: 250 # (integer, or 'auto') - delay: 3000 - allow_dismiss: true - stackup_spacing: 10 # spacing between consecutive stacecked growls. + return if user.get('stats.lvl') == 0 #don't show notifications if user dead + growlNotification(html, type) # Setup listeners which trigger notifications user.on 'set', 'stats.hp', (captures, args) -> From 7c62c523b4c00d80da6b0236f1199bd804c84fd9 Mon Sep 17 00:00:00 2001 From: Stan Lindsey Date: Sun, 12 May 2013 20:43:28 +0200 Subject: [PATCH 23/40] Additional Keys --- locales/en/app.json | 572 ++++++++++++++++++++++++++------------------ 1 file changed, 337 insertions(+), 235 deletions(-) diff --git a/locales/en/app.json b/locales/en/app.json index 32534ec20b..796f58e178 100644 --- a/locales/en/app.json +++ b/locales/en/app.json @@ -1,63 +1,94 @@ { "_commentfrontpage":"HABITRPG FRONT PAGE", - "Synopsis" : "A habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.", - "PlayButton" : "Play", + "synopsis" : "A habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.", + "playButton" : "Play", "_commenttut": "TUTORIAL/TOUR", - "EndTourButton": "End Tour", - "NextButton" : "Next", - "PrevButton" : "Prev", - "Tour1Title" : "Welcome to HabitRPG", - "Tour1Text" : "Welcome to HabitRPG, a habit-tracker which treats your goals like a Role Playing Game.", - "Tour2Title" : "Habits", - "Tour2Text" : "Habits are good or bad goals that you constantly track.", - "Tour3Title" : "Dailies", - "Tour3Text" : "Dailies are goals that you want to complete once a day.", - "Tour4Title" : "Todos", - "Tour4Text" : "Todos are one-off goals which need to be completed eventually. ", - "Tour5Title" : "Rewards", - "Tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ", - "Tour6Title" : "Hover over comments", - "Tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.", + "endTourButton": "End Tour", + "nextButton" : "Next", + "prevButton" : "Prev", + "tour1Title" : "Welcome to HabitRPG", + "tour1Text" : "Welcome to HabitRPG, a habit-tracker which treats your goals like a Role Playing Game.", + "tour2Title" : "Habits", + "tour2Text" : "Habits are good or bad goals that you constantly track.", + "tour3Title" : "Dailies", + "tour3Text" : "Dailies are goals that you want to complete once a day.", + "tour4Title" : "Todos", + "tour4Text" : "Todos are one-off goals which need to be completed eventually. ", + "tour5Title" : "Rewards", + "tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ", + "tour6Title" : "Hover over comments", + "tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.", +"_commentdefaulttasks":"DEFAULT TASKS", + "habit1" : "1h Productive Work", + "habit1comment": "-- Habits: Constantly Track -- For some habits, it only makes sense to *gain* points (like this one)", + "habit2" : "Eat Junk Food", + "habit2comment" : "For others, it only makes sense to *lose* points", + "habit3" : "Take The Stairs", + "habit3comment" : "For the rest, both + and - make sense (stairs = gain, elevator = lose)", + "daily1" : "1h Personal Project", + "daily1comment" : "-- Dailies: Complete Once a Day -- At the end of each day, non-completed Dailies dock you points.", + "daily2" : "Exercise", + "daily2comment" : "If you are doing well, they turn green and are less valuable (experience, gold) and less damaging (HP). This means you can ease up on them for a bit.", + "daily3" : "45m Reading", + "daily3comment" : "But if you are doing poorly, they turn red. The worse you do, the more valuable (exp, gold) and more damaging (HP) these goals become. This encourages you to focus on your shortcomings, the reds.", + "todo1" : "Call Mom", + "todo1comment" : "-- Todos: Complete Eventually -- Non-completed Todos won't hurt you, but they will become more valuable over time. This will encourage you to wrap up stale Todos.", + "reward1" : "1 Episode of Game of Thrones", + "reward1comment": "-- Rewards: Treat Yourself! -- As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integral in forming good habits.", + "reward2" : "Cake", + "reward2comment" : "But only buy if you have enough gold - you lose HP otherwise.", + +"_commentdefaulttags" : "DEFAULT TAGS", + "morning" : "morning", + "afternoon" : "afternoon", + "evening" : "evening", + "_commenthead": "HEADER", - "Health": "Health", - "Experience": "Experience", - "History": "History", - "Anonymous": "Anonymous", - "Level": "Level", - "GP": "GP", - "Tasks": "Tasks", - "Options": "Options", - "Logout": "Logout", + "health": "Health", + "experience": "Experience", + "history": "History", + "anonymous": "Anonymous", + "level": "Level", + "tasks": "Tasks", + "loginAndReg" : "Login / Register", + "loginFacebookAlt" : "Login / Register with Facebook", + "login" : "Login", + "register" : "Register", + "options": "Options", + "logout": "Logout", + +"_commentnotifcations" : "NOTIFICATIONS", + "partyNotification" : "New Party Messages", "_commenttaskview": "TASK VIEW", - "Habits": "Habits", - "NewHabit": "New Habit", - "Edit": "Edit", - "Text": "Text", - "ExtraNotes": "Extra Notes", - "Directions/Actions": "Directions/Actions", - "AdvancedOptions": "Advanced Options", - "Difficulty": "Difficulty", - "DifficultyHelpTitle": "How difficult is this task?", - "DifficultyHelpContent": "This multiplies its point value. Use sparingly, rely instead on our organic value-adjustment algorithms. But some tasks are grossly more valuable (Write Thesis vs Floss Teeth). Click for more info.", - "Easy": "Easy", - "Medium": "Medium", - "Hard": "Hard", - "Delete": "Delete", - "Progress": "Progress", - "Score": "Score", - "Dailies": "Dailies", - "NewDaily": "New Daily", - "Repeat": "Repeat", + "habits": "Habits", + "newHabit": "New Habit", + "edit": "Edit", + "text": "Text", + "extraNotes": "Extra Notes", + "directions/Actions": "Directions/Actions", + "advancedOptions": "Advanced Options", + "difficulty": "Difficulty", + "difficultyHelpTitle": "How difficult is this task?", + "difficultyHelpContent": "This multiplies its point value. Use sparingly, rely instead on our organic value-adjustment algorithms. But some tasks are grossly more valuable (Write Thesis vs Floss Teeth). Click for more info.", + "easy": "Easy", + "medium": "Medium", + "hard": "Hard", + "delete": "Delete", + "progress": "Progress", + "score": "Score", + "dailies": "Dailies", + "newDaily": "New Daily", + "repeat": "Repeat", "Su": "Su", "M": "M", "T": "T", @@ -65,84 +96,138 @@ "Th": "Th", "F": "F", "S": "S", - "Todos": "Todos", - "NewTodo": "New Todo", - "DueDate": "Due Date", - "Remaining": "Remaining", - "Complete": "Complete", - "Rewards": "Rewards", - "Gold": "Gold", - "Silver": "Silver", - "NewReward": "New Reward", - "Price": "Price", + "todos": "Todos", + "newTodo": "New Todo", + "dueDate": "Due Date", + "remaining": "Remaining", + "complete": "Complete", + "rewards": "Rewards", + "gold": "Gold", + "silver": "Silver", + "newReward": "New Reward", + "price": "Price", + "tags" : "Tags", + "editTags" : "Edit Tags", + "newTag" : "New Tag", + "clearFilters" : "Clear Filters", + + +"_commentdrops" : "DROP SYSTEM", + "dropsEnabled" : "Drops Enabled!", + "dropsEnabledText1" : "You've unlocked the Drop System! Now when you complete tasks, you have a small chance of finding an item. And guess what, you just found a", + "dropsEnabledText2" : "egg", + "itemDropped" : "An items has dropped", "_commentoptionsview": "OPTIONS VIEW", - "Profile": "Profile", - "Avatar": "Avatar", - "Head": "Head", - "ShowHelm": "Show Helm", - "Hair": "Hair", - "Skin": "Skin", - "PhotoUrl": "Photo Url", - "FullName": "Full Name", - "Blurb": "Blurb", - "Websites": "Websites", - "Add Websites": "Add Websites", + "profile": "Profile", + "avatar": "Avatar", - "Party": "Party", - "CreateAParty":"Create A Party", - "NoPartyText": "You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter:", - "PartyName": "Party Name", - "Create":"Create", - "UserId":"User Id", - "Invite":"Invite", - "Leave": "Leave", - "PartyChat": "Chat", + "head": "Head", + "showHelm": "Show Helm", + "hair": "Hair", + "skin": "Skin", + "clothing" : "Clothing", + "photoUrl": "Photo Url", + "fullName": "Full Name", + "blurb": "Blurb", + "websites": "Websites", + "addWebsites": "Add Websites", + "items" : "Items", + "weapon" : "Weapon", + "armor" : "armor", + "helm" : "Helm", + "shield" : "shield", - "Inventory": "Inventory", - "EggsTitle": "Eggs", - "EggsContent": "You don't have any eggs yet.", - "HatchingPotionsTitle": "Hatching Potions", - "HatchingPotionsContent": "You don't have any hatching potions yet.", - "Market": "Market", + "stats" : "Stats", + "strength" : "Strength", + "defense" : "Defense", + "totalStrength" : "Total Strength", + "totalDefense" : "Total Defense", - "Stable": "Stable", - "PetsFound":"Pets Found", - "RarePets": "Rare Pets", - "Tavern": "Tavern", - "RestButton":"Rest In The Inn", - "CheckoutButton": "Check Out Of Inn", - "TavernTalkTitle":"Tavern Talk & LFG", + "party": "Party", + "createAParty":"Create A Party", + "noPartyText": "You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter:", + "partyName": "Party Name", + "create":"Create", + "userId":"User Id", + "invite":"Invite", + "leave": "Leave", + "invitedTo" : "You're Invited To", + "chat": "Chat", - "Achievements":"Achievements", + "inventory": "Inventory", + "eggs": "Eggs", + "noEggs": "You don't have any eggs yet.", + "hatchingPotions": "Hatching Potions", + "noHatchingPotions": "You don't have any hatching potions yet.", + "hatchYourEgg" : "Hatch Your Egg", + "whichHatchingPotion1" : "Which hatching potion will you pour on your", + "whichHatchingPotion2" : "egg?", + "pour" : "pour", + "rarePets" : "Rare Pets", + "market": "Market", - "Settings":"Settings", - "CustomDayStart":"Custom Day Start", + "stable": "Stable", + "petsFound":"Pets Found", + "rarePets": "Rare Pets", + + "tavern": "Tavern", + "restButton":"Rest In The Inn", + "checkoutButton": "Check Out Of Inn", + "tavernTalkTitle":"Tavern Talk & LFG", + "tavernRestingInfo" : "Whilst resting your dailies are saved and aren't effected by day turn-over. Whether you check out tomorrow or in a weeks time you'll continue in the same state as when you checked in.", + "resources" : "Resources", + "LFGPosts" : "LGF Posts", + "tutorials" : "Tutorials", + + "achievements":"Achievements", + "achievementUnlocked" : "Achievement Unlocked!", + "npcText" : "Backed the Kickstarter project at the maximum level!", + "contribName" : "Contributor", + "contribText" : "Has contributed to HabitRPG (code, design, pixel art, legal advice, docs, etc). Want this badge? Fix a bug", + "kickstartName1" : "Kickstarter Backer - ", + "kickstartName2" : "Tier", + "kickstartText" : "Backed the Kickstarter Project", + "streakName" : " Streak Achievement(s)", + "streakText1" : "Has performed ", + "stureakText2" : " 21-day streaks on Dailies", + "origUserName" : "Original User", + "origUserText" : "Goes way back to the Habit's days of yore (bless them for soldiering through bugs!)", + "ultimGearName" : "Ultimate Gear", + "ultimGearText" : "Has attained the maximum weapon and armor set", + "ultimGearUnlocked" : "You have earned the 'Ultimate Gear' Achievement for upgrading to the maximum gear set!", + "beastMastName" : "Beast Master", + "beastMastText" : "Has found all 90 pets (insanely difficult, give this user props!)", + "beastMastUnlocked" : "You have earned the 'Beast Master' Achievement for collecting all the pets!", + + "settings":"Settings", + "customDayStart":"Custom Day Start", "24HrClock": "24Hr Clock", - "ClockInfo":"Habit defaults to check and reset your dailies at midnight each day. You can customize that here (Enter number between 0 and 24).", - "Misc":"Misc", - "HideHeader":"Hide Header", - "ShowHeader":"Show Header", - "ChangePass":"Change Password", - "OldPass":"Old Password", - "NewPass":"New Password", - "ConfirmPass":"Confirm New Password", - "DangerZone": "Danger Zone", - "Reset":"Reset", - "ResetAltText":"Resets your entire account (dangerous)", - "ResetText1":"This resets your entire account - your tasks will be deleted and your character will start over.", - "ResetText2":"This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.", - "Restore":"Restore", - "RestoreAltText":"Restores attributes to your character", - "RestoreText1":"HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.", - "Delete":"Delete", - "DeleteAltText":"Delete your account", - "DeleteText1":"Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type", - "DeleteText2":" DELETE ", - "DeleteText3":"into the text-box", + "clockInfo":"HabitRPG defaults to check and reset your dailies at midnight each day. You can customize that here (Enter number between 0 and 24).", + "misc":"Misc", + "hideHeader":"Hide Header", + "showHeader":"Show Header", + "changePass":"Change Password", + "oldPass":"Old Password", + "newPass":"New Password", + "confirmPass":"Confirm New Password", + "dangerZone": "Danger Zone", + "reset":"Reset", + "resetAltText":"Resets your entire account (dangerous)", + "resetText1":"This resets your entire account - your tasks will be deleted and your character will start over.", + "resetText2":"This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.", + "restore":"Restore", + "restoreAltText":"Restores attributes to your character", + "restoreText1":"HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.", + "delete":"Delete", + "deleteAltText":"Delete your account", + "deleteHeader" : "Delete Account", + "deleteText1":"Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type", + "deleteText2":" DELETE ", + "deleteText3":"into the text-box", "API":"API", "APIText":"Copy these for use in third party applications.", "APIToken":"Api Token", @@ -151,155 +236,172 @@ "_commentitems": "ITEMS", "_commentitemsweps": "WEAPONS", - "Sword1Name" : "Sword", - "Sword1Text" : "Increases experience gain by 3%.", - "Sword2Name" : "Axe", - "Sword2Text" : "Increases experience gain by 6%.", - "Sword3Name" : "Morningstar", - "Sword3Text" : "Increases experience gain by 9%.", - "Sword4Name" : "Blue Sword", - "Sword4Text" : "Increases experience gain by 12%.", - "Sword5Name" : "Red Sword", - "Sword5Text" : "Increases experience gain by 15%.", - "Sword6Name" : "Golden Sword", - "Sword6Text" : "Increases experience gain by 18%.", + "sword0name" : "Training Sword", + "sword1Name" : "Sword", + "sword1Text" : "Increases experience gain by 3%.", + "sword2Name" : "Axe", + "sword2Text" : "Increases experience gain by 6%.", + "sword3Name" : "Morningstar", + "sword3Text" : "Increases experience gain by 9%.", + "sword4Name" : "Blue Sword", + "sword4Text" : "Increases experience gain by 12%.", + "sword5Name" : "Red Sword", + "sword5Text" : "Increases experience gain by 15%.", + "sword6Name" : "Golden Sword", + "sword6Text" : "Increases experience gain by 18%.", "_commentitemsarmour": "ARMOUR", - "Armour1Name" : "Leather Armor" , - "Armour1Text": "Decreases HP Loss by 4%", - "Armour2Name" : "Chain Mail", - "Armour2Text": "Decreases HP Loss by 6%", - "Armour3Name" : "Plate Mail", - "Armour3Text": "Decreases HP Loss by 7%", - "Armour4Name" : "Red Armor", - "Armour4Text": "Decreases HP Loss by 8%", - "Armour5Name" : "Golden Armor", - "Armour5Text": "Decreases HP Loss by 10%", + "armour0Name" : "Cloth Armour", + "armour1Name" : "Leather Armor" , + "armour1Text": "Decreases HP Loss by 4%", + "armour2Name" : "Chain Mail", + "armour2Text": "Decreases HP Loss by 6%", + "armour3Name" : "Plate Mail", + "armour3Text": "Decreases HP Loss by 7%", + "armour4Name" : "Red Armor", + "armour4Text": "Decreases HP Loss by 8%", + "armour5Name" : "Golden Armor", + "armour5Text": "Decreases HP Loss by 10%", "_commentitemshead" : "HEADGEAR", - "Head1Name" : "Leather Helm" , - "Head1Text": "Decreases HP loss by 2%", - "Head2Name" : "Chain Coif", - "Head2Text": "Decreases HP loss by 3%", - "Head3Name" : "Plate Helm", - "Head3Text": "Decreases HP loss by 4%", - "Head4Name" : "Red Helm", - "Head4Text": "Decreases HP loss by 5%", - "Head5Name" : "Golden Helm", - "Head5Text": "Decreases HP loss by 6%", + "head0Name" : "No Helm", + "head1Name" : "Leather Helm" , + "head1Text": "Decreases HP loss by 2%", + "head2Name" : "Chain Coif", + "head2Text": "Decreases HP loss by 3%", + "head3Name" : "Plate Helm", + "head3Text": "Decreases HP loss by 4%", + "head4Name" : "Red Helm", + "head4Text": "Decreases HP loss by 5%", + "head5Name" : "Golden Helm", + "head5Text": "Decreases HP loss by 6%", "_commentitemsshield" : "SHIELDS", - "Shield1Name" : "Wooden Shield", - "Shield1Text": "Decreases HP loss by 3%", - "Shield2Name" : "Buckler", - "Shield2Text": "Decreases HP loss by 4%", - "Shield3Name" : "Enforced Shield", - "Shield3Text": "Decreases HP loss by 5%", - "Shield4Name" : "Red Shield", - "Shield4Text": "Decreases HP loss by 7%", - "Shield5Name" : "Golden Shield", - "Shield5Text": "Decreases HP loss by 8%", + "sheild0Name" : "No Shield", + "sheild1Name" : "Wooden Shield", + "sheild1Text": "Decreases HP loss by 3%", + "sheild2Name" : "Buckler", + "sheild2Text": "Decreases HP loss by 4%", + "sheild3Name" : "Enforced Shield", + "sheild3Text": "Decreases HP loss by 5%", + "sheild4Name" : "Red Shield", + "sheild4Text": "Decreases HP loss by 7%", + "sheild5Name" : "Golden Shield", + "sheild5Text": "Decreases HP loss by 8%", "_commentitemsother" : "OTHER ITEMS", - "HealthPotionName" : "Health Potion", - "HealthPotionNotes" : "Recover 15 HP Instantly", - "RerollName" : "Re-Roll", - "RerollNotes" : "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.", + "healthPotionName" : "Health Potion", + "healthPotionNotes" : "Recover 15 HP Instantly", + "rerollName" : "Re-Roll", + "rerollNotes" : "Resets your task values back to yellow. Useful when everything's red and it's hard to stay alive.", + "rerollModelHeader" : "Reset Your Tasks", + "rerollModelText1" : "Highly discouraged because red tasks provide good incentive to improve", + "rerollModelText2" : "read more", + "rerollModelText3" : "However, this becomes necessary after long bouts of bad habits.", "_commentitemspeteggs": "PET EGGS", - "WolfEgg": "Wolf Cub", - "TigerEgg": "Tiger Cub", - "PandaEgg": "Wolf Cub", - "LionEgg": "Lion Cub", - "FoxEgg": "Fox", - "PigEgg": "Flying Pig", - "DragonEgg": "Dragon", - "CactusEgg": "Cactus", - "BearEgg": "Bear Cub", - "WolfEgg": "Wolf", + "wolfEgg": "Wolf Cub", + "tigerEgg": "Tiger Cub", + "pandaEgg": "Wolf Cub", + "lionEgg": "Lion Cub", + "foxEgg": "Fox", + "pigEgg": "Flying Pig", + "dragonEgg": "Dragon", + "cactusEgg": "Cactus", + "bearEgg": "Bear Cub", + "wolfEgg": "Wolf", "_commentitemshatchingpotions": "HATCHING POTIONS", - "BasePotName": "Base", - "BasePotText" : "Hatches your pet into its base form.", - "WhitePotName": "White", - "WhitePotText" : "Hatches your pet into its white form.", - "DesertPotName": "Desert", - "DesertPotText" : "Hatches your pet into its desert form.", - "RedPotName": "Red", - "RedPotText" : "Hatches your pet into its red form.", - "ShadePotName": "Shadepot", - "ShadePotText" : "Hatches your pet into its shade form.", - "SkeletonPotName": "Skeleton", - "SkeletonPotText" : "Hatches your pet into its skeleton form.", - "ZombiePotName": "Zombie", - "ZombiePotText" : "Hatches your pet into its zombie form.", - "CottonPinkPotName": "Cotton Candy Pink", - "CottonPinkPotText" : "Hatches your pet into its cotton candy pink form.", - "CottonBluePotName": "Cotton Candy Blue", - "CottonBluePotText" : "Hatches your pet into its cotton candy blue form.", - "GoldenPotName": "Golden", - "GoldenPotText" : "Hatches your pet into its golden form.", + "basePotName": "Base", + "basePotText" : "Hatches your pet into its base form.", + "whitePotName": "White", + "whitePotText" : "Hatches your pet into its white form.", + "desertPotName": "Desert", + "desertPotText" : "Hatches your pet into its desert form.", + "redPotName": "Red", + "redPotText" : "Hatches your pet into its red form.", + "shadePotName": "Shadepot", + "shadePotText" : "Hatches your pet into its shade form.", + "skeletonPotName": "Skeleton", + "skeletonPotText" : "Hatches your pet into its skeleton form.", + "zombiePotName": "Zombie", + "zombiePotText" : "Hatches your pet into its zombie form.", + "cottonPinkPotName": "Cotton Candy Pink", + "cottonPinkPotText" : "Hatches your pet into its cotton candy pink form.", + "cottonBluePotName": "Cotton Candy Blue", + "cottonBluePotText" : "Hatches your pet into its cotton candy blue form.", + "goldenPotName": "Golden", + "goldenPotText" : "Hatches your pet into its golden form.", "_commentnpcsandchars": "NPCS & CHARACTERS", "_commentNPCS" : "NPCS", - "NPCBaileyName" : "Bailey", - "NPCBaileyText" : "Bailey the Crier here! Announcing new stuff!", - "NPCAugustinName" : "Alexander Augustin", - "NPCAugustinText" : "Welcome to the Market! I'm the merchant, Alexander. Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!", - "NPCJohanssonName" : "Daniel Johansson", - "NPCJohanssonText" : "Welcome to the Tavern! I'm Daniel, the bar keep. If you want to rest a while (going on vacation?), I'll set you up at the inn - dailies won't hurt you while you're resting. The minimum stay is 24h, but you can check out any time. Stay a while & meet the clientele.", - "NPCMelchiorName" : "Ian Melchior ", - "NPCMelchiorText" : "", - "NPCBowenName" : "Justin Bowen", - "NPCBowenText" : "", - "NPCBochName" : "Matt Boch", - "NPCBochText" : "", + "NPCBaileyText1" : "the Town Crier here! Announcing new stuff!", + "NPCAugustinText1" : "Welcome to the Market! I'm the merchant;", + "NPCAugustinText2" : "Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!", + "NPCJohanssonText1" : "Welcome to the Tavern! I'm", + "NPCJohanssonText2": "the bar keep. If you want to rest a while (going on vacation? sudden illness?), I'll set you up at the inn - dailies won't hurt you while you're resting. Stay a while & meet the locals.", + "NPCMelchiorText1" : "", + "NPCBowenText1" : "", + "NPCBochText1" : "", +"_commentdeathstuff" : "DEATH", + "deathTitle" : "You Died!", + "deathText" : "You've lost your GP, 1 level and 1 gear piece. Be sure to complete your dailies to prevent this from happening again!", +"_commentgems" : "GEMS", + "gems" : "Gems", + "outOfGems" : "Out Of Gems", + "buyMoreGems" : "Buy More Gems", + "notEnoughGems" : "Not enough Gems", + "petsOutOfGems" : "Oops, out of Gems, which are used to buy special items! Habit is an open source project, and can use all the help it can get - buy more Gems to receive this pet, and consider it a donation to the contributors", + "gemsWhatFor" : "Used for buying special items (reroll, eggs, hatching potions, etc). You'll need to unlock those features before being able to use Gems.", "_commentfooter": "FOOTER", - "FooterCompany" : "Company", - "CompanyAbout" : "About", - "CompanyBlog" : "Blog", - "CompanyTeam" : "Team", - "CompanyExtensions" : "Extensions", - "CompanyFAQ" : "FAQ", - "FooterLegal" : "Legal", - "LegalPrivacy" : "Privacy", - "LegamTerms" : "Terms", - "FooterCommunity" : "Community", - "CommunityBugs" : "Submit Bugs", - "CommunityFeatures" : "Request Feautres", - "CommunityAPI" : "API", - "CommunityExtensions" : "Add-ons / Extensions", - "CommunityForum" : "Forum", - "CommunityKickstarter" : "Kickstarter", - "CommunityFB" : "Facebook", - "CommunityReddit" : "Reddit", + "footerCompany" : "Company", + "companyAbout" : "About", + "companyBlog" : "Blog", + "companyTeam" : "Team", + "companyExtensions" : "Extensions", + "companyFAQ" : "FAQ", + "footerLegal" : "Legal", + "legalPrivacy" : "Privacy", + "legalTerms" : "Terms", + "footerCommunity" : "Community", + "communityBugs" : "Submit Bugs", + "communityFeatures" : "Request Feautres", + "communityExtensions" : "Add-ons / Extensions", + "communityForum" : "Community Forum", + "footerSocial" : "Social", "_commentmisc": "MISC & GLOBAL", - "Gems" : "Gems", - "RemoveAds": "Remove Ads", - "WhyAds": "Why Ads?", - "WhyAdsContent1": "Habit an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items.", - "WhyAdsContent2": "'Hey, I backed the Kickstarter!' - follow ", - "WhyAdsContent3": "these instructions.", + "removeAds": "Remove Ads", + "whyAds": "Why Ads?", + "whyAdsContent1": "Habit an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items.", + "whyAdsContent2": "'Hey, I backed the Kickstarter!' - follow", + "whyAdsContent3": "these instructions", "_commentbuttons": "BUTTONS", - "Submit":"Submit", - "Close":"Close", - "Save&Close": "Save & Close", - "Cancel":"Cancel", + "submit":"Submit", + "close":"Close", + "saveAndClose": "Save & Close", + "cancel":"Cancel", + "ok" : "Ok", + "add" : "Add", + "undo" : "Undo", + "continue" : "Continue", + "accept" : "Accept", + "reject" : "Reject", + "or" : "Or", "_commenttimestamps":"TIME STAMPS", - "JustNow":"Just now", - "AMinuteAgo":"A minute ago", - "MinutesAgo":"minutes ago", - "AnHourAgo": "An hour ago", - "HoursAgo": "hours ago", - "Yesterday":"Yesterday", - "DaysAgo":"days ago" + "justNow":"Just now", + "aMinuteAgo":"A minute ago", + "minutesAgo":"minutes ago", + "anHourAgo": "An hour ago", + "hoursAgo": "hours ago", + "yesterday":"Yesterday", + "daysAgo":"days ago" } From 26e3a7d83c90e552716297377fd9ca3d8438cd1c Mon Sep 17 00:00:00 2001 From: Stan Lindsey Date: Sun, 12 May 2013 20:44:27 +0200 Subject: [PATCH 24/40] Additional Keys --- locales/en/app.json | 145 ++++++++++++++++++++++++++++++-------------- 1 file changed, 98 insertions(+), 47 deletions(-) diff --git a/locales/en/app.json b/locales/en/app.json index 0d14e41e4c..796f58e178 100644 --- a/locales/en/app.json +++ b/locales/en/app.json @@ -5,6 +5,7 @@ "playButton" : "Play", + "_commenttut": "TUTORIAL/TOUR", "endTourButton": "End Tour", "nextButton" : "Next", @@ -56,9 +57,16 @@ "anonymous": "Anonymous", "level": "Level", "tasks": "Tasks", + "loginAndReg" : "Login / Register", + "loginFacebookAlt" : "Login / Register with Facebook", + "login" : "Login", + "register" : "Register", "options": "Options", "logout": "Logout", +"_commentnotifcations" : "NOTIFICATIONS", + "partyNotification" : "New Party Messages", + "_commenttaskview": "TASK VIEW", @@ -98,26 +106,45 @@ "silver": "Silver", "newReward": "New Reward", "price": "Price", + "tags" : "Tags", + "editTags" : "Edit Tags", + "newTag" : "New Tag", + "clearFilters" : "Clear Filters", + + +"_commentdrops" : "DROP SYSTEM", + "dropsEnabled" : "Drops Enabled!", + "dropsEnabledText1" : "You've unlocked the Drop System! Now when you complete tasks, you have a small chance of finding an item. And guess what, you just found a", + "dropsEnabledText2" : "egg", + "itemDropped" : "An items has dropped", "_commentoptionsview": "OPTIONS VIEW", "profile": "Profile", "avatar": "Avatar", + "head": "Head", "showHelm": "Show Helm", "hair": "Hair", "skin": "Skin", + "clothing" : "Clothing", "photoUrl": "Photo Url", "fullName": "Full Name", "blurb": "Blurb", "websites": "Websites", "addWebsites": "Add Websites", + "items" : "Items", + "weapon" : "Weapon", + "armor" : "armor", + "helm" : "Helm", + "shield" : "shield", + "stats" : "Stats", "strength" : "Strength", "defense" : "Defense", - "totalstrength" : "Total Strength", - "totaldefense" : "Total Defense", + "totalStrength" : "Total Strength", + "totalDefense" : "Total Defense", "party": "Party", @@ -128,13 +155,19 @@ "userId":"User Id", "invite":"Invite", "leave": "Leave", - "partyChat": "Chat", + "invitedTo" : "You're Invited To", + "chat": "Chat", "inventory": "Inventory", - "eggsTitle": "Eggs", - "eggsContent": "You don't have any eggs yet.", - "hatchingPotionsTitle": "Hatching Potions", - "hatchingPotionsContent": "You don't have any hatching potions yet.", + "eggs": "Eggs", + "noEggs": "You don't have any eggs yet.", + "hatchingPotions": "Hatching Potions", + "noHatchingPotions": "You don't have any hatching potions yet.", + "hatchYourEgg" : "Hatch Your Egg", + "whichHatchingPotion1" : "Which hatching potion will you pour on your", + "whichHatchingPotion2" : "egg?", + "pour" : "pour", + "rarePets" : "Rare Pets", "market": "Market", "stable": "Stable", @@ -146,28 +179,34 @@ "checkoutButton": "Check Out Of Inn", "tavernTalkTitle":"Tavern Talk & LFG", "tavernRestingInfo" : "Whilst resting your dailies are saved and aren't effected by day turn-over. Whether you check out tomorrow or in a weeks time you'll continue in the same state as when you checked in.", + "resources" : "Resources", + "LFGPosts" : "LGF Posts", + "tutorials" : "Tutorials", "achievements":"Achievements", - "npctext" : "Backed the Kickstarter project at the maximum level!", - "contribname" : "Contributor", - "contribtext" : "Has contributed to HabitRPG (code, design, pixel art, legal advice, docs, etc). Want this badge? Fix a bug", - "kickstartname1" : "Kickstarter Backer - ", - "kickstartname2" : "Tier", - "kickstarttext" : "Backed the Kickstarter Project", - "streakname" : " Streak Achievement(s)", - "streaktext1" : "Has performed ", - "streaktext2" : " 21-day streaks on Dailies", - "origusername" : "Original User", - "origusertext" : "Goes way back to the Habit's days of yore (bless them for soldiering through bugs!)", - "ultimgearname" : "Ultimate Gear", - "ultimgeartext" : "Has attained the maximum weapon and armor set", - "beastmastname" : "Beast Master", - "beastmasttext" : "Has found all 90 pets (insanely difficult, give this user props!)", + "achievementUnlocked" : "Achievement Unlocked!", + "npcText" : "Backed the Kickstarter project at the maximum level!", + "contribName" : "Contributor", + "contribText" : "Has contributed to HabitRPG (code, design, pixel art, legal advice, docs, etc). Want this badge? Fix a bug", + "kickstartName1" : "Kickstarter Backer - ", + "kickstartName2" : "Tier", + "kickstartText" : "Backed the Kickstarter Project", + "streakName" : " Streak Achievement(s)", + "streakText1" : "Has performed ", + "stureakText2" : " 21-day streaks on Dailies", + "origUserName" : "Original User", + "origUserText" : "Goes way back to the Habit's days of yore (bless them for soldiering through bugs!)", + "ultimGearName" : "Ultimate Gear", + "ultimGearText" : "Has attained the maximum weapon and armor set", + "ultimGearUnlocked" : "You have earned the 'Ultimate Gear' Achievement for upgrading to the maximum gear set!", + "beastMastName" : "Beast Master", + "beastMastText" : "Has found all 90 pets (insanely difficult, give this user props!)", + "beastMastUnlocked" : "You have earned the 'Beast Master' Achievement for collecting all the pets!", "settings":"Settings", "customDayStart":"Custom Day Start", "24HrClock": "24Hr Clock", - "clockInfo":"Habit defaults to check and reset your dailies at midnight each day. You can customize that here (Enter number between 0 and 24).", + "clockInfo":"HabitRPG defaults to check and reset your dailies at midnight each day. You can customize that here (Enter number between 0 and 24).", "misc":"Misc", "hideHeader":"Hide Header", "showHeader":"Show Header", @@ -185,6 +224,7 @@ "restoreText1":"HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.", "delete":"Delete", "deleteAltText":"Delete your account", + "deleteHeader" : "Delete Account", "deleteText1":"Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type", "deleteText2":" DELETE ", "deleteText3":"into the text-box", @@ -253,7 +293,11 @@ "healthPotionName" : "Health Potion", "healthPotionNotes" : "Recover 15 HP Instantly", "rerollName" : "Re-Roll", - "rerollNotes" : "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.", + "rerollNotes" : "Resets your task values back to yellow. Useful when everything's red and it's hard to stay alive.", + "rerollModelHeader" : "Reset Your Tasks", + "rerollModelText1" : "Highly discouraged because red tasks provide good incentive to improve", + "rerollModelText2" : "read more", + "rerollModelText3" : "However, this becomes necessary after long bouts of bad habits.", "_commentitemspeteggs": "PET EGGS", "wolfEgg": "Wolf Cub", @@ -293,22 +337,26 @@ "_commentnpcsandchars": "NPCS & CHARACTERS", "_commentNPCS" : "NPCS", - "NPCBaileyName" : "Bailey", - "NPCBaileyText1" : "the Town Crier here! Announcing new stuff!", - "NPCAugustinName" : "Alexander Augustin", - "NPCAugustinText1" : "Welcome to the Market! I'm the merchant,", - "NPCAugustinText2" : "Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!", - "NPCJohanssonName" : "Daniel Johansson", - "NPCJohanssonText1" : "Welcome to the Tavern! I'm", - "NPCJohanssonText2": "the bar keep. If you want to rest a while (going on vacation?), I'll set you up at the inn - dailies won't hurt you while you're resting. The minimum stay is 24h, but you can check out any time. Stay a while & meet the clientele.", - "NPCMelchiorName" : "Ian Melchior ", - "NPCMelchiorText1" : "", - "NPCBowenName" : "Justin Bowen", - "NPCBowenText1" : "", - "NPCBochName" : "Matt Boch", - "NPCBochText1" : "", + "NPCBaileyText1" : "the Town Crier here! Announcing new stuff!", + "NPCAugustinText1" : "Welcome to the Market! I'm the merchant;", + "NPCAugustinText2" : "Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!", + "NPCJohanssonText1" : "Welcome to the Tavern! I'm", + "NPCJohanssonText2": "the bar keep. If you want to rest a while (going on vacation? sudden illness?), I'll set you up at the inn - dailies won't hurt you while you're resting. Stay a while & meet the locals.", + "NPCMelchiorText1" : "", + "NPCBowenText1" : "", + "NPCBochText1" : "", +"_commentdeathstuff" : "DEATH", + "deathTitle" : "You Died!", + "deathText" : "You've lost your GP, 1 level and 1 gear piece. Be sure to complete your dailies to prevent this from happening again!", +"_commentgems" : "GEMS", + "gems" : "Gems", + "outOfGems" : "Out Of Gems", + "buyMoreGems" : "Buy More Gems", + "notEnoughGems" : "Not enough Gems", + "petsOutOfGems" : "Oops, out of Gems, which are used to buy special items! Habit is an open source project, and can use all the help it can get - buy more Gems to receive this pet, and consider it a donation to the contributors", + "gemsWhatFor" : "Used for buying special items (reroll, eggs, hatching potions, etc). You'll need to unlock those features before being able to use Gems.", "_commentfooter": "FOOTER", "footerCompany" : "Company", @@ -319,31 +367,34 @@ "companyFAQ" : "FAQ", "footerLegal" : "Legal", "legalPrivacy" : "Privacy", - "legamTerms" : "Terms", + "legalTerms" : "Terms", "footerCommunity" : "Community", "communityBugs" : "Submit Bugs", "communityFeatures" : "Request Feautres", - "communityAPI" : "API", "communityExtensions" : "Add-ons / Extensions", - "communityForum" : "Forum", - "communityKickstarter" : "Kickstarter", - "communityFB" : "Facebook", - "communityReddit" : "Reddit", + "communityForum" : "Community Forum", + "footerSocial" : "Social", "_commentmisc": "MISC & GLOBAL", - "gems" : "Gems", "removeAds": "Remove Ads", "whyAds": "Why Ads?", "whyAdsContent1": "Habit an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items.", - "whyAdsContent2": "'Hey, I backed the Kickstarter!' - follow ", - "whyAdsContent3": "these instructions.", + "whyAdsContent2": "'Hey, I backed the Kickstarter!' - follow", + "whyAdsContent3": "these instructions", "_commentbuttons": "BUTTONS", "submit":"Submit", "close":"Close", "saveAndClose": "Save & Close", "cancel":"Cancel", + "ok" : "Ok", + "add" : "Add", + "undo" : "Undo", + "continue" : "Continue", + "accept" : "Accept", + "reject" : "Reject", + "or" : "Or", "_commenttimestamps":"TIME STAMPS", "justNow":"Just now", "aMinuteAgo":"A minute ago", From d6b312eb135c50447fa29bf8923e8d3fa847801e Mon Sep 17 00:00:00 2001 From: Daniel Saewitz Date: Sun, 12 May 2013 15:18:16 -0400 Subject: [PATCH 25/40] Fix borked translations --- locales/en/app.json | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/locales/en/app.json b/locales/en/app.json index 796f58e178..866edf0d5b 100644 --- a/locales/en/app.json +++ b/locales/en/app.json @@ -19,7 +19,7 @@ "tour4Title" : "Todos", "tour4Text" : "Todos are one-off goals which need to be completed eventually. ", "tour5Title" : "Rewards", - "tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ", + "tour5Text" : "As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integrals in forming good habits. ", "tour6Title" : "Hover over comments", "tour6Text" : "Different task-types have special properties. Hover over each task's comment for more information. When you're ready to get started, delete the existing tasks and add your own.", @@ -71,6 +71,7 @@ "_commenttaskview": "TASK VIEW", "habits": "Habits", + "Habits": "Habits", "newHabit": "New Habit", "edit": "Edit", "text": "Text", @@ -87,6 +88,7 @@ "progress": "Progress", "score": "Score", "dailies": "Dailies", + "Dailies": "Dailies", "newDaily": "New Daily", "repeat": "Repeat", "Su": "Su", @@ -97,11 +99,13 @@ "F": "F", "S": "S", "todos": "Todos", + "Todos": "Todos", "newTodo": "New Todo", "dueDate": "Due Date", "remaining": "Remaining", "complete": "Complete", "rewards": "Rewards", + "Rewards": "Rewards", "gold": "Gold", "silver": "Silver", "newReward": "New Reward", @@ -338,9 +342,9 @@ "_commentnpcsandchars": "NPCS & CHARACTERS", "_commentNPCS" : "NPCS", "NPCBaileyText1" : "the Town Crier here! Announcing new stuff!", - "NPCAugustinText1" : "Welcome to the Market! I'm the merchant;", + "NPCAugustinText1" : "Welcome to the Market! I'm the merchant;", "NPCAugustinText2" : "Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!", - "NPCJohanssonText1" : "Welcome to the Tavern! I'm", + "NPCJohanssonText1" : "Welcome to the Tavern! I'm", "NPCJohanssonText2": "the bar keep. If you want to rest a while (going on vacation? sudden illness?), I'll set you up at the inn - dailies won't hurt you while you're resting. Stay a while & meet the locals.", "NPCMelchiorText1" : "", "NPCBowenText1" : "", From be08568c3b383e85894c03e46ab234e2132a6ec8 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Mon, 13 May 2013 21:29:27 +0100 Subject: [PATCH 26/40] npcs: matt stable-master in the the pets tab (bravo @Shaners!). also include link to the pets spritesheet, and some info on mounts --- public/img/npcs/matt.png | Bin 0 -> 3166 bytes views/app/pets.html | 63 ++++++++++++++++++++++++--------------- 2 files changed, 39 insertions(+), 24 deletions(-) create mode 100644 public/img/npcs/matt.png diff --git a/public/img/npcs/matt.png b/public/img/npcs/matt.png new file mode 100644 index 0000000000000000000000000000000000000000..f70c173a1d3fb532785b15a6edd67325b40aa827 GIT binary patch literal 3166 zcmXw6dpy(oAC}6&Q7&sImynvN;ha*0+%k>jHZzwrX&nojF;Q~~g%Zboxzj46&1IzK zQsK}+Rw8pbCU?;|ICHTt-`DqfJrk%@W)-UmfKl3^xNJ)n8JpM#_F zjec7%XdsO*Ot0^(h8smJ4wFqAyWY-x2`-9^jFeX}V_AFG?_!<_WM@;>tM`(}j@;g( zaYQB#l%|?-Nd4X+b*$xS$ucYNK?zG8n@#GK$ttvJ6E$`8{QRK^$|=!juki|{4!k#>j|p;g zeq#1m!OnTPAMn-fSzTRjc!PeO`U|Q}tK&0C^NS}s+=AXV4syZ%XOn)^NhN?UUelV1 z(nqpTFT2s(_1K`oM2fN(V`8D^9W2sP)p&)`m<%P_PCkhIvq=tf<2$CbDnDdXn<6Ek zj7~tEcFle4;St~pHdND2R?LKpuO_gpa+D;6@Ij!wDOS#xpOe~)amd$1@2G^$Z8N@j zw5fjo(XWMa8jLvy)`8BuqG{LB`BTQ+2gY%EQ`Yfl;0fn+$VD2A z0_mT9Q~9EMIrOzQ;LP6d&T+>fo87Lu1WgWaVWRK!*n6a|w6fHN$d5ioJ6~INuQZKtug(TUi{$p>|$Yq zkN^Z(63zs}$HGBetfo!r=;VzeQ@T4TZtHBsw*EcJsQ$36onr0f){6LPBPKi>e$G6y zRb=KpxD2YDUO3X9y*vy#xZIzP+<)>!%}RlfS>t3~>+@Bg%C4}{zs0qU*1s(9?>12# ze<;22aBWqyL9<5y9xE_2DRRdvIHc$#&lq{GPYkRnr*2<gNrZnlfL~ubUVo9}(*(z7?VyqkdR3ixe^A~p`BS1D z^L_HyI@pB^<84mU+kpWlEFo(B1Uc*KuBlf4{^V@nfV1`*V6dLOsVeWEV1wj!82Y5vV0&vaca3Ts82&Au@ z@UlnvzW1q#LMwmI0ZILnz=wSjh?2o{yh*0t+Og%HIZdzKEZ)Y%KbsH+gW<}n(#-w_ z3!Zeq#YwL$){X4vLtn(UO}_8$k8NSD8Lz59oGk?(cXDR<=Ks#tL!u@!1fez2i~UD{ zJ}z7)uA$8OF%ak@a?T;YjLx|CN$+zbJRlmY(EC2qA9EdM=mCs_y8;Wue&fxQ%ki)j zRmMbsHCDQGltY@EY#J@(P=0aE3U?DVAE-C4w-Qiia;0L_7l%W(2X4{SY`ZG@iqljA zQWR5X9Q=?xS;hx@?&0N^ZBnVfU8%9t2B4Culajv{xBWCfx-s|rmPdQdtn9ai1iM_5 zPMY0s@2cl*tlFL1KDqF|1&z7}wQxY{{M%p4&spTc$~JaADK5OF4}$Uu>jk#sZ)RJj z{4*-mFvls3enRel;b_T#(_r~?%#kV2S5B&nJJ$D&%_?63duc9+lKu-r^>qeZ3;te@ zTUXgQR0#i%wys7#OL{Vh9?8z?QmNEuu1Hl7epye#lR3H&8(rCec!6@~f3``JIfjAW z-2*_vu*S^AK*+CUpFdzJ6`%2z)zVigDZv1Fdm2c**imqa2NKvWA7XilPt&HIrrFV85d%!c zF7t-!Zkk=_r}j#L?)@fY-7A^a!nNc8aAZ;bCH-IthDri zX&4BkdqLH*xY_VRZb=>`1aI0sL5GDt*7H41ICPYrK1a=`6fgcQL2(6SV`68oC5
        n$eO1oTNbwRn??EhzxJw&O|iw_M52pBs&H`^1TsXG{U^OSGK>0w*kE1ps< zb{TkXIt)Ul?!)whM8llaPlGuyFTB0y`){~{Q(u8C6GQPb~TqT(8^$k3oi^}@QV&s49jaV{{!cK2&n)7 literal 0 HcmV?d00001 diff --git a/views/app/pets.html b/views/app/pets.html index bba57f23ec..474934f06e 100644 --- a/views/app/pets.html +++ b/views/app/pets.html @@ -95,33 +95,48 @@
      -
      {count(_user.items.pets)} / 90 Pets Found
      - - {{#each _items.pets as :pet}} - - {{#each _items.hatchingPotions as :potion}} - +
      + +
      + +
      - -
      + {{#each _items.pets as :pet}} + + {{#each _items.hatchingPotions as :potion}} + + {{/}} + {{/}} - - {{/}} -
      + +
      -

      Rare Pets

      - - - - {{#if gt(_user.backer.tier,79)}}{{/}} - -
      + +

      Rare Pets

      + + + + {{#if gt(_user.backer.tier,79)}}{{/}} + +
      +
      - +
      +
      +

      Matt Boche

      +
      + Welcome to the Stable! I'm Matt, the beast master. Choose a pet here to adventure at your side - they aren't much help yet, but I forsee a time when they're able to grow into powerful steeds! Until that day, have a look-see at all the pets you can collect. +

      {count(_user.items.pets)} / 90 Pets Found

      +
      +
      +
      +
      From a8f9cc972fd0a0ee346b4c83395985322e70268b Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Mon, 13 May 2013 23:17:54 +0100 Subject: [PATCH 27/40] fix up stables / matt for smaller screens --- views/app/pets.html | 76 +++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 41 deletions(-) diff --git a/views/app/pets.html b/views/app/pets.html index 474934f06e..9aad22b948 100644 --- a/views/app/pets.html +++ b/views/app/pets.html @@ -95,48 +95,42 @@
      -
      - -
      - - - {{#each _items.pets as :pet}} - - {{#each _items.hatchingPotions as :potion}} - - {{/}} - - {{/}} -
      - -
      -

      Rare Pets

      - - - - {{#if gt(_user.backer.tier,79)}}{{/}} - -
      -
      - -
      - - -
      -
      -

      Matt Boche

      -
      - Welcome to the Stable! I'm Matt, the beast master. Choose a pet here to adventure at your side - they aren't much help yet, but I forsee a time when they're able to grow into powerful steeds! Until that day, have a look-see at all the pets you can collect. -

      {count(_user.items.pets)} / 90 Pets Found

      -
      + + + + +
      +
      +

      Matt Boche

      +
      + Welcome to the Stable! I'm Matt, the beast master. Choose a pet here to adventure at your side - they aren't much help yet, but I forsee a time when they're able to grow into powerful steeds! Until that day, have a look-see at all the pets you can collect. +

      {count(_user.items.pets)} / 90 Pets Found

      -
      - +
      + + + {{#each _items.pets as :pet}} + + {{#each _items.hatchingPotions as :potion}} + + {{/}} + + {{/}} +
      + +
      +

      Rare Pets

      + + + + {{#if gt(_user.backer.tier,79)}}{{/}} + +
      From 4d5b87351f02141ec7a80a5b7d80c4028902a583 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 00:07:40 +0100 Subject: [PATCH 28/40] misspelled matt boch --- views/app/pets.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/app/pets.html b/views/app/pets.html index 9aad22b948..a46c6d87b0 100644 --- a/views/app/pets.html +++ b/views/app/pets.html @@ -100,7 +100,7 @@
      -

      Matt Boche

      +

      Matt Boch

      Welcome to the Stable! I'm Matt, the beast master. Choose a pet here to adventure at your side - they aren't much help yet, but I forsee a time when they're able to grow into powerful steeds! Until that day, have a look-see at all the pets you can collect.

      {count(_user.items.pets)} / 90 Pets Found

      From 2c7492709ccaff3ca1e2a6c61a25eb6675528e12 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 16:07:37 +0100 Subject: [PATCH 29/40] tags: make tag-selection checkboxes for now, peopel aren't understanding combobox --- views/app/filters.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/views/app/filters.html b/views/app/filters.html index f3479f0690..1a04d02a3a 100644 --- a/views/app/filters.html +++ b/views/app/filters.html @@ -53,9 +53,9 @@
      Tags - + {{#each _user.tags as :tag}} + + {{/}}
      \ No newline at end of file From 92b178b4a41eb96e24449f1bef3e379e85590bae Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 17:33:15 +0100 Subject: [PATCH 30/40] huge cron fixes which should solve streak, dayStart, "timezone" issues --- src/app/helpers.coffee | 31 ++++++++++++++++--------------- src/app/index.coffee | 4 ---- src/app/scoring.coffee | 37 ++++++++++++++++++++----------------- 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index 184a75738e..2e8924bd85 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -4,13 +4,22 @@ relative = require 'relative-date' algos = require './algos' items = require('./items').items -# Absolute diff between two dates -daysBetween = (yesterday, now, dayStart) -> +sod = (timestamp, dayStart=0) -> #sanity-check reset-time (is it 24h time?) - dayStart = 0 unless (dayStart? and (dayStart = parseInt(dayStart)) and dayStart >= 0 and dayStart <= 24) - Math.abs moment(yesterday).startOf('day').add('h', dayStart).diff(moment(now), 'days') + dayStart = 0 unless (dayStart = parseInt(dayStart)) and (0 <= dayStart <= 24) + moment(timestamp).startOf('day').add('h', dayStart) -dayMapping = dayMapping = {0:'su',1:'m',2:'t',3:'w',4:'th',5:'f',6:'s',7:'su'} +# Absolute diff between two dates +daysBetween = (yesterday, now, dayStart) -> Math.abs sod(yesterday, dayStart).diff(now, 'days') + +dayMapping = {0:'su',1:'m',2:'t',3:'w',4:'th',5:'f',6:'s'} + +shouldDo = (day, repeat, dayStart=0) -> + now = +new Date + selected = repeat[dayMapping[sod(day, dayStart).day()]] + if moment(day).isSame(now,'d') + return selected and dayStart <= moment(now).hour() + return selected # http://stackoverflow.com/questions/2532218/pick-random-property-from-a-javascript-object # obj: object @@ -139,17 +148,9 @@ viewHelpers = (view) -> classes = type - now = moment().day() - - # calculate the current contextual day (e.g. if it's 12 AM Fri and the user's custom day start is 4 AM, then we should still act like it's Thursday) - dayStart = 0 unless (dayStart? and (dayStart = parseInt(dayStart)) and dayStart >= 0 and dayStart <= 24) - hourDiff = Math.abs moment(lastCron).startOf('day').add('h', dayStart).diff(moment(now), 'hours') - dayStamp = moment(now).add('h', hourDiff) - day = dayStamp.day() - # show as completed if completed (naturally) or not required for today if type in ['todo', 'daily'] - if completed or (repeat and (repeat[dayMapping[day]] == false)) + if completed or !shouldDo(+new Date, task.repeat, dayStart) classes += " completed" else classes += " uncompleted" @@ -216,4 +217,4 @@ viewHelpers = (view) -> -module.exports = { viewHelpers, removeWhitespace, randomVal, daysBetween, dayMapping, username } \ No newline at end of file +module.exports = { viewHelpers, removeWhitespace, randomVal, daysBetween, shouldDo, username } diff --git a/src/app/index.coffee b/src/app/index.coffee index ce28247b02..5ef298b46f 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -118,10 +118,6 @@ ready (model) -> user = model.at('_user') model.setNull '_user.apiToken', derby.uuid() - #set cron immediately - lastCron = user.get('lastCron') - user.set('lastCron', +new Date) if (!lastCron? or lastCron == 'new') - require('./scoring').cron(model) require('./character').app(exports, model) diff --git a/src/app/scoring.coffee b/src/app/scoring.coffee index e7c108bf5a..5d15faf2bb 100644 --- a/src/app/scoring.coffee +++ b/src/app/scoring.coffee @@ -19,14 +19,13 @@ randomDrop = (model, delta, priority, streak=0) -> user.setNull 'items.lastDrop', date: +moment().subtract('d',1) # trick - set it to yesterday on first run, that way they can get drops today count: 0 - reachedDropLimit = (helpers.daysBetween(user.get('items.lastDrop.date'), +new Date) is 0) and user.get('items.lastDrop.count') >= 2 + reachedDropLimit = (helpers.daysBetween(user.get('items.lastDrop.date'), +new Date, user.get('preferences.dayStart')) is 0) and user.get('items.lastDrop.count') >= 2 return if reachedDropLimit # % chance of getting a pet or meat chanceMultiplier = Math.abs(delta) chanceMultiplier *= algos.priorityValue(priority) # multiply chance by reddness chanceMultiplier += streak # streak bonus - console.log chanceMultiplier if user.get('flags.dropsEnabled') and Math.random() < (.05 * chanceMultiplier) # current breakdown - 3% (adjustable) chance on drop @@ -273,8 +272,15 @@ updateStats = (model, newStats, batch) -> cron = (model) -> user = model.at '_user' today = +new Date - daysPassed = helpers.daysBetween(user.get('lastCron'), today, user.get('preferences.dayStart')) - if daysPassed > 0 + + lastCron = user.get('lastCron') + # New user (!lastCron, lastCron==new) or it got busted somehow, maybe they went to a different timezone + if !lastCron? or lastCron is 'new' or moment(lastCron).isAfter(today) + user.set('lastCron', +new Date) + return + + daysMissed = helpers.daysBetween(user.get('lastCron'), today, user.get('preferences.dayStart')) + if daysMissed > 0 # User is resting at the inn. Used to be we un-checked each daily without performing calculation (see commits before fb29e35) # but to prevent abusing the inn (http://goo.gl/GDb9x) we now do *not* calculate dailies, and simply set lastCron to today @@ -292,20 +298,17 @@ cron = (model) -> _.each obj.tasks, (taskObj) -> {id, type, completed, repeat} = taskObj if type in ['todo', 'daily'] - # Deduct experience for missed Daily tasks, - # but not for Todos (just increase todo's value) + # Deduct experience for missed Daily tasks, but not for Todos (just increase todo's value) unless completed - # for todos & typical dailies, these are equivalent - daysFailed = daysPassed - # however, for dailys which have repeat dates, need - # to calculate how many they've missed according to their own schedule - if type=='daily' && repeat - daysFailed = 0 - _.times daysPassed, (n) -> - thatDay = moment().subtract('days', n+1) - if repeat[helpers.dayMapping[thatDay.day()]]==true - daysFailed++ - score model, id, 'down', daysFailed, batch, true + scheduleMisses = daysMissed + # for dailys which have repeat dates, need to calculate how many they've missed according to their own schedule + if (type is 'daily') and repeat + scheduleMisses = 0 + _.times daysMissed, (n) -> + thatDay = moment(today).subtract('days', n+1) + scheduleMisses++ if helpers.shouldDo(thatDay, repeat, obj.preferences?.dayStart) is true + score(model, id, 'down', scheduleMisses, batch, true) if scheduleMisses > 0 + if type == 'daily' if completed #set OHV for completed dailies newValue = taskObj.value + algos.taskDeltaFormula(taskObj.value,'up') From 0b8960470a0e087b7a34232a7d7e5a610fa75e1e Mon Sep 17 00:00:00 2001 From: Celtis Date: Tue, 14 May 2013 18:51:38 +0200 Subject: [PATCH 31/40] Minor grammatical fix --- views/app/modals.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/app/modals.html b/views/app/modals.html index 8ad404f2c6..254c13dcf0 100644 --- a/views/app/modals.html +++ b/views/app/modals.html @@ -56,7 +56,7 @@

      - Habit an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items. + Habit is an open source project, and can use all the help it can get - consider this a donation to the contributors. You also get 20 Gems from the purchase, which you can use to buy special items.

      "Hey, I backed the Kickstarter!" - follow these instructions. @@ -84,4 +84,4 @@ {{#if @footer}}

      {{/}} -
      \ No newline at end of file +
      From 0a0cf1d94ea774ec01a73ea423effdfd94f354d1 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 18:10:24 +0100 Subject: [PATCH 32/40] cron: fix repeat, for old users without default task.repeat={} --- src/app/helpers.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index 2e8924bd85..21bc9b074d 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -15,6 +15,7 @@ daysBetween = (yesterday, now, dayStart) -> Math.abs sod(yesterday, dayStart).di dayMapping = {0:'su',1:'m',2:'t',3:'w',4:'th',5:'f',6:'s'} shouldDo = (day, repeat, dayStart=0) -> + return false unless repeat now = +new Date selected = repeat[dayMapping[sod(day, dayStart).day()]] if moment(day).isSame(now,'d') From 19016cc89525de44af9efdf11f48e750176f653a Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 18:17:19 +0100 Subject: [PATCH 33/40] fix #958 --- views/app/game-pane.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/views/app/game-pane.html b/views/app/game-pane.html index 9d6d6b85c5..6d26651479 100644 --- a/views/app/game-pane.html +++ b/views/app/game-pane.html @@ -93,12 +93,12 @@ From 3ae295c9a350c59dfec2accb5dc432a625df5d5f Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 18:20:19 +0100 Subject: [PATCH 34/40] don't include 'disabled' shading for todos --- src/app/helpers.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index 21bc9b074d..82fe5df465 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -151,7 +151,7 @@ viewHelpers = (view) -> # show as completed if completed (naturally) or not required for today if type in ['todo', 'daily'] - if completed or !shouldDo(+new Date, task.repeat, dayStart) + if completed or (type is 'daily' and !shouldDo(+new Date, task.repeat, dayStart)) classes += " completed" else classes += " uncompleted" From 950be4daf297ee0b369dfdc03a994bab1eed847c Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 19:01:05 +0100 Subject: [PATCH 35/40] cron: better solution to testing "due today" for tasks with repeat options, and user with custom dayStart. Still not sure if this is the ideal solution, but addresses #963 --- src/app/helpers.coffee | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index 82fe5df465..fbf91249de 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -18,9 +18,12 @@ shouldDo = (day, repeat, dayStart=0) -> return false unless repeat now = +new Date selected = repeat[dayMapping[sod(day, dayStart).day()]] - if moment(day).isSame(now,'d') - return selected and dayStart <= moment(now).hour() - return selected + return selected unless moment(day).isSame(now,'d') + if dayStart <= moment(now).hour() # we're past the dayStart mark, is it due today? + return selected + else # we're not past dayStart mark, check if it was due "yesterday" + yesterday = moment(now).subtract(1,'d').day() + return repeat[dayMapping[yesterday]] # http://stackoverflow.com/questions/2532218/pick-random-property-from-a-javascript-object # obj: object From e5549d050174c61687bbdaf52fa53af98972c423 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 23:42:36 +0100 Subject: [PATCH 36/40] back to xhr-polling or a bit, will figure out why websockets having issues soon --- src/server/index.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/index.coffee b/src/server/index.coffee index 7e057b7f06..50cb030eb0 100644 --- a/src/server/index.coffee +++ b/src/server/index.coffee @@ -14,7 +14,7 @@ middleware = require './middleware' ## RACER CONFIGURATION ## -#racer.io.set('transports', ['xhr-polling']) +racer.io.set('transports', ['xhr-polling']) racer.ioClient.set('reconnection limit', 300000) # max reconect timeout to 5 minutes racer.set('bundleTimeout', 40000) #unless process.env.NODE_ENV == 'production' From d59f1f692599ca5cd5bc77ade86c4caaf50c2693 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 23:53:59 +0100 Subject: [PATCH 37/40] Revert "back to xhr-polling or a bit, will figure out why websockets having" This reverts commit e5549d050174c61687bbdaf52fa53af98972c423. --- src/server/index.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/index.coffee b/src/server/index.coffee index 50cb030eb0..7e057b7f06 100644 --- a/src/server/index.coffee +++ b/src/server/index.coffee @@ -14,7 +14,7 @@ middleware = require './middleware' ## RACER CONFIGURATION ## -racer.io.set('transports', ['xhr-polling']) +#racer.io.set('transports', ['xhr-polling']) racer.ioClient.set('reconnection limit', 300000) # max reconect timeout to 5 minutes racer.set('bundleTimeout', 40000) #unless process.env.NODE_ENV == 'production' From aef76ae969dfe67d66e7a67f4ff7a2585459d186 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Wed, 15 May 2013 09:14:42 +0100 Subject: [PATCH 38/40] pets: bug fix for users who haven't been properly converted to pets array system --- src/app/helpers.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index fbf91249de..16fa20b286 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -177,7 +177,7 @@ viewHelpers = (view) -> classes += ' color-best' return classes - view.fn 'ownsPet', (pet, userPets) -> !!userPets && userPets.indexOf(pet) != -1 + view.fn 'ownsPet', (pet, userPets) -> _.isArray(userPets) and userPets.indexOf(pet) != -1 view.fn 'friendlyTimestamp', (timestamp) -> moment(timestamp).format('MM/DD h:mm:ss a') From 4aeb7c563598c9d5a10f1b3b8590ffefad5a09a9 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Wed, 15 May 2013 11:42:35 +0100 Subject: [PATCH 39/40] better "level: 1" positioning, add stats to party members --- styles/app/index.styl | 13 +++++++++++++ views/app/avatar.html | 39 ++++++++++++++++++++++----------------- views/app/game-pane.html | 2 +- 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/styles/app/index.styl b/styles/app/index.styl index 27f1bd7c4f..27cad07595 100644 --- a/styles/app/index.styl +++ b/styles/app/index.styl @@ -150,3 +150,16 @@ hr .modal-body margin: 10px + + +// TODO this is supposed to go in avatar.styl, but fuck stylus +.profile-modal-header + width:560px + margin: 0px auto + +.avatar-level + position absolute + bottom 0px + right 0px + background-color #dfe9ea + padding 1px 3px 1px 3px diff --git a/views/app/avatar.html b/views/app/avatar.html index af005c1615..40af8fa699 100644 --- a/views/app/avatar.html +++ b/views/app/avatar.html @@ -10,7 +10,7 @@
      {/}
      +
      Lvl: {@profile.stats.lvl}
      -

      Items

      -

      {itemText('weapon',_user.items.weapon)}: {itemStat('weapon',_user.items.weapon)}% Exp gain

      -

      {itemText('armor',_user.items.armor)}: {itemStat('armor',_user.items.armor)}% Defense

      -

      {itemText('head',_user.items.head)}: {itemStat('head',_user.items.head)}% Defense

      -

      {itemText('shield',_user.items.shield)}: {itemStat('shield',_user.items.shield)}% Defense

      +

      Items

      +

      {itemText('weapon',@profile.items.weapon)}: {itemStat('weapon',@profile.items.weapon)}% Exp gain

      +

      {itemText('armor',@profile.items.armor)}: {itemStat('armor',@profile.items.armor)}% Defense

      +

      {itemText('head',@profile.items.head)}: {itemStat('head',@profile.items.head)}% Defense

      +

      {itemText('shield',@profile.items.shield)}: {itemStat('shield',@profile.items.shield)}% Defense

      -

      Stats

      -

      HP: {floor(_user.stats.hp)} / 50

      -

      GP: {floor(_user.stats.gp)}

      -

      Lvl: {_user.stats.lvl}

      -

      Exp: {floor(_user.stats.exp)} / {tnl(_user.stats.lvl)}

      -

      Strength: {userStr(_user.stats.lvl)}

      -

      Defense: {userDef(_user.stats.lvl)}

      -

      Pets Found: {count(_user.items.pets)}

      +

      Stats

      +

      HP: {floor(@profile.stats.hp)} / 50

      +

      GP: {floor(@profile.stats.gp)}

      +

      Lvl: {@profile.stats.lvl}

      +

      Exp: {floor(@profile.stats.exp)} / {tnl(@profile.stats.lvl)}

      +

      Strength: {userStr(@profile.stats.lvl)}

      +

      Defense: {userDef(@profile.stats.lvl)}

      +

      Pets Found: {count(@profile.items.pets)}


      -

      Total Strength: {totalStr(_user.stats.lvl, _user.items.weapon)} %

      -

      Total Defense: {totalDef(_user.stats.lvl, _user.items.armor, _user.items.head, _user.items.shield)} %

      +

      Total Strength: {totalStr(@profile.stats.lvl, @profile.items.weapon)} %

      +

      Total Defense: {totalDef(@profile.stats.lvl, @profile.items.armor, @profile.items.head, @profile.items.shield)} %

      @@ -161,9 +162,10 @@
      +

      {{username(@profile.auth, @profile.profile.name)}}

      +
      -

      {{username(@profile.auth, @profile.profile.name)}}

      {{#if @profile.profile.imageUrl}} {{/}} @@ -177,10 +179,13 @@ {{/}}
    {{/}} +

    Stats

    +

    Achievements

    +
    diff --git a/views/app/game-pane.html b/views/app/game-pane.html index 6d26651479..aba28f13e2 100644 --- a/views/app/game-pane.html +++ b/views/app/game-pane.html @@ -27,7 +27,7 @@
    - +
    From 149961c07d626e3cc4b0fb56f32206b4ac35e946 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Wed, 15 May 2013 12:23:18 +0100 Subject: [PATCH 40/40] z-index fix on NPC popover dialogs --- styles/app/index.styl | 8 +++++++- views/app/avatar.html | 2 +- views/app/game-pane.html | 4 ++-- views/app/pets.html | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/styles/app/index.styl b/styles/app/index.styl index 27cad07595..25a7493ff0 100644 --- a/styles/app/index.styl +++ b/styles/app/index.styl @@ -151,8 +151,12 @@ hr .modal-body margin: 10px +.static-popover + z-index 0 + display block -// TODO this is supposed to go in avatar.styl, but fuck stylus + +// TODO this is supposed to go in avatar.styl, but stylus is breaking if I even touch that file .profile-modal-header width:560px margin: 0px auto @@ -163,3 +167,5 @@ hr right 0px background-color #dfe9ea padding 1px 3px 1px 3px + + diff --git a/views/app/avatar.html b/views/app/avatar.html index 40af8fa699..543b5053dc 100644 --- a/views/app/avatar.html +++ b/views/app/avatar.html @@ -46,7 +46,7 @@ {/}
    -
    Lvl: {@profile.stats.lvl}
    +
    Lvl {@profile.stats.lvl}
    diff --git a/views/app/game-pane.html b/views/app/game-pane.html index aba28f13e2..117f7896c7 100644 --- a/views/app/game-pane.html +++ b/views/app/game-pane.html @@ -78,7 +78,7 @@
    -
    +

    Daniel Johansson

    @@ -122,7 +122,7 @@
    -
    +

    Alexander Augustin

    Welcome to the Market! I'm the merchant, Alexander. Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!
    diff --git a/views/app/pets.html b/views/app/pets.html index a46c6d87b0..8d934855a2 100644 --- a/views/app/pets.html +++ b/views/app/pets.html @@ -98,7 +98,7 @@ -
    +

    Matt Boch