fix(dates): upgrade dynamic end dating for quest bundle endings (#15015)

* fix(quest text): Updated end date for Oddballs to November 30.

* fix(dates): remove hard-coded bundle end-dates

* fix(dates): add dynamic dating to end of quest bundles

* fix(dates): commas are important

* fix(dates): November only has 30 days

* fix(dates): upgrade dynamic end dating for quest bundle endings
This commit is contained in:
Natalie
2023-11-22 16:28:23 -05:00
committed by GitHub
parent 021825ebb9
commit ed907c1ae5
2 changed files with 32 additions and 32 deletions

View File

@@ -576,7 +576,7 @@
"questMayhemMistiflying3DropWeapon": "Roguish Rainbow Message (Main-Hand Item)",
"featheredFriendsText": "Feathered Friends Quest Bundle",
"featheredFriendsNotes": "Contains 'Help! Harpy!,' 'The Night-Owl,' and 'The Birds of Preycrastination.'",
"featheredFriendsNotes": "Contains 'Help! Harpy!,' 'The Night-Owl,' and 'The Birds of Preycrastination. Available until <%= date %>.'",
"questNudibranchText": "Infestation of the NowDo Nudibranchs",
"questNudibranchNotes": "You finally get around to checking your To Do's on a lazy day in Habitica. Bright against your deepest red tasks are a gaggle of vibrant blue sea slugs. You are entranced! Their sapphire colors make your most intimidating tasks look as easy as your best Habits. In a feverish stupor you get to work, tackling one task after the other in a ceaseless frenzy...<br><br>The next thing you know, @LilithofAlfheim is pouring cold water over you. “The NowDo Nudibranchs have been stinging you all over! You need to take a break!”<br><br>Shocked, you see that your skin is as bright red as your To Do list was. \"Being productive is one thing,\" @beffymaroo says, \"but you've also got to take care of yourself. Hurry, let's get rid of them!\"",
@@ -586,7 +586,7 @@
"questNudibranchUnlockText": "Unlocks Nudibranch Eggs for purchase in the Market",
"splashyPalsText": "Splashy Pals Quest Bundle",
"splashyPalsNotes": "Contains 'The Dilatory Derby', 'Guide the Turtle', and 'Wail of the Whale'.",
"splashyPalsNotes": "Contains 'The Dilatory Derby', 'Guide the Turtle', and 'Wail of the Whale'. Available until <%= date %>.",
"questHippoText": "What a Hippo-Crite",
"questHippoNotes": "You and @awesomekitty collapse into the shade of a palm tree, exhausted. The sun beats down over the Sloensteadi Savannah, scorching the ground below. Its been a productive day so far, conquering your Dailies, and this oasis looks like a nice place to take a break and refresh. Stooping near the water to get a drink, you stumble back in shock as a massive hippopotamus rises. “Resting so soon? Dont be so lazy, get back to work.” You try and protest that youve been working hard and need a break, but the hippo isnt having any of it.<br><br>@khdarkwolf whispers to you, “Notice how its lounging around all day but has the nerve to call you lazy? Its the Hippo-Crite!”<br><br>Your friend @jumorales nods. “Lets show it what hard work looks like!”",
@@ -596,10 +596,10 @@
"questHippoUnlockText": "Unlocks Hippo Eggs for purchase in the Market",
"farmFriendsText": "Farm Friends Quest Bundle",
"farmFriendsNotes": "Contains 'The Mootant Cow', 'Ride the Night-Mare', and 'The Thunder Ram'.",
"farmFriendsNotes": "Contains 'The Mootant Cow', 'Ride the Night-Mare', and 'The Thunder Ram'. Available until <%= date %>.",
"witchyFamiliarsText": "Witchy Familiars Quest Bundle",
"witchyFamiliarsNotes": "Contains 'The Rat King', 'The Icy Arachnid', and 'Swamp of the Clutter Frog'.",
"witchyFamiliarsNotes": "Contains 'The Rat King', 'The Icy Arachnid', and 'Swamp of the Clutter Frog'. Available until <%= date %>.",
"questGroupLostMasterclasser": "Mystery of the Masterclassers",
"questUnlockLostMasterclasser": "To unlock this quest, complete the final quests of these quest chains: 'Dilatory Distress', 'Mayhem in Mistiflying', 'Stoïkalm Calamity', and 'Terror in the Taskwoods'.",
@@ -650,7 +650,7 @@
"questYarnUnlockText": "Unlocks Yarn Eggs for purchase in the Market",
"winterQuestsText": "Winter Quest Bundle",
"winterQuestsNotes": "Contains 'Trapper Santa', 'Find the Cub', and 'The Fowl Frost'. Available until January 31. Note that Trapper Santa and Find the Cub have stackable quest achievements but give a rare pet and mount that can only be added to your stable once.",
"winterQuestsNotes": "Contains 'Trapper Santa', 'Find the Cub', and 'The Fowl Frost'. Available until <%= date %>. Note that Trapper Santa and Find the Cub have stackable quest achievements but give a rare pet and mount that can only be added to your stable once.",
"questPterodactylText": "The Pterror-dactyl",
"questPterodactylNotes": "You're taking a stroll along the peaceful Stoïkalm Cliffs when an evil screech rends the air. You turn to find a hideous creature flying towards you and are overcome by a powerful terror. As you turn to flee, @Lilith of Alfheim grabs you. \"Don't panic! It's just a Pterror-dactyl.\"<br><br>@Procyon P nods. \"They nest nearby, but they're attracted to the scent of negative Habits and undone Dailies.\"<br><br>\"Don't worry,\" @Katy133 says. \"We just need to be extra productive to defeat it!\" You are filled with a renewed sense of purpose and turn to face your foe.",
@@ -689,7 +689,7 @@
"dysheartenerArtCredit": "Artwork by @AnnDeLune",
"hugabugText": "Hug a Bug Quest Bundle",
"hugabugNotes": "Contains 'The CRITICAL BUG,' 'The Snail of Drudgery Sludge,' and 'Bye, Bye, Butterfry.'",
"hugabugNotes": "Contains 'The CRITICAL BUG,' 'The Snail of Drudgery Sludge,' and 'Bye, Bye, Butterfry. Available until <%= date %>.'",
"questSquirrelText": "The Sneaky Squirrel",
"questSquirrelNotes": "You wake up and find youve overslept! Why didnt your alarm go off? … How did an acorn get stuck in the ringer?<br><br>When you try to make breakfast, the toaster is stuffed with acorns. When you go to retrieve your mount, @Shtut is there, trying unsuccessfully to unlock their stable. They look into the keyhole. “Is that an acorn in there?”<br><br>@randomdaisy cries out, “Oh no! I knew my pet squirrels had gotten out, but I didnt know theyd made such trouble! Can you help me round them up before they make any more of a mess?”<br><br>Following the trail of mischievously placed oak nuts, you track and catch the wayward sciurines, with @Cantras helping secure each one safely at home. But just when you think your task is almost complete, an acorn bounces off your helm! You look up to see a mighty beast of a squirrel, crouched in defense of a prodigious pile of seeds.<br><br>“Oh dear,” says @randomdaisy, softly. “Shes always been something of a resource guarder. Well have to proceed very carefully!” You circle up with your party, ready for trouble!",
@@ -699,10 +699,10 @@
"questSquirrelUnlockText": "Unlocks Squirrel Eggs for purchase in the Market",
"cuddleBuddiesText": "Cuddle Buddies Quest Bundle",
"cuddleBuddiesNotes": "Contains 'The Killer Bunny', 'The Nefarious Ferret', and 'The Guinea Pig Gang'.",
"cuddleBuddiesNotes": "Contains 'The Killer Bunny', 'The Nefarious Ferret', and 'The Guinea Pig Gang'. Available until <%= date %>.",
"aquaticAmigosText": "Aquatic Amigos Quest Bundle",
"aquaticAmigosNotes": "Contains 'The Magical Axolotl', 'The Kraken of Inkomplete', and 'The Call of Octothulu'.",
"aquaticAmigosNotes": "Contains 'The Magical Axolotl', 'The Kraken of Inkomplete', and 'The Call of Octothulu'. Available until <%= date %>.",
"questSeaSerpentText": "Danger in the Depths: Sea Serpent Strike!",
"questSeaSerpentNotes": "Your streaks have you feeling lucky—its the perfect time for a trip to the seahorse racetrack. You board the submarine at Diligent Docks and settle in for the trip to Dilatory, but youve barely submerged when an impact rocks the sub, sending its occupants tumbling. “Whats going on?” @AriesFaries shouts.<br><br>You glance through a nearby porthole and are shocked by the wall of shimmering scales passing by it. “Sea serpent!” Captain @Witticaster calls through the intercom. “Brace yourselves, its coming round again!” As you grip the arms of your seat, your unfinished tasks flash before your eyes. Maybe if we work together and complete them, you think, we can drive this monster away!",
@@ -719,7 +719,7 @@
"questKangarooUnlockText": "Unlocks Kangaroo Eggs for purchase in the Market",
"forestFriendsText": "Forest Friends Quest Bundle",
"forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'.",
"forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until <%= date %>.",
"questAlligatorText": "The Insta-Gator",
"questAlligatorNotes": "“Crikey!” exclaims @gully. “An Insta-Gator in its natural habitat! Careful, it distracts its prey with things that seem urgent THIS INSTANT, and it feeds on the unchecked Dailies that result.” You fall silent to avoid attracting its attention, but to no avail. The Insta-Gator spots you and charges! Distracting voices rise up from Swamps of Stagnation, grabbing for your attention: “Read this post! See this photo! Pay attention to me THIS INSTANT!” You scramble to mount a counterattack, completing your Dailies and bolstering your good Habits to fight off the dreaded Insta-Gator.",
@@ -729,10 +729,10 @@
"questAlligatorUnlockText": "Unlocks Alligator Eggs for purchase in the Market",
"oddballsText": "Oddballs Quest Bundle",
"oddballsNotes": "Contains 'The Jelly Regent,' 'Escape the Cave Creature,' and 'A Tangled Yarn.'",
"oddballsNotes": "Contains 'The Jelly Regent,' 'Escape the Cave Creature,' and 'A Tangled Yarn.' Available until <%= date %>.",
"birdBuddiesText": "Bird Buddies Quest Bundle",
"birdBuddiesNotes": "Contains 'The Fowl Frost,' 'Rooster Rampage,' and 'The Push-and-Pull Peacock.'",
"birdBuddiesNotes": "Contains 'The Fowl Frost,' 'Rooster Rampage,' and 'The Push-and-Pull Peacock.' Available until <%= date %>.",
"questVelociraptorText": "The Veloci-Rapper",
"questVelociraptorNotes": "Youre sharing honey cakes with @*~Seraphina~*, @Procyon P, and @Lilith of Alfheim by a lake in the Stoïkalm Steppes. Suddenly, a mournful voice interrupts your picnic.<br><br><em>My Habits took a hit, I missed my Dailies,<br>Im losing it, sinking with doubt and maybes,<br>At the top of my game I used to be so fly,<br>But now I just let my Due Dates go by.</em><br><br>@*~Seraphina~* peers behind a stand of grass. “Its the Veloci-Rapper. It seems... distraught?”<br><br>You pump a fist in determination. “There's only one thing to do. Rap battle time!”",
@@ -742,7 +742,7 @@
"questVelociraptorUnlockText": "Unlocks Velociraptor Eggs for purchase in the Market",
"mythicalMarvelsText": "Mythical Marvels Quest Bundle",
"mythicalMarvelsNotes": "Contains 'Convincing the Unicorn Queen,' 'The Fiery Gryphon,' and 'Danger in the Depths: Sea Serpent Strike!'",
"mythicalMarvelsNotes": "Contains 'Convincing the Unicorn Queen,' 'The Fiery Gryphon,' and 'Danger in the Depths: Sea Serpent Strike!' Available until <%= date %>.",
"questBronzeText": "Brazen Beetle Battle",
"questBronzeNotes": "On a refreshing break between tasks, you and some friends take a stroll through the forest trails of the Taskwoods. You come upon a large hollow log and a sparkle from inside catches your attention.<br><br>Why, it's a cache of Magic Hatching Potions! The shimmering bronze liquid swirls gently in the bottles, and @Hachiseiko reaches to pick one up to examine it.<br><br>“Halt!” hisses a voice from behind you. It's a gigantic beetle with a carapace of gleaming bronze, raising her clawed feet in a fighting stance. “Those are my potions, and if you wish to earn them, you must prove yourself in a gentlefolks' duel!”",
@@ -777,10 +777,10 @@
"questRobotUnlockText": "Unlocks purchasable Robot Eggs in the Market",
"rockingReptilesText": "Rocking Reptiles Quest Bundle",
"rockingReptilesNotes": "Contains 'The Insta-Gator,' 'The Serpent of Distraction,' and 'The Veloci-Rapper.'",
"rockingReptilesNotes": "Contains 'The Insta-Gator,' 'The Serpent of Distraction,' and 'The Veloci-Rapper.' Available until <%= date %>.",
"delightfulDinosText": "Delightful Dinos Quest Bundle",
"delightfulDinosNotes": "Contains 'The Pterror-dactyl,' 'The Trampling Triceratops,' and 'The Dinosaur Unearthed.'",
"delightfulDinosNotes": "Contains 'The Pterror-dactyl,' 'The Trampling Triceratops,' and 'The Dinosaur Unearthed.' Available until <%= date %>.",
"questAmberText": "The Amber Alliance",
"questAmberNotes": "Youre sitting in the Tavern with @beffymaroo and @-Tyr- when @Vikte bursts through the door and excitedly tells you about the rumors of another type of Magic Hatching Potion hidden in the Taskwoods. Having completed your Dailies, the three of you immediately agree to help @Vikte on their search. After all, whats the harm in a little adventure?<br><br>After walking through the Taskwoods for hours, youre beginning to regret joining such a wild chase. Youre about to head home, when you hear a surprised yelp and turn to see a huge lizard with shiny amber scales coiled around a tree, clutching @Vikte in her claws. @beffymaroo reaches for her sword.<br><br>“Wait!” cries @-Tyr-. “Its the Trerezin! Shes not dangerous, just dangerously clingy!”",

View File

@@ -12,7 +12,7 @@ const bundles = {
featheredFriends: {
key: 'featheredFriends',
text: t('featheredFriendsText'),
notes: t('featheredFriendsNotes'),
notes: t('featheredFriendsNotes', { date: moment(EVENTS.bundle202309.end).format('LL') }),
bundleKeys: [
'falcon',
'harpy',
@@ -29,7 +29,7 @@ const bundles = {
splashyPals: {
key: 'splashyPals',
text: t('splashyPalsText'),
notes: t('splashyPalsNotes'),
notes: t('splashyPalsNotes', { date: moment(EVENTS.bundle202306.end).format('LL') }),
bundleKeys: [
'dilatory_derby',
'turtle',
@@ -46,7 +46,7 @@ const bundles = {
farmFriends: {
key: 'farmFriends',
text: t('farmFriendsText'),
notes: t('farmFriendsNotes'),
notes: t('farmFriendsNotes', { date: moment(EVENTS.bundle202209.end).format('LL') }),
bundleKeys: [
'cow',
'horse',
@@ -62,7 +62,7 @@ const bundles = {
witchyFamiliars: {
key: 'witchyFamiliars',
text: t('witchyFamiliarsText'),
notes: t('witchyFamiliarsNotes'),
notes: t('witchyFamiliarsNotes', { date: moment(EVENTS.bundle202210.end).format('LL') }),
bundleKeys: [
'rat',
'spider',
@@ -78,7 +78,7 @@ const bundles = {
winterQuests: {
key: 'winterQuests',
text: t('winterQuestsText'),
notes: t('winterQuestsNotes'),
notes: t('winterQuestsNotes', { date: moment(EVENTS.winter2023.end).format('LL') }),
addlNotes: t('evilSantaAddlNotes'),
bundleKeys: [
'evilsanta',
@@ -95,7 +95,7 @@ const bundles = {
hugabug: {
key: 'hugabug',
text: t('hugabugText'),
notes: t('hugabugNotes'),
notes: t('hugabugNotes', { date: moment(EVENTS.bundle202308.end).format('LL') }),
bundleKeys: [
'snail',
'beetle',
@@ -110,7 +110,7 @@ const bundles = {
cuddleBuddies: {
key: 'cuddleBuddies',
text: t('cuddleBuddiesText'),
notes: t('cuddleBuddiesNotes'),
notes: t('cuddleBuddiesNotes', { date: moment('2022-03-31').format('LL') }), // needs update next time we run this
bundleKeys: [
'bunny',
'ferret',
@@ -125,7 +125,7 @@ const bundles = {
aquaticAmigos: {
key: 'aquaticAmigos',
text: t('aquaticAmigosText'),
notes: t('aquaticAmigosNotes'),
notes: t('aquaticAmigosNotes', { date: moment(EVENTS.bundle202206.end).format('LL') }),
bundleKeys: [
'axolotl',
'kraken',
@@ -133,7 +133,7 @@ const bundles = {
],
event: EVENTS.bundle202206,
canBuy () {
return moment().isBefore(EVENTS.bundle202206.end);
return moment().isBetween(EVENTS.bundle202206.start, EVENTS.bundle202206.end);
},
type: 'quests',
value: 7,
@@ -141,7 +141,7 @@ const bundles = {
forestFriends: {
key: 'forestFriends',
text: t('forestFriendsText'),
notes: t('forestFriendsNotes'),
notes: t('forestFriendsNotes', { date: moment(EVENTS.bundle202208.end).format('LL') }),
bundleKeys: [
'ghost_stag',
'hedgehog',
@@ -157,7 +157,7 @@ const bundles = {
oddballs: {
key: 'oddballs',
text: t('oddballsText'),
notes: t('oddballsNotes'),
notes: t('oddballsNotes', { date: moment(EVENTS.bundle202311.end).format('LL') }),
bundleKeys: [
'slime',
'rock',
@@ -173,7 +173,7 @@ const bundles = {
birdBuddies: {
key: 'birdBuddies',
text: t('birdBuddiesText'),
notes: t('birdBuddiesNotes'),
notes: t('birdBuddiesNotes', { date: moment(EVENTS.bundle202305.end).format('LL') }),
bundleKeys: [
'peacock',
'penguin',
@@ -181,7 +181,7 @@ const bundles = {
],
event: EVENTS.bundle202305,
canBuy () {
return moment().isBefore(EVENTS.bundle202305.end);
return moment().isBetween(EVENTS.bundle202305.start, EVENTS.bundle202305.end);
},
type: 'quests',
value: 7,
@@ -189,7 +189,7 @@ const bundles = {
mythicalMarvels: {
key: 'mythicalMarvels',
text: t('mythicalMarvelsText'),
notes: t('mythicalMarvelsNotes'),
notes: t('mythicalMarvelsNotes', { date: moment(EVENTS.bundle202302.end).format('LL') }),
bundleKeys: [
'unicorn',
'seaserpent',
@@ -205,7 +205,7 @@ const bundles = {
rockingReptiles: {
key: 'rockingReptiles',
text: t('rockingReptilesText'),
notes: t('rockingReptilesNotes'),
notes: t('rockingReptilesNotes', { date: moment(EVENTS.bundle202211.end).format('LL') }),
bundleKeys: [
'alligator',
'snake',
@@ -221,7 +221,7 @@ const bundles = {
delightfulDinos: {
key: 'delightfulDinos',
text: t('delightfulDinosText'),
notes: t('delightfulDinosNotes'),
notes: t('delightfulDinosNotes', { date: moment('2022-05-31').format('LL') }), // needs update next time its run
bundleKeys: [
'pterodactyl',
'triceratops',
@@ -236,7 +236,7 @@ const bundles = {
jungleBuddies: {
key: 'jungleBuddies',
text: t('jungleBuddiesText'),
notes: t('jungleBuddiesNotes', { date: moment('2023-03-31').format('LL') }),
notes: t('jungleBuddiesNotes', { date: moment(EVENTS.bundle202303.end).format('LL') }),
bundleKeys: [
'monkey',
'sloth',
@@ -252,7 +252,7 @@ const bundles = {
sandySidekicks: {
key: 'sandySidekicks',
text: t('sandySidekicksText'),
notes: t('sandySidekicksNotes', { date: moment('2023-10-31').format('LL') }),
notes: t('sandySidekicksNotes', { date: moment(EVENTS.bundle202310.end).format('LL') }),
bundleKeys: [
'armadillo',
'snake',