diff --git a/app/core/ParticleMan.coffee b/app/core/ParticleMan.coffee index 8017a3af2..f742e0677 100644 --- a/app/core/ParticleMan.coffee +++ b/app/core/ParticleMan.coffee @@ -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 diff --git a/app/lib/world/names.coffee b/app/lib/world/names.coffee index aa9669122..ca46eacc7 100644 --- a/app/lib/world/names.coffee +++ b/app/lib/world/names.coffee @@ -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' ] diff --git a/app/lib/world/vector.coffee b/app/lib/world/vector.coffee index 712d99d64..95168f0ee 100644 --- a/app/lib/world/vector.coffee +++ b/app/lib/world/vector.coffee @@ -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) diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee index 6885ac684..03249365e 100644 --- a/app/locale/fi.coffee +++ b/app/locale/fi.coffee @@ -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. diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee index 692dce6db..c1fe52b13 100644 --- a/app/locale/ja.coffee +++ b/app/locale/ja.coffee @@ -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,16 +309,16 @@ 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_patience: "持つ必要がある、忍耐を若いパダワンよ。- ヨーダ" tip_documented_bug: "文書化されたバグはバグではありません。それは機能です。" tip_impossible: "何かをやり遂げるまでは、常にそれが不可能に思える。- ネルソン・マンデラ" tip_talk_is_cheap: "話合はもう良い。コードを見せろ。- リーナス・トーバルズ" tip_first_language: "最初のプログラミング言語を学ぶ時が、最も悲惨な事を学ぶ時だ。- アラン・ケイ" - tip_hardware_problem: "Q:電球を変更するのにプログラマが何人必要ですか? A :一人もいらない、それはハードウェアの問題だ。" + tip_hardware_problem: "Q:電球を変更するのにプログラマが何人必要ですか? A:一人もいらない、それはハードウェアの問題だ。" tip_hofstadters_law: "ホフスタッターの法則:いつでも予測以上の時間がかかるものである — ホフスタッターの法則を計算に入れても。" tip_premature_optimization: "早すぎる最適化は諸悪の根源である。-ドナルド・クヌース" tip_brute_force: "疑わしい時は、暴力を使え。- ケン・トンプソン" @@ -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" diff --git a/app/styles/account/account-settings-view.sass b/app/styles/account/account-settings-view.sass index b09be588e..ae8cd31de 100644 --- a/app/styles/account/account-settings-view.sass +++ b/app/styles/account/account-settings-view.sass @@ -1,7 +1,6 @@ #account-settings-root-view //- Fixed save button - #site-content-area padding-bottom: 44px @@ -19,32 +18,30 @@ &.btn-info, &.btn-danger opacity: 1.0 - + #account-settings-view - + .row padding-top: 20px - + //- Panels - .panel-heading font-family: Open Sans Condensed font-weight: bold - + .panel-title font-size: 20px - + #delete-account-panel-title color: #F00 - - //- Panel specific stuff + //- Panel specific stuff .profile-photo max-width: 100% max-height: 200px display: block margin-bottom: 10px - + #email-panel #specific-notification-settings padding-left: 20px diff --git a/app/styles/i18n/i18n-edit-model-view.sass b/app/styles/i18n/i18n-edit-model-view.sass index 4438144b4..47575332e 100644 --- a/app/styles/i18n/i18n-edit-model-view.sass +++ b/app/styles/i18n/i18n-edit-model-view.sass @@ -7,6 +7,7 @@ .outer-content padding: 10px + overflow-y: scroll select - margin-bottom: 10px \ No newline at end of file + margin-bottom: 10px diff --git a/app/styles/play/campaign-view.sass b/app/styles/play/campaign-view.sass index 88e52fb5d..260f803c5 100644 --- a/app/styles/play/campaign-view.sass +++ b/app/styles/play/campaign-view.sass @@ -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 diff --git a/app/templates/account/main-account-view.jade b/app/templates/account/main-account-view.jade index 27a5b84d4..b41c5016a 100644 --- a/app/templates/account/main-account-view.jade +++ b/app/templates/account/main-account-view.jade @@ -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") + diff --git a/app/templates/play/campaign-view.jade b/app/templates/play/campaign-view.jade index b8f1603d1..926c2fcf6 100644 --- a/app/templates/play/campaign-view.jade +++ b/app/templates/play/campaign-view.jade @@ -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") diff --git a/app/views/i18n/I18NEditThangTypeView.coffee b/app/views/i18n/I18NEditThangTypeView.coffee index 5b85029bf..52c058e9b 100644 --- a/app/views/i18n/I18NEditThangTypeView.coffee +++ b/app/views/i18n/I18NEditThangTypeView.coffee @@ -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, []) diff --git a/app/views/play/CampaignView.coffee b/app/views/play/CampaignView.coffee index 3ea639d75..c9aa9895c 100644 --- a/app/views/play/CampaignView.coffee +++ b/app/views/play/CampaignView.coffee @@ -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('-')