mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-04-14 19:56:23 +00:00
Squashed commit of the following:
commit 5b2f90356bd5630272ebabefb763f100926288c8
Author: SabreCat <sabrecat@gmail.com>
Date: Fri Dec 15 16:19:02 2023 -0600
fix(migration): full URL
commit a2962c0d106ce84d06a6478c1babacb1b776cc6f
Author: SabreCat <sabrecat@gmail.com>
Date: Fri Dec 15 15:57:21 2023 -0600
feat(migration): add birthday notif
commit 9da8e39dd03932cd9d4269ff7f6823856fa97798
Author: CuriousMagpie <eilatan@gmail.com>
Date: Fri Dec 15 12:32:25 2023 -0500
feat(script): awards 2024 Habitica birthday robes
commit 7de6b80ee6fe59d708ba38b0e0aff8269b5b2f58
Author: CuriousMagpie <eilatan@gmail.com>
Date: Thu Dec 14 13:11:07 2023 -0500
feat(content): add Habitica birthday item
commit 1bb95f58679425fbb323ccfae1fe0a823d120a70
Author: CuriousMagpie <eilatan@gmail.com>
Date: Thu Dec 14 11:43:12 2023 -0500
fix(dates): fix availability dates to canonical
commit 8e7f49f2539b5dbd5cb35176f77a93796e4880d0
Author: CuriousMagpie <eilatan@gmail.com>
Date: Thu Dec 14 11:37:44 2023 -0500
feat(content): make 2024 default backgroumd, fix errors
commit acc30f044eee3550e778831c91587e1a48f17ede
Author: CuriousMagpie <eilatan@gmail.com>
Date: Wed Dec 13 16:53:33 2023 -0500
feat(content): the rest of the January content
commit 6a5e45c6d0dd9d6ef7f8898085ea10b9a25c2199
Author: CuriousMagpie <eilatan@gmail.com>
Date: Wed Dec 13 16:49:33 2023 -0500
feat(content): January content
This commit is contained in:
parent
f66b05f707
commit
7fb1c9db8c
12 changed files with 293 additions and 8 deletions
102
migrations/archive/2024/20240131_habit_birthday.js
Normal file
102
migrations/archive/2024/20240131_habit_birthday.js
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
/* eslint-disable no-console */
|
||||
import { v4 as uuid } from 'uuid';
|
||||
import { model as User } from '../../../website/server/models/user';
|
||||
|
||||
const MIGRATION_NAME = '20240131_habit_birthday';
|
||||
const progressCount = 1000;
|
||||
let count = 0;
|
||||
|
||||
async function updateUser (user) {
|
||||
count += 1;
|
||||
|
||||
const inc = {
|
||||
'items.food.Cake_Skeleton': 1,
|
||||
'items.food.Cake_Base': 1,
|
||||
'items.food.Cake_CottonCandyBlue': 1,
|
||||
'items.food.Cake_CottonCandyPink': 1,
|
||||
'items.food.Cake_Shade': 1,
|
||||
'items.food.Cake_White': 1,
|
||||
'items.food.Cake_Golden': 1,
|
||||
'items.food.Cake_Zombie': 1,
|
||||
'items.food.Cake_Desert': 1,
|
||||
'items.food.Cake_Red': 1,
|
||||
'achievements.habitBirthdays': 1,
|
||||
};
|
||||
const set = {};
|
||||
const push = {
|
||||
notifications: {
|
||||
type: 'ITEM_RECEIVED',
|
||||
data: {
|
||||
icon: 'notif_namingDay_cake',
|
||||
title: 'Happy Habit Birthday!',
|
||||
text: 'Habitica turns 11 today! Enjoy free party robes and cake!',
|
||||
destination: 'inventory/equipment',
|
||||
},
|
||||
seen: false,
|
||||
},
|
||||
};
|
||||
|
||||
set.migration = MIGRATION_NAME;
|
||||
|
||||
if (typeof user.items.gear.owned.armor_special_birthday2023 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2024'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2022 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2023'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2021 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2022'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2020 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2021'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2019 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2020'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2018 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2019'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2017 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2018'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2016 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2017'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2015 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2016'] = true;
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2015'] = true;
|
||||
} else {
|
||||
set['items.gear.owned.armor_special_birthday'] = true;
|
||||
}
|
||||
|
||||
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
|
||||
|
||||
return await User.updateOne({_id: user._id}, {$inc: inc, $set: set, $push: push}).exec();
|
||||
}
|
||||
|
||||
export default async function processUsers () {
|
||||
let query = {
|
||||
migration: {$ne: MIGRATION_NAME},
|
||||
'auth.timestamps.loggedin': {$gt: new Date('2023-12-23')},
|
||||
};
|
||||
|
||||
const fields = {
|
||||
_id: 1,
|
||||
items: 1,
|
||||
};
|
||||
|
||||
while (true) { // eslint-disable-line no-constant-condition
|
||||
const users = await User // eslint-disable-line no-await-in-loop
|
||||
.find(query)
|
||||
.limit(250)
|
||||
.sort({_id: 1})
|
||||
.select(fields)
|
||||
.lean()
|
||||
.exec();
|
||||
|
||||
if (users.length === 0) {
|
||||
console.warn('All appropriate users found and modified.');
|
||||
console.warn(`\n${count} users processed\n`);
|
||||
break;
|
||||
} else {
|
||||
query._id = {
|
||||
$gt: users[users.length - 1],
|
||||
};
|
||||
}
|
||||
|
||||
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
|
||||
}
|
||||
};
|
||||
|
|
@ -1179,6 +1179,11 @@
|
|||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_frozen_blue_pond {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_frozen_blue_pond.png');
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_frozen_lake {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_frozen_lake.png');
|
||||
width: 141px;
|
||||
|
|
@ -1384,6 +1389,11 @@
|
|||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_ice_bubble_lake {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_ice_bubble_lake.png');
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_ice_cave {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_ice_cave.png');
|
||||
width: 141px;
|
||||
|
|
@ -2269,6 +2279,11 @@
|
|||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_winter_mountain_range {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_winter_mountain_range.png');
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_winter_night {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_winter_night.png');
|
||||
width: 141px;
|
||||
|
|
@ -2985,6 +3000,11 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.icon_background_frozen_blue_pond {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_frozen_blue_pond.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.icon_background_frozen_lake {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_frozen_lake.png');
|
||||
width: 68px;
|
||||
|
|
@ -3190,6 +3210,11 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.icon_background_ice_bubble_lake {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_ice_bubble_lake.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.icon_background_ice_cave {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_ice_cave.png');
|
||||
width: 68px;
|
||||
|
|
@ -4080,6 +4105,11 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.icon_background_winter_mountain_range {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_winter_mountain_range.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.icon_background_winter_night {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_winter_night.png');
|
||||
width: 68px;
|
||||
|
|
@ -19020,6 +19050,16 @@
|
|||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_armoire_schoolUniformPants {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_armoire_schoolUniformPants.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_armoire_schoolUniformSkirt {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_armoire_schoolUniformSkirt.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_armoire_scribesRobe {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_armoire_scribesRobe.png');
|
||||
width: 114px;
|
||||
|
|
@ -19975,6 +20015,11 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.shield_armoire_trustyPencil {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_trustyPencil.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.shield_armoire_trustyUmbrella {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_trustyUmbrella.png');
|
||||
width: 114px;
|
||||
|
|
@ -20360,6 +20405,16 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_armoire_schoolUniformPants {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_armoire_schoolUniformPants.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_armoire_schoolUniformSkirt {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_armoire_schoolUniformSkirt.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_armoire_scribesRobe {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_armoire_scribesRobe.png');
|
||||
width: 68px;
|
||||
|
|
@ -21375,6 +21430,11 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_shield_armoire_trustyPencil {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_trustyPencil.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_shield_armoire_trustyUmbrella {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_trustyUmbrella.png');
|
||||
width: 68px;
|
||||
|
|
@ -21820,6 +21880,11 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_weapon_armoire_scholarlyTextbooks {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_scholarlyTextbooks.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_weapon_armoire_shadowMastersMace {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_shadowMastersMace.png');
|
||||
width: 68px;
|
||||
|
|
@ -22245,6 +22310,16 @@
|
|||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_armoire_schoolUniformPants {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_schoolUniformPants.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_armoire_schoolUniformSkirt {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_schoolUniformSkirt.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_armoire_scribesRobe {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_scribesRobe.png');
|
||||
width: 114px;
|
||||
|
|
@ -22785,6 +22860,11 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_armoire_scholarlyTextbooks {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_scholarlyTextbooks.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_armoire_shadowMastersMace {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_shadowMastersMace.png');
|
||||
width: 114px;
|
||||
|
|
@ -23655,6 +23735,11 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_special_birthday2024 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_birthday2024.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.eyewear_special_anniversary {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/eyewear_special_anniversary.png');
|
||||
width: 90px;
|
||||
|
|
@ -23710,6 +23795,11 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_special_birthday2024 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_birthday2024.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_back_special_anniversary {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_back_special_anniversary.png');
|
||||
width: 68px;
|
||||
|
|
@ -23775,6 +23865,11 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_special_birthday2024 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_birthday2024.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_special_fall2015Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2015Healer.png');
|
||||
width: 93px;
|
||||
|
|
@ -28895,6 +28990,41 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.back_mystery_202401 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/back_mystery_202401.png');
|
||||
width: 117px;
|
||||
height: 120px;
|
||||
}
|
||||
.broad_armor_mystery_202401 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_mystery_202401.png');
|
||||
width: 117px;
|
||||
height: 120px;
|
||||
}
|
||||
.shop_armor_mystery_202401 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_mystery_202401.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_back_mystery_202401 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_back_mystery_202401.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_set_mystery_202401 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_set_mystery_202401.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_weapon_armoire_scholarlyTextbooks {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_scholarlyTextbooks.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.slim_armor_mystery_202401 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_mystery_202401.png');
|
||||
width: 117px;
|
||||
height: 120px;
|
||||
}
|
||||
.broad_armor_mystery_301404 {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_mystery_301404.png');
|
||||
width: 90px;
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@
|
|||
v-if="editing"
|
||||
class="menu-container col-2"
|
||||
:class="{active: activeTopPage === 'backgrounds'}"
|
||||
@click="changeTopPage('backgrounds', '2023')"
|
||||
@click="changeTopPage('backgrounds', '2024')"
|
||||
>
|
||||
<div class="menu-item">
|
||||
<div
|
||||
|
|
@ -208,13 +208,13 @@
|
|||
<div
|
||||
class="row text-center title-row"
|
||||
>
|
||||
<strong>{{ backgroundShopSets[2].text }}</strong>
|
||||
<strong>{{ backgroundShopSets[1].text }}</strong>
|
||||
</div>
|
||||
<div
|
||||
class="row title-row"
|
||||
>
|
||||
<div
|
||||
v-for="bg in backgroundShopSets[2].items"
|
||||
v-for="bg in backgroundShopSets[1].items"
|
||||
:id="bg.key"
|
||||
:key="bg.key"
|
||||
class="col-4 text-center customize-option background-button"
|
||||
|
|
@ -1237,7 +1237,7 @@ export default {
|
|||
},
|
||||
],
|
||||
|
||||
bgSubMenuItems: ['2023', '2022', '2021', '2020', '2019', '2018', '2017', '2016', '2015', '2014'].map(y => ({
|
||||
bgSubMenuItems: ['2024', '2023', '2022', '2021', '2020', '2019', '2018', '2017', '2016', '2015', '2014'].map(y => ({
|
||||
id: y,
|
||||
label: y,
|
||||
})),
|
||||
|
|
@ -1267,6 +1267,7 @@ export default {
|
|||
2021: [],
|
||||
2022: [],
|
||||
2023: [],
|
||||
2024: [],
|
||||
};
|
||||
|
||||
// Hack to force update for now until we restructure the data
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ export default {
|
|||
if (this.notification.data.destination.indexOf('backgrounds') !== -1) {
|
||||
this.$store.state.avatarEditorOptions.editingUser = true;
|
||||
this.$store.state.avatarEditorOptions.startingPage = 'backgrounds';
|
||||
this.$store.state.avatarEditorOptions.subpage = '2023';
|
||||
this.$store.state.avatarEditorOptions.subpage = '2024';
|
||||
this.$root.$emit('bv::show::modal', 'avatar-modal');
|
||||
} else {
|
||||
this.$router.push(this.notification.data.destination || '/inventory/items');
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
>{{ $t('editAvatar') }}</a>
|
||||
<a
|
||||
class="topbar-dropdown-item dropdown-item dropdown-separated"
|
||||
@click="showAvatar('backgrounds', '2023')"
|
||||
@click="showAvatar('backgrounds', '2024')"
|
||||
>{{ $t('backgrounds') }}</a>
|
||||
<a
|
||||
class="topbar-dropdown-item dropdown-item"
|
||||
|
|
|
|||
|
|
@ -838,7 +838,7 @@
|
|||
"backgrounds122022": "SET 103: Released December 2022",
|
||||
"backgroundBranchesOfAHolidayTreeText": "Branches of a Holiday Tree",
|
||||
"backgroundBranchesOfAHolidayTreeNotes": "Frolic on the Branches of a Holiday Tree.",
|
||||
"backgroundInsideACrystalText": "Inside A Crystal",
|
||||
"backgroundInsideACrystalText": "Inside A Crystal",
|
||||
"backgroundInsideACrystalNotes": "Peer out from Inside A Crystal.",
|
||||
"backgroundSnowyVillageText": "Snowy Village",
|
||||
"backgroundSnowyVillageNotes": "Admire a Snowy Village.",
|
||||
|
|
@ -939,6 +939,13 @@
|
|||
"backgroundWinterFullMoonText": "WinterFullMoon",
|
||||
"backgroundWinterFullMoonNotes": "Gaze at the Winter Full Moon.",
|
||||
|
||||
"backgrounds012024": "SET 116: Released January 2024",
|
||||
"backgroundWinterMountainRangeText": "Winter Mountain Range",
|
||||
"backgroundWinterMountainRangeNotes": "Climb a Winter Mountain Range.",
|
||||
"backgroundFrozenBluePondText": "Frozen Blue Pond",
|
||||
"backgroundFrozenBluePondNotes": "Chill out by the Frozen Blue Pond.",
|
||||
"backgroundIceBubbleLakeText": "Ice Bubble Lake",
|
||||
"backgroundIceBubbleLakeNotes": "Stand carefully on the Ice Bubble Lake.",
|
||||
|
||||
"timeTravelBackgrounds": "Steampunk Backgrounds",
|
||||
"backgroundAirshipText": "Airship",
|
||||
|
|
|
|||
|
|
@ -736,6 +736,8 @@
|
|||
"weaponArmoireRidingBroomNotes": "Run all your most magical errands on this fine broom--or, just take it for a joyride around the neighborhood. Whee! Increases Strength by <%= str %> and Intelligence by <%= int %>. Enchanted Armoire: Spooky Sorcery Set (Item 1 of 3)",
|
||||
"weaponArmoireRollingPinText": "Rolling Pin",
|
||||
"weaponArmoireRollingPinNotes": "Roll your dough as thin as you like in-between bonking bad habits when they pop up around you like a certain rodent-bopping game. Increases Strength by <%= str %>. Enchanted Armoire: Cooking Implements Set 2 (Item 2 of 2).",
|
||||
"weaponArmoireScholarlyTextbooksText": "Scholarly Textbooks",
|
||||
"weaponArmoireScholarlyTextbooksNotes": "Here’s your chance to dive deep and learn about any topic that interests you. What’s your current hyperfixation? Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 3 of 4).",
|
||||
|
||||
"armor": "armor",
|
||||
"armorCapitalized": "Armor",
|
||||
|
|
@ -856,6 +858,8 @@
|
|||
"armorSpecialBirthday2022Notes": "Happy Birthday, Habitica! Wear these Proposterous Party Robes to celebrate this wonderful day. Confers no benefit.",
|
||||
"armorSpecialBirthday2023Text": "Fabulous Party Robes",
|
||||
"armorSpecialBirthday2023Notes": "Happy Birthday, Habitica! Wear these Fabulous Party Robes to celebrate this wonderful day. Confers no benefit.",
|
||||
"armorSpecialBirthday2024Text": "Ludicrous Party Robes",
|
||||
"armorSpecialBirthday2024Notes": "Happy Birthday, Habitica! Wear these Ludicrous Party Robes to celebrate this wonderful day. Confers no benefit.",
|
||||
|
||||
"armorSpecialGaymerxText": "Rainbow Warrior Armor",
|
||||
"armorSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special armor is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
|
||||
|
|
@ -1342,6 +1346,8 @@
|
|||
"armorMystery202307Notes": "Suction cups have the best traction on the sea floor and on the sides of wayward ships. Confers no benefit. July 2023 Subscriber Item.",
|
||||
"armorMystery202310Text": "Wraith's Robe",
|
||||
"armorMystery202310Notes": "A ghostly garment that will curl and drift gracefully as you float amidst the haunted bogs and wastes. Confers no benefit. October 2023 Subscriber Item.",
|
||||
"armorMystery202401Text": "Snowy Spellbinder Robes",
|
||||
"armorMystery202401Notes": "These robes appear as delicate as crystal snowflakes, but will keep you plenty warm as you work your wintry magic. Confers no benefit. January 2024 Subscriber Item.",
|
||||
|
||||
"armorMystery301404Text": "Steampunk Suit",
|
||||
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
|
||||
|
|
@ -1542,6 +1548,10 @@
|
|||
"armorArmoireKarateGiNotes": "This lightweight karate uniform is perfect for practice or competition. Increases Strength by <%= str %>. Enchanted Armoire: Karate Set (Item 1 of 10).",
|
||||
"armorArmoireGreenFluffTrimmedCoatText": "Green Fluff Trimmed Coat",
|
||||
"armorArmoireGreenFluffTrimmedCoatNotes": "Tales tell that once in a generation, a coat comes along that is the warmest and coziest. Its fluff is extraordinary and its buttons are manageable even by mitten-clad hands. This is that coat. Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Trapper Hat Set (Item 2 of 2).",
|
||||
"armorArmoireSchoolUniformSkirtText": "School Uniform with Skirt",
|
||||
"armorArmoireSchoolUniformSkirtNotes": "Whether you’re attending a school for magical wizards, dragon riders, sportsball players, creative artisans, or members of a profession too secret to list here, you’ll fit right in with this uniform. Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 1 of 4).",
|
||||
"armorArmoireSchoolUniformPantsText": "School Uniform with Pants",
|
||||
"armorArmoireSchoolUniformPantsNotes": "Whether you’re attending a school for magical wizards, dragon riders, sportsball players, creative artisans, or members of a profession too secret to list here, you’ll fit right in with this uniform. Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 2 of 4).",
|
||||
|
||||
"headgear": "helm",
|
||||
"headgearCapitalized": "Headgear",
|
||||
|
|
@ -2807,6 +2817,8 @@
|
|||
"shieldArmoireBucketNotes": "Though this bucket is helpful in holding a mixture of water and cleaning solution, you could also use it to collect, carry, and cart around just about anything that fits inside! Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set 2 (Item 1 of 3)",
|
||||
"shieldArmoireSaucepanText": "Sauce Pan",
|
||||
"shieldArmoireSaucepanNotes": "Look inside this steaming saucepan for the answer to the most closely guarded secret in life! (Soup. The answer is always soup.) Increases Perception by <%= per %> . Enchanted Armoire: Cooking Implements Set 2 (Item 1 of 2).",
|
||||
"shieldArmoireTrustyPencilText": "Trusty Pencil",
|
||||
"shieldArmoireTrustyPencilNotes": "You know what they say: the pencil is mightier than the sword-cil. Wait... that doesn’t sound quite right... Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 4 of 4).",
|
||||
|
||||
"back": "Back Accessory",
|
||||
"backBase0Text": "No Back Accessory",
|
||||
|
|
@ -2881,6 +2893,8 @@
|
|||
"backMystery202305Notes": "Catch the sparkle of the evening star and soar to strange realms on these wings. Confers no benefit. May 2023 Subscriber Item.",
|
||||
"backMystery202309Text": "Colossal Comet Moth Wings",
|
||||
"backMystery202309Notes": "Flutter across forests, glide over mountains, and soar over oceans on these bright and beautiful wings. Confers no benefit. September 2023 Subscriber Item.",
|
||||
"backMystery202401Text": "Snowy Spell",
|
||||
"backMystery202401Notes": "Conjure softly falling flurries or call a mighty blizzard. The choice is yours! Confers no benefit. January 2024 Subscriber Item.",
|
||||
|
||||
"backSpecialWonderconRedText": "Mighty Cape",
|
||||
"backSpecialWonderconRedNotes": "Swishes with strength and beauty. Confers no benefit. Special Edition Convention Item.",
|
||||
|
|
|
|||
|
|
@ -154,10 +154,10 @@
|
|||
"mysterySet202307": "Perilous Kraken Set",
|
||||
"mysterySet202308": "Purple Protagonist Set",
|
||||
"mysterySet202309": "Colossal Comet Moth Set",
|
||||
"mysterySet202309": "All-Seeing Spellbinder Set",
|
||||
"mysterySet202310": "Ghostlight Wraith Set",
|
||||
"mysterySet202311": "All-Seeing Spellbinder Set",
|
||||
"mysterySet202312": "Wintry Blue Set",
|
||||
"mysterySet202401": "Snowy Spellbinder Set",
|
||||
"mysterySet301404": "Steampunk Standard Set",
|
||||
"mysterySet301405": "Steampunk Accessories Set",
|
||||
"mysterySet301703": "Peacock Steampunk Set",
|
||||
|
|
|
|||
|
|
@ -597,6 +597,11 @@ const plannedBackgrounds = {
|
|||
ice_sculpture_festival: { },
|
||||
winter_full_moon: { },
|
||||
},
|
||||
backgrounds012024: {
|
||||
winter_mountain_range: { },
|
||||
frozen_blue_pond: { },
|
||||
ice_bubble_lake: { },
|
||||
},
|
||||
eventBackgrounds: {
|
||||
birthday_bash: {
|
||||
price: 0,
|
||||
|
|
@ -643,6 +648,7 @@ const releaseDates = {
|
|||
backgrounds102023: '2023-10-10T08:00-04:00',
|
||||
backgrounds112023: '2023-11-07T08:00-05:00',
|
||||
backgrounds122023: '2023-12-05T08:00-05:00',
|
||||
backgrounds012024: '2024-01-04T08:00-05:00',
|
||||
};
|
||||
|
||||
const flat = {};
|
||||
|
|
|
|||
|
|
@ -449,6 +449,14 @@ const armor = {
|
|||
int: 8,
|
||||
set: 'greenTrapper',
|
||||
},
|
||||
schoolUniformSkirt: {
|
||||
int: 5,
|
||||
set: 'schoolUniform',
|
||||
},
|
||||
schoolUniformPants: {
|
||||
int: 5,
|
||||
set: 'schoolUniform',
|
||||
},
|
||||
};
|
||||
|
||||
const body = {
|
||||
|
|
@ -1263,6 +1271,10 @@ const shield = {
|
|||
per: 10,
|
||||
set: 'cookingImplementsTwo',
|
||||
},
|
||||
trustyPencil: {
|
||||
int: 10,
|
||||
set: 'schoolUniform',
|
||||
},
|
||||
};
|
||||
|
||||
const headAccessory = {
|
||||
|
|
@ -1728,12 +1740,17 @@ const weapon = {
|
|||
str: 10,
|
||||
set: 'cookingImplementsTwo',
|
||||
},
|
||||
scholarlyTextbooks: {
|
||||
int: 10,
|
||||
set: 'schoolUniform',
|
||||
},
|
||||
};
|
||||
|
||||
const releaseDates = {
|
||||
somethingSpooky: '2023-10-10T08:00-04:00',
|
||||
cookingImplementsTwo: '2023-11-07T08:00-05:00',
|
||||
greenTrapper: '2023-12-05T08:00-05:00',
|
||||
schoolUniform: '2024-01-04T08:00-05:00',
|
||||
};
|
||||
|
||||
forEach({
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ const armor = {
|
|||
202306: { },
|
||||
202307: { },
|
||||
202310: { },
|
||||
202401: { },
|
||||
301404: { },
|
||||
301703: { },
|
||||
301704: { },
|
||||
|
|
@ -104,6 +105,7 @@ const back = {
|
|||
202302: { },
|
||||
202305: { },
|
||||
202309: { },
|
||||
202401: { },
|
||||
};
|
||||
|
||||
const body = {
|
||||
|
|
|
|||
|
|
@ -870,6 +870,12 @@ const armor = {
|
|||
winter2024Rogue: {
|
||||
set: 'winter2024SnowyOwlRogueSet',
|
||||
},
|
||||
birthday2024: {
|
||||
text: t('armorSpecialBirthday2024Text'),
|
||||
notes: t('armorSpecialBirthday2024Notes'),
|
||||
value: 0,
|
||||
canOwn: ownsItem('armor_special_birthday2023'),
|
||||
},
|
||||
};
|
||||
|
||||
const armorStats = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue