From e9ac76cd81eda1ce3f556f44e8372a79402285a5 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Wed, 29 May 2013 11:56:10 +0100 Subject: [PATCH] merge character.coffee into profile.coffee, remove unecessary requires --- src/app/character.coffee | 70 ---------------------------------------- src/app/filters.coffee | 1 - src/app/index.coffee | 2 -- src/app/misc.coffee | 3 +- src/app/party.coffee | 1 - src/app/profile.coffee | 65 +++++++++++++++++++++++++++++++++++-- src/app/tasks.coffee | 1 - 7 files changed, 64 insertions(+), 79 deletions(-) delete mode 100644 src/app/character.coffee diff --git a/src/app/character.coffee b/src/app/character.coffee deleted file mode 100644 index 24f0cf477e..0000000000 --- a/src/app/character.coffee +++ /dev/null @@ -1,70 +0,0 @@ -browser = require './browser' -items = require './items' -algos = require 'habitrpg-shared/script/algos' -misc = require './misc' -helpers = require 'habitrpg-shared/script/helpers' - -moment = require 'moment' -_ = require 'lodash' -derby = require 'derby' - -module.exports.app = (appExports, model) -> - user = model.at '_user' - - appExports.revive = -> - # Reset stats - user.set 'stats.hp', 50 - user.set 'stats.exp', 0 - user.set 'stats.gp', 0 - user.incr 'stats.lvl', -1 if user.get('stats.lvl') > 1 - - ## Lose a random item - loseThisItem = false - owned = user.get('items') - # unless they're already at 0-everything - if parseInt(owned.armor)>0 or parseInt(owned.head)>0 or parseInt(owned.shield)>0 or parseInt(owned.weapon)>0 - # find a random item to lose - until loseThisItem - #candidate = {0:'items.armor', 1:'items.head', 2:'items.shield', 3:'items.weapon', 4:'stats.gp'}[Math.random()*5|0] - candidate = {0:'armor', 1:'head', 2:'shield', 3:'weapon'}[Math.random()*4|0] - loseThisItem = candidate if owned[candidate] > 0 - user.set "items.#{loseThisItem}", 0 - - items.updateStore(model) - - appExports.reset = (e, el) -> - misc.batchTxn model, (uObj, paths, batch) -> - batch.set 'tasks', {} - ['habit', 'daily', 'todo', 'reward'].forEach (type) -> batch.set("#{type}Ids", []) - _.each {hp:50, lvl:1, gp:0, exp:0}, (v,k) -> batch.set("stats.#{k}",v) - _.each {armor:0, weapon:0, head:0, shield:0}, (v,k) -> batch.set("items.#{k}",v) - items.updateStore(model) - browser.resetDom(model) - - appExports.closeNewStuff = (e, el) -> - user.set('flags.newStuff', 'hide') - - appExports.customizeGender = (e, el) -> - user.set 'preferences.gender', $(el).attr('data-value') - - appExports.customizeHair = (e, el) -> - user.set 'preferences.hair', $(el).attr('data-value') - - appExports.customizeSkin = (e, el) -> - user.set 'preferences.skin', $(el).attr('data-value') - - appExports.customizeArmorSet = (e, el) -> - user.set 'preferences.armorSet', $(el).attr('data-value') - - appExports.restoreSave = -> - misc.batchTxn model, (uObj, paths, batch) -> - $('#restore-form input').each -> - [path, val] = [$(this).attr('data-for'), parseInt($(this).val() || 1)] - batch.set(path,val) - - appExports.toggleHeader = (e, el) -> - user.set 'preferences.hideHeader', !user.get('preferences.hideHeader') - - appExports.deleteAccount = (e, el) -> - model.del "users.#{user.get('id')}", -> - location.href = "/logout" \ No newline at end of file diff --git a/src/app/filters.coffee b/src/app/filters.coffee index 87c9d0a5de..605e4ebb63 100644 --- a/src/app/filters.coffee +++ b/src/app/filters.coffee @@ -1,5 +1,4 @@ _ = require 'lodash' -browser = require './browser' module.exports.app = (appExports, model) -> user = model.at('_user') diff --git a/src/app/index.coffee b/src/app/index.coffee index e77c8f0bed..ad63683073 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -117,9 +117,7 @@ get '/', (page, model, params, next) -> ready (model) -> user = model.at('_user') browser = require './browser' - character = require './character' - require('./character').app(exports, model) require('./tasks').app(exports, model) require('./items').app(exports, model) require('./party').app(exports, model, app) diff --git a/src/app/misc.coffee b/src/app/misc.coffee index 369946bed5..787816d6ef 100644 --- a/src/app/misc.coffee +++ b/src/app/misc.coffee @@ -2,7 +2,6 @@ _ = require 'lodash' algos = require 'habitrpg-shared/script/algos' items = require('habitrpg-shared/script/items').items helpers = require('habitrpg-shared/script/helpers') -character = require('./character') module.exports.batchTxn = batchTxn = (model, cb, options) -> user = model.at("_user") @@ -115,4 +114,4 @@ module.exports.viewHelpers = (view) -> #Tags view.fn 'noTags', helpers.noTags - view.fn 'appliedTags', helpers.appliedTags \ No newline at end of file + view.fn 'appliedTags', helpers.appliedTags diff --git a/src/app/party.coffee b/src/app/party.coffee index 4a38a78ba4..6823f212cc 100644 --- a/src/app/party.coffee +++ b/src/app/party.coffee @@ -2,7 +2,6 @@ _ = require('lodash') helpers = require('habitrpg-shared/script/helpers') module.exports.app = (appExports, model, app) -> - character = require './character' browser = require './browser' _currentTime = model.at '_currentTime' diff --git a/src/app/profile.coffee b/src/app/profile.coffee index b5260472d4..4577ba1da7 100644 --- a/src/app/profile.coffee +++ b/src/app/profile.coffee @@ -1,10 +1,71 @@ -character = require './character' -browser = require './browser' helpers = require 'habitrpg-shared/script/helpers' +algos = require 'habitrpg-shared/script/algos' +browser = require './browser' +items = require './items' +misc = require './misc' +_ = require 'lodash' module.exports.app = (appExports, model) -> user = model.at('_user') + appExports.revive = -> + # Reset stats + user.set 'stats.hp', 50 + user.set 'stats.exp', 0 + user.set 'stats.gp', 0 + user.incr 'stats.lvl', -1 if user.get('stats.lvl') > 1 + + ## Lose a random item + loseThisItem = false + owned = user.get('items') + # unless they're already at 0-everything + if parseInt(owned.armor)>0 or parseInt(owned.head)>0 or parseInt(owned.shield)>0 or parseInt(owned.weapon)>0 + # find a random item to lose + until loseThisItem + #candidate = {0:'items.armor', 1:'items.head', 2:'items.shield', 3:'items.weapon', 4:'stats.gp'}[Math.random()*5|0] + candidate = {0:'armor', 1:'head', 2:'shield', 3:'weapon'}[Math.random()*4|0] + loseThisItem = candidate if owned[candidate] > 0 + user.set "items.#{loseThisItem}", 0 + + items.updateStore(model) + + appExports.reset = (e, el) -> + misc.batchTxn model, (uObj, paths, batch) -> + batch.set 'tasks', {} + ['habit', 'daily', 'todo', 'reward'].forEach (type) -> batch.set("#{type}Ids", []) + _.each {hp:50, lvl:1, gp:0, exp:0}, (v,k) -> batch.set("stats.#{k}",v) + _.each {armor:0, weapon:0, head:0, shield:0}, (v,k) -> batch.set("items.#{k}",v) + items.updateStore(model) + browser.resetDom(model) + + appExports.closeNewStuff = (e, el) -> + user.set('flags.newStuff', 'hide') + + appExports.customizeGender = (e, el) -> + user.set 'preferences.gender', $(el).attr('data-value') + + appExports.customizeHair = (e, el) -> + user.set 'preferences.hair', $(el).attr('data-value') + + appExports.customizeSkin = (e, el) -> + user.set 'preferences.skin', $(el).attr('data-value') + + appExports.customizeArmorSet = (e, el) -> + user.set 'preferences.armorSet', $(el).attr('data-value') + + appExports.restoreSave = -> + misc.batchTxn model, (uObj, paths, batch) -> + $('#restore-form input').each -> + [path, val] = [$(this).attr('data-for'), parseInt($(this).val() || 1)] + batch.set(path,val) + + appExports.toggleHeader = (e, el) -> + user.set 'preferences.hideHeader', !user.get('preferences.hideHeader') + + appExports.deleteAccount = (e, el) -> + model.del "users.#{user.get('id')}", -> + location.href = "/logout" + appExports.profileAddWebsite = (e, el) -> newWebsite = model.get('_newProfileWebsite') return if /^(\s)*$/.test(newWebsite) diff --git a/src/app/tasks.coffee b/src/app/tasks.coffee index 8e538f2195..6d95a4e762 100644 --- a/src/app/tasks.coffee +++ b/src/app/tasks.coffee @@ -9,7 +9,6 @@ misc = require './misc' Make scoring functionality available to the app ### module.exports.app = (appExports, model) -> - character = require './character' user = model.at('_user') appExports.addTask = (e, el) ->