feat(event): April Fool pronk

This commit is contained in:
Sabe Jones
2019-03-25 17:26:38 -05:00
parent a2261e3591
commit c2b106564f
39 changed files with 108 additions and 15 deletions

View File

@@ -10,6 +10,12 @@
height: 219px; height: 219px;
} }
.Pet-HatchingPotion-Veggie {
background: url("~assets/images/Pet-HatchingPotion-Veggie.gif") no-repeat;
width: 68px;
height: 68px;
}
.Gems { .Gems {
display:inline-block; display:inline-block;
margin-right:5px; margin-right:5px;

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@@ -5,15 +5,14 @@
right: 0; right: 0;
bottom: 0; bottom: 0;
left: 0; left: 0;
&:not([class*="FlyingPig"]) {
top: -28px !important; top: -28px !important;
}
} }
/*
.Pet[class*="FlyingPig"] { .Pet[class*="FlyingPig"] {
top: 7px !important; top: 7px !important;
} }
*/
.Pet.Pet-Dragon-Hydra { .Pet.Pet-Dragon-Hydra {
top: -16px !important; top: -16px !important;

View File

@@ -1,9 +1,9 @@
// this variables are used to determine which shop npc/backgrounds should be loaded // this variables are used to determine which shop npc/backgrounds should be loaded
// 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, aprilfools, summer
// more to be added on future seasons // more to be added on future seasons
$npc_market_flavor: 'spring'; $npc_market_flavor: 'aprilfools';
$npc_quests_flavor: 'spring'; $npc_quests_flavor: 'aprilfools';
$npc_seasonal_flavor: 'spring'; $npc_seasonal_flavor: 'aprilfools';
$npc_timetravelers_flavor: 'spring'; $npc_timetravelers_flavor: 'aprilfools';
$npc_tavern_flavor: 'spring'; $npc_tavern_flavor: 'aprilfools';

View File

@@ -39,7 +39,7 @@
// Mount Head // Mount Head
span(v-if="member.items.currentMount", :class="'Mount_Head_' + member.items.currentMount") span(v-if="member.items.currentMount", :class="'Mount_Head_' + member.items.currentMount")
// Pet // Pet
span.current-pet(v-if="member.items.currentPet", :class="'Pet-' + member.items.currentPet") span.current-pet(:class="foolPet(member.items.currentPet)")
class-badge.under-avatar(v-if="hasClass && !hideClassBadge", :member-class="member.stats.class") class-badge.under-avatar(v-if="hasClass && !hideClassBadge", :member-class="member.stats.class")
</template> </template>
@@ -75,6 +75,7 @@
<script> <script>
import { mapState } from 'client/libs/store'; import { mapState } from 'client/libs/store';
import includes from 'lodash/includes';
import ClassBadge from 'client/components/members/classBadge'; import ClassBadge from 'client/components/members/classBadge';
@@ -223,6 +224,53 @@ export default {
return !buffs.snowball && !buffs.spookySparkles && !buffs.shinySeed && !buffs.seafoam; return !buffs.snowball && !buffs.spookySparkles && !buffs.shinySeed && !buffs.seafoam;
}, },
foolPet (pet) {
const SPECIAL_PETS = [
'Wolf-Veteran',
'Wolf-Cerberus',
'Dragon-Hydra',
'Turkey-Base',
'BearCub-Polar',
'MantisShrimp-Base',
'JackOLantern-Base',
'Mammoth-Base',
'Tiger-Veteran',
'Phoenix-Base',
'Turkey-Gilded',
'MagicalBee-Base',
'Lion-Veteran',
'Gryphon-RoyalPurple',
'JackOLantern-Ghost',
'Jackalope-RoyalPurple',
'Orca-Base',
'Bear-Veteran',
'Hippogriff-Hopeful',
'Fox-Veteran',
'JackOLantern-Glow',
];
const BASE_PETS = [
'Wolf',
'TigerCub',
'PandaCub',
'LionCub',
'Fox',
'FlyingPig',
'BearCub',
'Dragon',
'Cactus',
];
if (!pet) return 'Pet-FlyingPig-Veggie';
if (SPECIAL_PETS.indexOf(pet) !== -1) {
return 'Pet-PandaCub-Veggie';
} else {
const species = pet.slice(0, pet.indexOf('-'));
if (includes(BASE_PETS, species)) {
return `Pet-${species}-Veggie`;
} else {
return 'Pet-Fox-Veggie';
}
}
},
}, },
}; };
</script> </script>

