diff --git a/lib/app/index.js b/lib/app/index.js index f4187c8e2c..dc7624e057 100644 --- a/lib/app/index.js +++ b/lib/app/index.js @@ -290,21 +290,18 @@ ready(function(model) { return model.set('_items.weapon', content.items.weapon[1]); }; exports.poormanscron = poormanscron = function() { - var daysPassed, lastCron, n, today, _k, _results; + var daysPassed, lastCron, n, today, _k; today = new Date(); model.setNull('_user.lastCron', today); lastCron = model.get('_user.lastCron'); daysPassed = helpers.daysBetween(lastCron, today); if (daysPassed > 0) { - model.set('_user.lastCron', today); - _results = []; for (n = _k = 1; 1 <= daysPassed ? _k <= daysPassed : _k >= daysPassed; n = 1 <= daysPassed ? ++_k : --_k) { - _results.push(scoring.tally(model)); + scoring.tally(model); } - return _results; + return model.set('_user.lastCron', today); } }; - poormanscron(); setInterval((function() { return poormanscron(); }), 3600000); diff --git a/lib/app/scoring.js b/lib/app/scoring.js index a188484a48..a2fedde0fb 100644 --- a/lib/app/scoring.js +++ b/lib/app/scoring.js @@ -1,5 +1,5 @@ // Generated by CoffeeScript 1.3.3 -var content, expModifier, hpModifier, score, tally, updateStats; +var content, expModifier, hpModifier, updateStats; content = require('./content'); @@ -55,7 +55,7 @@ updateStats = function(user, stats) { } }; -module.exports.score = score = function(spec) { +module.exports.score = function(spec) { var adjustvalue, cron, delta, direction, exp, hp, lvl, money, sign, task, type, user, value, _ref, _ref1; if (spec == null) { spec = { @@ -108,7 +108,7 @@ module.exports.score = score = function(spec) { return delta; }; -module.exports.tally = tally = function(model) { +module.exports.tally = function(model) { var absVal, completed, expTally, key, lvl, task, todoTally, type, user, value, _ref; user = model.at('_user'); todoTally = 0; @@ -117,7 +117,7 @@ module.exports.tally = tally = function(model) { _ref = [task.get('type'), task.get('value'), task.get('completed')], type = _ref[0], value = _ref[1], completed = _ref[2]; if (type === 'todo' || type === 'daily') { if (!completed) { - score({ + module.exports.score({ user: user, task: task, direction: 'down', diff --git a/src/app/index.coffee b/src/app/index.coffee index 81149af0a4..4b26fa5f64 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -236,16 +236,18 @@ ready (model) -> # ========== CRON ========== #TODO: remove when cron implemented - exports.poormanscron = poormanscron = -> + exports.poormanscron = poormanscron = () -> today = new Date() model.setNull('_user.lastCron', today) lastCron = model.get('_user.lastCron') daysPassed = helpers.daysBetween(lastCron, today) if daysPassed > 0 - model.set('_user.lastCron', today) # reset cron for n in [1..daysPassed] - scoring.tally(model) - poormanscron() # Run once on refresh + scoring.tally(model) + model.set('_user.lastCron', today) # reset cron + ## FIXME scoring.tally isn't working for calling poormanscron() on refresh, but does + ## for setInterval & button-click -- what's going on? + # poormanscron() # Run once on refresh setInterval (-> # Then run once every hour poormanscron() ), 3600000 diff --git a/src/app/scoring.coffee b/src/app/scoring.coffee index 7b543ac486..714eab388b 100644 --- a/src/app/scoring.coffee +++ b/src/app/scoring.coffee @@ -48,7 +48,7 @@ updateStats = (user, stats) -> money = 0.0 if (!money? or money<0) user.set 'stats.money', stats.money -module.exports.score = score = (spec = {user:null, task:null, direction:null, cron:null}) -> +module.exports.score = (spec = {user:null, task:null, direction:null, cron:null}) -> # console.log spec, "scoring.coffee: score( ->spec<- )" [user, task, direction, cron] = [spec.user, spec.task, spec.direction, spec.cron] @@ -98,7 +98,7 @@ module.exports.score = score = (spec = {user:null, task:null, direction:null, cr # At end of day, add value to all incomplete Daily & Todo tasks (further incentive) # For incomplete Dailys, deduct experience -module.exports.tally = tally = (model) -> +module.exports.tally = (model) -> # users = model.at('users') #TODO this isn't working, iterate over all users # for user in users user = model.at '_user' @@ -109,7 +109,7 @@ module.exports.tally = tally = (model) -> if type in ['todo', 'daily'] # Deduct experience for missed Daily tasks, # but not for Todos (just increase todo's value) - score({user:user, task:task, direction:'down', cron:true}) unless completed + module.exports.score({user:user, task:task, direction:'down', cron:true}) unless completed if type == 'daily' task.push "history", { date: new Date(), value: value } else