Build 29071527

This commit is contained in:
Renan LE CARO 2025-04-10 15:27:38 +02:00
parent 9ae649743c
commit c37b860fe3
13 changed files with 116 additions and 19 deletions

View file

@ -1,5 +1,5 @@
// The version of the cache.
const VERSION = "29071489";
const VERSION = "29071527";
// The name of the cache
const CACHE_NAME = `breakout-71-${VERSION}`;

View file

@ -570,8 +570,8 @@
},
{
"name": "icon:soft_reset",
"size": 8,
"bricks": "____yy______yyy_____yyyy____yyyyyyyyyyyyyyyyyyyy_yyyyyy___yyyy__",
"size": 9,
"bricks": "__rr______rrr_yy__rrrr_yyy_rrrr_yyyy_____yyyy_yyyyyyyy_yyyyyyyy__yyyyyy____yyyy__",
"svg": null
},
{
@ -1376,5 +1376,12 @@
"bricks": "__W_W_W___________W_W_W_W_W_________W_W_W_W_W_________W_W_W_W_W___________W_W_W__",
"svg": null,
"color": ""
},
{
"name": "icon:superhot",
"size": 19,
"bricks": "_________________________________________________________WWW_W_W_WWW_WWW_WWWW___W_W_W_W_W___W_WWWW_W_W_WWW_WW__WWW__W_W_W_W___W___WW_WWW_WWW_W___WWW_W_W___________________WW__WW_WWWWW_WWWWWWWW__WW_WWWWW_WWWWWWWW__WW_WW_WW___WW__WWWWWW_WW_WW___WW__WWWWWW_WW_WW___WW__WW__WW_WWWWW___WW__WW__WW_WWWWW___WW___________________________________________________________",
"svg": null,
"color": ""
}
]

View file

@ -1 +1 @@
"29071489"
"29071527"

View file

@ -68,6 +68,7 @@ import { hashCode } from "./getLevelBackground";
import {
catchRateBest,
catchRateGood,
clamp,
hoursSpentPlaying,
levelTimeBest,
levelTimeGood,
@ -397,7 +398,7 @@ export function tick() {
const timeDeltaMs = currentTick - gameState.lastTick;
gameState.lastTick = currentTick;
const frames = Math.min(4, timeDeltaMs / (1000 / 60));
let frames = Math.min(4, timeDeltaMs / (1000 / 60));
if (gameState.keyboardPuckSpeed) {
setMousePos(
@ -405,6 +406,13 @@ export function tick() {
gameState.puckPosition + gameState.keyboardPuckSpeed,
);
}
if (gameState.perks.superhot) {
frames *= clamp(
Math.abs(gameState.puckPosition - gameState.lastPuckPosition) / 5,
0.2 / gameState.perks.superhot,
1,
);
}
normalizeGameState(gameState);
if (gameState.running) {

View file

@ -1087,7 +1087,7 @@ export function gameStateTick(
if (
!isOptionOn("basic") &&
Math.random() * gameState.perks.ball_attracts_coins > 0.9
Math.random() * gameState.perks.ball_attracts_coins * frames > 0.9
) {
makeParticle(
gameState,
@ -1108,6 +1108,7 @@ export function gameStateTick(
1 -
((gameState.perks.viscosity * 0.03 + 0.002) * frames) /
(1 + gameState.perks.etherealcoins);
if (!gameState.perks.etherealcoins) {
coin.vy *= ratio;
coin.vx *= ratio;
@ -1128,7 +1129,7 @@ export function gameStateTick(
gameState.puckWidth + coin.size;
coin.vy +=
frames * coin.weight * 0.8 * (flip ? -gameState.perks.helium : 1);
if (flip && !isOptionOn("basic") && Math.random() < 0.1) {
if (flip && !isOptionOn("basic") && Math.random() < 0.1 * frames) {
makeParticle(
gameState,
coin.x,

View file

@ -4902,6 +4902,56 @@
</concept_node>
</children>
</folder_node>
<folder_node>
<name>superhot</name>
<children>
<concept_node>
<name>name</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>tooltip</name>
<description/>
<comment/>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-FR</language>
<approved>true</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>verbose_description</name>
<description/>
<comment/>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-FR</language>
<approved>true</approved>
</translation>
</translations>
</concept_node>
</children>
</folder_node>
<folder_node>
<name>telekinesis</name>
<children>

View file

@ -303,6 +303,9 @@
"upgrades.sturdy_bricks.name": "Sturdy bricks",
"upgrades.sturdy_bricks.tooltip": "+{{lvl}} bricks HP, +{{percent}}% coins spawned when broken",
"upgrades.sturdy_bricks.verbose_description": "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.superhot.name": "SUPER HOT",
"upgrades.superhot.tooltip": "Time moves when the paddle moves.",
"upgrades.superhot.verbose_description": "SUPER HOT SUPER HOT SUPER HOT SUPER HOT",
"upgrades.telekinesis.help_plural": "Stronger effect on the ball",
"upgrades.telekinesis.name": "Telekinesis",
"upgrades.telekinesis.tooltip": "Paddle controls the ball's trajectory",

View file

@ -303,6 +303,9 @@
"upgrades.sturdy_bricks.name": "Briques solides",
"upgrades.sturdy_bricks.tooltip": "+{{lvl}} points de vie des briques, +{{percent}}% pièces quand elles sont détruites",
"upgrades.sturdy_bricks.verbose_description": "Chaque niveau de cet amélioration 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'amélioration \"Balle perçante\". Chaque niveau de cet amélioration ajoute 50% de pièces en plus.",
"upgrades.superhot.name": "SUPER HOT",
"upgrades.superhot.tooltip": "Le temps avance quand la raquette bouge. ",
"upgrades.superhot.verbose_description": "SUPER HOT SUPER HOT SUPER HOT SUPER HOT",
"upgrades.telekinesis.help_plural": "Effet plus fort sur la balle",
"upgrades.telekinesis.name": "Télékinésie",
"upgrades.telekinesis.tooltip": "Contrôler la trajectoire de la balle",

View file

@ -700,4 +700,14 @@ export const rawUpgrades = [
help: (lvl: number) => t("upgrades.transparency.tooltip", { lvl }),
fullHelp: t("upgrades.transparency.verbose_description"),
},
{
requires: "",
threshold: 195000,
giftable: false,
id: "superhot",
max: 3,
name: t("upgrades.superhot.name"),
help: (lvl: number) => t("upgrades.superhot.tooltip", { lvl }),
fullHelp: t("upgrades.superhot.verbose_description"),
},
] as const;