Conflicts:
	server/routes/mail.coffee
This commit is contained in:
Michael Schmatz 2014-07-18 11:07:11 -07:00
commit 8c3613dfc7
94 changed files with 479 additions and 132 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

View file

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -82,7 +82,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
if @thangType.isFullyLoaded()
@setupSprite()
else
@thangType.fetch()
@thangType.fetch() unless @thangType.loading
@listenToOnce(@thangType, 'sync', @setupSprite)
setupSprite: ->
@ -442,7 +442,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
console.warn 'Cannot show action', action, 'for', @thangType.get('name'), 'because it DNE' unless @warnedFor[action]
@warnedFor[action] = true
return if @action is 'idle' then null else 'idle'
action = 'break' if @actions.break? and @thang?.erroredOut
#action = 'break' if @actions.break? and @thang?.erroredOut # This makes it looks like it's dead when it's not: bad in Brawlwood.
action = 'die' if @actions.die? and thang?.health? and thang.health <= 0
@actions[action]

View file

@ -115,7 +115,8 @@ module.exports = Surface = class Surface extends CocoClass
setWorld: (@world) ->
@worldLoaded = true
@world.getFrame(Math.min(@getCurrentFrame(), @world.totalFrames - 1)).restoreState() unless @options.choosing
lastFrame = Math.min(@getCurrentFrame(), @world.totalFrames - 1)
@world.getFrame(lastFrame).restoreState() unless @options.choosing
@spriteBoss.world = @world
@showLevel()
@ -241,7 +242,7 @@ module.exports = Surface = class Surface extends CocoClass
@onFrameChanged()
getCurrentFrame: ->
return Math.max(0, Math.min(Math.floor(@currentFrame), @world.totalFrames - 1))
return Math.max(0, Math.min(Math.floor(@currentFrame), @world.frames.length - 1))
getProgress: -> @currentFrame / @world.totalFrames

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "български език", englishDescri
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Избери своето ниво"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
for_beginners: "Per a principiants"
multiplayer: "Multijugador"
for_developers: "Per a Desenvolupadors"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Escull el teu nivell"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Zvolte si úroveň"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
for_beginners: "For Begyndere"
multiplayer: "Multiplayer"
for_developers: "For Udviklere"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Vælg Dit Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
for_beginners: "Für Afänger"
multiplayer: "Multiplayer"
for_developers: "Für Entwickler"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Wähl dis Level us"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
for_beginners: "Für Anfänger"
multiplayer: "Mehrspieler"
for_developers: "Für Entwickler"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Wähle dein Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
for_beginners: "Für Anfänger"
multiplayer: "Mehrspieler"
for_developers: "Für Entwickler"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Wähle dein Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
for_beginners: "Για αρχάριους"
# multiplayer: "Multiplayer"
for_developers: "Για προγραμματιστές"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Διάλεξε την πίστα σου"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@
for_beginners: "For Beginners"
multiplayer: "Multiplayer"
for_developers: "For Developers"
javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
coffeescript_blurb: "Nicer JavaScript syntax."
clojure_blurb: "A modern Lisp."
lua_blurb: "Game scripting language."
io_blurb: "Simple but obscure."
play:
choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
for_beginners: "Para Principiantes"
multiplayer: "Multijugador"
for_developers: "Para Desarrolladores"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Elige tu nivel"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
for_beginners: "Para principiantes"
multiplayer: "Multijugador"
for_developers: "Para programadores"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Elige tu nivel"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
for_beginners: "Para principiantes"
multiplayer: "Multijugador"
for_developers: "Para desarrolladores"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Elige tu nivel"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "مرحله خود را انتخاب کنید"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
for_beginners: "Pour débutants"
multiplayer: "Multijoueurs"
for_developers: "Pour développeurs"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Choisissez votre niveau"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
for_beginners: "למתחילים"
multiplayer: "רב-משתתפים"
for_developers: "למומחים"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "בחר את השלב"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
for_beginners: "Kezdőknek"
# multiplayer: "Multiplayer"
for_developers: "Fejlesztőknek"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Válaszd ki a pályát!"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
for_beginners: "Per Principianti"
# multiplayer: "Multiplayer"
for_developers: "Per Sviluppatori"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Scegli il tuo livello"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
for_beginners: "初心者向け"
multiplayer: "マルチプレイヤー"
for_developers: "開発者向け"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "レベル選択"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
for_beginners: "초보자용"
multiplayer: "멀티플레이어"
for_developers: "개발자용"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "레벨을 선택하세요."

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Velg Ditt Nivå"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
for_beginners: "Voor Beginners"
multiplayer: "Multiplayer"
for_developers: "Voor ontwikkelaars"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Kies Je Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
for_beginners: "Voor Beginners"
multiplayer: "Multiplayer"
for_developers: "Voor ontwikkelaars"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Kies Je Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
for_beginners: "Voor Beginners"
multiplayer: "Multiplayer"
for_developers: "Voor ontwikkelaars"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Kies Je Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Velg Ditt Nivå"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
for_beginners: "Dla początkujących"
# multiplayer: "Multiplayer"
for_developers: "Dla developerów"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Wybierz poziom"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
for_beginners: "Para Iniciantes"
multiplayer: "Multijogador"
for_developers: "Para Desenvolvedores"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Escolha seu estágio"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
for_beginners: "Para Iniciantes"
multiplayer: "Multijogador"
for_developers: "Para Programadores"
# javascript_blurb: "A linguagem da web. Ótima para escrever websites, aplicações da web, jogos HTML5 e servidores."
# python_blurb: "Simples mas poderoso, o Python é uma linguagem de programação ótima para propósitos gerais."
# coffeescript_blurb: "Sintaxe do Javascript mais agradável."
# clojure_blurb: "Um Lisp moderno"
# lua_blurb: "Linguagem para scripts de jogos"
# io_blurb: "Simples mas obscuro"
play:
choose_your_level: "Escolha o Seu Nível"
@ -186,7 +192,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
error_saving: "Erro ao Guardar"
saved: "Alterações Guardadas"
password_mismatch: "As palavras-passe não coincidem."
# password_repeat: "Please repeat your password."
password_repeat: "Por favor repita a sua palavra-passe."
job_profile: "Perfil de Emprego"
job_profile_approved: "O seu perfil de emprego foi aprovado pelo CodeCombat. Os empregadores poderão vê-lo até que o defina como inativo ou não o tenha alterado à 4 semanas."
job_profile_explanation: "Olá! Preencha isto e entraremos em contacto consigo sobre encontrar um emprego de desenvolvedor de software para si."
@ -327,7 +333,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
# make_hiring_easier: "Make my hiring easier, please."
what: "O que é o CodeCombat?"
what_blurb: "O CodeCombat é um jogo de programação, no navegador e multijogador. Os jogadores escrevem código para controlar as forças deles em batalha contra outros desenvolvedores. Nós suportamos JavaScript, Python, Lua, Clojure, CoffeeScript e Io."
what_blurb: "O CodeCombat é um jogo de programação, no navegador e multijogador. Os jogadores escrevem código para controlar as forças deles em batalha contra outros desenvolvedores. Os nossos jogadores têm experiência com todos os conceitos tecnológicos principais."
cost: "Quanto é que cobramos?"
cost_blurb: "Cobramos 15% do salário do primeiro ano e ofereçemos uma garantia de devolução de 100% do dinheiro durante 90 dias. Não cobramos por candidatos que já estejam a ser ativamente entrevistados na sua companhia."
candidate_name: "Nome"
@ -503,13 +509,13 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
pick_a_terrain: "Escolha Um Terreno"
small: "Pequeno"
grassy: "Com Relva"
# fork_title: "Fork New Version"
# fork_creating: "Creating Fork..."
fork_title: "Bifurcar Nova Versão"
fork_creating: "A Criar Bifurcação..."
# randomize: "Randomize"
# more: "More"
# wiki: "Wiki"
# live_chat: "Live Chat"
level_some_options: "Algumas opções?"
more: "Mais"
wiki: "Wiki"
live_chat: "Chat Ao Vivo"
level_some_options: "Algumas Opções?"
level_tab_thangs: "Thangs"
level_tab_scripts: "Scripts"
level_tab_settings: "Configurações"
@ -522,19 +528,19 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# delete: "Delete"
# duplicate: "Duplicate"
level_settings_title: "Configurações"
level_component_tab_title: "Componentes atuais"
level_component_btn_new: "Cria um novo Componente"
level_systems_tab_title: "Sistemas atuais"
level_systems_btn_new: "Cria um novo Sistema"
level_systems_btn_add: "Adiciona um Sistema"
level_component_tab_title: "Componentes Atuais"
level_component_btn_new: "Criar Novo Componente"
level_systems_tab_title: "Sistemas Atuais"
level_systems_btn_new: "Cria Novo Sistema"
level_systems_btn_add: "Adicionar Sistema"
level_components_title: "Voltar para Todos os Thangs"
level_components_type: "Tipo"
level_component_edit_title: "Editar Componente"
# level_component_config_schema: "Config Schema"
level_component_settings: "Configurações"
level_system_edit_title: "Editar Sistema"
create_system_title: "Criar novo Sistema"
new_component_title: "Criar novo Componente"
create_system_title: "Criar Novo Sistema"
new_component_title: "Criar Novo Componente"
new_component_field_system: "Sistema"
new_article_title: "Criar um Novo Artigo"
new_thang_title: "Criar um Novo Tipo de Thang"
@ -559,20 +565,20 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
name: "Nome"
body: "Corpo"
version: "Versão"
commit_msg: "Mensagem de Commit"
# version_history: "Version History"
version_history_for: "Histórico de versões por: "
commit_msg: "Enviar Mensagem"
version_history: "Histórico de Versões"
version_history_for: "Histórico de Versões para: "
result: "Resultado"
results: "Resultados"
description: "Descrição"
or: "ou"
# subject: "Subject"
subject: "Assunto"
email: "E-mail"
password: "Palavra-passe"
message: "Mensagem"
code: "Código"
ladder: "Classificação"
when: "quando"
when: "Quando"
opponent: "Adversário"
rank: "Classificação"
score: "Resultado"
@ -768,17 +774,17 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
ambassador_title_description: "(Suporte)"
ladder:
please_login: "Por favor, faz log in antes de jogar um jogo para o campeonato."
my_matches: "Os meus jogos"
please_login: "Por favor inicie sessão antes de jogar um jogo do campeonato."
my_matches: "Os Meus Jogos"
simulate: "Simular"
simulation_explanation: "Simulando jogos podes fazer com que o teu jogo seja classificado mais rapidamente!"
simulation_explanation: "Ao simular jogos pode ter o seu jogo classificado mais rapidamente!"
simulate_games: "Simular Jogos!"
# simulate_all: "RESET AND SIMULATE GAMES"
# games_simulated_by: "Games simulated by you:"
# games_simulated_for: "Games simulated for you:"
# games_simulated: "Games simulated"
# games_played: "Games played"
# ratio: "Ratio"
games_simulated_by: "Jogos simulados por si:"
games_simulated_for: "Jogos simulados para si:"
games_simulated: "Jogos simulados"
games_played: "Jogos jogados"
ratio: "Rácio"
leaderboard: "Tabela de Classificação"
battle_as: "Lutar como "
summary_your: "As tuas "
@ -868,29 +874,29 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# server_error: "Server error."
# unknown: "Unknown error."
# resources:
# your_sessions: "Your Sessions"
# level: "Level"
resources:
your_sessions: "As Suas Sessões"
level: "vel"
# social_network_apis: "Social Network APIs"
# facebook_status: "Facebook Status"
# facebook_friends: "Facebook Friends"
facebook_friends: "Amigos do Facebook"
# facebook_friend_sessions: "Facebook Friend Sessions"
# gplus_friends: "G+ Friends"
gplus_friends: "Amigos do Google+"
# gplus_friend_sessions: "G+ Friend Sessions"
# leaderboard: "Leaderboard"
leaderboard: "Tabela de Classificação"
# user_schema: "User Schema"
# user_profile: "User Profile"
# patches: "Patches"
# patched_model: "Source Document"
# model: "Model"
# system: "System"
# component: "Component"
# components: "Components"
# thang: "Thang"
# thangs: "Thangs"
# level_session: "Your Session"
# opponent_session: "Opponent Session"
# article: "Article"
system: "Sistema"
component: "Componente"
components: "Componentes"
thang: "Thang"
thangs: "Thangs"
level_session: "A Sua Sessão"
opponent_session: "Sessão Do Oponente"
article: "Artigo"
# user_names: "User Names"
# thang_names: "Thang Names"
# files: "Files"
@ -900,7 +906,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
# user_remark: "User Remark"
# versions: "Versions"
versions: "Versões"
# delta:
# added: "Added"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Escolha seu estágio"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
for_beginners: "Pentru Începători"
multiplayer: "Multiplayer"
for_developers: "Pentru dezvoltatori"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Alege nivelul"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
for_beginners: "Новичкам"
multiplayer: "Мультиплеер"
for_developers: "Разработчикам"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Выберите ваш уровень"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
for_beginners: "Pre začiatočníkov"
# multiplayer: "Multiplayer"
for_developers: "Pre vývojárov"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Vyber si úroveň"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Изабери ниво"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
for_beginners: "För nybörjare"
multiplayer: "Flera spelare"
for_developers: "För utvecklare"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Välj din nivå"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
for_beginners: "Yeni Başlayanlar için"
multiplayer: "Çoklu-oyuncu Modu"
for_developers: "Geliştiriciler için"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Seviye Seçimi"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "українська мова", englishDesc
for_beginners: "Для новачків"
multiplayer: "Командна гра"
for_developers: "Для розробників"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Оберіть свій рівень"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "Chọn Trình của bạn"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
for_beginners: "适合初学者"
multiplayer: "多人游戏"
for_developers: "适合开发者"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "选择关卡"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "選取關卡"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
# play:
# choose_your_level: "Choose Your Level"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
for_beginners: "適合學起頭個人"
multiplayer: "聚隊打遊戲"
for_developers: "適合開發個人"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "揀關數"

