Commit Graph

39 Commits

Author SHA1 Message Date
slarticodefast
321331e664 move all the radio components and system to Shared (#40293)
* move all the radio components and system to Shared.

* duh split impl

* address reviews

* cleanup

---------

Co-authored-by: walksanatora <walkerffo22@gmail.com>
2025-09-12 01:26:47 +02:00
Pieter-Jan Briers
0c97520276 Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
beck-thompson
fe2145d3b9 Voice Mask refactor (#30798)
* First commit

* Added base.Initialize()

* Voice wire fix (Electricty name)

* Various minor cleanups

* Localized default voice mask name

* Added VoiceOverride stuff

* Removed unused stuff

* Typo

* Better localized stuff

* Typo / spelling stuff / comments

* Blessed
2024-09-26 18:55:59 +02:00
Nemanja
0e9ed36b85 Intercom buffs and fixes (#29580)
* Intercom buffs and fixes

* remove unused bui state

* mild sec intercom buff

* reinforce sec intercoms
2024-07-08 00:19:10 +10:00
SkaldetSkaeg
9378688ffc No echo from handheld radio (#27046)
I found the echo from my own radio very annoying.
2024-04-26 17:34:20 +10:00
Tayrtahn
b4046bc2bb Fix sloshing electricity & enable SpeechVerb masking (#24238)
* Implemented electricity speech verb masking

* Handle speech verb override elsewhere in the system, even though we're not using it

* Fix that protoId business

* No nullable component fields

* Use ProtoId, and try going back to a nullable.
Specifiy DataFields on VoiceMaskComponent.
2024-01-23 17:12:18 -05:00
LordCarve
05a2e6b3a2 Obsolete refactor - ConnectedClient to Channel (#24409) 2024-01-23 09:14:13 +11:00
Nemanja
89295d97b6 research console radio messages on unlock (#22166) 2023-12-06 18:00:51 +11:00
Nemanja
f99b29fbb1 global radio toggle for observers (#22137) 2023-12-04 16:13:45 -07:00
Leon Friedrich
f308adffaf Move ActorComponent to shared (#21293) 2023-10-29 04:21:02 +11:00
DrSmugleaf
5be0df32ad Add admin Erase verb, add checkbox to erase from the ban panel (#20985) 2023-10-14 02:02:56 -07:00
metalgearsloth
5a0fc68be2 Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
Visne
c7b21b631b Remove unused dependencies (#19490) 2023-08-24 09:55:15 -08:00
Nemanja
f3b40197b9 remove "failed to send message" popup from radio (#19184) 2023-08-15 14:56:42 -06:00
Kara
7db8c781e7 Speech verbs & conditional markup modification (#18980) 2023-08-15 13:03:05 -07:00
Nemanja
6dbfbc52c0 Good Intercoms (#17950)
* crystal anomaly

* Good intercoms

* fixes

* fix construction fail

* Revert "crystal anomaly"

This reverts commit 0d9e3f62ff82c79e72f882b9c7f4ca1b9c6e6dd8.

* migration
2023-07-11 17:58:18 -06:00
Leon Friedrich
b03d9a90ab Add support for client-side replays (#17168) 2023-06-19 03:23:31 +10:00
metalgearsloth
f7950d07e2 Revert "Revert "Emp more effects" (#16159)" (#16165)
This reverts commit 0da5a78509.
2023-05-06 11:26:04 -04:00
metalgearsloth
0da5a78509 Revert "Emp more effects" (#16159) 2023-05-06 20:45:49 +10:00
Slava0135
4d47562dde Emp more effects (#14550)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-05-06 11:38:09 +10:00
Slava0135
8aef835d33 radio systems replace all entity query with enumerator (#15449) 2023-04-23 18:29:08 +10:00
Slava0135
7886d27dda Add radio jammer (#14369) 2023-04-14 12:50:19 -07:00
adamsong
bcb07142ae Allow ghosts to hear radio message globally (#15078) 2023-04-02 18:56:07 -05:00
Slava0135
53681a8b31 Add telecomms system (#14486) 2023-03-23 20:02:41 -04:00
Nemanja
64e882bb6d fix radiosystem popup (#14121) 2023-02-15 16:53:13 +11:00
Slava0135
301956ef15 Add solar flare event (#13749)
* add solar flare event (only affects headsets)

* add popup

* cleaner impl using RadioReceiveAttemptEvent

* unused import

* handheld radio and intercom work again

* Revert "handheld radio and intercom work again"

This reverts commit 0032e3c0725a19a465daf1ff1d6b4942a5c14fbb.

* add radio source to Radio events

* intercoms and handheld radios work now

* use Elapsed instead of new field

* add configuration

* better not touch Elapsed

* the

* make popup bigger

* xml comments for configuration

* very minor refactoring

* default config is now in yaml

* lights can break

* use RobustRandom

* use file namespace

* use RuleStarted

* store config in field

* a

---------

Co-authored-by: AJCM <AJCM@tutanota.com>
2023-02-11 20:24:29 +00:00
Chief-Engineer
5c06c4c3ef Add voice changer logs (#14040)
* add set voice log

* add used identity to chat message logs

* please tell me there's a better way
2023-02-11 19:26:44 +00:00
deltanedas
101261b280 make voice mask affect radio too (#13858) 2023-02-05 11:38:14 -04:00
Chief-Engineer
7587891d21 add radio message logs (#13167) 2022-12-24 14:50:34 -06:00
Leon Friedrich
6af331c9ff Remove StoredChatMessage (#12623) 2022-11-22 22:52:19 +11:00
Leon Friedrich
0b5a58001c IListener and IRadio purge (#11980) 2022-11-15 15:09:27 +11:00
Flipp Syder
0385f1387c Voice mask (#10458) 2022-09-29 12:22:27 +10:00
Leon Friedrich
e9616e40f9 Remove IActivate (#9705)
* git mv

* purge IActivate

* File scoped NS
2022-07-14 20:29:29 +10:00
metalgearsloth
3da454140d Add department-specific radio channels (#9061)
* Add department-specific radio channels

This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.

ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.

IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.

The ugly is that the integer channel number is hard-coded and also shows
up in chat.

Comms are not modeled at this time. You cannot break comms (yet).

All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.

* Remove debugging print

* Convert to prototypes

* Use prototype names in headset prototype

* Adjust list style

* Document prototype fields

* cringe

* some cleanup

* colours

* Remove alphas at least

* cc

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2022-06-23 20:11:03 +10:00
Rane
7900abb888 Literally Murder IExamine (#7352) 2022-04-08 14:17:25 -07:00
mirrorcult
ec4d4688c7 Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
DrSmugleaf
2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Vera Aguilera Puerto
0be5ff829b Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
DrSmugleaf
ff1a2d97ea Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00