Merge branch 'release' into develop

This commit is contained in:
SabreCat
2021-11-23 15:34:23 -06:00
85 changed files with 6720 additions and 6417 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "habitica",
"version": "4.211.8",
"version": "4.212.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "habitica",
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
"version": "4.211.8",
"version": "4.212.0",
"main": "./website/server/index.js",
"dependencies": {
"@babel/core": "^7.16.0",
@@ -198,7 +198,7 @@
}
.quest_moon1 {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1540px -220px;
background-position: -1540px -440px;
width: 216px;
height: 216px;
}
@@ -234,7 +234,7 @@
}
.quest_nudibranch {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1540px -437px;
background-position: -1540px -657px;
width: 216px;
height: 216px;
}
@@ -244,15 +244,21 @@
width: 222px;
height: 177px;
}
.quest_owl {
.quest_onyx {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -880px -892px;
width: 219px;
height: 219px;
}
.quest_owl {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1100px -892px;
width: 219px;
height: 219px;
}
.quest_peacock {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1540px -654px;
background-position: -1540px -874px;
width: 216px;
height: 216px;
}
@@ -264,25 +270,25 @@
}
.quest_pterodactyl {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1100px -892px;
background-position: -1320px 0px;
width: 219px;
height: 219px;
}
.quest_rat {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1320px 0px;
background-position: -1320px -220px;
width: 219px;
height: 219px;
}
.quest_robot {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1320px -220px;
background-position: -1320px -440px;
width: 219px;
height: 219px;
}
.quest_rock {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1540px -871px;
background-position: -1540px -1091px;
width: 216px;
height: 216px;
}
@@ -294,43 +300,43 @@
}
.quest_ruby {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1320px -440px;
background-position: -1320px -660px;
width: 219px;
height: 219px;
}
.quest_sabretooth {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1320px -660px;
background-position: -1320px -880px;
width: 219px;
height: 219px;
}
.quest_seaserpent {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1320px -880px;
background-position: 0px -1112px;
width: 219px;
height: 219px;
}
.quest_sheep {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: 0px -1112px;
background-position: -220px -1112px;
width: 219px;
height: 219px;
}
.quest_silver {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -220px -1112px;
background-position: -440px -1112px;
width: 219px;
height: 219px;
}
.quest_slime {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -440px -1112px;
background-position: -660px -1112px;
width: 219px;
height: 219px;
}
.quest_sloth {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -660px -1112px;
background-position: -880px -1112px;
width: 219px;
height: 219px;
}
@@ -354,7 +360,7 @@
}
.quest_squirrel {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -880px -1112px;
background-position: -1100px -1112px;
width: 219px;
height: 219px;
}
@@ -366,19 +372,19 @@
}
.quest_stoikalmCalamity2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1100px -1112px;
background-position: -1320px -1112px;
width: 219px;
height: 219px;
}
.quest_stoikalmCalamity3 {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1320px -1112px;
background-position: -1540px 0px;
width: 219px;
height: 219px;
}
.quest_stone {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1540px 0px;
background-position: -1540px -220px;
width: 219px;
height: 219px;
}
@@ -388,9 +394,3 @@
width: 150px;
height: 150px;
}
.quest_taskwoodsTerror2 {
background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1540px -1088px;
width: 216px;
height: 216px;
}
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: 437 KiB

After

Width:  |  Height:  |  Size: 438 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 111 KiB

@@ -53,6 +53,7 @@
<div
v-if="currentEvent && currentEvent.promo && currentEvent.promo === 'g1g1'"
class="gift-promo-banner d-flex justify-content-around align-items-center px-4"
@click="showSelectUser"
>
<div
v-once
@@ -313,6 +314,7 @@
width: 100%;
height: 5rem;
background-image: linear-gradient(90deg, $teal-50 0%, $purple-400 100%);
cursor: pointer;
.announce-text {
color: $white;
@@ -471,6 +473,10 @@ export default {
close () {
this.$root.$emit('bv::hide::modal', 'buy-gems');
},
showSelectUser () {
this.$root.$emit('bv::show::modal', 'select-user-modal');
this.close();
},
},
};
</script>
@@ -48,6 +48,7 @@
<div
v-if="$route.name === 'subscription' && promo === 'g1g1'"
class="g1g1-banner d-flex justify-content-center"
@click="showSelectUser"
>
<div
v-once
@@ -91,6 +92,7 @@
width: 100%;
height: 5.75rem;
background-image: linear-gradient(90deg, $teal-50 0%, $purple-400 100%);
cursor: pointer;
}
.left-gift {
@@ -133,5 +135,10 @@ export default {
return this.currentEvent.promo;
},
},
methods: {
showSelectUser () {
this.$root.$emit('bv::show::modal', 'select-user-modal');
},
},
};
</script>
+1
View File
@@ -307,6 +307,7 @@
"hatchingPotionSunset": "Sunset",
"hatchingPotionMoonglow": "Moonglow",
"hatchingPotionSolarSystem": "Solar System",
"hatchingPotionOnyx": "Onyx",
"hatchingPotionNotes": "Pour this on an egg, and it will hatch as a <%= potText(locale) %> pet.",
"premiumPotionAddlNotes": "Not usable on quest pet eggs. Available for purchase until <%= date(locale) %>.",
+10 -1
View File
@@ -858,5 +858,14 @@
"questSolarSystemCompletion": "Through careful practice, you and the crew manage to keep the Diversionoids from sweeping you overboard, just by noticing and acknowledging them without letting them take over. As you pass safely by the pulsing star, @gawrone notices a cluster of floating bottles and pulls them aboard. Each appears to contain a tiny solar system!<br><br>“Well, looks like our hard work has brought us some fine rewards!” says @beffymaroo. “Lets see what celestial wonders might appear if we hatch pet eggs with these new potions.”",
"questSolarSystemBoss": "Diversionoids",
"questSolarSystemDropSolarSystemPotion": "Solar System Hatching Potion",
"questSolarSystemUnlockText": "Unlocks Solar System Hatching Potions for purchase in the Market"
"questSolarSystemUnlockText": "Unlocks Solar System Hatching Potions for purchase in the Market",
"questOnyxText": "The Onyx Odyssey",
"questOnyxNotes": "@Vikte, @aspiring_advocate, and @starsystemic know youve been feeling unmotivated lately and decide that a fun day out might boost your mood. However, “fun” apparently means going deep-sea diving to search the Dark Crevasse for treasure! You don your diving gear, board the boat, and row towards the ancient city of Dilatory. As you travel, you ask them what kind of treasure youre looking for.<br><br>“Pluto runes!” says @Vikte.<br><br>“No, Leo runes!” says @aspiring_advocate.<br><br>“No, onyx stones!” says @starsystemic.<br><br>As they argue among themselves, you look into the ocean and see the cave entrance directly below you! Excited, you jump up, and dive into the sea, leaving the trio to watch as you swim towards the Dark Crevasse to search for the treasure yourself.",
"questOnyxCompletion": "As you enter the Dark Crevasse, the mantis shrimps that live there dart away, seemingly scared of you. However, they quickly return carrying small coloured orbs, and you realise that these are the treasures that the others wanted! You pocket a healthy collection of each type, say goodbye to the shrimps, and head back to the boat where the others help you aboard.<br><br>“Where have you been?” @Vikte exclaims. In response you show them the treasure youve collected.<br><br>“These ingredients make Onyx Magic Hatching Potions!”, @aspiring_advocate says excitedly as you begin to head back to shore.<br><br>“So… we can hatch Onyx pets!” @starsystemic smiles. “Didnt we say this would be fun?”<br><br>You smile back, excited for your new pets, and ready to finish your tasks!",
"questOnyxCollectPlutoRunes": "Pluto Runes",
"questOnyxCollectLeoRunes": "Leo Runes",
"questOnyxCollectOnyxStones": "Onyx Stones",
"questOnyxDropOnyxPotion": "Onyx Hatching Potion",
"questOnyxUnlockText": "Unlocks Mossy Onyx Hatching Potions for purchase in the Market"
}
@@ -508,6 +508,13 @@ const premium = {
canBuy: hasQuestAchievementFunction('solarSystem'),
_addlNotes: t('premiumPotionUnlimitedNotes'),
},
Onyx: {
value: 2,
text: t('hatchingPotionOnyx'),
limited: true,
canBuy: hasQuestAchievementFunction('onyx'),
_addlNotes: t('premiumPotionUnlimitedNotes'),
},
};
const wacky = {
+41
View File
@@ -3839,6 +3839,47 @@ const quests = {
unlock: t('questSolarSystemUnlockText'),
},
},
onyx: {
text: t('questOnyxText'),
notes: t('questOnyxNotes'),
completion: t('questOnyxCompletion'),
value: 4,
category: 'hatchingPotion',
collect: {
onyxStone: {
text: t('questOnyxCollectOnyxStones'),
count: 25,
},
plutoRune: {
text: t('questOnyxCollectPlutoRunes'),
count: 10,
},
leoRune: {
text: t('questOnyxCollectLeoRunes'),
count: 10,
},
},
drop: {
items: [
{
type: 'hatchingPotions',
key: 'Onyx',
text: t('questOnyxDropOnyxPotion'),
}, {
type: 'hatchingPotions',
key: 'Onyx',
text: t('questOnyxDropOnyxPotion'),
}, {
type: 'hatchingPotions',
key: 'Onyx',
text: t('questOnyxDropOnyxPotion'),
},
],
gp: 50,
exp: 100,
unlock: t('questOnyxUnlockText'),
},
},
};
each(quests, (v, key) => {
@@ -1,29 +1,9 @@
import moment from 'moment';
// import moment from 'moment';
// Magic Hatching Potions are configured like this:
// type: 'premiumHatchingPotion', // note no "s" at the end
// path: 'premiumHatchingPotions.Rainbow',
const featuredItems = {
market () {
if (moment().isBefore('2021-10-31T20:00-04:00')) {
return [
{
type: 'armoire',
path: 'armoire',
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Glow',
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Spooky',
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Vampire',
},
];
}
return [
{
type: 'armoire',
@@ -51,7 +31,7 @@ const featuredItems = {
},
{
type: 'quests',
path: 'quests.horse',
path: 'quests.onyx',
},
{
type: 'quests',
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1011 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1019 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B