mirror of
https://gitlab.com/lecarore/breakout71.git
synced 2025-04-23 21:46:15 -04:00
Build 29071527
This commit is contained in:
parent
9ae649743c
commit
c37b860fe3
13 changed files with 116 additions and 19 deletions
|
@ -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}`;
|
||||
|
|
|
@ -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": ""
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1 +1 @@
|
|||
"29071489"
|
||||
"29071527"
|
||||
|
|
10
src/game.ts
10
src/game.ts
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue