Merge branch 'main' into meta3AI. remove underline at 90.

This commit is contained in:
1brucben
2025-04-25 21:33:51 +02:00
562 changed files with 2766 additions and 8269 deletions
+3 -2
View File
@@ -90,6 +90,7 @@ export abstract class DefaultServerConfig implements ServerConfig {
GameMapType.Oceania,
GameMapType.Japan, // Japan at this level because its 2/3 water
GameMapType.FaroeIslands,
GameMapType.EuropeClassic,
].includes(map)
) {
return Math.random() < 0.3 ? 50 : 25;
@@ -148,7 +149,7 @@ export class DefaultConfig implements Config {
return 0.5;
}
traitorDuration(): number {
return 15 * 10; // 15 seconds
return 30 * 10; // 30 seconds
}
spawnImmunityDuration(): Tick {
return 5 * 10;
@@ -392,7 +393,7 @@ export class DefaultConfig implements Config {
return 80;
}
boatMaxNumber(): number {
return 9;
return 3;
}
numSpawnPhaseTurns(): number {
return this._gameConfig.gameType == GameType.Singleplayer ? 100 : 300;
@@ -26,7 +26,6 @@ export class TransportShipExecution implements Execution {
private mg: Game;
private attacker: Player;
private target: Player | TerraNullius;
private embarkDelay = 0;
// TODO make private
public path: TileRef[];
@@ -155,10 +154,6 @@ export class TransportShipExecution implements Execution {
this.active = false;
return;
}
if (this.embarkDelay > 0) {
this.embarkDelay--;
return;
}
if (ticks - this.lastMove < this.ticksPerMove) {
return;
}
+2
View File
@@ -51,6 +51,7 @@ export enum Team {
export enum GameMapType {
World = "World",
Europe = "Europe",
EuropeClassic = "Europe Classic",
Mena = "Mena",
NorthAmerica = "North America",
SouthAmerica = "South America",
@@ -76,6 +77,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.NorthAmerica,
GameMapType.SouthAmerica,
GameMapType.Europe,
GameMapType.EuropeClassic,
GameMapType.Asia,
GameMapType.Africa,
GameMapType.Oceania,
+4 -2
View File
@@ -102,13 +102,15 @@ export class GameImpl implements Game {
if (_config.gameConfig().gameMode === GameMode.Team) {
const numPlayerTeams = _config.numPlayerTeams();
if (numPlayerTeams < 2) throw new Error("Too few teams!");
if (numPlayerTeams < 2)
throw new Error(`Too few teams: ${numPlayerTeams}`);
if (numPlayerTeams >= 3) this.playerTeams.push(Team.Teal);
if (numPlayerTeams >= 4) this.playerTeams.push(Team.Purple);
if (numPlayerTeams >= 5) this.playerTeams.push(Team.Yellow);
if (numPlayerTeams >= 6) this.playerTeams.push(Team.Orange);
if (numPlayerTeams >= 7) this.playerTeams.push(Team.Green);
if (numPlayerTeams >= 8) throw new Error("Too many teams!");
if (numPlayerTeams >= 8)
throw new Error(`Too many teams: ${numPlayerTeams}`);
}
}
+5 -1
View File
@@ -277,7 +277,11 @@ export class GameMapImpl implements GameMap {
): Set<TileRef> {
const seen = new Set<TileRef>();
const q: TileRef[] = [];
q.push(tile);
if (filter(this, tile)) {
seen.add(tile);
q.push(tile);
}
while (q.length > 0) {
const curr = q.pop();
for (const n of this.neighbors(curr)) {
+1
View File
@@ -42,6 +42,7 @@ const MAP_FILE_NAMES: Record<GameMapType, string> = {
[GameMapType.BetweenTwoSeas]: "BetweenTwoSeas",
[GameMapType.KnownWorld]: "KnownWorld",
[GameMapType.FaroeIslands]: "FaroeIslands",
[GameMapType.EuropeClassic]: "EuropeClassic",
};
class GameMapLoader {