mirror of
https://gitlab.com/lecarore/breakout71.git
synced 2025-04-22 04:56:15 -04:00
Added rerolls
This commit is contained in:
parent
0ada53a063
commit
e3e61b12b8
10 changed files with 282 additions and 182 deletions
74
dist/index.html
vendored
74
dist/index.html
vendored
File diff suppressed because one or more lines are too long
30
src/adventure.ts
Normal file
30
src/adventure.ts
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
import {GameState} from "./types";
|
||||||
|
|
||||||
|
export async function openAdventureRunUpgradesPicker(gameState: GameState) {
|
||||||
|
let options=3
|
||||||
|
const catchRate =
|
||||||
|
(gameState.score - gameState.levelStartScore) /
|
||||||
|
(gameState.levelSpawnedCoins || 1);
|
||||||
|
|
||||||
|
|
||||||
|
if (gameState.levelWallBounces == 0) {
|
||||||
|
options++;
|
||||||
|
}
|
||||||
|
if (gameState.levelTime < 30 * 1000) {
|
||||||
|
options++
|
||||||
|
}
|
||||||
|
if (catchRate === 1) {
|
||||||
|
options++
|
||||||
|
}
|
||||||
|
if (gameState.levelMisses === 0) {
|
||||||
|
options++
|
||||||
|
}
|
||||||
|
|
||||||
|
const choices = []
|
||||||
|
for( let difficulty=0; difficulty<options;difficulty++){
|
||||||
|
choices.push({
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -979,7 +979,7 @@
|
||||||
{
|
{
|
||||||
"name": "icon:sandbox",
|
"name": "icon:sandbox",
|
||||||
"size": 8,
|
"size": 8,
|
||||||
"bricks": "________________________y_ttt__yyyttt_yyyytttyyyytttttyyyyyyyyyy",
|
"bricks": "__W__W__ccc__ttt_________W___W__GGG__bbb________W______WCCC__aaa",
|
||||||
"svg": null,
|
"svg": null,
|
||||||
"color": ""
|
"color": ""
|
||||||
},
|
},
|
||||||
|
@ -1045,5 +1045,12 @@
|
||||||
"bricks": "___a______at__cGCa_b_c_____ycGCa_b____at_____a___",
|
"bricks": "___a______at__cGCa_b_c_____ycGCa_b____at_____a___",
|
||||||
"svg": null,
|
"svg": null,
|
||||||
"color": ""
|
"color": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "icon:reroll",
|
||||||
|
"size": 8,
|
||||||
|
"bricks": "__llllll_llBlBlelllllleBWWWWWeeeWBWBWeBeWWWWWeeeWBWBWBe_WWWWWe__",
|
||||||
|
"svg": null,
|
||||||
|
"color": ""
|
||||||
}
|
}
|
||||||
]
|
]
|
90
src/game.ts
90
src/game.ts
|
@ -1,4 +1,4 @@
|
||||||
import { allLevels, appVersion, icons, upgrades } from "./loadGameData";
|
import {allLevels, appVersion, icons, upgrades} from "./loadGameData";
|
||||||
import {
|
import {
|
||||||
Ball,
|
Ball,
|
||||||
Coin,
|
Coin,
|
||||||
|
@ -11,17 +11,11 @@ import {
|
||||||
TextFlash,
|
TextFlash,
|
||||||
Upgrade,
|
Upgrade,
|
||||||
} from "./types";
|
} from "./types";
|
||||||
import { getAudioContext, playPendingSounds } from "./sounds";
|
import {getAudioContext, playPendingSounds} from "./sounds";
|
||||||
import {
|
import {currentLevelInfo, getRowColIndex, levelsListHTMl, max_levels, pickedUpgradesHTMl,} from "./game_utils";
|
||||||
currentLevelInfo,
|
|
||||||
getRowColIndex,
|
|
||||||
levelsListHTMl,
|
|
||||||
max_levels,
|
|
||||||
pickedUpgradesHTMl,
|
|
||||||
} from "./game_utils";
|
|
||||||
|
|
||||||
import "./PWA/sw_loader";
|
import "./PWA/sw_loader";
|
||||||
import { getCurrentLang, t } from "./i18n/i18n";
|
import {getCurrentLang, t} from "./i18n/i18n";
|
||||||
import {
|
import {
|
||||||
cycleMaxCoins,
|
cycleMaxCoins,
|
||||||
cycleMaxParticles,
|
cycleMaxParticles,
|
||||||
|
@ -40,29 +34,12 @@ import {
|
||||||
setLevel,
|
setLevel,
|
||||||
setMousePos,
|
setMousePos,
|
||||||
} from "./gameStateMutators";
|
} from "./gameStateMutators";
|
||||||
import {
|
import {backgroundCanvas, ctx, gameCanvas, render, scoreDisplay,} from "./render";
|
||||||
backgroundCanvas,
|
import {pauseRecording, recordOneFrame, resumeRecording, startRecordingGame,} from "./recording";
|
||||||
ctx,
|
import {newGameState} from "./newGameState";
|
||||||
gameCanvas,
|
import {alertsOpen, asyncAlert, AsyncAlertAction, closeModal,} from "./asyncAlert";
|
||||||
render,
|
import {isOptionOn, options, toggleOption} from "./options";
|
||||||
scoreDisplay,
|
import {hashCode} from "./getLevelBackground";
|
||||||
} from "./render";
|
|
||||||
import {
|
|
||||||
pauseRecording,
|
|
||||||
recordOneFrame,
|
|
||||||
resumeRecording,
|
|
||||||
startRecordingGame,
|
|
||||||
} from "./recording";
|
|
||||||
import { newGameState } from "./newGameState";
|
|
||||||
import {
|
|
||||||
alertsOpen,
|
|
||||||
asyncAlert,
|
|
||||||
AsyncAlertAction,
|
|
||||||
closeModal,
|
|
||||||
} from "./asyncAlert";
|
|
||||||
import { isOptionOn, options, toggleOption } from "./options";
|
|
||||||
import { hashCode } from "./getLevelBackground";
|
|
||||||
import {hasUncaughtExceptionCaptureCallback} from "process";
|
|
||||||
import {premiumMenuEntry} from "./premium";
|
import {premiumMenuEntry} from "./premium";
|
||||||
|
|
||||||
export function play() {
|
export function play() {
|
||||||
|
@ -183,13 +160,12 @@ setInterval(() => {
|
||||||
fitSize();
|
fitSize();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|
||||||
export async function openUpgradesPicker(gameState: GameState) {
|
export async function openShortRunUpgradesPicker(gameState: GameState) {
|
||||||
const catchRate =
|
const catchRate =
|
||||||
(gameState.score - gameState.levelStartScore) /
|
(gameState.score - gameState.levelStartScore) /
|
||||||
(gameState.levelSpawnedCoins || 1);
|
(gameState.levelSpawnedCoins || 1);
|
||||||
|
|
||||||
let repeats = 1;
|
let repeats = 1;
|
||||||
let choices = 3;
|
|
||||||
|
|
||||||
let timeGain = "",
|
let timeGain = "",
|
||||||
catchGain = "",
|
catchGain = "",
|
||||||
|
@ -198,44 +174,53 @@ export async function openUpgradesPicker(gameState: GameState) {
|
||||||
|
|
||||||
if (gameState.levelWallBounces == 0) {
|
if (gameState.levelWallBounces == 0) {
|
||||||
repeats++;
|
repeats++;
|
||||||
choices++;
|
gameState.rerolls++
|
||||||
wallHitsGain = t("level_up.plus_one_upgrade");
|
wallHitsGain = t("level_up.plus_one_upgrade");
|
||||||
} else if (gameState.levelWallBounces < 5) {
|
} else if (gameState.levelWallBounces < 5) {
|
||||||
choices++;
|
gameState.rerolls++
|
||||||
wallHitsGain = t("level_up.plus_one_choice");
|
wallHitsGain = t("level_up.plus_one_choice");
|
||||||
}
|
}
|
||||||
if (gameState.levelTime < 30 * 1000) {
|
if (gameState.levelTime < 30 * 1000) {
|
||||||
repeats++;
|
repeats++;
|
||||||
choices++;
|
gameState.rerolls++
|
||||||
timeGain = t("level_up.plus_one_upgrade");
|
timeGain = t("level_up.plus_one_upgrade");
|
||||||
} else if (gameState.levelTime < 60 * 1000) {
|
} else if (gameState.levelTime < 60 * 1000) {
|
||||||
choices++;
|
gameState.rerolls++
|
||||||
timeGain = t("level_up.plus_one_choice");
|
timeGain = t("level_up.plus_one_choice");
|
||||||
}
|
}
|
||||||
if (catchRate === 1) {
|
if (catchRate === 1) {
|
||||||
repeats++;
|
repeats++;
|
||||||
choices++;
|
gameState.rerolls++
|
||||||
catchGain = t("level_up.plus_one_upgrade");
|
catchGain = t("level_up.plus_one_upgrade");
|
||||||
} else if (catchRate > 0.9) {
|
} else if (catchRate > 0.9) {
|
||||||
choices++;
|
gameState.rerolls++
|
||||||
catchGain = t("level_up.plus_one_choice");
|
catchGain = t("level_up.plus_one_choice");
|
||||||
}
|
}
|
||||||
if (gameState.levelMisses === 0) {
|
if (gameState.levelMisses === 0) {
|
||||||
repeats++;
|
repeats++;
|
||||||
choices++;
|
gameState.rerolls++
|
||||||
missesGain = t("level_up.plus_one_upgrade");
|
missesGain = t("level_up.plus_one_upgrade");
|
||||||
} else if (gameState.levelMisses <= 3) {
|
} else if (gameState.levelMisses <= 3) {
|
||||||
choices++;
|
gameState.rerolls++
|
||||||
missesGain = t("level_up.plus_one_choice");
|
missesGain = t("level_up.plus_one_choice");
|
||||||
}
|
}
|
||||||
|
|
||||||
while (repeats--) {
|
while (repeats--) {
|
||||||
const actions = pickRandomUpgrades(
|
const actions = pickRandomUpgrades(
|
||||||
gameState,
|
gameState,
|
||||||
choices +
|
3 +
|
||||||
gameState.perks.one_more_choice -
|
gameState.perks.one_more_choice -
|
||||||
gameState.perks.instant_upgrade,
|
gameState.perks.instant_upgrade,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if(gameState.rerolls){
|
||||||
|
actions.push({
|
||||||
|
text: t("level_up.reroll",{count:gameState.rerolls}),
|
||||||
|
help: t("level_up.reroll_help"),
|
||||||
|
value: 'reroll',
|
||||||
|
icon: icons['icon:reroll']
|
||||||
|
})
|
||||||
|
}
|
||||||
if (!actions.length) break;
|
if (!actions.length) break;
|
||||||
let textAfterButtons = `
|
let textAfterButtons = `
|
||||||
<p>${t("level_up.after_buttons", {
|
<p>${t("level_up.after_buttons", {
|
||||||
|
@ -257,7 +242,7 @@ export async function openUpgradesPicker(gameState: GameState) {
|
||||||
t("level_up.compliment_good")) ||
|
t("level_up.compliment_good")) ||
|
||||||
t("level_up.compliment_advice");
|
t("level_up.compliment_advice");
|
||||||
|
|
||||||
const upgradeId = (await asyncAlert<PerkId>({
|
const upgradeId = (await asyncAlert<PerkId|'reroll'>({
|
||||||
title:
|
title:
|
||||||
t("level_up.pick_upgrade_title") +
|
t("level_up.pick_upgrade_title") +
|
||||||
(repeats ? " (" + (repeats + 1) + ")" : ""),
|
(repeats ? " (" + (repeats + 1) + ")" : ""),
|
||||||
|
@ -282,15 +267,20 @@ export async function openUpgradesPicker(gameState: GameState) {
|
||||||
textAfterButtons,
|
textAfterButtons,
|
||||||
})) as PerkId;
|
})) as PerkId;
|
||||||
|
|
||||||
gameState.perks[upgradeId]++;
|
if(upgradeId==='reroll'){
|
||||||
if (upgradeId === "instant_upgrade") {
|
repeats++
|
||||||
repeats += 2;
|
gameState.rerolls--
|
||||||
|
}else{
|
||||||
|
gameState.perks[upgradeId]++;
|
||||||
|
if (upgradeId === "instant_upgrade") {
|
||||||
|
repeats += 2;
|
||||||
|
}
|
||||||
|
gameState.runStatistics.upgrades_picked++;
|
||||||
}
|
}
|
||||||
|
|
||||||
gameState.runStatistics.upgrades_picked++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gameCanvas.addEventListener("mouseup", (e) => {
|
gameCanvas.addEventListener("mouseup", (e) => {
|
||||||
if (e.button !== 0) return;
|
if (e.button !== 0) return;
|
||||||
if (gameState.running) {
|
if (gameState.running) {
|
||||||
|
|
|
@ -34,9 +34,10 @@ import {icons} from "./loadGameData";
|
||||||
import {addToTotalScore, getCurrentMaxCoins, getCurrentMaxParticles,} from "./settings";
|
import {addToTotalScore, getCurrentMaxCoins, getCurrentMaxParticles,} from "./settings";
|
||||||
import {background} from "./render";
|
import {background} from "./render";
|
||||||
import {gameOver} from "./gameOver";
|
import {gameOver} from "./gameOver";
|
||||||
import {brickIndex, fitSize, gameState, hasBrick, hitsSomething, openUpgradesPicker, pause,} from "./game";
|
import {brickIndex, fitSize, gameState, hasBrick, hitsSomething, openShortRunUpgradesPicker, pause,} from "./game";
|
||||||
import {stopRecording} from "./recording";
|
import {stopRecording} from "./recording";
|
||||||
import {isOptionOn} from "./options";
|
import {isOptionOn} from "./options";
|
||||||
|
import {openAdventureRunUpgradesPicker} from "./adventure";
|
||||||
|
|
||||||
export function setMousePos(gameState: GameState, x: number) {
|
export function setMousePos(gameState: GameState, x: number) {
|
||||||
// Sets the puck position, and updates the ball position if they are supposed to follow it
|
// Sets the puck position, and updates the ball position if they are supposed to follow it
|
||||||
|
@ -562,7 +563,12 @@ export async function setLevel(gameState: GameState, l: number) {
|
||||||
pause(false);
|
pause(false);
|
||||||
stopRecording();
|
stopRecording();
|
||||||
if (l > 0) {
|
if (l > 0) {
|
||||||
await openUpgradesPicker(gameState);
|
if(gameState.isCreativeModeRun){
|
||||||
|
await openAdventureRunUpgradesPicker(gameState);
|
||||||
|
}else{
|
||||||
|
|
||||||
|
await openShortRunUpgradesPicker(gameState);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
gameState.currentLevel = l;
|
gameState.currentLevel = l;
|
||||||
gameState.levelTime = 0;
|
gameState.levelTime = 0;
|
||||||
|
|
|
@ -389,11 +389,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -557,6 +557,36 @@
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>reroll</name>
|
||||||
|
<description/>
|
||||||
|
<comment/>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>true</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-FR</language>
|
||||||
|
<approved>true</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>reroll_help</name>
|
||||||
|
<description/>
|
||||||
|
<comment/>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>true</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-FR</language>
|
||||||
|
<approved>true</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>unlocked_level</name>
|
<name>unlocked_level</name>
|
||||||
<description/>
|
<description/>
|
||||||
|
@ -644,11 +674,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -659,11 +689,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -809,11 +839,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -824,11 +854,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -839,11 +869,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -854,11 +884,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -869,11 +899,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -884,11 +914,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -929,7 +959,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -944,7 +974,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1139,11 +1169,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -1154,11 +1184,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -1169,11 +1199,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -1184,11 +1214,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -1199,11 +1229,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -1214,11 +1244,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -1229,11 +1259,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -1244,11 +1274,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -1419,7 +1449,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1434,7 +1464,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1449,7 +1479,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1464,7 +1494,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1479,7 +1509,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1494,7 +1524,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1509,7 +1539,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1524,7 +1554,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1539,7 +1569,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1554,7 +1584,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1569,7 +1599,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1584,7 +1614,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1599,7 +1629,7 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
|
@ -1789,11 +1819,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -2022,11 +2052,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -2452,11 +2482,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -2467,11 +2497,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -2482,11 +2512,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -2506,7 +2536,7 @@
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -2552,11 +2582,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -2921,7 +2951,7 @@
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -2936,7 +2966,7 @@
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -3167,11 +3197,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -3267,11 +3297,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -3282,11 +3312,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -3297,11 +3327,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -3532,11 +3562,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -3697,11 +3727,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -3812,11 +3842,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -3916,7 +3946,7 @@
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -4637,11 +4667,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
@ -4687,11 +4717,11 @@
|
||||||
<translations>
|
<translations>
|
||||||
<translation>
|
<translation>
|
||||||
<language>en-US</language>
|
<language>en-US</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
<translation>
|
<translation>
|
||||||
<language>fr-FR</language>
|
<language>fr-FR</language>
|
||||||
<approved>false</approved>
|
<approved>true</approved>
|
||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
|
|
@ -31,8 +31,10 @@
|
||||||
"level_up.compliment_good": "Well done !",
|
"level_up.compliment_good": "Well done !",
|
||||||
"level_up.compliment_perfect": "Impressive, keep it up !",
|
"level_up.compliment_perfect": "Impressive, keep it up !",
|
||||||
"level_up.pick_upgrade_title": "Pick an upgrade",
|
"level_up.pick_upgrade_title": "Pick an upgrade",
|
||||||
"level_up.plus_one_choice": "(+1 choice)",
|
"level_up.plus_one_choice": "(+1 re-roll)",
|
||||||
"level_up.plus_one_upgrade": "(+1 upgrade and choice)",
|
"level_up.plus_one_upgrade": "(+1 upgrade and +1 re-roll)",
|
||||||
|
"level_up.reroll": "Re-roll ({{count}})",
|
||||||
|
"level_up.reroll_help": "Offer new choices",
|
||||||
"level_up.unlocked_level": " (Level)",
|
"level_up.unlocked_level": " (Level)",
|
||||||
"level_up.unlocked_perk": " (Perk)",
|
"level_up.unlocked_perk": " (Perk)",
|
||||||
"level_up.upgrade_perk_to_level": " lvl {{level}}",
|
"level_up.upgrade_perk_to_level": " lvl {{level}}",
|
||||||
|
@ -58,7 +60,7 @@
|
||||||
"main_menu.mobile": "Mobile mode",
|
"main_menu.mobile": "Mobile mode",
|
||||||
"main_menu.mobile_help": "Leaves space under the puck.",
|
"main_menu.mobile_help": "Leaves space under the puck.",
|
||||||
"main_menu.normal": "New 7 levels run",
|
"main_menu.normal": "New 7 levels run",
|
||||||
"main_menu.normal_help": "Start a quick run with random perk",
|
"main_menu.normal_help": "Start a quick run with random starting perk",
|
||||||
"main_menu.pointer_lock": "Mouse pointer lock",
|
"main_menu.pointer_lock": "Mouse pointer lock",
|
||||||
"main_menu.pointer_lock_help": "Locks and hides the mouse cursor.",
|
"main_menu.pointer_lock_help": "Locks and hides the mouse cursor.",
|
||||||
"main_menu.record": "Record gameplay videos",
|
"main_menu.record": "Record gameplay videos",
|
||||||
|
|
|
@ -31,8 +31,10 @@
|
||||||
"level_up.compliment_good": "Bravo !",
|
"level_up.compliment_good": "Bravo !",
|
||||||
"level_up.compliment_perfect": "Impressionnant, continuez comme ça !",
|
"level_up.compliment_perfect": "Impressionnant, continuez comme ça !",
|
||||||
"level_up.pick_upgrade_title": "Choisir une amélioration",
|
"level_up.pick_upgrade_title": "Choisir une amélioration",
|
||||||
"level_up.plus_one_choice": "(+1 choix)",
|
"level_up.plus_one_choice": "(+1 re-roll)",
|
||||||
"level_up.plus_one_upgrade": "(+1 amélioration et +1 choix)",
|
"level_up.plus_one_upgrade": "(+1 amélioration et +1 re-roll)",
|
||||||
|
"level_up.reroll": "Re-roll ({{count}})",
|
||||||
|
"level_up.reroll_help": "Nouveaux choix",
|
||||||
"level_up.unlocked_level": " (Niveau)",
|
"level_up.unlocked_level": " (Niveau)",
|
||||||
"level_up.unlocked_perk": " (Amélioration)",
|
"level_up.unlocked_perk": " (Amélioration)",
|
||||||
"level_up.upgrade_perk_to_level": " niveau {{level}}",
|
"level_up.upgrade_perk_to_level": " niveau {{level}}",
|
||||||
|
@ -57,8 +59,8 @@
|
||||||
"main_menu.max_particles_help": "Limite le nombre de particules affichées à l'écran pour les effets visuels",
|
"main_menu.max_particles_help": "Limite le nombre de particules affichées à l'écran pour les effets visuels",
|
||||||
"main_menu.mobile": "Mode mobile",
|
"main_menu.mobile": "Mode mobile",
|
||||||
"main_menu.mobile_help": "Laisse un espace sous le palet.",
|
"main_menu.mobile_help": "Laisse un espace sous le palet.",
|
||||||
"main_menu.normal": "",
|
"main_menu.normal": "Nouvelle partie rapide",
|
||||||
"main_menu.normal_help": "",
|
"main_menu.normal_help": "Jouez 7 niveaux avec un avantage de départ aléatoire",
|
||||||
"main_menu.pointer_lock": "Verrouillage du pointeur",
|
"main_menu.pointer_lock": "Verrouillage du pointeur",
|
||||||
"main_menu.pointer_lock_help": "Cache aussi le curseur de la souris.",
|
"main_menu.pointer_lock_help": "Cache aussi le curseur de la souris.",
|
||||||
"main_menu.record": "Enregistrer des vidéos de jeu",
|
"main_menu.record": "Enregistrer des vidéos de jeu",
|
||||||
|
@ -89,19 +91,19 @@
|
||||||
"play.menu_label": "Menu",
|
"play.menu_label": "Menu",
|
||||||
"play.missed_ball": "raté",
|
"play.missed_ball": "raté",
|
||||||
"play.mobile_press_to_play": "Gardez le doigt ici pour jouer",
|
"play.mobile_press_to_play": "Gardez le doigt ici pour jouer",
|
||||||
"premium.adventure_mode": "",
|
"premium.adventure_mode": "Mode aventure",
|
||||||
"premium.adventure_mode_help": "",
|
"premium.adventure_mode_help": "Démarrer une nouvelle partie en mode aventure",
|
||||||
"premium.back": "",
|
"premium.back": "Retour",
|
||||||
"premium.back_help": "",
|
"premium.back_help": "Retour au menu principal",
|
||||||
"premium.buy": "",
|
"premium.buy": "Acheter une clé de licence",
|
||||||
"premium.buy_disabled_help": "",
|
"premium.buy_disabled_help": "À venir",
|
||||||
"premium.buy_help": "",
|
"premium.buy_help": "Vous serez redirigé vers un formulaire pour payer et recevrez la licence par e-mail. Revenez ensuite pour la saisir ici.",
|
||||||
"premium.enter": "",
|
"premium.enter": "Entrez la clé de licence",
|
||||||
"premium.enter_help": "",
|
"premium.enter_help": "Collez la licence dans la fenêtre qui s'ouvre",
|
||||||
"premium.help": "",
|
"premium.help": "Achetez une licence pour Breakout 71 pour débloquer le mode infini et soutenir le développement. Elle coûte 4,99 € et est illimitée dans le temps. Vous pouvez l'utiliser sur plusieurs appareils, mais ne la partagez pas en ligne.",
|
||||||
"premium.help_google": "",
|
"premium.help_google": "Bien que je prévoie de proposer des licences premium via Google Play, je n'ai pas encore eu l'occasion de le faire ; il n'y a donc pas de lien d'achat ici. Si vous possédez déjà une clé de licence, vous pouvez la saisir ci-dessous.",
|
||||||
"premium.short_help": "",
|
"premium.short_help": "Jouez le plus longtemps possible",
|
||||||
"premium.title": "",
|
"premium.title": "Mode aventure",
|
||||||
"sandbox.help": "Tester n'importe quelle combinaison d'améliorations",
|
"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.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.start": "Démarrer la partie de test",
|
||||||
|
|
|
@ -103,8 +103,8 @@ export function newGameState(params: RunParams): GameState {
|
||||||
|
|
||||||
isAdventureMode:!!params?.adventure,
|
isAdventureMode:!!params?.adventure,
|
||||||
adventurePath:'',
|
adventurePath:'',
|
||||||
seed:'Seed'+Math.random()
|
seed:'Seed'+Math.random(),
|
||||||
|
rerolls:0
|
||||||
};
|
};
|
||||||
resetBalls(gameState);
|
resetBalls(gameState);
|
||||||
|
|
||||||
|
|
7
src/types.d.ts
vendored
7
src/types.d.ts
vendored
|
@ -266,9 +266,10 @@ export type GameState = {
|
||||||
coinCatch: { vol: number; x: number };
|
coinCatch: { vol: number; x: number };
|
||||||
colorChange: { vol: number; x: number };
|
colorChange: { vol: number; x: number };
|
||||||
};
|
};
|
||||||
isAdventureMode:boolean,
|
isAdventureMode:boolean;
|
||||||
adventurePath:string,
|
adventurePath:string;
|
||||||
seed:string
|
seed:string;
|
||||||
|
rerolls:number;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type RunParams = {
|
export type RunParams = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue