From e5aada2e5b96f3ee5fa43c8713422d231ca4fe68 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sun, 16 Nov 2014 21:26:21 -0800 Subject: [PATCH 1/6] Incorporated tweaked victory modal background assets. --- .../play/level/modal/reward_plate_wide.png | Bin 0 -> 2471 bytes .../level/modal/victory_modal_background.png | Bin 19922 -> 14935 bytes .../level/modal/victory_modal_blue_banner.png | Bin 0 -> 13000 bytes .../play/level/modal/hero-victory-modal.sass | 28 ++++++++++++++++-- .../play/level/modal/hero-victory-modal.jade | 1 + 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 app/assets/images/pages/play/level/modal/reward_plate_wide.png create mode 100644 app/assets/images/pages/play/level/modal/victory_modal_blue_banner.png diff --git a/app/assets/images/pages/play/level/modal/reward_plate_wide.png b/app/assets/images/pages/play/level/modal/reward_plate_wide.png new file mode 100644 index 0000000000000000000000000000000000000000..466c0af7f32dbb054dd39458a6e7139557b28c18 GIT binary patch literal 2471 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 literal 19922 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 dS)bDjWUk7hF0~-eGyt+w%v{|CDQR%ieK diff --git a/app/assets/images/pages/play/level/modal/victory_modal_blue_banner.png b/app/assets/images/pages/play/level/modal/victory_modal_blue_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..0c87583bf142f8052a6865d1d13bc3f1a86e4c2a GIT binary patch literal 13000 zcmV;(GB?eMP)Zt<(c>LwCnj7Bkji8A5^ zxN;b9g+W2C83yJ)ditoUeV@0hdg^$q>*$_=f%pIW)pSo!cTaV7J^%VY=PLjQ#}Hz6 zZTWO^Q=$Dj&*kY2+U<_j&0RbA(c|D4G<(EtdXA^=&^B(5977I)9|Dd+BEWeX@l7M! z1nquBo^QKB+cu(zA!NCMA88H_Up9%`S(;5w$n!0A@$!~-+rR}32Nxs+NIGZD~8}-c4#*F60ylY@^65H3l)w-fe6tnyOV5-{Jyq+ ziVCHrh6iMFLdu!DO)Uc1e7#)*+3qIf*ucLP4sMs_i!{5O;MpE0s!&#vxvz%JSBIu1 zfaWIOmkSgv50ULbVwWBKTjAhBh2vn5;REF6W~aZGmJ#x+S7F8}3e?uAWCN(9w<`1b zVz‏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 literal 0 HcmV?d00001 diff --git a/app/styles/play/level/modal/hero-victory-modal.sass b/app/styles/play/level/modal/hero-victory-modal.sass index 17cdedfe9..4e4c8b523 100644 --- a/app/styles/play/level/modal/hero-victory-modal.sass +++ b/app/styles/play/level/modal/hero-victory-modal.sass @@ -12,15 +12,25 @@ .background-wrapper //background: url("/images/pages/play/level/modal/victory_modal_background.png") width: 550px + background-color: transparent + border: 0px solid transparent border-width: 25px border-image: url("/images/pages/play/level/modal/victory_modal_background.png") 25 fill round - border-radius: 10px + border-radius: 12px + + #victory-banner + position: absolute + left: -30px + z-index: 0 #victory-header + position: absolute + left: 135px display: block - margin: 15px auto 0 + margin: 10px auto 0 // http://easings.net/#easeOutBack plus tweaked a bit: http://cubic-bezier.com/#.18,.68,.75,2 @include transition(0.5s cubic-bezier(0.18, 0.68, 0.75, 2)) + z-index: 1 &.out @include scale(0) @@ -92,6 +102,15 @@ z-index: 1 @include transition(0.25s ease) + &.hero, &.item + background: url("/images/pages/play/level/modal/reward_plate_wide.png") + width: 120px + height: 83px + margin-top: 1px + + .reward-image-container + left: 33px + &.animating @include scale(1.5) z-index: 2 @@ -216,10 +235,15 @@ html.no-borderimage #hero-victory-modal .background-wrapper + border: 0 background: url("/images/pages/play/level/modal/victory_modal_background.png") height: 650px #victory-header margin-top: 40px + left: 160px + #victory-banner + left: 0px + top: 40px .modal-header height: 110px .modal-content diff --git a/app/templates/play/level/modal/hero-victory-modal.jade b/app/templates/play/level/modal/hero-victory-modal.jade index 58a420693..6a7559e8b 100644 --- a/app/templates/play/level/modal/hero-victory-modal.jade +++ b/app/templates/play/level/modal/hero-victory-modal.jade @@ -1,5 +1,6 @@ extends /templates/modal/modal_base block modal-header-content + img(src="/images/pages/play/level/modal/victory_modal_blue_banner.png")#victory-banner img(src="/images/pages/play/level/modal/victory_word.png")#victory-header.out block modal-body-content From b6570236d82b59078320289faf1d8dc1ed166150 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 17 Nov 2014 08:00:44 -0800 Subject: [PATCH 2/6] Fixed flag history not getting cleared on real-time resubmission in single-player. --- app/views/play/level/tome/TomeView.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/play/level/tome/TomeView.coffee b/app/views/play/level/tome/TomeView.coffee index fff2529b4..6845e18b9 100644 --- a/app/views/play/level/tome/TomeView.coffee +++ b/app/views/play/level/tome/TomeView.coffee @@ -161,7 +161,7 @@ module.exports = class TomeView extends CocoView sessionState = @options.session.get('state') ? {} if realTime sessionState.submissionCount = (sessionState.submissionCount ? 0) + 1 - sessionState.flagHistory = _.filter sessionState.flagHistory ? [], (event) => event.team isnt @options.session.get('team') + sessionState.flagHistory = _.filter sessionState.flagHistory ? [], (event) => event.team isnt (@options.session.get('team') ? 'humans') @options.session.set 'state', sessionState Backbone.Mediator.publish 'tome:cast-spells', spells: @spells, preload: preload, realTime: realTime, submissionCount: sessionState.submissionCount ? 0, flagHistory: sessionState.flagHistory ? [] From 0d68ad250dd8c35ea2d5be47f9a927684d16fc1a Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 17 Nov 2014 08:25:27 -0800 Subject: [PATCH 3/6] Fixed awardable items showing up in inventory/store items list when not earnned, and showing up at the end when earned. --- app/views/game-menu/InventoryModal.coffee | 3 ++- app/views/play/modal/PlayItemsModal.coffee | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/views/game-menu/InventoryModal.coffee b/app/views/game-menu/InventoryModal.coffee index 69865e442..8fd6a9661 100644 --- a/app/views/game-menu/InventoryModal.coffee +++ b/app/views/game-menu/InventoryModal.coffee @@ -67,7 +67,7 @@ module.exports = class InventoryModal extends ModalView @itemGroups.availableItems = new Backbone.Collection() @itemGroups.restrictedItems = new Backbone.Collection() @itemGroups.lockedItems = new Backbone.Collection() - itemGroup.comparator = 'gems' for itemGroup in _.values @itemGroups + itemGroup.comparator = ((m) -> m.get('gems') ? m.get('tier')) for itemGroup in _.values @itemGroups equipped = _.values(@equipment) @sortItem(item, equipped) for item in @items.models @@ -89,6 +89,7 @@ module.exports = class InventoryModal extends ModalView @itemGroups.lockedItems.add(item) item.classes.push 'locked' item.classes.push 'silhouette' if item.isSilhouettedItem() + item.classes.push 'hidden' unless item.get('gems') else if item.get('slug') in _.values(LevelOptions[@options.levelID]?.restrictedGear ? {}) @itemGroups.restrictedItems.add(item) item.classes.push 'restricted' diff --git a/app/views/play/modal/PlayItemsModal.coffee b/app/views/play/modal/PlayItemsModal.coffee index 88805a346..6ccbd123c 100644 --- a/app/views/play/modal/PlayItemsModal.coffee +++ b/app/views/play/modal/PlayItemsModal.coffee @@ -83,7 +83,7 @@ module.exports = class PlayItemsModal extends ModalView category = slotToCategory[model.getAllowedSlots()[0]] or 'misc' @itemCategoryCollections[category] ?= new Backbone.Collection() collection = @itemCategoryCollections[category] - collection.comparator = 'gems' + collection.comparator = (m) -> m.get('gems') ? m.get('tier') collection.add(model) model.name = utils.i18n model.attributes, 'name' model.affordable = cost <= gemsOwned From a7069e19bda6d67973e09681c4afb7ce46448ec8 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 17 Nov 2014 08:44:53 -0800 Subject: [PATCH 4/6] Ignore (and warn about) achievements with empty queries. Fixed embarrassing bug with more-practice / skip-ahead branching not doing anything for non-admins. --- app/views/play/level/modal/HeroVictoryModal.coffee | 4 ++-- server/achievements/earned_achievement_handler.coffee | 5 +++-- server/plugins/achievements.coffee | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/views/play/level/modal/HeroVictoryModal.coffee b/app/views/play/level/modal/HeroVictoryModal.coffee index 85d5991f1..6e16c442e 100644 --- a/app/views/play/level/modal/HeroVictoryModal.coffee +++ b/app/views/play/level/modal/HeroVictoryModal.coffee @@ -116,8 +116,8 @@ module.exports = class HeroVictoryModal extends ModalView c.readyToRank = @level.get('type', true) is 'hero-ladder' and @session.readyToRank() c.level = @level @continueLevelLink = @getNextLevelLink 'continue' - @morePracticeLevelLink = me.isAdmin() and @getNextLevelLink 'more_practice' - @skipAheadLevelLink = me.isAdmin() and @getNextLevelLink 'skip_ahead' + @morePracticeLevelLink = @getNextLevelLink 'more_practice' + @skipAheadLevelLink = @getNextLevelLink 'skip_ahead' c.continueButtons = [ {key: 'skip_ahead', link: @skipAheadLevelLink, 'choice-explicit': 'skip', 'choice-implicit': 'too_easy'} {key: 'continue', link: @continueLevelLink, 'choice-explicit': 'next_level', 'choice-implicit': 'just_right'} diff --git a/server/achievements/earned_achievement_handler.coffee b/server/achievements/earned_achievement_handler.coffee index 4c7cc979f..e39e1dd4c 100644 --- a/server/achievements/earned_achievement_handler.coffee +++ b/server/achievements/earned_achievement_handler.coffee @@ -23,12 +23,12 @@ class EarnedAchievementHandler extends Handler ids = req.query.achievementIDs if (not ids) or (ids.length is 0) return @sendBadInputError(res, 'For a get-by-achievement-ids request, need to provide ids.') - + ids = ids.split(',') for id in ids if not Handler.isID(id) return @sendBadInputError(res, "Not a MongoDB ObjectId: #{id}") - + query.achievement = {$in: ids} EarnedAchievement.find query, (err, earnedAchievements) -> return @sendDatabaseError(res, err) if err @@ -121,6 +121,7 @@ class EarnedAchievementHandler extends Handler return doneWithAchievement new Error "Model with collection '#{achievement.get 'collection'}' doesn't exist." unless model? finalQuery = _.clone achievement.get 'query' + return doneWithAchievement() if _.isEmpty finalQuery finalQuery.$or = [{}, {}] # Allow both ObjectIDs or hex string IDs finalQuery.$or[0][achievement.userField] = userID finalQuery.$or[1][achievement.userField] = mongoose.Types.ObjectId userID diff --git a/server/plugins/achievements.coffee b/server/plugins/achievements.coffee index b252981e4..c29d25374 100644 --- a/server/plugins/achievements.coffee +++ b/server/plugins/achievements.coffee @@ -36,6 +36,7 @@ AchievablePlugin = (schema, options) -> for achievement in loadedAchievements[category] do (achievement) -> query = achievement.get('query') + return log.warn("Empty achievement query for #{achievement.get('name')}.") if _.isEmpty query isRepeatable = achievement.get('proportionalTo')? alreadyAchieved = if isNew then false else LocalMongo.matchesQuery originalDocObj, query newlyAchieved = LocalMongo.matchesQuery(docObj, query) From ccc4cf59dbfe43bd730a10175ccb4201b89bc489 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 17 Nov 2014 09:09:04 -0800 Subject: [PATCH 5/6] Stop zooming in on hero during real-time playback, because it can mess with ability to place flags. --- app/lib/surface/Surface.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/surface/Surface.coffee b/app/lib/surface/Surface.coffee index 580029687..20c76ad36 100644 --- a/app/lib/surface/Surface.coffee +++ b/app/lib/surface/Surface.coffee @@ -558,7 +558,7 @@ module.exports = Surface = class Surface extends CocoClass @playing = false # Will start when countdown is done. if @heroLank @previousCameraZoom = @camera.zoom - @camera.zoomTo @heroLank.sprite, 2, 3000 + #@camera.zoomTo @heroLank.sprite, 2, 3000 # This makes flag placement hard, now that we're only rarely using this as a coolcam. onRealTimePlaybackEnded: (e) -> return unless @realTime From ec77a3b737aadc0beab1fcaf9b2bd36443ef1e33 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 17 Nov 2014 09:20:44 -0800 Subject: [PATCH 6/6] Builder's Hammer has been renamed to Crude Builder's Hammer. --- app/lib/LevelOptions.coffee | 18 +++++++++--------- app/views/game-menu/InventoryModal.coffee | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/lib/LevelOptions.coffee b/app/lib/LevelOptions.coffee index 8279e7e1f..4470c4ebe 100644 --- a/app/lib/LevelOptions.coffee +++ b/app/lib/LevelOptions.coffee @@ -170,29 +170,29 @@ module.exports = LevelOptions = hidesSay: true hidesCodeToolbar: true hidesRealTimePlayback: true - requiredGear: {feet: 'simple-boots', 'right-hand': 'builders-hammer', torso: 'leather-tunic'} + requiredGear: {feet: 'simple-boots', 'right-hand': 'crude-builders-hammer', torso: 'leather-tunic'} restrictedGear: {'right-hand': 'simple-sword'} 'defense-of-plainswood': hidesRealTimePlayback: true hidesCodeToolbar: true - requiredGear: {feet: 'simple-boots', 'right-hand': 'builders-hammer'} + requiredGear: {feet: 'simple-boots', 'right-hand': 'crude-builders-hammer'} restrictedGear: {'right-hand': 'simple-sword'} 'winding-trail': hidesRealTimePlayback: true hidesCodeToolbar: true - requiredGear: {feet: 'leather-boots', 'right-hand': 'builders-hammer'} + requiredGear: {feet: 'leather-boots', 'right-hand': 'crude-builders-hammer'} restrictedGear: {feet: 'simple-boots', 'right-hand': 'simple-sword'} 'thornbush-farm': - requiredGear: {feet: 'leather-boots', 'right-hand': 'builders-hammer', eyes: 'crude-glasses'} + requiredGear: {feet: 'leather-boots', 'right-hand': 'crude-builders-hammer', eyes: 'crude-glasses'} hidesCodeToolbar: true restrictedGear: {feet: 'simple-boots', 'right-hand': 'simple-sword'} 'back-to-back': hidesCodeToolbar: true requiredGear: {feet: 'leather-boots', torso: 'leather-tunic', waist: 'leather-belt', 'programming-book': 'programmaticon-i', eyes: 'crude-glasses', 'right-hand': 'simple-sword', 'left-hand': 'wooden-shield'} - restrictedGear: {feet: 'simple-boots', 'right-hand': 'builders-hammer'} + restrictedGear: {feet: 'simple-boots', 'right-hand': 'crude-builders-hammer'} 'ogre-encampment': requiredGear: {torso: 'leather-tunic', waist: 'leather-belt', 'programming-book': 'programmaticon-i', eyes: 'crude-glasses', 'right-hand': 'simple-sword', 'left-hand': 'wooden-shield'} - restrictedGear: {feet: 'simple-boots', 'right-hand': 'builders-hammer'} + restrictedGear: {feet: 'simple-boots', 'right-hand': 'crude-builders-hammer'} 'woodland-cleaver': requiredGear: {torso: 'leather-tunic', waist: 'leather-belt', 'programming-book': 'programmaticon-i', eyes: 'crude-glasses', 'right-hand': 'long-sword', 'left-hand': 'wooden-shield', wrists: 'sundial-wristwatch', feet: 'leather-boots'} restrictedGear: {feet: 'simple-boots', 'right-hand': 'simple-sword'} @@ -212,14 +212,14 @@ module.exports = LevelOptions = requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', flag: 'basic-flags', eyes: 'wooden-glasses'} restrictedGear: {} 'drop-the-flag': - requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', flag: 'basic-flags', eyes: 'wooden-glasses', 'right-hand': 'builders-hammer'} + requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', flag: 'basic-flags', eyes: 'wooden-glasses', 'right-hand': 'crude-builders-hammer'} restrictedGear: {'right-hand': 'longsword'} 'deadly-pursuit': - requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', flag: 'basic-flags', eyes: 'wooden-glasses', 'right-hand': 'builders-hammer'} + requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', flag: 'basic-flags', eyes: 'wooden-glasses', 'right-hand': 'crude-builders-hammer'} restrictedGear: {'right-hand': 'longsword'} 'rich-forager': requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', flag: 'basic-flags', eyes: 'wooden-glasses', torso: 'leather-tunic', 'right-hand': 'longsword', 'left-hand': 'bronze-shield'} - restrictedGear: {'right-hand': 'builders-hammer'} + restrictedGear: {'right-hand': 'crude-builders-hammer'} 'multiplayer-treasure-grove': requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', flag: 'basic-flags', eyes: 'wooden-glasses', torso: 'leather-tunic'} restrictedGear: {} diff --git a/app/views/game-menu/InventoryModal.coffee b/app/views/game-menu/InventoryModal.coffee index 8fd6a9661..b5e3491bc 100644 --- a/app/views/game-menu/InventoryModal.coffee +++ b/app/views/game-menu/InventoryModal.coffee @@ -376,8 +376,8 @@ module.exports = class InventoryModal extends ModalView #continue if item is 'leather-tunic' and inWorldMap and @options.levelID is 'the-raised-sword' # Don't tell them they need it until they need it in the level # ... when we make it so that you can buy it equipped = equipment[slot] continue if equipped and not ( - (item is 'builders-hammer' and equipped in [gear['simple-sword'], gear['long-sword'], gear['sharpened-sword'], gear['roughedge']]) or - (item in ['simple-sword', 'long-sword', 'roughedge', 'sharpened-sword'] and equipped is gear['builders-hammer']) or + (item is 'crude-builders-hammer' and equipped in [gear['simple-sword'], gear['long-sword'], gear['sharpened-sword'], gear['roughedge']]) or + (item in ['simple-sword', 'long-sword', 'roughedge', 'sharpened-sword'] and equipped is gear['crude-builders-hammer']) or (item is 'leather-boots' and equipped is gear['simple-boots']) or (item is 'simple-boots' and equipped is gear['leather-boots']) ) @@ -464,7 +464,7 @@ gear = 'leather-belt': '5437002a7beba4a82024a97d' 'programmaticon-i': '53e4108204c00d4607a89f78' 'crude-glasses': '53e238df53457600003e3f0b' - 'builders-hammer': '53f4e6e3d822c23505b74f42' + 'crude-builders-hammer': '53f4e6e3d822c23505b74f42' 'long-sword': '544d7d1f8494308424f564a3' 'sundial-wristwatch': '53e2396a53457600003e3f0f' 'bronze-shield': '544c310ae0017993fce214bf'