add prettier import plugin

This commit is contained in:
Evan
2025-03-31 13:09:27 -07:00
parent 38f6af9659
commit 8b6895d745
120 changed files with 543 additions and 690 deletions
+9 -9
View File
@@ -1,7 +1,5 @@
import { utcDay } from "d3";
import { placeName } from "../client/graphics/NameBoxCalculator";
import { getConfig } from "./configuration/ConfigLoader";
import { EventBus } from "./EventBus";
import { Executor } from "./execution/ExecutionManager";
import { WinCheckExecution } from "./execution/WinCheckExecution";
import {
@@ -9,22 +7,24 @@ import {
BuildableUnit,
Game,
GameUpdates,
NameViewData,
Player,
PlayerActions,
PlayerID,
PlayerProfile,
PlayerBorderTiles,
PlayerID,
PlayerInfo,
PlayerProfile,
PlayerType,
UnitType,
PlayerInfo,
} from "./game/Game";
import { ErrorUpdate } from "./game/GameUpdates";
import { NameViewData } from "./game/Game";
import { GameUpdateType } from "./game/GameUpdates";
import { createGame } from "./game/GameImpl";
import {
ErrorUpdate,
GameUpdateType,
GameUpdateViewData,
} from "./game/GameUpdates";
import { loadTerrainMap as loadGameMap } from "./game/TerrainMapLoader";
import { ClientID, GameStartInfo, Turn } from "./Schemas";
import { GameUpdateViewData } from "./game/GameUpdates";
export async function createGameRunner(
gameStart: GameStartInfo,
+3 -6
View File
@@ -1,20 +1,17 @@
import { v4 as uuidv4 } from "uuid";
import twemoji from "twemoji";
import DOMPurify from "dompurify";
import { customAlphabet } from "nanoid";
import twemoji from "twemoji";
import { Cell, Game, Player, TeamName, Unit } from "./game/Game";
import { andFN, GameMap, manhattanDistFN, TileRef } from "./game/GameMap";
import {
AllPlayersStats,
ClientID,
GameConfig,
GameID,
GameRecord,
GameStartInfo,
PlayerRecord,
PlayerStats,
Turn,
} from "./Schemas";
import { customAlphabet, nanoid } from "nanoid";
import { andFN, GameMap, manhattanDistFN, TileRef } from "./game/GameMap";
export function manhattanDistWrapped(
c1: Cell,
+2 -4
View File
@@ -1,19 +1,17 @@
import { Colord } from "colord";
import { GameConfig, GameID } from "../Schemas";
import {
Difficulty,
Game,
GameMapType,
Gold,
Player,
PlayerID,
PlayerInfo,
TerraNullius,
Tick,
Unit,
UnitInfo,
UnitType,
} from "../game/Game";
import { Colord, colord } from "colord";
import { GameConfig, GameID } from "../Schemas";
import { GameMap, TileRef } from "../game/GameMap";
import { PlayerView } from "../game/GameView";
import { UserSettings } from "../game/UserSettings";
+1 -2
View File
@@ -10,11 +10,10 @@ import {
TerrainType,
TerraNullius,
Tick,
Unit,
UnitInfo,
UnitType,
} from "../game/Game";
import { GameMap, TileRef } from "../game/GameMap";
import { TileRef } from "../game/GameMap";
import { PlayerView } from "../game/GameView";
import { UserSettings } from "../game/UserSettings";
import { GameConfig, GameID } from "../Schemas";
+3 -3
View File
@@ -1,8 +1,7 @@
import { Colord, colord, random } from "colord";
import { PlayerType, TeamName, TerrainType } from "../game/Game";
import { Theme } from "./Config";
import { Colord, colord } from "colord";
import { PseudoRandom } from "../PseudoRandom";
import { simpleHash } from "../Util";
import { PlayerType, TeamName, TerrainType } from "../game/Game";
import { GameMap, TileRef } from "../game/GameMap";
import { PlayerView } from "../game/GameView";
import {
@@ -13,6 +12,7 @@ import {
red,
territoryColors,
} from "./Colors";
import { Theme } from "./Config";
export const pastelTheme = new (class implements Theme {
private rand = new PseudoRandom(123);
+3 -3
View File
@@ -1,8 +1,7 @@
import { Colord, colord, random } from "colord";
import { PlayerType, TeamName, TerrainType } from "../game/Game";
import { Theme } from "./Config";
import { Colord, colord } from "colord";
import { PseudoRandom } from "../PseudoRandom";
import { simpleHash } from "../Util";
import { PlayerType, TeamName, TerrainType } from "../game/Game";
import { GameMap, TileRef } from "../game/GameMap";
import { PlayerView } from "../game/GameView";
import {
@@ -13,6 +12,7 @@ import {
red,
territoryColors,
} from "./Colors";
import { Theme } from "./Config";
export const pastelThemeDark = new (class implements Theme {
private rand = new PseudoRandom(123);
+1 -1
View File
@@ -1,5 +1,5 @@
import { GameEnv } from "./Config";
import { DefaultConfig, DefaultServerConfig } from "./DefaultConfig";
import { DefaultServerConfig } from "./DefaultConfig";
export const preprodConfig = new (class extends DefaultServerConfig {
r2Bucket(): string {
+1 -1
View File
@@ -1,5 +1,5 @@
import { GameEnv } from "./Config";
import { DefaultConfig, DefaultServerConfig } from "./DefaultConfig";
import { DefaultServerConfig } from "./DefaultConfig";
export const prodConfig = new (class extends DefaultServerConfig {
r2Bucket(): string {
+3 -4
View File
@@ -1,19 +1,18 @@
import { PriorityQueue } from "@datastructures-js/priority-queue";
import { renderNumber, renderTroops } from "../../client/Utils";
import {
Attack,
Cell,
Execution,
Game,
MessageType,
Player,
PlayerID,
PlayerType,
TerrainType,
TerraNullius,
} from "../game/Game";
import { PseudoRandom } from "../PseudoRandom";
import { MessageType } from "../game/Game";
import { renderNumber, renderTroops } from "../../client/Utils";
import { TileRef } from "../game/GameMap";
import { PseudoRandom } from "../PseudoRandom";
const malusForRetreat = 25;
-1
View File
@@ -1,5 +1,4 @@
import {
Cell,
Execution,
Game,
Player,
+2 -2
View File
@@ -1,8 +1,8 @@
import { consolex } from "../Consolex";
import { Cell, Game, PlayerInfo, PlayerType } from "../game/Game";
import { Game, PlayerInfo, PlayerType } from "../game/Game";
import { TileRef } from "../game/GameMap";
import { PseudoRandom } from "../PseudoRandom";
import { GameID, SpawnIntent } from "../Schemas";
import { GameID } from "../Schemas";
import { simpleHash } from "../Util";
import { SpawnExecution } from "./SpawnExecution";
import { BOT_NAME_PREFIXES, BOT_NAME_SUFFIXES } from "./utils/BotNames";
+1 -1
View File
@@ -3,8 +3,8 @@ import {
Execution,
Game,
Player,
Unit,
PlayerID,
Unit,
UnitType,
} from "../game/Game";
import { TileRef } from "../game/GameMap";
+3 -4
View File
@@ -1,22 +1,21 @@
import { consolex } from "../Consolex";
import {
Cell,
Execution,
Game,
Player,
Unit,
PlayerID,
UnitType,
Tick,
Unit,
UnitType,
} from "../game/Game";
import { TileRef } from "../game/GameMap";
import { CityExecution } from "./CityExecution";
import { DefensePostExecution } from "./DefensePostExecution";
import { SAMLauncherExecution } from "./SAMLauncherExecution";
import { MirvExecution } from "./MIRVExecution";
import { MissileSiloExecution } from "./MissileSiloExecution";
import { NukeExecution } from "./NukeExecution";
import { PortExecution } from "./PortExecution";
import { SAMLauncherExecution } from "./SAMLauncherExecution";
import { WarshipExecution } from "./WarshipExecution";
export class ConstructionExecution implements Execution {
+2 -3
View File
@@ -1,14 +1,13 @@
import { consolex } from "../Consolex";
import {
Cell,
Execution,
Game,
Player,
Unit,
PlayerID,
Unit,
UnitType,
} from "../game/Game";
import { manhattanDistFN, TileRef } from "../game/GameMap";
import { TileRef } from "../game/GameMap";
export class DefensePostExecution implements Execution {
private player: Player;
+1 -1
View File
@@ -1,5 +1,5 @@
import { consolex } from "../Consolex";
import { Execution, Game, Player, PlayerID, Gold } from "../game/Game";
import { Execution, Game, Player, PlayerID } from "../game/Game";
export class DonateGoldExecution implements Execution {
private sender: Player;
+1 -1
View File
@@ -1,5 +1,5 @@
import { consolex } from "../Consolex";
import { Execution, Game, Player, PlayerID, Gold } from "../game/Game";
import { Execution, Game, Player, PlayerID } from "../game/Game";
export class DonateTroopsExecution implements Execution {
private sender: Player;
-1
View File
@@ -1,4 +1,3 @@
import { consolex } from "../Consolex";
import { Execution, Game, Player, PlayerID } from "../game/Game";
export class EmbargoExecution implements Execution {
-1
View File
@@ -6,7 +6,6 @@ import {
Player,
PlayerID,
PlayerType,
UnitType,
} from "../game/Game";
export class EmojiExecution implements Execution {
+15 -32
View File
@@ -1,43 +1,26 @@
import {
Cell,
Execution,
Game,
Player,
PlayerInfo,
TerraNullius,
PlayerType,
Alliance,
UnitType,
} from "../game/Game";
import {
AttackIntent,
BoatAttackIntentSchema,
ClientID,
GameID,
Intent,
Turn,
} from "../Schemas";
import { AttackExecution } from "./AttackExecution";
import { SpawnExecution } from "./SpawnExecution";
import { BotSpawner } from "./BotSpawner";
import { TransportShipExecution } from "./TransportShipExecution";
import { Execution, Game, PlayerInfo, PlayerType } from "../game/Game";
import { PseudoRandom } from "../PseudoRandom";
import { FakeHumanExecution } from "./FakeHumanExecution";
import { ClientID, GameID, Intent, Turn } from "../Schemas";
import { sanitize, simpleHash } from "../Util";
import { fixProfaneUsername } from "../validations/username";
import { AllianceRequestExecution } from "./alliance/AllianceRequestExecution";
import { AllianceRequestReplyExecution } from "./alliance/AllianceRequestReplyExecution";
import { BreakAllianceExecution } from "./alliance/BreakAllianceExecution";
import { TargetPlayerExecution } from "./TargetPlayerExecution";
import { EmojiExecution } from "./EmojiExecution";
import { DonateTroopsExecution } from "./DonateTroopExecution";
import { DonateGoldExecution } from "./DonateGoldExecution";
import { SetTargetTroopRatioExecution } from "./SetTargetTroopRatioExecution";
import { AttackExecution } from "./AttackExecution";
import { BotSpawner } from "./BotSpawner";
import { ConstructionExecution } from "./ConstructionExecution";
import { fixProfaneUsername, isProfaneUsername } from "../validations/username";
import { NoOpExecution } from "./NoOpExecution";
import { DonateGoldExecution } from "./DonateGoldExecution";
import { DonateTroopsExecution } from "./DonateTroopExecution";
import { EmbargoExecution } from "./EmbargoExecution";
import { RetreatExecution } from "./RetreatExecution";
import { EmojiExecution } from "./EmojiExecution";
import { FakeHumanExecution } from "./FakeHumanExecution";
import { MoveWarshipExecution } from "./MoveWarshipExecution";
import { NoOpExecution } from "./NoOpExecution";
import { RetreatExecution } from "./RetreatExecution";
import { SetTargetTroopRatioExecution } from "./SetTargetTroopRatioExecution";
import { SpawnExecution } from "./SpawnExecution";
import { TargetPlayerExecution } from "./TargetPlayerExecution";
import { TransportShipExecution } from "./TransportShipExecution";
export class Executor {
// private random = new PseudoRandom(999)
+11 -12
View File
@@ -1,3 +1,4 @@
import { consolex } from "../Consolex";
import {
AllianceRequest,
Cell,
@@ -14,20 +15,18 @@ import {
Tick,
UnitType,
} from "../game/Game";
import { PseudoRandom } from "../PseudoRandom";
import { AttackExecution } from "./AttackExecution";
import { TransportShipExecution } from "./TransportShipExecution";
import { SpawnExecution } from "./SpawnExecution";
import { GameID } from "../Schemas";
import { consolex } from "../Consolex";
import { NukeExecution } from "./NukeExecution";
import { EmojiExecution } from "./EmojiExecution";
import { AllianceRequestReplyExecution } from "./alliance/AllianceRequestReplyExecution";
import { closestTwoTiles } from "./Util";
import { calculateBoundingBox, simpleHash } from "../Util";
import { andFN, manhattanDistFN, TileRef } from "../game/GameMap";
import { PseudoRandom } from "../PseudoRandom";
import { GameID } from "../Schemas";
import { calculateBoundingBox, simpleHash } from "../Util";
import { AllianceRequestReplyExecution } from "./alliance/AllianceRequestReplyExecution";
import { AttackExecution } from "./AttackExecution";
import { ConstructionExecution } from "./ConstructionExecution";
import { renderTroops } from "../../client/Utils";
import { EmojiExecution } from "./EmojiExecution";
import { NukeExecution } from "./NukeExecution";
import { SpawnExecution } from "./SpawnExecution";
import { TransportShipExecution } from "./TransportShipExecution";
import { closestTwoTiles } from "./Util";
export class FakeHumanExecution implements Execution {
private firstMove = true;
+6 -8
View File
@@ -1,20 +1,18 @@
import { nextTick } from "process";
import { consolex } from "../Consolex";
import {
Cell,
Execution,
Game,
MessageType,
Player,
PlayerID,
TerraNullius,
Unit,
UnitType,
TerraNullius,
MessageType,
} from "../game/Game";
import { PathFinder } from "../pathfinding/PathFinding";
import { PathFindResultType } from "../pathfinding/AStar";
import { PseudoRandom } from "../PseudoRandom";
import { consolex } from "../Consolex";
import { TileRef } from "../game/GameMap";
import { PathFindResultType } from "../pathfinding/AStar";
import { PathFinder } from "../pathfinding/PathFinding";
import { PseudoRandom } from "../PseudoRandom";
import { simpleHash } from "../Util";
import { NukeExecution } from "./NukeExecution";
+1 -2
View File
@@ -1,11 +1,10 @@
import { consolex } from "../Consolex";
import {
Cell,
Execution,
Game,
Player,
Unit,
PlayerID,
Unit,
UnitType,
} from "../game/Game";
import { TileRef } from "../game/GameMap";
+1 -1
View File
@@ -1,4 +1,4 @@
import { Execution, Game, Player, PlayerID } from "../game/Game";
import { Execution, Game } from "../game/Game";
const cancelDelay = 2;
+7 -8
View File
@@ -1,18 +1,17 @@
import { consolex } from "../Consolex";
import {
Cell,
Execution,
Game,
Player,
PlayerID,
Unit,
UnitType,
TerraNullius,
MessageType,
NukeType,
Player,
PlayerID,
TerraNullius,
Unit,
UnitType,
} from "../game/Game";
import { PseudoRandom } from "../PseudoRandom";
import { consolex } from "../Consolex";
import { TileRef } from "../game/GameMap";
import { PseudoRandom } from "../PseudoRandom";
export class NukeExecution implements Execution {
private player: Player;
+4 -5
View File
@@ -1,18 +1,17 @@
import { renderNumber } from "../../client/Utils";
import { Config } from "../configuration/Config";
import { consolex } from "../Consolex";
import {
Execution,
Game,
MessageType,
Player,
PlayerID,
TerraNullius,
UnitType,
} from "../game/Game";
import { calculateBoundingBox, getMode, inscribed, simpleHash } from "../Util";
import { GameImpl } from "../game/GameImpl";
import { consolex } from "../Consolex";
import { GameMap, TileRef } from "../game/GameMap";
import { renderNumber } from "../../client/Utils";
import { TileRef } from "../game/GameMap";
import { calculateBoundingBox, getMode, inscribed, simpleHash } from "../Util";
export class PlayerExecution implements Execution {
private readonly ticksPerClusterCalc = 20;
+3 -6
View File
@@ -1,19 +1,16 @@
import { consolex } from "../Consolex";
import {
AllPlayers,
Cell,
Execution,
Game,
Player,
Unit,
PlayerID,
TerrainType,
Unit,
UnitType,
} from "../game/Game";
import { TileRef } from "../game/GameMap";
import { PathFinder } from "../pathfinding/PathFinding";
import { PseudoRandom } from "../PseudoRandom";
import { TradeShipExecution } from "./TradeShipExecution";
import { consolex } from "../Consolex";
import { manhattanDistFN, TileRef } from "../game/GameMap";
export class PortExecution implements Execution {
private active = true;
+6 -7
View File
@@ -1,17 +1,16 @@
import { consolex } from "../Consolex";
import {
Cell,
Execution,
Game,
Player,
Unit,
PlayerID,
UnitType,
MessageType,
Player,
PlayerID,
Unit,
UnitType,
} from "../game/Game";
import { manhattanDistFN, TileRef } from "../game/GameMap";
import { SAMMissileExecution } from "./SAMMissileExecution";
import { TileRef } from "../game/GameMap";
import { PseudoRandom } from "../PseudoRandom";
import { SAMMissileExecution } from "./SAMMissileExecution";
export class SAMLauncherExecution implements Execution {
private player: Player;
+3 -3
View File
@@ -1,3 +1,4 @@
import { consolex } from "../Consolex";
import {
Execution,
Game,
@@ -6,10 +7,9 @@ import {
Unit,
UnitType,
} from "../game/Game";
import { PathFinder } from "../pathfinding/PathFinding";
import { PathFindResultType } from "../pathfinding/AStar";
import { consolex } from "../Consolex";
import { TileRef } from "../game/GameMap";
import { PathFindResultType } from "../pathfinding/AStar";
import { PathFinder } from "../pathfinding/PathFinding";
export class SAMMissileExecution implements Execution {
private active = true;
+3 -3
View File
@@ -1,8 +1,8 @@
import { Execution, Game, Player, Unit, UnitType } from "../game/Game";
import { PathFinder } from "../pathfinding/PathFinding";
import { PathFindResultType } from "../pathfinding/AStar";
import { consolex } from "../Consolex";
import { Execution, Game, Player, Unit, UnitType } from "../game/Game";
import { TileRef } from "../game/GameMap";
import { PathFindResultType } from "../pathfinding/AStar";
import { PathFinder } from "../pathfinding/PathFinding";
export class ShellExecution implements Execution {
private active = true;
+1 -8
View File
@@ -1,11 +1,4 @@
import {
Cell,
Execution,
Game,
Player,
PlayerInfo,
PlayerType,
} from "../game/Game";
import { Execution, Game, Player, PlayerInfo, PlayerType } from "../game/Game";
import { TileRef } from "../game/GameMap";
import { BotExecution } from "./BotExecution";
import { PlayerExecution } from "./PlayerExecution";
+6 -8
View File
@@ -1,20 +1,18 @@
import { MessageType } from "../game/Game";
import { renderNumber } from "../../client/Utils";
import { consolex } from "../Consolex";
import {
AllPlayers,
Cell,
Execution,
Game,
Unit,
MessageType,
Player,
PlayerID,
Unit,
UnitType,
} from "../game/Game";
import { PathFinder } from "../pathfinding/PathFinding";
import { PathFindResultType } from "../pathfinding/AStar";
import { distSortUnit } from "../Util";
import { consolex } from "../Consolex";
import { TileRef } from "../game/GameMap";
import { PathFindResultType } from "../pathfinding/AStar";
import { PathFinder } from "../pathfinding/PathFinding";
import { distSortUnit } from "../Util";
export class TradeShipExecution implements Execution {
private active = true;
+6 -8
View File
@@ -1,21 +1,19 @@
import { consolex } from "../Consolex";
import {
Unit,
Cell,
Execution,
Game,
MessageType,
Player,
PlayerID,
TerraNullius,
Unit,
UnitType,
TerrainType,
} from "../game/Game";
import { AttackExecution } from "./AttackExecution";
import { MessageType } from "../game/Game";
import { PathFinder } from "../pathfinding/PathFinding";
import { PathFindResultType } from "../pathfinding/AStar";
import { consolex } from "../Consolex";
import { TileRef } from "../game/GameMap";
import { PathFindResultType } from "../pathfinding/AStar";
import { PathFinder } from "../pathfinding/PathFinding";
import { targetTransportTile } from "../Util";
import { AttackExecution } from "./AttackExecution";
export class TransportShipExecution implements Execution {
private lastMove: number;
+5 -7
View File
@@ -1,18 +1,16 @@
import { consolex } from "../Consolex";
import {
Cell,
Execution,
Game,
Player,
Unit,
PlayerID,
TerrainType,
Unit,
UnitType,
} from "../game/Game";
import { PathFinder } from "../pathfinding/PathFinding";
import { PathFindResultType } from "../pathfinding/AStar";
import { PseudoRandom } from "../PseudoRandom";
import { consolex } from "../Consolex";
import { TileRef } from "../game/GameMap";
import { PathFindResultType } from "../pathfinding/AStar";
import { PathFinder } from "../pathfinding/PathFinding";
import { PseudoRandom } from "../PseudoRandom";
import { ShellExecution } from "./ShellExecution";
export class WarshipExecution implements Execution {
+1 -1
View File
@@ -1,4 +1,4 @@
import { EventBus, GameEvent } from "../EventBus";
import { GameEvent } from "../EventBus";
import {
Execution,
Game,
@@ -1,11 +1,5 @@
import { consolex } from "../../Consolex";
import {
AllianceRequest,
Execution,
Game,
Player,
PlayerID,
} from "../../game/Game";
import { Execution, Game, Player, PlayerID } from "../../game/Game";
export class AllianceRequestExecution implements Execution {
private active = true;
@@ -1,11 +1,5 @@
import { consolex } from "../../Consolex";
import {
AllianceRequest,
Execution,
Game,
Player,
PlayerID,
} from "../../game/Game";
import { Execution, Game, Player, PlayerID } from "../../game/Game";
export class AllianceRequestReplyExecution implements Execution {
private active = true;
@@ -1,11 +1,5 @@
import { consolex } from "../../Consolex";
import {
AllianceRequest,
Execution,
Game,
Player,
PlayerID,
} from "../../game/Game";
import { Execution, Game, Player, PlayerID } from "../../game/Game";
export class BreakAllianceExecution implements Execution {
private active = true;
+1 -1
View File
@@ -1,4 +1,4 @@
import { MutableAlliance, Game, Player, Tick } from "./Game";
import { MutableAlliance, Player, Tick } from "./Game";
import { GameImpl } from "./GameImpl";
import { PlayerImpl } from "./PlayerImpl";
+1 -2
View File
@@ -1,7 +1,6 @@
import { AllianceRequest, Player, Tick } from "./Game";
import { AllianceRequestUpdate } from "./GameUpdates";
import { GameUpdateType } from "./GameUpdates";
import { GameImpl } from "./GameImpl";
import { AllianceRequestUpdate, GameUpdateType } from "./GameUpdates";
export class AllianceRequestImpl implements AllianceRequest {
constructor(
+3 -4
View File
@@ -1,14 +1,13 @@
import { Config } from "../configuration/Config";
import { GameEvent } from "../EventBus";
import { PlayerView } from "./GameView";
import { ClientID, GameConfig, GameID, AllPlayersStats } from "../Schemas";
import { GameMap, GameMapImpl, TileRef } from "./GameMap";
import { AllPlayersStats, ClientID } from "../Schemas";
import { GameMap, TileRef } from "./GameMap";
import {
GameUpdate,
GameUpdateType,
PlayerUpdate,
UnitUpdate,
} from "./GameUpdates";
import { PlayerView } from "./GameView";
import { Stats } from "./Stats";
export type PlayerID = string;
+25 -26
View File
@@ -1,43 +1,42 @@
import { Config } from "../configuration/Config";
import { consolex } from "../Consolex";
import { AllPlayersStats, ClientID } from "../Schemas";
import { simpleHash } from "../Util";
import { AllianceImpl } from "./AllianceImpl";
import { AllianceRequestImpl } from "./AllianceRequestImpl";
import {
Alliance,
AllianceRequest,
Cell,
EmojiMessage,
Execution,
Game,
GameMode,
GameUpdates,
MessageType,
Nation,
Player,
PlayerID,
PlayerInfo,
Player,
PlayerType,
Team,
TeamName,
TerrainType,
TerraNullius,
Unit,
AllianceRequest,
Alliance,
Nation,
UnitType,
UnitInfo,
GameUpdates,
TerrainType,
EmojiMessage,
Team,
GameMode,
TeamName,
PlayerType,
UnitType,
} from "./Game";
import { GameUpdate } from "./GameUpdates";
import { GameUpdateType } from "./GameUpdates";
import { NationMap } from "./TerrainMapLoader";
import { GameMap, TileRef, TileUpdate } from "./GameMap";
import { GameUpdate, GameUpdateType } from "./GameUpdates";
import { PlayerImpl } from "./PlayerImpl";
import { TerraNulliusImpl } from "./TerraNulliusImpl";
import { AllianceRequestImpl } from "./AllianceRequestImpl";
import { AllianceImpl } from "./AllianceImpl";
import { ClientID, AllPlayersStats } from "../Schemas";
import { MessageType } from "./Game";
import { UnitImpl } from "./UnitImpl";
import { consolex } from "../Consolex";
import { GameMap, GameMapImpl, TileRef, TileUpdate } from "./GameMap";
import { UnitGrid } from "./UnitGrid";
import { StatsImpl } from "./StatsImpl";
import { Stats } from "./Stats";
import { simpleHash } from "../Util";
import { StatsImpl } from "./StatsImpl";
import { assignTeams } from "./TeamAssignment";
import { NationMap } from "./TerrainMapLoader";
import { TerraNulliusImpl } from "./TerraNulliusImpl";
import { UnitGrid } from "./UnitGrid";
import { UnitImpl } from "./UnitImpl";
export function createGame(
humans: PlayerInfo[],
+1 -3
View File
@@ -1,9 +1,7 @@
import { ClientID, PlayerStats, AllPlayersStats } from "../Schemas";
import { AllPlayersStats, ClientID, PlayerStats } from "../Schemas";
import {
AllianceRequest,
EmojiMessage,
GameUpdates,
MapPos,
MessageType,
NameViewData,
PlayerID,
+18 -21
View File
@@ -1,40 +1,37 @@
import {
GameUpdates,
MapPos,
MessageType,
nukeTypes,
Player,
PlayerActions,
PlayerProfile,
PlayerBorderTiles,
TeamName,
} from "./Game";
import { AttackUpdate, PlayerUpdate } from "./GameUpdates";
import { UnitUpdate } from "./GameUpdates";
import { NameViewData } from "./Game";
import { GameUpdateType } from "./GameUpdates";
import { Config } from "../configuration/Config";
import { ClientID, GameID, PlayerStats } from "../Schemas";
import { WorkerClient } from "../worker/WorkerClient";
import {
Cell,
EmojiMessage,
GameUpdates,
Gold,
NameViewData,
nukeTypes,
Player,
PlayerActions,
PlayerBorderTiles,
PlayerID,
PlayerInfo,
PlayerProfile,
PlayerType,
TeamName,
TerrainType,
TerraNullius,
Tick,
UnitInfo,
UnitType,
} from "./Game";
import { ClientID, GameID, PlayerStats } from "../Schemas";
import { GameMap, TileRef, TileUpdate } from "./GameMap";
import {
AttackUpdate,
GameUpdateType,
GameUpdateViewData,
PlayerUpdate,
UnitUpdate,
} from "./GameUpdates";
import { TerraNulliusImpl } from "./TerraNulliusImpl";
import { WorkerClient } from "../worker/WorkerClient";
import { GameMap, GameMapImpl, TileRef, TileUpdate } from "./GameMap";
import { GameUpdateViewData } from "./GameUpdates";
import { UnitGrid } from "./UnitGrid";
import { consolex } from "../Consolex";
import { SAMLauncherExecution } from "../execution/SAMLauncherExecution";
export class UnitView {
public _wasUpdated = true;
+32 -35
View File
@@ -1,28 +1,6 @@
import {
Player,
PlayerInfo,
PlayerID,
PlayerType,
TerraNullius,
Cell,
Execution,
AllianceRequest,
MutableAlliance,
Alliance,
Tick,
AllPlayers,
Gold,
UnitType,
Unit,
Relation,
EmojiMessage,
PlayerProfile,
Attack,
UnitSpecificInfos,
Team,
} from "./Game";
import { AttackUpdate, PlayerUpdate } from "./GameUpdates";
import { GameUpdateType } from "./GameUpdates";
import { renderNumber, renderTroops } from "../../client/Utils";
import { consolex } from "../Consolex";
import { PseudoRandom } from "../PseudoRandom";
import { ClientID } from "../Schemas";
import {
assertNever,
@@ -31,21 +9,40 @@ import {
maxInt,
minInt,
simpleHash,
sourceDstOceanShore,
targetTransportTile,
toInt,
within,
} from "../Util";
import { CellString, GameImpl } from "./GameImpl";
import { UnitImpl } from "./UnitImpl";
import { MessageType } from "./Game";
import { renderTroops, renderNumber } from "../../client/Utils";
import { TerraNulliusImpl } from "./TerraNulliusImpl";
import { andFN, manhattanDistFN, TileRef } from "./GameMap";
import { AttackImpl } from "./AttackImpl";
import { PseudoRandom } from "../PseudoRandom";
import { consolex } from "../Consolex";
import { sanitizeUsername } from "../validations/username";
import { AttackImpl } from "./AttackImpl";
import {
Alliance,
AllianceRequest,
AllPlayers,
Attack,
Cell,
EmojiMessage,
Gold,
MessageType,
MutableAlliance,
Player,
PlayerID,
PlayerInfo,
PlayerProfile,
PlayerType,
Relation,
Team,
TerraNullius,
Tick,
Unit,
UnitSpecificInfos,
UnitType,
} from "./Game";
import { GameImpl } from "./GameImpl";
import { andFN, manhattanDistFN, TileRef } from "./GameMap";
import { AttackUpdate, GameUpdateType, PlayerUpdate } from "./GameUpdates";
import { TerraNulliusImpl } from "./TerraNulliusImpl";
import { UnitImpl } from "./UnitImpl";
interface Target {
tick: Tick;
+1 -1
View File
@@ -1,4 +1,4 @@
import { Player, PlayerInfo, Team, TeamName } from "./Game";
import { PlayerInfo, Team, TeamName } from "./Game";
export function assignTeams(
players: PlayerInfo[],
+1 -3
View File
@@ -1,7 +1,5 @@
import { ClientID } from "../Schemas";
import { TerraNullius, Cell, PlayerID } from "./Game";
import { GameImpl } from "./GameImpl";
import { TileRef } from "./GameMap";
import { PlayerID, TerraNullius } from "./Game";
export class TerraNulliusImpl implements TerraNullius {
constructor() {}
+1 -2
View File
@@ -1,5 +1,4 @@
import { Cell, GameMapType, TerrainType } from "./Game";
import { consolex } from "../Consolex";
import { GameMapType } from "./Game";
import { NationMap } from "./TerrainMapLoader";
interface MapData {
+1 -1
View File
@@ -1,5 +1,5 @@
import { consolex } from "../Consolex";
import { Cell, GameMapType, TerrainType } from "./Game";
import { GameMapType } from "./Game";
import { GameMap, GameMapImpl } from "./GameMap";
import { terrainMapFileLoader } from "./TerrainMapFileLoader";
+12 -7
View File
@@ -1,12 +1,17 @@
import { MessageType, Tick, UnitSpecificInfos } from "./Game";
import { UnitUpdate } from "./GameUpdates";
import { GameUpdateType } from "./GameUpdates";
import { simpleHash, toInt, within, withinInt } from "../Util";
import { Unit, TerraNullius, UnitType, Player, UnitInfo } from "./Game";
import { simpleHash, toInt, withinInt } from "../Util";
import {
MessageType,
Player,
Tick,
Unit,
UnitInfo,
UnitSpecificInfos,
UnitType,
} from "./Game";
import { GameImpl } from "./GameImpl";
import { PlayerImpl } from "./PlayerImpl";
import { TileRef } from "./GameMap";
import { consolex } from "../Consolex";
import { GameUpdateType, UnitUpdate } from "./GameUpdates";
import { PlayerImpl } from "./PlayerImpl";
export class UnitImpl implements Unit {
private _active = true;
+1 -1
View File
@@ -1,5 +1,5 @@
import { Cell } from "../game/Game";
import { GameMap, GameMapImpl, TileRef } from "../game/GameMap";
import { GameMap, TileRef } from "../game/GameMap";
import { AStar, PathFindResultType } from "./AStar";
import { SerialAStar } from "./SerialAStar";
+3 -4
View File
@@ -1,9 +1,8 @@
import { Cell, Game } from "../game/Game";
import { AStar, PathFindResultType, TileResult } from "./AStar";
import { SerialAStar } from "./SerialAStar";
import { MiniAStar } from "./MiniAStar";
import { consolex } from "../Consolex";
import { Game } from "../game/Game";
import { TileRef } from "../game/GameMap";
import { AStar, PathFindResultType, TileResult } from "./AStar";
import { MiniAStar } from "./MiniAStar";
export class PathFinder {
private curr: TileRef = null;
+2 -3
View File
@@ -1,8 +1,7 @@
import { PriorityQueue } from "@datastructures-js/priority-queue";
import { AStar } from "./AStar";
import { PathFindResultType } from "./AStar";
import { consolex } from "../Consolex";
import { GameMap, GameMapImpl, TileRef } from "../game/GameMap";
import { GameMap, TileRef } from "../game/GameMap";
import { AStar, PathFindResultType } from "./AStar";
export class SerialAStar implements AStar {
private fwdOpenSet: PriorityQueue<{ tile: TileRef; fScore: number }>;
+1 -1
View File
@@ -3,8 +3,8 @@ import {
englishDataset,
englishRecommendedTransformers,
} from "obscenity";
import { simpleHash } from "../Util";
import { translateText } from "../../client/Utils";
import { simpleHash } from "../Util";
const matcher = new RegExpMatcher({
...englishDataset.build(),
+3 -3
View File
@@ -1,12 +1,12 @@
import { createGameRunner, GameRunner } from "../GameRunner";
import { GameUpdateViewData } from "../game/GameUpdates";
import {
MainThreadMessage,
WorkerMessage,
InitializedMessage,
MainThreadMessage,
PlayerActionsResultMessage,
PlayerProfileResultMessage,
PlayerBorderTilesResultMessage,
PlayerProfileResultMessage,
WorkerMessage,
} from "./WorkerMessages";
const ctx: Worker = self as any;
+1 -1
View File
@@ -1,8 +1,8 @@
import {
PlayerActions,
PlayerBorderTiles,
PlayerID,
PlayerProfile,
PlayerBorderTiles,
} from "../game/Game";
import { ErrorUpdate, GameUpdateViewData } from "../game/GameUpdates";
import { ClientID, GameStartInfo, Turn } from "../Schemas";
+3 -8
View File
@@ -1,16 +1,11 @@
import { GameUpdateViewData } from "../game/GameUpdates";
import {
ClientID,
Turn,
ServerStartGameMessage,
GameStartInfo,
} from "../Schemas";
import {
PlayerActions,
PlayerBorderTiles,
PlayerID,
PlayerProfile,
PlayerBorderTiles,
} from "../game/Game";
import { GameUpdateViewData } from "../game/GameUpdates";
import { ClientID, GameStartInfo, Turn } from "../Schemas";
export type WorkerMessageType =
| "heartbeat"