Merge branch 'master' into production

This commit is contained in:
Nick Winter 2015-03-17 21:26:14 -07:00
commit 3118821f9e
12 changed files with 224 additions and 194 deletions

View file

@ -249,6 +249,21 @@ particleKinds['level-forest-hero-ladder'] = ext particleKinds['level-forest-prem
colorMiddle: hsl 0, 1, 0.5
colorEnd: hsl 0, 0.75, 0.1
particleKinds['level-forest-premium-item'] = ext particleKinds['level-forest-gate'],
emitter:
particleCount: 2000
radius: 2.5
acceleration: vec 0, 8, 1
opacityStart: 0
opacityMiddle: 0.5
opacityEnd: 0.75
colorStart: hsl 0.5, 0.75, 0.9
colorMiddle: hsl 0.5, 0.75, 0.7
colorEnd: hsl 0.5, 0.75, 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-desert-premium-hero'] = ext particleKinds['level-desert-premium'],
emitter:
particleCount: 200

View file

@ -8,6 +8,7 @@ module.exports.thangNames = thangNames =
'Iyert'
'Lacos'
'Palt'
'Pripp'
'Shmeal'
'Upfish'
'Yugark'
@ -36,6 +37,7 @@ module.exports.thangNames = thangNames =
'Treg'
'Ursa'
'Weeb'
'Yart'
'Zozo'
]
'Ogre Thrower': [
@ -44,6 +46,7 @@ module.exports.thangNames = thangNames =
'Durnath'
'Esha'
'Gragthar'
'Grel'
'Hamedi'
'Jinjin'
'Kraggan'
@ -70,6 +73,7 @@ module.exports.thangNames = thangNames =
# Female
'Celadia'
'Taric'
'Vaelia'
]
'Ogre Witch': [
# Female
@ -346,10 +350,12 @@ module.exports.thangNames = thangNames =
]
'Necromancer': [
# Male
'Morcelu'
'Nalfar'
]
'Dark Wizard': [
# Female
'Lilith'
'Usara'
'Veigar'
]

View file

@ -10,7 +10,9 @@ class Vector
isVector: true
apiProperties: ['x', 'y', 'z', 'magnitude', 'heading', 'distance', 'dot', 'equals', 'copy', 'distanceSquared', 'rotate']
constructor: (@x=0, @y=0, @z=0) ->
constructor: (x=0, y=0, z=0) ->
return new Vector x, y, z unless @ instanceof Vector
[@x, @y, @z] = [x, y, z]
copy: ->
new Vector(@x, @y, @z)

View file

