From 3eeb9a6a269f6f9a4f4085b32828069b078558ee Mon Sep 17 00:00:00 2001 From: Nicholas Winter Date: Sat, 12 Sep 2015 06:54:14 -0700 Subject: [PATCH 1/2] Reset some stuff for Ace of Coders and Robot Ragnarok. Put multiplayer link back now that we have two good mirror match levels and aren't listing the old arenas. --- app/templates/base.jade | 2 +- app/templates/common/table.jade | 2 -- app/templates/play/campaign-view.jade | 2 -- app/views/clans/ClanDetailsView.coffee | 1 - app/views/ladder/MainLadderView.coffee | 16 +++++++--------- app/views/play/CampaignView.coffee | 7 +++---- server/queues/scoring/getTwoGames.coffee | 3 +-- 7 files changed, 12 insertions(+), 21 deletions(-) diff --git a/app/templates/base.jade b/app/templates/base.jade index bf21fc9a9..ec136a7c1 100644 --- a/app/templates/base.jade +++ b/app/templates/base.jade @@ -13,7 +13,6 @@ block header a(href='/clans', data-i18n="clans.clans") Clans a(href='http://discourse.codecombat.com/', data-i18n="nav.forum") a(href='/community', data-i18n="nav.community") - //a(href='/play/ladder', data-i18n="home.multiplayer").multiplayer-nav-link if me.get('anonymous') === false span.dropdown @@ -63,6 +62,7 @@ block footer a(href='http://blog.codecombat.com/', data-i18n="nav.blog") a(href='/contribute', tabindex=-1, data-i18n="nav.contribute") Contribute a(href='/legal', tabindex=-1, data-i18n="nav.legal") Legal + a(href='/play/ladder', tabindex=-1, data-i18n="home.multiplayer").multiplayer-nav-link if me.isAdmin() a(href='/admin', data-i18n="nav.admin") Admin diff --git a/app/templates/common/table.jade b/app/templates/common/table.jade index a38f2b75b..bd768ce42 100755 --- a/app/templates/common/table.jade +++ b/app/templates/common/table.jade @@ -16,8 +16,6 @@ table.table block tableBody for document in documents - var data = document.attributes; - - if(data.slug == 'ace-of-coders' && new Date() < new Date(1441863900000)) - - continue; tr(class=document.getOwner() == me.id ? 'mine' : '') td a(href="/editor/#{page}/#{data.slug || data._id}") diff --git a/app/templates/play/campaign-view.jade b/app/templates/play/campaign-view.jade index 6e69fc9e0..53bb2bb36 100644 --- a/app/templates/play/campaign-view.jade +++ b/app/templates/play/campaign-view.jade @@ -17,8 +17,6 @@ if campaign 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.slug == 'lost-viking' img.star(src="/file/db/thang.type/5441c3144e9aeb727cc97111/portrait.png") - else if level.slug == 'robot-ragnarok' - img.star(src="/file/db/thang.type/54ea35fd2b7506e891ca70d5/portrait.png") else if level.requiresSubscription img.star(src="/images/pages/play/star.png") if levelStatusMap[level.slug] === 'complete' diff --git a/app/views/clans/ClanDetailsView.coffee b/app/views/clans/ClanDetailsView.coffee index 111eae966..16f335ac3 100644 --- a/app/views/clans/ClanDetailsView.coffee +++ b/app/views/clans/ClanDetailsView.coffee @@ -191,7 +191,6 @@ module.exports = class ClanDetailsView extends RootView name: utils.i18n(campaign.attributes, 'fullName') or utils.i18n(campaign.attributes, 'name') levels: [] for levelID, level of campaign.get('levels') - continue if level.slug is 'ace-of-coders' and new Date() < new Date(1441863900000) campaignLevelProgression.levels.push ID: levelID slug: level.slug diff --git a/app/views/ladder/MainLadderView.coffee b/app/views/ladder/MainLadderView.coffee index 620a2d9ee..4656abfa2 100644 --- a/app/views/ladder/MainLadderView.coffee +++ b/app/views/ladder/MainLadderView.coffee @@ -55,6 +55,13 @@ module.exports = class LadderHomeView extends RootView context heroArenas = [ + { + name: 'Ace of Coders' + difficulty: 3 + id: 'ace-of-coders' + image: '/file/db/level/55de80407a57948705777e89/Ace-of-Coders-banner.png' + description: 'Battle for control over the icy treasure chests as your gigantic warrior marshals his armies against his mirror-match nemesis.' + } { name: 'Zero Sum' difficulty: 3 @@ -62,13 +69,6 @@ heroArenas = [ image: '/file/db/level/550363b4ec31df9c691ab629/MAR26-Banner_Zero%20Sum.png' description: 'Unleash your coding creativity in both gold gathering and battle tactics in this alpine mirror match between red sorcerer and blue sorcerer.' } - { - name: 'Ace of Coders' - difficulty: 3 - id: 'ace-of-coders' - image: '/file/db/level/550363b4ec31df9c691ab629/MAR26-Banner_Zero%20Sum.png' - description: 'Battle for control over the icy treasure chests as your gigantic warrior marshals his armies against his mirror-match nemesis.' - } { name: 'Cavern Survival' difficulty: 1 @@ -99,8 +99,6 @@ heroArenas = [ } ] -heroArenas = _.reject heroArenas, id: 'ace-of-coders' if new Date() < new Date(1441863900000) - oldArenas = [ { name: 'Criss-Cross' diff --git a/app/views/play/CampaignView.coffee b/app/views/play/CampaignView.coffee index e896b4f38..84ab46c8d 100644 --- a/app/views/play/CampaignView.coffee +++ b/app/views/play/CampaignView.coffee @@ -267,7 +267,7 @@ module.exports = class CampaignView extends RootView level.locked = false if @campaign?.get('name') is 'Auditions' level.locked = false if @campaign?.get('name') is 'Intro' level.locked = false if me.isInGodMode() - level.locked = false if level.slug is 'robot-ragnarok' + #level.locked = false if level.slug is 'robot-ragnarok' 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)' @@ -324,8 +324,7 @@ module.exports = class CampaignView extends RootView me.isPremium() or not nextLevel.requiresSubscription or (nextLevel.slug is 'boom-and-bust' and not @levelStatusMap['defense-of-plainswood']) or - (nextLevel.slug is 'favorable-odds' and not @levelStatusMap['the-raised-sword']) or - (nextLevel.slug is 'robot-ragnarok' and @levelStatusMap['the-raised-sword']) + (nextLevel.slug is 'favorable-odds' and not @levelStatusMap['the-raised-sword']) ) nextLevel.next = true foundNext = true @@ -381,7 +380,7 @@ module.exports = class CampaignView extends RootView particleKey.push 'premium' if level.requiresSubscription particleKey.push 'gate' if level.slug in ['kithgard-gates', 'siege-of-stonehold', 'clash-of-clones', 'summits-gate'] particleKey.push 'hero' if level.unlocksHero and not level.unlockedHero - particleKey.push 'item' if level.slug is 'robot-ragnarok' # TODO: generalize + #particleKey.push 'item' if level.slug is 'robot-ragnarok' # TODO: generalize continue if particleKey.length is 2 # Don't show basic levels continue unless level.hidden or _.intersection(particleKey, ['item', 'hero-ladder', 'replayable']).length @particleMan.addEmitter level.position.x / 100, level.position.y / 100, particleKey.join('-') diff --git a/server/queues/scoring/getTwoGames.coffee b/server/queues/scoring/getTwoGames.coffee index cf80c143e..eb861a01a 100644 --- a/server/queues/scoring/getTwoGames.coffee +++ b/server/queues/scoring/getTwoGames.coffee @@ -66,7 +66,7 @@ getRandomSessions = (user, callback) -> # Sampling by level: we pick a level, then find a human and ogre session for that level, one at random, one biased towards recent submissions. #ladderLevelIDs = ['greed', 'criss-cross', 'brawlwood', 'dungeon-arena', 'gold-rush', 'sky-span'] # Let's not give any extra simulations to old ladders. -ladderLevelIDs = ['dueling-grounds', 'cavern-survival', 'multiplayer-treasure-grove', 'harrowland', 'zero-sum', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders'] +ladderLevelIDs = ['dueling-grounds', 'cavern-survival', 'multiplayer-treasure-grove', 'harrowland', 'zero-sum', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders', 'ace-of-coders'] sampleByLevel = (callback) -> levelID = _.sample ladderLevelIDs favorRecentHumans = Math.random() < 0.5 # We pick one session favoring recent submissions, then find another one uniformly to play against @@ -76,7 +76,6 @@ findRandomSession = (queryParams, callback) -> # In MongoDB 3.2, we will be able to easily get a random document with aggregate $sample: https://jira.mongodb.org/browse/SERVER-533 queryParams.submitted = true favorRecent = queryParams.favorRecent - favorRecent = false # temp, for Ace of Coders tournament delete queryParams.favorRecent if favorRecent return findRecentRandomSession queryParams, callback From ecd7c240148c49b29acd96625ce5dc668ca15d0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?RUSLAN=20L=C3=93PEZ=20CARRO?= Date: Sat, 12 Sep 2015 13:56:13 -0500 Subject: [PATCH 2/2] Update es-419.coffee Changed to formal language for teachers survey. $120 dollars? D: OMG perhaps a little expensive for third worlders like me. Is it finally done? :D --- app/locale/es-419.coffee | 62 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee index f925aaf63..eefb10072 100644 --- a/app/locale/es-419.coffee +++ b/app/locale/es-419.coffee @@ -437,24 +437,24 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip payment_methods_title: "Metodos de pago aceptados." payment_methods_blurb1: "Actualmente aceptamos tarjetas de credito y Alipay." payment_methods_blurb2: "Si necesitas una forma alternativa de pago, por favor contactarse" -# sale_already_subscribed: "You're already subscribed!" + sale_already_subscribed: "¡Ya estás subscrito!" sale_blurb1: "Ahorra 35%" -# sale_blurb2: "off regular subscription price of $120 for a whole year!" # {changed} -# sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" + sale_blurb2: "de descuento en el precio regular de una subscripción de $120 USD por un año completo!" # {changed} + sale_button: "Venta!" + sale_button_title: "Ahorra 35% al adquirir una subscripción por 1 año" sale_click_here: "Haz Click Aquí" sale_ends: "Termina" -# sale_extended: "*Existing subscriptions will be extended by 1 year." -# sale_feature_here: "Here's what you'll get:" -# sale_feature2: "Access to 9 powerful new heroes with unique skills!" -# sale_feature4: "42,000 bonus gems awarded immediately!" -# sale_continue: "Ready to continue adventuring?" + sale_extended: "*Las subscripciones existentes se extenderán por un año." + sale_feature_here: "Esto es lo que obtendrás:" + sale_feature2: "¡Acceso a 9 poderosos nuevos héroes con habilidades únicas!" + sale_feature4: "¡Una bonificación inmediata de 42,000 gemas!" + sale_continue: "¿Estás listo para continuar aventurándote?" sale_limited_time: "¡Oferta por tiempo limitado!" sale_new_heroes: "¡Nuevos héroes!" -# sale_title: "Back to School Sale" -# sale_view_button: "Buy 1 year subscription for" + sale_title: "Venta de regreso a clases" + sale_view_button: "Compra la subscripción de 1 año por" stripe_description: "Suscripción Mensual" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" + stripe_description_year_sale: "Subscripción por 1 año (35% descuento)" subscription_required_to_play: "Necesitas una suscripción para jugar este nivel." unlock_help_videos: "Suscríbete para desbloquear todos los video tutoriales." personal_sub: "Suscripción Personal" # Accounts Subscription View below @@ -462,14 +462,14 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip managed_by: "Administrado por" will_be_cancelled: "Será cancelado en" currently_free: "Actualmente tienes una suscripción gratuita" - currently_free_until: "Actualmente tienes una suscripción gratuita hasta" # {changed} + currently_free_until: "Actualmente tienes una suscripción gratuita hasta" was_free_until: "Tuviste una suscripción gratuita hasta" managed_subs: "Suscripciones administradas" managed_subs_desc: "Agregar suscripciones para otros jugadores (alumnos, hijos, etc.)" managed_subs_desc_2: "Los recipientes deben tener una cuenta de CodeCombat asociada con el email que usted provea." group_discounts: "Descuentos por grupo" group_discounts_1: "También ofrecemos descuentos grupales por suscripciones masivas." - group_discounts_1st: "1ra suscripción (incluye la tuya)" # {change} + group_discounts_1st: "primera suscripción (incluye la tuya)" group_discounts_full: "Precio regular" group_discounts_2nd: "2-11 Suscripciones" group_discounts_20: "20% descuento" @@ -654,7 +654,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip teachers_survey: title: "Encuesta para profesores" - must_be_logged: "Debe iniiciar sesión primero. Por favor cree una cuenta o inicie sesión desde el menú en la parte superior." + must_be_logged: "Debe iniciar sesión primero. Por favor cree una cuenta o inicie sesión desde el menú en la parte superior." retrieving: "Obteniendo información..." being_reviewed_1: "Su solicitud para una prueba gratuita de subscripción está siendo" being_reviewed_2: "revisada." @@ -665,20 +665,20 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip denied_2: "denegada." contact_1: "Por favor contáctenos" contact_2: "si tiene más preguntas." -# description_1: "Ofrecemos free subscriptions to teachers for evaluation purposes. You can find more information on our" + description_1: "Ofrecemos suscripciones gratuitas a maestros con propósitos de evaluación. Puede hallar más información en nuestra" description_2: "página" description_3: "de maestros." -# description_4: "Por favor fill out this quick survey and we’ll email you setup instructions." + description_4: "Por favor llene esta encuesta rápida y le mandaremos por email las instrucciones de configuración." email: "Dirección de email" school: "Nombre del colegio" location: "Nombre de la ciudad" - age_students: "¿Qué edad tienen tus estudiantes?" + age_students: "¿Qué edad tienen sus estudiantes?" under: "Menor" other: "Otro:" - amount_students: "¿A cuantos alumnos les enseñas?" - hear_about: "¿Donde escuchaste sobre CodeCombat?" - fill_fields: "Porfavor llenar todos los campos." - thanks: "Gracias! Vamos a mandarte instrucciónes para iniciar proximamente." + amount_students: "¿A cuantos alumnos les enseña?" + hear_about: "¿Donde escuchó sobre CodeCombat?" + fill_fields: "Porfavor llene todos los campos." + thanks: "Gracias! Vamos a mandarle instrucciónes para iniciar proximamente." versions: save_version_title: "Guardar nueva versión" @@ -836,7 +836,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip latest_achievement: "último logro" playtime: "Tiempo de juego" last_played: "Último jugado" -# leagues_explanation: "Juega en una liga contra otros miembros del clan en these multiplayer arena instances." + leagues_explanation: "Juega en una liga contra otros miembros del clan en estas instancias de arena multijugador." classes: archmage_title: "Archimago" @@ -1026,7 +1026,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip my_matches: "Mis Partidas" simulate: "Simular" simulation_explanation: "¡Simulando tus juegos puedes mejorar tu posición más rápido!" -# simulation_explanation_leagues: "Principalmente ayudarás a simular juegos for allied players in your clans and courses." + simulation_explanation_leagues: "Principalmente ayudarás a simular juegos para jugadores aliados en tus clanes y cursos." simulate_games: "¡Simular Juegos!" simulate_all: "REINICIAR Y SIMULAR JUEGOS" games_simulated_by: "Juegos simulados por ti:" @@ -1219,16 +1219,16 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip arrays: "Arreglos" basic_syntax: "Sintaxis Básica" boolean_logic: "Lógica Booleana" -# break_statements: "Break Statements" + break_statements: "Sentencias Break" classes: "Clases" -# continue_statements: "Continue Statements" + continue_statements: "Sentencias Continue" for_loops: "Ciclos For" functions: "Funciones" graphics: "Gráficos" -# if_statements: "If Statements" -# input_handling: "Input Handling" + if_statements: "Sentencias If" + input_handling: "Manejo de Entrada" math_operations: "Operaciones Matemáticas" -# object_literals: "Object Literals" + object_literals: "Literales de Objeto" parameters: "Parámetros" strings: "Cadenas" variables: "Variables" @@ -1260,9 +1260,9 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip multiplayer_sign_in_leaderboard: "Entra o crea una cuenta y mira tu solución en la tabla de posiciones." legal: - page_title: "Legal" + page_title: "Información legal" opensource_intro: "CodeCombat es completamente open source." - opensource_description_prefix: "Echa un vistazo " + opensource_description_prefix: "Echa un vistazo a " github_url: "nuestro GitHub" opensource_description_center: "y ayudanos si quieres! CodeCombat esta construido por docenas de proyectos open source, y los amamos. Mira " archmage_wiki_url: "nuestra wiki de Archimago"