add eq for zoom, chagne meta give more bonus large players, don't throw exception when attack self

This commit is contained in:
Evan
2025-02-15 14:31:18 -08:00
parent 484fecef27
commit d9f2b683d7
4 changed files with 24 additions and 6 deletions
+6 -2
View File
@@ -124,12 +124,12 @@ export class InputHandler {
const screenCenterX = window.innerWidth / 2;
const screenCenterY = window.innerHeight / 2;
if (this.activeKeys.has("Minus")) {
if (this.activeKeys.has("Minus") || this.activeKeys.has("KeyQ")) {
this.eventBus.emit(
new ZoomEvent(screenCenterX, screenCenterY, this.ZOOM_SPEED),
);
}
if (this.activeKeys.has("Equal")) {
if (this.activeKeys.has("Equal") || this.activeKeys.has("KeyE")) {
this.eventBus.emit(
new ZoomEvent(screenCenterX, screenCenterY, -this.ZOOM_SPEED),
);
@@ -158,6 +158,8 @@ export class InputHandler {
"ArrowRight",
"Minus",
"Equal",
"KeyE",
"KeyQ",
].includes(e.code)
) {
this.activeKeys.add(e.code);
@@ -188,6 +190,8 @@ export class InputHandler {
"ArrowRight",
"Minus",
"Equal",
"KeyE",
"KeyQ",
].includes(e.code)
) {
this.activeKeys.delete(e.code);
+1 -1
View File
@@ -144,7 +144,7 @@
</g>
</svg>
<div class="flex justify-center text-sm font-bold mt-[-5px] logo-version">
v0.15.0
v0.15.1
</div>
</div>
+14 -2
View File
@@ -1,8 +1,10 @@
import { renderNumber } from "../../client/Utils";
import {
Difficulty,
Game,
GameType,
Gold,
MessageType,
Player,
PlayerInfo,
PlayerType,
@@ -298,13 +300,23 @@ export class DefaultConfig implements Config {
}
}
let largeModifier = 1;
if (attacker.numTilesOwned() > 50_000) {
largeModifier = Math.sqrt(50_000 / attacker.numTilesOwned());
}
if (defender.isPlayer()) {
return {
attackerTroopLoss:
within(defender.troops() / attackTroops, 0.5, 2) * mag * 0.8,
within(defender.troops() / attackTroops, 0.5, 2) *
mag *
0.8 *
largeModifier,
defenderTroopLoss: defender.troops() / defender.numTilesOwned(),
tilesPerTickUsed:
within(defender.troops() / (5 * attackTroops), 0.2, 1.5) * speed,
within(defender.troops() / (5 * attackTroops), 0.2, 1.5) *
speed *
largeModifier,
};
} else {
return {
+3 -1
View File
@@ -69,7 +69,9 @@ export class AttackExecution implements Execution {
: mg.player(this._targetID);
if (this._owner == this.target) {
throw new Error(`Player ${this._owner} cannot attack itself`);
console.error(`Player ${this._owner} cannot attack itself`);
this.active = false;
return;
}
if (