View File

@@ -113,7 +113,10 @@
}, },
getPetItemClass () { getPetItemClass () {
if (this.isOwned() || this.mountOwned() && this.isHatchable()) { if (this.isOwned() || this.mountOwned() && this.isHatchable()) {
return `Pet Pet-${this.item.key} ${this.item.eggKey}`; if (this.isSpecial()) {
return 'Pet Pet-PandaCub-Veggie';
}
return `${this.item.class} ${this.item.eggKey}`;
} }
if (!this.isOwned() && this.isSpecial()) { if (!this.isOwned() && this.isSpecial()) {
@@ -125,7 +128,7 @@
} }
if (this.mountOwned()) { if (this.mountOwned()) {
return `GreyedOut Pet Pet-${this.item.key} ${this.item.eggKey}`; return `GreyedOut ${this.item.class} ${this.item.eggKey}`;
} }
// Can't hatch // Can't hatch

View File

@@ -2,6 +2,9 @@
import content from 'common/script/content'; import content from 'common/script/content';
const specialPets = Object.keys(content.specialPets); const specialPets = Object.keys(content.specialPets);
const premiumPets = Object.keys(content.premiumPets);
const questPets = Object.keys(content.questPets);
const dropPets = Object.keys(content.pets);
function getText (textOrFunction) { function getText (textOrFunction) {
if (textOrFunction instanceof Function) { if (textOrFunction instanceof Function) {
@@ -33,10 +36,18 @@ export function isSpecial (animal) {
export function createAnimal (egg, potion, type, _content, userItems) { export function createAnimal (egg, potion, type, _content, userItems) {
let animalKey = `${egg.key}-${potion.key}`; let animalKey = `${egg.key}-${potion.key}`;
let fooledKey = '';
if (questPets.includes(animalKey)) {
fooledKey = 'Fox-Veggie';
} else if (dropPets.includes(animalKey) || premiumPets.includes(animalKey)) {
fooledKey = `${egg.key}-Veggie`;
} else {
fooledKey = animalKey;
}
return { return {
key: animalKey, key: animalKey,
class: type === 'pet' ? `Pet Pet-${animalKey}` : `Mount_Icon_${animalKey}`, class: type === 'pet' ? `Pet Pet-${fooledKey}` : `Mount_Icon_${animalKey}`,
eggKey: egg.key, eggKey: egg.key,
eggName: getText(egg.text), eggName: getText(egg.text),
potionKey: potion.key, potionKey: potion.key,
@@ -59,4 +70,3 @@ export function createAnimal (egg, potion, type, _content, userItems) {
}, },
}; };
} }

View File

@@ -170,6 +170,14 @@ let premium = {
}, },
}; };
const wacky = {
Veggie: {
text: t('hatchingPotionVeggie'),
limited: true,
_season: 'March',
},
};
each(drops, (pot, key) => { each(drops, (pot, key) => {
defaults(pot, { defaults(pot, {
key, key,
@@ -203,10 +211,29 @@ each(premium, (pot, key) => {
}); });
}); });
each(wacky, (pot, key) => {
defaults(pot, {
key,
value: 2,
notes: t('hatchingPotionNotes', {
potText: pot.text,
}),
_addlNotes: t('eventAvailability', {
date: t(`dateEnd${pot._season}`),
}),
premium: false,
limited: true,
canBuy () {
return pot._season === CURRENT_SEASON;
},
});
});
let all = assign({}, drops, premium); let all = assign({}, drops, premium);
module.exports = { module.exports = {
drops, drops,
premium, premium,
wacky,
all, all,
}; };

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB