* 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>
* redundant members
* catch IonLawSystem instances
* return the ion law sawmill, fix LogMan instances
* SalvageSystem LogManager inst
* IonLawSystem: public Sawmill
* what even is initialization order?
* Remove all IPrototypeManager instances
* Remove redundant IComponentFactory instances too
* Found some stragglers
* DestructibleSystem.PrototypeManager: no dependency
* not based
* 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
* 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>
* 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>
* 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
* 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
* 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>
* 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.
* 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