Commit Graph

4036 Commits

Author SHA1 Message Date
FloPinguin ea4355f03a Rearrange homepage game boxes & tune special modifier probabilities 🎲 (#3420)
## Description:

**Homepage layout:** Reorder the game mode cards so FFA is the left
(large) box, Teams is the upper-right box, and Special Games is the
lower-right box. Mobile order updated to match (FFA → Teams → Special).

**Special game modifiers:**
- Adjusted modifier count roll to 40%/40%/15%/5% for 1/2/3/4 modifiers
(was 30%/40%/20%/10%) because having so many special games with 3/4
modifiers while we only have 8 modifiers in the pool is a bit dumb (from
the 8 modifiers two are mutually exclusive and 4 should be quite rare).
- Changed ticket counts in `SPECIAL_MODIFIER_POOL` so
isAlliancesDisabled and isHardNations are more rare.

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [X] I have added relevant tests to the test directory
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

FloPinguin
2026-03-13 11:55:03 -07:00
FloPinguin 2419f77f17 Rearrange homepage game boxes & tune special modifier probabilities 🎲 (#3420)
## Description:

**Homepage layout:** Reorder the game mode cards so FFA is the left
(large) box, Teams is the upper-right box, and Special Games is the
lower-right box. Mobile order updated to match (FFA → Teams → Special).

**Special game modifiers:**
- Adjusted modifier count roll to 40%/40%/15%/5% for 1/2/3/4 modifiers
(was 30%/40%/20%/10%) because having so many special games with 3/4
modifiers while we only have 8 modifiers in the pool is a bit dumb (from
the 8 modifiers two are mutually exclusive and 4 should be quite rare).
- Changed ticket counts in `SPECIAL_MODIFIER_POOL` so
isAlliancesDisabled and isHardNations are more rare.

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [X] I have added relevant tests to the test directory
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

FloPinguin
2026-03-13 11:54:39 -07:00
evanpelle 681aa98fb1 bugfix: don't remove player name renderer if name location is not set 2026-03-13 11:53:38 -07:00
evanpelle 3ab778ace4 temporarily disable homepage footer ad 2026-03-13 11:45:12 -07:00
evanpelle 28b2372ef5 shorten the control panel vertically a bit to increase center space for gameplay 2026-03-13 09:46:47 -07:00
Caly 106620ba3b The France Flag embraces its true colors! (#3418)
## Description:

The French Flag has its real colours now.
Source: https://fr.wikipedia.org/wiki/Drapeau_de_la_France

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

canonulldreinull_
2026-03-13 09:15:03 -07:00
evanpelle ced65b7382 increase train spawn rate by 20% 2026-03-12 21:11:18 -07:00
evanpelle e8ee83e4b2 meta: expand trainGold free window from 6 to 10 stops and update tests 2026-03-12 21:09:18 -07:00
evanpelle 97fa84732b meta: increase base gold from tradeship 50k=>75k 2026-03-12 21:02:31 -07:00
evanpelle a03791bf19 team colors: reduce the hue range within a team so its more clear which team they are on 2026-03-12 20:36:33 -07:00
Evan 37f4f606f6 reduce margin for player info & control panel (#3414)
## Description:

To give more space in the center of the screen remove the top & bottom
margin. Also make the control panel & player info panel slightly shorter
& longer.

<img width="1167" height="961" alt="Screenshot 2026-03-12 at 7 20 40 PM"
src="https://github.com/user-attachments/assets/15baf640-daf0-4394-9107-d175130e7754"
/>

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
2026-03-12 19:50:43 -07:00
evanpelle 60e0ea6425 reduce lobby update rate from every 250ms => 500ms to reduce bandwidth 2026-03-12 16:22:03 -07:00
evanpelle ebe7f76cd3 fix: track max player count reached to correctly determine lobby phase, this is to prevent old lobbies reappearing when someone leaves before the game starts v0.30.1 2026-03-12 11:25:02 -07:00
evanpelle 4cfefdfb02 fix: don't report game as Lobby phase when players leave mid-game
After a player left, the server would fall back to Lobby phase if player
count dropped below the max — even if the game had already started.
Now checks hasStarted() before reporting Lobby phase.
v0.30.0
2026-03-11 21:30:04 -07:00
FloPinguin 3013133d08 Embrace the aftergame! 😄 (#3410)
## Description:

In v30 we have the following change to prevent teammates from destroying
your structures:

**Block nuking teammate structures** - Nukes blocked if they'd hit a
teammate's structure (that was possible by nuking oceans / rivers) (by
@FloPinguin)

Original idea was from Wonder.
I think it makes sense, but it has a side effect: The aftergame, which
many players love, will be dead because of this change.

<img width="835" height="103" alt="image"
src="https://github.com/user-attachments/assets/521b7915-be28-4d83-8d45-65835e7385ab"
/>

<img width="1101" height="105" alt="image"
src="https://github.com/user-attachments/assets/db74a9c6-da12-44a2-aa06-f042b8e58b8a"
/>

I think a lot of complaints will follow after v30 is live. 

So why not add a little bit of logic for the aftergame?
After a team wins/loses, players can nuke their teammates. No longer
need to aim for water. SAMs also intercept teammate nukes in this phase.

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [X] I have added relevant tests to the test directory
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

FloPinguin
2026-03-11 20:39:39 -07:00
evanpelle 36572b69b5 radial menu: make elements brighter on hover 2026-03-11 20:35:23 -07:00
evanpelle 741a38c62b meta: only penalize train gold after 5 cities instead of 3 v0.30.0-beta5 2026-03-11 16:25:53 -07:00
evanpelle d09cc10b99 meta: update attack logic so its .7 currentAttackerLoss & .3 alt to prevent late-game stalemates, and make meta change more gradual 2026-03-11 16:23:28 -07:00
evanpelle 2c13c41077 make world more frequent in public games 2026-03-11 14:38:13 -07:00
FloPinguin 5e84227b54 Fix: Lobby websocket reconnects after stop() in singleplayer 🔧 (#3407)
## Description:

Calling `lobbySocket.stop()` closes the WebSocket, but the async `close`
event fires afterward and triggers `handleClose()` →
`scheduleReconnect()`, reopening the connection. In singleplayer, both
`onPrestart` and `onJoin` callbacks fire synchronously in a single
stack, so the second `stop()` call has nothing left to clean up - the
reconnect timeout gets set after both calls complete.

Adds a `stopped` flag that skips reconnection in `handleClose()` when
the socket was intentionally closed.

Surely this PR description is not AI generated.

Should reduce network load of the server because all the singleplayer
gamers no longer stay connected to the lobbies websocket forever. They
also no longer load all the map mainfest.jsons and thumbnails while they
are playing alone (rotation running in the background).

- [X] I have added screenshots for all UI updates
- [X] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [X] I have added relevant tests to the test directory
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

FloPinguin
2026-03-11 14:36:32 -07:00
evanpelle fee625801d fix: track desynced clients as live set instead of accumulating count 2026-03-11 14:35:25 -07:00
Evan e922d336a1 update radial menu styling (#3404)
## Description:

Before:

<img width="215" height="239" alt="Screenshot 2026-03-10 at 10 29 12 PM"
src="https://github.com/user-attachments/assets/bb044425-eb2f-427c-afd6-6c9dd5d075aa"
/>

After:

<img width="240" height="207" alt="Screenshot 2026-03-10 at 10 27 33 PM"
src="https://github.com/user-attachments/assets/21ce4c3b-ab24-4af0-b608-6be5603320fb"
/>

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
v0.30.0-beta4
2026-03-11 10:06:38 -07:00
Evan 3e65d08942 reduce train gold after each city (#3400)
## Description:

Now that cities snap to existing rails, it's possible to line up dozens
of cities in a row, producing way too much gold. This PR reduces the
gold after each stop to prevent that. Gold only starts decreasing after
the 3rd city.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
2026-03-10 20:16:47 -07:00
evanpelle 97767fa364 meta: increase SAM cooldown from 7.5s to 12s to compensate for previous SAM improvements 2026-03-10 18:47:28 -07:00
evanpelle 19a378942d Revert "meta: reduce train spawn rate to compensate for shared train track update"
This reverts commit df5fad1a1f.
2026-03-10 18:41:08 -07:00
FloPinguin 8329dd479e Mobile UI polish (#3401)
## Description:

### Fix attack percentage label causing slider width jitter on mobile by
setting a fixed width on the container


https://github.com/user-attachments/assets/41ea3b98-48fa-49f3-b22e-2a567f208dfb

### Reduce event panel max-height from 30vh to 15vh on mobile

Previous:

<img width="406" height="781" alt="Screenshot 2026-03-10 231050"
src="https://github.com/user-attachments/assets/ea83a75d-a0cb-4ce2-8714-99e822b028e9"
/>

After:

<img width="397" height="781" alt="Screenshot 2026-03-10 231414"
src="https://github.com/user-attachments/assets/153a4291-a3dc-4255-8a19-725bfdf6ff8b"
/>

### Change lobby buttons (Create/Ranked/Join) from `slate-700` to
`slate-600` for better contrast against the background

Previous:

<img width="411" height="387" alt="Screenshot 2026-03-10 232720"
src="https://github.com/user-attachments/assets/1fd8bc7a-dbaa-414a-8e74-a070c66c40c6"
/>

After:

<img width="408" height="495" alt="Screenshot 2026-03-10 232704"
src="https://github.com/user-attachments/assets/e7693a28-6560-4440-8581-91b1fd7a5cf5"
/>

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [X] I have added relevant tests to the test directory
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

FloPinguin
2026-03-10 16:40:15 -07:00
Evan 3a195005d8 outgoing attacks (#3398)
## Description:

Show outgoing attacks on the PlayerInfoPanel. Also update the
AttacksDisplay so it uses the same icon for incoming & outgoing attacks

<img width="502" height="97" alt="Screenshot 2026-03-10 at 2 02 49 PM"
src="https://github.com/user-attachments/assets/de83bf4d-b1b9-4fec-a8c6-e25bbf82c942"
/>

<img width="483" height="167" alt="Screenshot 2026-03-10 at 2 03 02 PM"
src="https://github.com/user-attachments/assets/cf43106f-5f3a-4a78-abae-dff019de4fb4"
/>

<img width="509" height="203" alt="Screenshot 2026-03-10 at 2 03 28 PM"
src="https://github.com/user-attachments/assets/79db2081-dd93-4ff4-aaa7-75281c16c037"
/>


## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
2026-03-10 14:08:31 -07:00
bijx 8eb879aff4 Fix: Coordinate Grid text is now white when dark mode is enabled (#3396)
## Description:

When the game was on dark mode, seeing the coordinate text on oceans
became impossible. Now we check for dark mode in the layer to change the
text color accordingly.

Light Mode:
<img width="3430" height="1669" alt="image"
src="https://github.com/user-attachments/assets/181d53f5-b218-4f85-9d06-7e80f5d20004"
/>

Dark Mode: 
<img width="3488" height="1706" alt="image"
src="https://github.com/user-attachments/assets/8a8e3951-31b4-448d-bc87-7fabd105e5fb"
/>


## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

bijx
2026-03-10 19:59:08 +00:00
Evan f61d2fb59f update control panel UI: larger text, troop colors (#3395)
## Description:

During the playtests people mentioned the UI was too small. Also change
the troop color because white & green was difficult to read.


<img width="559" height="196" alt="Screenshot 2026-03-10 at 12 42 58 PM"
src="https://github.com/user-attachments/assets/9ba5ccaa-3113-4998-a016-e9936269f5de"
/>

<img width="491" height="96" alt="Screenshot 2026-03-10 at 12 43 15 PM"
src="https://github.com/user-attachments/assets/54f7886f-b830-451e-9a7a-3a764efdfbcc"
/>

<img width="574" height="208" alt="Screenshot 2026-03-10 at 12 43 25 PM"
src="https://github.com/user-attachments/assets/2583b492-1844-4814-8fd8-b7216a1dad60"
/>

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
2026-03-10 12:59:53 -07:00
TsProphet94 8d5ec2b792 Fix: Register Strait of Hormuz in map generator (#3393)
## Description:

This PR registers the straitofhormuz map in main.go. This ensures that
the map is processed and included when running the map generator, as it
was previously present in the resources but missing from the generation
pipeline.

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [X] I have added relevant tests to the test directory
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

TSProphet
2026-03-10 10:13:55 +00:00
PGray be9ea14fe9 refactor: rename Bot to Tribe in internal execution code (#3372)
## Description

Follows up on #3290 which renamed the user-facing "Bots" to "Tribes".
This renames the internal implementation to match:

- `BotExecution` → `TribeExecution`
- `BotSpawner` → `TribeSpawner`
- `BotNames` → `TribeNames` (`BOT_NAME_*` → `TRIBE_NAME_*`)

All callers updated accordingly. `PlayerType.Bot` and `ColoredTeams.Bot`
are intentionally left unchanged as they are serialised wire-format
values.

Closes #3335

## Please complete the following:
- [x] My changes do not break existing functionality
- [x] I have tested my changes

## Please put your Discord username so you can be contacted if a bug or
regression is found:
Just reply here

---------

Co-authored-by: PGray <PGrayCS@users.noreply.github.com>
2026-03-09 21:31:18 -07:00
Bartosz Woźniak 13a965a9c5 Add hotkey descriptions for Escape and Enter actions in HelpModal (#3382)
If this PR fixes an issue, link it below. If not, delete these two
lines.
Resolves #3064

## Description:

Adds Esc and Enter to the Help modal hotkeys section with consistent key
styling and descriptions:

- **Esc** – Shown with label; description: "Closes menu. Cancels unit
build preview."
- **Enter (↵)** – Shown with symbol and label; description: "Confirms
input. Confirms unit build preview."

Both keys use the same keycap style as existing hotkeys. Enter label
uses the standard symbol (↵) in `getKeyLabel()`. New strings are in
`en.json` under `help_modal.action_esc` and `help_modal.action_enter`.

<img width="723" height="427" alt="image"
src="https://github.com/user-attachments/assets/52fc168a-a850-4ac5-ba82-72f7672f476c"
/>


## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

.wozniakpl
2026-03-09 21:15:13 -07:00
FloPinguin 3838de1d30 Option to disable alliances + 2 new modifiers for variety 😄 (#3392)
## Description:

Rex had this idea: "It would be funny to have an option in private
lobbies to disable alliances."
I added it as an option.
Now people can choose to live in constant fear of their neighbors 😆 

Also added two new public game modifiers for variety (only for the
special rotation):
- Alliances disabled (low probability)
- x2 gold multiplier (low probability)

Would be nice to squeeze this into v30, last minute?

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [X] I have added relevant tests to the test directory
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

FloPinguin
2026-03-09 21:13:13 -07:00
evanpelle 08836e2a57 Merge branch 'v29' v0.30.0-beta3 2026-03-09 17:31:04 -07:00
evanpelle 2f7b41c53d bugfix: add 'Basic' to the otel auth header v0.29.21 2026-03-09 17:30:42 -07:00
evanpelle aa24438edf Fix slider focus stealing keyboard shortcuts after interaction 2026-03-09 16:53:30 -07:00
evanpelle 27476b8938 Move language selector flag from navbar to footer, display in natural colors and sized responsively. 2026-03-09 15:49:52 -07:00
Evan f1478a3071 run map generator to sync generated maps (#3391)
## Description:

The generated map data was out of date

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
2026-03-09 15:25:45 -07:00
evanpelle fdaeaf66d0 bugfix: invalid banned word caused PrivilegeRefresher to fail to load 2026-03-09 14:46:42 -07:00
evanpelle eeb63f651a Merge branch 'v29' 2026-03-09 14:37:35 -07:00
evanpelle ce416f877c bugfix: don't show yellow alert frame when a bot is attacking 2026-03-09 12:41:27 -07:00
evanpelle 76878a91d6 make SOLO button highlight on hover 2026-03-09 09:53:55 -07:00
evanpelle df5fad1a1f meta: reduce train spawn rate to compensate for shared train track update v0.30.0-beta2 2026-03-09 09:45:32 -07:00
evanpelle ebd39e8ced cap attacks panel height and make it scrollable when overflow 2026-03-09 09:44:25 -07:00
Evan 5396931909 add footer ad to homepage (#3385)
Ad a footer ad to the bottom of the homescreen


<img width="1568" height="984" alt="Screenshot 2026-03-08 at 2 28 05 PM"
src="https://github.com/user-attachments/assets/a8009e37-778e-47f0-add8-42885d4f0c11"
/>

<img width="716" height="834" alt="Screenshot 2026-03-08 at 2 28 56 PM"
src="https://github.com/user-attachments/assets/5e910d6a-5019-4e06-ad9a-8980470371ca"
/>

<img width="862" height="834" alt="Screenshot 2026-03-08 at 2 29 31 PM"
src="https://github.com/user-attachments/assets/85e87052-ff7a-4266-8a2d-432831e3c7d6"
/>




## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
2026-03-09 09:31:02 -07:00
RickD004 84ae5fc879 Adds Aegean map (#3384)
## Description:

Adds Aegean map, a map centered in the Aegean Sea and the aegean islands
between Greece and Turkey. Map has approx. 1M land tiles, size of
1600x2000.

Nations are named after Ancient Greece era city-states and tribes.
Elevation source from OpenTopography, already credited

<img width="1600" height="2000" alt="image"
src="https://github.com/user-attachments/assets/e4f52d6e-bba4-4641-9eac-31e3ddee354e"
/>
<img width="453" height="445" alt="Captura de pantalla 2026-03-08
141256"
src="https://github.com/user-attachments/assets/5d2bc8cf-1e54-461a-ae0f-9bb2dafc2db6"
/>

This has been a heavily requested map in the community, having
suggestions in the Discord, Subreddit and even in some videos (for
example i saw Ultimus Rex suggest an aegean map when asked what maps he
would like in his last stream)

The map is designed so that the greek and turkish main landmasses are
around 400,000 pixels in area, which combined account for around less or
equal to 80% of the map. This means players will have to cross the sea
to win, and to do so they will have to hop across the islands, which
means there will be heavy warship action, instead of having stalemates
like in most island maps where the gap between islands is too large and
players would rather bomb each other.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

tri.star1011
2026-03-08 22:05:09 -07:00
evanpelle eeb75342f6 improve game starting modal styling 2026-03-08 22:04:22 -07:00
Evan c63b304a97 various homepage improvements (#3387)
## Description:

Various changes, applied more styling from the homewrecker branch

* dimmed background
* Content width: expands to 24cm on 2xl screens
* game card ocean color: French blue → sky-950
* Action buttons (Create/Ranked/Join): French blue → slate-700
* Modifier badges: teal → sky blue, to keep in color scheme
* CTA buttons (Start Game, Join Lobby): blue-600 → sky-600 across all
modals and <o-button>
* Nav font: font-bold tracking-widest → font-medium tracking-wider
* Username/flag inputs: font weight lightened to font-medium
tracking-wider
* Language flag: blue color filter applied


BEFORE:


<img width="1446" height="978" alt="Screenshot 2026-03-08 at 6 48 57 PM"
src="https://github.com/user-attachments/assets/ff748e1c-6cb5-4a66-ac27-9538e935b325"
/>

AFTER:

<img width="1629" height="988" alt="Screenshot 2026-03-08 at 6 46 53 PM"
src="https://github.com/user-attachments/assets/364bb57a-65ff-40cf-931b-067ed36e3c5b"
/>


## Please complete the following:


- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
2026-03-08 19:00:24 -07:00
RickD004 df62251d3a Add San Francisco map (#3373)
## Description:

Adds San Francisco bay map. 21 nations based on cities and towns of the
area. 1.8M land pixels , size of 2000x1700
Elevation data from Opentopography, already credited. 
Map frequency of 3, as to mirror New York map.

<img width="2000" height="1700" alt="image"
src="https://github.com/user-attachments/assets/dc80a2db-6233-4b50-8f07-bd21c23c8b53"
/>

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

tri.star1011
2026-03-07 20:51:59 -08:00
Damien Gustave b648b102fa feat(chat): add stop trading with all chat option (#3362)
## Description:

Adds a quick chat option to ask a player to stop trading with all. I
wrote it in double quote to inform this is an option as I think most of
the players do not even know about this option.

<img width="892" height="554" alt="image"
src="https://github.com/user-attachments/assets/5a9330f4-e07c-4dd7-a1f2-a1e0e6508f90"
/>

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

```
.delovan
```
2026-03-07 20:38:37 -08:00