Commit graph

96 commits

Author SHA1 Message Date
Princess Cheeseballs
2c6ffecf62
Move GameTicker to Shared (#45834)
* Scope creep my ass

* why was this shit not pushed????

* gone...

* fix that

* review plus buildd

* asfsafsafsafsafas

* grug

* burber

* I'll fix this later

* shrimply die

* also this

* it's snerf or snuthin

* assaads

* round snend

* aaaa

* fix this shit for real

* actually, don't start GameRules until MapInit now that I think aboot it.

* forgot u

* don't actually need this part nullable

* Deffer comp removal

* one liner

* do that too

* chungus

* Honestly makes more sense here, plus WHY are we doing all that shit on "GameRuleAdded" rather than GameRuleStarted(?)

* deferred removal :V

* aaaaaaaaaaaaaaa

* whhop

* Whoop

* better

* landmine that I placed for myself then forgot about lmao

* cleanup

* FUCKING `!`

* gotovo

* amogus

* please don't check by metadata I beg

* waawsasfdfsasfa

* sfafsasfafsas

* fdsaasffsasfa

* code

* fix

* fasasffasfasfsad

* chungaas

* I may be stupid

* gra

* graaaaaaaaaaaaaaaaa

* comment

* gra

* clearing is not predicted and would require major refactors, so don't cache on client.

* lame shit :P

* last holes

* nukeopsfsafsasafsfafsa

* why  was that shit public bruh

* bubrbgwahrghfaka

* dynamic

* revert change that did nothing lmao
2026-09-16 19:34:19 +00:00
Jessica M
410221decd
Fix agent ID popup showing for everyone (#45800)
agent ID
2026-09-02 03:55:23 +00:00
metalgearsloth
d8380807eb
Fix ExpireIdCard (#44567) 2026-07-24 18:42:11 +10:00
āda
d33e63a5a2
New Agent Id UI (#39769)
* icon group prototype

* prototype v2

* agent id uses groups

* working UI using groups

* UI work, new header

* formatting and misc work

* fix some texture scaling

* aesthetics

* tabs, scrollbar, MinSize

* commit

* commit

* commit

* commit

* Revert "commit"

This reverts commit 8f29ae30c69670c6dc8d5fba3dd6bd98f574830d.

* we're back

* well enough

* Final visuals for the Id (for now)

* code cleaning

* minor cleanup

* self review

* id card system changes

* try index -> resolve

* DisposeAllChildren -> RemoveAllChildren

* fix the id cards

* all pretty

* unneeded

* merge

* Review by Fildrance

* Review by Pok

* fix

* cleanup

* refactor: revert icon setsize changes back to good old '32', made container button be resizable for localization reasons

* jobIconGroup

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-07-18 19:51:36 +00:00
Rouden
4d0c40f358
Predict StationRecords (#40240)
* Make StationRecords YAML savable

* Update SharedStationRecordsSystem.cs

* Predict Station Records

* Attribute subs, query Resolve & DirtyFields

* Cleanup, prediction fixes, locale fixes

* Update GeneralRecordsUi.cs

Remove GeneralStationRecordConsoleState and obsolete SelectStationRecord
2026-07-17 03:36:39 +00:00
Whatstone
a88d2c5164
Cleanup: Resolve remaining PopupSystem warnings in Content.Shared (#44685)
* PopupClient to PopupEntity/Coordinates

* PopupPredictedX to PopupEntity/Cursor/Coordinates

* The rest of the damn owl

* nullability fixes

* Buckle cleanup

* cleanup, address PR comments

* ExecutionSystem: one popup method

* correct my filthy lies

* Apply most of ajcm's suggestions

* return user to SharedItemRecallSystem.cs

* Fix lingering Ensnarable broadcast popups

* targeted drain popups

* fix lingering untargeted Guardian popups

I read the comment on GuardianHostRecall.  Oops.

* target stethoscope popups

* fix the PDA vibration popup

* Fix target for encryption key removal popup

* anomaly scanner: args.User, not uid

* disposal unit comment, bcast pda vibration popup
2026-07-16 21:54:33 +00:00
Whatstone
9b29477f87
Cleanup: remove more redundantly defined EntitySystem members (#44470)
* redundant members

* catch IonLawSystem instances

* return the ion law sawmill, fix LogMan instances

* SalvageSystem LogManager inst

* IonLawSystem: public Sawmill

* what even is initialization order?
2026-07-02 19:12:23 +00:00
Whatstone
a8453723d8
Cleanup: ProtoMan Part 1 - remove Shared EntitySystem IPrototypeManager instances (#44386)
* Remove Shared System IPrototypeManager instances

* Remove RecipeManager IPrototypeManager instance

* Fix ItemSystem IPrototypeManager refs, use TryComp

* SharedItemSystem changes, EntWhitelist CompName

* HasComponent->HasComp
2026-06-29 10:18:44 +00:00
themias
ec89db9d62
Fix ID inspect message when ending perma sentence early (#44018) 2026-05-22 16:10:07 +00:00
riccardi48
cd0d45cc5a
Small Refactor of getting identity info (#43941)
* Removed TryGetIdentityShortInfoEvent()

* Removed unused using

* cleanup

* .

* Wrong if statement

* Directed Event

* cleanup

* cleanup

* keep this

* refactor: whitespace cleanups + unused usings

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-05-15 19:49:41 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
phönix
00808c9e01
Fix access removal causing misspredicts (#43564)
* lets see

* final
2026-04-16 17:10:49 +00:00
SlamBamActionman
407664a536
Add Cyborg crew indicator (#37038)
* Initial commit

* Include uncertain crew and make it work for AI

* Add new definition to Silicon Rules 8

* Update based on review

* Remove Cluwne from job list

* ProtoIdify

* Update and also make monkey/corgi show IDs

* Remove unnecessary property

* Remove redundant code

* Carrrrd

* cleanup

* Nicer code

* Update to fix the spawn bug + agent ID

* Fix new icons

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-01-29 06:59:06 +00:00
slarticodefast
ed7c004de2
Fix looking at verbs causing sounds or popups (#41609)
* fix verb popups

* spelling
2025-11-28 21:41:44 +00:00
ScarKy0
ee33792b33
Event based lock access (#40883)
* init

* some bonus stuff

* CheckForAnyReaders

* reader

* doc

* review

* fuck yaml

* Me when I push changes myshelf

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-17 02:04:43 +00:00
Fildrance
c95bf3f94f
fix: scan for ShowAccessReaderSettingsComponent on examiner and not on airlock (#40626)
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-10-01 11:43:21 +00:00
chromiumboy
02061592dd
Devices with access restrictions list those restrictions in their examination description (#37712) 2025-09-15 10:19:25 +03: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
Tayrtahn
75db49f9c0
Clean up all missing EntitySystem proxy method uses (#38353) 2025-06-26 16:50:49 -07:00
Nemanja
524725d378
HandsSystem Refactor (#38438)
* checkpoint

* pt 2

* pt... i forgot

* pt 4

* patch

* More test fixes

* optimization!!!

* the REAL hand system

* fix RetractableItemActionSystem.cs oversight

* the review

* test

* remove test usage of body prototype

* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* hellcode

* hellcode 2

* Minor cleanup

* test

* Chasing the last of the bugs

* changes

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-06-25 15:13:03 +02:00
chromiumboy
db4d419f7b
Access Reader Refactor (#37772)
* Initial commit

* Integration test fix

* Removed redundant dirtying of accessreader
2025-06-05 19:28:55 -04:00
beck-thompson
05fac53de6
Chameleon controller implant (Clothing fast switch) (#33887)
* Add the chameleon controller implant

* address the issues (Git please dont kill me)

* Address the review and fix some merge conflicts!

* Cleanup

* Add use delay

* Silly mistakes

* Making a PR at 2 am: Gone wrong

* Predict use delay and disable the buttons until you can choose another

* First phase custom clothing

* Better system, now relays to agent id and mindshield. Chameleon loadouts are a lot better to work with as well

* Address the review! No more evil goto

* Slams way is better I should have read more closely xD

* Some of the jobs

* Add to Cargo, CentComm, Service, Passenger, Ninja, Cluwne, Wizard + Minor changes to existing; Add chameleon to bandanas, medals, jugsuits and HUDs

* Add everything else

* Fix test

* Job name

* This looks better

* Add department organization

* Minor cleanup

* Added some mindshields

* Remove redudent comment and change funcion name to be clearer

* Fix cluwne outfit

* fix merge conflicts

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2025-05-30 12:07:25 +02:00
āda
de24413bd5
HumanoidCharacterProfile and IdCardConsoleComponent constants moved to cvar. Sync id card length with character name length (#35407)
* commit

* mark TODOs

* compiles

* cleanup

* cleanup

* oops

* changed my mind

* requested changes

* genpop fix
2025-05-17 15:27:39 +10:00
Nemanja
dc9844edd1
Genpop Closets & IDs (#36392)
* Genpop IDs and Lockers

* placeholder generation, no ui yet.

* UI

* Fix time offset

* fix meta.jsons

* big speller

* Scarkyo review

* Add turnstile prototypes

* make IDs recyclable

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-04-24 16:32:11 +02:00
Luna "YuNii" Henrich
db62336618
Stop ghosts from being logged to Airlocks (#36261)
* stop ghosts from being logged

* thanks rider for the random import

* add new tag PreventAccessLogging

* once again removing random auto imports

* inverted if for code readability

* switch to ProtoId<> usage
2025-04-04 00:24:30 +02:00
ScarKy0
253a9fbdf1
Seperate EMAG into EMAG and Authentication Disruptor (#34337) 2025-01-29 23:05:47 -05:00
ScarKy0
dd28f17b9a
Fix access configurator debug assert (#34330)
* fix

* greytide fix

* fix admin log

* Dirty
2025-01-09 19:22:28 -05:00
SlamBamActionman
3238c2e144
[HOTFIX] Fix chameleon PDAs renaming IDs (#34249)
Fix chameleon PDA
2025-01-07 20:31:54 +01:00
chavonadelal
6d99597349
Job title localization (#32338)
* Job title localization

* Correcting fields
2024-10-09 17:05:36 +02:00
nikthechampiongr
ee434e397d
Rename fix (#31654)
* Localize RenameCommand and delegate most of the process to MetaDataSystem.SetEntityName()

* Make renaming rely on the EntityRenamedEvent. Fix issue where renaming would keep old Examine text

Requires engine change

* Fix localisation strings

* Make PDA search be based on a renamed entity's Uid instead of its old name

To do this the pda component now has an PdaOwner field which gets
assigned when it is given as a loadout to a player

* Fix bad merge???

huh

* Use AllEntityQuery
2024-09-15 11:55:03 +10:00
Fildrance
6380a9adca
feat: now when research is unlocked in console, approver of reasearch is radio-ed too (#31170)
* feat: now when research is unlocked in console, approver of reasearch is radio-ed too

* refactor: now most of events that require actor name to be radio-ed or logged use TryGetIdentityShortInfoEvent which is subscibed by id-card system and borg system (to work for both carbon and synthetic life-forms)

* refactor: moved TryGetIdentityShortInfoEvent on id card system to shared, fixed cargo cent-com-originated orders

* remove unused check

* refactor: decoupled systems from IdCardSystem (those that are not dependent on it anymore)

* refactor: removed unuseed usings

* feat: emagged cargo/research consoles wont radio messages on buy/research confirm anymore

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-09-03 23:01:38 +10:00
Kara
485caa4553
Contraband marking & examining (#28688)
* System & loc strings

* pass over syndie contraband

* fixes

* grand theft pass

* contrabandexamine -> contraband

* examine text generation update

* all composition parents necessary

* bring back minor contra so it has a less confusing message

* minor

* weapon pass

* jumpsuit pass

* feet pass

* AUUUUUUUUUGHHHHHHHHHHHHHHHHHH

* head

* AUUUUGH

* ear

* belt

* back

* fix

* bro

* rename for more clarity

* do da review

* add cvar for contraband examine

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-08-11 23:57:49 -04:00
slarticodefast
e0d30aff4e
Add tooltips to the agent ID job icons and improve status icon prototypes (#28575)
* add tooltips to agentid job icons

* forgot to stage this

* make StatusIconPrototype abstract

* minor visual improvements

* cleanup

* use currentculture to sort job names

* review
2024-08-09 16:14:07 +10:00
metalgearsloth
6005a9f4cb
Fix door access in mapping mode (#30030)
Fix shouldn't break anythingTM.
2024-07-19 16:19:15 +10:00
Winkarst
f687124312
Update IdExaminableSystem.cs to use TryFromMarkup (#29957)
* Change FromMarkup to TryFromMarkup method in IdExaminableSystem.cs

* Update
2024-07-14 01:17:15 +02:00
deltanedas
02636386b5
item toggling giga rework + full ninja refactor (#28039)
* item toggle refactoring and some new systems

* add ToggleClothing component/system

* unhardcode magboots gravity logic

* make magboots and speedboots use ItemToggle and stuff

* remove now useless clothing components

* update client/server magboots systems

* add note to use ItemToggledEvent in ToggleActionEvent doc

* refactor PowerCellDraw to use ItemToggle for ui open/close control

* add TryUseCharges, refactor charges system

* update magboot trigger code

* make borg use ItemToggle, network SelectedModule instead of now removed Activated

* add AccessToggle for borg

* the giga ninja refactor

* update ninja yml

* update ItemToggle usage for some stuff

* fix activatableui requires power

* random fixing

* yaml fixing

* nuke ItemToggleDisarmMalus

* make defib use ItemToggle

* make things that use power not turn on if missing use charge

* pro

* fix sound prediction

* bruh

* proximity detector use ItemToggle

* oop

* big idiot syndrome

* fix ninja spawn rule and make it generic

* fix ninja spawn rule yml

* move loading profiles into AntagLoadProfileRule

* more ninja refactor

* ninja yml fixes

* the dreaded copy paste ops

* remove useless NinjaRuleComponent and ue AntagSelection for greeting

* fix invisibility

* move IsCompleted to SharedObjectivesSystem

* ability fixes

* oop fix powercell instantly draining itself

* sentient speedboots gaming

* make reflect use ItemToggle

* fix other test

* loadprofilerule moved into its own pr

* remove conflict with dragon refactor

* remove all GenericAntag code from ninja

* )

* probably

* remove old enabled

* great language bravo vince

* GREAT LANGUAGE

* who made this language

* because it stinks

* reparent blood-red magboots to magboots probbbly works

* most of the review stuff

* hasGrav doesnt mean what i thought it did

* make health analyzer use itemtoggle, not fail test

* fix mag/speed boots being wacky

* UNTROLL

* add ItemToggle to the random health analyzers

* a

* remove unused obsolete borg func

* untrolling

* :trollface:

* fix test

* fix

* g

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-07-11 15:55:56 +10:00
deltanedas
475c2a0b42
add access reader log wire (#29094)
* add LoggingDisabled to AccessReader

* add LogWireAction

* -m give everything besides high-security door a log wire

* make LogAccess public and support string arg

* add log when pulsing

* m

* l

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-06-23 01:12:58 +10:00
lzk
713c6d966b
Make borgs shown in logprobe (#27788) 2024-06-03 14:48:44 -04:00
DrSmugleaf
0e3a2b3ba1
Move id and health examinable to shared (#27867)
* Move id and health examinable to shared

* Make GetInfo public
2024-05-10 11:26:39 +10:00
deltanedas
85780dce96
fix mapping door access (#27784)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-08 06:14:17 -07:00
DrSmugleaf
c122fdf183
Move job info changing methods for id cards to shared (#27337)
* Move job info changing methods for id cards to shared

* Revert "Move job info changing methods for id cards to shared"

This reverts commit 95cbc46b2d1934fa7bf5c72d7d3de9f9168992a1.

* Reapply changes
2024-04-26 18:00:16 +10:00
deltanedas
6d695dd326
dirty after calling SetAccesses (#26849)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-04-09 09:17:31 -04:00
c4llv07e
64bb8dbdd5
Add door electronics access configuration menu (#17778)
* Add door electronics configuration menu

* Use file-scoped namespaces

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Open door electronics configuration menu only with network configurator

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Make the access list in the id card computer a separate control

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix merge conflict

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove DoorElectronics tag

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Integrate doors with #17927

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Move door electornics ui stuff to the right place

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Some review fixes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* More fixes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* review fix

Signed-off-by: c4llv07e <kseandi@gmail.com>

* move all accesses from airlock prototypes to door electronics

Signed-off-by: c4llv07e <kseandi@gmail.com>

* rework door electronics config access list

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove Linq from the door electronics user interface

* [WIP] Add EntityWhitelist to the activatable ui component

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Better interaction system

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Refactor

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix some door electronics not working without AccessReaderComponent

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Move AccessReaderComponent update code to the AccessReaderSystem

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unnecesary newlines in the door access prototypes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unused variables in access level control

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unnecessary method from the door electronics configuration menu

Signed-off-by: c4llv07e <kseandi@gmail.com>

* [WIP] change access type from string to ProtoId<AccessLevelPrototype>

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unused methods

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Newline fix

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Restored to a functional state

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix access configurator not working with door electronics AccessReaderComponent

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Replace all string access fields with ProtoId

Signed-off-by: c4llv07e <kseandi@gmail.com>

* move access level control initialization into Populate method

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Review

---------

Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-01 17:06:13 +11:00
Pieter-Jan Briers
68ce53ae17
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
2024-02-13 16:48:39 -05:00
Ed
498ad2d5d7
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>
2024-02-01 19:45:24 +11:00
Nemanja
736b9dd7df
Cryogenic Sleep Units (#24096)
* Cryogenic sleep units

* pause map support

* no more body deletion

* Cryogenic Storage Units

* boowomp

* no more emag, no more dropping present people
2024-01-14 23:35:28 -07:00
AJCM-git
a4dd4828cf
Access logs tweaks and fixes (#23096)
* Fix AccessRecord not serializing correctly on map saves

* record struct my beloved

* Final tweaks

* pro

* This is no longer necessary
2023-12-28 19:32:46 -05:00
Chief-Engineer
476ea14e8a
Add access logs (IC ones) (#17810) 2023-12-26 18:24:53 -04:00
DrSmugleaf
f560f88eb5
Remove 700 usages of Component.Owner (#21100) 2023-10-19 12:34:31 -07:00
Nemanja
3949932536
Fix access for vehicles and mechs (#20737)
* fix access for vehicles and mechs

* optimize
2023-10-05 03:12:40 -06:00