@ -1,43 +1,43 @@
module.exports = nativeDescription: "suomi", englishDescription: "Finnish", translation:
# home:
# slogan: "Learn to Code by Playing a Game"
home:
slogan: "Opi Koodaamaan Pelaamalla"
# no_ie: "CodeCombat does not run in Internet Explorer 8 or older. Sorry!" # Warning that only shows up in IE8 and older
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" # Warning that shows up on mobile devices
# play: "Play" # The big play button that opens up the campaign view.
play: "Pelaa" # The big play button that opens up the campaign view.
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" # Warning that shows up on really old Firefox/Chrome/Safari
# old_browser_suffix: "You can try anyway, but it probably won't work."
# ipad_browser: "Bad news: CodeCombat doesn't run on iPad in the browser. Good news: our native iPad app is awaiting Apple approval."
# campaign: "Campaign"
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page.
for_beginners: "Aloittelijoille"
multiplayer: "Moninpelaaja" # Not currently shown on home page
for_developers: "Kehittäjille" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play
# community: "Community"
# editor: "Editor"
# blog: "Blog"
# forum: "Forum"
# account: "Account"
# profile: "Profile"
# stats: "Stats"
# code: "Code"
nav:
play: "Tasot" # The top nav bar entry where players choose which levels to play
community: "Yhteisö"
editor: "Editori"
blog: "Blogi"
forum: "Foorumi"
account: "Tili"
profile: "Profiili"
stats: "Tilastot"
code: "Koodi"
# admin: "Admin" # Only shows up when you are an admin
# home: "Home"
# contribute: "Contribute"
# legal: "Legal"
# about: "About"
# contact: "Contact"
# twitter_follow: "Follow"
# teachers: "Teachers"
home: "Koti"
contribute: "Avusta"
legal: "Laillisuus"
about: "Tietoja"
contact: "Ota yhteyttä"
twitter_follow: "Seuraa"
teachers: "Opettajat"
# modal:
# close: "Close"
# okay: "Okay"
modal:
close: "Sulje"
okay: "Ok"
# not_found:
# page_not_found: "Page not found"
not_found:
page_not_found: "Sivua ei löydy"
diplomat_suggestion:
# title: "Help translate CodeCombat!" # This shows up when a player switches to a non-English language using the language selector.
@ -47,33 +47,33 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# learn_more: "Learn more about being a Diplomat"
# subscribe_as_diplomat: "Subscribe as a Diplomat"
# play:
# play_as: "Play As" # Ladder page
play:
play_as: "Pelaa" # Ladder page
# spectate: "Spectate" # Ladder page
# players: "players" # Hover over a level on /play
# hours_played: "hours played" # Hover over a level on /play
# items: "Items" # Tooltip on item shop button from /play
# unlock: "Unlock" # For purchasing items and heroes
# confirm: "Confirm"
# owned: "Owned" # For items you own
# locked: "Locked"
players: "pelaajat" # Hover over a level on /play
hours_played: "pelatut tunnit" # Hover over a level on /play
items: "Esineet" # Tooltip on item shop button from /play
unlock: "Unlock" # For purchasing items and heroes
confirm: "Varmista"
owned: "Omistettuja" # For items you own
locked: "Lukittu"
# purchasable: "Purchasable" # For a hero you unlocked but haven't purchased
# available: "Available"
available: "Saatavissa"
# skills_granted: "Skills Granted" # Property documentation details
# heroes: "Heroes" # Tooltip on hero shop button from /play
# achievements: "Achievements" # Tooltip on achievement list button from /play
# account: "Account" # Tooltip on account button from /play
# settings: "Settings" # Tooltip on settings button from /play
heroes: "Sankarit" # Tooltip on hero shop button from /play
achievements: "Saavutukset" # Tooltip on achievement list button from /play
account: "Tili" # Tooltip on account button from /play
settings: "Asetukset" # Tooltip on settings button from /play
# poll: "Poll" # Tooltip on poll button from /play
# next: "Next" # Go from choose hero to choose inventory before playing a level
next: "Seuraava" # Go from choose hero to choose inventory before playing a level
# change_hero: "Change Hero" # Go back from choose inventory to choose hero
# choose_inventory: "Equip Items"
# buy_gems: "Buy Gems"
# subscription_required: "Subscription Required"
# older_campaigns: "Older Campaigns"
# anonymous: "Anonymous Player"
# level_difficulty: "Difficulty: "
# campaign_beginner: "Beginner Campaign"
older_campaigns: "Vanhemmat Kamppanjat"
anonymous: "Nimetön Pelaaja"
level_difficulty: "Vaikeustaso: "
campaign_beginner: "Aloittelijan Kamppanja"
# awaiting_levels_adventurer_prefix: "We release five levels per week."
# awaiting_levels_adventurer: "Sign up as an Adventurer"
# awaiting_levels_adventurer_suffix: "to be the first to play new levels."
@ -103,12 +103,12 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# tell_friend: "Tell your Friend"
# tell_parent: "Tell your Parent"
# login:
# sign_up: "Create Account"
# log_in: "Log In"
# logging_in: "Logging In"
# log_out: "Log Out"
# forgot_password: "Forgot your password?"
login:
sign_up: "Luo Tili"
log_in: "Kirjaudu"
logging_in: "Kirjaudutaan"
log_out: "Kirjaudu Ulos"
forgot_password: "Unohditko salasanasi?"
# authenticate_gplus: "Authenticate G+"
# load_profile: "Load G+ Profile"
# finishing: "Finishing"
@ -130,113 +130,113 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# send_password: "Send Recovery Password"
# recovery_sent: "Recovery email sent."
# items:
# primary: "Primary"
# secondary: "Secondary"
# armor: "Armor"
# accessories: "Accessories"
# misc: "Misc"
# books: "Books"
items:
primary: "Ensisijainen"
secondary: "Toissijainen"
armor: "Suoja"
accessories: "Lisätarvikkeet"
misc: "Sekalaista"
books: "Kirjat"
common:
# back: "Back" # When used as an action verb, like "Navigate backward"
# continue: "Continue" # When used as an action verb, like "Continue forward"
loading: "Loading..."
# saving: "Saving..."
# sending: "Sending..."
# send: "Send"
# cancel: "Cancel"
# save: "Save"
# publish: "Publish"
# create: "Create"
# manual: "Manual"
# fork: "Fork"
# play: "Play" # When used as an action verb, like "Play next level"
# retry: "Retry"
# actions: "Actions"
# info: "Info"
# help: "Help"
# watch: "Watch"
# unwatch: "Unwatch"
back: "Takaisin" # When used as an action verb, like "Navigate backward"
continue: "Jatka" # When used as an action verb, like "Continue forward"
loading: "Ladataan..."
saving: "Tallennetaan..."
sending: "Lähetetään..."
send: "Lähetä"
cancel: "Peruuta"
save: "Tallenna"
publish: "Julkaise"
create: "Luo"
manual: "Ohjeet"
fork: "Haarauta"
play: "Pelaa" # When used as an action verb, like "Play next level"
retry: "Kokeile uudestaan"
actions: "Toiminnot"
info: "Tietoa"
help: "Apua"
watch: "Seuraa"
unwatch: "Lopeta Seuraaminen"
# submit_patch: "Submit Patch"
# submit_changes: "Submit Changes"
# general:
# and: "and"
# name: "Name"
# date: "Date"
# body: "Body"
# version: "Version"
# pending: "Pending"
# accepted: "Accepted"
# rejected: "Rejected"
# withdrawn: "Withdrawn"
# submitter: "Submitter"
# submitted: "Submitted"
general:
and: "ja"
name: "Nimi"
date: "Päiväys"
body: "Vartalo"
version: "Versio"
pending: "Odotetaan"
accepted: "Hyväksytty"
rejected: "Hylätty"
withdrawn: "Vedetty pois"
submitter: "Lähettäjä"
submitted: "Lähetetty"
# commit_msg: "Commit Message"
# review: "Review"
# version_history: "Version History"
review: "Esikatsele"
version_history: "Versiohistoria"
# version_history_for: "Version History for: "
# select_changes: "Select two changes below to see the difference."
# undo_prefix: "Undo"
undo_prefix: "Peruuta"
# undo_shortcut: "(Ctrl+Z)"
# redo_prefix: "Redo"
redo_prefix: "Tee uudelleen"
# redo_shortcut: "(Ctrl+Shift+Z)"
# play_preview: "Play preview of current level"
# result: "Result"
# results: "Results"
# description: "Description"
# or: "or"
# subject: "Subject"
or: "tai"
subject: "Aihe"
# email: "Email"
# password: "Password"
# message: "Message"
# code: "Code"
password: "Salasana"
message: "Viesti"
code: "Koodi"
# ladder: "Ladder"
# when: "When"
# opponent: "Opponent"
# rank: "Rank"
# score: "Score"
# win: "Win"
# loss: "Loss"
# tie: "Tie"
# easy: "Easy"
# medium: "Medium"
# hard: "Hard"
# player: "Player"
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
# warrior: "Warrior"
# ranger: "Ranger"
# wizard: "Wizard"
when: "Kun"
opponent: "Vastustaja"
rank: "Arvo"
score: "Pisteet"
win: "Voitto"
loss: "Tappio"
tie: "Tasapeli"
easy: "Helppo"
medium: "Haastava"
hard: "Vaikea"
player: "Pelaaja"
player_level: "Taso" # Like player level 5, not like level: Dungeons of Kithgard
warrior: "Sotilas"
ranger: "Vartija"
wizard: "Velho"
# units:
# second: "second"
# seconds: "seconds"
# minute: "minute"
# minutes: "minutes"
# hour: "hour"
# hours: "hours"
# day: "day"
# days: "days"
# week: "week"
# weeks: "weeks"
# month: "month"
# months: "months"
# year: "year"
# years: "years"
units:
second: "sekuntti"
seconds: "sekunnit"
minute: "minuutti"
minutes: "minuutit"
hour: "tunti"
hours: "tunnit"
day: "päivä"
days: "päivät"
week: "viikko"
weeks: "viikot"
month: "kuukausi"
months: "kuukaudet"
year: "vuosi"
years: "vuodet"
# play_level:
# done: "Done"
play_level:
done: "Valmis"
# home: "Home" # Not used any more, will be removed soon.
# level: "Level" # Like "Level: Dungeons of Kithgard"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
level: "Taso" # Like "Level: Dungeons of Kithgard"
skip: "Ohita"
game_menu: "Peli Valikko"
guide: "Ohje"
# restart: "Restart"
# goals: "Goals"
# goal: "Goal"
# running: "Running..."
# success: "Success!"
goals: "Maalit"
goal: "Maali"
running: "Ajetaan..."
success: "Onnistui!"
# incomplete: "Incomplete"
# timed_out: "Ran out of time"
# failing: "Failing"
@ -248,14 +248,14 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?"
# reload_confirm: "Reload All"
# victory: "Victory"
victory: "Voitto"
# victory_title_prefix: ""
# victory_title_suffix: " Complete"
# victory_sign_up: "Sign Up to Save Progress"
# victory_sign_up_poke: "Want to save your code? Create a free account!"
# victory_rate_the_level: "Rate the level: " # Only in old-style levels.
# victory_return_to_ladder: "Return to Ladder"
# victory_play_continue: "Continue"
victory_play_continue: "Jatka"
# victory_saving_progress: "Saving Progress"
# victory_go_home: "Go Home" # Only in old-style levels.
# victory_review: "Tell us more!" # Only in old-style levels.

View file

@ -42,10 +42,10 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
diplomat_suggestion:
title: "CodeCombatを翻訳しましょう" # This shows up when a player switches to a non-English language using the language selector.
sub_heading: "あなたの言語力が必要です。"
pitch_body: "CodeCombatは英語で開発されています。日本語でプレイしたい方がたくさんいますが、ゲームの多くはまだ英語のままです。もし、あなたが英語が得意であれば、Diplomat翻訳者として登録し、CodeCombatのレベルやサイトの翻訳にご協力ください。"
pitch_body: "CodeCombatは英語で開発されています。日本語でプレイしたい方がたくさんいますが、ゲームの多くはまだ英語のままです。もし、あなたが英語が得意であれば、外交官翻訳者として登録し、CodeCombatのレベルやサイトの翻訳にご協力ください。"
missing_translations: "翻訳が完了していない部分は、英語で表示されます。"
learn_more: "Diplomat について情報"
subscribe_as_diplomat: "Diplomat登録"
learn_more: "外交官について情報"
subscribe_as_diplomat: "外交官登録"
play:
play_as: "としてプレー" # Ladder page
@ -64,7 +64,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
achievements: "実績" # Tooltip on achievement list button from /play
account: "アカウント" # Tooltip on account button from /play
settings: "設定" # Tooltip on settings button from /play
# poll: "Poll" # Tooltip on poll button from /play
poll: "投票" # Tooltip on poll button from /play
next: "次へ" # Go from choose hero to choose inventory before playing a level
change_hero: "ヒーローの選択" # Go back from choose inventory to choose hero
choose_inventory: "アイテムを装備"
@ -309,9 +309,9 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
tip_reticulating: "網状化する背骨"
tip_harry: "君はウィザードだ"
tip_great_responsibility: "偉大なコーディングスキルを持つと、偉大なデバッグ責任も付属してきます。"
tip_munchkin: "野菜を食べなければ、眠ってる間マンチキンに襲われるぞ。"
tip_binary: "世界には10種類の人がいるバイナリを理解する人と、そうでない人。"
tip_commitment_yoda: "プログラマは、最も深いコミットメントを持つ必要がある, 最も深刻な心。 - ヨーダ"
tip_munchkin: "野菜を食べなければ、眠ってる間マンチキンに襲われるぞ。"
tip_binary: "世界には10種類の人がいるバイナリを理解する人と、そうでない人。"
tip_commitment_yoda: "プログラマは、最も深いコミットメントを持つ必要がある, 最も深刻な心。- ヨーダ"
tip_no_try: "やる。又はやらない。試しはない。- ヨーダ"
tip_patience: "持つ必要がある、忍耐を若いパダワンよ。- ヨーダ"
tip_documented_bug: "文書化されたバグはバグではありません。それは機能です。"
@ -509,7 +509,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
default_value: "デフォルト値"
parameters: "パラメータ"
returns: "リターン"
granted_by: "によって与えられた"
granted_by: "スキルを与えてくれるアイテム:"
save_load:
granularity_saved_games: "セーブされました"
@ -525,20 +525,20 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
editor_config: "エディター設定"
editor_config_title: "エディターの設定"
editor_config_level_language_label: "このレベルの言語"
# editor_config_level_language_description: "Define the programming language for this particular level."
editor_config_level_language_description: "このレベルのプログラミング言語を定義する。"
editor_config_default_language_label: "デフォルトプログラミング言語"
# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels."
editor_config_default_language_description: "新しいレベルの起動時に、コードしたいプログラミング言語を定義する。"
editor_config_keybindings_label: "キーバインディング"
editor_config_keybindings_default: "デフォルト(エース)"
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
# editor_config_livecompletion_label: "Live Autocompletion"
# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
# editor_config_behaviors_label: "Smart Behaviors"
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
editor_config_keybindings_description: "一般的なエディターから知られているショートカットを追加する。"
editor_config_livecompletion_label: "ライブオートコンプリート"
editor_config_livecompletion_description: "コード入力中、オートコンプリートの提案を表示する。"
editor_config_invisibles_label: "編集記号の表示"
editor_config_invisibles_description: "スペースやタブなどの編集記号を表示する。"
editor_config_indentguides_label: "インデントガイドの表示"
editor_config_indentguides_description: "より良いインデントを見るために垂直線を表示する。"
editor_config_behaviors_label: "スマートビヘイビア"
editor_config_behaviors_description: "カッコ、中括弧、および引用符をオートコンプリートする。"
about:
why_codecombat: "なぜCodeCombat?"
@ -554,11 +554,11 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
press_paragraph_1_link: "プレスパケット"
press_paragraph_1_suffix: "。全てのロゴやイメージは、直接私達に連絡することなく使用することができます。"
team: "開発チーム"
george_title: "共同創設者" # {change}
george_title: "コーファウンダー" # {change}
george_blurb: "ビジネスの達人"
scott_title: "共同創設者" # {change}
scott_title: "コーファウンダー" # {change}
scott_blurb: "リーズナブルな奴"
nick_title: "共同創設者" # {change}
nick_title: "コーファウンダー" # {change}
nick_blurb: "モチベーションの達人"
michael_title: "プログラマー"
michael_blurb: "システム管理者"
@ -635,8 +635,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
faq_prefix: "他のサポートもあります:"
faq: "よくある質問(FAQ)"
subscribe_prefix: "レベルをクリアする情報が必要ならば、"
subscribe: "CodeCombatのサブスクリプションを購入頂けると"
subscribe_suffix: "喜んであなたのコードを手伝います。"
subscribe: "CodeCombatのサブスクリプション"
subscribe_suffix: "を購入頂けると喜んであなたのコードを手伝います。"
subscriber_support: "あなたはCodeCombatにすでに加入しているので、メールは優先サポートされます。"
screenshot_included: "スクリーンショットが含まれています。"
where_reply: "何処へ返信すれば宜しいですか?"
@ -697,7 +697,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
run_real_time: "リアルタイムで実行"
# continue_script: "Continue past current script."
# skip_scripts: "Skip past all skippable scripts."
toggle_playback: "トグル プレイ/ポーズ"
toggle_playback: "トグル:プレイ/ポーズ"
# scrub_playback: "Scrub back and forward through time."
# single_scrub_playback: "Scrub back and forward through time by a single frame."
# scrub_execution: "Scrub through current spell execution."
@ -707,8 +707,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# beautify: "Beautify your code by standardizing its formatting."
# maximize_editor: "Maximize/minimize code editor."
# community:
# main_title: "CodeCombat Community"
community:
main_title: "CodeCombatコミュニティー"
# introduction: "Check out the ways you can get involved below and decide what sounds the most fun. We look forward to working with you!"
# level_editor_prefix: "Use the CodeCombat"
# level_editor_suffix: "to create and edit levels. Users have created levels for their classes, friends, hackathons, students, and siblings. If create a new level sounds intimidating you can start by forking one of ours!"
@ -748,7 +748,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
editor:
main_title: "CodeCombatエディター"
# article_title: "Article Editor"
# thang_title: "Thang Editor"
thang_title: "サングエディター"
level_title: "レベルエディター"
achievement_title: "実績エディター"
poll_title: "投票エディター"
@ -1337,9 +1337,9 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
admin:
# av_espionage: "Espionage" # Really not important to translate /admin controls.
# av_espionage_placeholder: "Email or username"
# av_usersearch: "User Search"
av_usersearch: "ユーザーサーチ"
# av_usersearch_placeholder: "Email, username, name, whatever"
# av_usersearch_search: "Search"
av_usersearch_search: "サーチ"
av_title: "管理画面"
# av_entities_sub_title: "Entities"
av_entities_users_url: "ユーザー"
@ -1349,7 +1349,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# av_entities_user_code_problems_list_url: "User Code Problems List"
av_other_sub_title: "その他"
# av_other_debug_base_url: "Base (for debugging base.jade)"
# u_title: "User List"
u_title: "ユーザーリスト"
# ucp_title: "User Code Problems"
lg_title: "最近のゲーム"
clas: "CLA"

View file

@ -1,7 +1,6 @@
#account-settings-root-view
//- Fixed save button
#site-content-area
padding-bottom: 44px
@ -26,7 +25,6 @@
padding-top: 20px
//- Panels
.panel-heading
font-family: Open Sans Condensed
font-weight: bold
@ -38,7 +36,6 @@
color: #F00
//- Panel specific stuff
.profile-photo
max-width: 100%
max-height: 200px

View file

@ -7,6 +7,7 @@
.outer-content
padding: 10px
overflow-y: scroll
select
margin-bottom: 10px

View file

@ -222,6 +222,10 @@ $gameControlMargin: 30px
.level-description
color: black
img
display: block
margin: 0px auto
.level-status
background: transparent url(/images/pages/play/level-info-status-spritesheet.png) no-repeat 0 0
width: 60px

View file

@ -23,5 +23,4 @@ block content
a.btn.btn-lg.btn-primary(href="/account/payments", data-i18n="account.payments")
li.list-group-item
a.btn.btn-lg.btn-primary(href="/account/subscription", data-i18n="account.subscription")
li.list-group-item
a.btn.btn-lg.btn-primary(href="/account/invoices", data-i18n="account.invoices")

View file

@ -15,7 +15,9 @@ if campaign
if level.unlocksHero && (!level.purchasedHero || editorMode)
img.hero-portrait(src="/file/db/thang.type/#{level.unlocksHero}/portrait.png")
a(href=level.type == 'hero' ? '#' : level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.slug}", disabled=level.disabled, data-level-slug=level.slug, data-level-path=level.levelPath || 'level', data-level-name=level.name)
if level.requiresSubscription
if level.slug == 'apocalypse'
img.star(src="/file/db/thang.type/54ea89112b7506e891ca717d/portrait.png")
else if level.requiresSubscription
img.star(src="/images/pages/play/star.png")
if levelStatusMap[level.slug] === 'complete'
img.banner(src="/images/pages/play/level-banner-complete.png")

