mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-12-03 04:17:12 -05:00
Merge branch 'master' into production
This commit is contained in:
commit
1dab44f1bf
11 changed files with 93 additions and 22 deletions
|
@ -193,6 +193,16 @@ particleKinds =
|
|||
colorStart: hsl 0.56, 0.97, 0.5
|
||||
colorMiddle: hsl 0.56, 0.57, 0.5
|
||||
colorEnd: hsl 0.56, 0.17, 0.5
|
||||
'level-glacier-premium': ext defaults,
|
||||
emitter:
|
||||
colorStart: hsl 0.56, 0.97, 0.5
|
||||
colorMiddle: hsl 0.56, 0.57, 0.5
|
||||
colorEnd: hsl 0.56, 0.17, 0.5
|
||||
'level-volcano-premium': ext defaults,
|
||||
emitter:
|
||||
colorStart: hsl 0.56, 0.97, 0.5
|
||||
colorMiddle: hsl 0.56, 0.57, 0.5
|
||||
colorEnd: hsl 0.56, 0.17, 0.5
|
||||
|
||||
particleKinds['level-dungeon-premium-hero'] = ext particleKinds['level-dungeon-premium'],
|
||||
emitter:
|
||||
|
@ -344,3 +354,71 @@ particleKinds['level-mountain-replayable'] = particleKinds['level-mountain-repla
|
|||
colorStart: hsl 0.17, 0.75, 0.7
|
||||
colorMiddle: hsl 0.17, 0.75, 0.5
|
||||
colorEnd: hsl 0.17, 0.75, 0.3
|
||||
|
||||
particleKinds['level-glacier-premium-hero'] = ext particleKinds['level-glacier-premium'],
|
||||
emitter:
|
||||
particleCount: 200
|
||||
radius: 1.5
|
||||
acceleration: vec 0, 4, 0
|
||||
opacityStart: 0.25
|
||||
opacityMiddle: 0.5
|
||||
opacityEnd: 0.75
|
||||
|
||||
particleKinds['level-glacier-gate'] = ext particleKinds['level-glacier-premium'],
|
||||
emitter:
|
||||
particleCount: 120
|
||||
velocity: vec 0, 8, 0
|
||||
colorStart: hsl 0.56, 0.97, 0.3
|
||||
colorMiddle: hsl 0.56, 0.57, 0.3
|
||||
colorEnd: hsl 0.56, 0.17, 0.3
|
||||
colorStartSpread: vec 1, 1, 1
|
||||
colorMiddleSpread: vec 1.5, 1.5, 1.5
|
||||
colorEndSpread: vec 2.5, 2.5, 2.5
|
||||
|
||||
particleKinds['level-glacier-hero-ladder'] = ext particleKinds['level-glacier-premium'],
|
||||
emitter:
|
||||
particleCount: 90
|
||||
velocity: vec 0, 4, 0
|
||||
colorStart: hsl 0, 0.95, 0.3
|
||||
colorMiddle: hsl 0, 1, 0.5
|
||||
colorEnd: hsl 0, 0.75, 0.1
|
||||
|
||||
particleKinds['level-glacier-replayable'] = particleKinds['level-glacier-replayable-premium'] = ext particleKinds['level-glacier-hero-ladder'],
|
||||
emitter:
|
||||
colorStart: hsl 0.17, 0.75, 0.7
|
||||
colorMiddle: hsl 0.17, 0.75, 0.5
|
||||
colorEnd: hsl 0.17, 0.75, 0.3
|
||||
|
||||
particleKinds['level-volcano-premium-hero'] = ext particleKinds['level-volcano-premium'],
|
||||
emitter:
|
||||
particleCount: 200
|
||||
radius: 1.5
|
||||
acceleration: vec 0, 4, 0
|
||||
opacityStart: 0.25
|
||||
opacityMiddle: 0.5
|
||||
opacityEnd: 0.75
|
||||
|
||||
particleKinds['level-volcano-gate'] = ext particleKinds['level-volcano-premium'],
|
||||
emitter:
|
||||
particleCount: 120
|
||||
velocity: vec 0, 8, 0
|
||||
colorStart: hsl 0.56, 0.97, 0.3
|
||||
colorMiddle: hsl 0.56, 0.57, 0.3
|
||||
colorEnd: hsl 0.56, 0.17, 0.3
|
||||
colorStartSpread: vec 1, 1, 1
|
||||
colorMiddleSpread: vec 1.5, 1.5, 1.5
|
||||
colorEndSpread: vec 2.5, 2.5, 2.5
|
||||
|
||||
particleKinds['level-volcano-hero-ladder'] = ext particleKinds['level-volcano-premium'],
|
||||
emitter:
|
||||
particleCount: 90
|
||||
velocity: vec 0, 4, 0
|
||||
colorStart: hsl 0, 0.95, 0.3
|
||||
colorMiddle: hsl 0, 1, 0.5
|
||||
colorEnd: hsl 0, 0.75, 0.1
|
||||
|
||||
particleKinds['level-volcano-replayable'] = particleKinds['level-volcano-replayable-premium'] = ext particleKinds['level-volcano-hero-ladder'],
|
||||
emitter:
|
||||
colorStart: hsl 0.17, 0.75, 0.7
|
||||
colorMiddle: hsl 0.17, 0.75, 0.5
|
||||
colorEnd: hsl 0.17, 0.75, 0.3
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = class LankBoss extends CocoClass
|
|||
console.error 'Lank collision! Already have:', id if @lanks[id]
|
||||
@lanks[id] = lank
|
||||
@lankArray.push lank
|
||||
layer ?= @layerAdapters['Obstacle'] if lank.thang?.spriteName.search(/(dungeon|indoor).wall/i) isnt -1
|
||||
layer ?= @layerAdapters['Obstacle'] if lank.thang?.spriteName.search(/(dungeon|indoor|ice).wall/i) isnt -1
|
||||
layer ?= @layerForChild lank.sprite, lank
|
||||
layer.addLank lank
|
||||
layer.updateLayerOrder()
|
||||
|
@ -252,7 +252,7 @@ module.exports = class LankBoss extends CocoClass
|
|||
cacheObstacles: (updatedObstacles=null) ->
|
||||
return if @cachedObstacles and not updatedObstacles
|
||||
lankArray = @lankArray
|
||||
wallLanks = (lank for lank in lankArray when lank.thangType?.get('name').search(/(dungeon|indoor).wall/i) isnt -1)
|
||||
wallLanks = (lank for lank in lankArray when lank.thangType?.get('name').search(/(dungeon|indoor|ice).wall/i) isnt -1)
|
||||
return if _.any (s.stillLoading for s in wallLanks)
|
||||
walls = (lank.thang for lank in wallLanks)
|
||||
@world.calculateBounds()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
SpriteBuilder = require 'lib/sprites/SpriteBuilder'
|
||||
|
||||
floors = ['Dungeon Floor', 'Indoor Floor', 'Grass', 'Grass01', 'Grass02', 'Grass03', 'Grass04', 'Grass05', 'Goal Trigger', 'Obstacle', 'Sand 01', 'Sand 02', 'Sand 03', 'Sand 04', 'Sand 05', 'Sand 06', 'Talus 1', 'Talus 2', 'Talus 3', 'Talus 4', 'Talus 5', 'Talus 6']
|
||||
floors = ['Dungeon Floor', 'Indoor Floor', 'Grass', 'Grass01', 'Grass02', 'Grass03', 'Grass04', 'Grass05', 'Goal Trigger', 'Obstacle', 'Sand 01', 'Sand 02', 'Sand 03', 'Sand 04', 'Sand 05', 'Sand 06', 'Talus 1', 'Talus 2', 'Talus 3', 'Talus 4', 'Talus 5', 'Talus 6', 'Firn 1', 'Firn 2', 'Firn 3', 'Firn 4', 'Firn 5', 'Firn 6']
|
||||
|
||||
module.exports = class SingularSprite extends createjs.Sprite
|
||||
childMovieClips: null
|
||||
|
|
|
@ -634,9 +634,9 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
# how_much_5: "We accept discounted one-time purchases and yearly subscription purchases for groups, such as a class or school. Please contact"
|
||||
# how_much_6: "for more details."
|
||||
more_info_title: "Onde posso encontrar mais informação?"
|
||||
# more_info_1: "Our"
|
||||
# more_info_2: "teachers forum"
|
||||
# more_info_3: "is a good place to connect with fellow educators who are using CodeCombat."
|
||||
more_info_1: "O nosso"
|
||||
more_info_2: "fórum para professores"
|
||||
more_info_3: "é um bom sítio para te ligares a outros professores que também usam o CodeCombat."
|
||||
sys_requirements_title: "Requisitos do Sistema"
|
||||
sys_requirements_1: "Um navegador moderno. As versões mais recentes do Chrome, Firefox ou Safari. Internet Explorer 9 ou mais recente."
|
||||
sys_requirements_2: "O CodeCombat ainda não é suportado em iPad's."
|
||||
|
@ -654,9 +654,9 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
denied_2: "recusada"
|
||||
contact_1: "Por favor, contacta"
|
||||
contact_2: "se tiveres mais questões."
|
||||
description_1: "Oferecemos subscrições gratuitas a professores para efeitos de avaliação. Podes encontar mais informações na nossa página de"
|
||||
description_1: "Oferecemos subscrições gratuitas a professores para efeitos de avaliação. Na nossa página para"
|
||||
description_2: "professores"
|
||||
description_3: "."
|
||||
description_3: ", podes encontar muitas mais informações."
|
||||
description_4: "Por favor, preenche este pequeno inquérito e nós enviar-te-emos, por e-mail, as instruções de configuração."
|
||||
email: "Endereço de E-mail"
|
||||
school_city: "Nome da Escola, Cidade"
|
||||
|
|
|
@ -210,7 +210,7 @@ me.activity = me.object {description: 'Stats on an activity'},
|
|||
last: me.date()
|
||||
count: {type: 'integer', minimum: 0}
|
||||
|
||||
me.terrainString = me.shortString {enum: ['Grass', 'Dungeon', 'Indoor', 'Desert', 'Mountain'], title: 'Terrain', description: 'Which terrain type this is.'}
|
||||
me.terrainString = me.shortString {enum: ['Grass', 'Dungeon', 'Indoor', 'Desert', 'Mountain', 'Glacier', 'Volcano'], title: 'Terrain', description: 'Which terrain type this is.'}
|
||||
|
||||
me.HeroConfigSchema = me.object {description: 'Which hero the player is using, equipped with what inventory.'},
|
||||
inventory:
|
||||
|
|
|
@ -568,7 +568,7 @@ $gameControlMargin: 30px
|
|||
background-position: (-2 * $campaignWidth) 0
|
||||
&.mountain
|
||||
background-position: (-3 * $campaignWidth) 0
|
||||
&.ice
|
||||
&.glacier
|
||||
background-position: (-4 * $campaignWidth) 0
|
||||
&.volcano
|
||||
background-position: (-5 * $campaignWidth) 0
|
||||
|
|
|
@ -61,7 +61,7 @@ if campaign
|
|||
else
|
||||
.portal
|
||||
.portals
|
||||
for campaignSlug in ['dungeon', 'forest', 'desert', 'mountain', 'ice', 'volcano']
|
||||
for campaignSlug in ['dungeon', 'forest', 'desert', 'mountain', 'glacier', 'volcano']
|
||||
- var campaign = campaigns[campaignSlug];
|
||||
- var godmode = me.get('permissions', true).indexOf('godmode') != -1;
|
||||
div(class="campaign #{campaignSlug}" + (campaign ? "" : " silhouette") + (campaign && campaign.locked && !godmode ? " locked" : ""), data-campaign-slug=campaignSlug)
|
||||
|
|
|
@ -129,15 +129,8 @@ module.exports = class ClanDetailsView extends RootView
|
|||
campaignLevelProgression =
|
||||
ID: campaign.id
|
||||
slug: campaign.get('slug')
|
||||
name: campaign.get('name')
|
||||
name: campaign.get('fullName') or campaign.get('name')
|
||||
levels: []
|
||||
# TODO: Where do these proper names come from?
|
||||
campaignLevelProgression.name = switch
|
||||
when campaignLevelProgression.slug is 'dungeon' then 'Kithgard Dungeon'
|
||||
when campaignLevelProgression.slug is 'forest' then 'Backwoods Forest'
|
||||
when campaignLevelProgression.slug is 'desert' then 'Sarven Desert'
|
||||
when campaignLevelProgression.slug is 'mountain' then 'Cloudrip Mountain'
|
||||
else campaignLevelProgression.name
|
||||
for levelID, level of campaign.get('levels')
|
||||
campaignLevelProgression.levels.push
|
||||
ID: levelID
|
||||
|
|
|
@ -128,7 +128,7 @@ module.exports = class SystemsTabView extends CocoView
|
|||
@levelSystemEditView = null
|
||||
|
||||
onTerrainChanged: (e) ->
|
||||
defaultPathfinding = e.terrain in ['Dungeon', 'Indoor', 'Mountain']
|
||||
defaultPathfinding = e.terrain in ['Dungeon', 'Indoor', 'Mountain', 'Glacier', 'Volcano']
|
||||
changed = false
|
||||
if AI = @systemsTreema.get 'original=528110f30268d018e3000001'
|
||||
unless AI.config?.findsPaths is defaultPathfinding
|
||||
|
|
|
@ -540,7 +540,7 @@ module.exports = class ThangTypeEditView extends RootView
|
|||
@lastKind = kind
|
||||
Backbone.Mediator.publish 'editor:thang-type-kind-changed', kind: kind
|
||||
if kind in ['Doodad', 'Floor', 'Wall'] and not @treema.data.terrains
|
||||
@treema.set '/terrains', ['Grass', 'Dungeon', 'Indoor', 'Desert', 'Mountain'] # So editors know to set them.
|
||||
@treema.set '/terrains', ['Grass', 'Dungeon', 'Indoor', 'Desert', 'Mountain', 'Glacier', 'Volcano'] # So editors know to set them.
|
||||
if not @treema.data.tasks
|
||||
@treema.set '/tasks', (name: t for t in defaultTasks[kind])
|
||||
|
||||
|
|
|
@ -491,7 +491,7 @@ module.exports = class CampaignView extends RootView
|
|||
|
||||
onWindowResize: (e) =>
|
||||
mapHeight = iPadHeight = 1536
|
||||
mapWidth = {dungeon: 2350, forest: 2500, auditions: 2500, desert: 2350, mountain: 2422}[@terrain] or 2350
|
||||
mapWidth = {dungeon: 2350, forest: 2500, auditions: 2500, desert: 2350, mountain: 2422, glacier: 2421}[@terrain] or 2350
|
||||
aspectRatio = mapWidth / mapHeight
|
||||
pageWidth = @$el.width()
|
||||
pageHeight = @$el.height()
|
||||
|
|
Loading…
Reference in a new issue