mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-05-20 20:58:51 +00:00
Moving back to the Browserify method of concat'd JS files, which will
then be exposed to the browser as a global. This was decided between @yangit and me, as we found RequireJS to be too painful to setup for our use case. This Browserify + Global works just fine for us, and it fits perfectly as require() statements in our node.js backend
This commit is contained in:
parent
3d6aec94a7
commit
1feb209c24
7 changed files with 130 additions and 466 deletions
2
Makefile
Normal file
2
Makefile
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
compile:
|
||||
./node_modules/browserify/bin/cmd.js index.js > index-browser.js
|
||||
|
|
@ -4,9 +4,10 @@ Shared resources useful for the multiple HabitRPG repositories, that way all the
|
|||
* Algorithms - level up algorithm, scoring functions, etc
|
||||
* Item definitions - weapons, armor, pets
|
||||
|
||||
You only need to include algos.coffee
|
||||
It will include the rest as necessary.
|
||||
|
||||
##Browserify Usage (TODO fix up this documentation to use old browserify setup)
|
||||
The `Makefile` runs Browserify to compile `index-browser.js`, which you include in a `<script/>` tag in your index.html. This way, you get all the JS min/concat'd
|
||||
* `npm install`
|
||||
* `make`
|
||||
|
||||
##Installation
|
||||
|
||||
|
|
|
|||
8
index.js
Normal file
8
index.js
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
exports.algos = require('./script/algos')
|
||||
exports.items = require('./script/items')
|
||||
exports.helpers = require('./script/helpers')
|
||||
|
||||
try {
|
||||
window;
|
||||
window.habitrpgShared = exports;
|
||||
} catch(e) {}
|
||||
11
package.json
11
package.json
|
|
@ -1,6 +1,9 @@
|
|||
{
|
||||
"name": "habitrpg-shared",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
}
|
||||
"name": "habitrpg-shared",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"browserify": "~2.14.1",
|
||||
"lodash": "~1.2.1",
|
||||
"moment": "~2.0.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
109
script/items.coffee
Normal file
109
script/items.coffee
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
_ = require 'lodash'
|
||||
|
||||
items = module.exports.items =
|
||||
weapon: [
|
||||
{index: 0, text: "Training Sword", classes: "weapon_0", notes:'Training weapon.', strength: 0, value:0}
|
||||
{index: 1, text: "Sword", classes:'weapon_1', notes:'Increases experience gain by 3%.', strength: 3, value:20}
|
||||
{index: 2, text: "Axe", classes:'weapon_2', notes:'Increases experience gain by 6%.', strength: 6, value:30}
|
||||
{index: 3, text: "Morningstar", classes:'weapon_3', notes:'Increases experience gain by 9%.', strength: 9, value:45}
|
||||
{index: 4, text: "Blue Sword", classes:'weapon_4', notes:'Increases experience gain by 12%.', strength: 12, value:65}
|
||||
{index: 5, text: "Red Sword", classes:'weapon_5', notes:'Increases experience gain by 15%.', strength: 15, value:90}
|
||||
{index: 6, text: "Golden Sword", classes:'weapon_6', notes:'Increases experience gain by 18%.', strength: 18, value:120}
|
||||
{index: 7, text: "Dark Souls Blade", classes:'weapon_7', notes:'Increases experience gain by 21%.', strength: 21, value:150}
|
||||
]
|
||||
armor: [
|
||||
{index: 0, text: "Cloth Armor", classes: 'armor_0', notes:'Training armor.', defense: 0, value:0}
|
||||
{index: 1, text: "Leather Armor", classes: 'armor_1', notes:'Decreases HP loss by 4%.', defense: 4, value:30}
|
||||
{index: 2, text: "Chain Mail", classes: 'armor_2', notes:'Decreases HP loss by 6%.', defense: 6, value:45}
|
||||
{index: 3, text: "Plate Mail", classes: 'armor_3', notes:'Decreases HP loss by 7%.', defense: 7, value:65}
|
||||
{index: 4, text: "Red Armor", classes: 'armor_4', notes:'Decreases HP loss by 8%.', defense: 8, value:90}
|
||||
{index: 5, text: "Golden Armor", classes: 'armor_5', notes:'Decreases HP loss by 10%.', defense: 10, value:120}
|
||||
{index: 6, text: "Shade Armor", classes: 'armor_6', notes:'Decreases HP loss by 12%.', defense: 12, value:150}
|
||||
]
|
||||
head: [
|
||||
{index: 0, text: "No Helm", classes: 'head_0', notes:'Training helm.', defense: 0, value:0}
|
||||
{index: 1, text: "Leather Helm", classes: 'head_1', notes:'Decreases HP loss by 2%.', defense: 2, value:15}
|
||||
{index: 2, text: "Chain Coif", classes: 'head_2', notes:'Decreases HP loss by 3%.', defense: 3, value:25}
|
||||
{index: 3, text: "Plate Helm", classes: 'head_3', notes:'Decreases HP loss by 4%.', defense: 4, value:45}
|
||||
{index: 4, text: "Red Helm", classes: 'head_4', notes:'Decreases HP loss by 5%.', defense: 5, value:60}
|
||||
{index: 5, text: "Golden Helm", classes: 'head_5', notes:'Decreases HP loss by 6%.', defense: 6, value:80}
|
||||
{index: 6, text: "Shade Helm", classes: 'head_6', notes:'Decreases HP loss by 7%.', defense: 7, value:100}
|
||||
]
|
||||
shield: [
|
||||
{index: 0, text: "No Shield", classes: 'shield_0', notes:'No Shield.', defense: 0, value:0}
|
||||
{index: 1, text: "Wooden Shield", classes: 'shield_1', notes:'Decreases HP loss by 3%', defense: 3, value:20}
|
||||
{index: 2, text: "Buckler", classes: 'shield_2', notes:'Decreases HP loss by 4%.', defense: 4, value:35}
|
||||
{index: 3, text: "Enforced Shield", classes: 'shield_3', notes:'Decreases HP loss by 5%.', defense: 5, value:55}
|
||||
{index: 4, text: "Red Shield", classes: 'shield_4', notes:'Decreases HP loss by 7%.', defense: 7, value:70}
|
||||
{index: 5, text: "Golden Shield", classes: 'shield_5', notes:'Decreases HP loss by 8%.', defense: 8, value:90}
|
||||
{index: 6, text: "Tormented Skull", classes: 'shield_6', notes:'Decreases HP loss by 9%.', defense: 9, value:120}
|
||||
]
|
||||
potion: {type: 'potion', text: "Potion", notes: "Recover 15 HP", value: 25, classes: 'potion'}
|
||||
reroll: {type: 'reroll', text: "Re-Roll", classes: 'reroll', notes: "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.", value:0 }
|
||||
|
||||
pets: [
|
||||
{text: 'Wolf', name: 'Wolf', value: 3}
|
||||
{text: 'Tiger Cub', name: 'TigerCub', value: 3}
|
||||
#{text: 'Polar Bear Cub', name: 'PolarBearCub', value: 3} #commented out because there are no polarbear modifiers yet, special drop?
|
||||
{text: 'Panda Cub', name: 'PandaCub', value: 3}
|
||||
{text: 'Lion Cub', name: 'LionCub', value: 3}
|
||||
{text: 'Fox', name: 'Fox', value: 3}
|
||||
{text: 'Flying Pig', name: 'FlyingPig', value: 3}
|
||||
{text: 'Dragon', name: 'Dragon', value: 3}
|
||||
{text: 'Cactus', name: 'Cactus', value: 3}
|
||||
{text: 'Bear Cub', name: 'BearCub', value: 3}
|
||||
]
|
||||
|
||||
hatchingPotions: [
|
||||
{text: 'Base', name: 'Base', notes: "Hatches your pet in it's base form.", value: 1}
|
||||
{text: 'White', name: 'White', notes: 'Turns your animal into a White pet.', value: 2}
|
||||
{text: 'Desert', name: 'Desert', notes: 'Turns your animal into a Desert pet.', value: 2}
|
||||
{text: 'Red', name: 'Red', notes: 'Turns your animal into a Red pet.', value: 3}
|
||||
{text: 'Shade', name: 'Shade', notes: 'Turns your animal into a Shade pet.', value: 3}
|
||||
{text: 'Skeleton', name: 'Skeleton', notes: 'Turns your animal into a Skeleton.', value: 3}
|
||||
{text: 'Zombie', name: 'Zombie', notes: 'Turns your animal into a Zombie.', value: 4}
|
||||
{text: 'Cotton Candy Pink', name: 'CottonCandyPink', notes: 'Turns your animal into a Cotton Candy Pink pet.', value: 4}
|
||||
{text: 'Cotton Candy Blue', name: 'CottonCandyBlue', notes: 'Turns your animal into a Cotton Candy Blue pet.', value: 4}
|
||||
{text: 'Golden', name: 'Golden', notes: 'Turns your animal into a Golden pet.', value: 5}
|
||||
]
|
||||
|
||||
# add "type" to each item, so we can reference that as "weapon" or "armor" in the html
|
||||
_.each ['weapon', 'armor', 'head', 'shield'], (key) ->
|
||||
_.each items[key], (item) -> item.type = key
|
||||
|
||||
_.each items.pets, (pet) -> pet.notes = 'Find a hatching potion to pour on this egg, and one day it will hatch into a loyal pet.'
|
||||
_.each items.hatchingPotions, (hatchingPotion) -> hatchingPotion.notes = "Pour this on an egg, and it will hatch as a #{hatchingPotion.text} pet."
|
||||
|
||||
module.exports.buyItem = (user, type, value, index) ->
|
||||
return false if user.stats.gp < value
|
||||
changes = {}
|
||||
switch type
|
||||
when 'weapon' then changes['items.weapon'] = index
|
||||
when 'armor' then changes['items.armor'] = index
|
||||
when 'head' then changes['items.head'] = index
|
||||
when 'shield' then changes['items.shield'] = index
|
||||
when 'potion'
|
||||
hp = user.stats.hp
|
||||
hp += 15; hp = 50 if hp > 50
|
||||
changes['stats.hp'] = hp
|
||||
changes['stats.gp'] = user.stats.gp - value
|
||||
#_.each changes, (v,k) -> helpers.pathSet(k,v,user) # @yangit uncomment this i
|
||||
return changes
|
||||
|
||||
###
|
||||
update store
|
||||
###
|
||||
module.exports.updateStore = (user) ->
|
||||
changes = {}
|
||||
_.each ['weapon', 'armor', 'shield', 'head'], (type) ->
|
||||
i = parseInt(user.items?[type] || 0) + 1
|
||||
showNext = true
|
||||
if i is items[type].length - 1
|
||||
if (type in ['armor', 'shield', 'head'])
|
||||
showNext = user.backer.tier >= 45 # backer armor
|
||||
else
|
||||
showNext = user.backer.tier >= 70 # backer weapon
|
||||
else if i is items[type].length
|
||||
showNext = false
|
||||
changes[type] = if showNext then items[type][i] else {hide:true}
|
||||
return changes
|
||||
453
script/items.js
453
script/items.js
|
|
@ -1,453 +0,0 @@
|
|||
({
|
||||
define: (typeof define === "function" ? define : function (F) {
|
||||
return F(require, exports, module);
|
||||
})
|
||||
}).define(function (require, exports, module) {
|
||||
var items, obj, updateStore;
|
||||
|
||||
obj = module.exports = {};
|
||||
items = obj.items = {
|
||||
weapon: [
|
||||
{
|
||||
index: 0,
|
||||
text: "Training Sword",
|
||||
classes: "weapon_0",
|
||||
notes: 'Training weapon.',
|
||||
strength: 0,
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
index: 1,
|
||||
text: "Sword",
|
||||
classes: 'weapon_1',
|
||||
notes: 'Increases experience gain by 3%.',
|
||||
strength: 3,
|
||||
value: 20
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
text: "Axe",
|
||||
classes: 'weapon_2',
|
||||
notes: 'Increases experience gain by 6%.',
|
||||
strength: 6,
|
||||
value: 30
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
text: "Morningstar",
|
||||
classes: 'weapon_3',
|
||||
notes: 'Increases experience gain by 9%.',
|
||||
strength: 9,
|
||||
value: 45
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
text: "Blue Sword",
|
||||
classes: 'weapon_4',
|
||||
notes: 'Increases experience gain by 12%.',
|
||||
strength: 12,
|
||||
value: 65
|
||||
},
|
||||
{
|
||||
index: 5,
|
||||
text: "Red Sword",
|
||||
classes: 'weapon_5',
|
||||
notes: 'Increases experience gain by 15%.',
|
||||
strength: 15,
|
||||
value: 90
|
||||
},
|
||||
{
|
||||
index: 6,
|
||||
text: "Golden Sword",
|
||||
classes: 'weapon_6',
|
||||
notes: 'Increases experience gain by 18%.',
|
||||
strength: 18,
|
||||
value: 120
|
||||
},
|
||||
{
|
||||
index: 7,
|
||||
text: "Dark Souls Blade",
|
||||
classes: 'weapon_7',
|
||||
notes: 'Increases experience gain by 21%.',
|
||||
strength: 21,
|
||||
value: 150
|
||||
}
|
||||
],
|
||||
armor: [
|
||||
{
|
||||
index: 0,
|
||||
text: "Cloth Armor",
|
||||
classes: 'armor_0',
|
||||
notes: 'Training armor.',
|
||||
defense: 0,
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
index: 1,
|
||||
text: "Leather Armor",
|
||||
classes: 'armor_1',
|
||||
notes: 'Decreases HP loss by 4%.',
|
||||
defense: 4,
|
||||
value: 30
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
text: "Chain Mail",
|
||||
classes: 'armor_2',
|
||||
notes: 'Decreases HP loss by 6%.',
|
||||
defense: 6,
|
||||
value: 45
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
text: "Plate Mail",
|
||||
classes: 'armor_3',
|
||||
notes: 'Decreases HP loss by 7%.',
|
||||
defense: 7,
|
||||
value: 65
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
text: "Red Armor",
|
||||
classes: 'armor_4',
|
||||
notes: 'Decreases HP loss by 8%.',
|
||||
defense: 8,
|
||||
value: 90
|
||||
},
|
||||
{
|
||||
index: 5,
|
||||
text: "Golden Armor",
|
||||
classes: 'armor_5',
|
||||
notes: 'Decreases HP loss by 10%.',
|
||||
defense: 10,
|
||||
value: 120
|
||||
},
|
||||
{
|
||||
index: 6,
|
||||
text: "Shade Armor",
|
||||
classes: 'armor_6',
|
||||
notes: 'Decreases HP loss by 12%.',
|
||||
defense: 12,
|
||||
value: 150
|
||||
}
|
||||
],
|
||||
head: [
|
||||
{
|
||||
index: 0,
|
||||
text: "No Helm",
|
||||
classes: 'head_0',
|
||||
notes: 'Training helm.',
|
||||
defense: 0,
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
index: 1,
|
||||
text: "Leather Helm",
|
||||
classes: 'head_1',
|
||||
notes: 'Decreases HP loss by 2%.',
|
||||
defense: 2,
|
||||
value: 15
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
text: "Chain Coif",
|
||||
classes: 'head_2',
|
||||
notes: 'Decreases HP loss by 3%.',
|
||||
defense: 3,
|
||||
value: 25
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
text: "Plate Helm",
|
||||
classes: 'head_3',
|
||||
notes: 'Decreases HP loss by 4%.',
|
||||
defense: 4,
|
||||
value: 45
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
text: "Red Helm",
|
||||
classes: 'head_4',
|
||||
notes: 'Decreases HP loss by 5%.',
|
||||
defense: 5,
|
||||
value: 60
|
||||
},
|
||||
{
|
||||
index: 5,
|
||||
text: "Golden Helm",
|
||||
classes: 'head_5',
|
||||
notes: 'Decreases HP loss by 6%.',
|
||||
defense: 6,
|
||||
value: 80
|
||||
},
|
||||
{
|
||||
index: 6,
|
||||
text: "Shade Helm",
|
||||
classes: 'head_6',
|
||||
notes: 'Decreases HP loss by 7%.',
|
||||
defense: 7,
|
||||
value: 100
|
||||
}
|
||||
],
|
||||
shield: [
|
||||
{
|
||||
index: 0,
|
||||
text: "No Shield",
|
||||
classes: 'shield_0',
|
||||
notes: 'No Shield.',
|
||||
defense: 0,
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
index: 1,
|
||||
text: "Wooden Shield",
|
||||
classes: 'shield_1',
|
||||
notes: 'Decreases HP loss by 3%',
|
||||
defense: 3,
|
||||
value: 20
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
text: "Buckler",
|
||||
classes: 'shield_2',
|
||||
notes: 'Decreases HP loss by 4%.',
|
||||
defense: 4,
|
||||
value: 35
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
text: "Enforced Shield",
|
||||
classes: 'shield_3',
|
||||
notes: 'Decreases HP loss by 5%.',
|
||||
defense: 5,
|
||||
value: 55
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
text: "Red Shield",
|
||||
classes: 'shield_4',
|
||||
notes: 'Decreases HP loss by 7%.',
|
||||
defense: 7,
|
||||
value: 70
|
||||
},
|
||||
{
|
||||
index: 5,
|
||||
text: "Golden Shield",
|
||||
classes: 'shield_5',
|
||||
notes: 'Decreases HP loss by 8%.',
|
||||
defense: 8,
|
||||
value: 90
|
||||
},
|
||||
{
|
||||
index: 6,
|
||||
text: "Tormented Skull",
|
||||
classes: 'shield_6',
|
||||
notes: 'Decreases HP loss by 9%.',
|
||||
defense: 9,
|
||||
value: 120
|
||||
}
|
||||
],
|
||||
potion: {
|
||||
type: 'potion',
|
||||
text: "Potion",
|
||||
notes: "Recover 15 HP",
|
||||
value: 25,
|
||||
classes: 'potion'
|
||||
},
|
||||
reroll: {
|
||||
type: 'reroll',
|
||||
text: "Re-Roll",
|
||||
classes: 'reroll',
|
||||
notes: "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.",
|
||||
value: 0
|
||||
},
|
||||
pets: [
|
||||
{
|
||||
text: 'Wolf',
|
||||
name: 'Wolf',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Tiger Cub',
|
||||
name: 'TigerCub',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Panda Cub',
|
||||
name: 'PandaCub',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Lion Cub',
|
||||
name: 'LionCub',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Fox',
|
||||
name: 'Fox',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Flying Pig',
|
||||
name: 'FlyingPig',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Dragon',
|
||||
name: 'Dragon',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Cactus',
|
||||
name: 'Cactus',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Bear Cub',
|
||||
name: 'BearCub',
|
||||
value: 3
|
||||
}
|
||||
],
|
||||
hatchingPotions: [
|
||||
{
|
||||
text: 'Base',
|
||||
name: 'Base',
|
||||
notes: "Hatches your pet in it's base form.",
|
||||
value: 1
|
||||
},
|
||||
{
|
||||
text: 'White',
|
||||
name: 'White',
|
||||
notes: 'Turns your animal into a White pet.',
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
text: 'Desert',
|
||||
name: 'Desert',
|
||||
notes: 'Turns your animal into a Desert pet.',
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
text: 'Red',
|
||||
name: 'Red',
|
||||
notes: 'Turns your animal into a Red pet.',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Shade',
|
||||
name: 'Shade',
|
||||
notes: 'Turns your animal into a Shade pet.',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Skeleton',
|
||||
name: 'Skeleton',
|
||||
notes: 'Turns your animal into a Skeleton.',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: 'Zombie',
|
||||
name: 'Zombie',
|
||||
notes: 'Turns your animal into a Zombie.',
|
||||
value: 4
|
||||
},
|
||||
{
|
||||
text: 'Cotton Candy Pink',
|
||||
name: 'CottonCandyPink',
|
||||
notes: 'Turns your animal into a Cotton Candy Pink pet.',
|
||||
value: 4
|
||||
},
|
||||
{
|
||||
text: 'Cotton Candy Blue',
|
||||
name: 'CottonCandyBlue',
|
||||
notes: 'Turns your animal into a Cotton Candy Blue pet.',
|
||||
value: 4
|
||||
},
|
||||
{
|
||||
text: 'Golden',
|
||||
name: 'Golden',
|
||||
notes: 'Turns your animal into a Golden pet.',
|
||||
value: 5
|
||||
}
|
||||
]
|
||||
};
|
||||
['weapon', 'armor', 'head', 'shield'].forEach(function (key) {
|
||||
return items[key].forEach(function (item) {
|
||||
return item.type = key;
|
||||
});
|
||||
});
|
||||
items.pets.forEach(function (pet) {
|
||||
return pet.notes = 'Find a hatching potion to pour on this egg, and one day it will hatch into a loyal pet.';
|
||||
});
|
||||
items.hatchingPotions.forEach(function (hatchingPotion) {
|
||||
return hatchingPotion.notes = "Pour this on an egg, and it will hatch as a " + hatchingPotion.text + " pet.";
|
||||
});
|
||||
/*
|
||||
app exports
|
||||
*/
|
||||
|
||||
obj.app = function (appExports, user) {
|
||||
return appExports.buyItem = function (e, el, next) {
|
||||
var deductGP, gp, hp, index, type, value, _ref;
|
||||
|
||||
gp = user.stats.gp;
|
||||
_ref = [$(el).attr('data-type'), $(el).attr('data-value'), $(el).attr('data-index')], type = _ref[0], value = _ref[1], index = _ref[2];
|
||||
if (gp < value) {
|
||||
return;
|
||||
}
|
||||
deductGP = function () {
|
||||
return user.stats.gp = gp - value;
|
||||
};
|
||||
if (type === 'weapon') {
|
||||
user.set('items.weapon', index, deductGP);
|
||||
return updateStore(model);
|
||||
} else if (type === 'armor') {
|
||||
user.set('items.armor', index, deductGP);
|
||||
return updateStore(model);
|
||||
} else if (type === 'head') {
|
||||
user.set('items.head', index, deductGP);
|
||||
return updateStore(model);
|
||||
} else if (type === 'shield') {
|
||||
user.set('items.shield', index, deductGP);
|
||||
return updateStore(model);
|
||||
} else if (type === 'potion') {
|
||||
hp = user.get('stats.hp');
|
||||
hp += 15;
|
||||
if (hp > 50) {
|
||||
hp = 50;
|
||||
}
|
||||
return user.set('stats.hp', hp, deductGP);
|
||||
}
|
||||
};
|
||||
};
|
||||
/*
|
||||
update store
|
||||
*/
|
||||
|
||||
return obj.updateStore = updateStore = function (user) {
|
||||
var equipped;
|
||||
|
||||
if (items.next == null) {
|
||||
items.next = {};
|
||||
}
|
||||
equipped = user.items;
|
||||
return ['weapon', 'armor', 'shield', 'head'].forEach(function (type) {
|
||||
var i, showNext;
|
||||
|
||||
i = parseInt(typeof equipped === "function" ? equipped([type] || 0) : void 0) + 1;
|
||||
showNext = true;
|
||||
if (i === items[type].length - 1) {
|
||||
if ((type === 'armor' || type === 'shield' || type === 'head')) {
|
||||
showNext = user.backer.tier >= 45;
|
||||
} else {
|
||||
showNext = user.backer.tier >= 70;
|
||||
}
|
||||
} else if (i === items[type].length) {
|
||||
showNext = false;
|
||||
}
|
||||
return items.next[type] = showNext ? items[type][i] : {
|
||||
hide: true
|
||||
};
|
||||
});
|
||||
};
|
||||
});
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue