From 8e9500fed2b52f70cc9af20dc21e17dc487991fa Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Tue, 18 Jun 2019 19:20:14 -0500 Subject: [PATCH] feat(event): Summer Splash 2019 --- .../2019/20190618_summer_splash_orcas.js | 59 ++++++ website/client/assets/scss/variables.scss | 10 +- .../components/achievements/chooseClass.vue | 31 +-- website/common/locales/en/gear.json | 34 ++++ website/common/locales/en/limited.json | 4 + website/common/script/content/constants.js | 7 + .../script/content/gear/sets/special/index.js | 191 +++++++++++++++++- .../script/content/shop-featuredItems.js | 2 +- .../script/libs/shops-seasonal.config.js | 15 +- .../broad_armor_special_summer2019Healer.png | Bin 0 -> 886 bytes .../broad_armor_special_summer2019Mage.png | Bin 0 -> 948 bytes .../broad_armor_special_summer2019Rogue.png | Bin 0 -> 720 bytes .../broad_armor_special_summer2019Warrior.png | Bin 0 -> 704 bytes .../summer/head_special_summer2019Healer.png | Bin 0 -> 723 bytes .../summer/head_special_summer2019Mage.png | Bin 0 -> 840 bytes .../summer/head_special_summer2019Rogue.png | Bin 0 -> 748 bytes .../summer/head_special_summer2019Warrior.png | Bin 0 -> 673 bytes .../shield_special_summer2019Healer.png | Bin 0 -> 389 bytes .../summer/shield_special_summer2019Mage.png | Bin 0 -> 642 bytes .../summer/shield_special_summer2019Rogue.png | Bin 0 -> 715 bytes .../shield_special_summer2019Warrior.png | Bin 0 -> 511 bytes .../shop_armor_special_summer2019Healer.png | Bin 0 -> 778 bytes .../shop_armor_special_summer2019Mage.png | Bin 0 -> 600 bytes .../shop_armor_special_summer2019Rogue.png | Bin 0 -> 607 bytes .../shop_armor_special_summer2019Warrior.png | Bin 0 -> 556 bytes .../shop_head_special_summer2019Healer.png | Bin 0 -> 632 bytes .../shop/shop_head_special_summer2019Mage.png | Bin 0 -> 537 bytes .../shop_head_special_summer2019Rogue.png | Bin 0 -> 647 bytes .../shop_head_special_summer2019Warrior.png | Bin 0 -> 529 bytes .../shop_shield_special_summer2019Healer.png | Bin 0 -> 343 bytes .../shop_shield_special_summer2019Mage.png | Bin 0 -> 363 bytes .../shop_shield_special_summer2019Rogue.png | Bin 0 -> 595 bytes .../shop_shield_special_summer2019Warrior.png | Bin 0 -> 354 bytes .../shop_weapon_special_summer2019Healer.png | Bin 0 -> 504 bytes .../shop_weapon_special_summer2019Mage.png | Bin 0 -> 413 bytes .../shop_weapon_special_summer2019Rogue.png | Bin 0 -> 597 bytes .../shop_weapon_special_summer2019Warrior.png | Bin 0 -> 382 bytes .../slim_armor_special_summer2019Healer.png | Bin 0 -> 872 bytes .../slim_armor_special_summer2019Mage.png | Bin 0 -> 907 bytes .../slim_armor_special_summer2019Rogue.png | Bin 0 -> 689 bytes .../slim_armor_special_summer2019Warrior.png | Bin 0 -> 670 bytes .../weapon_special_summer2019Healer.png | Bin 0 -> 582 bytes .../summer/weapon_special_summer2019Mage.png | Bin 0 -> 720 bytes .../summer/weapon_special_summer2019Rogue.png | Bin 0 -> 706 bytes .../weapon_special_summer2019Warrior.png | Bin 0 -> 873 bytes .../spritesmith/npcs/npc_bailey.png | Bin 3673 -> 3845 bytes .../spritesmith/npcs/npc_justin.png | Bin 4371 -> 4529 bytes .../raw_sprites/spritesmith/npcs/npc_matt.png | Bin 5861 -> 7062 bytes .../spritesmith_large/promo_orcas.png | Bin 0 -> 3197 bytes .../spritesmith_large/promo_seasonal_shop.png | Bin 0 -> 4060 bytes .../promo_summer_splash_2019.png | Bin 0 -> 17023 bytes website/server/controllers/api-v3/news.js | 33 +-- 52 files changed, 345 insertions(+), 41 deletions(-) create mode 100644 migrations/archive/2019/20190618_summer_splash_orcas.js create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/broad_armor_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/broad_armor_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/broad_armor_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/broad_armor_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shield_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shield_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shield_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shield_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_head_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_head_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_head_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_head_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_weapon_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_weapon_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_weapon_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/shop/shop_weapon_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/slim_armor_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/slim_armor_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/slim_armor_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/slim_armor_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Healer.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Mage.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Rogue.png create mode 100644 website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Warrior.png create mode 100644 website/raw_sprites/spritesmith_large/promo_orcas.png create mode 100644 website/raw_sprites/spritesmith_large/promo_seasonal_shop.png create mode 100644 website/raw_sprites/spritesmith_large/promo_summer_splash_2019.png diff --git a/migrations/archive/2019/20190618_summer_splash_orcas.js b/migrations/archive/2019/20190618_summer_splash_orcas.js new file mode 100644 index 0000000000..06c4bd2679 --- /dev/null +++ b/migrations/archive/2019/20190618_summer_splash_orcas.js @@ -0,0 +1,59 @@ +/* eslint-disable no-console */ +const MIGRATION_NAME = '20190618_summer_splash_orcas'; + +import { model as User } from '../../../website/server/models/user'; + +const progressCount = 1000; +let count = 0; + +async function updateUser (user) { + count++; + + let set; + + if (user && user.items && user.items.pets && typeof user.items.pets['Orca-Base'] !== 'undefined') { + set = { migration: MIGRATION_NAME }; + } else if (user && user.items && user.items.mounts && typeof user.items.mounts['Orca-Base'] !== 'undefined') { + set = { migration: MIGRATION_NAME, 'items.pets.Orca-Base': 5 }; + } else { + set = { migration: MIGRATION_NAME, 'items.mounts.Orca-Base': true }; + } + + if (count % progressCount === 0) console.warn(`${count} ${user._id}`); + + return await User.update({ _id: user._id }, { $set: set }).exec(); +} + +module.exports = async function processUsers () { + let query = { + migration: {$ne: MIGRATION_NAME}, + 'auth.timestamps.loggedin': {$gt: new Date('2019-05-18')}, + }; + + const fields = { + _id: 1, + items: 1, + }; + + while (true) { // eslint-disable-line no-constant-condition + const users = await User // eslint-disable-line no-await-in-loop + .find(query) + .limit(250) + .sort({_id: 1}) + .select(fields) + .lean() + .exec(); + + if (users.length === 0) { + console.warn('All appropriate users found and modified.'); + console.warn(`\n${count} users processed\n`); + break; + } else { + query._id = { + $gt: users[users.length - 1], + }; + } + + await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop + } +}; diff --git a/website/client/assets/scss/variables.scss b/website/client/assets/scss/variables.scss index 573376536b..89958c4bec 100644 --- a/website/client/assets/scss/variables.scss +++ b/website/client/assets/scss/variables.scss @@ -2,8 +2,8 @@ // possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, spring, summer // more to be added on future seasons -$npc_market_flavor: 'normal'; -$npc_quests_flavor: 'normal'; -$npc_seasonal_flavor: 'normal'; -$npc_timetravelers_flavor: 'normal'; -$npc_tavern_flavor: 'normal'; +$npc_market_flavor: 'summer'; +$npc_quests_flavor: 'summer'; +$npc_seasonal_flavor: 'summer'; +$npc_timetravelers_flavor: 'summer'; +$npc_tavern_flavor: 'summer'; diff --git a/website/client/components/achievements/chooseClass.vue b/website/client/components/achievements/chooseClass.vue index d6dcccf56d..c819e6b1c0 100644 --- a/website/client/components/achievements/chooseClass.vue +++ b/website/client/components/achievements/chooseClass.vue @@ -164,30 +164,31 @@ export default { classGear (heroClass) { if (heroClass === 'rogue') { return { - armor: 'armor_rogue_5', - head: 'head_rogue_5', - shield: 'shield_rogue_6', - weapon: 'weapon_rogue_6', + armor: 'armor_special_summer2019Rogue', + head: 'head_special_summer2019Rogue', + shield: 'shield_special_summer2019Rogue', + weapon: 'weapon_special_summer2019Rogue', }; } else if (heroClass === 'wizard') { return { - armor: 'armor_wizard_5', - head: 'head_wizard_5', - weapon: 'weapon_wizard_6', + armor: 'armor_special_summer2019Mage', + head: 'head_special_summer2019Mage', + shield: 'shield_special_summer2019Mage', + weapon: 'weapon_special_summer2019Mage', }; } else if (heroClass === 'healer') { return { - armor: 'armor_healer_5', - head: 'head_healer_5', - shield: 'shield_healer_5', - weapon: 'weapon_healer_6', + armor: 'armor_special_summer2019Healer', + head: 'head_special_summer2019Healer', + shield: 'shield_special_summer2019Healer', + weapon: 'weapon_special_summer2019Healer', }; } else { return { - armor: 'armor_warrior_5', - head: 'head_warrior_5', - shield: 'shield_warrior_5', - weapon: 'weapon_warrior_6', + armor: 'armor_special_summer2019Warrior', + head: 'head_special_summer2019Warrior', + shield: 'shield_special_summer2019Warrior', + weapon: 'weapon_special_summer2019Warrior', }; } }, diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 6a51bab669..809488aa76 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -321,6 +321,15 @@ "weaponSpecialSpring2019HealerText": "Spring Song", "weaponSpecialSpring2019HealerNotes": "Your song of flowers and rain will soothe the spirits of all who hear. Increases Intelligence by <%= int %>. Limited Edition 2019 Spring Gear.", + "weaponSpecialSummer2019RogueText": "Antiquated Anchor", + "weaponSpecialSummer2019RogueNotes": "This ancient and formidable weapon will help you win any undersea battle. Increases Strength by <%= str %>. Limited Edition 2019 Summer Gear.", + "weaponSpecialSummer2019WarriorText": "Red Coral", + "weaponSpecialSummer2019WarriorNotes": "Now you're fighting with fractals! Increases Strength by <%= str %>. Limited Edition 2019 Summer Gear.", + "weaponSpecialSummer2019MageText": "Brilliant Bloom", + "weaponSpecialSummer2019MageNotes": "Fruit of your labors, first picked from the pool, this little treasure empowers and inspires. Increases Intelligence by <%= int %>. Limited Edition 2019 Summer Gear.", + "weaponSpecialSummer2019HealerText": "Bubble Wand", + "weaponSpecialSummer2019HealerNotes": "The bubbles from this wand capture healing energy and ancient oceanic magic. Increases Intelligence by <%= int %>. Limited Edition 2019 Summer 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", @@ -718,6 +727,15 @@ "armorSpecialWinter2019HealerText": "Midnight Robe", "armorSpecialWinter2019HealerNotes": "Without darkness, there wouldn't be any light. These dark robes help bring peace and rest to promote healing. Increases Constitution by <%= con %>. Limited Edition 2018-2019 Winter Gear.", + "armorSpecialSummer2019RogueText": "Hammerhead Tail", + "armorSpecialSummer2019RogueNotes": "This sinuous tail is perfect for making tight turns during daring aquatic escapes. Increases Perception by <%= per %>. Limited Edition 2019 Summer Gear.", + "armorSpecialSummer2019WarriorText": "Carapace Armor", + "armorSpecialSummer2019WarriorNotes": "Warriors are known for their sturdy defenses. Turtles are known for their thick shells. It's a perfect match! Just... try not to fall over backward, ever. Increases Constitution by <%= con %>. Limited Edition 2019 Summer Gear.", + "armorSpecialSummer2019MageText": "Floral Frock", + "armorSpecialSummer2019MageNotes": "The lilies will know you as one of their own, and will not fear your approach. Increases Intelligence by <%= int %>. Limited Edition 2019 Summer Gear.", + "armorSpecialSummer2019HealerText": "Tropical Tides Tail", + "armorSpecialSummer2019HealerNotes": "Glide sleekly through warm coastal waters with this elegant tail. Increases Constitution by <%= con %>. Limited Edition 2019 Summer Gear.", + "armorSpecialSpring2019RogueText": "Cloud Armor", "armorSpecialSpring2019RogueNotes": "Some very tuff fluff. Increases Perception by <%= per %>. Limited Edition 2019 Spring Gear.", "armorSpecialSpring2019WarriorText": "Orchid Armor", @@ -1222,6 +1240,15 @@ "headSpecialSpring2019HealerText": "Robin Helm", "headSpecialSpring2019HealerNotes": "Be ready for the first day of spring with this cute beaky helm. Increases Intelligence by <%= int %>. Limited Edition 2019 Spring Gear.", + "headSpecialSummer2019RogueText": "Hammerhead Helm", + "headSpecialSummer2019RogueNotes": "This helm gives you a 360 degree view of surrounding waters, which is perfect for sneaking up on unsuspecting red Dailies. Increases Perception by <%= per %>. Limited Edition 2019 Summer Gear.", + "headSpecialSummer2019WarriorText": "Turtle Helm", + "headSpecialSummer2019WarriorNotes": "It won't let you pull your head down between your shoulders, but it will protect you if you bonk the bottom of a boat. Increases Strength by <%= str %>. Limited Edition 2019 Summer Gear.", + "headSpecialSummer2019MageText": "Lily Pad Hat", + "headSpecialSummer2019MageNotes": "Contrary to popular belief, your head is not an appropriate place for frogs to perch. Increases Perception by <%= per %>. Limited Edition 2019 Summer Gear.", + "headSpecialSummer2019HealerText": "Conch Crown", + "headSpecialSummer2019HealerNotes": "The spiraling structure of this shell will help you hear any cry for help across the seven seas. Increases Intelligence by <%= int %>. Limited Edition 2019 Summer 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.", @@ -1626,6 +1653,13 @@ "shieldSpecialSpring2019HealerText": "Eggshell Shield", "shieldSpecialSpring2019HealerNotes": "This bright shield is actually made of candy-coated chocolate. Increases Constitution by <%= con %>. Limited Edition 2019 Spring Gear.", + "shieldSpecialSummer2019WarriorText": "Half-Shell Shield", + "shieldSpecialSummer2019WarriorNotes": "Turtle up behind this hefty round shield, etched in the pattern of your favorite reptile's back. Increases Constitution by <%= con %>. Limited Edition 2019 Summer Gear.", + "shieldSpecialSummer2019HealerText": "Conch Trumpet", + "shieldSpecialSummer2019HealerNotes": "Let those who need help know you're coming with the loud blast of this shell trumpet. Limited Edition 2019 Summer Gear. Increases Constitution by 9. ", + "shieldSpecialSummer2019MageText": "Drops of Pure Water", + "shieldSpecialSummer2019MageNotes": "Sweating in the summer sun? No! Performing a simple elemental conjuration to fill the lily pond. Increases Perception by <%= per %>. Limited Edition 2019 Summer 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 9251f9ee59..96e4729a28 100644 --- a/website/common/locales/en/limited.json +++ b/website/common/locales/en/limited.json @@ -138,6 +138,10 @@ "spring2019AmberMageSet": "Amber (Mage)", "spring2019RobinHealerSet": "Robin (Healer)", "spring2019CloudRogueSet": "Cloud (Rogue)", + "summer2019SeaTurtleWarriorSet": "Sea Turtle (Warrior)", + "summer2019WaterLilyMageSet": "Water Lily (Mage)", + "summer2019ConchHealerSet": "Conch (Healer)", + "summer2019HammerheadRogueSet": "Hammerhead (Rogue)", "eventAvailability": "Available for purchase until <%= date(locale) %>.", "dateEndMarch": "April 30", "dateEndApril": "April 19", diff --git a/website/common/script/content/constants.js b/website/common/script/content/constants.js index 45ecd24a12..3f12ba2960 100644 --- a/website/common/script/content/constants.js +++ b/website/common/script/content/constants.js @@ -36,6 +36,7 @@ export const EVENTS = { fall2018: { start: '2018-09-20', end: '2018-11-02' }, winter2019: { start: '2018-12-19', end: '2019-02-02' }, spring2019: { start: '2019-03-19', end: '2019-05-02' }, + summer2019: { start: '2019-06-18', end: '2019-07-02' }, }; export const SEASONAL_SETS = { @@ -143,6 +144,12 @@ export const SEASONAL_SETS = { 'summer2018LionfishMageSet', 'summer2018MerfolkMonarchSet', 'summer2018FisherRogueSet', + + // summer 2019 + 'summer2019SeaTurtleWarriorSet', + 'summer2019WaterLilyMageSet', + 'summer2019ConchHealerSet', + 'summer2019HammerheadRogueSet', ], fall: [ // fall 2014 diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js index 2afc8aef05..5c2146b6e7 100644 --- a/website/common/script/content/gear/sets/special/index.js +++ b/website/common/script/content/gear/sets/special/index.js @@ -8,7 +8,7 @@ import takeThisGear from './special-takeThis'; import wonderconGear from './special-wondercon'; import t from '../../../translation'; -const CURRENT_SEASON = '_NONE_'; +const CURRENT_SEASON = 'summer'; let armor = { 0: backerGear.armorSpecial0, @@ -1013,6 +1013,9 @@ let armor = { notes: t('armorSpecialSummer2018RogueNotes', { per: 15 }), value: 90, per: 15, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Warrior: { event: EVENTS.summer2018, @@ -1022,6 +1025,9 @@ let armor = { notes: t('armorSpecialSummer2018WarriorNotes', { con: 9 }), value: 90, con: 9, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Mage: { event: EVENTS.summer2018, @@ -1031,6 +1037,9 @@ let armor = { notes: t('armorSpecialSummer2018MageNotes', { int: 9 }), value: 90, int: 9, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Healer: { event: EVENTS.summer2018, @@ -1040,6 +1049,9 @@ let armor = { notes: t('armorSpecialSummer2018HealerNotes', { con: 15 }), value: 90, con: 15, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, fall2018Rogue: { event: EVENTS.fall2018, @@ -1161,6 +1173,42 @@ let armor = { value: 90, con: 15, }, + summer2019Rogue: { + event: EVENTS.summer2019, + specialClass: 'rogue', + set: 'summer2019HammerheadRogueSet', + text: t('armorSpecialSummer2019RogueText'), + notes: t('armorSpecialSummer2019RogueNotes', { per: 15 }), + value: 90, + per: 15, + }, + summer2019Warrior: { + event: EVENTS.summer2019, + specialClass: 'warrior', + set: 'summer2019SeaTurtleWarriorSet', + text: t('armorSpecialSummer2019WarriorText'), + notes: t('armorSpecialSummer2019WarriorNotes', { con: 9 }), + value: 90, + con: 9, + }, + summer2019Mage: { + event: EVENTS.summer2019, + specialClass: 'wizard', + set: 'summer2019WaterLilyMageSet', + text: t('armorSpecialSummer2019MageText'), + notes: t('armorSpecialSummer2019MageNotes', { int: 9 }), + value: 90, + int: 9, + }, + summer2019Healer: { + event: EVENTS.summer2019, + specialClass: 'healer', + set: 'summer2019ConchHealerSet', + text: t('armorSpecialSummer2019HealerText'), + notes: t('armorSpecialSummer2019HealerNotes', { con: 15 }), + value: 90, + con: 15, + }, }; let back = { @@ -2503,6 +2551,9 @@ let head = { notes: t('headSpecialSummer2018RogueNotes', { per: 9 }), value: 60, per: 9, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Warrior: { event: EVENTS.summer2018, @@ -2512,6 +2563,9 @@ let head = { notes: t('headSpecialSummer2018WarriorNotes', { str: 9 }), value: 60, str: 9, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Mage: { event: EVENTS.summer2018, @@ -2521,6 +2575,9 @@ let head = { notes: t('headSpecialSummer2018MageNotes', { per: 7 }), value: 60, per: 7, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Healer: { event: EVENTS.summer2018, @@ -2530,6 +2587,9 @@ let head = { notes: t('headSpecialSummer2018HealerNotes', { int: 7 }), value: 60, int: 7, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, fall2018Rogue: { event: EVENTS.fall2018, @@ -2657,6 +2717,42 @@ let head = { value: 60, int: 7, }, + summer2019Rogue: { + event: EVENTS.summer2019, + specialClass: 'rogue', + set: 'summer2019HammerheadRogueSet', + text: t('headSpecialSummer2019RogueText'), + notes: t('headSpecialSummer2019RogueNotes', { per: 9 }), + value: 60, + per: 9, + }, + summer2019Warrior: { + event: EVENTS.summer2019, + specialClass: 'warrior', + set: 'summer2019SeaTurtleWarriorSet', + text: t('headSpecialSummer2019WarriorText'), + notes: t('headSpecialSummer2019WarriorNotes', { str: 9 }), + value: 60, + str: 9, + }, + summer2019Mage: { + event: EVENTS.summer2019, + specialClass: 'wizard', + set: 'summer2019WaterLilyMageSet', + text: t('headSpecialSummer2019MageText'), + notes: t('headSpecialSummer2019MageNotes', { per: 7 }), + value: 60, + per: 7, + }, + summer2019Healer: { + event: EVENTS.summer2019, + specialClass: 'healer', + set: 'summer2019ConchHealerSet', + text: t('headSpecialSummer2019HealerText'), + notes: t('headSpecialSummer2019HealerNotes', { int: 7 }), + value: 60, + int: 7, + }, }; let headAccessory = { @@ -3684,6 +3780,9 @@ let shield = { notes: t('weaponSpecialSummer2018RogueNotes', { str: 8 }), value: 80, str: 8, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Warrior: { event: EVENTS.summer2018, @@ -3693,6 +3792,9 @@ let shield = { notes: t('shieldSpecialSummer2018WarriorNotes', { con: 7 }), value: 70, con: 7, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Healer: { event: EVENTS.summer2018, @@ -3702,6 +3804,9 @@ let shield = { notes: t('shieldSpecialSummer2018HealerNotes', { con: 9 }), value: 70, con: 9, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, fall2018Rogue: { event: EVENTS.fall2018, @@ -3790,6 +3895,42 @@ let shield = { value: 70, con: 9, }, + summer2019Rogue: { + event: EVENTS.summer2019, + specialClass: 'rogue', + set: 'summer2019HammerheadRogueSet', + text: t('weaponSpecialSummer2019RogueText'), + notes: t('weaponSpecialSummer2019RogueNotes', { str: 8 }), + value: 80, + str: 8, + }, + summer2019Warrior: { + event: EVENTS.summer2019, + specialClass: 'warrior', + set: 'summer2019SeaTurtleWarriorSet', + text: t('shieldSpecialSummer2019WarriorText'), + notes: t('shieldSpecialSummer2019WarriorNotes', { con: 7 }), + value: 70, + con: 7, + }, + summer2019Healer: { + event: EVENTS.summer2019, + specialClass: 'healer', + set: 'summer2019ConchHealerSet', + text: t('shieldSpecialSummer2019HealerText'), + notes: t('shieldSpecialSummer2019HealerNotes', { con: 9 }), + value: 70, + con: 9, + }, + summer2019Mage: { + event: EVENTS.summer2019, + specialClass: 'wizard', + set: 'summer2019WaterLilyMageSet', + text: t('shieldSpecialSummer2019MageText'), + notes: t('shieldSpecialSummer2019MageNotes', { per: 7 }), + value: 70, + per: 7, + }, }; let weapon = { @@ -4801,6 +4942,9 @@ let weapon = { notes: t('weaponSpecialSummer2018RogueNotes', { str: 8 }), value: 80, str: 8, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Warrior: { event: EVENTS.summer2018, @@ -4810,6 +4954,9 @@ let weapon = { notes: t('weaponSpecialSummer2018WarriorNotes', { str: 15 }), value: 90, str: 15, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Mage: { event: EVENTS.summer2018, @@ -4821,6 +4968,9 @@ let weapon = { value: 160, int: 15, per: 7, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, summer2018Healer: { event: EVENTS.summer2018, @@ -4830,6 +4980,9 @@ let weapon = { notes: t('weaponSpecialSummer2018HealerNotes', { int: 9 }), value: 90, int: 9, + canBuy: () => { + return CURRENT_SEASON === 'summer'; + }, }, fall2018Rogue: { event: EVENTS.fall2018, @@ -4945,6 +5098,42 @@ let weapon = { value: 90, int: 9, }, + summer2019Rogue: { + event: EVENTS.summer2019, + specialClass: 'rogue', + set: 'summer2019HammerheadRogueSet', + text: t('weaponSpecialSummer2019RogueText'), + notes: t('weaponSpecialSummer2019RogueNotes', { str: 8 }), + value: 80, + str: 8, + }, + summer2019Warrior: { + event: EVENTS.summer2019, + specialClass: 'warrior', + set: 'summer2019SeaTurtleWarriorSet', + text: t('weaponSpecialSummer2019WarriorText'), + notes: t('weaponSpecialSummer2019WarriorNotes', { str: 15 }), + value: 90, + str: 15, + }, + summer2019Mage: { + event: EVENTS.summer2019, + specialClass: 'wizard', + set: 'summer2019WaterLilyMageSet', + text: t('weaponSpecialSummer2019MageText'), + notes: t('weaponSpecialSummer2019MageNotes', { int: 15 }), + value: 160, + int: 15, + }, + summer2019Healer: { + event: EVENTS.summer2019, + specialClass: 'healer', + set: 'summer2019ConchHealerSet', + text: t('weaponSpecialSummer2019HealerText'), + notes: t('weaponSpecialSummer2019HealerNotes', { int: 9 }), + value: 90, + int: 9, + }, }; let specialSet = { diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 701ac10de2..677ae91d85 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -34,7 +34,7 @@ const featuredItems = { path: 'quests.dolphin', }, ], - seasonal: 'spring2018Healer', + seasonal: 'summer2019Mage', timeTravelers: [ // TODO ], diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js index 4f38ef5b53..63a5d2b568 100644 --- a/website/common/script/libs/shops-seasonal.config.js +++ b/website/common/script/libs/shops-seasonal.config.js @@ -1,16 +1,21 @@ -// import { SEASONAL_SETS } from '../content/constants'; +import { SEASONAL_SETS } from '../content/constants'; module.exports = { - opened: false, + opened: true, - currentSeason: 'Closed', + currentSeason: 'Summer', - dateRange: { start: '2018-09-20', end: '2018-10-31' }, + dateRange: { start: '2019-06-18', end: '2019-07-30' }, availableSets: [ + ...SEASONAL_SETS.summer, ], pinnedSets: { + wizard: 'summer2019WaterLilyMageSet', + warrior: 'summer2019SeaTurtleWarriorSet', + rogue: 'summer2019HammerheadRogueSet', + healer: 'summer2019ConchHealerSet', }, availableSpells: [ @@ -19,5 +24,5 @@ module.exports = { availableQuests: [ ], - featuredSet: 'mummyMedicSet', + featuredSet: 'summer2018BettaFishWarriorSet', }; diff --git a/website/raw_sprites/spritesmith/gear/events/summer/broad_armor_special_summer2019Healer.png b/website/raw_sprites/spritesmith/gear/events/summer/broad_armor_special_summer2019Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..11b7300af7688fb6531058a6655aaae548635947 GIT binary patch literal 886 zcmeAS@N?(olHy`uVBq!ia0vp^B|u!x!3HER@uhSEDb50q$YKTtZeb8+WSBKa0w~B{ z;_2(k{+Nwh%v@xevD7jK24+!D7srr_TW@cl&K3?7IsQ@db@Ia?@uOV|>qNG$ZLv^b zT`A^$)~&nSNxUoJ&Z}j12bwYh1!Hz>Y``Ioj`DfeVBX6#LF866+J5n@Z=|9Dl#rbDGUe}%R z|k0FVCM| zRrhc4mHX!DOXMtS?^m6a{sEwvFA1yt*{wi8!B?$|OT{}*e; z&!gI+g=u@T`#T@~>AfBFeOYzLnRUFqH`R@|Un%~*=6J~*;h@lX@wLyNS!G8oOmGqm zbT*W9|8uR|Ryou{|Pop>GX5oIg;US787%8u?UH~%?Le+}}+qyJ?)g|cOT^G7F_?XuD= zeJfjUY2GFp20x9kmje6j#?e||o>#VU zy2YpdOnLC|;K3F3`X$T@=jEBrUfq(Xrt)-}r1q2(u9K9nOZA(s-Tdoh!~WdTfFqGF zXUw%ps*7CqJ-PWszH)|Ve`J`(#O|j;J0~u(SfTA#TE}O*;9ZFIzB6ub6NF_quL)2S qIc-~{>{{p)C#@~wqk)t%J(})6eaI5o!DM(2BgcSKa+6g>)aw8R&j~9hhHP_;+9LZ}>B{}Lv-2O$ zPx37O_O#OPKHum6#`fpWoqqG?kl1D&ZHK>`6Zfh!tY%hnby&jDA;LIONg;^ErK`b1 zP(YJu00eWQ-gExxOxif(w>Zabev|0ECg1n%kV<}=aW^?x_q_hIZznh9gdU6HjsQ8d z<;kL}$6qd77klkq(VhLzogT@(%iAQbfBdwm>-_!SZdlg;zZ<4&^K+{8_A5!#L_z-X z(2KG)=C|7wzHtWcj}?3B(y!f8e|LZLt}huc)<6Dbv38#Gt_@&cpLEU6F@I6sGqwDo z!-4l^$A8&J>@8VjZ1ZG#e%Sdb&LQ7;+V8%+9G!UM>CX%5TkmG_gn@!@;fzoAyN=m4 z96y(E+bn zdka*ypMTpPzjog*tvTK6Qq0%l0_1s?Fu=sZtsb6PazP+aIqs^ZmU7N#xtOrKT zlEquI7EO$2U8A#aFdh=n2l3RSU!s36*B_^Q>>?pV@SoVx3|x)_DPgr|6sgn zqI_&xqVqMc*qen{br(%px9G^TO&fPaMrz${owEPIx||)-L09%_atC&uaLVi4dLu$c zP1-v7>D=~brpso&o@e~|=NiBCdzSW9&wqZK_kB;W2+&@vfG2*jo_N)>J2}6vf14M( z`|>~SaDD!#a_i2<`ya30^~vUK{gy8a0+;i}J~y|GDp_$N_V@D~5 zzOSYB=I?BMj{lFFmid3XzkK(uW9zv@cZS^jWffP_b2Fxeujq`#PAw7HQylJjc`3VV zi}J63>z|&#{Ow`m^xszD?{(t&|U4efdXRrS3s8*CbJ1rx4`&3S?kS9t-*AtFd+ge`zS(-QZ#b0i| z+(+fzi!%D1{(v-|h&?((c3Q<5t37JL3zftt{+@rQe$$=O|0kV|Gp)_1ON%!=?OW`0 zabZv8lV@_@*dqf!=ojxSyckvT{MsVdq!$6l5~oQ2{rF)1qe8vSedU*rowe@_F22+`%I4~NY~7Q2c82HdoDmB2ZQF9gRpw&qGSBqRmgj!1eCm7t;``I(>$U7> zE^u|$DR)1oZ{%thx>#C2wzZ&R(jyrWn!jsQ-=Elai%g(Thx;=3% qFyK4xbp7&f*%qo{1muhru#HYhJ~-@Fc#06bm&T-G@yGywqkf=M3$ literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/broad_armor_special_summer2019Warrior.png b/website/raw_sprites/spritesmith/gear/events/summer/broad_armor_special_summer2019Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..d4e645c015cb835403d93523f2e9442bfc6cc904 GIT binary patch literal 704 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g&?z`*3>>EaktaqI1EL+>U>nd2X|4=we`>gEvYGU(t?%E{uqwRqvu z1LY6BKg6AYn8<8~}_--ZXdmsiy8wDcn-)3I%V44x%f{@f zg|lv#?Y{82J3TsF`=70v&gJRikL)$`f1g;p@s#hH?48X=x#rB)+pql6zPA0NXG0!TZf|z4^zw`P zZ{+{^*}Lk_Yqk|=|I8}B+2(pzW0KNT4l^yQlkt9@^`(D5@BjTje~pLg3=al|KXnZ8 y2`k?SORca3Mz>IjYXlH^x>@-bWv1qpB$j06=P?+zM7((qN(`Q^elF{r5}E)hP&Io1 literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Healer.png b/website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..011e37bb1a5f50519ecbe138d8bc18886654c931 GIT binary patch literal 723 zcmeAS@N?(olHy`uVBq!ia0vp^B|u!x!3HER@uhSEDb50q$YKTtZeb8+WSBKa0w~B{ z;_2(k{+Nwh%-qWBsdy#>15=Twi(^Q|t+%&rGlUZ**gtgdxVf-clru_O;}QFfCM73! z*6tU}SnbW!#nX>>J$MlnGsWqsXNL6)g)WhmO$x4#9RW*pH9BP9s9iZ}&R?az*7w1r z-+z~>A6M1<{^`%}PfzqtGcYW;eI=%8|J*y~TfXg%i~2dK&wQG=SN+~?5&PaHIqp7l zZIx@rmq&+Vbl=Z8Zp?ql(!GEFwS^G@F7JLlHt8y?s(a#9_5SnEn@$U;pL{~ ztJ2+zlg-?+&mTN^=l!d@J9qzlbbEEkJIj)tUp}sOcGY9!))hS5H=HKnVga2+$2nbM__qp&-*gH$(&)RI<5do|AoR0Nx5!39t zwrIxO8te7W8yAEq7CruBb}x2A?Te7&h7Gg+-}_kIU(_$|nz6^&5$NBIr_ah;v_xj# zncL^@y+J?C%aZc$wTQse3B=d#Wzp$P!Za!>mJ literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Mage.png b/website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..b8d16029797773164c4fbbd824aeabc210d91f47 GIT binary patch literal 840 zcmeAS@N?(olHy`uVBq!ia0vp^ML-*HhE=)gl>+Apv&SLkxM-i z(-o7{PjpRF@~CUJKXA;CdE*9AZfov|5fZ+FNfR14#Eu=h6me|h?$4aXXM1M9IkRt{ zf2pL}Ztrt->gD;{G)@;SIJtfOYw-nl6DJ6;aiS2vch@oQe)*`edFyiN)6w=_X5W33 z)P)WyC|1R;&0YQJ?5*D==Z`ffzJ087XP)Qv^JnAM?oAiUzSh}d;L#Bmo-LAXeC@&O zv%6pZ`j%k0_WZs2iPyNBPiNM?{#do++(Q>92^AOpRi@jmd#%r`eED)q-R`1gyI$Tt zy``pT^Ddh?_EWBDpWdG}-~8H}-SeX}V?~bI*XJ(MIqg@r$4{lj(Mcq>_NUghmvcXd zhVngMzw~SS()6wN)xYAlTGv+nJ=S;rYr)&(sCwH%lePVGZmp9m&U^m-%dyp~7VWQ} zwQ6sA@!#U8{>^D~Jvf?MUL0L#sy?sPt$U$ga;{r_$cv?iGi|NK|4#{d|2QW1*s3#@ zX2qLc$4?dZ1cuJsw^57lG&*iaw&@wlBvo1f2i4f2b*R9Xand!$^##Pt<`5;$5 z+j8~!{a51hgPMKM#qM5p`2;vr&aE;H3!BWvze&z^iYv(Ng{vpFDFN@Q>CJH++Z8WI78*JdTpHG2*T#C?hjE?Q1R zk3F==qz-pKFdh=n2l3Rn9KYw-wOr?rbF!Z|~T9ga*p6e^}0O zRbVQMqu`Sur$s?5tUEdSgj`fyF50V~;OwKN^*1Z+sRHt<=xhy8q?>?xwCgQ@gLty_#)w_xbZX^Ea(4{`7eH9rulV zqC1~N`pPAl=|;USd*eIj{-rB1*S6MH+RpnlIsD{hc7Bo1Li?>ko;=btS4{g|E#LZc za=X;wA2%int0r&TxpD29*D~`fqKxX^+w71%wq4G@<>SuFx~qSES?%nqr}TaP-?zDn zMf>;9J{5XKFZ|ECwRaVY0s}s6+j!wh!2Hb13Vr)-6uB1O`g{4B*zx>7k(a(zmuhgG z;&OktCz$c|HTAg5*Q*r^|2>+Tt(yGp*@2%1_qJ75Cx!IcRtp_VuUe;m&$#dYmalVc zYqSdM(!Q^|e2bp)>+iWAZ@J7G zd|96BVw#g;rma^>;EV5cff;(5s?2qK{IjSz)#KD^Pf)i|N!IFD!)I zxAUpL+r8{)zRc#2!bPgb*8roZ;#4ea?A^OFVLI3~& literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Warrior.png b/website/raw_sprites/spritesmith/gear/events/summer/head_special_summer2019Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..588bd2c2aa17b30d5fc226fa19ac1b8177cd1b35 GIT binary patch literal 673 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g&?z`&&J>EaktaqI1^jrz`kBF8^^w;Xk{(wOMseB^?J$Kezq!HFG# zNgI?l{$_q7)FW1X`AEXX5+x^|xh_eorR2oAJKx^9{LIuwYyI~hb;~9{+xPnF$-kEV zuVsMNA%h9~`nKdh*gkFZ%>J-9#Zlc&|6)s))iP)BN@co)-!lIoyg5?6aF+C$Q?DNz z>j%ZpEBC&8{kHV(XYV%MfB#bH=I2FX_vXv^EfF-i)RC|#^!UqPuO{rVGqhDGeR*L0 z`_GxL;_lyDa;5_kWxCy6ftLq-nyLEWIX+)-Db`o|&kpzy7twTp7t}yG*{R ze0{yPKiGEbE<^F^wP6+CKE6IRRRKwPwZ`=&_jJRPuD^ME);o4rxZ&z$*Lqt6S5Cjy zm;C+Y4xd~3=7tcbY@2&%&g%J5rFV4KeLJ$wUNdazwcvGSOOqo1Cp%he@AH=3>5;W8 z?2jeTlLo=r#pRek-y>ES z+*4V0^L@c8h@-bWv1qpB$j06=P?+z SM7((q(%|Xp=d#Wzp$Pyl$t%GC literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shield_special_summer2019Healer.png b/website/raw_sprites/spritesmith/gear/events/summer/shield_special_summer2019Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..40e159cbaec6a9b0dbb9345a0803a5af1bf4c73b GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^B|u!x!3HER@uhSEDb50q$YKTtZeb8+WSBKa0w~B{ z;_2(k{+Nwh%u;;f&a_Dk42&wCE{-7;x87b;^mYyuVgInaL&B#`RQ!mA{ec6I><;vp z**DGbY4WTne4Sj_BoTH;d_%|P877?))24~%+~VV}F)}@I_w#q}_S3b^a}WP4-pm8E z1_wykr>grSXZ^*R`Q^`_WzI=?KdpCt6i>*LF#D)>@yaXGvsW*@zb#7L^VoV`(VZQ4 zT$0Ns$RDk&Er0F4-*{(j@2>0nwe}X-hF@k{nHNx xKKb~2lX@bhwTc9HiuT-heX$Z~F^1zmOyz&lWis{b^|k2tudTuVvyj|w_ z|Nf&r`VOfQLWd>@w6z$hv?wa_a3*?iI6ILi)UmWOp5g4TZ|AP;m-$yS|H#Md$CqgS z-RTE1IA$&DlGk6}{IWThpPO^+1Uks&as9qk>U*tyOYg2MTl;$Z@^<<6Idee{thgR^aYFpJ%hvbo_yy*GM0P~| zU-9^F^UCMDVJ2p~?u-v#nlEUxe_u-NG>9$PuG-m)E#7TTyZm|Q`Ao1;JEGE`ym(~N zSA0E39_rNArT0JGx4(Dv=a;?Lq@bp2pQ??sY5|*aKYOjl_sW+7P}LBc_>k+!58oQs w;eX;>D=?ykN?ap=$kWZrzbG>`uOzV~Ge3{PuqEQnd!Q_Xr>mdKI;Vst0CC>>8UO$Q literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shield_special_summer2019Rogue.png b/website/raw_sprites/spritesmith/gear/events/summer/shield_special_summer2019Rogue.png new file mode 100644 index 0000000000000000000000000000000000000000..e08513929e963b35c0b7bc8d2cd4b281dc783d7f GIT binary patch literal 715 zcmeAS@N?(olHy`uVBq!ia0vp^B|u!x!3HER@uhSEDYhhUcNd2LAh=-f^2tCE&H|6f zVg?3oVGw3ym^DWND9B#o>Fdh=n2l3R$h>S_@eT$CrU*|L$B>F!Z*On(4h@uH|M2~l zsYsw1hkurVK#P)NOiw{(MvlO(RU4P?FF~NuLrgxjF&ieY7{_lBy{o3rm z&t8`u6XOw+wn~V~bKGlaZTLz1?0rdD|Igps^q2iy`t7R8{@6EWa|3c#oLIVimBrl1 zy6|86kN(9?ytdwE?=&%=efQp8`?>xwr|8ZMojHqs#NNI6s@i{j%&s}t-q-(Kbn0l^ zs-l-~t1|d>Y%*F`Z4HdtdMsk!?Q@|Y52Y=?_M_CvRd3ZD#+6a4lZrE!dpy1|yZ7~c z|9Sd<*Y=)Izg$t5`}auo9lHZCt1{{nqLi68rt{_4{pUBwBJ%7+_TGOCa=TJF!&;GcMW@fXcjEQdM5QJ-d3o*Y)a} zHeS)4N4iWxXKe1?$@$^o(X%o~yV>v7UAGikdpE%K`KfOb{a5D%Ogz2+%;U|oj>^56 z?e3hp@3Q6eV{hmGOx>_(s`B=}@{+j$6T45?E`8L#*IE42a^a2ZtDh9!?)-iXjA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g&?z`)q(>EaktaqI1^jb4WXMA#l^1kEXV^(tuBm5W!8x_>-bBQkwm zUzygF%4fF@%BKSbHL>L=)k-MzTrZ}{En zx8C=PB7QUdkmQ=_a{1yfRX=++xqJ6_8y;EH=i{U}IYTeXyRfR#?4|j+^ySw5wG}n* z>h-VZe_a2{aJBN}fD+^)HSBKn)aq3bJ+q^{+w?e&)E*1{J}=#t5QCB*hVfaEN0301@L6y^9fB zLA-SO2WVt1W=As1?Izym7Vp!|-Oldb&a?0QW)6f9LI@#*5JCtcgb+fk6fXhy;4f{Y z(`f)^W@cjVEuBvL!EsgnO{?UDOLL>mc=>4(fFC=J8P_k|GX{jr3A5PU2SDbX>A!y7 zn9{v#z^}v<8PX_2nm6|Q0PV+80E}EcVay1=AAd3rKt5Lh;KR9X0JOF30AOzJGXOug z^aIdy=AqMXsLvRd@r%|pAE59cXN+3NdNQOQhS-r_T*#J{>iJi1f)O1 zbfnq?GuD+fjvlGupxh@AE{DJS{>rl z6SJe)x>#z>u-P&@{k$gYF&R?9`{v97wgUXOwus1*C0XOGOPKax>#!eTPDKpv-UPtw%oG5fE#~w0Rem5cq}*A?R)p3JyKiAvt+rjl zh>EhqnlbV5yUC2rhn)<8ybMWH9b!!gGdp^*qO=d25njVsQ*Pca)bxSKkTMMMf@}z8 zkCgKc+gYaEig)BvPplaS2TlPneB+8cyNu^msU~%`>(nKd{?lg1>hYo8<<4DlR*A}t z;Y^|A>{9ItRfbf1KZMZ#CU%F)-@YblpMs@kj2&%v>Wio~i>20P$dDQs5^GF2V>(;D zmh5D+q3PSya#>MRGh|2|42d-+q4y|5gb+dqA%qY@2qA>aU+;hfIjK}gi~s-t07*qo IM6N<$g0d50R{#J2 literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Mage.png b/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..96c96bea6312fbc005a8cefc851880f94da1cda3 GIT binary patch literal 600 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#F&nQax9Vi$re_QcjNd(7978H@y}fShA>$}4~&%M1#hZ1^DT`jOeBEygRCCARyfYk8!9 z%bQ~|=hx5PIrr|)neB7S9bFJWMPMSs``o*EBH^x#KX&f?zaU*K+*P+aMx(fXkq^uM zQ(_LedsrGiU4LhK|7RKNfmhQPuQ|W2cY4J49{wlx8j5m19q;}~WB)t(kxIgs&sGfF z#+MmX_VfL|cV1och3u#KYATOByI3dOG+yrGJpE?#&3()aezRtuajE-jcwK%L%a-2h zOdD(@H~KG6xF_j#LV1O=QeCO%-OK3=CD%h3Hl(VjXijESsI4oz9;16zap#l?{TrcQO%CCe_Y3MpO`v{zr!w)X2X+kbcG^7z-^@CgPo%7_Z8OP1s hRS|LE@+5yJ+Y+V)+s)?ncK}lbgQu&X%Q~loCIBZ}`d$D4 literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Rogue.png b/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Rogue.png new file mode 100644 index 0000000000000000000000000000000000000000..1d423b5e6e83e6869d723c5fa3ae6594f2f76353 GIT binary patch literal 607 zcmV-l0-*hgP)(95yFMr9DXb3-;u~UPw_k3DOX~cC^QOUDr?Y+W>&!8uFJpL{F4r%;#INw4fOx>z1=_Vs@b+)sR%hj6^J6dJC;l@3-Tu%Y6Wp zX;Wy3NkeoqDn-5*WHO~8)lftBPxG$NlS4_*93oS#em}cRt>h5Dv&c_5M5bwBXDi2P zHxxC*V-`^Wkk-yini`vZowM9MKCp&_(hwb)Zl&Ak3060QT_$YjA-^GAC%u$$t-lm* zJ!{I<{dHj7g@#mP4Uw+1Yh@JxOgkrOa>_0>=KK7FHKfK2(G#r|ZF42jf%vGg+Cf9A t*^n}`i8B2gXb2&M5JCtcgb)&Xz5vG{umO3Zp8o&<002ovPDHLkV1nt`{w)9i literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Warrior.png b/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_armor_special_summer2019Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..ec344fc9dfae552394588c23a098e4b3d0db347b GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#F&nR_qDpssT?7LI<7rP9$B>F!Z)ezhGbPF#-|xCZ#4A_GiQQGjg+OiO^z+u74y{p%2qm7&ieS*r~Lf==HDM` z|1q=(IB_T<5oa2gE>PcbXX~Ah-f$Og@Fqr=|J7#?FihRyd zm;c9~i!nUVx-Kx&*ho$9)$&{}UQR9N9?8xnr#gNg;$~Qo<8AD-_c~9rroYP6NR6ml z2C1h$zHXCX->_^J$jH!R7wb3VgflYS?VG2>Gm%kETP?LCGhEB;h(%h=oOiF~@?%oP z4hd|QI?#5b^B80JJLeFym^t%*rk!{j>o~o|+5#iY1f&gIQg8KDNpFm%a`g+ zmKh(iclL5kbvv4QvT)zb{x+Rck;lAMtXLS<$gk_1t9IeXroEZsFIU#RIP=Up^TeKa z&T4aW+3tp3v=e!G{>vLD=YOYaJFfR!)Verb_P*jf?@PZ-C-;7~dlH}4u~Yi*%YP5I i|II`RU;!h2JBD+~E3dt_KFbJ1unH#2lr zky2{~OYsLxz#>A23YOAt8t`Xxa_Q_C5gfY)7fT@GB%~eMp(s)$Efh+yAfyl^4Je2i zbQ5le+z)yV);89A(_G(YN)DI9A$jh5-g7_*A%qY@2qA ztVh1y6LP|(?>HD>yxXdz_Kv?8Is5zGIVMn09apLYHL}0 z1weZIiDQKEV{;9Foysx*_g=nN4@s0E{;skxce`!E&%t&!OywLi%!u@*j5AOF*>mj= z-#!3v{__3EO_3pS?lNY^$CVlY7ara1$PDWtmL=*TNioDur)I{;_z(cUyj{e{#y=IF zI^&DgmUfx{qN(m@hHr##Mros}3`v9`)<5h_aymN^_7C^D!i(3=ci#XzyL1B?(v1wU z9$}e~Unu`^x5zi^L3jpoj445&rrOJfSpR@wCo3!?I{0T(;qw8&1y2mm&YeEI*s#Sg#BbLI@#*5JCtcgb+fA!?O#II?uLS S`v=JY0000{XE z)7O>#F&m!%59{Zo$TtiOj5|DC978H@y}etgufM*$j$n;|Nglr#rOP=$7Tlz3yKG=YuG&7n?cU(Ib+1Foy-a4l?)9B zkC-qdcS}#4vdGCvYH^iv@Sz_UI`|7_#j-w_E5h(s+TBso=hjk}KdmbSuD7reb{`^{(AttsaVtu;T$tT6nCcH1QTO|;_x<@lPb;bIEqv;Gg zeB~qhU&nH%9sBnt=Hm66yLPfaSh`xaVcWd#4=PVSy8iB=ipHzAhH0|r@7ex+X}oH} zig3xz{RTm;Mn0U!!UcubGN?@2S9tgl#r+tK|)>xk0L}QM9~)_dWgIlBz5rk8Xoi@iXtdQ6wxvA6chwv5`l;45PpI9 z5h9Y%ba_YIVc&ISci(pp|KDw9XLp9#AM-rVfDl3mA%qY@2qA2o4$FP0Mt8R8mozW7Ao_}#sKk>*=mUP;6l8RAe9ml>`RHPx3r z?XwMyk>*+ZHt+O&^)|0HnK(?5A#t4{){IR5TLA91*8_0t#vNZX8tYplEp&e2gRd#m zucrW*e768V*Zt;5XNnAo%aE&Wtp?!F&!t4oIIbzB73DG{RZ*s)t~M~5*gtAHt}*WW z?mX5MyAC%$ks*aLzYsUECBLFJTRC)gR+{gC-Jm?+ryk|{u zzyI+1Jx_acYeR;l!jOYgJewhY`7r^&ukVXR05x?Ne5+k+#>nvSQBlAgHpRuxGscAR z>z5&Ei85j1edftc0A^mj2{qmtw6(r!09raa15MF=NLmfa#pzQOo_1I>T|}5JCtc hgb+dqA%sXT{{iL3ycv-_Kw{XE z)7O>#F&m$#yp@u|_Z18bj2k>%978H@y}hx}n>kUY{iC~}uJ);>+X5~!hYfg6T}TlU z6if*;hzQ;An|%%Uxr~kc2NO2x__ihOP-)6NSCAEHIQQY+@S1ijk?)Hh|JH22UA?=x z`p4bV4lW2#=RW^E_qt`1E|y=LZ|1!I`;GN#G0gk)Oy(;w&G1;xaN?{jV?m)E$AJQ+ zhcf$jN*F#DbYs}MZ2qj!j`vPElF~8*D|De-LyqcHRmVn&Ju3eoAp3O zf2x?T=63#bJU3%zu_UDaJrOxyWo500|J#taJRAMXc3M2CsgKG0PkgIQVVllr z=`*ynWVC&GHVfUzn^5M248qsruM0_Uh7D?qA>T$3N{n_Kl?80Y}kDG zpI-!TsE7Yw`Ahqfx8_guOa1f3M)cGDv=g_5d+)2Yme|?J)l|-lO)uZ|%YI3C`ibS6 z74;JSYZbgpELW3fyz-uTed>w{`-42HHD%NL)3p!*>Eg2MiReYI#z+gt+1G&4$>8bg K=d#Wzp$Pzm9oc>W literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Healer.png b/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..19c5a6064946ce8c608f503056ee1152aa335168 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#F&m$#g3OA~5t%@tZ=NoWAr-gYUR&sQ$dRGpBmZ-mgDwj^5?m@7%)4wD+-CJZ z@K7_KeB0is+~v-kMkW1(!UV(2q86{sQGRY=8Z~v(K_-@MC1QfyM9VxZ>EITxK^E}Nv1 b`hvgzxk>wd=UE4VA;942>gTe~DWM4f$d8B5 literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Mage.png b/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..e73e97dbfa1ff771433277ffbfa70efca6fb6895 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#F&m$#g2j{%dv-7|FmidiIEGZ*dV9l=kI_-0?P0#_dnT(w2CiP_6(L?yo!Tp0 zlmw3+6U}kg_38{;{D472MQg5b0B_l3Ue?Xc-(PNW5liceb9*}`R*TGAHl8MHEBib}6qvS-kR&vP|eos=$ZJKy8DTiHTIk>*UzKID(6;TJ~GGjU}E`3!&Z$WQ=Q_jt}=Hz z?|A-yhNj3PFU7P|NB&-Z*0=fAnw!r5iuetyk8QsFZgXv`Q{CPPx91(qovtaYmAq|+ y*RFd0hugdr6SsZm=K8r!Gr4;I0s)xACv4EJ5D8iJcANY(kdUXVpUXO@geCxD>x{Jk literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Rogue.png b/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_shield_special_summer2019Rogue.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1b89415bbb04dc3241f7a0b7d2e8c6673ce041 GIT binary patch literal 595 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#F&m$#qFnql4i*Lm#!sFujv*Dd-p)9y?Gh-{Ha}6v!%i&gNYa%nB7vI}&mKE; z$?0a|$zz9(T{`8K^Ot?iPi~(`4OPulFW-#{qo=Sm!GR-T*~I0?01T%Vd6b~2DQzV%m#Na^Bss= zcAg=ox?EH8l1H11uZE1w&cz}J&NQbpbe;ao(35w6=7XI)nIb^tk8?T~?_PYlq`XAU zC^yAplBCfC|Nglhc^VS5@wC|c_)?x;SSl*jW%~@x(WZJA% zuSI`z$1+Sgt;>*N_x9~IZ~O3CeI@6tk9v>I-o)m{XE z)7O>#F&m$#qFGk(f`1GQjEtTxjv*Dd-ri8;Z*q`mc<6t8hNtk=LmEGeEnY_2_ z-n!XFCcyzh*U!(+{r5FUS^OTwQE#JXM9TkO4X!aDIq z{!4Oq_srAHoEGe{Jb(AECBLeSww6n7-n}I9;hS&XivPEqw#nQ3#>jT2V(w;_`987d o__%&9bt=*H{oyYPb9c!JURCwz_LEb7$by7CUHx3vIVCg!049};8~^|S literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_weapon_special_summer2019Healer.png b/website/raw_sprites/spritesmith/gear/events/summer/shop/shop_weapon_special_summer2019Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..4fe553fcf2e6f2f777b235af8b63d78545d8643e GIT binary patch literal 504 zcmV`KM>_Qlt3?}NF8$T zZJ)E{1CrtJKF=EhLI@#*5W)*8KEBlA_P!ZE{^{J6_MQuJ!lvq@8Q<+&0Ggc-0It)o z(fRD5B17ickeu9%LHDxsXUh;5DKl+qRHI$%{xW8V3~@0-{+k+Q8X-e`NEw%@Awxn) z8JDRcLwq#E<+dtAd`=l3wpAGtLJtY4cgPSIDHBrfkRd)a)sT9M3~{mThSXDJhzmnD zSJn)`a{xU>hLmYYZpPE&;V9DLlYC}a_iZeF0+3`fWIlSxBr}fM@7C;iIXea5^}Y$f z!EqOWw`{1d?lV19le9;Y_9kAhH(JyiE$uSeWxxQK;kh+Sa(tQ{GQ{z=YnjsT4**!* zyHd)?kOET*o^Khnynf-#6dB^!kf~{XE z)7O>#F&m$#AyZ-bTX8KyH@QfnEL3}Yh% zR__o`Fy@@RI{9G2rVfcMXObjm@PxVg`FOv6Y-n+$w{XTgxt;IX*Tw8?e_r?J-+5V& zNh+Q|6g1_~kFHaD-ltxQIobJRV!9^7$&0C?*@lXSxgHEo^Oin|Je6UQU?Ov+%K6{a z)=hF-Zul_#u(6cBAF20d#wx3$EmMAoF&%JC&VKaFFIl=F?muHg+JDZ5vv)%o=H=h> z^|*UZv32>yzn@JR*7e>;H2A$kB_5O3GhciUo}-9cIqP)NklR$cU3dsuV+T0D>ayw zKh>C~O~W!IM3+e?*wxYEmr1ozcTo;$_by|<`Ta`t?ViJO#^#utd1fnDne9bnNJvA{ ziM6zcmn+i$->jUJGp}_rBxILK5Ca@8&H=FY&*cm=XMXo4*z_wyT8!9isdLsoL{XE z)7O>#F&m$#q2&g>^>z#ljIy3Cjv*Dd-rh9iYcddNc)0wdh}yj)XAfRHD{N3Lk>+>c z*ogwfhlHMD|t6w_soj3dY$-TP+PDHi7Q2OGt@tU)G*g3_mb3zopr0M8_t!Tq5v)`V9ftlUY#WAGf*4x|m8N!JY$3K40DG^kc^-^wq@MQj_FlXKl zg=+~bBSW}!O9EIPKU&bdl}pT}Tg+VCx`S^jm#eGBq6L#V(mU0bzKRl1=F{4dtEjf-rfE^C>iJgf*_#IZ*P5ri&Ef^@ZIZPhh*ohjXHk6 zWQV~*Md6i;=Wk80-chh&yTn4d=M@)|dtZwk`Vf)SDzsCf=(O-=q1xcqJu>h8=S>y9 z$D2QW*WTLcS2k~!U-D1V+jFkX{{t(sz3x7Dc^Y>y!{^=9^XIMC1Q;w_k@UnZDoDtY zJAV1;OT4eL%jUe8^f>vi_0oSAr)@ZvlOEpQb+dP$;qONmWlhWWZ;TCg|Mko=yf41u zM_}LccjqO(Ru@DpOmKRb9~v0=^2guvrcdYmSh~7sL-pV6mHhJd$-Otj>$?nR&pqk6 z_s6G=@AoR{uAJ2q8KyCjTWP!3Y@Ve@)|b6LyUf8b`^ITj;jXQ>BQ6v!F=sSdd^!7H z#f8}H?{>*=b9zsP{s}z71(d()+P!u1mESX?G-cm!;ZjDOXn(94KukK{7oGr(yRQR!dxnOkM0_b8q7I=<$fz>J#z zN6X(_(r=#G)(HyOZnw@m4uNm3ioVY0tGGBf>+*ATN9!8_$91%)aJnvb&s(6ucQQS> hwTY7zDJ>>`5NBEXbKMc=cu>}1@O1TaS?83{1OV&_gp~jQ literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/slim_armor_special_summer2019Mage.png b/website/raw_sprites/spritesmith/gear/events/summer/slim_armor_special_summer2019Mage.png new file mode 100644 index 0000000000000000000000000000000000000000..e49a161e0b4941cbd176fd9e0a44c1baef86ed06 GIT binary patch literal 907 zcmeAS@N?(olHy`uVBq!ia0vp^ML-7 z#FCQNY?%}i=GfV*sgyBMfn$-zH_IbV+#i=;c(!OklFHSe?FR*vySma>`YNouyFEVP zSV6*`yVIYqjGMOeX5_pxr=PrgFv-N%JD?_POEu$%e1|0*9U_bql@x+lT)G-O1O+si zlw1c;@X)C;{RjCfoGQw5 zW$DlV>Tf`9cAE73{;^M2rB(;`uRmUVeO^@Erw@%!fBoG!?b%0D@2!V6HG2pa)ngPs=1qUnRPO!hx$etM}@f<>gni zPB+^|>+Jvg?eM3?X_r4;SwH{a?_=+#KA)8eRtGZmO4-{DUB69CWMqoJo?EN>{ARdb z^uF4ff|J#vtYx6^RV=^y%D?mR)wtdJ_TLhhdH?#$k(GCEe)T@z^jN&VaJ_AfO2zt* zCvJTzYl0dYzSi*7WZ`Ll?SCY1&7GFd;~yx zJ9H2Cf#UDUx~Sy$#q;iMxOnV`*Owos-o7aL`eN19e$A=7nu_~)_H3(3eCJ${TiGlN zieQa1$0OGJz2oWIS@(YT)6e?LbI2XaDn4+^0jd zb*zDYxPEn4#=?pDtY^;e+q`GPvNX%EKHJ^3zfJ=0FkGgm48uYYFFdh=n2l3RL|Ep#!FvVF!Z*OnR77mnQ|Iodo zgX^la%-mL|qrTcABCL*DAp)_hx}6J)M3yvj{9~OPv!z=}Bcg?Gk%C57bA-TLSMm1C z4<0?+8C!SCHaR2t{iO5hR+FYzbH1;OkGr?`v=Pu+>>y*KU-Z5gH$Q()z59A{_4m-@ z;p<~1Uwn^=-xE0Z^UYh`x6JzG?OtukblARQnR_>*=+4=~n+>DB`@EIU+8=-IURr73 zowgsL3zep;-M;m0M(w7eA5|4)b)gnZI8@t@Q2n%i$#-zjUrz&)m*GO-qFNl!T6s%W=QCYkK!B(pdGF`}6cw zk8>;Is^`fs{JZw)(tUr;O3hX~x$33ube-zJu zGuQS7XYagkU;nCF4(Qs{Gs@;))9Y=mx&EcQQC$bCnoGVI;|@bWX|Ifx3BF-S=(DrcW=#o z)Vz1)&G)Onub19GV*%J3yio-^rt61(tX8wp6O@0`yZO=mZ{Jr1@MtKN3w*p5VYhMj zx3U`xUp`(t_vWgAiQOl1SL}DmSm|WA01}}WV)ip^ZdlAFcI!?ONW|0C&t;ucLK6Tt Cd@@1+ literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/slim_armor_special_summer2019Warrior.png b/website/raw_sprites/spritesmith/gear/events/summer/slim_armor_special_summer2019Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..4a146d8b04719c28ae6b4a9284873f1f475b6e7e GIT binary patch literal 670 zcmeAS@N?(olHy`uVBq!ia0vp^ML-E#}?rPs&Iyp`I#{cUXx0nx{Pf(gF z;a$zpoH9pFPWQ&Q-LKo$zSsU&-F;Lydi|O6mFss_=G^|Zd)=NlyEZ>aP2Tf--KPZ!`Q^WFr=L7wYr9)ueoyuK>B$CLZ}SUlge?*B zSt8`&cBuQ-OiPQ6_GdF(aODiuSwE@b{^QZlAAscJ|tD>&@Gy zJzr4ssGQV*Dp1uEad0@EJw*R#kYbw5&*A=KjjWW|>%T4>ceq-IM zKcBb%{-3+XLv@A+1H&IXM*H2f{p4S-y9bOo< Q^Bxr2p00i_>zopr097^`E&u=k literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Healer.png b/website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Healer.png new file mode 100644 index 0000000000000000000000000000000000000000..bbca1c1dbf48d2d1fdbfaae3b55ea679e3392ea0 GIT binary patch literal 582 zcmeAS@N?(olHy`uVBq!ia0vp^B|u!x!3HER@uhSEDb50q$YKTtZeb8+WSBKa0w~B{ z;_2(k{+NwNOqBP8?V0}!42(}bT^vIyZoR!_ukRcv!Tw-c9mD362b9=mw=i~kst5^g zzICQ-@!6DgLr)Ktq?Ijd)701|Et|ZMIktvbaqEe~_Q@~SRfB!!H`(!1; zZJSn+xmLFNUtMXK&WE*%_DqeJ4twnl+nhi3@`pV&UuDi6@4deM`WC$_>p4X=w7x%| zWE#ESZps88r&eWiuHkC##!D}}zC6B>-rB-8lD&nRM;_ofD@Q ztlP$t=p^_;!Q(G?t-9&%$jYv~ZRORwAJ){z@jd_g_H{vBj%lpXi~yFb(|_-HNN+t7 zEq#AqT~?uX)K0LVuXfI!x6kTI9{X;(IV*r=RncalwfEcGt1SH2%dLzT?s5ptdv;5< zW?zP@{~5Uz5P@}zzV6;oBXsVnoA2LQ0ga1_uCC{FUGV4rsorb(pR#4;Wx3DC+RXq- y6t9i1uQFc9nx7oE6L z$LxE*;a{7gA`fSx2ZythgwUZ00&Oh@DlJqLI+AeNd_rpEwC9ySK1aI-KJmTpFKsyy zXw8r7SEbfpxbga5(fRC{&Gye-fc7u?1{6D0(aN{}U2F08l(jF{JHLi1UVd%i)Qtu2 z^4_}0OTMhEy&AmEe{-rI$f=*K{+)K%Bjlf+UKM9-Z!LcAdb#<-Jw@g6=Pq+Ue)y;0 zpU}B=*NoIbp4+)Y=Uv~Oc6tsdY*aozTmA0wbF1F#X?y%)H{UN-0)|@PZ+@0vyLNVozRJ=C3rsu` z{MtW9PJY>MTLnh2<0eI~{V4qM=I!i?+QKiNd!y}EP6K<$BWdd{zu#a_D|KF#+P!yI z&M&d3lbyiOcM)2BwVd_Kc_@49sjo-NE^oge1u?Js^VR(N>eK2s_`&>pjN%h&cX7;5 t6bB|7p%T{!Ao6sx@-NCv%_~VP$;{7VFl>o<^ByS6;OXk;vd$@?2>@psAm;!8 literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Rogue.png b/website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Rogue.png new file mode 100644 index 0000000000000000000000000000000000000000..44af977dce73f6c69a538f352c480cdbc51fe150 GIT binary patch literal 706 zcmeAS@N?(olHy`uVBq!ia0vp^B|u!x!3HER@uhSEDYhhUcNd2LAh=-f^2tCE&H|6f zVg?3oVGw3ym^DWND9B#o>Fdh=n2l3RNV8|5-)#m4CVx*C$B>F!Z|~S=2M3BUdE+$gE3~#u8wuFb8g?|S8Qz(aSha9IrCtC&bAlXYu6~HoO;_f@YudiFS>1N!! z<-h%&heSs1H@mdcyn4bpefxPn&wI`1mi+tj)8XgTg&ZsNzF*HXn|AZtv$}6T+pnMg z{A#jz=u+!x_ZvTHI}2XW)Y~b3NFX73>z|8L-PdoPTUcW^Ykqdh?weod-gR8}=h*K@ z9iLMryBdmoyx#qre%QbyVujYimo@1dXP#Rdc9T=zR{#C>!=FDEPguzD;>*f68qc3g zHOI_c`>H7UXYBo(XYK4yr7MA~d0Di0*XOG{HU?Z3oqZGNg^=md-Zg8*p6@NJR?O49 za`$5I{QYPeNZzI!l z=5FV4b(neK;Gqd2e)I3`o2mDHuU7izjXLXX>ZZS)HW3)QlYU=+TK*zmLh3{S3t9yC Zb-ve-I8+py*BSzfc28G7mvv4FO#tSbM|A)I literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Warrior.png b/website/raw_sprites/spritesmith/gear/events/summer/weapon_special_summer2019Warrior.png new file mode 100644 index 0000000000000000000000000000000000000000..b440f9001c287598a6a53f22048a717af5117908 GIT binary patch literal 873 zcmeAS@N?(olHy`uVBq!ia0vp^ML-ybYEk}pTuGQm zs>fbzX75X`O$$30cg~VfF3punk8xPM(OH(qjjf};QMhQaa`O?_R|_m_^KGYp`zEGm z_qT3Ya&eXBp33=i_ShP70IgZ#feH9OFFJxta_Mqa;>|Y+urJqo6YX-T?-}v#W}b%o1D5%lw{S4+7-Nxwx3`9 zeZPg(>ubm3@16bqeX1*1nb$Y@`+0Unuk(@$9zUKHeSMkuonPO+AHQcCxbxAq#8SQY z_hY$aLFRPKjk@1rey6IY>eAX=o?Acmirp=L{nXfh_P*!0W~}YitN1Rk`6k3YM;aYM z)>R~b_~thsv5RejlVE4Qavdj)4)zdJ8^KbPnGt${sui=n}8T`JF2@Es|UPW_W)+U>$r{R_;~BZU(5gZ*X3Wd-?uZbe;6nYyHY+``+`OIb-(n ziqt%l`ERrD)vr3-+b80v=(@!{`~38kx0cL0d+YfbbL;a_oj2>D;bEdTch@|Th3Dix zhrXYuawG>Teq?=5&Y5Lb&xQwj8qPCI>%3R&DbiwMNV&C z@$2gHYt4?3m@V4n={)!tFq=P>E{<5P7;;`4?rT=9MItWaj5F7`8;b Qc@I+U>FVdQ&MBb@0Q|I;w*UYD literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/npcs/npc_bailey.png b/website/raw_sprites/spritesmith/npcs/npc_bailey.png index d5940b986bb48e28954dbf7234480f8421353806..f6ce232f916c787c7b9f3bf9a83df31202a40ae4 100644 GIT binary patch delta 1145 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 delta 1639 zcmV-t2AKJ=Ba6N@-KV6&r1TWDLU#yGv>8 zA9ZU)YikhZ0<94GBdw%_479up0*N+g_5%zvVoM!?S-K4Fr4cO%nzkCXX3T13zeHA9_;h#ibk7!_1%k z*yMKWU**6HPiyn3thgc7Lm0}WVKOAiq?d!6=@TY|m`EZGq zk6ymL>#&-1Y-e2{eUA2Zp=Y;fp+ug@=M3hl-uw@xfBMO{N(m@L)@emU$?_eM52@s3#UA&~ zCBe-*tm;dcV}yY61myd)P$Ey{b4pCA`k2>CnB!8wqd0#=o`JoRXf$fFUMQ>*iNvx# zj8xS($qI5Yr8nuMS8Q-kKa;ccv``{nAjo459*stoe&+ne+V<$#vsJ!3 z`u-QRP$EzHC&k{Dv%Qte{RI(n5)RZp#Xjqcwg7 zF`ql9Cm8qiaa^2_3I2$Ab#=9`c_x!d8~ObrJ0@QK)V_A5uW5^?jrkJz2jcx{p+r8%y}a}b33EJJ(>~ei$-}l)9jg8CWViE; zG&SCnGr|1zJ7Y?}=dCGU51(>xK;EAgO5}4KdDlL>_GI1OJv%J$$i5PRg9C_prM7>( z?pKPgaBdxc_%>hnF3j7sP$Ew+|6dHz`Nks$@@xZ#D>b=-iHj?LJ%Z3$SZ_Gb?`mHdTYY+u1Y=IkkXJ(K}U zn|rlw=Elw`{lvhRO5gly6)lv=7lMD6N6gnR9(VMrOO)OZ_#@`~@4ZpK2Bj_qmQF8i z?$zSI{pAlly*%dfnD4tV*B%TW9&(nExnC_>D3LETFOQh_AG@G!-vs#IdXw{CV_IH2 zscnx-fvb&lK3~aigO6&_M!}`vvR%)LpNnp+uitbI7+-(aGy{7gA674qnAd-me50;k zdu18m?A^~tpJ()iRGug9mOvQV=#vfe;`f^CGv%a{Oqjr`pi@BE+`#0 z>?XVGwfB}4d;k3~e@EO*g7$yqSW++%z&gXAP>Z0268YQ~v3!S>^O2VFKn6Q@@<*k2 zjq3ycCCYbc2k@@CglBu#=Ae>YS2^}K_|so09~Ui@$cMnqyphV8XWjmZWgEtJTI19>fO>5ON9ysst5B-obbZ+Ne-_OwtUpQp&@^rQv+BmVyr ljo*7c+tWgcd~VC%0{|H#yIS1gN-qEa002ovPDHLkV1f_(Rzm;) diff --git a/website/raw_sprites/spritesmith/npcs/npc_matt.png b/website/raw_sprites/spritesmith/npcs/npc_matt.png index 2531f1084b244b572e1de6984dee8b481fa54ac9..d29232d6ff794c9f355cd8af1a92b771ebf0ddbb 100644 GIT binary patch literal 7062 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 literal 5861 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 diff --git a/website/raw_sprites/spritesmith_large/promo_orcas.png b/website/raw_sprites/spritesmith_large/promo_orcas.png new file mode 100644 index 0000000000000000000000000000000000000000..dd5e7818156b9243fbae19bfccbc1603474f5eeb GIT binary patch literal 3197 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 F{{V&wGUosQ literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith_large/promo_seasonal_shop.png b/website/raw_sprites/spritesmith_large/promo_seasonal_shop.png new file mode 100644 index 0000000000000000000000000000000000000000..037fb5bd873ea04d333945ce3cfed921b7d8131a GIT binary patch literal 4060 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 UKZE?h-@^&CHT2XGsxRLCAN_XglmGw# literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith_large/promo_summer_splash_2019.png b/website/raw_sprites/spritesmith_large/promo_summer_splash_2019.png new file mode 100644 index 0000000000000000000000000000000000000000..05bba0c2f739a6e2fb127c1409f6d53886887111 GIT binary patch literal 17023 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

    gW9AvP|o9iK`hKTRz2TMatgIf5wL~9X!G{_WZ zrhbBe(v?d1i%b|%Z0C~)xTUZHNK@Oc+M#m&q5I8ClW38PphgRZe$%_B0JU-XpAt}m z`s}9$2W&usb8O@rlBtenT{hRcSdt~JKw_WR9-nzzg=^$2?G3m#nP*2^o9D3)Lo4~@ z;X-<(X?4_(1EOroE_GyHF_P>RQFb!* zywnAS1SCLC3>&I?PnN5Q^WqVcyE#X9jt-|nr!xU4Hn<`!&zeWJy^VC_>4F+$+GU#C zMH`QQJlLlztXEtokquRZU?1^3)wSBJ7$}_@9b6tJp^hUR1+?ZPwF`6Yy8>>z*CeA? z<95d6Yb_CVu|opvw!6HGc*Kpu5?y219q z@RrmQ15QH@h+2L7ovEhs4XjEmkWTATbwu1Fh^U{d7)LjQYke*$w%{4-gE1XuRCBdc ziC$!g>Prjh4oqF7onKBkKGtBK$gcMFceb^Tz{I{5H!`aOPGkRYXszOriYa`pKRRLU z8gu-BZ5lO&eb@{Wjx8g#w$0gnLstC;NXYDmwTsAi(0bUJQZxQ@zkrNFdU8__oM8Sr zW;p!%(c+Z0`}?cEkk;#eNNdAZtF16OH#7TP>D8>G@}inG8|T)8TsZtjl-O~sQ;x3? ziLd{1yVT0g2S*pW(?qo@kznMdLHfh367U6_Fijc6(*8<4gSNK2Hc^yLaR=R`n)!$K zjv?n51tJmE4=WRBM@K2+9sY(Yh81>^8s8dGfp4Ul$Mr(e78{0TL0|HgDJkb$DG#BP z^@`{GIQ$_m1dOny$}+5eUFuB9>M^)&5{H!r(t)`T6DRAncQoGGFaje9+}=Yr^P+8h zacYyXTjAa|V175EVY5jW>lAi4t4T9+U9OA=Y3o_R$3ehl( z1VM6rT`EthwYQC{@e&&kVf$=bqn1U$49WO9TPIG^yBT`U?O8e!cr({7a(l<_Q#UHH zjj+wJz}9<>R!Gz&E$^k$&ZkgWD@(Ai^|vj$r-J@#zZ6|>$i-`SbSkI@Ag7usN74y; zRc_azK|!Bl>^U6vF|nb=@qv3<5wE0h^U5*mXGQnVYUVg7aO8}P+c zwu&V2?e+#aG){A?vO~Fs;j+~udr-Su&sMfmcdfQ2qc1#G55m8U_2R+pF(-n4U{omg z_H%Xn6$fK(ODk+ZHva4O zimJo`ZGveyD+!3~*kcKE8GPN7`rI|B=9UTmGCvANEs%Qhy-A)^SUR}8zvJiS97Bou z$kgH~%ypBTt*c`ai==pO=S6&gq*|9rACb&=cC1;afzzbc_cR$puX#0ctpwyu4@sH$ z0ueP5+Z4So`4kId`Uq!fd42a!EF9P@oMt%WU_}Yb;<3YTO(X}*$omAW5e#UcG`*s-wvC# z95h=UszWaWy1k*dFEw}u!-wlAhk22k#CxB9 zXU)o{rR5wI3_S^Ji8ewou7^A*~af@`76ITa+#5LKo6y<@)d zqk2vYL~U~^Bf_zH?zTRqF9qt}NTTHx*y8|FU9tf9O3RewO(lJKL&SAQSy z8EU_&qM0P-8%jAiEbHiB)uMaN>>Ek(8GOVj8V9OXWa_VHS(Q*lCE))g8v(67rIsN* z>hzuu*DL&KHebo6FNM2~7x0f3z{QCC-jtp5-zEhn_AN_l}N8H=dV2^;KX3>ndBin0)wca~pikXfvxoTgTzy;o1Fm-aE|D%ewji zi$IEP<5qBij@mW#U!2X45C23Af>35<#hEmQPALKtK*VDb$`Ee4CAU_y&u=~Z(p}S< zlJ(qAVHqYOVC=x9jU^50b@D)JATgTKkssb$?MkNIEa#9Dc_~8P z0y9_9;kN<0-PUQ}J24x<+jI*^CF9xg01ac-AEvN-R%#@}ApMcC8GtUkeup zqH@h_ix@G*Q>OiZ#!^Ar5*!0;SgpMhF`0t-Bujl&U zOmrNDd|=g+Fu6l=U|X@xFsoS$bbv8~T;wEy@44|lM^D> zMz8F7VL=)Kt<4hgl~)LvuT-|B;59CH^jdbvE|4pET*!B$EUGq5;x!`O{+3R|9zo0) z1$00cTBMdW{KOZaqIfjAzKF&sWI~@gOhRJ6=6{HeksWbIvK~+0UyaODAmG_087EiN zvrlWTKmJwSWlR|$HkK9j<2MuVZF9K3>GZMauYDhQiI(n628fn}Y|M5s;4vGYMbC7D zSW_N+2iN}Ey*v{#SvPjV7$%#w7lO3fhTRu@;um!1b;^LpU8jGkO?(r@odUYNdPP$+ zxBT5ElMjvK^af|`oyqD@a@&pR93Ss9jB%rf=B8M^bBjhPkUO2MHo`v7m7Aws^TzqL z!4;W%DaP70g8(H%)^X%Ig_~-|*;rET_Gst-)$y%+Ud`n6Os$BV>B&5>k`%&H#S8QPJAKxp{D-Il zfyx)ZvRj9#7uW`lN4_F+zO8khJM?d*Vu)r2JL-7yuQ0FnGru<})4#;GJTyZZy=vtW z=G@{)EWKIx&y-uv6bHFv;DI-Mu9JPTM${vfn#lW|l~IVRc=s5-D$!NGKz~h!r={xm z&UP49#3!;u$RuaGC|&uE2R-iz@Dz>%5+CF&F^A1w?Yw*RRkB|i3rfUHY+GrdHCr-2IT+w9V+|NqcCCCL;k ztB@x$N>jucoV%_?gWnZ&Kz~NilQZ+_k|n#57(f)YC%mnZ4x(vze-GqtCE}Jf%Dg~(=b-xmBmcr&fE&ekjKv zNekEPJ#T~8k6@aM^QKzzL z;7^Gd=l}TDQ?0mRrniZ^bi18BJ6c1}F|&&J%W(na-|)6a9}w$33Fw=XDsy%L$_8#< z@QC<|$r_nZY7;bB50L2w6Y<<>JN&-&T^{vC;P?eEHv5%<2@Yjgdg znig(&G?ia}bF4~lZ`q7TnEl;=ZZxqN!;~PQ+lylm=2NB75zOp_Pt%app|N9ldY_GA;N8E zk~3vtzusCUfd;Pb-6lVR(%CB3fM3AOSY)DJEG7i9ALNp{C)N2cPqUk+UAb?TTrxTE zWBU#!h+wyLy2n+w-pxcfot|Ra9;M4}qpeSkd#E!OwBCmhKPA#2z&ontHOJEqX@q~0 zCNS;MLEYZ3!4c+$Eb%CyGXWRowe1*ncP&H)%1%l_uHzkuNqaiOogYdwCe&Gi?j2jS zo7>IaTyVS`R@z(@m_hMbpq3#3eg8&tP;eB!R8n1~QMvTpC*(YL9ev8*|OUh3D~^`GaSq7ad$k_VXKkT=G7fgEj5DD6q?CUI1lEv&{Tr)cr9gZwTUM zy&85IRDV1CmUsFRt4sCy0|#DA^8pP*6=y6>Rq0R|v267lX-c=>jEO5@S+{ADeG*J( z&_oIv(7rE63)0oZB06YJd0otlXwKi|6$`Zpog~ zLJPO4tKq}fov>B6*;Ea(#lECRwympW9~H{GuHuF(vRw>|rIz}OAsfi$!%F{WKPO)N zB#Qo49{&|HeunU_+Jzc&ZN@&ODH|86Q?AG@whX57_#Z`FAtT9kC(?qThXDb(6LSjv zp2GuM^}4v>iSY?>ro@|FzmorS`^%^iP}Cj}m4`$9g2V0W@s1;%`l35e-{PS7tUV)k zhgXcJunTmNDh}BAzx33&Ztf(Q=NFP8A#W}EOcY~4Fp4muL$aWh6Xf; zJlx^Sq|gq@q7&cu1|1x`-kIrFz@7UJ4Xs~fuG4L1TD4_p%{{6(fw#%DD!1@R8S zSHWWtna)lyynp3KS6c)rQYdd!m?;zewy`{F)GwbnT^_YeCi6o}PV#z0N84^J$VpN; z5)4(~#J$q}I#79=F?KZ^?+hkC!@Y~k>jJgDkc<8y-hAB>n zC&_Puvb@dKRjADhpMXMO&<%ugEpd zIFUW=eS|F!CN1pzm@|WB_rDv58}{s#6k3ZKPI=LMdq3vMX_^LIysl$@Urj{n{6)7! z3rWx$k7GCy*PWua$iQz6md3=Y*<1xXf{!MHn40nZrp^b4e9BHYHuhWa@24+uj_{oo zuXu%&L>-%JMb@&K=B%%4!qdHgwt*6Dv-o%V57u}xHR69U?%`ZVMh)=v)lfkuo7&`tEdZ z!a%daO|jvl-MIgP)0T&Zde=dlwT#;(_w;_tONlS=D62x!e?QkuJNU!AZ|4=)8j%}y zMWURVwgI{h2gj?G6Vp<}+*oW~5vK3?8yUc3k@ zbQ#P)Zof2{HDzi4GRE7a9hD$)qGpVF;;jr1* zt7M*a-SdP^#6h@SV4nFSTQp28rZ0D}pvQSZ^!P0}-Gmm$T$1UzkrGxioF~*gBw{6a&Qf=ev68Z+JxhsupEnm#b|2k<;nyXTJ5yZzV7~{!@O^O9%S;=OG(-bWA8i)@G?zc7m6b@Uf_X$kE=v8 z*{o`n@&Kl%=}UZ0?-C4|QYueRcTdy+mH-RhAkJ^+vLi6oJNJSA4s-t}8a!B0;bm`| z8Mi*0Qdd5eB?&cm<${z7^770*ydeX!?2BmrMn@;icr(G6WmW^#sqz<|4vUVf{CW8z z;xV@k!S({i@^jxkX6xO_>%OvqQ32Rs>I80NRRl#>!X$_wdPNbE@#a_W?KFrY$fa`k zF`)i6sUNjNlEd{K7z`BF^jb&V$ED#kL@XSTnCNnQ1k zbVBvuQ3e5ge9JgECDX1l-&c+^Z$0~B)Vt;0pO^ittCrE@Miw?-^JH$VZX}TH-CApl zx@kMH&I}@2IHrTo)7Zj9p7-ncp&qR_#^Ln{tuSK?FnW?b!pnla!(&B48JLAM0kpHR2 ze?9Cu2X!|D0rZ$ZhJ zjubJ>m*;}z1U&H2wD@HmbQ7)?n;)^41Z0v9nx=?15+1@p6L1c1zczth2QK`;CYW5a z)%Oz*#tKl;v5mKC6HzuxRo95;d4KrsQnYhhy*h$`sW-m5=|@LeKweGw9z%}imwAvECcO(#^7i16P@#78pigB)=u5Lv1gAU`*zECg*P6#rU+^+w|OJj8t%Q7 z!9+d`s&17JNgV9X4~DzU(w`%5ZG6z5Z(L7~>I{ z^|Mv_)a7fKyihwOXUi^pA`4@1EI}R3Nldko1h~KXHdXD*l+d zT22H=Q;s<=aTS}+GO6-sh}Mf4e<&MS6B`kL=p-z{0}Y$8B!v@wDo(2|AXAZ`uF^Qv zP@XyI9#XI>TD5K$!$wI~jZqf61)$^8UXeeN4LhmU3#YAm2Q7cPyJjoy4# zJ-cac5NZPtjwq|Z?>Cx@x6@53JNIIB%mg2E3KUsQst=VN(OG$IZR|YOWgLyrKCLuF z7oqwf?lJfx>RSsDc#ADtNshgCvDHj6DHuDdU!@3gJ^4~Mo(cD!qb2$hhl5Q^!J_d_ zSk$2HPSz`&q7~Vr<)Bir-bZP|rdq~m>m?-dVP!eOzz7h_mdO@KlqZiIb3VmJMA*#1`GYyn-Z7Ktd&gfC~{A_vX3WY)ieW<5^i63 z$%RmY%+qCEqhNhPJ}u+kPZ~la!J7XFw7a1R#VXA$dGPw zTqeZ;eML8^kw}nd#ek666Xp~Rq%I+ADY)m=@5j}dA~|@6 z=noubzfW&H@~~``6<{=Hy@t;f#FihS@QW+o{dy?%In8~NVwxA)%yg8$RF4l5mXEtb62 zpqOEfrGGCFQ#v5oQ&I&6s@+Zp~0-!3+v zAp1dV)?$)lH9klezQm!`?;s?MP9O?J2<3aZKLO=Yh!0len?2tYs zvK$EI@hrCE;wF}RRg*zy2aCwhF?QC$u(;g6jkz}9= zt27rp^mhb+Z%e&M-OZ<1D|Vcm3!?xFhmnxL7ZwDV5N!=bIk zEc=bhCtYq;w8TC`5*z?J9CzAZtIV{T89e`z?|CGz2!02ju`$-{H~xi1F-J8C7MHHn zKvGNQVRe9!aK;vTU6WaH^xX5839KVKob=RXxS<&)2pJMm9N7h(xXtsGBG1q!>%9W1 zoc9>Q)W&2b`BroQwYjuWMxlqwA_Kf9UzVnPVmL#fC?uznbhp*5=-aH`+sL|KY~=S%rmH-W1nnAjtOTJu_KT1fzQ zkxIkp_&2Jl$fE+8Oa@s!(Q86-ll=F#(QOpaD1v{>C8S5HRo=Qe(x@Vk0TyfWd&=WW zcp@C)?(nk-7Rh5#lEJ9xrwMo?@Oz~pkoi1Oo>q^Es9kc#r!m|t#>RvEcf;H-B^%1U zw9sN>0$0cczc8C=KS}cfOy<#A17%8U%ULZ{FcA0S_?n8}2Uq&M7or8#>_2Pc+TE>ho~c<41%j!dLJ??|3c!oqQ>^MBIFo>|!IxIN_8 z`Vx(@-MPj>Af#`mFINd8n~wy0h>)7Wa*CYNWLwe~ zkJjUo@dSxV9N21Fg=K<`b0Rnc7owF^o#qKW&j3a`l@a+Br>_g}Am9DV`n53OF@c(0 z5aW?&6j_!ou<6@``AeihovE%5~n zP9mWJ-{(+@-?4nCs6*OXtNE$Aw}T-Z3=1-eU^elWoU><$vU8}e<`TtzdHlw7vO;_F zyK!hwSqC6f+)yP_?_ejhz$Q|e92}#}w0pwxgqbA7=iV%pe}Q(>$qOPZ=2(!HLR>9zLMdj4@Ul{Hx=8wu^NK~nrheGu-I9_ zzRLGSo@0AD;jjq}4=f6@1*fO>fGtlZS_h!xeIWX~FXMpNsPHL7Xx*INN_h6X)dXWP z>b%&N-Dmz0aKdfqpgxbERc>E40o`M0R+|4vu`B7YaJ zZ@N`GagNavy-8+B{1qDXJa?omjAEFWz#8nRse&L&J!`EybcxrQ3br=;;Mi6@(^E-> zaYt+wS=<=7JyE-9l)l8hmFHn@O-iIRRyl+|n)TAzFtM-nnm-U=z90Yf*`&3FH>t|$ zMxX87gS{V1QPs!m6`i5#j}7OBCxUcy*f(pAIJ5`%{P8fHQ)eziempUBEV|fOoaxIAl8?{yyJ3R8{WyRXwJE4|MAVKkScx2CM#7NB>W=b*XzM z_3RlU>L1SqK&${U>$@RL)4BqiWZu^hAe>mRiZM87hm{uZM%^0o<(bUj#g0Rri=&j1 zD9|$+dAXS9m4rH0REA6*mg~zBUbxOj>kSq-gxa&mgLbP!OmRcZZFN$smuJED4x$9I z@&x!fc&wrTAW5rnlbKJ21eCiveG{?=d|Dq_<&FzVrn;g;Ti$Iolaj=*gO}C zehYf#*FrSi4|QSGcJMPoPeW|i9D6oySJ-dTSkRyXUSkVzx&iFo!)67c zitK*4?NJ?`@<-gnxf|xyUG)Cl4(9Q(ZSTpB<<3CwlU8n6^A1id8@{2LA)(5vShk%w kHu6+Gi~pPef1qgMgy(Z+h}}OuJmQ(Gq@qNn*r$O12TI%~7XSbN literal 0 HcmV?d00001 diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js index c1ceaf8b34..389bad3440 100644 --- a/website/server/controllers/api-v3/news.js +++ b/website/server/controllers/api-v3/news.js @@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth'; let api = {}; // @TODO export this const, cannot export it from here because only routes are exported from controllers -const LAST_ANNOUNCEMENT_TITLE = 'NEW PET QUEST, NEW ACHIEVEMENTS, AND THE RETURN OF THE ODDBALLS BUNDLE'; +const LAST_ANNOUNCEMENT_TITLE = 'SUMMER SPLASH BEGINS! CLASS OUTFITS, SEASONAL SHOP, ORCAS, AND NPC DECORATIONS'; const worldDmg = { // @TODO bailey: false, }; @@ -30,22 +30,27 @@ api.getNews = {

    ${res.t('newStuff')}

    -

    6/11/2019 - ${LAST_ANNOUNCEMENT_TITLE}

    +

    6/18/2019 - ${LAST_ANNOUNCEMENT_TITLE}


    -
    -

    New Pet Quest: Dolphin! And New Pet Collection and Pet Quest Achievement Badges

    -

    Feeling doubtful about your ability to tackle your tasks? Could be you have dolphin doldrums! Get the latest pet quest, The Dolphin of Doubt, and earn some chipper dolphin pets by completing your real-life tasks.

    -

    An important announcement regarding quests: We’ll be adding new types of quests with exciting rewards like Magic Hatching Potions! We’ll also continue releasing Pet Quest Bundles so you can work on completing your collection. However, "The Dolphin of Doubt" is the final pet quest we'll be releasing in the Quest Shop for the forseeable future.

    -

    We're also releasing new achievements so you can celebrate your successes in the world of Habitican pet collecting! Now you can earn badges for your profile when you complete certain categories of pet quests and for collecting pets and mounts in the classic pet colors. We're kicking off with: Cover Your Bases and All Your Base for collecting all the classic Base pets and mounts, Just Add Water for completing quests for aquatic pets (including the new Dolphins!), and Mind over Matter for completing all pet quests for (normally) inanimate objects.

    -

    If you’ve already completed the required Quests for a newly released achievement, you don’t have to do them all again! Just complete any one of the relevant Quests and the Achievement will unlock.

    -
    by Shogirlgeek, mewrose, Aries Faries, khdarkwolf, confusedcicada, Lady Tabletop, OuttaMyMind, and the Habitica Team
    -
    -

    Discounted Pet Quest Bundle: Oddballs!

    -

    In celebration of our new pet quest achievements, the Oddballs Pet Quest Bundle is back! From now until June 30, you can purchase it and receive the Rock, Marshmallow Slime, and Yarn quests, all for only 7 Gems! That's a discount of 5 Gems from the price of purchasing them separately. Check it out in the Quest Shop today!

    -
    Art by PainterProphet, Pfeffernusse, Zorelya, intune, starsystemic, Leephon, Arcosine, stefalupagus, Hachiseiko, TheMushroomKing, khdarkwolf, Vampitch, JinjooHat, UncommonCriminal, Oranges, Darkly, overomega, celticdragon, and Shaner
    -
    Writing by Bartelmy, Faelwyn the Rising Phoenix, Theothermeme, Bethany Woll, itokro, and Lemoness
    +

    To escape the summer heat in Habit City, everyone's moved down to the undersea city of Dilatory. The Summer Splash event has begun!

    +
    +

    Summer Class Outfits

    +

    From now until July 31st, limited edition outfits are available in the Rewards column. Depending on your class, you can be a Sea Turtle Warrior, Hammerhead Rogue, Conch Healer, or Water Lily Mage! You'd better get productive to earn enough gold before they disappear. Good luck!

    +
    by AnnDeLune, gawrone, Vikte, and SabreCat
    +
    +

    Seasonal Shop is Open!

    +

    The Seasonal Shop has opened! The Seasonal Sorceress is stocking the seasonal edition versions of previous summer outfits, now available for Gems instead of Gold. Plus, there will be more fun things in the shop as the event progresses. The Seasonal Shop will only be open until July 31st, so don't wait!

    +
    by SabreCat, Lemoness, Giu09, JaizakAripaik, Teto Forever, Kai, AnnDeLune, Vampitch, TheDudeAbides, Lalaitha, nonight, tricksy.fox, and Beffymaroo
    +
    +

    Orcas for Everyone!

    +

    Dolphins aren't the only animals riding the waves around the city of Dilatory: it looks like some friendly Orcas are swimming into Habiticans' stables! In honor of the Summer Splash event, everyone who didn't already have an Orca gets either the mount or the pet. Enjoy!

    +
    by Beffymaroo and UncommonCriminal
    +
    +

    NPC Costumes

    +

    Looks like the NPCs are really getting in to the cheery summer mood around the site. Who wouldn't? After all, there's plenty more celebration to come...

    +
    by Lemoness
    `, });