begin implementing streaks
This commit is contained in:
@@ -144,10 +144,16 @@ score = (model, taskId, direction, times, batch, cron) ->
|
||||
if cron? # cron
|
||||
calculateDelta()
|
||||
subtractPoints()
|
||||
batch.set "#{taskPath}.streak", 0
|
||||
else
|
||||
calculateDelta(false)
|
||||
if delta != 0
|
||||
addPoints() # obviously for delta>0, but also a trick to undo accidental checkboxes
|
||||
if direction is 'up'
|
||||
taskObj.streak = if taskObj.streak then taskObj.streak + 1 else 1
|
||||
else
|
||||
taskObj.streak = if taskObj.streak then taskObj.streak - 1 else 0
|
||||
batch.set "#{taskPath}.streak", taskObj.streak
|
||||
|
||||
when 'todo'
|
||||
if cron? #cron
|
||||
|
||||
+11
-9
@@ -68,20 +68,22 @@ module.exports.app = (appExports, model) ->
|
||||
user.on 'push', 'items.pets', (after, before) ->
|
||||
return if user.get('achievements.beastMaster')
|
||||
if before >= 90 # evidently before is the count?
|
||||
dontPersist = model._dontPersist
|
||||
model._dontPersist = false
|
||||
user.set 'achievements.beastMaster', true, ->
|
||||
model._dontPersist = dontPersist
|
||||
dontPersist = model._dontPersist; model._dontPersist = false
|
||||
user.set 'achievements.beastMaster', true, (-> model._dontPersist = dontPersist)
|
||||
$('#beastmaster-achievement-modal').modal('show')
|
||||
|
||||
user.on 'set', 'items.*', (after, before) ->
|
||||
return if user.get('achievements.ultimateGear')
|
||||
items = user.get('items')
|
||||
if parseInt(items.weapon) == 6 and parseInt(items.armor) == 5 and parseInt(items.head) == 5 and parseInt(items.shield) == 5
|
||||
debugger
|
||||
dontPersist = model._dontPersist
|
||||
model._dontPersist = false
|
||||
user.set 'achievements.ultimateGear', true, ->
|
||||
model._dontPersist = dontPersist
|
||||
dontPersist = model._dontPersist; model._dontPersist = false
|
||||
user.set 'achievements.ultimateGear', true, (-> model._dontPersist = dontPersist)
|
||||
$('#max-gear-achievement-modal').modal('show')
|
||||
|
||||
user.on 'set', 'tasks.*.streak', (id, val) ->
|
||||
# 21-day streak, as per the old philosophy of doign a thing 21-days in a row makes a habit
|
||||
if (val % 21) is 0
|
||||
dontPersist = model._dontPersist; model._dontPersist = false
|
||||
user.incr 'achievements.streak', 1, (-> model._dontPersist = dontPersist)
|
||||
$('#streak-achievement-modal').modal('show')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user