Added some code for the glacier world.

This commit is contained in:
Nick Winter 2015-06-08 13:20:54 -07:00
parent fa273d7535
commit 4e08d453b7
10 changed files with 88 additions and 17 deletions

View file

@ -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

View file

@ -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()

View file

@ -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

View file

@ -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:

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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])

View file

@ -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()