View file

@ -100,6 +100,12 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
play:
choose_your_level: "选取难度"

View file

@ -15,8 +15,11 @@
.doc-name
color: rgb(139, 69, 19)
.index-column
width: 25%
.documentation-column
width: 75%
.specialList
list-style-type: none

View file

@ -167,6 +167,10 @@
h2
margin: 15px 0 5px
p
overflow: hidden
height: 40px
.secondary-code-languages
margin-left: -10px
@ -201,17 +205,22 @@
margin: 0
padding: 0
p
white-space: nowrap
text-overflow: ellipsis
overflow: hidden
#coffeescript .code-language-logo
background: transparent url(/images/pages/home/language_logo_coffeescript.png) no-repeat center
background: transparent url(/images/common/code_languages/coffeescript_small.png) no-repeat center
#clojure .code-language-logo
background: transparent url(/images/pages/home/language_logo_clojure.png) no-repeat center
background: transparent url(/images/common/code_languages/clojure_small.png) no-repeat center
#lua .code-language-logo
background: transparent url(/images/pages/home/language_logo_lua.png) no-repeat center
background: transparent url(/images/common/code_languages/lua_small.png) no-repeat center
#io .code-language-logo
background: transparent url(/images/pages/home/language_logo_io.png) no-repeat center
background: transparent url(/images/common/code_languages/io_small.png) no-repeat center
#multiplayer-launch-modal

