feat(event): Fall Festival 2019

This commit is contained in:
Sabe Jones
2019-09-24 18:41:00 -05:00
parent 6600db5c5d
commit 88b8f20d12
52 changed files with 282 additions and 38 deletions

View File

@@ -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: 'fall';
$npc_quests_flavor: 'fall';
$npc_seasonal_flavor: 'fall';
$npc_timetravelers_flavor: 'fall';
$npc_tavern_flavor: 'fall';

View File

@@ -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_fall2019Rogue',
eyewear: 'eyewear_special_fall2019Rogue',
head: 'head_special_fall2019Rogue',
shield: 'shield_special_fall2019Rogue',
weapon: 'weapon_special_fall2019Rogue',
};
} else if (heroClass === 'wizard') {
return {
armor: 'armor_wizard_5',
head: 'head_wizard_5',
weapon: 'weapon_wizard_6',
armor: 'armor_special_fall2019Mage',
head: 'head_special_fall2019Mage',
weapon: 'weapon_special_fall2019Mage',
};
} else if (heroClass === 'healer') {
return {
armor: 'armor_healer_5',
head: 'head_healer_5',
shield: 'shield_healer_5',
weapon: 'weapon_healer_6',
armor: 'armor_special_fall2019Healer',
head: 'head_special_fall2019Healer',
shield: 'shield_special_fall2019Healer',
weapon: 'weapon_special_fall2019Healer',
};
} else {
return {
armor: 'armor_warrior_5',
head: 'head_warrior_5',
shield: 'shield_warrior_5',
weapon: 'weapon_warrior_6',
armor: 'armor_special_fall2019Warrior',
head: 'head_special_fall2019Warrior',
shield: 'shield_special_fall2019Warrior',
weapon: 'weapon_special_fall2019Warrior',
};
}
},

View File

