Commit Graph

925 Commits

Author SHA1 Message Date
1brucben 10ac6cb54b cap hospital at 40% bonus 2025-06-04 19:41:47 +02:00
1brucben 90baeda59a boost hospitals 2025-06-04 18:07:58 +02:00
1brucben 65b19dd236 c1.1 2025-06-04 17:49:19 +02:00
1brucben 97891d019f hospitals change 2025-06-03 20:59:43 +02:00
1brucben 9f46efe2a0 hospital adjust 2025-06-03 20:58:26 +02:00
1brucben 426653eab5 Adjust hospital 2025-06-03 19:51:44 +02:00
1brucben fe10240a5d bug fix 2025-06-03 19:03:14 +02:00
1brucben cc9ad11aff add hospital unit 2025-06-03 18:22:03 +02:00
Doo 8f85b94334 Fixnukeboatbug (#1011)
## Description:
Fixes : https://github.com/openfrontio/OpenFrontIO/issues/958
Use the actual troop count on the boat unit when it lands, not the
original this.troops value.
Tested locally with all nukes type and it works fine.



## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

.doo

---------

Co-authored-by: rldtech <r.le-disez+oplab@groupeonepoint.com>
Co-authored-by: tnhnblgl <51187395+tnhnblgl@users.noreply.github.com>
2025-06-03 16:50:55 +02:00
evanpelle 55e232435f fix build errors due to bad merge 2025-06-03 16:50:45 +02:00
Scott Anderson 3d032192e1 Validate incoming API data with zod (#891)
## Description:

Validate incoming API data with zod.

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-06-03 16:50:34 +02:00
Théodore Léon 8dc6941fe7 Fix : Donation when max pop already reached (#904)
## Description:

Only donate up to what the receiving player can get so we don't silently
loose troops

See the chat here :

![image](https://github.com/user-attachments/assets/95b0917c-b7f3-47a0-b3a0-156110e727aa)


## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

theodoreleon.aetarax

---------

Co-authored-by: tnhnblgl <51187395+tnhnblgl@users.noreply.github.com>
2025-06-03 16:50:28 +02:00
Scott Anderson e763ade705 Use bigint for gold (#1000) 2025-06-03 16:50:11 +02:00
Scott Anderson bb5b064555 Equalize team sizes (#992)
## Description:

Ensure that team sizes are equal.

Closes #841

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-06-03 16:41:55 +02:00
1brucben 1cc4827a77 nerf port gold again 2025-06-02 23:40:01 +02:00
1brucben a2c1e41d86 lower attacker losses 2025-06-02 22:45:21 +02:00
1brucben 2ffc3e7f9a restore worker 2025-06-02 18:27:52 +02:00
1brucben a83d0cd4ac remove shield. adjust natoins 2025-06-02 18:08:42 +02:00
1brucben 5d9f10e00e eliminate worker growth 2025-06-02 18:04:24 +02:00
1brucben 3b7eb2057c slight speed boost 2025-06-02 17:27:05 +02:00
1brucben a73ba83191 reduce port spawns 2025-06-02 17:23:19 +02:00
1brucben 23cdd00537 fix NA in ratio 2025-06-02 02:38:24 +02:00
1brucben e5ddac26f3 fix exponent 2025-06-01 23:24:01 +02:00
1brucben c1de357366 raise traitor duration 2025-06-01 22:24:35 +02:00
1brucben e66475d872 raise traitor duration 2025-06-01 22:23:34 +02:00
1brucben 5590a4e41e slow fallout attacks 2025-06-01 22:06:29 +02:00
1brucben 421a940252 nerf bot speed more 2025-06-01 21:56:59 +02:00
1brucben bbc774753e nerf bots. revert pop formula 2025-06-01 21:55:26 +02:00
1brucben 2e0d8242e2 Balance Update (#996)
## Description:
This update does the following:

slight nerf to gold production by large players
Speed boost for very large attacks
5% speed buff for mountains
Defense post boost
small trade ship spawn rate increase
attack losses up 20% for all attacks
small speed effect boost for defense posts
20% population growth decrease for large players
nerfed worker growth boost slightly
nerfed troop/worker conversion rate
## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

1brucben
2025-06-01 09:25:03 -07:00
evanpelle dfea816bff make bots weaker (#985)
## Description:
I believe many of the complains of the game being too slow in the
beginning is due to bots being stronger in v23 than v22. This PR weakens
bots significants and it feels much closer to v22.

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

<DISCORD USERNAME>
2025-05-31 18:11:02 -07:00
1brucben 05a2338fea Another Balance Change (#987)
## Description:
Reduces attack speed for large attacks. A further 10% increase in
attacker losses. minor 5% decrease in pop growth. Attacks against Terra
Nullius fade away as in v22.

This addresses the community poll finding that many players consider
current troop movements to be too fast. The latter two changes help nerf
attacking and slowdown snowballing.
## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

1brucben
2025-05-31 18:06:27 -07:00
Duwibi 03d11eb941 Cap lobby sizes at 150 (#984)
## Description:
Currenly, it's possible for the World map to reach 225 players. This PR
caps it at just 150.

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

<DISCORD USERNAME>
Nikola123
2025-05-31 18:44:38 -04:00
1brucben 9c4317a444 Prevent Attack Spam (#977)
## Description:
This PR assigns a small cost (1% of population) to creating each new
attack. This nerfs the strategy of spamming 1% size attacks against an
enemy to max pop growth and encourages more normal >10% attack sizes.
## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

1brucben
2025-05-31 14:53:45 -07:00
1brucben 46ac079491 Balance Adjustment for Attack Mechanism (#973)
## Description:
Original playtests mainly focused on balancing speed. This PR adjusts
attack losses further upwards for all terrain types by around 10%. Pop
growth is decreased by around 10% to slightly slow game tempo. Worker
growth boost is also weakened a bit to nerf super low troop meta
beginning. Slight 10% speed nerf at higher attack sizes. Port spawn rate
boosted.
## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

1brucben
2025-05-31 11:11:43 -07:00
Scott Anderson 15cd1e9ae9 Fix discord user schema (#969)
## Description:

Update the discord user zod schema to address login failures for users
without avatars.

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-05-31 11:09:17 -07:00
1brucben 9ad2cfaffd change defaults to reflect meta (#942)
## Description:
Changes default target troop ratio and attack size to reflect better
early game strategies in v23
## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

1brucben
2025-05-30 13:22:50 -07:00
Scott Anderson 2a3240da1c Server role lookup (#954)
## Description:

- Validate that user tokens are accepted by the API server, in case of
token revoked / remote logout.
- Lookup user roles by their token.
- Sets the groundwork for validating custom flag codes, patterns, etc.

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-05-30 09:10:00 -07:00
Scott Anderson 32f5723c72 Simplify bots retaliation logic (#946)
## Description:

Simplify bots retaliation logic. Do not counter-attack before reaching
the trigger ratio.

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-05-29 17:53:18 -07:00
Scott Anderson a1a4b22351 Set singleplayer gitCommit in the client (#945)
## Description:

Set singleplayer gitCommit in the client

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-05-29 16:47:28 -07:00
falc 9471fdaf1f improved perfomance of PseudoRandom (#933)
## Description:
Added  XorShift algo for better random number generation
## Please complete the following:

- [x] I have added screenshots for all UI updates
- [ ] I have added relevant tests to the test directory
- [x] I process any text displayed to the user through translateText()
and i've added it to the en.json file
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

@qqkedsi

![Screenshot from 2025-05-29
00-25-20](https://github.com/user-attachments/assets/7e748c7f-3bc2-4275-8ffd-9adf3a224064)

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-05-29 15:16:35 -07:00
evanpelle 15519b95c8 fix warship targetting range (#938)
## Description:
A warship refactor caused a regressions where warships could attack at
any distance. Also refactored & simplified the trade ship logic.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

<DISCORD USERNAME>
2025-05-28 17:26:13 -07:00
1brucben 5136f8edc2 Meta Adjustments from [UN] clan test (#932)
## Description:
The changes seem necessary to reduce snowballing in v23 and strengthen
ports.
## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

1brucben
2025-05-28 13:59:20 -07:00
evanpelle 5446620788 fix null vs undefined trade ship check 2025-05-28 11:40:37 -07:00
evanpelle 4fa31acc51 Revert tradeship path caching (#927)
## Description:
The path caching was causing bugs, sometimes they wouldn't get removed,
sometimes they would go in circles. Deleting the cache so we can deploy
v23.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

<DISCORD USERNAME>
2025-05-28 11:17:37 -07:00
Scott Anderson 40932b9f5f Fix bigint serialization error (#916)
## Description:

- JSON serialization, bigint to string handling
- JSON deserialization, string to bigint handling

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-05-28 10:33:20 -07:00
Scott Anderson 7926267791 Always delete tradeship on pathfinding fail (#921)
Fixes #912

## Description:

Always delete tradeship on pathfinding fail

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [ ] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-05-28 10:32:22 -07:00
DevelopingTom b6596c88ee Improve territory drawing performances (#696)
## Description:
Territory drawing are computing the same information for each pixel
drawn.
A few fixes can noticably improve the performances:
### Caching colors
some colors are computed each time they are retrieved, and according to
the profiler the border color is the most expensive to compute each
frame:


![image](https://github.com/user-attachments/assets/147c2e9d-0ce2-4859-92de-c6f99b763642)


This PR adds a cache for this color. The other colors have almost no
impact on performance, so there's no need to cache them.

After caching:

![image](https://github.com/user-attachments/assets/7b2601b2-19c9-4535-8315-6b2fe328731f)

### Retrieving player info
Drawing the player territory leads to unecessary and expensive data
gathering, such as the anonymous name list:

![442410324-2e7dbcc9-e7ba-4051-b38f-3ae57cb072e8](https://github.com/user-attachments/assets/67894616-ecec-4748-85f9-9f665c58aab1)

Instead, after retrieving the proper data directly:

![442410386-0eaffd72-045d-40b7-96c3-e04030de3d40](https://github.com/user-attachments/assets/ff59f988-9f80-4f52-b972-a155d6ae94dd)


## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

IngloriousTom
2025-05-28 00:43:33 -04:00
evanpelle 6e6fb2db3a remove known world (#914)
## Description:
Remove known world map to avoid copyright infringement.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

<DISCORD USERNAME>
2025-05-27 20:08:15 -07:00
Scott Anderson 6b9879e072 floor (#913)
## Description:

Floor values before converting to bigint.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [ ] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-05-27 20:03:30 -07:00
Scott Anderson 8cf2d86a70 Convert stats to bigints (#909)
Fixes #880

## Description:

Convert numeric stat types to bigint, and serialize those values as
strings.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [ ] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-05-27 19:13:05 -07:00