View file

@ -53,6 +53,5 @@
.code-language-cell
padding: 0 10px
background: transparent url(/images/pages/home/language_logo_javascript.png) no-repeat center center
background-size: contain
height: 19px
background: transparent url(/images/common/code_languages/javascript_icon.png) no-repeat center center
height: 16px

View file

@ -40,6 +40,5 @@
.code-language-cell
padding: 0 10px
background: transparent url(/images/pages/home/language_logo_javascript.png) no-repeat center center
background-size: contain
height: 19px
background: transparent url(/images/common/code_languages/javascript_icon.png) no-repeat center center
height: 16px

View file

@ -98,12 +98,12 @@
.code-language
position: absolute
background: transparent url(/images/pages/home/language_logo_javascript.png) no-repeat center center
background: transparent url(/images/common/code_languages/javascript_small.png) no-repeat center center
background-size: contain
width: 40px
height: 40px
right: -5px
top: -15px
width: 50px
height: 50px
right: -0px
top: -30px
display: block
.my-name

View file

@ -70,10 +70,10 @@
.code-language-logo
position: absolute
width: 20px
height: 20px
left: 12px
top: 34px
width: 16px
height: 16px
left: 16px
top: 36px
z-index: 10
background-color: transparent
background-repeat: no-repeat
@ -81,21 +81,27 @@
cursor: pointer
&.javascript
background-image: url(/images/pages/home/language_logo_javascript.png)
background-image: url(/images/common/code_languages/javascript_icon.png)
&.python
background-image: url(/images/pages/home/language_logo_python.png)
background-image: url(/images/common/code_languages/python_icon.png)
&.coffeescript
background-image: url(/images/pages/home/language_logo_coffeescript.png)
background-image: url(/images/common/code_languages/coffeescript_icon.png)
&.clojure
background-image: url(/images/pages/home/language_logo_clojure.png)
background-image: url(/images/common/code_languages/clojure_icon.png)
&.lua
background-image: url(/images/pages/home/language_logo_lua.png)
background-image: url(/images/common/code_languages/lua_icon.png)
&.io
background-image: url(/images/pages/home/language_logo_io.png)
background-image: url(/images/common/code_languages/io_icon.png)
&:hover
outline: 1px outset #ccc
&:active
outline: 1px inset #ccc
html.no-borderimage
#spell-palette-view
span.code-palette-background
display: none
img.code-palette-background
display: block
display: block

