Merge branch 'develop' into client-monorepo

This commit is contained in:
Matteo Pagliazzi 2019-10-02 18:40:24 +02:00
commit e0a2528a4f
93 changed files with 23301 additions and 23135 deletions

1
.gitignore vendored
View file

@ -28,6 +28,7 @@ coverage.html
common/dist/scripts/*
dist
dist-client
website/client/dist
test/client/unit/coverage
test/client/e2e/reports
test/client-old/spec/mocks/translations.js

View file

@ -12,8 +12,8 @@ import vinylBuffer from 'vinyl-buffer';
// https://github.com/Ensighten/grunt-spritesmith/issues/67#issuecomment-34786248
const MAX_SPRITESHEET_SIZE = 1024 * 1024 * 3;
const IMG_DIST_PATH = 'website/client/assets/images/sprites/';
const CSS_DIST_PATH = 'website/client/assets/css/sprites/';
const IMG_DIST_PATH = 'website/client/src/assets/images/sprites/';
const CSS_DIST_PATH = 'website/client/src/assets/css/sprites/';
function checkForSpecialTreatment (name) {
let regex = /^hair|skin|beard|mustach|shirt|flower|^headAccessory_special_\w+Ears|^eyewear_special_\w+TopFrame|^eyewear_special_\w+HalfMoon/;

2
package-lock.json generated
View file

@ -1,6 +1,6 @@
{
"name": "habitica",
"version": "4.115.2",
"version": "4.116.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View file

@ -1,7 +1,7 @@
{
"name": "habitica",
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
"version": "4.115.2",
"version": "4.116.1",
"main": "./website/server/index.js",
"dependencies": {
"@google-cloud/trace-agent": "^4.0.0",

View file

@ -1,72 +1,54 @@
.promo_armoire_backgrounds_201909 {
.promo_armoire_backgrounds_201910 {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px -533px;
background-position: 0px -190px;
width: 423px;
height: 147px;
}
.promo_desert_pet_achievements {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -816px -392px;
background-position: -163px -486px;
width: 204px;
height: 102px;
}
.promo_fall_festival_2018 {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -653px 0px;
background-position: -361px 0px;
width: 372px;
height: 180px;
}
.promo_fall_festival_2019 {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px -343px;
background-position: 0px 0px;
width: 360px;
height: 189px;
}
.promo_mystery_201909 {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -361px -343px;
background-position: -424px -190px;
width: 282px;
height: 147px;
}
.promo_rocking_reptiles_bundle {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px -681px;
width: 420px;
height: 147px;
}
.promo_seasonal_shop_fall {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -653px -392px;
background-position: 0px -486px;
width: 162px;
height: 138px;
}
.promo_shadow_spooky_potions {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -424px -533px;
background-position: 0px -338px;
width: 423px;
height: 147px;
}
.promo_take_this {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -864px -181px;
background-position: -617px -338px;
width: 96px;
height: 69px;
}
.scene_casting_spells {
.scene_strength {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -340px 0px;
width: 312px;
height: 222px;
}
.scene_medal {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -653px -181px;
width: 210px;
height: 210px;
}
.scene_video_games {
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px 0px;
width: 339px;
height: 342px;
background-position: -424px -338px;
width: 192px;
height: 129px;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,396 +1,402 @@
.npc_matt {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -597px -1535px;
width: 195px;
height: 138px;
}
.background_dysheartener {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px 0px;
width: 306px;
height: 202px;
}
.banner_flair_dysheartener {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1963px -836px;
width: 69px;
height: 18px;
}
.phobia_dysheartener {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1187px -880px;
width: 201px;
height: 195px;
}
.quest_alligator {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1320px -1112px;
background-position: -1627px -1079px;
width: 201px;
height: 213px;
}
.quest_armadillo {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1320px -660px;
background-position: -307px 0px;
width: 219px;
height: 219px;
}
.quest_atom1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1082px -1332px;
background-position: -1105px -1315px;
width: 250px;
height: 150px;
}
.quest_atom2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -642px -1534px;
background-position: -389px -1535px;
width: 207px;
height: 138px;
}
.quest_atom3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -211px -1534px;
background-position: -747px -440px;
width: 216px;
height: 180px;
}
.quest_axolotl {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -440px -232px;
background-position: -527px 0px;
width: 219px;
height: 219px;
}
.quest_badger {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -660px 0px;
background-position: 0px -435px;
width: 219px;
height: 219px;
}
.quest_basilist {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -191px -1721px;
background-position: -1844px -392px;
width: 189px;
height: 141px;
}
.quest_beetle {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -1332px;
background-position: -1627px -1293px;
width: 204px;
height: 201px;
}
.quest_bronze {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -220px -452px;
background-position: -220px -435px;
width: 219px;
height: 219px;
}
.quest_bunny {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -1534px;
background-position: -967px -660px;
width: 210px;
height: 186px;
}
.quest_butterfly {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -660px -452px;
background-position: -440px -435px;
width: 219px;
height: 219px;
}
.quest_cheetah {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -880px 0px;
background-position: -747px 0px;
width: 219px;
height: 219px;
}
.quest_cow {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1762px 0px;
background-position: 0px -1535px;
width: 174px;
height: 213px;
}
.quest_dilatory {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -672px;
background-position: 0px -655px;
width: 219px;
height: 219px;
}
.quest_dilatoryDistress1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1540px -1082px;
background-position: -1627px -868px;
width: 210px;
height: 210px;
}
.quest_dilatoryDistress2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1762px -573px;
background-position: -1844px -534px;
width: 150px;
height: 150px;
}
.quest_dilatoryDistress3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -660px -672px;
background-position: -220px -655px;
width: 219px;
height: 219px;
}
.quest_dilatory_derby {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -880px -440px;
background-position: -747px -220px;
width: 219px;
height: 219px;
}
.quest_dolphin {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -880px -672px;
background-position: -440px -655px;
width: 219px;
height: 219px;
}
.quest_dustbunnies {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1100px 0px;
background-position: -660px -655px;
width: 219px;
height: 219px;
}
.quest_egg {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1762px -214px;
background-position: -1844px -184px;
width: 165px;
height: 207px;
}
.quest_evilsanta {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1762px -724px;
background-position: -1844px -836px;
width: 118px;
height: 131px;
}
.quest_evilsanta2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1100px -660px;
background-position: -967px 0px;
width: 219px;
height: 219px;
}
.quest_falcon {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -892px;
background-position: -967px -220px;
width: 219px;
height: 219px;
}
.quest_ferret {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -220px -892px;
background-position: -967px -440px;
width: 219px;
height: 219px;
}
.quest_frog {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1540px 0px;
background-position: -660px -1315px;
width: 221px;
height: 213px;
}
.quest_ghost_stag {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -660px -892px;
background-position: 0px -875px;
width: 219px;
height: 219px;
}
.quest_goldenknight1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -880px -892px;
background-position: -220px -875px;
width: 219px;
height: 219px;
}
.quest_goldenknight2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1333px -1332px;
background-position: -1356px -1315px;
width: 250px;
height: 150px;
}
.quest_goldenknight3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px 0px;
background-position: 0px -203px;
width: 219px;
height: 231px;
}
.quest_gryphon {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -865px -1332px;
background-position: -527px -220px;
width: 216px;
height: 177px;
}
.quest_guineapig {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1320px -440px;
background-position: -440px -875px;
width: 219px;
height: 219px;
}
.quest_harpy {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -220px 0px;
background-position: -660px -875px;
width: 219px;
height: 219px;
}
.quest_hedgehog {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -205px -1332px;
background-position: -1407px -1100px;
width: 219px;
height: 186px;
}
.quest_hippo {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -1112px;
background-position: -880px -875px;
width: 219px;
height: 219px;
}
.quest_horse {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -220px -1112px;
background-position: -1187px 0px;
width: 219px;
height: 219px;
}
.quest_kangaroo {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -440px -1112px;
background-position: -1187px -220px;
width: 219px;
height: 219px;
}
.quest_kraken {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -648px -1332px;
background-position: -307px -220px;
width: 216px;
height: 177px;
}
.quest_lostMasterclasser1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -880px -1112px;
background-position: -1187px -440px;
width: 219px;
height: 219px;
}
.quest_lostMasterclasser2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1100px -1112px;
background-position: -1187px -660px;
width: 219px;
height: 219px;
}
.quest_lostMasterclasser3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -660px -1112px;
background-position: 0px -1095px;
width: 219px;
height: 219px;
}
.quest_mayhemMistiflying1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1762px -422px;
background-position: -1844px -685px;
width: 150px;
height: 150px;
}
.quest_mayhemMistiflying2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1320px -880px;
background-position: -220px -1095px;
width: 219px;
height: 219px;
}
.quest_mayhemMistiflying3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1320px -220px;
background-position: -440px -1095px;
width: 219px;
height: 219px;
}
.quest_monkey {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1100px -892px;
background-position: -660px -1095px;
width: 219px;
height: 219px;
}
.quest_moon1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1540px -431px;
background-position: -1627px 0px;
width: 216px;
height: 216px;
}
.quest_moon2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -440px -892px;
background-position: -880px -1095px;
width: 219px;
height: 219px;
}
.quest_moon3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1100px -440px;
background-position: -1100px -1095px;
width: 219px;
height: 219px;
}
.quest_moonstone1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1100px -220px;
background-position: -1407px 0px;
width: 219px;
height: 219px;
}
.quest_moonstone2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -440px -672px;
background-position: -1407px -220px;
width: 219px;
height: 219px;
}
.quest_moonstone3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -220px -672px;
background-position: -1407px -440px;
width: 219px;
height: 219px;
}
.quest_nudibranch {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1540px -865px;
background-position: -1627px -217px;
width: 216px;
height: 216px;
}
.quest_octopus {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -425px -1332px;
background-position: -882px -1315px;
width: 222px;
height: 177px;
}
.quest_owl {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -880px -220px;
background-position: -1407px -660px;
width: 219px;
height: 219px;
}
.quest_peacock {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1540px -648px;
background-position: -1627px -434px;
width: 216px;
height: 216px;
}
.quest_penguin {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -1721px;
background-position: -1844px 0px;
width: 190px;
height: 183px;
}
.quest_pterodactyl {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -440px -452px;
background-position: -1407px -880px;
width: 219px;
height: 219px;
}
.quest_rat {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -452px;
background-position: 0px -1315px;
width: 219px;
height: 219px;
}
.quest_robot {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -660px -220px;
background-position: -220px -1315px;
width: 219px;
height: 219px;
}
.quest_rock {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1540px -214px;
background-position: -1627px -651px;
width: 216px;
height: 216px;
}
.quest_rooster {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -428px -1534px;
background-position: -175px -1535px;
width: 213px;
height: 174px;
}
.quest_sabretooth {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -220px -232px;
width: 219px;
height: 219px;
}
.quest_seaserpent {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -232px;
width: 219px;
height: 219px;
}
.quest_sheep {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -440px 0px;
width: 219px;
height: 219px;
}
.quest_silver {
background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1320px 0px;
background-position: -440px -1315px;
width: 219px;
height: 219px;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 487 KiB

After

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 KiB

After

Width:  |  Height:  |  Size: 650 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 119 KiB

View file

@ -1920,5 +1920,21 @@
"armorSpecialFall2019WarriorText": "Schwingen der Nacht",
"armorSpecialFall2019RogueText": "Opernkutte mit Kapuze",
"weaponSpecialFall2019HealerText": "Furchterregendes Phylakterium",
"weaponSpecialFall2019MageNotes": "Sei es die Beschwörung von Blitz und Donner, das Hochziehen von Barrikaden oder schlichtweg die Verbreitung von Angst und Schrecken unter den Sterblichen, dieser Stab verleiht Dir die Kraft der Giganten, um Wunder zu bewirken. Erhöht Intelligenz um <%= int %> und Wahrnehmung um <%= per %>. Limitierte Ausgabe 2019 Herbstausrüstung."
"weaponSpecialFall2019MageNotes": "Sei es die Beschwörung von Blitz und Donner, das Hochziehen von Barrikaden oder schlichtweg die Verbreitung von Angst und Schrecken unter den Sterblichen, dieser Stab verleiht Dir die Kraft der Giganten, um Wunder zu bewirken. Erhöht Intelligenz um <%= int %> und Wahrnehmung um <%= per %>. Limitierte Ausgabe 2019 Herbstausrüstung.",
"eyewearSpecialFall2019HealerText": "Dunkles Antlitz",
"eyewearSpecialFall2019RogueText": "Knochenweiße Halbmaske",
"eyewearSpecialKS2019Text": "Mythisches Greifenvisier",
"eyewearSpecialKS2019Notes": "Geschwungen wie des Greifen... hmm, Greife haben keine Visiere. Es erinnert Dich daran... ach, machen wir uns nichts vor, es sieht einfach cool aus! Gewährt keinen Attributionsbonus.",
"shieldSpecialFall2019HealerNotes": "Nutze mit diesem Grimoire die dunkle Seite der heilenden Künste! Erhöht Ausdauer um <%= con %>. Limitierte Ausgabe 2019 Herbstausrüstung.",
"shieldSpecialFall2019HealerText": "Groteskes Grimoire",
"shieldSpecialFall2019WarriorText": "Rabenschwarzer Schild",
"shieldSpecialKS2019Text": "Mythisches Greifenschild",
"headSpecialFall2019HealerText": "Dunkle Mitra",
"headSpecialFall2019MageText": "Zyklopenmaske",
"headSpecialFall2019WarriorText": "Totenschädelhelm aus Obsidian",
"armorSpecialFall2019MageText": "Mantel des Polyphem",
"headSpecialKS2019Text": "Mythischer Greifenhelm",
"armorSpecialFall2019MageNotes": "Sein Namensvetter wurde von einem schrecklichen Schicksal ereilt. Aber Dich legt man nicht so leicht rein! Gewande Dich mit diesem Mantel aus Legenden und niemand wird Dich übertreffen. Erhöht Intelligenz um <%= int %>. Limitierte Ausgabe 2019 Herbstausrüstung.",
"armorSpecialKS2019Text": "Mytische Greifenrüstung",
"weaponSpecialKS2019Text": "Mythische Greifenglefe"
}

View file

@ -529,5 +529,13 @@
"backgroundInAnAncientTombText": "Ancient Tomb",
"backgroundInAnAncientTombNotes": "Brave the mysteries of an Ancient Tomb.",
"backgroundInAClassroomText": "Classroom",
"backgroundInAClassroomNotes": "Absorb knowledge from your mentors in a Classroom."
"backgroundInAClassroomNotes": "Absorb knowledge from your mentors in a Classroom.",
"backgrounds102019": "SET 65: Released October 2019",
"backgroundFoggyMoorText": "Foggy Moor",
"backgroundFoggyMoorNotes": "Watch your step traversing a Foggy Moor.",
"backgroundPumpkinCarriageText": "Pumpkin Carriage",
"backgroundPumpkinCarriageNotes": "Ride in an enchanted Pumpkin Carriage before the clock strikes midnight.",
"backgroundMonsterMakersWorkshopText": "Monster Maker's Workshop",
"backgroundMonsterMakersWorkshopNotes": "Experiment with discredited sciences in a Monster Maker's Workshop."
}

View file

@ -454,6 +454,8 @@
"weaponArmoireFloridFanNotes": "This lovely silk fan folds when not in use. Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
"weaponArmoireResplendentRapierText": "Resplendent Rapier",
"weaponArmoireResplendentRapierNotes": "Demonstrate your swordsmanship with this sharply pointed weapon. Increases Perception by <%= per %>. Enchanted Armoire: Independent Item.",
"weaponArmoireShadowMastersMaceText": "Shadow Master's Mace",
"weaponArmoireShadowMastersMaceNotes": "Creatures of darkness will obey your every command when you wave this glowing mace. Increases Perception by <%= per %>. Enchanted Armoire: Shadow Master Set (Item 3 of 4).",
"armor": "armor",
"armorCapitalized": "Armor",
@ -980,6 +982,8 @@
"armorArmoireAstronomersRobeNotes": "Turns out silk and starlight make a fabric that is not only magical, but very breathable. Increases Perception and Constitution by <%= attrs %> each. Enchanted Armoire: Astronomer Mage Set (Item 1 of 3).",
"armorArmoireInvernessCapeText": "Inverness Cape",
"armorArmoireInvernessCapeNotes": "This sturdy garment will let you search for clues in any type of weather. Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Detective Set (Item 2 of 4).",
"armorArmoireShadowMastersRobeText": "Shadow Master's Robe",
"armorArmoireShadowMastersRobeNotes": "The fabric of this flowy robe is woven from the darkest shadows in the deepest caves of Habitica. Increases Constitution by <%= con %>. Enchanted Armoire: Shadow Master Set (Item 1 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
@ -1516,6 +1520,8 @@
"headArmoireAstronomersHatNotes": "A perfect hat for celestial observation or a fancy wizard brunch. Increases Constitution by <%= con %>. Enchanted Armoire: Astronomer Mage Set (Item 2 of 3).",
"headArmoireDeerstalkerCapText": "Deerstalker Cap",
"headArmoireDeerstalkerCapNotes": "This cap is perfect for rural excursions, but also is acceptable gear for mystery-solving! Increases Intelligence by <%= int %>. Enchanted Armoire: Detective Set (Item 1 of 4).",
"headArmoireShadowMastersHoodText": "Shadow Master's Hood",
"headArmoireShadowMastersHoodNotes": "This hood grants you the power to see through even the deepest darkness. It may occasionally require eyedrops, though. Increases Perception and Constitution by <%= attrs %> each. Enchanted Armoire: Shadow Master Set (Item 2 of 4).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
@ -1809,6 +1815,8 @@
"shieldArmoireTrustyUmbrellaNotes": "Mysteries are often accompanied by inclement weather, so be prepared! Increases Intelligence by <%= int %>. Enchanted Armoire: Detective Set (Item 4 of 4).",
"shieldArmoirePolishedPocketwatchText": "Polished Pocketwatch",
"shieldArmoirePolishedPocketwatchNotes": "You've got the time. And it looks very nice on you. Increases Intelligence by <%= int %>. Enchanted Armoire: Independent Item.",
"shieldArmoireMasteredShadowText": "Mastered Shadow",
"shieldArmoireMasteredShadowNotes": "Your powers have brought these swirling shadows to your side to do your bidding. Increases Perception and Constitution by <%= attrs %> each. Enchanted Armoire: Shadow Master Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",

View file

@ -266,7 +266,7 @@
"missingNewPassword": "Missing new password.",
"invalidEmailDomain": "You cannot register with emails with the following domains: <%= domains %>",
"wrongPassword": "Wrong password.",
"incorrectDeletePhrase": "Please type <%= magicWord %> in all caps to delete your account.",
"incorrectDeletePhrase": "Please type <%= magicWord %> in all capital letters to delete your account.",
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
@ -283,7 +283,7 @@
"passwordResetEmailHtml": "If you requested a password reset for <strong><%= username %></strong> on Habitica, <a href=\"<%= passwordResetLink %>\">click here</a> to set a new one. The link will expire after 24 hours.<br/><br>If you haven't requested a password reset, please ignore this email.",
"invalidLoginCredentialsLong": "Uh-oh - your email address / username or password is incorrect.\n- Make sure they are typed correctly. Your username and password are case-sensitive.\n- You may have signed up with Facebook or Google-sign-in, not email so double-check by trying them.\n- If you forgot your password, click \"Forgot Password\".",
"invalidCredentials": "There is no account that uses those credentials.",
"accountSuspended": "This account, User ID \"<%= userId %>\", has been blocked for breaking the [Community Guidelines](https://habitica.com/static/community-guidelines) or [Terms of Service](https://habitica.com/static/terms). For details or to ask to be unblocked, please email our Community Manager at <%= communityManagerEmail %> or ask your parent or guardian to email them. Please copy your User ID into the email and include your username.",
"accountSuspended": "This account, User ID \"<%= userId %>\", has been blocked for breaking the [Community Guidelines](https://habitica.com/static/community-guidelines) or [Terms of Service](https://habitica.com/static/terms). For details or to ask to be unblocked, please email our Community Manager at <%= communityManagerEmail %> or ask your parent or guardian to email them. Please include your @Username in the email.",
"accountSuspendedTitle": "Account has been suspended",
"unsupportedNetwork": "This network is not currently supported.",
"cantDetachSocial": "Account lacks another authentication method; can't detach this authentication method.",

View file

@ -37,8 +37,8 @@
"addTaskToChallenge": "Taak toevoegen",
"discard": "Gooi weg",
"challengeTitle": "Titel van de uitdaging",
"challengeTag": "Naam van label",
"challengeTagPop": "Uitdagingen zijn te zien op labellijsten en op taakomschrijvingen. Dus hoewel je een omschrijvende titel wil voor hierboven, heb je ook een 'korte naam' nodig. '5 kilo afvallen in drie maanden' kan bijvoorbeeld worden afgekort tot '-5kg' (klik voor meer informatie).",
"challengeTag": "Labelnaam",
"challengeTagPop": "Uitdagingen zijn te zien op labellijsten en op taakomschrijvingen. Dus hoewel je erboven een omschrijvende titel wil, heb je ook een 'korte naam' nodig. '5 kilo afvallen in drie maanden' kan bijvoorbeeld worden afgekort tot '-5kg' (klik voor meer informatie).",
"challengeDescr": "Omschrijving",
"prize": "Prijs",
"prizePop": "Als iemand jouw uitdaging 'wint', dan kun je aan de winnaar edelstenen uitreiken. Het maximum aantal dat je kunt schenken is het aantal edelstenen dat jij bezit (plus het aantal gilde-edelstenen, als jij het gilde van deze uitdaging hebt aangemaakt). Let op: deze prijs kan later niet veranderd worden.",

View file

@ -1870,5 +1870,9 @@
"headSpecialSummer2019RogueText": "Elmo de Tubarão-martelo",
"armorArmoireInvernessCapeNotes": "Essa roupa resistente permitirá que você busque por provas em qualquer clima. Aumenta Percepção e Inteligência em <%= attrs %> cada. Armário Encantado: Conjunto de Detetive (item 2 de 4).",
"armorArmoireInvernessCapeText": "Capa de Detetive",
"armorArmoireAstronomersRobeText": "Roupão de Astrônomo"
"armorArmoireAstronomersRobeText": "Roupão de Astrônomo",
"armorSpecialKS2019Notes": "Brilhando por dentro como o coração nobre de um grifo, essa armadura resplandecente te encoraja a se orgulhar de suas realizações. Aumenta a Constituição em <%= con %>.",
"armorSpecialKS2019Text": "Armadura do Grifo Mítico",
"weaponSpecialKS2019Notes": "Curvo como o bico e as garras de um grifo, este cabo ornamentado o lembra da sua força quando a tarefa à frente parecer assustadora. Aumenta a Força em <%= str %>.",
"weaponSpecialKS2019Text": "Gládio do Grifo Mítico"
}

View file

@ -204,5 +204,6 @@
"usernameVerifiedConfirmation": "Kullanıcı adın, <%= username %>, onaylandı!",
"usernameNotVerified": "Lütfen kullanıcı adınızı onaylayın.",
"changeUsernameDisclaimer": "Yakında giriş adlarını özgün ve aleni kullanıcı adlarına dönüştüreceğiz. Bu kullanıcı adı davetler, sohbetlerdeki @bahisler ve mesajlaşmalar için kullanılacak.",
"verifyUsernameVeteranPet": "Onayladıktan sonra bu Kıdemli Hayvanlardan biri seni bekliyor olacak!"
"verifyUsernameVeteranPet": "Onayladıktan sonra bu Kıdemli Hayvanlardan biri seni bekliyor olacak!",
"newPMNotificationTitle": "<%= name %> 'den yeni mesaj"
}

View file

@ -899,6 +899,20 @@ let backgrounds = {
notes: t('backgroundInAClassroomNotes'),
},
},
backgrounds102019: {
foggy_moor: {
text: t('backgroundFoggyMoorText'),
notes: t('backgroundFoggyMoorNotes'),
},
monster_makers_workshop: {
text: t('backgroundMonsterMakersWorkshopText'),
notes: t('backgroundMonsterMakersWorkshopNotes'),
},
pumpkin_carriage: {
text: t('backgroundPumpkinCarriageText'),
notes: t('backgroundPumpkinCarriageNotes'),
},
},
incentiveBackgrounds: {
violet: {
text: t('backgroundVioletText'),

View file

@ -490,6 +490,14 @@ let armor = {
set: 'detective',
canOwn: ownsItem('armor_armoire_invernessCape'),
},
shadowMastersRobe: {
text: t('armorArmoireShadowMastersRobeText'),
notes: t('armorArmoireShadowMastersRobeNotes', { con: 12 }),
value: 100,
con: 12,
set: 'shadowMaster',
canOwn: ownsItem('armor_armoire_shadowMastersRobe'),
},
};
let body = {
@ -1003,6 +1011,15 @@ let head = {
set: 'detective',
canOwn: ownsItem('head_armoire_deerstalkerCap'),
},
shadowMastersHood: {
text: t('headArmoireShadowMastersHoodText'),
notes: t('headArmoireShadowMastersHoodNotes', { attrs: 5 }),
value: 100,
per: 5,
con: 5,
set: 'shadowMaster',
canOwn: ownsItem('head_armoire_shadowMastersHood'),
},
};
let shield = {
@ -1273,6 +1290,15 @@ let shield = {
int: 9,
canOwn: ownsItem('shield_armoire_polishedPocketwatch'),
},
masteredShadow: {
text: t('shieldArmoireMasteredShadowText'),
notes: t('shieldArmoireMasteredShadowNotes', { attrs: 5 }),
value: 100,
per: 5,
con: 5,
set: 'shadowMaster',
canOwn: ownsItem('shield_armoire_masteredShadow'),
},
};
let headAccessory = {
@ -1711,6 +1737,14 @@ let weapon = {
per: 9,
canOwn: ownsItem('weapon_armoire_resplendentRapier'),
},
shadowMastersMace: {
text: t('weaponArmoireShadowMastersMaceText'),
notes: t('weaponArmoireShadowMastersMaceNotes', { per: 12 }),
value: 100,
per: 12,
set: 'shadowMaster',
canOwn: ownsItem('weapon_armoire_shadowMastersMace'),
},
};
export {

View file

@ -22,12 +22,12 @@ const featuredItems = {
],
quests: [
{
type: 'bundles',
path: 'bundles.rockingReptiles',
type: 'quests',
path: 'quests.bronze',
},
{
type: 'quests',
path: 'quests.dilatoryDistress1',
path: 'quests.taskwoodsTerror1',
},
{
type: 'quests',

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth';
let api = {};
// @TODO export this const, cannot export it from here because only routes are exported from controllers
const LAST_ANNOUNCEMENT_TITLE = 'LAST CHANCE FOR SEPTEMBER ITEMS';
const LAST_ANNOUNCEMENT_TITLE = 'NEW BACKGROUNDS, ARMOIRE ITEMS, AND OFFICIAL HABITICA CHALLENGES!';
const worldDmg = { // @TODO
bailey: false,
};
@ -30,20 +30,28 @@ api.getNews = {
<div class="mr-3 ${baileyClass}"></div>
<div class="media-body">
<h1 class="align-self-center">${res.t('newStuff')}</h1>
<h2>9/30/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
<h2>10/1/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
</div>
</div>
<hr/>
<div class="promo_mystery_201909 center-block"></div>
<h3>Last Chance for Affable Acorn Set</h3>
<p>Reminder: this is the final day to <a href='/user/settings/subscription'>subscribe and receive the Affable Acorn Set</a>! Subscribing also lets you buy Gems for Gold. The longer your subscription, the more Gems you get!</p>
<p>Thanks so much for your support! You help keep Habitica running.</p>
<div class="small mb-3">by Beffymaroo</div>
<div class="promo_rocking_reptiles_bundle center-block"></div>
<h3>Last Chance for Rocking Reptiles Quest Bundle</h3>
<p>This is also the final day to buy the discounted Rocking Reptiles Pet Quest Bundle, featuring the Alligator, Snake, and Velociraptor quests all for seven gems! Be sure to get your claws on it before it slithers away from the <a href='/shops/quests'>Quest Shop</a>!</p>
<div class="small">Art by Gully, Willow The Witty, mfonda, UncommonCriminal, tabbytoes, EmeraldOx, LordDarkly, PainterProphet, Seraphina, Anna Glassman, Procyon, and Lilith of Alfheim</div>
<div class="small mb-3">Writing by Mike.Antonacci, lilackbar, Daniel The Bard, and felipena</div>
<div class="promo_armoire_backgrounds_201910 center-block"></div>
<h3>October Backgrounds and Armoire Items!</h3>
<p>Weve added three new backgrounds to the Background Shop! Now your avatar can experiment in a Monster Maker's Workshop, ride in a magical Pumpkin Carriage, and journey across a Foggy Moor. Check them out under User Icon > Backgrounds!</p>
<p>Plus, theres new gold-purchasable equipment in the Enchanted Armoire, including the Shadow Master Set. Better work hard on your real-life tasks to earn all the pieces! Enjoy :)</p>
<div class="small mb-3">by GeraldThePixel, QuartzFox, Tigergurke, Vikte, Daikagaru, and SabreCat</div>
<div class="scene_strength center-block"></div>
<h3>October 2019 Resolution Success Challenge and New Take This Challenge</h3>
<p>The Habitica team has launched a special official Challenge series hosted in the <a href='/groups/guild/6e6a8bd3-9f5f-4351-9188-9f11fcd80a99'>Official New Year's Resolution Guild</a>. These Challenges are designed to help you build and maintain goals that are destined for success and then stick with them as the year progresses. For this month's Challenge, <a href='/challenges/ef1f7844-a58a-48f8-aab0-0423ff67ffa2'>Staying Strong</a>, we're focusing on boosting your motivation heading into the final quarter of the year! It has a 15 Gem prize, which will be awarded to five lucky winners on November 1st.</p>
<p>Congratulations to the winners of the September Challenge: Inkblots, Betelgeuse_aOri, timohi, IceBlueMelody, and han-!</p>
<p>The next Take This Challenge has also launched, "<a href='/challenges/23f6f7b7-fcf5-46a2-b591-aae05d3e62fe'>Check Your HP!</a>", with a focus on tracking your mood over time. Be sure to check it out to earn additional pieces of the Take This armor set!</p>
<p><a href='http://www.takethis.org/' target='_blank'>Take This</a> is a nonprofit that seeks to inform the gamer community about mental health issues, to provide education about mental disorders and mental illness prevention, and to reduce the stigma of mental illness.</p>
<p>Congratulations to the winners of the last Take This Challenge, "It's Dangerous to Go Alone!": grand prize winner @Ukioye_Kana, and runners-up @TheReptilianCave, @Merilio, @DocBajillian, @Melodyheart, and @Melanchoii! Plus, all participants in that Challenge have received a piece of the <a href='http://habitica.wikia.com/wiki/Event_Item_Sequences#Take_This_Armor_Set' target='_blank'>Take This item set</a> if they hadn't completed it already. It is located in your Rewards column.</p> Enjoy!
<div class="small mb-3">by Doctor B, the Take This team, Lemoness, Beffymaroo, and SabreCat</div>
<div class="promo_take_this center-block"></div>
<h3>Back-to-School Preparation Challenge Winners</h3>
<p>The winners of the Habitica Back-to-School Preparation Challenge have been selected! Congratulations to: gils__, talklesssmilemore, Nadoko, pigmaniac1941, and French1Fry !</p>
<p>Thank you to everyone who participated! We're excited to help you pursue your goals through the new school year and beyond!</p>
<div class="small mb-3">by Beffymaroo and SabreCat</div>
</div>
`,
});