mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
173 lines
4.1 KiB
JavaScript
173 lines
4.1 KiB
JavaScript
import {each, defaults} from 'lodash';
|
|
import capitalize from 'lodash.capitalize';
|
|
import t from '../helpers/translator';
|
|
|
|
let worldQuests = {
|
|
dilatory: {
|
|
boss: {
|
|
name: t('questDilatoryBoss'),
|
|
hp: 5000000,
|
|
str: 1,
|
|
def: 1,
|
|
rage: {
|
|
title: t('questDilatoryBossRageTitle'),
|
|
description: t('questDilatoryBossRageDescription'),
|
|
value: 4000000,
|
|
tavern: t('questDilatoryBossRageTavern'),
|
|
stables: t('questDilatoryBossRageStables'),
|
|
market: t('questDilatoryBossRageMarket')
|
|
}
|
|
},
|
|
drop: {
|
|
items: [
|
|
{
|
|
type: 'pets',
|
|
key: 'MantisShrimp-Base',
|
|
text: t('questDilatoryDropMantisShrimpPet')
|
|
}, {
|
|
type: 'mounts',
|
|
key: 'MantisShrimp-Base',
|
|
text: t('questDilatoryDropMantisShrimpMount')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Meat',
|
|
text: t('foodMeat')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Milk',
|
|
text: t('foodMilk')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Potatoe',
|
|
text: t('foodPotatoe')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Strawberry',
|
|
text: t('foodStrawberry')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Chocolate',
|
|
text: t('foodChocolate')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Fish',
|
|
text: t('foodFish')
|
|
}, {
|
|
type: 'food',
|
|
key: 'RottenMeat',
|
|
text: t('foodRottenMeat')
|
|
}, {
|
|
type: 'food',
|
|
key: 'CottonCandyPink',
|
|
text: t('foodCottonCandyPink')
|
|
}, {
|
|
type: 'food',
|
|
key: 'CottonCandyBlue',
|
|
text: t('foodCottonCandyBlue')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Honey',
|
|
text: t('foodHoney')
|
|
}
|
|
],
|
|
gp: 0,
|
|
exp: 0
|
|
}
|
|
},
|
|
stressbeast: {
|
|
completionChat: t('questStressbeastCompletionChat'),
|
|
boss: {
|
|
name: t('questStressbeastBoss'),
|
|
hp: 2750000,
|
|
str: 1,
|
|
def: 1,
|
|
rage: {
|
|
title: t('questStressbeastBossRageTitle'),
|
|
description: t('questStressbeastBossRageDescription'),
|
|
value: 1450000,
|
|
healing: .3,
|
|
stables: t('questStressbeastBossRageStables'),
|
|
bailey: t('questStressbeastBossRageBailey'),
|
|
guide: t('questStressbeastBossRageGuide')
|
|
},
|
|
desperation: {
|
|
threshold: 500000,
|
|
str: 3.5,
|
|
def: 2,
|
|
text: t('questStressbeastDesperation')
|
|
}
|
|
},
|
|
drop: {
|
|
items: [
|
|
{
|
|
type: 'pets',
|
|
key: 'Mammoth-Base',
|
|
text: t('questStressbeastDropMammothPet')
|
|
}, {
|
|
type: 'mounts',
|
|
key: 'Mammoth-Base',
|
|
text: t('questStressbeastDropMammothMount')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Meat',
|
|
text: t('foodMeat')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Milk',
|
|
text: t('foodMilk')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Potatoe',
|
|
text: t('foodPotatoe')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Strawberry',
|
|
text: t('foodStrawberry')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Chocolate',
|
|
text: t('foodChocolate')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Fish',
|
|
text: t('foodFish')
|
|
}, {
|
|
type: 'food',
|
|
key: 'RottenMeat',
|
|
text: t('foodRottenMeat')
|
|
}, {
|
|
type: 'food',
|
|
key: 'CottonCandyPink',
|
|
text: t('foodCottonCandyPink')
|
|
}, {
|
|
type: 'food',
|
|
key: 'CottonCandyBlue',
|
|
text: t('foodCottonCandyBlue')
|
|
}, {
|
|
type: 'food',
|
|
key: 'Honey',
|
|
text: t('foodHoney')
|
|
}
|
|
],
|
|
gp: 0,
|
|
exp: 0
|
|
}
|
|
},
|
|
};
|
|
|
|
each(worldQuests, (quest, name) => {
|
|
let capitalizedName = capitalize(name);
|
|
let questDefaults = {
|
|
text: t(`quest${capitalizedName}Text`),
|
|
notes: t(`quest${capitalizedName}Notes`),
|
|
completion: t(`quest${capitalizedName}Completion`),
|
|
value: 0,
|
|
canBuy: false,
|
|
category: 'world',
|
|
};
|
|
|
|
defaults(quest, questDefaults);
|
|
});
|
|
|
|
export default worldQuests;
|