feat(content): More Check-in Incentives
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 1006 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -99,7 +99,7 @@ habitrpg.controller('UserCtrl', ['$rootScope', '$scope', '$location', 'User', '$
|
||||
|
||||
$scope.getProgressDisplay = function () {
|
||||
var currentLoginDay = Content.loginIncentives[$scope.profile.loginIncentives];
|
||||
if (!currentLoginDay) return env.t('moreIncentivesComingSoon');
|
||||
if (!currentLoginDay) return env.t('checkinReceivedAllRewardsMessage');
|
||||
var nextRewardAt = currentLoginDay.nextRewardAt;
|
||||
if (!nextRewardAt) return env.t('moreIncentivesComingSoon');
|
||||
// if we are on a reward day, let's show progress relative to this
|
||||
|
||||
@@ -12,6 +12,13 @@
|
||||
"totalCheckinsTitle": "Total Check-Ins",
|
||||
"checkinProgressTitle": "Progress until next",
|
||||
"incentiveBackgroundsUnlockedWithCheckins": "Locked Plain Backgrounds will unlock with Daily Check-Ins.",
|
||||
"moreIncentivesComingSoon": "New check-in incentives will be added soon!",
|
||||
"checkinReceivedAllRewardsMessage" : "You have received all the Check-In prizes currently available! More will be added in the future."
|
||||
"checkinReceivedAllRewardsMessage": "You have received all the Check-In prizes available! Congratulations!",
|
||||
"oneOfAllPetEggs": "one of each standard Pet Egg",
|
||||
"twoOfAllPetEggs": "two of each standard Pet Egg",
|
||||
"threeOfAllPetEggs": "three of each standard Pet Egg",
|
||||
"oneOfAllHatchingPotions": "one of each standard Hatching Potion",
|
||||
"threeOfEachFood": "three of each standard Pet Food",
|
||||
"fourOfEachFood": "four of each standard Pet Food",
|
||||
"twoSaddles": "two Saddles",
|
||||
"threeSaddles": "three Saddles"
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ export const MAX_HEALTH = 50;
|
||||
export const MAX_LEVEL = 100;
|
||||
export const MAX_STAT_POINTS = MAX_LEVEL;
|
||||
export const ATTRIBUTES = ['str', 'int', 'per', 'con'];
|
||||
export const MAX_INCENTIVES = 100;
|
||||
export const MAX_INCENTIVES = 500;
|
||||
|
||||
export const TAVERN_ID = '00000000-0000-4000-A000-000000000000';
|
||||
export const LARGE_GROUP_COUNT_MESSAGE_CUTOFF = 5000;
|
||||
|
||||
@@ -97,6 +97,11 @@ let basicAchievs = {
|
||||
pluralTitleKey: 'perfectName',
|
||||
pluralTextKey: 'perfectText',
|
||||
},
|
||||
royallyLoyal: {
|
||||
icon: 'achievement-royally-loyal',
|
||||
titleKey: 'royallyLoyalName',
|
||||
textKey: 'royallyLoyalText',
|
||||
},
|
||||
};
|
||||
Object.assign(achievementsData, basicAchievs);
|
||||
|
||||
|
||||
@@ -63,6 +63,41 @@ let armor = {
|
||||
value: 0,
|
||||
canOwn: ownsItem('armor_special_pageArmor'),
|
||||
},
|
||||
sneakthiefRobes: {
|
||||
text: t('armorSpecialSneakthiefRobesText'),
|
||||
notes: t('armorSpecialSneakthiefRobesNotes', { int: 16 }),
|
||||
int: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('armor_special_sneakthiefRobes'),
|
||||
},
|
||||
snowSovereignRobes: {
|
||||
text: t('armorSpecialSnowSovereignRobesText'),
|
||||
notes: t('armorSpecialSnowSovereignRobesNotes', { per: 17 }),
|
||||
per: 17,
|
||||
value: 0,
|
||||
canOwn: ownsItem('armor_special_snowSovereignRobes'),
|
||||
},
|
||||
dandySuit: {
|
||||
text: t('armorSpecialDandySuitText'),
|
||||
notes: t('armorSpecialDandySuitNotes', { per: 17 }),
|
||||
per: 17,
|
||||
value: 0,
|
||||
canOwn: ownsItem('armor_special_dandySuit'),
|
||||
},
|
||||
nomadsCuirass: {
|
||||
text: t('armorSpecialNomadsCuirassText'),
|
||||
notes: t('armorSpecialNomadsCuirassNotes', { con: 17 }),
|
||||
con: 17,
|
||||
value: 0,
|
||||
canOwn: ownsItem('armor_special_nomadsCuirass'),
|
||||
},
|
||||
samuraiArmor: {
|
||||
text: t('armorSpecialSamuraiArmorText'),
|
||||
notes: t('armorSpecialSamuraiArmorNotes', { per: 17 }),
|
||||
per: 17,
|
||||
value: 0,
|
||||
canOwn: ownsItem('armor_special_samuraiArmor'),
|
||||
},
|
||||
yeti: {
|
||||
event: EVENTS.winter,
|
||||
specialClass: 'warrior',
|
||||
@@ -582,6 +617,11 @@ let back = {
|
||||
wondercon_red: wonderconGear.backSpecialWonderconRed, // eslint-disable-line camelcase
|
||||
wondercon_black: wonderconGear.backSpecialWonderconBlack, // eslint-disable-line camelcase
|
||||
takeThis: takeThisGear.backSpecialTakeThis,
|
||||
snowdriftVeil: {
|
||||
text: t('backSpecialSnowdriftVeilText'),
|
||||
notes: t('backSpecialSnowdriftVeilNotes'),
|
||||
value: 0,
|
||||
},
|
||||
};
|
||||
|
||||
let body = {
|
||||
@@ -756,6 +796,41 @@ let head = {
|
||||
value: 0,
|
||||
canOwn: ownsItem('head_special_pageHelm'),
|
||||
},
|
||||
clandestineCowl: {
|
||||
text: t('headSpecialClandestineCowlText'),
|
||||
notes: t('headSpecialClandestineCowlNotes', { per: 16 }),
|
||||
per: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('head_special_clandestineCowl'),
|
||||
},
|
||||
snowSovereignCrown: {
|
||||
text: t('headSpecialSnowSovereignCrownText'),
|
||||
notes: t('headSpecialSnowSovereignCrownNotes', { con: 16 }),
|
||||
con: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('head_special_snowSovereignCrown'),
|
||||
},
|
||||
spikedHelm: {
|
||||
text: t('headSpecialSpikedHelmText'),
|
||||
notes: t('headSpecialSpikedHelmNotes', { str: 16 }),
|
||||
str: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('head_special_spikedHelm'),
|
||||
},
|
||||
dandyHat: {
|
||||
text: t('headSpecialDandyHatText'),
|
||||
notes: t('headSpecialDandyHatNotes', { con: 17 }),
|
||||
con: 17,
|
||||
value: 0,
|
||||
canOwn: ownsItem('head_special_dandyHat'),
|
||||
},
|
||||
kabuto: {
|
||||
text: t('headSpecialKabutoText'),
|
||||
notes: t('headSpecialKabutoNotes', { int: 17 }),
|
||||
int: 17,
|
||||
value: 0,
|
||||
canOwn: ownsItem('head_special_kabuto'),
|
||||
},
|
||||
nye: {
|
||||
event: EVENTS.nye,
|
||||
text: t('headSpecialNyeText'),
|
||||
@@ -1544,6 +1619,27 @@ let shield = {
|
||||
value: 0,
|
||||
canOwn: ownsItem('shield_special_diamondStave'),
|
||||
},
|
||||
lootBag: {
|
||||
text: t('shieldSpecialLootBagText'),
|
||||
notes: t('shieldSpecialLootBagNotes', { str: 16 }),
|
||||
str: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('shield_special_lootBag'),
|
||||
},
|
||||
wintryMirror: {
|
||||
text: t('shieldSpecialWintryMirrorText'),
|
||||
notes: t('shieldSpecialWintryMirrorNotes', { int: 16 }),
|
||||
int: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('shield_special_wintryMirror'),
|
||||
},
|
||||
wakizashi: {
|
||||
text: t('shieldSpecialWakizashiText'),
|
||||
notes: t('shieldSpecialWakizashiNotes', { con: 17 }),
|
||||
con: 17,
|
||||
value: 0,
|
||||
canOwn: ownsItem('shield_special_wakizashi'),
|
||||
},
|
||||
yeti: {
|
||||
event: EVENTS.winter,
|
||||
specialClass: 'warrior',
|
||||
@@ -1971,6 +2067,34 @@ let weapon = {
|
||||
value: 0,
|
||||
canOwn: ownsItem('weapon_special_pageBanner'),
|
||||
},
|
||||
skeletonKey: {
|
||||
text: t('weaponSpecialSkeletonKeyText'),
|
||||
notes: t('weaponSpecialSkeletonKeyNotes', { con: 16 }),
|
||||
con: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('weapon_special_skeletonKey'),
|
||||
},
|
||||
nomadsScimitar: {
|
||||
text: t('weaponSpecialNomadsScimitarText'),
|
||||
notes: t('weaponSpecialNomadsScimitarNotes', { int: 16 }),
|
||||
int: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('weapon_special_nomadsScimitar'),
|
||||
},
|
||||
fencingFoil: {
|
||||
text: t('weaponSpecialFencingFoilText'),
|
||||
notes: t('weaponSpecialFencingFoilNotes', { str: 16 }),
|
||||
str: 16,
|
||||
value: 0,
|
||||
canOwn: ownsItem('weapon_special_fencingFoil'),
|
||||
},
|
||||
tachi: {
|
||||
text: t('weaponSpecialTachiText'),
|
||||
notes: t('weaponSpecialTachiNotes', { str: 17 }),
|
||||
str: 17,
|
||||
value: 0,
|
||||
canOwn: ownsItem('weapon_special_tachi'),
|
||||
},
|
||||
yeti: {
|
||||
event: EVENTS.winter,
|
||||
specialClass: 'warrior',
|
||||
|
||||
@@ -61,7 +61,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
10: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -96,7 +96,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
26: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -118,7 +118,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
35: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -134,7 +134,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
45: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -150,7 +150,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
55: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -165,7 +165,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
65: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -180,7 +180,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
75: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -195,7 +195,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
85: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -210,7 +210,7 @@ module.exports = function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
95: {
|
||||
rewardKey: ['Pet_HatchingPotion_Purple'],
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
@@ -225,6 +225,364 @@ module.exports = function getLoginIncentives (api) {
|
||||
user.items.food.Saddle += 1;
|
||||
},
|
||||
},
|
||||
105: {
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
user.items.hatchingPotions.RoyalPurple += 1;
|
||||
},
|
||||
},
|
||||
110: {
|
||||
rewardKey: ['Pet_Egg_Cactus', 'Pet_Egg_Dragon', 'Pet_Egg_Wolf'],
|
||||
reward: [api.eggs.BearCub, api.eggs.Cactus, api.eggs.Dragon, api.eggs.FlyingPig, api.eggs.Fox, api.eggs.LionCub, api.eggs.PandaCub, api.eggs.TigerCub, api.eggs.Wolf],
|
||||
rewardName: 'oneOfAllPetEggs',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.eggs.BearCub) user.items.eggs.BearCub = 0;
|
||||
user.items.eggs.BearCub += 1;
|
||||
if (!user.items.eggs.Cactus) user.items.eggs.Cactus = 0;
|
||||
user.items.eggs.Cactus += 1;
|
||||
if (!user.items.eggs.Dragon) user.items.eggs.Dragon = 0;
|
||||
user.items.eggs.Dragon += 1;
|
||||
if (!user.items.eggs.FlyingPig) user.items.eggs.FlyingPig = 0;
|
||||
user.items.eggs.FlyingPig += 1;
|
||||
if (!user.items.eggs.Fox) user.items.eggs.Fox = 0;
|
||||
user.items.eggs.Fox += 1;
|
||||
if (!user.items.eggs.LionCub) user.items.eggs.LionCub = 0;
|
||||
user.items.eggs.LionCub += 1;
|
||||
if (!user.items.eggs.PandaCub) user.items.eggs.PandaCub = 0;
|
||||
user.items.eggs.PandaCub += 1;
|
||||
if (!user.items.eggs.TigerCub) user.items.eggs.TigerCub = 0;
|
||||
user.items.eggs.TigerCub += 1;
|
||||
if (!user.items.eggs.Wolf) user.items.eggs.Wolf = 0;
|
||||
user.items.eggs.Wolf += 1;
|
||||
},
|
||||
},
|
||||
115: {
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
user.items.hatchingPotions.RoyalPurple += 1;
|
||||
},
|
||||
},
|
||||
120: {
|
||||
rewardKey: ['Pet_HatchingPotion_Base', 'Pet_HatchingPotion_Red', 'Pet_HatchingPotion_Golden'],
|
||||
reward: [api.hatchingPotions.Base, api.hatchingPotions.CottonCandyBlue, api.hatchingPotions.CottonCandyPink, api.hatchingPotions.Desert, api.hatchingPotions.Golden, api.hatchingPotions.Red, api.hatchingPotions.Shade, api.hatchingPotions.Skeleton, api.hatchingPotions.White, api.hatchingPotions.Zombie],
|
||||
rewardName: 'oneOfAllHatchingPotions',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.Base) user.items.hatchingPotions.Base = 0;
|
||||
user.items.hatchingPotions.Base += 1;
|
||||
if (!user.items.hatchingPotions.CottonCandyBlue) user.items.hatchingPotions.CottonCandyBlue = 0;
|
||||
user.items.hatchingPotions.CottonCandyBlue += 1;
|
||||
if (!user.items.hatchingPotions.CottonCandyPink) user.items.hatchingPotions.CottonCandyPink = 0;
|
||||
user.items.hatchingPotions.CottonCandyPink += 1;
|
||||
if (!user.items.hatchingPotions.Desert) user.items.hatchingPotions.Desert = 0;
|
||||
user.items.hatchingPotions.Desert += 1;
|
||||
if (!user.items.hatchingPotions.Golden) user.items.hatchingPotions.Golden = 0;
|
||||
user.items.hatchingPotions.Golden += 1;
|
||||
if (!user.items.hatchingPotions.Red) user.items.hatchingPotions.Red = 0;
|
||||
user.items.hatchingPotions.Red += 1;
|
||||
if (!user.items.hatchingPotions.Shade) user.items.hatchingPotions.Shade = 0;
|
||||
user.items.hatchingPotions.Shade += 1;
|
||||
if (!user.items.hatchingPotions.Skeleton) user.items.hatchingPotions.Skeleton = 0;
|
||||
user.items.hatchingPotions.Skeleton += 1;
|
||||
if (!user.items.hatchingPotions.White) user.items.hatchingPotions.White = 0;
|
||||
user.items.hatchingPotions.White += 1;
|
||||
if (!user.items.hatchingPotions.Zombie) user.items.hatchingPotions.Zombie = 0;
|
||||
user.items.hatchingPotions.Zombie += 1;
|
||||
},
|
||||
},
|
||||
125: {
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
user.items.hatchingPotions.RoyalPurple += 1;
|
||||
},
|
||||
},
|
||||
130: {
|
||||
rewardKey: ['Pet_Food_Meat', 'Pet_Food_Potatoe', 'Pet_Food_Milk'],
|
||||
reward: [api.food.Meat, api.food.CottonCandyBlue, api.food.CottonCandyPink, api.food.Potatoe, api.food.Honey, api.food.Strawberry, api.food.Chocolate, api.food.Fish, api.food.Milk, api.food.RottenMeat],
|
||||
rewardName: 'threeOfEachFood',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.food.Meat) user.items.food.Meat = 0;
|
||||
user.items.food.Meat += 3;
|
||||
if (!user.items.food.CottonCandyBlue) user.items.food.CottonCandyBlue = 0;
|
||||
user.items.food.CottonCandyBlue += 3;
|
||||
if (!user.items.food.CottonCandyPink) user.items.food.CottonCandyPink = 0;
|
||||
user.items.food.CottonCandyPink += 3;
|
||||
if (!user.items.food.Potatoe) user.items.food.Potatoe = 0;
|
||||
user.items.food.Potatoe += 3;
|
||||
if (!user.items.food.Honey) user.items.food.Honey = 0;
|
||||
user.items.food.Honey += 3;
|
||||
if (!user.items.food.Strawberry) user.items.food.Strawberry = 0;
|
||||
user.items.food.Strawberry += 3;
|
||||
if (!user.items.food.Chocolate) user.items.food.Chocolate = 0;
|
||||
user.items.food.Chocolate += 3;
|
||||
if (!user.items.food.Fish) user.items.food.Fish = 0;
|
||||
user.items.food.Fish += 3;
|
||||
if (!user.items.food.Milk) user.items.food.Milk = 0;
|
||||
user.items.food.Milk += 3;
|
||||
if (!user.items.food.RottenMeat) user.items.food.RottenMeat = 0;
|
||||
user.items.food.RottenMeat += 3;
|
||||
},
|
||||
},
|
||||
135: {
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
user.items.hatchingPotions.RoyalPurple += 1;
|
||||
},
|
||||
},
|
||||
140: {
|
||||
rewardKey: ['weapon_special_skeletonKey', 'shield_special_lootBag'],
|
||||
reward: [api.gear.flat.weapon_special_skeletonKey, api.gear.flat.shield_special_lootBag],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.weapon_special_skeletonKey = true; // eslint-disable-line camelcase
|
||||
user.items.gear.owned.shield_special_lootBag = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
145: {
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
user.items.hatchingPotions.RoyalPurple += 1;
|
||||
},
|
||||
},
|
||||
150: {
|
||||
rewardKey: ['head_special_clandestineCowl', 'broad_armor_special_sneakthiefRobes'],
|
||||
reward: [api.gear.flat.head_special_clandestineCowl, api.gear.flat.armor_special_sneakthiefRobes],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.head_special_clandestineCowl = true; // eslint-disable-line camelcase
|
||||
user.items.gear.owned.armor_special_sneakthiefRobes = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
160: {
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
user.items.hatchingPotions.RoyalPurple += 1;
|
||||
},
|
||||
},
|
||||
170: {
|
||||
rewardKey: ['head_special_snowSovereignCrown', 'broad_armor_special_snowSovereignRobes'],
|
||||
reward: [api.gear.flat.head_special_snowSovereignCrown, api.gear.flat.armor_special_snowSovereignRobes],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.head_special_snowSovereignCrown = true; // eslint-disable-line camelcase
|
||||
user.items.gear.owned.armor_special_snowSovereignRobes = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
180: {
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
user.items.hatchingPotions.RoyalPurple += 1;
|
||||
},
|
||||
},
|
||||
190: {
|
||||
rewardKey: ['shield_special_wintryMirror', 'back_special_snowdriftVeil'],
|
||||
reward: [api.gear.flat.shield_special_wintryMirror, api.gear.flat.back_special_snowdriftVeil],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.head_special_wintryMirror = true; // eslint-disable-line camelcase
|
||||
user.items.gear.owned.armor_special_snowdriftVeil = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
200: {
|
||||
rewardKey: ['Pet_HatchingPotion_RoyalPurple'],
|
||||
reward: [api.hatchingPotions.RoyalPurple],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.hatchingPotions.RoyalPurple) user.items.hatchingPotions.RoyalPurple = 0;
|
||||
user.items.hatchingPotions.RoyalPurple += 1;
|
||||
},
|
||||
},
|
||||
220: {
|
||||
rewardKey: ['Pet_Food_Saddle'],
|
||||
reward: [api.food.Saddle],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.food.Saddle) user.items.food.Saddle = 0;
|
||||
user.items.food.Saddle += 1;
|
||||
},
|
||||
},
|
||||
240: {
|
||||
rewardKey: ['weapon_special_nomadsScimitar', 'broad_armor_special_nomadsCuirass'],
|
||||
reward: [api.gear.flat.weapon_special_nomadsScimitar, api.gear.flat.armor_special_nomadsCuirass],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.weapon_special_nomadsScimitar = true; // eslint-disable-line camelcase
|
||||
user.items.gear.owned.armor_special_nomadsCuirass = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
260: {
|
||||
rewardKey: ['head_special_spikedHelm'],
|
||||
reward: [api.gear.flat.head_special_spikedHelm],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.head_special_spikedHelm = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
280: {
|
||||
rewardKey: ['Pet_Food_Meat', 'Pet_Food_Potatoe', 'Pet_Food_Milk'],
|
||||
reward: [api.food.Meat, api.food.CottonCandyBlue, api.food.CottonCandyPink, api.food.Potatoe, api.food.Honey, api.food.Strawberry, api.food.Chocolate, api.food.Fish, api.food.Milk, api.food.RottenMeat],
|
||||
rewardName: 'threeOfEachFood',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.food.Meat) user.items.food.Meat = 0;
|
||||
user.items.food.Meat += 3;
|
||||
if (!user.items.food.CottonCandyBlue) user.items.food.CottonCandyBlue = 0;
|
||||
user.items.food.CottonCandyBlue += 3;
|
||||
if (!user.items.food.CottonCandyPink) user.items.food.CottonCandyPink = 0;
|
||||
user.items.food.CottonCandyPink += 3;
|
||||
if (!user.items.food.Potatoe) user.items.food.Potatoe = 0;
|
||||
user.items.food.Potatoe += 3;
|
||||
if (!user.items.food.Honey) user.items.food.Honey = 0;
|
||||
user.items.food.Honey += 3;
|
||||
if (!user.items.food.Strawberry) user.items.food.Strawberry = 0;
|
||||
user.items.food.Strawberry += 3;
|
||||
if (!user.items.food.Chocolate) user.items.food.Chocolate = 0;
|
||||
user.items.food.Chocolate += 3;
|
||||
if (!user.items.food.Fish) user.items.food.Fish = 0;
|
||||
user.items.food.Fish += 3;
|
||||
if (!user.items.food.Milk) user.items.food.Milk = 0;
|
||||
user.items.food.Milk += 3;
|
||||
if (!user.items.food.RottenMeat) user.items.food.RottenMeat = 0;
|
||||
user.items.food.RottenMeat += 3;
|
||||
},
|
||||
},
|
||||
300: {
|
||||
rewardKey: ['Pet_Egg_Cactus', 'Pet_Egg_Dragon', 'Pet_Egg_Wolf'],
|
||||
reward: [api.eggs.BearCub, api.eggs.Cactus, api.eggs.Dragon, api.eggs.FlyingPig, api.eggs.Fox, api.eggs.LionCub, api.eggs.PandaCub, api.eggs.TigerCub, api.eggs.Wolf],
|
||||
rewardName: 'twoOfAllPetEggs',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.eggs.BearCub) user.items.eggs.BearCub = 0;
|
||||
user.items.eggs.BearCub += 2;
|
||||
if (!user.items.eggs.Cactus) user.items.eggs.Cactus = 0;
|
||||
user.items.eggs.Cactus += 2;
|
||||
if (!user.items.eggs.Dragon) user.items.eggs.Dragon = 0;
|
||||
user.items.eggs.Dragon += 2;
|
||||
if (!user.items.eggs.FlyingPig) user.items.eggs.FlyingPig = 0;
|
||||
user.items.eggs.FlyingPig += 2;
|
||||
if (!user.items.eggs.Fox) user.items.eggs.Fox = 0;
|
||||
user.items.eggs.Fox += 2;
|
||||
if (!user.items.eggs.LionCub) user.items.eggs.LionCub = 0;
|
||||
user.items.eggs.LionCub += 2;
|
||||
if (!user.items.eggs.PandaCub) user.items.eggs.PandaCub = 0;
|
||||
user.items.eggs.PandaCub += 2;
|
||||
if (!user.items.eggs.TigerCub) user.items.eggs.TigerCub = 0;
|
||||
user.items.eggs.TigerCub += 2;
|
||||
if (!user.items.eggs.Wolf) user.items.eggs.Wolf = 0;
|
||||
user.items.eggs.Wolf += 2;
|
||||
},
|
||||
},
|
||||
320: {
|
||||
rewardKey: ['head_special_dandyHat'],
|
||||
reward: [api.gear.flat.head_special_dandyHat],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.head_special_dandyHat = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
340: {
|
||||
rewardKey: ['weapon_special_fencingFoil', 'broad_armor_special_dandySuit'],
|
||||
reward: [api.gear.flat.weapon_special_fencingFoil, api.gear.flat.armor_special_dandySuit],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.weapon_special_fencingFoil = true; // eslint-disable-line camelcase
|
||||
user.items.gear.owned.armor_special_dandySuit = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
360: {
|
||||
rewardKey: ['Pet_Food_Saddle'],
|
||||
reward: [api.food.Saddle],
|
||||
rewardName: 'twoSaddles',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.food.Saddle) user.items.food.Saddle = 0;
|
||||
user.items.food.Saddle += 2;
|
||||
},
|
||||
},
|
||||
380: {
|
||||
rewardKey: ['Pet_Egg_Cactus', 'Pet_Egg_Dragon', 'Pet_Egg_Wolf'],
|
||||
reward: [api.eggs.BearCub, api.eggs.Cactus, api.eggs.Dragon, api.eggs.FlyingPig, api.eggs.Fox, api.eggs.LionCub, api.eggs.PandaCub, api.eggs.TigerCub, api.eggs.Wolf],
|
||||
rewardName: 'threeOfAllPetEggs',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.eggs.BearCub) user.items.eggs.BearCub = 0;
|
||||
user.items.eggs.BearCub += 3;
|
||||
if (!user.items.eggs.Cactus) user.items.eggs.Cactus = 0;
|
||||
user.items.eggs.Cactus += 3;
|
||||
if (!user.items.eggs.Dragon) user.items.eggs.Dragon = 0;
|
||||
user.items.eggs.Dragon += 3;
|
||||
if (!user.items.eggs.FlyingPig) user.items.eggs.FlyingPig = 0;
|
||||
user.items.eggs.FlyingPig += 3;
|
||||
if (!user.items.eggs.Fox) user.items.eggs.Fox = 0;
|
||||
user.items.eggs.Fox += 3;
|
||||
if (!user.items.eggs.LionCub) user.items.eggs.LionCub = 0;
|
||||
user.items.eggs.LionCub += 3;
|
||||
if (!user.items.eggs.PandaCub) user.items.eggs.PandaCub = 0;
|
||||
user.items.eggs.PandaCub += 3;
|
||||
if (!user.items.eggs.TigerCub) user.items.eggs.TigerCub = 0;
|
||||
user.items.eggs.TigerCub += 3;
|
||||
if (!user.items.eggs.Wolf) user.items.eggs.Wolf = 0;
|
||||
user.items.eggs.Wolf += 3;
|
||||
},
|
||||
},
|
||||
400: {
|
||||
rewardKey: ['Pet_Food_Meat', 'Pet_Food_Potatoe', 'Pet_Food_Milk'],
|
||||
reward: [api.food.Meat, api.food.CottonCandyBlue, api.food.CottonCandyPink, api.food.Potatoe, api.food.Honey, api.food.Strawberry, api.food.Chocolate, api.food.Fish, api.food.Milk, api.food.RottenMeat],
|
||||
rewardName: 'fourOfEachFood',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.food.Meat) user.items.food.Meat = 0;
|
||||
user.items.food.Meat += 4;
|
||||
if (!user.items.food.CottonCandyBlue) user.items.food.CottonCandyBlue = 0;
|
||||
user.items.food.CottonCandyBlue += 4;
|
||||
if (!user.items.food.CottonCandyPink) user.items.food.CottonCandyPink = 0;
|
||||
user.items.food.CottonCandyPink += 4;
|
||||
if (!user.items.food.Potatoe) user.items.food.Potatoe = 0;
|
||||
user.items.food.Potatoe += 4;
|
||||
if (!user.items.food.Honey) user.items.food.Honey = 0;
|
||||
user.items.food.Honey += 4;
|
||||
if (!user.items.food.Strawberry) user.items.food.Strawberry = 0;
|
||||
user.items.food.Strawberry += 4;
|
||||
if (!user.items.food.Chocolate) user.items.food.Chocolate = 0;
|
||||
user.items.food.Chocolate += 4;
|
||||
if (!user.items.food.Fish) user.items.food.Fish = 0;
|
||||
user.items.food.Fish += 4;
|
||||
if (!user.items.food.Milk) user.items.food.Milk = 0;
|
||||
user.items.food.Milk += 4;
|
||||
if (!user.items.food.RottenMeat) user.items.food.RottenMeat = 0;
|
||||
user.items.food.RottenMeat += 4;
|
||||
},
|
||||
},
|
||||
425: {
|
||||
rewardKey: ['Pet_Food_Saddle'],
|
||||
reward: [api.food.Saddle],
|
||||
rewardName: 'threeSaddles',
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.food.Saddle) user.items.food.Saddle = 0;
|
||||
user.items.food.Saddle += 3;
|
||||
},
|
||||
},
|
||||
450: {
|
||||
rewardKey: ['weapon_special_tachi', 'broad_armor_special_samuraiArmor'],
|
||||
reward: [api.gear.flat.weapon_special_tachi, api.gear.flat.armor_special_samuraiArmor],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.weapon_special_tachi = true; // eslint-disable-line camelcase
|
||||
user.items.gear.owned.armor_special_samuraiArmor = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
475: {
|
||||
rewardKey: ['head_special_kabuto', 'shield_special_wakizashi'],
|
||||
reward: [api.gear.flat.head_special_kabuto, api.gear.flat.shield_special_wakizashi],
|
||||
assignReward: function assignReward (user) {
|
||||
user.items.gear.owned.head_special_kabuto = true; // eslint-disable-line camelcase
|
||||
user.items.gear.owned.shield_special_wakizashi = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
500: {
|
||||
rewardKey: ['achievement-royally-loyal2x'],
|
||||
reward: [api.achievements.royallyLoyal],
|
||||
assignReward: function assignReward (user) {
|
||||
user.achievements.royallyLoyal = true; // eslint-disable-line camelcase
|
||||
},
|
||||
},
|
||||
};
|
||||
// When the final check-in prize is added here, change checkinReceivedAllRewardsMessage in website/common/locales/en/loginIncentives.json
|
||||
// to say "You have received the final Check-In prize!". Confirm the message with Lemoness first.
|
||||
|
||||
@@ -111,6 +111,7 @@ let schema = new Schema({
|
||||
birthday: Number,
|
||||
partyUp: Boolean,
|
||||
partyOn: Boolean,
|
||||
royallyLoyal: Boolean,
|
||||
},
|
||||
|
||||
backer: {
|
||||
|
||||