Merge branch 'main' into bomb-confirmation

This commit is contained in:
Ryan
2026-01-08 09:26:56 +00:00
committed by GitHub
22 changed files with 571 additions and 115 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 644 KiB

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 KiB

@@ -0,0 +1,120 @@
{
"name": "Britannia Classic",
"nations": [
{
"coordinates": [960, 1258],
"name": "Dumnonia",
"flag": "1_Dumnonia"
},
{
"coordinates": [918, 1088],
"name": "Dyfed",
"flag": "1_Dyfed"
},
{
"coordinates": [1114, 1108],
"name": "Gwent",
"flag": "1_Gwent"
},
{
"coordinates": [1048, 936],
"name": "Gwynedd",
"flag": "1_Gwynedd"
},
{
"coordinates": [1108, 986],
"name": "Powys",
"flag": "1_Powys"
},
{
"coordinates": [952, 536],
"name": "Strathclyde",
"flag": "1_Strathclyde"
},
{
"coordinates": [748, 556],
"name": "Dalriata",
"flag": "1_Dalriata"
},
{
"coordinates": [1228, 1176],
"name": "Wessex",
"flag": "1_Wessex"
},
{
"coordinates": [1442, 1226],
"name": "Sussex",
"flag": "1_Sussex"
},
{
"coordinates": [1600, 1188],
"name": "Kent",
"flag": "1_Kent"
},
{
"coordinates": [1621, 1085],
"name": "Essex",
"flag": "1_Essex"
},
{
"coordinates": [1707, 1018],
"name": "East Anglia",
"flag": "1_East Anglia"
},
{
"coordinates": [1370, 1002],
"name": "Mercia",
"flag": "1_Mercia"
},
{
"coordinates": [1298, 724],
"name": "Northumbria",
"flag": "1_Northumbria"
},
{
"coordinates": [962, 366],
"name": "Fortriu",
"flag": "1_Fortriu"
},
{
"coordinates": [272, 1041],
"name": "Munster",
"flag": "1_Munster"
},
{
"coordinates": [264, 830],
"name": "Connacht",
"flag": "1_Connacht"
},
{
"coordinates": [608, 975],
"name": "Laigin",
"flag": "1_Laigin"
},
{
"coordinates": [564, 845],
"name": "Southern Uí Néill",
"flag": "1_Southern Ui Neill"
},
{
"coordinates": [639, 680],
"name": "Ulaid",
"flag": "1_Ulaid"
},
{
"coordinates": [509, 759],
"name": "Airgialla",
"flag": "1_Airgialla"
},
{
"coordinates": [416, 678],
"name": "Northern Uí Néill",
"flag": "1_Northern Ui Neill"
},
{
"coordinates": [1869, 1308],
"name": "Franks",
"flag": "1_Franks"
}
]
}
+1
View File
@@ -31,6 +31,7 @@ var maps = []struct {
{Name: "betweentwoseas"},
{Name: "blacksea"},
{Name: "britannia"},
{Name: "britanniaclassic"},
{Name: "deglaciatedantarctica"},
{Name: "eastasia"},
{Name: "europe"},
+4 -1
View File
@@ -222,6 +222,7 @@
"asia": "Asia",
"mars": "Mars",
"southamerica": "South America",
"britanniaclassic": "Britannia (Classic)",
"britannia": "Britannia",
"gatewaytotheatlantic": "Gateway to the Atlantic",
"australia": "Australia",
@@ -633,7 +634,9 @@
"warships": "Warships",
"health": "Health",
"attitude": "Attitude",
"levels": "Levels"
"levels": "Levels",
"wilderness_title": "Wilderness",
"irradiated_wilderness_title": "Irradiated Wilderness"
},
"events_display": {
"retreating": "retreating",
+93 -108
View File
@@ -1,135 +1,120 @@
{
"map": {
"height": 1396,
"num_land_tiles": 933571,
"width": 2000
"height": 2514,
"num_land_tiles": 1669657,
"width": 2048
},
"map16x": {
"height": 349,
"num_land_tiles": 54975,
"width": 500
"height": 628,
"num_land_tiles": 99515,
"width": 512
},
"map4x": {
"height": 698,
"num_land_tiles": 228849,
"width": 1000
"height": 1257,
"num_land_tiles": 410570,
"width": 1024
},
"name": "Britannia",
"name": "britannia",
"nations": [
{
"coordinates": [960, 1258],
"flag": "1_Dumnonia",
"name": "Dumnonia"
"coordinates": [1969, 2305],
"flag": "fr",
"name": "Pas-de-Calais"
},
{
"coordinates": [918, 1088],
"flag": "1_Dyfed",
"name": "Dyfed"
"coordinates": [274, 1494],
"flag": "ie",
"name": "Mayo"
},
{
"coordinates": [1114, 1108],
"flag": "1_Gwent",
"name": "Gwent"
"coordinates": [242, 1931],
"flag": "ie",
"name": "Kerry"
},
{
"coordinates": [1048, 936],
"flag": "1_Gwynedd",
"name": "Gwynedd"
"coordinates": [328, 1754],
"flag": "ie",
"name": "Clare"
},
{
"coordinates": [1108, 986],
"flag": "1_Powys",
"coordinates": [675, 1559],
"flag": "ie",
"name": "Meath"
},
{
"coordinates": [900, 518],
"flag": "gb-sct",
"name": "Highland"
},
{
"coordinates": [782, 830],
"flag": "gb-sct",
"name": "Argyll and Bute"
},
{
"coordinates": [1431, 1447],
"flag": "gb-eng",
"name": "North Yorkshire"
},
{
"coordinates": [1243, 622],
"flag": "gb-sct",
"name": "Aberdeenshire"
},
{
"coordinates": [1218, 1309],
"flag": "gb-eng",
"name": "Cumbria"
},
{
"coordinates": [1082, 1202],
"flag": "gb-sct",
"name": "Dumfries and Galloway"
},
{
"coordinates": [1096, 808],
"flag": "gb-sct",
"name": "Perthshire and Kinross"
},
{
"coordinates": [1626, 1688],
"flag": "gb-eng",
"name": "Lincolnshire"
},
{
"coordinates": [1110, 2266],
"flag": "gb-eng",
"name": "Devon"
},
{
"coordinates": [1345, 1138],
"flag": "gb-eng",
"name": "Northumberland"
},
{
"coordinates": [1792, 1799],
"flag": "gb-eng",
"name": "Norfolk"
},
{
"coordinates": [1154, 1888],
"flag": "gb-wls",
"name": "Powys"
},
{
"coordinates": [952, 536],
"flag": "1_Strathclyde",
"name": "Strathclyde"
"coordinates": [1801, 1905],
"flag": "gb-eng",
"name": "Suffolk"
},
{
"coordinates": [748, 556],
"flag": "1_Dalriata",
"name": "Dalriata"
"coordinates": [1469, 2190],
"flag": "gb-eng",
"name": "Hampshire"
},
{
"coordinates": [1228, 1176],
"flag": "1_Wessex",
"name": "Wessex"
},
{
"coordinates": [1442, 1226],
"flag": "1_Sussex",
"name": "Sussex"
},
{
"coordinates": [1600, 1188],
"flag": "1_Kent",
"name": "Kent"
},
{
"coordinates": [1621, 1085],
"flag": "1_Essex",
"name": "Essex"
},
{
"coordinates": [1707, 1018],
"flag": "1_East Anglia",
"name": "East Anglia"
},
{
"coordinates": [1370, 1002],
"flag": "1_Mercia",
"name": "Mercia"
},
{
"coordinates": [1298, 724],
"flag": "1_Northumbria",
"name": "Northumbria"
},
{
"coordinates": [962, 366],
"flag": "1_Fortriu",
"name": "Fortriu"
},
{
"coordinates": [272, 1041],
"flag": "1_Munster",
"name": "Munster"
},
{
"coordinates": [264, 830],
"flag": "1_Connacht",
"name": "Connacht"
},
{
"coordinates": [608, 975],
"flag": "1_Laigin",
"name": "Laigin"
},
{
"coordinates": [564, 845],
"flag": "1_Southern Ui Neill",
"name": "Southern Uí Néill"
},
{
"coordinates": [639, 680],
"flag": "1_Ulaid",
"name": "Ulaid"
},
{
"coordinates": [509, 759],
"flag": "1_Airgialla",
"name": "Airgialla"
},
{
"coordinates": [416, 678],
"flag": "1_Northern Ui Neill",
"name": "Northern Uí Néill"
},
{
"coordinates": [1869, 1308],
"flag": "1_Franks",
"name": "Franks"
"coordinates": [516, 1379],
"flag": "gb",
"name": "Fermanagh"
}
]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 26 KiB

@@ -0,0 +1,135 @@
{
"map": {
"height": 1396,
"num_land_tiles": 933571,
"width": 2000
},
"map16x": {
"height": 349,
"num_land_tiles": 54975,
"width": 500
},
"map4x": {
"height": 698,
"num_land_tiles": 228849,
"width": 1000
},
"name": "britanniaclassic",
"nations": [
{
"coordinates": [960, 1258],
"flag": "1_Dumnonia",
"name": "Dumnonia"
},
{
"coordinates": [918, 1088],
"flag": "1_Dyfed",
"name": "Dyfed"
},
{
"coordinates": [1114, 1108],
"flag": "1_Gwent",
"name": "Gwent"
},
{
"coordinates": [1048, 936],
"flag": "1_Gwynedd",
"name": "Gwynedd"
},
{
"coordinates": [1108, 986],
"flag": "1_Powys",
"name": "Powys"
},
{
"coordinates": [952, 536],
"flag": "1_Strathclyde",
"name": "Strathclyde"
},
{
"coordinates": [748, 556],
"flag": "1_Dalriata",
"name": "Dalriata"
},
{
"coordinates": [1228, 1176],
"flag": "1_Wessex",
"name": "Wessex"
},
{
"coordinates": [1442, 1226],
"flag": "1_Sussex",
"name": "Sussex"
},
{
"coordinates": [1600, 1188],
"flag": "1_Kent",
"name": "Kent"
},
{
"coordinates": [1621, 1085],
"flag": "1_Essex",
"name": "Essex"
},
{
"coordinates": [1707, 1018],
"flag": "1_East Anglia",
"name": "East Anglia"
},
{
"coordinates": [1370, 1002],
"flag": "1_Mercia",
"name": "Mercia"
},
{
"coordinates": [1298, 724],
"flag": "1_Northumbria",
"name": "Northumbria"
},
{
"coordinates": [962, 366],
"flag": "1_Fortriu",
"name": "Fortriu"
},
{
"coordinates": [272, 1041],
"flag": "1_Munster",
"name": "Munster"
},
{
"coordinates": [264, 830],
"flag": "1_Connacht",
"name": "Connacht"
},
{
"coordinates": [608, 975],
"flag": "1_Laigin",
"name": "Laigin"
},
{
"coordinates": [564, 845],
"flag": "1_Southern Ui Neill",
"name": "Southern Uí Néill"
},
{
"coordinates": [639, 680],
"flag": "1_Ulaid",
"name": "Ulaid"
},
{
"coordinates": [509, 759],
"flag": "1_Airgialla",
"name": "Airgialla"
},
{
"coordinates": [416, 678],
"flag": "1_Northern Ui Neill",
"name": "Northern Uí Néill"
},
{
"coordinates": [1869, 1308],
"flag": "1_Franks",
"name": "Franks"
}
]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+1
View File
@@ -23,6 +23,7 @@ export const MapDescription: Record<keyof typeof GameMapType, string> = {
Asia: "Asia",
Mars: "Mars",
SouthAmerica: "South America",
BritanniaClassic: "Britannia Classic",
Britannia: "Britannia",
GatewayToTheAtlantic: "Gateway to the Atlantic",
Australia: "Australia",
@@ -73,6 +73,12 @@ export class PlayerInfoOverlay extends LitElement implements Layer {
@state()
private unit: UnitView | null = null;
@state()
private isWilderness: boolean = false;
@state()
private isIrradiatedWilderness: boolean = false;
@state()
private _isInfoVisible: boolean = false;
@@ -106,6 +112,8 @@ export class PlayerInfoOverlay extends LitElement implements Layer {
this.setVisible(false);
this.unit = null;
this.player = null;
this.isWilderness = false;
this.isIrradiatedWilderness = false;
}
public maybeShow(x: number, y: number) {
@@ -126,6 +134,13 @@ export class PlayerInfoOverlay extends LitElement implements Layer {
this.playerProfile = p;
});
this.setVisible(true);
} else if (owner && !owner.isPlayer() && this.game.isLand(tile)) {
if (this.game.hasFallout(tile)) {
this.isIrradiatedWilderness = true;
} else {
this.isWilderness = true;
}
this.setVisible(true);
} else if (!this.game.isLand(tile)) {
const units = this.game
.units(UnitType.Warship, UnitType.TradeShip, UnitType.TransportShip)
@@ -520,6 +535,15 @@ export class PlayerInfoOverlay extends LitElement implements Layer {
<div
class="bg-gray-800/70 backdrop-blur-xs shadow-xs rounded-lg shadow-lg transition-all duration-300 text-white text-lg md:text-base ${containerClasses}"
>
${this.isWilderness || this.isIrradiatedWilderness
? html`<div class="p-2 font-bold">
${translateText(
this.isIrradiatedWilderness
? "player_info_overlay.irradiated_wilderness_title"
: "player_info_overlay.wilderness_title",
)}
</div>`
: ""}
${this.player !== null ? this.renderPlayerInfo(this.player) : ""}
${this.unit !== null ? this.renderUnitInfo(this.unit) : ""}
</div>
+7
View File
@@ -16,6 +16,13 @@
border-color: var(--color-gray-200, currentColor);
}
input,
textarea,
select {
background-color: #fff;
color: #000;
}
input::placeholder,
textarea::placeholder {
color: var(--color-gray-400);
+2 -2
View File
@@ -309,13 +309,13 @@ export const EmbargoAllIntentSchema = BaseIntentSchema.extend({
export const DonateGoldIntentSchema = BaseIntentSchema.extend({
type: z.literal("donate_gold"),
recipient: ID,
gold: z.number().nullable(),
gold: z.number().nonnegative().nullable(),
});
export const DonateTroopIntentSchema = BaseIntentSchema.extend({
type: z.literal("donate_troops"),
recipient: ID,
troops: z.number().nullable(),
troops: z.number().nonnegative().nullable(),
});
export const BuildUnitIntentSchema = BaseIntentSchema.extend({
+1
View File
@@ -57,6 +57,7 @@ const numPlayersConfig = {
[GameMapType.BetweenTwoSeas]: [70, 50, 40],
[GameMapType.BlackSea]: [50, 30, 30],
[GameMapType.Britannia]: [50, 30, 20],
[GameMapType.BritanniaClassic]: [50, 30, 20],
[GameMapType.DeglaciatedAntarctica]: [50, 40, 30],
[GameMapType.EastAsia]: [50, 30, 20],
[GameMapType.Europe]: [100, 70, 50],
+3 -1
View File
@@ -82,6 +82,7 @@ export enum GameMapType {
Pangaea = "Pangaea",
Asia = "Asia",
Mars = "Mars",
BritanniaClassic = "Britannia Classic",
Britannia = "Britannia",
GatewayToTheAtlantic = "Gateway to the Atlantic",
Australia = "Australia",
@@ -134,8 +135,9 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.Oceania,
],
regional: [
GameMapType.BlackSea,
GameMapType.BritanniaClassic,
GameMapType.Britannia,
GameMapType.BlackSea,
GameMapType.GatewayToTheAtlantic,
GameMapType.BetweenTwoSeas,
GameMapType.Iceland,
+1
View File
@@ -30,6 +30,7 @@ const frequency: Partial<Record<GameMapName, number>> = {
BetweenTwoSeas: 5,
BlackSea: 6,
Britannia: 5,
BritanniaClassic: 4,
DeglaciatedAntarctica: 4,
EastAsia: 5,
Europe: 3,