Commit Graph

42 Commits

Author SHA1 Message Date
Max Lundgren 13fd2743ed #1086 prevent clicking on other structures than your own (#1087)
## Description:
Prevent opening UnitInfoModal for other structures than your own

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

maxion_
2025-06-07 12:09:30 -07:00
Scott Anderson da862a1ec9 bug: Clicking out of bounds throws uncaught exception (#920)
## Description:

Fix invalid tile error when clicking out of bounds.

## 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 05:09:15 -04:00
Aotumuri 0b79d0be16 Unit menu (#867)
## Description:
We are adding a modal to display information about a unit.
![スクリーンショット 2025-05-25 7 45
14](https://github.com/user-attachments/assets/736262cd-6070-4a27-b58c-e85f9a02df75)

In the future, this modal will likely include buttons for upgrading or
dismantling the unit.
## 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:
aotumuri
2025-05-27 21:47:50 -04:00
Scott Anderson 70745faac4 Enable strictNullChecks, eqeqeq (#436)
## Description:

Improve type safety and runtime correctness by:
1. Enabling TypeScript's
[strictNullChecks](https://www.typescriptlang.org/tsconfig/#strictNullChecks)
compiler option.
2. Replacing all loose equality operators (`==` and `!=`) with strict
equality operators (`===` and `!==`).
3. Cleaning up of type declarations, null handling logic, and equality
expressions throughout the project.

Currently, the code allows implicit assumptions that `null` and
`undefined` are interchangeable, and relies on type-coercing equality
checks that can introduce subtle bugs. These practices make it difficult
to reason about when values may be absent and hinder the effectiveness
of static analysis.

Migrating to strict null checks and enforcing strict equality
comparisons will clarify intent, reduce bugs, and make the codebase
safer and easier to maintain.

Fixes #466 

## 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>
Co-authored-by: evanpelle <openfrontio@gmail.com>
2025-05-15 16:39:40 -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 8b6895d745 add prettier import plugin 2025-03-31 13:09:27 -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
evanpelle d8fe41de7a teams (#349) 2025-03-27 20:43:56 -07:00
MRH 6a82b8eefc Improved structure legibility (#332)
Updated structure icon border rendering to improve legibility, I often
find that I miss important enemy structures like SAM launchers as they
share a similar icon to many other structures.

Supported shapes:
- Square (SAM, Missile)
- Round (City, Port)
- Hexagon (Defense post)
- Diamond (not used, square rotated 45deg)


![image](https://github.com/user-attachments/assets/85e70f6a-b9d1-4837-b3fb-230d752675db)
2025-03-24 15:34:14 -07:00
MRH 5a1451b430 Improved options panel (#328)
Minor improvements to options-panel and player info panel.

- Improved time display
- Added margin to align with leaderboard
- Better option button layout
- Added flag to player info


![image](https://github.com/user-attachments/assets/b51c8239-caf5-4526-97ac-a33a9d22eff2)
2025-03-24 10:42:49 -07:00
Ilan Schemoul 24f25d677a sam is red when reloading (#268) 2025-03-18 14:16:02 -07:00
evanpelle 4c372b3877 fix build error importing image from extra, rename Extra=>extra (#212) 2025-03-11 08:33:58 -07:00
Ilan Schemoul 04833caf4d fix: crash because wrong path (#210) 2025-03-10 17:24:56 -07:00
Readixyee 84951fed9f Sam anti nuke missile launcher (#176)
now with better name

---------

Co-authored-by: evanpelle <evanpelle@gmail.com>
2025-03-09 13:25:51 -07:00
Ilan Schemoul afe4f85919 fix: warship icon (#178) 2025-03-08 10:27:16 -08:00
UnBuiltTree 919e6ff9a4 Icon adjustments 3 2025-03-06 20:01:29 -06:00
UnBuiltTree 7b93bc8038 Fort Icon Alt2 2025-03-06 08:30:01 -06:00
UnBuiltTree aa85da97d3 Icon Adjustments 2025-03-06 08:19:36 -06:00
UnBuiltTree 89326baa37 Updated StructureLayer and GameMap for Remake of Icons, added extra building png icons resources. 2025-03-05 21:29:19 -06:00
Evan 40966ca3b9 format all files with prettier 2025-02-12 08:28:15 -08:00
Evan b3e1b44426 use pngs instead of svgs for structure icons. StructureLayer interates through the image so it needs pixels 2025-02-10 16:27:46 -08:00
NewHappyRabbit 9b01f2bb9a Converted and replaced all .png icons with .svg 2025-02-10 07:01:33 +02:00
Evan 1594a45dac have buildings take time to construct 2025-02-08 13:53:58 -08:00
Evan 4ee37323f9 format codebase with prettier 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 4034d11015 split Player/Unit from its Views for better separation 2025-02-01 12:05:11 -08:00
Evan 96ab7e7f11 bugfix: don't render inactive structures 2025-02-01 12:05:11 -08:00
Evan d69a70121f render structures more efficiently 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 f0f5bae79f thread_split: convert all tile to tileref 2025-02-01 12:05:11 -08:00
Evan 459fc50dae builds 2025-02-01 12:05:11 -08:00
Evan 7d04d25e6f thread_split: get units working 2025-02-01 12:05:11 -08:00
Evan 3e8517363f use GameView in renderers 2025-02-01 12:05:11 -08:00
evanpelle fbdf26cff8 alt-r to redraw graphics 2024-12-25 17:07:11 -08:00
evanpelle e068a9afc7 implement cities 2024-12-04 16:27:07 -08:00
Evan d133092317 create defense post 2024-12-01 19:54:04 -08:00
Evan e7039d3e07 add defense post unit (no execution) 2024-11-30 20:54:42 -08:00
Evan 982caa3b23 use drawRect instead of putimagedata for units (25% cpu usage reduction) 2024-11-26 13:16:23 -08:00
Evan 9bfdab083c make structure background translucent 2024-11-20 20:47:31 -08:00
Evan e26230275b add missile silo 2024-11-16 11:45:28 -08:00
evanpelle d3d0651659 can capture and destroy ports 2024-11-15 20:43:15 -08:00
Evan 5456988709 Create StructureLayer 2024-11-15 20:43:15 -08:00