Merge branch 'master' of https://github.com/codecombat/codecombat
Conflicts: app/views/play/level/hud_view.coffee
This commit is contained in:
commit
4e34b38c83
10 changed files with 211 additions and 200 deletions
app
lib
locale
views
scripts/devSetup
vendor/scripts
|
@ -62,11 +62,11 @@ module.exports = class CocoRouter extends Backbone.Router
|
||||||
|
|
||||||
renderLoginButtons: ->
|
renderLoginButtons: ->
|
||||||
$('.share-buttons, .partner-badges').addClass('fade-in').delay(10000).removeClass('fade-in', 5000)
|
$('.share-buttons, .partner-badges').addClass('fade-in').delay(10000).removeClass('fade-in', 5000)
|
||||||
setTimeout(FB.XFBML.parse, 10) if FB? # Handles FB login and Like
|
setTimeout(FB.XFBML.parse, 10) if FB?.XFBML?.parse # Handles FB login and Like
|
||||||
twttr?.widgets?.load()
|
twttr?.widgets?.load?()
|
||||||
|
|
||||||
return unless gapi?.plusone?
|
return unless gapi?.plusone?
|
||||||
gapi.plusone.go() # Handles +1 button
|
gapi.plusone.go?() # Handles +1 button
|
||||||
for gplusButton in $('.gplus-login-button')
|
for gplusButton in $('.gplus-login-button')
|
||||||
params = {
|
params = {
|
||||||
callback:"signinCallback",
|
callback:"signinCallback",
|
||||||
|
@ -75,7 +75,7 @@ module.exports = class CocoRouter extends Backbone.Router
|
||||||
scope:"https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email",
|
scope:"https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email",
|
||||||
size:"medium",
|
size:"medium",
|
||||||
}
|
}
|
||||||
if gapi.signin
|
if gapi.signin?.render
|
||||||
gapi.signin.render(gplusButton, params)
|
gapi.signin.render(gplusButton, params)
|
||||||
else
|
else
|
||||||
console.warn "Didn't have gapi.signin to render G+ login button. (DoNotTrackMe extension?)"
|
console.warn "Didn't have gapi.signin to render G+ login button. (DoNotTrackMe extension?)"
|
||||||
|
|
|
@ -24,7 +24,7 @@ module.exports = class Tracker
|
||||||
return if me.get("anonymous")
|
return if me.get("anonymous")
|
||||||
olark 'api.visitor.updateEmailAddress', emailAddress: me.get("email")
|
olark 'api.visitor.updateEmailAddress', emailAddress: me.get("email")
|
||||||
olark 'api.chat.updateVisitorNickname', snippet: me.displayName()
|
olark 'api.chat.updateVisitorNickname', snippet: me.displayName()
|
||||||
|
|
||||||
updatePlayState: (level, session) ->
|
updatePlayState: (level, session) ->
|
||||||
link = "codecombat.com/play/level/#{level.get('slug') or level.id}?session=#{session.id}"
|
link = "codecombat.com/play/level/#{level.get('slug') or level.id}?session=#{session.id}"
|
||||||
snippet = [
|
snippet = [
|
||||||
|
@ -32,10 +32,10 @@ module.exports = class Tracker
|
||||||
"User ID: #{me.id}"
|
"User ID: #{me.id}"
|
||||||
"Session ID: #{session.id}"
|
"Session ID: #{session.id}"
|
||||||
"Level: #{level.get('name')}"
|
"Level: #{level.get('name')}"
|
||||||
|
|
||||||
]
|
]
|
||||||
olark 'api.chat.updateVisitorStatus', snippet: snippet
|
olark 'api.chat.updateVisitorStatus', snippet: snippet
|
||||||
|
|
||||||
trackPageView: ->
|
trackPageView: ->
|
||||||
return unless @isProduction and analytics?
|
return unless @isProduction and analytics?
|
||||||
url = Backbone.history.getFragment()
|
url = Backbone.history.getFragment()
|
||||||
|
|
|
@ -27,7 +27,7 @@ module.exports.loginUser = (userObject, failure=genericFailure) ->
|
||||||
jqxhr.fail(failure)
|
jqxhr.fail(failure)
|
||||||
|
|
||||||
module.exports.logoutUser = ->
|
module.exports.logoutUser = ->
|
||||||
FB.logout()
|
FB?.logout?()
|
||||||
res = $.post('/auth/logout', {}, ->
|
res = $.post('/auth/logout', {}, ->
|
||||||
saveObjectToStorage(CURRENT_USER_KEY, null)
|
saveObjectToStorage(CURRENT_USER_KEY, null)
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
|
|
|
@ -1,183 +1,183 @@
|
||||||
module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", translation:
|
module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", translation:
|
||||||
common:
|
common:
|
||||||
loading: "Loading..."
|
loading: "Laster..."
|
||||||
|
|
||||||
|
modal:
|
||||||
|
close: "Lukk"
|
||||||
|
okay: "Ok"
|
||||||
|
|
||||||
|
not_found:
|
||||||
|
page_not_found: "Finner ikke siden"
|
||||||
|
|
||||||
|
nav:
|
||||||
|
# Header
|
||||||
|
sign_up: "Lag konto"
|
||||||
|
log_in: "Logg Inn"
|
||||||
|
log_out: "Logg Ut"
|
||||||
|
play: "Spill"
|
||||||
|
editor: "Editor"
|
||||||
|
blog: "Blogg"
|
||||||
|
forum: "Forum"
|
||||||
|
admin: "Administrator"
|
||||||
|
# Footer
|
||||||
|
home: "Hjem"
|
||||||
|
contribute: "Bidra"
|
||||||
|
legal: "Juridisk"
|
||||||
|
about: "Om"
|
||||||
|
contact: "Kontakt"
|
||||||
|
twitter_follow: "Følg"
|
||||||
|
|
||||||
|
forms:
|
||||||
|
name: "Navn"
|
||||||
|
email: "Epost"
|
||||||
|
message: "Melding"
|
||||||
|
cancel: "Avbryt"
|
||||||
|
|
||||||
|
login:
|
||||||
|
log_in: "Logg Inn"
|
||||||
|
sign_up: "lag ny konto"
|
||||||
|
or: ", eller "
|
||||||
|
recover: "gjenåpne konto"
|
||||||
|
|
||||||
|
signup:
|
||||||
|
description: "Det er gratis. Trenger bare noen få avklaringer, så er du klar:"
|
||||||
|
email_announcements: "Motta kunngjøringer på epost"
|
||||||
|
coppa: "13+ eller ikke fra USA"
|
||||||
|
coppa_why: "(Hvorfor?)"
|
||||||
|
creating: "Oppretter Konto..."
|
||||||
|
sign_up: "Registrer deg"
|
||||||
|
or: "eller "
|
||||||
|
log_in: "logg inn med passord"
|
||||||
|
|
||||||
|
home:
|
||||||
|
slogan: "Lær å Kode JavaScript ved å Spille et Spill"
|
||||||
|
no_ie: "CodeCombat kjører ikke på IE8 eller eldre. Beklager!"
|
||||||
|
no_mobile: "CodeCombat ble ikke designet for mobile enheter, og vil muligens ikke virke!"
|
||||||
|
play: "Spill"
|
||||||
|
|
||||||
|
play:
|
||||||
|
choose_your_level: "Velg Ditt Nivå"
|
||||||
|
adventurer_prefix: "Du kan hoppe til hvilket som helts nivå under, eller diskutere nivåene på"
|
||||||
|
adventurer_forum: "Adventurer forumet"
|
||||||
|
adventurer_suffix: "."
|
||||||
|
campaign_beginner: "Begynner Felttog"
|
||||||
|
campaign_beginner_description: "... hvor du lærer trolldommen bak programmering."
|
||||||
|
campaign_dev: "Tilfeldig Vanskeligere Nivåer"
|
||||||
|
campaign_dev_description: "... hvor du lærer grensesnittet mens du stadig gjør mer vanskeligere utfordringer."
|
||||||
|
campaign_multiplayer: "Multispiller Arenaer"
|
||||||
|
campaign_multiplayer_description: "... hvor du spiller direkte mot andre spillere."
|
||||||
|
campaign_player_created: "Spiller-Lagde"
|
||||||
|
campaign_player_created_description: "... hvor du kjemper mot kreativiteten til en av dine medspillende <a href=\"/contribute#artisan\">Artisan Trollmenn</a>."
|
||||||
|
level_difficulty: "Vanskelighetsgrad: "
|
||||||
|
|
||||||
|
contact:
|
||||||
|
contact_us: "Kontakt CodeCombat"
|
||||||
|
welcome: "Bra å høre fra deg! Bruk dette skjemaet for å sende oss en epost."
|
||||||
|
contribute_prefix: "Hvis du er interessert i å bidra, sjekk ut vår "
|
||||||
|
contribute_page: "bidrags side"
|
||||||
|
contribute_suffix: "!"
|
||||||
|
forum_prefix: "For allment tilgjengelige henvendelser, vennligst prøv "
|
||||||
|
forum_page: "forumet vårt"
|
||||||
|
forum_suffix: " i steden."
|
||||||
|
sending: "Sender..."
|
||||||
|
send: "Send Tilbakemelding"
|
||||||
|
|
||||||
# modal:
|
|
||||||
# close: "Close"
|
|
||||||
# okay: "Okay"
|
|
||||||
#
|
|
||||||
# not_found:
|
|
||||||
# page_not_found: "Page not found"
|
|
||||||
#
|
|
||||||
# nav:
|
|
||||||
# # Header
|
|
||||||
# sign_up: "Create Account"
|
|
||||||
# log_in: "Log In"
|
|
||||||
# log_out: "Log Out"
|
|
||||||
# play: "Play"
|
|
||||||
# editor: "Editor"
|
|
||||||
# blog: "Blog"
|
|
||||||
# forum: "Forum"
|
|
||||||
# admin: "Admin"
|
|
||||||
# # Footer
|
|
||||||
# home: "Home"
|
|
||||||
# contribute: "Contribute"
|
|
||||||
# legal: "Legal"
|
|
||||||
# about: "About"
|
|
||||||
# contact: "Contact"
|
|
||||||
# twitter_follow: "Follow"
|
|
||||||
#
|
|
||||||
# forms:
|
|
||||||
# name: "Name"
|
|
||||||
# email: "Email"
|
|
||||||
# message: "Message"
|
|
||||||
# cancel: "Cancel"
|
|
||||||
#
|
|
||||||
# login:
|
|
||||||
# log_in: "Log In"
|
|
||||||
# sign_up: "create new account"
|
|
||||||
# or: ", or "
|
|
||||||
# recover: "recover account"
|
|
||||||
#
|
|
||||||
# signup:
|
|
||||||
# description: "It's free. Just need a couple things and you'll be good to go:"
|
|
||||||
# email_announcements: "Receive announcements by email"
|
|
||||||
# coppa: "13+ or non-USA"
|
|
||||||
# coppa_why: "(Why?)"
|
|
||||||
# creating: "Creating Account..."
|
|
||||||
# sign_up: "Sign Up"
|
|
||||||
# or: "or "
|
|
||||||
# log_in: "log in with password"
|
|
||||||
#
|
|
||||||
# home:
|
|
||||||
# slogan: "Learn to Code JavaScript by Playing a Game"
|
|
||||||
# no_ie: "CodeCombat does not run in IE8 or older. Sorry!"
|
|
||||||
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
|
|
||||||
# play: "Play"
|
|
||||||
#
|
|
||||||
# play:
|
|
||||||
# choose_your_level: "Choose Your Level"
|
|
||||||
# adventurer_prefix: "You can jump to any level below, or discuss the levels on "
|
|
||||||
# adventurer_forum: "the Adventurer forum"
|
|
||||||
# adventurer_suffix: "."
|
|
||||||
# campaign_beginner: "Beginner Campaign"
|
|
||||||
# campaign_beginner_description: "... in which you learn the wizardry of programming."
|
|
||||||
# campaign_dev: "Random Harder Levels"
|
|
||||||
# campaign_dev_description: "... in which you learn the interface while doing something a little harder."
|
|
||||||
# campaign_multiplayer: "Multiplayer Arenas"
|
|
||||||
# campaign_multiplayer_description: "... in which you code head-to-head against other players."
|
|
||||||
# campaign_player_created: "Player-Created"
|
|
||||||
# campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>."
|
|
||||||
# level_difficulty: "Difficulty: "
|
|
||||||
#
|
|
||||||
# contact:
|
|
||||||
# contact_us: "Contact CodeCombat"
|
|
||||||
# welcome: "Good to hear from you! Use this form to send us email."
|
|
||||||
# contribute_prefix: "If you're interested in contributing, check out our "
|
|
||||||
# contribute_page: "contribute page"
|
|
||||||
# contribute_suffix: "!"
|
|
||||||
# forum_prefix: "For anything public, please try "
|
|
||||||
# forum_page: "our forum"
|
|
||||||
# forum_suffix: " instead."
|
|
||||||
# sending: "Sending..."
|
|
||||||
# send: "Send Feedback"
|
|
||||||
#
|
|
||||||
diplomat_suggestion:
|
diplomat_suggestion:
|
||||||
# title: "Help translate CodeCombat!"
|
title: "Hjelp med oversettelse av CodeCombat!"
|
||||||
# sub_heading: "We need your language skills."
|
sub_heading: "Vi trenger dine språkkunnskaper."
|
||||||
pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Norwegian but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into Norwegian."
|
pitch_body: "Vi utvikler CodeCombat på Engelsk, men vi vi har allerede spillere over hele verden. Mange av dem vil spille på Norsk, men snakker ikke Engelsk, så hvis du kan snakke begge språk, vennligst vurder å meld deg på som Diplomat og hjelp å oversette både CodeCombat web siden og alle nivåene til Norsk."
|
||||||
missing_translations: "Until we can translate everything into Norwegian, you'll see English when Norwegian isn't available."
|
missing_translations: "Inntil vi har oversatt alt til Norsk vil du se Engelsk hvor Norsk ikke er tilgjengelig."
|
||||||
# learn_more: "Learn more about being a Diplomat"
|
learn_more: "Lær mer om hvordan det er å være en Diplomat"
|
||||||
# subscribe_as_diplomat: "Subscribe as a Diplomat"
|
subscribe_as_diplomat: "Meld deg på som Diplomat"
|
||||||
#
|
|
||||||
# account_settings:
|
account_settings:
|
||||||
# title: "Account Settings"
|
title: "Kontoinnstillinger"
|
||||||
# not_logged_in: "Log in or create an account to change your settings."
|
not_logged_in: "Logg inn eller opprett en konto for å endre innstillingene dine."
|
||||||
# autosave: "Changes Save Automatically"
|
autosave: "Endringer Lagres Automatisk"
|
||||||
# me_tab: "Me"
|
me_tab: "Meg"
|
||||||
# picture_tab: "Picture"
|
picture_tab: "Bilde"
|
||||||
# wizard_tab: "Wizard"
|
wizard_tab: "Trollmann"
|
||||||
# password_tab: "Password"
|
password_tab: "Passord"
|
||||||
# emails_tab: "Emails"
|
emails_tab: "Epost"
|
||||||
# language_tab: "Language"
|
language_tab: "Språk"
|
||||||
# gravatar_select: "Select which Gravatar photo to use"
|
gravatar_select: "Velg hvilket Gravatar bilde du ønsker å bruke"
|
||||||
# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image."
|
gravatar_add_photos: "Legg til miniatyrbilder og bildertil en Gravatar konto for at du skal kunne velge et bilde for din epost."
|
||||||
# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here."
|
gravatar_add_more_photos: "Legg til flere bilder til din Gravatar konto for å kunne aksessere dem her."
|
||||||
# wizard_color: "Wizard Clothes Color"
|
wizard_color: "Farge på Trollmannens Klær"
|
||||||
# new_password: "New Password"
|
new_password: "Nytt Passord"
|
||||||
# new_password_verify: "Verify"
|
new_password_verify: "Verifiser"
|
||||||
# email_subscriptions: "Email Subscriptions"
|
email_subscriptions: "Epost Abonnement"
|
||||||
# email_announcements: "Announcements"
|
email_announcements: "Kunngjøringer"
|
||||||
# email_announcements_description: "Get emails on the latest news and developments at CodeCombat."
|
email_announcements_description: "Få epost om siste nytt og utvikling fra CodeCombat."
|
||||||
# contributor_emails: "Contributor Class Emails"
|
contributor_emails: "Contributor Klasse Epost"
|
||||||
# contribute_prefix: "We're looking for people to join our party! Check out the "
|
contribute_prefix: "Vi leter etter folk som vil delta på festen vår! Sjekk ut "
|
||||||
# contribute_page: "contribute page"
|
contribute_page: "bidra siden"
|
||||||
# contribute_suffix: " to find out more."
|
contribute_suffix: " for å finne ut mer."
|
||||||
# email_toggle: "Toggle All"
|
email_toggle: "Vis Alle"
|
||||||
# language: "Language"
|
language: "Språk"
|
||||||
# saving: "Saving..."
|
saving: "Lagrer..."
|
||||||
# error_saving: "Error Saving"
|
error_saving: "Lagring Feilet"
|
||||||
# saved: "Changes Saved"
|
saved: "Endringer Lagret"
|
||||||
# password_mismatch: "Password does not match."
|
password_mismatch: "Passordene er ikke like."
|
||||||
#
|
|
||||||
# account_profile:
|
account_profile:
|
||||||
# edit_settings: "Edit Settings"
|
edit_settings: "Rediger Innstillinger"
|
||||||
# profile_for_prefix: "Profile for "
|
profile_for_prefix: "Profil for "
|
||||||
# profile_for_suffix: ""
|
profile_for_suffix: ""
|
||||||
# profile: "Profile"
|
profile: "Profil"
|
||||||
# user_not_found: "No user found. Check the URL?"
|
user_not_found: "Ingen bruker funnet. Sjekk URL'en?"
|
||||||
# gravatar_not_found_mine: "We couldn't find your profile associated with:"
|
gravatar_not_found_mine: "Vi kunne ikke finne din profil assosiert med:"
|
||||||
# gravatar_signup_prefix: "Sign up at "
|
gravatar_signup_prefix: "Registre det på "
|
||||||
# gravatar_signup_suffix: " to get set up!"
|
gravatar_signup_suffix: " for å sette opp!"
|
||||||
# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address."
|
gravatar_not_found_other: "Akk, det er ingen profil assosiert med denne personens epost adresse."
|
||||||
# gravatar_contact: "Contact"
|
gravatar_contact: "Kontakt"
|
||||||
# gravatar_websites: "Websites"
|
gravatar_websites: "Websider"
|
||||||
# gravatar_accounts: "As Seen On"
|
gravatar_accounts: "Som Sett På"
|
||||||
# gravatar_profile_link: "Full Gravatar Profile"
|
gravatar_profile_link: "Full Gravatar Profil"
|
||||||
#
|
|
||||||
# play_level:
|
play_level:
|
||||||
# level_load_error: "Level could not be loaded."
|
level_load_error: "Nivået kunne ikke bli lastet."
|
||||||
# done: "Done"
|
done: "Ferdig"
|
||||||
# grid: "Grid"
|
grid: "Grid"
|
||||||
# customize_wizard: "Customize Wizard"
|
customize_wizard: "Spesiallag Trollmann"
|
||||||
# home: "Home"
|
home: "Hjem"
|
||||||
# guide: "Guide"
|
guide: "Guide"
|
||||||
# multiplayer: "Multiplayer"
|
multiplayer: "Flerspiller"
|
||||||
# restart: "Restart"
|
restart: "Start på nytt"
|
||||||
# goals: "Goals"
|
goals: "Mål"
|
||||||
# action_timeline: "Action Timeline"
|
action_timeline: "Hendelsestidslinje"
|
||||||
# click_to_select: "Click on a unit to select it."
|
click_to_select: "Klikk på en enhet for å velge den."
|
||||||
# reload_title: "Reload All Code?"
|
reload_title: "Laste All Koden på Nytt?"
|
||||||
# reload_really: "Are you sure you want to reload this level back to the beginning?"
|
reload_really: "Er du sikker på at du vil laste dette nivået på nytt, tilbake til begynnelsen?"
|
||||||
# reload_confirm: "Reload All"
|
reload_confirm: "Last Alle på Nytt"
|
||||||
# victory_title_prefix: ""
|
victory_title_prefix: ""
|
||||||
# victory_title_suffix: " Complete"
|
victory_title_suffix: " Ferdig"
|
||||||
# victory_sign_up: "Sign Up for Updates"
|
victory_sign_up: "Tegn deg på for Oppdateringer"
|
||||||
# victory_sign_up_poke: "Want to get the latest news by email? Create a free account and we'll keep you posted!"
|
victory_sign_up_poke: "Vil du ha siste nytt på epost? Opprett en gratis konto, så vil vi holde deg oppdatert!"
|
||||||
# victory_rate_the_level: "Rate the level: "
|
victory_rate_the_level: "Bedøm nivået: "
|
||||||
# victory_play_next_level: "Play Next Level"
|
victory_play_next_level: "Spill Neste Nivå"
|
||||||
# victory_go_home: "Go Home"
|
victory_go_home: "Gå Hjem"
|
||||||
# victory_review: "Tell us more!"
|
victory_review: "Fortell oss mer!"
|
||||||
# victory_hour_of_code_done: "Are You Done?"
|
victory_hour_of_code_done: "Er du ferdig?"
|
||||||
# victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code!"
|
victory_hour_of_code_done_yes: "Ja, jeg er ferdig med min Time i Koding!"
|
||||||
# multiplayer_title: "Multiplayer Settings"
|
multiplayer_title: "Flerspillerinnstillinger"
|
||||||
# multiplayer_link_description: "Give this link to anyone to have them join you."
|
multiplayer_link_description: "Gi denne lenken til de du vil spille med."
|
||||||
# multiplayer_hint_label: "Hint:"
|
multiplayer_hint_label: "Hint:"
|
||||||
# multiplayer_hint: " Click the link to select all, then press Apple-C or Ctrl-C to copy the link."
|
multiplayer_hint: " Klikk lenken for å velge alle, så trykker du Apple-C eller Ctrl-C for å kopiere lenken."
|
||||||
# multiplayer_coming_soon: "More multiplayer features to come!"
|
multiplayer_coming_soon: "Det kommer flere flerspillsmuligheter!"
|
||||||
# guide_title: "Guide"
|
guide_title: "Guide"
|
||||||
# tome_minion_spells: "Your Minions' Spells"
|
tome_minion_spells: "Din Minions' Trylleformularer"
|
||||||
# tome_read_only_spells: "Read-Only Spells"
|
tome_read_only_spells: "Kun-Lesbare Trylleformularer"
|
||||||
# tome_other_units: "Other Units"
|
tome_other_units: "Andre Enheter"
|
||||||
# tome_cast_button_castable: "Cast"
|
tome_cast_button_castable: "Kast"
|
||||||
# tome_cast_button_casting: "Casting"
|
tome_cast_button_casting: "Kaster"
|
||||||
# tome_cast_button_cast: "Spell Cast"
|
tome_cast_button_cast: "Kast Trylleformular"
|
||||||
# tome_autocast_delay: "Autocast Delay"
|
tome_autocast_delay: "Automatisk Forsinkelse"
|
||||||
# tome_autocast_1: "1 second"
|
tome_autocast_1: "1 sekunder"
|
||||||
# tome_autocast_3: "3 seconds"
|
tome_autocast_3: "3 sekunder"
|
||||||
# tome_autocast_5: "5 seconds"
|
tome_autocast_5: "5 sekunder"
|
||||||
# tome_autocast_manual: "Manual"
|
tome_autocast_manual: "Manuelt"
|
||||||
# tome_select_spell: "Select a Spell"
|
tome_select_spell: "Velg et Trylleformular"
|
||||||
# tome_select_a_thang: "Select Someone for "
|
tome_select_a_thang: "Velg Noe for å "
|
||||||
# tome_available_spells: "Available Spells"
|
tome_available_spells: "Tilgjenglige Trylleformularer"
|
||||||
# hud_continue: "Continue (press shift-space)"
|
hud_continue: "Fortsett (trykk shift-mellomrom)"
|
||||||
|
|
|
@ -54,10 +54,10 @@ module.exports = class HomeView extends View
|
||||||
@stage.update()
|
@stage.update()
|
||||||
|
|
||||||
onMouseOverButton: ->
|
onMouseOverButton: ->
|
||||||
@wizardSprite.queueAction 'cast'
|
@wizardSprite?.queueAction 'cast'
|
||||||
|
|
||||||
onMouseOutButton: ->
|
onMouseOutButton: ->
|
||||||
@wizardSprite.queueAction 'idle'
|
@wizardSprite?.queueAction 'idle'
|
||||||
|
|
||||||
updateStage: =>
|
updateStage: =>
|
||||||
@stage.update()
|
@stage.update()
|
||||||
|
|
|
@ -18,6 +18,7 @@ module.exports = class HUDView extends View
|
||||||
'sprite:speech-updated': 'onSpriteDialogue'
|
'sprite:speech-updated': 'onSpriteDialogue'
|
||||||
'level-sprite-clear-dialogue': 'onSpriteClearDialogue'
|
'level-sprite-clear-dialogue': 'onSpriteClearDialogue'
|
||||||
'level:shift-space-pressed': 'onShiftSpacePressed'
|
'level:shift-space-pressed': 'onShiftSpacePressed'
|
||||||
|
'level:escape-pressed': 'onEscapePressed'
|
||||||
'dialogue-sound-completed': 'onDialogueSoundCompleted'
|
'dialogue-sound-completed': 'onDialogueSoundCompleted'
|
||||||
'thang-began-talking': 'onThangBeganTalking'
|
'thang-began-talking': 'onThangBeganTalking'
|
||||||
'thang-finished-talking': 'onThangFinishedTalking'
|
'thang-finished-talking': 'onThangFinishedTalking'
|
||||||
|
@ -157,7 +158,7 @@ module.exports = class HUDView extends View
|
||||||
response.button = $('button:last', group)
|
response.button = $('button:last', group)
|
||||||
else
|
else
|
||||||
s = $.i18n.t('play_level.hud_continue', defaultValue: "Continue (press shift-space)")
|
s = $.i18n.t('play_level.hud_continue', defaultValue: "Continue (press shift-space)")
|
||||||
if @shiftSpacePressed > 4
|
if @shiftSpacePressed > 4 && !@escapePressed
|
||||||
group.append('<span class="hud-hint">Press esc to skip dialog</span>')
|
group.append('<span class="hud-hint">Press esc to skip dialog</span>')
|
||||||
group.append($('<button class="btn btn-small banner with-dot">' + s + ' <div class="dot"></div></button>'))
|
group.append($('<button class="btn btn-small banner with-dot">' + s + ' <div class="dot"></div></button>'))
|
||||||
@lastResponses = null
|
@lastResponses = null
|
||||||
|
@ -189,6 +190,9 @@ module.exports = class HUDView extends View
|
||||||
r = @lastResponses[@lastResponses.length - 1]
|
r = @lastResponses[@lastResponses.length - 1]
|
||||||
_.delay (-> Backbone.Mediator.publish(r.channel, r.event)), 10
|
_.delay (-> Backbone.Mediator.publish(r.channel, r.event)), 10
|
||||||
|
|
||||||
|
onEscapePressed: (e) ->
|
||||||
|
@escapePressed = true
|
||||||
|
|
||||||
animateEnterButton: =>
|
animateEnterButton: =>
|
||||||
return unless @bubble
|
return unless @bubble
|
||||||
button = $('.enter', @bubble)
|
button = $('.enter', @bubble)
|
||||||
|
@ -323,4 +327,4 @@ module.exports = class HUDView extends View
|
||||||
|
|
||||||
destroy: ->
|
destroy: ->
|
||||||
super()
|
super()
|
||||||
@stage?.stopTalking()
|
@stage?.stopTalking()
|
||||||
|
|
|
@ -92,9 +92,9 @@ module.exports = class VictoryModal extends View
|
||||||
afterInsert: ->
|
afterInsert: ->
|
||||||
super()
|
super()
|
||||||
Backbone.Mediator.publish 'play-sound', trigger: "victory"
|
Backbone.Mediator.publish 'play-sound', trigger: "victory"
|
||||||
gapi?.plusone.go @$el[0]
|
gapi?.plusone?.go? @$el[0]
|
||||||
FB?.XFBML.parse @$el[0]
|
FB?.XFBML?.parse? @$el[0]
|
||||||
twttr?.widgets?.load()
|
twttr?.widgets?.load?()
|
||||||
|
|
||||||
onHidden: ->
|
onHidden: ->
|
||||||
Backbone.Mediator.publish 'level:victory-hidden'
|
Backbone.Mediator.publish 'level:victory-hidden'
|
||||||
|
|
|
@ -33,7 +33,7 @@ class DirectoryController(object):
|
||||||
shutil.rmtree(self.root_dir + os.sep + "coco" + os.sep + "node_modules",ignore_errors=True) #just in case
|
shutil.rmtree(self.root_dir + os.sep + "coco" + os.sep + "node_modules",ignore_errors=True) #just in case
|
||||||
try:
|
try:
|
||||||
if os.path.exists(self.tmp_directory):
|
if os.path.exists(self.tmp_directory):
|
||||||
self.remove_directories()
|
self.remove_tmp_directory()
|
||||||
os.mkdir(self.tmp_directory)
|
os.mkdir(self.tmp_directory)
|
||||||
except:
|
except:
|
||||||
raise errors.CoCoError(u"There was an error creating the directory structure, do you have correct permissions? Please remove all and start over.")
|
raise errors.CoCoError(u"There was an error creating the directory structure, do you have correct permissions? Please remove all and start over.")
|
||||||
|
|
|
@ -56,6 +56,9 @@ class SetupFactory(object):
|
||||||
print("Changing permissions of files...")
|
print("Changing permissions of files...")
|
||||||
#TODO: Make this more robust and portable(doesn't pose security risk though)
|
#TODO: Make this more robust and portable(doesn't pose security risk though)
|
||||||
subprocess.call("chmod -R 755 " + self.config.directory.root_dir + os.sep + "coco" + os.sep + "bin",shell=True)
|
subprocess.call("chmod -R 755 " + self.config.directory.root_dir + os.sep + "coco" + os.sep + "bin",shell=True)
|
||||||
|
chown_command = "chown -R " + os.getenv("SUDO_USER") + " bower_components"
|
||||||
|
chown_directory = self.config.directory.root_dir + os.sep + "coco"
|
||||||
|
subprocess.call(chown_command,shell=True,cwd=chown_directory)
|
||||||
|
|
||||||
print("Done! If you want to start the server, head into /coco/bin and run ")
|
print("Done! If you want to start the server, head into /coco/bin and run ")
|
||||||
print("1. ./coco-mongodb")
|
print("1. ./coco-mongodb")
|
||||||
|
|
12
vendor/scripts/fancy_select.js
vendored
12
vendor/scripts/fancy_select.js
vendored
|
@ -1,4 +1,4 @@
|
||||||
// Generated by CoffeeScript 1.6.3
|
// Generated by CoffeeScript 1.4.0
|
||||||
(function() {
|
(function() {
|
||||||
var $;
|
var $;
|
||||||
|
|
||||||
|
@ -6,8 +6,12 @@
|
||||||
|
|
||||||
$.fn.fancySelect = function(opts) {
|
$.fn.fancySelect = function(opts) {
|
||||||
var isiOS, settings;
|
var isiOS, settings;
|
||||||
|
if (opts == null) {
|
||||||
|
opts = {};
|
||||||
|
}
|
||||||
settings = $.extend({
|
settings = $.extend({
|
||||||
forceiOS: false
|
forceiOS: false,
|
||||||
|
includeBlank: false
|
||||||
}, opts);
|
}, opts);
|
||||||
isiOS = !!navigator.userAgent.match(/iP(hone|od|ad)/i);
|
isiOS = !!navigator.userAgent.match(/iP(hone|od|ad)/i);
|
||||||
return this.each(function() {
|
return this.each(function() {
|
||||||
|
@ -67,7 +71,7 @@
|
||||||
if (trigger.hasClass('open')) {
|
if (trigger.hasClass('open')) {
|
||||||
parent = trigger.parent();
|
parent = trigger.parent();
|
||||||
offParent = parent.offsetParent();
|
offParent = parent.offsetParent();
|
||||||
if ((parent.offset().top + parent.outerHeight() + options.outerHeight() + 20) > $(window).height()) {
|
if ((parent.offset().top + parent.outerHeight() + options.outerHeight() + 20) > $(window).height() + $(window).scrollTop()) {
|
||||||
options.addClass('overflowing');
|
options.addClass('overflowing');
|
||||||
} else {
|
} else {
|
||||||
options.removeClass('overflowing');
|
options.removeClass('overflowing');
|
||||||
|
@ -169,7 +173,7 @@
|
||||||
selOpts = sel.find('option');
|
selOpts = sel.find('option');
|
||||||
return sel.find('option').each(function(i, opt) {
|
return sel.find('option').each(function(i, opt) {
|
||||||
opt = $(opt);
|
opt = $(opt);
|
||||||
if (opt.val() && !opt.prop('disabled')) {
|
if (!opt.prop('disabled') && (opt.val() || settings.includeBlank)) {
|
||||||
if (opt.prop('selected')) {
|
if (opt.prop('selected')) {
|
||||||
return options.append("<li data-value=\"" + (opt.val()) + "\" class=\"selected\">" + (opt.text()) + "</li>");
|
return options.append("<li data-value=\"" + (opt.val()) + "\" class=\"selected\">" + (opt.text()) + "</li>");
|
||||||
} else {
|
} else {
|
||||||
|
|
Reference in a new issue