diff --git a/app/views/editor/DeltaView.coffee b/app/views/editor/DeltaView.coffee index 76208c76f..c55aed360 100644 --- a/app/views/editor/DeltaView.coffee +++ b/app/views/editor/DeltaView.coffee @@ -94,11 +94,17 @@ module.exports = class DeltaView extends CocoView if _.isObject(deltaData.left) and leftEl = deltaEl.find('.old-value') options = _.defaults {data: deltaData.left}, treemaOptions - TreemaNode.make(leftEl, options).build() + try + TreemaNode.make(leftEl, options).build() + catch error + console.error "Couldn't show left details Treema for", deltaData.left, treemaOptions if _.isObject(deltaData.right) and rightEl = deltaEl.find('.new-value') options = _.defaults {data: deltaData.right}, treemaOptions - TreemaNode.make(rightEl, options).build() + try + TreemaNode.make(rightEl, options).build() + catch error + console.error "Couldn't show right details Treema for", deltaData.right, treemaOptions if deltaData.action is 'text-diff' return console.error "Couldn't show diff for left: #{deltaData.left}, right: #{deltaData.right} of delta:", deltaData unless deltaData.left? and deltaData.right? diff --git a/app/views/play/level/modal/HeroVictoryModal.coffee b/app/views/play/level/modal/HeroVictoryModal.coffee index 3c354db9f..eb516d11b 100644 --- a/app/views/play/level/modal/HeroVictoryModal.coffee +++ b/app/views/play/level/modal/HeroVictoryModal.coffee @@ -150,17 +150,19 @@ module.exports = class HeroVictoryModal extends ModalView duration = Math.log(panel.number + 1) / Math.LN10 * 1000 # Math.log10 is ES6 ratio = @getEaseRatio (new Date() - @numberAnimationStart), duration if panel.unit is 'xp' - totalXP = @totalXPAnimated + Math.floor(ratio * panel.number) + newXP = Math.floor(ratio * panel.number) + totalXP = @totalXPAnimated + newXP if totalXP isnt @lastTotalXP - panel.textEl.text('+' + totalXP) + panel.textEl.text('+' + newXP) @XPEl.text('+' + totalXP) xpTrigger = 'xp-' + (totalXP % 6) # 6 xp sounds Backbone.Mediator.publish 'audio-player:play-sound', trigger: xpTrigger, volume: 0.5 + ratio / 2 @lastTotalXP = totalXP else - totalGems = @totalGemsAnimated + Math.floor(ratio * panel.number) + newGems = Math.floor(ratio * panel.number) + totalGems = @totalGemsAnimated + newGems if totalGems isnt @lastTotalGems - panel.textEl.text('+' + totalGems) + panel.textEl.text('+' + newGems) @gemEl.text('+' + totalGems) gemTrigger = 'gem-' + (parseInt(panel.number * ratio) % 4) # 4 gem sounds Backbone.Mediator.publish 'audio-player:play-sound', trigger: gemTrigger, volume: 0.5 + ratio / 2