Commit Graph
94 Commits
Author SHA1 Message Date
evan eed489a551 bugfix: make sure to add teams before assigning players, this caused all team games to have only two teams 2025-04-27 20:39:24 -07:00
evan 94c499a5e5 fix teams mode on private multiplayer games 2025-04-24 07:47:08 -07:00
Evan ae4f4d3ed6 traitor only lasts 30 seconds, 50% defense debuff 2025-04-17 20:30:52 -07:00
5167f67b96 Allow up to seven teams for players (#445)
## Description:

- Allow up to seven teams for players, and one for bots.
- Add team count selection to the single player dialog.
- Select random number of teams in server rotation.

Fixes #456

## 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


![image](https://github.com/user-attachments/assets/cbc1ba82-9d06-4763-896c-abdce067a161)


![image](https://github.com/user-attachments/assets/9f82a0a5-c0bb-49b6-a714-2b13286a64ca)

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

fake.neo

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-04-15 19:02:58 -07:00
Evan c7356a7348 have Team be an enum instead of an object, this was causing equality problems. 2025-04-05 21:39:12 -07:00
729920bdca Avoid sqrt for euclideanDist function (#395)
## Description:

In most cases we do not need to solve for the hypotenuse length and can
do math directly on the square of the hypotenuse. For example, the
common use case for calculating euclidean distance is to check if two
points are within a certain distance of each other. In this case,
`Math.sqrt(x*x + y*y) < d` can be rewritten as `x*x + y*y < d*d`.

## 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:

fake.neo

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-04-05 10:17:29 -07:00
Evan 924ca2c69e bugfix: humans start with zero troops on teams, also removed manpower argument to addPlayer() 2025-04-04 10:03:00 -07:00
Evan a3a05f9ed2 bugfix: start troops were set at zero, username was not set in singleplayer 2025-04-03 20:02:22 -07:00
52f64db6d3 Fix various ESLint violations (#402)
## Description:

Fixes a number of ESLint violations. Although I have tested these
changes through the local dev server, I don't have a high confidence
that the testing is sufficient, as I am new to this codebase. This
change would benefit from heightened scrutiny.

## 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:

fake.neo

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-04-02 18:06:08 -07:00
Evan 8b6895d745 add prettier import plugin 2025-03-31 13:09:27 -07:00
evanpelleandGitHub 6d5f218a44 sort teams based on clans (#381)
## Description:
Teams are not sorted based on clans, clan members always stay on the
same team.

## 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-03-30 19:37:48 -07:00
evanpelleandGitHub ab3f4fbac1 All players must join game before spawn (#380)
## Description:
The server stores all players that have joined, and once the game starts
it sends a list of players to all clients. Players cannot join after the
game has started. Server now generated the PlayerID instead of the
client.

The is necessary for team mode, we need to know how who is playing the
game before it starts so we can properly assign teams based on clans.

## 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:

evan
2025-03-30 17:04:29 -07:00
Evan ec0d635a9b single color for read and blue, put bots in their own team 2025-03-28 13:42:53 -07:00
evanpelleandGitHub d8fe41de7a teams (#349) 2025-03-27 20:43:56 -07:00
ReadixyeeandGitHub 6b07446965 unitgrid instead of defensepostgrid (#265)
added a unitgrid instead of a defensepostgrid for all units to be able
to see if a tile is inside the range of a unit by a custom distance

this is used for the sam launcher to draw a circle around the area it
protects

removed all parts that use the defensepostgrid and made it use the
unitgrid instead
2025-03-26 10:00:37 -07:00
ilan schemoul 1b76c46bc5 feat: remove LocalPersistantStats so we locally save GameRecords
GameRecords also now include PlayerStats
2025-03-08 17:39:41 +01:00
BeGj 619891741f linting 2025-03-07 16:53:10 +00:00
ilan schemoul e45c4b5ba4 refactor: remove comment outdated 2025-03-02 22:30:38 +01:00
ilan schemoul fc7b08402f feat: stats system to see number of nukes sent by a player in PlayerPanel 2025-03-02 21:41:00 +01:00
Evan ff33c2db50 have server check hashes, crash game if out of sync 2025-03-02 09:29:10 -08:00
Evan e0938253df send game hash to server each second 2025-03-02 09:29:10 -08:00
Evan 49ff20ce9a don't lose territory if surrounded at edge of map 2025-02-17 19:58:57 -08:00
Evan 0b9ab34b63 bugfix: events display reported alliance accepted even when it was actually rejected 2025-02-13 09:18:44 -08:00
Evan 40966ca3b9 format all files with prettier 2025-02-12 08:28:15 -08:00
NewHappyRabbit 949f68287e Added flags 2025-02-11 23:34:19 +02:00
Evan 1594a45dac have buildings take time to construct 2025-02-08 13:53:58 -08:00
Evan 0487509c03 reimplement defense posts 2025-02-08 09:56:07 -08:00
Evan bbf72bd14f simply start population calculation 2025-02-03 12:37:04 -08:00
Evan 4ee37323f9 format codebase with prettier 2025-02-01 12:05:11 -08:00
Evan 7325cfc7e6 leaderboard shows percentage non-fallout tiles owned 2025-02-01 12:05:11 -08:00
Evan 7a2f4210ed update win condtion: 80% non fallout tiles 2025-02-01 12:05:11 -08:00
evanpelle 4bbb63fd48 move Game updates to GameUpdate.ts 2025-02-01 12:05:11 -08:00
evanpelle 8f8bf5c3d7 Combine AllianceRequest & MutableAllianceRequest 2025-02-01 12:05:11 -08:00
evanpelle de1dbff570 combine Game & MutableGame 2025-02-01 12:05:11 -08:00
evanpelle 7d15c0c065 combine Player & MutablePlayer interfaces 2025-02-01 12:05:11 -08:00
evanpelle ad06b14388 thread_split: have structure layer draw updated structures 2025-02-01 12:05:11 -08:00
Evan 970845e28f thread_split: send outgoing emoji messages 2025-02-01 12:05:11 -08:00
Evan b91d9d4148 fix bugs from using tilerefs 2025-02-01 12:05:11 -08:00
Evan f0f5bae79f thread_split: convert all tile to tileref 2025-02-01 12:05:11 -08:00
evanpelle c42cc2a9b4 have Game delegate to GameMap for cleaner API 2025-02-01 12:05:11 -08:00
evanpelle a17ae48cd3 use TileRef instead of tile 2025-02-01 12:05:11 -08:00
evanpelle 2068e42982 use GameMap for storage in worker thread 2025-02-01 12:05:11 -08:00
evanpelle b22532d41f use TileRef instead of TerrainTile for astar 2025-02-01 12:05:11 -08:00
evanpelle 05564b7668 make terrain tile load lazily save memory 2025-02-01 12:05:11 -08:00
Evan e76837c75a thread-split events display 2025-02-01 12:05:11 -08:00
Evan 3da6008e9f thread split: get units working 2025-02-01 12:05:11 -08:00
Evan 818fbbdcd5 tile perf improvements 2025-02-01 12:05:11 -08:00
Evan 8c947a9fbf use updates for serializing game updates 2025-02-01 12:05:11 -08:00
Evan 459fc50dae builds 2025-02-01 12:05:11 -08:00
evanpelle 162b6dc349 in progress 2025-02-01 12:05:11 -08:00