feat(event): Spring Fling 2019
@@ -2,8 +2,8 @@
|
|||||||
// possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, spring, summer
|
// possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, spring, summer
|
||||||
// more to be added on future seasons
|
// more to be added on future seasons
|
||||||
|
|
||||||
$npc_market_flavor: 'normal';
|
$npc_market_flavor: 'spring';
|
||||||
$npc_quests_flavor: 'normal';
|
$npc_quests_flavor: 'spring';
|
||||||
$npc_seasonal_flavor: 'normal';
|
$npc_seasonal_flavor: 'spring';
|
||||||
$npc_timetravelers_flavor: 'normal';
|
$npc_timetravelers_flavor: 'spring';
|
||||||
$npc_tavern_flavor: 'normal';
|
$npc_tavern_flavor: 'spring';
|
||||||
|
|||||||
@@ -164,30 +164,30 @@ export default {
|
|||||||
classGear (heroClass) {
|
classGear (heroClass) {
|
||||||
if (heroClass === 'rogue') {
|
if (heroClass === 'rogue') {
|
||||||
return {
|
return {
|
||||||
armor: 'armor_rogue_5',
|
armor: 'armor_special_spring2019Rogue',
|
||||||
head: 'head_rogue_5',
|
head: 'head_special_spring2019Rogue',
|
||||||
shield: 'shield_rogue_6',
|
shield: 'shield_special_spring2019Rogue',
|
||||||
weapon: 'weapon_rogue_6',
|
weapon: 'weapon_special_spring2019Rogue',
|
||||||
};
|
};
|
||||||
} else if (heroClass === 'wizard') {
|
} else if (heroClass === 'wizard') {
|
||||||
return {
|
return {
|
||||||
armor: 'armor_wizard_5',
|
armor: 'armor_special_spring2019Mage',
|
||||||
head: 'head_wizard_5',
|
head: 'head_special_spring2019Mage',
|
||||||
weapon: 'weapon_wizard_6',
|
weapon: 'weapon_special_spring2019Mage',
|
||||||
};
|
};
|
||||||
} else if (heroClass === 'healer') {
|
} else if (heroClass === 'healer') {
|
||||||
return {
|
return {
|
||||||
armor: 'armor_healer_5',
|
armor: 'armor_special_spring2019Healer',
|
||||||
head: 'head_healer_5',
|
head: 'head_special_spring2019Healer',
|
||||||
shield: 'shield_healer_5',
|
shield: 'shield_special_spring2019Healer',
|
||||||
weapon: 'weapon_healer_6',
|
weapon: 'weapon_special_spring2019Healer',
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
return {
|
return {
|
||||||
armor: 'armor_warrior_5',
|
armor: 'armor_special_spring2019Warrior',
|
||||||
head: 'head_warrior_5',
|
head: 'head_special_spring2019Warrior',
|
||||||
shield: 'shield_warrior_5',
|
shield: 'shield_special_spring2019Warrior',
|
||||||
weapon: 'weapon_warrior_6',
|
weapon: 'weapon_special_spring2019Warrior',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -312,6 +312,15 @@
|
|||||||
"weaponSpecialWinter2019HealerText": "Wand of Winter",
|
"weaponSpecialWinter2019HealerText": "Wand of Winter",
|
||||||
"weaponSpecialWinter2019HealerNotes": "Winter can be a time of rest and healing, and so this wand of winter magic can help to soothe the most grievous hurts. Increases Intelligence by <%= int %>. Limited Edition 2018-2019 Winter Gear.",
|
"weaponSpecialWinter2019HealerNotes": "Winter can be a time of rest and healing, and so this wand of winter magic can help to soothe the most grievous hurts. Increases Intelligence by <%= int %>. Limited Edition 2018-2019 Winter Gear.",
|
||||||
|
|
||||||
|
"weaponSpecialSpring2019RogueText": "Lightning Bolt",
|
||||||
|
"weaponSpecialSpring2019RogueNotes": "These weapons contain the power of the sky and rain. We recommend that you not use them while immersed in water. Increases Strength by <%= str %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"weaponSpecialSpring2019WarriorText": "Stem Sword",
|
||||||
|
"weaponSpecialSpring2019WarriorNotes": "Bad habits cower before this verdant blade. Increases Strength by <%= str %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"weaponSpecialSpring2019MageText": "Amber Staff",
|
||||||
|
"weaponSpecialSpring2019MageNotes": "There's a mosquito embedded in the stone at the end of this staff! May or may not include Dino DNA. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"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.",
|
||||||
|
|
||||||
"weaponMystery201411Text": "Pitchfork of Feasting",
|
"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.",
|
"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",
|
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
|
||||||
@@ -701,6 +710,15 @@
|
|||||||
"armorSpecialWinter2019HealerText": "Midnight Robe",
|
"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.",
|
"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.",
|
||||||
|
|
||||||
|
"armorSpecialSpring2019RogueText": "Cloud Armor",
|
||||||
|
"armorSpecialSpring2019RogueNotes": "Some very tuff fluff. Increases Perception by <%= per %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"armorSpecialSpring2019WarriorText": "Orchid Armor",
|
||||||
|
"armorSpecialSpring2019WarriorNotes": "Steely armor of reinforced petals protects your heart and also looks pretty snazzy. Increases Constitution by <%= con %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"armorSpecialSpring2019MageText": "Amber Robes",
|
||||||
|
"armorSpecialSpring2019MageNotes": "These robes gather power from magic resin embedded in the fibers of ancient bark that compose the cloth. Increases Intelligence by <%= int %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"armorSpecialSpring2019HealerText": "Robin Costume",
|
||||||
|
"armorSpecialSpring2019HealerNotes": "Your bright feathers will let everyone know that the cold and dark of winter has passed. Increases Constitution by <%= con %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
|
||||||
"armorMystery201402Text": "Messenger Robes",
|
"armorMystery201402Text": "Messenger Robes",
|
||||||
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
|
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
|
||||||
"armorMystery201403Text": "Forest Walker Armor",
|
"armorMystery201403Text": "Forest Walker Armor",
|
||||||
@@ -1179,6 +1197,15 @@
|
|||||||
"headSpecialWinter2019HealerText": "Starry Crown",
|
"headSpecialWinter2019HealerText": "Starry Crown",
|
||||||
"headSpecialWinter2019HealerNotes": "On the darkest, coldest winter night, one particular star shines its brightest. This crown is made from metal from that star, to help you shine! Increases Intelligence by <%= int %>. Limited Edition 2018-2019 Winter Gear.",
|
"headSpecialWinter2019HealerNotes": "On the darkest, coldest winter night, one particular star shines its brightest. This crown is made from metal from that star, to help you shine! Increases Intelligence by <%= int %>. Limited Edition 2018-2019 Winter Gear.",
|
||||||
|
|
||||||
|
"headSpecialSpring2019RogueText": "Cloud Helm",
|
||||||
|
"headSpecialSpring2019RogueNotes": "No one will notice a cloud quietly drifting toward their stash of Gold, right? Increases Perception by <%= per %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"headSpecialSpring2019WarriorText": "Orchid Helm",
|
||||||
|
"headSpecialSpring2019WarriorNotes": "This helm is unbreakable and tough! Also it attracts butterflies. Increases Strength by <%= str %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"headSpecialSpring2019MageText": "Amber Hat",
|
||||||
|
"headSpecialSpring2019MageNotes": "A glowing amber gem grants this hat the power of arcane natural forces. Increases Perception by <%= per %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"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.",
|
||||||
|
|
||||||
"headSpecialGaymerxText": "Rainbow Warrior Helm",
|
"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.",
|
"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.",
|
||||||
|
|
||||||
@@ -1568,6 +1595,11 @@
|
|||||||
"shieldSpecialWinter2019HealerText": "Enchanted Ice Crystals",
|
"shieldSpecialWinter2019HealerText": "Enchanted Ice Crystals",
|
||||||
"shieldSpecialWinter2019HealerNotes": "Thin ice may break, but these perfect crystals will turn back any blow before it lands. Increases Constitution by <%= con %>. Limited Edition 2018-2019 Winter Gear.",
|
"shieldSpecialWinter2019HealerNotes": "Thin ice may break, but these perfect crystals will turn back any blow before it lands. Increases Constitution by <%= con %>. Limited Edition 2018-2019 Winter Gear.",
|
||||||
|
|
||||||
|
"shieldSpecialSpring2019WarriorText": "Leafy Shield",
|
||||||
|
"shieldSpecialSpring2019WarriorNotes": "Let the power of chlorophyll keep your enemies at bay! Increases Constitution by <%= con %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
"shieldSpecialSpring2019HealerText": "Eggshell Shield",
|
||||||
|
"shieldSpecialSpring2019HealerNotes": "This bright shield is actually made of candy-coated chocolate. Increases Constitution by <%= con %>. Limited Edition 2019 Spring Gear.",
|
||||||
|
|
||||||
"shieldMystery201601Text": "Resolution Slayer",
|
"shieldMystery201601Text": "Resolution Slayer",
|
||||||
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
|
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
|
||||||
"shieldMystery201701Text": "Time-Freezer Shield",
|
"shieldMystery201701Text": "Time-Freezer Shield",
|
||||||
|
|||||||
@@ -134,6 +134,10 @@
|
|||||||
"winter2019PyrotechnicSet": "Pyrotechnic (Mage)",
|
"winter2019PyrotechnicSet": "Pyrotechnic (Mage)",
|
||||||
"winter2019WinterStarSet": "Winter Star (Healer)",
|
"winter2019WinterStarSet": "Winter Star (Healer)",
|
||||||
"winter2019PoinsettiaSet": "Poinsettia (Rogue)",
|
"winter2019PoinsettiaSet": "Poinsettia (Rogue)",
|
||||||
|
"spring2019OrchidWarriorSet": "Orchid (Warrior)",
|
||||||
|
"spring2019AmberMageSet": "Amber (Mage)",
|
||||||
|
"spring2019RobinHealerSet": "Robin (Healer)",
|
||||||
|
"spring2019CloudRogueSet": "Cloud (Rogue)",
|
||||||
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
|
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
|
||||||
"dateEndMarch": "April 30",
|
"dateEndMarch": "April 30",
|
||||||
"dateEndApril": "April 19",
|
"dateEndApril": "April 19",
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ export const EVENTS = {
|
|||||||
summer2018: { start: '2018-06-19', end: '2018-08-02' },
|
summer2018: { start: '2018-06-19', end: '2018-08-02' },
|
||||||
fall2018: { start: '2018-09-20', end: '2018-11-02' },
|
fall2018: { start: '2018-09-20', end: '2018-11-02' },
|
||||||
winter2019: { start: '2018-12-19', end: '2019-02-02' },
|
winter2019: { start: '2018-12-19', end: '2019-02-02' },
|
||||||
|
spring2019: { start: '2019-03-19', end: '2019-04-02' },
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SEASONAL_SETS = {
|
export const SEASONAL_SETS = {
|
||||||
@@ -105,6 +106,12 @@ export const SEASONAL_SETS = {
|
|||||||
'spring2018SunriseWarriorSet',
|
'spring2018SunriseWarriorSet',
|
||||||
'spring2018DucklingRogueSet',
|
'spring2018DucklingRogueSet',
|
||||||
'spring2018GarnetHealerSet',
|
'spring2018GarnetHealerSet',
|
||||||
|
|
||||||
|
// spring 2019
|
||||||
|
'spring2019AmberMageSet',
|
||||||
|
'spring2019OrchidWarriorSet',
|
||||||
|
'spring2019CloudRogueSet',
|
||||||
|
'spring2019RobinHealerSet',
|
||||||
],
|
],
|
||||||
summer: [
|
summer: [
|
||||||
// summer 2014
|
// summer 2014
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import takeThisGear from './special-takeThis';
|
|||||||
import wonderconGear from './special-wondercon';
|
import wonderconGear from './special-wondercon';
|
||||||
import t from '../../../translation';
|
import t from '../../../translation';
|
||||||
|
|
||||||
const CURRENT_SEASON = '_NONE_';
|
const CURRENT_SEASON = 'spring';
|
||||||
|
|
||||||
let armor = {
|
let armor = {
|
||||||
0: backerGear.armorSpecial0,
|
0: backerGear.armorSpecial0,
|
||||||
@@ -965,6 +965,9 @@ let armor = {
|
|||||||
notes: t('armorSpecialSpring2018RogueNotes', { per: 15 }),
|
notes: t('armorSpecialSpring2018RogueNotes', { per: 15 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
per: 15,
|
per: 15,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Warrior: {
|
spring2018Warrior: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -974,6 +977,9 @@ let armor = {
|
|||||||
notes: t('armorSpecialSpring2018WarriorNotes', { con: 9 }),
|
notes: t('armorSpecialSpring2018WarriorNotes', { con: 9 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
con: 9,
|
con: 9,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Mage: {
|
spring2018Mage: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -983,6 +989,9 @@ let armor = {
|
|||||||
notes: t('armorSpecialSpring2018MageNotes', { int: 9 }),
|
notes: t('armorSpecialSpring2018MageNotes', { int: 9 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
int: 9,
|
int: 9,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Healer: {
|
spring2018Healer: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -992,6 +1001,9 @@ let armor = {
|
|||||||
notes: t('armorSpecialSpring2018HealerNotes', { con: 15 }),
|
notes: t('armorSpecialSpring2018HealerNotes', { con: 15 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
con: 15,
|
con: 15,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
summer2018Rogue: {
|
summer2018Rogue: {
|
||||||
event: EVENTS.summer2018,
|
event: EVENTS.summer2018,
|
||||||
@@ -1113,6 +1125,42 @@ let armor = {
|
|||||||
value: 0,
|
value: 0,
|
||||||
canOwn: ownsItem('armor_special_birthday2019'),
|
canOwn: ownsItem('armor_special_birthday2019'),
|
||||||
},
|
},
|
||||||
|
spring2019Rogue: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'rogue',
|
||||||
|
set: 'spring2019CloudRogueSet',
|
||||||
|
text: t('armorSpecialSpring2019RogueText'),
|
||||||
|
notes: t('armorSpecialSpring2019RogueNotes', { per: 15 }),
|
||||||
|
value: 90,
|
||||||
|
per: 15,
|
||||||
|
},
|
||||||
|
spring2019Warrior: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'warrior',
|
||||||
|
set: 'spring2019OrchidWarriorSet',
|
||||||
|
text: t('armorSpecialSpring2019WarriorText'),
|
||||||
|
notes: t('armorSpecialSpring2019WarriorNotes', { con: 9 }),
|
||||||
|
value: 90,
|
||||||
|
con: 9,
|
||||||
|
},
|
||||||
|
spring2019Mage: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'wizard',
|
||||||
|
set: 'spring2019AmberMageSet',
|
||||||
|
text: t('armorSpecialSpring2019MageText'),
|
||||||
|
notes: t('armorSpecialSpring2019MageNotes', { int: 9 }),
|
||||||
|
value: 90,
|
||||||
|
int: 9,
|
||||||
|
},
|
||||||
|
spring2019Healer: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'healer',
|
||||||
|
set: 'spring2019RobinHealerSet',
|
||||||
|
text: t('armorSpecialSpring2019HealerText'),
|
||||||
|
notes: t('armorSpecialSpring2019HealerNotes', { con: 15 }),
|
||||||
|
value: 90,
|
||||||
|
con: 15,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let back = {
|
let back = {
|
||||||
@@ -2358,6 +2406,9 @@ let head = {
|
|||||||
notes: t('headSpecialSpring2018RogueNotes', { per: 9 }),
|
notes: t('headSpecialSpring2018RogueNotes', { per: 9 }),
|
||||||
value: 60,
|
value: 60,
|
||||||
per: 9,
|
per: 9,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Warrior: {
|
spring2018Warrior: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -2367,6 +2418,9 @@ let head = {
|
|||||||
notes: t('headSpecialSpring2018WarriorNotes', { str: 9 }),
|
notes: t('headSpecialSpring2018WarriorNotes', { str: 9 }),
|
||||||
value: 60,
|
value: 60,
|
||||||
str: 9,
|
str: 9,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Mage: {
|
spring2018Mage: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -2376,6 +2430,9 @@ let head = {
|
|||||||
notes: t('headSpecialSpring2018MageNotes', { per: 7 }),
|
notes: t('headSpecialSpring2018MageNotes', { per: 7 }),
|
||||||
value: 60,
|
value: 60,
|
||||||
per: 7,
|
per: 7,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Healer: {
|
spring2018Healer: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -2385,6 +2442,9 @@ let head = {
|
|||||||
notes: t('headSpecialSpring2018HealerNotes', { int: 7 }),
|
notes: t('headSpecialSpring2018HealerNotes', { int: 7 }),
|
||||||
value: 60,
|
value: 60,
|
||||||
int: 7,
|
int: 7,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
summer2018Rogue: {
|
summer2018Rogue: {
|
||||||
event: EVENTS.summer2018,
|
event: EVENTS.summer2018,
|
||||||
@@ -2512,6 +2572,42 @@ let head = {
|
|||||||
value: 0,
|
value: 0,
|
||||||
canOwn: ownsItem('head_special_piDay'),
|
canOwn: ownsItem('head_special_piDay'),
|
||||||
},
|
},
|
||||||
|
spring2019Rogue: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'rogue',
|
||||||
|
set: 'spring2019CloudRogueSet',
|
||||||
|
text: t('headSpecialSpring2019RogueText'),
|
||||||
|
notes: t('headSpecialSpring2019RogueNotes', { per: 9 }),
|
||||||
|
value: 60,
|
||||||
|
per: 9,
|
||||||
|
},
|
||||||
|
spring2019Warrior: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'warrior',
|
||||||
|
set: 'spring2019OrchidWarriorSet',
|
||||||
|
text: t('headSpecialSpring2019WarriorText'),
|
||||||
|
notes: t('headSpecialSpring2019WarriorNotes', { str: 9 }),
|
||||||
|
value: 60,
|
||||||
|
str: 9,
|
||||||
|
},
|
||||||
|
spring2019Mage: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'wizard',
|
||||||
|
set: 'spring2019AmberMageSet',
|
||||||
|
text: t('headSpecialSpring2019MageText'),
|
||||||
|
notes: t('headSpecialSpring2019MageNotes', { per: 7 }),
|
||||||
|
value: 60,
|
||||||
|
per: 7,
|
||||||
|
},
|
||||||
|
spring2019Healer: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'healer',
|
||||||
|
set: 'spring2019RobinHealerSet',
|
||||||
|
text: t('headSpecialSpring2019HealerText'),
|
||||||
|
notes: t('headSpecialSpring2019HealerNotes', { int: 7 }),
|
||||||
|
value: 60,
|
||||||
|
int: 7,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let headAccessory = {
|
let headAccessory = {
|
||||||
@@ -3503,6 +3599,9 @@ let shield = {
|
|||||||
notes: t('weaponSpecialSpring2018RogueNotes', { str: 8 }),
|
notes: t('weaponSpecialSpring2018RogueNotes', { str: 8 }),
|
||||||
value: 80,
|
value: 80,
|
||||||
str: 8,
|
str: 8,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Warrior: {
|
spring2018Warrior: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -3512,6 +3611,9 @@ let shield = {
|
|||||||
notes: t('shieldSpecialSpring2018WarriorNotes', { con: 7 }),
|
notes: t('shieldSpecialSpring2018WarriorNotes', { con: 7 }),
|
||||||
value: 70,
|
value: 70,
|
||||||
con: 7,
|
con: 7,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Healer: {
|
spring2018Healer: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -3521,6 +3623,9 @@ let shield = {
|
|||||||
notes: t('shieldSpecialSpring2018HealerNotes', { con: 9 }),
|
notes: t('shieldSpecialSpring2018HealerNotes', { con: 9 }),
|
||||||
value: 70,
|
value: 70,
|
||||||
con: 9,
|
con: 9,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
summer2018Rogue: {
|
summer2018Rogue: {
|
||||||
event: EVENTS.summer2018,
|
event: EVENTS.summer2018,
|
||||||
@@ -3609,6 +3714,33 @@ let shield = {
|
|||||||
value: 0,
|
value: 0,
|
||||||
canOwn: ownsItem('shield_special_piDay'),
|
canOwn: ownsItem('shield_special_piDay'),
|
||||||
},
|
},
|
||||||
|
spring2019Rogue: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'rogue',
|
||||||
|
set: 'spring2019CloudRogueSet',
|
||||||
|
text: t('weaponSpecialSpring2019RogueText'),
|
||||||
|
notes: t('weaponSpecialSpring2019RogueNotes', { str: 8 }),
|
||||||
|
value: 80,
|
||||||
|
str: 8,
|
||||||
|
},
|
||||||
|
spring2019Warrior: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'warrior',
|
||||||
|
set: 'spring2019OrchidWarriorSet',
|
||||||
|
text: t('shieldSpecialSpring2019WarriorText'),
|
||||||
|
notes: t('shieldSpecialSpring2019WarriorNotes', { con: 7 }),
|
||||||
|
value: 70,
|
||||||
|
con: 7,
|
||||||
|
},
|
||||||
|
spring2019Healer: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'healer',
|
||||||
|
set: 'spring2019RobinHealerSet',
|
||||||
|
text: t('shieldSpecialSpring2019HealerText'),
|
||||||
|
notes: t('shieldSpecialSpring2019HealerNotes', { con: 9 }),
|
||||||
|
value: 70,
|
||||||
|
con: 9,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let weapon = {
|
let weapon = {
|
||||||
@@ -4570,6 +4702,9 @@ let weapon = {
|
|||||||
notes: t('weaponSpecialSpring2018RogueNotes', { str: 8 }),
|
notes: t('weaponSpecialSpring2018RogueNotes', { str: 8 }),
|
||||||
value: 80,
|
value: 80,
|
||||||
str: 8,
|
str: 8,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Warrior: {
|
spring2018Warrior: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -4579,6 +4714,9 @@ let weapon = {
|
|||||||
notes: t('weaponSpecialSpring2018WarriorNotes', { str: 15 }),
|
notes: t('weaponSpecialSpring2018WarriorNotes', { str: 15 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
str: 15,
|
str: 15,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Mage: {
|
spring2018Mage: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -4590,6 +4728,9 @@ let weapon = {
|
|||||||
value: 160,
|
value: 160,
|
||||||
int: 15,
|
int: 15,
|
||||||
per: 7,
|
per: 7,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
spring2018Healer: {
|
spring2018Healer: {
|
||||||
event: EVENTS.spring2018,
|
event: EVENTS.spring2018,
|
||||||
@@ -4599,6 +4740,9 @@ let weapon = {
|
|||||||
notes: t('weaponSpecialSpring2018HealerNotes', { int: 9 }),
|
notes: t('weaponSpecialSpring2018HealerNotes', { int: 9 }),
|
||||||
value: 90,
|
value: 90,
|
||||||
int: 9,
|
int: 9,
|
||||||
|
canBuy: () => {
|
||||||
|
return CURRENT_SEASON === 'spring';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
summer2018Rogue: {
|
summer2018Rogue: {
|
||||||
event: EVENTS.summer2018,
|
event: EVENTS.summer2018,
|
||||||
@@ -4714,6 +4858,44 @@ let weapon = {
|
|||||||
value: 90,
|
value: 90,
|
||||||
int: 9,
|
int: 9,
|
||||||
},
|
},
|
||||||
|
spring2019Rogue: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'rogue',
|
||||||
|
set: 'spring2019CloudRogueSet',
|
||||||
|
text: t('weaponSpecialSpring2019RogueText'),
|
||||||
|
notes: t('weaponSpecialSpring2019RogueNotes', { str: 8 }),
|
||||||
|
value: 80,
|
||||||
|
str: 8,
|
||||||
|
},
|
||||||
|
spring2019Warrior: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'warrior',
|
||||||
|
set: 'spring2019OrchidWarriorSet',
|
||||||
|
text: t('weaponSpecialSpring2019WarriorText'),
|
||||||
|
notes: t('weaponSpecialSpring2019WarriorNotes', { str: 15 }),
|
||||||
|
value: 90,
|
||||||
|
str: 15,
|
||||||
|
},
|
||||||
|
spring2019Mage: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'wizard',
|
||||||
|
set: 'spring2019AmberMageSet',
|
||||||
|
twoHanded: true,
|
||||||
|
text: t('weaponSpecialSpring2019MageText'),
|
||||||
|
notes: t('weaponSpecialSpring2019MageNotes', { int: 15, per: 7 }),
|
||||||
|
value: 160,
|
||||||
|
int: 15,
|
||||||
|
per: 7,
|
||||||
|
},
|
||||||
|
spring2019Healer: {
|
||||||
|
event: EVENTS.spring2019,
|
||||||
|
specialClass: 'healer',
|
||||||
|
set: 'spring2019RobinHealerSet',
|
||||||
|
text: t('weaponSpecialSpring2019HealerText'),
|
||||||
|
notes: t('weaponSpecialSpring2019HealerNotes', { int: 9 }),
|
||||||
|
value: 90,
|
||||||
|
int: 9,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let specialSet = {
|
let specialSet = {
|
||||||
|
|||||||
@@ -511,7 +511,7 @@ let quests = {
|
|||||||
value: 1,
|
value: 1,
|
||||||
category: 'pet',
|
category: 'pet',
|
||||||
canBuy () {
|
canBuy () {
|
||||||
return false;
|
return true;
|
||||||
},
|
},
|
||||||
collect: {
|
collect: {
|
||||||
plainEgg: {
|
plainEgg: {
|
||||||
|
|||||||
@@ -27,14 +27,14 @@ const featuredItems = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'quests',
|
type: 'quests',
|
||||||
path: 'quests.sabretooth',
|
path: 'quests.egg',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'quests',
|
type: 'quests',
|
||||||
path: 'quests.rock',
|
path: 'quests.rock',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
seasonal: '',
|
seasonal: 'spring2018Healer',
|
||||||
timeTravelers: [
|
timeTravelers: [
|
||||||
// TODO
|
// TODO
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,23 +1,29 @@
|
|||||||
// import { SEASONAL_SETS } from '../content/constants';
|
import { SEASONAL_SETS } from '../content/constants';
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
opened: false,
|
opened: true,
|
||||||
|
|
||||||
currentSeason: 'Closed',
|
currentSeason: 'Spring',
|
||||||
|
|
||||||
dateRange: { start: '2018-09-20', end: '2018-10-31' },
|
dateRange: { start: '2019-03-19', end: '2019-04-30' },
|
||||||
|
|
||||||
availableSets: [
|
availableSets: [
|
||||||
|
...SEASONAL_SETS.spring,
|
||||||
],
|
],
|
||||||
|
|
||||||
pinnedSets: {
|
pinnedSets: {
|
||||||
|
wizard: 'spring2019AmberMageSet',
|
||||||
|
warrior: 'spring2019OrchidWarriorSet',
|
||||||
|
rogue: 'spring2019CloudRogueSet',
|
||||||
|
healer: 'spring2019RobinHealerSet',
|
||||||
},
|
},
|
||||||
|
|
||||||
availableSpells: [
|
availableSpells: [
|
||||||
],
|
],
|
||||||
|
|
||||||
availableQuests: [
|
availableQuests: [
|
||||||
|
'egg',
|
||||||
],
|
],
|
||||||
|
|
||||||
featuredSet: 'mummyMedicSet',
|
featuredSet: 'spring2018DucklingRogueSet',
|
||||||
};
|
};
|
||||||
|
|||||||
|
After Width: | Height: | Size: 652 B |
|
After Width: | Height: | Size: 660 B |
|
After Width: | Height: | Size: 500 B |
|
After Width: | Height: | Size: 804 B |
|
After Width: | Height: | Size: 503 B |
|
After Width: | Height: | Size: 602 B |
|
After Width: | Height: | Size: 620 B |
|
After Width: | Height: | Size: 514 B |
|
After Width: | Height: | Size: 438 B |
|
After Width: | Height: | Size: 443 B |
|
After Width: | Height: | Size: 459 B |
|
After Width: | Height: | Size: 611 B |
|
After Width: | Height: | Size: 584 B |
|
After Width: | Height: | Size: 452 B |
|
After Width: | Height: | Size: 727 B |
|
After Width: | Height: | Size: 447 B |
|
After Width: | Height: | Size: 540 B |
|
After Width: | Height: | Size: 554 B |
|
After Width: | Height: | Size: 473 B |
|
After Width: | Height: | Size: 396 B |
|
After Width: | Height: | Size: 393 B |
|
After Width: | Height: | Size: 413 B |
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 470 B |
|
After Width: | Height: | Size: 410 B |
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 669 B |
|
After Width: | Height: | Size: 648 B |
|
After Width: | Height: | Size: 476 B |
|
After Width: | Height: | Size: 803 B |
|
After Width: | Height: | Size: 410 B |
|
After Width: | Height: | Size: 510 B |
|
After Width: | Height: | Size: 440 B |
|
After Width: | Height: | Size: 558 B |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 11 KiB |
BIN
website/raw_sprites/spritesmith_large/promo_egg_hunt.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
@@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth';
|
|||||||
let api = {};
|
let api = {};
|
||||||
|
|
||||||
// @TODO export this const, cannot export it from here because only routes are exported from controllers
|
// @TODO export this const, cannot export it from here because only routes are exported from controllers
|
||||||
const LAST_ANNOUNCEMENT_TITLE = 'CELEBRATE PI DAY WITH HABITICA!';
|
const LAST_ANNOUNCEMENT_TITLE = 'SPRING FLING BEGINS! LIMITED EDITION EQUIPMENT, SEASONAL SHOP, AND EGG QUEST!';
|
||||||
const worldDmg = { // @TODO
|
const worldDmg = { // @TODO
|
||||||
bailey: false,
|
bailey: false,
|
||||||
};
|
};
|
||||||
@@ -30,14 +30,22 @@ api.getNews = {
|
|||||||
<div class="mr-3 ${baileyClass}"></div>
|
<div class="mr-3 ${baileyClass}"></div>
|
||||||
<div class="media-body">
|
<div class="media-body">
|
||||||
<h1 class="align-self-center">${res.t('newStuff')}</h1>
|
<h1 class="align-self-center">${res.t('newStuff')}</h1>
|
||||||
<h2>3/14/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
<h2>3/19/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="promo_pi_day center-block"></div>
|
<div class="promo_classes_spring2019 center-block"></div>
|
||||||
<p>Hello Habiticans! In celebration of Pi Day on March 14, we've gifted everyone delicious slices of pie for you all to feed to your pets.</p>
|
<h3>Limited Edition Class Outfits</h3>
|
||||||
<p>We've also given everyone a festive Pi Hat and Shield so you can celebrate in style. Enjoy them, and thanks for being a part of our community!</p>
|
<p>From now until April 30th, limited edition outfits are available in the Rewards column! Depending on your class, you can be a Cloud Rogue, Robin Healer, Amber Mage, or Orchid Warrior. You'd better get productive to earn enough Gold before your time runs out...</p>
|
||||||
<div class="small mb-3">by Beffymaroo and SabreCat</div>
|
<div class="small mb-3">by Eslyn, Aspiring Advocate, OuttaMyMind, Lt. Cabel, Beffymaroo and SabreCat</div>
|
||||||
|
<div class="promo_seasonalshop_spring center-block"></div>
|
||||||
|
<h3>Seasonal Shop Opens</h3>
|
||||||
|
<p>The <a href='/shops/seasonal'>Seasonal Shop</a> has opened! It's stocking springtime Seasonal Edition goodies at the moment, including past spring outfits. Everything there will be available to purchase during the Spring Fling event each year, but it's only open until April 30th, 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 Vikte, Lalaitha, DialFForFunky, Gerald the Pixel, Scarvia, Awesome kitty, usnbfs, Lemoness, Balduranne, PainterProphet, Beffymaroo and SabreCat</div>
|
||||||
|
<div class="promo_egg_hunt center-block"></div>
|
||||||
|
<h3>Egg Quest Available</h3>
|
||||||
|
<p>The Egg Quest is also available again in the <a href='/shops/seasonal'>Seasonal Shop</a>! Strange eggs are appearing all over Habitica. Can you collect them all to earn some colorful Egg pets and mounts?</p>
|
||||||
|
<div class="small mb-3">by Megan, Beffymaroo, and Lemoness</div>
|
||||||
</div>
|
</div>
|
||||||
`,
|
`,
|
||||||
});
|
});
|
||||||
|
|||||||