Commit Graph

511 Commits

Author SHA1 Message Date
Aotumuri 4c13a00db2 Merge branch 'openfrontio:main' into custom-flag 2025-04-20 08:06:34 +09:00
Max Dohme 9aa933b676 Add live update for player menu (#511)
## Description:

UX Improvement - Make the player menu options update live, like
donations and re-offering alliance if it was rejected previously. Now
player doesn't have to keep re-opening the menu to see the options
updated.

Fixes #521 

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

eyeseeem

---------

Co-authored-by: Max Dohme <max.dohme@gmail.com>
Co-authored-by: Scott Anderson <scottanderson@users.noreply.github.com>
Co-authored-by: APuddle210 <david.eskin@gmail.com>
2025-04-17 14:21:16 -07:00
Evan 13fe8b9e39 detect and punish multi-tabbing 2025-04-16 14:33:54 -07:00
Evan 9db5924d33 remove patreon from winmodal 2025-04-15 21:05:03 -07:00
Evan 4e2f61a792 fix boat trail on alternate view 2025-04-15 20:56:58 -07:00
Evan 8658fd0ff9 bufix: paint unit sprites correctly on alternate view 2025-04-15 20:46:59 -07:00
Scott Anderson 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
Max Dohme 1ed3d50eb1 Add right-click on radial menu to close (#509)
## Description:

UX Improvement - Add right-click on radial menu to close it, instead of
having to click outside the menu.

Fixes #520 

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

eyeseeem

Co-authored-by: Max Dohme <max.dohme@gmail.com>
2025-04-15 18:28:22 -07:00
Loymdayddaud b70a368f9b small grammar fix (#437)
## Description:
Removed a comma where it shouldn't be.

Fixes #463 

## 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:
N/A
2025-04-15 18:26:00 -07:00
Readixyee a8c87e3bf1 Sprite system (#512)
## Description:

This adds the spriteLoader that loads and caches sprites to be used in
the unitlayer for rendering units as well as sprites for all units and
an alternative mirv sprite to show what can be done using sprites

color codes for grayscaled sprites:
b4b4b4 = territory color
464646 = border color
828282 = spawnhighlight color

The sprites are grayscaled and recolored to have a single base png for
all units

Fixes #505 

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

Readix
2025-04-15 11:41:06 -07:00
Max Dohme 6d295fe0f6 Fix screen bounds calculation and transform (#514)
## Description:

UX Improvement - Make view properly transform to actual player position.
Required a fix of the screen bounds calculation, which was using the
full screen size, instead of the current window size.

Fixes #519 

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

eyeseeem

Co-authored-by: Max Dohme <max.dohme@gmail.com>
2025-04-14 19:11:08 -07:00
Aotumuri 3eccbaa982 Added User Settings Modal (#379)
## Description:

This PR adds a **User Settings** modal accessible from the main UI.

Currently available settings include:
- Toggle for Dark Mode
- Writing Speed Multiplier (slider)
- Bug Count (number input)
-  Troop and Worker Ratio (slider)
-  Left Click to Open Menu
-  Emoji toggle

Settings are saved via `localStorage` and persist across sessions.
There's also a hidden Easter Egg...

https://discord.com/channels/1284581928254701718/1286741605310533653/1355900228712009908
<img width="787" alt="スクリーンショット 2025-03-31 8 40 08"
src="https://github.com/user-attachments/assets/a9943834-cf40-4fa6-b828-06a8476172da"
/>

Fixes #482 

## 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>
aotumuri
2025-04-14 11:47:50 -07:00
Aotumuri 9bf6c6d010 fixed 2025-04-13 07:28:51 +09:00
Aotumuri 9b941ce179 commit pack
fix

add a lot of layers!

lock color

added layer

added admin_contributors

add layer and fix bug

add max layer

add layer

fix size

add eu_star

add check layer permission

add role layer

add color

add rocket

fixed bug

add animetion

added tool tip

added later

updated!

added layer and fixed code

add flower
2025-04-13 07:17:22 +09:00
Evan d1da506201 update win modal to link to patreon, create game mode rotation 2025-04-09 19:56:52 -07:00
Aotumuri d22411861a Merge branch 'openfrontio:main' into custom-flag 2025-04-07 08:22:37 +09:00
Aotumuri c10a83c5ca test 2025-04-07 07:35:29 +09:00
Evan 15c2cc192f disable hover highlight due to performance issues. 2025-04-06 12:24:57 -07:00
Evan 08c2c01dae bugfix: flags not showing in game 2025-04-06 10:27:52 -07:00
Evan 952a2568aa Make territory highlighting more efficient 2025-04-06 09:43:33 -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
Evan 0dbc246a63 reduce transport frequency for fakehumanexecution, make transport render more efficient 2025-04-05 17:14:56 -07:00
Evan d560e90486 reduce refresh rate for smoother terrain rendering 2025-04-05 15:00:24 -07:00
Evan d2c455f9d2 smooth image when zoomed out 2025-04-05 14:47:54 -07:00
Evan 5fec71481d repaint overlapping trails when transport ship dies 2025-04-05 13:57:18 -07:00
Evan 7050a5816d render transport ships on main unit canvas so it doesn't erase tails 2025-04-05 13:37:49 -07:00
Evan 09ec87e335 render transportship on seperate canvas so other ships don't eat its tail 2025-04-05 11:41:36 -07:00
Evan 21752aa214 add perf improvements: don't draw full boat tail, make nukes calculations slightly more efficient 2025-04-05 10:10:15 -07:00
Evan 9fe64c15a8 update GameStartingModal imports to fix build 2025-04-04 10:19:54 -07:00
kanekane0448 a97a608dce Add Alt + Click hotkey for sending emotes (#408)
## Description:

Allows the player to Alt + Click to send emotes to other players or
themself in order to ease communication.
Of course, the hotkey can be something different. Alt + Click is just a
suggestion.


![image](https://github.com/user-attachments/assets/9762c4f0-f62d-4c39-ba35-468ac3f5ddaa)

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

kanekane0448

PS: The new emoji table looks really good!

---------

Co-authored-by: kanekane0448 <no@mail.pls>
2025-04-04 10:15:59 -07:00
Evan 9d1b4f35e4 bugfix: SpawnExecution was not attaching PlayerExecution to humans
bugfix: WinModal was saying player died even if they hadn't spawned

added hasSpawned() method to player
2025-04-03 20:12:36 -07:00
jacks0n 7a38d009d9 Hide wrongly displayed "Hide" button on main page (#403)
## Description:
A previous commit made the "Hide" button of the event log visible on the
main page. This hides it again, as before.

![image](https://github.com/user-attachments/assets/83e7dbe8-9af7-4719-8c74-f89076345a4a)

## 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>
jacks0n
2025-04-03 16:01:50 -07:00
Evan 950344c0bd created prestart message: add 2 second delay before starting public games to allow all players to connect 2025-04-03 15:42:25 -07:00
MRH 71b43de1c6 Locked focus/highlighting option (#387)
## Description:

I've added the option to toggle the Territory highlighting focus from
the current behaviour where the focus set by the currently hovered
player, to "locked focus" which will always focus/highlight your player
territory.

While the highlighting is very helpful to identify your own borders,
especially if you share borders with a player with the same colors, I
find it very distracting, and makes the game feel laggy.

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

mrh0


![image](https://github.com/user-attachments/assets/aa427233-425d-487e-bfe5-42b390561ab7)

![image](https://github.com/user-attachments/assets/f9a065a3-0fcf-481f-888d-b5781e3717c1)
2025-04-02 18:09:33 -07:00
Scott Anderson 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 ddbb536918 add teams progress to spawnbar 2025-04-02 12:57:46 -07:00
Poddster 90cb238b25 Resort emoji table, added 👑🏡🛡️🎯🐔🤌, removed 🤙 (#400)
## Description:

I found the old emoji table hard to use in the heat of combat, so I:

1. Reordered it, focusing on putting the arrows in a logical
orientation, and each other emoji in some kind of cohesive group.
2. Replace a duplicated 😭 with 👑, useful for telling the idiots
attacking you to instead attack the crown, otherwise you'd both dead.
3. Added 🏡🛡️🎯 as I thought they would be useful for mocking/hinting to
other payers about ports/warships/cities/defence posts, despite making
the table one line longer. The target was mainly added to put something
in the middle of the new arrow keypad-layout.
4. Replaced 🤙 with 🐔🤌. I feel 👍👎 already does what  does, so remove it
to make space for something else: another insult (🐔). I've never seen
'call me' (🤙) used in-game, or even know what it means in the context of
the game. But chef's kiss 🤌 is meme-worthy and fun to send to other
players.

old: 

![Image](https://github.com/user-attachments/assets/75816197-8d5e-4aee-989f-94207f9ab3ec)

new:

![Image](https://github.com/user-attachments/assets/5fd14788-dc16-4744-ab4e-7b3942ad8694)

See #399 

I've given this a try and I find it much easier to locate and send the
kind of emoji I want. The only real oddity are the hearts being all the
way down there. But they weren't even together last time, so it's still
an improvement.


## Please complete the following:

- [] I have added screenshots for all UI updates
- [] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [] 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:

`poddster` aka `Pod#7003` in the old system
2025-04-02 10:24:14 -07:00
Quentin Siruguet 8de3a5f106 Add notifications for troops attacking wilderness (#363)
+Retreat cost no soldiers when coming back from wilderness
+ Also work with contamined area


![image](https://github.com/user-attachments/assets/6dda168c-aade-4ba5-ac2a-6de028fbaf6d)

![image](https://github.com/user-attachments/assets/89966516-e86d-4d06-8b32-3bf36179eea1)


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

quentin.qsi
2025-04-02 08:37:58 -07:00
Evan 57f20746bc make bottom radial ally/traitor button 2025-03-31 13:33:10 -07:00
Evan 8b6895d745 add prettier import plugin 2025-03-31 13:09:27 -07:00
Aotumuri 745017aee2 Added Gold & Troop donate button (#373)
## 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

Changed the icon for the troop donation button, as it looked like it was
donating gold.
I replaced it with a soldier icon to better reflect its function.
Additionally, I updated the icon below it to clearly represent gold
donation instead.

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

The cat is because of an extension I have put in. Please ignore it.
<img width="345" alt="スクリーンショット 2025-03-30 10 13 06"
src="https://github.com/user-attachments/assets/9088be1a-57b4-4d10-9507-ca8dc0fcc68c"
/>
<img width="396" alt="スクリーンショット 2025-03-30 10 18 10"
src="https://github.com/user-attachments/assets/2555fd24-0bbc-4b40-8f80-ccf43a1e9a75"
/>

---------

Co-authored-by: Evan <evanpelle@gmail.com>
2025-03-31 10:51:05 -07:00
Readixyee ebdaa3c950 Border highlight rework (#385)
## Description:

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

Readix
2025-03-31 10:24:55 -07:00
evanpelle 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
Readixyee 0891637eb2 MissileSilo cooldown (#309)
changed the sam cooldown to be a general cooldown function and added a
missilesilo cooldown

The function either adds the current tick as the starting point of the
cooldown or sets the cooldown to null and updates the unit. That way
getcooldown function can be used to get back the tick the cooldown was
started and can be compared to the cooldown set in the config.

changed the sam test / added a missilesilo test

---------

Co-authored-by: evanpelle <evanpelle@gmail.com>
2025-03-29 15:19:07 -07:00
tropptr-torrptrop 72016f3dd4 Focused player border highlight (#304)
Tried to implement feature to outline player under mouse cursor.
Intention is to improve gameplay and provide a way to estimate players
territories for strategic planning / avoid attacking wrong players with
confusingly similar colors.

When you stop cursor at the player - his borders will be drawn in white
color.
To focus on other player - click or move cursor to other player. 
To hide outline - click on empty space (water, land). 
"Focus" UI feature also triggers outline for the target player (easier
to see who exactly is that you are looking at).


![1](https://github.com/user-attachments/assets/f7bda876-4b20-456c-9463-d2cfbb53ad5a)

![2](https://github.com/user-attachments/assets/f5cd6d12-fd52-4890-b3ee-caba9ff17753)
![FUN 2025-03-20 23 06
23](https://github.com/user-attachments/assets/f0e6e343-9442-4d89-9b7a-4bd01c6e00d0)
![FUN 2025-03-20 23 07
51](https://github.com/user-attachments/assets/2cc748e1-bc66-4834-82ad-22a4184a3006)


Done via getting player under mouse cursor, setting it as global
focusedPlayer and painting borders in white color.
Tried to maintain minimal changes and utilize existing rendering queue.
Also added hover delays to avoid excessive redraws and provide better
experience. Redraws only happens when focusedPlayer changes - one time
for old focused player to clean outline and one time for new focused
player.
2025-03-29 14:41:28 -07:00
Ilan Schemoul c890ae1507 feat: message to explain debuff to traitors (#351) 2025-03-28 17:37:47 -07:00
evanpelle d8fe41de7a teams (#349) 2025-03-27 20:43:56 -07:00
Evan b8e750e31e bugfix: SAM launcher in build menu when disable nukes set 2025-03-26 17:05:06 -07:00
Readixyee 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
Aotumuri f188af6029 Added SAM icon due to missing asset (#318)
There was a report on Discord about the SAM icon not displaying
correctly.

https://discord.com/channels/1284581928254701718/1353348395506466937/1353348395506466937
After checking the CSS, I found that it was referencing a non-existent
path.
Since there was no dedicated image for the SAM, I created a custom one
to replace it.

Let me know if any adjustments are needed!
Thank you!
<img width="324" alt="スクリーンショット 2025-03-23 22 53 38"
src="https://github.com/user-attachments/assets/157f9b70-615c-4454-baaf-7f0c33e98ecf"
/>
<img width="759" alt="スクリーンショット 2025-03-23 22 42 33"
src="https://github.com/user-attachments/assets/35f3ea51-5804-4007-8e8d-40659f47276a"
/>
2025-03-24 15:47:07 -07:00