feat(content): Alligator Pets and Spoopy Sporples
@@ -45,8 +45,6 @@
|
|||||||
"dropEggDragonText": "Dragon",
|
"dropEggDragonText": "Dragon",
|
||||||
"dropEggDragonAdjective": "a mighty",
|
"dropEggDragonAdjective": "a mighty",
|
||||||
|
|
||||||
"dropEggCactusText": "Cactus",
|
|
||||||
|
|
||||||
"dropEggBearCubText": "Bear Cub",
|
"dropEggBearCubText": "Bear Cub",
|
||||||
"dropEggBearCubMountText": "Bear",
|
"dropEggBearCubMountText": "Bear",
|
||||||
"dropEggBearCubAdjective": "a brave",
|
"dropEggBearCubAdjective": "a brave",
|
||||||
@@ -243,6 +241,10 @@
|
|||||||
"questEggKangarooMountText": "Kangaroo",
|
"questEggKangarooMountText": "Kangaroo",
|
||||||
"questEggKangarooAdjective": "a keen",
|
"questEggKangarooAdjective": "a keen",
|
||||||
|
|
||||||
|
"questEggAlligatorText": "Alligator",
|
||||||
|
"questEggAlligatorMountText": "Alligator",
|
||||||
|
"questEggAlligatorAdjective": "a cunning",
|
||||||
|
|
||||||
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
|
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
|
||||||
|
|
||||||
"hatchingPotionBase": "Base",
|
"hatchingPotionBase": "Base",
|
||||||
|
|||||||
@@ -717,5 +717,12 @@
|
|||||||
"questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
|
"questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
|
||||||
|
|
||||||
"forestFriendsText": "Forest Friends Quest Bundle",
|
"forestFriendsText": "Forest Friends Quest Bundle",
|
||||||
"forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
|
"forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30.",
|
||||||
|
|
||||||
|
"questAlligatorText": "The Insta-Gator",
|
||||||
|
"questAlligatorNotes": "“Crikey!” exclaims @gully. “An Insta-Gator in its natural habitat! Careful, it distracts its prey with things that seem urgent THIS INSTANT, and it feeds on the unchecked Dailies that result.” You fall silent to avoid attracting its attention, but to no avail. The Insta-Gator spots you and charges! Distracting voices rise up from Swamps of Stagnation, grabbing for your attention: “Read this post! See this photo! Pay attention to me THIS INSTANT!” You scramble to mount a counterattack, completing your Dailies and bolstering your good Habits to fight off the dreaded Insta-Gator.",
|
||||||
|
"questAlligatorCompletion": "With your attention focused on what’s important and not the Insta-Gator’s distractions, the Insta-Gator flees. Victory! “Are those eggs? They look like gator eggs to me,” asks @mfonda. “If we care for them correctly, they’ll be loyal pets or faithful steeds,” answers @UncommonCriminal, handing you three to care for. Let’s hope so, or else the Insta-Gator might make a return…",
|
||||||
|
"questAlligatorBoss": "Insta-Gator",
|
||||||
|
"questAlligatorDropAlligatorEgg": "Alligator (Egg)",
|
||||||
|
"questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -368,6 +368,12 @@ let quests = {
|
|||||||
adjective: t('questEggKangarooAdjective'),
|
adjective: t('questEggKangarooAdjective'),
|
||||||
canBuy: hasQuestAchievementFunction('kangaroo'),
|
canBuy: hasQuestAchievementFunction('kangaroo'),
|
||||||
},
|
},
|
||||||
|
Alligator: {
|
||||||
|
text: t('questEggAlligatorText'),
|
||||||
|
mountText: t('questEggAlligatorMountText'),
|
||||||
|
adjective: t('questEggAlligatorAdjective'),
|
||||||
|
canBuy: hasQuestAchievementFunction('alligator'),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
applyEggDefaults(drops, {
|
applyEggDefaults(drops, {
|
||||||
|
|||||||
@@ -3289,6 +3289,38 @@ let quests = {
|
|||||||
unlock: t('questKangarooUnlockText'),
|
unlock: t('questKangarooUnlockText'),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
alligator: {
|
||||||
|
text: t('questAlligatorText'),
|
||||||
|
notes: t('questAlligatorNotes'),
|
||||||
|
completion: t('questAlligatorCompletion'),
|
||||||
|
value: 4,
|
||||||
|
category: 'pet',
|
||||||
|
boss: {
|
||||||
|
name: t('questAlligatorBoss'),
|
||||||
|
hp: 1100,
|
||||||
|
str: 2.5,
|
||||||
|
},
|
||||||
|
drop: {
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
type: 'eggs',
|
||||||
|
key: 'Alligator',
|
||||||
|
text: t('questAlligatorDropAlligatorEgg'),
|
||||||
|
}, {
|
||||||
|
type: 'eggs',
|
||||||
|
key: 'Alligator',
|
||||||
|
text: t('questAlligatorDropAlligatorEgg'),
|
||||||
|
}, {
|
||||||
|
type: 'eggs',
|
||||||
|
key: 'Alligator',
|
||||||
|
text: t('questAlligatorDropAlligatorEgg'),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
gp: 73,
|
||||||
|
exp: 725,
|
||||||
|
unlock: t('questAlligatorUnlockText'),
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
each(quests, (v, key) => {
|
each(quests, (v, key) => {
|
||||||
|
|||||||
@@ -22,12 +22,12 @@ const featuredItems = {
|
|||||||
],
|
],
|
||||||
quests: [
|
quests: [
|
||||||
{
|
{
|
||||||
type: 'bundles',
|
type: 'quests',
|
||||||
path: 'bundles.forestFriends',
|
path: 'quests.alligator',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'quests',
|
type: 'quests',
|
||||||
path: 'quests.dilatoryDistress1',
|
path: 'quests.taskwoodsTerror1',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'quests',
|
type: 'quests',
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
availableSpells: [
|
availableSpells: [
|
||||||
|
'spookySparkles',
|
||||||
],
|
],
|
||||||
|
|
||||||
availableQuests: [
|
availableQuests: [
|
||||||
|
|||||||
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 764 B |
|
After Width: | Height: | Size: 461 B |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 679 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 795 B |
|
After Width: | Height: | Size: 775 B |
|
After Width: | Height: | Size: 748 B |
|
After Width: | Height: | Size: 772 B |
|
After Width: | Height: | Size: 804 B |
|
After Width: | Height: | Size: 722 B |
|
After Width: | Height: | Size: 649 B |
|
After Width: | Height: | Size: 727 B |
|
After Width: | Height: | Size: 843 B |
BIN
website/raw_sprites/spritesmith_large/promo_alligator.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 12 KiB |
BIN
website/raw_sprites/spritesmith_large/promo_spooky_sparkles.png
Normal file
|
After Width: | Height: | Size: 8.0 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 = 'OCTOBER BACKGROUNDS AND ARMOIRE ITEMS!';
|
const LAST_ANNOUNCEMENT_TITLE = 'ALLIGATOR PET QUEST AND SPOOKY SPARKLES!';
|
||||||
const worldDmg = { // @TODO
|
const worldDmg = { // @TODO
|
||||||
bailey: false,
|
bailey: false,
|
||||||
};
|
};
|
||||||
@@ -30,14 +30,24 @@ 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>10/04/2018 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
<h2>10/09/2018 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<p>We’ve added three new backgrounds to the Background Shop! Now your avatar can creep through a spooky Dungeon, dare to approach a Creepy Castle and bask in the glow of a firefly-filled Bayou. Check them out under User Icon > Backgrounds!</p>
|
<h3>New Pet Quest: The Insta-Gator!</h3>
|
||||||
<p>Plus, there’s new Gold-purchasable equipment in the Enchanted Armoire, including the Ace of Spades Set. Better work hard on your real-life tasks to earn all the pieces! Enjoy :)</p>
|
<p>Drop what you're doing, right now, and head to the Quest Shop!<sup>*</sup> Get the latest pet quest, <a href='/shops/quests' target='_blank'>The Insta-Gator</a>, and earn some cunning alligator pets by completing your real-life tasks.</p>
|
||||||
<div class="small mb-3">by AnnDeLune, gully, Vampitch, GeraldThePixel, NekoAtsumeLARPer, Shred, and SabreCat</div>
|
<div class="small">Art by gully, mfonda, UncommonCriminal, tabbytoes, and Willow the Witty</div>
|
||||||
<div class="promo_armoire_backgrounds_201810 center-block"></div>
|
<div class="small mb-3">Writing by Mike.Antonacci</div>
|
||||||
|
<div class="promo_alligator center-block"></div>
|
||||||
|
<div class="media align-items-center">
|
||||||
|
<div class="media-body">
|
||||||
|
<h3>Spooky Sparkles in the Seasonal Shop</h3>
|
||||||
|
<p>There's a new Gold-purchasable item in the <a href='/shops/seasonal' target='_blank'>Seasonal Shop</a>: Spooky Sparkles! Buy some and then cast it on your friends. I wonder what it will do?</p>
|
||||||
|
<p>If you have Spooky Sparkles cast on you, you will receive the "Alarming Friends" badge! Don't worry, any mysterious effects will wear off the next day.... or you can cancel them early by buying an Opaque Potion!</p>
|
||||||
|
<p>While you're at it, be sure to check out all the other items in the Seasonal Shop! There are lots of equipment items from the previous Fall Festivals. The Seasonal Shop will only be open until October 31st, so stock up now.</p>
|
||||||
|
</div>
|
||||||
|
<div class="promo_spooky_sparkles ml-3"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`,
|
`,
|
||||||
});
|
});
|
||||||
|
|||||||