View file

@ -26,8 +26,8 @@ block content
li(id="#{component.get('name')}#{doc.name}")
| #{doc.name}
ul.specialList
if doc.description[language.substring(1,language.length-1)]
li!=marked(doc.description[language.substring(1,language.length-1)])
if doc.description[language]
li!=marked(doc.description[language])
else
li!=marked(doc.description)

View file

@ -10,14 +10,14 @@ block content
.code-language#javascript(data-code-language='javascript')
.code-wizard
h2 JavaScript
p The language of the web. Great for writing websites, web apps, HTML5 games, and servers.
p(data-i18n="home.javascript_blurb") The language of the web. Great for writing websites, web apps, HTML5 games, and servers.
.col-md-6
.code-language.beta#python(data-code-language='python')
.code-wizard
.code-language-beta
h2 Python
p Simple yet powerful, Python is a great general purpose programming language.
p(data-i18n="home.python_blurb") Simple yet powerful, Python is a great general purpose programming language.
.secondary-code-languages.row
.col-md-3
@ -26,7 +26,7 @@ block content
.code-wizard
.code-language-beta
h3 CoffeeScript
p Nicer JavaScript syntax
p(data-i18n="home.coffeescript_blurb") Nicer JavaScript syntax.
.col-md-3
.code-language.beta#clojure(data-code-language='clojure')
@ -34,7 +34,7 @@ block content
.code-wizard
.code-language-beta
h3 Clojure
p A modern Lisp
p(data-i18n="home.clojure_blurb") A modern Lisp.
.col-md-3
.code-language.beta#lua(data-code-language='lua')
@ -42,7 +42,7 @@ block content
.code-wizard
.code-language-beta
h3 Lua
p Game scripting language
p(data-i18n="home.lua_blurb") Game scripting language.
.col-md-3
.code-language.beta#io(data-code-language='io', title="Careful: Io is still quite buggy")
@ -50,7 +50,7 @@ block content
.code-wizard
.code-language-beta
h3 Io
p Simple but obscure
p(data-i18n="home.io_blurb") Simple but obscure.
.alert.alert-danger.lt-ie10
strong(data-i18n="home.no_ie") CodeCombat does not run in Internet Explorer 9 or older. Sorry!

