diff --git a/app/assets/images/pages/game-menu/slot-eyes.png b/app/assets/images/pages/game-menu/slot-eyes.png
deleted file mode 100644
index 2b96d3408..000000000
Binary files a/app/assets/images/pages/game-menu/slot-eyes.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-feet.png b/app/assets/images/pages/game-menu/slot-feet.png
deleted file mode 100644
index 737ba94c4..000000000
Binary files a/app/assets/images/pages/game-menu/slot-feet.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-gloves.png b/app/assets/images/pages/game-menu/slot-gloves.png
deleted file mode 100644
index 1775c53d7..000000000
Binary files a/app/assets/images/pages/game-menu/slot-gloves.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-head.png b/app/assets/images/pages/game-menu/slot-head.png
deleted file mode 100644
index 2014fc9d8..000000000
Binary files a/app/assets/images/pages/game-menu/slot-head.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-icons.png b/app/assets/images/pages/game-menu/slot-icons.png
new file mode 100644
index 000000000..efffc74f9
Binary files /dev/null and b/app/assets/images/pages/game-menu/slot-icons.png differ
diff --git a/app/assets/images/pages/game-menu/slot-left-hand.png b/app/assets/images/pages/game-menu/slot-left-hand.png
deleted file mode 100644
index c41d8414a..000000000
Binary files a/app/assets/images/pages/game-menu/slot-left-hand.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-left-ring.png b/app/assets/images/pages/game-menu/slot-left-ring.png
deleted file mode 100644
index fe3d78e33..000000000
Binary files a/app/assets/images/pages/game-menu/slot-left-ring.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-minion.png b/app/assets/images/pages/game-menu/slot-minion.png
deleted file mode 100644
index 126d09804..000000000
Binary files a/app/assets/images/pages/game-menu/slot-minion.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-misc-0.png b/app/assets/images/pages/game-menu/slot-misc-0.png
deleted file mode 100644
index df5a83f4e..000000000
Binary files a/app/assets/images/pages/game-menu/slot-misc-0.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-misc-1.png b/app/assets/images/pages/game-menu/slot-misc-1.png
deleted file mode 100644
index 0106a1de7..000000000
Binary files a/app/assets/images/pages/game-menu/slot-misc-1.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-neck.png b/app/assets/images/pages/game-menu/slot-neck.png
deleted file mode 100644
index ff0fe908b..000000000
Binary files a/app/assets/images/pages/game-menu/slot-neck.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-pet.png b/app/assets/images/pages/game-menu/slot-pet.png
deleted file mode 100644
index 2a4687b2b..000000000
Binary files a/app/assets/images/pages/game-menu/slot-pet.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-programming-book.png b/app/assets/images/pages/game-menu/slot-programming-book.png
deleted file mode 100644
index b94baf17e..000000000
Binary files a/app/assets/images/pages/game-menu/slot-programming-book.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-right-hand.png b/app/assets/images/pages/game-menu/slot-right-hand.png
deleted file mode 100644
index 3e25b0232..000000000
Binary files a/app/assets/images/pages/game-menu/slot-right-hand.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-right-ring.png b/app/assets/images/pages/game-menu/slot-right-ring.png
deleted file mode 100644
index 3e83a9598..000000000
Binary files a/app/assets/images/pages/game-menu/slot-right-ring.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-spellbook.png b/app/assets/images/pages/game-menu/slot-spellbook.png
deleted file mode 100644
index 8418431da..000000000
Binary files a/app/assets/images/pages/game-menu/slot-spellbook.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-torso.png b/app/assets/images/pages/game-menu/slot-torso.png
deleted file mode 100644
index 37fd80a8e..000000000
Binary files a/app/assets/images/pages/game-menu/slot-torso.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-waist.png b/app/assets/images/pages/game-menu/slot-waist.png
deleted file mode 100644
index 9d0b85351..000000000
Binary files a/app/assets/images/pages/game-menu/slot-waist.png and /dev/null differ
diff --git a/app/assets/images/pages/game-menu/slot-wrists.png b/app/assets/images/pages/game-menu/slot-wrists.png
deleted file mode 100644
index 924558236..000000000
Binary files a/app/assets/images/pages/game-menu/slot-wrists.png and /dev/null differ
diff --git a/app/assets/images/pages/play/map_dungeon.jpg b/app/assets/images/pages/play/map_dungeon.jpg
new file mode 100644
index 000000000..99cb97aec
Binary files /dev/null and b/app/assets/images/pages/play/map_dungeon.jpg differ
diff --git a/app/collections/ThangNamesCollection.coffee b/app/collections/ThangNamesCollection.coffee
index 3e98fb02e..a5695470d 100644
--- a/app/collections/ThangNamesCollection.coffee
+++ b/app/collections/ThangNamesCollection.coffee
@@ -10,5 +10,6 @@ module.exports = class ThangNamesCollection extends CocoCollection
fetch: (options) ->
options ?= {}
- _.extend options, {type:'POST', data:{ids:@ids}}
+ method = if application.isIPadApp then 'GET' else 'POST' # Not sure why this was required that one time.
+ _.extend options, {type: method, data: {ids: @ids}}
super(options)
diff --git a/app/initialize.coffee b/app/initialize.coffee
index b0e14f48e..67cc1b204 100644
--- a/app/initialize.coffee
+++ b/app/initialize.coffee
@@ -105,7 +105,8 @@ watchForErrors = ->
#msg += "\nColumn: #{col}" if col?
#msg += "\nError: #{error}" if error?
#msg += "\nStack: #{stack}" if stack = error?.stack
- noty text: message, layout: 'topCenter', type: 'error', killer: false, timeout: 5000, dismissQueue: true, maxVisible: 3, callback: {onClose: -> --currentErrors}
+ unless webkit?.messageHandlers # Don't show these notys on iPad
+ noty text: message, layout: 'topCenter', type: 'error', killer: false, timeout: 5000, dismissQueue: true, maxVisible: 3, callback: {onClose: -> --currentErrors}
Backbone.Mediator.publish 'application:error', message: msg # For iOS app
window.addIPadSubscription = (channel) ->
diff --git a/app/lib/surface/Surface.coffee b/app/lib/surface/Surface.coffee
index 02710ce3e..875638eeb 100644
--- a/app/lib/surface/Surface.coffee
+++ b/app/lib/surface/Surface.coffee
@@ -521,12 +521,8 @@ module.exports = Surface = class Surface extends CocoClass
newHeight = newWidth / aspectRatio
return unless newWidth > 0 and newHeight > 0
return if newWidth is oldWidth and newHeight is oldHeight
- ##if InstallTrigger? # Firefox rendering performance goes down as canvas size goes up
- ## newWidth = Math.min 924, newWidth
- ## newHeight = Math.min 589, newHeight
- #@normalCanvas.width newWidth
- #@normalCanvas.height newHeight
- scaleFactor = if application.isIPadApp then 2 else 1 # Retina
+ #scaleFactor = if application.isIPadApp then 2 else 1 # Retina
+ scaleFactor = 1
@normalCanvas.add(@webGLCanvas).attr width: newWidth * scaleFactor, height: newHeight * scaleFactor
# Cannot do this to the webGLStage because it does not use scaleX/Y.
diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee
index be9ef5a7b..82982f08b 100644
--- a/app/models/CocoModel.coffee
+++ b/app/models/CocoModel.coffee
@@ -129,10 +129,11 @@ class CocoModel extends Backbone.Model
errorMessage = "Error saving #{@get('name') ? @type()}"
console.log 'going to log an error message'
console.warn errorMessage, res.responseJSON
- try
- noty text: "#{errorMessage}: #{res.status} #{res.statusText}", layout: 'topCenter', type: 'error', killer: false, timeout: 10000
- catch notyError
- console.warn "Couldn't even show noty error for", error, "because", notyError
+ unless webkit?.messageHandlers # Don't show these notys on iPad
+ try
+ noty text: "#{errorMessage}: #{res.status} #{res.statusText}", layout: 'topCenter', type: 'error', killer: false, timeout: 10000
+ catch notyError
+ console.warn "Couldn't even show noty error for", error, "because", notyError
options.success = options.error = null # So the callbacks can be garbage-collected.
@trigger 'save', @
return super attrs, options
diff --git a/app/styles/game-menu/inventory-view.sass b/app/styles/game-menu/inventory-view.sass
index 1425c1dd2..aa4233a63 100644
--- a/app/styles/game-menu/inventory-view.sass
+++ b/app/styles/game-menu/inventory-view.sass
@@ -7,6 +7,8 @@ $equippedWidth: 450px
$itemSlotMargin: 5px
$itemSlotSize: ($equippedWidth - 6 * 2 * $itemSlotMargin) / 6
$itemSlotSizeWithMargin: $itemSlotSize + 2 * $itemSlotMargin
+$itemSlotBorderWidth: 2px
+$itemSlotInnerWidth: $itemSlotSize - 2 * $itemSlotBorderWidth
$heroContainerBottomMargin: 10px
$heroContainerWidth: 4 * $itemSlotSizeWithMargin
$heroContainerHeight: $inventoryHeight - 2 * $itemSlotSizeWithMargin - $heroContainerBottomMargin
@@ -76,18 +78,63 @@ $stashWidth: $totalWidth - $equippedWidth - $stashMargin
width: 100%
height: 100%
background-size: cover
- border: 2px solid #888
- @include opacity(0.75)
+ border: $itemSlotBorderWidth solid #888
+ @include opacity(0.4)
+ background-image: url(/images/pages/game-menu/slot-icons.png)
- &[data-slot="waist"], &[data-slot="pet"], &[data-slot="minion"], &[data-slot="misc-1"]
- // My spooging of the other placeholders had them dimmed; these didn't.
- .placeholder
- @include opacity(0.35)
- border-color: black
- &.selected
- &[data-slot="waist"], &[data-slot="pet"], &[data-slot="minion"], &[data-slot="misc-1"]
- .placeholder
- border-color: #28f
+ &[data-slot="misc-1"] .placeholder
+ background-position-x: -0 * $itemSlotInnerWidth
+
+ &[data-slot="minion"] .placeholder
+ background-position-x: -1 * $itemSlotInnerWidth
+
+ &[data-slot="programming-book"] .placeholder
+ background-position-x: -2 * $itemSlotInnerWidth
+
+ &[data-slot="spellbook"] .placeholder
+ background-position-x: -3 * $itemSlotInnerWidth
+
+ &[data-slot="misc-0"] .placeholder
+ background-position-x: -4 * $itemSlotInnerWidth
+
+ &[data-slot="wrists"] .placeholder
+ background-position-x: -5 * $itemSlotInnerWidth
+
+ &[data-slot="left-ring"] .placeholder
+ background-position-x: -6 * $itemSlotInnerWidth
+
+ &[data-slot="right-ring"] .placeholder
+ background-position-x: -7 * $itemSlotInnerWidth
+
+ &[data-slot="torso"] .placeholder
+ background-position-x: -8 * $itemSlotInnerWidth
+
+ &[data-slot="feet"] .placeholder
+ background-position-x: -9 * $itemSlotInnerWidth
+
+ &[data-slot="neck"] .placeholder
+ background-position-x: -10 * $itemSlotInnerWidth
+
+ &[data-slot="waist"] .placeholder
+ background-position-x: -11 * $itemSlotInnerWidth
+
+ &[data-slot="eyes"] .placeholder
+ background-position-x: -12 * $itemSlotInnerWidth
+
+ &[data-slot="head"] .placeholder
+ background-position-x: -13 * $itemSlotInnerWidth
+
+ &[data-slot="pet"] .placeholder
+ background-position-x: -14 * $itemSlotInnerWidth
+
+ &[data-slot="gloves"] .placeholder
+ background-position-x: -15 * $itemSlotInnerWidth
+
+ &[data-slot="left-hand"] .placeholder
+ background-position-x: -16 * $itemSlotInnerWidth
+
+ &[data-slot="right-hand"] .placeholder
+ background-position-x: -17 * $itemSlotInnerWidth
.item-container
position: absolute
diff --git a/app/styles/play/level/modal/victory.sass b/app/styles/play/level/modal/victory.sass
index 03e8a5108..b393e2d76 100644
--- a/app/styles/play/level/modal/victory.sass
+++ b/app/styles/play/level/modal/victory.sass
@@ -48,3 +48,11 @@
.modal-header
text-align: center
+
+body.ipad #level-victory-modal
+ .share-buttons
+ display: none
+
+ .modal-body
+ font-size: 30px
+ font-family: Bangers
diff --git a/app/styles/play/world-map-view.sass b/app/styles/play/world-map-view.sass
index 7d2eb7957..13b17e790 100644
--- a/app/styles/play/world-map-view.sass
+++ b/app/styles/play/world-map-view.sass
@@ -1,11 +1,13 @@
@import "app/styles/mixins"
@import "app/styles/bootstrap/variables"
+$mapHeight: 1536
$forestMapWidth: 2500
-$forestMapHeight: 1536
+$dungeonMapWidth: 2350
$forestMapSeaBackground: #71bad0
+$dungeonMapCaveBackground: rgb(54, 43, 34)
$levelDotWidth: 2%
-$levelDotHeight: $levelDotWidth * $forestMapWidth / $forestMapHeight
+$levelDotHeight: $levelDotWidth * $forestMapWidth / $mapHeight
$levelDotZ: $levelDotHeight * 0.25
$levelDotHoverZ: $levelDotZ * 2
$levelDotShadowWidth: 0.8 * $levelDotWidth
@@ -28,7 +30,12 @@ $gameControlMargin: 30px
#world-map-view
width: 100%
height: 100%
- background-color: $forestMapSeaBackground
+
+ &.forest
+ background-color: $forestMapSeaBackground
+
+ &.dungeon
+ background-color: $dungeonMapCaveBackground
.map
position: relative
@@ -40,6 +47,7 @@ $gameControlMargin: 30px
.level, .level-shadow
position: absolute
border-radius: 100%
+ -webkit-transform: scaleY(0.75)
transform: scaleY(0.75)
.level
diff --git a/app/templates/play/world-map-view.jade b/app/templates/play/world-map-view.jade
index 88523f2e4..727224800 100644
--- a/app/templates/play/world-map-view.jade
+++ b/app/templates/play/world-map-view.jade
@@ -1,5 +1,5 @@
.map
- img.map-background(src="/images/pages/play/map_forest.jpg", alt="")
+ img.map-background(src="/images/pages/play/map_" + mapType + ".jpg", alt="")
- var seenNext = false;
each campaign in campaigns
diff --git a/app/templates/teachers.jade b/app/templates/teachers.jade
index b2de5a0a0..2a5b5b2fb 100644
--- a/app/templates/teachers.jade
+++ b/app/templates/teachers.jade
@@ -14,6 +14,11 @@ block content
a(href="http://codecombat.com/play") play through the campaign
| to try it out, but the only thing you absolutely need to do to be ready is ensure students have access to a computer or iPad.
+ p
+ | The iPad version is not publicly available yet, but you can
+ a(href="https://www.youtube.com/watch?v=jgF4YuN7RBk&feature=youtu.be") see a preview video here
+ | .
+
p It is not necessary for teachers to be comfortable with computer science concepts for students to have fun learning with CodeCombat.
h3 Is it violent?
@@ -30,31 +35,30 @@ block content
ol
li Formal notation - builds an understanding of the importance of syntax in programming.
- li Calling functions - familiarizes students with parameter-less function calls.
- li Parameters - how to pass parameters to functions.
+ li Calling methods - familiarizes students with the syntax of object-oriented method calls.
+ li Parameters - trains how to pass parameters to functions.
li Strings - teaches students about string notation and passing strings as parameters.
- li Loops - the pros and cons of designing short programs with loops.
+ li Loops - develops the abstraction of designing short programs with loops.
- p Students may continue past level 12, depending on their speed and interest and learn 3 additional concepts in levels 12-20:
+ p Students may continue past level 12, depending on their speed and interest, to learn two additional concepts in levels 13-20:
ol
li Conditional logic - when and how to use if/else to control in-game outcomes.
- li Loop varieties - when and how to use the different types of loops.
- li Writing functions - creating and calling functions within other functions.
+ li Handling player input - responding to input events to create a user interface.
h3 System Requirements
- p Because CodeCombat is a game, it is more intensive for computers to run smoothly than video or written tutorials. Here are our suggestions for getting the most out of your Hour of Code experience:
+ p Because CodeCombat is a game, it is more intensive for computers to run smoothly than video or written tutorials. We are continually improving performance and expect to have the game running smoothly on older machines by December. That said, here are our suggestions for getting the most out of your Hour of Code experience:
p For mobile players:
ul
- li Use newer iPads if possible. Older iPads will work, but will play the game more slowly.
- li Allow players to wear headphones/earbuds to hear the audio. We help players learn through voiceover and sound effects which will make classrooms noisy and distracting.
+ li Use newer iPads if possible. Older iPads (iPad 2+) will work, but will play the game more slowly. The app requires iOS 8.
+ li Allow players to wear headphones/earbuds to hear the audio. We help players learn through voiceover and sound effects which will make classrooms noisy and distracting.
p For desktop and laptop players:
ul
li Use newer versions of Chrome or Firefox. Although CodeCombat will work on browsers as old as IE9, the performance is not as good.
li Use newer computers. Older computers, Chromebooks, and netbooks tend to have very few system resources, which makes for a less enjoyable experience.
- li Allow players to wear headphones/earbuds to hear the audio. We help players learn through voiceover and sound effects which will make classrooms noisy and distracting.
\ No newline at end of file
+ li Allow players to wear headphones/earbuds to hear the audio. We help players learn through voiceover and sound effects which will make classrooms noisy and distracting.
\ No newline at end of file
diff --git a/app/views/game-menu/InventoryView.coffee b/app/views/game-menu/InventoryView.coffee
index a406a8313..1380c93d8 100644
--- a/app/views/game-menu/InventoryView.coffee
+++ b/app/views/game-menu/InventoryView.coffee
@@ -103,7 +103,7 @@ module.exports = class InventoryView extends CocoView
for itemSlot in @$el.find '.item-slot'
slot = $(itemSlot).data 'slot'
- $(itemSlot).find('.placeholder').css('background-image', "url(/images/pages/game-menu/slot-#{slot}.png)")
+ #$(itemSlot).find('.placeholder').css('background-image', "url(/images/pages/game-menu/slot-#{slot}.png)")
do (slot) =>
$(itemSlot).droppable
drop: (e, ui) => @onAvailableItemDoubleClick()
diff --git a/app/views/play/WorldMapView.coffee b/app/views/play/WorldMapView.coffee
index 57e8df5b7..f4fe24876 100644
--- a/app/views/play/WorldMapView.coffee
+++ b/app/views/play/WorldMapView.coffee
@@ -4,6 +4,7 @@ LevelSession = require 'models/LevelSession'
CocoCollection = require 'collections/CocoCollection'
AudioPlayer = require 'lib/AudioPlayer'
PlayLevelModal = require 'views/play/modal/PlayLevelModal'
+ThangType = require 'models/ThangType'
class LevelSessionsCollection extends CocoCollection
url: ''
@@ -34,6 +35,7 @@ module.exports = class WorldMapView extends RootView
@getLevelPlayCounts()
$(window).on 'resize', @onWindowResize
@playAmbientSound()
+ @preloadTopHeroes()
destroy: ->
$(window).off 'resize', @onWindowResize
@@ -73,6 +75,7 @@ module.exports = class WorldMapView extends RootView
context.levelStatusMap = @levelStatusMap
context.levelPlayCountMap = @levelPlayCountMap
context.isIPadApp = application.isIPadApp
+ context.mapType = 'dungeon'
context
afterRender: ->
@@ -145,13 +148,13 @@ module.exports = class WorldMapView extends RootView
@$levelInfo.css('top', top)
onWindowResize: (e) =>
- forestMapWidth = 2401
- forestMapHeight = 1536
- aspectRatio = forestMapWidth / forestMapHeight
+ mapHeight = 1536
+ mapWidth = 2350 # 2500 for forest
+ aspectRatio = mapWidth / mapHeight
pageWidth = $(window).width()
pageHeight = $(window).height()
- widthRatio = pageWidth / forestMapWidth
- heightRatio = pageHeight / forestMapHeight
+ widthRatio = pageWidth / mapWidth
+ heightRatio = pageHeight / mapHeight
if widthRatio > heightRatio
resultingWidth = pageWidth
resultingHeight = resultingWidth / aspectRatio
@@ -164,8 +167,9 @@ module.exports = class WorldMapView extends RootView
playAmbientSound: ->
return if @ambientSound
- terrain = 'Grass'
- return unless file = {Dungeon: 'ambient-map-dungeon', Grass: 'ambient-map-grass'}[terrain]
+ #terrain = 'Grass'
+ terrain = 'Dungeon'
+ return unless file = {Dungeon: 'ambient-dungeon', Grass: 'ambient-map-grass'}[terrain]
src = "/file/interface/#{file}#{AudioPlayer.ext}"
unless AudioPlayer.getStatus(src)?.loaded
AudioPlayer.preloadSound src
@@ -174,6 +178,14 @@ module.exports = class WorldMapView extends RootView
@ambientSound = createjs.Sound.play src, loop: -1, volume: 0.1
createjs.Tween.get(@ambientSound).to({volume: 1.0}, 1000)
+ preloadTopHeroes: ->
+ for heroID in ['captain', 'knight']
+ url = "/db/thang.type/#{ThangType.heroes[heroID]}/version"
+ continue if @supermodel.getModel url
+ fullHero = new ThangType()
+ fullHero.setURL url
+ @supermodel.loadModel fullHero, 'thang'
+
tutorials = [
{
@@ -519,8 +531,8 @@ hero = [
id: 'dungeons-of-kithgard'
original: '528110f30268d018e3000001'
description: 'Grab the gem, but touch nothing else. Start here.'
- x: 17.23
- y: 36.94
+ x: 20.24
+ y: 32.93
}
{
name: 'Gems in the Deep'
@@ -529,8 +541,8 @@ hero = [
id: 'gems-in-the-deep'
original: '54173c90844506ae0195a0b4'
description: 'Quickly collect the gems; you will need them.'
- x: 22.6
- y: 35.1
+ x: 18.47
+ y: 49.78
}
{
name: 'Shadow Guard'
@@ -539,8 +551,8 @@ hero = [
id: 'shadow-guard'
original: '54174347844506ae0195a0b8'
description: 'Evade the Kithgard minion.'
- x: 27.74
- y: 35.17
+ x: 30.89
+ y: 61.30
}
{
name: 'True Names'
@@ -549,8 +561,8 @@ hero = [
id: 'true-names'
original: '541875da4c16460000ab990f'
description: 'Learn an enemy\'s true name to defeat it.'
- x: 32.7
- y: 36.7
+ x: 44.39
+ y: 57.39
}
{
name: 'The Raised Sword'
@@ -559,8 +571,8 @@ hero = [
id: 'the-raised-sword'
original: '5418aec24c16460000ab9aa6'
description: 'Learn to equip yourself for combat.'
- x: 36.6
- y: 39.5
+ x: 41.83
+ y: 41.74
}
{
name: 'The First Kithmaze'
@@ -569,8 +581,8 @@ hero = [
id: 'the-first-kithmaze'
original: '5418b9d64c16460000ab9ab4'
description: 'The builders of Kith constructed many mazes to confuse travelers.'
- x: 38.4
- y: 43.5
+ x: 57.39
+ y: 48.15
}
{
name: 'The Second Kithmaze'
@@ -579,8 +591,8 @@ hero = [
id: 'the-second-kithmaze'
original: '5418cf256bae62f707c7e1c3'
description: 'Many have tried, few have found their way through this maze.'
- x: 38.9
- y: 48.1
+ x: 61.72
+ y: 37.07
}
{
name: 'New Sight'
@@ -589,8 +601,8 @@ hero = [
id: 'new-sight'
original: '5418d40f4c16460000ab9ac2'
description: 'A true name can only be seen with the correct lenses.'
- x: 39.3
- y: 53.1
+ x: 55.54
+ y: 26.96
}
{
name: 'Lowly Kithmen'
@@ -599,8 +611,8 @@ hero = [
id: 'lowly-kithmen'
original: '541b24511ccc8eaae19f3c1f'
description: 'Use your glasses to seek out and attack the Kithmen.'
- x: 39.4
- y: 57.7
+ x: 70.53
+ y: 27.93
}
{
name: 'A Bolt in the Dark'
@@ -609,8 +621,8 @@ hero = [
id: 'a-bolt-in-the-dark'
original: '541b288e1ccc8eaae19f3c25'
description: 'Kithmen are not the only ones to stand in your way.'
- x: 40.0
- y: 63.2
+ x: 86.08
+ y: 40.76
}
{
name: 'The Final Kithmaze'
@@ -619,8 +631,8 @@ hero = [
id: 'the-final-kithmaze'
original: '541b434e1ccc8eaae19f3c33'
description: 'To escape you must find your way through an Elder Kithman\'s maze.'
- x: 42.67
- y: 67.98
+ x: 96.95
+ y: 58.15
}
{
name: 'Kithgard Gates'
@@ -629,9 +641,9 @@ hero = [
id: 'kithgard-gates'
original: '541c9a30c6362edfb0f34479'
description: 'Escape the Kithgard dungeons and don\'t let the guardians get you.'
- x: 47.38
- y: 70.55
disabled: true
+ x: 84.02
+ y: 72.39
}
{
name: 'Defence of Plainswood'
@@ -640,9 +652,9 @@ hero = [
id: 'defence-of-plainswood'
original: '541b67f71ccc8eaae19f3c62'
description: 'Protect the peasants from the pursuing ogres.'
- x: 52.66
- y: 69.66
disabled: true
+ x: 95.31
+ y: 88.26
}
#{
# name: ''
diff --git a/app/views/play/level/PlayLevelView.coffee b/app/views/play/level/PlayLevelView.coffee
index fb1796dc2..5f1efffb9 100644
--- a/app/views/play/level/PlayLevelView.coffee
+++ b/app/views/play/level/PlayLevelView.coffee
@@ -272,7 +272,7 @@ module.exports = class PlayLevelView extends RootView
@insertSubView new ChatView levelID: @levelID, sessionID: @session.id, session: @session
worldName = utils.i18n @level.attributes, 'name'
@controlBar = @insertSubView new ControlBarView {worldName: worldName, session: @session, level: @level, supermodel: @supermodel}
- _.delay (=> Backbone.Mediator.publish('level:set-debug', debug: true)), 5000 if @isIPadApp() # if me.displayName() is 'Nick'
+ #_.delay (=> Backbone.Mediator.publish('level:set-debug', debug: true)), 5000 if @isIPadApp() # if me.displayName() is 'Nick'
initVolume: ->
volume = me.get('volume')