This commit is contained in:
Scott Erickson 2014-04-15 09:02:03 -07:00
commit b59e974a2e
20 changed files with 295 additions and 205 deletions

View file

@ -104,7 +104,7 @@ module.exports = class LevelLoader extends CocoClass
onSupermodelLoadedOne: (e) ->
@buildSpriteSheetsForThangType e.model if not @headless and e.model instanceof ThangType
@update()
@update() unless @destroyed
# Things to do when either the Session or Supermodel load
@ -160,7 +160,7 @@ module.exports = class LevelLoader extends CocoClass
buildSpriteSheetsForThangType: (thangType) ->
@grabThangTypeTeams() unless @thangTypeTeams
for team in @thangTypeTeams[thangType.get('original')] ? [null]
spriteOptions = {resolutionFactor: 4, async: true}
spriteOptions = {resolutionFactor: 4, async: false}
if thangType.get('kind') is 'Floor'
spriteOptions.resolutionFactor = 2
if team and color = @teamConfigs[team]?.color
@ -174,10 +174,14 @@ module.exports = class LevelLoader extends CocoClass
return unless building
#console.log 'Building:', thangType.get('name'), options
@spriteSheetsToBuild += 1
thangType.once 'build-complete', =>
onBuildComplete = =>
return if @destroyed
@spriteSheetsBuilt += 1
@notifyProgress()
if options.async
thangType.once 'build-complete', onBuildComplete
else
onBuildComplete()
# World init

View file

@ -455,7 +455,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
allProps = allProps.concat (@thang.moreProgrammableProperties ? [])
for property in allProps
if m = property.match /.*Range$/
if m = property.match /.*(Range|Distance|Radius)$/
if @thang[m[0]]? and @thang[m[0]] < 9001
@ranges.push
name: m[0]

View file

@ -54,7 +54,7 @@ module.exports = class Mark extends CocoClass
if @name is 'bounds' then @buildBounds()
else if @name is 'shadow' then @buildShadow()
else if @name is 'debug' then @buildDebug()
else if @name.match(/.+Range$/) then @buildRadius(@name)
else if @name.match(/.+(Range|Distance|Radius)$/) then @buildRadius(@name)
else if @thangType then @buildSprite()
else console.error "Don't know how to build mark for", @name
@mark?.mouseEnabled = false

View file

@ -291,6 +291,9 @@
time_current: "Now:"
time_total: "Max:"
time_goto: "Go to:"
infinite_loop_try_again: "Try Again"
infinite_loop_reset_level: "Reset Level"
infinite_loop_comment_out: "Comment Out My Code"
admin:
av_title: "Admin Views"

View file

