Compare commits

..

462 Commits

Author SHA1 Message Date
Sabe Jones
7ed26c0dbe 3.54.0 2016-11-16 02:12:33 +00:00
Sabe Jones
e8f5b26d4d chore(sprites): compile
and Bailey
2016-11-16 02:04:10 +00:00
Sabe Jones
0273648b6b Merge pull request #8221 from HabitRPG/sabrecat/pets-201611
Ferret Pet
2016-11-15 19:48:33 -06:00
Sabe Jones
b6fdac8885 feat(quest): Ferret Pet 2016-11-15 22:14:12 +00:00
Sabe Jones
00e6389672 3.53.5 2016-11-15 04:21:46 +00:00
Blade Barringer
e02c669b61 Move hr to prevent UserID comment from showing (#8214) 2016-11-14 21:59:31 -06:00
Blade Barringer
f0cb7c6bf3 Comment out group task fetching 2016-11-14 21:42:23 -06:00
Sabe Jones
571ef0b309 fix(news): add date 2016-11-15 03:34:50 +00:00
Blade Barringer
74328d1bcc chore(i18n): update locales 2016-11-14 21:33:01 -06:00
Sabe Jones
d34a9d828c Removed task get approvals request (#8218) 2016-11-14 21:09:36 -06:00
Keith Holliday
2fd35b3a40 Removed task get approvals request 2016-11-14 21:05:54 -06:00
Sabe Jones
e27512f626 3.53.4 2016-11-15 00:46:15 +00:00
Sabe Jones
dbf9cb3b4e chore(news): misc Bailey 2016-11-15 00:27:40 +00:00
AccioBooks
34c1245519 Move hr to prevent UserID comment from showing 2016-11-14 10:58:03 -06:00
Keith Holliday
f602bfe438 Removed group subscription options (#8211) 2016-11-13 20:24:59 +01:00
Alys
9aa4b8aa64 add 'month' to gift subscription message - fixes https://github.com/HabitRPG/habitica/issues/7747
I haven't pluralised this by using "month(s)", because the phrase "a 3 month subscription" is acceptable in English. Translators may use pluralisation as desired, although note that the same wording will be used for 1 month subscriptions.
2016-11-13 20:40:01 +10:00
Alys
5a150ebc5b change '/group/' to '/groups/' in docs for /api/v3/challenges/groups/:groupId 2016-11-13 17:43:52 +10:00
Keith Holliday
cbe1892b50 Added note sync when user adds task to challenge, tests, and fixed challenge tests (#8200) 2016-11-12 23:48:22 +01:00
Keith Holliday
13df60e0dd Group approval ui (#8184)
* Added all ui components back

* Added group ui items back and initial group approval directive

* Added ability to mark tasks as requires approval. Added approvals ctrl. Added get approvals method to tasks service

* Added approval list view with approving functionality

* Added error to produce message when task requests approval

* Added notification display for group approvals

* Fixed notification read and adding task

* Fixed syncing with group approval required

* Added group id to notifications for redirect on client side

* Fixed approval request tests

* Fixed linting issues

* Removed expectation from beforeEach

* Moved string to locale

* Added eslint ignore

* Updated notification for group approved, added new icons, and updated styles

* Hid group plan ui
2016-11-12 23:47:45 +01:00
Blade Barringer
3ff7692528 chore(i18n): update locales 2016-11-11 08:08:46 -06:00
Sabe Jones
111bba84dc feat(content): 2016-11 pet quest strings 2016-11-10 23:12:42 +00:00
Keith Holliday
b0d2b72b88 Updated buy special item to use function call wrapper (#8203) 2016-11-10 21:36:49 +01:00
Sabe Jones
696317ea8a fix(quests): Basilist error with no party 2016-11-07 15:30:44 +00:00
Sabe Jones
593178a46a fix(sprites): copy corrected Ian to prod path
fixes #7867 (again)
2016-11-07 15:20:04 +00:00
MathWhiz
f8fe16482d Unsubscribe documentation
closes #8187
2016-11-06 21:41:12 -06:00
Romeeka Gayhart
5108480ec5 Get skipped/pending unit tests working for revive (#8193) 2016-11-06 21:17:52 -06:00
Sabe Jones
95968b1b1c 3.53.3 2016-11-06 22:05:28 +00:00
Sabe Jones
566569af98 fix(event): end Fall Fest f'real 2016-11-06 21:36:52 +00:00
Alys
6693e9fca9 replace candy food with normal food and enhance canBuy / canDrop code (#8194)
* change food to normal; add variables to choose type of food; add canBuy, canDrop to cake

* reinstate ability to control canBuy and canDrop separately
2016-11-06 15:33:19 -06:00
Romeeka Gayhart
431bde56d2 Convert test UUID to string to avoid test error (#8195) 2016-11-05 23:53:11 -04:00
Sabe Jones
7cf17c0e63 3.53.2 2016-11-04 21:15:10 +00:00
Sabe Jones
49561bfc8c fix(test): accommodate changing seasons 2016-11-04 20:38:29 +00:00
Sabe Jones
8cbbb58e78 chore(event): end Fall Fest 2016-11-04 20:20:53 +00:00
Sabe Jones
905549e379 3.53.1 2016-11-04 19:23:55 +00:00
Sabe Jones
5d45c7209a chore(news): blog Bailey 2016-11-04 19:02:29 +00:00
Rick Kasten
371cddfe17 Updated bossColl1, bossColl1Broken (#8148) 2016-11-04 19:38:12 +10:00
AccioBooks
fcfac30caa Api doc status (#8165)
* Add example

* Update example
2016-11-03 08:31:30 -05:00
Corinna Jaschek
b094fb1e52 added message for challenges that could not be found - fixes #5538
closes #8176
2016-11-03 07:52:43 -05:00
Keith Holliday
a2dd82b6db Hid nav bar (#8181) 2016-11-02 21:58:17 -05:00
Sabe Jones
e6071610e4 fix(migration): revert bogus connect info 2016-11-03 00:29:57 +00:00
Sabe Jones
bdd0e2bb79 3.53.0 2016-11-03 00:12:32 +00:00
Sabe Jones
054a9a6f2b chore(sprites): compile 2016-11-02 23:29:12 +00:00
Sabe Jones
35b9ed6273 backgrounds and Armoire 2016-11 (#8178)
* feat(content): backgrounds and Armoire 2016-11

* chore(event): November Take This migration

* chore(news): Bailey
2016-11-02 18:27:32 -05:00
Keith Holliday
e65277baa5 Added check to ensure config is defined (#8180) 2016-11-02 18:27:22 -05:00
Amanda Furrow
421bd8624c Add flagger language to flag message sent to slack
closes #8179
fixes #8140
2016-11-02 17:28:44 -05:00
Blade Barringer
4562c6422a chore(i18n): update locales 2016-11-02 17:20:46 -05:00
Matteo Pagliazzi
a5cd9f2473 Merge branch 'TheHollidayInn-group-tasks-approval2' into develop 2016-11-01 21:55:32 +01:00
Matteo Pagliazzi
18bbdfa84b Merge branch 'group-tasks-approval' of https://github.com/TheHollidayInn/habitrpg into TheHollidayInn-group-tasks-approval2 2016-11-01 21:55:18 +01:00
Keith Holliday
d8c37f6e2d Group plan subscription (#8153)
* Added payment to groups and pay with group plan with Stripe

* Added edit card for Stripe

* Added stripe cancel

* Added subscribe with Amazon payments

* Added Amazon cancel for group subscription

* Added group subscription with paypal

* Added paypal cancel

* Added ipn cancel for Group plan

* Added a subscription tab and hid only the task tab when group is not subscribed

* Fixed linting issues

* Fixed tests

* Added payment unit tests

* Added back refresh after stripe payment

* Fixed style issues

* Limited grouop query fields and checked access

* Abstracted subscription schema

* Added year group plan and more access checks

* Maded purchase fields private

* Removed id and timestampes

* Added else checks to ensure user subscription is not altered. Removed active field from group model

* Added toJSONTransform function

* Moved plan active check to other toJson function

* Added check to see if purchaed has been populated

* Added purchase details to private

* Added correct data usage when paying for group sub
2016-11-01 21:51:30 +01:00
Sabe Jones
7f38c61c70 3.52.0 2016-10-31 19:02:24 +00:00
Sabe Jones
1c018cedb1 chore(event): sprites and news 2016-10-31 18:45:39 +00:00
Sabe Jones
80892bd6a8 feat(event): JackOLantern ladder (#8174) 2016-10-31 08:14:06 -05:00
Keith Holliday
6801dae75d Fixed history test 2016-10-30 03:23:01 -05:00
Keith Holliday
59e1de6771 Moved approval to subdoc 2016-10-29 14:19:16 -05:00
Keith Holliday
5b240a1950 Updated notification name and other minor fixes 2016-10-29 14:19:16 -05:00
Keith Holliday
3ec3722038 Moved approval fields to group subdoc 2016-10-29 14:19:16 -05:00
Keith Holliday
d798ebadfe Fixed line endings 2016-10-29 14:19:16 -05:00
Keith Holliday
6cbddef627 Added get approvals route 2016-10-29 14:19:16 -05:00
Keith Holliday
016de411c9 Added notifications 2016-10-29 14:19:16 -05:00
Keith Holliday
2173f53883 Added fields for more approver details 2016-10-29 14:19:15 -05:00
Keith Holliday
f2e5bc52e5 Added requested approval fields and logic 2016-10-29 14:19:15 -05:00
Keith Holliday
393a9290e9 Added approval test and fixed line endings 2016-10-29 14:19:15 -05:00
Keith Holliday
ad5045bc09 Added git score approved task test 2016-10-29 14:19:15 -05:00
Keith Holliday
9b515ebdd1 Added task approve route 2016-10-29 14:19:15 -05:00
Keith Holliday
97bf9ee8e8 Added inital group task approval 2016-10-29 14:19:15 -05:00
Blade Barringer
f5ba636579 chore(i18n): update locales 2016-10-27 22:03:58 -05:00
Sabe Jones
4dd7e49552 3.51.1 2016-10-27 20:44:17 +00:00
Sabe Jones
d2f673ef1e chore(news): Blog Bailey 2016-10-27 19:58:43 +00:00
Sabe Jones
e198dd551a feat(content): strings for BGs/Armoire 2016-11 2016-10-26 20:28:44 +00:00
Travis
0bfc9d9516 fix: allows user to save an alias and checklistCollapsed properties of a challenge task. fixes #7875 (#8170) 2016-10-25 21:47:49 -05:00
Sabe Jones
d4e20ee4aa 3.51.0 2016-10-25 21:56:09 +00:00
Sabe Jones
a751a367fc chore(sprites): compile 2016-10-25 21:55:40 +00:00
Sabe Jones
d323be19c6 Mystery Items 2016/10 (#8169)
* feat(content): mystery items 2016-10

* chore(news): Bailey 2016-10-25
Also ends the Enchanted Armoire A/B test.

* fix(armoire): failing tests from A/B conclusion
2016-10-25 16:16:00 -05:00
AccioBooks
be3f61a94b Remove cookies on clearing browser data (#8135)
* remove cookies

* update cookie removal

* Remove + and add link

* Fix tests

* Add condition

* update strings
2016-10-25 19:53:56 +10:00
Alys
f1bb2db73b fix wrong variable name in Polish questDamage string
The translators have been notified that it needs to be fixed in Transifex before the next migration of strings back to GitHub.
2016-10-23 09:54:18 +10:00
Matteo Pagliazzi
a622344d44 3.50.0 2016-10-22 18:12:09 +02:00
Blade Barringer
e279a3550b chore(travis): start API tests earlier 2016-10-22 08:14:10 -05:00
Blade Barringer
70aab3059c fix(client): bump version of ngInfinitScroll
v1.0.0 could not be found in bower registry
2016-10-22 08:14:09 -05:00
Blade Barringer
c264e37182 chore(travis): pend grunt build task
chore(travis): Move test prep to gulpfile
2016-10-22 08:14:07 -05:00
Blade Barringer
b31bc15493 chore(travis): Add grunt-cli pkg 2016-10-22 08:14:06 -05:00
Blade Barringer
ba19c00617 Setup up non-API tests to not need server and mongo running
chore(travis): Build files before running tests

chore(travis): require server for api tests
2016-10-22 08:14:00 -05:00
Blade Barringer
93aa92de7c chore(travis): Split up build tasks 2016-10-20 22:14:37 -05:00
Blade Barringer
d021680945 chore(travis): Remove grunt and mocha install step 2016-10-20 22:05:21 -05:00
Blade Barringer
f9595af8a5 Re-enable armoire tests 2016-10-20 22:04:24 -05:00
Alyssa Batula
d2756278c3 Only unequip Gen 1 pets/mounts when releasing pets/mounts, fixes #5366 (#8119)
* Only unequip Gen 1 pets/mounts when releasing pets/mounts

* Changed mount declaration to match releasePets

* Check if a pet/mount is a drop type instead of checking for its name in the list of pets

* Changed references to pet and mount to petInfo and mountInfo for consistency with releasePets and releaseMounts

* Test that releasePets, releaseMounts, and releaseBoth do not unequip quest pets

* Fixed test names, and tests verify that a pet/mount is/is not a drop pet/mount on release

* Removed unneeded comments
2016-10-20 22:00:15 -05:00
Blade Barringer
2e2dc179c4 chore: pend armoire test 2016-10-20 19:30:22 -05:00
Alys
acf7b811ab fix wrong variable name in French questTaskDamage string
The translators have been notified that it needs to be fixed in Transifex.
2016-10-21 08:24:36 +10:00
Blade Barringer
d5170251c0 fix: remove unneeded Math.random test 2016-10-20 17:11:28 -05:00
Sabe Jones
c9ba9054e3 chore(npm): shrinkwrap 2016-10-20 03:44:13 +00:00
MathWhiz
d4aac1ee4b Documentation - coupon
closes #8109
2016-10-19 21:31:07 -05:00
Blade Barringer
9615a332a5 fix(client): Allow member hp to be clickable
fixes #8016
closes #8155
2016-10-19 21:01:35 -05:00
Blade Barringer
417455e5ef Merge branch 'snyk-community-snyk-community-patch-1' into develop 2016-10-19 17:42:20 -05:00
Blade Barringer
136502a110 chore: update express 2016-10-19 17:41:58 -05:00
Blade Barringer
425887c1e4 chore(i18n): update locales 2016-10-19 17:40:26 -05:00
Sabe Jones
cfa8a5190f 3.49.0 2016-10-19 19:43:47 +00:00
Sabe Jones
df5be81706 chore(sprites): compile 2016-10-19 19:10:39 +00:00
Sabe Jones
08b3491047 Taskwoods Quest Line (#8156)
* feat(content): Gold Quest 2016-10

* chore(news): Bailey
2016-10-19 14:04:34 -05:00
Snyk Community
e73c3147c1 Fix for the ReDOS vulnerability
habitica is currently affected by the high-severity [ReDOS vulnerability](https://snyk.io/vuln/npm:tough-cookie:20160722). 

Vulnerable module: `tough-cookie`
Introduced through: ` request`

This PR fixes the ReDOS vulnerability by upgrading ` request` to version 2.74.0

Check out the [Snyk test report](https://snyk.io/test/github/HabitRPG/habitica) to review other vulnerabilities that affect this repo. 

[Watch the repo](https://snyk.io/add) to 
* get alerts if newly disclosed vulnerabilities affect this repo in the future. 
* generate pull requests with the fixes you want, or let us do the work: when a newly disclosed vulnerability affects you, we'll submit a fix to you right away. 

Stay secure, 
The Snyk team
2016-10-19 17:50:16 +03:00
Alys
a43254000e change Indulgence Armadillo to Indulgent Armadillo
reference for Habitica admins: https://habitica.slack.com/archives/general/p1476655925000002
2016-10-18 17:39:52 +10:00
Blade Barringer
4e3c984baf chore(i18n): update locales 2016-10-17 17:14:59 -05:00
Sabe Jones
c112e923f1 feat(content): Strings October 2016 2016-10-17 20:32:50 +00:00
Blade Barringer
540353f024 fix(client): Correct broken image on "how it works" page 2016-10-17 07:33:02 -05:00
AccioBooks
2b9b5e369e /static/features TLC (#8021)
* Fix grammatical errors / stylistical changes

* Apps and Extentions

* and

* Sections -> Sectors

* Grammatical / Stylistic Changes

* remove extraneous .row

* add breaks in final marketing para

* revert features.jade

* Move period
2016-10-17 07:32:25 -05:00
Thomas Gamble
cb38475765 delete unread messages when a user leaves a group
closes #7955
closes #7965
2016-10-16 22:01:34 -05:00
Kees Cook
8bb92577b0 quest progress reporting whitespace fixes (#8106)
Notifications of other things (HP, GP, etc) have a regular format of
"+/- NUM THING". For example:

  function gp(val, bonus) {
    _notify(_sign(val) + " " + coins(val - bonus), 'gp');
  }

However, the recent quest collection/damage notifications do not. This
attempts to regularize the reporting by adding in the "missing" space.

Signed-off-by: Kees Cook <kees@outflux.net>
2016-10-16 21:16:42 -05:00
Blade Barringer
fb26cbd26d Merge pull request #8110 from Hus274/7814
Removing links to outdated tutorials
2016-10-16 21:02:29 -05:00
Blade Barringer
a0de5cd8f8 Merge pull request #8139 from bcpletcher/develop
Cleaned up some CSS
2016-10-16 20:59:22 -05:00
Blade Barringer
9fe10b1818 Merge pull request #8143 from dumindux/Issue-8115
changed gemCost to include the amount of gems
2016-10-16 20:58:48 -05:00
Dumindu Karunathilaka
d8dd39422a changed gemCost to include the amount of gems 2016-10-15 18:10:22 +05:30
Benjamin Pletcher
3f9b710773 Cleaned up some CSS 2016-10-13 21:51:55 -04:00
Sabe Jones
8a8bab4be1 chore(npm): update shrinkwrap 2016-10-13 23:30:10 +00:00
Sabe Jones
2a0747ed72 3.48.0 2016-10-13 23:23:34 +00:00
Sabe Jones
a5196e94f6 chore(news): Bailey 2016-10-13 2016-10-13 23:04:32 +00:00
Sabe Jones
009ab26711 Add special spells to Seasonal Shop API (#8138)
* WIP(shops): add spells to Seasonal API

* refactor(shops): remove superfluous if

* feat(shops): handle spell purchasing

* fix(test): proper required fields check
Also corrects a linting error.

* refactor(shops): use constants
2016-10-13 17:53:02 -05:00
Blade Barringer
3fabf3391f chore(docs): Remove uneeded links in data export docs 2016-10-12 22:43:23 -05:00
Blade Barringer
8020990264 chore(i18n): update locales 2016-10-12 20:28:32 -05:00
Blade Barringer
a2cfeafc02 fix(client): ctrl-enter can be used to send chat
fixes #8122
2016-10-12 20:24:48 -05:00
Matteo Pagliazzi
d04a4fb1ed amazon: fix cancelling subscription: use correct path 2016-10-12 19:33:14 +02:00
Matteo Pagliazzi
aeb86db306 3.47.2 2016-10-12 18:45:00 +02:00
Matteo Pagliazzi
49960c0e32 amazon: fix cancelling subscription 2016-10-12 18:44:06 +02:00
Blade Barringer
932cb5cf6a 3.47.1 2016-10-12 08:07:47 -05:00
MathWhiz
74d6e77504 chore(docs): refine dataexport docs
closes #8120
2016-10-12 08:06:54 -05:00
Blade Barringer
8400f1786b Merge pull request #8125 from DrStrangepork/travis-ci
Changed travis-ci URL to https://travis-ci.org/HabitRPG/habitica
2016-10-12 07:37:11 -05:00
Blade Barringer
d7bd5dd9f8 chore(i18n): update locales 2016-10-12 07:36:50 -05:00
Rick Kasten
3288b0de33 Changed travis-ci URL to https://travis-ci.org/HabitRPG/habitica 2016-10-12 04:52:50 -04:00
Phillip Thelen
c025ffbd10 Fix wrong identifier for old android IAP (#8121) 2016-10-12 09:12:58 +02:00
Blade Barringer
afb5b473a3 chore(docs): Add global definitions for param types 2016-10-11 21:35:58 -05:00
Blade Barringer
aeee29f5fa chore(i18n): update locales 2016-10-11 18:04:25 -05:00
Sabe Jones
0cca2a07a2 fix(news): typo 2016-10-11 22:58:10 +00:00
Sabe Jones
55d94c129a 3.47.0 2016-10-11 21:19:41 +00:00
Sabe Jones
358e1aed22 chore(sprites): compile 2016-10-11 21:00:55 +00:00
Sabe Jones
36241f061f chore(news): Bailey 2016-10-11 2016-10-11 20:59:02 +00:00
Matteo Pagliazzi
b6201a3b75 amplitude: only log generic error message 2016-10-11 22:49:54 +02:00
Matteo Pagliazzi
005f74d918 Merge branch 'vIiRuS-iap' into develop 2016-10-11 21:29:52 +02:00
Matteo Pagliazzi
926e188017 fix eslint errors 2016-10-11 21:29:35 +02:00
Matteo Pagliazzi
94da808279 Merge branch 'iap' of https://github.com/vIiRuS/habitrpg into vIiRuS-iap 2016-10-11 21:28:37 +02:00
Phillip Thelen
7568dd52e9 Fix wrong if statements 2016-10-11 20:49:46 +02:00
Phillip Thelen
c6e2b78982 Make requested syntax changes 2016-10-11 20:47:01 +02:00
Matteo Pagliazzi
b6104c3ef3 remove dup dependency 2016-10-11 18:52:50 +02:00
Sabe Jones
56b5c960f0 feat(content): Beetle Pet Quest 2016-10-11 16:40:27 +00:00
Matteo Pagliazzi
528abf77af amazon: directly cancel subscription when already closed by amazon 2016-10-11 15:54:48 +02:00
Blade Barringer
8db6b7c6cb fix(api): Allow x-client to be set in cors middleware (#8117)
* fix(api): Allow x-client to be set in cors middleware

* chore: update cors middlware tests
2016-10-10 17:35:00 -05:00
Sabe Jones
578dee59bd feat(content): pet quest strings 2016-10-10 19:43:24 +00:00
Sabe Jones
d40c923e6e refactor(test): less clunky timestamp conv 2016-10-10 16:02:08 +00:00
Sabe Jones
3c4c64b023 fix(subscriptions): don't reset Gems midmonth 2016-10-10 15:52:33 +00:00
Phillip Thelen
c84d6ba141 fix linter errors 2016-10-10 14:27:51 +02:00
Phillip Thelen
5f3b147d2a refactor IAP handling 2016-10-10 10:07:10 +02:00
Keith Holliday
ff08e8b586 [WIP] Group tasks claim (#8099)
* Added initial group tasks ui

* Changed group compnent directory

* Added group task checklist support

* Added checklist support to ui

* Fixed delete tags route

* Added checklist routes to support new group tasks

* Added assign user tag input

* Added new group members autocomplete directive

* Linked assign ui to api

* Added styles

* Limited tag use

* Fixed line endings

* Updated to new file structure

* Fixed failing task tests

* Updatd with new checklist logic and fixed columns

* Updated add task function

* Added userid check back to tag routes

* Added back routes accidently deleted

* Added locale strings

* Moved common task function to task service

* Removed files from manifest

* Added initial group tasks ui

* Changed group compnent directory

* Added checklist support to ui

* Added assign user tag input

* Added assign user tag input

* Added new group members autocomplete directive

* Added new group members autocomplete directive

* Removed group get tasks until live

* Linked assign ui to api

* Added styles

* Added server code for claiming a task

* ADded group task meta and claim button

* Adjusted styles, added local, and added confirm

* Updated claim with new file structures

* Fixed merge issue

* Removed extra file

* Removed duplicate functions

* Removed extra directive

* Removed dev items
2016-10-09 19:23:34 +02:00
Phillip Thelen
cb2acbfefd add additional IAP price tiers 2016-10-09 15:20:45 +02:00
Travis Husman
b16da35585 chore(cleanup): removing links to outdated tutorials
closes #7814
2016-10-07 17:17:29 -07:00
Sabe Jones
826d7b85d7 Subscriptions Fixes (#8105)
* fix(subscriptions): round up months

* fix(subscriptions): resub improvements
Don't allow negative extraMonths; flatten new Dates to YYYYMMDD

* fix(subscriptions): remove resub Gems exploit
Also standardizes some uses of new Date() to remove potential race condition oddities.

* fix(subscriptions): bump consecutive months...
...even if the user didn't log in then, if subscription has been continuous through that period

* test(subscriptions): cover fix cases
Also refactor: use constant for YYYY-MM format

* refactor(subscriptions): don't stringify moments
2016-10-07 15:08:30 -05:00
Travis
6bcc6a15e2 Hitting enter no longer sends a chat message, instead inserts a new line (#8096)
* changing behavior so hitting enter in a chat box only now inserts a newline instead of submitting the form. closes #8066

* Adding a tooltip message
2016-10-06 21:55:00 -05:00
MathWhiz
b600eceb49 /v3/content documentation
closes #8098
2016-10-06 21:45:37 -05:00
Blade Barringer
b83ef872c9 Merge branch 'JTorr-develop' into develop 2016-10-06 20:54:25 -05:00
Blade Barringer
4ebc2e2175 chore(docs): Adjust invite route docs 2016-10-06 20:54:04 -05:00
Sabe Jones
2f4b8c569a 3.46.2 2016-10-06 23:20:55 +00:00
Sabe Jones
85b5b5a62d chore(event): enable & announce Spooky Sparkles 2016-10-06 22:49:56 +00:00
Julie Torres
e271e57f63 Improve API Docs for Invite to Group, Iss#8087 2016-10-06 14:23:07 -04:00
Blade Barringer
558fb145b5 chore: remove references to debug-scripts 2016-10-04 20:48:36 -05:00
Blade Barringer
fc30456b53 chore: remove unused debug scripts 2016-10-04 20:38:40 -05:00
Sabe Jones
68b2d19b04 3.46.1 2016-10-04 23:32:02 +00:00
Blade Barringer
6d33acccf4 fix(api) Allow revoked chat ussers to post in private guilds 2016-10-04 17:49:19 -05:00
Sabe Jones
acee4bad80 fix(sprites): add new spritesheet 2016-10-04 17:04:09 +00:00
Sabe Jones
30fe5088b8 3.46.0 2016-10-04 15:55:41 +00:00
Sabe Jones
69602f93e9 chore(sprites): compile 2016-10-04 15:54:55 +00:00
Sabe Jones
0109aa4250 feat(content): Armoire and BGs data (#8095) 2016-10-04 09:57:28 -05:00
Blade Barringer
2dc0958678 chore(docs): Define resource not found errors and permissions 2016-10-03 21:35:53 -05:00
Blade Barringer
52f4e5f37d chore(docs): Update webhook documentation 2016-10-03 17:20:11 -05:00
Blade Barringer
c014da297c chore(docs): remove unneeded apiVersion param 2016-10-03 17:11:59 -05:00
Keith Holliday
285041cdee Group tasks ui picked (#7996)
* Added initial group tasks ui

* Changed group compnent directory

* Added group task checklist support

* Added checklist support to ui

* Fixed delete tags route

* Added checklist routes to support new group tasks

* Added assign user tag input

* Added new group members autocomplete directive

* Linked assign ui to api

* Added styles

* Limited tag use

* Fixed line endings

* Updated to new file structure

* Fixed failing task tests

* Updatd with new checklist logic and fixed columns

* Added purchased info to group and prevented non purchased group from seeing new group tasks

* Updated add task function

* Added userid check back to tag routes

* Marked tag tests as pending

* Added comments to pending tests

* Added back routes accidently deleted

* Added locale strings

* Other clarity fixes

* Moved common task function to task service

* Removed files from manifest

* Fixed naming collision and remove logic

* Removed group get tasks until live

* Fixed test to check update task. Removed extra removeTask call. Synced updated checklists. Added purchased to noset

* Fixed delete group task
2016-10-03 22:12:20 +02:00
Sabe Jones
6a82206f81 feat(content): Armoire and BG sprites 2016-10-03 19:23:05 +00:00
Blade Barringer
8b6052a3ca fix(api): Prevent webhooks from having duplicate ids 2016-10-03 08:13:33 -05:00
Alys
04fd907a45 remove incorrect space from an Indonesian locales variable
The mis-formatting of the variable was causing an error when when a user tried to use the "forgot password" feature.

The Linguists have been informed of the need to fix the string in Transifex.
2016-10-03 07:56:30 +10:00
Blade Barringer
70343079f1 Merge branch 'develop' of github.com:HabitRPG/habitrpg into develop 2016-10-02 12:59:09 -05:00
Sabe Jones
df952eece5 chore(news): Take This Bailey 2016-10-02 16:03:50 +00:00
Blade Barringer
e3a619c7ff 3.45.0 2016-10-02 09:53:54 -05:00
Sabe Jones
23f531372b chore(event): Sept-Oct Take This migration 2016-10-02 14:38:16 +00:00
Blade Barringer
97b15006fd chore: adjust webhook migration to sort webhooks properly 2016-10-02 09:31:28 -05:00
Blade Barringer
35b92f13a3 Webhook improvements (#7879)
* refactor: Move translate test utility to helpers directory

* Add kind property to webhooks

* feat: Add options to create webhook route

* refactor: Move webhook ops into single file

* refactor: Create webhook objects for specific webhook behavior

* chore(tests): Add default sleep helper value of 1 second

* feat(api): Add method for groups to send out webhook

* feat(api): Add taskCreated webhook task creation

* feat(api): Send chat webhooks after a chat is sent

* refactor: Move webhook routes to own controller

* lint: Correct linting errors

* fix(api): Correct taskCreated webhook method

* fix(api): Fix webhook logging to only log when there is an error

* fix: Update groupChatRecieved webhook creation

* chore: Add integration tests for webhooks

* fix: Set webhook creation response to 201

* fix: Correct how task scored webhook data is sent

* Revert group chat recieved webhook to only support one group

* Remove quest activity option for webhooks

* feat: Send webhook for each task created

* feat: Allow webhooks without a type to default to taskScored

* feat: Add logic for adding ids to webhook

* feat: optimize webhook url check by shortcircuiting if no url is passed

* refactor: Use full name for webhook variable

* feat: Add missing params to client webhook

* lint: Add missing semicolon

* chore(tests): Fix inccorect webhook tests

* chore: Add migration to update task scored webhooks

* feat: Allow default value of webhook add route to be enabled

* chore: Update webhook documentation

* chore: Remove special handling for v2

* refactor: adjust addComputedStatsToJSONObject to work for webhooks

* refactor: combine taskScored and taskActivity webhooks

* feat(api): Add task activity to task update and delete routes

* chore: Change references to taskScored to taskActivity

* fix: Correct stats object being passed in for transform

* chore: Remove extra line break

* fix: Pass in the language to use for the translations

* refactor(api): Move webhooks from user.preferences.webhooks to user.webhooks

* chore: Update migration to set webhook array

* lint: Correct brace spacing

* chore: convert webhook lib to use user.webhooks

* refactor(api): Consolidate filters

* chore: clarify migration instructions

* fix(test): Correct user creation in user anonymized tests

* chore: add test that webhooks cannot be updated via PUT /user

* refactor: Simplify default webhook id value

* refactor(client): Push newly created webhook instead of doing a sync

* chore(test): Add test file for webhook model

* refactor: Remove webhook validation

* refactor: Remove need for watch on webhooks

* refactor(client): Update webhooks object without syncing

* chore: update webhook documentation

* Fix migrations issues

* chore: remove v2 test helper

* fix(api): Provide webhook type in task scored webhook

* fix(client): Fix webhook deletion appearing to delete all webhooks

* feat(api): add optional label field for webhooks

* feat: provide empty string as default for webhook label

* chore: Update webhook migration

* chore: update webhook migration name
2016-10-02 09:16:22 -05:00
Alys
556a7e5229 add new loading screen tip for The Bulletin Board guild, as discusssed in Aspiring Socialites 2016-10-02 16:23:17 +10:00
Alys
378625b4af clarify and correct instructions for changing login name and profile name 2016-10-02 16:00:22 +10:00
Blade Barringer
ee15e29ba4 3.44.5 2016-09-30 13:01:36 -05:00
Dumindu Buddhika
ed880a665a added balance to analytics (#8086)
* added balance to analytics

* removed if check
2016-09-30 11:52:14 -05:00
Blade Barringer
3c7f71d214 chore(i18n): update locales 2016-09-30 11:42:34 -05:00
Blade Barringer
edac06b0d1 chore(docs): Update group invite docs 2016-09-30 11:27:08 -05:00
Blade Barringer
24562f8d60 refactor: move total invitation errors to group invite validation method 2016-09-30 11:27:08 -05:00
Blade Barringer
97840ed732 chore: add apidoc watch command 2016-09-30 11:27:08 -05:00
Blade Barringer
76499412ed refactor(api): Move invitation validation to group static method 2016-09-30 11:27:07 -05:00
Julie Torres
9b10f348cc Prevent submission of blank invitation, fixes #7807 (#8080) 2016-09-30 11:25:57 -05:00
Blade Barringer
17b0329c43 chore(i18n): update locales 2016-09-30 08:54:34 -05:00
Blade Barringer
cda84a6d68 chore: move randomVal test to correct folder 2016-09-30 08:39:30 -05:00
Blade Barringer
306505ebab fix(api,client): Pass in predictable random to revive randomVal calls
closes #8085
2016-09-30 08:39:30 -05:00
Blade Barringer
2476cdd873 chore: Add test shells for revive 2016-09-30 08:16:04 -05:00
Blade Barringer
8465dd69be chore: Send author's email when sending flag notification to slack 2016-09-30 07:43:15 -05:00
Matteo Pagliazzi
461e7445c2 remove old server_side tests 2016-09-30 12:33:20 +02:00
Matteo Pagliazzi
24df8d8f2f pusher: sync user when reconnecting 2016-09-29 23:30:11 +02:00
Matteo Pagliazzi
2bca92b4d5 3.44.4 2016-09-29 23:22:30 +02:00
Matteo Pagliazzi
c3843cae80 client: fix bug that prevented drop notifications from showing up 2016-09-29 23:19:46 +02:00
Sabe Jones
816e4a2f19 3.44.3 2016-09-29 18:12:31 +00:00
Sabe Jones
d0d4927e59 fix(login): uncomment Google auth 2016-09-29 18:11:47 +00:00
Sabe Jones
023ff5789d 3.44.2 2016-09-29 17:13:16 +00:00
Blade Barringer
cc9be6f4a1 chore(i18n): update locales 2016-09-29 11:53:29 -05:00
Sabe Jones
145bcb6f7c 3.44.1 2016-09-29 16:46:26 +00:00
Sabe Jones
d7db599f88 chore(npm): update shrinkwrap 2016-09-29 16:22:44 +00:00
Sabe Jones
ca935670f7 chore(event): GaymerX armor & news 2016-09-29 16:16:43 +00:00
AccioBooks
c2eb113672 Make Wikia Links Translatable (#7036)
* Wikia Links

* Update contrib.json (Added comma)

* Implement @Alys's Suggestions

* conLearnLink -> conLearnURL

* add link to plans.jade

* Appended "URL" to locale strings with URLs

* Add 's'
2016-09-29 21:57:44 +10:00
Matteo Pagliazzi
257e932bc3 Vue Store (#8071)
* vue: use our own store in place of vuex

* vue store: add getters, watcher and use internal vue instance

* vue store: better state getter and credits to Vuex

* vue store: $watch -> watch

* vuex store: pass store to getters and fix typos

* add comments to store, start writing tests

* fix unit tests and add missing ones

* cleanup components, add less folder, fetch tassks

* use Vuex helpers

* pin vuex version

* move semantic-ui theme to assets/less, keep website/build empty but in git

* import helpers from vuex
2016-09-29 13:32:36 +02:00
Sabe Jones
50e2731811 chore(assets): remove unused promos 2016-09-28 18:47:04 +00:00
Matteo Pagliazzi
d67b9e5688 do not send welcome email if user already exists 2016-09-28 19:23:07 +02:00
Blade Barringer
bfc7b9d3e8 fix(client): allow admins to open flag modal regardless of flag status
fixes #8078
2016-09-28 08:16:06 -05:00
Blade Barringer
eb0e234afa chore(i18n): update locales 2016-09-28 07:44:30 -05:00
Matteo Pagliazzi
177f78cbb0 3.44.0 2016-09-28 12:49:30 +02:00
Phillip Thelen
e3b484b29a Add Google Signin (#7969)
* Start adding google login

* fix local js issue

* implement syntax suggestions

* fix delete social tests

* Add service for authentication alerts

* fix social login tests

* make suggested google sign in changes

* fix accidentally deleted code

* refactor social network sign in

* fix incorrect find

* implement suggested google sign in changes

* fix(tests): Inject fake Auth module for auth controller

* fix(test): prevent social service from causing page reload

* fix loading user info

* Use lodash's implimentation of find for IE compatibility

* chore: increase test coverage around deletion route

* chore: clean up social auth test

* chore: Fix social login tests

* remove profile from login scope

* fix(api): Allow social accounts to deregister as user has auth backup

* temporarily disable google login button
2016-09-28 12:11:10 +02:00
Sabe Jones
941000d737 3.43.2 2016-09-28 03:12:35 +00:00
Sabe Jones
63ce7c6034 chore(news): misc Bailey 2016-09-28 02:40:24 +00:00
Sabe Jones
921f9a65a3 feat(content): BG and Armoire strings 201610 2016-09-27 21:15:54 +00:00
Sabe Jones
d6bf30eff8 3.43.1 2016-09-27 14:43:34 +00:00
Matteo Pagliazzi
faed0dff20 pusher: remove 1 tab limit, better disconnection 2016-09-27 15:25:07 +02:00
Matteo Pagliazzi
7bb2f4a3fa fix semantic-ui site path 2016-09-27 10:09:46 +02:00
Matteo Pagliazzi
e3bcea4077 Add semantic-ui (#8076)
* client: add semantic-ui

* add README, disable google fonts

* karma: limit coverage to .vue and .js files

* add missing deps

* semantic-ui in assets folder
2016-09-27 09:34:45 +02:00
Sabe Jones
51ffe2c8c2 A/B Testing, Round 2 (#8077)
* feat(analytics): A/B test 2016-09-26

* feat(tutorial): A/B variant text
2016-09-26 17:10:43 -05:00
Blade Barringer
efc0469bef fix(docs): correct email route url in api docs 2016-09-26 14:56:53 -05:00
Sabe Jones
bda0617a23 chore(npm): update shrinkwrap 2016-09-26 17:32:33 +00:00
Blade Barringer
913cb16638 refactor: move randomVal to a lib 2016-09-26 11:55:07 -05:00
Blade Barringer
331993c1df refactor: remove seeding from randomVal 2016-09-26 11:55:07 -05:00
Blade Barringer
136e2de125 refactor: adjust randomDrop to use wrapped random function 2016-09-26 11:55:07 -05:00
Blade Barringer
966a50431f refactor: Move user argument to options in randomVal function 2016-09-26 11:55:07 -05:00
Blade Barringer
4df1601718 fix(api): Armoire actually works randomly 2016-09-26 11:55:07 -05:00
Thomas Gamble
4d5b6992be drops are randomly selected, not based on user values fixes #7929 2016-09-26 11:55:07 -05:00
Tom Gamble
b54441a637 Shows quest progress notification when completing task #7922 (#7951) 2016-09-23 20:41:31 -05:00
Matteo Pagliazzi
bccdf4e989 client: load user based on localStorage (only for testing) (#8055) 2016-09-23 22:39:06 +02:00
Matteo Pagliazzi
633da7ff73 Delete App.vue 2016-09-23 22:18:13 +02:00
Matteo Pagliazzi
d3371e323e Vuex Structure (#8054)
* wip: vuex structure

* add missing files

* client: do not fail dev build on eslint error

* eslint does not block compilation, mount app when data is ready

* eslintrc.js -> eslintrc
2016-09-23 19:49:11 +02:00
Sabe Jones
5480157977 fix(shops): 2h weapon pricing 2016-09-23 15:43:45 +00:00
Blade Barringer
c5888e3d21 fix(client): Allow backgrounds to be changed 2016-09-23 07:04:11 -05:00
Blade Barringer
2ca185474f fix(client): Advanced options not using preference when creating task
closes #8033
2016-09-22 21:41:42 -05:00
Kaitlin Hipkin
5f0c1687b5 Remove unused v2 code from /website/common/script (#8034)
* remove apiv2 behavior from ops

* remove apiv2 behavior from fns
2016-09-22 21:23:46 -05:00
Sabe Jones
8f9ed6e377 3.43.0 2016-09-22 20:02:48 +00:00
Blade Barringer
1a38546721 chore(i18n): update locales 2016-09-22 13:20:45 -05:00
Sabe Jones
359d9f8d3a fix(analytics): send user on social reg 2016-09-22 18:14:02 +00:00
Sabe Jones
ca97732f21 Cows and Ghosts (but no cow ghosts) (#8052)
* feat(content): Mystery Items and Ghost Potions

* fix(news): better cow position

* fix(test): update for season
2016-09-22 13:04:15 -05:00
Sabe Jones
e820b55080 fix(shops): open Seasonal Shop in API 2016-09-22 17:02:21 +00:00
Sabe Jones
3d2d01f647 chore(npm): update shrinkwrap 2016-09-22 16:25:45 +00:00
Matteo Pagliazzi
b907590bf2 rebuild npm-shrinkwrap 2016-09-22 17:54:40 +02:00
mleko
ec01388b5a Fix broken link (#8051)
* Fix broken link

* Update message
2016-09-22 17:24:21 +10:00
Blade Barringer
aff475b9c8 chore(i18n): update locales 2016-09-21 19:17:36 -05:00
Sabe Jones
476e06ab8b feat(content): Ghost Hatching Potion string 2016-09-21 19:19:18 +00:00
Sabe Jones
82b905514f feat(content): Subscriber Strings 201609 2016-09-21 19:08:41 +00:00
Sabe Jones
7f1e27f6e4 3.42.1 2016-09-21 14:55:05 +00:00
Matteo Pagliazzi
f5315a4f92 typo, correct prod check in build manifest 2016-09-21 16:33:38 +02:00
Blade Barringer
c244c3e797 chore(i18n): update locales 2016-09-21 09:27:13 -05:00
Blade Barringer
0102648f8a chore: fix sprite paths in prod (#8048) 2016-09-21 09:20:48 -05:00
Matteo Pagliazzi
ed4d955e3e remove console.log 2016-09-21 15:19:36 +02:00
Matteo Pagliazzi
6792e75c7f add dist-client to .eslintignore 2016-09-21 14:57:33 +02:00
Matteo Pagliazzi
62f004222b add .gitkeep to website/static so the build does not fail 2016-09-21 14:49:30 +02:00
Matteo Pagliazzi
ed1f0a04ae client: proxy requests to real api 2016-09-21 14:43:50 +02:00
Matteo Pagliazzi
bde01c30ad Merge branch 'develop' of github.com:HabitRPG/habitrpg into develop 2016-09-21 14:37:57 +02:00
Matteo Pagliazzi
12275cc174 build new client in production 2016-09-21 14:37:44 +02:00
Matteo Pagliazzi
f751ccacc5 expose new client at /new-app, can be enabled in prod setting a flag 2016-09-21 13:43:39 +02:00
Sabe Jones
d371297482 fix(migration): remove connect string 2016-09-21 03:20:28 +00:00
Sabe Jones
00b75b23bb chore(sprites): remove Stressbeast 2016-09-21 03:17:02 +00:00
Sabe Jones
589b2aaf3a 3.42.0 2016-09-21 01:34:33 +00:00
Sabe Jones
676d9aedf1 Begin Fall Festival 2016 (#8043)
* feat(event): begin Fall Festival 2016

* feat(event): Seasonal Shop Fall 2016

* fix(test): season specific food

* chore(news): add Bailey

* fix(season): correct Sorceress & timetrav
2016-09-20 20:11:32 -05:00
Sabe Jones
67febde1cb fix(analytics): send user on reg (#8044)
Also fixes an issue that could prevent item name data from being correctly sent to Amplitude.
2016-09-20 20:11:12 -05:00
Blade Barringer
019560df64 chore(i18n): update locales 2016-09-20 17:42:17 -05:00
Sabe Jones
8b1dd43e0a feat(event): Seasonal Shop strings Fall 2015 2016-09-20 19:35:26 +00:00
Matteo Pagliazzi
2f626c7875 Vuex (#8041)
* add vuex, cleanup client directory and create example components

* disale sample unit test

* disable import for non existing file

* correct regexp for unit tests, add simple test to avoid error, add babel-polyfill for Vuex

* add line wrongly removed, update regexp
2016-09-20 18:58:02 +02:00
Blade Barringer
381bea1e94 chore(i18n): update locales 2016-09-20 11:49:18 -05:00
Sabe Jones
c12b0890d5 feat(content): Fall 2016 strings 2016-09-20 16:46:24 +00:00
Blade Barringer
5ceb470464 Merge pull request #8031 from Ozzystrasza/challenges_select_all
Fix "All" button to select all guilds in the filter list
2016-09-20 08:08:31 -05:00
Blade Barringer
d5d27355da refactor(client): Only omit complex properties from task update object 2016-09-20 08:00:13 -05:00
Rebecca
190aa2c0e7 Updating a task now sends only data that's actually needed (Fixes #7846) (#8040)
* Updating a task now sends only data that's actually needed (Fixes #7846)

Updating a task with a huge history lead to 'request entity too large' errors since the client attempted to send all data associated with a task, regardless of whether that data could be changed or not. With this change, the post request is now omitting the following fields:

challenge
completed
createdAt
group
history
id
reminders
tags
type
updatedAt
userId

* Changes according to review (use _.omit)
2016-09-20 07:59:49 -05:00
Blade Barringer
fb8ec7677c chore(i18n): update locales 2016-09-20 07:49:20 -05:00
Blade Barringer
c4c70ba1bd fix: Clarify what toRequired string means 2016-09-20 07:46:54 -05:00
Blade Barringer
248fd1d912 chore(docs): Add documentation for valid skill ids 2016-09-19 21:54:02 -05:00
Blade Barringer
5fa76f6aeb feat(api): Add route to export pms as HTML
fixes #7939
closes #7999
2016-09-19 21:32:58 -05:00
Matteo Pagliazzi
f90a31b4be pusher: when disconnecting from tab because of inactivity, do not connect other tab 2016-09-19 16:16:13 +02:00
Blade Barringer
e3b9636c42 refactor(cient): Simplify char resize logic
closes #6836
2016-09-18 21:27:59 -05:00
Lucas Torroba
7f5d070ee6 Fixes issue #6679, which referred to the EXP chart getting cropped. 2016-09-18 21:26:59 -05:00
Alys
28bb543397 specify that Orb of Rebirth does not remove equipment (in Reset advice) 2016-09-19 08:00:42 +10:00
Matteo Pagliazzi
4f3a9802c1 Vue Project Setup (#8018)
* add files for new client side and reorg gulp tasks

* add deps and script for new client

* fix webpack paths so that building works

* fix static assets not copied into prod build

* fix linting

* add eslint deps and re-enable it in webpack

* add most missing deps for client side and split .babelrc for client

* reorganize .eslintignore

* update client tests paths and .gitignore

* uncomment code

* client: move App component

* client: update oaths in App component

* fix client tests and add more deps

* add client side tests to npm test

* fix typo in depencency name

* update more deps

* fix karma.conf.js and upgrade phantomjs

* fix dep and move karma.conf to subdirectory

* update karma.conf.js position in Gruntfile

* try downgrading phantomjs

* Fixup client tests (#8032)

* Use phantom 2

* fix(tests): Fix refresher test

* gitignore translation mock

* Update karma version

* disable e2e tests for new client from build

* write vue templates with pug

* add basic routing

* remove unnecessary Function.bind shim

* remove unused dependency
2016-09-18 21:51:20 +02:00
Blade Barringer
c615af82f8 Merge pull request #8030 from crookedneighbor/switch_serverside_markdown
Switch serverside markdown
2016-09-17 21:04:01 -05:00
Sabe Jones
4468c2ca2f 3.41.4 2016-09-17 03:49:23 +00:00
Sabe Jones
ff53552fd3 chore(news): Bailey 20160916
And compile in Beffymaroo promo sprite
2016-09-17 03:33:02 +00:00
Ozzystrasza
f3f4229e49 use groupsFilter for search.group 2016-09-17 00:23:16 -03:00
Blade Barringer
d782ed5d20 chore: compile sprites 2016-09-16 21:03:28 -05:00
Blade Barringer
31a6e89be9 Update shrinkwrap 2016-09-16 20:51:22 -05:00
Blade Barringer
b3f21421e5 chore: remove unused packages 2016-09-16 20:35:15 -05:00
Blade Barringer
a70b8bc82b Use markdown in faq locales where possible 2016-09-16 20:35:10 -05:00
Blade Barringer
de9644f126 chore: switch out markdown-it for habitica-markdown 2016-09-16 20:35:06 -05:00
Sabe Jones
8b83d8d4e9 fix(sprites): use correct URL in CSS 2016-09-16 22:54:52 +00:00
Sabe Jones
c7fd6701ae 3.41.3 2016-09-16 21:58:00 +00:00
AccioBooks
5d18640215 Pluralization (#8027) 2016-09-16 16:14:23 -05:00
Sabe Jones
bde6b7d6ce chore(contact): revert community manager links (#8028) 2016-09-16 16:09:57 -05:00
Blade Barringer
5393c3b6c0 chore(i18n): update locales 2016-09-16 15:49:15 -05:00
Blade Barringer
84136882d3 fix: Add back in missing translation string
closes #8026
2016-09-16 15:40:34 -05:00
Sabe Jones
86c9bddc09 Handle social auth in A/B testing (#8024)
* fix(AB-testing): handle social auth

* refactor(AB-testing): move to pre save hooks
2016-09-16 19:13:21 +02:00
Blade Barringer
81b7eeeb71 Common reorg (#8025)
* Re-organize common folder

* fix: Correct paths in tests

* fix: move new content to proper folder

* chore: Move audio folder to assets

* Move sprites to sprites assets directory

* Move css sprites to assets directory

* Split out readmes for common code and sprites

* Move images to assets directory

* Move destinatin of shared browserified file

* remove unused file

* move compiled js to client-old

* Fix karma tests

* fix: Correct paths for sprites
2016-09-16 17:18:07 +02:00
Matteo Pagliazzi
d971e673af fix typo 2016-09-16 15:28:57 +02:00
Matteo Pagliazzi
603226a084 make sure Pusher cannot get stuck 2016-09-16 15:12:32 +02:00
Matteo Pagliazzi
a38f524d62 sync user n party chat system message 2016-09-16 14:36:38 +02:00
Matteo Pagliazzi
3b0e6e138a better handling of pusher connection with logging 2016-09-16 13:09:59 +02:00
Blade Barringer
9c0998c29a refactor(client): extract find pet logic into function 2016-09-15 22:02:11 -05:00
Oziris Moreira
4ad50b9d30 Fix Magic Mount Spacing (#8015)
* fix magic mount spacing

* simplify functions

* function hasAPetOfPotion

* var premiumPotion
2016-09-15 22:01:31 -05:00
Matteo Pagliazzi
998037e0a1 update npm-shrinkwrap.json 2016-09-15 23:46:03 +02:00
Oziris Moreira
2539655932 make eyewear purchaseable (#8010) 2016-09-15 07:46:53 -05:00
Matteo Pagliazzi
3d72233d54 fix Gruntfile path to old client tests 2016-09-15 13:05:35 +02:00
Matteo Pagliazzi
ab84e88650 reorganize old client tests 2016-09-15 13:05:23 +02:00
Sabe Jones
a4fd687510 3.41.2 2016-09-14 22:28:15 +00:00
Matteo Pagliazzi
0d1b5aad7e rtc fixes: do not show notification if message was sent by current user from different computer or mobile, put back message syncing on posting for guilds and tavern 2016-09-14 23:19:32 +02:00
Blade Barringer
1484f8afe3 fix: only report webhook error if there is an error 2016-09-14 12:51:50 -05:00
Matteo Pagliazzi
616574d438 fix challenge unit test 2016-09-14 16:51:09 +02:00
Matteo Pagliazzi
33bcb40077 rename client-new to client and add README 2016-09-14 16:43:11 +02:00
Matteo Pagliazzi
6bddef6878 add new client folder and expose it at /new-app when not in production 2016-09-14 16:34:55 +02:00
Matteo Pagliazzi
fefcb0f4ac Merge pull request #8013 from HabitRPG/paglias/reorg-client
Rename website/client to website/client-old
2016-09-14 16:22:25 +02:00
Matteo Pagliazzi
f6108ddb40 update npm shrinkwrap and add missing dependency for amazon payments 2016-09-14 16:18:28 +02:00
Blade Barringer
0c04a1880b 3.41.1 2016-09-14 08:19:36 -05:00
Matteo Pagliazzi
4b48b7a5f6 rename website/client to website/client-old 2016-09-14 15:06:32 +02:00
Blade Barringer
a2febc5f61 chore(i18n): update locales 2016-09-14 08:01:22 -05:00
Blade Barringer
241a031cb3 chore(i18n): update locales 2016-09-14 07:56:52 -05:00
Blade Barringer
555ddbbe4c fix: allow todo due date to be edited 2016-09-14 07:43:35 -05:00
Blade Barringer
8b0b326aef chore(i18n): update locales 2016-09-13 22:28:01 -05:00
Blade Barringer
269a0fd1e6 chore(i18n): update locales 2016-09-13 20:27:43 -05:00
Blade Barringer
e12e820f0a fix: Remove flavor from translation string 2016-09-13 20:23:48 -05:00
Blade Barringer
48a2b1e66e chore(i18n): update locales 2016-09-13 17:45:11 -05:00
Sabe Jones
0fe0c38a17 3.41.0 2016-09-13 22:00:14 +00:00
Matteo Pagliazzi
50ea1f5b08 RTC: add modal for desktop notifications (#8007)
* add initial modal for desktop notifications

* add missing files

* vertically center modal and use callback on safari

* fix(modal): update wording
2016-09-13 16:08:54 -05:00
Sabe Jones
52d8667fdb feat(content): Pet Quest 201909 2016-09-13 20:01:53 +00:00
cincospenguinos
f5f8f8c246 Players able to flag their own messages - Fixes #8005 (#8006)
* Players able to flag their own messages

* Modify test case to match the new behavior

* Remove a comment and a locales message
2016-09-13 12:23:11 -05:00
Blade Barringer
bbe4759691 fix(client): Correct behavior for editting new tasks 2016-09-13 12:11:56 -05:00
Blade Barringer
cbefc13e25 Revert "Revert "fixes task edit cancellation commit (#7931)""
This reverts commit 2da9876e42.
2016-09-13 11:52:47 -05:00
Blade Barringer
25aaa351ee chore(i18n): update locales 2016-09-13 11:52:18 -05:00
Sabe Jones
2da9876e42 Revert "fixes task edit cancellation commit (#7931)"
This reverts commit bbf15e1756.
2016-09-13 16:32:52 +00:00
Travis
282822def6 Don't show items in the seasonal shop that can't be purchased (#7859)
* making an api chnage so the seasonal shop will only return items that the user has never owned instead of all items the user doesn't currently own

* fixing commit so shop doesn't show already owned items

* recommenting out seasonal shop message as it's currently closed
2016-09-13 08:15:11 -05:00
Sabe Jones
f20a7b851f feat(analytics): AB testing
User model update for AB tests, and the first AB test to start Sept 12

closes #7984
2016-09-12 22:13:25 -05:00
Kaitlin Hipkin
6f2767edd3 Separate stats and achievs pages (#7804)
* separate stats and achievs tabs, move 'enable class system' button to stats

* move stats layout stuff from profile.jade to stats.jade

* shuffle stats page into more columns

* separate stats and achievs in expandable navbar submenus

* add multiple options for stats.jade: col1, col2, all; fixes weirdly crowded members modal

* make stats and achievs strings consistent

* remove mobile checks in profile.jade

* fix merge issue
2016-09-12 22:04:47 -05:00
Kaitlin Hipkin
c126aa532c cron does not count days with all-grey dailies as perfect (#7983) 2016-09-12 21:30:35 -05:00
Travis
bbf15e1756 fixes task edit cancellation commit (#7931)
* fixes the commit that shows actual task values when task edit is canceled.

This reverts commit 3d64f2b849.

* removing _edit references from fields of a task that can't change and are always set

* removing _edit from task.type as type cannot change while editing.

* Addressing comments by blade
2016-09-12 21:23:23 -05:00
AccioBooks
289b5c2a42 Remove "flicker" (#7926) 2016-09-12 21:10:37 -05:00
Blade Barringer
3f03aab4ee fix: clean up duplicate translation keys 2016-09-12 21:04:05 -05:00
Blade Barringer
78d5f8c4f5 fix(api): prevent users from signing up with habitica or habitrpg emails
fixes #7633
closes #7659
2016-09-12 20:41:44 -05:00
Blade Barringer
0150b355cb fix: move attachMiddlwares function so mongoose models have tx strings 2016-09-12 20:40:12 -05:00
Blade Barringer
d31dc6d9a9 fix: Update notifications lib to make it testable
closes #7770
closes #7782
2016-09-12 16:59:52 -05:00
Blade Barringer
9d537d93d8 fix(client): Copy inbox messages to tasks
fixes #7017
closes #6994
2016-09-12 08:01:50 -05:00
Blade Barringer
ed702a437d fix: Update challenge controller tests 2016-09-11 22:15:42 -05:00
Blade Barringer
379b318202 fix(client): Allow bulk task adding in challenges
closes #6781
fixes #6723
2016-09-11 21:59:18 -05:00
Blade Barringer
0474b5d2e6 chore(i18n): update locales 2016-09-11 09:19:50 -05:00
Matteo Pagliazzi
71f2f49a28 Merge pull request #7972 from HabitRPG/paglias/realtime-chat-v1
Real Time Chat v1 (parties only)
2016-09-11 12:59:02 +02:00
Travis
b73cf2e272 Adding tests to prove expected behavior around force starting a quest (#7848)
* starting

* adding tests to prove the expected behavior occurs around force starting a quest. part of #7653

* fixing up tests and adding functionality to remove user from quest if they are not in the questing party

* adding code to handle when the user is deleted and added a test around that situation

* fixing up comments
2016-09-10 23:10:37 -05:00
Blade Barringer
ed4039c08c refactor(api): Use forEach instead of a for loop 2016-09-10 23:03:42 -05:00
Alyssa Batula
923b6c495e Collection quest progress reports "found no [item names]" fixes #7816 (#7883)
* Updated collection quest tests for no found items.

Single-item quests state [user] found no [items]. instead of [user] found nothing. If a
quest has two items, the chat message is [user] found no [item1] and no [item2].

* Collection quest messages changed from [user] found nothing to [user] found no [item]

* Tests for no collection quest items found changed to [user] found 0 [item1], 0 [item2]

* Changed chat messages for no found collection quest items to [user] found 0 [item1], 0 [item2]

* Sort items alphabetically in multi-item quests so that it always returns the same string

* Formatting updates to conform to test specifications (for collection quest progress reports with no items found

* Simplified handling of items not found: any items not found are added to the list of found items with quantity 0 for reporting in the group chat. This also causes all items to appear, in the list, even if only one type is found in a multi-item quest.

* Test the group chat message when no items are found in multi-item quests. Test succes no longer depends on the order items are listed.
2016-09-10 23:03:28 -05:00
Blade Barringer
b8878df6bd fix(client): Apply sleep prevention to some avatar generation calls 2016-09-10 22:41:20 -05:00
Alyssa Batula
aac38dda91 Avatar's eyes can be set to open or closed in modals while in the Inn fixes #6282 (#7988)
* Avatar model can be set to have eyes open, eyes shut, or left to default by specifying the sleep parameter in generatedAvatar to be false, true, or null (respectively).

* Explicitly check true and false and switched to using triple equals for equality comparisons for avatar sleep setting.
2016-09-10 22:41:00 -05:00
Blade Barringer
3d53781bd3 Fix content name error (#7995)
* fix: correct translation strings for pet/mount names

* chore: expose potion and egg key, not object in pet content api

* fix: Update feed route to use potion and egg objects

* refactor: Update feed route to use petInfo

* Use pet/mount text method for name

* correct feed route
2016-09-10 22:05:25 -05:00
Alys
295463b210 improve instructions about sending login details (no password) 2016-09-11 08:27:31 +10:00
Blade Barringer
bf3387703d Pull out animal content into separate files (#7989)
* Pull out animal content into separate files

* Correct variable names

* Add tests for stable, eggs, and hatching potions content

* Add content test back into npm test
2016-09-10 13:37:10 -05:00
Blade Barringer
f496a6b0c7 feat: Lower cost of orb of rebirth
closes #7917
fixes #7944
2016-09-09 21:08:42 -05:00
Oziris
0dfb1f150f Provide better invitation messaging
closes #7794
fixes #7789
2016-09-09 20:37:05 -05:00
Matteo Pagliazzi
2d6223377f chat: better behavior for menu notification 2016-09-09 21:34:24 +02:00
Matteo Pagliazzi
60f7a1dbd9 add small timeout before asking for notification permission 2016-09-09 21:26:40 +02:00
Matteo Pagliazzi
f6c765b7b5 better notifications icon 2016-09-09 21:03:47 +02:00
Matteo Pagliazzi
e2b03ec9cf Merge branch 'develop' into paglias/realtime-chat-v1 2016-09-09 20:13:21 +02:00
Matteo Pagliazzi
98df0f26e7 add notifications, fix too many seen requests and misc fixes 2016-09-09 20:12:17 +02:00
Matteo Pagliazzi
a748e57cd7 do not sync automatically on chat seen requests 2016-09-09 19:11:21 +02:00
Oziris Moreira
7d7bb3ecb8 Prevent Challenge page from scrolling to top (#7975)
* Test pageTitle challenge

* Test state name challenge detail

* Change != to !==

* IGNORE_SCROLL_PAGES

* add challenge to ignore_scroll
2016-09-09 08:51:08 -05:00
Kaitlin Hipkin
a3f83b9076 Improvement #6912: New achievement modal service and more achievement tests (#6943)
* add tests for beastMaster, mountMaster, and triadBingo achievements

* add tests for challengeWon, streak, ultimateGear, rebirth, and contributor achievements

* add achievement service that has openModal function

* achievement test pass again

* fix indentation, rename openModal to more descriptive displayAchievement

* add unit tests for achievements service

* initialize user.preferences.suppressModals in specHelper.newUser

* update achievement tests to account for new notification service

* add new achievementServices file to manifest.json

* fix tests

* award wonChallenge achiev like other achievs

* differentiate between small and normal achiev modals

* refactor achievementService.displayAchievement() to take options param
2016-09-09 07:58:44 -05:00
Alys
31a1a14bae 3.40.0 2016-09-09 17:14:01 +10:00
Alys
f16f9684ca fix spelling mistake and remove outdated material 2016-09-09 16:36:09 +10:00
Connor McArthur
598f0a7a1b chore: Add cron semi-safe mode tests
fixes #7464
closes #7733
2016-09-08 21:46:02 -05:00
Blade Barringer
909ee94b20 Merge pull request #7750 from thompsnm/develop
Add tests for timezoneOffsetToUtc filter
2016-09-08 21:39:04 -05:00
Blade Barringer
1250d69d17 chore: Add android FAQs
fixes #7719
closes #7726
2016-09-08 21:28:04 -05:00
Blade Barringer
d9b8ee840d chore: Update press kit
Implimented from #7262

fixes #7174
closes #7262
2016-09-08 21:18:02 -05:00
Blade Barringer
a4557e87a9 Merge pull request #7986 from JSchneidler/slack_fix
Use npm package instead of github for @slack/client.
2016-09-08 20:33:18 -05:00
Blade Barringer
f275265c2b chore: Provide additional tests for local login defaults 2016-09-08 20:32:20 -05:00
Rick Kasten
97417c626a Fixes #7933 - Change Default tags to match types, not times of day (#7954)
* Fixes #7933

Changes

Default tags changed to
- "Work"
- "Exercise"
- "Health + Wellness"
- "School"
- "Teams"
- "Chores"
- "Creativity"

Changes made only to the en and en_GB locales

UUID: 30983c37-52c3-415d-977c-38af6c7db91c

* Reverting changes to en_GB locale

* Reverting format change
2016-09-08 20:26:34 -05:00
Blade Barringer
454ccffb03 fix: save tour state
Implimentation of #6545 by @tylerxo

fixes #5854
fixes #5852

closes #6545
2016-09-08 20:23:49 -05:00
Jordan Schneidler
405798d958 Changed slack client to use npm package instead of github. 2016-09-08 17:38:27 -05:00
Matteo Pagliazzi
94e2691bae Merge branch 'develop' into paglias/realtime-chat-v1 2016-09-08 19:16:37 +02:00
Matteo Pagliazzi
d1903578f9 pusher: remove more duplicate code ( sorry :( ) 2016-09-08 19:13:52 +02:00
Matteo Pagliazzi
6ba721998a Merge branch 'develop' into paglias/realtime-chat-v1 2016-09-08 19:12:05 +02:00
Blade Barringer
0c0f50f647 Merge pull request #7979 from crookedneighbor/fix_infinite_build_output
Fix infinite build error
2016-09-08 12:07:05 -05:00
Matteo Pagliazzi
459a41a5ac pusher: remove duplicate code 2016-09-08 19:05:22 +02:00
Matteo Pagliazzi
136b4ada45 renable limit on number of tabs connected 2016-09-08 19:05:03 +02:00
Matteo Pagliazzi
d4dc455926 re-enable limit of 1 tab per user connected to pusher 2016-09-08 18:51:24 +02:00
Matteo Pagliazzi
cac764e5d1 add online indicator for party members 2016-09-08 18:48:07 +02:00
AccioBooks
ef73c61e0e API Warning message (#7978)
* Warning message

* Change warning text and style

* Update settings.json
2016-09-08 16:46:21 +10:00
Blade Barringer
0862c3b077 fix: Correct quest damange calculation
fixes #7980
2016-09-07 21:09:12 -05:00
Blade Barringer
543a9d06c1 3.39.1 2016-09-07 21:00:46 -05:00
Blade Barringer
aff9af7db2 Revert "Disable checkbox"
This reverts commit 82448b2a93.
2016-09-07 20:45:40 -05:00
Blade Barringer
730fe8898e Fix infnite build error fix 2016-09-07 20:17:29 -05:00
Sabe Jones
0de3efe942 3.39.0 2016-09-07 20:39:51 +00:00
Sabe Jones
e474dc199b chore(sprites): compile 2016-09-07 20:39:30 +00:00
Sabe Jones
4844aa5e47 chore(news): misc Bailey 2016-09-07 20:19:43 +00:00
Blade Barringer
ee409174f1 Format files to adhere to editorconfig (#7977) 2016-09-07 12:58:26 -05:00
Blade Barringer
da8f0373ba fix: correct api tag tests to not rely on default tags 2016-09-07 12:55:07 -05:00
Blade Barringer
67716ef309 Clean up quest progress logic 2016-09-07 12:48:06 -05:00
Thomas Gamble
db19dbf49c shows quest progress in menu #7928
fixes #7928
closes #7960
2016-09-07 12:47:50 -05:00
Matteo Pagliazzi
748e9f7580 Merge branch 'develop' into paglias/realtime-chat-v1 2016-09-07 17:21:43 +02:00
Matteo Pagliazzi
7ea9debe3f trigger pusher on system messages too 2016-09-07 17:18:48 +02:00
Matteo Pagliazzi
ea2be45414 add notifications for real time messages 2016-09-07 17:16:32 +02:00
Matteo Pagliazzi
41079a65c6 correctly reconnect to pusher after inactivity 2016-09-07 17:00:43 +02:00
Matteo Pagliazzi
15ceab4bf4 Merge branch 'develop' into paglias/realtime-chat-v1 2016-09-07 16:59:50 +02:00
Matteo Pagliazzi
85c4332a40 pusher: remove commented code that is unused 2016-09-07 16:51:22 +02:00
Matteo Pagliazzi
dafae31366 disable limit of 1 tab per browser connected to pusher 2016-09-07 16:50:22 +02:00
Matteo Pagliazzi
40c9c05514 fix first connection to pusher 2016-09-07 16:46:32 +02:00
Matteo Pagliazzi
0baff2dfd9 remove limit of 1 connected tab per browser 2016-09-07 16:44:20 +02:00
Matteo Pagliazzi
a4ecdbeb3e fully sync party on system messages 2016-09-07 16:39:53 +02:00
Matteo Pagliazzi
fd00543a8d change button text for syncing party 2016-09-07 16:01:21 +02:00
AccioBooks
861eaf36d3 Create .editorconfig
fixes #4376
closes #7957
2016-09-07 08:44:57 -05:00
Blade Barringer
def2ea0add Merge branch 'Ozzystrasza-challenge_sample_tasks' into develop 2016-09-07 08:23:55 -05:00
Ozzystrasza
82448b2a93 Disable checkbox
fixes #5284
closes #7961
2016-09-07 08:23:17 -05:00
Alys
9fde8b4d48 adjust footer to have relative link for Submit Bug (fixes #7973) and "News" link for Old News page (ref. #7976) 2016-09-07 23:17:21 +10:00
AccioBooks
5f9eb6a72c Old news (#7976)
* Update footer.jade

* Update front.json

* Update front.json
2016-09-07 07:55:33 -05:00
Blade Barringer
e4fcbed769 Merge pull request #7956 from MathWhiz/patch-1
Clear up login button text
2016-09-06 20:57:46 -05:00
Matteo Pagliazzi
f28dead692 do not sync party every time the page is opened, update chat in realtime 2016-09-06 11:18:52 +02:00
Matteo Pagliazzi
6792464fbf limit rtc to parties 2016-09-05 17:54:24 +02:00
Matteo Pagliazzi
4b6af73a1b add support for brazilian portuguese (#7910) 2016-09-04 20:00:49 +02:00
Keith Holliday
836cee2531 Groups assign tasks (#7887)
* Added initial code for creating and reading group tasks

* Separated group task routes. Separated shared task functions

* Added taskOrder to group

* Minor style fixes

* Fixed lint issues

* Added unit tests for task manager

* Updated task helper functions

* Fixed history test

* Fixed group task query

* Removed extra var

* Updated with new file structure

* Updated noset values

* Removed unecessary undefineds, fixed comments, Added apiignore

* Separated group task routes. Separated shared task functions

* Added unit tests for task manager

* Added initial groups assign route and tests

* Added sync assigned task to user

* Added unassign route and unlink method

* Added remove and unlink group task

* Updated linking and unlinking. Add test for updating task info

* Added delete group task and tests

* Added sync on task update and tests

* Added multiple users assignment

* Updated unassign for multiple users

* Added test for delete task with multiple assigend users

* Added update task for multiple assigned users

* Fixed issue with get tasks

* Abstracted syncable attributes and add tests

* Fixed merge conflicts

* Fixed style issues, limited group query fields, and added await

* Fixed group fields needed. Removed api v2 code

* Fixed style issues

* Moved group field under group sub document. Updated tests. Fixed other broken tests

* Renamed linkedTaskId and fixed broken alias tests

* Added debug middleware to new routes

* Fixed debug middleware import

* Added additional user id check for original group tasks

* Updated challenge task check to look for challenge id

* Added checklist sync fix
2016-09-03 10:54:55 +02:00
Blade Barringer
173b3f3f84 fix: Account for system messages in flag slack alert 2016-09-02 15:23:56 -05:00
Blade Barringer
36d3ac4611 fix: prevent 500 error when unflagging a system message 2016-09-02 15:14:41 -05:00
Blade Barringer
c703517b25 3.38.0 2016-09-02 13:04:27 -05:00
Blade Barringer
b15476be7a chore(i18n): update locales 2016-09-02 11:39:36 -05:00
Blade Barringer
aa2c941e1a Merge pull request #7938 from HabitRPG/send_flags_to_slack
Send flags to slack
2016-09-02 11:32:42 -05:00
Blade Barringer
87973d7b66 chore: Switch out footer link for HabitRPG version 2016-09-02 11:10:48 -05:00
Blade Barringer
45e4c6867e chore(test): increase test coverage around logger lib 2016-09-02 11:10:47 -05:00
Blade Barringer
6480602ee6 fix(test): Correct logger test 2016-09-02 11:10:47 -05:00
Blade Barringer
41851afe5f fix: noop if no slack flagging url is passed in 2016-09-02 11:10:46 -05:00
Blade Barringer
2180cb3d98 feat(api): Send flag notifications to slack 2016-09-02 11:10:46 -05:00
Sabe Jones
bd5471a0e3 3.37.0 2016-09-01 21:01:40 +00:00
Sabe Jones
e5f2bd4fb1 chore(sprites): compile 2016-09-01 21:01:30 +00:00
Sabe Jones
5c761b1237 feat(content): BGs and Armoire comp (#7964) 2016-09-01 15:56:35 -05:00
Sabe Jones
3649699b8d 3.36.1 2016-09-01 17:57:13 +00:00
Blade Barringer
7702f9dccc Challenge checklist fix (#7963)
* fix(challenges): don't wipe user xlists

* Add test for challenge checklists not syncing to user
2016-09-01 12:34:02 -05:00
Sabe Jones
95d33a1dff 3.36.0 2016-09-01 16:03:14 +00:00
Sabe Jones
7efde862f1 fix(challenges): temp remove challenge edit 2016-09-01 15:45:36 +00:00
Blade Barringer
ebef5ad60c chore: Add test for duplicate locale keys 2016-08-31 21:26:05 -05:00
Sabe Jones
e65f27fb69 fix(subscriptions): gift termination date (#7948) 2016-08-31 17:16:40 -05:00
Sabe Jones
cb1417ea58 Handle empty market category on Drops page (#7959)
* fix(market): hide category in view

* refactor(view): if, not hide

* fix(test): allow empty market cat
2016-08-31 17:16:22 -05:00
Sabe Jones
75eb1b11cf chore(challenge): next Take This migration 2016-08-31 19:41:04 +00:00
Sabe Jones
7e0a860b25 chore(content): disable Thunderpotions
Also remove superfluous message about the Quests Shop
2016-08-31 19:14:28 +00:00
AccioBooks
2d28d8ffed Clear up login button text 2016-08-31 12:14:42 -05:00
Blade Barringer
3cda5d6b38 chore(i18n): update locales 2016-08-31 08:57:19 -05:00
Sabe Jones
57f49d2a7d feat(content): Armoire and BG strings 2016-08-30 21:09:04 +00:00
Sabe Jones
e69b733f90 3.35.0 2016-08-30 17:36:30 +00:00
Sabe Jones
c726fa78f5 chore(news): misc Bailey 2016-08-30 17:11:29 +00:00
Sabe Jones
2e050be111 fix(contact): s/leslie/admin/g (#7945) 2016-08-29 19:58:51 -05:00
Blade Barringer
e5f2a06491 Merge pull request #7941 from gambtho/develop
When blocking a user, make them rest at the inn - fixes #7935
2016-08-27 10:52:30 -05:00
Blade Barringer
6e5d2ad20a Merge pull request #7943 from crookedneighbor/update_require-again
chore: Update require-again
2016-08-27 10:31:59 -05:00
Thomas Gamble
af088d4b3a Blocking a user makes them sleep Fixes #7935
Blocking a user will make the user rest at an inn, the user will
remain resting when unblocked
2016-08-27 11:17:45 -04:00
Blade Barringer
92bbafeb5d chore: Update require-again 2016-08-27 09:57:13 -05:00
Alys
9981f450c0 clarify usage of API's block route and remove incorrect info about only admins using it 2016-08-27 06:04:51 -07:00
Blade Barringer
44abfeb013 Merge pull request #7934 from ujjwalgulecha/fix-health-potion-when-health-is-max
GP will not be deducted if health is max
2016-08-27 07:56:46 -05:00
Ujjwal Gulecha
03c14859d5 GP will not be deducted if health is max 2016-08-26 11:30:17 -07:00
Alys
320d8cac5f replace "Tavern Talk" with "Tavern Chat" above Tavern's chat box - fixes https://github.com/HabitRPG/habitrpg/issues/6813 2016-08-26 07:57:16 -07:00
Blade Barringer
33377263d9 feat(api): Admins can unflag private group messages 2016-08-25 15:31:39 -05:00
Blade Barringer
7f50532e8b Merge pull request #7930 from crookedneighbor/flag_improvements
Flag improvements
2016-08-24 22:28:26 -05:00
Blade Barringer
cf804be04e chore(api): Update flag chat docs 2016-08-24 21:32:48 -05:00
Blade Barringer
65556c0444 feat: Allow admins to flag messages in private groups 2016-08-24 21:32:32 -05:00
Sabe Jones
88d26cd200 fix(news): credit TheHollidayInn 2016-08-24 15:15:43 -05:00
Husman
2308e14d3e fix: allows leader of challenge to create new challenge tasks even when not a participant of the challenge. fixes #7918
closes #7924
2016-08-24 12:07:54 -05:00
Blade Barringer
5bcc2561ae feat(client): Show battle with friends button with 3 members
fixes #6754
closes #6765
2016-08-24 08:45:39 -05:00
Nathan Thompson
d2c50c7889 Add tests for timezoneOffsetToUtc filter 2016-07-01 17:27:02 -06:00
6901 changed files with 62164 additions and 46447 deletions

View File

@@ -1,3 +1,3 @@
{
"directory": "website/client/bower_components"
"directory": "website/client-old/bower_components"
}

11
.editorconfig Normal file
View File

@@ -0,0 +1,11 @@
# top level config
root = true
# all files
[*]
charset = utf-8
end_of_line = lf # Unix-style
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

View File

@@ -1,28 +1,27 @@
# Compiled and vendored files
common/dist/
common/transpiled-babel/
coverage/
database_reports/
website/build/
website/transpiled-babel/
website/common/transpiled-babel/
dist/
dist-client/
# Not linted
migrations/*
# The files in website/client/js should be moved out and browserified
website/client/
# Temporarilly disabled. These should be removed when the linting errors are fixed
common/script/content/index.js
debug-scripts/*
website/client-old/
scripts/*
tasks/*.js
gulpfile.js
Gruntfile.js
newrelic.js
test/api-legacy/**/*
test/common/simulations/**/*
test/content/**/*
test/server_side/**/*
test/spec/**/*
test/client-old/spec/**/*
# Temporarilly disabled. These should be removed when the linting errors are fixed TODO
website/common/script/content/index.js
website/common/browserify.js
test/content/**/*
Gruntfile.js
gulpfile.js
gulp
webpack
test/client/e2e
test/client/unit/index.js
test/client/unit/karma.conf.js

View File

@@ -1,10 +1,10 @@
{
"root": true,
"env": {
"node": true,
},
"extends": [
"habitrpg/server",
"habitrpg/babel"
"habitrpg/es6",
"habitrpg"
],
"globals": {
"Promise": true,
"Set": false
}
}

View File

@@ -9,5 +9,6 @@ Fixes put_issue_url_here
[//]: # (Put User ID in here - found in Settings -> API)
----
UUID:

25
.gitignore vendored
View File

@@ -1,18 +1,19 @@
.DS_Store
website/client/gen
website/client/common
website/client/apidoc
website/client-old/gen
website/client-old/common
website/client-old/apidoc
website/client-old/js/habitrpg-shared.js*
website/client-old/css/habitrpg-shared.css
website/transpiled-babel/
common/transpiled-babel/
website/common/transpiled-babel/
node_modules
*.swp
.idea*
config.json
npm-debug.log*
lib
website/client/bower_components
website/client/new-stuff.html
website/build
website/client-old/bower_components
website/client-old/new-stuff.html
newrelic_agent.log
.bower-tmp
.bower-registry
@@ -25,14 +26,16 @@ src/*/*.map
src/*/*/*.map
test/*.js
test/*.map
website/client/docs
website/client-old/docs
*.sublime-workspace
coverage
coverage.html
common/dist/scripts/*
common/dist/sprites/habitrpg-shared.css
test/spec/mocks/translations.js
dist
dist-client
test/client/unit/coverage
test/client/e2e/reports
test/client-old/spec/mocks/translations.js
# Elastic Beanstalk Files
.elasticbeanstalk/*

View File

@@ -2,9 +2,11 @@ node_modules/**
.bower-cache/**
.bower-tmp/**
.bower-registry/**
website/client-old/**
website/client/**
website/views/**
website/build/**
dist/**
test/**
.git/**
Gruntfile.js

View File

@@ -2,16 +2,21 @@ language: node_js
node_js:
- '4.3.1'
before_install:
- "npm install -g npm@3"
- "npm install -g gulp"
- "sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10"
- "echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list"
- "sudo apt-get update"
- "sudo apt-get install mongodb-org-server"
- npm install -g npm@3
- if [ $REQUIRES_SERVER ]; then sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10; echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list; sudo apt-get update; sudo apt-get install mongodb-org-server; fi
before_script:
- 'npm install -g grunt-cli mocha'
- npm run test:build
- cp config.json.example config.json
- "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done"
- "export DISPLAY=:99"
- if [ $REQUIRES_SERVER ]; then until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done; export DISPLAY=:99; fi
after_script:
- "./node_modules/.bin/lcov-result-merger 'coverage/**/*.info' | ./node_modules/coveralls/bin/coveralls.js"
- ./node_modules/.bin/lcov-result-merger 'coverage/**/*.info' | ./node_modules/coveralls/bin/coveralls.js
script: npm run $TEST
env:
matrix:
- TEST="lint"
- TEST="test:api-v3" REQUIRES_SERVER=true
- TEST="test:sanity"
- TEST="test:content"
- TEST="test:common"
- TEST="test:karma"
- TEST="client:unit"

View File

@@ -9,10 +9,10 @@ module.exports = function(grunt) {
karma: {
unit: {
configFile: 'karma.conf.js'
configFile: 'test/client-old/spec/karma.conf.js'
},
continuous: {
configFile: 'karma.conf.js',
configFile: 'test/client-old/spec/karma.conf.js',
singleRun: true,
autoWatch: false
}
@@ -28,11 +28,11 @@ module.exports = function(grunt) {
report: 'gzip'
},
files:{
"common/dist/sprites/habitrpg-shared.css": [
"common/dist/sprites/spritesmith*.css",
"common/css/backer.css",
"common/css/Mounts.css",
"common/css/index.css"
"website/client-old/css/habitrpg-shared.css": [
"website/assets/sprites/dist/spritesmith*.css",
"website/assets/sprites/css/backer.css",
"website/assets/sprites/css/Mounts.css",
"website/assets/sprites/css/index.css"
]
}
}
@@ -43,11 +43,11 @@ module.exports = function(grunt) {
options: {
compress: false, // AFTER
'include css': true,
paths: ['website/client']
paths: ['website/client-old']
},
files: {
'website/build/app.css': ['website/client/css/index.styl'],
'website/build/static.css': ['website/client/css/static.styl']
'website/build/app.css': ['website/client-old/css/index.styl'],
'website/build/static.css': ['website/client-old/css/static.styl']
}
}
},
@@ -55,13 +55,13 @@ module.exports = function(grunt) {
copy: {
build: {
files: [
{expand: true, cwd: 'website/client/', src: 'favicon.ico', dest: 'website/build/'},
{expand: true, cwd: 'website/client/', src: 'favicon_192x192.png', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/dist/sprites/spritesmith*.png', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/backer-only/*.gif', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/npc_ian.gif', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/quest_*.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/client/', src: 'bower_components/bootstrap/dist/fonts/*', dest: 'website/build/'}
{expand: true, cwd: 'website/client-old/', src: 'favicon.ico', dest: 'website/build/'},
{expand: true, cwd: 'website/client-old/', src: 'favicon_192x192.png', dest: 'website/build/'},
{expand: true, cwd: 'website/assets/sprites/dist/', src: 'spritesmith*.png', dest: 'website/build/'},
{expand: true, cwd: 'website/assets/sprites/', src: 'backer-only/*.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/assets/sprites/', src: 'npc_ian.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/assets/sprites/', src: 'quest_*.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/client-old/', src: 'bower_components/bootstrap/dist/fonts/*', dest: 'website/build/'}
]
}
},
@@ -77,10 +77,8 @@ module.exports = function(grunt) {
'website/build/*.css',
'website/build/favicon.ico',
'website/build/favicon_192x192.png',
'website/build/common/dist/sprites/*.png',
'website/build/common/img/sprites/backer-only/*.gif',
'website/build/common/img/sprites/npc_ian.gif',
'website/build/common/img/sprites/quest_*.gif',
'website/build/*.png',
'website/build/*.gif',
'website/build/bower_components/bootstrap/dist/fonts/*'
],
dest: 'website/build/*.css'
@@ -88,9 +86,9 @@ module.exports = function(grunt) {
}
});
//Load build files from client/manifest.json
grunt.registerTask('loadManifestFiles', 'Load all build files from client/manifest.json', function(){
var files = grunt.file.readJSON('./website/client/manifest.json');
//Load build files from client-old/manifest.json
grunt.registerTask('loadManifestFiles', 'Load all build files from client-old/manifest.json', function(){
var files = grunt.file.readJSON('./website/client-old/manifest.json');
var uglify = {};
var cssmin = {};
@@ -101,7 +99,7 @@ module.exports = function(grunt) {
_.each(files[key].js, function(val){
var path = "./";
if( val.indexOf('common/') == -1)
path = './website/client/';
path = './website/client-old/';
js.push(path + val);
});
@@ -110,7 +108,7 @@ module.exports = function(grunt) {
_.each(files[key].css, function(val){
var path = "./";
if( val.indexOf('common/') == -1) {
path = (val == 'app.css' || val == 'static.css') ? './website/build/' : './website/client/';
path = (val == 'app.css' || val == 'static.css') ? './website/build/' : './website/client-old/';
}
css.push(path + val)
});
@@ -122,21 +120,13 @@ module.exports = function(grunt) {
grunt.config.set('cssmin.build.files', cssmin);
// Rewrite urls to relative path
grunt.config.set('cssmin.build.options', {'target': 'website/client/css/whatever-css.css'});
grunt.config.set('cssmin.build.options', {'target': 'website/client-old/css/whatever-css.css'});
});
// Register tasks.
grunt.registerTask('build:prod', ['loadManifestFiles', 'clean:build', 'uglify', 'stylus', 'cssmin', 'copy:build', 'hashres']);
grunt.registerTask('build:dev', ['cssmin', 'stylus']);
grunt.registerTask('build:test', ['test:prepare:translations', 'build:dev']);
grunt.registerTask('test:prepare:translations', function() {
var i18n = require('./website/server/libs/i18n'),
fs = require('fs');
fs.writeFileSync('test/spec/mocks/translations.js',
"if(!window.env) window.env = {};\n" +
"window.env.translations = " + JSON.stringify(i18n.translations['en']) + ';');
});
grunt.registerTask('build:test', ['build:dev']);
// Load tasks
grunt.loadNpmTasks('grunt-contrib-uglify');
@@ -146,6 +136,6 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-hashres');
grunt.loadNpmTasks('grunt-karma');
if (process.env.NODE_ENV !== 'production') grunt.loadNpmTasks('grunt-karma');
};

View File

@@ -1,4 +1,4 @@
Habitica [![Build Status](https://travis-ci.org/HabitRPG/habitrpg.svg?branch=develop)](https://travis-ci.org/HabitRPG/habitrpg) [![Code Climate](https://codeclimate.com/github/HabitRPG/habitrpg.svg)](https://codeclimate.com/github/HabitRPG/habitrpg) [![Coverage Status](https://coveralls.io/repos/HabitRPG/habitrpg/badge.svg?branch=develop)](https://coveralls.io/r/HabitRPG/habitrpg?branch=develop) [![Bountysource](https://api.bountysource.com/badge/tracker?tracker_id=68393)](https://www.bountysource.com/trackers/68393-habitrpg?utm_source=68393&utm_medium=shield&utm_campaign=TRACKER_BADGE)
Habitica [![Build Status](https://travis-ci.org/HabitRPG/habitica.svg?branch=develop)](https://travis-ci.org/HabitRPG/habitica) [![Code Climate](https://codeclimate.com/github/HabitRPG/habitrpg.svg)](https://codeclimate.com/github/HabitRPG/habitrpg) [![Coverage Status](https://coveralls.io/repos/HabitRPG/habitrpg/badge.svg?branch=develop)](https://coveralls.io/r/HabitRPG/habitrpg?branch=develop) [![Bountysource](https://api.bountysource.com/badge/tracker?tracker_id=68393)](https://www.bountysource.com/trackers/68393-habitrpg?utm_source=68393&utm_medium=shield&utm_campaign=TRACKER_BADGE)
===============
[Habitica](https://habitica.com) is an open source 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.
@@ -10,21 +10,3 @@ For an introduction to the technologies used and how the software is organized,
To set up a local install of Habitica for development and testing, see [Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally), which contains instructions for Windows, *nix / Mac OS, and Vagrant.
Then read [Guidance for Blacksmiths](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths) for additional instructions and useful tips.
## Debug Scripts
In the `./debug-scripts/` folder, there are a few files. Here's a sample:
```bash
grant-all-equipment.js
grant-all-mounts.js
grant-all-pets.js
```
You can run them by doing:
```bash
node debug-scripts/name-of-script.js
```
If there are more arguments required to make the script work, it will print out the usage and an explanation of what the script does.

View File

@@ -9,7 +9,7 @@
"ignore": [
"**/.*",
"node_modules",
"website/client/bower_components",
"website/client-old/bower_components",
"test",
"tests"
],
@@ -36,14 +36,15 @@
"jquery-ui": "1.10.3",
"jquery.cookie": "1.4.0",
"js-emoji": "snicker/js-emoji#f25d8a303f",
"ngInfiniteScroll": "1.0.0",
"ngInfiniteScroll": "1.1.0",
"pnotify": "1.3.1",
"sticky": "1.0.3",
"swagger-ui": "wordnik/swagger-ui#v2.0.24",
"smart-app-banner": "78ef9c0679723b25be1a0ae04f7b4aef7cbced4f",
"habitica-markdown": "1.2.2",
"pusher-js-auth": "^2.0.0",
"pusher-websocket-iso": "pusher#^3.1.0"
"pusher-websocket-iso": "pusher#^3.2.0",
"taggle": "^1.11.1"
},
"devDependencies": {
"angular-mocks": "1.3.9"

View File

@@ -1,4 +0,0 @@
{
"extends": "habitrpg/browser"
}

View File

@@ -1,16 +0,0 @@
# Common
Shared resources useful for the multiple Habitica repositories, that way all the repositories remain in-sync with common characteristics. Includes things like:
* Assets - sprites, images, etc
* CSS - especially, esp. sprite-sheet mapping
* Algorithms - level up algorithm, scoring functions, etc
* View helper functions that may come in handy for multiple client MVCs
* Item definitions - weapons, armor, pets
## Compiling spritesheets
Because of some wonkiness with Heroku, the spritesheet compilation is not part of the production build process and must be done manually when new images are added by running:
``` bash
npm run sprites
```

View File

@@ -1,558 +0,0 @@
.2014_Fall_HealerPROMO2 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1116px -1275px;
width: 90px;
height: 90px;
}
.2014_Fall_Mage_PROMO9 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1355px -1011px;
width: 120px;
height: 90px;
}
.2014_Fall_RoguePROMO3 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -306px -311px;
width: 105px;
height: 90px;
}
.2014_Fall_Warrior_PROMO {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1389px -1275px;
width: 90px;
height: 90px;
}
.promo_android {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -813px -151px;
width: 175px;
height: 175px;
}
.promo_backgrounds_armoire_201602 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -994px -199px;
width: 141px;
height: 294px;
}
.promo_backgrounds_armoire_201603 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1136px -199px;
width: 141px;
height: 294px;
}
.promo_backgrounds_armoire_201604 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -452px 0px;
width: 140px;
height: 441px;
}
.promo_backgrounds_armoire_201605 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -281px -525px;
width: 140px;
height: 441px;
}
.promo_backgrounds_armoire_201606 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -140px -525px;
width: 140px;
height: 447px;
}
.promo_backgrounds_armoire_201607 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px -525px;
width: 139px;
height: 588px;
}
.promo_backgrounds_armoire_201608 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -452px -442px;
width: 140px;
height: 439px;
}
.promo_backtoschool {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -302px;
width: 150px;
height: 150px;
}
.promo_burnout {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -593px -151px;
width: 219px;
height: 240px;
}
.promo_chairs_glasses {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -452px -882px;
width: 51px;
height: 210px;
}
.promo_classes_fall_2014 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -593px -684px;
width: 321px;
height: 100px;
}
.promo_classes_fall_2015 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -994px -808px;
width: 377px;
height: 99px;
}
.promo_dilatoryDistress {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -364px -1378px;
width: 90px;
height: 90px;
}
.promo_egg_mounts {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -994px -494px;
width: 280px;
height: 147px;
}
.promo_enchanted_armoire {
background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px -1114px;
width: 374px;
height: 76px;
}
.promo_enchanted_armoire_201507 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -699px -967px;
width: 217px;
height: 90px;
}
.promo_enchanted_armoire_201508 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -468px -1275px;
width: 180px;
height: 90px;
}
.promo_enchanted_armoire_201509 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -546px -1378px;
width: 90px;
height: 90px;
}
.promo_enchanted_armoire_201511 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1357px -908px;
width: 122px;
height: 90px;
}
.promo_enchanted_armoire_201601 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -910px -1378px;
width: 90px;
height: 90px;
}
.promo_floral_potions {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -593px -785px;
width: 105px;
height: 273px;
}
.promo_habitica {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1278px -199px;
width: 175px;
height: 175px;
}
.promo_habitica_sticker {
background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px -220px;
width: 305px;
height: 304px;
}
.promo_haunted_hair {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -1044px;
width: 100px;
height: 137px;
}
.promo_item_notif {
background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px -1275px;
width: 249px;
height: 102px;
}
.promo_mystery_201405 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1001px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201406 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -91px -1378px;
width: 90px;
height: 96px;
}
.promo_mystery_201407 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1593px -960px;
width: 42px;
height: 62px;
}
.promo_mystery_201408 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1432px -494px;
width: 60px;
height: 71px;
}
.promo_mystery_201409 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1183px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201410 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -919px -573px;
width: 72px;
height: 63px;
}
.promo_mystery_201411 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1092px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201412 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1596px -819px;
width: 42px;
height: 66px;
}
.promo_mystery_201501 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1593px -896px;
width: 48px;
height: 63px;
}
.promo_mystery_201502 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -728px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201503 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -637px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201504 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1432px -566px;
width: 60px;
height: 69px;
}
.promo_mystery_201505 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1025px -1275px;
width: 90px;
height: 90px;
}
.promo_mystery_201506 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1596px -749px;
width: 42px;
height: 69px;
}
.promo_mystery_201507 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px -1378px;
width: 90px;
height: 105px;
}
.promo_mystery_201508 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -649px -1275px;
width: 93px;
height: 90px;
}
.promo_mystery_201509 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -273px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201510 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -931px -1275px;
width: 93px;
height: 90px;
}
.promo_mystery_201511 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -182px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201512 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1424px -96px;
width: 60px;
height: 81px;
}
.promo_mystery_201601 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1372px -808px;
width: 120px;
height: 90px;
}
.promo_mystery_201602 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1298px -1275px;
width: 90px;
height: 90px;
}
.promo_mystery_201603 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1207px -1275px;
width: 90px;
height: 90px;
}
.promo_mystery_201604 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -743px -1275px;
width: 93px;
height: 90px;
}
.promo_mystery_201605 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -455px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201606 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -306px -402px;
width: 90px;
height: 105px;
}
.promo_mystery_201607 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -819px -1378px;
width: 90px;
height: 90px;
}
.promo_mystery_201608 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -837px -1275px;
width: 93px;
height: 90px;
}
.promo_mystery_3014 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -250px -1275px;
width: 217px;
height: 90px;
}
.promo_orca {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -1182px;
width: 105px;
height: 105px;
}
.promo_partyhats {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -813px -327px;
width: 115px;
height: 47px;
}
.promo_pastel_skin {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -331px -1191px;
width: 330px;
height: 83px;
}
.customize-option.promo_pastel_skin {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -356px -1206px;
width: 60px;
height: 60px;
}
.promo_peppermint_flame {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -453px;
width: 140px;
height: 147px;
}
.promo_pet_skins {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -601px;
width: 140px;
height: 147px;
}
.customize-option.promo_pet_skins {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1518px -616px;
width: 60px;
height: 60px;
}
.promo_shimmer_hair {
background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px -1191px;
width: 330px;
height: 83px;
}
.promo_splashyskins {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1278px -375px;
width: 198px;
height: 91px;
}
.customize-option.promo_splashyskins {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1303px -390px;
width: 60px;
height: 60px;
}
.promo_spring_classes_2016 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -994px -908px;
width: 362px;
height: 102px;
}
.promo_springclasses2014 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -699px -876px;
width: 288px;
height: 90px;
}
.promo_springclasses2015 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -699px -785px;
width: 288px;
height: 90px;
}
.promo_staff_spotlight_Lemoness {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -749px;
width: 102px;
height: 146px;
}
.promo_staff_spotlight_paglias {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -896px;
width: 99px;
height: 147px;
}
.promo_summer_classes_2014 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -994px -96px;
width: 429px;
height: 102px;
}
.promo_summer_classes_2015 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -140px -973px;
width: 300px;
height: 88px;
}
.promo_summer_classes_2016 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -593px 0px;
width: 400px;
height: 150px;
}
.promo_takeThis_gear {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -864px -480px;
width: 114px;
height: 87px;
}
.promo_takethis_armor {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -864px -392px;
width: 114px;
height: 87px;
}
.promo_unconventional_armor {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -915px -684px;
width: 60px;
height: 60px;
}
.promo_updos {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1275px -494px;
width: 156px;
height: 147px;
}
.promo_veteran_pets {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -1288px;
width: 146px;
height: 75px;
}
.promo_winter_classes_2016 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -994px -1011px;
width: 360px;
height: 90px;
}
.promo_winterclasses2015 {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -593px -573px;
width: 325px;
height: 110px;
}
.promo_winteryhair {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -375px -1114px;
width: 152px;
height: 75px;
}
.avatar_variety {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -994px 0px;
width: 498px;
height: 95px;
}
.npc_viirus {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -306px -220px;
width: 108px;
height: 90px;
}
.party_preview {
background-image: url(spritesmith-largeSprites-0.png);
background-position: 0px 0px;
width: 451px;
height: 219px;
}
.scene_coding {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px 0px;
width: 150px;
height: 150px;
}
.scene_phone_peek {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1493px -151px;
width: 150px;
height: 150px;
}
.welcome_basic_avatars {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -1241px -642px;
width: 246px;
height: 165px;
}
.welcome_promo_party {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -593px -392px;
width: 270px;
height: 180px;
}
.welcome_sample_tasks {
background-image: url(spritesmith-largeSprites-0.png);
background-position: -994px -642px;
width: 246px;
height: 165px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -1,44 +0,0 @@
{
"frequentlyAskedQuestions": "Често задавани въпроси",
"faqQuestion0": "Объркан(а) съм. Къде да намеря общ преглед?",
"iosFaqAnswer0": "Първо, въведете задачите, които искате да изпълнявате в ежедневието си. След като ги изпълните и отметнете, ще получите опит и злато. Златото се използва за купуване на екипировка и различни предмети, както и за персонализирани награди. Трупането на опит повишава нивото на героя Ви и отключва любимци, умения и мисии! Героят Ви може да бъде персонализиран от Меню > Персонализиране на героя.\n\nНякои основни начини за взаимодействие: щракнете знака (+) в горния десен ъгъл, за да добавите нова задача. Натиснете върху съществуваща задача за редактиране или я плъзнете наляво, за да я изтриете. Може да пренареждате задачите чрез етикетите в горния ляв ъгъл, както и да показвате и скривате подзадачите като щракнете върху балончето с броя им.",
"webFaqAnswer0": "Първо, въведете задачите, които искате да изпълнявате в ежедневието си. След като ги изпълните и отметнете, ще получите опит и злато. Златото се използва за купуване на екипировка и различни предмети, както и за персонализирани награди. Трупането на опит повишава нивото на героя Ви и отключва любимци, умения и мисии! За повече подробности вижте обзора на играта, представен стъпка по стъпка в [Помощ -> Обзор за нови потребители] (https://habitica.com/static/overview).",
"faqQuestion1": "Как да настроя задачите си?",
"iosFaqAnswer1": "Добрите навици (тези с +) са задачи, които може да изпълнявате многократно всеки ден, като например яденето на зеленчуци. Лошите навици (тези с -) са задачи, които трябва да избягвате, като например гризането на нокти. Навиците с + и - имат добър и лош избор, като например използването на стълби срещу използването на асансьор. Добрите навици Ви носят опит и злато. Лошите навици отнемат от здравето Ви.\n\nЕжедневните задачи са такива, които трябва да изпълнявате всеки ден, като например миене на зъбите или проверка на е-пощата. Може да настройвате дните, в които една ежедневна задача трябва да бъде изпълнявана, като я докоснете и редактирате. Ако пропуснете да изпълните ежедневна задача, героят Ви ще получи щети след края на деня. Отначало не добавяйте твърде много ежедневни задачи, докато свикнете със системата!\n\nЗадачите представляват списък от неща, които трябва да направите. Завършването на задача Ви носи злато и опит. От задачите не можете да изгубите здраве. Можете да добавите крайна дата към задача като я докоснете и редактирате.",
"webFaqAnswer1": "Добрите навици (тези с <span class='glyphicon glyphicon-plus'></span>) са задачи, които може да изпълнявате многократно всеки ден, като например яденето на зеленчуци. Лошите навици (тези с <span class='glyphicon glyphicon-minus'></span>) са задачи, които трябва да избягвате, като например гризането на нокти. Навиците с <span class='glyphicon glyphicon-plus'></span> и <span class='glyphicon glyphicon-minus'></span> имат добър и лош избор, като например използването на стълби срещу използването на асансьор. Добрите навици Ви носят опит и злато. Лошите навици отнемат от здравето Ви.\n<br><br>\nЕжедневните задачи са такива, които трябва да изпълнявате всеки ден, като например миене на зъбите или проверка на е-пощата. Може да настройвате дните, в които една ежедневна задача трябва да бъде изпълнявана, като щракнете иконката с молив и я редактирате. Ако пропуснете да изпълните ежедневна задача, героят Ви ще получи щети след края на деня. Отначало не добавяйте твърде много ежедневни задачи, докато свикнете със системата!\n<br><br>\nЗадачите представляват списък от неща, които трябва да направите. Завършването на задача Ви носи злато и опит. От задачите не можете да изгубите здраве. Можете да добавите крайна дата към задача като щракнете иконката с молив и я редактирате.",
"faqQuestion2": "Мога ли да разгледам няколко примерни задачи?",
"iosFaqAnswer2": "В уикито има четири списъка с примерни задачи за вдъхновение:\n<br><br>\n* [Примерни навици](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Примерни ежедневни задачи](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Примерни задачи](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Примерни персонализирани награди] (http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
"webFaqAnswer2": "В уикито има четири списъка с примерни задачи за вдъхновение:\n* [Примерни навици](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Примерни ежедневни задачи](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Примерни задачи](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Примерни персонализирани награди] (http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
"faqQuestion3": "Защо задачите ми променят цвета си?",
"iosFaqAnswer3": "Вашите задачи променят цвета си според това колко добре ги изпълнявате в момента! Всяка нова задача започва в неутрално жълто. Когато изпълнявате ежедневните си задачи или по-често вършите добрите си навици, задачите постепенно сменят цвета си към синьо. Ако пропуснете ежедневна задача или се поддадете на лош навик, задачата ще почервенее. Колкото по-червена е една задача, толкова по-голяма награда носи, но и толкова повече ще Ви нарани, ако е ежедневна или лош навик. Това ви помага да се мотивирате и да изпълните задачите, които ви създават проблеми.",
"webFaqAnswer3": "Вашите задачи променят цвета си според това колко добре ги изпълнявате в момента! Всяка нова задача започва в неутрално жълто. Когато изпълнявате ежедневните си задачи или по-често вършите добрите си навици, задачите постепенно сменят цвета си към синьо. Ако пропуснете ежедневна задача или се поддадете на лош навик, задачата ще почервенее. Колкото по-червена е една задача, толкова по-голяма награда носи, но и толкова повече ще Ви нарани, ако е ежедневна или лош навик. Това ви помага да се мотивирате и да изпълните задачите, които ви създават проблеми.",
"faqQuestion4": "Защо героят ми загуби здраве и как да го възстановя?",
"iosFaqAnswer4": "Има няколко неща, които могат да Ви нанесат щети. Първо, ако забравите своите ежедневни задачи, те ще Ви наранят след края на деня. Второ, ако докоснете лош навик, ще поемете щети. И накрая, ако се биете срещу главатар заедно с групата си, и някой от нея не е изпълнил всичките си ежедневни задачи, главатарят ще Ви нападне.\n\nОсновният начин да оздравеете е да качите ниво, тъй като така възстановявате изцяло здравето си. Може също така да си купите лековита отвара от колонката с награди, използвайки златото си. Освен това, след ниво 10 може да изберете да станете лечител и да придобиете умения за лечение. Ако в групата Ви има лечител, той също може да Ви излекува.",
"webFaqAnswer4": "Има няколко неща, които могат да Ви нанесат щети. Първо, ако забравите своите ежедневни задачи, те ще Ви наранят след края на деня. Второ, ако щракнете лош навик, ще поемете щети. И накрая, ако се биете срещу главатар заедно с групата си, и някой от нея не е изпълнил всичките си ежедневни задачи, главатарят ще Ви нападне.\n<br><br>\nОсновният начин да оздравеете е да качите ниво, тъй като така възстановявате изцяло здравето си. Може също така да си купите лековита отвара от колонката с награди, използвайки златото си. Освен това, след ниво 10 може да изберете да станете лечител и да придобиете умения за лечение. Ако в групата Ви (вижте Общност > Група) има лечител, той също може да Ви излекува.",
"faqQuestion5": "Как да играя Хабитика с приятелите си?",
"iosFaqAnswer5": "Най-добрият начин е да си направите група! Групите могат заедно да изпълняват мисии, да се бият с чудовища и да използват уменията си, за да се подкрепят. Идете в Меню > Група и щракнете „Създаване на нова група“, ако все още нямате такава. След това докоснете списъка с членовете и докоснете „Покана“ в горния десен ъгъл, за да добавите приятелите си, като въведете техните потребителски идентификатори (низ от цифри и букви, които може да откриете в „Настройки > Подробности за профила“ в приложението, или в „Настройки > ППИ“ в уеб сайта). В уеб сайта можете да поканите приятелите си и чрез е-писмо; тази възможност ще бъде добавена и към приложението в някое бъдещо обновление.\n\nВ уеб сайта, вие и приятелите Ви можете също да се присъединявате към гилдии, които представляват обществени стаи за разговори. Гилдиите ще бъдат добавени към приложението в някое бъдещо обновление!",
"webFaqAnswer5": "Най-добрият начин е да си направите група като идете в Общност > Група! Групите могат заедно да изпълняват мисии, да се бият с чудовища и да използват уменията си, за да се подкрепят. Също така можете заедно да се присъединявате към гилдии (Общност > Гилдии). Гилдиите представляват стаи за разговори, концентрирани върху споделен интерес или преследването на обща цел, и могат да бъдат обществени или частни. Можете да се присъедините към колкото желаете гилдии, но групата Ви може да бъде само една.\n<br><br>\nЗа повече подробности, вижте статиите в уикито за [Групите](http://habitrpg.wikia.com/wiki/Party) и [Гилдиите](http://habitrpg.wikia.com/wiki/Guilds).",
"faqQuestion6": "Как да се сдобия с любимец или превоз?",
"iosFaqAnswer6": "Когато достигнете ниво 3 се отключва системата за падания на неща. Всеки път когато завършите задача, ще имате шанс да Ви се падне яйце, излюпваща отвара или малко храна. Тези неща ще се съхраняват в Меню > Предмети.\n\nЗа да се излюпи яйцето, Ви трябва излюпваща отвара. Докоснете яйцето, за да определите какво искате да се излюпи от него, и изберете „Излюпване“. След това изберете излюпваща отвара, за да определите цвета на любимеца! Идете в Меню > Любимци, за да екипирате новия си любимец на героя си, като го докоснете.\n\nМожете да превърнете любимците си в превози, като ги храните от Меню > Любимци. Докоснете любимец и изберете „Хранене“! Ще трябва да нахраните любимеца си много пъти, преди той да се превърне в превоз, но ако разберете каква е любимата му храна, той ще расте по-бързо. Опитайте чрез проба и грешка, или [вижте информацията наготово тук](http://habitica.wikia.com/wiki/Food#Food_Preferences). След като вече имате превоз, идете в Меню > Превози и го докоснете, за да го екипирате на героя си.\n\nМоже да получите яйца за любимци от мисии, ако завършите някои конкретни мисии. (Вижте по-надолу, за да научите повече относно мисиите.)",
"webFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored in Inventory > Market.\n<br><br>\n To hatch a Pet, you'll need an egg and a hatching potion. Click on the egg to determine the species you want to hatch, and then click on the hatching potion to determine its color! Go to Inventory > Pets to equip it to your avatar by clicking on it.\n<br><br>\n You can also grow your Pets into Mounts by feeding them under Inventory > Pets. Click on a type of food, and then select the pet you want to feed! You'll have to feed a pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.wikia.com/wiki/Food#Food_Preferences). Once you have a Mount, go to Inventory > Mounts and click on it to equip it to your avatar.\n<br><br>\n You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)",
"faqQuestion7": "Как да стана воин, магьосник, мошеник или лечител?",
"iosFaqAnswer7": "Когато достигнете ниво 10, може да изберете да станете воин, магьосник, мошеник или лечител. (Всички играчи по подразбиране започват като воини.) Всеки клас има различна екипировка; различни умения, които могат да използват след ниво 11; и различни предимства. Воините могат лесно да нанасят щети на главатарите, както и да понесат повече щети от задачите си, и като цяло правят групата си по-силна. Магьосниците също с лекота нанасят щети на главатарите, а също и качват нива по-бързо и възстановяват маната на групата си. Мошениците печелят най-много злато и намират най-много предмети, и могат да помогнат на останалите в групата да имат същия късмет. И накрая, лечителите могат да лекуват себе си и останалите в групата.\n\nАко не искате веднага да избирате клас, например ако все още събирате средства, с които да закупите цялата екипировка за текущия си клас, може да изберете да решите по-късно и когато сте готов(а), да го направите в Меню > Избор на клас.",
"webFaqAnswer7": "Когато достигнете ниво 10, може да изберете да станете воин, магьосник, мошеник или лечител. (Всички играчи по подразбиране започват като воини.) Всеки клас има различна екипировка; различни умения, които могат да използват след ниво 11; и различни предимства. Воините могат лесно да нанасят щети на главатарите, както и да понесат повече щети от задачите си, и като цяло правят групата си по-силна. Магьосниците също с лекота нанасят щети на главатарите, а също и качват нива по-бързо и възстановяват маната на групата си. Мошениците печелят най-много злато и намират най-много предмети, и могат да помогнат на останалите в групата да имат същия късмет. И накрая, лечителите могат да лекуват себе си и останалите в групата.\n<br><br>\nАко не искате веднага да избирате клас, например ако все още събирате средства, с които да закупите цялата екипировка за текущия си клас, може да изберете „Отказване“ и да се включите по-късно от Потребител > Атрибути.",
"faqQuestion8": "Каква е синята лента, която се появява в горната част след ниво 10?",
"iosFaqAnswer8": "Синята лента, която се появи след като достигнахте ниво 10 и избрахте клас, е лентата за маната. С качването на нива, ще отключвате специални умения, чието използване изисква мана. Всеки клас има различни умения, които се появяват след ниво 11 в Меню > Използване на умения. За разлика от здравето, маната не се възстановява напълно когато качите ниво. Тя се възстановява постепенно когато изпълнявате добрите си навици, ежедневните си задачи и задачите си от списъка; тя се понижава, ако се поддавате на лошите си навици. Също така, малко мана се възстановява и след края на деня — колкото повече ежедневни задачи сте изпълнили през деня, толкова повече мана ще възстановите.",
"webFaqAnswer8": "Синята лента, която се появи след като достигнахте ниво 10 и избрахте клас, е лентата за маната. С качването на нива, ще отключвате специални умения, чието използване изисква мана. Всеки клас има различни умения, които се появяват след ниво 11 в специален раздел в колоната с награди. За разлика от здравето, маната не се възстановява напълно когато качите ниво. Тя се възстановява постепенно когато изпълнявате добрите си навици, ежедневните си задачи и задачите си от списъка; тя се понижава, ако се поддавате на лошите си навици. Също така, малко мана се възстановява и след края на деня — колкото повече ежедневни задачи сте изпълнили през деня, толкова повече мана ще възстановите.",
"faqQuestion9": "Как да се бия с чудовища и да изпълнявам мисии?",
"iosFaqAnswer9": "Първо, ще трябва да създадете група или да се присъедините към такава (вижте малко по-нагоре). Въпреки че можете да се биете с чудовища и сам(а), ние Ви препоръчваме да го правите в група, тъй като така мисиите ще бъдат доста по-лесни. Освен това, приятелите ще Ви насърчават и мотивират да изпълнявате задачите си!\n\nСлед това ще Ви трябва свитък с мисия (свитъците с мисии се пазят в Меню > Чанта). Има три начина да се сдобиете с такъв:\n\n— На ниво 15 получавате последователност от мисии, тоест три свързани мисии. Подобни последователности се отключват и на ниво 30, 40 и 60;\n— Когато поканите хора в групата си, ще получите свитъка за Василисъка!\n— Можете да купувате мисии от страницата с мисии в [уеб сайта](https://habitica.com/#/options/inventory/quests) в замяна на злато и диаманти. (Ще добавим тази функционалност към приложението в някое бъдещо обновление.)\n\nЗа да се биете с главатаря или да събирате предмети за събираческа мисия, просто завършвайте задачите си както обикновено, а те ще бъдат превърнати в щети след края на деня. (Може да се наложи да презаредите, като плъзнете пръст надолу по екрана, за да видите как здравето на главатаря намалява.) Ако се биете с главатар и сте пропуснали дори една ежедневна задача, той ще нанесе щети на групата Ви в същото време, когато Вие нанасяте щети на него.\n\nСлед ниво 11, магьосниците и воините получават умения, с които могат да нанасят допълнителни щети на главатаря, така че тези класове са добър избор на ниво 10, ако искате да удряте здраво.",
"webFaqAnswer9": "Първо, ще трябва да създадете група или да се присъедините към такава (Общност > Група). Въпреки че можете да се биете с чудовища и сам(а), ние Ви препоръчваме да го правите в група, тъй като така мисиите ще бъдат доста по-лесни. Освен това, приятелите ще Ви насърчават и мотивират да изпълнявате задачите си!\n<br><br>\nСлед това ще Ви трябва свитък с мисия (свитъците с мисии се пазят в Чанта > Мисии). Има три начина да се сдобиете с такъв:\n<br><br>\n* Когато поканите хора в групата си, ще получите свитъка за Василисъка!\n* На ниво 15 получавате последователност от мисии, тоест три свързани мисии. Подобни последователности се отключват и на ниво 30, 40 и 60;\n* Можете да купувате мисии от страницата с мисии (Чанта > Мисии) в замяна на злато и диаманти.\n<br><br>\nЗа да се биете с главатаря или да събирате предмети за събираческа мисия, просто завършвайте задачите си както обикновено, а те ще бъдат превърнати в щети след края на деня. (Може да се наложи да презаредите, за да видите как здравето на главатаря намалява.) Ако се биете с главатар и сте пропуснали дори една ежедневна задача, той ще нанесе щети на групата Ви в същото време, когато Вие нанасяте щети на него.\n<br><br>\nСлед ниво 11, магьосниците и воините получават умения, с които могат да нанасят допълнителни щети на главатаря, така че тези класове са добър избор на ниво 10, ако искате да удряте здраво.",
"faqQuestion10": "Какво са диамантите и как да се сдобия с тях?",
"iosFaqAnswer10": "Диамантите се купуват с истински пари; това става като докоснете иконката с диамант в горната част. Когато хората купуват диаманти, те ни помагат да поддържаме уеб сайта работещ. Благодарим за подкрепата им!\n\nОсвен да бъдат купени, има три други начина играчите да се сдобият с диаманти:\n\n* Чрез спечелване на предизвикателство на [уеб сайта](https://habitica.com), което е било създадено от друг играч от Общност > Предизвикателства. (Ще добавим предизвикателствата към приложението в някое бъдещо обновление!);\n* Чрез абониране в [уеб сайта](https://habitica.com/#/options/settings/subscription), което дава възможност за купуване на определен брой диаманти всеки месец;\n* Чрез допринасяне към Хабитика. Вижте тази статия в уикито за повече информация: [Допринасяне към Хабитика](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\nИмайте предвид, че предметите, купени с диаманти, не дават повече атрибути, така че играчите, използващи приложението без тях, да не бъдат ощетени)",
"webFaqAnswer10": "Диамантите се [купуват с истински пари](https://habitica.com/#/options/settings/subscription) или със злато, ако имате [абонамент](https://habitica.com/#/options/settings/subscription). Когато хората купуват диаманти, те ни помагат да поддържаме уеб сайта работещ. Благодарим за подкрепата им!\n<br><br>\nОсвен да бъдат купени директно или чрез абонамент, има два други начина играчите да се сдобият с диаманти:\n<br><br>\n* Чрез спечелване на предизвикателство, което е било създадено от друг играч от Общност > Предизвикателства;\n* Чрез допринасяне към Хабитика. Вижте тази статия в уикито за повече информация: [Допринасяне към Хабитика](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n<br><br>\nИмайте предвид, че предметите, купени с диаманти, не дават повече атрибути, така че играчите, използващи използващи уеб сайт без тях, да не бъдат ощетени)",
"faqQuestion11": "Как да съобщя за проблем или да предложа нова функционалност?",
"iosFaqAnswer11": "Можете да докладвате проблеми, да предложите нова функционалност или да изпратите обратна връзка от „Меню > Докладване на проблем“ и „Меню > Изпращане на обратна връзка“! Ще направим всичко по силите си, за да Ви съдействаме.",
"webFaqAnswer11": "To report a bug, go to [Help > Report a Bug](https://habitica.com/#/options/groups/guilds/a29da26b-37de-4a71-b0c6-48e72a900dac) and read the points above the chat box. If you're unable to log in to Habitica, send your login details to <a href=\"mailto:admin@habitica.com\">admin@habitica.com</a>. Don't worry, we'll get you fixed up soon!\n<br><br>\n Feature requests are collected on Trello. Go to [Help > Request a Feature](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) and follow the instructions. Ta-da!",
"faqQuestion12": "Как да се бия със световен главатар?",
"iosFaqAnswer12": "Световните главатари са специални чудовища, които се появяват в кръчмата. Всички дейни потребители автоматично се бият с главатаря, като задачите и уменията им автоматично му нанасят щети, както обикновено.\n\nВъзможно е в същото време да изпълнявате обикновена мисия. В такъв случай задачите и уменията Ви ще влияят както на световния главатар, така и на мисията на групата Ви.\n\nСветовният главатар не може да Ви нанесе щети или да навреди на профила Ви. Вместо това той има лента за ярост, която се запълва когато потребителите пропускат ежедневните си задачи. Ако лентата за ярост се напълни до края, чудовището ще нападне някой от компютърните персонажи на уеб сайта и ще промени изображението му.\n\nМоже да прочетете повече относно [миналите световни главатари](http://habitica.wikia.com/wiki/World_Bosses) в уикито.",
"webFaqAnswer12": "Световните главатари са специални чудовища, които се появяват в кръчмата. Всички дейни потребители автоматично се бият с главатаря, като задачите и уменията им автоматично му нанасят щети, както обикновено.\n<br><br>\nВъзможно е в същото време да изпълнявате обикновена мисия. В такъв случай задачите и уменията Ви ще влияят както на световния главатар, така и на мисията на групата Ви.\n<br><br>\nСветовният главатар не може да Ви нанесе щети или да навреди на профила Ви. Вместо това той има лента за ярост, която се запълва когато потребителите пропускат ежедневните си задачи. Ако лентата за ярост се напълни до края, чудовището ще нападне някой от компютърните персонажи на уеб сайта и ще промени изображението му.\n<br><br>\nМоже да прочетете повече относно [миналите световни главатари](http://habitica.wikia.com/wiki/World_Bosses) в уикито.",
"iosFaqStillNeedHelp": "Ако имате въпрос, който не намирате в този списък или в [ЧЗВ в уикито](http://habitica.wikia.com/wiki/FAQ), задайте го в кръчмата чрез Меню > Кръчма! Ще се радваме да помогнем.",
"webFaqStillNeedHelp": "Ако имате въпрос, който не намирате в този списък или в [ЧЗВ в уикито](http://habitica.wikia.com/wiki/FAQ), задайте го в [Новобранската гилдия](https://habitica.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Ще се радваме да помогнем."
}

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,6 +0,0 @@
You may edit any files in this directory. Do not edit files in any
other locales directory.
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,44 +0,0 @@
{
"frequentlyAskedQuestions": "よくある質問",
"faqQuestion0": "わからないことがあって困っています。どこで概要を確認できますか?",
"iosFaqAnswer0": "まず、あなたの毎日の生活の中でやりたいタスクを設定します。そして実生活でそのタスクを完了したらチェックを入れます。すると、ゴールドと経験値を手に入ります。ゴールドでアバターの装備やお好みの「ごほうび」といったアイテムを買えます。経験値によってアバターがレベルアップし、新しいペット、スキルやクエストといった新しい機能をアンロックしていきます! アバターはメニュー >アバターのカスタマイズで設定できます。\n\nいくつかの基本操作 : 右上の (+) をクリックすると、新しいタスクの作成。すでにあるタスクをタップすると編集、左にスワイプすると削除できます。左上でタスクにタグをつけることで並べ替えができます。丸いチェックリストをクリックすることで、表示をたたんだり展開したりできます。",
"webFaqAnswer0": "まず、あなたの毎日の生活の中でやりたいタスクを設定します。そして実生活でそのタスクを完了したらチェックを入れます。すると、ゴールドと経験値を手に入ります。ゴールドでアバターの装備やお好みの「ごほうび」といったアイテムを買えます。経験値によってアバターがレベルアップし、新しいペット、スキルやクエストといった新しい機能をアンロックしていきます! 詳しくは [ヘルプ -> 新規ユーザーのための概要](https://habitica.com/static/overview) を読んでください。",
"faqQuestion1": "どのようにタスクをセットすればいいのですか?",
"iosFaqAnswer1": "いい習慣 ( + がついている習慣) は、「野菜を食べる」というように毎日何度でも行えるものです。悪い習慣( - がついている習慣) は、「つめをかむ」といったやるべきでないくせ・習慣です。+ と - の両方がついている習慣は、「階段で上るか、エレベーターを使うか」といった、いい選択と悪い選択の両方があるものです。いい習慣で経験値とゴールドが得られます。悪い習慣は体力を奪います。\n\n日課は、「歯をみがく」とか「メールをチェックする」といった毎日やるべきことです。日課をやるべき日・曜日を「編集」で調整します。やるべき日に日課を行わないと、アバターは夜中にダメージを受けます。あまりに多くの日課を一度に背負わないように注意が必要です。\n\nTo-Do は「やるべきこと」リストです。To-Do を完了すると、ゴールドと経験値を獲得できます。To-Doでは体力が減ることはありません。「編集」をタップすることで、To-Do のしめきりを設定できます。",
"webFaqAnswer1": "いい習慣 ( <span class='glyphicon glyphicon-plus'></span> がついている習慣) は、「野菜を食べる」というように毎日何度でも行えるものです。悪い習慣( <span class='glyphicon glyphicon-minus'></span> がついている習慣) は、「つめをかむ」といった避けるべきくせ・習慣です。<span class='glyphicon glyphicon-plus'></span> と <span class='glyphicon glyphicon-minus'></span> の両方がついている習慣は、「階段で上るか、エレベーターを使うか」といった、いい選択と悪い選択の両方があるものです。いい習慣で経験値とゴールドが得られます。悪い習慣は体力を奪います。\n\n日課は、「歯を磨く」とか「メールをチェックする」といった毎日やるべきことです。日課をやるべき日・曜日を「編集」で調整します。やるべき日に日課を行わないと、アバターは夜中にダメージを受けます。あまりに多くの日課を一度に背負わないように注意が必要です。\n\nTo-Do は「やるべきこと」リストです。To-Do を完了すると、ゴールドと経験値を獲得できます。To-Doでは体力が減ることはありません。「編集」をタップすることで、To-Do のしめきりを設定できます。",
"faqQuestion2": "タスクのサンプルはありますか?",
"iosFaqAnswer2": "参考のため、Wiki では4種類のタスクのサンプルを用意しています :\n<br><br>\n* [習慣のサンプル](http://habitica.wikia.com/wiki/Sample_Habits)\n* [日課のサンプル](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [To-Do のサンプル](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [自分好みの「ごほうび」のサンプル](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
"webFaqAnswer2": "参考のため、Wiki では4種類のタスクのサンプルを用意しています :\n* [習慣のサンプル](http://habitica.wikia.com/wiki/Sample_Habits)\n* [日課のサンプル](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [To-Do のサンプル](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [自分好みの「ごほうび」のサンプル](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
"faqQuestion3": "なぜタスクの色が変わるんですか ?",
"iosFaqAnswer3": "タスクの色は、最近あなたがどれだけタスクをこなしたかによって変化します! 新しいタスクは中間的な黄色でスタートします。たくさん日課をこなしたり、いい習慣をこなすと青に近づいていきます。日課をやりそこねたり、悪い習慣を行うと赤に近づいていきます。赤くなったタスクは、完了するとより多くの経験値やゴールドなどの報酬が得られますが、それが日課や悪い習慣であれば、よりたくさんのダメージを受けます! あなたにとって面倒なタスクほど、やる気を出すのに役立つことでしょう。",
"webFaqAnswer3": "タスクの色は、最近あなたがどれだけタスクをこなしたかによって変化します! 新しいタスクは中間的な黄色でスタートします。たくさん日課やいい習慣をこなすと青に近づいていきます。日課をやりそこねたり、悪い習慣を行うと赤に近づいていきます。赤くなったタスクは、完了するとより多くの経験値やゴールドなどの報酬が得られますが、それが日課や悪い習慣であれば、よりたくさんのダメージを受けます! あなたにとって面倒なタスクほど、やる気を出すのに役立つことでしょう。",
"faqQuestion4": "なぜ私のアバターの体力が減ったの? 回復する方法は?",
"iosFaqAnswer4": "ダメージを受け、体力が減るのにはいくつかの原因があります。1 つ目、日課をやらないまま夜を明かせば、ダメージを受けます。2 つ目、悪い習慣をチェックすれば、ダメージを受けます。最後に、パーティーでのボス戦の途中で、パーティーの仲間のだれかが日課をやり残した場合、ボスがあなたを攻撃します。\n\n主な回復方法はレベルを上げることで、レベルが上がると体力は全回復します。また、「ごほうび」欄の「体力回復の薬」をゴールドで買っても回復できます。そして、レベル10以上になると、治療師になることができ、回復の特殊能力を覚えます。もしパーティーの仲間に治療師がいれば、回復してもらうことがもきます。",
"webFaqAnswer4": "ダメージを受け、体力が減るのにはいくつかの原因があります。1 つ目、日課をやらないまま夜を明かせば、ダメージを受けます。2 つ目、悪い習慣をチェックすれば、ダメージを受けます。最後に、パーティーでのボス戦の途中で、パーティーの仲間のだれかが日課をやり残した場合、ボスがあなたを攻撃します。\n<br><br>\n主な回復方法はレベルを上げることで、レベルが上がると体力は全回復します。また、「ごほうび」欄の「体力回復の薬」をゴールドで買っても回復できます。そして、レベル10以上になると、治療師になることができ、回復の特殊能力を覚えます。もしパーティー( メニューの 「ソーシャル」 > 「パーティー」 ) の仲間に治療師がいれば、回復してもらうこともできます。",
"faqQuestion5": "友達といっしょに Habitica をプレーするには?",
"iosFaqAnswer5": "いちばんいいのは、あなたといっしょのパーティーに友達を誘うことです! パーティーでは、いっしょにクエストに参加して、いっしょにモンスターと戦い、お互いに特殊能力の魔法で助け合うことができます。もしあなたがまだパーティを組んでいないなら、メニュー > パーティー で、「新しいパーティを作る」をクリックしてください。その後、メンバーリストで、右上の「友達を招待する」ボタンをクリック、あなたの友達のユーザーID ( 設定 > アカウントの詳細 、Webサイト上では 設定 > API 確認できる英数文字列 ) を入力します。Webサイトから、友達にEmailを送って招待することもできます。アプリでの同様の機能は、将来の更新で追加する予定です。\n\nWebサイトでは、あなたと友達はギルドに参加することもできます。ギルドとは公開されたチャットルームです。アプリでのギルド機能は、将来の更新で追加する予定です!",
"webFaqAnswer5": "いちばんいいのは、ソーシャル > パーティー から、あなたといっしょのパーティーに友達を誘うことです! パーティーでは、いっしょにクエストに参加して、いっしょにモンスターと戦い、お互いに特殊能力の魔法で助け合うことができます。いっしょのギルドに入ることもできます ( ソーシャル > ギルド ) 。ギルドは共通の趣味を話題にしたり、共通のゴールを追求するためのチャットルームで、公開・非公開の設定ができます。ギルドは好きなだけ入ることができますが、パーティーは1つだけにしか参加できません。\n<br><br>\nより詳しい情報は、Wikiページの、「パーティー」( http://habitrpg.wikia.com/wiki/Party ) や「ギルド」( http://habitrpg.wikia.com/wiki/Guilds ) をご覧ください。",
"faqQuestion6": "ペットや乗騎はどうやって手に入れるの?",
"iosFaqAnswer6": "レベル3になると「落し物」システムがアンロックされます。あなたがタスクを達成するたびに、「たまご」や「たまごがえしの薬」、または「えさ」を手に入れるチャンスが与えられます。手に入れたアイテムはメニュー > 所持品 に保存されています。\n\n「たまご」からペットをかえすには、「たまご」と「たまごがえし」の薬が必要です。かえしたいペットの卵をクリックすると、かえす「たまご」として選ばれます。次にペットの色にしたい「たまごがえしの薬」を選びます! メニュー > ペットでペットを選ぶと、アバターのそばにペットが表示されます。\n\nペットを育てて乗騎にすることもできます。メニュー > ペット でえさをやりましょう。ペットをタップすると「えさをやるペット」として選ばれます。ペットを乗騎にするにはたくさんのえさが必要ですが、お気に入りのえさだと、より早く成長します。いろいろ試してみてください、もしくは [ 楽しみがなくなるかもしれませんが ] ( http://habitica.wikia.com/wiki/Food#Food_Preferences ) を見てください。乗騎を手に入れたら、メニュー > 乗騎 で、あなたのアバターに表示できます。\n\nクエストによっては、達成することでクエスト ペットのたまごが手に入ります。(クエストについての詳しくは、以下をご覧ください)",
"webFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored in Inventory > Market.\n<br><br>\n To hatch a Pet, you'll need an egg and a hatching potion. Click on the egg to determine the species you want to hatch, and then click on the hatching potion to determine its color! Go to Inventory > Pets to equip it to your avatar by clicking on it.\n<br><br>\n You can also grow your Pets into Mounts by feeding them under Inventory > Pets. Click on a type of food, and then select the pet you want to feed! You'll have to feed a pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.wikia.com/wiki/Food#Food_Preferences). Once you have a Mount, go to Inventory > Mounts and click on it to equip it to your avatar.\n<br><br>\n You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)",
"faqQuestion7": "どうすれば戦士、魔道士、盗賊、治療師になれるの?",
"iosFaqAnswer7": "レベル10になると、戦士、魔道士、盗賊、治療師のクラスを選べるようになります。( 標準では、すべてのプレイヤーは戦士でスタートします。) クラスによって、装備や、レベル11以降に使えるようになる特殊能力、そして長所が異なります。戦士はボスにダメージを与えるのがうまく、タスクからのダメージへの耐久力も高いので、パーティーがタフになります。魔道士もボスへのダメージを与えるのがうまく、レベルアップが速く、パーティーのマナを回復します。盗賊がいちばんゴールドと落ちているアイテムを獲得でき、パーティーにも同様の効果をもたらします。最後に、治療師は、自分自身とパーティーの仲間の体力を回復することができます。\n\nすぐにクラスを選びたくなければ――たとえば、いまのクラスの装備を買い集めている最中――「後で決める」をクリックし、後から選ぶときは メニュー > クラスを選ぶ で行います。",
"webFaqAnswer7": "レベル10になると、戦士、魔道士、盗賊、治療師のクラスを選べるようになります。( 標準では、すべてのプレイヤーは戦士でスタートします。) クラスによって、装備や、レベル11以降に使えるようになる特殊能力、そして長所が異なります。戦士はボスにダメージを与えるのがうまく、タスクからのダメージへの耐久力も高いので、パーティーがタフになります。魔道士もボスへのダメージを与えるのがうまく、レベルアップが速く、パーティーのマナを回復します。盗賊がいちばんゴールドと落ちているアイテムを獲得でき、パーティーにも同様の効果をもたらします。最後に、治療師は、自分自身とパーティーの仲間の体力を回復することができます。\n<br><br>\nすぐにクラスを選びたくなければ――たとえば、いまのクラスの装備を買い集めている最中――「後で決める」をクリックし、後から選ぶときは メニュー > クラスを選ぶ で行います。",
"faqQuestion8": "レベル10以降、ヘッダーに表示される青いバーは何ですか?",
"iosFaqAnswer8": "レベル10になってクラスを選択すると表示される青いバーは、マナ バーです。レベルアップを続けると、マナを使う特殊能力の機能がアンロックされます。それぞれのクラスは異なった特殊能力をもっており、レベル11以降、メニュー > 特殊能力を使う に表示されます。体力バーと違って、マナ バーはレベルを上げてもリセットされません。マナは、いい習慣、日課、To-Do を達成することで増え、悪い習慣を行うと減ります。夜が明けたときにも少し回復しますが、それはより多くの日課を完了すると、より回復します。",
"webFaqAnswer8": "レベル10になってクラスを選択すると表示される青いバーは、マナ バーです。レベルアップを続けると、マナを使う特殊能力の機能がアンロックされます。それぞれのクラスは異なった特殊能力をもっており、レベル11以降、「ごほうび」欄の特別な枠に表示されます。体力バーと違って、マナ バーはレベルを上げてもリセットされません。マナは、いい習慣、日課、To-Do を達成することで増え、悪い週間を行うと減ります。夜が明けたときにも少し回復しますが、それはより多くの日課を完了しただけ、より回復します。",
"faqQuestion9": "モンスターと戦ったり、クエストを始めるにはどうしたらいいですか?",
"iosFaqAnswer9": "まず、パーティーに加わるか、新しいパーティーを作るか(上述) する必要があります。一人でモンスターと戦うこともできますが、クエストをずっと簡単にしてくれるので、グループでプレーすることをお勧めします。加えて、タスクを達成するようあなたを応援してくれる友達がいることで、とてもやる気になるからです!\n\n\n次に、クエストの巻物が必要です。メニュー > 所持品 に保管されています。巻物を入手するには3通りの方法があります : \n\n- レベル15 で、3 リンク クエスト として知られる、シリーズ クエストにたどり着きます。その後、レベル 30、40、そして60 のそれぞれで、シリーズ クエストがアンロックされます。\n- だれかをあなたのパーティーに招待すると、バシ・リストの巻物が手に入ります。\n- [website](https://habitica.com/#/options/inventory/quests) のクエストのページで、ゴールドまたはジェムと引き換えにクエストを購入できます。( アプリ版では、この機能は将来の更新で追加されます。 )\n\nボスと戦ったり、コレクション クエストでアイテムを集めたりするには、タスクを通常通り完了するだけです。日付が改められるたびに、ダメージとして計算されます。( ボスの体力バーが減るのを見るには、スクリーンをプル ダウンして、リロードする必要があるでしょう。 ) ボスと戦っている間に日課をやり残すと、ボスへのダメージが発生するタイミングで、ボスからあなた方パーティーへの攻撃によるダメージが発生します。\n\nレベル11以降、魔道士と戦士は、ボスへの追加的なダメージを発生する特殊能力があらわれるので、もし、ボスに対する破壊的な攻撃力を身に着けたいなら、この2つはすばらしいクラスです。レベル10でいずれかを選びましょう。",
"webFaqAnswer9": "まず、パーティーに加わるか、新しいパーティーを作るか( ソーシャル > パーティー ) する必要があります。一人でモンスターと戦うこともできますが、クエストをずっと簡単にしてくれるので、グループでプレーすることをお勧めします。加えて、タスクを達成するようあなたを応援してくれる友達がいることで、とてもやる気になるからです!\n<br><br>\n次に、クエストの巻物が必要です。メニュー > 所持品 に保管されています。巻物を入手するには3通りの方法があります : \n<br><br>\n- だれかをあなたのパーティーに招待すると、バシ・リストの巻物が手に入ります。\n- レベル15 で、シリーズ クエスト(別名 : 3 リンク クエスト) にたどり着きます。その後、レベル 30、40、そして60 のそれぞれで、シリーズ クエストがアンロックされます。\n- [website](https://habitica.com/#/options/inventory/quests) のクエストのページで、ゴールドまたはジェムと引き換えにクエストを購入できます。( アプリ版では、この機能は将来の更新で追加されます。 )\n<br><br>\nボスと戦ったり、コレクション クエストでアイテムを集めたりするには、タスクを通常通り完了するだけです。日付が改められるたびに、ダメージとして計算されます。( ボスの体力バーが減るのを見るには、スクリーンをプル ダウンして、リロードする必要があるでしょう。 ) ボスと戦っている間に日課をやり残すと、ボスへのダメージが発生するタイミングで、ボスからあなた方パーティーへの攻撃によるダメージが発生します。\n<br><br>\nレベル11以降、魔道士と戦士は、ボスへの追加的なダメージを発生する特殊能力があらわれるので、もし、ボスに対する破壊的な攻撃力を身に着けたいなら、この2つはすばらしいクラスです。レベル10でいずれかを選びましょう。",
"faqQuestion10": "ジェムってなに? どうやって手に入れるの?",
"iosFaqAnswer10": "ジェムは、ヘッダのジェムアイコンをクリックすることで、現実のお金で買うことができます。ジェムを買うことで、サイトを運営する資金協力となります。私たちはとてもありがたいことだと思っています!\n\nジェムは直接購入するのに加えて、以下の 3 通りの方法でジェムを増やすことができます : \n\n* [website](https://habitica.com) のチャレンジに勝利する。チャレンジは、別のプレーヤーが ソーシャル > チャレンジ から準備してくれたものです。( アプリ版でのこの機能は将来の更新で追加します! )\n* [website](https://habitica.com/#/options/settings/subscription) から継続的な寄付を行うと、毎月決まった数のジェムをゴールドで購入できるようになります。\n* あなたの特技で Habitica プロジェクトに貢献する。詳しくは wiki ページをご覧ください : [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica)\n\nおぼえておいてほしいことは、ジェムで購入したアイテムには数値的に有利にあるわけではなく、プレーヤーはジェムなしでも、Habitica を楽しむことができるということです!",
"webFaqAnswer10": "ジェムは、ヘッダのジェムアイコンをクリックすることで、[現実のお金で買う](https://habitica.com/#/options/settings/subscription)ことができ、[寄付会員](https://habitica.com/#/options/settings/subscription)はゴールドで買うことができます。寄付するか、現実のお金でジェムを買うことは、サイトを運営する資金協力となります。私たちはとてもありがたいことだと思っています!\n<br><br>\nジェムは直接購入するか寄付会員になるかに加えて、以下の 2 通りの方法でジェムを増やすことができます : \n<br><br>\n* チャレンジに勝利する。チャレンジは、別のプレーヤーが ソーシャル > チャレンジ から準備してくれたものです。\n* あなたの特技で Habitica プロジェクトに貢献する。詳しくは wiki ページをご覧ください : [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica)\n<br><br>\nおぼえておいてほしいことは、ジェムで購入したアイテムには数値的に有利にあるわけではなく、プレーヤーはジェムなしでも、Habitica を楽しむことができるということです!",
"faqQuestion11": "バグを報告したりや機能を要望したりするには、どうしたらいい?",
"iosFaqAnswer11": "バグの報告、新機能の要望したりフィードバック送信したりする場合は、それぞれ ヘルプ > バグを報告する 、ヘルプ > 機能を要望する で私たちに送ってください! あなたの手助けのためにできる限りのことをします。",
"webFaqAnswer11": "To report a bug, go to [Help > Report a Bug](https://habitica.com/#/options/groups/guilds/a29da26b-37de-4a71-b0c6-48e72a900dac) and read the points above the chat box. If you're unable to log in to Habitica, send your login details to <a href=\"mailto:admin@habitica.com\">admin@habitica.com</a>. Don't worry, we'll get you fixed up soon!\n<br><br>\n Feature requests are collected on Trello. Go to [Help > Request a Feature](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) and follow the instructions. Ta-da!",
"faqQuestion12": "世界のボスと戦うには?",
"iosFaqAnswer12": "世界のボスはキャンプ場に現れる特別なモンスターです。すべてのユーザーは自動的にこのボスと戦うことになっており、すべてのユーザーが達成した日課や特殊能力で、常にボスにダメージを与えます。\n\n通常のクエストに参加しながらでも世界のボスと戦うことができます。あなたがタスクの完了や特殊能力で発生する攻撃は、世界のボスと、パーティーのボスまたはコレクション クエストとの両方にカウントされます。\n\n世界のボスは、あなたにもあなたのアカウントにも一切ダメージを与えません。その代わり、ユーザーたちが消化しそこねた日課に応じて「消耗の一撃」ゲージがたまっていきます。このゲージがいっぱいになると、世界のボスはこのサイトのプレーヤー以外のキャラクター(NPC)の一人に攻撃を加え、そのキャラクターの姿が変わってしまいます。\n\n詳しくは [過去の世界のボス](http://habitica.wikia.com/wiki/World_Bosses) をお読みください。",
"webFaqAnswer12": "世界のボスはキャンプ場に現れる特別なモンスターです。すべてのユーザーは自動的にこのボスと戦うことになっており、すべてのユーザーが達成した日課や特殊能力で、常にボスにダメージを与えます。\n<br><br>\n通常のクエストに参加しながらでも世界のボスと戦うことができます。あなたがタスクの完了や特殊能力で発生する攻撃は、世界のボスと、パーティーのボスまたはコレクション クエストとの両方にカウントされます。\n<br><br>\n世界のボスは、あなたにもあなたのアカウントにも一切ダメージを与えません。その代わり、ユーザーたちが消化しそこねた日課に応じて「消耗の一撃」ゲージがたまっていきます。このゲージがいっぱいになると、世界のボスはこのサイトのプレーヤー以外のキャラクター(NPC)の一人に攻撃を加え、そのキャラクターの姿が変わってしまいます。\n<br><br>\n詳しくは wiki の [過去の世界のボス](http://habitica.wikia.com/wiki/World_Bosses) をお読みください。",
"iosFaqStillNeedHelp": "この中や [Wiki FAQ] (http://habitica.wikia.com/wiki/FAQ) にない質問は、ソーシャル > キャンプ場チャット で聞いてみてください。喜んで手助けします。",
"webFaqStillNeedHelp": "この中や [Wiki FAQ] (http://habitica.wikia.com/wiki/FAQ) にない質問は、[Newbies Guild](https://habitica.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a) で聞いてみてください。喜んで手助けします。"
}

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,44 +0,0 @@
{
"frequentlyAskedQuestions": "Veelgestelde vragen",
"faqQuestion0": "Ik ben in de war. Waar kan ik een overzicht vinden? ",
"iosFaqAnswer0": "Allereerst zet je de taken op die je in je dagelijkse leven wil doen. Vervolgens, als je de taken volbrengt en afvinkt, verdien je ervaring en goud. Goud wordt gebruikt om uitrusting en sommige voorwerpen te kopen, evenals voor persoonlijke beloningen. Ervaring zorgt ervoor dat je karakter omhoog gaat in niveau en dat je spelinhoud als huisdieren, vaardigheden en queesten vrijspeelt! Je kunt je karakter aanpassen onder Menu > Avatar aanpassen.\n\nWat simpele dingen om te beginnen: klik op de (+) in de rechterbovenhoek om een nieuwe taak toe te voegen. Tik op een bestaande taak om hem aan te passen en veeg hem naar links om de taak te verwijderen. Je kunt taken sorteren door labels te gebruiken in de linkerbovenhoek en checklists in- en uitklappen door op het checklist-bolletje te klikken.",
"webFaqAnswer0": "Allereerst creëer je de taken die je in je dagelijkse leven wil voltooien. Door vervolgens de taken te voltooien in het echte leven en deze af te vinken, verdien je ervaringspunten en goud. Goud wordt gebruikt om uitrusting en sommige voorwerpen te kopen, evenals persoonlijke beloningen. Ervaring zorgt ervoor dat je karakter omhoog gaat in speelniveau en dat je spelinhoud als huisdieren, vaardigheden en queesten vrijspeelt! Voor meer informatie kan je de de stap-voor-stap uitleg van het spel lezen op [Help -> Overzicht voor nieuwe gebruikers](https://habitica.com/static/overview).",
"faqQuestion1": "Hoe stel ik mijn taken in?",
"iosFaqAnswer1": "Goede gewoonten (degenen met een +) zijn taken die je meerdere keren per dag kunt doen, zoals groenten eten. Slechte gewoonten (degenen met een -) zijn taken die je zou moeten nalaten, zoals op je nagels bijten. Gewoonten met een + en een - hebben een goede en een slechte keuze, bijvoorbeeld de trap nemen tegenover de lift nemen. Goede gewoonten belonen je met ervaring en goud. Slechte gewoonten doen je levenspunten verliezen.\n\nDagelijkse taken zijn taken die je iedere dag moet doen, zoals je tanden poetsen of je e-mail bekijken. Je kunt de dagen aanpassen waarop je een bepaalde dagelijkse taak moet doen door erop te drukken en hem te bewerken. Als je een dagelijkse taak overslaat op een dag dat hij gedaan moet worden, zal je avatar gedurende de nacht schade oplopen. Wees voorzichtig en voeg niet teveel dagelijkse taken tegelijk toe!\n\nTo-do's zijn de dingen die je nog een keer moet doen. Een to-do afvinken levert geld en ervaringspunten op. Je kunt nooit levenspunten kwijtraken door een to-do. Je kunt een geplande voltooiingsdatum toevoegen aan een to-do door er op te tikken om hem aan te passen.",
"webFaqAnswer1": "Goede gewoonten (degenen met een <span class='glyphicon glyphicon-plus'></span>) zijn taken die je meerdere keren per dag kunt doen, zoals groenten eten. Slechte gewoonten (degenen met een <span class='glyphicon glyphicon-minus'></span>) zijn taken die je zou moeten nalaten, zoals op je nagels bijten. Gewoonten met een <span class='glyphicon glyphicon-plus'></span> en een <span class='glyphicon glyphicon-minus'></span> hebben een goede en een slechte keuze, bijvoorbeeld de trap nemen tegenover de lift nemen. Goede gewoonten belonen je met ervaring en goud. Slechte gewoonten doen je levenspunten verliezen.\n<br><br>\nDagelijkse taken zijn taken die je iedere dag moet doen, zoals je tanden poetsen of je e-mail bekijken. Je kunt de dagen aanpassen waarop je een bepaalde dagelijkse taak moet doen door erop te drukken en hem te bewerken. Als je een dagelijkse taak overslaat op een dag dat hij gedaan moet worden, zal je avatar gedurende de nacht schade oplopen. Wees voorzichtig en voeg niet teveel dagelijkse taken tegelijk toe!\n<br><br>\nTo-do's zijn de dingen die je nog een keer moet doen. Een to-do afvinken levert geld en ervaringspunten op. Je kunt nooit levenspunten kwijtraken door een to-do. Je kunt een geplande voltooiingsdatum toevoegen aan een to-do toevoegen door er op te drukken om hem aan te passen.",
"faqQuestion2": "Welke soort taken kunnen er zijn?",
"iosFaqAnswer2": "De wiki heeft vier lijsten van voorbeeldtaken om als inspiratie te gebruiken:\n<br><br>\n* [Voorbeeld gewoontes](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Voorbeeld dagelijkse taken](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Voorbeeld to-do's](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Voorbeeld persoonlijke beloningen](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
"webFaqAnswer2": "De wiki heeft vier lijsten van voorbeeldtaken om als inspiratie te gebruiken:\n* [Voorbeeld gewoontes](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Voorbeeld dagelijkse taken](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Voorbeeld to-do's](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Voorbeeld persoonlijke beloningen](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
"faqQuestion3": "Waarom veranderen mijn taken van kleur?",
"iosFaqAnswer3": "Je taken veranderen van kleur afhankelijk van hoe goed je ze op dat moment voltooit! Iedere taak begint als neutraal geel. Voltooi dagelijkse taken of positieve gewoonten en ze veranderen naar blauw. Mis een dagelijkse taak of geef toe aan een slechte gewoonte en de taak verandert naar rood. Hoe roder de taak, hoe meer je beloond zult worden, maar als het een dagelijkse taak of slechte gewoonte is, des te meer schade doet hij je! Dit helpt je te motiveren om problematische taken te voltooien.",
"webFaqAnswer3": "Je taken veranderen van kleur afhankelijk van hoe goed je ze op dat moment voltooit! Iedere taak begint als neutraal geel. Voltooi dagelijkse taken of positieve gewoonten en ze veranderen naar blauw. Mis een dagelijkse taak of geef toe aan een slechte gewoonte en de taak verandert naar rood. Hoe roder de taak, hoe meer je beloond zult worden, maar als het een dagelijkse taak of slechte gewoonte is, des te meer schade doet hij je! Dit helpt je te motiveren om problematische taken te voltooien.",
"faqQuestion4": "Waarom heeft mijn avatar levenspunten verloren en hoe krijg ik ze terug?",
"iosFaqAnswer4": "Er zijn verschillende dingen die je kunnen schaden. Ten eerste: als je dagelijkse taken 's nachts incompleet zijn, doen ze schade. Ten tweede: als je een slechte gewoonte aanklikt, zal het je schade doen. Tenslotte: als je in een gevecht met een eindbaas bent met je groep en een van je groepsleden heeft niet al zijn/haar taken gedaan, dan zal de baas je aanvallen.\n\nDe belangrijkste manier om te genezen is om een niveau omhoog te gaan, dat herstelt al je levenspunten. Je kunt ook met goud een gezondheidsdrankje kopen in de beloningskolom. Daarbij, op niveau 10 en daarboven, kun je ervoor kiezen om een genezer te worden en dan kun je genezingsvaardigheden leren. Als je in een groep zit met een genezer, kan deze je ook genezen.",
"webFaqAnswer4": "Er zijn verschillende dingen die je kunnen schaden. Ten eerste: als je dagelijkse taken 's nachts incompleet zijn, doen ze schade. Ten tweede: als je een slechte gewoonte aanklikt, zal het je schade doen. Tenslotte: als je in een gevecht met een eindbaas bent met je groep en een van je groepsleden niet al zijn/haar taken gedaan heeft, dan zal de baas je aanvallen.\n<br><br>\nDe belangrijkste manier om te genezen is om een level omhoog te gaan, dat herstelt al je levenspunten. Je kunt ook met goud een gezondheidsdrankje kopen in de beloningskolom. Daarbij, op level 10 en daarboven, kun je ervoor kiezen om een genezer te worden en dan kun je genezingsvaardigheden leren. Als je in een groep zit (onder Sociaal > Groep) met een genezer, kan deze je ook genezen.",
"faqQuestion5": "Hoe speel ik Habitica samen met mijn vrienden?",
"iosFaqAnswer5": "De beste manier is om ze uit te nodigen voor een groep met jou! Groepen kunnen queestes doen, monsters bevechten en vaardigheden uitspreken om elkaar te ondersteunen. Ga naar Menu > Groep en klik op \"Maak Nieuwe Groep\" als je er nog geen hebt. Druk dan op de ledenlijst en druk op Uitnodigen in de rechterbovenhoek om je vrienden uit te nodigen door hun Gebruikers-ID in te voeren (een serie nummers en letters die ze kunnen vinden onder Instellingen > Account in de app en Instellingen > API op de website). Op de website kun je ook vrienden uitnodigen via e-mail, hetgeen we in een latere update aan de app zullen toevoegen.\n\nOp de website kunnen jij en je vrienden je ook aansluiten bij Gildes, dat zijn publieke chatrooms. Gildes worden aan de app toegevoegd in een toekomstige update.",
"webFaqAnswer5": "De beste manier is om ze uit te nodigen voor een groep met jou, via Sociaal > Groep! Groepen kunnen queestes doen, monsters bestrijden en vaardigheden uitspreken om elkaar te ondersteunen. Je kunt je ook samen aansluiten bij gildes (Sociaal > Gildes). Gildes zijn chatrooms die zicht richten op een gedeelde interesse of het nastreven van een zelfde doel en kunnen publiek of privé zijn. Je kunt je aansluiten bij zoveel gildes als je wilt, maar slechts bij één groep.\n<br><br>\nVoor meer gedetailleerde informatie, kun je kijken op de wiki-pagina's over [groepen](http://habitrpg.wikia.com/wiki/Party) en [gildes](http://habitrpg.wikia.com/wiki/Guilds).",
"faqQuestion6": "Hoe kan ik een huisdier of een rijdier krijgen?",
"iosFaqAnswer6": "Op level 3 speel je het vondstensysteem vrij. Iedere keer dat je een taak voltooit, heb je een willekeurige kans een ei, een uitbroedtoverdrank of eten te ontvangen. Ze zullen opgeslagen worden in Menu > Boedel.\n\nOm een huisdier te laten uitkomen, heb je een ei en een uitbroedtoverdrank nodig. Druk op het ei om de soort te bepalen en selecteer 'Laat ei uitkomen'. Kies daarna een uitbroedtoverdrank om de kleur te bepalen! Ga naar Menu > Huisdieren om je avatar uit te rusten met je nieuwe huisdier door erop te drukken.\n\nJe kunt je huisdieren ook laten opgroeien tot rijdieren door ze te voeren onder Menu > Huisdieren. Druk op het huisdier en selecteer dan 'Huisdier Voeren'. Je zult een huisdier vele malen moeten voeren voordat het verandert in een rijdier, maar als je zijn favoriete voedsel kan bepalen, zal hij sneller groeien. Probeer het met vallen en opstaan of [zie het hier verklapt](http://habitica.wikia.com/wiki/Food#Food_Preferences). Als je eenmaal een rijdier hebt, kun je het toevoegen aan je avatar onder Menu > Rijdieren.\n\nJe kunt ook eieren van queeste-huisdieren krijgen door bepaalde queesten te voltooien. (Lees hieronder meer over queesten.) ",
"webFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored in Inventory > Market.\n<br><br>\n To hatch a Pet, you'll need an egg and a hatching potion. Click on the egg to determine the species you want to hatch, and then click on the hatching potion to determine its color! Go to Inventory > Pets to equip it to your avatar by clicking on it.\n<br><br>\n You can also grow your Pets into Mounts by feeding them under Inventory > Pets. Click on a type of food, and then select the pet you want to feed! You'll have to feed a pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.wikia.com/wiki/Food#Food_Preferences). Once you have a Mount, go to Inventory > Mounts and click on it to equip it to your avatar.\n<br><br>\n You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)",
"faqQuestion7": "Hoe word ik een Krijger, Magiër, Dief of Heler?",
"iosFaqAnswer7": "Je kan pas kiezen om een krijger, magiër, dief of heler te worden als je niveau 10 bereikt hebt. (Alle spelers beginnen standaard als krijger.) Elke klasse heeft andere uitrusting, verschillende vaardigheden die ze kunnen uitspreken na niveau 11 en meer verschillende voordelen. Krijgers kunnen veel schade aanrichten bij eindbazen, schade weerstaan van taken en hun groep sterker maken. Magiërs kunnen ook makkelijk schade aanrichten bij eindbazen, evenals sneller niveaus behalen en extra mana geven aan de groep. Dieven verdienen het meeste geld en vinden sneller voorwerpen en kunnen hun groep hetzelfde laten doen. Tenslotte kunnen helers zichzelf, en mensen uit hun groep, helen.\n\nAls je nog niet direct een klasse wilt kiezen -- als je bijvoorbeeld nog al je uitrusting wilt kopen voor je huidige klasse -- kun je op \"later beslissen\" klikken en later kiezen bij menu > kies klasse.",
"webFaqAnswer7": "Je kan pas kiezen om een krijger, magiër, dief of heler te worden als je niveau 10 bereikt hebt. (Alle spelers beginnen standaard als krijger.) Elke klasse heeft andere uitrusting, verschillende vaardigheden die ze kunnen uitspreken na niveau 11 en meer verschillende voordelen. Krijgers kunnen veel schade aanrichten bij eindbazen, schade weerstaan van taken en hun groep sterker maken. Magiërs kunnen ook makkelijk schade aanrichten bij eindbazen, evenals sneller niveaus behalen en extra mana geven aan de groep. Dieven verdienen het meeste geld en vinden sneller voorwerpen en kunnen hun groep hetzelfde laten doen. Tenslotte kunnen helers zichzelf, en mensen uit hun groep, helen.\n<br><br>\nAls je nog niet direct een klasse wilt kiezen -- als je bijvoorbeeld nog al je uitrusting wilt kopen voor je huidige klasse -- kun je op \"later beslissen\" klikken en later kiezen bij Gebruiker > Statistieken.",
"faqQuestion8": "Wat is de blauwe statusbalk die in de bovenbalk verschijnt na level 10?",
"iosFaqAnswer8": "The blauwe balk die verscheen toen je level 10 bereikte en een klasse koos, is je mana-balk. Als je een hoger niveau bereikt, speel je speciale vaardigheden vrij die mana kosten om te gebruiken. Elke klasse heeft andere vaardigheden, die vanaf level 11 verschijnen onder Menu > Gebruik vaardigheden. Anders dan bij je gezondheidsbalk, reset je mana-balk niet als je een nieuw niveau bereikt. In plaats daarvan krijg je meer mana wanneer je goede gewoonten, dagelijkse taken en to-do's doet en verlies je het wanneer je hebt toegegeven aan slechte gewoonten. Je krijgt 's nachts ook wat mana terug -- hoe meer dagelijkse taken je voltooide, hoe meer je verdient.",
"webFaqAnswer8": "The blauwe balk die verscheen toen je niveau 10 bereikte en een klasse koos, is je mana-balk. Als je een hoger niveau bereikt, speel je speciale vaardigheden vrij die mana kosten om te gebruiken. Elke klasse heeft andere vaardigheden, die vanaf level 11 verschijnen onder Menu > Gebruik vaardigheden. Anders dan bij je gezondheidsbalk, reset je mana-balk niet als je een nieuw niveau bereikt. In plaats daarvan krijg je meer mana wanneer je goede gewoonten, dagelijkse taken en to-do's doet en verlies je het wanneer je hebt toegegeven aan slechte gewoonten. Je krijgt 's nachts ook wat mana terug -- hoe meer dagelijkse taken je voltooide, hoe meer je verdient.",
"faqQuestion9": "Hoe vecht ik tegen monsters en ga ik op queesten?",
"iosFaqAnswer9": "Eerst moet je je aansluiten bij een groep of er een beginnen (zie hierboven). Hoewel je monsters alleen kunt bestrijden, raden we spelen in een groep aan, omdat het queesten veel makkelijker maakt. Plus, een vriend hebben om je aan te moedigen als je je taken voltooid is erg motiverend!\n\nVervolgens heb je een queeste-perkamentrol nodig, die zijn opgeslagen onder Menu > Voorwerpen. Er zijn drie manieren om een perkamentrol te krijgen:\n\n-Op niveau 15 krijg je een queeste-reeks, oftewel drie gelieerde queesten. Meer queeste-reeksen speel je vrij op levels 30, 40 en 60.\n-Als je vrienden uitnodigd voor je groep, ontvang je de Basi-List perkamentrol@\n-Je kunt queesten kopen van de queesten pagina op de [website](https://habitica.com/#/options/inventory/quests) voor goud en edelstenen. (We zullen deze functie in een toekomstige update aan de app toevoegen.)\n\nOm de baas te bestrijdenof voorwerpen te verzamelen voor een Verzamel-queeste, moet je gewoon je taken voltooien, 'snachts zal de schade die ze doen berekend worden. (Herladen door het scherm naar beneden te trekken kan nodig zijn om de levensbalk van de baas omlaag te zien gaan.) Als je een baas aan het bevechten bent en je hebt dagelijkse taken gemist, dan schaadt de baas je groep op hetzelfde moment als jullie de baas schaden.\n\nNa level 11 krijgen Magiërs en Krijgers vaardigheden die ervoor zorgen dat ze extra schade kunnen doen aan de baas, dus dit zijn goede klassen om te kiezen op level 10 als je rake klappen uit wilt delen.",
"webFaqAnswer9": "Eerst moet je je aansluiten bij een groep of er een beginnen (onder Sociaal > Groep). Hoewel je monsters alleen kunt bestrijden, raden we spelen in een groep aan, omdat het queesten veel makkelijker maakt. Plus, een vriend hebben om je aan te moedigen als je je taken voltooid is erg motiverend!\n<br><br>\nVervolgens heb je een queeste-perkamentrol nodig, die zijn opgeslagen onder Menu > Voorwerpen. Er zijn drie manieren om een perkamentrol te krijgen:\n<br><br>\n-Op niveau 15 krijg je een queeste-reeks, oftewel drie gelieerde queesten. Meer queeste-reeksen speel je vrij op levels 30, 40 en 60.\n-Als je vrienden uitnodigd voor je groep, ontvang je de Basi-List perkamentrol@\n-Je kunt queesten kopen van de queesten pagina (Boedel > Queesten) voor goud en edelstenen.\n<br><br>\nOm de baas te bestrijdenof voorwerpen te verzamelen voor een Verzamel-queeste, moet je gewoon je taken voltooien, 'snachts zal de schade die ze doen berekend worden. (Verversen van de pagina kan nodig zijn om de levensbalk van de baas omlaag te zien gaan.) Als je een baas aan het bevechten bent en je hebt dagelijkse taken gemist, dan schaadt de baas je groep op hetzelfde moment als jullie de baas schaden.\n<br><br>\nNa level 11 krijgen Magiërs en Krijgers vaardigheden die ervoor zorgen dat ze extra schade kunnen doen aan de baas, dus dit zijn goede klassen om te kiezen op level 10 als je rake klappen uit wilt delen.",
"faqQuestion10": "Wat zijn edelstenen en hoe krijg ik ze?",
"iosFaqAnswer10": "Edelstenen kunnen gekocht worden met echt geld, door op het edelstenen-icoon te klikken in de menubalk. Wanneer mensen edelstenen kopen, helpen ze ons om de site draaiende te houden. We zijn erg dankbaar voor hun steun!\n\nBuiten ze direct te kopen, zijn er drie andere manieren waarop spelers edelstenen kunnen krijgen:\n\n* Win op de [website](https://habitica.com) een uitdaging die door een andere speler is opgezet onder Sociaal > Uitdagingen. (We zullen uitdagingen aan de app toevoegen in een toekomstige update)\n* Abonneer je op de [website](https://habitica.com/#/options/settings/subscription) en ontgrendel de mogelijkheid om een aantal edelstenen per maand met goud te kopen.\n* Draag met je vaardigheden bij aan het Habitica-project. Bekijk deze wiki voor meer details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\nHoudt in gedachten dat voorwerpen die gekocht zijn met edelstenen geen statistische voordelen bieden, zodat spelers ook zonder ze van de app gebruik kunnen maken!",
"webFaqAnswer10": "Edelstenen kunnen [gekocht worden met echt geld](https://habitica.com/#/options/settings/subscription), hoewel [abonnees](https://habitica.com/#/options/settings/subscription) ze kunnen kopen met goud. Wanneer mensen zich abonneren of edelstenen kopen, helpen ze ons de site draaiende te houden. We zijn erg dankbaar voor hun steun!\n<br><br>\nBuiten ze direct te kopen of een abonnee te worden, zijn er twee andere manieren waarop spelers edelstenen kunnen krijgen:\n<br><br>\n* Win een uitdaging die door een andere speler is opgezet onder Sociaal > Uitdagingen.\n* Draag met je vaardigheden bij aan het Habitica-project. Bekijk deze wiki voor meer details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n<br><br>\nHoudt in gedachten dat voorwerpen die gekocht zijn met edelstenen geen statistische voordelen bieden, zodat spelers ook zonder ze van de app gebruik kunnen maken!",
"faqQuestion11": "Hoe rapporteer ik een bug of vraag ik een feature aan?",
"iosFaqAnswer11": "Je kunt een bug rapporteren, een functionaliteit aan vragen of feedback versturen onder Menu > Fout melden en Menu > Stuur feedback! We zullen alles doen wat we kunnen om je te helpen.",
"webFaqAnswer11": "To report a bug, go to [Help > Report a Bug](https://habitica.com/#/options/groups/guilds/a29da26b-37de-4a71-b0c6-48e72a900dac) and read the points above the chat box. If you're unable to log in to Habitica, send your login details to <a href=\"mailto:admin@habitica.com\">admin@habitica.com</a>. Don't worry, we'll get you fixed up soon!\n<br><br>\n Feature requests are collected on Trello. Go to [Help > Request a Feature](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) and follow the instructions. Ta-da!",
"faqQuestion12": "Hoe strijd ik tegen een Wereldbaas?",
"iosFaqAnswer12": "Wereldbazen zijn speciale monsters die in de herberg verschijnen. Alle actieve gebruikers vechten automatisch tegen de baas en hun taken en vaardigheden beschadigen de baas zoals gebruikelijk.\n\nJe kunt ook tegelijkertijd een normale queeste aan het doen zijn. Je taken en vaardigheden tellen dan zowel tegen de wereldbaas als tegen de baas/ verzamelqueeste van je groep.\n\nEen wereldbaas zal jou of je account nooit beschadigen. In plaats daarvan heeft het een furie-balk die vult wanneer gebruikers dagelijkse taken overslaan. Als de furie-balk gevuld is, valt de baas een van de NPC's op de site aan en hun afbeelding verandert dan.\n\nJe kunt meer lezen over [wereldbazen uit het verleden](http://habitica.wikia.com/wiki/World_Bosses) op de wiki.",
"webFaqAnswer12": "Wereldbazen zijn speciale monsters die in de herberg verschijnen. Alle actieve gebruikers vechten automatisch tegen de baas en hun taken en vaardigheden beschadigen de baas zoals gebruikelijk.\n<br><br>\nJe kunt ook tegelijkertijd een normale queeste aan het doen zijn. Je taken en vaardigheden tellen dan zowel tegen de wereldbaas als tegen de baas/ verzamelqueeste van je groep.\n<br><br>\nEen wereldbaas zal jou of je account nooit beschadigen. In plaats daarvan heeft het een furie-balk die vult wanneer gebruikers dagelijkse taken overslaan. Als de furie-balk gevuld is, valt de baas een van de NPC's op de site aan en hun afbeelding verandert dan.\n<br><br>\nJe kunt meer lezen over [wereldbazen uit het verleden](http://habitica.wikia.com/wiki/World_Bosses) op de wiki.",
"iosFaqStillNeedHelp": "Als je een vraag hebt die niet in deze lijst of op [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ) staat, vraag het in de herberg-chat onder Menu > Herberg! We zijn blij dat we kunnen helpen.",
"webFaqStillNeedHelp": "Als je een vraag hebt die niet op deze lijst of op de [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ) staat, vraag het dan in de [Newbies Guild](https://habitica.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We willen je graag helpen."
}

View File

@@ -1,35 +0,0 @@
{
"tipTitle": "Tip #<%= tipNumber %>",
"tip1": "Bekijk de taken overal waar je bent met de Habitica mobiele app. ",
"tip2": "Bereik level 100 om de Bol van Wedergeboorte gratis vrij te spelen en een nieuw avontuur te beginnen.",
"tip3": "Gebruik emoticons om snel onderscheid te maken tussen je taken.",
"tip4": "Gebruik het # teken voor de naam van een taak om het heel groot te maken!",
"tip5": "Het beste is het om versterkingen 's morgens uit te spreken zodat ze zo lang mogelijk effectief zijn. ",
"tip6": "Herevalueer jouw taken regelmatig om te zorgen dat ze up-to-date zijn!",
"tip7": "Sommige achtergronden verbinden perfect naast elkaar als groepsleden dezelfde achtergrond gebruiken. Bv: Bergmeer, Pagodas en Rollende heuvels.",
"tip8": "Stuur een Persoonlijk bericht naar iemand door te klikken op het envelopje bij de naam van diegene in de chat!",
"tip9": "Bezoek de Guild Leaders & Challenge Creators gilde voor advies over het starten van een gilde.",
"tip10": "Je kan edelstenen winnen door deel te nemen aan Uitdagingen. Dagelijks worden er nieuwe toegevoegd. ",
"tip11": "Als je het leuk vindt om je avatar aan te kleden, neem dan een kijkje in de Costume Carnival gilde.",
"tip12": "Word lid van de \"Challenge... Accepted\" gilde voor regelmatig geplande willekeurige uitdagingen.",
"tip13": "Meer dan vier groepsleden hebben verhoogt de verantwoordelijkheid!",
"tip14": "Je kan koplijnen of inspirationele uitspraken toevoegen aan je lijst van Gewoontes zonder (+/-).",
"tip15": "Voeg checklijsten aan jet To-do lijst toe om je beloningen te verhogen!",
"tip16": "Bekijk de Data knop voor waardevolle inzichten in jouw vooruitgang. ",
"tip17": "Het gebruik van labels kan een haast onmogelijke takenlijst toch handelbaar maken. ",
"tip18": "Gewoontes die gewoon positief of negatief zijn, \"vervagen\" langzaam en worden terug geel.",
"tip19": "Verhoog je Intelligentie-eigenschap om meer EP te krijgen wanneer je een taak volbrengt.",
"tip20": "Verhoog je Perceptie-eigenschap om meer vondsten en goud te krijgen.",
"tip21": "Verhoog je Kracht-eigenschap om meer schade toe te brengen aan eindbazen of om voltreffers te krijgen.",
"tip22": "Verhoog je Lichaam eigenschap om de schade van onvoltooide dagelijkse taken te minderen.",
"tip23": "klik op het histogram-grafiek icoon van jouw taak om de grafiek te zien van je vooruitgang.",
"tip24": "Habitica is een Open source! Vraag in de Aankomende Legendes Gilde als je wilt bijdragen",
"tip25": "De vier seizoengebonden Grote Gala's beginnen dicht bij de zonnewende's en de nachteveningen.",
"tip26": "Een pijltje links van iemand's level nummer betekent dat ze op het moment versterkt zijn. ",
"tip27": "Verwijs in je laatavond dagelijkse taken naar de vorige avond (zoals: \"gisterenavond geflost\") zodat je ze 's ochtends kan afvinken.",
"tip28": "Stel een aangepast dagbegin in onder Instellingen > Site om te bepalen wanneer een nieuwe dag begint.",
"tip29": "Voltooi al je dagelijkse taken om een 'perfecte dag versterking' te krijgen die je eigenschappen verhoogt!",
"tip30": "Je kan mensen uitnodigen voor gildes, niet enkel voor groepen. ",
"tip31": "Bekijk de voorgemaakte lijsten in de \"Library of Shared Lists\" gilde voor voorbeeldtaken.",
"tip32": "Veel van Habitica's code, afbeeldingen en teksten zijn gemaakt door vrijwilligers! Iedereen kan helpen."
}

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,192 +0,0 @@
{
"backgrounds": "Planos de fundo",
"backgrounds062014": "Conjunto 1: Lançado em Junho de 2014",
"backgroundBeachText": "Praia",
"backgroundBeachNotes": "Descanse em uma praia quentinha.",
"backgroundFairyRingText": "Anel das Fadas",
"backgroundFairyRingNotes": "Dance em um anel de fadas.",
"backgroundForestText": "Floresta",
"backgroundForestNotes": "Passeie por uma floresta de verão.",
"backgrounds072014": "Conjunto 2: Lançado em Julho de 2014",
"backgroundCoralReefText": "Recife de Corais",
"backgroundCoralReefNotes": "Nade em um recife de corais.",
"backgroundOpenWatersText": "Mar Aberto",
"backgroundOpenWatersNotes": "Aproveite o mar aberto.",
"backgroundSeafarerShipText": "Navio Marítimo",
"backgroundSeafarerShipNotes": "Navegue à bordo de um navio marítimo.",
"backgrounds082014": "Conjunto 3: Lançado em Agosto de 2014",
"backgroundCloudsText": "Nuvens",
"backgroundCloudsNotes": "Plane entre as nuvens.",
"backgroundDustyCanyonsText": "Desfiladeiro Árido",
"backgroundDustyCanyonsNotes": "Vague pelo desfiladeiro árido.",
"backgroundVolcanoText": "Vulcão",
"backgroundVolcanoNotes": "Esquente-se dentro de um Vulcão.",
"backgrounds092014": "Conjunto 4: Lançado em Setembro de 2014",
"backgroundThunderstormText": "Tempestade",
"backgroundThunderstormNotes": "Conduza relâmpagos em uma tempestade.",
"backgroundAutumnForestText": "Floresta de Outono",
"backgroundAutumnForestNotes": "Passeie por uma Floresta de Outono.",
"backgroundHarvestFieldsText": "Campos de Colheita",
"backgroundHarvestFieldsNotes": "Cultive seu campo de colheita.",
"backgrounds102014": "Conjunto 5: Lançado em Outubro de 2014",
"backgroundGraveyardText": "Cemitério",
"backgroundGraveyardNotes": "Visite um Cemitério Assustador.",
"backgroundHauntedHouseText": "Casa Mal-Assombrada",
"backgroundHauntedHouseNotes": "Ande com cuidado por uma Casa Mal-Assombrada.",
"backgroundPumpkinPatchText": "Canteiro de Abóboras",
"backgroundPumpkinPatchNotes": "Entalhe o Miserável Jack da Lanterna em um Canteiro de Abóboras.",
"backgrounds112014": "Conjunto 6: Lançado em Novembro de 2014",
"backgroundHarvestFeastText": "Festa da Colheita",
"backgroundHarvestFeastNotes": "Se divirta na Festa da Colheita.",
"backgroundStarrySkiesText": "Céus Estrelados",
"backgroundStarrySkiesNotes": "Contemple os Céus Estrelados.",
"backgroundSunsetMeadowText": "Pôr do Sol do Campo",
"backgroundSunsetMeadowNotes": "Admire um Pôr do Sol no Campo.",
"backgrounds122014": "Conjunto 7: Lançado em Dezembro de 2014",
"backgroundIcebergText": "Iceberg",
"backgroundIcebergNotes": "Flutue sobre um Iceberg.",
"backgroundTwinklyLightsText": "Pisca-piscas de Inverno",
"backgroundTwinklyLightsNotes": "Passeie entre as árvores enfeitadas com luzes festivas.",
"backgroundSouthPoleText": "Pólo Sul",
"backgroundSouthPoleNotes": "Visite o gelado Pólo Sul.",
"backgrounds012015": "Conjunto 8: Lançado em Janeiro de 2015",
"backgroundIceCaveText": "Caverna de Gelo",
"backgroundIceCaveNotes": "Entre numa Caverna de Gelo.",
"backgroundFrigidPeakText": "Pico Gelado",
"backgroundFrigidPeakNotes": "Topo do Pico Gelado.",
"backgroundSnowyPinesText": "Pinheiros da Neve",
"backgroundSnowyPinesNotes": "Refúgio entre Pinheiros da Neve",
"backgrounds022015": "Conjunto 9: Lançado em Fevereiro de 2015",
"backgroundBlacksmithyText": "Forja",
"backgroundBlacksmithyNotes": "Trabalhe na Forja.",
"backgroundCrystalCaveText": "Caverna de Cristal",
"backgroundCrystalCaveNotes": "Explore uma Caverna de Cristal",
"backgroundDistantCastleText": "Castelo Distante",
"backgroundDistantCastleNotes": "Defenda um Castelo Distante.",
"backgrounds032015": "Conjunto 10: Lançado em Março de 2015",
"backgroundSpringRainText": "Chuva de Primavera",
"backgroundSpringRainNotes": "Dance na Chuva da Primavera.",
"backgroundStainedGlassText": "Vitral",
"backgroundStainedGlassNotes": "Admire alguns Vitrais.",
"backgroundRollingHillsText": "Colinas",
"backgroundRollingHillsNotes": "Divirta-se nas Colinas",
"backgrounds042015": "Conjunto 11: Lançado em Abril de 2015",
"backgroundCherryTreesText": "Cerejeiras",
"backgroundCherryTreesNotes": "Admire as Cerejeiras desabrocharem.",
"backgroundFloralMeadowText": "Campo Florido",
"backgroundFloralMeadowNotes": "Faça um piquenique em um Campo Florido.",
"backgroundGumdropLandText": "Terra das Guloseimas",
"backgroundGumdropLandNotes": "Belisque a paisagem da Terra das Guloseimas.",
"backgrounds052015": "Conjunto 12: Lançado em Maio de 2015",
"backgroundMarbleTempleText": "Templo de Mármore",
"backgroundMarbleTempleNotes": "Pose em frente a um Templo de Mármore",
"backgroundMountainLakeText": "Lago da Montanha",
"backgroundMountainLakeNotes": "Molhe seus dedos num Lago da Montanha",
"backgroundPagodasText": "Pagodas",
"backgroundPagodasNotes": "Escale até o topo das Pagodas",
"backgrounds062015": "Conjunto 13: Lançado em Junho de 2015",
"backgroundDriftingRaftText": "Caiaque",
"backgroundDriftingRaftNotes": "Remar um Caiaque.",
"backgroundShimmeryBubblesText": "Bolhas cintilantes",
"backgroundShimmeryBubblesNotes": "Pairar por um mar de Bolhas cintilantes",
"backgroundIslandWaterfallsText": "Cachoeiras da Ilha",
"backgroundIslandWaterfallsNotes": "Piquenique próximo as Cachoeiras da Ilha.",
"backgrounds072015": "Conjunto 14: Lançado em Julho de 2015",
"backgroundDilatoryRuinsText": "Ruínas do Retardo",
"backgroundDilatoryRuinsNotes": "Mergulhe nas Ruínas do Retardo",
"backgroundGiantWaveText": "Onda Gigante",
"backgroundGiantWaveNotes": "Surfe em uma Onda Gigante!",
"backgroundSunkenShipText": "Navio Naufragado",
"backgroundSunkenShipNotes": "Explore um Navio Naufragado.",
"backgrounds082015": "Conjunto 15: Lançado em Agosto de 2015",
"backgroundPyramidsText": "Pirâmides",
"backgroundPyramidsNotes": "Admire as Pirâmides.",
"backgroundSunsetSavannahText": "Savana Pôr-do-Sol",
"backgroundSunsetSavannahNotes": "Caminhe ao longo da Savana Pôr-do-Sol.",
"backgroundTwinklyPartyLightsText": "Pisca-piscas de Festa",
"backgroundTwinklyPartyLightsNotes": "Dance sob os Pisca-piscas de Festa!",
"backgrounds092015": "SET 16: Lançado em Setembro de 2015",
"backgroundMarketText": "Loja Habitica",
"backgroundMarketNotes": "Compre no Mercado de Habitica",
"backgroundStableText": "Estábulo de Habitica",
"backgroundStableNotes": "Observe suas montaria no Estábulo de Habitica",
"backgroundTavernText": "Taverna de Habitica",
"backgroundTavernNotes": "Visite a Taverna de Habitica",
"backgrounds102015": "Conjunto 17: Lançado em Outubro de 2015",
"backgroundHarvestMoonText": "Lua da Colheita",
"backgroundHarvestMoonNotes": "Cacarejo sob a Lua da Colheita",
"backgroundSlimySwampText": "Pântano Pegajoso",
"backgroundSlimySwampNotes": "Se arrastar por Pântano Pegajoso",
"backgroundSwarmingDarknessText": "Escuridão Fervilhante",
"backgroundSwarmingDarknessNotes": "Trema na Escuridão Fervilhante",
"backgrounds112015": "SET 18: Lançado em Novembro de 2015",
"backgroundFloatingIslandsText": "Ilhas Flutuantes",
"backgroundFloatingIslandsNotes": "Saltite nas Ilhas Flutuantes.",
"backgroundNightDunesText": "Dunas Noturnas",
"backgroundNightDunesNotes": "Caminhar calmamente pelas Dunas à Noite",
"backgroundSunsetOasisText": "Oasis do pôr do sol",
"backgroundSunsetOasisNotes": "Corar no Oásis Pôr de Sol",
"backgrounds122015": "Conjunto 19: Lançado em Dezembro de 2015",
"backgroundAlpineSlopesText": "Alpes Montanhosos",
"backgroundAlpineSlopesNotes": "Esquie nos Alpes Montanhosos",
"backgroundSnowySunriseText": "Aurora nevada",
"backgroundSnowySunriseNotes": "Aprecie a Aurora Nevada",
"backgroundWinterTownText": "Cidade do Inverno",
"backgroundWinterTownNotes": "Divirta-se na Cidade do Inverno",
"backgrounds012016": "Conjunto 20: Lançado em Janeiro de 2016",
"backgroundFrozenLakeText": "Lago Congelado",
"backgroundFrozenLakeNotes": "Ande de skate no Lago Congelado.",
"backgroundSnowmanArmyText": "Exército de Bonecos de neve",
"backgroundSnowmanArmyNotes": "Liderar o Exército de Bonecos de neve.",
"backgroundWinterNightText": "Noite de Inverno",
"backgroundWinterNightNotes": "Olhe para as estrelas em uma noite de inverno.",
"backgrounds022016": "Conjunto 21: Lançado em Fevereiro de 2016",
"backgroundBambooForestText": "Floresta de Bambu",
"backgroundBambooForestNotes": "Passeie pela Floresta de Bambu",
"backgroundCozyLibraryText": "Biblioteca Aconchegante",
"backgroundCozyLibraryNotes": "Leia na Biblioteca Aconchegante",
"backgroundGrandStaircaseText": "Grande Escadaria",
"backgroundGrandStaircaseNotes": "Descer pela Grande Escadaria",
"backgrounds032016": "Conjunto 22: Lançado em Março de 2016",
"backgroundDeepMineText": "Mina Profunda",
"backgroundDeepMineNotes": "Encontre metais preciosos na Mina Profunda.",
"backgroundRainforestText": "Floresta Tropical",
"backgroundRainforestNotes": "Aventure-se em uma Floresta Tropical.",
"backgroundStoneCircleText": "Círculo de Pedras",
"backgroundStoneCircleNotes": "Lançar feitiços em um Círculo de Pedras.",
"backgrounds042016": "Conjunto 23: Lançado em Abril de 2016",
"backgroundArcheryRangeText": "Campo de tiro com arco",
"backgroundArcheryRangeNotes": "Praticar no campo de tiro com arco.",
"backgroundGiantFlowersText": "Flores gigantes",
"backgroundGiantFlowersNotes": "Divirta-se em cima de Flores Gigantes.",
"backgroundRainbowsEndText": "Final do arco-íris.",
"backgroundRainbowsEndNotes": "Descubra ouro no final do arco-íris",
"backgrounds052016": "Conjunto 24: Lançado em Maio de 2016",
"backgroundBeehiveText": "Colmeia",
"backgroundBeehiveNotes": "Faça zumbidos e dance em uma colméia.",
"backgroundGazeboText": "Gazebo",
"backgroundGazeboNotes": "Enfrente um Gazebo.",
"backgroundTreeRootsText": "Raízes da árvore",
"backgroundTreeRootsNotes": "Explore as Raízes da Árvore.",
"backgrounds062016": "Conjunto 25: Lançado em Junho de 2016",
"backgroundLighthouseShoreText": "Farol da Costa",
"backgroundLighthouseShoreNotes": "Passeie pelo Farol da Costa.",
"backgroundLilypadText": "Vitória Régia",
"backgroundLilypadNotes": "Suba em uma Vitória Régia.",
"backgroundWaterfallRockText": "Pedra da Cachoeira",
"backgroundWaterfallRockNotes": "Se molhe na Pedra da Cachoeira.",
"backgrounds072016": "Conjunto 26: Lançado em Julho 2016",
"backgroundAquariumText": "Aquário",
"backgroundAquariumNotes": "Bob em um Aquário.",
"backgroundDeepSeaText": "Mar Profundo",
"backgroundDeepSeaNotes": "Mergulhe no Mar Profundo.",
"backgroundDilatoryCastleText": "Castelo do Retardo",
"backgroundDilatoryCastleNotes": "Nade até depois do Castelo do Retardo",
"backgrounds082016": "Conjunto 27: Lançado em Agosto de 2016",
"backgroundIdyllicCabinText": "Cabana Bucólica",
"backgroundIdyllicCabinNotes": "Volte para uma Cabana Bucólica.",
"backgroundMountainPyramidText": "Montanha Pirâmide",
"backgroundMountainPyramidNotes": "Suba os muitos degraus da Montanha Pirâmide.",
"backgroundStormyShipText": "Navio da Tempestade",
"backgroundStormyShipNotes": "Segure-se contra o vento e as ondas abordo do Navio da Tempestade!"
}

View File

@@ -1,345 +0,0 @@
{
"questEvilSantaText": "Noel Caçador",
"questEvilSantaNotes": "Você escuta rugidos de agonia ao fundo dos Campos de Gelo. Você segue os rugidos - pontuados por um som de cacarejo - até uma clareira na floresta, onde você vê uma urso polar adulta. Ela se encontra enjaulada e acorrentada, lutando pela própria vida. Dançando em cima da jaula está um maldoso duende vestido com roupas que alguém não quis mais. Derrote o Noel Caçador e salve a fera!",
"questEvilSantaCompletion": "Noel Caçador guincha de raiva e salta noite adentro. A agradecida ursa, com rugidos e rosnados, tenta te contar algo. Você a leva de volta aos estábulos, onde Matt Boch, o Mestre das Bestas, escuta o que ela diz com uma expressão de horror. Ela tem um filhote! Ele fugiu para os campos de gelo quando a mamãe ursa foi capturada.",
"questEvilSantaBoss": "Noel Caçador",
"questEvilSantaDropBearCubPolarMount": "Urso Polar (Montaria)",
"questEvilSanta2Text": "Encontre a Filhote",
"questEvilSanta2Notes": "Quando o Noel Caçador capturou a montaria de urso polar, seu filhote fugiu para os campos de gelo. Você ouve galhos quebrando e passos na neve pelo som cristalino da floresta. Pegadas! Você começa a correr para seguir a trilha. Encontre todas as pegadas e galhos quebrados, e encontre o filhote!",
"questEvilSanta2Completion": "Você encontrou o filhote! Ele te fará companhia pra sempre.",
"questEvilSanta2CollectTracks": "Trilhas",
"questEvilSanta2CollectBranches": "Galhos Partidos",
"questEvilSanta2DropBearCubPolarPet": "Urso Polar (Mascote)",
"questGryphonText": "O Grifo Flamejante",
"questGryphonNotes": "O grandioso senhor das bestas, <strong>baconssauro</strong> veio ao seu grupo em busca de ajuda. \"Por favor, aventureiros, vocês precisam me ajudar! Minha estimada grifo fêmea escapou e está aterrorizando a Cidade dos Hábitos! Se vocês puderem pará-la, eu poderia recompensá-los com alguns de seus ovos!\"",
"questGryphonCompletion": "Derrotada, a poderosa besta volta para o seu mestre, envergonhada. \"Pelas barbas! Bom trabalho, aventureiros!\" <strong>baconssauro</strong> exclama, \"Por favor, levem alguns dos ovos do grifo. Tenho certeza que irão criar bem estes pequenos!\"",
"questGryphonBoss": "Grifo Flamejante",
"questGryphonDropGryphonEgg": "Grifo (Ovo)",
"questGryphonUnlockText": "Desbloqueia ovos de Grifo para compra no Mercado",
"questHedgehogText": "O Monstrouriço",
"questHedgehogNotes": "Ouriços são um grupo engraçado de animais. Eles são alguns dos mascotes mais carinhosos que um Habiticano(a) pode ter. Mas diz a lenda que, se você os der leite após a meia noite, eles ficam bastante irritados. E cinquenta vezes seu tamanho. E <strong>Inventrix</strong> acabou de fazer isso. Ooopa.",
"questHedgehogCompletion": "Sue grupo conseguiu acalmar a ouriço! Depois de diminuir ao tamanho normal, ela manca até seus ovos. Ela volta rangendo e empurrando alguns de seus ovos para seu grupo. Esperamos que esses ouriços prefiram leite!",
"questHedgehogBoss": "Monstrouriço",
"questHedgehogDropHedgehogEgg": "Ouriço (Ovo)",
"questHedgehogUnlockText": "Desbloqueia ovos de Ouriço para compra no Mercado",
"questGhostStagText": "O Espírito da Primavera",
"questGhostStagNotes": "Ahh, Primavera. A época do ano quando a cor começa, mais uma vez, a pintar a paisagem. Já se foram as montanhas geladas de neve do inverno. Onde a geada uma vez estava, plantas vibrantes cheias de vida tomaram seu lugar. Belas folhas verdes preenchem as árvores, a grama retorna à sua tonalidade vívida, um arco-íris de flores nasce junto às planícies e uma mística névoa branca cobre a região! ... Espere. Névoa Mística? \"Oh não,\" <strong>Inventrix</strong> diz apreensivamente, \"Parece que algum tipo de espírito é a causa deste nevoeiro. Ah, e ele está indo em sua direção.\"",
"questGhostStagCompletion": "O espírito, aparentemente sem ferimentos, abaixa seu focinho até o chão. Uma voz calma envolve seu grupo. \"Desculpe pelo meu comportamento. Acabei de acordar do meu descanso e parece que meu raciocínio não voltou completamente. Por favor, aceite isso como meu pedido de desculpas.\" Um conjunto de ovos se materializa na grama em frente ao espírito. Sem mais palavras, o espírito desaparece na floresta com flores caindo sobre seu rastro.",
"questGhostStagBoss": "Cervo Espírito",
"questGhostStagDropDeerEgg": "Cervo (Ovo)",
"questGhostStagUnlockText": "Desbloqueia ovos de Cervo para compra no Mercado",
"questRatText": "O Rei Rato",
"questRatNotes": "Lixo! Enormes pilhas de Diárias incompletas pairam por todo o Habitica. O problema se tornou tão sério que hordas de ratos são vistas por todo o lugar. Você repara @Pandah acariciando uma das criaturas amavelmente. Ela explica que ratos são criaturas gentis que se alimentam de Diárias incompletas. \nO verdadeiro problema é que as tarefas caíram dentro do esgoto, criando um perigoso buraco que deve ser limpo. A medida que você desce o esgoto, um rato gigantesco, de olhos vermelhos de sangue e dentes amarelos desfigurados te ataca, defendendo sua horda. Você se encolherá de medo ou enfrentará o lendário Rei Rato?",
"questRatCompletion": "Seu golpe final esgota a força do rato gigantesco, seus olhos desvanecem para um cinza desbotado. A besta divide-se em muitos pequenos ratos, que fogem de medo. Você repara @Pandah parada atrás de você, olhando para o que antes fora uma poderosa criatura. Ela explica que os cidadãos de Habitica foram inspirados por sua coragem e rapidamente estão completando todas suas Diárias não realizadas. Ela o alerta que devemos ser vigilantes pois se abaixarmos a guarda, o Rei Rato pode retornar. Como pagamento, @Pandah lhe oferece diversos ovos de ratos. Percebendo sua expressão receosa, ela sorri, \"Eles são ótimos mascotes.\"",
"questRatBoss": "Rei Rato",
"questRatDropRatEgg": "Rato (Ovo)",
"questRatUnlockText": "Desbloqueia ovos de Rato para compra no Mercado",
"questOctopusText": "O Chamado de Octothulu",
"questOctopusNotes": "@Urse, um apaixonado jovem escriba pediu sua ajuda para explorar a caverna misteriosa próxima da praia. Por entre o crepúsculo das marés há um enorme portão de estalactites e estalagmites. À medida que se aproximam do portão, um redemoinho negro começa a rodear sua base. Você fixa seu olhar com admiração no que parecia ser um dragão com tentáculos de polvo surgindo do seu interior. \"O pegajoso das estrelas acordou,\" grita @Urse loucamente. \"Após vigintilhões de anos, o grande Octothulu está solto outra vez e sedento de fome!\"",
"questOctopusCompletion": "Com o golpe final, a criatura desliza de volta para o redemoinho de onde saiu. Você não consegue dizer se @Urse está feliz com sua vitória ou entristecido de ver a besta ir. Sem palavras, seu companheiro aponta para três gigantescos ovos viscosos numa poça de maré próxima, sob um ninho de moedas de ouro. \"Provavelmente são só ovos de polvo,\" você diz com nervosismo. Na sua volta para casa, @Urse escreve freneticamente num diário e você suspeita que não será a ultima vez que escutará sobre o grande Octothulu.",
"questOctopusBoss": "Octothulu",
"questOctopusDropOctopusEgg": "Polvo (Ovo)",
"questOctopusUnlockText": "Desbloqueia ovos de Polvo para compra no Mercado",
"questHarpyText": "Socorro! Harpia!",
"questHarpyNotes": "O bravo aventureiro @UncommonCriminal desapareceu na floresta, seguindo a trilha de um monstro alado que foi visto há alguns dias atrás. Você está prestes a começar uma busca onde uma arara ferida pousa em seu ombro com uma horrível cicatriz arruinando sua bela plumagem. Preso à sua perna está um bilhete rabiscado explicando que enquanto defendia as araras, @UncommonCriminal foi capturado por uma perversa Harpia e precisa desesperadamente de sua ajuda para escapar. Irá você seguir a ave, derrotar a Harpia e salvar @UncommonCriminal?",
"questHarpyCompletion": "Um golpe fatal derrubou a harpia, com penas voando em todas as direções. Após uma rápida escalada em seu ninho você encontra o @UncommonCriminal cercado de ovos de arara. Como um time, vocês rapidamente colocam os ovos de volta em seus ninhos próximos. A arara assustada que lhe encontrou grasna alto, soltando diversos ovos em seus braços. \"O ataque da Harpia deixou alguns ovos precisando de proteção\", explica @UncommonCriminal. \"Parece que você se tornou uma arara honorária\".",
"questHarpyBoss": "Harpia",
"questHarpyDropParrotEgg": "Arara (Ovo)",
"questHarpyUnlockText": "Desbloqueia ovos de Papagaio para compra no Mercado",
"questRoosterText": "O Galo Raivoso",
"questRoosterNotes": "Por anos o fazendeiro @extrajordanary usou Galos como despertadores. Mas agora um Galo gigante apareceu, cantando mais alto do que nunca - e acordando todo mundo no Habitica! Os Habiticanos com privação de sono lutam por suas Diárias. @Pandoro decide que a hora de dar um basta nisso chegou. \"Por favor, tem alguém que possa ensinar esse Galo a cantar baixo?\" Você se voluntaria, aproximando-se do Galo cedo da manhã - mas ele se vira, batendo suas asas gigantes e mostrando suas garras afiadas e soltando um grito de guerra.",
"questRoosterCompletion": "Com força e sutileza, você domou a besta selvagem. Suas orelhas, antes cheias de penas e de tarefas meio esquecidas, agora estão limpas como o dia. Ele canta agora silenciosamente, encostando o bico no seu ombro. No dia seguinte você está pronto para ir embora, mas @EmeraldOx corre atrás de você com uma cesta coberta. \"Espere! Eu fui até a casa do fazendeiro esta manhã, o Galo colocou isto na porta de onde você dormiu. Acho que ele quer que você fique com eles.\" Você abre a cesta e vê três delicados ovos.",
"questRoosterBoss": "Galo",
"questRoosterDropRoosterEgg": "Galo (Ovo)",
"questRoosterUnlockText": "Desbloqueia ovos de Galo para compra no Mercado",
"questSpiderText": "O Aracnídeo de Gelo",
"questSpiderNotes": "Conforme o tempo vai gelando, uma delicada geada começa a aparecer nas vidraças Habiticanas em forma de teias em laços... com exceção de @Arcosine, cujas janelas estão completamente congeladas pela Aranha de Gelo que atualmente usa sua casa como seu covil. Ó, céus.",
"questSpiderCompletion": "A Aranha de Gelo cai, deixando para trás pilhas de gelo e alguns de seus sacos de ovos encantados. @Arcosine rapidamente lhe oferece eles como uma recompensa - talvez você possa criar algumas aranhas como mascotes inofensivos seus?",
"questSpiderBoss": "Aranha",
"questSpiderDropSpiderEgg": "Aranha (Ovo)",
"questSpiderUnlockText": "Desbloqueia ovos de Aranha para compra no Mercado",
"questVice1Text": "Vício, Parte 1: Liberte-se do Controle do Dragão",
"questVice1Notes": "Os rumores dizem que um mal horrível vive nas cavernas da montanha Habitica. Um monstro cuja presença corrompe a mente dos heróis mais fortes da terra, levando-os a maus hábitos e preguiça! A besta é um grande dragão de poder imenso e composto pelas próprias sombras: Vício, o traiçoeiro Dragão das Sombras. Bravos Habiticanos, se acreditam que podem sobreviver a este poder imenso, peguem as suas armas e derrotem esta besta imunda de uma vez por todas. </p><h3> Vício, Parte 1: </h3><p>Como podem pensar que podem lutar contra a besta se ela já tem controle sobre vocês? Não sejam vítimas da preguiça e do vício! Trabalhem arduamente contra a influência negra do dragão e libertem-se da influência que ele tem sobre vocês!</p>",
"questVice1Boss": "A Sombra do Vício",
"questVice1DropVice2Quest": "Vício, Parte 2 (Pergaminho)",
"questVice2Text": "Vício, Parte 2: Encontre o Covil do Dragão",
"questVice2Notes": "Com a influência de Vício sob você dissipada, você sente uma onda de força que não sabia que tinha voltar para você. Confiante em você mesmo e em sua habilidade de resistir a influência do dragão, seu grupo consegue chegar até Monte Habitica. Você se aproxima da entrada das cavernas da montanha e para. Sombras, quase como nuvens, saem da abertura. É quase impossível enxergar qualquer coisa à sua frente. A luz das lanternas parecem acabar abruptamente onde a escuridão começa. Dizem que apenas luz mágica pode atravessar a neblina infernal do dragão. Se conseguirem encontrar cristais de luz suficientes, poderão encontrar o caminho até o dragão.",
"questVice2CollectLightCrystal": "Cristais de Luz",
"questVice2DropVice3Quest": "Vício, Parte 3 (Pergaminho)",
"questVice3Text": "Vício, Parte 3: O Despertar do Vício",
"questVice3Notes": "Depois de muito esforço, seu grupo descobriu o covil do Vício. O poderoso monstro olha seu grupo à distância. Conforme a escuridão o cerca, uma voz sussurra na sua cabeça, \"Mais cidadãos tolos de Habitica vieram me parar? Que fofo. Teria sido inteligente não virem.\" O titã escamoso recua sua cabeça e se prepara para atacar. Essa é sua chance! Dê tudo de si e derrote o Vício de uma vez por todas!",
"questVice3Completion": "As sombras dissipam-se da caverna e um silêncio metálico surge. Não acredito, você conseguiu! Vício foi derrotado! Você e seu grupo podem finalmente suspirar em alívio. Aproveite sua vitória, bravos Habiticanos, mas tomem a lição que aprenderam batalhando Vício e sigam em frente. Ainda há hábitos a serem feitos e potencialmente piores males para serem conquistados!",
"questVice3Boss": "Vício, o Dragão Sombrio",
"questVice3DropWeaponSpecial2": "Mastro do Dragão de Stephen Weber",
"questVice3DropDragonEgg": "Dragão (Ovo)",
"questVice3DropShadeHatchingPotion": "Poção de Choca Sombra",
"questMoonstone1Text": "Recaída, Parte 1: A Corrente de Pedras da Lua",
"questMoonstone1Notes": "Uma doença terrível atingiu os Habiticanos. Maus hábitos que achávamos estarem mortos a muito tempo estão voltando à vida para vingança. Louças ficam sujas, livros esquecidos e a procrastinação vem com violência! <br><br>Você segue alguns de seus velhos Maus Hábitos até os Pântanos da Estagnação e descobre o culpado: Recaída, a Necromante! Você avança para atacá-la com armas em mãos mas as armas passam direto pelo espectro dela.<br><br>\"Nem tente\", ela fala baixinho com a voz rouca. \"Sem uma corrente de pedras da lua, nada pode me machucar - e joalheiro @aurakami espalhou todas as pedras da lua por toda a Habitica a muito tempo atrás!\" Ofegante, você foge... mas você sabe o que precisa fazer.",
"questMoonstone1CollectMoonstone": "Pedras da Lua",
"questMoonstone1DropMoonstone2Quest": "Recaída, Parte 2: Recaída, a Necromante (Pergaminho)",
"questMoonstone2Text": "Recaída, Parte 2: Recaída, a Necromante",
"questMoonstone2Notes": "O bravo ferreiro @inventrix te ajuda a forjar as pedras da lua encantadas em uma corrente. Você, finalmente, está pronto(a) para enfrentar Recaída, mas ao entrar no Pântano da Estagnação, você sente um arrepio terrível por todo seu corpo.<br><br> Um hálito podre sussurra no seu ouvido. \"De volta aqui? Mas que prazeroso... \" Você se vira e ataca e, sobre a luz da corrente de pedras da lua, sua arma acerta carne de verdade. \"Você pode ter me trazido de volta ao mundo mais uma vez,\" Recaída rosna, \"mas agora é a hora de você deixar esse mundo!\"",
"questMoonstone2Boss": "O Necromante",
"questMoonstone2DropMoonstone3Quest": "Recaída, Parte 3: Recaída Transformada (Pergaminho)",
"questMoonstone3Text": "Recaída, Parte 3: Recaída Transformada",
"questMoonstone3Notes": "\nRecaída desaba no chão e você a atinge com a corrente de pedras da lua. Para seu horror, Recaída agarra as gemas com os olhos brilhando em triunfo.<br><br>\"Sua criatura de carne idiota!\", ela grita. \"Essas pedras da lua vão recuperar a minha forma física, é verdade, mas não como você imaginou. Assim como a lua cheia cresce na escuridão, também o meu poder floresce e das sombras eu invoco o espectro do teu inimigo mais temido!\"<br><br>Um nevoeiro verde ergue-se do pântano e o corpo de Recaída, contorcendo-se e tomado de espasmos transforma-se em algo que te enche de terror - o corpo morto-vivo do Vício, horrivelmente renascido.",
"questMoonstone3Completion": "É difícil respirar e o suor arde em seus olhos enquanto o morto-vivo cai no chão. Os restos de Recaída se dissipam numa fina névoa que desaparece rapidamente pela ação de uma briza refrescante. E você ouve gritos de combate de Habiticanos derrotando seus Maus Hábitos de uma vez por todas.<br><br> @Baconsaur, o Mestre das Bestas desce de um grifo. \"Eu vi o fim de sua batalha do céu e fiquei bastante comovido. Por favor, aceite esta túnica encantada - sua bravura é de um coração nobre e eu acredito que você foi feito para recebê-la.\"",
"questMoonstone3Boss": "Necro-Vício",
"questMoonstone3DropRottenMeat": "Carne Estragada (Comida)",
"questMoonstone3DropZombiePotion": "Poção de Choca Zumbi",
"questGoldenknight1Text": "A Cavaleira Dourada, Parte 1: Uma conversa séria",
"questGoldenknight1Notes": "A Cavaleira Dourada tem estado a meter-se com os pobres Habiticanos. Não cumpriste todas as tuas Diárias? Deste parte de um Hábito negativo? Ela vai usar isso como razão para te chatear acerca de como deverias seguir o seu exemplo. Ela é o exemplo perfeito de um Habiticano perfeito e tu nada mais que um falhanço. Pois bem, isso não é nada simpático!! Toda a gente faz erros e não deveriam ter de ser submetidos a tanto negativismo por tal. Talvez seja altura de recolher alguns testemunhos de Habiticanos que também tenham sofrido às suas mãos e ter uma conversa séria com a Cavaleira Dourada!",
"questGoldenknight1CollectTestimony": "Testemunhos",
"questGoldenknight1DropGoldenknight2Quest": "O Cavaleiro Dourado Parte 2: Cavaleiro Dourado (Pergaminho)",
"questGoldenknight2Text": "A Cavaleira Dourada, Parte 2: Cavaleira Dourada",
"questGoldenknight2Notes": "Armado(a) com centenas de testemunhos de habiticanos, você finalmente confronta a Cavaleira Dourada. Você começa a recitar as reclamações de habiticanos para ela, uma a uma. \"E @Pfeffernusse diz que a sua constante fanfarronada-\" A Cavaleira levanta sua mão para te silenciar e zomba, \"Por favor, essas pessoas estão meramente com inveja do meu sucesso. Ao invés de reclamar, elas deveriam simplesmente se esforçar tanto quanto eu! Talvez eu deva mostrar-lhes o poder que vocês podem alcançar através de uma diligência como o meu!\" Ela levanta sua maça e se prepara para te atacar!",
"questGoldenknight2Boss": "Cavaleira Dourada",
"questGoldenknight2DropGoldenknight3Quest": "O Cavaleiro Dourado Parte 3: O Cavaleiro de Ferro (Pergaminho)",
"questGoldenknight3Text": "A Cavaleira Dourada, Parte 3: O Cavaleiro de Ferro",
"questGoldenknight3Notes": "@Jon Arinbjorn grita para conseguir sua atenção. Após a sua batalha, uma nova figura apareceu. Um cavaleiro coberto por ferro escurecido lentamente se aproxima de você com espada em mãos. A Cavaleira Dourada grita para a figura \"Pai, não!\", mas o cavaleiro não mostra sinais de parar. Ela se vira para você e diz \"Me desculpe, eu fui uma tola, com uma cabeça grande demais para ver quão cruel eu tenho sido. Mas meu pai é mais cruel do que eu jamais poderia ser. Se ele não for parado, ele nos destruirá a todos. Aqui, use minha maça e pare o Cavaleiro de Ferro!\"",
"questGoldenknight3Completion": "Com um retinir gratificante, o Cavaleiro de Ferro cai de joelhos e cai. \"Você é bem forte\", ele ofega. \"Eu fui humilhado, hoje.\" A Cavaleira Dourada se aproxima de você e diz, \"Obrigada. Eu acredito que tenhamos ganho um pouco de humildade do nosso encontro com você. Eu conversarei com meu pai e explicarei as reclamações contra nós, Talvez nós devêssemos começar a nos desculpar com os outros habiticanos.\" Ela reflete em considerações antes de se voltar para você novamente. \"Aqui: como um presente nosso para você, eu quero que você fique com a minha maça. Ela é sua agora.\"",
"questGoldenknight3Boss": "O Cavaleiro de Ferro",
"questGoldenknight3DropHoney": "Mel (Comida)",
"questGoldenknight3DropGoldenPotion": "Poção de Choca Dourada",
"questGoldenknight3DropWeapon": "Maça-Estrela Esmagadora de Marcos do Mustaine (Arma para mão do escudo)",
"questBasilistText": "A Basi-Lista",
"questBasilistNotes": "Há uma comoção no mercado -- do tipo que deveria fazer você fugir. Sendo o corajoso aventureiro que é, você corre para lá, ao invés, e descobre a Basi-Lista, misturada a um torrão de afazeres incompletos! Habiticanos próximos estão paralizados com medo do tamanho da Basi-lista, incapazes de começar a trabalhar. De algum lugar próximo você ouve @Arcosine gritar: \"Rápido! Complete as suas Diárias e afazeres para minar o monstro, antes que ele cause um corte de papel em alguém!\" Ataque rápido, aventureiro, e marque algo como feito - mas cuidado! Se deixar alguma Diária por fazer, a Basi-Lista vai atacar você e seu grupo!",
"questBasilistCompletion": "A Basi-lista se dispersou em retalhos de papel, que brilhavam suavemente em cores de arco-íris. \"Ufa!\" diz @Arcosline. \"Ainda bem que vocês estavam aqui!\" Sentindo-se mais experiente do que antes, você recolhe um pouco de ouro de entre os papéis.",
"questBasilistBoss": "A Basi-Lista",
"questEggHuntText": "Caça ao Ovo",
"questEggHuntNotes": "Durante a noite, estranhos ovos simples apareceram em todo o lado: no estábulo do Matt, atrás do balcão na Taverna e até no meio dos ovos de mascotes no Mercado! Que incômodo! \"Ninguém sabe de onde eles vieram, ou no que eles chocarão\", diz <strong>Megan</strong>, \"mas nós não podemos simplesmente deixá-los espalhados por aí! Trabalhe duro procurando e me ajude a juntar esses ovos misteriosos. Talvez se você juntar ovos suficientes, poderão sobrar alguns para você...\"",
"questEggHuntCompletion": "Você conseguiu! Em gratidão, <strong>Megan</strong> te dá dez ovos. \"Aposto que as poções de choca vão pintá-los de cores lindas! Imagino o que vai acontecer quando eles virarem montarias...\"",
"questEggHuntCollectPlainEgg": "Ovos Simples",
"questEggHuntDropPlainEgg": "Ovo Simples",
"questDilatoryText": "O Terrível Dragão de Dilatória",
"questDilatoryNotes": "Devíamos ter escutado os avisos.<br><br>Olhos brilhantes mas escuros. Escamas antigas. Mandíbulas gigantes com dentes à mostra. Acordámos algo horrífico na fenda: <strong> o Temível Arrasta'dor de Lentidão!</strong> Habiticanos fugiram em todas as direcções, berrando, quando saiu do mar, o seu terrível pescoço longo esticado ao longo de centenas de metros acima da água enquanto estilhaçava janelas com o seu rugir estridente.<br><br>\"Isto tem de ser o que levou Lentidão à perdição!\" grita Lemoness. \"Não foram as tarefas negligenciadas - as Diárias em vermelho escuro simplesmente atraíram a sua atenção!\"<br><br>\"Está cheio de energia mágica!\" grita @Baconsaur. \"Para ter vivido todo este tempo, deve ser capaz de se regenerar! Como podemos derrotá-lo?\"<br><br>Da mesma forma como derrotamos todas as bestas - com productividade! Depressa Habitica, como uma única força, terminem todas as vossas tarefas e juntos combataremos este monstro. (Não é necessário abandonar demandas anteriores - acreditamos na tua capacidade de duplo-ataque!) Não nos atacará individualmente mas, quantas mais Diárias ignorarmos, mais próximo ficará de despoletar o seu Ataque de Negligência - e não gosto da forma como está a olhar para a taverna...",
"questDilatoryBoss": "O Terrível Dragão de Dilatória",
"questDilatoryBossRageTitle": "Ataque de Negligência",
"questDilatoryBossRageDescription": "Quando esta barra estiver cheia, o Terrível Dragão de Dilatória liberará uma grande devastação sob a terra de Habitica",
"questDilatoryDropMantisShrimpPet": "Camarão Mantis (Mascote)",
"questDilatoryDropMantisShrimpMount": "Camarão Mantis (Montaria)",
"questDilatoryBossRageTavern": "`O Terrível Dragão lança seu ATAQUE DE NEGLIGÊNCIA!`\n\nOh não! Apesar de nossos melhores esforços, nós deixamos algumas Diárias fugirem, e sua cor vermelho-escura atraiu a raiva do Dragão! Com seu temível Ataque de Negligência, ele dizimou a Taverna! Felizmente, nós criamos outra numa cidade próxima, e você está livre para continuar conversando na praia... mas o pobre Daniel, o dono do bar, viu seu amado estabelecimento desmoronar ao seu redor!\n\nEu espero que a fera não ataque novamente!",
"questDilatoryBossRageStables": "`O Terrível Dragão lança seu ATAQUE DE NEGLIGÊNCIA!`\n\nYikes! Mais uma vez, nós deixamos algumas Tarefas por fazer. O Dragão liberou o seu Ataque de Negligência contra o Matt e os estábulos! O animais de estimação estão fugindo em todas as direções. Felizmente parece que todos os seus estão seguros!\n\nPobre Habitica! Eu espero que não aconteça novamente. Apressem-se e façam todas as suas tarefas!",
"questDilatoryBossRageMarket": "`O Terrível Dragão lança seu ATAQUE DE NEGLIGÊNCIA!`\n\nAhhh!! Alex, o comerciante, teve sua loja feita em pedaços pelo Ataque de Negligência do Dragão! Mas parece que estamos realmente desgastando a besta. Eu duvido que ela tenha energia suficiente para outro ataque.\n\nPortanto, não vacile, Habitica! Vamos empurrar esta besta para longe de nossas costas!",
"questDilatoryCompletion": "`A Derrota do Terrível Dragão de Dilatória` \n \nNós conseguimos! Com um último rugido final, o Terrível Dragão desmorona e nada pra longe, muito longe. Multidões de Habiticanos aplaudindo se alinham às margens! Nós ajudamos Matt, Daniel e Alex a reconstruir seus estabelecimentos. Mas o que é isso?\n \n`O Retorno dos Cidadãos!`\n\n Agora que o Dragão fugiu, milhares de cores cintilantes estão ascendendo pelo do mar. É um enxame arco-íris de Camarão Mantis... e entre eles, centenas de pessoas sereias!\n\n \"Nós somos os cidadãos perdidos de Dilatória!\" explica o seu líder, Manta. \"Quando Dilatória afundou, o Camarão Mantis que vivia nestas águas usou um feitiço para nos transformar em pessoas sereias para que pudéssemos sobreviver. Mas em sua fúria, o Terrível Dragão nos prendeu na fenda escura. Nós ficamos presos lá por centenas de anos - mas agora, finalmente, estamos livres para reconstruir nossa cidade!\"\n\n\"Como um agradecimento,\" diz seu amigo @Ottl, \"Por favor, aceite este mascote Camarão Mantis e montaria Camarão Mantis, bem como experiência, ouro e nossa eterna gratidão. \"\n\n` Recompensas `\n* Mascote Camarão Mantis\n* Montaria Camarão Mantis\n* Chocolate, Algodão Doce Azul, Algodão Doce Rosa, Peixe, Mel, Carne, Leite, Batata, Carne Podre, Morango",
"questSeahorseText": "A Corrida de Cavalos Marinhos de Dilatória",
"questSeahorseNotes": "É dia de corrida, e os Habiticanos de todo o continente vieram até Dilatória para correr com os seus cavalos-marinhos mascotes! De repente, um grande barulho na água e relinchos irrompem na pista, e você ouve a Treinadora de Cavalos-Marinhos @Kiwibot gritar sob o barulho das ondas. \"O encontro de cavalos marinhos atraiu um feroz Alazão Marinho!\" ela chora. \"Ele está esmagando os estábulos e destruindo a antiga pista! Alguém pode acalmá-lo?\"",
"questSeahorseCompletion": "O agora manso Alazão Marinho nada docilmente ao seu lado. \"Oh, olhe!\" Kiwibot diz. \"Ele quer que nós cuidemos de seus filhos.\" Ela lhe dá três ovos. \"Crie-os bem\", diz ela. \"Você será sempre bem-vindo na Corrida de Cavalos Marinhos de Dilatória!\"",
"questSeahorseBoss": "Alazão Marinho",
"questSeahorseDropSeahorseEgg": "Cavalo-Marinho (Ovo)",
"questSeahorseUnlockText": "Desbloqueia ovos de Cavalo-marinho para compra no Mercado",
"questAtom1Text": "Ataque do Mundano, Parte 1: Desastre em Louça!",
"questAtom1Notes": "Você chegou às margens do Lago Lavado para um relaxamento merecido... Mas o lago está poluído com pratos sujos! Como isso aconteceu? Bem, você simplesmente não pode permitir que o lago continue neste estado. Há apenas uma coisa que você pode fazer: limpar os pratos e salvar o seu local de férias! Melhor encontrar um pouco de sabão para limpar essa bagunça. Um monte de sabão...",
"questAtom1CollectSoapBars": "Barras de Sabão",
"questAtom1Drop": "O monstro de Lanchinhoness (Pergaminho)",
"questAtom2Text": "Ataque do Mundano, Parte 2: O Monstro de Lanchinhoness",
"questAtom2Notes": "Ufa, este lugar está ficando muito mais agradável com todos estes pratos limpos. Talvez você finalmente possa ter algum divertimento agora. Oh - parece haver uma caixa de pizza flutuando no lago. Bem, qual o problema de limpar mais uma coisa, não é verdade? Mas, infelizmente, não é uma mera caixa de pizza! Subitamente a caixa levanta da água para revelar-se como a cabeça de um monstro. Não pode ser! O Lendário Monstro de Lanchinhoness?! Diz-se que existe escondido no lago desde os tempos pré-históricos: a criatura criada a partir dos restos de comida e lixo dos antigos Habiticanos. Eca!",
"questAtom2Boss": "O Monstro de Lanchinhoness",
"questAtom2Drop": "O lavadeiromante (Pergaminho)",
"questAtom3Text": "Ataque do Mundano, Parte 3: O Lavadeiromante",
"questAtom3Notes": "Com um grito ensurdecedor, e cinco tipos de queijos deliciosos saindo de sua boca, o Monstro de Lanchinhoness cai aos pedaços. \"COMO VOCÊ SE ATRAVE!\" ecoa uma voz debaixo da superfície da água. Uma figura com uma túnica azul emerge da água, empunhando uma escova de vaso sanitário mágica. A roupa suja começa a borbulhar da superfície do lago. \"Eu sou o Lavadeiromante!\" ele com raiva anuncia. \"Você tem muita ousadia - lavando meus pratos deliciosamente sujos, destruindo meu animal de estimação, e entrando no meu domínio com essas roupas limpas. Prepare-se para sentir a ira encharcada de minha magia anti-limpeza!\"",
"questAtom3Completion": "O louco Lavadeiromante foi derrotado! Roupas limpas caem em pilhas ao seu redor. As coisas estão ficando muito melhor por aqui. Quando você começa a avançar pela armadura recém-passada, um brilho de metal chama sua atenção, e seu olhar recai sobre um elmo reluzente. O proprietário original deste brilhante item pode ser desconhecido, mas quando você o coloca, sente a calorosa presença de um espírito generoso. Pena que eles não colocaram uma etiqueta com nome.",
"questAtom3Boss": "O Lavadeiromante",
"questAtom3DropPotion": "Poção de Choca Básica",
"questOwlText": "A Coruja Noturna",
"questOwlNotes": "A luz da Taverna é acesa até o amanhecer.<br>Até que em véspera o brilho vai embora !<br>Como podemos ver durante nossas madrugadas?<br>@Twitching grita, \"Eu preciso de alguns lutadores!<br>Vê aquela Coruja-Noturna, inimiga estrelada?<br>Lute rápido e não devagar!<br>Vamos tirar essa sombra da nossa porta,<br>E fazer com que a noite brilhe mais uma vez!\"",
"questOwlCompletion": "A Coruja-Noturna some antes do raiar,<br>Mas mesmo assim você sente vontade de bocejar.<br>Talvez seja hora de descansar?<br>Então com sua cama você começa a sonhar!<br>A Coruja-Noturna sabe que pode ser uma bolada<br>Concluir trabalhos e ficar acordado até de madrugada,<br>Mas seus novos mascotes vão sutilmente ganir<br>Para lhe avisar quando é hora de dormir.",
"questOwlBoss": "A Coruja-Noturna",
"questOwlDropOwlEgg": "Coruja (Ovo)",
"questOwlUnlockText": "Desbloqueia ovos de Coruja para compra no Mercado",
"questPenguinText": "A Abominável Ave das Neves",
"questPenguinNotes": "Apesar de ser um dia quente de verão no extremo sul de Habitica, um frio estranho baixou sobre o Lago Vivaz. Fortes, gélidos ventos sopram enquanto as margens começam a congelar. Lanças de gelo começam a brotar do chão, afastando terra e grama pelo caminho. @Melynnrose e @Breadstrings correm até você.<br><br> \"Socorro!\" diz @Melynnrose. \"Nós trouxemos um pinguim gigante para congelar o lago para que pudêssemos patinar no gelo, mas acabamos ficando sem peixes para alimenta-lo!\"\"<br><br>\"Ele ficou bravo e agora está usando o seu sopro congelante em tudo que vê pela frente!\" diz @Breadstrings. \"Por favor, você tem que impedi-lo antes que todos fiquemos cobertos de gelo!\" Parece que está na hora desse pinguim... <em>ficar frio.</em>",
"questPenguinCompletion": "Com a derrota do pinguim, o gelo começa a derreter. O gigantesco pinguim se acomoda à luz do sol, deliciando-se com o balde extra de peixes que você arranjou. Ele desliza pelo lago, soprando gentilmente pelo caminho para criar uma bela pista de gelo, brilhante e lisa. Que pássaro bizarro! \"Parece que ele deixou alguns ovos para trás,\" diz @Painter de Cluster. <br><br>@Rattify rí. \"Talvez esses pinguins sejam mais... cabeça fria?\"",
"questPenguinBoss": "Pinguim Gelado",
"questPenguinDropPenguinEgg": "Pinguim (Ovo)",
"questPenguinUnlockText": "Desbloqueia ovos de Pinguim para compra no Mercado",
"questStressbeastText": "A Abominável Besta do Estresse dos estepes de Stoïkalm",
"questStressbeastNotes": "Complete Diárias e afazeres para causar dano no Chefe Global! Diárias incompletas enchem a barra de golpe de tensão. Quando a barra de golpe de tensão estiver cheia, o Chefe Global atacará um NPC. Um Chefe Global nunca causará dano a um jogador individual ou contas de qualquer forma. Somente contas ativas que não estão descansando na taverna terão suas tarefas incompletas computadas. <br><br>~*~<br><br> A primeira coisa que ouvimos são os passos, lentos e mais barulhentos que uma manada. Um por um, Habiticans olham para fora de suas portas, e faltam palavras. <br><br> Nós todos já vimos Bestas de Estresse antes, claro - pequenas criaturas perversas que atacam durante tempos difíceis. Mas isso? Maior que construções, com garras que podem esmagar um dragão com facilidade. Gelo balança de sua pelagem fedorenta, e a medida que ruge, uma explosão gélida destrói telhados de nossas casas. Um monstro dessa magnitude nunca foi mencionado fora de lendas distantes. <br><br>\"Cuidado, Habiticans!\" SabreCat grita. \"Se protejam dentro de suas casas - Essa é a própria Abominável Besta do Estresse!\" <br><br>\"Essa coisa deve ser feita de séculos de estresse!\" diz Kiwibot, trancando a porta da taverna firmemente e fechando as janelas. <br><br>\"Os estepes de Stoïkalm\" diz Lemoness, com pesar em sua face. \"Todo esse tempo, nós pensávamos que eles eram calmos e imperturbados, mas devem ter escondido seu estresse secretamente em algum lugar. Por gerações, transformou-se nisso, e agora está livre e os atacou - e a nós também! <br><br> Só há uma maneira de afastar uma Besta de Estresse, Abominavel ou não, e é atacá-la com Diárias e afazeres completos! Vamos todos nos unir e lutar contra esse temível inimigo - mas tenha certeza de não ser preguiçoso em suas tarefas, ou nossas Diárias incompleta podem enfurecê-lo tanto que irá atacar...",
"questStressbeastBoss": "A Abominável Besta do Estresse",
"questStressbeastBossRageTitle": "Ataque de estresse",
"questStressbeastBossRageDescription": "Quando essa barra encher, a Abominável Besta do Estresse vai lançar seu Ataque de Estresse sobre Habitica!",
"questStressbeastDropMammothPet": "Mamute (Mascote)",
"questStressbeastDropMammothMount": "Mamute (Montaria)",
"questStressbeastBossRageStables": "`Abominável Besta do Estresse usa ATAQUE DE ESTRESSE!`\n\nA onda de estresse cura a Abominável Besta do Estresse!\n\nOh não! Apesar dos nossos melhores esforços, nós deixamos algumas Diárias escaparem, e sua cor vermelho-escuro enfureceu a Abominável Besta do Estresse, fazendo com que ela recuperasse parte de sua vida! A horrível criatura investe contra os Estábulos, mas Matt, o Mestre das Bestas, heroicamente se lança em combate para proteger os mascotes e as montarias. A Besta do Estresse prendeu Matt em seu aperto perverso; mas, ao menos por enquanto, ela está distraída. Rápido! Vamos manter as Diárias sob controle e derrotar esse monstro antes que ele ataque novamente!",
"questStressbeastBossRageBailey": "`Abominável Besta do Estresse usa ATAQUE DE ESTRESSE!`\n\nA onda de estresse cura a Abominável Besta do Estresse!\n\nAhh!!! Nossas Diárias incompletas fizeram com que a Abominável Besta do Estresse ficasse mais furiosa do que nunca e recuperasse parte de sua vida! Bailey, a Arauto, gritava aos cidadãos para que se abrigassem, e agora a Besta a prendeu em sua outra mão! Olhe para ela, valentemente relatando as notícias enquanto a Besta do Estresse a chacoalha perversamente... Vamos honrar sua bravura sendo o mais produtivo que pudermos para salvar nossos NPCs!",
"questStressbeastBossRageGuide": "`Abominável Besta do Estresse usa ATAQUE DE ESTRESSE!`\n\nA onda de estresse cura a Abominável Besta do Estresse!\n\nCuidado! Justin, o Guia, está tentando distrair a Besta do Estresse, correndo em torno dos seus calcanhares, gritando dicas de produtividade! A Abominável Besta do Estresse está pisoteando furiosamente, mas parece que nós realmente estamos cansando esta besta. Eu duvido que ela tenha energia para outro ataque. Não desista... nós estamos muito perto de acabar com ela!",
"questStressbeastDesperation": "`A Abominável Besta do Estresse atinge 500K de vida! A Abominável Besta do Estresse usa Defesa Desesperada!\n\nNós estamos quase lá, Habiticanos! Com persistência e Diárias, nós diminuímos a vida da Besta do Estresse para apenas 500 mil! A criatura ruge e agita os braços em desespero, e sua ira aumenta como nunca. Bailey e Matt berram aterrorizados quando a Besta começa a chacoalhá-los em um ritmo aterrador e cria uma cegante tempestade de neve, que a torna mais difícil de ser acertada.\n\nNós teremos que redobrar nossos esforços, mas tenha fé - isso é um sinal de que a Besta do Estresse sabe que está a ponto de ser derrotada. Não desista agora!",
"questStressbeastCompletion": "<strong>A Abominável Besta do Estresse foi DERROTADA!</strong><br><br> Conseguimos! Com um golpe final, a Abominável Besta do Estresse se dissipa em uma nuvem de neve. Os flocos de neve brilham no ar enquanto alegres Habiticanos abraçam seus animais de estimação e montarias. Nossos animais e nossos NPCs estão seguros novamente!<br><br><strong> Stoïkalm está salva! </strong><br><br>SabreCat fala, suavemente, com seu tigre dentes de sabre. \"Por favor, encontre os cidadãos das Estepes de Stoïkalm e traga-os até nós,\" ele diz. Várias horas depois, o tigre dentes de sabre retorna, e cavaleiros montados em uma manada de mamutes o seguem. Você reconhece a amazona da fileira frontal como sendo Lady Glaciate, a líder de Stoïkalm. <br><br> \"Grandes Habiticanos\", ela diz, \"Meus cidadãos e eu devemos, a vocês, a nossa mais profunda gratidão e sinceras desculpas. Em uma tentativa de proteger nossas Estepes de problemas, nós começamos, secretamente, a banir todo o nosso stress para as montanhas geladas. Nós não fazíamos idéia de que ele iria acumular-se ao longo das gerações e formar a Besta do Estresse que vocês viram! Quando ela libertou-se, prendeu a todos nós na montanha, em seu lugar, e começou um ataque contra nossos amados animais.\" Seu olhar triste se volta para a neve caindo. \"Colocamos todos em risco por causa de nossa tolice. Estejam certos de que no futuro, iremos até vocês com nossos problemas, antes que nossos problemas venham até vocês.\" <br><br> Ela se volta para onde @Baconsaur está abraçando alguns filhotes de mamute. \"Nós trouxemos comida aos seus animais, como uma oferenda e como um pedido de perdão por tê-los assustado, e como símbolo de confiança, nós deixaremos alguns de nossos mascotes e montarias com vocês. Nós sabemos que todos vocês irão cuidar bem deles.\"",
"questStressbeastCompletionChat": "`A Abominável Besta do Estresse foi DERROTADA!`\n\nConseguimos! Com um golpe final, a Abominável Besta do Estresse se dissipa em uma nuvem de neve. Os flocos de neve brilham no ar enquanto alegres Habiticanos abraçam seus animais de estimação e montarias. Nossos animais e nossos NPCs estão seguros novamente!\n\nStoïkalm está salva! \n\nSabreCat fala, suavemente, com seu tigre dentes de sabre. \"Por favor, encontre os cidadãos das Estepes de Stoïkalm e traga-os até nós,\" ele diz. Várias horas depois, o tigre dentes de sabre retorna, e cavaleiros montados em uma manada de mamutes o seguem. Você reconhece a amazona da fileira frontal como sendo Lady Glaciate, a líder de Stoïkalm. \n\n\"Grandes Habiticanos\", ela diz, \"Meus cidadãos e eu devemos, a vocês, a nossa mais profunda gratidão e sinceras desculpas. Em uma tentativa de proteger nossas Estepes de problemas, nós começamos, secretamente, a banir todo o nosso stress para as montanhas geladas. Nós não fazíamos idéia de que ele iria acumular-se ao longo das gerações e formar a Besta do Estresse que vocês viram! Quando ela libertou-se, prendeu a todos nós na montanha, em seu lugar, e começou um ataque contra nossos amados animais.\" Seu olhar triste se volta para a neve caindo. \"Colocamos todos em risco por causa de nossa tolice. Estejam certos de que no futuro, iremos até vocês com nossos problemas, antes que nossos problemas venham até vocês.\"\n\nEla se volta para onde @Baconsaur está abraçando alguns filhotes de mamute. \"Nós trouxemos comida aos seus animais, como uma oferenda e como um pedido de perdão por tê-los assustado, e como símbolo de confiança, nós deixaremos alguns de nossos mascotes e montarias com vocês. Nós sabemos que todos vocês irão cuidar bem deles.\"",
"questTRexText": "O Rei dos Dinossauros",
"questTRexNotes": "Agora que antigas criaturas das Estepes de Stoïkalm estão vagando por toda Habitica, @Urse decidiu adotar um Tiranossauro adulto. O que poderia dar errado?<br><br> Tudo.",
"questTRexCompletion": "O dinossauro selvagem finalmente cessa sua ira e decide criar amizade com os galos gigantes. @Urse o observa atentamente. \"Eles não são mascotes tão terríveis, afinal! Só precisam de um pouco de disciplina. Aqui, pegue alguns dos ovos de Tiranossauro para você.",
"questTRexBoss": "Tiranossauro de Carniça",
"questTRexUndeadText": "O Dinossauro Volta à Vida",
"questTRexUndeadNotes": "Enquanto os antigos dinossauros vindos das Estepes Stoïkalm vagam através da Cidade dos Hábitos, um grito de terror emana do Grande Museu. @Bancosaur berra, \"O esqueleto de Tiranossauro dentro do museu está se mexendo! Ele deve ter sentido a presença de parentes dele!\" A besta esquelética mostra seus dentes e caminha ruidosamente em sua direção. Como você pode derrotar uma criatura que já está morta? Você terá que atacá-la rápido, antes que ela se cure!",
"questTRexUndeadCompletion": "Os olhos brilhantes do Tiranossauro se escurecem, e ele se fixa em seu pedestal costumeiro. Todos suspiram de alívio. \"Olhem!\" @Baconsaur diz. \"Alguns dos ovos fossilizados estão novos e brilhantes! Talvez eles se choquem para você.\"",
"questTRexUndeadBoss": "Tiranossauro Esquelético",
"questTRexUndeadRageTitle": "Cura Esquelética",
"questTRexUndeadRageDescription": "Esta barra se enche quando você não completa suas Diárias. Quando está cheia, o Tiranossauro Esquelético vai recuperar 30% de sua vida restante!",
"questTRexUndeadRageEffect": "`Tiranossauro Esquelético usa CURA ESQUELÉTICA!`\n\nO monstro solta um estrondoso rugido, e alguns de seus ossos quebrados se remendam!",
"questTRexDropTRexEgg": "Tiranossauro (Ovo)",
"questTRexUnlockText": "Desbloqueia ovos de Tiranossauro para compra no Mercado",
"questRockText": "Fuja da Criatura da Caverna",
"questRockNotes": "Atravessando as Montanhas Sinuosas de Habitica com alguns amigos, você monta acampamento, em uma noite, em uma bela caverna incrustada com minerais brilhantes. Mas, quando você acorda, na manhã seguinte, vê que a entrada desapareceu, e o chão da caverna está movendo-se embaixo de você. <br><br>\"A montanha está viva!\", grita o seu companheiro @pfeffernusse. \"Isto não são cristais - isto são dentes!\"<br><br>@Painter de Cluster agarra sua mão. \"Nós teremos de achar outra saída - fique ao meu lado e não se distraia, ou poderemos ficar presos aqui para sempre!\"",
"questRockBoss": "Colosso de Cristal",
"questRockCompletion": "Sua diligência permitiu que você encontrasse um caminho seguro através da montanha viva. De pé, e sob o brilho do sol, seu amigo @intune percebe alguma coisa brilhando no chão, próxima à saída da caverna. Você inclina-se para pegá-la, e vê que é uma pequena pedra com uma veia de ouro transpassando-a. Ao lado dela, há mais algumas pedras com formas bastante peculiares. Elas quase se parecem com... ovos?",
"questRockDropRockEgg": "Pedra (Ovo)",
"questRockUnlockText": "Desbloqueia ovos de Pedra para compra no Mercado",
"questBunnyText": "A Coelhinha Assasina",
"questBunnyNotes": "Depois de muitos dias difíceis, você alcança o cume do Monte da Proscratinação e se mantém de pé em frente às portas imponentes do Forte da Negligência. Você lê a inscrição na pedra: \"Aqui dentro, reside a criatura que incorpora os seus maiores medos, a razão para a sua inatividade. Bata na porta e enfrente o seu demônio!\" Você treme, imaginando o horror que está do lado de dentro, e sente vontade de fugir, como já fez tantas outras vezes. @Draayder te segura. \"Mantenha-se firme, amigo! A hora finalmente chegou. Você precisa fazer isto!\"<br><br> Você bate, e as portas abrem-se para dentro. Em meio à escuridão, você ouve um rugido ensurdecedor, e saca a sua arma.",
"questBunnyBoss": "Coelhinha Assasina",
"questBunnyCompletion": "Com um golpe final, a coelha assassina vai ao chão. Uma névoa brilhante surge ao redor do seu corpo enquanto ela encolhe, até tornar-se uma pequena coelha... que não se parece em nada com a fera cruel que você enfrentou há um momento atrás. O nariz dela move-se de forma adorável; e, pulando, ela vai embora, deixando alguns ovos para trás. @Gully gargalha. \"O Monte da Procrastinação consegue fazer com que mesmo os menores desafios pareçam insuperáveis. Vamos coletar estes ovos e ir para casa.\"",
"questBunnyDropBunnyEgg": "Coelho (Ovo)",
"questBunnyUnlockText": "Desbloqueia ovos de Coelho para compra no Mercado",
"questSlimeText": "O Regente Geléia",
"questSlimeNotes": "Na medida em que você trabalha nas suas tarefas, você nota que está se movendo cada vez mais devagar. \"É como andar pelo melado\", resmunga @Leephon. \"Não, é como andar pela geléia!\" diz @starsystemic. \"Aquele viscoso Regente Geléia derramou suas coisas por toda Habitica. Isto está emperrando os trabalhos. Todo mundo está ficando lento! Você olha ao redor. As ruas estão, aos poucos, se enchendo com uma gosma límpida e colorida, e os Habiticanos estão se debatendo para fazer suas coisas. Enquanto alguns fogem da área, você pega o esfregão e se prepara para a batalha!",
"questSlimeBoss": "Regente Geléia",
"questSlimeCompletion": "Com um soco final, você tranca o Regente Geléia em uma rosquinha gigante, auxiliado por @Overomega, @LordDarkly e @Shaner, os espertos líderes do clube da confeitaria. Enquanto todos estão lhe parabenizando, você sente algo escorregar para dentro de seu bolso. É a recompensa por seu doce sucesso: três ovos de Gosma Marshmallow.",
"questSlimeDropSlimeEgg": "Gosma Marshmallow (Ovo)",
"questSlimeUnlockText": "Desbloqueia ovos de Gosma para compra no Mercado",
"questSheepText": "O Carneiro do Trovão",
"questSheepNotes": "Enquanto perambula pela zona rural Tarefana com seus amigos, dando uma \"pausa rápida\" em suas obrigações, você encontra uma loja aconchegante de linhas para costura. Você está tão absorvido em sua procrastinação que mal percebe as nuvens sinistras que se arrastam sobre o horizonte. \"Eu tenho um ma-a-a-al pressentimento sobre este tempo,\" murmura @Misceo, e você olha para cima. As nuvens tempestuosas se unem e giram em um turbilhão, e elas se parecem muito com um... \"Nós não temos tempo para contemplar nuvens!\" @starsystemic grita. \"Está atacando!\" O Carneiro do Trovão se move, correndo rapidamente e violentamente, lançando raios bem na sua direção!",
"questSheepBoss": "Carneiro do Trovão",
"questSheepCompletion": "Impressionado pela sua diligência, o Carneiro do Trovão deixa a raiva ir embora. Ele atira três enormes pedras de granizo na sua direção; e então, lentamente, desaparece, emitindo um estrondo grave. Ao olhar mais atentamente, você descobre que as pedras de granizo eram, na verdade, três ovos macios e peludos. Você os recolhe, e depois caminha calmamente de volta para casa sob um céu azul.",
"questSheepDropSheepEgg": "Ovelha (Ovo)",
"questSheepUnlockText": "Desbloqueia ovos de Ovelha para compra no Mercado",
"questKrakenText": "O Kraken do Inkompleto",
"questKrakenNotes": "Está um dia quente e ensolarado enquanto vocês navegam sobre a Baia Inkompleta, mas seus pensamentos estão turvos com preocupações sobre tudo que vocês precisam fazer. Parece que assim que você termina uma tarefa, outra surge e depois outra...<br><br>De repente, o barco dá um horrível solavanco e pegajosos tentáculos saltam da água por todos os lados! \"Estamos sendo atacados pelo Kraken do Inkompleto!\" Wolvenhalo grita.<br><br>\"Rápido!\" Lemoness lhes chama. \"Acertem o máximo de tentáculos e tarefas que vocês puderem, antes que outros possam surgir em seu lugar!\"",
"questKrakenBoss": "O Kraken do Inkompleto",
"questKrakenCompletion": "Enquanto o Kraken foge, diversos ovos boiam para a superfície da água. Lemoness os examina e suas suspeitas se tornam alegria. \"Ovos de Lula!\", diz ela. \"Aqui, peguem eles como uma recompensa por tudo que vocês realizaram.\"",
"questKrakenDropCuttlefishEgg": "Lula (Ovo)",
"questKrakenUnlockText": "Desbloqueia ovos de Lula para compra no Mercado",
"questWhaleText": "Lamento da Baleia",
"questWhaleNotes": "Você chega na Doca dos Diligentes, na esperança de arranjar um submarino para ver a Corrida de Cavalos Marinhos de Dilatória. De repente, um berro ensurdecedor faz você parar e cobrir seus ouvidos. \"E ela sopra!\" o Capitão @krazjega Grita, apontando para uma enorme e barulhenta baleia. \"Não é seguro enviar os submarinos enquanto ela está se debatendo!\"<br><br>\"Rápido,\" diz ao @UncommonCriminal. \"Me ajude a acalmar a pobre criatura para podermos entender porque ela está fazendo todo este barulho!\"",
"questWhaleBoss": "Baleia Chorona",
"questWhaleCompletion": "Depois de muito trabalho duro, finalmente a baleia cessa seu choro violento. \"Parece que ela estava se afogando em ondas de hábitos negativos,\" @zoebeagle explica. \"Graças ao seu esforço consistente, nós fomos capazes de virar a maré!\" Assim que você entra no submarino, vários ovos de baleia pulam em sua direção, e você os acolhe.",
"questWhaleDropWhaleEgg": "Baleia (Ovo)",
"questWhaleUnlockText": "Desbloqueia ovos de Baleia para compra no Mercado",
"questDilatoryDistress1Text": "Angustia da Dilatória, Parte 1: Mensagem na Garrafa",
"questDilatoryDistress1Notes": "Uma mensagem em uma garrafa chegou da recente reconstruída cidade de Dilatória! Lê-se: \"Queridos Habiticanos, precisamos da sua ajuda mais uma vez. Nossa princesa desapareceu e a cidade está sob o cerco de alguns estranhos demônios d'água! Os camarões mantis estão segurando os atacantes na baía. Por favor, ajudar-nos!\" Para fazer a longa viagem até a cidade submersa, é preciso ser capaz de respirar água. Felizmente, os alquimistas @Benga e @hazel podem tornar isso possível! Vocês só tem que encontrar os ingredientes necessários.",
"questDilatoryDistress1Completion": "Você veste a armadura com barbatanas e nada para Dilatória o mais rápido possível. O tritões e seus aliados camarões mantis conseguiram manter os monstros fora da cidade por enquanto, porém eles estão perdendo. Tão logo que você adentra as muralhas do castelo, o horrível cerco ataca subitamente!",
"questDilatoryDistress1CollectFireCoral": "Coral de Fogo",
"questDilatoryDistress1CollectBlueFins": "Barbatanas Azuis",
"questDilatoryDistress1DropArmor": "Armadura Oceânica com Barbatanas (Armadura)",
"questDilatoryDistress2Text": "Angustia da Dilatória, Parte 2: Criaturas da Fenda",
"questDilatoryDistress2Notes": "O cerco pode ser visto de muito longe: milhares de crânios sem corpo que correm através de um portal nas fendas das paredes em direção à Dilatória.<br><br>Quando você encontra o Rei Manta em sua sala de guerra, seus olhos parecem profundos e seu rosto preocupado. \"Minha filha Adva desapareceu na Fenda Escura pouco antes deste cerco começar. Por favor, encontre-a e traga-a de volta para casa em segurança! Eu vou lhe emprestar a minha Tiara do Coral de Fogo para ajudá-lo. Se você tiver sucesso, ela é sua.\"",
"questDilatoryDistress2Completion": "Você acaba com a horda assustadora de crânios, mas você não tem a menor ideia de como encontrar Adva. Você fala para @Kiwibot, a rastreadora real, para ver se ela tem alguma ideia. \"Os camarões mantis que defendem a cidade devem ter visto Adva fugir,\" diz @Kiwibot. \"Tente seguir-los pela Fenda Escura.\"",
"questDilatoryDistress2Boss": "Enxame da Caveiras D'água",
"questDilatoryDistress2RageTitle": "Retorno do Enxame",
"questDilatoryDistress2RageDescription": "Retorno do Enxame: Esta barra enche quando você não completa suas Diárias. Quando fica cheia, o Enxame de Caveiras D'água irá curar 30% da sua vida!",
"questDilatoryDistress2RageEffect": "`Enxame de Caveiras D'água usa RETORNO DO ENXAME!`\n\nEncorajado pelas suas vitórias, mais crânios jorram da fenda, reforçando o enxame!",
"questDilatoryDistress2DropSkeletonPotion": "Poção de Choca Esqueleto",
"questDilatoryDistress2DropCottonCandyBluePotion": "Poção de Choca Algodão-Doce Azul",
"questDilatoryDistress2DropHeadgear": "Tiara do Coral flamejante (Equipamento de cabeça)",
"questDilatoryDistress3Text": "Angustia da Dilatória, Parte 3: Não uma Sereia qualquer",
"questDilatoryDistress3Notes": "Você segue os camarões mantis Fenda a dentro, e descobre uma fortaleza subaquática. Princesa Adva, escoltada por crânios d'água, espera por você dentro do salão principal. \"O meu pai que enviou você, não foi? Diga à ele que eu me recuso a voltar. Eu estou contente em ficar aqui e praticar minha feitiçaria. Saia agora, ou você irá sentir a ira da nova rainha do oceano!\" Adva parece muito inflexível, mas enquanto ela fala você nota um estranho pingente de rubi em seu pescoço, brilhando de forma ameaçadora... Talvez seus delírios acabariam se você quebrá-lo?",
"questDilatoryDistress3Completion": "Finalmente, você consegue puxar o pingente enfeitiçado do pescoço de Adva e jogá-lo fora. Adva agarra a cabeça. \"Onde estou? O que aconteceu aqui?\" Depois de ouvir sua história, ela franze a testa. \"Este colar foi-me dado por uma estranha embaixadora - uma senhora chamada 'Tzina'. Eu não me lembro de nada depois disso!\"<br><br>De volta à Dilatória, Manta está muito feliz por seu sucesso. \"Permita-me recompensá-lo com este tridente e este escudo! Eu os encomendei do @aiseant e do @starsystemic como um presente para Adva, mas... eu prefiro não dar armas para ela tão cedo.\"",
"questDilatoryDistress3Boss": "Adva, a Sereia Usurpadora",
"questDilatoryDistress3DropFish": "Peixe (Comida).",
"questDilatoryDistress3DropWeapon": "Tridente da Maré Absoluta (Arma)",
"questDilatoryDistress3DropShield": "Escudo de Pérola Lunar (Item para mão do escudo)",
"questCheetahText": "Tão Guepardo",
"questCheetahNotes": "Enquanto você caminha pela Savana Sloensteadi com seus amigos @PainterProphet, @tivaquinn, @Unruly Hyena, e @Crawford, você fica assustado ao ver um Guepardo correndo com um novo Habiticano na boca. Embaixo das patas ferozes do Guepardo, tarefas somem mesmo sem serem completadas -- antes de alguém sequer ter a chance de finalizá-las. O Habiticano vê você e grita \"Por favor, me ajude! Este Guepardo está me fazendo subir de nível muito rápido, mas não estou terminando tarefa nenhuma. Quero ir mais devagar e aproveitar o jogo. Faça ele parar!\" Você lembra com carinho dos seus dias de iniciante e sabe que precisa ajudar o novato parando o Guepardo!",
"questCheetahCompletion": "O novo Habiticano está ofegante depois do ocorrido com o Guepardo, mas agradece a você e aos seus amigos pela ajuda. \"Estou feliz que o Guepardo não poderá mais abocanhar ninguém. Ele até deixou alguns ovos de Guepardo para a gente, então talvez possamos criá-los como mascotes mais confiáveis!\"",
"questCheetahBoss": "Guepardo",
"questCheetahDropCheetahEgg": "Guepardo (Ovo)",
"questCheetahUnlockText": "Desbloqueia ovos de guepardo para comprar no Mercado",
"questHorseText": "Cavalgue o Pesadelo",
"questHorseNotes": "Enquanto relaxa na Taverna com @beffymaroo e @JessicaChase, a conversa acaba virando sobre as grandes conquistas que você teve em suas aventuras. Orgulhoso dos seus feitos, e talvez um pouco empolgado demais, você se vangloria dizendo que pode dominar qualquer tarefa. Um estranho que passava por perto vira pra você e sorri. Apenas um olho pisca e ele lhe desafia a andar no seu cavalo para provar o que você disse.\nEnquanto vocês todos vão para o estábulo, o @UncommonCriminal sussura: \"Talvez você tenha botado no prato mais do que pode comer. Esse não é um cavalo - é um Pesa-Delo!\". Olhando para as pegadas dele, você começa a se arrepender de ter dito aquilo...",
"questHorseCompletion": "Foi necessaria toda sua habilidade, mas finalmente o cavalo bate com o casco no chão e se apoia no seu ombro antes de te deixar monta-lo. Você cavalga breve porém orgulhosamente ao redor da Taverna enquanto seus amigos vibram. O estranho sorri de ponta a ponta.\n\"Então não foi conversa fiada! Sua determinação é realmente impressionante. Pegue estes ovos para criar seus próprios cavalos, e talvez nos encontraremos novamente algum dia.\" Você pega os ovos, o estranho ajeita seu chapéu.... e desaparece.",
"questHorseBoss": "Pesadelo",
"questHorseDropHorseEgg": "Cavalo (Ovo)",
"questHorseUnlockText": "Desbloqueie ovos de Cavalo no Mercado",
"questBurnoutText": "Desgaste e os Espíritos Exaustos",
"questBurnoutNotes": "Passou da meia-noite, mas o calor ainda queima quando Redphoenix e a capitã dos escoteiros, Kiwibot, entram abruptamente pelos portões da cidade. \"Precisamos evacuar todas as construções de madeira\", grita Redphoenix. \"Rápido!\"<br><br>Kiwibot se segura na parede enquanto recupera o fôlego. \"Ele está sugando pessoas e transformando-as em Espíritos Exaustos! É por isso que tudo estava atrasado. É isso que aconteceu com as pessoas desaparecidas. Ele está roubando a energia delas!\"<br><br>\"Ele?\", pergunta Lemoness.<br><br>E aí o calor toma forma.<br><br>Surge da terra em uma forma que cresce em espiral, enquanto o ar sucumbe ao cheiro da fumaça e do enxofre. Chamas avançam pelo chão derretido e transformam-se em patas, alcançando um tamanho assustador. Olhos ardentes se abrem e a criatura solta um alto estalo.<br><br> Kiwibot então sussurra uma única palavra.<br><br><em>\"Desgaste.\"</em>",
"questBurnoutCompletion": "<strong>Desgaste foi DERROTADO!</strong><br><br>Com um grande e suave suspiro, Desgaste libera, devagar, sua energia ardente que estava alimentando seu fogo. Enquanto o monstro desaparece calmamente em cinzas, as energias que ele roubou brilham no ar, rejuvenescendo os Espíritos Exaustos e os devolvendo à suas verdadeiras formas. <br><br>Ian, Daniel e a Feiticeira Sazonal animam-se enquanto os Habiticanos correm para saudá-los e todos os cidadãos desaparecidos dos Campos Florescentes abraçam suas famílias e amigos. O último Espírito Exausto se transforma na Ceifadora Alegre! <br><br>\"Olhem!\" sussurra @Baconsaur, enquanto as cinzas começam a brilhar. Devagar, elas se transformam em centenas de fênix reluzentes!<br><br>Um dos brilhantes pássaros pousa no braço esqueleto da Ceifadora Alegre e sorri para ela. \"Já faz bastante tempo que eu tive o raro privilégio de testemunhar uma fênix nos Campos Florescentes,\" ela disse. \"Apesar das ocorrências recentes, eu preciso dizer que isto é, realmente, tematicamente apropriado!\"<br><br>Seu tom de voz fica sereno, apesar de (naturalmente) seu sorriso permanecer. \"Nós somos conhecidos por nosso trabalho duro aqui, mas também somos conhecidos por nossos banquetes e festivais. Bem irônico, eu suponho, enquanto nos esforçamos para planejar uma festa espetacular, nós nos recusamos a nos permitir qualquer tempo para diversão. Nós certamente não vamos cometer o mesmo erro outra vez!\"<br><br>Ela aplaude. \"Agora - vamos celebrar!\"",
"questBurnoutCompletionChat": "Desgaste foi DERROTADO!<br><br>Com um grande e suave suspiro, Desgaste libera, devagar, sua energia ardente que estava alimentando seu fogo. Enquanto o monstro desaparece calmamente em cinzas, as energias que ele roubou brilham no ar, rejuvenescendo os Espíritos Exaustos e os devolvendo à suas verdadeiras formas. <br><br>Ian, Daniel e a Feiticeira Sazonal animam-se enquanto os Habiticanos correm para saudá-los e todos os cidadãos desaparecidos dos Campos Florescentes abraçam suas famílias e amigos. O último Espírito Exausto se transforma na Ceifadora Alegre! <br><br>\"Olhem!\" sussurra @Baconsaur, enquanto as cinzas começam a brilhar. Devagar, elas se transformam em centenas de fênix reluzentes!<br><br>Um dos brilhantes pássaros pousa no braço esqueleto da Ceifadora Alegre e sorri para ela. \"Já faz bastante tempo que eu tive o raro privilégio de testemunhar uma fênix nos Campos Florescentes,\" ela disse. \"Apesar das ocorrências recentes, eu preciso dizer que isto é, realmente, tematicamente apropriado!\"<br><br>Seu tom de voz fica sereno, apesar de (naturalmente) seu sorriso permanecer. \"Nós somos conhecidos por nosso trabalho duro aqui, mas também somos conhecidos por nossos banquetes e festivais. Bem irônico, eu suponho, enquanto nos esforçamos para planejar uma festa espetacular, nós nos recusamos a nos permitir qualquer tempo para diversão. Nós certamente não vamos cometer o mesmo erro outra vez!\"<br><br>Ela aplaude. \"Agora - vamos celebrar!\"<br><br>Todos os Habiticanos recebem:<br><br>Mascote Fênix<br>Montaria Fênix<br>Conquista: Salvador dos Campos Florescentes<br>Doce Básico<br>Doce de Baunilha<br>Doce de Areia<br>Doce de Canela<br>Doce de Chocolate<br>Doce Podre<br>Doce Rosa Azedo<br>Doce Azul Azedo<br>Doce de Mel",
"questBurnoutBoss": "Desgaste",
"questBurnoutBossRageTitle": "Golpe de Exaustão",
"questBurnoutBossRageDescription": "Quando este medidor estiver cheio, o Desgaste aplicará seu Golpe por Exaustão em todo Habitica.",
"questBurnoutDropPhoenixPet": "Fênix (Mascote)",
"questBurnoutDropPhoenixMount": "Fênix (Montaria)",
"questBurnoutBossRageQuests": "`Desgaste usou o GOLPE POR EXAUSTÃO!`\n\nAh não! Mesmo com nosso esforço, deixamos algumas Diárias escapar e agora o Desgaste se inflamou com energia! Com um amedrontador grunhido, ele engole Ian, o Mestre das Missões, num espectro de fogo. Enquanto pergaminhos de missões caem queimadas, a fumaça espairece e você percebe que o Ian teve sua energia arrancada e se transformou num flutuante Espírito Exausto!\n\nApenas a derrota do Desgaste pode quebrar o feitiço e trazer de volta nosso querido Mestre das Missões. Vamos continuar fazendo nossas Diárias e derrotar esse monstro antes que ele ataque novamente!",
"questBurnoutBossRageSeasonalShop": "`Desgaste usa ATAQUE DE EXAUSTÃO!`\n\nAhh !!! Nossas Diárias incompletas têm alimentado as chamas do Desgaste, e agora ele tem energia suficiente para atacar novamente! Ele solta um jorro de chamas espectrais que cauteriza a Loja Sazonal. Você se horroriza ao ver que a animada Feiticeira Sazonal foi transformada em um abatido Espírito Exausto.\n\nTemos que resgatar nossos NPCs! Se apressem, Habiticanos, concluam suas tarefas e derrotem o Desgaste antes que ele ataque pela terceira vez!",
"questBurnoutBossRageTavern": "`Desgaste usa ATAQUE DE EXAUSTÃO!`\n\nMuitos Habiticanos tem se escondido do Desgaste na Taverna, mas não mais! Com um uivo estridente, Desgaste arranha a Taverna com as suas mãos ardentes. À medida que os clientes da Taverna fogem, Daniel é pego nas garras de Queimadura, e se transforma em um Espírito Exausto na sua frente! \n\nEste horror cabeça quente já dura tempo demais. Não desista... estamos tão perto de vencer o Desgaste de uma vez por todas!",
"questFrogText": "Pântano do Sapo Bagunceiro",
"questFrogNotes": "Enquanto você e seus amigos caminham com dificuldade pelo Pântano da Estagnação, @starsystemic aponta para uma placa \"Fique no caminho -- se puder.\" <br><br>\"Com certeza isso não é difícil!\" @RosemonkeyCT diz. \"É amplo e claro.\"<br><br>Mas conforme você avança, nota que o caminho gradualmente vai sendo tomado pela sujeira do pântano, ladeado por estranhos detritos azuis, até que é impossível prosseguir.<br><br>Conforme você olha em volta, se perguntando como ficou tão bagunçado, @Jon Arjinborn grita \"Cuidado!\" Um sapo irritado pula do lodo, vestindo roupas sujas e iluminado por um fogo azul. Você terá que superar esse venenoso Sapo Bagunceiro para avançar!",
"questFrogCompletion": "O sapo se acovarda na lama, derrotado. Conforme ele sai, o lodo azul esvanece, deixando o caminho à frente livre.<br><br>Parados no meio do caminho estão três ovos perfeitos. \"Você consegue até ver os pequenos girinos pela casca transparente!\" @Breadstrings diz, \"Aqui, você pode ficar com eles.\"",
"questFrogBoss": "Sapo Bagunceiro",
"questFrogDropFrogEgg": "Sapo (Ovo)",
"questFrogUnlockText": "Desbloqueia ovos de Sapo para compra no Mercado",
"questSnakeText": "A Serpente da Distração",
"questSnakeNotes": "É preciso um espírito durão para viver nas Duas da Distração. O deserto árido não é um lugar muito produtivo, e as dunas brilhantes têm levado muitos viajantes a se perderem. No entanto, alguma coisa tem assustado até mesmo os locais. As areias foram mudando e engolfando aldeias inteiras. Moradores alegam que um monstro com um enorme corpo de serpente está à espreita sob as areias, e todos eles oferecem juntos uma recompensa para aquele que irá ajudá-los a encontrá-lo e pará-lo. Os mais elogiados encantadores de serpentes @EmeraldOx e @PainterProphet concordaram em ajudá-lo a convocar a besta. Poderá você impedir a Serpente da Distração?",
"questSnakeCompletion": "Com a ajuda dos encantadores, você baniu a Serpente da Distração. Ainda que você tenha ficado feliz com a ajuda dos habitantes das Dunas, você não conseguiu não se sentir triste pelos companheiros derrotados. Enquanto você admira o horizonte, o @LordDarkly se aproxima. \"Obrigado! Não é muito, mas espero que isso possa expressar nossa gratidão.\" Ele oferece um pouco de Ouro e.... alguns ovos de Cobra! Você verá esse animal maravilhoso no final das contas.",
"questSnakeBoss": "Serpente da Distração",
"questSnakeDropSnakeEgg": "Cobra (Ovo)",
"questSnakeUnlockText": "Desbloqueie ovos de Cobra para compra no Mercado",
"questUnicornText": "Convencendo a Rainha Unicórnio",
"questUnicornNotes": "A Enseada da Conquista tornou-se turva, destruindo suprimento de água fresca da Cidade dos Hábitos! Felizmente, @Lukreja conhece uma antiga lenda que afirma que um chifre de unicórnio pode purificar a mais imunda das águas. Juntamente com o seu guia intrépido @UncommonCriminal, você caminha através dos picos congelados das Montanhas Serpenteantes. Finalmente, na cúpula de gelo do próprio Monte Habitica, você encontra a Rainha Unicórnio no meio das neves brilhantes. \"Seus fundamentos são convincentes\", ela lhe diz. \"Mas primeiro você deve provar que você é digno de minha ajuda!\"",
"questUnicornCompletion": "Impressionado com sua diligência e força, a Rainha Unicórnio finalmente concorda que sua causa é digna. Ela permite que você montar em suas costas enquanto ela sobe para a fonte da Enseada da Conquista. Quando ela abaixa seu chifre de ouro para as águas sujas, uma luz azul brilhante sai da superfície da água. É tão cegante que você é forçado a fechar os olhos. Quando você os abre um momento depois, o unicórnio desapareceu. No entanto, @rosiesully solta um grito de alegria: agora a água está clara, e três ovos brilhantes descansam à beira da enseada.",
"questUnicornBoss": "A Rainha Unicórnio",
"questUnicornDropUnicornEgg": "Unicórnio (Ovo)",
"questUnicornUnlockText": "Desbloqueia ovos de Unicórnio para compra no Mercado",
"questSabretoothText": "O Gato Dente de Sabre",
"questSabretoothNotes": "Um monstro rugidor está aterrorizando Habitica! A criatura espreita nas matas e florestas, então ataca rapidamente antes de desaparecer novamente. Ele está caçando pandas inocentes e assustando porcos voadores em fugirem de seus currais para pousarem nas arvores. @Inventrix e @icefelis explicam que o Gato Dente de Sabres Zumbi foi libertado enquanto eles escavavam nos antigos e intocados campos de gelo das Estepes de Stoikalm. \"Ele era perfeitamente dócil no começo não entendo o que houve. Por favor, você tem que nos ajudar a recaptura-lo! Apenas um campeão de Habitica pode subjugar essa besta pré-histórica!\"",
"questSabretoothCompletion": "Depois de uma longa e desgastante batalha, você golpeia o Gato Dentes de Sabre Zumbi para o chão. Como você finalmente pode se aproximar, nota uma cavidade em um dos dentes de sabre. Percebendo o verdadeiro motivo da fúria do gato, você pede para @Fandekasp preencher a cavidade, e aconselha todos a evitarem alimentar seu amigo com doces no futuro. O Gato Dentes de Sabre melhora e em agradecimento, seus domadores te enviam uma recompensa generosa uma ninhada de ovos de dente de sabre!",
"questSabretoothBoss": "Gato Dente de Sabre Zumbi",
"questSabretoothDropSabretoothEgg": "Dente de Sabre (Ovo)",
"questSabretoothUnlockText": "Desbloqueia ovos compráveis de Dente de Sabre no Mercado",
"questMonkeyText": "Mandril Monstruoso e os Macacos Travessos",
"questMonkeyNotes": "A Savana Sloensteadi está sendo devastada pelo Mandril Monstruoso e seus Macacos Travessos! Eles gritam alto o suficiente para abafar os sons dos prazos que se aproximam, encorajando todos a evitar suas obrigações e continuar a procrastinar. Infelizmente, muitas pessoas imitam esse comportamento ruim. Se ninguém parar esses primatas, logo as tarefas de todos estarão tão vermelhas quanto a cara do Monstruoso Mandril!!<br><br>\"Precisaremos de um aventureiro dedicado para opor-se a eles,\" diz @yamato.<br><br>\"Rápido, vamos tirar esse macaco das costas de todo o mundo!\" @Oneironaut grita, e você corre para o combate.",
"questMonkeyCompletion": "Você conseguil! Hoje esses demônios vão ficar sem bananas. Oprimidos por sua força, os macacos fogem em pânico. \"Olha\", diz @Misceo. \"Eles deixaram alguns ovos para trás.\"<br><br>@Leephon Sorri. \"Talvez um macaco de estimação bem treinado pode ajudá-lo tanto quanto os selvagens atrapalharam!\"",
"questMonkeyBoss": "Mandril Monstruoso",
"questMonkeyDropMonkeyEgg": "Macaco (Ovo)",
"questMonkeyUnlockText": "Desbloqueia ovos de Macaco para compra no Mercado",
"questSnailText": "O trabalho fastidioso do caracol Sludge",
"questSnailNotes": "Você está excitado para começar a sua aventura nos Calabouços abandonados do Tédio, mas logo que você entra, você sente o chão embaixo dos seus pés começarem a sugar suas botas. Você olha para o caminho a frente e vê Habiticanos afundados na gosma. @Overomega grita, \"Eles tem muitos deveres e Diárias pouco relevantes, e estão se prendendo nas coisas que não importam! Puxe-os fora!\" <br><br>\"Você precisa encontrar a origem da gosma,\" @Pfeffernusse concorda, \"ou as tarefas que eles não conseguirem cumprir vão puxa-los para baixo para sempre!\"<br><br>Puxando fora a sua arma, você cruza a lama pegajosa... e encontra o temível Caracol do Lodo Tedioso.",
"questSnailCompletion": "Você desce sua arma na grande concha do Caracol, quebrando ela em dois, liberando uma inundação de água. A gosma é lavada, e os Habiticanos a sua volta comemoram. \"Olhe!\" fala @Misceo. \"Tem um pequeno grupo de ovos de caracol nos restos do muco.\"",
"questSnailBoss": "trabalho fastidioso do caracol Sludge",
"questSnailDropSnailEgg": "Caracol (Ovo)",
"questSnailUnlockText": "Desbloqueia ovos de Caracol para compra no Mercado",
"questBewilderText": "O Be-Wilder",
"questBewilderNotes": "A festa começa como qualquer outra.<br><br>Os aperitivos estão excelentes, a música está a animar o ambiente e até os elefantes dançarinos já são parte da rotina. Os Habiticanos riem e conversam entre os centros de mesa florais abastados, contentes por se distrairem das suas tarefas mais fastidiosas e o Palhaço de Abril rodopia entre eles, ansiosamente executando truques e fazendo piadas.<br><br> Assim que a torre-relógio de Mistyflying bate à meia-noite, o Palhaço de Abril salta para o palco e começa um discurso.<br><br> \"Amigos! Inimigos! Conheçidos toleráveis! Dêem-me a vossa atenção.\" A multidão ri quando orelhas de animais aparecem nas suas cabeças e fazem poses com os seus novos acessórios.<br><br>\"Como sabem\", continua o Palhaço, \"as minhas ilusões confusas normalmente duram somente um dia. No entanto, é o meu prazer anunciar que descobri uma forma de nos garantir diversão sem fim sem o peso intrometido das nossas responsabilidades. Ilustres Habiticanos, conheçam o meu novo amigo mágico...O Be-Wilder!\"<br><br>Lemoness empalidece subitamente, deixando cair os seus aperitivos. \"Esperem! Não confiem--\"<br><br>Subitamente uma névoa espessa e brilhante preenche a sala, rodopiando à volta do Palhaço de Abril, formando penas e um pescoço alongado. A multidão fica sem palavras enquanto um pássaro monstruoso se materializa à sua frente, soltando um riso estridente.<br><br>\"Ah! Faz épocas desde que um Habiticano foi tolo o suficiente para me invocar! Que maravilhosa esta sensação de ter uma forma tangível finalmente.\"<br><br>Zumbindo de terror, as abelhas de Mistiflying fogem da cidade flutuante, que começa a descer do céu. Uma a uma, as flores brilhantes começam a secar e a flutuar ao vento.<br><br>\"Meus caros amigos, porquê este pânico?\", grita o Be-Wilder, batendo as suas asas. \"Não é necessário trabalhar pelas vossas recompensas. Eu simplesmente dar-vos-ei tudo o que desejam!\"<br><br>Moedas começam a chover do céu, batendo no solo com força e a multidão foge em busca de abrigo. \"Mas isto é uma piada?\" pergunta Baconsaur enquanto o ouro parte janelas e telhas.<br><br> PainterProphet agacha-se enquanto relâmpagos caem e um nevoeiro tapa o Sol. \"Não! Desta vez, não creio que seja!\"<br><br>Depressa Habiticanos, não deixem que este Chefão Global vos distraia dos vossos objectivos! Mantenham o foco nas Tarefas que precisam de completar para salvar Mistiflying -- e esperemos, vocês.",
"questBewilderCompletion": "<strong>O Be-Wilder foi DERROTADO!</strong><br><br>Conseguimos! O Be-Wilder deixa sair um grito final enquanto se torce todo no ar, largando penas como se fosse uma chuva. Gradualmente, transforma-se numa nuvem de névoa. Com o Sol começando a furar o nevoeiro, este dissipa-se revelando as silhuetas de Bailey, Matt, Alex... e o Palhaço de Abril.<br><br><strong>Mistiflying está salva!</strong><br><br>O Palhaço de Abril tem um ar envergonhado. \"Ah, hmmm,\" diz ele. \"Talvez me tenha...entusiasmado um pouco.\"<br><br>A multidão murmura. Flores ensopadas enchem os passeios. Algures, um telhado cai, fazendo soar o som de água a salpicar.<br><br>\"Pois...\" diz o Palhaço de Abril, \"Bom. O que quero dizer é que quero pedir desculpa\". Ele solta um suspiro. \"Bom, parece que tudo não pode ser tudo diversão e jogos. Não magoa focar-nos de vez em quando. Acho que vou começar a preparar a partida do próximo ano.\"<br><br>Redphoenix tosse de forma ameaçadora.<br><br>\"Quero dizer, começar a limpeza de primavera deste ano!\" diz o Palhaço de Abril. \"Nada a temer! Vou deixar a Cidade dos Hábitos toda arrumada em pouco tempo. Felizmente ninguém é melhor que eu a manusear duas esfregonas ao mesmo tempo.\"<br><br>Encorajada, a banda de cerimónias começa a tocar.<br><br>Não demora muito até que tudo esteja de volta ao normal na Cidade dos Hábitos. Mais, agora que o Be-Wilder se evaporou, as abelhas mágicas de Mistiflying voltaram ao trabalho e em pouco tempo as flores estão de novo a despontar e a cidade flutua de novo.<br><br>Enquanto os Habiticanos dão festas às abelhas mágicas, os olhos do Palhaço de Abril iluminam-se. \"Oho! Tive um pensamento! Porque não mantemos algumas destas abelhas como Bichos de Estimação ou Montadas? É uma prenda que representa perfeitamente o balanço entre trabalho árduo e recompensas, isto se for para ser simbólico e aborrecido convosco.\" Ele pisca o olho. \"Além disso, não têm ferrões! Honra de Palhaço.\"",
"questBewilderCompletionChat": "`O Be-Wilder foi DERROTADO!`\n\nConseguimos! O Be-Wilder deixa sair um grito final enquanto se torce todo no ar, largando penas como se fosse uma chuva. Gradualmente, transforma-se numa nuvem de névoa. Com o Sol começando a furar o nevoeiro, este dissipa-se revelando as silhuetas de Bailey, Matt, Alex... e o Palhaço de Abril.\n\n`Mistiflying está salva!`\n\nO Palhaço de Abril tem um ar envergonhado. \"Ah, hmmm,\" diz ele. \"Talvez me tenha...entusiasmado um pouco.\"\n\nA multidão murmura. Flores ensopadas enchem os passeios. Algures, um telhado cai, fazendo soar o som de água a salpicar.\n\n\"Pois...\" diz o Palhaço de Abril, \"Bom. O que quero dizer é que quero pedir desculpa\". Ele solta um suspiro. \"Bom, parece que tudo não pode ser tudo diversão e jogos. Não magoa focar-nos de vez em quando. Acho que vou começar a preparar a partida do próximo ano.\"\n\nRedphoenix tosse de forma ameaçadora.\n\n\"Quero dizer, começar a limpeza de primavera deste ano!\" diz o Palhaço de Abril. \"Nada a temer! Vou deixar a Cidade dos Hábitos toda arrumada em pouco tempo. Felizmente ninguém é melhor que eu a manusear duas esfregonas ao mesmo tempo.\"\n\nEncorajada, a banda de cerimónias começa a tocar.\n\nNão demora muito até que tudo esteja de volta ao normal na Cidade dos Hábitos. Mais, agora que o Be-Wilder se evaporou, as abelhas mágicas de Mistiflying voltaram ao trabalho e em pouco tempo as flores estão de novo a despontar e a cidade flutua de novo.\n\nEnquanto os Habiticanos dão festas às abelhas mágicas, os olhos do Palhaço de Abril iluminam-se. \"Oho! Tive um pensamento! Porque não mantemos algumas destas abelhas como Bichos de Estimação ou Montadas? É uma prenda que representa perfeitamente o balanço entre trabalho árduo e recompensas, isto se for para ser simbólico e aborrecido convosco.\" Ele pisca o olho. \"Além disso, não têm ferrões! Honra de Palhaço.\"",
"questBewilderBossRageTitle": "Ataque de Decepção",
"questBewilderBossRageDescription": "Quando esta barra enche, o Be-Wilder libertará o seu Ataque de Decepção sobre Habitica!",
"questBewilderDropBumblebeePet": "Abelha Mágica (Mascote)",
"questBewilderDropBumblebeeMount": "Abelha Mágica (Montaria)",
"questBewilderBossRageMarket": "`O Be-Wilder usa o ATAQUE DE DECEPÇÃO!`\n\nOh não! Apesar do nosso melhor esforço, fomos distraídos pelas ilusões do Be-Wilder e esquecemo-nos de completar algumas das nossas Diárias! Com um riso cacarejante, a besta brilhante bate as suas asas, levantando uma névoa à volta de Alex, o comerciante. Quando se dissipa, ele está possuido! \"Tomem algumas amostras grátis!\" grita com prazer, lançando ovos explosivos e poções aos Habiticanos em fuga. Não são os saldos mais favoráveis, sem dúvida.\n\nDepressa! Vamos manter-nos focados nas nossas Diárias para derrotar este monstro antes que possua mais alguém.",
"questBewilderBossRageStables": "`O Be-Wilder usa o ATAQUE DE DECEPÇÃO!`\n\nAhhh!!! Uma vez mais, o Be-WIlder distraiu-nos o suficiente para negligenciarmos as nossas Diárias, e agora atacou Matt, o Mestre das Bestas! Com um remoinho de névoa, Matt transforma-se numa criatura alada terrível e todos os animais e montadas uivam de tristeza nos seus estábulos. Depressa, mantenham-se focados nas vossas Tarefas para derrotar esta distração terrível!",
"questBewilderBossRageBailey": "`O Be-Wilder usa o ATAQUE DE DECEPÇÃO!`\n\nCuidado! Enquanto reporta as notícias, Bailey, a Arauto, é possuída pelo Be-Wilder! Ela solta um guincho maléfico e sem significado enquanto começa a flutuar no ar. Como é que vamos saber agora o que se está a passar?\n\nNão desistam...estamos tão perto de derrotar este pássaro incómodo de uma vez para todas!",
"questFalconText": "As Aves de Rapinrolação",
"questFalconNotes": "Montanha Habitica está sendo ofuscada por uma crescente montanha de Afazeres. Ela costumava ser um lugar ter piqueniques e aproveitar a sensação de dever cumprido, até que as tarefas negligenciadas cresceram fora de controle. Agora é a casa das temidas Aves de Rapinrolação, criaturas abomináveis que impedem os Habiticanos de completarem suas tarefas!<br><br>\"Está muito quente!\" elas grasnam para @JonArinbjorn e @Onheiron. \"Demorará muito para fazer agora. Não fará diferença alguma se você quiser esperar até amanhã! Por que você não faz algo divertido no lugar?\"<br><br>Basta, você jura. Você escalará sua montanha pessoal de Afazeres e derrotará as Aves de Rapinrolação!",
"questFalconCompletion": "Tendo finalmente triunfado sobre as Aves de Rapinrolação, você se acalma para aproveitar a vista e seu bem-merecido descanso.<br><br>\"Uau!\" diz @Trogdorina. \"Você venceu!\"<br><br>@Squish acrescenta, \"Aqui, pegue estes ovos que achei como recompensa.\"",
"questFalconBoss": "Aves de Rapinrolação",
"questFalconDropFalconEgg": "Falcão (Ovo)",
"questFalconUnlockText": "Desbloqueia ovos de Falcão para compra no Mercado",
"questTreelingText": "A Árvore Emaranhada",
"questTreelingNotes": "É a Competição de Jardinagem anual e todos estão falando sobre o projeto misterioso que @aurakami prometeu revelar. Você se junta à multidão naquele dia do grande anúncio e se admira com a entrada de uma árvore que se mexe. @fuzzytrees explica que a árvore ajudará com a manutenção do jardim, mostrando como ela pode cortar a grama, aparar os arbustos e podar as roseiras tudo ao mesmo tempo - até que de repente a árvore fica louca, virando suas tesouras de poda contra o seu criador! A multidão entra em pânico e todo mundo tenta fugir, mas você não tem medo - você se inclina para a frente, pronto para batalhar.",
"questTreelingCompletion": "Você tira seu pó quando as últimas folhas caem no chão. Em vez de triste, a Competição de Jardinagem agora está segura - apesar de que a árvore que você reduziu a uma pilha de lascas de madeira não ganhará nenhum prêmio! \"Ainda alguns nós para serem trabalhados aqui\", diz @PainterProphet. \"Talvez alguém mais faça um bom trabalho treinando os brotos. Você arrisca uma tentativa?\"",
"questTreelingBoss": "Árvore Emaranhada",
"questTreelingDropTreelingEgg": "Arvorezinha (Ovo)",
"questTreelingUnlockText": "Desbloqueia ovos de Arvorezinhas compráveis no Mercado",
"questAxolotlText": "O Axolote Mágico",
"questAxolotlNotes": "Das profundezas do Lago Lavado você vê subirem bolhas e... fogo? Um pequeno axolote sobe das águas escuras vomitando faixas de cores. De repente, ele começa a abrir sua boca e @streak grita, \"Cuidado!\" quando o Axolote Mágico começa a engolir sua força de vontade!<br><br> O Axolote Mágico cresce com feitiço e zomba de você. \"Já ouviu falar dos meus poderes de regeneração? Você vai cansar antes que eu canse!\"<br><br>\"Nós conseguimos te derrotar com os bons hábitos que desenvolvemos!\" @PainterProphet grita desafiadoramente. Você toma forças para ficar produtivo para derrotar o Axolote Mágico e conseguir de volta sua força de vontade roubada!",
"questAxolotlCompletion": "Após derrotar o Axolote Mágico, você percebe que ganhou de volta sua força de vontade por si mesmo.<br><br>\"A força de vontade? A regeneração? Tudo foi só uma ilusão?\" pergunta @Kiwibot.<br><br>\"A maioria da mágica é\", replica o Axolote Mágico. \"Me desculpe por enganar vocês. Por favor, recebam esses ovos como um pedido de desculpas. Eu confio que vocês os criarão para usar sua magia para bons hábitos e não para o mau!\"<br><br>Você e @hazel40 pegam seus ovos novos em uma mão e acenam adeus com a outra enquanto o Axolote Mágico volta para o lago.",
"questAxolotlBoss": "Axolote Mágico",
"questAxolotlDropAxolotlEgg": "Axolote (Ovo)",
"questAxolotlUnlockText": "Desbloqueia ovos de Axolote para compra no Mercado",
"questAxolotlRageTitle": "Regeneração do Axolote",
"questAxolotlRageDescription": "Essa barra enche quando você não completa suas Diárias. Quando estiver cheia, o Axolote Mágico curará 30% de sua vida remanescente!",
"questAxolotlRageEffect": "'O Axolote Mágico usa REGENERAÇÃO AXOLOTE!'\n\nUma cortina de bolhas coloridas escurece o monstro por um instante, e quando clareia, algumas de suas feridas desaparecem!",
"questTurtleText": "Guie a Tartaruga",
"questTurtleNotes": "Socorro! Essa tartaruga marinha gigante não consegue encontrar o caminho para a praia com o ninho dela. Ela volta lá todo ano para deixar seus ovos, mas este ano a Baía Inkompleta está cheia de Restos de Tarefas tóxicos feitos de Diárias vermelhas e afazeres não marcados. \"Ela está se debatendo em pânico!\", diz @JessicaChase.<br>\n<br>@UncommonCriminal concorda com a cabeça. \"É porque o senso de direção dela está ofuscado e confuso.\"<br>\n<br>@Scarabsi segura o seu braço. \"Você pode ajudar a limpar essa Baía Inkompleta que está bloqueando o caminho dela? Pode ser perigoso, mas precisamos ajudá-la!\"",
"questTurtleCompletion": "Seu trabalho valente limpou as águas para a nossa tartaruga marinha encontrar a praia dela. Você, @Bambin, e @JaizakAripaik assistem enquanto ela enterra seus ovos profundamente na areia, para que possam crescer e eclodir em centenas de pequenas tartarugas marinhas. Como sempre uma dama, ela dá a vocês três ovos para cada, pedindo que vocês os alimentem e cuidem deles para que um dia se tornem grandes tartarugas marinhas.",
"questTurtleBoss": "Restos de Tarefas",
"questTurtleDropTurtleEgg": "Tartaruga (Ovo)",
"questTurtleUnlockText": "Desbloqueia ovos de Tartaruga para compra no Mercado",
"questArmadilloText": "The Indulgent Armadillo",
"questArmadilloNotes": "It's time to get outside and start your day. You swing open your door only to be met with what looks like a sheet of rock. \"I'm just giving you the day off!\" says a muffled voice through the blocked door. \"Don't be such a bummer, just relax today!\"<br><br>Suddenly, @Beffymaroo and @PainterProphet knock on your window. \"Looks like the Indulgence Armadillo has taken a liking to you! C'mon, we'll help you get her out of your way!\"",
"questArmadilloCompletion": "Finally, after a long morning of convincing the Indulgence Armadillo that you do, in fact, want to work, she caves. \"I'm sorry!\" She apologizes. \"I just wanted to help. I thought everyone liked lazy days!\"<br><br>You smile, and let her know that next time you've earned a day off you'll invite her over. She grins back at you. Passers-by @Tipsy and @krajzega congratulate you on the good work as she rolls away, leaving a few eggs as an apology.",
"questArmadilloBoss": "Indulgence Armadillo",
"questArmadilloDropArmadilloEgg": "Armadillo (Egg)",
"questArmadilloUnlockText": "Unlocks purchasable Armadillo eggs in the Market"
}

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,35 +0,0 @@
{
"tipTitle": "Tip #<%= tipNumber %>",
"tip1": "Проверьте задачи на ходу с помощью мобильных приложений Habitica.",
"tip2": "Достигните 100 уровня, чтобы бесплатно получить Шар Возрождения и начать новое приключение!",
"tip3": "Используйте emoji, чтобы быстро различать свои задачи.",
"tip4": "Используйте символ # перед названием задания, чтобы сделать его очень большим!",
"tip5": "Баффы, наложенные утром, продержатся дольше",
"tip6": "Иногда переоценивайте свои задачи, чтобы удостовериться в их своевременности",
"tip7": "Некоторые фоны идеально соединяются друг с другом, если члены команды используют одно и то же изображение. Например, Горное Озеро, Падоги или Круглые Холмы",
"tip8": "Send a PM to someone by clicking the envelope near their name in chat!",
"tip9": "Visit the Guild Leaders & Challenge Creators Guild for advice on starting a Guild.",
"tip10": "You can win gems by competing in Challenges. New ones are added every day!",
"tip11": "If you enjoy dressing up your avatar, check out the Costume Carnival Guild.",
"tip12": "Join the “Challenge... Accepted” Guild for regularly scheduled random challenges.",
"tip13": "Having more than four Party members increases accountability!",
"tip14": "You can add headers or inspirational quotes to your list as Habits with no (+/-).",
"tip15": "Add checklists to your To-Dos to increase your rewards!",
"tip16": "Check out the Data tab for valuable insights on your progress.",
"tip17": "Using Tags can make an unwieldy task list very manageable!",
"tip18": "Habits that are just positive or just negative gradually “fade” and return to yellow.",
"tip19": "Boost your Intelligence Stat to gain more XP when you complete a task.",
"tip20": "Boost your Perception Stat to get more drops and gold.",
"tip21": "Boost your Strength Stat to do more boss damage or get critical hits.",
"tip22": "Boost your Constitution Stat to lessen the damage from incomplete Dailies.",
"tip23": "Click the bar graph icon on your tasks to see a graph showing your progress.",
"tip24": "Habitica is Open Source! Ask in the Aspiring Legends Guild if you want to contribute.",
"tip25": "The four seasonal Grand Galas start near the solstices and equinoxes.",
"tip26": "An arrow to the left of someones level number means theyre currently buffed.",
"tip27": "Make late-night Dailies refer to the night before (such as “flossed last night”) so you can check them off in the morning.",
"tip28": "Set a Custom Day Start under Settings > Site to control when your day restarts.",
"tip29": "Complete all your Dailies to get a Perfect Day Buff that increases your stats!",
"tip30": "You can invite people to Guilds, not just Parties.",
"tip31": "Check out the pre-made lists in the Library of Shared Lists Guild for example tasks.",
"tip32": "Lots of Habiticas code, art, and writing is made by volunteer contributors! Anyone can help."
}

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,35 +0,0 @@
{
"tipTitle": "Tip #<%= tipNumber %>",
"tip1": "Check tasks on the go with the Habitica mobile apps.",
"tip2": "Dosiahni level 100, aby si zadarmo odomkol Orb znovuzrodenia a začni nové dobrodružstvo!",
"tip3": "Použi emotikony pre rýchle rozlíšenie medzi tvojimi úlohami. ",
"tip4": "Use the # sign before a task name to make it really big!",
"tip5": "Najlepšie je použiť bonusy ráno, aby trvali dlhšie. ",
"tip6": "Príležitostne prehodnoť tvoje úlohy, aby si sa uistil, že sú aktuálne!",
"tip7": "Some backgrounds connect perfectly if party members use the same background. Ex: Mountain Lake, Pagodas, and Rolling Hills.",
"tip8": "Pošli niekomu PM tak, že klikneš na obálku vedľa ich mena v chate!",
"tip9": "Visit the Guild Leaders & Challenge Creators Guild for advice on starting a Guild.",
"tip10": "Môžeš vyhrať drahokamy súťažením vo výzvach. Nové výzvy sú pridávané každý deň!",
"tip11": "If you enjoy dressing up your avatar, check out the Costume Carnival Guild.",
"tip12": "Join the “Challenge... Accepted” Guild for regularly scheduled random challenges.",
"tip13": "Having more than four Party members increases accountability!",
"tip14": "Môžeš pridať hlavičky a inšpiratívne citáty do svojich Návykov bez (+/-).",
"tip15": "Pridaj kontrolný zoznam do tvojich Úloh, aby si zvýšil tvoju odmenu!",
"tip16": "Check out the Data tab for valuable insights on your progress.",
"tip17": "Using Tags can make an unwieldy task list very manageable!",
"tip18": "Návyky, ktoré sú len pozitívne alebo negatívne postupne \"zoslabnú\" a zožltnú.",
"tip19": "Boost your Intelligence Stat to gain more XP when you complete a task.",
"tip20": "Boost your Perception Stat to get more drops and gold.",
"tip21": "Boost your Strength Stat to do more boss damage or get critical hits.",
"tip22": "Boost your Constitution Stat to lessen the damage from incomplete Dailies.",
"tip23": "Click the bar graph icon on your tasks to see a graph showing your progress.",
"tip24": "Habitica is Open Source! Ask in the Aspiring Legends Guild if you want to contribute.",
"tip25": "The four seasonal Grand Galas start near the solstices and equinoxes.",
"tip26": "An arrow to the left of someones level number means theyre currently buffed.",
"tip27": "Make late-night Dailies refer to the night before (such as “flossed last night”) so you can check them off in the morning.",
"tip28": "Set a Custom Day Start under Settings > Site to control when your day restarts.",
"tip29": "Complete all your Dailies to get a Perfect Day Buff that increases your stats!",
"tip30": "You can invite people to Guilds, not just Parties.",
"tip31": "Check out the pre-made lists in the Library of Shared Lists Guild for example tasks.",
"tip32": "Lots of Habiticas code, art, and writing is made by volunteer contributors! Anyone can help."
}

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,17 +0,0 @@
{
"lostAllHealth": "У вас закінчилося Здоров'я!",
"dontDespair": "Не занепадайте духом!",
"deathPenaltyDetails": "Ви втратили рівень, ваше золото, і одне обмундирування, але ви можете їх відпрацювати! Ви прекрасно справитеся, щасти!",
"refillHealthTryAgain": "Вилікуватися і спробувати знову",
"dyingOftenTips": "Часто вмираєте? <a href='http://habitica.wikia.com/wiki/Death_Mechanics#Strategies_for_Staying_Alive' target='_blank'>Ось кілька порад!</a>\n",
"losingHealthWarning": "Обережно - Ви втрачаєте здоров'я!",
"losingHealthWarning2": "Не дайте скінчитися здоров'ю! Втратите рівень, ваше золото, і одну річ з інвентаря.",
"toRegainHealth": "Щоб знову отримати Здоров'я:",
"lowHealthTips1": "Підвищіть рівень щоб повністю оздоровитися!",
"lowHealthTips2": "Купіть лікувальне зілля з колонки нагород щоб відновити 15 очків здоров'я.",
"losingHealthQuickly": "Швидко втрачаєте здоров'я?",
"lowHealthTips3": "Невиконані щоденні задачі приносять вам шкоду уночі, тож не додавайте забагато спочатку!",
"lowHealthTips4": "Ви можете вимкнути щоденне завдання, якщо воно не має терміну придатності.",
"goodLuck": "Удачі!",
"cannotRevive": "Не можливо оживити живого."
}

View File

@@ -1,35 +0,0 @@
{
"tipTitle": "Порада #<%= tipNumber %>",
"tip1": "Відмічайте завдання на ходу за допомогою мобільних додатків Habitica.",
"tip2": "Досягніть ріня 100, щоб безплатно розблокувати Сферу Переродження та почати пригоди заново!",
"tip3": "Використовуйте смайлики, щоб швидко розрізняти свої завдання.",
"tip4": "Використайте знак # перед назвою завдання, щоб зробити текст справді великим!",
"tip5": "Краще використовувати підсилюючі чари вранці, щоб вони тривали довше.",
"tip6": "Час від часу переоцінюйте свої завдання, щоб переконатися в їх актуальності!",
"tip7": "Some backgrounds connect perfectly if party members use the same background. Ex: Mountain Lake, Pagodas, and Rolling Hills.",
"tip8": "Надішліть комусь приватне повідомлення, натиснувши на конверт біля його імені в чаті!",
"tip9": "Visit the Guild Leaders & Challenge Creators Guild for advice on starting a Guild.",
"tip10": "Ви можете виграти самоцвіти, проходячи випробування. Вони з'являються кожен день!",
"tip11": "If you enjoy dressing up your avatar, check out the Costume Carnival Guild.",
"tip12": "Join the “Challenge... Accepted” Guild for regularly scheduled random challenges.",
"tip13": "Having more than four Party members increases accountability!",
"tip14": "Ви можете додати заголовки або надихаючі вас цитати в ваш список як звички без (+/-)",
"tip15": "Add checklists to your To-Dos to increase your rewards!",
"tip16": "Глянувши на вкладку з даними, ви отримаєте корисну інформацію щодо вашого прогресу.",
"tip17": "Громіздкий список щоденних справ можна значно спростити, розбивши його тегами.",
"tip18": "Звички, які є лише хорошими або лише поганими, з часом жовтіють самі.",
"tip19": "Підвищіть ваш інтелект щоб отримувати більше досвіду від завдань.",
"tip20": "Підвищіть вашу спостережливість щоб отримувати більше випадкових призів та золота.",
"tip21": "Підвищіть вашу силу щоб наносити більше ушкоджень босам та критичних ударів.",
"tip22": "Boost your Constitution Stat to lessen the damage from incomplete Dailies.",
"tip23": "Натисніть іконку \"графік\" на задачі щоб поглянути на графік, ілюструючий ваш прогрес.",
"tip24": "Habitica is Open Source! Ask in the Aspiring Legends Guild if you want to contribute.",
"tip25": "The four seasonal Grand Galas start near the solstices and equinoxes.",
"tip26": "Стрілка зліва від рівня персонажа означає, що він посилений.",
"tip27": "Make late-night Dailies refer to the night before (such as “flossed last night”) so you can check them off in the morning.",
"tip28": "В налаштуваннях можна змінити час початку доби.",
"tip29": "За завершення всіх щоденних завдань дається \"підсилення ідеального дня\", яке збільшує характеристики.",
"tip30": "Крім груп, людей можна запрошувати в гільдії.",
"tip31": "Check out the pre-made lists in the Library of Shared Lists Guild for example tasks.",
"tip32": "Багато коду, графіки і текстів сайту Habitica зроблено добровольцями. Кожен може допомогти."
}

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,5 +0,0 @@
Do not edit any files in this directory!
For more information read:
https://github.com/HabitRPG/habitrpg/blob/develop/common/locales/README.md

View File

@@ -1,35 +0,0 @@
{
"tipTitle": "Tip #<%= tipNumber %>",
"tip1": "Check tasks on the go with the Habitica mobile apps.",
"tip2": "Reach level 100 to unlock the Orb of Rebirth for free and start a new adventure!",
"tip3": "Use emoji to quickly differentiate between your tasks.",
"tip4": "Use the # sign before a task name to make it really big!",
"tip5": "Its best to cast buffs in the morning so they last longer.",
"tip6": "Occasionally re-evaluate your tasks to make sure theyre up-to-date!",
"tip7": "Some backgrounds connect perfectly if party members use the same background. Ex: Mountain Lake, Pagodas, and Rolling Hills.",
"tip8": "Send a PM to someone by clicking the envelope near their name in chat!",
"tip9": "Visit the Guild Leaders & Challenge Creators Guild for advice on starting a Guild.",
"tip10": "You can win gems by competing in Challenges. New ones are added every day!",
"tip11": "If you enjoy dressing up your avatar, check out the Costume Carnival Guild.",
"tip12": "Join the “Challenge... Accepted” Guild for regularly scheduled random challenges.",
"tip13": "Having more than four Party members increases accountability!",
"tip14": "You can add headers or inspirational quotes to your list as Habits with no (+/-).",
"tip15": "Add checklists to your To-Dos to increase your rewards!",
"tip16": "Check out the Data tab for valuable insights on your progress.",
"tip17": "Using Tags can make an unwieldy task list very manageable!",
"tip18": "Habits that are just positive or just negative gradually “fade” and return to yellow.",
"tip19": "Boost your Intelligence Stat to gain more XP when you complete a task.",
"tip20": "Boost your Perception Stat to get more drops and gold.",
"tip21": "Boost your Strength Stat to do more boss damage or get critical hits.",
"tip22": "Boost your Constitution Stat to lessen the damage from incomplete Dailies.",
"tip23": "Click the bar graph icon on your tasks to see a graph showing your progress.",
"tip24": "Habitica is Open Source! Ask in the Aspiring Legends Guild if you want to contribute.",
"tip25": "The four seasonal Grand Galas start near the solstices and equinoxes.",
"tip26": "An arrow to the left of someones level number means theyre currently buffed.",
"tip27": "Make late-night Dailies refer to the night before (such as “flossed last night”) so you can check them off in the morning.",
"tip28": "Set a Custom Day Start under Settings > Site to control when your day restarts.",
"tip29": "Complete all your Dailies to get a Perfect Day Buff that increases your stats!",
"tip30": "You can invite people to Guilds, not just Parties.",
"tip31": "Check out the pre-made lists in the Library of Shared Lists Guild for example tasks.",
"tip32": "Lots of Habiticas code, art, and writing is made by volunteer contributors! Anyone can help."
}

View File

@@ -1,7 +0,0 @@
import _ from 'lodash';
// TODO remove completely, use _.get, only used in client
module.exports = function dotGet (user, path) {
return _.get(user, path);
};

View File

@@ -1,14 +0,0 @@
import _ from 'lodash';
/*
This allows you to set object properties by dot-path. Eg, you can run pathSet('stats.hp',50,user) which is the same as
user.stats.hp = 50. This is useful because in our habitrpg-shared functions we're returning changesets as {path:value},
so that different consumers can implement setters their own way. Derby needs model.set(path, value) for example, where
Angular sets object properties directly - in which case, this function will be used.
*/
// TODO use directly _.set and remove this fn, only used in client
module.exports = function dotSet (user, path, val) {
return _.set(user, path, val);
};

View File

@@ -1,7 +0,0 @@
// TODO remove once v2 is retired
module.exports = function nullify (user) {
user.ops = null;
user.fns = null;
user = null;
};

View File

@@ -1,12 +0,0 @@
import _ from 'lodash';
import predictableRandom from './predictableRandom';
// Get a random property from an object
// returns random property (the value)
module.exports = function randomVal (user, obj, options = {}) {
let array = options.key ? _.keys(obj) : _.values(obj);
let rand = predictableRandom(user, options.seed);
array.sort();
return array[Math.floor(rand * array.length)];
};

View File

@@ -1,27 +0,0 @@
import refPush from '../libs/refPush';
import validator from 'validator';
import i18n from '../i18n';
import {
BadRequest,
} from '../libs/errors';
import _ from 'lodash';
module.exports = function addWebhook (user, req = {}) {
let wh = user.preferences.webhooks;
if (!validator.isURL(_.get(req, 'body.url'))) throw new BadRequest(i18n.t('invalidUrl', req.language));
if (!validator.isBoolean(_.get(req, 'body.enabled'))) throw new BadRequest(i18n.t('invalidEnabled', req.language));
user.markModified('preferences.webhooks');
if (req.v2 === true) {
return user.preferences.webhooks;
} else {
return [
refPush(wh, {
url: req.body.url,
enabled: req.body.enabled,
}),
];
}
};

View File

@@ -1,15 +0,0 @@
import _ from 'lodash';
import autoAllocate from '../fns/autoAllocate';
module.exports = function allocateNow (user, req = {}) {
_.times(user.stats.points, () => autoAllocate(user));
user.stats.points = 0;
if (req.v2 === true) {
return _.pick(user, 'stats');
} else {
return [
user.stats,
];
}
};

View File

@@ -1,10 +0,0 @@
import _ from 'lodash';
module.exports = function deleteWebhook (user, req) {
delete user.preferences.webhooks[_.get(req, 'params.id')];
user.markModified('preferences.webhooks');
return [
user.preferences.webhooks,
];
};

View File

@@ -1,102 +0,0 @@
import content from '../content/index';
import i18n from '../i18n';
import _ from 'lodash';
import {
BadRequest,
NotAuthorized,
NotFound,
} from '../libs/errors';
function evolve (user, pet, petDisplayName, req) {
user.items.pets[pet] = -1;
user.items.mounts[pet] = true;
if (pet === user.items.currentPet) {
user.items.currentPet = '';
}
return i18n.t('messageEvolve', {
egg: petDisplayName,
}, req.language);
}
module.exports = function feed (user, req = {}) {
let pet = _.get(req, 'params.pet');
let foodK = _.get(req, 'params.food');
if (!pet || !foodK) throw new BadRequest(i18n.t('missingPetFoodFeed', req.language));
if (pet.indexOf('-') === -1) {
throw new BadRequest(i18n.t('invalidPetName', req.language));
}
let food = content.food[foodK];
if (!food) {
throw new NotFound(i18n.t('messageFoodNotFound', req.language));
}
let userPets = user.items.pets;
if (!userPets[pet]) {
throw new NotFound(i18n.t('messagePetNotFound', req.language));
}
let [egg, potion] = pet.split('-');
let potionText = content.hatchingPotions[potion] ? content.hatchingPotions[potion].text(req.language) : potion;
let eggText = content.eggs[egg] ? content.eggs[egg].text(req.language) : egg;
let petDisplayName = i18n.t('petName', {
potion: potionText,
egg: eggText,
}, req.language);
if (!user.items.food[food.key]) {
throw new NotFound(i18n.t('messageFoodNotFound', req.language));
}
if (content.specialPets[pet]) {
throw new NotAuthorized(i18n.t('messageCannotFeedPet', req.language));
}
if (user.items.mounts[pet]) {
throw new NotAuthorized(i18n.t('messageAlreadyMount', req.language));
}
let message;
if (food.key === 'Saddle') {
message = evolve(user, pet, petDisplayName, req);
} else {
if (food.target === potion || content.hatchingPotions[potion].premium) {
userPets[pet] += 5;
message = i18n.t('messageLikesFood', {
egg: petDisplayName,
foodText: food.text(req.language),
}, req.language);
} else {
userPets[pet] += 2;
message = i18n.t('messageDontEnjoyFood', {
egg: petDisplayName,
foodText: food.text(req.language),
}, req.language);
}
if (userPets[pet] >= 50 && !user.items.mounts[pet]) {
message = evolve(user, pet, petDisplayName, req);
}
}
user.items.food[food.key]--;
if (req.v2 === true) {
return {
value: userPets[pet],
};
} else {
return [
userPets[pet],
message,
];
}
};

View File

@@ -1,18 +0,0 @@
import _ from 'lodash';
import i18n from '../i18n';
import { NotFound } from '../libs/errors';
// TODO used only in client, move there?
module.exports = function getTag (user, req = {}) {
let tid = _.get(req, 'params.id');
let index = _.findIndex(user.tags, {
id: tid,
});
if (index === -1) {
throw new NotFound(i18n.t('messageTagNotFound', req.language));
}
return user.tags[index];
};

View File

@@ -1,5 +0,0 @@
// TODO used only in client, move there?
module.exports = function getTags (user) {
return user.tags;
};

View File

@@ -1,14 +0,0 @@
import i18n from '../i18n';
module.exports = function markPmsRead (user, req = {}) {
user.inbox.newMessages = 0;
if (req.v2 === true) {
return user;
} else {
return [
user.inbox.newMessages,
i18n.t('pmsMarkedRead'),
];
}
};

View File

@@ -1,9 +0,0 @@
module.exports = function sleep (user, req = {}) {
user.preferences.sleep = !user.preferences.sleep;
if (req.v2 === true) {
return {};
} else {
return [user.preferences.sleep];
}
};

View File

@@ -1,11 +0,0 @@
import _ from 'lodash';
// TODO used only in client, move there?
module.exports = function updateUser (user, req = {}) {
_.each(req.body, (val, key) => {
_.set(user, key, val);
});
return user;
};

View File

@@ -1,20 +0,0 @@
import validator from 'validator';
import i18n from '../i18n';
import {
BadRequest,
} from '../libs/errors';
module.exports = function updateWebhook (user, req) {
if (!validator.isURL(req.body.url)) throw new BadRequest(i18n.t('invalidUrl', req.language));
if (!validator.isBoolean(req.body.enabled)) throw new BadRequest(i18n.t('invalidEnabled', req.language));
user.markModified('preferences.webhooks');
user.preferences.webhooks[req.params.id].url = req.body.url;
user.preferences.webhooks[req.params.id].enabled = req.body.enabled;
if (req.v2 === true) {
return user.preferences.webhooks;
} else {
return [user.preferences.webhooks[req.params.id]];
}
};

View File

@@ -7,6 +7,8 @@
"FACEBOOK_ANALYTICS":"1234567890123456",
"FACEBOOK_KEY":"123456789012345",
"FACEBOOK_SECRET":"aaaabbbbccccddddeeeeffff00001111",
"GOOGLE_CLIENT_ID":"123456789012345",
"GOOGLE_CLIENT_SECRET":"aaaabbbbccccddddeeeeffff00001111",
"NODE_DB_URI":"mongodb://localhost/habitrpg",
"TEST_DB_URI":"mongodb://localhost/habitrpg_test",
"NODE_ENV":"development",
@@ -74,5 +76,9 @@
"APP_ID": "appId",
"KEY": "key",
"SECRET": "secret"
},
"SLACK": {
"FLAGGING_URL": "https://hooks.slack.com/services/id/id/id",
"FLAGGING_FOOTER_LINK": "https://habitrpg.github.io/flag-o-rama/"
}
}

View File

@@ -1,19 +0,0 @@
import { MongoClient as mongo } from 'mongodb';
import config from '../config';
module.exports.updateUser = (_id, path, value) => {
mongo.connect(config.NODE_DB_URI, (err, db) => {
if (err) throw err;
let collection = db.collection('users');
collection.updateOne(
{ _id },
{ $set: { [`${path}`]: value } },
(updateErr, result) => {
if (updateErr) throw updateErr;
console.log('done updating', _id);
db.close();
}
);
});
}

View File

@@ -1,24 +0,0 @@
'use strict';
require('babel-register');
let _ = require('lodash');
let updateUser = require('./_helper').updateUser;
let userId = process.argv[2];
if (!userId) {
console.error('USAGE: node debug-scripts/grant-all-equipment.js <user_id>');
console.error('EFFECT: Adds all gear to specified user');
return;
}
let gearFlat = require('../common').content.gear.flat;
let userGear = {};
_.each(gearFlat, (piece, key) => {
userGear[key] = true;
});
updateUser(userId, 'items.gear.owned', userGear);

View File

@@ -1,28 +0,0 @@
'use strict';
require('babel-register');
let _ = require('lodash');
let updateUser = require('./_helper').updateUser;
let userId = process.argv[2];
if (!userId) {
console.error('USAGE: node debug-scripts/grant-all-mounts.js <user_id>');
console.error('EFFECT: Adds all mounts to specified user');
return;
}
let dropMounts = require('../common').content.mounts;
let questMounts = require('../common').content.questMounts;
let specialMounts = require('../common').content.specialMounts;
let premiumMounts = require('../common').content.premiumPets; // premium mounts isn't exposed on the content object
let userMounts = {};
_.each([ dropMounts, questMounts, specialMounts, premiumMounts ], (set) => {
_.each(set, (pet, key) => {
userMounts[key] = true;
});
})
updateUser(userId, 'items.mounts', userMounts);

View File

@@ -1,28 +0,0 @@
'use strict';
require('babel-register');
let _ = require('lodash');
let updateUser = require('./_helper').updateUser;
let userId = process.argv[2];
if (!userId) {
console.error('USAGE: node debug-scripts/grant-all-pets.js <user_id>');
console.error('EFFECT: Adds all pets to specified user');
return;
}
let dropPets = require('../common').content.pets;
let questPets = require('../common').content.questPets;
let specialPets = require('../common').content.specialPets;
let premiumPets = require('../common').content.premiumPets;
let userPets = {};
_.each([ dropPets, questPets, specialPets, premiumPets ], (set) => {
_.each(set, (pet, key) => {
userPets[key] = 95;
});
})
updateUser(userId, 'items.pets', userPets);

Some files were not shown because too many files have changed in this diff Show More