Commit Graph
56 Commits
Author SHA1 Message Date
nikthechampiongr 9a378a6b06 Fix radio jammer not blocking suit sensors. (#26632)
As it turns out, they are not in fact on their own netid. They are
actually just on wireless. The way I had tested my previous pr led to
this mistake being made. I originally had the radio jammer block
wireless as well, but decided to take out under the flase assumption
that it suit sensors were actually on their own netid and did not
require the ability to block all wireless packets at the last moment.

(cherry picked from commit 29c81bcc05)
2024-04-07 14:23:46 +02:00
nikthechampiongr 11d85b8796 Create DeviceNetworkJammerComponent & System as a general way for entities to act as jammers (#26342)
* Add DeviceNetworkJammerComponent & System

Allows for entities to "jam" DeviceNetwork packets.

Whenever a device attempts to send a packet, the
DeviceNetworkJammerSystem listens for the BeforePacketSentEvent.
From there if any entity with the jammer component is within range of
either the sender or receiver of the packet the event will be cancelled.
Additionally jammers can only block packets in certain networks. If a
packet is not being transmitted in one of the networks it can block then
even if the jammer is in range the event will not be cancelled.

The range is stored in the jammer component along with the networks it
can jam.

Jammable network ids are stored as strings which seems to be how custom
networks are stored (E.g. network ids for suit sensors).

To allow for all of this, the BeforePacketSentEvent was modified to
provide the NetworkId.

* Make JammerSystem for the radio jammer use the DeviceNetworkJammer. Remove redundant event.

* Replace calls to TryDistance with InRange

(cherry picked from commit 266cc85f57)
2024-03-27 18:35:36 +01:00
nikthechampiongr 554aa0774b Make radio jammer block suit sensors (#26046)
* Make radio jammer block suit sensors

* Fix stupid

Use CancellableEventArgs instead of doing what the hell I was doing before.

* Address Reviews.

Change the event from a CancellableEntityEventArgs to a ByRefEvent.

(cherry picked from commit dce24dfd03)
2024-03-17 15:07:58 +01:00
Tayrtahn 3f54180d28 Hotfix for errors in handheld lights and radio jammers (#25880)
(cherry picked from commit e5536e0652)
2024-03-07 01:52:49 +01:00
Tayrtahn a8d082374d Remove all obsolete BatteryComponent method calls (#25871)
Removed all obsolete, non-ECS method calls to BatteryComponent

(cherry picked from commit 2935e5bd78)
2024-03-07 01:52:46 +01:00
Ed 25dbae8f9c Lock Anomaly generator to research access (#24464)
* small patch

* fix

* remove garbage

* fix

* moved to shared events

* fix

* LocId

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 498ad2d5d7)
2024-02-08 12:11:07 +01:00
Tayrtahn 7141b1ff32 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.

(cherry picked from commit b4046bc2bb)
2024-01-27 23:51:27 +01:00
LordCarve ad35a2fda3 Obsolete refactor - ConnectedClient to Channel (#24409)
(cherry picked from commit 05a2e6b3a2)
2024-01-27 23:44:02 +01:00
Kara 03b3e36d43 Examine prediction (#23565)
* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly

(cherry picked from commit 0ae3858b69)
2024-01-26 21:48:02 +01:00
Nemanja 994eb01f9d research console radio messages on unlock (#22166) 2023-12-16 19:23:01 +01:00
Nemanja 8aa9d90812 global radio toggle for observers (#22137) 2023-12-16 19:18:42 +01:00
Bakke 6690974ba2 Fix syrinx voice mask not working over radio (#488) 2023-12-06 17:01:50 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +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
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02: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
deltanedas 7955183b31 fix key debug assert on round restart (#16296) 2023-05-11 13:00:29 +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
Slava0135andmetalgearsloth 4d47562dde Emp more effects (#14550)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-05-06 11:38:09 +10:00
Slava0135 811b35a1cf display item charge on examine (#16116) 2023-05-05 22:44:21 +10:00
20kdc ad76739cc3 Refactor: Chat transmission ranges (+ a little preparation for downstream fork functionality) (#16026) 2023-05-04 12:08:08 -07: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
Slava0135 e4b1a363f5 Add telecommunication server (#14415) 2023-03-06 17:11:36 -04:00
Leon Friedrich 75a559fa55 Update radio prefix parsing (#13777) 2023-02-19 04:27:56 +11:00
Nemanja 64e882bb6d fix radiosystem popup (#14121) 2023-02-15 16:53:13 +11:00
Slava0135andAJCM 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
Visne 5a5a3afbb1 Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04:00
AlexMorgan3817 daea9eab72 Fix of PERSISTENT headsets (#13784)
Closes https://github.com/space-wizards/space-station-14/issues/13783
2023-01-30 05:32:08 +11:00
AlexMorgan3817 c8b89c7008 Encryption Keys for headsets (#12615) 2023-01-29 11:53:08 +11:00
Chief-Engineer 7587891d21 add radio message logs (#13167) 2022-12-24 14:50:34 -06:00
Leon Friedrich 881a2b2ece PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Nemanja de35226e05 Intercom Tweaks and Fixes (#13032)
Closes https://github.com/space-wizards/space-station-14/issues/13023
2022-12-15 15:13:02 +11:00
Nemanja 00497177f8 Intercoms [crappy radios] (#12898) 2022-12-14 12:39:54 +11:00
Leon Friedrich 6af331c9ff Remove StoredChatMessage (#12623) 2022-11-22 22:52:19 +11:00
Leon Friedrich 18c0a2dd6a Radio bugfix (#12604) 2022-11-15 15:30:37 +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
Flipp Syder 0f9e31c988 Listener fix for speech (#10240) 2022-08-11 19:25:29 +10:00
Leon Friedrich e9616e40f9 Remove IActivate (#9705)
* git mv

* purge IActivate

* File scoped NS
2022-07-14 20:29:29 +10:00
metalgearslothandKevin Zheng 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