* 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>
* Offbrand medical
* what if we regrade
* zombies are mostly there thats it thats a wrap xd
* here's changeling
* some bonus gut punches
* start working on the guidebook
* fix rsi and yaml lints
* my agrichem so fits
* we stay rejuvenated
* my china so laked
* debrute
* fix suicide
* fix the suicide tests
* my surgery so requires laying down
* the guidebook continues
* READ KEB PAGES
* keb vascular recoupler
* read keb medicine
* fix yaml lint
* fix the EntityRemoveConstructionGraphStep
* fix overlay init
* scalpels are not a food tool
* return of the programmer art
* my line so nieuw
* boxes deserve veins too
* mrrrp yaml
* what if we redid brain damage alerts
* bloot pressure
* kill mannitol drowsiness
* get licensed
* my read so me
* get feedbacked nerd
* fine-tune the heart stoppage conditions
* cryostasis adjustments, guidebook adjustments, fix negative strain issues
* my surgery so table
* fix heart surgery and guidebook
* medicine & defibrillator pass
* iv bags and stands
* prefills
* janet gets very sidetracked
* mostly finished iv stuff
* what if we fixed the guidebook
* halve decapoid cryostasis
* my medicines so IV
* finetune cryostasis
* less logspam
* metabolism-aware iv stands and cryopods
* give people painkillers
* yaml lint real
* fix blood build
* finish rebase
* tidy up localization
* clean up my yaml beasties...
* soft curve after exceeding maximum damage
* husks/bonedeaths
Grabbag of Offmed fixes & improvements (#3461)
* CPR moment
* Mob AI fix
* Fix brain oxygenation not updating on regeneration
* sorry gamers you cannot resist the pull
* Troll combat abilities more in softcrit
praying rn (#3467)
dont have CPR be 50% (#3468)
Make offbrand murder easier to contend with (#3473)
* e
* disrupt people in softcrit when attacking them
* ok gamers we're gaming
* forgor
Hopefully final pass before Offbrand merge (#3475)
First pass of Offbrand adjustments (#3477)
Swap blood pressure values in health analyzer (#3476)
Systolic over diastolic
Co-authored-by: Kip <32859367+kipdotnet@users.noreply.github.com>
Offbrand pass 2: Mostly bugfixes (#3480)
Fix zeds causing PVS reloads (#3482)
Offbrand pass 3: I hate surgery I hate surgery I hate surgery I (#3481)
* set up surgery ui
* test fail real
Pain/braingasps (#3487)
Offmed bundle 5 - the evil one (#3489)
* Evil cavity surgery
* les borgues
* nicotine moment
* epinephrine RNG
* legalese
* test fail real
* ok jamers cope with c4
Pass 6
* 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
* Update MoverController.cs
* Update a bunch of movement code to use Entity<T>
* Last errors
* wow, there were more errors
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Syndicate thief, spy, medic
* Fixes description for nukies
* update description for uplink
* Implement the radial menu
* forgot these were necessary to push lol
---------
Co-authored-by: plykiya <plykiya@protonmail.com>