Commit Graph

301 Commits

Author SHA1 Message Date
chromiumboy 66b5437d81 Crew monitor revisit (#22240) 2023-12-16 19:37:30 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
Nemanja f2b749bd31 Fix borg mobstates (#21307)
* Add dead states to borgs

* this?

* ack
2023-11-12 20:52:59 +01:00
Nemanja 27624ad280 Speed Boots [Tier 3 Civ-Service] (#21438)
* Speed Boots

* validate

* monkey
2023-11-12 20:48:04 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
metalgearsloth 4cf7f4f1c9 Predict tile-prying (#21167) 2023-10-23 23:54:01 +02:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
TemporalOroboros 8c55d3e5ce Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-14 22:07:17 +02:00
Kara 4f5142356a Kill `UserInterfaceHelpers` (#20912) 2023-10-14 22:02:34 +02:00
metalgearsloth de7879694f Climbing refactor (#20516) 2023-10-14 22:02:29 +02:00
Raphael Bertoche e55c41a878 Removes unnecessary message for defibbing a patient which has ghosted (#20690)
* Removes unnecessary message for defibbing a patient which has ghosted

This message is for the defib operator.

It could inform them that the patient doesn't have a consciousness since it's ghosted
but maybe no message is really the right move here because it may have succeeded
and that would be what would happen had the defib attempt succeeded - no message.

Also when the patient's ghost return to body there they will be alive as long as the
body is still alive, so telling the operator to defib again may be wrong.

* Removes corresponding ftl message which doesn't occur now
2023-10-08 19:58:47 +02:00
Slava0135 e97ae17ae7 Fix thirst (#20472)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-09-27 21:59:12 +02:00
PrPleGoo 76ef9906af Task/food hud (#19312)
* security HUD now shows a job icon on entities with a body

* thirst goggles

* set starting hud gear

* fix build

* remove from starting gear

* remove

* replace

* fix thirst and hunger icons

* update icons

* space

* space

* ]

* ]

* fix build

* fix comments

* fix

* spacing

* field

* move more namespaces

* use AutoGenerateComponentState

* comments

* fix build

* not all fields

* comments

* unpaused

* fix Dirty warning

---------

Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>
2023-09-27 21:59:12 +02:00
metalgearsloth f38f0ab614 Predict StorageComponent (#19682) 2023-09-27 21:59:12 +02:00
Leon Friedrich a8bd36c20f Fix crew monitor (#20003) 2023-09-27 21:59:12 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
DrSmugleaf c71f97e3a2
Refactor actions to be entities with components (#19900) 2023-09-08 18:16:05 -07:00
DrSmugleaf 3f3ba6ac62
Move minds, roles, jobs and objectives to shared (#19679) 2023-08-30 21:46:11 -07:00
Nemanja 4d677f0685
1v1 me first to 31 no powerups [Deathmatch Gamemode] (#19467)
Co-authored-by: Kara <lunarautomaton6@gmail.com>
2023-08-30 18:06:15 -07:00
DrSmugleaf 15c0211fb2
Refactor minds to be entities with components, make roles components (#19591)
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2023-08-28 16:53:24 -07:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07: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
Pieter-Jan Briers 7e5d03a1a8
Fix defib "return to body" prompt. (#18376) 2023-07-27 15:13:17 -04:00
MisterMecky 00104c92e4
change healing popup to be client only (#18318) 2023-07-26 02:05:32 -06:00
Whisper 301fbffcfd
adds both blood level and body temp to analyzers and cryo (#16778)
* Ports temperature scanning from mining station 14

* Added blood level to analyzer

* adds body temp and blood level to health analyzers and cryo

* Blood and temperature will show N/A if not available
2023-07-18 15:13:26 -06:00
Visne ee4809a222
Revert "Hunger and thirst HUDs" (#18125) 2023-07-18 17:28:28 +02:00
PrPleGoo 67e4b626c1
Hunger and thirst HUDs (#18066)
* security HUD now shows a job icon on entities with a body

* thirst goggles

* set starting hud gear
2023-07-18 00:01:22 -06:00
TemporalOroboros 3ac4cf85db
Cleaner BoundUserInterfaces (#17736) 2023-07-09 02:02:17 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
faint 2f85b5ea3c
Little NodeContainer ECS (#17702) 2023-06-28 21:28:38 +10:00
Arendian 7c26480b5f
Turns 90% of vomit into actual vomit (#17697)
* Changes vomit reagent composition

* Formatting
2023-06-27 20:08:57 -06:00
ShadowCommander dd7032a860
Mind ECS (#16826) 2023-06-19 04:33:19 +10:00
Ahion de63c5230b
More user friendly crew monitor UI (#17328) 2023-06-15 13:29:52 +10:00
Nemanja 19742f72b1
Fix defibs not reviving (#17195)
* defib tweaks

* fix defibs not actually reviving
2023-06-07 13:12:49 -06:00
Nemanja 409462df7f
defib tweaks (#17167) 2023-06-06 15:08:34 -06:00
Vordenburg 49ba959b82
Support multiple containers for HealingComponent (#16867) 2023-06-03 12:30:20 -07:00
Julian Giebel 8d040e57d7
Fix station limited devices station assignment (#16893)
Fix error in crew monitor window
2023-05-28 14:07:31 -06:00
Chief-Engineer 707b9063f9
Add cryopod logs (#16854) 2023-05-28 18:59:27 +10:00
Julian Giebel 85b62926ce
Fix suit sensors connecting to crew monitoring servers on grids without a station component (#16858) 2023-05-28 16:40:12 +10:00
themias ac324553ce
Show critical mobs as Alive on crew monitor (#16571) 2023-05-19 09:49:55 +10:00
metalgearsloth 35ef9787e5
Fix vomit puddles (#16449) 2023-05-16 13:26:12 +10:00
metalgearsloth 0e81cb4319
Remove diseases (#15684) 2023-05-07 17:50:37 +10:00
Julian Giebel 6ebd784cb6
Device Linking and better linking ui (#13645)
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-05-07 16:07:24 +10:00
themias a7be595954
Handheld Crew Monitor and Station Map use power (#15983) 2023-05-05 10:52:40 -07:00
metalgearsloth 2dd535284d
Set station suit sensors on player spawn (#16111) 2023-05-05 10:51:58 -07:00
Nemanja f53eae9a2c
fix game not building (#16097) 2023-05-04 16:40:47 -07:00
Nemanja b16eba534a
[fix] Fix rotting (#16039)
* Fix rotting

* empty
2023-05-02 22:57:47 -06:00
metalgearsloth c7c083e9c8
Defib fixes (#16031) 2023-05-03 11:32:06 +10:00
Nemanja 0604c93d50
Defibrillator (#15922)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-05-03 10:10:19 +10:00
Nemanja 823c8204c9
Simplifying Machine Upgrading (#15802) 2023-04-29 13:23:49 +10:00
OctoRocket a71f02e672
[Fix] Blood packs now should actually do something (#15752)
* fixes blood packs

* fix 2.0!
2023-04-28 07:01:24 -07:00
OctoRocket 705d7ccf54
[Add] Repeatable healing items (#15613)
* repeatable healing items

* comments and break

* simplified and improved

* added messages

* improved messages

* stops when bleeding stops and won't give popup when clicking on an unhealable object

* should actually stop when bleeding stops now

* rerun tests please github

* changes made

* rerun tests please github

* remove braces

* fix
2023-04-23 21:34:18 -07:00
metalgearsloth a4dfe8beed
Power cell slot QOL (#15373) 2023-04-23 12:25:12 +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
metalgearsloth be4e69b0c0
Station maps (#13027) 2023-04-13 16:21:24 +10:00
DrSmugleaf f474171451
Remove health analyzer component references (#15322) 2023-04-11 17:11:02 -07:00
metalgearsloth 317a4013eb
Puddles & spreader refactor (#15191) 2023-04-10 15:37:03 +10:00
DrSmugleaf 66adf34f59
Remove cryo pod component references (#15247) 2023-04-09 15:28:19 -07: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
Nemanja 0f0b534239
Hunger ECS (#14939) 2023-04-03 12:42:30 +10: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
Leon Friedrich 4e978d54a4
Fix cryopod interactions (#15045) 2023-04-03 06:30:03 +10: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
TemporalOroboros c6c8fa2075
Resolves MedicalScannerVisualizer is Obsolete (#13893) 2023-03-26 15:26:00 -04:00
ShadowCommander bfc4da9377
Mind ecs (#14412) 2023-03-26 14:31:13 -04:00
metalgearsloth 44fb8a9e2d
Fix rsi sprite access for verbs (#14284) 2023-02-26 18:48:57 +11:00
keronshb ec739c24da
DoAfter Refactor Fixes (#14278)
* Doafterfixes

* Injector blocker
2023-02-25 23:33:06 -06:00
keronshb 9ebb452a3c
DoAfter Refactor (#13225)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-02-25 01:01:25 +01:00
metalgearsloth c8f89eca60
ECS dragdrop (#12973)
* ECS dragdrop

No more excuses.

* AAAAAAAAAAAAAA

* kry

* events

* aaaaaaaaaa

* HUH

* Fix stripping

* aaaaaa

* spoike

* asease

* fix table vaulting

* ded

* rebiew

* aaaaaaaaaaaaa

* drag

* aeaeae

* weh
2023-02-13 13:29:34 +00:00
Visne 5a5a3afbb1
Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04: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
Julian Giebel c2b87dfeda
Add a crew monitoring server (#7542) 2023-01-22 21:07:57 -04:00
Leon Friedrich b20b4b11cc
Wire action cleanup (#13496) 2023-01-21 10:51:02 +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
nmajask a0086b5184
Adds a sound effect to health analyzers (#13425) 2023-01-11 23:38:39 -07:00
Leon Friedrich 466384b081
Solution rejig (#12428) 2023-01-12 14:41:40 +11:00
Nemanja c2fd5665af
SpawnMultiple cleanup in stacksystem (#13441) 2023-01-11 15:03:18 -07:00
keronshb 72bddb6bdb
Have crew monitor display entity coordinates instead (#13120)
closes https://github.com/space-wizards/space-station-14/issues/13042
2023-01-10 00:25:46 +11:00
Rane fecd60e98a
Generalized material spawning (#12489) 2023-01-08 05:09:05 +11:00
Francesco 21cc60bcb9
fix: cryo pod autoinjection works once again. (#13213) 2022-12-31 01:34:59 +11:00
Francesco d47e001b18
feat: Medbay cryo pods (#11349)
Fixes https://github.com/space-wizards/space-station-14/issues/11245
2022-12-25 22:35:51 +11:00
Nemanja faca40b8d5
more component ref removal + combining server/client comps (#13178)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2022-12-25 05:28:21 +01: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
Nemanja e8f481de01
fix broken forced climbing (#13034)
* fix broken forced climbing

* debug messages
2022-12-19 02:10:37 +01:00
Leon Friedrich 881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +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
Nemanja 7895ddebe3
medical scanner machine upgrading (#12487) 2022-11-16 13:02:36 -08:00
DrSmugleaf 7fbc2608e8
Remove redundant read-only VV from datafields (#12626) 2022-11-16 20:22:11 +01:00
Nemanja 9428d4b341
stack cleanup and mild refactoring (#11717)
* stack cleanup

* fix tests and ulong

* somehow did half a commit

* ulong got usmall. (it's ints now)

* sussy baka cleanup

* mirror's review

* make da tests pass again

* shadowcommander review

* sloth por favor

* Update StoreSystem.Ui.cs
2022-11-08 20:24:23 -06:00
T-Stalker 43b529f647
replaces the puking sound with just splat (#12433) 2022-11-08 14:33:06 -06:00
0x6273 a201d777bc
Machine upgrade examine verb (#12119) 2022-11-04 14:27:47 +11: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
Leon Friedrich 7d276d1101
Remove server/client clothing components. (#11981) 2022-10-22 15:30:37 -07:00
Jackrost 330d6bfb67
Biomass reclaimer now respond if power change (#11984) 2022-10-22 14:54:19 -07:00
Leon Friedrich 6e6ddc0cb8
Fix crew monitor for rotated eyes (#11931) 2022-10-16 11:07:42 +11:00
Paul Ritter 79854e59a4
adds a source uid to most damage & mobstate events (#11559)
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
2022-10-08 12:15:27 +02:00
Nemanja b903c3a33f
biomass reclaimer suicide (#11649)
* biomass reclaimer suicide

* Update BiomassReclaimerSystem.cs
2022-10-04 06:08:46 -05:00
0x6273 4792d840cf
Biomass Reclaimer cleanup (#11551) 2022-10-03 18:55:15 -07:00
Nemanja d63ba02aaa
Decrease self-healing penalty on bruise packs, etc. (#11318)
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
2022-09-29 17:12:16 +10:00
Nemanja 0c14926e68
biomass reclaimer machine part upgrade support (#11545)
* biomass reclaimer upgrade

* readonly struct
2022-09-27 03:00:30 -05: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
metalgearsloth 78a4ab6eb2
Update for collision events by-ref (#10933) 2022-09-14 17:26:26 +10:00
wrexbe c55a015b77
Small UI refactor pieces (#11026)
* ActionType rename Name to DisplayName

* Gameplay State rename+move
2022-09-04 17:21:14 -07:00
Kevin Zheng 808677c117
Sort scanner "eject" verb first (#10932) 2022-08-29 22:29:50 -07:00
Rane f36d278499
Biomass (#10313)
* Material

* good prototype

* Fix material storage

* You can insert biomass into the cloner

* ok, basic biomass subtraction works

* amogus

* ok chance works

* Alright, the biomass and genetic stuff works

* feedback for cloning

* more reclaimer polish

* ship it

* starting biomass + fix lathes

* I changed my mind on rat mass and these guys are definitely getting ground up

* Doafter

* clean up, sync the two

* fix naming, fix mass

* technology + construction

* additional logging, stop unanchoring when active

* fix event / logs

* dont gib dead salvage

* auto eject

* fix deconstruction behavior

* make warning message better, temporarily disable cancer scanner

* fix biomass stacks

* add easy mode CVAR

* stack cleanup, make biomass 2x as fast

* bugfix

* new sprite from hyenh

* fix tests

* hello? :smilethink:

* :smilethink:

* medical scanner gets antirotting

* fix cloner and medical scanner

Co-authored-by: Moony <moonheart08@users.noreply.github.com>
2022-08-29 21:31:27 -05:00
metalgearsloth 5b42861539
Smooth docking traversal (#10822) 2022-08-29 15:05:53 +10:00
Visne 58769634c7
Fix a bunch of compiler warnings (#10518) 2022-08-13 22:28:34 -07:00
Rane 2f4849eae1
Cloning Rework (#8972)
Co-authored-by: fishfish458 <fishfish458>
2022-08-03 21:05:17 -07:00
Leon Friedrich c7ad6b709e
Audio System Rejig (#9635) 2022-07-29 12:13:12 +10:00
Kara 258ec0cac1
Clothing/item ECS & cleanup (#9706) 2022-07-27 03:53:47 -07: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
Leon Friedrich e17c89eac4
Identity popup fixes (#9743) 2022-07-15 01:10:52 -07:00
Rane ab058f2139
Healing tweaks (#9697) 2022-07-13 22:24:35 -07: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
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
Leon Friedrich fa4c6f63f8
Nullable grid Uid (#8798) 2022-06-20 10:14:35 +10:00
KIBORG04 a75a921955
Removal interaction without hands (#8843) 2022-06-15 11:39:43 +10:00
keronshb f7b1bda3e5
Reorders Sound Systems signatures to match Popup Systems. (#8728) 2022-06-13 09:45:47 +10:00
Acruid 4f9be42f40
Remove Explicit GridId References (#8315)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-06-12 11:54:41 +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
Rane 73478a1ad1
Port stethoscopes + innate verbs from nyano (#8228)
* port stethoscopes from nyanotrasen

* remove mono crash wtf

* don't touch puddle

* Switch to using action

* both verb and action

* Address reviews
2022-06-06 11:37:29 +10:00
wrexbe 1e0babbd50
Make AdminLogsSystem an IoC manager (#8492)
* Make log not entity system

* Fixes
2022-05-28 23:41:17 -07:00
metalgearsloth 2d873a2cf2
Add static "IsPowered" method (#8434)
* Add static "IsPowered" method

* Use IsPowered in more places

Co-authored-by: wrexbe <wrexbe@protonmail.com>
2022-05-26 17:36:12 -07:00
Rane b210df0d03
Port vomit from Nyano (#8349) 2022-05-23 16:03:27 -07:00
Jacob Tong cecd1b9ef6
Fix climbing out of CloningPod and MedicalScanner (#8191)
* Fix climbing out of CloningPod and MedicalScanner

* Fix mask

* Fix test
2022-05-15 19:57:13 +10:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
metalgearsloth d7168fedd1
Allow do_afters to be spammed (#8074) 2022-05-10 19:48:59 +10:00
metalgearsloth 671fc55c62 Fix heals stacks
I just wanted to remove double-clicking cancelling not the spammy.
2022-05-10 12:35:47 +10:00
metalgearsloth 4c3c814077
Fix healingcomp placement (#8045) 2022-05-09 16:21:32 +10:00
Alex Evgrashin 50ae467c76
Remove IDestroyAct, IBreakAct (#7876) 2022-05-02 15:43:25 -07:00
mirrorcult b311c9e2c9
Stop healing when target is dead (#7224) 2022-04-17 16:29:31 +10:00
Leon Friedrich 91a70bdaac
Add directional icons to crew monitors (#7404) 2022-04-09 11:50:59 +10:00
Leon Friedrich a4d55235cc
Rejig Device networks (#7380) 2022-04-08 22:27:10 +10:00
metalgearsloth 84225dde3d
Fix sloth's disease shit (#7123) 2022-03-14 13:51:42 -07:00
Fishfish458 1652498830
Fix cloner UI toggle (#7092)
Co-authored-by: fishfish458 <fishfish458>
2022-03-14 15:07:48 +11:00
Rane bb9ad4259c
Diseases (#7057)
* Disease system first pass

* Renamed HealthChange

* First working version of diseases (wtf???)

* Fix the cursed yaml initialization

* Pop-Up effect

* Generic status effect

* Create copy of prototype

* CureDiseaseEffect

* Disease resistance

* Spaceacillin

* Nerf spaceacillin now that we know it works

* Sneezing, Coughing, Snoughing

* Fix queuing, prevent future issues

* Disease protection

* Disease outbreak event

* Disease Reagent Cure

* Chem cause disease effect

* Disease artifacts

* Try infect when interacting with diseased

* Diseases don't have to be infectious

* Talking without a mask does a snough

* Temperature cure

* Bedrest

* DiseaseAdjustReagent

* Tweak how disease statuses work to be a bit less shit

* A few more diseases

* Natural immunity (can't get the same disease twice)

* Polished up some diseases, touched up spaceacillin production

* Rebalanced transmission

* Edit a few diseases, make disease cures support a minimum value

* Nitrile gloves, more disease protection sources

* Health scanner shows diseased status

* Clean up disease system

* Traitor item

* Mouth swabs

* Disease diagnoser machine

* Support for clean samples

* Vaccines + fixes

* Pass on disease resistant clothes

* More work on non-infectious diseases & vaccines

* Handle dead bodies

* Added the relatively CBT visualizer

* Pass over diseases and their populators

* Comment stuff

* Readability cleanup

* Add printing sound to diagnoser, fix printing bug

* vaccinator sound, seal up some classes

* Make disease protection equip detection not shit (thanks whoever wrote addaccentcomponent)

* Mirror review

* More review stuff

* More mirror review stuff

* Refactor snoughing

* Redid report creator

* Fix snough messages, new vaccinator sound

* Mirror review naming

* Woops, forgot the artifact

* Add recipes and fills

* Rebalance space cold and robovirus

* Give lizarb disease interaction stuff

* Tweak some stuff and move things around

* Add diseases to mice (since animal vectors are interesting and can be used to make vaccines)

* Remove unused reagent
2022-03-13 20:02:55 -05:00
Leon Friedrich b1e719c70d
Remove IUse (#7074) 2022-03-12 23:33:23 +11:00
Fishfish458 7f43f38cc7
Add health analyzer and medical scanner ECS (#6907)
Co-authored-by: fishfish458 <fishfish458>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-03-08 14:45:52 +11:00
Leeroy fb858ab514
Medical items sound support + sounds (#6871) 2022-02-27 00:02:00 -07:00
metalgearsloth b87806f7ed
Fix some build warnings (#6832)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-02-21 14:41:50 +11:00
mirrorcult a57d78a3f2
Basic bleeding mechanics (#6710) 2022-02-17 15:00:41 -07:00
Leon Friedrich 4a00d01ced
Remove ignore-inside-blocker (#6692)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-02-16 19:40:03 -07:00