@ -3,7 +3,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
loading: "Aan het laden..."
saving: "Opslaan..."
sending: "Verzenden..."
# send: "Send"
send: "Verzend"
cancel: "Annuleren"
save: "Opslagen"
# publish: "Publish"
@ -114,8 +114,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
forum_page: "ons forum"
forum_suffix: "."
send: "Feedback Verzonden"
# contact_candidate: "Contact Candidate"
# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns."
contact_candidate: "Contacteer Kandidaat"
recruitment_reminder: "Gebruik dit formulier om kandidaten te contacteren voor wie je een interesse hebt om te interviewen. Vergeet niet dat CodeCombat een honorarium vraagt van 18% op het eerste-jaarssalaris. Dit honorarium moet betaald worden als de kandidaat wordt aangenomen en kon tot na 90 dagen terugbetaald worden als deze ontslagen wordt in deze periode. Deeltijds-, contract- en thuiswerkers worden van dit honorarium vrijgesteld, alsook interims."
diplomat_suggestion:
title: "Help CodeCombat vertalen!"
@ -128,13 +128,13 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
wizard_settings:
title: "Tovenaar instellingen"
customize_avatar: "Bewerk je avatar"
# active: "Active"
# color: "Color"
# group: "Group"
active: "Actief"
color: "Kleur"
group: "Groep"
clothes: "Kleren"
trim: "Trim"
cloud: "Wolk"
# team: "Team"
team: "Team"
spell: "Spreuk"
boots: "Laarzen"
hue: "Hue"
@ -167,37 +167,37 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
error_saving: "Fout Tijdens Het Opslaan"
saved: "Aanpassingen Opgeslagen"
password_mismatch: "Het wachtwoord komt niet overeen."
# job_profile: "Job Profile"
# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks."
# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job."
job_profile: "Job Profiel"
job_profile_approved: "Jouw job profiel werd goedgekeurd door CodeCombat. Werkgevers zullen het kunnen bekijken totdat je het inactief zet of als er geen verandering in komt voor vier weken."
job_profile_explanation: "Hey! Vul dit in en we zullen je contacteren om je een job als softwareontwikkelaar te helpen vinden."
account_profile:
edit_settings: "Instellingen Aanpassen"
profile_for_prefix: "Profiel voor "
profile_for_suffix: ""
# approved: "Approved"
# not_approved: "Not Approved"
# looking_for: "Looking for:"
# last_updated: "Last updated:"
# contact: "Contact"
# work_experience: "Work Experience"
# education: "Education"
# our_notes: "Our Notes"
# projects: "Projects"
approved: "Goedgekeurd"
not_approved: "Niet goedgekeurd"
looking_for: "Zoekt naar:"
last_updated: "Laatst aangepast:"
contact: "Contact"
work_experience: "Werk ervaring"
education: "Opleiding"
our_notes: "Onze notities"
projects: "Projecten"
# employers:
# want_to_hire_our_players: "Want to hire expert CodeCombat players?"
# contact_george: "Contact George to see our candidates"
# candidates_count_prefix: "We currently have "
# candidates_count_many: "many"
# candidates_count_suffix: "highly skilled and vetted developers looking for work."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
# candidate_role: "Role"
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
employers:
want_to_hire_our_players: "Wil je expert CodeCombat spelers aanwerven? "
contact_george: "Contacteer George om onze kandidaten te zien"
candidates_count_prefix: "Momenteel hebben we "
candidates_count_many: "veel"
candidates_count_suffix: "zeer getalenteerde en ervaren ontwikkelaars die werk zoeken."
candidate_name: "Naam"
candidate_location: "Locatie"
candidate_looking_for: "Zoekt naar"
candidate_role: "Rol"
candidate_top_skills: "Beste vaardigheden"
candidate_years_experience: "Jaren ervaring"
candidate_last_updated: "Laatst aangepast"
play_level:
level_load_error: "Level kon niet geladen worden: "
@ -316,14 +316,14 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
contact_us: "contacteer ons!"
hipchat_prefix: "Je kan ons ook vinden in ons"
hipchat_url: "(Engelstalig) HipChat kanaal."
# back: "Back"
back: "Terug"
revert: "Keer wijziging terug"
revert_models: "keer wijziging model terug"
# fork_title: "Fork New Version"
# fork_creating: "Creating Fork..."
# more: "More"
# wiki: "Wiki"
# live_chat: "Live Chat"
fork_title: "Kloon naar nieuwe versie"
fork_creating: "Kloon aanmaken..."
more: "Meer"
wiki: "Wiki"
live_chat: "Live Chat"
level_some_options: "Enkele opties?"
level_tab_thangs: "Elementen"
level_tab_scripts: "Scripts"
@ -331,11 +331,11 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
level_tab_components: "Componenten"
level_tab_systems: "Systemen"
level_tab_thangs_title: "Huidige Elementen"
# level_tab_thangs_all: "All"
level_tab_thangs_all: "Alles"
level_tab_thangs_conditions: "Start Condities"
level_tab_thangs_add: "Voeg element toe"
# delete: "Delete"
# duplicate: "Duplicate"
delete: "Verwijder"
duplicate: "Dupliceer"
level_settings_title: "Instellingen"
level_component_tab_title: "Huidige Componenten"
level_component_btn_new: "Maak een nieuwe component aan"
@ -357,7 +357,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
article_search_title: "Zoek Artikels Hier"
thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier"
# signup_to_create: "Sign Up to Create a New Content"
signup_to_create: "Registreer je om nieuwe content te maken"
# read_only_warning2: "Note: you can't save any edits here, because you're not logged in."
article:
@ -370,13 +370,13 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
body: "Inhoud"
version: "Versie"
commit_msg: "Commit Bericht"
# version_history: "Version History"
version_history: "Versie geschiedenis"
version_history_for: "Versie geschiedenis voor: "
result: "Resultaat"
results: "Resultaten"
description: "Beschrijving"
or: "of"
# subject: "Subject"
subject: "Onderwerp"
email: "Email"
password: "Wachtwoord"
message: "Bericht"
@ -662,6 +662,6 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
gplus_friends: "G+ vrienden"
gplus_friend_sessions: "Sessies van G+ vrienden"
leaderboard: "Scorebord"
# user_schema: "User Schema"
# user_profile: "User Profile"
user_schema: "Gebruikersschema"
user_profile: "Gebruikersprofiel"
# patches: "Patches"

View file

@ -3,7 +3,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
loading: "Aan het laden..."
saving: "Opslaan..."
sending: "Verzenden..."
# send: "Send"
send: "Verzend"
cancel: "Annuleren"
save: "Opslagen"
# publish: "Publish"
@ -114,8 +114,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
forum_page: "ons forum"
forum_suffix: "."
send: "Feedback Verzonden"
# contact_candidate: "Contact Candidate"
# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns."
contact_candidate: "Contacteer Kandidaat"
recruitment_reminder: "Gebruik dit formulier om kandidaten te contacteren voor wie je een interesse hebt om te interviewen. Vergeet niet dat CodeCombat een honorarium vraagt van 18% op het eerste-jaarssalaris. Dit honorarium moet betaald worden als de kandidaat wordt aangenomen en kon tot na 90 dagen terugbetaald worden als deze ontslagen wordt in deze periode. Deeltijds-, contract- en thuiswerkers worden van dit honorarium vrijgesteld, alsook interims."
diplomat_suggestion:
title: "Help CodeCombat vertalen!"
@ -128,13 +128,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
wizard_settings:
title: "Tovenaar instellingen"
customize_avatar: "Bewerk je avatar"
# active: "Active"
# color: "Color"
# group: "Group"
active: "Actief"
color: "Kleur"
group: "Groep"
clothes: "Kleren"
trim: "Trim"
cloud: "Wolk"
# team: "Team"
team: "Team"
spell: "Spreuk"
boots: "Laarzen"
hue: "Hue"
@ -167,37 +167,37 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
error_saving: "Fout Tijdens Het Opslaan"
saved: "Aanpassingen Opgeslagen"
password_mismatch: "Het wachtwoord komt niet overeen."
# job_profile: "Job Profile"
# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks."
# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job."
job_profile: "Job Profiel"
job_profile_approved: "Jouw job profiel werd goedgekeurd door CodeCombat. Werkgevers zullen het kunnen bekijken totdat je het inactief zet of als er geen verandering in komt voor vier weken."
job_profile_explanation: "Hey! Vul dit in en we zullen je contacteren om je een job als softwareontwikkelaar te helpen vinden."
account_profile:
edit_settings: "Instellingen Aanpassen"
profile_for_prefix: "Profiel voor "
profile_for_suffix: ""
# approved: "Approved"
# not_approved: "Not Approved"
# looking_for: "Looking for:"
# last_updated: "Last updated:"
# contact: "Contact"
# work_experience: "Work Experience"
# education: "Education"
# our_notes: "Our Notes"
# projects: "Projects"
approved: "Goedgekeurd"
not_approved: "Niet goedgekeurd"
looking_for: "Zoekt naar:"
last_updated: "Laatst aangepast:"
contact: "Contact"
work_experience: "Werk ervaring"
education: "Opleiding"
our_notes: "Onze notities"
projects: "Projecten"
# employers:
# want_to_hire_our_players: "Want to hire expert CodeCombat players?"
# contact_george: "Contact George to see our candidates"
# candidates_count_prefix: "We currently have "
# candidates_count_many: "many"
# candidates_count_suffix: "highly skilled and vetted developers looking for work."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
# candidate_role: "Role"
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
employers:
want_to_hire_our_players: "Wil je expert CodeCombat spelers aanwerven? "
contact_george: "Contacteer George om onze kandidaten te zien"
candidates_count_prefix: "Momenteel hebben we "
candidates_count_many: "veel"
candidates_count_suffix: "zeer getalenteerde en ervaren ontwikkelaars die werk zoeken."
candidate_name: "Naam"
candidate_location: "Locatie"
candidate_looking_for: "Zoekt naar"
candidate_role: "Rol"
candidate_top_skills: "Beste vaardigheden"
candidate_years_experience: "Jaren ervaring"
candidate_last_updated: "Laatst aangepast"
play_level:
level_load_error: "Level kon niet geladen worden: "
@ -316,14 +316,14 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
contact_us: "contacteer ons!"
hipchat_prefix: "Je kan ons ook vinden in ons"
hipchat_url: "(Engelstalig) HipChat kanaal."
# back: "Back"
back: "Terug"
revert: "Keer wijziging terug"
revert_models: "keer wijziging model terug"
# fork_title: "Fork New Version"
# fork_creating: "Creating Fork..."
# more: "More"
# wiki: "Wiki"
# live_chat: "Live Chat"
fork_title: "Kloon naar nieuwe versie"
fork_creating: "Kloon aanmaken..."
more: "Meer"
wiki: "Wiki"
live_chat: "Live Chat"
level_some_options: "Enkele opties?"
level_tab_thangs: "Elementen"
level_tab_scripts: "Scripts"
@ -331,11 +331,11 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
level_tab_components: "Componenten"
level_tab_systems: "Systemen"
level_tab_thangs_title: "Huidige Elementen"
# level_tab_thangs_all: "All"
level_tab_thangs_all: "Alles"
level_tab_thangs_conditions: "Start Condities"
level_tab_thangs_add: "Voeg element toe"
# delete: "Delete"
# duplicate: "Duplicate"
delete: "Verwijder"
duplicate: "Dupliceer"
level_settings_title: "Instellingen"
level_component_tab_title: "Huidige Componenten"
level_component_btn_new: "Maak een nieuwe component aan"
@ -357,8 +357,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
article_search_title: "Zoek Artikels Hier"
thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier"
# signup_to_create: "Sign Up to Create a New Content"
# read_only_warning2: "Note: you can't save any edits here, because you're not logged in."
signup_to_create: "Registreer je om nieuwe content te maken"
read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator."
article:
edit_btn_preview: "Voorbeeld"
@ -370,13 +370,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
body: "Inhoud"
version: "Versie"
commit_msg: "Commit Bericht"
# version_history: "Version History"
version_history: "Versie geschiedenis"
version_history_for: "Versie geschiedenis voor: "
result: "Resultaat"
results: "Resultaten"
description: "Beschrijving"
or: "of"
# subject: "Subject"
subject: "Onderwerp"
email: "Email"
password: "Wachtwoord"
message: "Bericht"
@ -662,6 +662,6 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
gplus_friends: "G+ vrienden"
gplus_friend_sessions: "Sessies van G+ vrienden"
leaderboard: "Scorebord"
# user_schema: "User Schema"
# user_profile: "User Profile"
user_schema: "Gebruikersschema"
user_profile: "Gebruikersprofiel"
# patches: "Patches"

View file

@ -3,7 +3,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
loading: "Aan het laden..."
saving: "Opslaan..."
sending: "Verzenden..."
# send: "Send"
send: "Verzend"
cancel: "Annuleren"
save: "Opslagen"
# publish: "Publish"
@ -114,8 +114,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
forum_page: "ons forum"
forum_suffix: "."
send: "Feedback Verzonden"
# contact_candidate: "Contact Candidate"
# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 18% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns."
contact_candidate: "Contacteer Kandidaat"
recruitment_reminder: "Gebruik dit formulier om kandidaten te contacteren voor wie je een interesse hebt om te interviewen. Vergeet niet dat CodeCombat een honorarium vraagt van 18% op het eerste-jaarssalaris. Dit honorarium moet betaald worden als de kandidaat wordt aangenomen en kon tot na 90 dagen terugbetaald worden als deze ontslagen wordt in deze periode. Deeltijds-, contract- en thuiswerkers worden van dit honorarium vrijgesteld, alsook interims."
diplomat_suggestion:
title: "Help CodeCombat vertalen!"
@ -128,13 +128,13 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
wizard_settings:
title: "Tovenaar instellingen"
customize_avatar: "Bewerk je avatar"
# active: "Active"
# color: "Color"
# group: "Group"
active: "Actief"
color: "Kleur"
group: "Groep"
clothes: "Kleren"
trim: "Trim"
cloud: "Wolk"
# team: "Team"
team: "Team"
spell: "Spreuk"
boots: "Laarzen"
hue: "Hue"
@ -167,37 +167,37 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
error_saving: "Fout Tijdens Het Opslaan"
saved: "Aanpassingen Opgeslagen"
password_mismatch: "Het wachtwoord komt niet overeen."
# job_profile: "Job Profile"
# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks."
# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job."
job_profile: "Job Profiel"
job_profile_approved: "Jouw job profiel werd goedgekeurd door CodeCombat. Werkgevers zullen het kunnen bekijken totdat je het inactief zet of als er geen verandering in komt voor vier weken."
job_profile_explanation: "Hey! Vul dit in en we zullen je contacteren om je een job als softwareontwikkelaar te helpen vinden."
account_profile:
edit_settings: "Instellingen Aanpassen"
profile_for_prefix: "Profiel voor "
profile_for_suffix: ""
# approved: "Approved"
# not_approved: "Not Approved"
# looking_for: "Looking for:"
# last_updated: "Last updated:"
# contact: "Contact"
# work_experience: "Work Experience"
# education: "Education"
# our_notes: "Our Notes"
# projects: "Projects"
approved: "Goedgekeurd"
not_approved: "Niet goedgekeurd"
looking_for: "Zoekt naar:"
last_updated: "Laatst aangepast:"
contact: "Contact"
work_experience: "Werk ervaring"
education: "Opleiding"
our_notes: "Onze notities"
projects: "Projecten"
# employers:
# want_to_hire_our_players: "Want to hire expert CodeCombat players?"
# contact_george: "Contact George to see our candidates"
# candidates_count_prefix: "We currently have "
# candidates_count_many: "many"
# candidates_count_suffix: "highly skilled and vetted developers looking for work."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
# candidate_role: "Role"
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
employers:
want_to_hire_our_players: "Wil je expert CodeCombat spelers aanwerven? "
contact_george: "Contacteer George om onze kandidaten te zien"
candidates_count_prefix: "Momenteel hebben we "
candidates_count_many: "veel"
candidates_count_suffix: "zeer getalenteerde en ervaren ontwikkelaars die werk zoeken."
candidate_name: "Naam"
candidate_location: "Locatie"
candidate_looking_for: "Zoekt naar"
candidate_role: "Rol"
candidate_top_skills: "Beste vaardigheden"
candidate_years_experience: "Jaren ervaring"
candidate_last_updated: "Laatst aangepast"
play_level:
level_load_error: "Level kon niet geladen worden: "
@ -316,14 +316,14 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
contact_us: "contacteer ons!"
hipchat_prefix: "Je kan ons ook vinden in ons"
hipchat_url: "(Engelstalig) HipChat kanaal."
# back: "Back"
back: "Terug"
revert: "Keer wijziging terug"
revert_models: "keer wijziging model terug"
# fork_title: "Fork New Version"
# fork_creating: "Creating Fork..."
# more: "More"
# wiki: "Wiki"
# live_chat: "Live Chat"
fork_title: "Kloon naar nieuwe versie"
fork_creating: "Kloon aanmaken..."
more: "Meer"
wiki: "Wiki"
live_chat: "Live Chat"
level_some_options: "Enkele opties?"
level_tab_thangs: "Elementen"
level_tab_scripts: "Scripts"
@ -331,11 +331,11 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
level_tab_components: "Componenten"
level_tab_systems: "Systemen"
level_tab_thangs_title: "Huidige Elementen"
# level_tab_thangs_all: "All"
level_tab_thangs_all: "Alles"
level_tab_thangs_conditions: "Start Condities"
level_tab_thangs_add: "Voeg element toe"
# delete: "Delete"
# duplicate: "Duplicate"
delete: "Verwijder"
duplicate: "Dupliceer"
level_settings_title: "Instellingen"
level_component_tab_title: "Huidige Componenten"
level_component_btn_new: "Maak een nieuwe component aan"
@ -357,7 +357,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
article_search_title: "Zoek Artikels Hier"
thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier"
# signup_to_create: "Sign Up to Create a New Content"
signup_to_create: "Registreer je om nieuwe content te maken"
# read_only_warning2: "Note: you can't save any edits here, because you're not logged in."
article:
@ -370,13 +370,13 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
body: "Inhoud"
version: "Versie"
commit_msg: "Commit Bericht"
# version_history: "Version History"
version_history: "Versie geschiedenis"
version_history_for: "Versie geschiedenis voor: "
result: "Resultaat"
results: "Resultaten"
description: "Beschrijving"
or: "of"
# subject: "Subject"
subject: "Onderwerp"
email: "Email"
password: "Wachtwoord"
message: "Bericht"
@ -662,6 +662,6 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
gplus_friends: "G+ vrienden"
gplus_friend_sessions: "Sessies van G+ vrienden"
leaderboard: "Scorebord"
# user_schema: "User Schema"
# user_profile: "User Profile"
user_schema: "Gebruikersschema"
user_profile: "Gebruikersprofiel"
# patches: "Patches"

View file

@ -2,11 +2,21 @@ module.exports =
"application:idle-changed":
{} # TODO schema
"fbapi-loaded":
{} # TODO schema
"logging-in-with-facebook":
{} # TODO schema
"facebook-logged-in":
{} # TODO schema
title: "Facebook logged in"
$schema: "http://json-schema.org/draft-04/schema#"
description: "Published when you successfully logged in with facebook"
type: "object"
properties:
response:
type: "string"
required: ["response"]
"gapi-loaded":
{} # TODO schema
@ -15,4 +25,11 @@ module.exports =
{} # TODO schema
"gplus-logged-in":
{} # TODO schema
title: "G+ logged in"
$schema: "http://json-schema.org/draft-04/schema#"
description: "Published when you successfully logged in with G+"
type: "object"
properties:
authResult:
type: "string"
required: ["authResult"]

View file

@ -9,19 +9,63 @@ module.exports =
$ref: "bus"
"bus:connected":
{} # TODO schema
title: "Bus Connected"
$schema: "http://json-schema.org/draft-04/schema#"
description: "Published when a Bus has connected"
type: "object"
properties:
bus:
$ref: "bus"
"bus:disconnected":
{} # TODO schema
title: "Bus Disconnected"
$schema: "http://json-schema.org/draft-04/schema#"
description: "Published when a Bus has disconnected"
type: "object"
properties:
bus:
$ref: "bus"
"bus:new-message":
{} # TODO schema
title: "Message sent"
$schema: "http://json-schema.org/draft-04/schema#"
description: "A new message was sent"
type: "object"
properties:
message:
type: "string"
bus:
$ref: "bus"
"bus:player-joined":
{} # TODO schema
title: "Player joined"
$schema: "http://json-schema.org/draft-04/schema#"
description: "A new player has joined"
type: "object"
properties:
player:
type: "object"
bus:
$ref: "bus"
"bus:player-left":
{} # TODO schema
title: "Player left"
$schema: "http://json-schema.org/draft-04/schema#"
description: "A player has left"
type: "object"
properties:
player:
type: "object"
bus:
$ref: "bus"
"bus:player-states-changed":
{} # TODO schema
title: "Player state changes"
$schema: "http://json-schema.org/draft-04/schema#"
description: "State of the players has changed"
type: "object"
properties:
player:
type: "array"
bus:
$ref: "bus"

View file

@ -33,6 +33,7 @@
.job-profile-container
width: 100%
height: 100%
min-height: 600px
padding: 0
display: table

View file

@ -157,7 +157,8 @@ block content
.col-sm-8
h3 Glen De Cauwsemaecker
h3
a(href="http://www.glendc.com/") Glen De Cauwsemaecker
p(data-i18n="about.glen_description")
| Programmer and passionate game developer,

View file

@ -13,7 +13,7 @@ block content
button.btn.edit-settings-button#toggle-job-profile-approved
i.icon-cog
span(data-i18n='account_profile.approved').approved Approved
span(data-i18n='account_profile.approved').not-approved Not Approved
span(data-i18n='account_profile.not_approved').not-approved Not Approved
if user.get('jobProfile')
- var profile = user.get('jobProfile');
@ -68,7 +68,7 @@ block content
if profile.education.length
h3.experience-header
img.header-icon(src="/images/pages/account/profile/education.png", alt="")
span(data-i18n="account_profile.work_experience") Education
span(data-i18n="account_profile.education") Education
each school in profile.education
div.duration.pull-right= school.duration
| #{school.degree} at #{school.school}

View file

@ -8,5 +8,6 @@ block modal-body-content
p(data-i18n="play_level.infinite_loop_explanation") The initial code to build the world never finished running. It's probably either really slow or has an infinite loop. Or there might be a bug. You can either try running this code again or reset the code to the default state. If that doesn't fix it, please let us know.
block modal-footer-content
a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.infinite_loop_wait").btn#restart-level-infinite-loop-retry-button Try Again
a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.infinite_loop_reload").btn.btn-primary#restart-level-infinite-loop-confirm-button Reset Level
a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.infinite_loop_try_again").btn#restart-level-infinite-loop-retry-button Try Again
a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.infinite_loop_reset_level").btn.btn-danger#restart-level-infinite-loop-confirm-button Reset Level
a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.infinite_loop_comment_out").btn.btn-primary#restart-level-infinite-loop-comment-button Comment Out My Code

View file

@ -20,7 +20,7 @@ module.exports = class HomeView extends View
majorVersion = $.browser.versionNumber
c.isOldBrowser = true if $.browser.mozilla && majorVersion < 21
c.isOldBrowser = true if $.browser.chrome && majorVersion < 17
c.isOldBrowser = true if $.browser.safari && majorVersion < 536
c.isOldBrowser = true if $.browser.safari && majorVersion < 6
else
console.warn 'no more jquery browser version...'
c.isEnglish = (me.get('preferredLanguage') or 'en').startsWith 'en'

View file

@ -8,3 +8,4 @@ module.exports = class InfiniteLoopModal extends View
events:
'click #restart-level-infinite-loop-retry-button': -> Backbone.Mediator.publish 'tome:cast-spell'
'click #restart-level-infinite-loop-confirm-button': -> Backbone.Mediator.publish 'restart-level'
'click #restart-level-infinite-loop-comment-button': -> Backbone.Mediator.publish 'tome:comment-my-code'

View file

@ -51,6 +51,7 @@ module.exports = class TomeView extends View
'tome:change-language': 'updateLanguageForAllSpells'
'surface:sprite-selected': 'onSpriteSelected'
'god:new-world-created': 'onNewWorld'
'tome:comment-my-code': 'onCommentMyCode'
events:
'click #spell-view': 'onSpellViewClick'
@ -78,6 +79,14 @@ module.exports = class TomeView extends View
@thangList.adjustThangs @spells, thangs
@spellList.adjustSpells @spells
onCommentMyCode: (e) ->
for spellKey, spell of @spells when spell.canWrite()
console.log "Commenting out", spellKey
commentedSource = 'return; // Commented out to stop infinite loop.\n' + spell.getSource()
spell.view.updateACEText commentedSource
spell.view.recompile false
@cast()
createWorker: ->
return
# In progress

View file

@ -204,6 +204,14 @@ module.exports = class PlayView extends View
image: '/file/db/level/526fd3043c637ece50001bb2/the_herd_icon.png'
description: "Transfer a stack of ogres while preserving their honor. - by Alexandru"
}
{
name: 'Find the Spy'
difficulty: 2
id: 'find-the-spy'
image: '/file/db/level/526ae95c1e5cd30000000008/zone_of_danger_icon.png'
description: "Identify the spies hidden among your soldiers - by Nathan Gossett"
}
#{
# name: 'Enemy Artillery'
# difficulty: 1

View file

@ -7,23 +7,24 @@
=============================================================================
Congratulations, you are now part of the CodeCombat community.
Now that your Develop Environment has been setup, you are ready to start
contributing and help us make this world a better place.
Do you have questions or would you like to meet us?
Talk with us on hipchat @ https://www.hipchat.com/g3plnOKqa
Another way to reach is, is by visiting our forum.
You can find it @ http://discourse.codecombat.com/
You can read about the latest developments on our blog site.
This one can be found @ http://blog.codecombat.com/
Last but not least, you can find most of our documentation
and information on our wiki @ https://github.com/codecombat/codecombat/wiki
We hope you'll enjoy yourself within our community, just as much as us.
Gefeliciteerd, je bent nu een deel van de CodeCombat gemeenschap.
Nu dat je ontwikkelingsomgeving volledig klaar is kun je beginnen met bijdragen
en ons helpen de wereld een betere plek te maken.
Heb je enige vragen of wil je ons ontmoeten?
Praat met ons op hipchat @ https://www.hipchat.com/g3plnOKqa
Je kunt ons ook bereiken via de forums.
Deze zijn te vinden @ http://discourse.codecombat.com/
De laatste ontwikkelingen kun je ook altijd volgen op onze blog.
Deze is te vinden @ http://blog.codecombat.com/
Tenslotte kun je de meeste documentatie en informatie vinden
op onze wiki @ https://github.com/codecombat/codecombat/wiki
We hopen dat je het naar je zin zult hebben en net zoveel plezier zult beleven als wij.
- Nick, George, Scott, Michael, Jeremy and Glen

View file

@ -5,7 +5,7 @@ SessionHandler = require('./sessions/level_session_handler')
Feedback = require('./feedbacks/LevelFeedback')
Handler = require('../commons/Handler')
mongoose = require('mongoose')
async = require 'async'
LevelHandler = class LevelHandler extends Handler
modelClass: Level
jsonSchema: require '../../app/schemas/models/level'
@ -220,7 +220,7 @@ LevelHandler = class LevelHandler extends Handler
userMap[u._id] = u[serviceProperty] for u in userResults
session[serviceProperty] = userMap[session.creator] for session in sessionResults
res.send(sessionResults)
getRandomSessionPair: (req, res, slugOrID) ->
findParameters = {}
if Handler.isID slugOrID
@ -235,32 +235,34 @@ LevelHandler = class LevelHandler extends Handler
query.exec (err, level) =>
return @sendDatabaseError(res, err) if err
return @sendNotFoundError(res) unless level?
sessionsQueryParameters =
level:
original: level.original.toString()
majorVersion: level.version.major
submitted:true
query = Session
.find(sessionsQueryParameters)
.select('team')
.lean()
query.exec (err, resultSessions) =>
return @sendDatabaseError res, err if err? or not resultSessions
teamSessions = _.groupBy resultSessions, 'team'
sessions = []
numberOfTeams = 0
for team of teamSessions
numberOfTeams += 1
sessions.push _.sample(teamSessions[team])
if numberOfTeams != 2 then return @sendDatabaseError res, "There aren't sessions of 2 teams, so cannot choose random opponents!"
@sendSuccess res, sessions
query = Session.find(sessionsQueryParameters).distinct("team")
query.exec (err, teams) =>
return @sendDatabaseError res, err if err? or not teams
findTop20Players = (sessionQueryParams, team, cb) ->
sessionQueryParams["team"] = team
Session.aggregate [
{$match: sessionQueryParams}
{$project: {"totalScore":1}}
{$sort: {"totalScore":-1}}
{$limit: 20}
], cb
async.map teams, findTop20Players.bind(@, sessionsQueryParameters), (err, map) =>
if err? then return @sendDatabaseError(res, err)
sessions = []
for mapItem in map
sessions.push _.sample(mapItem)
if map.length != 2 then return @sendDatabaseError res, "There aren't sessions of 2 teams, so cannot choose random opponents!"
@sendSuccess res, sessions
getFeedback: (req, res, id) ->
return @sendNotFoundError(res) unless req.user
@fetchLevelByIDAndHandleErrors id, req, res, (err, level) =>

View file

@ -165,13 +165,11 @@ UserHandler = class UserHandler extends Handler
simulatedByQuery[if req.query.order is 1 then "$gt" else "$lte"] = req.query.scoreOffset
query.simulatedBy = simulatedByQuery
sortOrder = 1 if req.query.order is 1
aggregation = User.aggregate [
{$match: query}
{$project:{"name":1, "simulatedBy": 1, "simulatedFor":1}}
{$sort: {"simulatedBy":sortOrder}}
{$limit: limit}
]
aggregation.exec (err, otherUsers) ->
else
query.simulatedBy = {"$exists": true}
leaderboardQuery = User.find(query).select("name simulatedBy simulatedFor").sort({"simulatedBy":sortOrder}).limit(limit)
leaderboardQuery.exec (err, otherUsers) ->
otherUsers = _.reject otherUsers, _id: req.user._id if req.query.scoreOffset isnt -1
otherUsers ?= []
res.send(otherUsers)