Commit Graph

329 Commits

Author SHA1 Message Date
DrSmugleaf 30222a9f3b
Add doafter when disconnecting someone else's internals (#19148) 2023-08-14 18:25:58 -06:00
Vordenburg 7582474f1a
Lint more const string prototypes (#18922) 2023-08-13 20:26:59 -04:00
Nemanja 98fa00a21f
Borgs (#18136)
* Laws

* positronic brain and PAI rewrite

* MMI

* MMI pt. 2

* borg brain transfer

* Roleban support, Borg job (WIP), the end of mind shenaniganry

* battery drain, item slot cleanup, alerts

* visuals

* fix this pt1

* fix this pt2

* Modules, Lingering Stacks, Better borg flashlight

* Start on UI, fix battery alerts, expand activation/deactivation, low movement speed on no power.

* sprotes

* no zombie borgs

* oh fuck yeah i love a good relay

* charger

* fix the tiniest of sprite issues

* adjustable names

* a functional UI????

* foobar

* more modules

* this shit for some reason

* upstream

* genericize selectable borg modules

* upstream again

* holy fucking shit

* i love christ

* proper construction

* da job

* AA borgs

* and boom more shit

* admin logs

* laws redux

* ok just do this rq

* oh boy that looks like modules

* oh shit research

* testos passo

* so much shit holy fuck

* fuckit we SHIP

* last minute snags

* should've gotten me on a better day
2023-08-12 16:39:58 -05:00
Leon Friedrich 9da4679220
Remove or fix broken Dirty() calls. (#18933) 2023-08-10 14:17:43 +10:00
metalgearsloth 50f0d10226
Fix metabolizer exception (#18878) 2023-08-08 21:47:44 -06:00
Vordenburg 8a02bb5cda
Make Rejuvenate empty Bloodstream chemicals (#18716) 2023-08-05 13:51:07 -07:00
metalgearsloth ead47c541d
Fix humanoid appearances for placement manager (#18291) 2023-08-05 14:25:47 +10:00
Leon Friedrich 3e599e2306
Add missing CleanReturnAsync() to some tests. (#18471) 2023-07-31 13:57:52 +10:00
Phill101 ebe72ac2b3
introduce Bleed alert (#18295)
Co-authored-by: Phill101 <holypics4@gmail.com>
2023-07-25 15:28:35 -06:00
LankLTE 9e6bd30aa4
Ambuzol Plus (#17884)
* Added component and functionality.

* Fixed ZombieImmune.

* Zombies now have zombie blood.

* Ambuzol plus.

* Ambuzol plus spawns in bundle.

* Fine CBURN get one too.

* Reworked the reaction

* No more magic blood refilling.

* ok CE i fixed it

* Component change.
2023-07-09 16:01:35 -06:00
Whisper 276f181021
Bleed Tweaks (#17528) 2023-06-22 00:30:19 +10:00
ShadowCommander dd7032a860
Mind ECS (#16826) 2023-06-19 04:33:19 +10:00
Whisper 0e8ac9ce79
fixes crit people being seen as dead for bleed purposes (#16827) 2023-05-26 17:23:29 +10:00
Leon Friedrich 0c4002bbd3
Make Reactions conserve thermal energy (#16190) 2023-05-13 13:10:32 +10:00
Ilushkins33 e808a02856
Stuttering during blood loss. (#15153)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-05-05 23:46:52 +10:00
Kara 133cbcbe88
Special digestion & kudzu-eating (#16061) 2023-05-04 12:49:25 +10:00
Leon Friedrich aeebe282d4
Prevent brains from walking (#15709)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-04-29 16:35:28 +10:00
metalgearsloth ae01618874
Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +10:00
metalgearsloth acf79a8209
Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01 71f358a027
Replace `ResourcePath` with `ResPath` (#15308) 2023-04-19 23:39:17 +10:00
Whisper 1b31da956a
Bloodloss drunk status no longer persists after being healthy AND dead bodies will still bleed (#15189)
* removing drunk scaling with missing blood, drunk will apply until blood restored

* added new drunk function to go with new bloodloss drunk code

* initial tryremovetime code for drunk system. Still need to code it into bloodloss and test.

* initial tryremovetime code for drunk system. Still need to code it into bloodloss and test.

* Drunk status added by low blood level should be removed when healthy

* Everything is working in the dev enviroment. Cleaning up code.

* Dead bodies bleed, do not recover blood, and do not take further bloodloss damage to missing blood

* Last commit
2023-04-18 23:09:22 -04:00
Leon Friedrich fc347e6f1b
Fix gibbing related test warnings (#15466) 2023-04-17 12:12:15 +10:00
Whisper 6cc9a56cc4
[Tweak] Increased passive blood recovery from 0.3u to 1u (#15312) 2023-04-12 14:14:42 -06:00
Leon Friedrich 21378f6e41
Fix misc bugs (#15314) 2023-04-12 10:18:30 +10:00
Kara 3bb2b27169
Delete more body code (#15259) 2023-04-10 23:28:10 -07:00
metalgearsloth 317a4013eb
Puddles & spreader refactor (#15191) 2023-04-10 15:37:03 +10:00
Whisper 0e43f90bb8
The bleed update (#14814)
* Removed arbitrary modifier scaling. The bleed amount is now 1-1 in units.

* Added some comments to explain the blood and bleed code

* added some comments

* added some comments

* profusely bleeding message scales with max bleed rate

* Added some comments

* Added some comments (tm)

* Halved the speed bleed rate heals.

* Changed the wording of a comment to make the function of the values more clear

* Changed bleed rate values, made heat heal more bleed rate

* doubled crit chance, since damage types were reduced

* Made iron restore more blood, 2->4u per 1u

* Starting to add the blood pack

* add bloodlevel to healingcomponent

* Created code support in the healing system for restoring blood

* first test of blood pack prototype

* More pack testing, and defining the yml stack

* yml syntax fix

* adds bloodpack tag

* Successfully added the item, but the effect and deletion after using the item is not working yet.

* the blood regen worksgit add -A!

* blood pack is entirely functioning

* Removed bleed rate healing from brute pack

* Comment correction

* I tried

* Removed bleed stats from corrupted corgi, they inherit same stats from basemob

* Removed bleed stats from xeno, they inherit same stats from a base mob

* Removed bleed stats from diona, they inherit same stats from a base mob

* Removed bleed stats from slimes, they inherit same stats from a base mob

* All mobs now heal bloodloss damage at a rate of 1 instead of 0.25 when healthy

* The cautery now closes bleed wounds

* Nerf blood pack bleed rate heal

* Added 2 blood packs to medicine locker

* Added 2 blood packs to wall medicine locker

* Minor YML fix to chemistry locker, no changes in game

* Added tag to medical belt for blood pack, added 2 blood packs to medical belt

* Added 1 gauze to medical belt

* 5 blood packs addded to nanomed plus

* nanomed inventory change

* 2 blood packs added to medical supplies crate from cargo

* Moved 1 gauze from med kit to advanced med kit

* Moved 1 tricord pill from advanced med kit to basic med kit

* added 2 ointment to burn kit

* Moved ina syringe from burn treatment to oxygen kit

* Removed one gauze from brute kit

* Added one bloodpack to brute med kit

* Moved tranex acid syringe from advanced first aid to brute kit

* Poison medipen moved from advanced first aid kit to toxin kit

* Removed health analyzer from advanced first aid kit

* removed one brute pack from advanced aid kit

* added one ointment to advanced aid kit

* Added one blood pack to advanced aid kit

* Added 2 blood packs to combat med kit

* Starting with adding the license for the tg sprite

* Adds the blood pack sprite and meta.json code

* I forgor to actually code the sprite in

* Advanced med kit missing one blood pack

* Replaced tricord pill with emergency medipen in cobat kit

* Removed emergency pen from combat kit, there's no space for it

* Revert "I tried"

This reverts commit 94c2e28df3200993d3f09b72ecabc838ea5ae5c0.

* Trying to fix yml test fail

* Try again

* attempt number 3

* Restock crate price was too low

* fixing merge conflict without making a HUGE mess this time

* ???

* again

* again

* Can I add the newline now maybe???

* Revert "Can I add the newline now maybe???"

This reverts commit 22d26706a65a24633f7da1dea6315012e2d3ac6f.

* Adds the doafter fix code from Keron to the blood level healing

* minor typo fix

* Feedback from Emisse and sloth; Removed chance based feedback on cauterizing

* comment fix
2023-04-02 23:59:51 -06:00
Leon Friedrich 19277a2276
More DoAfter Changes (#14609)
* DoAfters

* Compact Clone()

* Fix mice and cuffables

* Try generalize attempt events

* moves climbabledoafter event to shared, fixes issue with climbable target

* Fix merge (cuffing)

* Make all events netserializable

* handful of doafter events moved

* moves the rest of the events to their respective shared folders

* Changes all mentions of server doafter to shared

* stop stripping cancellation

* fix merge errors

* draw paused doafters

* handle unpausing

* missing netserializable ref

* removes break on stun reference

* removes cuffing state reference

* Fix tools

* Fix door prying.

* Fix construction

* Fix dumping

* Fix wielding assert

* fix rev

* Fix test

* more test fixes

---------

Co-authored-by: keronshb <keronshb@live.com>
2023-04-02 21:13:48 -04:00
faint 8b6996cbae
DNA basics (#14724)
* DNA component

* Commit numba 2

* Added DNA into Station Records Computer

* commit numba 3

* commit numba 4

* Vomit also contain DNA component now

* fixed DNA field not clearing after scanning another item

* commit numba 10
Drinking leaves DNA on an object. Breaking glasses, bottles and beakers leave DNA and leave fingerprints/fibers with 40% chance on glass shards. + lotta fixes

* 11

* 12

* 14

* Added DNA guide entry

* FIX
2023-03-30 22:49:25 -06:00
Leon Friedrich 4d71b1b81e
Revert "Mind ecs" (#14881) 2023-03-27 08:24:00 +11:00
ShadowCommander bfc4da9377
Mind ecs (#14412) 2023-03-26 14:31:13 -04:00
Kara b4502757a5
Partial revert #14648 (#14759) 2023-03-21 16:47:26 -07:00
Leon Friedrich d89f4670f1
Fix BloodstreamComponent enumerator (#14714) 2023-03-17 12:40:20 +11:00
Kara c9dfe6ee0c
Blood tweaks & fixes (#14648) 2023-03-16 15:27:28 -07:00
metalgearsloth 44fb8a9e2d
Fix rsi sprite access for verbs (#14284) 2023-02-26 18:48:57 +11:00
keronshb 9ebb452a3c
DoAfter Refactor (#13225)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-02-25 01:01:25 +01:00
Leon Friedrich 48bcd30ef9
Makes humanoid appearance component networked. (#13009)
Fixes https://github.com/space-wizards/space-station-14/issues/12248
2023-01-24 11:38:19 +11:00
metalgearsloth 1b0e50ae19
Remove last component.Name calls (#13593) 2023-01-19 13:57:18 +11:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
Jezithyr eeb5b17b34
Mobstate Refactor (#13389)
Refactors mobstate and moves mob health thresholds to their own component

Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-01-13 16:57:10 -08:00
Leon Friedrich 466384b081
Solution rejig (#12428) 2023-01-12 14:41:40 +11:00
keronshb f6e1dc15ac
Adds delay to internals alert (#13195)
closes https://github.com/space-wizards/space-station-14/issues/12721
2023-01-01 16:03:19 -08:00
metalgearsloth 2287f9df11
Fix bloodstream nullref exception (#13243)
Fixes https://github.com/space-wizards/space-station-14/issues/13018
2022-12-31 21:58:00 -08:00
Rane 8613d40aa1
Scale other needed metabolism reagents (#12005)
Closes https://github.com/space-wizards/space-station-14/issues/7434
2022-12-21 06:51:49 -08:00
Jezithyr 5f9b4adf47
Cleaned up obsolete properties from MobStateComponent (#13097)
Co-authored-by: Jezithyr <Jezithyr@gmail.com>
2022-12-19 21:25:35 -06:00
Leon Friedrich 881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Nemanja 45b72d4852
nullable parts in body prototypes (#12935)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2022-12-10 02:07:09 +01:00
Justin Trotter ef5b2a19fa
toggle internals icon uses back internals (#12478) 2022-12-06 15:14:08 -08:00
Pieter-Jan Briers 90cc6e391b
.Keys.Contains() -> .ContainsKey() (#12873) 2022-12-05 10:46:52 +11:00
Chief-Engineer 67cfc2e81d
Fix addhand command (#12836) 2022-12-02 17:13:27 -08:00
Leon Friedrich b544098af8
fix body gibbing exception (#12787) 2022-11-28 13:33:19 +11:00
metalgearsloth 32ba8e4f9d
Cleanup internals (#12719)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2022-11-23 19:26:51 +11:00
Leon Friedrich 6917b0fe17
Misc audio and related changes for replays (#12578) 2022-11-22 11:49:48 +11:00
keronshb 671324bef8
Implanters and Subdermal Implants (#11840)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-11-20 17:49:37 +11:00
DrSmugleaf 7fbc2608e8
Remove redundant read-only VV from datafields (#12626) 2022-11-16 20:22:11 +01:00
Bright0 ecc969d8f4
Internals alert fix and adjustment (#12517)
* add low pressure data field

* resolve CheckSeverity bug, replace logic

* add configurable low pressure threshhold
2022-11-09 19:02:14 -06:00
Justin Trotter 8c0b113fcf
Pet internals (#12376)
* toggle other crew and pet internals

* oops
2022-11-08 15:04:06 -06:00
corentt 37997d4dda
Stop reducing output pressure of gastank when low pressure (#11818)
* stop reducing output of gastank when low pressure

* fix display internal alert

* rephrase moles quantity check
2022-11-08 14:23:41 -06:00
metalgearsloth 70cf361caa
Don't predict body init (#12163)
* Don't predict body init

Client doesn't handle predicted entity spawning so the organs hang around.

* Just use init

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-10-24 17:08:41 -07:00
DrSmugleaf f323fb7644
ECS and cleanup body system, merge body templates and presets into body prototypes (#11991)
Co-authored-by: Jezithyr <Jezithyr@gmail.com>
2022-10-22 15:46:28 -07:00
Rane ee10581e88
scale reagent damage when under metabolism rate (#11578) 2022-10-09 12:40:49 -07:00
Kognise aba2462a97
Internals improvements (#11677) 2022-10-03 18:01:20 -07:00
Flipp Syder 5a0a04bde7
Humanoid appearance refactor (#10882)
* initial commit
- species prototype modifications
- markings points as its own file
- shared humanoid component

* adds a tool to convert sprite accessories to markings (in go)

* removes a fmt call

* converts sprite accessory to markings

* adds hair and facial hair to marking categories

* multiple changes
- humanoid visualizer system
- markings modifications for visualizer
- modifications to shared humanoid component
- lays out a base for humanoid system

* hidden layers, ports some properties from appearance component, shrinks DefaultMarkings a little

* squishes the initialize event calls into one function

adds stuff to set species/skin color externally from a server message - currently laid out as if it a dirty call to a networked component, may be subject to change (server-side has not been implemented yet)

* makes the sprite pipeline more obvious

* apply all markings, hidden layer set replacement

* ensures that markings are cleared when the new set is applied

* starts refactoring markingsset (unfinished)

* more additions to the markingset api

* adds constructor logic to markingset

* adds a method to filter out markings in a set based on a given species

* fixes enumerators in markingset

* adds validator into MarkingSet, fixes ForwardMarkingEnumerator

* modifications to the humanoid visual system

* ensuredefault in markingset

* oop

* fixes up data keys, populates OnAppearanceChange in visualizer

* changes to humanoid component, markings

marking equality is now more strict, humanoidcomponent is now implemented for client as a child of sharedhumanoidcomponent

* markings are now applied the visualizer by diffing them

* base sprites are now applied to humanoids from humanoidvisualizer

* passes along base sprite settings to the marking application so that markings know to follow skin color/alpha or not (see: slimes)

* custom base layers on humanoids

* merges all data keys into one data class for humanoid visualizers

* setappearance in sharedhumanoidsystem, removes custombaselayercolors

* humanoidcomponent, system (empty) in server

* adds some basic public API functions to HumanoidSystem

* add marking, remove marking

* changes appearance MarkingsSet to a List<Marking>, adds listener for PlayerSpawnCompleteEvent in HumanoidSystem

* ensuredefaultmarkings, oninit for humanoids

* markingmanager API changes

* removes MarkingsSet

* LoadProfile, adjusts randomization in humanoid appearance to account for species

* base layer settings in humanoidsystem, eye color from profile

* rearranges files to centralize under Humanoid namespace

* more reorganization, deletes some stuff

gotta break stuff to make other things work, right?

goodbye SpriteAccessory...

* fixes a good chunk of server-side issues

still does not compile, yet

* singlemarkingpicker xaml layout

* singlemarkingpicker logic

* magic mirror window (varying pieces of it, mostly client-oriented)

* removes some imports, gives MagicMirror a BUI class (not filled in yet)

* populates magic mirror BUI functionality / window callbacks

* fixes up some errors in humanoidprofileeditor

* changes to SingleMarkingPicker

SingleMarkingPicker now accepts a List<Marking>, species, and total possible markings available in that marking category

* fixes up hair pickers on humanoid profile editor

* fixes the errors in markingpicker

* markingsystem is now gone

* fixes a bunch of build errors

* so that's why i did it like that

* namespace issues, adds robustxamlloader to singlemarkingpicker

* another robustxamlloader

* human, lizard sprites/points

* prototype fixes, deletion of old spriteaccessory

* component registration, fixes dwarf skin toning

no, 'ReptilianToned' does not exist

* removes component registration from abstract humanoid component

* visualizer data now cloneable

* serialize for visualizer key

* zero-count edge case

* missing semi-colon moment

* setspecies in humanoidsystem

* ensures that default markings, if empty, will cause ensuredefault to skip over that given category

* tryadd instead of add

* whoops

* diff and apply should properly apply markings now

* always ensure default, fixes double load for player spawning

* apply skin color now sets the skin color property in humanoidcomponent

* removes sprite from a few species prototypes

* sprite changes for specific base layers based on humanoid sex

* layer ordering fix, and a missing base layer should now disallow markings on that layer

* anymarking base layer, adds the right leg/foot for humans

* loading a profile will now clear all markings on that humanoid

* adds missing layers for humans

* separates species.yml into respective species prototype files

* ensures that if layer visibility was changed, all markings have to be reapplied

* server-side enforcement of hiding hair (and other head-related markings) when equipping things that hide hair

* slime fix, clothingsystem now dictates layer visibility server side

* sussy

* layer settings should now ensure a marking should match the skin tone

* whoops

* skincolor static class and functions in UI

* skin color validation in humanoidcharacterappearance

* markingpicker now shows only the markings for the selected category in used

* getter for slot in singlemarkingpicker now ensures slot is 0 if markings exists

* FilterSpecies no longer attempts to do removal while iterating

* expands for SingleMarkingPicker

* humanoid base dummy has blank layers now (and snout/tail/headside/headtop)

* fixes an issue with visualizer system if the marking count was different but the markings themselves were (somewhat) the same

* whoops

* adds edge case handlers for count differences in humanoid markings

* preview now loads profile instead of directly setting appearance

* moves marking set loading to update controls

* clones a marking set in markingpicker by using the deep clone constructor

* whoops (deep cloning a marking now copies the marking id)

* adds replace function for markingset

* points should now update after the markings are remove/added

* merging base layer sprites into a humanoid should now clear them before merging

* sets dirty range start to count only if the dirty range start was never set above 0

* fixes up some issues with singlemarkingpicker

* color selector sliders in single marking picker should now expand

* hair from hair pickers should now apply in profile loading (client-side)

* category in singlemarkingpicker now sets the private category variable

* slot selector should now populate

* single marking picker buttons now have text, also shows the category name over all user-clickable elements

* removes a comment

* removing hair slots now sets it to bald, defaults to zero used slots if current hair is bald on hair/facial hair

* random skin color, eye color

* populate colors now checks if the marking count is greater than zero in singlemarkingpicker

* hair/facial hair pickers now just get the first possible hair from the respective species list

* different approach to random skin color

* oh, that's why it wasn't working

* randomize everything now just updates every single control

* selecting a new marking in SingleMarkingPicker should attempt to copy over old colors, populate list now uses cache,

* markingmanager now uses OnlyWhitelisted to populate by category and species

* filterspecies now uses onlyWhitelist to filter markings based on whitelist or not

* oops

* ui fix for singlemarkingpicker, ensures that cache is not null if it is null when populatelist is called

* order of operations for the horizontal expand for add/remove

* hair pickers should now update when you add/remove the hair slot

* fixes variable naming error in character appearance

* loc string fix in singlemarkingpicker

* lizards, vox now have onlyWhitelist, vox restriction for hair/facialhairs

* having zero possible hairs should no longer cause an exception in randomization

* setting species should now update hair pickers

* ignore categories for marking picker

* and a clear as well for the category button

* places that functionality in its own function instead

* adds eye base sprite, vox now also have their own custom eye sprites

* loading a profile client-side should do FilterSpecies for markings now

* client-side load profile does filter species after adding in the hairs now

* magic mirror

* callbacks now call the callback instead of adding it on construct

* whoops

* in removemarking too

* adds missing synchronize calls

* comments out an updateinterface call in magic mirror

* magic mirror window title, minimum sizing

* fixes minsize, adds warning for players who try to set their hair for species that have no hair

* removes spaces in xaml

* namespace changes/organization

* whoopsie (merge conflicts)

* re-enables identity from humanoid component

* damagevisuals now uses the enum given to it instead of the layerstate given on that layer tied to the enum

* removes commas from json

* changes to visuals system so the change is consistent

* chest

* reptilian

* visualizer system now handles body sprite setting/coloration, similar to how characterappearance did it

not a big fan of this

* adds a check in applybasesprites

* adding/removing parts should now make them invisible on a humanoid

* body part removal/adding now enumerates over sublayers instead

* synchro now runs in bodycomponent startup

* parts instead of slots

* humanoidcompnent check

* switches from rsi to actualrsi

* removes all the body stuff (too slow)

* cleans up resolves from humanoid visualizer system

* merging sprites now checks if the base sprites have been modified or not (through things like species changes, or custom base sprite changes)

* not forgetting that one again

* merging now returns an actual dirty value

* replaces the sequenceequal with a more accurate solution

* permanent layers, layer visibility on add/remove part in body

* should send all hidden layers over now

* isdirty in visualizer system for base layers

* isdirty checks count as well

* ok, IsDirty should now set the base layers if the merged sprites are different

* equals override in HumanoidSpritePrototypes.cs

temporary until record prototypes :heck:

* makes fields readonly, equates IDs instead

* adds forced markings through marking picker

* forced in humanoidsystem api, ignorespecies in markingpicker

* marking bui

* makes that serializable as well

* ignore species/forced toggles now work

* adds icon to modifier verb, interface and keys to humanoid bases

* needs the actual enum value to open, no?

* makes the key the actual key

* actions now propagate upwards

* ignore species when set now repopulates markingpicker

* modifiable base layers in the markings window

* oops!

* layout changes

* info box should now appear

* adds ignorespecies for marking picker, collapsible for base layer section of appearance modification window

* collapsible layout moment

* if base layers have changed, all markings are now dirty (and if a base layer is missing, the marking is still 'applied' but it's now just invisible

* small change to marking visibility

* small changes to modifier UI

* markings now match skin on zombification

* zombie stuff

* makes the line edit in marking modifier window more obvious

* disables vox on round start

* horizontal expand on the single label in base layer modifiers

* humanoid profiles in prototypes

* randomhumanoidappearance won't work if the humanoid has a profile already stored

* removes unused code

* documentation in humanoidsystem server-side

* documentation in shared/client

* whoops

* converts accessory into marking in locale files (also adds marking loc string into single marking picker)

* be gone, shared humanoid appearance system from the last upstream merge

* species ignore on randomization (defaults to no ignored species)

* more upstream merge parts that bypassed any errors before merge

* addresses review (also just adds typeserializers in some places)

* submodule moment

* upstream merge issues
2022-09-22 17:19:00 -05:00
Illiux 611b11976e
Return from TryMetabolize early if there are no reagents to process (#11372) 2022-09-17 07:26:01 -07:00
Illiux c380577156
Remove unnecessary ToArray() call in Exhale (#11368) 2022-09-16 22:15:19 -07:00
Visne 356a6b8d2e
Event-ify Rejuvenate (#11145) 2022-09-15 03:30:56 +10:00
Kevin Zheng 45349e3c0d
Add gas recyclers (#9934)
* Add RemoveVolume()

RemoveVolume(vol) captures the common pattern of:

    air.RemoveRatio(vol / air.Volume)

Change existing code to use this method where appropriate.

* Add gas recyclers

Gas recyclers catalyze the conversion of CO2 and N2O to O2 and N2. The
gas recycler component takes waste gas from the input net and releases
the result into the output net.

To make things more fun, the input net must be pressurized to 3 MPa and
heated to at least 300 C; otherwise, no reaction will occur.

Game-mechanic wise, gas recyclers contain the catalyst for the
conversion reaction, and therefore, requires no external power. However,
the external pumps and heaters required to make the reaction happen
still do.

* Fix gas recyclers

Fix negative sqrt, fix pressure check after remove.
2022-09-11 18:02:01 -05:00
Will Robson 7accbcbe9b
Implement Charcoal. #10042 (#11024)
* Add charcoal

Flush chemicals that are not the charcoal out of the chemical stream

* Add into EN localization to get chem dispenser to display correctly

* Remove method that wasn't needed

* Remove charcoal from dispenser

Charcoal is made by combing ash and carbon

* Place ash in elements prototype
2022-09-10 18:20:44 -05:00
metalgearsloth 9b84c1a9fd
Remove all but 1 IsIncapacitated (#10661) 2022-08-25 23:56:56 +10:00
Leon Friedrich 93584f21db
Add entity prototype save test (#10274) 2022-08-17 10:47:58 +10:00
Rane 2f4849eae1
Cloning Rework (#8972)
Co-authored-by: fishfish458 <fishfish458>
2022-08-03 21:05:17 -07:00
Leon Friedrich 55665766cf
Fix gas tank bug (#10197)
* Fix gas tank bug

* avoid partial connects

* Revert "avoid partial connects"

This reverts commit 598a871442b74bfe05948e3df8ed47722315722d.
2022-08-01 17:43:20 +10:00
Rane 95bf54af7a
Add dizziness as a symptom of bloodloss (#10172) 2022-07-30 19:24:24 -07:00
Leon Friedrich c7ad6b709e
Audio System Rejig (#9635) 2022-07-29 12:13:12 +10:00
metalgearsloth 40a7584c2f
Gas tank internals alerts (#9567) 2022-07-25 14:42:25 +10:00
metalgearsloth b9e876ca92
The real movement refactor (#9645)
* The real movement refactor

* ref events

* Jetpack cleanup

* a

* Vehicles partially working

* Balance tweaks

* Restore some shitcode

* AAAAAAAA

* Even more prediction

* ECS compstate trying to fix this

* yml

* vehicles kill me

* Don't lock keys

* a

* Fix problem

* Fix sounds

* shuttle inputs

* Shuttle controls

* space brakes

* Keybinds

* Fix merge

* Handle shutdown

* Fix keys

* Bump friction

* fix buckle offset

* Fix relay and friction

* Fix jetpack turning

* contexts amirite
2022-07-16 13:51:52 +10:00
Kara 2d5ec7f85c
Id[entity] 2.0 (real) (#9612)
* starter API

* network ID cards

* Port more stuff from old identity

* Re-implement identity representation + name updating

* move

* proper name returning for `IdentityName`

* move everything important to server, give in to  temptation

* shared / server / client split sadly. move ensure to shared and spawn to server

* identity update queueing + identityblocker

* fixes

* and just like that it's usable for admins

* huge identity pass

* pass dos

* jesus christ

* figs :D

* fuck u

* fix bad merge.

Co-authored-by: Moony <moonheart08@users.noreply.github.com>
2022-07-10 20:36:53 -05:00
Kara dc28b58468
Visual popup types (#9523)
* Visual popup types

* Pass over `PopupCoordinates` and `PopupCursor`

* `PopupEntity` pass

* Disease and reagent popup pass

* COLOUR
2022-07-09 04:09:52 -05:00
Kara f092f478f7
Satiety tweaks (#9519)
* Satiety tweaks

* actually lets do this
2022-07-07 11:21:26 -07:00
Rane 6f9e3cc461
Bloodstreams now have their own drawing behavior (#8920) 2022-07-04 17:37:21 -07:00
Vera Aguilera Puerto aa9281d667
Refactors the AtmosphereSystem public-facing API to allow for multiple atmos backends. (#8134)
* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.

* actually compiles

* Remove commented out code

* funny bracket

* Move archived moles, temperature from GasMixture to TileAtmosphere.

* WIP customizable map default mixture
still VERY buggy

* broken mess
aaaaaaaaaaaaa

* Fix lattice, etc not being considered space

* visualization for "IsSpace"

* help

* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs

Co-authored-by: Moony <moonheart08@users.noreply.github.com>

* Holy SHIT it compiles AGAIN

* Fix AtmosDeviceSystem crash at shutdown

* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.

* Use space instead of gasmixture immutable for heat capacity calculations

* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.

* Fix roundstart tiles not processing

* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs

Changed Files tab is so large I can't commit both suggestions at once mfw

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-07-04 09:51:34 -05:00
Kara de6db8cb21
Stomach YAML tweaks (short-term satiety) (#9326) 2022-07-01 13:42:29 -07:00
metalgearsloth 2b6c352aff
Jetpacks (#9023)
* Movement acceleration

* tweaks

* Weightless refactor coz fuck it

* CCVars

* weightless movement tweaks

* Some cleanup while I'm here

* dorkpacks

* thanks fork

* fixes

* zoomies

* toggles

* hmm

* yamls

* b

* so true

* Effects refactor

* namespace

* review
2022-06-24 17:44:30 +10:00
metalgearsloth 8905996cfc
Make raiselocalevent not broadcast by default (#8998) 2022-06-22 09:53:41 +10:00
keronshb f7b1bda3e5
Reorders Sound Systems signatures to match Popup Systems. (#8728) 2022-06-13 09:45:47 +10:00
Pieter-Jan Briers a323ba8223
Revert "Revert "Fix some friend access violations by allowing others access. (#8594) (#8703)" (working this time) (#8704) 2022-06-07 15:26:28 +02:00
Pieter-Jan Briers cecf87997b
Revert "Fix some friend access violations by allowing others access. (#8594) (#8703) 2022-06-07 13:44:31 +02:00
Vera Aguilera Puerto c5f7c61041
Fix some friend access violations by allowing others access. (#8594)
Rename Friend attribute to Access attribute.
Updates submodule to v0.21.0.0 as well.
2022-06-07 11:30:27 +02:00
Leon Friedrich ca7960382b
Missing nullables (#8634) 2022-06-04 17:17:48 +10:00
wrexbe 1e0babbd50
Make AdminLogsSystem an IoC manager (#8492)
* Make log not entity system

* Fixes
2022-05-28 23:41:17 -07:00
Moony 130302a262
Adds twenty-one new smites, moves the explosion smite to the verb category. (#8456)
* Adds seven new smites, moves the explosion smite to the verb category.

* adds even more smites.

* Even more smites, some messages for specific smites.

* Adds even more smites.

* Removes some junk, adds a smite that angers the pointing arrows.

* get rid of dumb component.

* Remove mistake from verb menu presentation.

* How did that happen?

* whoops

* c

* e

* fuck

* Loading...

* removes the BoM go away

* adds the funny kill sign. Fixes ghost smite.

* Move systems around.

* Adjust organ vomit.

* Adds a smite that turns people into an instrument, and one that removes their gravity.

* oops

* typo

Co-authored-by: Veritius <veritiusgaming@gmail.com>
2022-05-27 00:41:18 -07:00
Kara 2273b58fbe
Entities gib when being microwaved (#8144) 2022-05-14 14:04:45 +10:00
EmoGarbage404 53a05caa35
Skeleton Bugfix Pt. 2 (#8137) 2022-05-13 18:31:34 -07:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
wrexbe 61d147aea9
Fixing warnings (#8131) 2022-05-13 15:35:13 +10:00
EmoGarbage404 075eb0d982
The Newest Furry Race [Skeletons] (#7825)
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-13 09:35:55 +10:00
Alex Evgrashin 860db943e1
Reagents localization (#7916)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-12 21:06:01 +10:00
EmoGarbage404 db56d5ef60
Zombies!!! (#7509)
* wip

* heal on bite

* more fixes and additions

* don't crash

* Update medicine.yml

* zombie claw item and damage resist

* ignoredcomponents.cs

* Add zombie claw, fix infection, add immunities

* fix

* razzle dazzle

* yaml fix

* Update Content.Server/Disease/DiseaseZombieSystem.cs

Co-authored-by: Moony <moonheart08@users.noreply.github.com>

* Update Content.Server/Disease/DiseaseZombieSystem.cs

Co-authored-by: Moony <moonheart08@users.noreply.github.com>

* Update Content.Server/Disease/DiseaseZombieSystem.cs

Co-authored-by: Moony <moonheart08@users.noreply.github.com>

* Update Content.Server/Disease/DiseaseZombieSystem.cs

Co-authored-by: Moony <moonheart08@users.noreply.github.com>

* sdasadsadsadasd

* Generalize DiseaseProgression.cs

* final final final final final final cope seethe

* Update medicine.yml

* Update Content.Server/Disease/Components/DiseaseZombieComponent.cs

Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>

* Update BloodstreamSystem.cs

* Update Content.Server/Disease/Components/DiseaseZombieComponent.cs

Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>

* Update Content.Server/Disease/DiseaseZombieSystem.cs

Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>

* fixing until i die

* folder + zombietransfer fix

* smol fixe

* the smallest of fixes

* aaaa

* Infection timer buff

Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>
2022-04-18 17:30:22 -05:00
Rane 5376aed6ea
Beds, Medical Beds, Stasis Beds (#6695) 2022-04-15 15:53:52 -07:00
Leon Friedrich 66b0820ed6
Fix smoke fork bomb (#7401) 2022-04-04 11:02:33 -05:00
mirrorcult 6060dbca1b
Don't use ienumerable stuff in body system (#7316) 2022-03-28 13:52:53 -07:00
Rane 926e36d81d
Convert almost all IActivate instances that open UIs to ActivatableUI (#7028)
* Chem master

* Drone support for handhelds

* Vending machines, scanners

* Cloners, R&D computers

* make research a little less sussy

* Unfuck wires

* PA control computer

* Unfuck merge

* Clean up git gore for good

* Disposals

* Microwaves

* paper

* Magic mirror

* More vendors for drones

* Solar computer whitelist

* EFR review updates
2022-03-12 11:26:06 -07:00
Leon Friedrich 7fd559dafd
fix blood loss divide by zero (#7004) 2022-03-05 19:28:04 -06:00
mirrorcult e85bdc2d87
More blood tweaks (#6811) 2022-02-20 17:18:24 -07:00
mirrorcult 22b36cee36
Blood stuff in health examine (#6788)
* Blood stuff in health examine

* oop
2022-02-19 00:03:15 -06:00
mirrorcult 676ca21b5f
Add knife butchering and blood gibbing (#6770) 2022-02-18 15:57:42 -07:00
mirrorcult 3010de33fc
Spill some of the chemstream when bleeding (#6772) 2022-02-17 23:00:50 -07:00
mirrorcult a57d78a3f2
Basic bleeding mechanics (#6710) 2022-02-17 15:00:41 -07:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Leon Friedrich 86d1150084
Fix exhaling on salvage maps. (#6678) 2022-02-12 15:08:54 -07:00
mirrorcult 2738b46362
Lung tweaks (#6634) 2022-02-10 14:58:41 -07:00
Leon Friedrich fa309bb318
Fix being able to breathe in crit. (#6629) 2022-02-10 12:04:04 -07:00
Leon Friedrich 706ac6af40
Revert "Revert "epic Respiration Rework"" (#6527) 2022-02-09 21:53:10 -07:00
wrexbe 425712adea
Removed extra comp name attributes (#6449) 2022-02-08 19:42:49 +11:00
Leon Friedrich 6e8c92d13e
Revert "epic Respiration Rework" (#6524) 2022-02-07 18:13:14 +11:00
mirrorcult 4ae1c4e332
epic Respiration Rework (#6022) 2022-02-06 21:48:15 -07:00
wrexbe 17db0775c8
Auto comp (#6416) 2022-02-02 14:35:40 +11:00
Acruid 5b1cd2dd96
ECSatize AlertsSystem (#5559) 2022-01-05 19:19:23 +11:00
mirrorcult 5249ea057a
Kill bobby 2.0 (#6023) 2022-01-04 10:17:39 +01:00
Paul Ritter 512d6a38c3
get that crap outta here (completely rewrites inventorysystem) (#5807)
* some work

* equip: done
unequip: todo

* unequipping done & refactored events

* workin

* movin

* reee namespaces

* stun

* mobstate

* fixes

* some work on events

* removes serverside itemcomp & misc fixes

* work

* smol merge fix

* ports template to prototype & finishes ui

* moves relay & adds containerenumerator

* actions & cuffs

* my god what is actioncode

* more fixes

* im loosing my grasp on reality

* more fixes

* more work

* explosions

* yes

* more work

* more fixes

* merge master & misc fixed because i forgot to commit before merging master

* more fixes

* fixes

* moar

* more work

* moar fixes

* suffixmap

* more work on client

* motivation low

* no. no containers

* mirroring client to server

* fixes

* move serverinvcomp

* serverinventorycomponent is dead

* gaming

* only strippable & ai left...

* only ai and richtext left

* fixes ai

* fixes

* fixes sprite layers

* more fixes

* resolves optional

* yes

* stable™️

* fixes

* moar fixes

* moar

* fix some tests

* lmao

* no comment

* good to merge™️

* fixes build but for real

* adresses some reviews

* adresses some more reviews

* nullables, yo

* fixes lobbyscreen

* timid refactor to differentiate actor & target

* adresses more reviews

* more

* my god what a mess

* removed the rest of duplicates

* removed duplicate slotflags and renamed shoes to feet

* removes another unused one

* yes

* fixes lobby & makes tryunequip return unequipped item

* fixes

* some funny renames

* fixes

* misc improvements to attemptevents

* fixes

* merge fixes

Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
2021-12-30 22:56:10 +01:00
Leon Friedrich afc3ae6335
Make more uids nullable (#5794) 2021-12-26 13:32:45 +11:00
Paul 97e47178d7 Revert "fixes a bunch of warnings"
This reverts commit d4d85b663f.
2021-12-20 15:20:27 +01:00
Paul d4d85b663f fixes a bunch of warnings 2021-12-20 13:58:30 +01:00
Fishfish458 026f2ee313
Small changes for crit mobs to be able to gasp and dead mobs to show dead on examine (#5828)
* [ADD] changes to be able to identify living downed players

* [FIX] format of tryGetComponent, fixed string

* [CHANGE] PR mind component suggestions

* [CHANGE] trycomp based on qa feedback

* [CHANGE] Condensed mindcomponent as per feedback

Co-authored-by: fishfish458 <fishfish458>
2021-12-19 14:45:47 -08:00
Leon Friedrich 7f81f0b8b8
Add more pretty strings to logs (#5768) 2021-12-13 12:22:58 +01:00
Vera Aguilera Puerto f6371c6e62 Make all current admin logs use ToPrettyString 2021-12-11 16:00:10 +01:00
Paul 0121f056df nukes more resolves 2021-12-08 19:39:03 +01:00
Vera Aguilera Puerto ba736f70df Remove many resolves on Content.Server 2021-12-08 17:04:21 +01:00
Vera Aguilera Puerto 3f79e3754f Merge branch 'master' into 2021-12-03-remove-IEntity-komm-süsser-todd
# Conflicts:
#	Content.Client/Crayon/CrayonDecalVisualizer.cs
#	Content.Client/Tabletop/TabletopSystem.cs
#	Content.IntegrationTests/Tests/InventoryHelpersTest.cs
#	Content.Server/AI/EntitySystems/AiSystem.cs
#	Content.Server/AI/Utility/AiLogic/UtilityAI.cs
#	Content.Server/AME/AMENodeGroup.cs
#	Content.Server/Administration/AdminVerbSystem.cs
#	Content.Server/Body/Systems/RespiratorSystem.cs
#	Content.Server/Chemistry/Components/InjectorComponent.cs
#	Content.Server/Chemistry/TileReactions/CleanTileReaction.cs
#	Content.Server/Chemistry/TileReactions/SpillTileReaction.cs
#	Content.Server/Crayon/CrayonComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Explosion/EntitySystems/TriggerSystem.cs
#	Content.Server/Fluids/Components/MopComponent.cs
#	Content.Server/Fluids/Components/SpillExtensions.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.cs
#	Content.Server/Instruments/InstrumentSystem.cs
#	Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
#	Content.Server/Nutrition/EntitySystems/FoodSystem.cs
#	Content.Server/PneumaticCannon/PneumaticCannonSystem.cs
#	Content.Server/Storage/Components/EntityStorageComponent.cs
#	Content.Server/Storage/Components/StorageFillComponent.cs
#	Content.Server/Stunnable/StunbatonSystem.cs
#	Content.Server/Throwing/ThrowHelper.cs
#	Content.Server/Weapon/Ranged/Barrels/BarrelSystem.cs
#	Content.Server/Weapon/Ranged/Barrels/Components/ServerBatteryBarrelComponent.cs
#	Content.Server/Weapon/Ranged/ServerRangedWeaponComponent.cs
#	Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs
#	Content.Shared/Damage/Components/DamageableComponent.cs
#	Content.Shared/Damage/Systems/DamageableSystem.cs
#	Content.Shared/MobState/Components/MobStateComponent.cs
#	Content.Shared/Slippery/SharedSlipperySystem.cs
2021-12-07 17:48:49 +01:00
metalgearsloth 16e1bed678 Random IoCManager.Resolve<IEntityManager> removals moment 2021-12-07 23:48:34 +11:00
metalgearsloth 8af335097f More (IComponent) shenanigans and also some contaminated IoCManager.Resolve<IEntityManager>() very long yes calls 2021-12-07 22:22:34 +11:00
Vera Aguilera Puerto c57b07a4d0 Goes in-game now 2021-12-06 15:34:46 +01:00
metalgearsloth 525297c5fe A bunch of AttachedEntity bullshit 2021-12-06 15:39:46 +11:00
DrSmugleaf 2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Leon Friedrich c33d06c544
lung fix (#5697) 2021-12-04 01:11:48 -07:00
Vera Aguilera Puerto f386b57148 Inline OwnerUid 2021-12-03 16:30:34 +01:00
Vera Aguilera Puerto 5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto 2654775bf0 Inline GetComponentOrNull 2021-12-03 15:32:05 +01:00
Vera Aguilera Puerto ee4ff9cfe8 Inline Name 2021-12-03 15:25:51 +01:00
Vera Aguilera Puerto a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Vera Aguilera Puerto 69b270017b Inline TryGetComponent completely, for real 2021-12-03 14:17:01 +01:00
Vera Aguilera Puerto 2ff4ec65d5 Inline TryGetComponent completely 2021-12-03 14:05:27 +01:00
Vera Aguilera Puerto 0feebbff00 Inline HasComponent entirely 2021-12-03 12:23:18 +01:00
Vera Aguilera Puerto b835bea086 Inline GetComponent 2021-12-03 11:55:25 +01:00
Vera Aguilera Puerto c2e6da1e54 Inline QueueDelete 2021-12-03 11:43:22 +01:00
Vera Aguilera Puerto 5e177ae734 Inline EntityManager 2021-12-03 11:18:05 +01:00
mirrorcult 53c0a47e39
Slay bobby pt. 1 (#5632) 2021-12-01 11:44:34 +01:00
mirrorcult ccf01d7431
Remove LungBehavior and replace with LungComponent/System (#5630) 2021-11-30 18:25:02 -07:00
mirrorcult e3af2b5727
ECS BloodstreamComponent (#5629) 2021-11-30 16:47:21 -07:00
mirrorcult fc4a950257
Split Respirator into ThermalRegulator and Respirator and ECSes both (#5603) 2021-11-28 19:25:42 -07:00