Commit Graph

70 Commits

Author SHA1 Message Date
SlamBamActionman 81ceabba13 Add codeword highlighting (#30092)
* Added codeword highlighting

* Updated to support more codeword roles, color is set serverside

* Review feedback

* Change to a Component-based system using SessionSpecific

* Tidied up CanGetState, set Access restrictions on component

* Clean-up

* Makes the injection ignore brackets, restore some codewords, remove "Taste/Touch" from adjectives
2024-08-27 00:42:12 +01:00
Scribbles0 4f9889894b Melee Executions (#30104)
* melee executions

* fix damage bug

* cleanup

* address reviews hopefully

* resistance bypass mechanic

* component changes

* self executions (not finished yet)

* self execs part two

* ok i fixed things (still not finished)

* finish everything

* review stuff

* nuke if (kind = special)

* more review stuffs

* Make suicide system much less hardcoded and make much more use of events

* Fix a dumb bug I introduced

* self execution popups

* Integration tests

* Why did they even take 0.5 blunt damage?

* More consistent integration tests

* Destructive equals true

* Allow it to dirty-dispose

* IS THIS WHAT YOU WANT?

* FRESH AND CLEAN

* modifier to multiplier

* don't jinx the integration tests

* no file-scoped namespace

* Move the rest of execution to shared, create SuicideGhostEvent

* handled

* Get rid of unused code and add a comment

* ghost before suicide

* stop cat suicides

* popup fix + small suicide change

* make it a bit better

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
2024-08-11 14:52:53 +01:00
beck-thompson fdf502c929 Fix typing indicators! (#29492)
* First commit

* Removed pause stuff

* Make the event better

* Forgot to add the comment

* Proto id stuff

* cool comments

* serializer

* Added the time stuff
2024-08-09 17:38:28 +01:00
metalgearsloth 4e6eee2de6
Predict typing indicator (#29551)
It greatly annoys me in the rare instance I do play.
2024-07-25 01:53:55 +02:00
Leon Friedrich 6427cc560e
Make chat & examine systems use FormattedMessage.EscapeText() (#28431) 2024-06-01 18:00:05 +02:00
Pieter-Jan Briers 46ae460a91
Fix sandbox check failure when compiling with latest .NET SDK. (#28077)
Roslyn now compiles char + string with string.Concat(ROS<char>). This means doing ref char -> ROS<char> which is not sandbox safe. Actually fixing this in the sandboxer is difficult so I'm gonna just pass on that for now.
2024-05-18 14:00:23 +02:00
Morb d11e8db9f9
Emotes Menu (#26702)
* Basic emote radial menu

* Move out from corvax

* Move to UI controller & add to top menu bar and key bind

* Make emote play

* Add name localization for emotes

* Localize chat messages

* Fix emote menu

* Add categories localization

* Fixes

* Fix

* Add emotes entity blacklist

* Fix entity whitelist required all logic

* Remove unused wagging emote

* Revert sprite

* Set default texture for emote icon

* Update Resources/keybinds.yml

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2024-05-07 02:19:25 +02:00
Tayrtahn ab2d7626b3
Add clothing equipped/unequipped events (#27155)
* Added ClothingGotEquipped/ClothingGotUnequipped events

* Better version

* Implemented in a few places

* More implementations

* Add ClothingDidEquipped/ClothingDidUnequipped events

(cherry picked from commit 50631f430d62fc413bc8757f8d1e1c4523417816)
2024-04-21 23:45:55 +02:00
Hannah Giovanna Dawson 0df68584e0
Chatfactor: Chat Repository, Admin Commands, Chat Created Events (#26113)
* Chatfactor: Chat Repository, Admin Commands, Chat Created Events

This addition-only PR covers a repository that stores chat messages.
This PR defines what chat messages can be stored, what can be done
with those stored messages, and what events occur when the repository
does things.

This PR also includes to admin commands that show how the repository
will be used for administration purposes at first. Because all chat
messages will be uniquely identified per round (and, as rounds are
uniquely identified, are essentially a GUID) we can delete, amend
or nuke messages.

Note there's no "amend" command right now. The original chatfactor PR
didn't include one, and I'm avoiding further feature bloat with these
chatfactor PRs...

* Remove an event that shouldn't be in this PR

* Resolve PR comments.

* Resolve peak goober moment

* Also make sure we tell the user why if their delete command fails

* Supply a reason if the nukeuserids command is malformed

* Tidy messages

* Some more docstring tidyup

* Imagine tests handling IOC correctly chat

* Imagine tests handling IOC correctly chat

* Resolve PR comments

* Fix goobering with needing to use ToolshedCommand

* In which we bikeshed toolshed

* loud metal pipe sound effect

* One must imagine funny boulder pushing man happy

* Move commands to new folder

* Mald, seethe, cope.

* I hate toolshed I hate toolshed I hate toolshed

* Fix command ftls

* Bit of tidy-up and a YAGNI removal of a get we don't need yet

* Whelp lmao

* UserIDs are in a weird fucky state I didn't anticipate, so I've removed the remove-by-userID command for the time being.

* Rename ChatRepository to ChatRepositorySystem.

* Resolve PR review comments

---------

Co-authored-by: Your Name <you@example.com>
(cherry picked from commit b1136c98d7fde8cf26965817536324b58f192b11)
2024-04-21 22:34:09 +02:00
lzk 26b3a80ab6
Make typing indicator shaded (#26678)
(cherry picked from commit 025107ff5f5d4039544ba9289d1035fc032ea60c)
2024-04-07 14:31:01 +02:00
Hannah Giovanna Dawson 7fbc065147
SS14-17313 Chatfactor: Chat Censorship Systems (#25908)
* SS14-17313 Chat Censorship Systems

Adds some systems to manage chat censorship:

1. No-op: does nothing
2. SimpleCensor: a regex-free censor with a variety of rules to use
3. RegexCensor: a censor that uses regex.

This exposes a singleton backed by a builder pattern (ChatCensor) that
is set up, probably during the code init phase, and then globally available
for your censorship needs.

* Migrate to Shared

* Add a reset function to the builder.

* Resolve PJB's feedback; add unit tests

(cherry picked from commit bf98a6a8bb2a57fb149459d6b053eaaf6abc8cd7)
2024-03-27 18:38:05 +01:00
Julian Giebel c9f4910cb9
News UI overhaul and PDA notifications (#19610)
(cherry picked from commit 0752acdc2ca2db43581e2c0d95a5d96041247bc9)
2024-03-07 01:02:24 +01:00
SlamBamActionman 6991618a45
Add option for character name colors in chat & move coloration to clientside (#24625)
* Adds option to disable character names in chat/speechbubbles

* Moved the coloring of names to clientside

* Move string functions to SharedChatSystem to avoid duplicate code in SpeechBubble.cs

* Changed to be put under Accessibility section

* Cache CVar

(cherry picked from commit 247be5b5c770261544f4e468ea09422efb0f7028)
2024-02-18 22:52:19 +01:00
Kot 937989ca35
Add chat.max_announcement_length cvar (#23571)
* Add announce message length to UI and make a cvar for it

* Update comm console server-side trim to use the cvar

* Rely on the new OnTextChanged event

Because OnKeyBindUp only works for keys that have binds

* Add a similar indicator to nukies' war declaration UI

* Remove message length indicators for now cuz it requires the engine update

* Rename cvar slightly

* Refactor duplicated code to a helper method

* Remove message trimming from *Window class as it's better to live in the BoundUserInterface where the other message handling happens

* Rename to chat.max_announcement_length

(cherry picked from commit 8c5898b0065cd2cf196c0383bc99c57c0f11795b)
2024-01-27 23:40:23 +01:00
Leon Friedrich 8494bd0885 Use ECS prototype-reload events (#22613)
* Use ECS prototype-reload events

* better constructors

* Maybe this fixes tests?
2023-12-22 23:25:35 +01:00
metalgearsloth 47ce5f82f8 Update NetMessage to pass in MemoryStream (#21796) 2023-12-02 20:25:44 +01:00
DrSmugleaf 4257bd2c7e Make all prototype types partial (#21374) 2023-11-12 20:29:57 +01:00
DrSmugleaf 253e012462 Add admin Erase verb, add checkbox to erase from the ban panel (#20985) 2023-10-14 22:19:04 +02:00
gus df6011122f Using capital letter for radio channel prefixes works now (#20846)
Co-authored-by: gus <august.eymann@gmail.ccom>
2023-10-14 22:01:25 +02:00
PHCodes 93c3b03b11
Psionics (#44)
* Psionics

It's a ton of stuff relating to the basic Psionics system and all the powers.

I'm saving this as a bit of a sanity check before moving forward.

Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.

* Cleaned up everything with the word 'Psionic' on it.

Got the psionic chat working. Got some other stuff working

* Some final psionic cleanup.

The last batch of content.

* Update RobustToolbox

* rebased

* Revert "Update RobustToolbox"

This reverts commit c0cf35d03f.

* Update RobustToolbox

* Revert "Update RobustToolbox"

This reverts commit c4dc828df7.

* Update RobustToolbox

* Psionics

It's a ton of stuff relating to the basic Psionics system and all the powers.

I'm saving this as a bit of a sanity check before moving forward.

Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.

* Cleaned up everything with the word 'Psionic' on it.

Got the psionic chat working. Got some other stuff working

* Some final psionic cleanup.

The last batch of content.

* rebased

* Cleaned up everything with the word 'Psionic' on it.

Got the psionic chat working. Got some other stuff working

* Broken Commit

With these changes in place, the unit does not work. Recording them so i don't lose my work.

* Brings it All Together.

Dawn of the final Commit. Rebase completed.

* Update RobustToolbox

* Changed 'Station Events' to 'StationEvents' and cleaned up the Delta-V Events.yml file of duplicate events.

* Delete ghost_roles.yml

Duplicate.

* Update familiars.yml

* Update familiars.yml

* Update GlimmerReactiveSystem.cs

* Makes tinfoil hats craftable.

* Decided I'm not dealing with adding fugitives or Glimmer Wisps right now.

* Psionic invisibility won't work now that Eye component exists. Or at least, the integrator test won't psas.

* Update special.yml

* Added #nyanotrasen code or //Nyanotrasen code to many, many files.

* Properly fixes comments.

---------

Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: PHCodes <47927305+PHCodes@users.noreply.github.com>
Co-authored-by: Debug <sidneymaatman@gmail.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
2023-10-08 20:07:53 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Interrobang01 93f85751f7
Autocapitalize the word I in IC chat (#18633) 2023-08-21 21:43:37 -07:00
Kara 7db8c781e7
Speech verbs & conditional markup modification (#18980) 2023-08-15 13:03:05 -07:00
Vordenburg 7582474f1a
Lint more const string prototypes (#18922) 2023-08-13 20:26:59 -04:00
Nemanja be29cda183
make typing indicators 32x32 (#18976) 2023-08-10 23:10:29 -06:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
HerCoyote23 2a47302f1e
Add secondary prefix for selecting radio channel, '.' (#16964) 2023-07-03 18:55:08 +10:00
router 33f823e6be
Add alternative emotes channel (#15965) 2023-06-26 17:20:08 -04:00
Leon Friedrich a8eee5878a
Misc replay related changes (#17102) 2023-06-05 14:33:49 +10:00
metalgearsloth ae01618874
Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +10:00
metalgearsloth acf79a8209
Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01 71f358a027
Replace `ResourcePath` with `ResPath` (#15308) 2023-04-19 23:39:17 +10:00
Chief-Engineer 88fb6ccebc
Add admin alerts (#13589) 2023-03-23 11:10:49 -04:00
0x6273 72269c7a77
Add AutoEmote comp/system, updates to zombie code (#13932)
* Add AutoEmote comp/system

* Reduce groan chance so it's the same as before

Old code did 0.2 and then 0.5, now it's just one Prob(0.1)

* Fix typo, curTime var, don't log Resolve

* Maybe fix pausing?

* Fix mistake

* Update NextEmoteTime if an auto emote is removed

* Fix stuff

Get CurTime outside update loop
Use MapInit instead of ComponentInit
Fix a typo in a comment
Debug assert prototype ID in RemoveEmote
Do += PausedTime in OnUnpaused
Add prototype as arg to ResetTimer to avoid an indexing
2023-03-02 11:23:56 -08:00
Leon Friedrich 75a559fa55
Update radio prefix parsing (#13777) 2023-02-19 04:27:56 +11:00
Alex Evgrashin ef452b38a9
Audible emotes (#12708)
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
2023-01-25 08:29:41 -08:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
Morb 76f8a7e91e
Lawyer badge changes typing indicator (#13445) 2023-01-12 23:33:57 +11:00
Chief-Engineer 5ece9bd9e8
Modify admin chat (#13050)
* split admin chat into new channel

* add ability to play audio when a chat message is received and add audio to admin chat

* give client control of AdminChat sound and volume + suppress sound for senders
2022-12-19 21:39:01 -06:00
Leon Friedrich 6af331c9ff
Remove StoredChatMessage (#12623) 2022-11-22 22:52:19 +11:00
Leon Friedrich 3aeba9a63e
Fix chat sanitization and entity name escaping (#12015) 2022-10-17 23:59:09 -07:00
Jezithyr 571dd4e6d5
Hud refactor (#7202)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Jezithyr <jmaster9999@gmail.com>
Co-authored-by: Jezithyr <Jezithyr@gmail.com>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: wrexbe <wrexbe@protonmail.com>
Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
2022-10-12 10:16:23 +02:00
Leon Friedrich feb50ce7cc
Pass IRobustSerializer to NetMessage (#11021) 2022-09-14 17:25:25 +10:00
Leon Friedrich 1e9e93a33c
Fix typing indicator input validation. (#10818) 2022-08-25 23:44:43 +10:00
Pieter-Jan Briers a323ba8223
Revert "Revert "Fix some friend access violations by allowing others access. (#8594) (#8703)" (working this time) (#8704) 2022-06-07 15:26:28 +02:00
Pieter-Jan Briers cecf87997b
Revert "Fix some friend access violations by allowing others access. (#8594) (#8703) 2022-06-07 13:44:31 +02:00
Vera Aguilera Puerto c5f7c61041
Fix some friend access violations by allowing others access. (#8594)
Rename Friend attribute to Access attribute.
Updates submodule to v0.21.0.0 as well.
2022-06-07 11:30:27 +02:00
Alex Evgrashin af926c5279
Typing indicator (typing chat bubble) (#8215) 2022-05-17 02:55:19 -07:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00