View file

@ -13,5 +13,7 @@ module.exports = class ThangTypeI18NView extends I18NEditModelView
name = @model.get('name')
@wrapRow('Name', ['name'], name, i18n[lang]?.name, [])
@wrapRow('Description', ['description'], @model.get('description'), i18n[lang]?.description, [], 'markdown')
@wrapRow('Extended Hero Name', ['extendedName'], @model.get('extendedName'), i18n[lang]?.extendedName, [])
@wrapRow('Unlock Level Name', ['unlockLevelName'], @model.get('unlockLevelName'), i18n[lang]?.unlockLevelName, [])
if extendedName = @model.get('extendedName')
@wrapRow('Extended Hero Name', ['extendedName'], extendedName, i18n[lang]?.extendedName, [])
if unlockLevelName = @model.get('unlockLevelName')
@wrapRow('Unlock Level Name', ['unlockLevelName'], unlockLevelName, i18n[lang]?.unlockLevelName, [])

View file

@ -261,6 +261,7 @@ module.exports = class CampaignView extends RootView
level.locked = false if @editorMode
level.locked = false if @campaign?.get('name') is 'Auditions'
level.locked = false if me.isInGodMode()
level.locked = false if level.slug is 'apocalypse'
level.disabled = true if level.adminOnly and @levelStatusMap[level.slug] not in ['started', 'complete']
level.disabled = false if me.isInGodMode()
level.color = 'rgb(255, 80, 60)'
@ -294,7 +295,7 @@ module.exports = class CampaignView extends RootView
unless foundNext
for nextLevelOriginal in level.nextLevels
nextLevel = _.find levels, original: nextLevelOriginal
if nextLevel and not nextLevel.locked and @levelStatusMap[nextLevel.slug] isnt 'complete' and (me.isPremium() or not nextLevel.requiresSubscription)
if nextLevel and not nextLevel.locked and @levelStatusMap[nextLevel.slug] isnt 'complete' and (me.isPremium() or not nextLevel.requiresSubscription or nextLevel.slug is 'apocalypse')
nextLevel.next = true
foundNext = true
break
@ -333,12 +334,13 @@ module.exports = class CampaignView extends RootView
@particleMan ?= new ParticleMan()
@particleMan.removeEmitters()
@particleMan.attach @$el.find('.map')
for level in @campaign.renderedLevels ? {} when level.hidden
for level in @campaign.renderedLevels ? {} when level.hidden or level.slug is 'apocalypse'
particleKey = ['level', @terrain]
particleKey.push level.type if level.type and level.type isnt 'hero'
particleKey.push 'premium' if level.requiresSubscription
particleKey.push 'gate' if level.slug in ['kithgard-gates', 'siege-of-stonehold', 'clash-of-clones']
particleKey.push 'hero' if level.unlocksHero and not level.unlockedHero
particleKey.push 'item' if level.slug is 'apocalypse' # TODO: generalize
continue if particleKey.length is 2 # Don't show basic levels
@particleMan.addEmitter level.position.x / 100, level.position.y / 100, particleKey.join('-')