habitica/common/script/content/index.coffee

139 lines
3.7 KiB
CoffeeScript
Raw Normal View History

api = module.exports
_ = require 'lodash'
2015-09-21 22:35:27 +00:00
t = require('../../dist/scripts/content/helpers').translator
2015-09-17 13:03:33 +00:00
2013-11-22 19:35:27 +00:00
###
2014-03-24 02:18:09 +00:00
---------------------------------------------------------------
Gear (Weapons, Armor, Head, Shield)
Item definitions: {index, text, notes, value, str, def, int, per, classes, type}
---------------------------------------------------------------
2013-11-22 19:35:27 +00:00
###
classes = require('../../dist/scripts/content/classes')
2015-09-20 00:37:40 +00:00
events = require('../../dist/scripts/content/events')
2015-09-20 00:37:40 +00:00
api.mystery = require('../../dist/scripts/content/mystery-sets')
2015-09-21 17:20:10 +00:00
api.itemList = require('../../dist/scripts/content/item-list')
2015-09-21 17:20:10 +00:00
gear = require('../../dist/scripts/content/gear/index')
2013-11-22 19:35:27 +00:00
###
2014-03-24 02:18:09 +00:00
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
2013-11-30 21:55:25 +00:00
###
api.gear =
2015-09-23 13:11:53 +00:00
tree: gear.tree
flat: gear.flat
2013-11-22 19:35:27 +00:00
###
Time Traveler Store, mystery sets need their items mapped in
###
_.each api.mystery, (v,k)-> v.items = _.where api.gear.flat, {mystery:k}
2015-09-15 17:40:01 +00:00
api.timeTravelerStore = (owned) ->
ownedKeys = _.keys owned.toObject?() or owned # mongoose workaround
2015-09-15 17:40:01 +00:00
_.reduce api.mystery, (m,v,k)->
return m if k=='wondercon' or ~ownedKeys.indexOf(v.items[0].key) # skip wondercon and already-owned sets
m[k] = v;m
, {}
2013-11-22 19:35:27 +00:00
###
2014-03-24 02:18:09 +00:00
---------------------------------------------------------------
2015-05-26 21:06:04 +00:00
Unique Rewards: Potion and Armoire
2014-03-24 02:18:09 +00:00
---------------------------------------------------------------
2013-11-22 19:35:27 +00:00
###
2015-08-14 11:41:10 +00:00
api.potion =
type: 'potion',
text: t('potionText'),
notes: t('potionNotes'),
value: 25,
key: 'potion'
api.armoire =
type: 'armoire',
text: t('armoireText'),
notes: ((user, count)->
return t('armoireNotesEmpty')() if (user.flags.armoireEmpty)
return t('armoireNotesFull')() + count
),
2015-08-14 11:41:10 +00:00
value: 100,
key: 'armoire',
canOwn: ((u)-> _.contains(u.achievements.ultimateGearSets, true))
2013-11-22 19:35:27 +00:00
###
2014-03-24 02:18:09 +00:00
---------------------------------------------------------------
Classes
---------------------------------------------------------------
###
api.classes = classes
###
2014-03-24 02:18:09 +00:00
---------------------------------------------------------------
Gear Types
---------------------------------------------------------------
###
api.gearTypes = gear.gearTypes
2015-09-20 00:37:40 +00:00
api.spells = require('../../dist/scripts/content/spells/index')
2015-08-14 11:41:10 +00:00
2015-09-20 00:37:40 +00:00
api.cardTypes = require('../../dist/scripts/content/card-types')
api.special = api.spells.special
2013-11-22 19:35:27 +00:00
###
2014-03-24 02:18:09 +00:00
---------------------------------------------------------------
Drops
---------------------------------------------------------------
2013-11-22 19:35:27 +00:00
###
2015-09-20 00:37:40 +00:00
eggs = require('../../dist/scripts/content/eggs/index')
2015-09-17 13:42:21 +00:00
api.dropEggs = eggs.dropEggs
2015-09-21 13:57:35 +00:00
api.questEggs = eggs.questEggs
api.eggs = eggs.allEggs
pets_mounts = require('../../dist/scripts/content/pets-mounts/index')
api.specialPets = pets_mounts.specialPets
api.specialMounts = pets_mounts.specialMounts
2015-09-20 00:37:40 +00:00
api.timeTravelStable = require('../../dist/scripts/content/time-traveler-stable')
api.hatchingPotions = require('../../dist/scripts/content/hatching-potions')
2015-09-21 13:57:35 +00:00
api.pets = pets_mounts.dropPets
2015-09-21 13:57:35 +00:00
api.questPets = pets_mounts.questPets
2014-01-02 23:30:14 +00:00
2015-09-21 13:57:35 +00:00
api.mounts = pets_mounts.dropMounts
2015-09-21 13:57:35 +00:00
api.questMounts = pets_mounts.questMounts
2015-09-20 12:10:35 +00:00
api.food = require('../../dist/scripts/content/food/index')
2015-09-20 11:55:21 +00:00
quests = require('../../dist/scripts/content/quests/index')
2015-08-10 18:42:36 +00:00
2015-09-20 11:55:21 +00:00
api.userCanOwnQuestCategories = quests.canOwnCategories
2015-09-21 01:46:35 +00:00
api.quests = quests.allQuests
2015-09-20 11:55:21 +00:00
api.questsByLevel = quests.byLevel
2015-09-20 02:12:09 +00:00
api.backgrounds = require('../../dist/scripts/content/backgrounds')
api.subscriptionBlocks = require('../../dist/scripts/content/subscription-blocks')
2015-09-20 00:36:35 +00:00
api.userDefaults = require('../../dist/scripts/content/user-defaults')
2015-09-06 21:08:53 +00:00
2015-09-20 00:36:54 +00:00
api.faq = require('../../dist/scripts/content/faq')