View file

@ -21,7 +21,7 @@ div#columns.row
for session, rank in topSessions
- var myRow = session.get('creator') == me.id
tr(class=myRow ? "success" : "", data-player-id=session.get('creator'), data-session-id=session.id)
td.code-language-cell(style="background-image: url(/images/pages/home/language_logo_" + session.get('submittedCodeLanguage') + ".png)")
td.code-language-cell(style="background-image: url(/images/common/code_languages/" + session.get('submittedCodeLanguage') + "_icon.png)")
td.rank-cell= rank + 1
td.score-cell= Math.round(session.get('totalScore') * 100)
td.name-col-cell= session.get('creatorName') || "Anonymous"
@ -35,7 +35,7 @@ div#columns.row
for session in team.leaderboard.nearbySessions()
- var myRow = session.get('creator') == me.id
tr(class=myRow ? "success" : "", data-player-id=session.get('creator'), data-session-id=session.id)
td.code-language-cell(style="background-image: url(/images/pages/home/language_logo_" + session.get('submittedCodeLanguage') + ".png)")
td.code-language-cell(style="background-image: url(/images/common/code_languages/" + session.get('submittedCodeLanguage') + "_icon.png)")
td.rank-cell= session.rank
td.score-cell= Math.round(session.get('totalScore') * 100)
td.name-col-cell= session.get('creatorName') || "Anonymous"

View file

@ -39,7 +39,7 @@ div#columns.row
span(data-i18n="general.loss").loss Loss
if match.state === 'tie'
span(data-i18n="general.tie").tie Tie
td.code-language-cell(style="background-image: url(/images/pages/home/language_logo_" + match.codeLanguage + ".png)")
td.code-language-cell(style="background-image: url(/images/common/code_languages/" + match.codeLanguage + "_icon.png)")
td.name-cell= match.opponentName || "Anonymous"
td.time-cell= match.when
td.battle-cell

View file

