From 0933fe48ba9aaeb04cbafc72eb47502d97c03263 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Tue, 21 Sep 2021 16:16:52 -0500 Subject: [PATCH] feat(content): Fall Festival 2021 --- website/common/locales/en/gear.json | 32 ++++ website/common/locales/en/limited.json | 4 + .../common/script/content/constants/events.js | 15 +- .../script/content/constants/seasonalSets.js | 10 +- .../script/content/gear/sets/special/index.js | 154 +++++++++++++++++- .../common/script/content/hatching-potions.js | 25 ++- .../script/content/shop-featuredItems.js | 20 +-- .../script/libs/shops-seasonal.config.js | 12 +- .../broad_armor_special_fall2021Healer.png | Bin 0 -> 635 bytes .../fall/broad_armor_special_fall2021Mage.png | Bin 0 -> 1180 bytes .../broad_armor_special_fall2021Rogue.png | Bin 0 -> 760 bytes .../broad_armor_special_fall2021Warrior.png | Bin 0 -> 533 bytes .../fall/head_special_fall2021Healer.png | Bin 0 -> 1037 bytes .../events/fall/head_special_fall2021Mage.png | Bin 0 -> 1115 bytes .../fall/head_special_fall2021Rogue.png | Bin 0 -> 2127 bytes .../fall/head_special_fall2021Warrior.png | Bin 0 -> 638 bytes .../fall/shield_special_fall2021Healer.png | Bin 0 -> 681 bytes .../fall/shield_special_fall2021Rogue.png | Bin 0 -> 472 bytes .../fall/shield_special_fall2021Warrior.png | Bin 0 -> 586 bytes .../shop_armor_special_fall2021Healer.png | Bin 0 -> 523 bytes .../shop/shop_armor_special_fall2021Mage.png | Bin 0 -> 662 bytes .../shop/shop_armor_special_fall2021Rogue.png | Bin 0 -> 592 bytes .../shop_armor_special_fall2021Warrior.png | Bin 0 -> 488 bytes .../shop/shop_head_special_fall2021Healer.png | Bin 0 -> 849 bytes .../shop/shop_head_special_fall2021Mage.png | Bin 0 -> 677 bytes .../shop/shop_head_special_fall2021Rogue.png | Bin 0 -> 1778 bytes .../shop_head_special_fall2021Warrior.png | Bin 0 -> 570 bytes .../shop_shield_special_fall2021Healer.png | Bin 0 -> 575 bytes .../shop_shield_special_fall2021Rogue.png | Bin 0 -> 360 bytes .../shop_shield_special_fall2021Warrior.png | Bin 0 -> 531 bytes .../shop_weapon_special_fall2021Healer.png | Bin 0 -> 558 bytes .../shop/shop_weapon_special_fall2021Mage.png | Bin 0 -> 697 bytes .../shop_weapon_special_fall2021Rogue.png | Bin 0 -> 370 bytes .../shop_weapon_special_fall2021Warrior.png | Bin 0 -> 417 bytes .../slim_armor_special_fall2021Healer.png | Bin 0 -> 579 bytes .../fall/slim_armor_special_fall2021Mage.png | Bin 0 -> 1180 bytes .../fall/slim_armor_special_fall2021Rogue.png | Bin 0 -> 723 bytes .../slim_armor_special_fall2021Warrior.png | Bin 0 -> 521 bytes .../fall/weapon_special_fall2021Healer.png | Bin 0 -> 693 bytes .../fall/weapon_special_fall2021Mage.png | Bin 0 -> 1225 bytes .../fall/weapon_special_fall2021Rogue.png | Bin 0 -> 483 bytes .../fall/weapon_special_fall2021Warrior.png | Bin 0 -> 460 bytes 42 files changed, 239 insertions(+), 33 deletions(-) create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2021Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2021Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2021Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2021Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2021Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2021Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2021Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2021Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2021Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Warrior.png diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 08d7217c52..bb52ef5629 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -407,6 +407,15 @@ "weaponSpecialSummer2021HealerText": "Staff of Corn", "weaponSpecialSummer2021HealerNotes": "Not to get corny, but this staff is a lifesaver. Increases Intelligence by <%= int %>. Limited Edition 2021 Summer Gear.", + "weaponSpecialFall2021RogueText": "Dripping Goo", + "weaponSpecialFall2021RogueNotes": "What on Earth did you get into? When people say Rogues have sticky fingers, this is not what they mean! Increases Strength by <%= str %>. Limited Edition 2021 Autumn Gear.", + "weaponSpecialFall2021WarriorText": "Horse Rider's Axe", + "weaponSpecialFall2021WarriorNotes": "This stylized, single-bladed axe is ideal for chopping... pumpkins! Increases Strength by <%= str %>. Limited Edition 2021 Autumn Gear.", + "weaponSpecialFall2021MageText": "Staff of Pure Thought", + "weaponSpecialFall2021MageNotes": "Knowledge seeks knowledge. Formed of memories and desires, this fearsome hand grasps for more. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2021 Autumn Gear.", + "weaponSpecialFall2021HealerText": "Summoning Wand", + "weaponSpecialFall2021HealerNotes": "Use this wand to summon healing flames and a ghostly creature to help you. Increases Intelligence by <%= int %>. Limited Edition 2021 Autumn 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", @@ -952,6 +961,15 @@ "armorSpecialSummer2021HealerText": "Parrot Plumage", "armorSpecialSummer2021HealerNotes": "Your enemies might suspect you're a featherweight, but this armor will keep you safe while you help your Party. Increases Constitution by <%= con %>. Limited Edition 2021 Summer Gear.", + "armorSpecialFall2021RogueText": "Unfortunately Not Slimeproof Armor", + "armorSpecialFall2021RogueNotes": "It's got a skullcap, leather tunic, and metal rivets! It's great! But it does not provide a hermetic seal against goop! Increases Perception by <%= per %>. Limited Edition 2021 Autumn Gear.", + "armorSpecialFall2021WarriorText": "Formal Wool Suit", + "armorSpecialFall2021WarriorNotes": "A stunning suit that’s perfect to wear when crossing bridges in the dead of night. Increases Constitution by <%= con %>. Limited Edition 2021 Autumn Gear.", + "armorSpecialFall2021MageText": "Gown of the Darkness Beneath", + "armorSpecialFall2021MageNotes": "Collars with many pointy protrusions are the high fashion of low villains. Increases Intelligence by <%= int %>. Limited Edition 2021 Autumn Gear.", + "armorSpecialFall2021HealerText": "Summoner's Robes", + "armorSpecialFall2021HealerNotes": "Made of durable, flame-resistant fabric, these robes are perfect to wear when conjuring healing flames. Increases Constitution by <%= con %>. Limited Edition 2021 Autumn 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", @@ -1606,6 +1624,15 @@ "headSpecialSummer2021HealerText": "Parrot Mask", "headSpecialSummer2021HealerNotes": "Borrow the plumage of a parrot to help you in your daily battles! Increases Intelligence by <%= int %>. Limited Edition 2021 Summer Gear.", + "headSpecialFall2021RogueText": "You Have Been Engulfed", + "headSpecialFall2021RogueNotes": "Welp, you're stuck. Now you are doomed to roam dungeon corridors, collecting debris. DOOOOMED! Increases Perception by <%= per %>. Limited Edition 2021 Autumn Gear.", + "headSpecialFall2021WarriorText": "Headless Cravat", + "headSpecialFall2021WarriorNotes": "Lose your head over this formal collar and tie that complete your suit. Increases Strength by <%= str %>. Limited Edition 2021 Autumn Gear.", + "headSpecialFall2021MageText": "Brain Eater Mask", + "headSpecialFall2021MageNotes": "The tentacles surrounding the mouth grab prey and hold its delicious thoughts close for you to savor. Increases Perception by <%= per %>. Limited Edition 2021 Autumn Gear.", + "headSpecialFall2021HealerText": "Summoner's Mask", + "headSpecialFall2021HealerNotes": "Your own magic turns your hair into shocking, bright flames when you don this mask. Increases Intelligence by <%= int %>. Limited Edition 2021 Autumn 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.", @@ -2111,6 +2138,11 @@ "shieldSpecialSummer2021HealerText": "Sunflower Seed Shield", "shieldSpecialSummer2021HealerNotes": "So much potential in this shield! But for now you can use it to protect your friends. Increases Constitution by <%= con %>. Limited Edition 2021 Summer Gear.", + "shieldSpecialFall2021WarriorText": "Jack-o-Lantern Shield", + "shieldSpecialFall2021WarriorNotes": "This festive shield with its crooked smile will both protect you and light your way on a dark night. It nicely doubles for a head, should you need one! Increases Constitution by <%= con %>. Limited Edition 2021 Autumn Gear.", + "shieldSpecialFall2021HealerText": "Summoned Creature", + "shieldSpecialFall2021HealerNotes": "An ethereal being rises from your magical flames to grant you extra protection. Increases Constitution by <%= con %>. Limited Edition 2021 Autumn 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 3e8920b92b..5e78c7f093 100644 --- a/website/common/locales/en/limited.json +++ b/website/common/locales/en/limited.json @@ -171,6 +171,10 @@ "summer2021NautilusMageSet": "Nautilus (Mage)", "summer2021ParrotHealerSet": "Parrot (Healer)", "summer2021ClownfishRogueSet": "Clownfish (Rogue)", + "fall2021OozeRogueSet": "Ooze (Rogue)", + "fall2021HeadlessWarriorSet": "Headless (Warrior)", + "fall2021BrainEaterMageSet": "Brain Eater (Mage)", + "fall2021FlameSummonerHealerSet": "Flame Summoner (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 fcffd6563b..a21d0ea7e8 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -9,11 +9,22 @@ const gemsPromo = { }; export const EVENTS = { + noCurrentEvent: { + start: '2021-10-31T20:00-04:00', + end: '2021-12-31T20:00-04:00', + season: 'normal', + npcImageSuffix: '', + }, + fall2021: { + start: '2021-09-21T08:00-04:00', + end: '2021-10-31T20:00-04:00', + npcImageSuffix: 'fall', + season: 'fall', + gear: true, + }, bundle202109: { start: '2021-09-13T08:00-04:00', end: '2021-09-30T20:00-04:00', - season: 'normal', - npcImageSuffix: '', }, potions202108: { start: '2021-08-17T08:00-04:00', diff --git a/website/common/script/content/constants/seasonalSets.js b/website/common/script/content/constants/seasonalSets.js index 1edb8123dd..e5fee43130 100644 --- a/website/common/script/content/constants/seasonalSets.js +++ b/website/common/script/content/constants/seasonalSets.js @@ -153,35 +153,35 @@ const SEASONAL_SETS = { 'stitchWitchSet', 'potionerSet', - // fall 2016 'fall2016BlackWidowSet', 'fall2016SwampThingSet', 'fall2016WickedSorcererSet', 'fall2016GorgonHealerSet', - // fall 2017 'fall2017TrickOrTreatSet', 'fall2017HabitoweenSet', 'fall2017MasqueradeSet', 'fall2017HauntedHouseSet', - // fall 2018 'fall2018MinotaurWarriorSet', 'fall2018CandymancerMageSet', 'fall2018CarnivorousPlantSet', 'fall2018AlterEgoSet', - // fall 2019 'fall2019CyclopsSet', 'fall2019LichSet', 'fall2019OperaticSpecterSet', 'fall2019RavenSet', - // fall 2020 'fall2020TwoHeadedRogueSet', 'fall2020WraithWarriorSet', 'fall2020ThirdEyeMageSet', 'fall2020DeathsHeadMothHealerSet', + + 'fall2021OozeRogueSet', + 'fall2021HeadlessWarriorSet', + 'fall2021BrainEaterMageSet', + 'fall2021FlameSummonerHealerSet', ], }; diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js index 21ea7bd3ab..d54596890d 100644 --- a/website/common/script/content/gear/sets/special/index.js +++ b/website/common/script/content/gear/sets/special/index.js @@ -205,18 +205,22 @@ const armor = { }, fallRogue: { set: 'vampireSmiterSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallWarrior: { set: 'monsterOfScienceSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallMage: { set: 'witchyWizardSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallHealer: { set: 'mummyMedicSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2015Rogue: { @@ -283,18 +287,22 @@ const armor = { }, fall2015Rogue: { set: 'battleRogueSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Warrior: { set: 'scarecrowWarriorSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Mage: { set: 'stitchWitchSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Healer: { set: 'potionerSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, gaymerx: { @@ -367,18 +375,22 @@ const armor = { }, fall2016Rogue: { set: 'fall2016BlackWidowSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Warrior: { set: 'fall2016SwampThingSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Mage: { set: 'fall2016WickedSorcererSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Healer: { set: 'fall2016GorgonHealerSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2017Rogue: { @@ -445,18 +457,22 @@ const armor = { }, fall2017Rogue: { set: 'fall2017TrickOrTreatSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Warrior: { set: 'fall2017HabitoweenSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Mage: { set: 'fall2017MasqueradeSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Healer: { set: 'fall2017HauntedHouseSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2018Rogue: { @@ -523,18 +539,22 @@ const armor = { }, fall2018Rogue: { set: 'fall2018AlterEgoSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Warrior: { set: 'fall2018MinotaurWarriorSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Mage: { set: 'fall2018CandymancerMageSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Healer: { set: 'fall2018CarnivorousPlantSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, turkeyArmorGilded: { @@ -692,15 +712,23 @@ const armor = { }, fall2020Rogue: { set: 'fall2020TwoHeadedRogueSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Warrior: { set: 'fall2020WraithWarriorSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Mage: { set: 'fall2020ThirdEyeMageSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Healer: { set: 'fall2020DeathsHeadMothHealerSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2021Rogue: { set: 'winter2021HollyIvyRogueSet', @@ -744,6 +772,18 @@ const armor = { summer2021Healer: { set: 'summer2021ParrotHealerSet', }, + fall2021Rogue: { + set: 'fall2021OozeRogueSet', + }, + fall2021Warrior: { + set: 'fall2021HeadlessWarriorSet', + }, + fall2021Mage: { + set: 'fall2021BrainEaterMageSet', + }, + fall2021Healer: { + set: 'fall2021FlameSummonerHealerSet', + }, }; const armorStats = { @@ -1070,7 +1110,7 @@ const eyewear = { canOwn: ownsItem('eyewear_special_yellowHalfMoon'), }, fall2019Rogue: { - event: EVENTS.fall2019, + event: EVENTS.fall2021, specialClass: 'rogue', set: 'fall2019OperaticSpecterSet', text: t('eyewearSpecialFall2019RogueText'), @@ -1079,7 +1119,7 @@ const eyewear = { canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2019Healer: { - event: EVENTS.fall2019, + event: EVENTS.fall2021, specialClass: 'healer', set: 'fall2019LichSet', text: t('eyewearSpecialFall2019HealerText'), @@ -1280,18 +1320,22 @@ const head = { }, fallRogue: { set: 'vampireSmiterSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallWarrior: { set: 'monsterOfScienceSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallMage: { set: 'witchyWizardSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallHealer: { set: 'mummyMedicSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2015Rogue: { @@ -1358,18 +1402,22 @@ const head = { }, fall2015Rogue: { set: 'battleRogueSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Warrior: { set: 'scarecrowWarriorSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Mage: { set: 'stitchWitchSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Healer: { set: 'potionerSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, gaymerx: { @@ -1442,18 +1490,22 @@ const head = { }, fall2016Rogue: { set: 'fall2016BlackWidowSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Warrior: { set: 'fall2016SwampThingSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Mage: { set: 'fall2016WickedSorcererSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Healer: { set: 'fall2016GorgonHealerSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2017Rogue: { @@ -1526,18 +1578,22 @@ const head = { }, fall2017Rogue: { set: 'fall2017TrickOrTreatSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Warrior: { set: 'fall2017HabitoweenSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Mage: { set: 'fall2017MasqueradeSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Healer: { set: 'fall2017HauntedHouseSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, nye2017: { @@ -1604,18 +1660,22 @@ const head = { }, fall2018Rogue: { set: 'fall2018AlterEgoSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Warrior: { set: 'fall2018MinotaurWarriorSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Mage: { set: 'fall2018CandymancerMageSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Healer: { set: 'fall2018CarnivorousPlantSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, turkeyHelmGilded: { @@ -1779,15 +1839,23 @@ const head = { }, fall2020Rogue: { set: 'fall2020TwoHeadedRogueSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Warrior: { set: 'fall2020WraithWarriorSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Mage: { set: 'fall2020ThirdEyeMageSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Healer: { set: 'fall2020DeathsHeadMothHealerSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2021Rogue: { set: 'winter2021HollyIvyRogueSet', @@ -1831,6 +1899,18 @@ const head = { summer2021Healer: { set: 'summer2021ParrotHealerSet', }, + fall2021Rogue: { + set: 'fall2021OozeRogueSet', + }, + fall2021Warrior: { + set: 'fall2021HeadlessWarriorSet', + }, + fall2021Mage: { + set: 'fall2021BrainEaterMageSet', + }, + fall2021Healer: { + set: 'fall2021FlameSummonerHealerSet', + }, }; const headStats = { @@ -2238,14 +2318,17 @@ const shield = { }, fallRogue: { set: 'vampireSmiterSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallWarrior: { set: 'monsterOfScienceSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallHealer: { set: 'mummyMedicSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2015Rogue: { @@ -2292,14 +2375,17 @@ const shield = { }, fall2015Rogue: { set: 'battleRogueSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Warrior: { set: 'scarecrowWarriorSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Healer: { set: 'potionerSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2016Rogue: { @@ -2346,14 +2432,17 @@ const shield = { }, fall2016Rogue: { set: 'fall2016BlackWidowSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Warrior: { set: 'fall2016SwampThingSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Healer: { set: 'fall2016GorgonHealerSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2017Rogue: { @@ -2400,14 +2489,17 @@ const shield = { }, fall2017Rogue: { set: 'fall2017TrickOrTreatSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Warrior: { set: 'fall2017HabitoweenSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Healer: { set: 'fall2017HauntedHouseSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2018Rogue: { @@ -2456,14 +2548,17 @@ const shield = { set: 'fall2018AlterEgoSet', text: t('shieldSpecialFall2018RogueText'), notes: t('shieldSpecialFall2018RogueNotes', { str: 8 }), + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Warrior: { set: 'fall2018MinotaurWarriorSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Healer: { set: 'fall2018CarnivorousPlantSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2019Rogue: { @@ -2589,12 +2684,18 @@ const shield = { set: 'fall2020TwoHeadedRogueSet', text: t('shieldSpecialFall2020RogueText'), notes: t('shieldSpecialFall2020RogueNotes', { str: 8 }), + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Warrior: { set: 'fall2020WraithWarriorSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Healer: { set: 'fall2020DeathsHeadMothHealerSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2021Rogue: { set: 'winter2021HollyIvyRogueSet', @@ -2623,6 +2724,15 @@ const shield = { summer2021Healer: { set: 'summer2021ParrotHealerSet', }, + fall2021Rogue: { + set: 'fall2021OozeRogueSet', + }, + fall2021Warrior: { + set: 'fall2021HeadlessWarriorSet', + }, + fall2021Healer: { + set: 'fall2021FlameSummonerHealerSet', + }, }; const shieldStats = { @@ -2832,18 +2942,22 @@ const weapon = { }, fallRogue: { set: 'vampireSmiterSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallWarrior: { set: 'monsterOfScienceSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallMage: { set: 'witchyWizardSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fallHealer: { set: 'mummyMedicSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2015Rogue: { @@ -2904,18 +3018,22 @@ const weapon = { }, fall2015Rogue: { set: 'battleRogueSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Warrior: { set: 'scarecrowWarriorSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Mage: { set: 'stitchWitchSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2015Healer: { set: 'potionerSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2016Rogue: { @@ -2976,18 +3094,22 @@ const weapon = { }, fall2016Rogue: { set: 'fall2016BlackWidowSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Warrior: { set: 'fall2016SwampThingSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Mage: { set: 'fall2016WickedSorcererSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2016Healer: { set: 'fall2016GorgonHealerSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2017Rogue: { @@ -3048,18 +3170,22 @@ const weapon = { }, fall2017Rogue: { set: 'fall2017TrickOrTreatSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Warrior: { set: 'fall2017HabitoweenSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Mage: { set: 'fall2017MasqueradeSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2017Healer: { set: 'fall2017HauntedHouseSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2018Rogue: { @@ -3120,18 +3246,22 @@ const weapon = { }, fall2018Rogue: { set: 'fall2018AlterEgoSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Warrior: { set: 'fall2018MinotaurWarriorSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Mage: { set: 'fall2018CandymancerMageSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2018Healer: { set: 'fall2018CarnivorousPlantSet', + event: EVENTS.fall2021, canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2019Rogue: { @@ -3278,15 +3408,23 @@ const weapon = { }, fall2020Rogue: { set: 'fall2020TwoHeadedRogueSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Warrior: { set: 'fall2020WraithWarriorSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Mage: { set: 'fall2020ThirdEyeMageSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, fall2020Healer: { set: 'fall2020DeathsHeadMothHealerSet', + event: EVENTS.fall2021, + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall', }, winter2021Rogue: { set: 'winter2021HollyIvyRogueSet', @@ -3324,6 +3462,18 @@ const weapon = { summer2021Healer: { set: 'summer2021ParrotHealerSet', }, + fall2021Rogue: { + set: 'fall2021OozeRogueSet', + }, + fall2021Warrior: { + set: 'fall2021HeadlessWarriorSet', + }, + fall2021Mage: { + set: 'fall2021BrainEaterMageSet', + }, + fall2021Healer: { + set: 'fall2021FlameSummonerHealerSet', + }, }; const weaponStats = { diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index 89acf639ad..4bd12d2935 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -150,10 +150,14 @@ const premium = { value: 2, text: t('hatchingPotionSpooky'), limited: true, + event: EVENTS.fall2021, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndOctober'), - previousDate: t('september2017'), + previousDate: t('septemberYYYY', { year: 2019 }), }), + canBuy () { + return moment().isBefore(EVENTS.fall2021.end); + }, }, Ghost: { value: 2, @@ -227,10 +231,14 @@ const premium = { value: 2, text: t('hatchingPotionGlow'), limited: true, + event: EVENTS.fall2021, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndOctober'), - previousDate: t('september2018'), + previousDate: t('septemberYYYY', { year: 2019 }), }), + canBuy () { + return moment().isBefore(EVENTS.fall2021.end); + }, }, Frost: { value: 2, @@ -408,13 +416,14 @@ const premium = { value: 2, text: t('hatchingPotionVampire'), limited: true, - event: EVENTS.fall2020, - canBuy () { - return moment().isBefore('2020-11-02'); - }, - _addlNotes: t('premiumPotionAddlNotes', { - date: t('dateEndOctober'), + event: EVENTS.fall2021, + _addlNotes: t('eventAvailabilityReturning', { + availableDate: t('dateEndOctober'), + previousDate: t('septemberYYYY', { year: 2020 }), }), + canBuy () { + return moment().isBefore(EVENTS.fall2021.end); + }, }, AutumnLeaf: { value: 2, diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 99d4c0d790..9f744c204f 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -4,23 +4,23 @@ import moment from 'moment'; // path: 'premiumHatchingPotions.Rainbow', const featuredItems = { market () { - if (moment().isBefore('2021-08-31T20:00-04:00')) { + if (moment().isBefore('2021-10-31T20:00-04:00')) { return [ { type: 'armoire', path: 'armoire', }, { - type: 'food', - path: 'food.Saddle', + type: 'premiumHatchingPotion', + path: 'premiumHatchingPotions.Glow', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Thunderstorm', + path: 'premiumHatchingPotions.Spooky', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Moonglow', + path: 'premiumHatchingPotions.Vampire', }, ]; } @@ -31,15 +31,15 @@ const featuredItems = { }, { type: 'food', - path: 'food.Strawberry', + path: 'food.Chocolate', }, { type: 'hatchingPotions', - path: 'hatchingPotions.Base', + path: 'hatchingPotions.Shade', }, { type: 'eggs', - path: 'eggs.Dragon', + path: 'eggs.BearCub', }, ]; }, @@ -47,11 +47,11 @@ const featuredItems = { return [ { type: 'quests', - path: 'quests.sloth', + path: 'quests.slime', }, { type: 'quests', - path: 'quests.slime', + path: 'quests.horse', }, { type: 'bundles', diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js index d0c74a345d..9a5562abec 100644 --- a/website/common/script/libs/shops-seasonal.config.js +++ b/website/common/script/libs/shops-seasonal.config.js @@ -30,14 +30,14 @@ export default { pinnedSets: SHOP_OPEN ? { - healer: 'summer2021ParrotHealerSet', - rogue: 'summer2021ClownfishRogueSet', - warrior: 'summer2021FlyingFishWarriorSet', - wizard: 'summer2021NautilusMageSet', + healer: 'fall2021FlameSummonerHealerSet', + rogue: 'fall2021OozeRogueSet', + warrior: 'fall2021HeadlessWarriorSet', + wizard: 'fall2021BrainEaterMageSet', } : {}, - availableSpells: SHOP_OPEN && moment().isAfter('2021-07-06T08:00-04:00') + availableSpells: SHOP_OPEN && moment().isBefore('2021-07-06T08:00-04:00') ? [ 'seafoam', ] @@ -45,5 +45,5 @@ export default { availableQuests: [], - featuredSet: 'summer2020CrocodileRogueSet', + featuredSet: 'fall2020DeathsHeadMothHealerSet', }; diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2021Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2021Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..2c917d6ef238da64d2cd9ed6b95491e40fff3dd3 GIT binary patch literal 635 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`D6wLCLvE3 z$B>F!Z*T4QIvgN!{G&#box?$UZ}yc6tkZp(_-Hkl2OW>UlN53Ln(jx^1PiEaTN$~FDGo%`;ty>>!)U%g$5 zjYwzmON+I->vzXozWw}Ymr0Y8)WhVEo}OUY@>zW@y02@*Lwh2_mI#Vm>R1Z2#@mW* z^CQF86<0SZ^)8s;Rw29AS$6R|p{1MGrsjxb=oPNAzO?R@hxFG1fe;4mOB`I8E}0j1 zZJz6P?P^+dk?t!Oq3pYHi_FV-8xo#nY&`|2c@X?o|@bx`yJ03y=;%Dd~|&~|3;{@ z`dbW-?VEf4^4YY)8sBGEHz&JFIRbTP$t?>xay)QqwcZ*JWndKSk5yT3^w2%b1Q>xr oC9V-bjA5L~c#`D6wL7GqBr z$B>F!Z|9u%7Y-CSE}r?4-+LmHZh+yzfL^&h6C`-p`HwBGZ~VvnFa96946k~!iCUaV z#L`~VHm$WwCT=S6?ml??T*&<;ySMDV?Xz$G+V=nJzcbM(m*B#mufZ zv(t-H=5NvSaW?uXdfk5a&*G%NThfYyb9_|t;yRy1AH3nHFjZjgmMF24SLXg+7a66y zqb#-j_*Unsk)D1t=QB^a|8c+4%;1zILINJDK5_1TfTbn*M zIA|%JS~b;U*~xchJ)5Sznzv)0)z+d7|3va8$j(-)-!bQ$?xj1bK_xbFn|mHJvq`RG zVF}{gc+vkMv)a^||5j$-zG_>{KRLA1@4tC>{!}2Gc-!rS!@1g+1boRy& zrw^B`3Y>k-PnVfJ_X>V_QTThsQ}^a$pXJi(bdN-OPB^RWU#HvrH+0dCbM&xameD1Pd^am?2WOiJt3Q@l~F~#8Yw~lAeGya5i_U*55-8Mb6 zn$y#7d;a8DTb13Xf2}w^_rUUV{3kqALFU&~D`{?2urYthiSCbc*<<6!Tjt>N8enbE}l!??3jGdG6<)yFa$i>^VPs z{+TW>KTC*nI((wu+ubR8>;E?!zzcn>CW&O`#ip$FF8Q zf30A`L@x(m3SYP7nNdpm%{JAYL8`Mo=ZCEP_xX{dagBK67Y>H$k$oWt(=K0ec(Hk2 z?rFX(wg1cze?0WcKCNc?$VmI-%694hjFw+F33^Kzcb(a{_ChJ|Da~(NnZVKYowY(T zY~`)k&!?>8FFpG3cd3ki{=eyQ>ve4(9@XTSeNgJqyVX9Eo?UqtmDt!5!o;+)i2h9wM3{^UJ90ufedqt5P5TN*QMSB#eDU-$a3wKJ2>Y*OxBFwxCLd~IawBa_$Z-*3HL zl&>mYwnWh6QisaouQ&fZp0{rQk6*qQx6hEYzQh5vD`fwbII*gYtFG_w5&yckas$W! zNFc53`gZeS>aU;AUzG*-oi~$;-PwLNE%@5}*_kIk&X~VG%Vv>rlbe*_S81k&7PY4K zx?B5>tT9||zxw)>`=;iXJHEw+^+H^GYem7kq%D2Dzw}FYT>2S#=Z5XcE&mpOtXs+7 z_qTrUpQU#zBO5YY&tLRVUNkStRJJhOXG4&_ZLPxB&rkXP+wA+0a_V>N$^>^QN9Ep* zGOpcT8MCem=j^@o{_mUfkI$v7R=*mu?6LsFk15NpO_-i<@3~ez!gk`T$NFJ*UTf8_ zUfBo^78UckmgRfv>*uluYjZg(Gs4rtms9cge=m<*dnx%hP)w-AH3En{-K_kJGE?(P a5=%1k^B4?UBHp|Q>F{**b6Mw<&;$Sg=UhAh literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2021Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2021Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..316b8b992d912dded025002d9b73910fdbadea8b GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g$s6l5>)^mS!_%E>D#AtaX}w4H&0agnEsV@SoVx3@OxGY87Be^6Eu zGn8l%2=O|Ulwc5=^nv}xAL%t|-6wNQX6p*6Ivz?;6bw9~*Yr2X|72{`rDJ!0)+~$H z*T25I`fu&$Uqyi|KwB_?gNSRO`?2-<=MHQ=R#_1@x9;@O1SQw(-;37-Mf%Hp_);P9 z>egXb?{^DL%*6MVr<52L`fS}b^=A5VWmoOUOH+?`{}ZeIn4i3Drp4O+LfOvFB?m4> z$(MhfSWytm8~C%RQl{^`o=$sJdcOUY-M86yb_d96MhULX4XWPZ(Q|F-ORp90-<=nJ zTvD97_@SkDaTqWe7LZn?}&?1)a>%wV(C{eR~D`4_wyGzzJA@BmS11r z#=0jdWqzLjW=~grMSh{+{MJ5^wGmsl>H9^O`cp=f JS?83{1OU&=+*SYp literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..da73b0ae2377ec3776d60c119e2155a6784dd0d8 GIT binary patch literal 1037 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`D6wL<|Upk zjv*Dd-p;kp2o4l!&p+ZYJ%7a-BCxWuL^CFofUtRfJr+>#eNVxL5T>bqo7I(f+dRAa}&icJS_c?*@ z+vVc!=fuawiu^0{?YVREH}{0E2VA5c=G}`=2o0F}G|2VQ^lzqF7JQ0^!DSm3)fTz-aC9()y_^{&!$f2RH~~~W2cFeN!HbpaJ^8K zdm7h%o8Ml1$sn@iOuB#2(|Lb#;`O8Cjn;T58%%WL@LPMjq^F{(f9|Sd=S&2j?%E{$ zlus@5`mI}b(@ek0v&ZSS-#NQUsTb%fMGo5qo1R&D-mLrkr8j4>ko3`AIrDRuu$_Hz z#WEyS{+jx}uM+>i{9XK}<1o97TFU~cOIfaOwY%r@)s$)KTc3k{vo{>R@=(fmwqK|I zm7L`v6D!iDtv-|axk)sWMeP#D&Xu9BLyWm}5A%6zlo&Mre8qE3{IWsWp1jMIrLPv8 zcAdNE+gzjNXID2v{U{Kd?G_naI&;N(%k0iyQhKr+3Fg+QCxYZ|{6_XY1BlokHKW67j7U^Z$F=+9fT>lzcDq zK$a;b7i7=6Y}eX{GNPqjUURB1d7X$^$MnHPZhPQV+3EMbv`)Wd^>`b%DAc@rxs?<6 zz7_oUXj)-<<>l}7`Sm~figwh0Ij}u{{r#`&>VN*3y5{)rOu-s`$Bg~5+Lt(dmIyYz zjuH$}y2rBgWr^s%n%_Fd*Ql9Z%*pt^K5GLco-(%Hn|66`aNwieAK5z>%N3r@t1f@r zb&eZiCrfG2YsWU`t4q`zbN6+{uDh1|=k?XZJV-?&cqX$jxA5TD0Ti&i}D%qOPyn8^$WXVeadq#TPW8T4!9*I#W9J zkdf8ZZ&x2}JOI(7akcBg$$j4*Ili5{?v^sMAyn-PzZ%<$^bMykye>ccM+}lAJEGL( z@_zeAocZ$?EYKq0#G!~u{EPp`@GdD-CHb!H1z-*qDshbfB2PCf|Dw#)ypqI{%=|nC U!zopr0NKjk^#A|> literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..50b4b2d2c48bd0818399a3b610ce66b847b49dd5 GIT binary patch literal 1115 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 Xp&;WcvgTd3~pIvj!OC$n3(kO literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2021Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..81f0ba1c366285ee755ba1aed3da3234453179a2 GIT binary patch literal 638 zcmV-^0)hRBP)Pn+}hgkN0lQpOcrAN&o-= z000000002+|CO8I9R9c#rP3;&<>p``MQdY3=*PM5Q4hYG%|5VgVng=$&o`f6NyKp&; z)3T1lM$%%@`Y$oNWBdN7E8VN3p87Etb?>%4g^p7lDOzb%g}>Ljsbg={`ws1n`rGT; zbXw{@80FZbXW7Rt_~Nf4v5~a$)VkONo5p79^YqiEnN)S8XaxWO00000000000AL0E Y1zsI@%5QJ8NB{r;07*qoM6N<$g0jA5L~c#`D6wLCI?R! z$B>F!Z|^Mhb`BId{!x=_TIyU^okO#XcqX^9PVRE;mS~-Mji<{|{Mnmrje$O5Gb6-! z_<59WxcqNec~gn!iqU!NhjHKKiYL#lwSW1haC>ao4*PfO^3{ZZ*5L*V^m+e&XZdyV z$d4!Cb3U%m@10k>@9^IL78iI;E^#c{$}77(yPCbI)@XWRUp~wCp!g84pmOW9$cb(j zJd``a+T$O6Q9bwCr0Mq+|GRHzq`FEuD)&nKe9!r1^6km1TvE41RAic`W$6h&P5sZJ zeThRVljWjRv%X)wk8^L9ZJG_yqYxEcQ@H$m$k)Cr>d`tLe=BR0OFzB}%Bq!H z9UJ0h)V{;;beBn!o0Q>&i&9VhL;8P*uH5{zscu(s`Krey73TV1Pkvfe%=fF-`XEGE z!9^)mzwF!ALGnuv87|jKyZp52$jd_ycgOG_yLI02y@&P9m04>%lrxqHGK;U>7jgOA z^Ycsij$N7lJuTwZkJx~ZzrXy`DYcr|Z#v&^gHrE;iEcbGTYmj`^u=^K4|{C;(@S5x zempq*ch)a~hTl@ti!9$93xt zH8LnIoanY8yY$1|$Ga?cKaz>BUtzia^ZQ5vX^@q@3#Ioj`lSu=$NhQNS8x`tzhMWA qYoQX?2q5xwv+^&>OwB7vEXmBzV=!!qc=H~V5#4>H!URNFSDf6!`DxDi#!sIOqQ zOq9iO!=`U6JDVH>1e=sD9&)fc>ei-Nme_irFMr?qDxF{+n|tTqyyF2`jvY*mdRfi9 z^v0dY`6jmYvijS8--{MsU7O$V^uh^+RejfN{PfqIlfM4uz1)&rPiB}-bj(N*xayi6 zJ?C88`QF#_m+`NZlZ{=rYYS8=yEcD;%Y6CIA^!6Bf8Fy_S2N=1)|2(?Cx0A<7xp{?ERB`2*f730_ z&OD)DV#IOr*Xp;QLf1Vxfp9>}ycl`&b@{s$Cul1c`KAa+NxFz$y!G@@sNBMx(|?9P z{`~%C^(yZlS5uXmK|blY7BgM^|Nf$^)Jzkj4*9~}A-`Um^T`3jM5x3y0*E}_to(~I dQ}ap^OEUBG7z|q?-n<8en5V0s%Q~loCII)fw@v^6 literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2021Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2021Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..41135c58da8a516c513285e73ad7cadfef9030c3 GIT binary patch literal 586 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g$s6l5>)^mS!_%E>D#p}9W!H&7kpbx#+^kcwMxZ>{$a4U}Q{@Y_LV zf17mHM23f=+DBRLo_)Z>b2$HZPn*&e*b-5by+tP&{8a5oy$?7E!S>5URU+*=k@RP>q^${ z)~U6;;jwmVjJ55Z&beE+1+HJ=k&~jnE0J^4E8jg`n=H5X{z`ooGBHZqZ*6Msa`)9& zbDaKPDeJJ`|CaaT;;ZqBb(Qwlj-9y_`BA?(F3mn<$+fO)x1PQIl2ETc`_6V-iARrL zo#&o!Zd{g8u|zdD%r$H64uOo~@_BZ944zk1{@wpv(&N!xwP%4q3!+||mcCoEOXl%y z|GM@cXS*vV%!%#^U+&KBYF7X4XH@f_hZYM~DQ%pn$KqA3IN{#hzI$u8JW1X^(WL(M zwSEEniqc0;4%tUnZk?>p#rNF)82_J}oinaHsGL>5?(ek_6|+k#w<`N>c)x7-;lt^Z z&7J?`8rNOv*PoMS|KWH1`}T@_Rr_z39c5pO4PmUXMq0t#GkdtT6f>^ z0+Y!*8J;eVAr-gY-mvyQoFH=SW4+4- z{(ujgN+xgx6`WLgF=6jwzB)E`$6aMbx=qdV4>}%yCo2+jMyVq~U0nYG`-)(hOUf_3 zFR%8LuBf}9*ckJ`#`bwFvl0RX=>)!?e!Vm}I%w^$N=ubyubb=(K8yAJzLU8=*r{vM z1dfFK-Pg)L{eFIU?GJ}(J(o_o-71|Y6m+5Gi|S#m>@|<_lH5)jYkGAgSIY5k_1ZnP zy#Ki)=SgM7&i}inztL4qf3@T*NAli9mtTuc-6XH6=<0RionOqx(`(Z>1hz1(509K} zCV1d*cJ{LAG6nMd3u3eFneMD_vpaD1vnhkW{=(%gI!;b&gqB}foN}}&%;4e{3DeX& zk98(3Y)QH4+_&oZ$If^0tZSG5`2TT|S?-&CY5QLvKOXw$iAgYje%(rADJUvn zb9lV%+=jdFR(y58#dU3N*z@x{2G2=9*eYzNwlzp-0%r zK(kZydBn*A-pH4)syzaQjRK3rUfNC-5QKx7xAb*IHww4$#;60Mjlt8^&t;ucLK6U} C<=Zm= literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2021Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2021Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..011235b7b2c933b0c8373371c4fe48f65333704b GIT binary patch literal 662 zcmV;H0%`q;P)4b@hLh8A;FwkbO z4>Mp$1%}vtf%%U6rrTqYQ&45aM~AatTypFinCTJQ(%ZQL(F$qM5ujp zCrt^wkh?hFb$^*-e4{!tZ^`Nwvqv`*CHr&spT zkHC=1bI5F&d)oZ=8}%j0>SA}Q$RWFGNHTX=5tg}Q?Y{zS%#0&<#AJ24z4VexV2DFQ zSerqqW@J>A$c(J1S3Y0Vl$VgLX&Cz<|GytXsZ*#i#t=s=J>tTIoZpB^&ocJo#meb> wf*~FZDQAp1FQ2c-2p9qY00000004W)FA;6n)^D*btpET307*qoM6N<$g1a~`)&Kwi literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2021Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2021Rogue.png new file mode 100644 index 0000000000000000000000000000000000000000..d49e673328ce96155e37714b79673c689e2d5b45 GIT binary patch literal 592 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP#C#Rr+-V?+Bf(#6dcRgJkLn>~)ooTPn;waN5e<$`` zpY@|JDqO5bJ6)8#E_O}|Tlk6d2TO@nr{BVbAssFyEgnZi*9lC#uwu@S^%FL8sTofG zeE*!<^V(f==iYy(_W924&$pQsTLhdqKtzknx_JuW{sLc%uViWFWGymScnf`3* z{CP@-D$h>$ynV#UusS>Y+E1TgVTQS}u?!;od<;8w?s<|M8=oHi;IK$)hrV-+ahaL9 zuJWUE{>M{1tY&XL<~vtEIK|^eTg}xTAGPGGODB0UO!{cS(4TfM8zj^5etS=M_ObNO zdS0qujs72+@bTip_^ap7>7Sag>Q(BUb>Ft4_(`a0uF^RJ6<1{!j!_?xa&uzvQ2 zx`=-p>NYIqYgoVQc$o`?rxZ zX7n>0`|N$NYU!rCQ~oD73H{o1YsI=l7xO1gn$}~H`E5d;w@1v)9go_tda-;cDrGuw z=Mfjf?%(VTZ{EtJP2v!~q{q3^HinHeQg15bj@|n?CT-lh@8*YnhmP#weEF(n$==ds zYT{Ds((hXPc(hHMspj5? zW$#}XI$aV@=YKhEyU&Cv3tuKOuoeGhh`BD;EPr0?6Yureb9sa>|9x8r7$*##u6{1-oD!Mf0hba+zQ6vA_cn^jtoKy1`36eF^jaD(4|}HROnE$hHhO7ZVfIS zMJNO!G~iGUx<(L}5)jsZ=VJ zN~M~u-TYp#o8Jo-{XQw()6&?wp9UEKrD7R?o7-yuDqb}J==z2*vb`sgOH5uZZM%&a(dpB_ydFA{Ce2sY}M9`tt4b5TN2!3#&N)P(soo zD*6|WkbKg45PPmt4eSuZ(7y3DG&ixQFo zA+e;~ITM|cSS8sS&s`F^XC)+sE|ZBWZM_HLdWicZPEPR+k4fZBA|)iP9AbFDTr%8s z?pO)g_M|G^#CjsZ=VJ bY7_Mb>n&0hnJ_}7 literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..c31008d28f1975ed871f6a80a9bcdb7172aa6a0c GIT binary patch literal 677 zcmV;W0$TlvP))0y0TN zK~#9!?U*@813?sqf5lEA@xUt{1Vk*v#==6dv=(imU8;Z^|5TCK1uiCh`Be-I?9DFyFrSW&lD6A%qY@2qA=!|3#f| zkvjrb$?>OxFW**AC;T?VF(b0Fpxl1FdsMD7N5{UHLPLBr#4#hb8CPx>-U}6F3Jocn zAzBq#-rq7#`+R% zYE2rVvvGU~09c!j0sz9pL&~_Av3qs`09cxs;%>L54UuXhh#B7@W=QU6?F-ohSsGF! zhB$pfdOKx2{}7~;Emlp$jB@RIX^3Zr=x3zbO3I!ky`6&TTtsqBX4kGllS@&v8Q;XA zA(fs(*3$<7fJ7vwtYlM5z?eId^Q$G#OLPM#XQvgDm_w?@5a(YOGsF}j5s9IcF)kB~ zxkPZ8!QF06oQLR0KQcHvVl+p_r5fR>P`+=bA>JBdncf}QiCgX!cU2*CAEBMJ$#bsi zQdcS-4XMB?V^@{aGyve^)&A#`Gj_F+4ppy0MLSGw4Z#R_@ZtGb4a!IA(p2xxZ5R!5JCtcgb+dqAztzY=|0!ZT|9dY00000 LNkvXXu0mjfFHs^s literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Rogue.png new file mode 100644 index 0000000000000000000000000000000000000000..7f068195c70c45f687fb11d7ae5f8f6ea806b836 GIT binary patch literal 1778 zcmV27gIJ zK~#9!?V4F^R8<(qe}in+=@e+C>@7lBieSPbMN9-KyAWiF1nP?~#0N!F2r(uY6HL@F z5{$+)nkdlnAd3~1um(g3q6GzYEN!6$EEJehN~cf|86VDkWX|EvQf9zN&i|#IbMAci zw%_l5+r40AWo7jrYQg;Z!3Fc@2OpHbr;T-Kk~A?tKR7WzKlq@LVhORNSVCGQS29Tf zs5+3Mtyf>$;GkzEVjklV;06!f%rS@~(8Yx0XZT-zwUB~X#TgN4n6iY~= zga{czM4OCs0A`FBIUB&=+_+i0$D8UEA;0(w0d93|;{|A}XetCq8<47za?4+@dn{z% z+?RFvyr<+)Qb@6c+$|wO#)QSw_Bs(EBsA1sBAUmqRNp8B=s&7QQTY0a^6G%oc~dh| zqY@)(EUy8eY`ZTmQgU;1g8)9C&t(ZoMjhhG?A!}r=7>=R06)~7C=MsWBtg{VZvvoa zkM3>&&p?Wz5s^J%xTBr=qm|lu#I7i9P&NQ_Ck)>Uu#w_2CsKrr*#lHI^Z9HHNsJJQ z9Wxe9Ed|(e_~!sX=bl|0$uK=PW!6N=HX0GxgS$JQFIB~eZKXT47?S=(jz)^CchAUl z1Dx}p4*)d8h#4hc{Q^r2t@Z`l4=5=Py3}-b#RN{v#S8LWY^uR(!Oy7r^rBPcZrr35hp`2pPLRQT0WIOXcf1{Z#hYbRxA7p!-w(z2Oz2C{`>;R1%vG z?Eld*`v@5`#w=EInD#dS$S=rJG0k_{WqX-qWSRV;lK`xF=T`s%DPKGGC{kI9hf23^ zD|WIM3q<5hhgYUjDVt=Z1{K+Bx4a)pYd7PX=~_bKCB$E| z1AtYVmFK4oN(12WVSNC&*m6!IBU0T^&}W&JUGnnsqFzv>eUm(iU6*RE76Q!8U#`gL zsP@E*IUX;-_?*$9ZyqX()(u-i;w9wsjjAhn=*p1L9OD=OzaLZW;p~^DYSCVL z7^z2OJyJ}#qacc~f4f2r^){lG1{E`2n4#(m&%MX;4%8Z}z>b?PreZ>kZF> zSDSByzK10wDTH(gO_DB_uL9uPlj@LuQ-^xP=M@KV&Mqb?;^|1FM5;3)^+=*&V{(e3 zb-U(VCSF-WVi8iYv(^RhSz3o6K%ea1UVSo_6a7CNnu=!|-EL)hmD}i6wXS(x$p(!G zu`_0nvU9LppQ%=qR|Vq99x0Esw}jl2EYotW~SYi(dB9H zR^9fEfFmI$siHGG^lVu1XQhoH_auhI>Q&6_V3J`f78xdCo*s&j-d)u%KHqVzLN&9T zsP`ll%Ub&mnk6J&Ld1s+_Ut){A&&OtIgQ!t+^sAj zu?P_|1`N)L%Rpu2DWgYeYE}JVR+{E#nRs1o);&La;dE`H7Vo=gmXJj2keN%KkvEk0 z0<=vJI#!O-{mOo#a|qFk3+EL8Tx`CqP0k|CR%1zsi}&qBOGqq2%y-!DR;$;()hn8( zB{sy;&3bi-GMACcRJv;EU1VQ$<@Dc<_F`46mXL&6!B!|)q$OK6hFDoyS=~qd3*)Z( Uu$IgMn*aa+07*qoM6N<$f>Q%ZC;$Ke literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2021Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..d1c54e7aeef84bb172bc84157ecb41e87b49df13 GIT binary patch literal 570 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP#C$Fdhvu5j@_Y4e-$30yfLn>~)yQYdr$02@{@n1+g_Rap6q;xLzdn!Jo*KgpccA z@SL|T-9K5$=J?M&(_UA;ds#Ve-o4uS_hmZ};KcU=*9Ws2@7MGjW*z#uJYS@+s-FG8 zfs4I`6ROQ`-l(&&U{6T1IeW1>Op(v-twV<3ww@m?{&SbC{CwsHpXRZpPX96#-6ZGh zK3aVAPl%?LO3&}*es?T(FgTn(r^>MJ(3E`5$0>_rUr$(}aiq*#ixR^msj4%P2A3EdW-mW*!+z&h_J-vPj@_s) zEl%B=`{(v7#f#tSISvLfG1MkIGx+qcXELxdO*%X6wJ5``Uu(`k^V4TIeD`meq~6&H z8G29l27UUh#h`Jji}k?&0{#Z`?N=@ug`CKbY+tf$Dq}!gEYpFv`%H~btYS(?&Ae-& z_hjuNr+-IzIOnUDac=A0ytU&DpQsW7#DC-JT2sE^?*0-HU@S9uy85}Sb4q9e0O`&9 AWdHyG literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..010177016cc5e286f0d04dc73bdf55d9b7f782df GIT binary patch literal 575 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP#C#RsH)-QK1PX-3YGoCJvAr-gY&e-UE*g>SdUW{9B zu4(KM*Mi`tW>sf)bzQw(BJK?jPW zzHFYlII4(2q1={{;mfo|<@*bd@<~maqWH}#E9!RnKE}FjGY%T4KcD^CtTOzWf_{-7 z(EN4IImXB0+)8a$oxT_4c-QCb^OCZMl_%E1(SIvdYkxcO8imW4s&_wmj&aVaHP=UJPl1=b(%H@hXG|8~}6A+zQ-kE0Vd z6i>W+w&~*i+Ls-(9G#c&{yZn4shoivz=1W4Z%!|N{WSiw2{5V|JYD@<);T3K0RXDY B=>-4) literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Rogue.png new file mode 100644 index 0000000000000000000000000000000000000000..b4cebb03490e2c7a7a76aa2576f1c096f0e529c6 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP#C#RsH**mu|kO5ykT^vIyZoR#JmWwe^qW$Ck{;8Xu zbHyCK(-m~;+9}>0j5jxgdTDBBhd&VW;nJMA!64N=YKx*|Z!rd)E7(c0XHWUpec;5`pkz6;@s~`PZVCEe+@>ReWir*IN7N|GNzn zRd}t1CkJV$EPZj>?cH{dNhLSt`F?j)+$ZwrT;J0yUC&k1xF;?7nQ&0|u(e9r?Jd7~ zFGsgJ)r50;C05N_C~$7Vo6PG~ua*kLr%5h1e_b~xwJw&YH9~Zf>C;_GbCSRKtcjog o+CP4S$fMhmpLEX&z})!ntaNs0u(#IXxJw`*Pgg&ebxsLQ0FLL43IG5A literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2021Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..cae0f0e3419ed2f7848b61a21a7b93aedb14d904 GIT binary patch literal 531 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP#C$Ff1ylu;Y1q=*~3p`yMLn>~)y|G`PIZ@{LNB`IE zTUwSxNMyZ8+B)NgDx0B%#~QZ9tj?_q)sp`+I@q)%$$sKe4ObcRrXCXdxK<>2*-|O-oYDsNKKc_FvA=KTRo%n1vsy zES_P^crty>wzJ(WS6<{@{2oy{>1EZt^AWvueJwvyc{i%8oYJ>bu1$RNq$Q{S+Ie28 z`Q|lN=u)4a z@g|$+KljYB%3ZPV{yw`aE7cYMn<`%2s+_v+u=o2(OXik-zI@+zR<4_-;`NG}w@cD& zlDLxIg#5jlI;YmH#N@;3yr9#P`z5QUsrcsay_EW=Y}&^+N=Nq=Uv_gS~%o!@-sVAgb%%+zh+lS;~ScO4H|^yrn+!?)_5mmW{t{cce};oL%t(?2qJId9}& z`xk%sjd4l7UZ6Fn;_e?>HcD6bA5{6JatY+SkU=?Vx3r3vv1kl QbSaRKr>mdKI;Vst0GEvBE&u=k literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2021Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2021Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..57b2331d15fd36974d964f6ac2e8f33f4bebdc78 GIT binary patch literal 558 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP#C#Rqh-`mW+(F_cXyFFbTLn>~)ow44VIZ>v4zHsx= zgiDe=&598$juwYqCLdnJRkKy<7eag=NHY++eA7(soV1cAkyiaF~*X7T} z4B?^4$3A^d-^Zx)c6pl~g)Dc`D_=VVe_iAr#ahq$zp k)O{Nx7g(4IL_TJ|vv*=m_j=vAz?fz5boFyt=akR{0Mnu7@Bjb+ literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2021Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2021Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..bd39e3064e889c31eded97a4d7055bd9aa84666f GIT binary patch literal 697 zcmV;q0!ICbP)A0!B$h zK~#9!?VC+Y0#Ou(kI^f9NHISsF@#mqAOa2Pq(AWDapArP)b_ zNM(JN>wKJV2nZS5en>2CPex$9qPCs;Z`+C0oJTV0ioD*BF5|MNU4x8V@kg$xuJA1p z5z*S^S%rwGba5j(mvxf?LMAY&=81?R;Xp`sn~L2@rMLH>B%+|GC07i}w_oToF6}bP zZhF_=Y1=JIBH=)RgF8UT*d1c2Z0i}sff!7xGru3whZqV)y`5c&8uc0oadnp&G`k^V z-q=4XOHvl(en`#sSqFr;%_05rnD;7^Y53|B4uL~#vbAjx5Jkvb&LPZP0z%k1gqce~2wR6RaR~@v>kuX`0U_)iqS+-NguO#Fy99(xjYBlK1cXeD zLmXTp$RGs{0U-`)ei*NZ$BXjFNdJ)qLZ+UOF_Qv9rj`)v4{VyQEP)2g3>HjH+WJ6m*@nWf+W6^9JUIIA zMhXIrf&d3cx8KZNPn~|$)JDX5&ALB%DW^Y|VX9AB^6R?2w*quqowjfnp6)1$e*M$Z z&&6fQeV!1ng#zwzua7R{33jQm?dmvTw{zt`0j`UBN7iu8_0ks+%w#oP-BVq%NZ{E7 z@!frzsaNJ1wJR(Y`5xn}_}`}eM*wr{k1eNnxbi%Uef=|S`?fO4^1Ou;;&oNtmSlGs x+%fK%86kf7sk`?=f%t0^%Fo-aQG~g*W;Q!lSopurz#C6MLY}UEF6*2UngG~)yNuvhsbIFcYW#& z?P_KD7aq9vZhpxPfuf3U8z;PQ(p&btSN#7j`I{O`UzdBCtE2?$sBD<jPYBXUVGotn+9Ck;TjA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g$s6l5>)^mS!_%E=+ZXI}r}r4j=J;{{I_$B>F!Z*SRq&vuky|Ddk) zLW|>Hq)eBS_Kqdp3!K08YQnN@{f~~ja&aNw~u1p80WVn!*$EFp36UXRwaHpy76bk-|5%iuF*IaoV;pV z8BlVmmm7QPqUiPeTQ#bGKh-+&KBY6uOmul_-Rr+6UEaAQDN9bsh^>m`pSbmVlKPb9 z-mt}Dp`D3m-bEO9?O3fo_x8J+tM^#9KVoNcKf8Fd{oBVM%QV*W>wP=?;Pd;pvxGZ) zMb_4e96y(~ZLYX$*y5`%R^IZ_{Oq7$Y8STEqEyLMd(l_>(ATq%etpM2cmE=tb!o5v z&WiryV>-_{XKC>JZ~AE;?-Ye)@`Ge%c4 zXNJfAzazk5x9)Arx998UJNwZ7y|IJ%QETEA0boFyt=akR{0D@Ei AWdHyG literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2021Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2021Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..3c00a1af73d70508dac322aa3a673c2867be8556 GIT binary patch literal 1180 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`D6wL7GqBr z$B>F!Z|9uNyX+uv{I1#kC7QnbrMp6|G@WYnRt>qr%zk8|dV~0by%o)JfvPGk4jwTM zOE0*vEM%J%;A&F(%H$=x`FV*lk>#ClGrs(vyX^K>+j|%P8PAKoy$NU`4$v`g;)!)O z^VEOusLOmcX>M%6-_6QNR{C1@3F5-skQLDdPkUi2>GwW)|++{cAGe1ua$zFS%?eT1W1Ldg= z4qA#8nW9;1ZDv26y+-ATRF1uo_Q}k|n|JP?@3Obw7Ubs0@P!Q+HU*on&2+jRwOW74 z(@gm1CLR>Dw=F zTw>h%J96vv2~SG$n%;DCKTDr|YxeR+{#gA4NE{aIF**=A^LhQmIeBY>Uaz+ORK5RJ zt+2Rz)ncvri;LIk&PbipAO2P2)x=K?kWhTM&*%dGZqZ3wFBT_Hzw?LpdYY5YX&v=* zb*WkIf7G9Ey1j6_{F>e0?%n2}$ittuLuOMh0g%DbCtTc>AT`S)mR z_B#98cei?*{~olM-g9}Y-2KJhrpxzwhn$EycmNdqGq+Sd2{{#F`Sjkmj!*ijm024u zG3M`^w6}8kZ`KI5-QU-We8?zeHxA+iCecGv!}dLzpDaD?iOwshZfO=`p#mfWr@%oe!LeU-&k3!$0Q7 raX_9>iE9K9dAeEo7iFgAl_ZvA=I1dOwnV&n56b$Uu6{1-oD!Mi2h9wM3{^UJ90u`pfq|C{RTRM0d$283;Ee?xXyIG`JH%?fi@sVF;MdqWE3dWnJzdn0L z=KgZ46K^V}KmKXB`+96L&}JBDsN;8vKk)y;=L<2h*S`kOJ-<`)3+sct3m&SI`X#N+ zYWKbWH{qA(edXt~t|(9M3~6%HnwT=@Mq$+Ld*-@p*B+Bd=JWTP^V(WlbY=hfb4%Xk z}ThmyhpXuYm`6l*s+JFma}}B>K9g%Q+=2Hx61zf**;bD`LC?-=~tMW zn}e>KnJ@iUS&|Y{-N*Mu{X5&Cz4JVLGnNPiy06yvvtPf?E7v{aWbucM{%fc9@jaKS zJ};6y4eS!Z*e%aGFK2Cib!YS1m}$FWv^@Xbu3NJ;z02^liUV1)DgiL}uRTh6e`sK6J_xbg^MSf|f9fK%+<@(llU;P@bUq>re+@H-ZyppAt z1sX;V)@S6OzH{Y7Icv(^vmr<3EiCx%%qg|f<;uoH_xroI@;;x{I#Y0^ecu05TmJue zTrV#*v$d_%*vkpO8WNW&R~Th&<^Sa``*;e{`0o<^B$zd)78&qol`;+0K}(4PXGV_ literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2021Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2021Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..be56169d3af112796356b026a506986bbb462533 GIT binary patch literal 521 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g$s6l5>)^mS!_%E>D#!8&*M^a2J3#%Z1|jv*Dd-rh9SXHJx0{~$C` zFUf#IaaE9z7<2PVp=SOIXRjxiM*E~KzL}G`NX4UM!-Niv-dL7u-#GVmnW|EIU%xlE z-5YZ+?)R6U&)>$XF$1l^0%R{s}A@i5V)IyA=hbH!E*m{P00RnZcFoTdUqEasONiG*;EmcS(lp zmVb*oKNgP_U75?YWC!N2qG1cksuWxxu7d@>0s9Ud;+W#k~*Q8Ed sEoe*9^;FVdQ&MBb@0HcH3(EtDd literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..b50905dc957bd1cb8a6fcc8e7948bb0481e3dad1 GIT binary patch literal 693 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`D6wLCLd21 z$B>F!Z*OhPmP(X3{?WMP#U;hb*A^x#uxw&sVzrLAv~r>MB@ToL~I{JZg9nfG%~9sc~d_P#L( z&}Jmye7dLj^Q&KO-~az8UoLC;eBEWK*TxghT-vgq;gX}GE01h--JEyx=km>||MY2U zZ|BXE3zc01JOueC`MeTd{&q&Rod553T`8*|mR6C88c~nUe%t%)i)yi}4bQ8-zWncQ zF+N$%Ca12By9<76UwzJ=x_h2}&X3D~EWRdRQ`>TAS+D-Nm?!`C;3U-RrS)X zyT$e%{C;&?Ue2E4eM!lDjB4$DBH&QUuRHT={nC4OzY~(}i|*eKYg+Ns1?JeSkI(ks z>$)twyzq199YKiOGLOx0ecgRFclVFKpKh=R>^*LR|Mgxtg7hQeRqd&~*YEzN|4%+X r0u&S~ag6{XPd6+7qRiC1lEjkC{5%H3mWVg+L0UXr{an^LB{Ts5?2tpX literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..d27d1c44286071f97858f2dd404bb9627aa1375a GIT binary patch literal 1225 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`D6wLmIO~1 z$B>F!Z|9u#4hfVvcK*nciG03~7G(NyX<0UYW1OmRqg366`}UR<{}p0fwrp?}$(SAX zsD45>hsYv_@VhNyP7_34cyQFUEQ_c*nzMXs$M1RH{hptTIo?0Bvbt{d^E;N`lb=1U zt+4ohk5kj$YWJ3ZJ2U5PKDsSDWMYr$)yZ+b=k}Psm0G>}-2%(U@?Y5HkBi>0buX%A zOsIEIY!&#{Gh^##GHDtH~k~#IaDJ?9|(f z@811<^~xieIr7o7V`0aB&dGSB^Y--_{a5^6%2EA1&wqW_l(;a_31sL!ck9@M&zd*g zUS)m#bJOy3=oGgX78{pU?G0FPV-ZV^neGb@#RU_bIF{d7x$XEp##th^_kGHqd(Ln@ z`fPDn$ltQ3&u+C9b{U)cax;b1$Mah2=a_Lrjpj3Xt+6>k-g;{_d)|y~?$V`NWy_X% z9+x^7Fze~-bwJf~WQEP71xl6(1b8U6Bz>2=py1o2y8ClPOi^0z*?8l*2j0nQBs;GS zpXTBA`n89(@#Z^e&wZ~in6fClVe3Cuh<_hmeZs@LBlpvh8A+SntbI2IC>8w@$-O`4 z-=x>?wZ))j+bDnA;&8RKc*%4%HRIcviz@F`uvK3veERX0R1}K_*Xykv3ZAB_y00HA zZ`E3QVPX<6U>@wgw#&ruWbo>3mp5wu``2K&a@D4yNxuE>Cx@!Z+bVPaJ-Y1o%}kRx zUTaqUV^Z zr5MX*LEZI3kAtN$^6GbA?fgxqNn6!Vq}gs?;pg&IcNMSudxmUZZivBqR!+S+{W+t0 znY*3T`enU;!o-iCFJj*K$v3-N<@$dAgAIKmOkA2R7uJ1$@y00c*|gU>I#RmfTTADZ zEWJ8!fqB%=+i~;66K)o7_;GvMmj%kL4NhE%->hI{SexnS&c)a&;&kD5#LSP;+_|}zf2CM14g316b=%Ev>h?antKw82$R9}i&j^Wv z-_xU-3wDOSek+^1Hn#j(Oef21SxBn6vHyxx%UjvCr?pF(Wb4iey$M#iq2mBH{m{c@ zVds`=*R-(gc88>wf*mWb@~hmiZH9Q~&eAYGp*QoOZmC-WAmW)^7)NL)XO&w8qGkc|!Ew4ZaMEbTb2h22UEewJPPan&`aTrq@99p|^G=Q5e! z#P4KfTu_Xaz0UdV>*<*K$;?oXwN8#|-taB<_3Z77m$b9xnw{pV*~0|QXRVoQH+t>0 z_>gyGPQuQ!|JWfeTUa2*Vo_755VrE`t53TM?Y2L<7`}7gFPMS#45}yU#H_Xnvj9sU pp%T{!Ao6sx@-NCv%_~VP$;{7VFl>o<^ByS6;OXk;vd$@?2>?V>DIov= literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Rogue.png new file mode 100644 index 0000000000000000000000000000000000000000..ceaeb628e2a637ed48d7aa0cd14cfa635aa45f8e GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^ML-F{I+w+gsiu2cNyvrD@m^I=GDvfdhgwCs8KpU`I?(r;snn#rFRd68~P=;^u@`0*V@;;-gWlXjT0(7 zMx9!VOz)X(pI&~Nx2$+W)VU)TweohQcZ*7MQiRxMx`^^KEv+jEe6{cBnqHqnKu^89_Dj09`|=5}gKHSxwnuK} uni`=C3?88p*9ai;bhGj=%1q5GNi50C&toubiForK6nLJlelF{r5}E+br@c}D literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2021Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..3613ce7e460e83bb578bda47390094864ad3915f GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g$s6l5>)^mS!_%E>D#DLAjH$cKS}G1Ak;F{I+w+gpZSM;t`h9%$Ti zQcd3wvVHsJcpcp%(h<>>%o{gM*}6eUy87THW0tQn+2+qczyk~4Eh&cC z%7!N9|@dyKeR}$3(rm_tsb2Pn^yCyUStr)`=1+4=>)*E^`0J2Q=PQyVdpe jvOcce2_7R2{-^>bP0l+XkKT`$2t literal 0 HcmV?d00001