Commit graph

229 commits

Author SHA1 Message Date
Голубь
c86c92c5cf
update namespace for shared ghost folder (#45095)
a
2026-08-03 07:16:25 +00:00
Winkarst-cpu
c58331c4f3
Prediction + Refactor: BibleSytem (#44800)
* Prediction

* Update

* Update

* Fix

* Rename file

* Fix

* Update

* Fix

* cleanup

* EntityUid? Source

* Revert "EntityUid? Source"

This reverts commit c169e1f030b1fced6951b8026dda8f4e01571424.

* ftl and fix PVS

* Update

* review

* Update

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-07-22 21:03:36 +00:00
AsnDen
b3cc7a5e54
WarpPoints are localizable now (#39319)
* WarpPoints locale

* string

* Revert "string"

This reverts commit 0148e4193dafce43f793da1f3306b6246d602824.

* Mothership Core

* fix

* merge fix

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-07-20 09:44:09 +00:00
ShadowCommander
2cfc6f1988
Replace usages of AttachToGridOrMap with TryGetGridOrMapCoordinates (#27951)
* Rename TryGetMapOrGridCoordinates to make it clearer it gets grid first

* Replace AttachToGridOrMap with spawning directly to map or grid

* Fix a typo

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Remove uneccessary attachment

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Force full test refresh

---------

Signed-off-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: Connor Huffine <chuffine@gmail.com>
2026-07-19 22:18:50 +00:00
Vladislav Suchkov
9b359db2d6
Add ghost random warp (#44499)
* wip

* wip

* wip

* wip

* wawa

* woof

* slight cleanup Im gonna go to sleep now

* cleanup

* a

* review
2026-07-13 16:41:44 -04: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
Jessica M
373c7ade25
Fix ghost warp to most followed (#44464)
lol
2026-07-02 04:35:13 +00:00
Whatstone
f42f8df6d1
Cleanup: ProtoMan Part 2 - remove Client and Server EntitySystem IPrototypeManager instances (#44416)
* Remove all IPrototypeManager instances

* Remove redundant IComponentFactory instances too

* Found some stragglers

* DestructibleSystem.PrototypeManager: no dependency

* not based
2026-06-29 21:33:56 +00:00
Pieter-Jan Briers
d3cb88cd74
Ghosts have follow buttons in chat (#44284) 2026-06-12 16:01:39 +00:00
Eveloop
22a547c7c8
Use dependency injection for EntityQuery<T>s in Content.Server (#43566)
* Replace usages of EntityQuery with dependency injected ones in Content.Server

* Remove unused EntityQuery dependencies

* Restore CheckPressureAndFire override method

* Revert EntityQuery refactor changes to DisposalTubeSystem.cs & DisposableSystem.cs

* Infer Transform/Metadata directly instead of passing (#43479)

* Resolve RA0049, RA0051 errors (#43479)

* Resolve RA0049, RA0051 errors (#43479)

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-05-17 15:59:37 +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
7234cec825
Predict ghost examine (#43150)
* never

* forgot
2026-04-03 17:26:18 +00:00
Tayrtahn
03b46abef0
Fix ghost time of death (#43411)
* Use RealTime when setting ghost TimeOfDeath

* Don't pause with RealTime

* Oops. Also get rid of AutoGenerateComponentPause
2026-03-31 03:28:24 +00:00
pathetic meowmeow
b2b547b806
Initial decoupling pass on Damageable (#43103)
* Initial decoupling pass on Damageable

* ope

* e

* mroaw

* ok sure on the medibot thing

* no medibot bounds

* okidooks

* arcryox era

* cryox moment
2026-03-07 04:13:50 +00:00
Thinbug
9393d624d7
Ghost types (#37949)
* Empty commit

* yeah thingi

* added a GetHighestDamageTypes thingi to the DamageableSystem

* no idea why those files names are different only in github so just in case readding them

* yeah doing that

* first steps of moving the logic somewhere nicer

* still plenty to do

* gosh such a mess but getting progress done

* small fixie push

* big mess of bunch of stuff

* dealing with a conflict and fixing the random numbers

* testing if github will update now

* dealing with the other conflict

* github please update i beg you

* dealing with more conflicts

* hopefully this fixes it

* fixing conflicts again

* cleaning up stuffies

* sprite fixie

* general cleanup

* doing the small fixies first

* getting rid of the new event, gotta handle ashing next

* adding spaces to comments before i forget

* handling ashing

* think that did it?

* small fixies

* more small fixies

* last batch of quickie fixies before i gotta handle the bigger stuff

* last bunch of fixies i do understand

* small bit of progress yknow may as well yeah

* renaming and moving stuff to shared

* comment fixiees

* saving damage in a new component instead of in MindComponent

* protoid's and dict usage instead of the previously ickier methods

* small fixie before biggie fixie

* more fixies im slepy gosh

* thinkie that should fixie it

* smoothed the damage storage systeem so its less repetitive and icki and now itss cooler and i can go eepy

* lots of stuffies x3

* first step of getting git to detect my file name changes

* thinkie that should fixie it

* fixies

* just getting rid of the merge conflict, will check damageable later

* small thingies first

* more small stuffiees

* now all of the sprites have at leeast a 0

* dirtying the lastbody comp

* more fixies

* small thingi first

* another small fixie and a minor sprite fixie

* rng fixie

* moving the damage storage system to shared

* smoothing out code thats likely to be replaced soon but its good to do for now

* just showing progress bcus yis

* general progress stuffies mhm

* pushie

* small cleanup

* general progress :3

* in progress push for helpie

* proper pushie with progress and workies

* removed unnecessary usage of the storedamage component

* minor fixiees

* extra comments

* replaced a couple strings for ProtoId's

* gibbing related fixies :3
2026-01-30 23:16:03 +00:00
chromiumboy
a9bb4921a2
Station AI ghost role (#40607)
* Initial commit

* API

* review

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-12-20 14:21:54 +00:00
ScarKy0
cee38b7bfe
Remove Aghosts from "Warp to Most Followed" (#41448)
* init

* review
2025-11-15 23:18:11 +00:00
Hannah Giovanna Dawson
cdbe92d37d
Update DamageableSystem to modern standards (#39417)
* Update DamageableSystem to modern standards

* DamageContainerId -> DamageContainerID with lint flag

* Replace strings with protoids

* Make CVar subscription declarations all consistently whitespaced

* ChangeDamage -> TryChangeDamage, cope with C# jank

* Revert event signature changes

* Restore a comment

* Re-add two queries

* Init the queries

* Use appearanceQuery in DamageChanged

* Use damageableQuery in TryChangeDamage

* Use damageableQuery in SetDamageModifierSetId

* Final cleanup, fix sandboxing

* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage

* Re-organize DamageableSystem

* first big fuck you breaking change.

* THATS A LOT OF DAMAGE!!!

* Fix test fails

* test fixes 2

* push it

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-27 19:53:04 +00:00
slarticodefast
1469b9484d
Add virtual chat API methods in Shared (#40895)
* move chat stuff to shared

* refactor: using cleanup +whitespaces + xml-doc

* review

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-10-19 19:08:27 +00:00
Kyle Tyo
1d827754c9
Move BrainSystem and necessary components to Shared (#40499)
* yowza

* Update Content.Shared/Body/Systems/BrainSystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Ghost/GhostOnMoveComponent.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update BrainSystem.cs

* Update Content.Shared/Body/Systems/BrainSystem.cs

* Update Content.Shared/Body/Systems/BrainSystem.cs

* Update Content.Shared/Body/Systems/BrainSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-07 13:10:21 +00:00
Errant
b692b6e33e
Antag Rolebans (#35966)
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
2025-09-17 23:59:07 +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
slarticodefast
2743dcf67f
Move mind role components to shared (#39606) 2025-08-13 12:51:46 +02:00
Kyle Tyo
d4c025567a
Predict warp point location examines. (#39402)
commit
2025-08-05 20:26:41 +02:00
Kyle Tyo
83b3e9e15a
Localize makesentient command. Move makesentient method to mind system. (#38565)
* praying pjb doesn't smite me for this 🙏

* requested changes

* Update makesentient-command.ftl

* verin commith and verin taketh away
2025-07-23 14:29:46 +02:00
Quantum-cross
989338cb08
Fix lingering ghost roles (and expand tests to catch it) (#38788)
* Improve and expand `TakeRoleAndReturn` to fail on bug #38292

* fix #38292 and expanded test cases

* use validated EntProtoIds for tests

remove unusued using declarations

* use const strings that match the TestPrototypes
2025-07-09 13:07:41 +02:00
Tayrtahn
f09bade8e7
Validate remaining ProtoId strings (#38747)
Validate remaining ProtoId strings
2025-07-04 22:55:45 +02:00
Tayrtahn
75db49f9c0
Clean up all missing EntitySystem proxy method uses (#38353) 2025-06-26 16:50:49 -07:00
keronshb
0a394d4af5
Wizard Teleport Scroll (Teleport Location ECS) (#36424) 2025-04-28 19:42:24 +02:00
Tayrtahn
6d88dd910d
Modernize GhostComponent & Ghost API (#36858)
* Move CanReturnToBody to system

* Move CanGhostInteract to system

* Cleanup redundant datafields and viewvariables

* Document datafields

* Document component

* Add SetTimeOfDeath Entity<T> overload, obsolete old version

* Document public methods

* Cleanup obsoleted method calls
2025-04-23 20:28:10 +02:00
Milon
3fc9bcbbbe
remove Session from MindComponent (#34753)
* yummy

* fix tests
2025-04-19 00:23:01 +02:00
J
22639a3cdf
Ghost spring cleaning (#36194)
* Ghost warnings cleanup

* Undo incorrect changes

* Removing whitespace
2025-04-14 22:12:04 +02:00
J
af9526197a
Extracts magic strings from Tag calls (#36305)
* Extracts magic strings from Tag calls

When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!

* Adds missing libraries

* Remove not yet implemented TagSystem changes

* Fix tag spelling error

Genuinely surprised there was only 1!

* Styling and proper type changes

* Styling

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-04 20:20:19 -04:00
slarticodefast
9ff43f344e
Show paradox clones in deadchat (#35940)
show clones in deadchat
2025-03-26 16:30:14 +01:00
metalgearsloth
9292e3a43c
Sloth's subfloor vismask adventure (#35347)
* Add a subfloor vismask

Significantly cuts down on sent entity count.

* More optimisations

* Fix command

* Fixes

* namespace cleanup

* Review

* Vismasks

* Content update

* Bandaid

* awewa

* Revert these

* reh

* Update Content.Shared/SubFloor/TrayScannerComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-21 00:57:04 +11:00
Tayrtahn
86aa82f2b6
Cleanup: Remove redundant prototype name specifications (#35793)
* Remove redundant prototype name specifications

* These can stay
2025-03-19 19:30:31 +01:00
slarticodefast
531f5619be
add forceghost admin command (#35518)
* add forceghost admin command

* sweep linq under the rug

* braces

* ûse LocalizedEntityCommands
2025-03-08 13:39:04 +11:00
Tayrtahn
6f925dd610
Fix prototypes so they pass analyzer checks (#35435) 2025-02-24 15:21:59 +11:00
keronshb
7bf33ffaa9
Wizard Fix - Summon Ghost Event no longer shows Admin Ghosts or Revenants (#34994)
* Prevents admin ghosts from being shown with ghost event

* Changes summon ghost tooltip to permanently visible

* Adds AllowGhostShownByEvent tag, adds it to regular observers, removes ghost hands check & revenant check and replaces it with a tag check.
2025-02-16 21:29:10 +01:00
SpaceManiac
4122310735
Fix 38 non-obsolete warnings (#33794) 2025-02-11 20:59:50 +11:00
Errant
46d58bf22a
Role Types (#33420)
* mindcomponent namespace

* wip MindRole stuff

* admin player tab

* mindroletype comment

* mindRolePrototype redesign

* broken param

* wip RoleType implementation

* basic role type switching for antags

* traitor fix

* fix AdminPanel update

* the renameningTM

* cleanup

* feature uncreeping

* roletypes on mind roles

* update MindComponent.RoleType when MindRoles change

* ghostrole configuration

* ghostrole config improvements

* live update of roleType on the character window

* logging stuff and notes

* remove thing no one asked for

* weh

* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* move roletypeprototype to its own file, minor note stuff

* remove Roletype.Created

* log stuff

* roletype setup for ghostroles and autotraitor reinforcements

* ghostrole type configs

* adjustable admin overlay

* cleanup

* fix this in its own PR

* silicon antagonist

* borg stuff

* mmi roletype handling

* spawnable borg roletype handling

* weh

* ghost role cleanup

* weh

* RoleEvent update

* polish

* log stuff

* admin overlay config

* ghostrolecomponent cleanup

* weh

* admin overlay code cleanup

* minor cleanup

* Obsolete MindRoleAddedEvent

* comment

* minor code cleanup

* MindOnDoGreeting fix

* Role update message

* fix duplicate job greeting for cyborgs

* fix emag job message dupe

* nicer-looking role type update

* crew aligned

* syndicate assault borg role fix

* fix test fail

* fix a merge mistake

* fix LoneOp role type

* Update Content.Client/Administration/AdminNameOverlay.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Roles/SharedRoleSystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* comment formatting

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* change logging category

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix a space

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* use MindAddRoles

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* get MindComponent from TryGetMind

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* move var declaration outside loop

* remove TryComp

* take RoleEnum behind the barn

* don't use ensurecomp unnecessarily

* cvar comments

* toggleableghostrolecomponent documentation

* skrek

* use EntProtoId

* mindrole config

* merge baserolecomponent into basemindrolecomponent

* ai and borg silicon role tweaks

* formatting

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* I will end you (the color)

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* use LocId type for a locale id

* update RoleEvent documentation

* update RoleEvent documentation

* remove obsolete MindRoleAddedEvent

* refine MindRolesUpdate()

* use dependency

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* inject dependency

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* roleType.Name no longer required

* reformatted draw code logic

* GhostRoleMarkerRoleComponent comment

* minor SharedRoleSystem cleanup

* StartingMindRoleComponent, unhardcode roundstart silicon

* Update Content.Shared/Roles/SharedRoleSystem.cs

* remove a whitespace

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-11 22:17:26 +01:00
Tayrtahn
c6e4d19883
Let ghosts sometimes make certain devices say creepy things (#34368)
* Add SpookySpeaker component/system

* Shuffle Boo action targets before trying to activate them

* Add SpookySpeaker to vending machines

* Fix chatcode eating messages starting with "..."

* Add SpookySpeaker to recycler

* Oops

* Decrease speak probability for vending machines

* Add spooky speaker to arcade machines
2025-01-11 03:48:13 +01:00
Tayrtahn
fdc0853053
Add a popup message when ghost Boo action does nothing (#34369) 2025-01-10 23:57:46 +01:00
lzk
18322ec76f
fix ghost command error string (#33838) 2024-12-12 11:18:53 -05:00
Token
061b1b8adb
Fix makeghostroleraffle command where 4 arguments (#31836)
Fix makeghostroleraffle command with 4 arguments
2024-11-30 21:11:44 +01:00
DrSmugleaf
3ad227a904
Add admin log for ghost warping (#33636) 2024-11-29 10:46:24 +01:00
Schrödinger
f53e3ec3c1
[BUGFIX] "Ghost" in the lobby lets you see the whole chat (#33529)
* fix bug, in ghost command lobby

* fix

* Fix build
2024-11-25 10:20:31 +03:00
lzk
dc3a2f6d28
add StartDelay bool to actions (#33026)
* add StartDelay bool to actions

* forgot summary
2024-10-28 23:21:14 +01:00
Leon Friedrich
4e0018697f
Add role prototype validation tests (#32801)
* Add role prototype validation test

* Rejig GetPrototypesWithComponent

* More tests n stuff
2024-10-14 14:05:25 +11:00
Errant
93c7bdc134
Mind Role Entities (#31318)
* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

* now actually using the event replacement I made for role time tracking

* weh
2024-10-10 10:48:56 +02:00