diff --git a/app/lib/LevelLoader.coffee b/app/lib/LevelLoader.coffee index 861dd0b22..cc9a6dd12 100644 --- a/app/lib/LevelLoader.coffee +++ b/app/lib/LevelLoader.coffee @@ -78,6 +78,10 @@ module.exports = class LevelLoader extends CocoClass @listenToOnce @opponentSession, 'sync', @loadDependenciesForSession loadDependenciesForSession: (session) -> + return if @levelID is 'sky-span' # TODO + # TODO: I think this runs afoul of https://github.com/codecombat/codecombat/issues/1108 + # TODO: this shouldn't happen when it's not a hero level, but we don't have level loaded yet, + # and the sessions are being created with default hero config regardless of whether it's a hero level. if heroConfig = session.get('heroConfig') url = "/db/thang.type/#{heroConfig.thangType}/version?project=name,components,original" @worldNecessities.push @maybeLoadURL(url, ThangType, 'thang') diff --git a/app/lib/surface/CocoSprite.coffee b/app/lib/surface/CocoSprite.coffee index ff03d2388..a3dbc4130 100644 --- a/app/lib/surface/CocoSprite.coffee +++ b/app/lib/surface/CocoSprite.coffee @@ -321,6 +321,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass @lastPos = p1.copy?() or _.clone(p1) @hasMoved = true if @thangType.get('name') is 'Flag' and not @notOfThisWorld + # Let the pending flags know we're here (but not this call stack, they need to delete themselves, and we may be iterating sprites). _.defer => Backbone.Mediator.publish 'surface:flag-appeared', sprite: @ updateBaseScale: -> @@ -521,7 +522,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass @letterboxOn = e.on onMouseEvent: (e, ourEventName) -> - return if @letterboxOn + return if @letterboxOn or not @imageObject p = @imageObject p = p.parent while p.parent newEvent = sprite: @, thang: @thang, originalEvent: e, canvas:p.canvas diff --git a/app/views/play/level/LevelFlagsView.coffee b/app/views/play/level/LevelFlagsView.coffee index b06cc3487..a98b6a09f 100644 --- a/app/views/play/level/LevelFlagsView.coffee +++ b/app/views/play/level/LevelFlagsView.coffee @@ -38,6 +38,7 @@ module.exports = class LevelFlagsView extends CocoView onRealTimePlaybackEnded: (e) -> @realTime = false + @onFlagSelected color: null @$el.hide() onFlagSelected: (e) -> diff --git a/app/views/play/level/tome/TomeView.coffee b/app/views/play/level/tome/TomeView.coffee index 92e634dd9..1d340dfee 100644 --- a/app/views/play/level/tome/TomeView.coffee +++ b/app/views/play/level/tome/TomeView.coffee @@ -209,6 +209,7 @@ module.exports = class TomeView extends CocoView spellFor: (thang, spellName) -> return null unless thang?.isProgrammable + return unless @thangSpells[thang.id] # Probably in streaming mode, where we don't update until it's done. selectedThangSpells = (@spells[spellKey] for spellKey in @thangSpells[thang.id]) if spellName spell = _.find selectedThangSpells, {name: spellName}