From 343ad287617b42f287f372ba6d7edc3cc0d728bf Mon Sep 17 00:00:00 2001 From: Matt Lott Date: Sun, 7 Dec 2014 15:24:12 -0800 Subject: [PATCH 1/6] Fix IE9 missing console object Debugging IE9 without debugging tools, when the debugging tools are kind of the problem. Fun. --- app/core/initialize.coffee | 7 +++++++ app/models/CocoModel.coffee | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/app/core/initialize.coffee b/app/core/initialize.coffee index 159fe627b..a3033feac 100644 --- a/app/core/initialize.coffee +++ b/app/core/initialize.coffee @@ -77,6 +77,13 @@ initializeUtilityServices = -> require('core/services/segmentio')() setupConsoleLogging = -> + # IE9 doesn't expose console object unless debugger tools are loaded + unless console? + window.console = + info: -> + log: -> + error: -> + debug: -> unless console.debug # Needed for IE10 and earlier console.debug = console.log diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 1d7c7439d..e0e1be276 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -19,6 +19,13 @@ class CocoModel extends Backbone.Model @on 'error', @onError, @ @on 'add', @onLoaded, @ @saveBackup = _.debounce(@saveBackup, 500) + # IE9 doesn't expose console object unless debugger tools are loaded + unless console? + window.console = + info: -> + log: -> + error: -> + debug: -> console.debug = console.log unless console.debug # Needed for IE10 and earlier setProjection: (project) -> From 1ba57c7ae1b9d5a7963eee5fd264e0bed8accd01 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sun, 7 Dec 2014 15:29:19 -0800 Subject: [PATCH 2/6] Fixed issues with gems prompt not laying out properly from item store details view. --- app/styles/common/common.sass | 2 ++ app/views/play/modal/PlayItemsModal.coffee | 1 + 2 files changed, 3 insertions(+) diff --git a/app/styles/common/common.sass b/app/styles/common/common.sass index 0cb17cf71..9504c9dc5 100644 --- a/app/styles/common/common.sass +++ b/app/styles/common/common.sass @@ -248,6 +248,8 @@ kbd &.btn-lg border-width: 14px 20px 20px 20px + height: 60px + line-height: 34px &.btn-primary border-image-source: url(/images/common/button-background-primary-active-border.png) diff --git a/app/views/play/modal/PlayItemsModal.coffee b/app/views/play/modal/PlayItemsModal.coffee index ace78bf22..4a4ae7c04 100644 --- a/app/views/play/modal/PlayItemsModal.coffee +++ b/app/views/play/modal/PlayItemsModal.coffee @@ -202,6 +202,7 @@ module.exports = class PlayItemsModal extends ModalView unlockButton.popover( animation: true trigger: 'manual' + placement: 'top' content: ' ' # template has it container: @$el template: popoverTemplate From ac4a252a5e686f68db7ee7b01a5864064093b868 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sun, 7 Dec 2014 15:51:32 -0800 Subject: [PATCH 3/6] Fixed some border images in Firefox, and hopefully in other browsers. --- app/styles/common/common.sass | 2 ++ app/styles/modal/auth-modal.sass | 1 + app/styles/play/level/control_bar.sass | 2 ++ app/styles/play/level/goals.sass | 1 + app/styles/play/level/modal/hero-victory-modal.sass | 1 + app/styles/play/level/tome/cast_button.sass | 1 + app/styles/play/level/tome/problem_alert.sass | 1 + app/styles/play/level/tome/spell_debug.sass | 1 + app/styles/play/level/tome/spell_list.sass | 1 + app/styles/play/level/tome/spell_list_entry_thangs.sass | 1 + app/styles/play/level/tome/spell_palette_entry.sass | 1 + app/styles/play/level/tome/spell_toolbar.sass | 1 + app/styles/play/level/tome/tome.sass | 1 + app/styles/play/modal/subscribe-modal.sass | 1 + app/styles/play/world-map-view.sass | 1 + app/views/play/WorldMapView.coffee | 6 ++++-- 16 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/styles/common/common.sass b/app/styles/common/common.sass index 9504c9dc5..fae7f7afe 100644 --- a/app/styles/common/common.sass +++ b/app/styles/common/common.sass @@ -225,6 +225,7 @@ kbd height: 60px .popover + border-style: solid border-image: url(/images/level/popover_background.png) 29 39 fill stretch border-width: 15px 20px .arrow @@ -238,6 +239,7 @@ kbd border: 0 border-radius: 0 @include box-shadow(none) + border-style: solid border-image: url(/images/common/button-background-active-border.png) 14 20 20 20 fill round border-width: 7px 10px 10px 10px padding: 0 diff --git a/app/styles/modal/auth-modal.sass b/app/styles/modal/auth-modal.sass index ca0d263af..d79f7bf0f 100644 --- a/app/styles/modal/auth-modal.sass +++ b/app/styles/modal/auth-modal.sass @@ -146,6 +146,7 @@ height: 70px font-size: 32px line-height: 42px + border-style: solid border-image: url(/images/level/code_toolbar_submit_button_active.png) 14 20 20 20 fill round border-width: 14px 20px 20px 20px color: white diff --git a/app/styles/play/level/control_bar.sass b/app/styles/play/level/control_bar.sass index b95ef88f5..253e00cfa 100644 --- a/app/styles/play/level/control_bar.sass +++ b/app/styles/play/level/control_bar.sass @@ -100,6 +100,7 @@ height: 60px margin: 0 auto padding: 8px + border-style: solid border-image: url(/images/level/control_bar_level_name_background.png) 30 fill round border-width: 0 15px 15px 15px text-align: center @@ -128,6 +129,7 @@ height: 60px margin: 0 auto padding: 8px + border-style: solid border-image: url(/images/level/control_bar_level_name_background.png) 30 fill round border-width: 0 15px 15px 15px text-align: center diff --git a/app/styles/play/level/goals.sass b/app/styles/play/level/goals.sass index 1d8e4a06f..09e46f2f3 100644 --- a/app/styles/play/level/goals.sass +++ b/app/styles/play/level/goals.sass @@ -6,6 +6,7 @@ left: -15px top: -100px @include transition(0.5s ease-in-out) + border-style: solid border-image: url(/images/level/goals_background.png) 15 20 51 15 fill stretch border-width: 8px 10px 25px 8px margin: -8px -10px -25px -8px diff --git a/app/styles/play/level/modal/hero-victory-modal.sass b/app/styles/play/level/modal/hero-victory-modal.sass index 6344b42cb..463adc798 100644 --- a/app/styles/play/level/modal/hero-victory-modal.sass +++ b/app/styles/play/level/modal/hero-victory-modal.sass @@ -33,6 +33,7 @@ width: 750px background: transparent border: 0px solid transparent + border-style: solid border-image: url("/images/pages/play/level/modal/victory_modal_border_background.png") 250 0 100 0 fill round border-width: 250px 0 100px 0 border-radius: 12px diff --git a/app/styles/play/level/tome/cast_button.sass b/app/styles/play/level/tome/cast_button.sass index 4f442e660..3a8a8c45c 100644 --- a/app/styles/play/level/tome/cast_button.sass +++ b/app/styles/play/level/tome/cast_button.sass @@ -46,6 +46,7 @@ width: 45% width: -webkit-calc(50% - 10px) width: calc(50% - 10px) + border-style: solid border-image: url(/images/level/code_toolbar_run_button_active.png) 14 20 20 20 fill round border-width: 7px 10px 10px 10px diff --git a/app/styles/play/level/tome/problem_alert.sass b/app/styles/play/level/tome/problem_alert.sass index aaba3a19d..5c2f2027c 100644 --- a/app/styles/play/level/tome/problem_alert.sass +++ b/app/styles/play/level/tome/problem_alert.sass @@ -15,6 +15,7 @@ text-shadow: none color: white word-wrap: break-word + border-style: solid border-image: url(/images/level/code_editor_error_background.png) 16 20 fill round border-width: 16px 20px diff --git a/app/styles/play/level/tome/spell_debug.sass b/app/styles/play/level/tome/spell_debug.sass index 58d8b5f71..945b01d8f 100644 --- a/app/styles/play/level/tome/spell_debug.sass +++ b/app/styles/play/level/tome/spell_debug.sass @@ -7,6 +7,7 @@ min-width: 250px max-width: 400px padding: 10px + border-style: solid border-image: url(/images/level/popover_background.png) 18 fill round border-width: 8px .progress diff --git a/app/styles/play/level/tome/spell_list.sass b/app/styles/play/level/tome/spell_list.sass index e988bfce0..7a234a402 100644 --- a/app/styles/play/level/tome/spell_list.sass +++ b/app/styles/play/level/tome/spell_list.sass @@ -9,6 +9,7 @@ left: 0% right: 10% padding: 4% + border-style: solid border-image: url(/images/level/popover_background.png) 18 fill round border-width: 15px diff --git a/app/styles/play/level/tome/spell_list_entry_thangs.sass b/app/styles/play/level/tome/spell_list_entry_thangs.sass index 5f8a275f7..b8faebba0 100644 --- a/app/styles/play/level/tome/spell_list_entry_thangs.sass +++ b/app/styles/play/level/tome/spell_list_entry_thangs.sass @@ -11,6 +11,7 @@ max-height: 500px overflow: scroll padding: 4% + border-style: solid border-image: url(/images/level/popover_background.png) 18 fill round border-width: 15px diff --git a/app/styles/play/level/tome/spell_palette_entry.sass b/app/styles/play/level/tome/spell_palette_entry.sass index 7ddba6bb9..bb0177039 100644 --- a/app/styles/play/level/tome/spell_palette_entry.sass +++ b/app/styles/play/level/tome/spell_palette_entry.sass @@ -55,6 +55,7 @@ body:not(.dialogue-view-active) // Only those popovers which are our direct children (spell documentation) max-width: 600px padding: 0 + border-style: solid border-image: url(/images/level/popover_background.png) 29 39 fill stretch border-width: 15px 20px @include box-shadow(0 0 0 #000) diff --git a/app/styles/play/level/tome/spell_toolbar.sass b/app/styles/play/level/tome/spell_toolbar.sass index a29c2a137..a17f84769 100644 --- a/app/styles/play/level/tome/spell_toolbar.sass +++ b/app/styles/play/level/tome/spell_toolbar.sass @@ -82,6 +82,7 @@ position: absolute z-index: 10 pointer-events: none + border-style: solid border-image: url(/images/level/popover_background.png) 29 39 fill stretch padding: 0 border-width: 15px 20px diff --git a/app/styles/play/level/tome/tome.sass b/app/styles/play/level/tome/tome.sass index 511a3fa14..ff6f691d0 100644 --- a/app/styles/play/level/tome/tome.sass +++ b/app/styles/play/level/tome/tome.sass @@ -37,6 +37,7 @@ .popover padding: 10px 10px 30px 10px + border-style: solid border-image: url(/images/level/popover_background.png) 18 fill round border-width: 15px @include box-shadow(0 0 0 #000) diff --git a/app/styles/play/modal/subscribe-modal.sass b/app/styles/play/modal/subscribe-modal.sass index fb1972e83..638a5992c 100644 --- a/app/styles/play/modal/subscribe-modal.sass +++ b/app/styles/play/modal/subscribe-modal.sass @@ -100,6 +100,7 @@ top: 430px font-size: 32px line-height: 42px + border-style: solid border-image: url(/images/level/code_toolbar_submit_button_active.png) 14 20 20 20 fill round border-width: 14px 20px 20px 20px color: darken(white, 5%) diff --git a/app/styles/play/world-map-view.sass b/app/styles/play/world-map-view.sass index d82f6a3ad..6af3a0684 100644 --- a/app/styles/play/world-map-view.sass +++ b/app/styles/play/world-map-view.sass @@ -218,6 +218,7 @@ $gameControlMargin: 30px border-width: 15px // Using modernizr-mixin for compat detection @include yep(borderimage) + border-style: solid border-image: url(/images/level/popover_background.png) 18 fill round @include nope(borderimage) background-color: rgb(247, 242, 218) diff --git a/app/views/play/WorldMapView.coffee b/app/views/play/WorldMapView.coffee index 0fb1199a1..d0d72526e 100644 --- a/app/views/play/WorldMapView.coffee +++ b/app/views/play/WorldMapView.coffee @@ -141,8 +141,10 @@ module.exports = class WorldMapView extends RootView level.color = 'rgb(80, 130, 200)' level.hidden = level.locked or level.disabled - # put lower levels in last, so in the world map they layer over one another properly. - context.campaign.levels = (_.sortBy context.campaign.levels, 'y').reverse() + ## put lower levels in last, so in the world map they layer over one another properly. + #context.campaign.levels = (_.sortBy context.campaign.levels, 'y').reverse() + # Actually, there's some logic that depends on the order of iteration of levels to determine + # which one to do next when you're coming here not from a level; can we do this another way? context.levelStatusMap = @levelStatusMap context.levelPlayCountMap = @levelPlayCountMap From 01c6709c36d3a6712096d9ce241d17809f3a19eb Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sun, 7 Dec 2014 16:55:08 -0800 Subject: [PATCH 4/6] Implemented George's WorldMapView user status line design. --- .../images/pages/play/play-spritesheet.png | Bin 0 -> 17273 bytes app/styles/common/common.sass | 4 ++ app/styles/play/world-map-view.sass | 64 ++++++++++++++++-- app/templates/play/world-map-view.jade | 23 ++++--- app/views/play/WorldMapView.coffee | 8 +++ 5 files changed, 84 insertions(+), 15 deletions(-) create mode 100644 app/assets/images/pages/play/play-spritesheet.png diff --git a/app/assets/images/pages/play/play-spritesheet.png b/app/assets/images/pages/play/play-spritesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..f38e523e7de2d8455031887d61e21e691d256b6f GIT binary patch literal 17273 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 literal 0 HcmV?d00001 diff --git a/app/styles/common/common.sass b/app/styles/common/common.sass index fae7f7afe..ef1dda935 100644 --- a/app/styles/common/common.sass +++ b/app/styles/common/common.sass @@ -216,6 +216,10 @@ kbd width: 25px height: 25px + &.gem-30 + width: 30px + height: 30px + &.gem-40 width: 40px height: 40px diff --git a/app/styles/play/world-map-view.sass b/app/styles/play/world-map-view.sass index 6af3a0684..09571c024 100644 --- a/app/styles/play/world-map-view.sass +++ b/app/styles/play/world-map-view.sass @@ -321,15 +321,69 @@ $gameControlMargin: 30px .user-status position: absolute - bottom: 1% - left: 1% + bottom: 16px + left: 8px text-align: center font-size: 24px color: white - text-shadow: 1px 1px 0px black + text-shadow: 0px 2px 1px black, 0px -2px 1px black, -2px 0px 1px black, 2px 0px 1px black + height: 32px + line-height: 32px - button - margin-left: 10px + .user-status-line + position: relative + + button.btn.btn-illustrated + margin-left: 10px + min-width: 90px + height: 32px + color: white + + .gem, .player-level-icon, .player-hero-icon + position: absolute + top: 1px + + #gems-count + margin-left: 40px + + .player-level + margin-left: 34px + + .player-name + margin-left: 45px + + $spriteSheetSize: 30px + + .player-level-icon, .player-hero-icon + background: transparent url(/images/pages/play/play-spritesheet.png) + background-size: cover + background-position: (-2 * $spriteSheetSize) 0 + display: inline-block + width: 30px + height: 30px + margin: 0px 2px + + .player-hero-icon + margin-left: 10px + background-position: (-4 * $spriteSheetSize) 0 + + &.knight + background-position: (-5 * $spriteSheetSize) 0 + &.librarian + background-position: (-6 * $spriteSheetSize) 0 + &.ninja + background-position: (-7 * $spriteSheetSize) 0 + &.potion-master + background-position: (-8 * $spriteSheetSize) 0 + &.samurai + background-position: (-9 * $spriteSheetSize) 0 + &.trapper + background-position: (-10 * $spriteSheetSize) 0 + &.forest-archer + background-position: (-11 * $spriteSheetSize) 0 + &.sorcerer + background-position: (-12 * $spriteSheetSize) 0 + #volume-button position: absolute diff --git a/app/templates/play/world-map-view.jade b/app/templates/play/world-map-view.jade index 6db3d5818..142631816 100644 --- a/app/templates/play/world-map-view.jade +++ b/app/templates/play/world-map-view.jade @@ -63,16 +63,19 @@ // a.btn.settings(href='/account', data-i18n="[title]play.settings") .user-status.header-font - span.gem.gem-20 - span#gems-count.spr= me.gems() - span.spl.spr(data-i18n="general.player_level") - span.spr= me.level() - if me.get('anonymous') - span.spr(data-i18n="play.anonymous") Anonymous Player - button.btn.btn-default.btn-flat.btn-sm(data-toggle='coco-modal', data-target='core/AuthModal', data-i18n="login.log_in") - else - span.spr= me.get('name') - button#logout-button.btn.btn-default.btn-flat.btn-sm(data-i18n="login.log_out") Log Out + .user-status-line + span.gem.gem-30 + span#gems-count.spr= me.gems() + span.player-level-icon + span.player-level.spr= me.level() + span.player-hero-icon + if me.get('anonymous') + span.player-name.spr(data-i18n="play.anonymous") Anonymous Player + button.btn.btn-illustrated.login-button.btn-warning(data-i18n="login.log_in") + button.btn.btn-illustrated.signup-button.btn-danger(data-i18n="signup.sign_up") + else + span.player-name.spr= me.get('name') + button#logout-button.btn.btn-default.btn-flat.btn-sm(data-i18n="login.log_out") Log Out button.btn.btn-lg.btn-inverse#volume-button(title="Adjust volume") .glyphicon.glyphicon-volume-off diff --git a/app/views/play/WorldMapView.coffee b/app/views/play/WorldMapView.coffee index d0d72526e..024064e1e 100644 --- a/app/views/play/WorldMapView.coffee +++ b/app/views/play/WorldMapView.coffee @@ -74,6 +74,7 @@ module.exports = class WorldMapView extends RootView @hadEverChosenHero = me.get('heroConfig')?.thangType @listenTo me, 'change:purchased', -> @renderSelectors('#gems-count') @listenTo me, 'change:spent', -> @renderSelectors('#gems-count') + @listenTo me, 'change:heroConfig', -> @updateHero() window.tracker?.trackEvent 'Loaded World Map', category: 'World Map', ['Google Analytics'] # If it's a new player who didn't appear to come from Hour of Code, we register her here without setting the hourOfCode property. @@ -169,6 +170,7 @@ module.exports = class WorldMapView extends RootView console.log "#{$(@).data('level-id')}\n x: #{(100 * x).toFixed(2)}\n y: #{(100 * y).toFixed(2)}\n" @$el.addClass _.string.slugify @terrain @updateVolume() + @updateHero() unless window.currentModal or not @fullyRendered @highlightElement '.level.next', delay: 500, duration: 60000, rotation: 0, sides: ['top'] if levelID = @$el.find('.level.next').data('level-id') @@ -347,6 +349,12 @@ module.exports = class WorldMapView extends RootView newI = 2 @updateVolume volumes[newI] + updateHero: -> + return unless hero = me.get('heroConfig')?.thangType + for slug, original of ThangType.heroes when original is hero + @$el.find('.player-hero-icon').removeClass().addClass('player-hero-icon ' + slug) + return + console.error "WorldMapView hero update couldn't find hero slug for original:", hero dungeon = [ { From 5d1a34519b0459f2d767ccef53c42728d19690eb Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sun, 7 Dec 2014 17:57:57 -0800 Subject: [PATCH 5/6] Fixed up our headings font family fallback. --- app/styles/achievements.sass | 2 +- app/styles/bootstrap/_variables.scss | 2 +- app/styles/common/common.sass | 6 +++--- app/styles/common/site-chrome.sass | 2 +- app/styles/game-menu/game-menu-modal.sass | 3 ++- app/styles/modal/auth-modal.sass | 4 ++-- app/styles/play/ladder_home.sass | 2 +- app/styles/play/level.sass | 2 +- app/styles/play/level/control_bar.sass | 2 +- app/styles/play/level/hud.sass | 2 +- app/styles/play/level/modal/hero-victory-modal.sass | 6 +++--- app/styles/play/level/modal/victory.sass | 5 ++++- app/styles/play/level/tome/spell_list_entry.sass | 2 +- app/styles/play/modal/item-details-view.sass | 3 ++- app/styles/play/modal/play-heroes-modal.sass | 6 +++--- app/styles/play/modal/play-items-modal.sass | 5 +++-- app/styles/play/modal/subscribe-modal.sass | 2 +- 17 files changed, 31 insertions(+), 25 deletions(-) diff --git a/app/styles/achievements.sass b/app/styles/achievements.sass index 396472b6a..f39b6c968 100644 --- a/app/styles/achievements.sass +++ b/app/styles/achievements.sass @@ -95,7 +95,7 @@ $user-achievements-scale: 0.8 padding: $overall-scale * 24px $overall-scale * 30px $overall-scale * 20px $overall-scale * 60px .achievement-title - font-family: Open Sans Condensed + font-family: $headings-font-family font-variant: small-caps font-size: $overall-scale * 28px padding-left: $overall-scale * -50px diff --git a/app/styles/bootstrap/_variables.scss b/app/styles/bootstrap/_variables.scss index e2b5af123..06930f639 100644 --- a/app/styles/bootstrap/_variables.scss +++ b/app/styles/bootstrap/_variables.scss @@ -75,7 +75,7 @@ $font-size-h6: ceil($font-size-base * 0.85) !default; // ~12px $line-height-base: 1.428571429 !default; // 20/14 $line-height-computed: floor($font-size-base * $line-height-base) !default; // ~20px -$headings-font-family: 'Open Sans Condensed', cursive; // empty to use BS default, $baseFontFamily; +$headings-font-family: 'Open Sans Condensed', "Helvetica Neue", Helvetica, Arial, sans-serif; // empty to use BS default, $baseFontFamily; $headings-font-weight: 700 !default; $headings-line-height: 1.1 !default; $headings-color: #317EAC; diff --git a/app/styles/common/common.sass b/app/styles/common/common.sass index ef1dda935..5a17efca4 100644 --- a/app/styles/common/common.sass +++ b/app/styles/common/common.sass @@ -140,12 +140,12 @@ table.table body[lang='ja'] h1, h2, h3, h4, h5, h6 - font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", 'Open Sans Condensed', sans-serif + font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", 'Open Sans Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif font-variant: small-caps letter-spacing: -1px !important .header-font - font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", 'Open Sans Condensed', sans-serif + font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", 'Open Sans Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif font-variant: small-caps letter-spacing: -1px !important @@ -247,7 +247,7 @@ kbd border-image: url(/images/common/button-background-active-border.png) 14 20 20 20 fill round border-width: 7px 10px 10px 10px padding: 0 - font-family: Open Sans Condensed + font-family: $headings-font-family text-transform: uppercase font-weight: bold color: rgb(248, 197, 146) diff --git a/app/styles/common/site-chrome.sass b/app/styles/common/site-chrome.sass index dd4926a4e..c9b3c5349 100644 --- a/app/styles/common/site-chrome.sass +++ b/app/styles/common/site-chrome.sass @@ -68,7 +68,7 @@ & > a, button, select font-size: 18px text-transform: uppercase - font-family: Open Sans Condensed + font-family: $headings-font-family margin: 0 7px button, select diff --git a/app/styles/game-menu/game-menu-modal.sass b/app/styles/game-menu/game-menu-modal.sass index 2707d39b0..a9390ea01 100644 --- a/app/styles/game-menu/game-menu-modal.sass +++ b/app/styles/game-menu/game-menu-modal.sass @@ -1,3 +1,4 @@ +@import "app/styles/bootstrap/variables" @import "app/styles/mixins" #game-menu-modal @@ -67,7 +68,7 @@ color: rgb(195,153,124) font-weight: bold padding: 14px 20px - font-family: Open Sans Condensed + font-family: $headings-font-family text-transform: uppercase .glyphicon diff --git a/app/styles/modal/auth-modal.sass b/app/styles/modal/auth-modal.sass index d79f7bf0f..f87d478f3 100644 --- a/app/styles/modal/auth-modal.sass +++ b/app/styles/modal/auth-modal.sass @@ -92,7 +92,7 @@ label font-size: 20px text-transform: uppercase - font-family: 'Open Sans Condensed' + font-family: $headings-font-family margin-bottom: 0 //- Check boxes @@ -236,7 +236,7 @@ width: 200px color: rgb(254,188,68) font-size: 20px - font-family: 'Open Sans Condensed' + font-family: $headings-font-family font-weight: bold text-transform: uppercase text-shadow: black 1px 1px 0, black -1px -1px 0, black 1px -1px 0, black -1px 1px 0, black 1px 0px 0, black 0px -1px 0, black -1px 0px 0, black 0px 1px 0 diff --git a/app/styles/play/ladder_home.sass b/app/styles/play/ladder_home.sass index e9406ef18..e9b474a6a 100644 --- a/app/styles/play/ladder_home.sass +++ b/app/styles/play/ladder_home.sass @@ -21,7 +21,7 @@ .overlay-text color: $yellow - font-family: Open Sans Condensed + font-family: $headings-font-family font-variant: small-caps @include transition(color .10s linear) diff --git a/app/styles/play/level.sass b/app/styles/play/level.sass index c54f94ad5..f0a44d523 100644 --- a/app/styles/play/level.sass +++ b/app/styles/play/level.sass @@ -187,7 +187,7 @@ $level-resize-transition-time: 0.5s #play-footer text-align: center - font-family: "Open Sans Condensed" + font-family: $headings-font-family font-variant: small-caps font-size: 25px padding: 10px 0 diff --git a/app/styles/play/level/control_bar.sass b/app/styles/play/level/control_bar.sass index 253e00cfa..1c036f936 100644 --- a/app/styles/play/level/control_bar.sass +++ b/app/styles/play/level/control_bar.sass @@ -12,7 +12,7 @@ position: absolute z-index: 6 text-transform: uppercase - font-family: Open Sans Condensed + font-family: $headings-font-family font-weight: bold &.controls-disabled diff --git a/app/styles/play/level/hud.sass b/app/styles/play/level/hud.sass index be3502933..eb124d8aa 100644 --- a/app/styles/play/level/hud.sass +++ b/app/styles/play/level/hud.sass @@ -98,7 +98,7 @@ background-image: url(/images/level/hud_background.png) color: white text-transform: uppercase - font-family: Open Sans Condensed + font-family: $headings-font-family font-weight: bold font-size: 16px z-index: 4 diff --git a/app/styles/play/level/modal/hero-victory-modal.sass b/app/styles/play/level/modal/hero-victory-modal.sass index 463adc798..c881afa9f 100644 --- a/app/styles/play/level/modal/hero-victory-modal.sass +++ b/app/styles/play/level/modal/hero-victory-modal.sass @@ -115,7 +115,7 @@ color: $hero-yellow-text font-weight: bold text-transform: uppercase - font-family: 'Open Sans Condensed' + font-family: $headings-font-family white-space: nowrap overflow: hidden text-overflow: ellipsis @@ -259,7 +259,7 @@ color: rgb(103, 92, 76) text-transform: uppercase font-weight: bold - font-family: 'Open Sans Condensed' + font-family: $headings-font-family font-size: 18px margin-top: 13px line-height: 18px @@ -303,7 +303,7 @@ .sign-up-blurb width: 175px - font-family: 'Open Sans Condensed' + font-family: $headings-font-family font-weight: bold text-transform: uppercase font-size: 18px diff --git a/app/styles/play/level/modal/victory.sass b/app/styles/play/level/modal/victory.sass index 9a343b3ce..c89731517 100644 --- a/app/styles/play/level/modal/victory.sass +++ b/app/styles/play/level/modal/victory.sass @@ -1,3 +1,6 @@ +@import "app/styles/mixins" +@import "app/styles/bootstrap/variables" + #level-victory-modal .victory-banner float: right @@ -55,4 +58,4 @@ body.ipad #level-victory-modal .modal-body font-size: 30px - font-family: Open Sans Condensed + font-family: $headings-font-family diff --git a/app/styles/play/level/tome/spell_list_entry.sass b/app/styles/play/level/tome/spell_list_entry.sass index 60f700c31..9599039cb 100644 --- a/app/styles/play/level/tome/spell_list_entry.sass +++ b/app/styles/play/level/tome/spell_list_entry.sass @@ -93,7 +93,7 @@ margin-top: 10px text-transform: uppercase display: inline-block - font-family: Open Sans Condensed + font-family: $headings-font-family font-weight: bold .method-label diff --git a/app/styles/play/modal/item-details-view.sass b/app/styles/play/modal/item-details-view.sass index 0741b68d8..9b7b17918 100644 --- a/app/styles/play/modal/item-details-view.sass +++ b/app/styles/play/modal/item-details-view.sass @@ -1,10 +1,11 @@ +@import "app/styles/bootstrap/variables" @import "app/styles/mixins" #item-details-view .big-font text-transform: uppercase - font-family: "Open Sans Condensed" + font-family: $headings-font-family font-weight: bold .one-line diff --git a/app/styles/play/modal/play-heroes-modal.sass b/app/styles/play/modal/play-heroes-modal.sass index 7d73a2858..4aa7d6c0c 100644 --- a/app/styles/play/modal/play-heroes-modal.sass +++ b/app/styles/play/modal/play-heroes-modal.sass @@ -44,7 +44,7 @@ $heroCanvasHeight: 265px top: 470px #gems-count - font-family: 'Open Sans Condensed' + font-family: $headings-font-family font-size: 24.5px color: lighten(rgb(1,64,91), 50%) @@ -302,7 +302,7 @@ $heroCanvasHeight: 265px text-align: center text-transform: uppercase font-size: 24.5px - font-family: Open Sans Condensed + font-family: $headings-font-family color: white #purchase-hero-button @@ -406,7 +406,7 @@ $heroCanvasHeight: 265px text-align: center text-transform: uppercase font-size: 26px - font-family: Open Sans Condensed + font-family: $headings-font-family color: white diff --git a/app/styles/play/modal/play-items-modal.sass b/app/styles/play/modal/play-items-modal.sass index d0db31efb..24862eb9e 100644 --- a/app/styles/play/modal/play-items-modal.sass +++ b/app/styles/play/modal/play-items-modal.sass @@ -1,10 +1,11 @@ +@import "app/styles/bootstrap/variables" @import "app/styles/mixins" #play-items-modal .big-font text-transform: uppercase - font-family: "Open Sans Condensed" + font-family: $headings-font-family font-weight: bold .one-line @@ -287,7 +288,7 @@ top: 70px font-size: 20px line-height: 20px - font-family: Open Sans Condensed + font-family: $headings-font-family text-transform: uppercase font-weight: bold z-index: 2 diff --git a/app/styles/play/modal/subscribe-modal.sass b/app/styles/play/modal/subscribe-modal.sass index 638a5992c..6d7a87f6e 100644 --- a/app/styles/play/modal/subscribe-modal.sass +++ b/app/styles/play/modal/subscribe-modal.sass @@ -63,7 +63,7 @@ font-weight: bold line-height: 18px color: black - font-family: 'Open Sans Condensed' + font-family: $headings-font-family font-size: 18px .point From 2278e28c42e3ff074408d35365f2bc46b18d8f75 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sun, 7 Dec 2014 18:05:12 -0800 Subject: [PATCH 6/6] Hid tooltip arrow for game menu controls. --- app/styles/play/world-map-view.sass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/styles/play/world-map-view.sass b/app/styles/play/world-map-view.sass index 09571c024..64a8eec6b 100644 --- a/app/styles/play/world-map-view.sass +++ b/app/styles/play/world-map-view.sass @@ -319,6 +319,9 @@ $gameControlMargin: 30px .tooltip font-size: 24px + .tooltip-arrow + display: none + .user-status position: absolute bottom: 16px