@ -33,7 +33,7 @@ block modal-body-content
span= myName
div.opponent-name.name-label
span(data-i18n="ladder.simple_ai") Simple AI
//span.code-language(style="background-image: url(/images/pages/home/language_logo_javascript.png)")
//span.code-language(style="background-image: url(/images/common/code_languages/javascript_small.png)")
div.difficulty
span(data-i18n="ladder.warmup") Warmup
div(data-i18n="ladder.vs").vs VS
@ -50,7 +50,7 @@ block modal-body-content
div.opponent-name.name-label
span= challengers.easy.opponentName
if challengers.easy.codeLanguage
span.code-language(style="background-image: url(/images/pages/home/language_logo_" + challengers.easy.codeLanguage + ".png)")
span.code-language(style="background-image: url(/images/common/code_languages/" + challengers.easy.codeLanguage + "_small.png)")
div.difficulty
span(data-i18n="general.easy") Easy
div(data-i18n="ladder.vs").vs VS
@ -67,7 +67,7 @@ block modal-body-content
div.opponent-name.name-label
span= challengers.medium.opponentName
if challengers.medium.codeLanguage
span.code-language(style="background-image: url(/images/pages/home/language_logo_" + challengers.medium.codeLanguage + ".png)")
span.code-language(style="background-image: url(/images/common/code_languages/" + challengers.medium.codeLanguage + "_small.png)")
div.difficulty
span(data-i18n="general.medium") Medium
div(data-i18n="ladder.vs").vs VS
@ -84,7 +84,7 @@ block modal-body-content
div.opponent-name.name-label
span= challengers.hard.opponentName
if challengers.hard.codeLanguage
span.code-language(style="background-image: url(/images/pages/home/language_logo_" + challengers.hard.codeLanguage + ".png)")
span.code-language(style="background-image: url(/images/common/code_languages/" + challengers.hard.codeLanguage + "_small.png)")
div.difficulty
span(data-i18n="general.hard") Hard
div(data-i18n="ladder.vs").vs VS

View file

@ -34,5 +34,5 @@ module.exports = class UnnamedView extends RootView
if (me.get('aceConfig')?.language?) is false
c.language = 'javascript'
else
c.language = JSON.stringify(me.get('aceConfig').language)
c.language = me.get('aceConfig').language
c

View file

@ -40,7 +40,7 @@ module.exports = class EditorLevelView extends View
constructor: (options, @levelID) ->
super options
@supermodel.shouldSaveBackups = (model) ->
model.constructor.className in ['Level', 'LevelComponent', 'LevelSystem']
model.constructor.className in ['Level', 'LevelComponent', 'LevelSystem', 'ThangType']
@levelLoader = new LevelLoader supermodel: @supermodel, levelID: @levelID, headless: true, editorMode: true
@level = @levelLoader.level
@files = new DocumentFiles(@levelLoader.level)

View file

@ -52,7 +52,7 @@ module.exports = class HomeView extends View
@updateLanguageLogos codeLanguage
updateLanguageLogos: (codeLanguage) ->
@$el.find('.game-mode-wrapper .code-language-logo').css('background-image', "url(/images/pages/home/language_logo_#{codeLanguage}.png)").toggleClass 'inverted', (codeLanguage in ['io', 'coffeescript'])
@$el.find('.game-mode-wrapper .code-language-logo').css('background-image', "url(/images/common/code_languages/#{codeLanguage}_small.png)").toggleClass 'inverted', (codeLanguage in ['io', 'coffeescript'])
onCodeLanguageSelected: (e) ->
target = $(e.target).closest('.code-language')

View file

@ -84,8 +84,9 @@ module.exports = class PlayLevelView extends View
@saveScreenshot = _.throttle @saveScreenshot, 30000
if @isEditorPreview
# wait to see if it's just given to us through setLevel
f = => @load() unless @levelLoader
@supermodel.shouldSaveBackups = (model) -> # Make sure to load possibly changed things from localStorage.
model.constructor.className in ['Level', 'LevelComponent', 'LevelSystem', 'ThangType']
f = => @load() unless @levelLoader # Wait to see if it's just given to us through setLevel.
setTimeout f, 100
else
@load()

View file

@ -117,7 +117,7 @@ module.exports = class PlayView extends View
difficulty: 2
id: 'emphasis-on-aim'
image: '/file/db/level/525f384d96cd77000000000f/munchkin_masher_icon.png'
description: 'Chose your targets carefully.'
description: 'Choose your targets carefully.'
}
{
name: 'Zone of Danger'

View file

@ -9,15 +9,15 @@ LevelSession = require '../levels/sessions/LevelSession'
Level = require '../levels/Level'
log = require 'winston'
sendwithus = require '../sendwithus'
if config.isProduction
if config.isProduction and config.redis.host isnt 'localhost'
lockManager = require '../commons/LockManager'
module.exports.setup = (app) ->
app.all config.mail.mailchimpWebhook, handleMailchimpWebHook
app.get '/mail/cron/ladder-update', handleLadderUpdate
if lockManager
setupScheduledEmails()
setupScheduledEmails = ->
testForLockManager()
mailTasks = [
@ -35,15 +35,14 @@ setupScheduledEmails = ->
]
for mailTask in mailTasks
setInterval mailTask.taskFunction, mailTask.frequencyMs
testForLockManager = -> unless lockManager then throw "The system isn't configured to do distributed locking!"
### Approved Candidate Update Reminder Task ###
setInterval mailTask.taskFunction, mailTask.frequencyMs
testForLockManager = -> unless lockManager then throw "The system isn't configured to do distributed locking!"
### Approved Candidate Update Reminder Task ###
candidateUpdateProfileTask = ->
mailTaskName = "candidateUpdateProfileTask"
lockDurationMs = 2 * 60 * 1000
lockDurationMs = 2 * 60 * 1000
currentDate = new Date()
timeRanges = []
for weekPair in [[4, 2,'two weeks'], [8, 4, 'four weeks'], [52, 8, 'eight weeks']]
@ -70,12 +69,12 @@ emailTimeRange = (timeRange, emailTimeRangeCallback) ->
"mailTaskName": @mailTaskName
async.waterfall [
findAllCandidatesWithinTimeRange.bind(waterfallContext)
(unfilteredCandidates, cb) ->
(unfilteredCandidates, cb) ->
async.reject unfilteredCandidates, candidateFilter.bind(waterfallContext), cb.bind(null, null)
(filteredCandidates, cb) ->
async.each filteredCandidates, sendReminderEmailToCandidate.bind(waterfallContext), cb
], emailTimeRangeCallback
findAllCandidatesWithinTimeRange = (cb) ->
findParameters =
"jobProfile.updated":
@ -84,7 +83,7 @@ findAllCandidatesWithinTimeRange = (cb) ->
"jobProfileApproved": true
selection = "_id email jobProfile.name jobProfile.updated emails" #make sure to check for anyNotes too.
User.find(findParameters).select(selection).lean().exec cb
candidateFilter = (candidate, sentEmailFilterCallback) ->
if candidate.emails?.anyNotes?.enabled is false or candidate.emails?.recruitNotes?.enabled is false
return sentEmailFilterCallback true
@ -106,7 +105,7 @@ findEmployersSignedUpAfterDate = (dateObject, cb) ->
employerAt: {$exists: true}
permissions: "employer"
User.count countParameters, cb
sendReminderEmailToCandidate = (candidate, sendEmailCallback) ->
findEmployersSignedUpAfterDate new Date(candidate.jobProfile.updated), (err, employersAfterCount) =>
if err?
@ -236,7 +235,7 @@ sendReminderEmailToUnapprovedCandidate = (candidate, sendEmailCallback) ->
### Internal Candidate Update Reminder Email ###
internalCandidateUpdateTask = ->
mailTaskName = "internalCandidateUpdateTask"
lockDurationMs = 2 * 60 * 1000
lockDurationMs = 2 * 60 * 1000
lockManager.setLock mailTaskName, lockDurationMs, (err) ->
if err? then return log.error "Error getting a distributed lock for task #{mailTaskName}: #{err}"
emailInternalCandidateUpdateReminder.call {"mailTaskName":mailTaskName}, (err) ->
@ -262,31 +261,31 @@ emailInternalCandidateUpdateReminder = (internalCandidateUpdateReminderCallback)
(filteredCandidates, cb) ->
async.each filteredCandidates, sendInternalCandidateUpdateReminder.bind(asyncContext), cb
], internalCandidateUpdateReminderCallback
findNonApprovedCandidatesWhoUpdatedJobProfileToday = (cb) ->
findParameters =
findParameters =
"jobProfile.updated":
$lte: @currentTime.toISOString()
$gt: @beginningOfUTCDay.toISOString()
"jobProfileApproved": false
"jobProfileApproved": false
User.find(findParameters).select("_id jobProfile.name jobProfile.updated").lean().exec cb
candidatesUpdatedTodayFilter = (candidate, cb) ->
findParameters =
"user": candidate._id
"mailTask": @mailTaskName
"metadata.beginningOfUTCDay": @beginningOfUTCDay
"metadata.beginningOfUTCDay": @beginningOfUTCDay
MailSent.find(findParameters).lean().exec (err, sentMail) ->
if err?
log.error "Error finding mail sent for task #{@mailTaskName} and user #{candidate._id}!"
cb true
else
cb Boolean(sentMail.length)
sendInternalCandidateUpdateReminder = (candidate, cb) ->
context =
email_id: "tem_Ac7nhgKqatTHBCgDgjF5pE"
recipient:
recipient:
address: "team@codecombat.com"
name: "The CodeCombat Team"
email_data:
@ -297,7 +296,7 @@ sendInternalCandidateUpdateReminder = (candidate, cb) ->
user: candidate._id
metadata:
beginningOfUTCDay: @beginningOfUTCDay
MailSent.create newSentMail, (err) ->
if err? then return cb err
sendwithus.api.send context, (err, result) ->
@ -308,7 +307,7 @@ sendInternalCandidateUpdateReminder = (candidate, cb) ->
### Employer New Candidates Available Email ###
employerNewCandidatesAvailableTask = ->
mailTaskName = "employerNewCandidatesAvailableTask"
lockDurationMs = 2 * 60 * 1000
lockDurationMs = 2 * 60 * 1000
lockManager.setLock mailTaskName, lockDurationMs, (err) ->
if err? then return log.error "Error getting a distributed lock for task #{mailTaskName}: #{err}"
emailEmployerNewCandidatesAvailable.call {"mailTaskName":mailTaskName}, (err) ->
@ -321,10 +320,10 @@ employerNewCandidatesAvailableTask = ->
emailEmployerNewCandidatesAvailable = (emailEmployerNewCandidatesAvailableCallback) ->
currentTime = new Date()
asyncContext =
asyncContext =
"currentTime": currentTime
"mailTaskName": @mailTaskName
async.waterfall [
findAllEmployers
makeEmployerNamesEasilyAccessible
@ -333,15 +332,15 @@ emailEmployerNewCandidatesAvailable = (emailEmployerNewCandidatesAvailableCallba
(employersToEmail, cb) ->
async.each employersToEmail, sendEmployerNewCandidatesAvailableEmail.bind(asyncContext), cb
], emailEmployerNewCandidatesAvailableCallback
findAllEmployers = (cb) ->
findParameters =
findParameters =
"employerAt":
$exists: true
$exists: true
permissions: "employer"
selection = "_id email employerAt signedEmployerAgreement.data.firstName signedEmployerAgreement.data.lastName activity dateCreated emails"
User.find(findParameters).select(selection).lean().exec cb
makeEmployerNamesEasilyAccessible = (allEmployers, cb) ->
for employer, index in allEmployers
if employer.signedEmployerAgreement?.data?.firstName
@ -349,17 +348,17 @@ makeEmployerNamesEasilyAccessible = (allEmployers, cb) ->
delete employer.signedEmployerAgreement
allEmployers[index] = employer
cb null, allEmployers
employersEmailedDigestMoreThanWeekAgoFilter = (employer, cb) ->
if employer.emails?.employerNotes?.enabled is false
return cb true
if not employer.signedEmployerAgreement and not employer.activity?.login?
return cb true
findParameters =
findParameters =
"user": employer._id
"mailTask": @mailTaskName
"sent":
$gt: new Date(@currentTime.getTime() - 7 * 24 * 60 * 60 * 1000)
$gt: new Date(@currentTime.getTime() - 7 * 24 * 60 * 60 * 1000)
MailSent.find(findParameters).lean().exec (err, sentMail) ->
if err?
log.error "Error finding mail sent for task #{@mailTaskName} and employer #employer._id}!"
@ -368,17 +367,17 @@ employersEmailedDigestMoreThanWeekAgoFilter = (employer, cb) ->
cb Boolean(sentMail.length)
sendEmployerNewCandidatesAvailableEmail = (employer, cb) ->
lastLoginDate = employer.activity?.login?.last ? employer.dateCreated
lastLoginDate = employer.activity?.login?.last ? employer.dateCreated
countParameters =
"jobProfileApproved": true
$or: [
jobProfileApprovedDate:
jobProfileApprovedDate:
$gt: lastLoginDate.toISOString()
,
jobProfileApprovedDate:
$exists: false
"jobProfile.updated":
$gt: lastLoginDate.toISOString()
$gt: lastLoginDate.toISOString()
]
User.count countParameters, (err, numberOfCandidatesSinceLogin) =>
if err? then return cb err
@ -415,8 +414,8 @@ newRecruitLeaderboardEmailTask = ->
lockManager.setLock mailTaskName, lockDurationMs, (err, lockResult) ->
###
### End New Recruit Leaderboard Email ###
### Employer Matching Candidate Notification Email ###
### Employer Matching Candidate Notification Email ###
###
employerMatchingCandidateNotificationTask = ->
# tem_mYsepTfWQ265noKfZJcbBH
@ -444,7 +443,7 @@ isRequestFromDesignatedCronHandler = (req, res) ->
return true
handleLadderUpdate = (req, res) ->
log.info('Going to see about sending ladder update emails.')
requestIsFromDesignatedCronHandler = isRequestFromDesignatedCronHandler req, res