From deacd8964fc8cd4b6ddd1c71cc9cebd98d59d188 Mon Sep 17 00:00:00 2001 From: CuriousMagpie Date: Fri, 18 Mar 2022 14:06:37 -0400 Subject: [PATCH 1/2] uploaded spring fling class set images --- habitica-images | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/habitica-images b/habitica-images index 09672b551b..30c7e4a39d 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit 09672b551b40af29c89f293577fa969bd13e0a5a +Subproject commit 30c7e4a39dee61ac8e9eb127dcc1f8d4af6b2313 From c94195129f170609de742280e48a0a0ae3ea829d Mon Sep 17 00:00:00 2001 From: CuriousMagpie Date: Fri, 18 Mar 2022 17:24:05 -0400 Subject: [PATCH 2/2] 2022 Spring Fling Content --- habitica-images | 2 +- website/common/locales/en/gear.json | 32 ++++++++++ website/common/locales/en/limited.json | 4 ++ .../common/script/content/constants/events.js | 11 +++- .../script/content/constants/seasonalSets.js | 7 +++ .../script/content/gear/sets/special/index.js | 61 +++++++++++++++++++ .../script/content/shop-featuredItems.js | 2 +- .../script/libs/shops-seasonal.config.js | 12 ++-- 8 files changed, 121 insertions(+), 10 deletions(-) diff --git a/habitica-images b/habitica-images index 30c7e4a39d..582f729e97 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit 30c7e4a39dee61ac8e9eb127dcc1f8d4af6b2313 +Subproject commit 582f729e97ea420953ee2740be9467253fd07c30 diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index a736cd6b83..068aa1b217 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -428,6 +428,15 @@ "headSpecialNye2021Text": "Preposterous Party Hat", "headSpecialNye2021Notes": "You've received a Preposterous Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.", + "weaponSpecialSpring2022RogueText": "Giant Earring Stud", + "weaponSpecialSpring2022RogueNotes": "A shiny! It’s so shiny and gleaming and pretty and nice and all yours! Increases Strength by <%= str %>. Limited Edition 2022 Spring Gear.", + "weaponSpecialSpring2022WarriorText": "Inside-Out Umbrella", + "weaponSpecialSpring2022WarriorNotes": "Yikes! Guess that wind was a little stronger than you thought, huh? Increases Strength by <%= str %>, Limited Edition 2022 Spring Gear.", + "weaponSpecialSpring2022MageText": "Forsythia Staff", + "weaponSpecialSpring2022MageNotes": "These bright yellow bells are ready to channel your powerful springtime magic. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2022 Spring Gear.", + "weaponSpecialSpring2022HealerText": "Peridot Wand", + "weaponSpecialSpring2022HealerNotes": "Use this wand to tap into peridot’s healing properties, whether it be to bring calm, positivity, or kindheartedness. Increases Intelligence by <%= int %>. Limited Edition 2022 Spring Gear.", + "weaponMystery201411Text": "Pitchfork of Feasting", "weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.", "weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth", @@ -1026,6 +1035,15 @@ "armorSpecialWinter2022HealerText": "Crystalline Ice Armor", "armorSpecialWinter2022HealerNotes": "Glide as if skating, just above the ground, a glittering ethereal figure come to bring cool and calm. Increases Constitution by <%= con %>. Limited Edition 2021-2022 Winter Gear.", + "armorSpecialSpring2022RogueText": "Magpie Costume", + "armorSpecialSpring2022RogueNotes": "With iridescent metallic blue-gray and lighter patches on your feathers, you will be the finest flying friend at the spring fling! Increases Perception by <%= per %>. Limited Edition 2022 Spring Gear.", + "armorSpecialSpring2022WarriorText": "Rain Slicker", + "armorSpecialSpring2022WarriorNotes": "This slicker and boots are so formidable you could sing in the rain or jump in every puddle but still be warm and dry! Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.", + "armorSpecialSpring2022MageText": "Forsythia Robe", + "armorSpecialSpring2022MageNotes": "Show you’re ready to spring forward into the season with this robe adorned with forsythia flower petals. Intelligence by <%= int %>.Limited Edition 2022 Spring Gear.", + "armorSpecialSpring2022HealerText": "Peridot Armor", + "armorSpecialSpring2022HealerNotes": " Drive away fears and nightmares simply by wearing this green gem garment. Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.", + "armorMystery201402Text": "Messenger Robes", "armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.", "armorMystery201403Text": "Forest Walker Armor", @@ -1708,6 +1726,15 @@ "headSpecialWinter2022HealerText": "Crystalline Ice Crown", "headSpecialWinter2022HealerNotes": "Minute imperfections and impurities send the arms of this headdress branching out in unpredictable directions. It's symbolic! And also very, very pretty. Increases Intelligence by <%= int %>. Limited Edition 2021-2022 Winter Gear.", + "headSpecialSpring2022RogueText": "Magpie Mask", + "headSpecialSpring2022RogueNotes": "Be as clever as a magpie when wearing this mask. Maybe you’ll even be able to whistle, trill, and mimic as well as one, too. Increases Perception by <%= per %>. Limited Edition 2022 Spring Gear.", + "headSpecialSpring2022WarriorText": "Rain Slicker Hood", + "headSpecialSpring2022WarriorNotes": "Tut tut, it looks like rain! Stand tall and pull up your hood to stay dry. Increases Strength by <%= str %>. Limited Edition 2022 Spring Gear.", + "headSpecialSpring2022MageText": "Forsythia Helmet", + "headSpecialSpring2022MageNotes": "Stay dry during a rainstorm with this protective helmet of downturned petals.Increases Perception by <%= per %>. Limited Edition 2022 Spring Gear.", + "headSpecialSpring2022HealerText": "Peridot Helmet", + "headSpecialSpring2022HealerNotes": "This mysterious helmet preserves your privacy as you tackle your tasks. Increases Intelligence by <%= int %>. Limited Edition 2022 Spring Gear.", + "headSpecialGaymerxText": "Rainbow Warrior Helm", "headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.", @@ -2237,6 +2264,11 @@ "shieldSpecialWinter2022HealerText": "Enduring Ice Crystal", "shieldSpecialWinter2022HealerNotes": "Though it melts in your hand, the power of elemental ice replenishes it from within. Increases Constitution by <%= con %>. Limited Edition 2021-2022 Winter Gear.", + "shieldSpecialSpring2022WarriorText": "Raincloud", + "shieldSpecialSpring2022WarriorNotes": "Ever had one of those days when it seems like a raincloud is following you around? Well, consider yourself lucky, because the prettiest flowers will soon be growing at your feet! Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.", + "shieldSpecialSpring2022HealerText": "Peridot Shield", + "shieldSpecialSpring2022HealerNotes": "Formed by molten rock of the upper mantle, this shield can withstand any hit that comes its way. Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.", + "shieldMystery201601Text": "Resolution Slayer", "shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.", "shieldMystery201701Text": "Time-Freezer Shield", diff --git a/website/common/locales/en/limited.json b/website/common/locales/en/limited.json index addb64411f..2992083589 100644 --- a/website/common/locales/en/limited.json +++ b/website/common/locales/en/limited.json @@ -179,6 +179,10 @@ "winter2022StockingWarriorSet": "Stocking (Warrior)", "winter2022PomegranateMageSet": "Pomegranate (Mage)", "winter2022IceCrystalHealerSet": "Ice Crystal (Healer)", + "spring2022MagpieRogueSet": "Magpie (Rogue)", + "spring2022RainstormWarriorSet": "Rainstorm (Warrior)", + "spring2022ForsythiaMageSet": "Forsythia (Mage)", + "spring2022PeridotHealerSet": "Peridot (Healer)", "eventAvailability": "Available for purchase until <%= date(locale) %>.", "eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.", "dateEndMarch": "April 30", diff --git a/website/common/script/content/constants/events.js b/website/common/script/content/constants/events.js index 2e5d776583..a3e1f4040a 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -10,11 +10,18 @@ const gemsPromo = { export const EVENTS = { noCurrentEvent: { - start: '2022-02-18T20:00-05:00', - end: '2022-03-31T20:00-05:00', + start: '2022-05-01T20:00-05:00', + end: '2022-06-30T20:00-05:00', season: 'normal', npcImageSuffix: '', }, + spring2022: { + start: '2022-03-22T08:00-05:00', + end: '2022-04-30T20:00-05:00', + npcImageSuffix: 'spring', + season: 'spring', + gear: true, + }, valentines2022: { start: '2022-02-14T08:00-05:00', end: '2022-02-18T20:00-05:00', diff --git a/website/common/script/content/constants/seasonalSets.js b/website/common/script/content/constants/seasonalSets.js index 383e555b7c..f1f117cf7e 100644 --- a/website/common/script/content/constants/seasonalSets.js +++ b/website/common/script/content/constants/seasonalSets.js @@ -96,7 +96,14 @@ const SEASONAL_SETS = { 'spring2021WillowHealerSet', 'spring2021SunstoneWarriorSet', 'spring2021TwinFlowerRogueSet', + + // spring 2022 + 'spring2022ForsythiaMageSet', + 'spring2022PeridotHealerSet', + 'spring2022RainstormWarriorSet', + 'spring2022MagpieRogueSet', ], + summer: [ // summer 2014 'daringSwashbucklerSet', diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js index 3427057675..9bb8c79654 100644 --- a/website/common/script/content/gear/sets/special/index.js +++ b/website/common/script/content/gear/sets/special/index.js @@ -670,15 +670,19 @@ const armor = { }, spring2021Rogue: { set: 'spring2021TwinFlowerRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Warrior: { set: 'spring2021SunstoneWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Mage: { set: 'spring2021SwanMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Healer: { set: 'spring2021WillowHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, summer2021Rogue: { set: 'summer2021ClownfishRogueSet', @@ -716,6 +720,19 @@ const armor = { winter2022Healer: { set: 'winter2022IceCrystalHealerSet', }, + spring2022Rogue: { + set: 'spring2022MagpieRogueSet', + }, + spring2022Warrior: { + set: 'spring2022RainstormWarriorSet', + }, + spring2022Mage: { + set: 'spring2022ForsythiaMageSet', + }, + spring2022Healer: { + set: 'spring2022PeridotHealerSet', + }, + birthday2022: { text: t('armorSpecialBirthday2022Text'), notes: t('armorSpecialBirthday2022Notes'), @@ -1728,15 +1745,19 @@ const head = { }, spring2021Rogue: { set: 'spring2021TwinFlowerRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Warrior: { set: 'spring2021SunstoneWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Mage: { set: 'spring2021SwanMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Healer: { set: 'spring2021WillowHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, summer2021Rogue: { set: 'summer2021ClownfishRogueSet', @@ -1780,6 +1801,18 @@ const head = { value: 0, canOwn: ownsItem('head_special_nye2021'), }, + spring2022Rogue: { + set: 'spring2022MagpieRogueSet', + }, + spring2022Warrior: { + set: 'spring2022RainstormWarriorSet', + }, + spring2022Mage: { + set: 'spring2022ForsythiaMageSet', + }, + spring2022Healer: { + set: 'spring2022PeridotHealerSet', + }, }; const headStats = { @@ -2504,12 +2537,15 @@ const shield = { }, spring2021Rogue: { set: 'spring2021TwinFlowerRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Warrior: { set: 'spring2021SunstoneWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Healer: { set: 'spring2021WillowHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, summer2021Rogue: { set: 'summer2021ClownfishRogueSet', @@ -2538,6 +2574,15 @@ const shield = { winter2022Healer: { set: 'winter2022IceCrystalHealerSet', }, + spring2022Rogue: { + set: 'spring2022MagpieRogueSet', + }, + spring2022Warrior: { + set: 'spring2022RainstormWarriorSet', + }, + spring2022Healer: { + set: 'spring2022PeridotHealerSet', + }, }; const shieldStats = { @@ -3168,15 +3213,19 @@ const weapon = { }, spring2021Rogue: { set: 'spring2021TwinFlowerRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Warrior: { set: 'spring2021SunstoneWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Mage: { set: 'spring2021SwanMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2021Healer: { set: 'spring2021WillowHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, summer2021Rogue: { set: 'summer2021ClownfishRogueSet', @@ -3214,6 +3263,18 @@ const weapon = { winter2022Healer: { set: 'winter2022IceCrystalHealerSet', }, + spring2022Rogue: { + set: 'spring2022MagpieRogueSet', + }, + spring2022Warrior: { + set: 'spring2022RainstormWarriorSet', + }, + spring2022Mage: { + set: 'spring2022ForsythiaMageSet', + }, + spring2022Healer: { + set: 'spring2022PeridotHealerSet', + }, }; const weaponStats = { diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 7a31af2f30..2e593caac8 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -75,7 +75,7 @@ const featuredItems = { }, ]; }, - seasonal: 'winter2021Warrior', + seasonal: 'spring2021Healer', timeTravelers: [ // TODO ], diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js index d52410158e..02b589f4a1 100644 --- a/website/common/script/libs/shops-seasonal.config.js +++ b/website/common/script/libs/shops-seasonal.config.js @@ -15,7 +15,7 @@ const SHOP_OPEN = CURRENT_EVENT && ['winter', 'spring', 'summer', 'fall'].includ export default { opened: SHOP_OPEN, - currentSeason: SHOP_OPEN ? upperFirst(CURRENT_EVENT.season) : 'Closed', + currentSeason: SHOP_OPEN ? upperFirst(CURRENT_EVENT.season) : 'Spring', dateRange: { start: CURRENT_EVENT ? moment(CURRENT_EVENT.start) : moment().subtract(1, 'days').toDate(), @@ -30,10 +30,10 @@ export default { pinnedSets: SHOP_OPEN ? { - healer: 'winter2022IceCrystalHealerSet', - rogue: 'winter2022FireworksRogueSet', - warrior: 'winter2022StockingWarriorSet', - wizard: 'winter2022PomegranateMageSet', + healer: 'spring2022PeridotHealerSet', + rogue: 'spring2022MagpieRogueSet', + warrior: 'spring2022RainstormWarriorSet', + wizard: 'spring2022ForsythiaMageSet', } : {}, @@ -45,5 +45,5 @@ export default { availableQuests: [], - featuredSet: 'winter2021ArcticExplorerHealerSet', + featuredSet: 'spring2022PeridotHealerSet', };