@@ -330,6 +330,15 @@
"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.",
"weaponSpecialFall2019RogueText": "Music Stand",
"weaponSpecialFall2019RogueNotes": "Whether you're conducting the orchestra or singing an aria, this helpful device keeps your hands free for dramatic gestures! Increases Strength by <%= str %>. Limited Edition 2019 Autumn Gear.",
"weaponSpecialFall2019WarriorText": "Talon Trident",
"weaponSpecialFall2019WarriorNotes": "Prepare to rend your foes with the talons of a raven! Increases Strength by <%= str %>. Limited Edition 2019 Autumn Gear.",
"weaponSpecialFall2019MageText": "One-Eyed Staff",
"weaponSpecialFall2019MageNotes": "Be it forging thunderbolts, raising fortifications, or simply striking terror into the hearts of mortals, this staff lends the power of giants to work wonders. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2019 Autumn Gear.",
"weaponSpecialFall2019HealerText": "Fearsome Phylactery",
"weaponSpecialFall2019HealerNotes": "This phylactery can call on the spirits of tasks long slain and use their healing power. Increases Intelligence by <%= int %>. Limited Edition 2019 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",
@@ -744,6 +753,15 @@
"armorSpecialSummer2019HealerText": "Tropical Tides Tail",
"armorSpecialSummer2019HealerNotes": "Glide sleekly through warm coastal waters with this elegant tail. Increases Constitution by <%= con %>. Limited Edition 2019 Summer Gear.",
"armorSpecialFall2019RogueText": "Caped Opera Coat",
"armorSpecialFall2019RogueNotes": "This outfit comes complete with white gloves, and is ideal for brooding in your private box above the stage or making startling entrances down grand staircases. Increases Perception by <%= per %>. Limited Edition 2019 Autumn Gear.",
"armorSpecialFall2019WarriorText": "Wings of Night",
"armorSpecialFall2019WarriorNotes": "These feathered robes grant the power of flight, allowing you to soar over any battle. Increases Constitution by <%= con %>. Limited Edition 2019 Autumn Gear.",
"armorSpecialFall2019MageText": "Smock of Polyphemus",
"armorSpecialFall2019MageNotes": "Its namesake met a terrible fate. But you will not be so easily tricked! Garb yourself in this mantle of legend and nobody will surpass you. Increases Intelligence by <%= int %>. Limited Edition 2019 Autumn Gear.",
"armorSpecialFall2019HealerText": "Robes of Darkness",
"armorSpecialFall2019HealerNotes": "It's said these robes are made of pure night. Use the dark power wisely! Increases Constitution by <%= con %>. Limited Edition 2019 Autumn Gear.",
"armorSpecialSpring2019RogueText": "Cloud Armor",
"armorSpecialSpring2019RogueNotes": "Some very tuff fluff. Increases Perception by <%= per %>. Limited Edition 2019 Spring Gear.",
"armorSpecialSpring2019WarriorText": "Orchid Armor",
@@ -1267,6 +1285,15 @@
"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.",
"headSpecialFall2019RogueText": "Antique Opera Hat",
"headSpecialFall2019RogueNotes": "Did you find this headpiece at an auction of possibly-cursed costume pieces, or in the attic of an eccentric grandparent? Whatever its origin, its age and wear add to your air of mystery. Increases Perception by <%= per %>. Limited Edition 2019 Autumn Gear.",
"headSpecialFall2019WarriorText": "Obsidian Skull Helmet",
"headSpecialFall2019WarriorNotes": "The dark eye-sockets of this skull helmet will daunt the bravest of your enemies. Increases Strength by <%= str %>. Limited Edition 2019 Autumn Gear.",
"headSpecialFall2019MageText": "Cyclops Mask",
"headSpecialFall2019MageNotes": "Its single baleful eye does inhibit depth perception, but that is a small price to pay for the way it hones your focus to a single, intense point. Increases Perception by <%= per %>. Limited Edition 2019 Autumn Gear.",
"headSpecialFall2019HealerText": "Dark Visage",
"headSpecialFall2019HealerNotes": "Steel yourself against the toughest foes with this inscrutable mask. Increases Intelligence by <%= int %>. Limited Edition 2019 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.",
@@ -1684,6 +1711,11 @@
"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.",
"shieldSpecialFall2019WarriorText": "Raven-Dark Shield",
"shieldSpecialFall2019WarriorNotes": "The dark sheen of a raven's feather made solid, this shield will frustrate all attacks. Increases Constitution by <%= con %>. Limited Edition 2019 Autumn Gear.",
"shieldSpecialFall2019HealerText": "Grotesque Grimoire",
"shieldSpecialFall2019HealerNotes": "Harness the dark side of the Healer's arts with this Grimoire! Increases Constitution by <%= con %>. Limited Edition 2019 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",
@@ -2038,6 +2070,9 @@
"eyewearSpecialWonderconBlackText": "Sneaky Mask",
"eyewearSpecialWonderconBlackNotes": "Your motives are definitely legitimate. Confers no benefit. Special Edition Convention Item.",
"eyewearSpecialFall2019RogueText": "Bone-White Half Mask",
"eyewearSpecialFall2019RogueNotes": "You'd think a full mask would protect your identity better, but people tend to be too awestruck by its stark design to take note of any identifying features left revealed. Confers no benefit. Limited Edition 2019 Autumn Gear.",
"eyewearMystery201503Text": "Aquamarine Eyewear",
"eyewearMystery201503Notes": "Don't get poked in the eye by these shimmering gems! Confers no benefit. March 2015 Subscriber Item.",
"eyewearMystery201506Text": "Neon Snorkel",

View File

@@ -142,6 +142,10 @@
"summer2019WaterLilyMageSet": "Water Lily (Mage)",
"summer2019ConchHealerSet": "Conch (Healer)",
"summer2019HammerheadRogueSet": "Hammerhead (Rogue)",
"fall2019OperaticSpecterSet": "Operatic Specter (Rogue)",
"fall2019CyclopsSet": "Cyclops (Mage)",
"fall2019LichSet": "Lich (Healer)",
"fall2019RavenSet": "Raven (Warrior)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was previously released in <%= previousDate(locale) %>.",
"dateEndMarch": "April 30",

View File

@@ -37,6 +37,7 @@ export const EVENTS = {
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-08-02' },
fall2019: { start: '2019-09-24', end: '2019-11-02' },
};
export const SEASONAL_SETS = {
@@ -181,6 +182,12 @@ export const SEASONAL_SETS = {
'fall2018CandymancerMageSet',
'fall2018CarnivorousPlantSet',
'fall2018AlterEgoSet',
// fall 2019
'fall2019CyclopsSet',
'fall2019LichSet',
'fall2019OperaticSpecterSet',
'fall2019RavenSet',
],
};

View File

@@ -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 = 'fall';
let armor = {
0: backerGear.armorSpecial0,
@@ -1061,6 +1061,9 @@ let armor = {
notes: t('armorSpecialFall2018RogueNotes', { per: 15 }),
value: 90,
per: 15,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Warrior: {
event: EVENTS.fall2018,
@@ -1070,6 +1073,9 @@ let armor = {
notes: t('armorSpecialFall2018WarriorNotes', { con: 9 }),
value: 90,
con: 9,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Mage: {
event: EVENTS.fall2018,
@@ -1079,6 +1085,9 @@ let armor = {
notes: t('armorSpecialFall2018MageNotes', { int: 9 }),
value: 90,
int: 9,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Healer: {
event: EVENTS.fall2018,
@@ -1088,6 +1097,9 @@ let armor = {
notes: t('armorSpecialFall2018HealerNotes', { con: 15 }),
value: 90,
con: 15,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
turkeyArmorGilded: {
text: t('armorSpecialTurkeyArmorGildedText'),
@@ -1209,6 +1221,42 @@ let armor = {
value: 90,
con: 15,
},
fall2019Rogue: {
event: EVENTS.fall2019,
specialClass: 'rogue',
set: 'fall2019OperaticSpecterSet',
text: t('armorSpecialFall2019RogueText'),
notes: t('armorSpecialFall2019RogueNotes', { per: 15 }),
value: 90,
per: 15,
},
fall2019Warrior: {
event: EVENTS.fall2019,
specialClass: 'warrior',
set: 'fall2019RavenSet',
text: t('armorSpecialFall2019WarriorText'),
notes: t('armorSpecialFall2019WarriorNotes', { con: 9 }),
value: 90,
con: 9,
},
fall2019Mage: {
event: EVENTS.fall2019,
specialClass: 'wizard',
set: 'fall2019CyclopsSet',
text: t('armorSpecialFall2019MageText'),
notes: t('armorSpecialFall2019MageNotes', { int: 9 }),
value: 90,
int: 9,
},
fall2019Healer: {
event: EVENTS.fall2019,
specialClass: 'healer',
set: 'fall2019LichSet',
text: t('armorSpecialFall2019HealerText'),
notes: t('armorSpecialFall2019HealerNotes', { con: 15 }),
value: 90,
con: 15,
},
};
let back = {
@@ -1538,6 +1586,14 @@ let eyewear = {
value: 0,
canOwn: ownsItem('eyewear_special_yellowHalfMoon'),
},
fall2019Rogue: {
event: EVENTS.fall2019,
specialClass: 'rogue',
set: 'fall2019OperaticSpecterSet',
text: t('eyewearSpecialFall2019RogueText'),
notes: t('eyewearSpecialFall2019RogueNotes'),
value: 20,
},
};
let head = {
@@ -2599,6 +2655,9 @@ let head = {
notes: t('headSpecialFall2018RogueNotes', { per: 9 }),
value: 60,
per: 9,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Warrior: {
event: EVENTS.fall2018,
@@ -2608,6 +2667,9 @@ let head = {
notes: t('headSpecialFall2018WarriorNotes', { str: 9 }),
value: 60,
str: 9,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Mage: {
event: EVENTS.fall2018,
@@ -2617,6 +2679,9 @@ let head = {
notes: t('headSpecialFall2018MageNotes', { per: 7 }),
value: 60,
per: 7,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Healer: {
event: EVENTS.fall2018,
@@ -2626,6 +2691,9 @@ let head = {
notes: t('headSpecialFall2018HealerNotes', { int: 7 }),
value: 60,
int: 7,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
turkeyHelmGilded: {
text: t('headSpecialTurkeyHelmGildedText'),
@@ -2753,6 +2821,42 @@ let head = {
value: 60,
int: 7,
},
fall2019Rogue: {
event: EVENTS.fall2019,
specialClass: 'rogue',
set: 'fall2019OperaticSpecterSet',
text: t('headSpecialFall2019RogueText'),
notes: t('headSpecialFall2019RogueNotes', { per: 9 }),
value: 60,
per: 9,
},
fall2019Warrior: {
event: EVENTS.fall2019,
specialClass: 'warrior',
set: 'fall2019RavenSet',
text: t('headSpecialFall2019WarriorText'),
notes: t('headSpecialFall2019WarriorNotes', { str: 9 }),
value: 60,
str: 9,
},
fall2019Mage: {
event: EVENTS.fall2019,
specialClass: 'wizard',
set: 'fall2019CyclopsSet',
text: t('headSpecialFall2019MageText'),
notes: t('headSpecialFall2019MageNotes', { per: 7 }),
value: 60,
per: 7,
},
fall2019Healer: {
event: EVENTS.fall2019,
specialClass: 'healer',
set: 'fall2019LichSet',
text: t('headSpecialFall2019HealerText'),
notes: t('headSpecialFall2019HealerNotes', { int: 7 }),
value: 60,
int: 7,
},
};
let headAccessory = {
@@ -3816,6 +3920,9 @@ let shield = {
notes: t('shieldSpecialFall2018RogueNotes', { str: 8 }),
value: 80,
str: 8,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Warrior: {
event: EVENTS.fall2018,
@@ -3825,6 +3932,9 @@ let shield = {
notes: t('shieldSpecialFall2018WarriorNotes', { con: 7 }),
value: 70,
con: 7,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Healer: {
event: EVENTS.fall2018,
@@ -3834,6 +3944,9 @@ let shield = {
notes: t('shieldSpecialFall2018HealerNotes', { con: 9 }),
value: 70,
con: 9,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
winter2019Rogue: {
event: EVENTS.winter2019,
@@ -3931,6 +4044,33 @@ let shield = {
value: 70,
per: 7,
},
fall2019Rogue: {
event: EVENTS.fall2019,
specialClass: 'rogue',
set: 'fall2019OperaticSpecterSet',
text: t('weaponSpecialFall2019RogueText'),
notes: t('weaponSpecialFall2019RogueNotes', { str: 8 }),
value: 80,
str: 8,
},
fall2019Warrior: {
event: EVENTS.fall2019,
specialClass: 'warrior',
set: 'fall2019RavenSet',
text: t('shieldSpecialFall2019WarriorText'),
notes: t('shieldSpecialFall2019WarriorNotes', { con: 7 }),
value: 70,
con: 7,
},
fall2019Healer: {
event: EVENTS.fall2019,
specialClass: 'healer',
set: 'fall2019LichSet',
text: t('shieldSpecialFall2019HealerText'),
notes: t('shieldSpecialFall2019HealerNotes', { con: 9 }),
value: 70,
con: 9,
},
};
let weapon = {
@@ -4992,6 +5132,9 @@ let weapon = {
notes: t('weaponSpecialFall2018RogueNotes', { str: 8 }),
value: 80,
str: 8,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Warrior: {
event: EVENTS.fall2018,
@@ -5001,6 +5144,9 @@ let weapon = {
notes: t('weaponSpecialFall2018WarriorNotes', { str: 15 }),
value: 90,
str: 15,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Mage: {
event: EVENTS.fall2018,
@@ -5012,6 +5158,9 @@ let weapon = {
value: 160,
int: 15,
per: 7,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
fall2018Healer: {
event: EVENTS.fall2018,
@@ -5021,6 +5170,9 @@ let weapon = {
notes: t('weaponSpecialFall2018HealerNotes', { int: 9 }),
value: 90,
int: 9,
canBuy: () => {
return CURRENT_SEASON === 'fall';
},
},
winter2019Rogue: {
event: EVENTS.winter2019,
@@ -5134,6 +5286,44 @@ let weapon = {
value: 90,
int: 9,
},
fall2019Rogue: {
event: EVENTS.fall2019,
specialClass: 'rogue',
set: 'fall2019OperaticSpecterSet',
text: t('weaponSpecialFall2019RogueText'),
notes: t('weaponSpecialFall2019RogueNotes', { str: 8 }),
value: 80,
str: 8,
},
fall2019Warrior: {
event: EVENTS.fall2019,
specialClass: 'warrior',
set: 'fall2019RavenSet',
text: t('weaponSpecialFall2019WarriorText'),
notes: t('weaponSpecialFall2019WarriorNotes', { str: 15 }),
value: 90,
str: 15,
},
fall2019Mage: {
event: EVENTS.fall2019,
specialClass: 'wizard',
set: 'fall2019CyclopsSet',
twoHanded: true,
text: t('weaponSpecialFall2019MageText'),
notes: t('weaponSpecialFall2019MageNotes', { int: 15, per: 7 }),
value: 160,
int: 15,
per: 7,
},
fall2019Healer: {
event: EVENTS.fall2019,
specialClass: 'healer',
set: 'fall2019LichSet',
text: t('weaponSpecialFall2019HealerText'),
notes: t('weaponSpecialFall2019HealerNotes', { int: 9 }),
value: 90,
int: 9,
},
};
let specialSet = {

View File

@@ -34,7 +34,7 @@ const featuredItems = {
path: 'quests.silver',
},
],
seasonal: 'summer2019Mage',
seasonal: 'fall2018Rogue',
timeTravelers: [
// TODO
],

View File

@@ -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: 'Fall',
dateRange: { start: '2018-09-20', end: '2018-10-31' },
dateRange: { start: '2019-09-24', end: '2019-10-31' },
availableSets: [
...SEASONAL_SETS.fall,
],
pinnedSets: {
wizard: 'fall2019CyclopsSet',
warrior: 'fall2019RavenSet',
rogue: 'fall2019OperaticSpecterSet',
healer: 'fall2019LichSet',
},
availableSpells: [
@@ -19,5 +24,5 @@ module.exports = {
availableQuests: [
],
featuredSet: 'mummyMedicSet',
featuredSet: 'fall2018AlterEgoSet',
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 978 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 952 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -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 BLOG POSTS!';
const LAST_ANNOUNCEMENT_TITLE = 'FALL FESTIVAL BEGINS! LIMITED EDITION FALL EQUIPMENT, SEASONAL SHOP OPENS, AND NPC OUTFITS!';
const worldDmg = { // @TODO
bailey: false,
};
@@ -30,19 +30,21 @@ api.getNews = {
<div class="mr-3 ${baileyClass}"></div>
<div class="media-body">
<h1 class="align-self-center">${res.t('newStuff')}</h1>
<h2>9/19/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
<h2>9/24/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
</div>
</div>
<hr/>
<div class="scene_casting_spells center-block"></div>
<h3>Use Case Spotlight: The Mage</h3>
<p>This month's <a href='https://habitica.wordpress.com/2019/09/19/use-case-spotlight-making-the-most-of-the-mage-class/' target='_blank'>Use Case Spotlight</a> is about making the most of the Mage Class! It features a number of great suggestions submitted by Habiticans in the <a href='/groups/guild/1d3a10bf-60aa-4806-a38b-82d1084a59e6'>Use Case Spotlights Guild</a>. We hope it helps any of you who might be looking for the best class for your play style!</p>
<p>Plus, we're collecting user submissions for the next spotlight! How do you use events in Habitica, such as Grand Galas, as extra motivation? Well be featuring player-submitted examples in Use Case Spotlights on the Habitica Blog next month, so post your suggestions in the Use Case Spotlight Guild now. We look forward to learning more about how you use Habitica to improve your life and get things done!</p>
<div class="small mb-3">by shanaqui</div>
<div class="scene_video_games center-block"></div>
<h3>Guild Spotlight: The Newest and Guildiest</h3>
<p>There's a new <a href='https://habitica.wordpress.com/2019/09/19/new-and-notable-guild-spotlight-9/' target='_blank'>Guild Spotlight on the blog</a> that highlights another selection of the upcoming Guilds in Habitica dedicated to a variety of topics! Check it out now to find some of Habitica's best new communities.</p>
<div class="small mb-3">by shanaqui</div>
<div class="promo_fall_festival_2019 center-block"></div>
<h3>Limited Edition Class Outfits</h3>
<p>From now until October 31st, limited edition outfits are available in the Rewards column! Depending on your class, you can be a Raven Warrior, a Lich Healer, a Phantom Rogue, or a Cyclops Mage. You'd better get productive to earn enough gold before your time runs out...</p>
<div class="small mb-3">by gawrone, jjgame83, AnnDeLune, Beffymaroo, and SabreCat</div>
<div class="promo_fall_festival_2018 center-block"></div>
<h3>Seasonal Shop Opens</h3>
<p>The <a href='/shops/seasonal'>Seasonal Shop</a> has opened! It's stocking autumnal Seasonal Edition goodies at the moment, including past fall outfits. Everything there will be available to purchase during the Fall Festival event each year, but it's only open until October 31st, so be sure to stock up now, or you'll have to wait a year to buy these items again!</p>
<div class="small mb-3">by AnnDeLune, ʂʈєƒąʃųƥągųʂ, Katy133, Lilith of Alfheim, Definitely not a villain, ShoGirlGeek. cataclysms, maxpendragon, Vikte, QuartzFox, Lemoness, Beffymaroo and SabreCat</div>
<div class="promo_seasonal_shop_fall center-block"></div>
<h3>NPC Outfits</h3>
<p>Everyone has hastened down to the Flourishing Fields to celebrate this spooky autumn festival. Be sure to check out all the outfits that people are sporting!</p>
</div>
`,
});