diff --git a/Readme.md b/Readme.md index b5149dc..9cac504 100644 --- a/Readme.md +++ b/Readme.md @@ -5,7 +5,7 @@ Break colourful bricks, catch bouncing coins and select powerful upgrades ! - [Play now](https://breakout.lecaro.me/) - [Donate](https://paypal.me/renanlecaro) - Bitcoin : bc1qlh8kywy3ttsuqqa08yx2rdc8dqhdvyt43wlxmr -- [Discord](https://discord.gg/DZSPqyJkwP) +- [Discord](https://discord.gg/bbcQw4x5zA) - [Post your comments on itch.io](https://renanlecaro.itch.io/breakout71) - [F-Droid](https://f-droid.org/en/packages/me.lecaro.breakout/) - [Google Play](https://play.google.com/store/apps/details?id=me.lecaro.breakout) @@ -21,23 +21,34 @@ Break colourful bricks, catch bouncing coins and select powerful upgrades ! - choose starting perks - wind : move coins based on puck movement not position - Top down /reach: punishing now, maybe only reset if you hit the lowest populate row of the level, if it's not a full width row +- main menu : show high score ## Release candidate -- addiction : reset timout if 0 bricks -- New perk : addiction, reward faster gameplay -- Balancing : hot start effect doubled -- Balancing : you earn an extra perk when playing well, and a reroll when playing perfectly -- Balancing : telekinesis limited to level 1 -- Limit levels to 7-loop+extra_levels. -- Limit max by used levels on loop. -- forget about "premium" but added a prominent "donate" link after 5h of playing, and setting to hide it permanently -- disabled auto-release on fdroid of every web version, as there's a big delay and bugs woudl stay for a long time -- [jaceys] Counters for coins lost, misses, and boundary bounces, as well as a timer. -- added a white border around all coins, to make dark ones visible on dark bg -- Removed all previous loop only hazards -- Looping now bans all your perks except one. That one can level up beyond the normal max. -- Adjusted many perks to work beyond the max - - Split list of perks and levels in unlocks + +- New game mode : loop / long game + - the goal is to build many different build centered on one perk + - At the end of level 7, you get to restart at level 1 for 6 levels. + - all your perks are banned except one + - The perk you keep is leveled up, and can be leveled up a second time during the next loop + - the perks you don't keep are "banned", meaning their max level is reduced by as many levels as you had picked + - unlocked after unlocking all perks +- New game mode : lab / creative + - the goal is to come up with 3 completely different but powerful play styles + - you freely create 3 builds from all the perks level avaliable + - you play them against the levels of your choice + - try to make as much score as possible in total + - unlocked after unlocking all perks +- New levels : + - Pingwin + - Sunglasses + - Balloon +- Adjusted levels : + - orca is no longer made of bombs, but grey block +- New perks + - addiction : reward faster gameplay +- Adjusted perks + - Hot start : 30 combo per level instead of 15 + - Telekinesis: limited to level 1 - Asceticism now gives +3 combo per lvl - Fortunate ball has a stronger effect - Bigger puck : puck can now cover the whole screen at higher levels, but not more @@ -54,9 +65,20 @@ Break colourful bricks, catch bouncing coins and select powerful upgrades ! - Unbounded : at level 2+, the top of the level is gone too - concave_puck : ball bounces straighter and straighter, to the point where you can't move it without another perk - shocks lvl 2+ make bigger explosions -- Make fullscreen an option and turn it back on when playing -- Made the "combo lost" text last 500ms instead of the pointless 150ms -- add a toggle to switch between the “coin” design and colored bubbles + - trampoline: nerfed a little bit, now all sides and top hit reduce combo + +- Quality of life + - udated discord invite link that had expired + - Fullscreen is now a persistent option, when it's on the game will switch to fullscreen before starting + - Added an option to always get colored coins + - Made the "combo lost" text last 500ms instead of the pointless 150ms + - Added in-game help and credits, witch can be translated + - Balancing : you earn an extra perk when playing well, and a reroll when playing perfectly + - added a prominent "donate" link after 5h of playing, and setting to hide it permanently + - disabled auto-release to fdroid, i'll use the web version as the testing ground first + - added a white border around all coins, to make dark ones visible on dark bg + - [jaceys] Counters for coins lost, misses, and boundary bounces, as well as a timer. + - Unlocked list : split perk and levels, added tooltips ## 29049575 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index fa999f6..08766a8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,8 +11,8 @@ android { applicationId = "me.lecaro.breakout" minSdk = 21 targetSdk = 34 - versionCode = 29057409 - versionName = "29057409" + versionCode = 29057568 + versionName = "29057568" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true diff --git a/app/src/main/assets/index.html b/app/src/main/assets/index.html index 6c7c12b..c331a5e 100644 --- a/app/src/main/assets/index.html +++ b/app/src/main/assets/index.html @@ -1 +1 @@ -
-This is a roguelite twist on the original Breakout/Arkanoid formula. +This is a roguelite twist on the original Breakout/Arkanoid formula: The goal is to catch as many coins as possible during 7 levels. Coins appear when you break bricks. They fly around, bounce and roll, and you need to catch them with your puck. -Your "combo" is the number of coins spawned when a brick breaks, it is displayed on your puck. -Your score is displayed in the top right corner of the screen. -
- --At the end of each level, you get to pick an upgrade from a random selection, vampire-survivor style. -Many upgrades impact your "combo". Upgrades apply to the whole run and can synergize. -For example, "hot start" increases your combo greatly at the start of each level, but makes it tick down rapidly. -If you combine it with "+1 ball", "piercing" and "bricks become bombs", you'll clear levels so fast that the combo -will still be high when the fireworks are over and your puck will be showered by coins. -
- -What decides how the ball flies away is only the position of the puck hit. -The puck speed and incoming angle have no impact. -You must delete all bricks to progress to the next level, and never drop the ball. -
- --After clearing a level, you'll be able to pick upgrades among a small selection presented to you. -They'll apply until the end of the run. -A normal run lasts 7 levels, after which your score is recorded, and you can start again. -
- --Each run is different, the levels and upgrades you see will change every time, and new ones get added to the pool -when you progress in the game. +At the end of the level, you get to pick upgrades. +There are 50+ different upgrades that impact the gameplay in various ways. +Many upgrade will impact your combo,that's the number of coins spawned for each brick broken. +Your "combo" is displayed on your puck. Your score is displayed in the top right corner of the screen. +Oh and don't miss the ball, you don't have extra lives.
The app should work offline and perform well even on low-end devices. It's very lean and does not take much storage space (Roughly 0.1MB). -If the app stutters, turn on "fast mode" in the settings to render a simplified view that should be faster. +If the app stutters, turn on "fast mode" in the settings. +If the game is too fast, enable "kid mode" in the settings.
-There's also an easy mode for kids (slower ball) and a color-blind mode (no color related game mechanics). -
\ No newline at end of file +The in-game help will tell you more about how to play. Now go have some fun, and come share your best runs on our Discord. + diff --git a/src/PWA/sw-b71.js b/src/PWA/sw-b71.js index 66e50a6..b62fb18 100644 --- a/src/PWA/sw-b71.js +++ b/src/PWA/sw-b71.js @@ -1,5 +1,5 @@ // The version of the cache. -const VERSION = "29057409"; +const VERSION = "29057568"; // The name of the cache const CACHE_NAME = `breakout-71-${VERSION}`; diff --git a/src/asyncAlert.ts b/src/asyncAlert.ts index 61a7f82..7f8b06a 100644 --- a/src/asyncAlert.ts +++ b/src/asyncAlert.ts @@ -105,7 +105,7 @@ export async function asyncAlert${t("unlocks.intro", { ts, highScore: gameState.highScore })} + `
${t("unlocks.intro", { ts })} ${percentUnlock < 100 ? t("unlocks.greyed_out_help") : ""}
`, ...upgradeActions, t("unlocks.level"), @@ -896,7 +867,7 @@ async function openUnlocksList() { }); if (tryOn) { if (await confirmRestart(gameState)) { - restart({ ...tryOn, maxLoop: 0 }); + restart({ ...tryOn, mode: "short" }); } } } @@ -985,7 +956,10 @@ document.addEventListener("keyup", async (e) => { ) { // When doing ctrl + R in dev to refresh, i don't want to instantly restart a run if (await confirmRestart(gameState)) { - restart({ levelToAvoid: currentLevelInfo(gameState).name }); + restart({ + levelToAvoid: currentLevelInfo(gameState).name, + mode: gameState.mode, + }); } } else { return; @@ -993,10 +967,9 @@ document.addEventListener("keyup", async (e) => { e.preventDefault(); }); -export const gameState = newGameState({}); +export const gameState = newGameState({ mode: "short" }); export function restart(params: RunParams) { - console.log("restart : ", params); fitSize(); Object.assign(gameState, newGameState(params)); pauseRecording(); @@ -1018,10 +991,13 @@ restart( sapper: 3, // unbounded: 1, }, - - levelsPerLoop: 2, - }) || - {}, + mode: "short", + }) || { + mode: "short", + }, ); tick(); +setupTooltips() + document.getElementById('menu')?.setAttribute('data-tooltip', t('play.menu_tooltip')) + document.getElementById('score')?.setAttribute('data-tooltip', t('play.score_tooltip')) \ No newline at end of file diff --git a/src/gameOver.ts b/src/gameOver.ts index 88c3671..bb69d27 100644 --- a/src/gameOver.ts +++ b/src/gameOver.ts @@ -1,6 +1,6 @@ import { allLevels, appVersion, upgrades } from "./loadGameData"; import { t } from "./i18n/i18n"; -import { RunHistoryItem } from "./types"; +import { GameState, RunHistoryItem } from "./types"; import { gameState, pause, restart } from "./game"; import { currentLevelInfo, findLast, pickedUpgradesHTMl } from "./game_utils"; import { getTotalScore } from "./settings"; @@ -131,7 +131,7 @@ export function gameOver(title: string, intro: string) { }, ` ${pickedUpgradesHTMl(gameState)} - ${getHistograms()} + ${getHistograms(gameState)} `, ], }).then(() => @@ -141,7 +141,7 @@ export function gameOver(title: string, intro: string) { ); } -export function getHistograms() { +export function getHistograms(gameState: GameState) { let runStats = ""; try { // Stores only top 100 runs @@ -155,6 +155,7 @@ export function getHistograms() { runsHistory.push({ ...gameState.runStatistics, perks: gameState.perks, + mode: gameState.mode, appVersion, }); @@ -170,7 +171,9 @@ export function getHistograms() { getter: (hi: RunHistoryItem) => number, unit: string, ) => { - let values = runsHistory.map((h) => getter(h) || 0); + let values = runsHistory + .filter((h) => (h.mode || "short") === gameState.mode) + .map((h) => getter(h) || 0); let min = Math.min(...values); let max = Math.max(...values); // No point diff --git a/src/gameStateMutators.ts b/src/gameStateMutators.ts index d47ef05..2e1d289 100644 --- a/src/gameStateMutators.ts +++ b/src/gameStateMutators.ts @@ -52,6 +52,7 @@ import { isOptionOn } from "./options"; import { getRunLevels } from "./newGameState"; import { requiredAsyncAlert } from "./asyncAlert"; import { clamp, comboKeepingRate } from "./pure_functions"; +import { openCreativeModePerksPicker } from "./creative"; export function setMousePos(gameState: GameState, x: number) { gameState.puckPosition = x; @@ -127,7 +128,8 @@ export function normalizeGameState(gameState: GameState) { gameState.gameZoneWidth / 12 / 10 + gameState.currentLevel / 3 + gameState.levelTime / (30 * 1000) - - gameState.perks.slow_down * 2, + gameState.perks.slow_down * 2 + + gameState.loop, ); gameState.puckWidth = Math.max( @@ -549,13 +551,17 @@ export function schedulGameSound( ex.vol += vol; } + export function addToScore(gameState: GameState, coin: Coin) { gameState.score += coin.points; gameState.lastScoreIncrease = gameState.levelTime; addToTotalScore(gameState, coin.points); if (gameState.score > gameState.highScore && !gameState.isCreativeModeRun) { gameState.highScore = gameState.score; - localStorage.setItem("breakout-3-hs", gameState.score.toString()); + localStorage.setItem( + "breakout-3-hs-" + gameState.mode, + gameState.score.toString(), + ); } if (!isOptionOn("basic")) { makeParticle( @@ -634,6 +640,22 @@ export async function gotoNextLoop(gameState: GameState) { await setLevel(gameState, 0); } +function recordBestWorstLevelScore(gameState: GameState) { + const levelScore = gameState.score - gameState.levelStartScore; + const { runStatistics } = gameState; + if ( + runStatistics.best_level_score === -1 || + runStatistics.best_level_score < levelScore + ) { + runStatistics.best_level_score = levelScore; + } + if ( + runStatistics.worst_level_score === -1 || + runStatistics.worst_level_score > levelScore + ) { + runStatistics.worst_level_score = levelScore; + } +} export async function setLevel(gameState: GameState, l: number) { // Here to alleviate double upgrades issues @@ -644,7 +666,11 @@ export async function setLevel(gameState: GameState, l: number) { gameState.upgradesOfferedFor = l; pause(false); stopRecording(); - if (l > 0) { + recordBestWorstLevelScore(gameState); + + if (gameState.mode === "creative") { + await openCreativeModePerksPicker(gameState, l); + } else if (l > 0) { await openUpgradesPicker(gameState); } gameState.currentLevel = l; @@ -701,6 +727,7 @@ export async function setLevel(gameState: GameState, l: number) { background.src = "data:image/svg+xml;UTF8," + lvl.svg; document.body.style.setProperty("--level-background", lvl.color || "#000"); + gameState.readyToRender = true; } function setBrick(gameState: GameState, index: number, color: string) { @@ -1001,7 +1028,7 @@ export function gameStateTick( ) { if (gameState.currentLevel + 1 < max_levels(gameState)) { setLevel(gameState, gameState.currentLevel + 1); - } else if (gameState.loop < gameState.maxLoop) { + } else if (gameState.loop < gameState.mode === "long" ? 7 : 0) { gotoNextLoop(gameState); } else { gameOver( @@ -1461,7 +1488,7 @@ export function ballTick(gameState: GameState, ball: Ball, delta: number) { if (gameState.perks.top_is_lava && borderHitCode >= 2) { resetCombo(gameState, ball.x, ball.y + gameState.ballSize); } - if (gameState.perks.trampoline && borderHitCode >= 2) { + if (gameState.perks.trampoline ) { decreaseCombo( gameState, gameState.perks.trampoline, @@ -1617,13 +1644,6 @@ export function ballTick(gameState: GameState, ball: Ball, delta: number) { ball.vx *= -1; } } - - console.log("After bounce", { - pierce, - initialBrickColor, - hitBrick, - hp: gameState.brickHP[hitBrick], - }); if (!gameState.brickHP[hitBrick]) { ball.brokenSinceBounce++; @@ -1633,7 +1653,6 @@ export function ballTick(gameState: GameState, ball: Ball, delta: number) { initialBrickColor !== "black" && // don't replace a brick that bounced with sturdy_bricks !gameState.bricks[hitBrick] ) { - console.log("sapper use", hitBrick); setBrick(gameState, hitBrick, "black"); ball.sapperUses++; } diff --git a/src/game_utils.ts b/src/game_utils.ts index ddf0df0..52b5fa4 100644 --- a/src/game_utils.ts +++ b/src/game_utils.ts @@ -1,7 +1,28 @@ -import { Ball, GameState, PerkId, PerksMap } from "./types"; +import {Ball, GameState, Level, PerkId, PerksMap} from "./types"; import { icons, upgrades } from "./loadGameData"; import { t } from "./i18n/i18n"; +export function describeLevel(level:Level){ + let bricks=0, colors=new Set(), bombs=0; + level.bricks.forEach(color=>{ + if(!color) return + if(color==='black') { + bombs++ + return; + } + else { + colors.add(color) + bricks++ + } + }) + return t('unlocks.level_description',{ + size:level.size, + bricks, + colors:colors.size, + bombs + }) +} + export function getMajorityValue(arr: string[]): string { const count: { [k: string]: number } = {}; arr.forEach((v) => (count[v] = (count[v] || 0) + 1)); @@ -14,10 +35,6 @@ export function sample
${u.name}
@@ -103,6 +118,7 @@ export function pickedUpgradesHTMl(gameState: GameState) {
export function levelsListHTMl(gameState: GameState) {
if (!gameState.perks.clairvoyant) return "";
+ if (gameState.mode === "creative") return "";
let list = "";
for (let i = 0; i < max_levels(gameState); i++) {
list += `${icons[gameState.runLevels[i].name]}`;
@@ -211,3 +227,17 @@ export function countBricksBelow(gameState: GameState, index: number) {
}
return count;
}
+export function highScoreForMode(mode:GameState['mode']){
+ try{
+ const score = parseInt(localStorage.getItem(
+ "breakout-3-hs-" + mode,
+
+ )||"0")
+ if(score){
+ return t('main_menu.high_score',{score})
+ }
+ }catch (e){
+ }
+
+ return''
+}
diff --git a/src/i18n/b71.babel b/src/i18n/b71.babel
index ba11172..0e484fb 100644
--- a/src/i18n/b71.babel
+++ b/src/i18n/b71.babel
@@ -484,6 +484,101 @@
+ \nMade in France by Renan LE CARO. \nDonate\nDiscord\nF-Droid\nGoogle Play\nitch.io \nGitlab\nWeb version\nHackerNews\nPrivacy Policy\nv.{{appVersion}}\n \nMade in France by Renan LE CARO. \nDonate\nDiscord\nF-Droid\nGoogle Play\nitch.io \nGitlab\nWeb version\nHackerNews\nPrivacy Policy\nv.{{appVersion}}\n \nProgrammé en France par Renan LE CARO.\nDonner\nDiscord\nF-Droid\nGoogle Play\nitch.io\nGitlab\nVersion web\nHackerNews\nPolitique de confidentialité \nv.{{appVersion}}\n \nProgrammé en France par Renan LE CARO.\nDonner\nDiscord\nF-Droid\nGoogle Play\nitch.io\nGitlab\nVersion web\nHackerNews\nPolitique de confidentialité \nv.{{appVersion}}\nLevels source or reference link
",
- "main_menu.credits": "# Credits\n\nI pulled many background patterns from https://pattern.monster/\n\nSome of the sound generating code was written by ChatGPT, and heavily\nadapted to my usage over time.\n\nI wanted an APK to start in fullscreen and be able to list it on fdroid and the play store. I started with an empty view and went to work trimming it down, with the help of that tutorial : https://github.com/fractalwrench/ApkGolf/blob/master/blog/BLOG_POST.md\n\nColin (obigre) brought a lot of fantastic ideas to the game, here's his website (in French) : https://colin-crapahute.bearblog.dev/\n\n# Other breakout games \n\nHere are a few interesting games in the breakout genre :\n\n- LBreakoutHD : nice and open source remake https://sourceforge.net/p/lgames/code/HEAD/tree/trunk/lbreakouthd/\n- Wizorb https://store.steampowered.com/app/207420/Wizorb/\n- Rollers of the realm : https://store.steampowered.com/app/262470/Rollers_of_the_Realm/\n- Breakout multiplayer : pvp with air console style multiplayer https://casmo.itch.io/breakout-multiplayer \n- Ricochet infinity : https://www.myabandonware.com/game/ricochet-infinity-dxm\n- My own earlier attempts at the genre https://breakout-v1.lecaro.me/ (chill, closer to original breakout concept) and https://breakout-v2.lecaro.me/ (multiplayer)\n\n# More PC games with high replay value\n\n- FTL : https://www.gog.com/en/game/faster_than_light\n- Nova drift : https://www.gog.com/en/game/nova_drift\n- Noita : https://www.gog.com/en/game/noita\n- Enter the gungeon : https://www.gog.com/en/game/enter_the_gungeon\n- Zero Sivert : https://store.steampowered.com/app/1782120/ZERO_Sievert/\n- Factorio : https://www.factorio.com/\n- Nuclear throne : https://store.steampowered.com/app/242680/Nuclear_Throne/ (don't buy on GOG it's outdated) \n- Brigador : https://www.gog.com/en/game/brigador\n- Teleglitch https://www.gog.com/en/game/teleglitch_die_more_edition\n",
+ "main_menu.credits": "# Credits\n\nI pulled many background patterns from https://pattern.monster/\n\nSome of the sound generating code was written by ChatGPT, and heavily\nadapted to my usage over time.\n\nI wanted an APK to start in fullscreen and be able to list it on fdroid and the play store. I started with an empty view and went to work trimming it down, with the help of that tutorial : https://github.com/fractalwrench/ApkGolf/blob/master/blog/BLOG_POST.md\n\nColin (obigre) brought a lot of fantastic ideas to the game, here's his website (in French) : https://colin-crapahute.bearblog.dev/\n\n# Breakout games suggestions\n\nHere are a few interesting games in the breakout genre :\n\n- LBreakoutHD : https://sourceforge.net/p/lgames/code/HEAD/tree/trunk/lbreakouthd/\n- Wizorb : https://store.steampowered.com/app/207420/Wizorb/\n- Rollers of the realm : https://store.steampowered.com/app/262470/Rollers_of_the_Realm/\n- Ricochet infinity : https://www.myabandonware.com/game/ricochet-infinity-dxm\n- First prototype of B71 : https://breakout-v1.lecaro.me/\n- Second prototype of B71: https://breakout-v2.lecaro.me/\n\n\n# PC game suggestions\n\nHere are a few games i've sank a lot of time in, and that inspired breakout in some way\n\n- Heat signature : https://www.humblebundle.com/store/heat-signature\n- FTL : https://www.gog.com/en/game/faster_than_light\n- Nova drift : https://www.gog.com/en/game/nova_drift\n- Noita : https://www.gog.com/en/game/noita\n- Enter the gungeon : https://www.gog.com/en/game/enter_the_gungeon\n- Zero Sivert : https://store.steampowered.com/app/1782120/ZERO_Sievert/\n- Factorio : https://www.factorio.com/\n- Nuclear throne : https://store.steampowered.com/app/242680/Nuclear_Throne/ (don't buy on GOG it's outdated) \n- Brigador : https://www.gog.com/en/game/brigador\n- Teleglitch https://www.gog.com/en/game/teleglitch_die_more_edition\n",
"main_menu.donate": "You've played for {{hours}} hours",
"main_menu.donate_help": "How about donating {{suggestion}} € ? You can hide this reminder in the settings. ",
"main_menu.donation_reminder": "Remind me to donate",
"main_menu.donation_reminder_help": "See time played and donation link in main menu",
"main_menu.download_save_file": "Download score and stats",
"main_menu.download_save_file_help": "Get a save file",
- "main_menu.footer_html": "Upgrades
",
+ "main_menu.high_score": "High score : {{score}}",
"main_menu.kid": "Kids mode",
"main_menu.kid_help": "Start future games with \"slower ball\".",
"main_menu.language": "Language",
"main_menu.language_help": "Choose the game's language",
"main_menu.load_save_file": "Load save file",
"main_menu.load_save_file_help": "Select a save file on your device",
- "main_menu.loop_run": "New long game (experimental)",
+ "main_menu.loop_run": "New long game",
"main_menu.loop_run_help": "Allows you to loop up to 7 times",
"main_menu.max_coins": " {{max}} coins on screen maximum",
"main_menu.max_coins_help": "Cosmetic only, no effect on score",
@@ -111,13 +118,10 @@
"play.current_lvl": "Level {{level}}/{{max}}",
"play.current_lvl_loop": "Level {{level}}/{{max}} loop {{loop}}",
"play.menu_label": "menu",
+ "play.menu_tooltip": "Open main menu",
"play.missed_ball": "miss",
"play.mobile_press_to_play": "Press and hold here to play",
- "sandbox.help": "Test any perk combination",
- "sandbox.instructions": "Select perks below and press \"start game\" to try them out in a test game. Scores and stats are not recorded.",
- "sandbox.start": "Start test game",
- "sandbox.title": "Sandbox mode",
- "sandbox.unlocks_at": "Unlocks at total score {{score}}",
+ "play.score_tooltip": "See your score, upgrades and more",
"score_panel.rerolls_count": "You have accumulated {{rerolls}} rerolls",
"score_panel.test_run": "This is a test game, score is not recorded permanently",
"score_panel.title": "{{score}} points at level {{level}}/{{max}} ",
@@ -125,54 +129,54 @@
"score_panel.upcoming_levels": "Upcoming levels :",
"score_panel.upgrades_picked": "Upgrades picked so far : ",
"unlocks.greyed_out_help": "The greyed out ones can be unlocked by increasing your total score. The total score increases every time you score in game.",
- "unlocks.intro": "Your total score is {{ts}}. Below are all the upgrades and levels the games has to offer. Click an upgrade or level below to start a short game with it .Your high score is {{highScore}}.",
+ "unlocks.intro": "Your total score is {{ts}}. Below are all the upgrades and levels the games has to offer. Click an upgrade or level below to start a short game with it.",
"unlocks.level": "Here are all the game levels, click one to start a game with that starting level. ",
- "unlocks.level_description": "A {{size}}x{{size}} level with {{bricks}} bricks",
+ "unlocks.level_description": "A {{size}}x{{size}} level with {{bricks}} bricks, {{colors}} colors and {{bombs}} bombs.",
"unlocks.title": "You unlocked {{percentUnlock}}% of the game. ",
"unlocks.unlocks_at": "Unlocks at total score {{threshold}}.",
- "upgrades.addiction.fullHelp": "The countdown only starts after breaking the first brick of each level",
+ "upgrades.addiction.fullHelp": "The countdown only starts after breaking the first brick of each level. It stops as soon as all bricks are destroyed.",
"upgrades.addiction.help": "+{{lvl}} combo / brick, combo resets {{delay}}s after breaking a brick. ",
"upgrades.addiction.name": "Addiction",
"upgrades.asceticism.fullHelp": "You'll need to store the coins somewhere while your combo climbs. ",
"upgrades.asceticism.help": "+{{combo}} combo / brick, combo resets on coin catch",
"upgrades.asceticism.name": "Asceticism",
- "upgrades.ball_attract_ball.fullHelp": "Balls that are more than half a screen width away will start attracting each other. \n\nThe attraction force is stronger when they are furthest away from each other.\n\nRainbow particles will fly to symbolize the attraction force. This perk is only offered if you have more than one ball already.",
+ "upgrades.ball_attract_ball.fullHelp": "Balls that are more than \"3/4 of the game area width\" away will start attracting each other. \n\nThe attraction force is stronger when they are furthest away from each other.\n\nRainbow particles will fly to symbolize the attraction force. This perk is only offered if you have more than one ball already.",
"upgrades.ball_attract_ball.help": "Balls attract balls",
"upgrades.ball_attract_ball.help_plural": "Stronger attraction force",
"upgrades.ball_attract_ball.name": "Gravity",
- "upgrades.ball_attracts_coins.fullHelp": "Don't ask me how that works",
+ "upgrades.ball_attracts_coins.fullHelp": "This could be used to \"paint around\" the balls with coins if you combined it with \"stain\" and \"ghost coins\".",
"upgrades.ball_attracts_coins.help": "Balls attract coins",
"upgrades.ball_attracts_coins.name": "Fortunate ball",
- "upgrades.ball_repulse_ball.fullHelp": "Balls that are less than half a screen width away will start repulsing each other. The repulsion force is stronger if they are close to each other. Particles will jet out to symbolize this force being applied. This perk is only offered if you have more than one ball already.",
+ "upgrades.ball_repulse_ball.fullHelp": "Balls that are less than a quarter screen width away will start repulsing each other. The repulsion force is stronger if they are close to each other. Particles will jet out to symbolize this force being applied. This perk is only offered if you have more than one ball already.",
"upgrades.ball_repulse_ball.help": "Balls repulse balls",
"upgrades.ball_repulse_ball.help_plural": "Stronger repulsion force",
"upgrades.ball_repulse_ball.name": "Personal space",
- "upgrades.base_combo.fullHelp": "Your combo (number of coins per bricks) normally starts at 1 at the beginning of the level, and resets to one when you bounce around without hitting anything. With this perk, the combo starts 3 points higher, so you'll always get at least 4 coins per brick. Whenever your combo reset, it will go back to 4 and not 1. Your ball will glitter a bit to indicate that its combo is higher than one.",
+ "upgrades.base_combo.fullHelp": "Your combo normally starts at 1 at the beginning of the level, and resets to 1 when you bounce around without hitting anything. With this perk, the combo starts 3 points higher, so you'll always get at least 4 coins per brick. Whenever your combo reset, it will go back to 4 and not 1. Your ball will glitter a bit to indicate that its combo is higher than one.",
"upgrades.base_combo.help": "Combo starts at {{coins}}.",
"upgrades.base_combo.name": "+3 base combo",
"upgrades.bigger_explosions.fullHelp": "The default explosion clears a 3x3 square, with this it becomes a 5x5 square, and the blow on the coins is also significantly stronger. The screen will flash after each explosion (except in basic mode)",
"upgrades.bigger_explosions.help": "Bigger explosions",
"upgrades.bigger_explosions.name": "Kaboom",
- "upgrades.bigger_puck.fullHelp": "A bigger puck makes it easier to never miss the ball and to catch more coins, and also to precisely angle the bounces (the ball's angle only depends on where it hits the puck). \n However, a large puck is harder to use around the sides of the level, and will make it sometimes unavoidable to miss (not hit anything) which comes with downsides. ",
+ "upgrades.bigger_puck.fullHelp": "A bigger puck makes it easier to never miss the ball and to catch more coins, and also to precisely angle the bounces (the ball's angle only depends on where it hits the puck). \n\nHowever, a large puck is harder to use around the sides of the level, and will make it sometimes unavoidable to miss. You could word around that with other perks.",
"upgrades.bigger_puck.help": "Easily catch more coins.",
"upgrades.bigger_puck.name": "Bigger puck",
- "upgrades.clairvoyant.fullHelp": "Helps you pick the right upgrades and understand what's going on with sturdy bricks. ",
+ "upgrades.clairvoyant.fullHelp": "Helps you pick the right upgrades and understand what's going on with sturdy bricks. Level 2 and 3 bring additional knowledge of dubious utility (reachable in loop mode)",
"upgrades.clairvoyant.help": "See upcoming levels, bricks HP and ball direction",
"upgrades.clairvoyant.name": "Clairvoyant",
- "upgrades.coin_magnet.fullHelp": "Directs the coins to the puck. The effect is stronger if the coin is close to it already. Catching 90% or 100% of coins bring special bonuses in the game. \n\nAnother way to catch more coins is to hit bricks from the bottom. The ball's speed and direction impacts the spawned coin's velocity. ",
+ "upgrades.coin_magnet.fullHelp": "Directs the coins to the puck. The effect is stronger if the coin is close to it already. Catching all coins bring special bonuses in the game. \n\nAnother way to catch more coins is to hit bricks from the bottom. The ball's speed and direction impacts the spawned coin's velocity. ",
"upgrades.coin_magnet.help": "Puck attracts coins",
"upgrades.coin_magnet.help_plural": "Stronger effect on the coins",
"upgrades.coin_magnet.name": "Coins magnet",
- "upgrades.compound_interest.fullHelp": "Your combo will grow by one every time you break a brick, spawning more and more coin with every brick you break. \n\nBe sure however to catch every one of those coins with your puck, as any lost coin will reset your combo. \n\nOnce your combo is above the minimum, the bottom of the play area will have a red line to remind you that coins should not go there.\n\nThis perk combines with other combo perks, the combo will rise faster but reset more easily.",
+ "upgrades.compound_interest.fullHelp": "Your combo will grow by one every time you break a brick, spawning more and more coin with every brick you break. \n\nBe sure however to catch every one of those coins with your puck, as any lost coin will reset your combo. \n\nOnce your combo is above the minimum, the bottom of the play area will have a red line to remind you that coins should not go there.",
"upgrades.compound_interest.help": "+{{lvl}} combo per brick broken, resets on coin lost",
"upgrades.compound_interest.name": "Compound interest",
"upgrades.concave_puck.fullHelp": "Balls starts the level going straight up, and bounces with less angle.",
"upgrades.concave_puck.help": " Helps with aiming straight up",
"upgrades.concave_puck.name": "Concave puck",
- "upgrades.corner_shot.fullHelp": "Helps with aiming in the corners",
+ "upgrades.corner_shot.fullHelp": "Helps with aiming in the corners. Further levels let you go further out. ",
"upgrades.corner_shot.help": "Lets your puck overlap with the borders of the screen",
"upgrades.corner_shot.name": "Corner shot",
- "upgrades.etherealcoins.fullHelp": "You'll have to make sure that the coins fall down somehow",
+ "upgrades.etherealcoins.fullHelp": "You'll have to make sure that the coins fall down somehow, or you won't get any. ",
"upgrades.etherealcoins.help": "Coins are no longer affected by gravity",
"upgrades.etherealcoins.name": "Coins, in Space",
"upgrades.extra_levels.fullHelp": "The default game can last a max of 7 levels, after which the game is over. \n\nEach level of this perk lets you go one level higher. The last levels are often the ones where you make the most score, so the difference can be dramatic.",
@@ -185,25 +189,25 @@
"upgrades.forgiving.fullHelp": "The first miss per level is free, then 10% of the combo, then 20% .. ",
"upgrades.forgiving.help": "Missing breaks reduces combo progressively instead of all at once.",
"upgrades.forgiving.name": "Forgiving",
- "upgrades.ghost_coins.fullHelp": "It's not a bug, it's a feature ! ",
+ "upgrades.ghost_coins.fullHelp": "It's not a bug, it's a feature ! Coins fly through bricks slowly. Higher levels let them move faster. ",
"upgrades.ghost_coins.help": "Coins pass through bricks",
"upgrades.ghost_coins.name": "Ghost coins",
"upgrades.helium.fullHelp": "This affects the coins and will let the float up until you are ready to pick them up.",
"upgrades.helium.help": "Gravity reversed left and right of puck",
"upgrades.helium.name": "Helium",
- "upgrades.hot_start.fullHelp": "At the start of every level, your combo will start at +15 points, but then every second it will be decreased by one.\n\nThis means the first 15 seconds in a level will spawn many more coins than the following ones, and you should make sure that you clear the level quickly. \n\nThe effect stacks with other combo related perks, so you might be able to raise the combo after the 15s timeout, but it will keep ticking down. \n\nEvery time you take the perk again, the effect will be more dramatic.",
+ "upgrades.hot_start.fullHelp": "At the start of every level, your combo will start at +30 points, but then every second it will be decreased by one.\n\nThis means the first 30 seconds in a level will spawn many more coins than the following ones, and you should make sure that you clear the level quickly. \n\nThe effect stacks with other combo related perks, so you might be able to raise the combo after the 30s timeout, but it will keep ticking down. \n\nEvery time you take the perk again, the effect will be more dramatic.",
"upgrades.hot_start.help": "Start at combo {{start}}, -{{loss}} combo per second",
"upgrades.hot_start.name": "Hot start",
- "upgrades.implosions.fullHelp": "The explosion force is applied the other way. ",
+ "upgrades.implosions.fullHelp": "The explosion force is applied the other way. Further levels act as \"bigger explosion\"",
"upgrades.implosions.help": "Explosions suck coins in instead of blowing them out",
"upgrades.implosions.name": "Implosions",
"upgrades.instant_upgrade.fullHelp": "Immediately pick two upgrades, so that you get one free one and one to repay the one used to get this perk. Every further menu to pick upgrades will have fewer options to choose from.",
"upgrades.instant_upgrade.help": "-{{lvl}} choice until game end.",
"upgrades.instant_upgrade.name": "+2 upgrades now",
- "upgrades.left_is_lava.fullHelp": "Whenever you break a brick, your combo will increase by one, so you'll get one more coin from all the next bricks you break.\n\nHowever, your combo will reset as soon as your ball hits the left side . \n\nAs soon as your combo rises, the left side becomes red to remind you that you should avoid hitting them. \n\nThe effect stacks with other combo perks, combo rises faster with more upgrades but will also reset if any of the reset conditions are met.",
+ "upgrades.left_is_lava.fullHelp": "Whenever you break a brick, your combo will increase by one, so you'll get one more coin from all the next bricks you break.\n\nHowever, your combo will reset as soon as your ball hits the left side . \n\nAs soon as your combo rises, the left side becomes red to remind you that you should avoid hitting them. \n",
"upgrades.left_is_lava.help": "+{{lvl}} combo per brick broken, resets on left side hit",
"upgrades.left_is_lava.name": "Avoid left side",
- "upgrades.metamorphosis.fullHelp": "With this perk, coins will be of the color of the brick they come from, and will color the first brick they touch in the same color. Coins spawn with the speed of the ball that broke them, which means you can aim a bit in the direction of the bricks you want to \"paint\".",
+ "upgrades.metamorphosis.fullHelp": "With this perk, coins will be of the color of the brick they come from, and will color the first brick they touch in the same color. \n\nCoins spawn with the speed of the ball that broke them, which means you can aim a bit in the direction of the bricks you want to \"paint\".",
"upgrades.metamorphosis.help": "Each coins can stain {{lvl}} brick(s) with its color",
"upgrades.metamorphosis.name": "Metamorphosis",
"upgrades.multiball.fullHelp": "As soon as you drop the ball in Breakout 71, you loose. \n\nWith this perk, you get two balls, and so you can afford to lose one. \n\nThe lost balls come back on the next level. \n\nHaving more than one balls makes some further perks available, and of course clears the level faster.",
@@ -218,13 +222,13 @@
"upgrades.passive_income.fullHelp": "Some perks can help the balls do what you want without needing to do anything.",
"upgrades.passive_income.help": "+{{lvl}} combo / brick, unless the puck moved in the last {{time}}s, then it resets instead",
"upgrades.passive_income.name": "Passive income",
- "upgrades.picky_eater.fullHelp": "Whenever you break a brick the same color as your ball, your combo increases by one. \nIf it's a different color, the ball takes that new color, but the combo resets.\nThe bricks with the right color will get a white border. \nOnce you get a combo higher than your minimum, the bricks of the wrong color will get a red halo. \nIf you have more than one ball, they all change color whenever one of them hits a brick.",
+ "upgrades.picky_eater.fullHelp": "Whenever you break a brick the same color as your ball, your combo increases by one. \n\nIf it's a different color, the ball takes that new color, but the combo resets.\nThe bricks with the right color will get a white border. \n\nOnce you get a combo higher than your minimum, the bricks of the wrong color will get a red halo. \n\nIf you have more than one ball, they all change color whenever one of them hits a brick.",
"upgrades.picky_eater.help": "+{{lvl}} combo per brick broken, resets on ball color change",
"upgrades.picky_eater.name": "Picky eater",
- "upgrades.pierce.fullHelp": "The ball normally bounces as soon as it touches something. With this perk, it will continue its trajectory for up to 3 bricks broken. \nAfter that, it will bounce on the 4th brick, and you'll need to touch the puck to reset the counter.",
+ "upgrades.pierce.fullHelp": "The ball normally bounces as soon as it touches something. With this perk, it will continue its trajectory for up to 3 bricks broken. \n\nAfter that, it will bounce on the 4th brick, and you'll need to touch the puck to reset the counter.",
"upgrades.pierce.help": "Ball pierces {{count}} bricks after a puck bounce",
"upgrades.pierce.name": "Piercing",
- "upgrades.pierce_color.fullHelp": "Whenever a ball hits a brick of the same color, it will just go through unimpeded. \nOnce it reaches a brick of a different color, it will break it, take its color and bounce.\nIf you have sturdy bricks, the ball might still bounce off a brick of the same color.",
+ "upgrades.pierce_color.fullHelp": "Whenever a ball hits a brick of the same color, it will just go through unimpeded. \n\nOnce it reaches a brick of a different color, it will break it, take its color and bounce.\n\nIf you have sturdy bricks, the ball might still bounce off a brick of the same color.",
"upgrades.pierce_color.help": "+{{lvl}} damage to bricks of the ball's color",
"upgrades.pierce_color.name": "Color pierce",
"upgrades.puck_repulse_ball.fullHelp": "When a ball gets close to the puck, it will start slowing down, and even potentially bouncing without touching the puck.",
@@ -237,18 +241,18 @@
"upgrades.respawn.fullHelp": "Some particle effect will let you know where bricks will appear. ",
"upgrades.respawn.help": "{{percent}}% of bricks re-spawn after {{delay}}s.",
"upgrades.respawn.name": "Re-spawn",
- "upgrades.right_is_lava.fullHelp": "Whenever you break a brick, your combo will increase by one, so you'll get one more coin from all the next bricks you break.\n\nHowever, your combo will reset as soon as your ball hits the right side . \n\nAs soon as your combo rises, the right side becomes red to remind you that you should avoid hitting them\n\nThe effect stacks with other combo perks, combo rises faster with more upgrades but will also reset if any\nof the reset conditions are met.",
+ "upgrades.right_is_lava.fullHelp": "Whenever you break a brick, your combo will increase by one, so you'll get one more coin from all the next bricks you break.\n\nHowever, your combo will reset as soon as your ball hits the right side. \n\nAs soon as your combo rises, the right side becomes red to remind you that you should avoid hitting them.\n",
"upgrades.right_is_lava.help": "+{{lvl}} combo per brick broken, resets on right side hit",
"upgrades.right_is_lava.name": "Avoid right side",
- "upgrades.sacrifice.fullHelp": "This might get the combo pretty high",
+ "upgrades.sacrifice.fullHelp": "This might get the combo pretty high.",
"upgrades.sacrifice.help_l1": "Loosing a life clears all bricks",
"upgrades.sacrifice.help_over": "Loosing a life {{lvl}}x the combo then clears all bricks",
"upgrades.sacrifice.name": "Sacrifice",
- "upgrades.sapper.fullHelp": "Instead of just disappearing, the first brick you break will be replaced by a bomb brick. \n\nBouncing the ball on the puck re-arms the effect. \n\nLeveling-up this perk will allow you to place more bombs.\n\nRemember that bombs impact the velocity of nearby coins, so too many explosions could make it hard to catch the fruits of your hard work.",
+ "upgrades.sapper.fullHelp": "Instead of just disappearing, the first brick you break will be replaced by a bomb brick. Bouncing the ball on the puck re-arms the effect. Leveling-up this perk will allow you to place more bombs.\n\nRemember that bombs impact the velocity of nearby coins, so too many explosions could make it hard to catch the fruits of your hard work.",
"upgrades.sapper.help": "The first brick broken becomes a bomb.",
"upgrades.sapper.help_plural": "The first {{lvl}} bricks broken become bombs.",
"upgrades.sapper.name": "Sapper",
- "upgrades.shocks.fullHelp": "That would spice up the game of pool",
+ "upgrades.shocks.fullHelp": "Whenever two balls collide, they exchange their speed, spawn an explosion, and gain added speed to separated them. ",
"upgrades.shocks.help": "Explosive balls collisions",
"upgrades.shocks.name": "Shocks",
"upgrades.shunt.fullHelp": "If you also have hot start, the hot start is just added to the current combo",
@@ -271,23 +275,23 @@
"upgrades.soft_reset.fullHelp": "Limit the impact of a combo reset.",
"upgrades.soft_reset.help": "Combo resets keeps {{percent}}%",
"upgrades.soft_reset.name": "Soft reset",
- "upgrades.streak_shots.fullHelp": "Every time you break a brick, your combo (number of coins per bricks) increases by one. \n\nHowever, as soon as the ball touches your puck, the combo is reset to its default value, and you'll just get one coin per brick.\n\nOnce your combo rises above the base value, your puck will become red to remind you that it will destroy your combo to touch it with the ball.\n\nThis can stack with other combo related perks, the combo will rise faster but reset more easily as any of the conditions is enough to reset it. ",
+ "upgrades.streak_shots.fullHelp": "Every time you break a brick, your combo (number of coins per bricks) increases by one. \n\nHowever, as soon as the ball touches your puck, the combo is reset to its default value, and you'll just get one coin per brick.\n\nOnce your combo rises above the base value, your puck will become red to remind you that it will destroy your combo to touch it with the ball.",
"upgrades.streak_shots.help": "More coins if you break many bricks at once.",
"upgrades.streak_shots.name": "Single puck hit streak",
- "upgrades.sturdy_bricks.fullHelp": "With level one of this perk, the ball has a 20% chance to bounce harmlessly on bricks, \n but generates 10% more coins when it does break one. \n This +10% is not shown in the combo number. At level 4 the ball has 80% chance of bouncing and brings 40% more coins.",
+ "upgrades.sturdy_bricks.fullHelp": "Each level of this perk adds one HP to all bricks. You can see the HP number with the \"clairvoyant\" perk. You can increase ball damage by getting the \"piercing\" perk. Each level of the perk adds +50% coins spawn. ",
"upgrades.sturdy_bricks.help": "+{{lvl}} bricks HP, +{{percent}}% coins spawned when broken",
"upgrades.sturdy_bricks.name": "Sturdy bricks",
- "upgrades.telekinesis.fullHelp": "Right after the ball hits your puck, you'll be able to direct it left and right by moving your puck. \n\nThe effect stops when the ball hits a brick and resets the next time it touches the puck. It also does nothing when the ball is going downward after bouncing at the top.",
+ "upgrades.telekinesis.fullHelp": "You control the ball while it's going up. ",
"upgrades.telekinesis.help": "Puck controls the ball's trajectory",
"upgrades.telekinesis.help_plural": "Stronger effect on the ball",
"upgrades.telekinesis.name": "Telekinesis",
- "upgrades.top_is_lava.fullHelp": "Whenever you break a brick, your combo will increase by one. However, your combo will reset as soon as your ball hit the top of the screen. \n\nWhen your combo is above the minimum, a red bar will appear at the top to remind you that you should avoid hitting it. \n\nThe effect stacks with other combo perks.",
+ "upgrades.top_is_lava.fullHelp": "Whenever you break a brick, your combo will increase by one. However, your combo will reset as soon as your ball hit the top of the screen. \n\nWhen your combo is above the minimum, a red bar will appear at the top to remind you that you should avoid hitting it. ",
"upgrades.top_is_lava.help": "+{{lvl}} combo per brick, reset when the top is hit",
"upgrades.top_is_lava.name": "Sky is the limit",
"upgrades.trampoline.fullHelp": "One of the rare combo upgrades that don't add a reset condition",
- "upgrades.trampoline.help": "+{{lvl}} combo per puck bounce,-{{lvl}} combo per ceiling bounce",
+ "upgrades.trampoline.help": "+{{lvl}} combo per puck bounce,-{{lvl}} combo per bounce on any border",
"upgrades.trampoline.name": "Trampoline",
- "upgrades.unbounded.fullHelp": "I hope you've found a way to keep your ball on screen",
+ "upgrades.unbounded.fullHelp": "I hope you've found a way to keep your ball on screen. Penalties for hitting the sides no longer apply. At level 2+, the ceiling will also disappear. This is an advanced perk. ",
"upgrades.unbounded.help": "+{{lvl}} combo per brick, no more sides to keep the ball in game, danger",
"upgrades.unbounded.help_no_ceiling": "+{{lvl}} combo per brick, no more sides or ceiling",
"upgrades.unbounded.name": "Unbounded",
@@ -298,10 +302,10 @@
"upgrades.wind.help": "Puck position creates wind",
"upgrades.wind.help_plural": "Stronger wind force",
"upgrades.wind.name": "Wind",
- "upgrades.yoyo.fullHelp": "It's the opposite of telekinesis",
+ "upgrades.yoyo.fullHelp": "It's the opposite of telekinesis, control the ball while it's falling back down.",
"upgrades.yoyo.help": "Ball falls toward puck",
"upgrades.yoyo.name": "Yo-yo",
- "upgrades.zen.fullHelp": "After all, this is a non-violent game",
+ "upgrades.zen.fullHelp": "After all, this is a non-violent game. ",
"upgrades.zen.help": "+{{lvl}} combo per bricks, reset when there's an explosion",
"upgrades.zen.name": "Zen"
}
diff --git a/src/i18n/fr.json b/src/i18n/fr.json
index bee07d2..beb244e 100644
--- a/src/i18n/fr.json
+++ b/src/i18n/fr.json
@@ -28,6 +28,12 @@
"gameOver.upgrades_picked": "Amélioration actives en fin de partie",
"gameOver.win.summary": "Vous avez nettoyé tous les niveaux pour cette partie, en attrapant {{score}} pièces au total.",
"gameOver.win.title": "Partie terminée",
+ "lab.help": "Créez trois bonnes combinaisons d'améliorations",
+ "lab.instructions": "Sélectionnez les améliorations ci-dessous, puis choisissez le niveau à jouer. Chaque amélioration d'un avantage ne peut pas être améliorée autant dans les niveaux suivants.",
+ "lab.menu_entry": "Nouvelle partie \"lab\" ",
+ "lab.select_level": "Sélectionnez un niveau pour continue",
+ "lab.title": "Choisissez les avantages pour le niveau {{lvl}}/3",
+ "lab.unlocks_at": "Déverrouillé à partir d'un score total de {{score}}",
"level_up.after_buttons": "Vous venez de terminer le niveau {{level}}/{{max}}.",
"level_up.before_buttons": "Vous avez attrapé {{score}} pièces {{catchGain}} sur {{levelSpawnedCoins}} en {{time}} secondes {{timeGain}}.\n\nVous avez raté les briques {{levelMisses}} fois {{missesGain}} et touché les bords de la zone de jeu {{levelWallBounces}} fois {{wallHitsGain}}.\n\n{{compliment}}",
"level_up.compliment_advice": "Essayez d'attraper toutes les pièces, de ne jamais rater les briques, de ne pas toucher les murs ou de terminer le niveau en moins de 30 secondes pour obtenir des choix supplémentaires et des améliorations.",
@@ -50,27 +56,28 @@
"main_menu.colorful_coins": "Pièces colorées",
"main_menu.colorful_coins_help": "Les pièces apparaissent toujours de la couleur de la brique",
"main_menu.credit_levels": "Source ou référence des niveaux
",
- "main_menu.credits": "",
+ "main_menu.credits": "# Crédits\n\nJ'ai récupéré de nombreux motifs d'arrière-plan sur https://pattern.monster/\n\nUne partie du code de génération de sons a été écrite par ChatGPT et a été largement adaptée à mon utilisation au fil du temps.\n\nJe souhaitais un APK qui démarre en plein écran et puisse être listé sur Android et le Play Store. J'ai commencé avec une vue vide et je me suis attelé à la réduire, à l'aide de ce tutoriel : https://github.com/fractalwrench/ApkGolf/blob/master/blog/BLOG_POST.md\n\nColin (obigre) a apporté de nombreuses idées fantastiques au jeu. Voici son site web : https://colin-crapahute.bearblog.dev/\n\n# Autres jeux de casse-briques\n\nVoici quelques jeux intéressants dans le genre du casse-briques :\n\n- LBreakoutHD : un remake open source intéressant https://sourceforge.net/p/lgames/code/HEAD/tree/trunk/lbreakouthd/\n- Wizorb https://store.steampowered.com/app/207420/Wizorb/\n- Rollers of the realm : https://store.steampowered.com/app/262470/Rollers_of_the_Realm/\n- Breakout multijoueur : JcJ avec multijoueur de type console aérienne https://casmo.itch.io/breakout-multiplayer\n- Ricochet Infinity : https://www.myabandonware.com/game/ricochet-infinity-dxm\n- Mes premières tentatives dans le genre : https://breakout-v1.lecaro.me/ (décontracté, plus proche du concept original de Breakout) et https://breakout-v2.lecaro.me/ (multijoueur)\n\n# Autres jeux PC à forte rejouabilité\n\n- FTL : https://www.gog.com/en/game/faster_than_light\n- Nova Drift : https://www.gog.com/en/game/nova_drift\n- Noita : https://www.gog.com/en/game/noita\n- Enter the Gungeon : https://www.gog.com/en/game/enter_the_gungeon\n- Zero Sivert : https://store.steampowered.com/app/1782120/ZERO_Sievert/\n- Factorio : https://www.factorio.com/\n- Nuclear throne : https://store.steampowered.com/app/242680/Nuclear_Throne/ (ne l'achetez pas sur GOG, c'est obsolète)\n- Brigador : https://www.gog.com/en/game/brigador\n- Teleglitch https://www.gog.com/en/game/teleglitch_die_more_edition\n- Broforce : https://www.gog.com/en/game/broforce\n- Spelunky : https://www.gog.com/en/game/spelunky",
"main_menu.donate": "Vous avez joué {{hours}} heures",
"main_menu.donate_help": "Pourriez-vous donner {{suggestion}} € ? Vous pouvez masquer ce rappel dans les paramètres.",
"main_menu.donation_reminder": "Me rappeler de donner",
"main_menu.donation_reminder_help": "Afficher le temps de jeu et un lien pour donner dans le menu principal",
"main_menu.download_save_file": "Sauvegarder mes progrès",
"main_menu.download_save_file_help": "Obtenir un fichier de sauvegarde",
- "main_menu.footer_html": " Améliorations
",
+ "main_menu.high_score": "High score : {{score}}",
"main_menu.kid": "Mode enfants",
"main_menu.kid_help": "Balle plus lente",
"main_menu.language": "Langue",
"main_menu.language_help": "Changer la langue d'affichage",
"main_menu.load_save_file": "Charger une sauvegarde",
"main_menu.load_save_file_help": "Depuis un fichier ",
- "main_menu.loop_run": "Nouvelle partie longue (expérimental)",
+ "main_menu.loop_run": "Nouvelle partie longue ",
"main_menu.loop_run_help": "Permet de boucler le jeu jusqu'à 7 fois",
"main_menu.max_coins": "{{max}} pièces affichées maximum",
"main_menu.max_coins_help": "Visuel uniquement, pas d'impact sur le score",
@@ -111,13 +118,10 @@
"play.current_lvl": "Niveau {{level}}/{{max}}",
"play.current_lvl_loop": "Niveau {{level}}/{{max}} boucle {{loop}}",
"play.menu_label": "Menu",
+ "play.menu_tooltip": "",
"play.missed_ball": "raté",
"play.mobile_press_to_play": "Gardez le doigt ici pour jouer",
- "sandbox.help": "Tester n'importe quelle combinaison d'améliorations",
- "sandbox.instructions": "Sélectionnez les amélioration ci-dessous et appuyez sur \"Démarrer la partie de test\" pour les tester. Les scores et les statistiques ne seront pas enregistrés.",
- "sandbox.start": "Démarrer la partie de test",
- "sandbox.title": "Mode bac à sable",
- "sandbox.unlocks_at": "Déverrouillé à partir d'un score total de {{score}}",
+ "play.score_tooltip": "",
"score_panel.rerolls_count": "Vous avez accumulé {{rerolls}} rerolls",
"score_panel.test_run": "Il s'agit d'une partie d'essai, le score n'est pas enregistré.",
"score_panel.title": "{{score}} points au niveau {{level}}/{{max}} ",
@@ -127,80 +131,80 @@
"unlocks.greyed_out_help": "Les éléments grisées peuvent être débloquées en augmentant votre score total. Le score total augmente à chaque fois que vous marquez des points dans le jeu.",
"unlocks.intro": "Votre score total est de {{ts}}. Vous trouverez ci-dessous toutes les améliorations et tous les niveaux que le jeu peut offrir. Cliquez sur l'un d'entre eux pour commencer une nouvelle partie rapide. ",
"unlocks.level": "Voici tous les niveaux du jeu. Cliquez sur un niveau pour commencer une nouvelle partie avec ce niveau de départ. ",
- "unlocks.level_description": "Un niveau {{size}}x{{size}} avec {{bricks}} briques",
+ "unlocks.level_description": "Un niveau {{size}}x{{size}} avec {{bricks}} briques, {{colors}} couleurs et {{bombs}} bombes.",
"unlocks.title": "Vous avez débloqué {{percentUnlock}}% du jeu.",
"unlocks.unlocks_at": "Déverrouillé au score total {{threshold}}.",
- "upgrades.addiction.fullHelp": "Le décompte ne commence qu'à parti de la destruction de la première brique du niveau. ",
+ "upgrades.addiction.fullHelp": "Le décompte ne commence qu'à parti de la destruction de la première brique du niveau, et s'arrête dès qu'il n'y a plus de briques. ",
"upgrades.addiction.help": "+{{lvl}} combo / brique, le combo RAZ après {{delay}}s sans casser de briques",
"upgrades.addiction.name": "Addiction",
"upgrades.asceticism.fullHelp": "Il faudra trouver un moyen de stocker les pièces pendant que le combo grandis. ",
"upgrades.asceticism.help": "+{{combo}} combo par brique cassée, RAZ quand une pièce est attrapée",
"upgrades.asceticism.name": "Ascétisme",
- "upgrades.ball_attract_ball.fullHelp": "Les balles qui sont éloignées de plus d'une demi-largeur d'écran commencent à s'attirer. La force d'attraction est plus forte lorsque les balles sont plus éloignées l'une de l'autre. Des particules arc-en-ciel voleront pour symboliser la force d'attraction. Cet avantage n'est offert que si vous avez déjà plus d'une balle en jeu.",
+ "upgrades.ball_attract_ball.fullHelp": "Les balles qui sont éloignées de plus de 3/4 de la largeur d'écran commencent à s'attirer. La force d'attraction est plus forte lorsque les balles sont plus éloignées l'une de l'autre. Des particules arc-en-ciel voleront pour symboliser la force d'attraction. Cet avantage n'est offert que si vous avez déjà plus d'une balle en jeu.",
"upgrades.ball_attract_ball.help": "Les balles attirent les balles",
"upgrades.ball_attract_ball.help_plural": "Force d'attraction plus forte",
"upgrades.ball_attract_ball.name": "Gravité",
- "upgrades.ball_attracts_coins.fullHelp": "Ne me demandez pas pourquoi ça va que dans une sens. ",
+ "upgrades.ball_attracts_coins.fullHelp": "Vous pourriez l'utiliser pour que les pièces orbitent autours de la balle et colorent les briques à proximité.",
"upgrades.ball_attracts_coins.help": "Les balles attirent les pièces",
"upgrades.ball_attracts_coins.name": "Balles de fortune",
- "upgrades.ball_repulse_ball.fullHelp": "Les balles qui se trouvent à moins d'une demi-largeur d'écran commencent à se repousser les unes les autres. La force de répulsion est plus forte si elles sont proches l'une de l'autre. Des particules seront affichées pour symboliser l'application de cette force. Cet avantage n'est offert que si vous avez déjà plus d'une balle.",
+ "upgrades.ball_repulse_ball.fullHelp": "Les balles qui se trouvent à moins d'un quart de largeur d'écran commencent à se repousser les unes les autres. La force de répulsion est plus forte si elles sont proches l'une de l'autre. Des particules seront affichées pour symboliser l'application de cette force. Cet avantage n'est offert que si vous avez déjà plus d'une balle.",
"upgrades.ball_repulse_ball.help": "Les balles repoussent les balles",
"upgrades.ball_repulse_ball.help_plural": "Force de répulsion plus forte",
"upgrades.ball_repulse_ball.name": "Vol en formation",
- "upgrades.base_combo.fullHelp": "Votre combo (nombre de pièces par brique) commence normalement à 1 au début du niveau et revient à 1 lorsque vous rebondissez sans rien toucher. Avec cette caractéristique, le combo commence 3 points plus haut, ce qui fait que vous obtiendrez toujours au moins 4 pièces par brique. Lorsque votre combo est réinitialisé, il revient à 4 et non à 1. Votre balle scintillera un peu pour indiquer que son combo est supérieur à 1.",
+ "upgrades.base_combo.fullHelp": "Votre combo commence normalement à 1 au début du niveau et revient à 1 lorsque vous rebondissez sans rien toucher. Avec cette caractéristique, le combo commence 3 points plus haut, ce qui fait que vous obtiendrez toujours au moins 4 pièces par brique. Lorsque votre combo est réinitialisé, il revient à 4 et non à 1. Votre balle scintillera un peu pour indiquer que son combo est supérieur à 1.",
"upgrades.base_combo.help": "Le combo commence à {{coins}}.",
"upgrades.base_combo.name": "Combo +3",
"upgrades.bigger_explosions.fullHelp": "L'explosion par défaut efface un carré de 3x3 briques, avec cette amélioration un carré de 5x5. Le vent soufflant les pièces est également beaucoup plus fort. L'écran clignotera un peu après chaque explosion (sauf en mode graphismes basiques).",
"upgrades.bigger_explosions.help": "Explosions plus violentes",
"upgrades.bigger_explosions.name": "Kaboom",
- "upgrades.bigger_puck.fullHelp": "Un grand palet permet de ne jamais rater la balle et d'attraper plus de pièces, ainsi que d'orienter précisément les rebonds (l'angle de la balle ne dépend que de l'endroit où elle touche le palet). Cependant, un grand palet est plus difficile à utiliser sur les côtés du niveau.",
+ "upgrades.bigger_puck.fullHelp": "Un grand palet permet de ne jamais rater la balle et d'attraper plus de pièces, ainsi que d'orienter précisément les rebonds (l'angle de la balle ne dépend que de l'endroit où elle touche le palet). \n\nCependant, un grand palet est plus difficile à utiliser sur les côtés du niveau, sauf si vous le combinez avec une autre amélioration.",
"upgrades.bigger_puck.help": "Attrapez facilement plus de pièces.",
"upgrades.bigger_puck.name": "Palet plus grand",
- "upgrades.clairvoyant.fullHelp": "Vous aide à choisir les bonnes améliorations et à comprendre ce qu'il se passe avec \"briques solides\"",
+ "upgrades.clairvoyant.fullHelp": "Vous aide à choisir les bonnes améliorations et à comprendre ce qu'il se passe avec \"briques solides\". Les niveaux 2 et 3 (en mode loop) amènent des informations complémentaires d'une utilité douteuse. ",
"upgrades.clairvoyant.help": "Révèle les niveaux, PV des briques et direction des balles",
"upgrades.clairvoyant.name": "Clairvoyant",
- "upgrades.coin_magnet.fullHelp": "Dirige les pièces vers le palet. L'effet est plus fort si la pièce est déjà proche du palet. Attraper 90 % ou 100 % des pièces apporte des bonus spéciaux dans le jeu. Une autre façon d'attraper plus de pièces est de frapper les briques par le bas. La vitesse et la direction de la balle ont un impact sur la vitesse des pièces produites.",
+ "upgrades.coin_magnet.fullHelp": "Dirige les pièces vers le palet. L'effet est plus fort si la pièce est déjà proche du palet. Attraper toutes les pièces apporte des bonus spéciaux dans le jeu. \n\nUne autre façon d'attraper plus de pièces est de frapper les briques par le bas. La vitesse et la direction de la balle ont un impact sur la vitesse des pièces produites.",
"upgrades.coin_magnet.help": "Le palet attire les pièces",
"upgrades.coin_magnet.help_plural": "Effet plus marqué sur les pièces",
"upgrades.coin_magnet.name": "Aimant pour pièces",
- "upgrades.compound_interest.fullHelp": "Votre combo augmentera d'une unité à chaque fois que vous casserez une brique, générant de plus en plus de pièces à chaque fois que vous casserez une brique. Veillez cependant à attraper chacune de ces pièces avec votre palet, car toute pièce perdue remettra votre combo à zéro. \n \nSi votre combinaison est supérieure au minimum, une ligne rouge s'affichera au bas de la zone de jeu pour vous le rappeler que les pièces ne doivent pas aller à cet endroit.\n\nCet avantage se combine avec d'autres avantages de combo, le combo augmentera plus rapidement mais se réinitialisera plus souvent.",
+ "upgrades.compound_interest.fullHelp": "Votre combo augmentera d'une unité à chaque fois que vous casserez une brique, générant de plus en plus de pièces à chaque fois que vous casserez une brique. Veillez cependant à attraper chacune de ces pièces avec votre palet, car toute pièce perdue remettra votre combo à zéro. \n \nSi votre combinaison est supérieure au minimum, une ligne rouge s'affichera au bas de la zone de jeu pour vous le rappeler que les pièces ne doivent pas aller à cet endroit.",
"upgrades.compound_interest.help": "+{{lvl}} combo par brique cassée, remise à zéro quand une pièce est perdu",
"upgrades.compound_interest.name": "Intérêts",
- "upgrades.concave_puck.fullHelp": " Les balles démarrent verticalement en début de niveau, et rebondi sur le palet de manière plus verticale et inversée.",
+ "upgrades.concave_puck.fullHelp": "Les balles démarrent verticalement en début de niveau, et rebondi sur le palet de manière plus verticale et inversée.",
"upgrades.concave_puck.help": "Aide à éviter les bords.",
"upgrades.concave_puck.name": "Palet concave",
"upgrades.corner_shot.fullHelp": "Aide à viser dans les coins",
"upgrades.corner_shot.help": "Laisse votre palet sortir de la zone encadrée",
"upgrades.corner_shot.name": "Tir en coin",
- "upgrades.etherealcoins.fullHelp": "Il faudrait vous assurer que les pièces tomberont bien quand même à un moment",
+ "upgrades.etherealcoins.fullHelp": "Il faudrait vous assurer que les pièces tomberont bien quand même à un moment.",
"upgrades.etherealcoins.help": "Les pièces ne subissent plus la gravité",
"upgrades.etherealcoins.name": "Monnaie spatiale ",
"upgrades.extra_levels.fullHelp": "La partie dure normalement 7 niveaux, après quoi le jeu est terminé et le score que vous avez atteint est votre score de partie.\n\nChoisir cette amélioration vous permet de prolonger la partie d'un niveau. Les derniers niveaux sont souvent ceux où vous faites le plus de points, la différence peut donc être spectaculaire.",
"upgrades.extra_levels.help": "Jouer {{count}} niveaux au lieu de 7",
"upgrades.extra_levels.name": "+1 niveau",
- "upgrades.extra_life.fullHelp": "Normalement, vous n'avez qu'une seule balle par manche, et la manche est terminée dès que vous la laissez tomber.\nCette compétence ajoute une barre blanche en bas de l'écran qui sauvera une balle une fois, et se brisera au cours du processus.\nVous pouvez prendre plusieurs vies d'avances, elle seront utilisées à chaque fois qu'une balle est sur le point d'être perdue. ",
+ "upgrades.extra_life.fullHelp": "Normalement, vous n'avez qu'une seule balle par manche, et la manche est terminée dès que vous la laissez tomber.\n\nCette compétence ajoute une barre blanche en bas de l'écran qui sauvera une balle une fois, et se brisera au cours du processus.\n\nVous pouvez prendre plusieurs vies d'avances, elle seront utilisées à chaque fois qu'une balle est sur le point d'être perdue. ",
"upgrades.extra_life.help": "La balle rebondit une fois avant d'être perdue.",
"upgrades.extra_life.help_plural": "La balle rebondit {{lvl}} fois avant d'être perdue.",
"upgrades.extra_life.name": "+1 vie",
"upgrades.forgiving.fullHelp": " La première brique ratée par niveau ne coûte rien, la suivante 10%, 20%, etc.",
"upgrades.forgiving.help": "Rater les briques fait perdre un portion progressivement plu importante du combo",
"upgrades.forgiving.name": "L'erreur est humaine",
- "upgrades.ghost_coins.fullHelp": "Ce n'est pas une bug, c'est une fonctionnalité",
+ "upgrades.ghost_coins.fullHelp": "Ce n'est pas une bug, c'est une fonctionnalité Les pièces passent à travers les briques doucement. ",
"upgrades.ghost_coins.help": "Les pièces traversent les briques",
"upgrades.ghost_coins.name": "Pièces fantôme",
"upgrades.helium.fullHelp": "Les pièces attendront d'être sous le palet pour tomber. ",
"upgrades.helium.help": "Les pièce flottent au lieu de tomber autours du palet",
"upgrades.helium.name": "Helium",
- "upgrades.hot_start.fullHelp": "Au début de chaque niveau, votre combo commencera à +15 points, mais à chaque seconde, il sera diminué d'un point. Cela signifie que les 15 premières secondes d'un niveau produiront beaucoup plus de pièces que les suivantes.\nVous devez vous assurer de terminer le niveau rapidement. L'effet se cumule avec d'autres avantages liés au combo, ce qui vous permet d'augmenter le combo après les 15 secondes, mais il continuera à diminuer chaque seconde. Chaque fois que vous reprenez la compétence, l'effet est encore plus prononcé.",
+ "upgrades.hot_start.fullHelp": "Au début de chaque niveau, votre combo commencera à +30 points, mais à chaque seconde, il sera diminué d'un point. Cela signifie que les 30 premières secondes d'un niveau produiront beaucoup plus de pièces que les suivantes.\nVous devez vous assurer de terminer le niveau rapidement. L'effet se cumule avec d'autres avantages liés au combo, ce qui vous permet d'augmenter le combo après les 30 secondes, mais il continuera à diminuer chaque seconde. Chaque fois que vous reprenez la compétence, l'effet est encore plus prononcé.",
"upgrades.hot_start.help": "Combo à {{start}}, -{{loss}} combo par seconde",
"upgrades.hot_start.name": "Démarrage à chaud",
- "upgrades.implosions.fullHelp": "La force d’explosion est appliquée dans l’autre sens.",
+ "upgrades.implosions.fullHelp": "La force d’explosion est appliquée dans l’autre sens. Les niveaux 2+ augmentent la puissance de l'implosion. ",
"upgrades.implosions.help": "Les explosions aspirent les pièces au lieu de les faire exploser.",
"upgrades.implosions.name": "Implosions",
"upgrades.instant_upgrade.fullHelp": "Choisissez immédiatement deux améliorations, afin d'en obtenir une gratuite et une autre pour rembourser celle utilisée pour obtenir cet avantage. Chaque fois que vous choisirez des améliorations dans le menu suivant, vous aurez moins de choix.",
"upgrades.instant_upgrade.help": "-{{lvl}} choix jusqu'à la fin de la course.",
"upgrades.instant_upgrade.name": "+2 améliorations maintenant",
- "upgrades.left_is_lava.fullHelp": "Chaque fois que vous cassez une brique, votre combo augmente d'une unité, ce qui vous permet d'obtenir une pièce de plus à chaque fois que vous cassez une brique.\n\nCependant, votre combinaison se réinitialise dès que votre balle touche le côté gauche.\n\nDès que votre combo augmente, le côté gauche devient rouge pour vous rappeler que vous devez éviter de le frapper.\n\nL'effet se cumule avec d'autres avantages de combo, le combo augmente plus rapidement avec plus d'améliorations, mais il se réinitialise également si l'une ou l'autre des conditions de réinitialisation est remplie. ",
+ "upgrades.left_is_lava.fullHelp": "Chaque fois que vous cassez une brique, votre combo augmente d'une unité, ce qui vous permet d'obtenir une pièce de plus à chaque fois que vous cassez une brique.\n\nCependant, votre combinaison se réinitialise dès que votre balle touche le côté gauche.\n\nDès que votre combo augmente, le côté gauche devient rouge pour vous rappeler que vous devez éviter de le frapper.",
"upgrades.left_is_lava.help": "+{{lvl}} combo par brique, RAZ en touchant le bord gauche",
"upgrades.left_is_lava.name": "Éviter le côté gauche",
"upgrades.metamorphosis.fullHelp": "Avec cette amélioration, les pièces seront de la couleur de la brique d'où elles proviennent et coloreront la première brique qu'elles toucheront. \n\nLes pièces apparaissent à la vitesse de la balle qui les a cassées, ce qui signifie que vous pouvez viser un peu dans la direction des briques que vous voulez \"peindre\".",
@@ -224,7 +228,7 @@
"upgrades.pierce.fullHelp": "Normalement , la balle rebondit dès qu'elle touche une brique. Avec cette caractéristique, elle continuera sa trajectoire jusqu'à 3 briques cassées.\n\nAprès cela, elle rebondira sur la quatrième brique et vous devez toucher le palet pour remettre le compteur à zéro.",
"upgrades.pierce.help": "La balle perce {{count}} briques après chaque rebond sur le palet",
"upgrades.pierce.name": "Balle perçante",
- "upgrades.pierce_color.fullHelp": "Chaque fois qu'une balle touche une brique de la même couleur, elle la traverse sans encombre.\nLorsqu'elle atteint une brique de couleur différente, elle la casse, prend sa couleur et rebondit. \nSi vous avez des briques solides, le fonctionnement est un peu différent. ",
+ "upgrades.pierce_color.fullHelp": "Chaque fois qu'une balle touche une brique de la même couleur, elle la traverse sans encombre.\n\nLorsqu'elle atteint une brique de couleur différente, elle la casse, prend sa couleur et rebondit. \n\nSi vous avez des briques solides, le fonctionnement est un peu différent. ",
"upgrades.pierce_color.help": "+{{lvl}} dommage sur les briques de la couleur de la balle",
"upgrades.pierce_color.name": "Perceur de couleur",
"upgrades.puck_repulse_ball.fullHelp": "Lorsqu'une balle s'approche du palet, elle commence à ralentir, voire à rebondir sans toucher le palet. Beaucoup de choses sont liées à un passage par le palet dans le jeu, donc ça pourrait ouvrir des possibilités. ",
@@ -237,18 +241,18 @@
"upgrades.respawn.fullHelp": "Des effets de particules vous indiqueront où les briques apparaîtront. ",
"upgrades.respawn.help": "{{percent}}% des briques réapparaissent après {{delay}}s.",
"upgrades.respawn.name": "Réapparition ",
- "upgrades.right_is_lava.fullHelp": "Chaque fois que vous cassez une brique, votre combo augmente d'une unité, ce qui vous permet d'obtenir une pièce de plus à chaque fois que vous cassez les briques suivantes.\n\nCependant, votre combinaison se réinitialise dès que votre balle touche le côté droit de la zone de jeu.\n\nDès que votre combo augmente, le côté droit devient rouge pour vous rappeler que vous devez éviter de le frapper.\n\nL'effet se cumule avec d'autres avantages de combo, le combo augmente plus rapidement avec plus d'améliorations, mais il se réinitialise également si l'une des conditions de réinitialisation est remplie.",
+ "upgrades.right_is_lava.fullHelp": "Chaque fois que vous cassez une brique, votre combo augmente d'une unité, ce qui vous permet d'obtenir une pièce de plus à chaque fois que vous cassez les briques suivantes.\n\nCependant, votre combinaison se réinitialise dès que votre balle touche le côté droit de la zone de jeu.\n\nDès que votre combo augmente, le côté droit devient rouge pour vous rappeler que vous devez éviter de le frapper.",
"upgrades.right_is_lava.help": "+{{lvl}} combo par brique, RAZ en cas de choc avec le coté droit",
"upgrades.right_is_lava.name": "Éviter le côté droit",
- "upgrades.sacrifice.fullHelp": "Le combo pourrait monter assez haut ",
+ "upgrades.sacrifice.fullHelp": "Le combo pourrait monter assez haut.",
"upgrades.sacrifice.help_l1": "Perdre une vie détruit toutes les briques",
"upgrades.sacrifice.help_over": "Perdre une vie multiplie le combo par {{lvl}} puis détruit toutes les briques à l'écran",
"upgrades.sacrifice.name": "Sacrifice",
- "upgrades.sapper.fullHelp": "Au lieu de disparaître, la première brique cassée est remplacée par une bombe. Faire rebondir la balle sur le palet réarme l'effet. En montant en niveau, vous pourrez placer plus de bombes. N'oubliez pas que les bombes ont un impact sur la vitesse des pièces à proximité. Trop d'explosions peuvent rendre difficile la récupération des fruits de votre dur labeur.",
+ "upgrades.sapper.fullHelp": "Au lieu de disparaître, la première brique cassée est remplacée par une bombe. Faire rebondir la balle sur le palet réarme l'effet. En montant en niveau, vous pourrez placer plus de bombes. \n\nN'oubliez pas que les bombes ont un impact sur la vitesse des pièces à proximité. Trop d'explosions peuvent rendre difficile la récupération des fruits de votre dur labeur.",
"upgrades.sapper.help": "La première brique cassée devient une bombe.",
"upgrades.sapper.help_plural": "Les premières briques {{lvl}} cassées deviennent des bombes.",
"upgrades.sapper.name": "Sapeur",
- "upgrades.shocks.fullHelp": "Un peu comme jouer au billard avec des grenades",
+ "upgrades.shocks.fullHelp": "Quand deux balles entrent en collision, elles échangent leurs vitesse, créent une explosion et gagnent un peu de vitesse qui les sépare. ",
"upgrades.shocks.help": "Collision explosive entre les balles",
"upgrades.shocks.name": "Choc",
"upgrades.shunt.fullHelp": "Démarrage à chaud sera simplement ajouté au combo actuel",
@@ -271,23 +275,23 @@
"upgrades.soft_reset.fullHelp": "Limite l'impact d'une réinitialisation du combo.",
"upgrades.soft_reset.help": "La remise à zéro du combo conserve {{percent}}% des points",
"upgrades.soft_reset.name": "Réinitialisation progressive",
- "upgrades.streak_shots.fullHelp": "Chaque fois que vous cassez une brique, votre combo (nombre de pièces par brique) augmente d'une unité. Cependant, dès que la balle touche votre palet, le combo est remis à sa valeur par défaut, et vous n'obtiendrez qu'une seule pièce par brique.\n\nUne fois que votre combinaison dépasse la valeur de base, votre palet devient rouge pour vous rappeler que le fait de le toucher avec la balle détruira votre combinaison.\n\nCela peut se cumuler avec d'autres avantages liés au combo, le combo augmentera plus rapidement mais se réinitialisera plus facilement car n'importe laquelle des conditions suffit à le réinitialiser.",
+ "upgrades.streak_shots.fullHelp": "Chaque fois que vous cassez une brique, votre combo (nombre de pièces par brique) augmente d'une unité. Cependant, dès que la balle touche votre palet, le combo est remis à sa valeur par défaut, et vous n'obtiendrez qu'une seule pièce par brique.\n\nUne fois que votre combinaison dépasse la valeur de base, votre palet devient rouge pour vous rappeler que le fait de le toucher avec la balle détruira votre combinaison.",
"upgrades.streak_shots.help": "Plus de pièces si vous cassez plusieurs briques à la fois.",
"upgrades.streak_shots.name": "Séquence de destruction",
- "upgrades.sturdy_bricks.fullHelp": "Avec le niveau 1 de cette compétence, la balle a 20 % de chances de rebondir sans casser les briques, mais génère 10% de pièces en plus lorsqu'elle en casse une.\n\nCe +10% n'est pas indiqué dans le nombre de combos. Au niveau 4, la balle a 80 % de chances de rebondir et rapporte 40 % de pièces en plus.",
+ "upgrades.sturdy_bricks.fullHelp": "Chaque niveau de cet atout ajoute un PV à toutes les briques. Vous pouvez consulter le nombre de PV avec l'avantage \"clairvoyant\". Vous pouvez augmenter les dégâts des balles en obtenant l'avantage \"Balle perçante\". Chaque niveau de cet atout ajoute 50% de pièces en plus.",
"upgrades.sturdy_bricks.help": "+{{lvl}} points de vie des briques, +{{percent}}% pièces quand elles sont détruites",
"upgrades.sturdy_bricks.name": "Briques solides",
- "upgrades.telekinesis.fullHelp": "Dès que la balle touche votre palet, vous pouvez la diriger vers la gauche ou la droite en déplaçant votre palet.\n\nL'effet s'arrête lorsque la balle touche une brique et se réinitialise la prochaine fois qu'elle touche le palet. Il ne fait rien non plus lorsque la balle descend après avoir rebondi au sommet.",
+ "upgrades.telekinesis.fullHelp": "Vous contrôlez la balle pendant qu'elle monte.",
"upgrades.telekinesis.help": "Contrôler la trajectoire de la balle",
"upgrades.telekinesis.help_plural": "Effet plus fort sur la balle",
"upgrades.telekinesis.name": "Télékinésie",
- "upgrades.top_is_lava.fullHelp": "Chaque fois que vous cassez une brique, votre combo augmente d'une unité. Cependant, votre combo sera réinitialisé dès que votre balle atteindra le haut de l'écran.\n\nLorsque votre combo est supérieur au minimum, une barre rouge apparaît en haut de l'écran pour vous rappeler que vous devez éviter de la frapper.\n\nCet effet s'ajoute aux autres avantages du combo.",
+ "upgrades.top_is_lava.fullHelp": "Chaque fois que vous cassez une brique, votre combo augmente d'une unité. Cependant, votre combo sera réinitialisé dès que votre balle atteindra le haut de l'écran.\n\nLorsque votre combo est supérieur au minimum, une barre rouge apparaît en haut de l'écran pour vous rappeler que vous devez éviter de la frapper.",
"upgrades.top_is_lava.help": "+{{lvl}} combo par brique, RAZ en cas de rebond au plafond",
"upgrades.top_is_lava.name": "Icare ",
"upgrades.trampoline.fullHelp": "Une des rares améliorations à ne pas avoir de condition de remise à zéro",
- "upgrades.trampoline.help": "+{{lvl}} combo à chaque rebond d'une balle sur le palet,-{{lvl}} combo à chaque rebond au plafond",
+ "upgrades.trampoline.help": "+{{lvl}} combo à chaque rebond d'une balle sur le palet,-{{lvl}} combo à chaque rebond sur un bord ",
"upgrades.trampoline.name": "Trampoline",
- "upgrades.unbounded.fullHelp": "J'espère que vous avez prévu un moyen de récupérer vos balles",
+ "upgrades.unbounded.fullHelp": "J'espère que vous avez trouvé un moyen de garder votre balle à l'écran. Au niveau 2+, le plafond disparaîtra également. Il s'agit d'un avantage avancé.",
"upgrades.unbounded.help": "+{{lvl}} combo par brique, plus de cotés pour garder la balle en jeu, danger",
"upgrades.unbounded.help_no_ceiling": "+{{lvl}} combo par brique, plus de cotés ou de plafond",
"upgrades.unbounded.name": "Libérée, délivrée",
@@ -298,10 +302,10 @@
"upgrades.wind.help": "La position du palet crée du vent",
"upgrades.wind.help_plural": "Force du vent plus importante",
"upgrades.wind.name": "Vive le vent",
- "upgrades.yoyo.fullHelp": "C'est l'inverse de Télékinésie",
+ "upgrades.yoyo.fullHelp": "C'est l'inverse de Télékinésie, contrôlez la balle alors qu'elle redescend vers le palet.",
"upgrades.yoyo.help": "La balle descend vers le palet",
"upgrades.yoyo.name": "Yo-yo",
- "upgrades.zen.fullHelp": "C'est quand même un jeu non violent à la base",
+ "upgrades.zen.fullHelp": "C'est quand même un jeu non violent à la base.",
"upgrades.zen.help": "+{{lvl}} combo par brique, jusqu'à ce qu'il y ait une explosion",
"upgrades.zen.name": "Zen"
}
diff --git a/src/index.html b/src/index.html
index 382a10b..341d444 100644
--- a/src/index.html
+++ b/src/index.html
@@ -22,12 +22,12 @@
-
-
+