## 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>
## Description:
This should fix the exploit that allows players to send custom text as
an "emoji". It does this by introducing a emoji ID (index into the emoji
table) instead of sending the raw emoji as a string.
## Please complete the following:
- [ ] 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:
PilkeySEK
## 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.

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

new:

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