start fixing commong
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import prefill from './prefill.js';
|
||||
import prefill from './prefill';
|
||||
|
||||
export default prefill({
|
||||
none: {},
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import prefill from '../prefill.js';
|
||||
import prefill from '../prefill';
|
||||
|
||||
export default prefill({
|
||||
0: {},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import prefill from '../prefill.js';
|
||||
import sets from '../sets.js';
|
||||
import prefill from '../prefill';
|
||||
import sets from '../sets';
|
||||
|
||||
export default prefill({
|
||||
0: {},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import sets from '../sets.js';
|
||||
import prefill from '../prefill.js';
|
||||
import sets from '../sets';
|
||||
import prefill from '../prefill';
|
||||
|
||||
export default prefill({
|
||||
0: {},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import sets from '../sets.js';
|
||||
import prefill from '../prefill.js';
|
||||
import sets from '../sets';
|
||||
import prefill from '../prefill';
|
||||
|
||||
export default prefill({
|
||||
white: {},
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import prefill from '../prefill.js';
|
||||
import prefill from '../prefill';
|
||||
|
||||
export default prefill({
|
||||
0: {},
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import bangs from './bangs.js';
|
||||
import base from './base.js';
|
||||
import beard from './beard.js';
|
||||
import color from './color.js';
|
||||
import flower from './flower.js';
|
||||
import mustache from './mustache.js';
|
||||
import bangs from './bangs';
|
||||
import base from './base';
|
||||
import beard from './beard';
|
||||
import color from './color';
|
||||
import flower from './flower';
|
||||
import mustache from './mustache';
|
||||
|
||||
export default {
|
||||
color,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import sets from '../sets.js';
|
||||
import prefill from '../prefill.js';
|
||||
import sets from '../sets';
|
||||
import prefill from '../prefill';
|
||||
|
||||
export default prefill({
|
||||
0: {},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import prefill from '../prefill.js';
|
||||
import sets from '../sets.js';
|
||||
import prefill from '../prefill';
|
||||
import sets from '../sets';
|
||||
|
||||
export default prefill({
|
||||
0: {},
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import forOwn from 'lodash/forOwn';
|
||||
import clone from 'lodash/clone';
|
||||
import hair from './hair';
|
||||
import shirts from './shirt.js';
|
||||
import skins from './skin.js';
|
||||
import sizes from './size.js';
|
||||
import backgrounds from './backgrounds.js';
|
||||
import chairs from './chair.js';
|
||||
import shirts from './shirt';
|
||||
import skins from './skin';
|
||||
import sizes from './size';
|
||||
import backgrounds from './backgrounds';
|
||||
import chairs from './chair';
|
||||
|
||||
const reorderedBgs = {};
|
||||
|
||||
|
||||
@@ -2,22 +2,36 @@ import t from '../translation';
|
||||
import prefill from './prefill';
|
||||
|
||||
export default prefill({
|
||||
baseHair1: {setPrice: 5, text: t('hairSet1')},
|
||||
baseHair2: {setPrice: 5, text: t('hairSet2')},
|
||||
baseHair3: {setPrice: 5, text: t('hairSet3')},
|
||||
facialHair: {setPrice: 5, text: t('bodyFacialHair')},
|
||||
specialShirts: {setPrice: 5, text: t('specialShirts')},
|
||||
winterHairColors: {setPrice: 5, availableUntil: '2016-01-01'},
|
||||
pastelHairColors: {setPrice: 5, availableUntil: '2016-01-01'},
|
||||
rainbowHairColors: {setPrice: 5, text: t('rainbowColors')},
|
||||
shimmerHairColors: {setPrice: 5, availableFrom: '2019-04-09', availableUntil: '2019-05-02', text: t('shimmerColors')},
|
||||
hauntedHairColors: {setPrice: 5, availableFrom: '2019-10-08', availableUntil: '2019-11-02', text: t('hauntedColors')},
|
||||
winteryHairColors: {setPrice: 5, availableFrom: '2019-01-08', availableUntil: '2019-02-02', text: t('winteryColors')},
|
||||
rainbowSkins: {setPrice: 5, text: t('rainbowSkins')},
|
||||
animalSkins: {setPrice: 5, text: t('animalSkins')},
|
||||
pastelSkins: {setPrice: 5, availableFrom: '2019-04-09', availableUntil: '2019-05-02', text: t('pastelSkins')},
|
||||
spookySkins: {setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins')},
|
||||
supernaturalSkins: {setPrice: 5, availableFrom: '2019-10-08', availableUntil: '2019-11-02', text: t('supernaturalSkins')},
|
||||
splashySkins: {setPrice: 5, availableFrom: '2019-07-02', availableUntil: '2019-08-02', text: t('splashySkins')},
|
||||
winterySkins: {setPrice: 5, availableFrom: '2019-01-08', availableUntil: '2019-02-02', text: t('winterySkins')},
|
||||
baseHair1: { setPrice: 5, text: t('hairSet1') },
|
||||
baseHair2: { setPrice: 5, text: t('hairSet2') },
|
||||
baseHair3: { setPrice: 5, text: t('hairSet3') },
|
||||
facialHair: { setPrice: 5, text: t('bodyFacialHair') },
|
||||
specialShirts: { setPrice: 5, text: t('specialShirts') },
|
||||
winterHairColors: { setPrice: 5, availableUntil: '2016-01-01' },
|
||||
pastelHairColors: { setPrice: 5, availableUntil: '2016-01-01' },
|
||||
rainbowHairColors: { setPrice: 5, text: t('rainbowColors') },
|
||||
shimmerHairColors: {
|
||||
setPrice: 5, availableFrom: '2019-04-09', availableUntil: '2019-05-02', text: t('shimmerColors'),
|
||||
},
|
||||
hauntedHairColors: {
|
||||
setPrice: 5, availableFrom: '2019-10-08', availableUntil: '2019-11-02', text: t('hauntedColors'),
|
||||
},
|
||||
winteryHairColors: {
|
||||
setPrice: 5, availableFrom: '2019-01-08', availableUntil: '2019-02-02', text: t('winteryColors'),
|
||||
},
|
||||
rainbowSkins: { setPrice: 5, text: t('rainbowSkins') },
|
||||
animalSkins: { setPrice: 5, text: t('animalSkins') },
|
||||
pastelSkins: {
|
||||
setPrice: 5, availableFrom: '2019-04-09', availableUntil: '2019-05-02', text: t('pastelSkins'),
|
||||
},
|
||||
spookySkins: { setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins') },
|
||||
supernaturalSkins: {
|
||||
setPrice: 5, availableFrom: '2019-10-08', availableUntil: '2019-11-02', text: t('supernaturalSkins'),
|
||||
},
|
||||
splashySkins: {
|
||||
setPrice: 5, availableFrom: '2019-07-02', availableUntil: '2019-08-02', text: t('splashySkins'),
|
||||
},
|
||||
winterySkins: {
|
||||
setPrice: 5, availableFrom: '2019-01-08', availableUntil: '2019-02-02', text: t('winterySkins'),
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import sets from './sets.js';
|
||||
import prefill from './prefill.js';
|
||||
import sets from './sets';
|
||||
import prefill from './prefill';
|
||||
|
||||
export default prefill({
|
||||
black: {},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import prefill from './prefill.js';
|
||||
import sets from './sets.js';
|
||||
import prefill from './prefill';
|
||||
import sets from './sets';
|
||||
|
||||
export default prefill({
|
||||
/* eslint-disable quote-props */
|
||||
|
||||
@@ -10,7 +10,7 @@ const faq = {
|
||||
},
|
||||
};
|
||||
|
||||
for (let i = 0; i <= NUMBER_OF_QUESTIONS; i++) {
|
||||
for (let i = 0; i <= NUMBER_OF_QUESTIONS; i += 1) {
|
||||
const question = {
|
||||
question: t(`faqQuestion${i}`),
|
||||
ios: t(`iosFaqAnswer${i}`),
|
||||
|
||||
@@ -29,7 +29,8 @@ const gear = {
|
||||
};
|
||||
|
||||
/*
|
||||
The gear is exported as a tree (defined above), and a flat list (eg, {weapon_healer_1: .., shield_special_0: ...}) since
|
||||
The gear is exported as a tree (defined above), and a flat list
|
||||
(eg, {weapon_healer_1: .., shield_special_0: ...}) since
|
||||
they are needed in different forms at different points in the app
|
||||
*/
|
||||
const flat = {};
|
||||
@@ -61,8 +62,11 @@ each(GEAR_TYPES, type => {
|
||||
|
||||
item.canOwn = user => {
|
||||
const userHasOwnedItem = ownsItem(key)(user);
|
||||
const eventIsCurrent = moment().isAfter(item.event.start) && moment().isBefore(item.event.end);
|
||||
const compatibleWithUserClass = item.specialClass ? user.stats.class === item.specialClass : true;
|
||||
const eventIsCurrent = moment()
|
||||
.isAfter(item.event.start) && moment().isBefore(item.event.end);
|
||||
const compatibleWithUserClass = item.specialClass
|
||||
? user.stats.class === item.specialClass
|
||||
: true;
|
||||
|
||||
return _canOwn(user) && (userHasOwnedItem || eventIsCurrent) && compatibleWithUserClass;
|
||||
};
|
||||
|
||||
@@ -26,7 +26,7 @@ const weapon = {
|
||||
|
||||
// Add Two Handed message to all weapons
|
||||
const rtlLanguages = [
|
||||
'ae', /* Avestan */
|
||||
'ae', /* Avestan */
|
||||
'ar', /* 'العربية', Arabic */
|
||||
'arc', /* Aramaic */
|
||||
'bcc', /* 'بلوچی مکرانی', Southern Balochi */
|
||||
|
||||
@@ -261,7 +261,10 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
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],
|
||||
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;
|
||||
@@ -388,7 +391,10 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
150: {
|
||||
rewardKey: ['shop_head_special_clandestineCowl', 'shop_armor_special_sneakthiefRobes'],
|
||||
reward: [api.gear.flat.head_special_clandestineCowl, api.gear.flat.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
|
||||
@@ -406,10 +412,13 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
170: {
|
||||
rewardKey: ['shop_head_special_snowSovereignCrown', 'shop_armor_special_snowSovereignRobes'],
|
||||
reward: [api.gear.flat.head_special_snowSovereignCrown, api.gear.flat.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
|
||||
user.items.gear.owned.head_special_snowSovereignCrown = true; // eslint-disable-line camelcase, max-len
|
||||
user.items.gear.owned.armor_special_snowSovereignRobes = true; // eslint-disable-line camelcase, max-len
|
||||
if (user.markModified) user.markModified('items.gear.owned');
|
||||
},
|
||||
},
|
||||
@@ -451,7 +460,10 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
240: {
|
||||
rewardKey: ['shop_weapon_special_nomadsScimitar', 'shop_armor_special_nomadsCuirass'],
|
||||
reward: [api.gear.flat.weapon_special_nomadsScimitar, api.gear.flat.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
|
||||
@@ -468,7 +480,11 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
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],
|
||||
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;
|
||||
@@ -496,7 +512,10 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
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],
|
||||
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;
|
||||
@@ -549,7 +568,10 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
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],
|
||||
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;
|
||||
@@ -575,7 +597,11 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
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],
|
||||
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;
|
||||
@@ -638,10 +664,12 @@ export default function getLoginIncentives (api) {
|
||||
},
|
||||
},
|
||||
};
|
||||
// When the final check-in prize is added here, change checkinReceivedAllRewardsMessage in website/common/locales/en/loginIncentives.json
|
||||
// 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.
|
||||
|
||||
// Add reference link to next reward and add filler days so we have a map to reference the next reward from any day
|
||||
// Add reference link to next reward and add filler days
|
||||
// so we have a map to reference the next reward from any day
|
||||
// We could also, use a list, but then we would be cloning each of the rewards.
|
||||
// Create a new array if we want the loginIncentives to be immutable in the future
|
||||
let nextRewardKey;
|
||||
|
||||
@@ -3505,14 +3505,15 @@ const quests = {
|
||||
};
|
||||
|
||||
each(quests, (v, key) => {
|
||||
let b;
|
||||
defaults(v, {
|
||||
key,
|
||||
canBuy () {
|
||||
return true;
|
||||
},
|
||||
});
|
||||
b = v.boss;
|
||||
|
||||
const b = v.boss;
|
||||
|
||||
if (b) {
|
||||
defaults(b, {
|
||||
str: 1,
|
||||
|
||||
@@ -11,23 +11,32 @@ import updateStats from '../fns/updateStats';
|
||||
---------------------------------------------------------------
|
||||
Text, notes, and mana are obvious. The rest:
|
||||
|
||||
* {target}: one of [task, self, party, user]. This is very important, because if the cast() function is expecting one
|
||||
thing and receives another, it will cause errors. `self` is used for self buffs, multi-task debuffs, AOEs (eg, meteor-shower),
|
||||
* {target}: one of [task, self, party, user].
|
||||
* This is very important, because if the cast() function is expecting one
|
||||
thing and receives another, it will cause errors.
|
||||
`self` is used for self buffs, multi-task debuffs, AOEs (eg, meteor-shower),
|
||||
etc. Basically, use self for anything that's not [task, party, user] and is an instant-cast
|
||||
|
||||
* {cast}: the function that's run to perform the ability's action. This is pretty slick - because this is exported to the
|
||||
web, this function can be performed on the client and on the server. `user` param is self (needed for determining your
|
||||
own stats for effectiveness of cast), and `target` param is one of [task, party, user]. In the case of `self` skills,
|
||||
you act on `user` instead of `target`. You can trust these are the correct objects, as long as the `target` attr of the
|
||||
spell is correct. Take a look at habitrpg/website/server/models/user.js and habitrpg/website/server/models/task.js for what attributes are
|
||||
available on each model. Note `task.value` is its "redness". If party is passed in, it's an array of users,
|
||||
* {cast}: the function that's run to perform the ability's action.
|
||||
This is pretty slick - because this is exported to the
|
||||
web, this function can be performed on the client and on the server.
|
||||
`user` param is self (needed for determining your
|
||||
own stats for effectiveness of cast), and `target` param is one of [task, party, user].
|
||||
In the case of `self` skills,
|
||||
you act on `user` instead of `target`. You can trust these are the correct objects,
|
||||
as long as the `target` attr of the
|
||||
spell is correct. Take a look at habitrpg/website/server/models/user.js and
|
||||
habitrpg/website/server/models/task.js for what attributes are
|
||||
available on each model. Note `task.value` is its "redness".
|
||||
If party is passed in, it's an array of users,
|
||||
so you'll want to iterate over them like: `_.each(target,function(member){...})`
|
||||
|
||||
Note, user.stats.mp is docked after automatically (it's appended to functions automatically down below in an _.each)
|
||||
Note, user.stats.mp is docked after automatically
|
||||
(it's appended to functions automatically down below in an _.each)
|
||||
*/
|
||||
|
||||
function diminishingReturns (bonus, max, halfway) {
|
||||
if (!halfway) halfway = max / 2;
|
||||
if (!halfway) halfway = max / 2; // eslint-disable-line no-param-reassign
|
||||
return max * (bonus / (bonus + halfway));
|
||||
}
|
||||
|
||||
@@ -274,8 +283,8 @@ spells.special = {
|
||||
target.stats.buffs.shinySeed = false;
|
||||
target.stats.buffs.seafoam = false;
|
||||
if (!target.achievements.snowball) target.achievements.snowball = 0;
|
||||
target.achievements.snowball++;
|
||||
user.items.special.snowball--;
|
||||
target.achievements.snowball += 1;
|
||||
user.items.special.snowball -= 1;
|
||||
},
|
||||
},
|
||||
salt: {
|
||||
@@ -305,8 +314,8 @@ spells.special = {
|
||||
target.stats.buffs.shinySeed = false;
|
||||
target.stats.buffs.seafoam = false;
|
||||
if (!target.achievements.spookySparkles) target.achievements.spookySparkles = 0;
|
||||
target.achievements.spookySparkles++;
|
||||
user.items.special.spookySparkles--;
|
||||
target.achievements.spookySparkles += 1;
|
||||
user.items.special.spookySparkles -= 1;
|
||||
},
|
||||
},
|
||||
opaquePotion: {
|
||||
@@ -336,8 +345,8 @@ spells.special = {
|
||||
target.stats.buffs.shinySeed = true;
|
||||
target.stats.buffs.seafoam = false;
|
||||
if (!target.achievements.shinySeed) target.achievements.shinySeed = 0;
|
||||
target.achievements.shinySeed++;
|
||||
user.items.special.shinySeed--;
|
||||
target.achievements.shinySeed += 1;
|
||||
user.items.special.shinySeed -= 1;
|
||||
},
|
||||
},
|
||||
petalFreePotion: {
|
||||
@@ -367,8 +376,8 @@ spells.special = {
|
||||
target.stats.buffs.shinySeed = false;
|
||||
target.stats.buffs.seafoam = true;
|
||||
if (!target.achievements.seafoam) target.achievements.seafoam = 0;
|
||||
target.achievements.seafoam++;
|
||||
user.items.special.seafoam--;
|
||||
target.achievements.seafoam += 1;
|
||||
user.items.special.seafoam -= 1;
|
||||
},
|
||||
},
|
||||
sand: {
|
||||
@@ -395,11 +404,11 @@ spells.special = {
|
||||
cast (user, target) {
|
||||
if (user === target) {
|
||||
if (!user.achievements.nye) user.achievements.nye = 0;
|
||||
user.achievements.nye++;
|
||||
user.achievements.nye += 1;
|
||||
} else {
|
||||
each([user, target], u => {
|
||||
if (!u.achievements.nye) u.achievements.nye = 0;
|
||||
u.achievements.nye++;
|
||||
u.achievements.nye += 1;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -432,11 +441,11 @@ spells.special = {
|
||||
cast (user, target) {
|
||||
if (user === target) {
|
||||
if (!user.achievements.valentine) user.achievements.valentine = 0;
|
||||
user.achievements.valentine++;
|
||||
user.achievements.valentine += 1;
|
||||
} else {
|
||||
each([user, target], u => {
|
||||
if (!u.achievements.valentine) u.achievements.valentine = 0;
|
||||
u.achievements.valentine++;
|
||||
u.achievements.valentine += 1;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -469,11 +478,11 @@ spells.special = {
|
||||
cast (user, target) {
|
||||
if (user === target) {
|
||||
if (!user.achievements.greeting) user.achievements.greeting = 0;
|
||||
user.achievements.greeting++;
|
||||
user.achievements.greeting += 1;
|
||||
} else {
|
||||
each([user, target], u => {
|
||||
if (!u.achievements.greeting) u.achievements.greeting = 0;
|
||||
u.achievements.greeting++;
|
||||
u.achievements.greeting += 1;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -506,11 +515,11 @@ spells.special = {
|
||||
cast (user, target) {
|
||||
if (user === target) {
|
||||
if (!user.achievements.thankyou) user.achievements.thankyou = 0;
|
||||
user.achievements.thankyou++;
|
||||
user.achievements.thankyou += 1;
|
||||
} else {
|
||||
each([user, target], u => {
|
||||
if (!u.achievements.thankyou) u.achievements.thankyou = 0;
|
||||
u.achievements.thankyou++;
|
||||
u.achievements.thankyou += 1;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -543,11 +552,11 @@ spells.special = {
|
||||
cast (user, target) {
|
||||
if (user === target) {
|
||||
if (!user.achievements.birthday) user.achievements.birthday = 0;
|
||||
user.achievements.birthday++;
|
||||
user.achievements.birthday += 1;
|
||||
} else {
|
||||
each([user, target], u => {
|
||||
if (!u.achievements.birthday) u.achievements.birthday = 0;
|
||||
u.achievements.birthday++;
|
||||
u.achievements.birthday += 1;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -580,11 +589,11 @@ spells.special = {
|
||||
cast (user, target) {
|
||||
if (user === target) {
|
||||
if (!user.achievements.congrats) user.achievements.congrats = 0;
|
||||
user.achievements.congrats++;
|
||||
user.achievements.congrats += 1;
|
||||
} else {
|
||||
each([user, target], u => {
|
||||
if (!u.achievements.congrats) u.achievements.congrats = 0;
|
||||
u.achievements.congrats++;
|
||||
u.achievements.congrats += 1;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -617,11 +626,11 @@ spells.special = {
|
||||
cast (user, target) {
|
||||
if (user === target) {
|
||||
if (!user.achievements.getwell) user.achievements.getwell = 0;
|
||||
user.achievements.getwell++;
|
||||
user.achievements.getwell += 1;
|
||||
} else {
|
||||
each([user, target], u => {
|
||||
if (!u.achievements.getwell) u.achievements.getwell = 0;
|
||||
u.achievements.getwell++;
|
||||
u.achievements.getwell += 1;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -654,11 +663,11 @@ spells.special = {
|
||||
cast (user, target) {
|
||||
if (user === target) {
|
||||
if (!user.achievements.goodluck) user.achievements.goodluck = 0;
|
||||
user.achievements.goodluck++;
|
||||
user.achievements.goodluck += 1;
|
||||
} else {
|
||||
each([user, target], u => {
|
||||
if (!u.achievements.goodluck) u.achievements.goodluck = 0;
|
||||
u.achievements.goodluck++;
|
||||
u.achievements.goodluck += 1;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,6 @@ const subscriptionBlocks = {
|
||||
},
|
||||
};
|
||||
|
||||
each(subscriptionBlocks, (b, k) => b.key = k);
|
||||
each(subscriptionBlocks, (b, k) => { b.key = k; });
|
||||
|
||||
export default subscriptionBlocks;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import t from './translation';
|
||||
|
||||
export const tasksByCategory = {
|
||||
export const tasksByCategory = { // eslint-disable-line import/prefer-default-export
|
||||
work: [
|
||||
{
|
||||
type: 'habit',
|
||||
|
||||
@@ -9,9 +9,11 @@ import gear from './gear';
|
||||
|
||||
const mystery = mysterySets;
|
||||
|
||||
each(mystery, (v, k) => v.items = filter(gear.flat, {
|
||||
mystery: k,
|
||||
}));
|
||||
each(mystery, (v, k) => {
|
||||
v.items = filter(gear.flat, {
|
||||
mystery: k,
|
||||
});
|
||||
});
|
||||
|
||||
const timeTravelerStore = user => {
|
||||
let ownedKeys;
|
||||
|
||||
Reference in New Issue
Block a user