diff --git a/dist/habitrpg-shared.js b/dist/habitrpg-shared.js index d6be763ee4..29afc16228 100644 --- a/dist/habitrpg-shared.js +++ b/dist/habitrpg-shared.js @@ -9186,7 +9186,7 @@ var global=typeof self !== "undefined" ? self : typeof window !== "undefined" ? classes = ['warrior', 'rogue', 'healer', 'wizard']; - gearTypes = ['armor', 'weapon', 'shield', 'head', 'back', 'headAccessory']; + gearTypes = ['weapon', 'armor', 'head', 'shield', 'body', 'back', 'headAccessory']; events = { winter: { @@ -10264,6 +10264,7 @@ var global=typeof self !== "undefined" ? self : typeof window !== "undefined" ? } } }, + body: {}, back: { base: { 0: { @@ -11439,7 +11440,7 @@ var global=typeof self !== "undefined" ? self : typeof window !== "undefined" ? },{"lodash":3,"moment":4}],6:[function(require,module,exports){ var process=require("__browserify_process");(function() { - var $w, api, content, moment, preenHistory, sanitizeOptions, _, + var $w, api, content, moment, preenHistory, sanitizeOptions, sortOrder, _, __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; moment = require('moment'); @@ -11640,6 +11641,11 @@ var process=require("__browserify_process");(function() { */ + sortOrder = _.reduce(content.gearTypes, (function(m, v, k) { + m[v] = k; + return m; + }), {}); + api.updateStore = function(user) { var changes; @@ -11647,7 +11653,7 @@ var process=require("__browserify_process");(function() { return; } changes = []; - _.each(['weapon', 'armor', 'shield', 'head', 'back', 'headAccessory'], function(type) { + _.each(content.gearTypes, function(type) { var found; found = _.find(content.gear.tree[type][user.stats["class"]], function(item) { @@ -11664,25 +11670,8 @@ var process=require("__browserify_process");(function() { return ((_ref = v.klass) === 'special' || _ref === 'mystery') && !user.items.gear.owned[v.key] && (typeof v.canOwn === "function" ? v.canOwn(user) : void 0); })); changes.push(content.potion); - return _.sortBy(changes, function(item) { - switch (item.type) { - case 'weapon': - return 1; - case 'armor': - return 2; - case 'head': - return 3; - case 'shield': - return 4; - case 'back': - return 5; - case 'headAccessory': - return 6; - case 'potion': - return 7; - default: - return 8; - } + return _.sortBy(changes, function(c) { + return sortOrder[c.type]; }); }; diff --git a/script/content.coffee b/script/content.coffee index 699f652a9f..f082de36f5 100644 --- a/script/content.coffee +++ b/script/content.coffee @@ -10,7 +10,7 @@ moment = require 'moment' ### classes = ['warrior', 'rogue', 'healer', 'wizard'] -gearTypes = ['armor', 'weapon', 'shield', 'head', 'back', 'headAccessory'] +gearTypes = [ 'weapon', 'armor', 'head', 'shield', 'body', 'back', 'headAccessory'] events = winter: {start:'2013-12-31',end:'2014-02-01'} @@ -221,6 +221,8 @@ gear = springWarrior: event: events.spring, specialClass: 'warrior', text: 'Egg Shield', notes: "This shield never cracks, no matter how hard you hit it! Adds 7 points to CON. Limited Edition 2014 Spring Gear.", value: 70, con: 7 springHealer: event: events.spring, specialClass: 'healer', text: 'Squeaky Ball of Ultimate Protection', notes: "Lets out an obnoxious, continuous squeak when bitten, driving enemies away. Adds 9 points to CON. Limited Edition 2014 Spring Gear.", value: 70, con: 9 + body:{} + back: base: 0: text: "No Back Accessory", notes:'No Back Accessory.', value:0 diff --git a/script/index.coffee b/script/index.coffee index 4808fbc687..a6ada7d430 100644 --- a/script/index.coffee +++ b/script/index.coffee @@ -119,10 +119,12 @@ preenHistory = (history) -> ### Update the in-browser store with new gear. FIXME this was in user.fns, but it was causing strange issues there ### +sortOrder = _.reduce content.gearTypes,((m,v,k)->m[v]=k;m), {} +#sortOrder.potion = _.size(sortOrder) #potion goes last #actually, _.sortBy puts anything else last, so this is unecessary api.updateStore = (user) -> return unless user - changes = [] - _.each ['weapon', 'armor', 'shield', 'head', 'back', 'headAccessory'], (type) -> + changes= [] + _.each content.gearTypes, (type) -> found = _.find content.gear.tree[type][user.stats.class], (item) -> !user.items.gear.owned[item.key] changes.push(found) if found @@ -132,16 +134,7 @@ api.updateStore = (user) -> v.klass in ['special','mystery'] and !user.items.gear.owned[v.key] and v.canOwn?(user) changes.push content.potion # Return sorted store (array) - _.sortBy changes, (item) -> - switch item.type - when 'weapon' then 1 - when 'armor' then 2 - when 'head' then 3 - when 'shield' then 4 - when 'back' then 5 - when 'headAccessory' then 6 - when 'potion' then 7 - else 8 + _.sortBy changes, (c)->sortOrder[c.type] ### ------------------------------------------------------