Commit Graph

74 Commits

Author SHA1 Message Date
Silver
20bf5739a9 Refactor Damage to use Protoypes (#4262)
* Add DamageType And DamageGroup Prototypes

* Remove DamageTypePrototype Field "name" as its redundant

* Change I/DamageableComponent to use prototypes

* Update DamageContainer, ReisistanceSet and DamageChangeData

* Change Barotrauma Component to use DamageType from DamageSystem

* Update AsteroidRockComponent

* update some more components

* update some more components

* Fix m o r e c o m p o n e n t s and their damageType

* all thats left is bug/missing node hunting then verification.

* push changes

* update submodule

* Merge fixes

* Revert "#3935 implemented suggestions from PR"

This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.

* #4219 revert of single sound removal in EmitSoundSystem

* #4219 single sounds in EmitSoundSystem should work now

* #4219 some small project tweaks

* push DGP for example

* update damagecomponent across shared and server

* fix a few bugs

* #4219 upgraded EmitSoundSystem to use SoundSpecifier

* replacing sound (collection) names with SoundSpecifier - part 1

* #4219 pr tweaks

* #4219 pr tweak

(cherry picked from commit 00b80cb1df2434259ab5df45188e176be57603af)

* emitsoundsystem tweak

* first windoor commit

* finished yaml

* windoors work #Dab

* sound + locked prototypes

* Inserted SoundSpecifier where appropiate

* added comment

* removed TryGetSound + made some SoundSpecifier datafields required

* changed some prototypes' sound paths

* test fixes

* Fix Merge issues

* Made plasma grindable (#4334)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>

* Automatic changelog update

* Fixes invalid yaml line (#4408)

* Fix potential timer exception

* SetTile during extensions test (#4409)

Mainly so it can actually account for accurate grid bounds when doing the test

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>

* Update submodule

* GasFilter appearance, EnabledAtmosDeviceVisualizer improvements.

* Add Enabled property to SubFloorHideComponent, make it networked. (#4404)

* Refactor IDoorCheck into entity events (#4366)

* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today

* Automatic changelog update

* AtmosDevices can optionally process in space. (#4405)

Refactors some misc atmos things, too.

* Fix gravity generator yeeting

* Enables nullables for atmos internals

* Meth (#4186)

* adds an overdose metabolism with sensible default settings

* adds the compoenents for the run fast part of meth

* not sure what I changed here but I trust my past self to not fuck up for once

* adds basic meth recipe

* correctly names comething

* I really should've checked my spelling before making this pr

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

* adds suggestion from the maintaner, who managed to get to this pr suprisingly fast

* Revert "adds suggestion from the maintaner, who managed to get to this pr suprisingly fast"

This reverts commit 9b0f07402e35ed5890b3af805691b690671b950c.

* tweak

* tweak

* git's gitting on my nerves

* some small tweaks

* don't need these anymore

* makes some stuff required

* changes the meth recipe to arbitary bullshit to get the yaml thingy to leave me alone goddamnit

* extremely minor change

* removes overdose, because however it's gonna be done, it's definitely not my way

* i should really double check every key I press

* hm

* sigh, I should be more thorough with looking at error messages.

* beenus

* gay sex is gay

* this one goes out to bingo

* reviews

* not sure why status lifetime description wasn't being commited

* Update MovespeedModifierMetabolism.cs

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

* adds VV to component variables

* rebalances meth, and makes the completely unrealistic recipe properly work now

* meth effects should go away now or something do you think I test these changes before pushing??

* ah yes, orginization

* adds proper recipe and prequisite chemicals

* fixes linter hopefully

* Update chemicals.yml

* a

* starts working on prediction

* thing

* predmiction??

* changes thing

* does it properly

* uses timespan instead of timer

* uses dif timers and adds a system

* updates robust and tweaks a small thing

* Fixes

* "Fix" prediction

* starts changing the timer to timespans to avoid icky on timer end

* okay fixes the check thing but now meth is broken and I don't know why

* fixes predicition (partially)

* Delete ContentNetIDs.cs

whoops

* some changes advised by sloth

* certified scalycode fix right here

* moves resettimer to the metabolism to make it less oop stinky

* moves resettimer to the metabolism to make it less oop stinky

* gamin

* when the  is

* updates mth colour to be accurate because I forgot

* abc hard ok

* everything should be up to date now

* makes MovespeedModifierMetabolism ECS and cleans up some other stuff

* does a fixy wixy

* fix thing

* Revert "Merge branch 'master' of https://github.com/space-wizards/space-station-14 into meth"

This reverts commit 62886561098be02f9adb6352f4e858a8269d5bd5, reversing
changes made to ca34fffb5b7a40f19aec7b9e4bc37bdeab914bc1.

* Revert "Revert "Merge branch 'master' of https://github.com/space-wizards/space-station-14 into meth""

This reverts commit 4f550da19656abfd0be05f818fc6b7100252d5b8.

* fix hopefully

* updates metabolism to works with mirror's fancy new system

* updates yaml + tweaks

* bruh

* yaml moment

* :yaml moment

* Revert " :yaml moment"

This reverts commit 8cb51573c64db76d989de22acdbb9c50b2c6d052.

* 99th commit yay, also I need to not do this

* removes something that I don't need

* makes system work with this and gets rid of unnesescary check

* make the update only work on active components

* oops

* Cleanup

* alphabetise this shit

* Touchup

* Woops stupid alloc by me

* Nerf nyoom for now

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Random offset for DefaultGrid every round (#4411)

* Random offset for DefaultGrid every round

This is useful to make coders aware of entitycoordinates and mapcoordinates being different and to help spot problems early. It also puts the onus of fixing positioning bugs back onto the original coder rather than someone else if they happen to spot it.

* Fix clickable test

* Fix entitysystemextensions

* Automatic changelog update

* Document a few atmos classes.

* Update submodule

We do a little bit of debugging

* Make pulling feel less crap (#4414)

Something something pulling refactor someday

* Automatic changelog update

* Comment joint prediction

* Add CVar for random grid offset, disable it by default.

* Fixes not taking pressure damage in space.
Fixes #4415

* Automatic changelog update

* Adds an alternate jumpsuit for botany (#4419)

* Adds an alternate botanists jumpsuit

* Updated license information

* Automatic changelog update

* Added two new small areas to maintenence (#4359)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Updated meta.json to standard

* Update meta.json to standard

* a

* Revert "Update meta.json to standard"

This reverts commit 4c6702f17b.

* Revert "Updated meta.json to standard"

This reverts commit 8ea7a3ad1f.

* fix rsi

* proper sprites + visualizes nicely

* Removes broken new-line markers from a few desc.

* Fixes a localization error with solution container descriptions

* construction

* reviews + test

* remove SetLayerVisibility, doesnt work for some reason

* swept moment

* leftover

* Automatic changelog update

* Fix can't return to body bug (#4424)

* Automatic changelog update

* Update submodule

* Fix gas tile overlays on shuttles

* Offset station on roundstart again

* Fix PlaceableSurface incorrect coordinate usage.
It set world position to entity coordinate positions...

* Automatic changelog update

* Fix pickup animation incorrect coordinate usage.
Animation finalPosition was world position, while initialPosition was local position.

* Automatic changelog update

* Pointing coordinate fixes.

* Automatic changelog update

* Further pickup animation improvements.

* Adds Science Windoors (#4433)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Gave CMO a Hardsuit (#4434)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fixed station engineer table spawn (#4436)

* Maps in windoors (#4432)

* Automatic changelog update

* Losing a head doesn't mean you lose your eyes #3956 #4061 (#4225)

Co-authored-by: Michael Will <will_m@outlook.de>

* Automatic changelog update

* Adds windoors for security and the brig. (#4441)

* Automatic changelog update

* Remaps Chemistry and Security, and some Mapping Fixes (#4442)

* Automatic changelog update

* Made the cloning pod and medical scanner constructible (#4439)

* Made the cloning machine pod constructable

* Added everything like I did but with the Medical Scanner

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fix fixed-point format specifier in PowerCellComponent

* Update submodule

* Actually update submodule

The last one was a test to check if you were paying attention.

* Update maps for grid collisions (#4450)

* Update submodule

* Fixes the windoor in science. (#4444)

* Automatic changelog update

* Remove IActionBlocker.CanMove (#4449)

* Remove IActionBlocker.CanMove

Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.

* Make that check faster

* Added restrictions for what can be inserted into most belts (#4367)

* Belts now restrict what can be inserted into them

* Bandolier now only holds shotgun shells

* Tiny typo

* Another tiny typo

* Automatic changelog update

* Fix indentation

* Fix stuff

* Fix gas canister

* Organize gas canister prototype

* Fix audio occlusion

This was previously being done on every SoundComponent.

* Call SoundSystem instead

* Parents crowbar-red and merges RSIs

* Deletes old crowbar_red.rsi

* Abstracts BasePlushie and ReagentContainerBase

* Adds missing suffixes to debug items and tags them all

* Crematorium now makes a noise on start and during cremation (#4459)

* Automatic changelog update

* Refactor disposals to ECS (#4418)

* ECS up disposals

Also significantly reduced its CPU usage.

* Make update significantly less S L O W

* Start units pressurised

* Client-side flush lerping

* Fix powered not toggling UI

* Fix flush button

* InteractUsing

* Minor optimisations

* Fix collisions

* Make visual state ECS

* Almost done with shared

* Most stuff moved

* Optimise item sleeping

* Automatic changelog update

* Fix door sound dampening (#4453)

* Completely fix NPC pathfinding

Through rigorous investigation and hard work.

* Implement Entity List Display and rework StorageComponent window (#4140)

* Create EntityListDisplay

* Rework ClientStorage window

* Add styling

* Remove unnecessary colors

* Rename list

* Make scrollbar push content

* Change children update a bit

* Add old index

* Localize ClientStorageComponent

* Add size return

* Remove spaces

* Fix usings

* Fix tool sounds.
Fixes #4465

* Automatic changelog update

* Fix missing sounds (#4466)

* Fix missing sounds

* Make SoundHitSpecies fallback to SoundHit

* Fix crayon YAML

* Update PlaySoundBehavior YAML

* Fix required

* Update README.md

* Fix taser physics (#4470)

* Increase MoverController performance (#4448)

Should be a decent amount; rest will come from removing IActionBlocker.

* Remove throwing fixture error

* Update submodule

* Fix sound crash when making foam (#4476)

* Automatic changelog update

* Centers some sprites

* Fix showatmos

* Fix tests.
Flashlight RSI state names had been changed, and some places weren't updated properly

* Remove pillcomponent (#4469)

* Remove PillComponent

* Make food without any solution left delete and create trash

* Replace PillComponent references with a Pill tag

* Clean up

* Add swallow message to food

* Change to eatMessage override

* Change FoodComponent transferAmount to nullable

* Change properties to private

* ItemCabinetVisualizer uses layers (#4445)

* ItemCabinetVisualizer uses layers

* Reviews applied

* Fixes the fireaxe cabinet as well

* I'm dumb

* Fixes bedsheets being unpickupable (#4479)

* Automatic changelog update

* Adds inhands for crayons and the crayon box (#4481)

* Automatic changelog update

* Fixes cigarette animations and matches now have lit/unlit inhand sprites (#4480)

* Automatic changelog update

* Adds plant clippers and changes hydro tool sprites to be more consistent (#4482)

* Adds plant clippers

* Updates sycthe, hoe and spade sprites

* Adds inhands for radio/walkietalkie (#4483)

* Adds inhands for radio/walkietalkie and separates layers

* License thingy

* Fixes test

* Can now equip fireaxe, claymore, spear and baseball back on your back (#4484)

* Can equip spears and claymores on your back now

* Adds fireaxe and baseball bat back equip

* Automatic changelog update

* Makes Match[sticks/box] ECS, Makes Matchsticks ignite plasma

* am big dumdum pls no shed

* Owner Transform to Owner in SoundSystem calls (#4460)

* Owner Transform to Owner

* Owner Transform to Owner minor fixes

* Improve hand pickup code
This way I can break EntityCoordinates' API without breaking content.
BWAHAHAHAHAH!

* Update submodule

* Version v0.5.11 does not exist

* Update submodule

We don't talk about v0.5.12 either.

* Update submodule

For the last time

* Adds duck-related content and a seclite (#4489)

* Added rubber ducky

* Adds ducky slippers

* Adds seclite

* Update Resources/Textures/Objects/Tools/seclite.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Fun/ducky.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* The duck slippers now quack as you walk

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Automatic changelog update

* Adds the ability to assign equip sounds in ClothingComponent (#4485)

* Initial

* Works (Kinda)

* Polish

* Reviews

* Removes vending inventory desc and adds missing vending machine descriptions (#4493)

* Removes inventory descriptions

* Adds missing vending machine descriptions using inventory descriptions

* Woops missed a file

* Automatic changelog update

* Adds a ton more inhands (#4488)

* Removed useless loc and added inhands for some lamps

* Adds a ton of inhands to the game

* Actually adds the pill inhand

* Update Resources/Textures/Objects/Misc/utensils.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Tools/rcd.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Added open/close/stacklayers for Matchbox and inhands (#4496)

* Added open/close/stacklayers for Matchbox

* Added inhands for matchbox

* What am I a clown not gonna leave no indent spaces

* Adds sound to fire extinguisher safety (#4494)

* Automatic changelog update

* Adds a 6pack of Cola (#4499)

* Adds a 6pack of Cola

* Revert "Adds a 6pack of Cola"

This reverts commit 99f024b94ab3c684ce62e28018bd0fe2f26a2e09.

* Revert "Revert "Adds a 6pack of Cola""

This reverts commit 9e3d31e41c8ea61a962ad7d4d3c0ea7124e82653.

* Automatic changelog update

* Fix H-pulling? (#4425)

In retrospect the answer is easy, but man this took a while.

* Automatic changelog update

* Makes DiceComponent ECS

* Makes PlaceableSurface ECS

* Added classic announcement sound to announcements (#4504)

* Automatic changelog update

* Refactors throw events, makes cream pies ECS (#4500)

* Automatic changelog update

* Port the tumbler from Box2D (#4486)

* Subscribe TransformComponent events by-ref (#4478)

* Refactor damageablecomponent update (#4406)

* Fixing merge.

I messed up part of the merge. this should fix it?

* Barotrauma now uses prototypeManager

As System.Runtime.CompilerServices also has a [Dependency], I think I had to use the full path [Robust.Shared.IoC.Dependency]

* FlammableComponent now uses prototypeManager

* SuicideCommands now use prototypeManager

* Changed  many files to use prototypeManager to resolve damaege prototypes

Yeah.... prototype references would be very nice. maybe this was all a waste of time.

* Grouping prototypeManager.Index with datafield definitions

This will make it easier to eventually add prototype references

* removed unused variable

* Moved lines around.

Lines now consistent with other TODO PROTOTYPE blocks

* Grouping more prototypeManager.Index with datafield definitions

* Removed unnecessary code

* Added more prototypeManager indexing

These ones weren't pointed out by DrSmug. But I think this is all of them? That or my regex is shit.

* Remove redundant _damage field

* Remove redundant _currentTemperature

* Moved variables down

* Added prototypeManager indexing to TemperatureComponent

* WeaponComponent/System now use ProtptypeManager

And as far as I can tell damageType is required, and therefore should never have been null anyway?

* Make ranged weapon clumsy fire effects datafields

And yes, the order in which the clumsy effects occur is very important.

* Made damage on vital body part loss a datafield

* Renamed several damageGroup variables to group

* Capitalised DamageListToDamageGroup

* Make radiation and explosion damage types datafields

* Renamed _supportedDamageGroupIDs and _supportedDamageTypeIDs

* Fixed mistakes

Frogot to remove prototypeManager index DamageTypeTrigger, and wrong variable visibility in TemperatureComponent

* Added necessary code

Is something tragically wrong?

* MeleeWeapon damageType is not actually required

* Fixing someone else's mistakes

A search comes up with nothing in the yaml files, and its not a required field. So no one uses it? Hopefully?

* Changed and renamed damageTypeToDamageGroup

Previously would incorrectly return the total container damage for each group, not the total in the group

* renaming varitables

* Renamed variable DamageClasses

* Added dictionary converting functions

* Added ID-keyed dictionaries

* Making MedicalScanner use ID dictionaries, instead of prototype dictionaries

Oh oh no. I've been able to avoid UI & networking up until now. I have no Idea what I am doing.

* Fix Medical Scanner

* Summary (required)

The joke here is that this fixes the empty summary.

* Removed DamageableComponent.GetDamageGroup/Type

* Renamed "damage classes" to groups.

* Update ChangeDamage description

* Replaced Heal() with SettAllDamage()

Heal() was just a confusing name,

* More Class -> Group renaming

* Replace Class with Group in yaml files

DamageClassTrigger does not appear in any yaml? only in testing?
DamageTypeTrigger appears only in human.yaml?
HealthChangeMetabolism is Mostly in medicine.yml and one in soad.yaml

Why the hell is Cola metabolizable by plants? Who is pouring cola on their plants!?!?

* Fix _prototypeManager being null errors.

* Changing comments

Where are the prototype references

* MetabolismComponent doesn't give free heals anymore.

* Changes HungerComponent healing.

Previously I think it would actually damage you.  Only did this as I though it was causing the fast healing. Turns out that was just BREATHING.

* Generalised a function in DamageableComponent and moved it to DamageGroupPrototype

previously DamageTypesDictToDamageGroupDict was private to DamageableComponent, but was also quite general (nearly a static function). As this sort of function may be needed by other components using DamageGroupPrototypes in the future, I moved it there as a static function instead.

* modified DamageableComponent.ChangeDamage()

ignoreResistances was renamed to ignoreDamageResistances to make it clearer that it had no effect on healing.

Now uses default argument for ignoreDamageResistances, so when healing you are not forced to specify an argument that does nothing.

Also made some general changes to ignoreResistances()

* Changed class->group and added missing damage type functionality to DamageContainerPrototypes

* Added Comments to damage.yml

* Misc Changes to DamageableComponent

* Differentiated between group support and group applicability

So far, every damage type is a member of one, and only one, damage group. So this change has no real effect so far.

* Added proposed alternative to ChangeDamage()

* fixed error in DamageGroupPrototype

* Changes to DamageableComponent

Lots of changes to comments.
Some variables renamed in IDamageableComponent and DamageableComponent (also required renaming in other files)

Some minor logic changes, mostly for incorrect descirptions of boolean return values.

Also further differentiating between ApplicableGroups and SupportedGroups... if that will ever even matter

* Generalised MedicalScannerComponent

If needed, can print miscellaneous damage types now

* Fixed HealthChangeMetabolism bug

* Changing Comments around

* More questions

* Made Barotrauma default to blunt

* Fix RejuvenateTest.cs

* Comments

* Coments and variable names

* fix some master-merge issues

* Removed redundant fields

* Misc changes for readbility of PR diff

* Consistent naming

* Fixed atmos damage bug

* Removed Ranting

* Fixed Hunger after I broke it

* Fixing Bugs

* Removed stupid question

* Removed more stupid questions

* Fix potential null errors.

* Made boolean return values consistent

Also renamed several functions, to make it clear they return a bool. Docs were also updated.

* Removed IoCManager.InjectDependencies()

* Removed unnecessary 'suffocation' prefix

* Fixed Spelling

Also removed accidentally left in logger call

* Fixed Medical Scanner

* Apply suggestions from code review

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Changing comments and whitespaces

* Made damage thresholds trigger  datafields required

* So many typos

* Changes to DamageableComponents

Changed documentation in IDamageableComponent

Made testing code more readable.

Relabelled groups as 'Applicable' either 'Fully Supported'

* Removed function and degeneralised

* Update DamageableComponent.cs

Removed unused parameters
Fixed Networking

* Added IoCManager.Resolve

* Now using alternative TryChangeDamage()

* Removed function from DamageGroupPrototype

* Removing comments

* Remove bad if statement?

* Fix damageChanged ordering

* Fix hurt server command

* Changed //TODO PROTOTYPE blocks

Now use PrototypeManager differently. Wherever possible, only retrieve the prototype once.

Also added default damage types to some more datafields

* Update Content.Shared/Damage/Container/DamageContainerPrototype.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* renamed _accumulatedHealth -> _accumulatedDamage and added TODOs

* Another class-> group

* Fix bug in generalisation of damage container prototypes

* Addes Tests to make sure I dont keep adding bugs to my own code.

* Changed Return values when setting

* Removed unused class

* Added more tests, split tests into three files

* Made damage types public and VV read-write-able

* Minor changes to DamageableComponent

Replaced internal use of GetDamagePerType with _damageDict and removed some unnecessary fields

* Fix Suicide, by adding IoC Resolve()

* Fix DamageGroupTrigger bug

* Fix typos in tests

* Change comments./docstrings & spacing

* Merge tests, use test prototypes

Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Add Alt-click functionality (#4497)

* Fix ItemSlot Bug

* Add Alt-use Key

* Fix TransferAmount window bug

* Alt-click functionality

* Added AltInteract verbs

* Add new verbs

* verb icons

* Changed Comments

* Change Comments

* Fix disposal verbs

* Changed Get...() to Get...OrNull()

* Changed alt-interact combat behaviour

* Update verb icons

* Inventory interact event

* Add Alt+E secondary binding

* Add alt-z keybinding

* Rename AltUse -> AltActivateItemInWorld

* Automatic changelog update

* Fixes chocolate/energy bar (#4503)

* Bring refactor-damageablecomponent branch up-to-date with master (#4510)

* Revert "#3935 implemented suggestions from PR"

This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.

* #4219 revert of single sound removal in EmitSoundSystem

* #4219 single sounds in EmitSoundSystem should work now

* #4219 some small project tweaks

* #4219 upgraded EmitSoundSystem to use SoundSpecifier

* replacing sound (collection) names with SoundSpecifier - part 1

* #4219 pr tweaks

* #4219 pr tweak

(cherry picked from commit 00b80cb1df2434259ab5df45188e176be57603af)

* emitsoundsystem tweak

* first windoor commit

* finished yaml

* windoors work #Dab

* sound + locked prototypes

* Inserted SoundSpecifier where appropiate

* added comment

* removed TryGetSound + made some SoundSpecifier datafields required

* changed some prototypes' sound paths

* test fixes

* Made plasma grindable (#4334)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>

* Automatic changelog update

* Fixes invalid yaml line (#4408)

* Fix potential timer exception

* SetTile during extensions test (#4409)

Mainly so it can actually account for accurate grid bounds when doing the test

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>

* Update submodule

* GasFilter appearance, EnabledAtmosDeviceVisualizer improvements.

* Add Enabled property to SubFloorHideComponent, make it networked. (#4404)

* Refactor IDoorCheck into entity events (#4366)

* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today

* Automatic changelog update

* AtmosDevices can optionally process in space. (#4405)

Refactors some misc atmos things, too.

* Fix gravity generator yeeting

* Enables nullables for atmos internals

* Meth (#4186)

* adds an overdose metabolism with sensible default settings

* adds the compoenents for the run fast part of meth

* not sure what I changed here but I trust my past self to not fuck up for once

* adds basic meth recipe

* correctly names comething

* I really should've checked my spelling before making this pr

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

* adds suggestion from the maintaner, who managed to get to this pr suprisingly fast

* Revert "adds suggestion from the maintaner, who managed to get to this pr suprisingly fast"

This reverts commit 9b0f07402e35ed5890b3af805691b690671b950c.

* tweak

* tweak

* git's gitting on my nerves

* some small tweaks

* don't need these anymore

* makes some stuff required

* changes the meth recipe to arbitary bullshit to get the yaml thingy to leave me alone goddamnit

* extremely minor change

* removes overdose, because however it's gonna be done, it's definitely not my way

* i should really double check every key I press

* hm

* sigh, I should be more thorough with looking at error messages.

* beenus

* gay sex is gay

* this one goes out to bingo

* reviews

* not sure why status lifetime description wasn't being commited

* Update MovespeedModifierMetabolism.cs

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

* adds VV to component variables

* rebalances meth, and makes the completely unrealistic recipe properly work now

* meth effects should go away now or something do you think I test these changes before pushing??

* ah yes, orginization

* adds proper recipe and prequisite chemicals

* fixes linter hopefully

* Update chemicals.yml

* a

* starts working on prediction

* thing

* predmiction??

* changes thing

* does it properly

* uses timespan instead of timer

* uses dif timers and adds a system

* updates robust and tweaks a small thing

* Fixes

* "Fix" prediction

* starts changing the timer to timespans to avoid icky on timer end

* okay fixes the check thing but now meth is broken and I don't know why

* fixes predicition (partially)

* Delete ContentNetIDs.cs

whoops

* some changes advised by sloth

* certified scalycode fix right here

* moves resettimer to the metabolism to make it less oop stinky

* moves resettimer to the metabolism to make it less oop stinky

* gamin

* when the  is

* updates mth colour to be accurate because I forgot

* abc hard ok

* everything should be up to date now

* makes MovespeedModifierMetabolism ECS and cleans up some other stuff

* does a fixy wixy

* fix thing

* Revert "Merge branch 'master' of https://github.com/space-wizards/space-station-14 into meth"

This reverts commit 62886561098be02f9adb6352f4e858a8269d5bd5, reversing
changes made to ca34fffb5b7a40f19aec7b9e4bc37bdeab914bc1.

* Revert "Revert "Merge branch 'master' of https://github.com/space-wizards/space-station-14 into meth""

This reverts commit 4f550da19656abfd0be05f818fc6b7100252d5b8.

* fix hopefully

* updates metabolism to works with mirror's fancy new system

* updates yaml + tweaks

* bruh

* yaml moment

* :yaml moment

* Revert " :yaml moment"

This reverts commit 8cb51573c64db76d989de22acdbb9c50b2c6d052.

* 99th commit yay, also I need to not do this

* removes something that I don't need

* makes system work with this and gets rid of unnesescary check

* make the update only work on active components

* oops

* Cleanup

* alphabetise this shit

* Touchup

* Woops stupid alloc by me

* Nerf nyoom for now

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Random offset for DefaultGrid every round (#4411)

* Random offset for DefaultGrid every round

This is useful to make coders aware of entitycoordinates and mapcoordinates being different and to help spot problems early. It also puts the onus of fixing positioning bugs back onto the original coder rather than someone else if they happen to spot it.

* Fix clickable test

* Fix entitysystemextensions

* Automatic changelog update

* Document a few atmos classes.

* Update submodule

We do a little bit of debugging

* Make pulling feel less crap (#4414)

Something something pulling refactor someday

* Automatic changelog update

* Comment joint prediction

* Add CVar for random grid offset, disable it by default.

* Fixes not taking pressure damage in space.
Fixes #4415

* Automatic changelog update

* Adds an alternate jumpsuit for botany (#4419)

* Adds an alternate botanists jumpsuit

* Updated license information

* Automatic changelog update

* Added two new small areas to maintenence (#4359)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Updated meta.json to standard

* Update meta.json to standard

* a

* Revert "Update meta.json to standard"

This reverts commit 4c6702f17b.

* Revert "Updated meta.json to standard"

This reverts commit 8ea7a3ad1f.

* fix rsi

* proper sprites + visualizes nicely

* Removes broken new-line markers from a few desc.

* Fixes a localization error with solution container descriptions

* construction

* reviews + test

* remove SetLayerVisibility, doesnt work for some reason

* swept moment

* leftover

* Automatic changelog update

* Fix can't return to body bug (#4424)

* Automatic changelog update

* Update submodule

* Fix gas tile overlays on shuttles

* Offset station on roundstart again

* Fix PlaceableSurface incorrect coordinate usage.
It set world position to entity coordinate positions...

* Automatic changelog update

* Fix pickup animation incorrect coordinate usage.
Animation finalPosition was world position, while initialPosition was local position.

* Automatic changelog update

* Pointing coordinate fixes.

* Automatic changelog update

* Further pickup animation improvements.

* Adds Science Windoors (#4433)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Gave CMO a Hardsuit (#4434)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fixed station engineer table spawn (#4436)

* Maps in windoors (#4432)

* Automatic changelog update

* Losing a head doesn't mean you lose your eyes #3956 #4061 (#4225)

Co-authored-by: Michael Will <will_m@outlook.de>

* Automatic changelog update

* Adds windoors for security and the brig. (#4441)

* Automatic changelog update

* Remaps Chemistry and Security, and some Mapping Fixes (#4442)

* Automatic changelog update

* Made the cloning pod and medical scanner constructible (#4439)

* Made the cloning machine pod constructable

* Added everything like I did but with the Medical Scanner

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fix fixed-point format specifier in PowerCellComponent

* Update submodule

* Actually update submodule

The last one was a test to check if you were paying attention.

* Update maps for grid collisions (#4450)

* Update submodule

* Fixes the windoor in science. (#4444)

* Automatic changelog update

* Remove IActionBlocker.CanMove (#4449)

* Remove IActionBlocker.CanMove

Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.

* Make that check faster

* Added restrictions for what can be inserted into most belts (#4367)

* Belts now restrict what can be inserted into them

* Bandolier now only holds shotgun shells

* Tiny typo

* Another tiny typo

* Automatic changelog update

* Fix indentation

* Fix stuff

* Fix gas canister

* Organize gas canister prototype

* Fix audio occlusion

This was previously being done on every SoundComponent.

* Call SoundSystem instead

* Parents crowbar-red and merges RSIs

* Deletes old crowbar_red.rsi

* Abstracts BasePlushie and ReagentContainerBase

* Adds missing suffixes to debug items and tags them all

* Crematorium now makes a noise on start and during cremation (#4459)

* Automatic changelog update

* Refactor disposals to ECS (#4418)

* ECS up disposals

Also significantly reduced its CPU usage.

* Make update significantly less S L O W

* Start units pressurised

* Client-side flush lerping

* Fix powered not toggling UI

* Fix flush button

* InteractUsing

* Minor optimisations

* Fix collisions

* Make visual state ECS

* Almost done with shared

* Most stuff moved

* Optimise item sleeping

* Automatic changelog update

* Fix door sound dampening (#4453)

* Completely fix NPC pathfinding

Through rigorous investigation and hard work.

* Implement Entity List Display and rework StorageComponent window (#4140)

* Create EntityListDisplay

* Rework ClientStorage window

* Add styling

* Remove unnecessary colors

* Rename list

* Make scrollbar push content

* Change children update a bit

* Add old index

* Localize ClientStorageComponent

* Add size return

* Remove spaces

* Fix usings

* Fix tool sounds.
Fixes #4465

* Automatic changelog update

* Fix missing sounds (#4466)

* Fix missing sounds

* Make SoundHitSpecies fallback to SoundHit

* Fix crayon YAML

* Update PlaySoundBehavior YAML

* Fix required

* Update README.md

* Fix taser physics (#4470)

* Increase MoverController performance (#4448)

Should be a decent amount; rest will come from removing IActionBlocker.

* Remove throwing fixture error

* Update submodule

* Fix sound crash when making foam (#4476)

* Automatic changelog update

* Centers some sprites

* Fix showatmos

* Fix tests.
Flashlight RSI state names had been changed, and some places weren't updated properly

* Remove pillcomponent (#4469)

* Remove PillComponent

* Make food without any solution left delete and create trash

* Replace PillComponent references with a Pill tag

* Clean up

* Add swallow message to food

* Change to eatMessage override

* Change FoodComponent transferAmount to nullable

* Change properties to private

* ItemCabinetVisualizer uses layers (#4445)

* ItemCabinetVisualizer uses layers

* Reviews applied

* Fixes the fireaxe cabinet as well

* I'm dumb

* Fixes bedsheets being unpickupable (#4479)

* Automatic changelog update

* Adds inhands for crayons and the crayon box (#4481)

* Automatic changelog update

* Fixes cigarette animations and matches now have lit/unlit inhand sprites (#4480)

* Automatic changelog update

* Adds plant clippers and changes hydro tool sprites to be more consistent (#4482)

* Adds plant clippers

* Updates sycthe, hoe and spade sprites

* Adds inhands for radio/walkietalkie (#4483)

* Adds inhands for radio/walkietalkie and separates layers

* License thingy

* Fixes test

* Can now equip fireaxe, claymore, spear and baseball back on your back (#4484)

* Can equip spears and claymores on your back now

* Adds fireaxe and baseball bat back equip

* Automatic changelog update

* Makes Match[sticks/box] ECS, Makes Matchsticks ignite plasma

* am big dumdum pls no shed

* Owner Transform to Owner in SoundSystem calls (#4460)

* Owner Transform to Owner

* Owner Transform to Owner minor fixes

* Improve hand pickup code
This way I can break EntityCoordinates' API without breaking content.
BWAHAHAHAHAH!

* Update submodule

* Version v0.5.11 does not exist

* Update submodule

We don't talk about v0.5.12 either.

* Update submodule

For the last time

* Adds duck-related content and a seclite (#4489)

* Added rubber ducky

* Adds ducky slippers

* Adds seclite

* Update Resources/Textures/Objects/Tools/seclite.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Fun/ducky.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* The duck slippers now quack as you walk

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Automatic changelog update

* Adds the ability to assign equip sounds in ClothingComponent (#4485)

* Initial

* Works (Kinda)

* Polish

* Reviews

* Removes vending inventory desc and adds missing vending machine descriptions (#4493)

* Removes inventory descriptions

* Adds missing vending machine descriptions using inventory descriptions

* Woops missed a file

* Automatic changelog update

* Adds a ton more inhands (#4488)

* Removed useless loc and added inhands for some lamps

* Adds a ton of inhands to the game

* Actually adds the pill inhand

* Update Resources/Textures/Objects/Misc/utensils.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Tools/rcd.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Added open/close/stacklayers for Matchbox and inhands (#4496)

* Added open/close/stacklayers for Matchbox

* Added inhands for matchbox

* What am I a clown not gonna leave no indent spaces

* Adds sound to fire extinguisher safety (#4494)

* Automatic changelog update

* Adds a 6pack of Cola (#4499)

* Adds a 6pack of Cola

* Revert "Adds a 6pack of Cola"

This reverts commit 99f024b94ab3c684ce62e28018bd0fe2f26a2e09.

* Revert "Revert "Adds a 6pack of Cola""

This reverts commit 9e3d31e41c8ea61a962ad7d4d3c0ea7124e82653.

* Automatic changelog update

* Fix H-pulling? (#4425)

In retrospect the answer is easy, but man this took a while.

* Automatic changelog update

* Makes DiceComponent ECS

* Makes PlaceableSurface ECS

* Added classic announcement sound to announcements (#4504)

* Automatic changelog update

* Refactors throw events, makes cream pies ECS (#4500)

* Automatic changelog update

* Port the tumbler from Box2D (#4486)

* Subscribe TransformComponent events by-ref (#4478)

* Add Alt-click functionality (#4497)

* Fix ItemSlot Bug

* Add Alt-use Key

* Fix TransferAmount window bug

* Alt-click functionality

* Added AltInteract verbs

* Add new verbs

* verb icons

* Changed Comments

* Change Comments

* Fix disposal verbs

* Changed Get...() to Get...OrNull()

* Changed alt-interact combat behaviour

* Update verb icons

* Inventory interact event

* Add Alt+E secondary binding

* Add alt-z keybinding

* Rename AltUse -> AltActivateItemInWorld

* Automatic changelog update

* Fixes chocolate/energy bar (#4503)

* Fix merge issues

Co-authored-by: Galactic Chimp <GalacticChimpanzee@gmail.com>
Co-authored-by: Kara Dinyes <lunarautomaton6@gmail.com>
Co-authored-by: SethLafuente <84478872+SethLafuente@users.noreply.github.com>
Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ScalyChimp <72841710+scaly-chimp@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Jaskanbe <86671825+Jaskanbe@users.noreply.github.com>
Co-authored-by: scrato <Mickaello2003@gmx.de>
Co-authored-by: Michael Will <will_m@outlook.de>
Co-authored-by: TimrodDX <timrod@gmail.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ColdAutumnRain <73938872+ColdAutumnRain@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Singularity fixes (#4383)

* Singularity fixes

* Fix the rest

* Woops

* ahh

* Nerf singulo for now

* Final touchups for now

* Review

* Automatic changelog update

* Fix PA construction crash, make it clear that PA construction needs LV cables (#4506)

* Automatic changelog update

* Add security barriers (#4458)

* Add sprites

* Lock system now raises lock toggle events

* Add prototype and barrier system

* Toggle lock on click

* Barrier blocks bullets (like a real wall)

* Barrier now destroyable

* Fancy visualzer and lighting. Also unlock by default

* Deleted comma

* Ignored components?

* Update Resources/Prototypes/Entities/Objects/Specific/Security/barrier.yml

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

* Update Resources/Prototypes/Entities/Objects/Specific/Security/barrier.yml

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

* Toggle Lock no longer handled

* Made it much easier to move through airlocks

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

* Automatic changelog update

* Updates name of LV cable coil

* Admin ghosts can now interact with stuff (#4178)

* Ghosts now have a bool for interacting with stuff

* Wrong ghost

* Simping for Swept

* Merge cleanup

* IT'S ODNE

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Added Basic Parts Technology (#4440)

* Added parts Technology

* is something they're something

bad grammar

* Update Parts.yml

* Update technologies.yml

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>

* Add basic meteor swarm (#4420)

* Add basic meteor swarm

* Map fixes

* Dependency cache

* Fix projectile crash

* Last of the reviews

* Automatic changelog update

* Update content for PhysicsMapComponent (#4462)

* Update content for PhysicsMapComponent

* Fix command

* Cache broadphasesystem

* Update submodule

* Update SS14 for grid contraction (#4452)

* Update SS14 for grid contraction

* Remove more dummy chunks

* Update submodule

* ratio's rects

* Add DamageType And DamageGroup Prototypes

* Remove DamageTypePrototype Field "name" as its redundant

* Change I/DamageableComponent to use prototypes

* Update DamageContainer, ReisistanceSet and DamageChangeData

* Change Barotrauma Component to use DamageType from DamageSystem

* Update AsteroidRockComponent

* update some more components

* update some more components

* Fix m o r e c o m p o n e n t s and their damageType

* all thats left is bug/missing node hunting then verification.

* push changes

* update submodule

* Merge fixes

* push DGP for example

* update damagecomponent across shared and server

* fix a few bugs

* Fix Merge issues

* Refactor damageablecomponent update (#4406)

* Fixing merge.

I messed up part of the merge. this should fix it?

* Barotrauma now uses prototypeManager

As System.Runtime.CompilerServices also has a [Dependency], I think I had to use the full path [Robust.Shared.IoC.Dependency]

* FlammableComponent now uses prototypeManager

* SuicideCommands now use prototypeManager

* Changed  many files to use prototypeManager to resolve damaege prototypes

Yeah.... prototype references would be very nice. maybe this was all a waste of time.

* Grouping prototypeManager.Index with datafield definitions

This will make it easier to eventually add prototype references

* removed unused variable

* Moved lines around.

Lines now consistent with other TODO PROTOTYPE blocks

* Grouping more prototypeManager.Index with datafield definitions

* Removed unnecessary code

* Added more prototypeManager indexing

These ones weren't pointed out by DrSmug. But I think this is all of them? That or my regex is shit.

* Remove redundant _damage field

* Remove redundant _currentTemperature

* Moved variables down

* Added prototypeManager indexing to TemperatureComponent

* WeaponComponent/System now use ProtptypeManager

And as far as I can tell damageType is required, and therefore should never have been null anyway?

* Make ranged weapon clumsy fire effects datafields

And yes, the order in which the clumsy effects occur is very important.

* Made damage on vital body part loss a datafield

* Renamed several damageGroup variables to group

* Capitalised DamageListToDamageGroup

* Make radiation and explosion damage types datafields

* Renamed _supportedDamageGroupIDs and _supportedDamageTypeIDs

* Fixed mistakes

Frogot to remove prototypeManager index DamageTypeTrigger, and wrong variable visibility in TemperatureComponent

* Added necessary code

Is something tragically wrong?

* MeleeWeapon damageType is not actually required

* Fixing someone else's mistakes

A search comes up with nothing in the yaml files, and its not a required field. So no one uses it? Hopefully?

* Changed and renamed damageTypeToDamageGroup

Previously would incorrectly return the total container damage for each group, not the total in the group

* renaming varitables

* Renamed variable DamageClasses

* Added dictionary converting functions

* Added ID-keyed dictionaries

* Making MedicalScanner use ID dictionaries, instead of prototype dictionaries

Oh oh no. I've been able to avoid UI & networking up until now. I have no Idea what I am doing.

* Fix Medical Scanner

* Summary (required)

The joke here is that this fixes the empty summary.

* Removed DamageableComponent.GetDamageGroup/Type

* Renamed "damage classes" to groups.

* Update ChangeDamage description

* Replaced Heal() with SettAllDamage()

Heal() was just a confusing name,

* More Class -> Group renaming

* Replace Class with Group in yaml files

DamageClassTrigger does not appear in any yaml? only in testing?
DamageTypeTrigger appears only in human.yaml?
HealthChangeMetabolism is Mostly in medicine.yml and one in soad.yaml

Why the hell is Cola metabolizable by plants? Who is pouring cola on their plants!?!?

* Fix _prototypeManager being null errors.

* Changing comments

Where are the prototype references

* MetabolismComponent doesn't give free heals anymore.

* Changes HungerComponent healing.

Previously I think it would actually damage you.  Only did this as I though it was causing the fast healing. Turns out that was just BREATHING.

* Generalised a function in DamageableComponent and moved it to DamageGroupPrototype

previously DamageTypesDictToDamageGroupDict was private to DamageableComponent, but was also quite general (nearly a static function). As this sort of function may be needed by other components using DamageGroupPrototypes in the future, I moved it there as a static function instead.

* modified DamageableComponent.ChangeDamage()

ignoreResistances was renamed to ignoreDamageResistances to make it clearer that it had no effect on healing.

Now uses default argument for ignoreDamageResistances, so when healing you are not forced to specify an argument that does nothing.

Also made some general changes to ignoreResistances()

* Changed class->group and added missing damage type functionality to DamageContainerPrototypes

* Added Comments to damage.yml

* Misc Changes to DamageableComponent

* Differentiated between group support and group applicability

So far, every damage type is a member of one, and only one, damage group. So this change has no real effect so far.

* Added proposed alternative to ChangeDamage()

* fixed error in DamageGroupPrototype

* Changes to DamageableComponent

Lots of changes to comments.
Some variables renamed in IDamageableComponent and DamageableComponent (also required renaming in other files)

Some minor logic changes, mostly for incorrect descirptions of boolean return values.

Also further differentiating between ApplicableGroups and SupportedGroups... if that will ever even matter

* Generalised MedicalScannerComponent

If needed, can print miscellaneous damage types now

* Fixed HealthChangeMetabolism bug

* Changing Comments around

* More questions

* Made Barotrauma default to blunt

* Fix RejuvenateTest.cs

* Comments

* Coments and variable names

* fix some master-merge issues

* Removed redundant fields

* Misc changes for readbility of PR diff

* Consistent naming

* Fixed atmos damage bug

* Removed Ranting

* Fixed Hunger after I broke it

* Fixing Bugs

* Removed stupid question

* Removed more stupid questions

* Fix potential null errors.

* Made boolean return values consistent

Also renamed several functions, to make it clear they return a bool. Docs were also updated.

* Removed IoCManager.InjectDependencies()

* Removed unnecessary 'suffocation' prefix

* Fixed Spelling

Also removed accidentally left in logger call

* Fixed Medical Scanner

* Apply suggestions from code review

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Changing comments and whitespaces

* Made damage thresholds trigger  datafields required

* So many typos

* Changes to DamageableComponents

Changed documentation in IDamageableComponent

Made testing code more readable.

Relabelled groups as 'Applicable' either 'Fully Supported'

* Removed function and degeneralised

* Update DamageableComponent.cs

Removed unused parameters
Fixed Networking

* Added IoCManager.Resolve

* Now using alternative TryChangeDamage()

* Removed function from DamageGroupPrototype

* Removing comments

* Remove bad if statement?

* Fix damageChanged ordering

* Fix hurt server command

* Changed //TODO PROTOTYPE blocks

Now use PrototypeManager differently. Wherever possible, only retrieve the prototype once.

Also added default damage types to some more datafields

* Update Content.Shared/Damage/Container/DamageContainerPrototype.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* renamed _accumulatedHealth -> _accumulatedDamage and added TODOs

* Another class-> group

* Fix bug in generalisation of damage container prototypes

* Addes Tests to make sure I dont keep adding bugs to my own code.

* Changed Return values when setting

* Removed unused class

* Added more tests, split tests into three files

* Made damage types public and VV read-write-able

* Minor changes to DamageableComponent

Replaced internal use of GetDamagePerType with _damageDict and removed some unnecessary fields

* Fix Suicide, by adding IoC Resolve()

* Fix DamageGroupTrigger bug

* Fix typos in tests

* Change comments./docstrings & spacing

* Merge tests, use test prototypes

Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Bring refactor-damageablecomponent branch up-to-date with master (#4510)

* Revert "#3935 implemented suggestions from PR"

This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.

* #4219 revert of single sound removal in EmitSoundSystem

* #4219 single sounds in EmitSoundSystem should work now

* #4219 some small project tweaks

* #4219 upgraded EmitSoundSystem to use SoundSpecifier

* replacing sound (collection) names with SoundSpecifier - part 1

* #4219 pr tweaks

* #4219 pr tweak

(cherry picked from commit 00b80cb1df2434259ab5df45188e176be57603af)

* emitsoundsystem tweak

* first windoor commit

* finished yaml

* windoors work #Dab

* sound + locked prototypes

* Inserted SoundSpecifier where appropiate

* added comment

* removed TryGetSound + made some SoundSpecifier datafields required

* changed some prototypes' sound paths

* test fixes

* Made plasma grindable (#4334)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>

* Automatic changelog update

* Fixes invalid yaml line (#4408)

* Fix potential timer exception

* SetTile during extensions test (#4409)

Mainly so it can actually account for accurate grid bounds when doing the test

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>

* Update submodule

* GasFilter appearance, EnabledAtmosDeviceVisualizer improvements.

* Add Enabled property to SubFloorHideComponent, make it networked. (#4404)

* Refactor IDoorCheck into entity events (#4366)

* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today

* Automatic changelog update

* AtmosDevices can optionally process in space. (#4405)

Refactors some misc atmos things, too.

* Fix gravity generator yeeting

* Enables nullables for atmos internals

* Meth (#4186)

* adds an overdose metabolism with sensible default settings

* adds the compoenents for the run fast part of meth

* not sure what I changed here but I trust my past self to not fuck up for once

* adds basic meth recipe

* correctly names comething

* I really should've checked my spelling before making this pr

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

* adds suggestion from the maintaner, who managed to get to this pr suprisingly fast

* Revert "adds suggestion from the maintaner, who managed to get to this pr suprisingly fast"

This reverts commit 9b0f07402e35ed5890b3af805691b690671b950c.

* tweak

* tweak

* git's gitting on my nerves

* some small tweaks

* don't need these anymore

* makes some stuff required

* changes the meth recipe to arbitary bullshit to get the yaml thingy to leave me alone goddamnit

* extremely minor change

* removes overdose, because however it's gonna be done, it's definitely not my way

* i should really double check every key I press

* hm

* sigh, I should be more thorough with looking at error messages.

* beenus

* gay sex is gay

* this one goes out to bingo

* reviews

* not sure why status lifetime description wasn't being commited

* Update MovespeedModifierMetabolism.cs

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

* adds VV to component variables

* rebalances meth, and makes the completely unrealistic recipe properly work now

* meth effects should go away now or something do you think I test these changes before pushing??

* ah yes, orginization

* adds proper recipe and prequisite chemicals

* fixes linter hopefully

* Update chemicals.yml

* a

* starts working on prediction

* thing

* predmiction??

* changes thing

* does it properly

* uses timespan instead of timer

* uses dif timers and adds a system

* updates robust and tweaks a small thing

* Fixes

* "Fix" prediction

* starts changing the timer to timespans to avoid icky on timer end

* okay fixes the check thing but now meth is broken and I don't know why

* fixes predicition (partially)

* Delete ContentNetIDs.cs

whoops

* some changes advised by sloth

* certified scalycode fix right here

* moves resettimer to the metabolism to make it less oop stinky

* moves resettimer to the metabolism to make it less oop stinky

* gamin

* when the  is

* updates mth colour to be accurate because I forgot

* abc hard ok

* everything should be up to date now

* makes MovespeedModifierMetabolism ECS and cleans up some other stuff

* does a fixy wixy

* fix thing

* Revert "Merge branch 'master' of https://github.com/space-wizards/space-station-14 into meth"

This reverts commit 62886561098be02f9adb6352f4e858a8269d5bd5, reversing
changes made to ca34fffb5b7a40f19aec7b9e4bc37bdeab914bc1.

* Revert "Revert "Merge branch 'master' of https://github.com/space-wizards/space-station-14 into meth""

This reverts commit 4f550da19656abfd0be05f818fc6b7100252d5b8.

* fix hopefully

* updates metabolism to works with mirror's fancy new system

* updates yaml + tweaks

* bruh

* yaml moment

* :yaml moment

* Revert " :yaml moment"

This reverts commit 8cb51573c64db76d989de22acdbb9c50b2c6d052.

* 99th commit yay, also I need to not do this

* removes something that I don't need

* makes system work with this and gets rid of unnesescary check

* make the update only work on active components

* oops

* Cleanup

* alphabetise this shit

* Touchup

* Woops stupid alloc by me

* Nerf nyoom for now

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Random offset for DefaultGrid every round (#4411)

* Random offset for DefaultGrid every round

This is useful to make coders aware of entitycoordinates and mapcoordinates being different and to help spot problems early. It also puts the onus of fixing positioning bugs back onto the original coder rather than someone else if they happen to spot it.

* Fix clickable test

* Fix entitysystemextensions

* Automatic changelog update

* Document a few atmos classes.

* Update submodule

We do a little bit of debugging

* Make pulling feel less crap (#4414)

Something something pulling refactor someday

* Automatic changelog update

* Comment joint prediction

* Add CVar for random grid offset, disable it by default.

* Fixes not taking pressure damage in space.
Fixes #4415

* Automatic changelog update

* Adds an alternate jumpsuit for botany (#4419)

* Adds an alternate botanists jumpsuit

* Updated license information

* Automatic changelog update

* Added two new small areas to maintenence (#4359)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Updated meta.json to standard

* Update meta.json to standard

* a

* Revert "Update meta.json to standard"

This reverts commit 4c6702f17b.

* Revert "Updated meta.json to standard"

This reverts commit 8ea7a3ad1f.

* fix rsi

* proper sprites + visualizes nicely

* Removes broken new-line markers from a few desc.

* Fixes a localization error with solution container descriptions

* construction

* reviews + test

* remove SetLayerVisibility, doesnt work for some reason

* swept moment

* leftover

* Automatic changelog update

* Fix can't return to body bug (#4424)

* Automatic changelog update

* Update submodule

* Fix gas tile overlays on shuttles

* Offset station on roundstart again

* Fix PlaceableSurface incorrect coordinate usage.
It set world position to entity coordinate positions...

* Automatic changelog update

* Fix pickup animation incorrect coordinate usage.
Animation finalPosition was world position, while initialPosition was local position.

* Automatic changelog update

* Pointing coordinate fixes.

* Automatic changelog update

* Further pickup animation improvements.

* Adds Science Windoors (#4433)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Gave CMO a Hardsuit (#4434)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fixed station engineer table spawn (#4436)

* Maps in windoors (#4432)

* Automatic changelog update

* Losing a head doesn't mean you lose your eyes #3956 #4061 (#4225)

Co-authored-by: Michael Will <will_m@outlook.de>

* Automatic changelog update

* Adds windoors for security and the brig. (#4441)

* Automatic changelog update

* Remaps Chemistry and Security, and some Mapping Fixes (#4442)

* Automatic changelog update

* Made the cloning pod and medical scanner constructible (#4439)

* Made the cloning machine pod constructable

* Added everything like I did but with the Medical Scanner

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fix fixed-point format specifier in PowerCellComponent

* Update submodule

* Actually update submodule

The last one was a test to check if you were paying attention.

* Update maps for grid collisions (#4450)

* Update submodule

* Fixes the windoor in science. (#4444)

* Automatic changelog update

* Remove IActionBlocker.CanMove (#4449)

* Remove IActionBlocker.CanMove

Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.

* Make that check faster

* Added restrictions for what can be inserted into most belts (#4367)

* Belts now restrict what can be inserted into them

* Bandolier now only holds shotgun shells

* Tiny typo

* Another tiny typo

* Automatic changelog update

* Fix indentation

* Fix stuff

* Fix gas canister

* Organize gas canister prototype

* Fix audio occlusion

This was previously being done on every SoundComponent.

* Call SoundSystem instead

* Parents crowbar-red and merges RSIs

* Deletes old crowbar_red.rsi

* Abstracts BasePlushie and ReagentContainerBase

* Adds missing suffixes to debug items and tags them all

* Crematorium now makes a noise on start and during cremation (#4459)

* Automatic changelog update

* Refactor disposals to ECS (#4418)

* ECS up disposals

Also significantly reduced its CPU usage.

* Make update significantly less S L O W

* Start units pressurised

* Client-side flush lerping

* Fix powered not toggling UI

* Fix flush button

* InteractUsing

* Minor optimisations

* Fix collisions

* Make visual state ECS

* Almost done with shared

* Most stuff moved

* Optimise item sleeping

* Automatic changelog update

* Fix door sound dampening (#4453)

* Completely fix NPC pathfinding

Through rigorous investigation and hard work.

* Implement Entity List Display and rework StorageComponent window (#4140)

* Create EntityListDisplay

* Rework ClientStorage window

* Add styling

* Remove unnecessary colors

* Rename list

* Make scrollbar push content

* Change children update a bit

* Add old index

* Localize ClientStorageComponent

* Add size return

* Remove spaces

* Fix usings

* Fix tool sounds.
Fixes #4465

* Automatic changelog update

* Fix missing sounds (#4466)

* Fix missing sounds

* Make SoundHitSpecies fallback to SoundHit

* Fix crayon YAML

* Update PlaySoundBehavior YAML

* Fix required

* Update README.md

* Fix taser physics (#4470)

* Increase MoverController performance (#4448)

Should be a decent amount; rest will come from removing IActionBlocker.

* Remove throwing fixture error

* Update submodule

* Fix sound crash when making foam (#4476)

* Automatic changelog update

* Centers some sprites

* Fix showatmos

* Fix tests.
Flashlight RSI state names had been changed, and some places weren't updated properly

* Remove pillcomponent (#4469)

* Remove PillComponent

* Make food without any solution left delete and create trash

* Replace PillComponent references with a Pill tag

* Clean up

* Add swallow message to food

* Change to eatMessage override

* Change FoodComponent transferAmount to nullable

* Change properties to private

* ItemCabinetVisualizer uses layers (#4445)

* ItemCabinetVisualizer uses layers

* Reviews applied

* Fixes the fireaxe cabinet as well

* I'm dumb

* Fixes bedsheets being unpickupable (#4479)

* Automatic changelog update

* Adds inhands for crayons and the crayon box (#4481)

* Automatic changelog update

* Fixes cigarette animations and matches now have lit/unlit inhand sprites (#4480)

* Automatic changelog update

* Adds plant clippers and changes hydro tool sprites to be more consistent (#4482)

* Adds plant clippers

* Updates sycthe, hoe and spade sprites

* Adds inhands for radio/walkietalkie (#4483)

* Adds inhands for radio/walkietalkie and separates layers

* License thingy

* Fixes test

* Can now equip fireaxe, claymore, spear and baseball back on your back (#4484)

* Can equip spears and claymores on your back now

* Adds fireaxe and baseball bat back equip

* Automatic changelog update

* Makes Match[sticks/box] ECS, Makes Matchsticks ignite plasma

* am big dumdum pls no shed

* Owner Transform to Owner in SoundSystem calls (#4460)

* Owner Transform to Owner

* Owner Transform to Owner minor fixes

* Improve hand pickup code
This way I can break EntityCoordinates' API without breaking content.
BWAHAHAHAHAH!

* Update submodule

* Version v0.5.11 does not exist

* Update submodule

We don't talk about v0.5.12 either.

* Update submodule

For the last time

* Adds duck-related content and a seclite (#4489)

* Added rubber ducky

* Adds ducky slippers

* Adds seclite

* Update Resources/Textures/Objects/Tools/seclite.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Fun/ducky.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* The duck slippers now quack as you walk

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Automatic changelog update

* Adds the ability to assign equip sounds in ClothingComponent (#4485)

* Initial

* Works (Kinda)

* Polish

* Reviews

* Removes vending inventory desc and adds missing vending machine descriptions (#4493)

* Removes inventory descriptions

* Adds missing vending machine descriptions using inventory descriptions

* Woops missed a file

* Automatic changelog update

* Adds a ton more inhands (#4488)

* Removed useless loc and added inhands for some lamps

* Adds a ton of inhands to the game

* Actually adds the pill inhand

* Update Resources/Textures/Objects/Misc/utensils.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Tools/rcd.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Added open/close/stacklayers for Matchbox and inhands (#4496)

* Added open/close/stacklayers for Matchbox

* Added inhands for matchbox

* What am I a clown not gonna leave no indent spaces

* Adds sound to fire extinguisher safety (#4494)

* Automatic changelog update

* Adds a 6pack of Cola (#4499)

* Adds a 6pack of Cola

* Revert "Adds a 6pack of Cola"

This reverts commit 99f024b94ab3c684ce62e28018bd0fe2f26a2e09.

* Revert "Revert "Adds a 6pack of Cola""

This reverts commit 9e3d31e41c8ea61a962ad7d4d3c0ea7124e82653.

* Automatic changelog update

* Fix H-pulling? (#4425)

In retrospect the answer is easy, but man this took a while.

* Automatic changelog update

* Makes DiceComponent ECS

* Makes PlaceableSurface ECS

* Added classic announcement sound to announcements (#4504)

* Automatic changelog update

* Refactors throw events, makes cream pies ECS (#4500)

* Automatic changelog update

* Port the tumbler from Box2D (#4486)

* Subscribe TransformComponent events by-ref (#4478)

* Add Alt-click functionality (#4497)

* Fix ItemSlot Bug

* Add Alt-use Key

* Fix TransferAmount window bug

* Alt-click functionality

* Added AltInteract verbs

* Add new verbs

* verb icons

* Changed Comments

* Change Comments

* Fix disposal verbs

* Changed Get...() to Get...OrNull()

* Changed alt-interact combat behaviour

* Update verb icons

* Inventory interact event

* Add Alt+E secondary binding

* Add alt-z keybinding

* Rename AltUse -> AltActivateItemInWorld

* Automatic changelog update

* Fixes chocolate/energy bar (#4503)

* Fix merge issues

Co-authored-by: Galactic Chimp <GalacticChimpanzee@gmail.com>
Co-authored-by: Kara Dinyes <lunarautomaton6@gmail.com>
Co-authored-by: SethLafuente <84478872+SethLafuente@users.noreply.github.com>
Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ScalyChimp <72841710+scaly-chimp@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Jaskanbe <86671825+Jaskanbe@users.noreply.github.com>
Co-authored-by: scrato <Mickaello2003@gmx.de>
Co-authored-by: Michael Will <will_m@outlook.de>
Co-authored-by: TimrodDX <timrod@gmail.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ColdAutumnRain <73938872+ColdAutumnRain@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Galactic Chimp <GalacticChimpanzee@gmail.com>
Co-authored-by: Kara Dinyes <lunarautomaton6@gmail.com>
Co-authored-by: Leon Friedrich <leonsfriedrich@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: SethLafuente <84478872+SethLafuente@users.noreply.github.com>
Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ScalyChimp <72841710+scaly-chimp@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: Jaskanbe <86671825+Jaskanbe@users.noreply.github.com>
Co-authored-by: scrato <Mickaello2003@gmx.de>
Co-authored-by: Michael Will <will_m@outlook.de>
Co-authored-by: TimrodDX <timrod@gmail.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ColdAutumnRain <73938872+ColdAutumnRain@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: 20kdc <asdd2808@gmail.com>
Co-authored-by: Alex Evgrashin <aevgrashin@yandex.ru>
2021-08-24 00:50:39 -06:00
DrSmugleaf
ff1a2d97ea Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
mirrorcult
f744b655b8 Refactor MeleeWeaponComponent and related comps to be ECS (#4133)
* move everything to MeleeWeaponSystem

* refactor MeleeChemicalInjector

* hypospray and flash refactor

* stunbaton refactor

* bugfixes

* flash afterinteract

* resolve issues

* props

* playing the slots

* MeleeInteractEvent + bugfixes

* spear can actually use MeleeChemicalInjector
2021-06-05 09:20:52 +02:00
ShadowCommander
acb102f978 Rename and clean up interaction events (#4044)
* Rename and clean up interaction events

* Fix hand equip events
2021-05-22 21:06:40 -07:00
Vera Aguilera Puerto
722087f92a Melee arc effects are only sent to players inside PVS. 2021-05-12 14:47:56 +02:00
Vera Aguilera Puerto
98c158d2b7 Fix melee weapon arcs being rotated incorrectly. 2021-04-11 21:46:27 +02:00
ShadowCommander
7a842f7c22 Fix tests (#3707)
* First pass

* Fix access and rename banananium to bananium

* Fix captialization of CookTimeInfoLabel

* Fix InteractUsing calls

* Remove unused [Dependency]

* Replace obsolete references to Anchored with BodyType

* Assign default value to shoving someone in disposals

* Fix naming

* Replace Initialize TryGetComponents with EnsureComponent

* Rework AnchorableComponent

* Fix singularity component

* Replace obsolete usages of Angle.South

* Fix efcore warning

* Fix container tests

* Fix DebugPressurePump invalid PressurePump yaml

* Fix getting pathfinding region of grid 0

* Fix atmos plaque missing layer and add info message when it happens

* Fix AiSteeringSystem steering in an invalid grid in entity test

* Make content able to choose which log level leads to test failures

* Revert container test fix for Acruid

* Fix sprite, pipe and saving errors
Make EntityTest print all errors instead of stopping on the first

* Reorder singularity visualizer

* Disable pvs for container occlusion adn simple predict reconcile, they use entities other than map ones

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-03-31 21:41:23 +02:00
Acruid
9459400002 SoundSystem Improvements (#3697)
* Refactor all audio to use the new SoundSystem.

* Update submodule

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-03-21 17:12:03 +01:00
DrSmugleaf
a5ade526b7 Enable nullability in Content.Server (#3685) 2021-03-16 15:50:20 +01:00
metalgearsloth
4d064abcd7 Physics (#3485)
* Content side new physics structure

* BroadPhase outline done

* But we need to fix WorldAABB

* Fix static pvs AABB

* Fix import

* Rando fixes

* B is for balloon

* Change human mob hitbox to circle

* Decent movement

* Start adding friction to player controller

I think it's the best way to go about it to keep other objects somewhat consistent for physics.

* This baby can fit so many physics bugs in it.

* Slight mob mover optimisations.

* Player mover kinda works okay.

* Beginnings of testbed

* More testbed

* Circlestack bed

* Namespaces

* BB fixes

* Pull WorldAABB

* Joint pulling

* Semi-decent movement I guess.

* Pulling better

* Bullet controller + old movement

* im too dumb for this shit

* Use kinematic mob controller again

It's probably for the best TBH

* Stashed shitcode

* Remove SlipController

* In which movement code is entirely refactored

* Singularity fix

* Fix ApplyLinearImpulse

* MoveRelay fix

* Fix door collisions

* Disable subfloor collisions

Saves on broadphase a fair bit

* Re-implement ClimbController

* Zumzum's pressure

* Laggy item throwing

* Minor atmos change

* Some caching

* Optimise controllers

* Optimise CollideWith to hell and back

* Re-do throwing and tile friction

* Landing too

* Optimise controllers

* Move CCVars and other stuff swept is beautiful

* Cleanup a bunch of controllers

* Fix shooting and high pressure movement controller

* Flashing improvements

* Stuff and things

* Combat collisions

* Combat mode collisions

* Pulling distance joint again

* Cleanup physics interfaces

* More like scuffedularity

* Shit's fucked

* Haha tests go green

* Bigmoneycrab

* Fix dupe pulling

* Zumzum's based fix

* Don't run tile friction for non-predicted bodies

* Experimental pulling improvement

* Everything's a poly now

* Optimise AI region debugging a bit

Could still be better but should improve default performance a LOT

* Mover no updater

* Crazy kinematic body idea

* Good collisions

* KinematicController

* Fix aghost

* Throwing refactor

* Pushing cleanup

* Fix throwing and footstep sounds

* Frametime in ICollideBehavior

* Fix stuff

* Actually fix weightlessness

* Optimise collision behaviors a lot

* Make open lockers still collide with walls

* powwweeerrrrr

* Merge master proper

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Ch ch ch changesss

* SHIP IT

* Fix #if DEBUG

* Fix vaulting and item locker collision

* Fix throwing

* Editing yaml by hand what can go wrong

* on

* Last yaml fixes

* Okay now it's fixed

* Linter

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Vera Aguilera Puerto <zddm@outlook.es>
2021-03-08 04:09:59 +11:00
Paul Ritter
5c50b1f6ed Serialization v3 content PR (#3491)
* serv3 in shared pt 1

* beginning of deepclone api

* progress in implementing ideepclone & serv3 in content

* adds target

* its cant hurt you it cant hurt you

* more changes to content.server

* adds dataclasses

* almost there

* renamed & edited entry

* finishes refactoring content to use serv3

* gasmixture runtimes, next: reagentunit

* fucin hell that was an annoying one

* adds flags

* fixes some yaml errors

* removes comment

* fixes generic components for now

* removes todo
actually clones values my god paul
fixes bug involving resolving custom data classes from other proj
renames dataclass
fixes spritecomp
adds WithFormat.Constants support

* adds deepclone to ResistanceSet

* adds a bunch of deepclone implementations
adds a deepclone analyzer (TODO)
adds a deep clone fallback for classes & structs

* fixes a bunch of runtimes

* adds deepclone to entityuid

* adds generator to sln

* gets rid of warnings

* fixes

* argh

* componentdata refactors

* more deepclone impl

* heck me i reworked all of content deepclone

* renames custom dataclasstarget

* misc

* reworks prototypes

* deepclone nuke

* renamed customdataclass attribute

* fixes everything

* misc fixed

* the killcommit

* getting there

* changed yamlfieldattribute namespace

* adds back iselfserialize

* renames everything to data(field/definition)

* ouch

* Fix most errors on content

* Fix more errors in content

* Fix some components

* work on tests

* fixes some customdataclasses

* fuggin shit

* yes

* yeas

* Remove data classes

* Data field naming fixes

* arg

* Git resetti RobustToolbox

* Merge fixes

* General fixes

* Fix startup serialization errors

* Fix DamageContainerPrototype when supported classes or types are null

* Implement construction graph step type serializer

* Fix up construction serialization

* Fix up construction serialization part 2

* Fix null list in technology database component

* Fix body serialization

* Fix entity storage serialization

* Fix actions serialization

* Fix AI serialization

* Fix reaction serialization

* Fix body serialization

* Fix grid atmosphere serialization

* Rename IServ3Manager to ISerializationManager

* Convert every non generic serializer to the new format, general fixes

* Serialization and body system fix

* pushinheritance fix

* Update all prototypes to have a parent and have consistent id/parent properties

* Merge fixes

* smh my head

* cuddling slaps

* Content commit for engine PR

* stuff

* more fixes

* argh

* yes even you are fixed

* changelog fixes

* fixes seeds

* argh

* Test fixes

* Add writing for alert order prototype

* Fix alert order writing

* FIX

* its been alot ok

* Fix the rest of the visualizers

* Fix server alerts component tests

* Fix alert prototype tests not using the read value

* Fix alert prototype tests initializing serialization multiple times

* THIS IS AN AMERICAN CODEBASE GOD BLESS THE USA

* Add ImplicitDataDefinitionForInheritors to IMechanismBehavior
Fixes the behaviors not being found

* Fix NRE in strap component
Good night to the 1 buckle optimization

* Fix clothing component slot flags serialization tag

* Fix body component in all components test

* Merge fixes

* ffs

* Make construction graph prototype use serialization hooks

* human yaml linted

* a

* Do the thing for construction

* stuff

* a

* monke see yaml linter

* LINT HARDER

* Remove redundant todo

* yes

* Add skip hook argument to readers and copiers

* we gamin

* test/datafield fixes

* adds more verbose validation

* moves linter to action

* Improve construction graph step type serializer error message

* Fix ammo box component NRE

* gamin

* some updates to the linter

* yes

* removes that test

* misc fixes

* array fix
priority fix
misc fixes

* adds proper info the validation

* adds alwaysrelevant usa

* Make yaml linter take half as long to run (~50% less)

* Make yaml linter 5 times faster (~80% less execution time)

* based vera being based

* fixes mapsaving

* warning cleanup & moves surpressor

* removes old msbuild targets

* Revert "Make yaml linter 5 times faster (~80% less execution time)"

This reverts commit 3e6091359a26252c3e98828199553de668031c63.

* Add -nowarn to yaml linter run configuration

* Improve yaml linter message feedback

* Make dependencies an argument instead of a property on the serialization manager

* yamllinting slaps

* Clean up type serializers

* Move yaml linter code to its own method

* Fix yaml errors

* Change yaml linter action name and remove -nowarn

* yaml linter please shut

* Git resetti robust toolbox

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-03-05 01:08:38 +01:00
Pieter-Jan Briers
1eb0fbd8d0 Revert "Physics (#3452)"
This reverts commit 3e64fd56a1.
2021-02-28 18:49:48 +01:00
metalgearsloth
3e64fd56a1 Physics (#3452)
* Content side new physics structure

* BroadPhase outline done

* But we need to fix WorldAABB

* Fix static pvs AABB

* Fix import

* Rando fixes

* B is for balloon

* Change human mob hitbox to circle

* Decent movement

* Start adding friction to player controller

I think it's the best way to go about it to keep other objects somewhat consistent for physics.

* This baby can fit so many physics bugs in it.

* Slight mob mover optimisations.

* Player mover kinda works okay.

* Beginnings of testbed

* More testbed

* Circlestack bed

* Namespaces

* BB fixes

* Pull WorldAABB

* Joint pulling

* Semi-decent movement I guess.

* Pulling better

* Bullet controller + old movement

* im too dumb for this shit

* Use kinematic mob controller again

It's probably for the best TBH

* Stashed shitcode

* Remove SlipController

* In which movement code is entirely refactored

* Singularity fix

* Fix ApplyLinearImpulse

* MoveRelay fix

* Fix door collisions

* Disable subfloor collisions

Saves on broadphase a fair bit

* Re-implement ClimbController

* Zumzum's pressure

* Laggy item throwing

* Minor atmos change

* Some caching

* Optimise controllers

* Optimise CollideWith to hell and back

* Re-do throwing and tile friction

* Landing too

* Optimise controllers

* Move CCVars and other stuff swept is beautiful

* Cleanup a bunch of controllers

* Fix shooting and high pressure movement controller

* Flashing improvements

* Stuff and things

* Combat collisions

* Combat mode collisions

* Pulling distance joint again

* Cleanup physics interfaces

* More like scuffedularity

* Shit's fucked

* Haha tests go green

* Bigmoneycrab

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-01 03:11:29 +11:00
Pieter-Jan Briers
63947a6d35 Fixes all the rotation bugs. (#3365) 2021-02-22 00:46:27 +01:00
Vera Aguilera Puerto
2b10ee6b8f Add cooldown to melee weapons on pickup/selected
Fixes #3149
Fixes kitchen knives not having ItemCooldown component.
2021-02-12 11:27:45 +01:00
Acruid
ca4fd649fe Massive Namespace Cleanup (#3120)
* Engine namespace changes.

* Automated remove redundant using statements.

* Simplified Graphics namespace.

* Apparently the container system stores full type names in the map file.😞 This updates those names.

* API Changes to LocalizationManager.LoadCulture.

* Update submodule to v0.3.2
2021-02-11 01:13:03 -08:00
tmtmtl30
735c6159d8 Removes SmallImpassable from melee swing collision mask (#3036)
* Alters melee swing collision mask.

* Part one...

* Part two.
2021-02-04 22:13:13 +11:00
mirrorcult
7977992e5a Add kitchen knife & sliceable foods (#2891)
* sliceable food, kitchen knives

* sprite fixes, sounds

* add to vendor

* address reviews

* address reviews

* stereo -> mono

* fix wrong amount of nutriment being removed

* oops im dumb

* meta.json

* fix merge

* probably fix test

* remove all instances of [ComponentReference(typeof(IAfterInteract))]

Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-01-07 12:48:08 +11:00
py01
cc26218060 MeleeChemicalInjectorComponent (#2645)
* MeleeWeaponComponent OnHittingEntities event

* MeleeChemicalInjectorComponent

* Moves melee onhit action to EventBus

* serialization fix

* prototype fix

* redid chem transfer logic

* MeleeChemicalinjector uses ComponentMessages

* divide by 0 fix

* Update Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:57:47 +01:00
Víctor Aguilera Puerto
b38b152534 Click attack arcs no longer follow the player. Fixes #2079. 2020-10-12 13:18:11 +02:00
metalgearsloth
d769661692 Fix some build warnings (#2226)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-11 16:42:53 +02:00
Swept
0ea8792501 Cleanup (#2111) 2020-09-20 17:29:11 +02:00
DrSmugleaf
74943a2770 Typo, redundant string interpolation, namespaces and imports cleanup (#2068)
* Readonly, typos and redundant string interpolations

* Namespaces

* Optimize imports

* Address reviews

* but actually

* Localize missing strings

* Remove redundant vars
2020-09-13 14:23:52 +02:00
DrSmugleaf
48b61f6bcc Replace every usage of GridCoordinates with EntityCoordinates (#2021)
* Update RobustToolbox

* Transition direct type usages

* More updates

* Fix invalid use of to map

* Update RobustToolbox

* Fix dropping items

* Rename name usages of "GridCoordinates" to "EntityCoordinates"

* Revert "Update RobustToolbox"

This reverts commit 9f334a17c5908ded0043a63158bb671e4aa3f346.

* Revert "Update RobustToolbox"

This reverts commit 3a9c8cfa3606fa501aa84407796d2ad920853a09.

# Conflicts:
#	RobustToolbox

* Fix cursed IMapGrid method usage.

* GridTileLookupTest now uses EntityCoordinates

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
2020-09-06 16:11:53 +02:00
Víctor Aguilera Puerto
3922759a81 address reviews 2020-09-02 15:27:28 +02:00
Víctor Aguilera Puerto
2294c32235 Merge branch 'master' into 2020-08-31-click-attack 2020-09-02 15:12:17 +02:00
DrSmugleaf
de9dfefd61 Replace resolve dependency with attribute in components (#1995)
* Replace resolve dependency with attribute in components

* Add changes that went missing in translation
2020-09-02 01:30:03 +02:00
Víctor Aguilera Puerto
391444c879 Add an effect that shows the item you're using to attack with when attacking 2020-08-31 20:54:33 +02:00
Víctor Aguilera Puerto
b927fddf4c Better click attack effect 2020-08-31 19:32:06 +02:00
Víctor Aguilera Puerto
69bd44c94c Adds click attacks 2020-08-31 18:58:22 +02:00
DrSmugleaf
8a27a5322a Replace pragma warning 649 disable/restore with default! 2020-08-24 14:10:28 +02:00
DrSmugleaf
b051261485 Bodysystem and damagesystem rework (#1544)
* Things and stuff with grids, unfinished w/ code debug changes.

* Updated submodule and also lost some progress cause I fucked it up xd

* First unfinished draft of the BodySystem. Doesn't compile.

* More changes to make it compile, but still just a framework. Doesn't do anything at the moment.

* Many cleanup changes.

* Revert "Merge branch 'master' of https://github.com/GlassEclipse/space-station-14 into body_system"

This reverts commit ddd4aebbc76cf2a0b7b102f72b93d55a0816c88c, reversing
changes made to 12d0dd752706bdda8879393bd8191a1199a0c978.

* Commit human.yml

* Updated a lot of things to be more classy, more progress overall, etc. etc.

* Latest update with many changes

* Minor changes

* Fixed Travis build bug

* Adds first draft of Body Scanner console, apparently I also forgot to tie Mechanisms into body parts so now a heart just sits in the Torso like a good boy :)

* Commit rest of stuff

* Latest changes

* Latest changes again

* 14 naked cowboys

* Yay!

* Latest changes (probably doesnt compile)

* Surgery!!!!!!!!!~1116y

* Cleaned some stuff up

* More cleanup

* Refactoring of code. Basic surgery path now done.

* Removed readme, has been added to HackMD

* Fixes typo (and thus test errors)

* WIP changes, committing so I can pull latest master changes

* Still working on that god awful merge

* Latest changes

* Latest changes!!

* Beginning of refactor to BoundUserInterface

* Surgery!

* Latest changes - fixes pr change requests and random fixes

* oops

* Fixes bodypart recursion

* Beginning of work on revamping the damage system.

* More latest changes

* Latest changes

* Finished merge

* Commit before removing old healthcode

* Almost done with removing speciescomponent...

* It compiles!!!

* yahoo more work

* Fixes to make it work

* Merge conflict fixes

* Deleting species visualizer was a mistake

* IDE warnings are VERBOTEN

* makes the server not kill itself on startup, some cleanup (#1)

* Namespaces, comments and exception fixes

* Fix conveyor and conveyor switch serialization

SS14 in reactive when

* Move damage, acts and body to shared

Damage cleanup
Comment cleanup

* Rename SpeciesComponent to RotationComponent and cleanup

Damage cleanup
Comment cleanup

* Fix nullable warnings

* Address old reviews

Fix off welder suicide damage type, deathmatch and suspicion

* Fix new test fail with units being able to accept items when unpowered

* Remove RotationComponent, change references to IBodyManagerComponent

* Add a bloodstream to humans

* More cleanups

* Add body conduits, connections, connectors substances and valves

* Revert "Add body conduits, connections, connectors substances and valves"

This reverts commit 9ab0b50e6b15fe98852d7b0836c0cdbf4bd76d20.

* Implement the heart mechanism behavior with the circulatory network

* Added network property to mechanism behaviors

* Changed human organ sprites and added missing ones

* Fix tests

* Add individual body part sprite rendering

* Fix error where dropped mechanisms are not initialized

* Implement client/server body damage

* Make DamageContainer take care of raising events

* Reimplement medical scanner with the new body system

* Improve the medical scanner ui

* Merge conflict fixes

* Fix crash when colliding with something

* Fix microwave suicides and eyes sprite rendering

* Fix nullable reference error

* Fix up surgery client side

* Fix missing using from merge conflict

* Add breathing

*inhale

* Merge conflict fixes

* Fix accumulatedframetime being reset to 0 instead of decreased by the threshold

https://github.com/space-wizards/space-station-14/pull/1617

* Use and add to the new AtmosHelpers

* Fix feet

* Add proper coloring to dropped body parts

* Fix Urist's lungs being too strong

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes

Co-authored-by: GlassEclipse <tsymall5@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2020-08-16 16:42:42 -07:00
DrSmugleaf
4a8ed41e3a Fix namespaces and optimize imports (#1651)
* Fix namespaces and optimize imports

* Cleanup fixes

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes
2020-08-13 14:40:27 +02:00
Pieter-Jan Briers
f182ff5613 Remove CannyFastMath. 2020-08-12 21:19:34 +02:00
SoulSloth
c579187673 Moved audio playing for melee to be before damage caculation (#1494) 2020-07-27 23:42:32 -07:00
Acruid
ea94f4a182 Moved interaction interfaces from Server to Shared. 2020-07-18 22:51:56 -07:00
AJCM-git
ae41d03ec6 Re-organizing the Resources folder. Part 1. (#1234)
* First commit

* Lockers

* Lockers electric boogaloo

* Crates and Lockers

* Almost finishing the Textures folder

* Updating texture paths. Reminder to fix:
* Lockers
* Windows
* Vending Machines
* APC
* Catwalks
* Bedsheets and Cloaks
* Status effects

* dont know what happened here

* Commit before merge

* re-organizing

* Lockers broken

* Commit before merge

* Submodule

* renaming

* Fixing most issues

* forgot these ones

* Updating submodule

* typo

* Fixing some paths

* fixing some paths

* updating submodule

* (hopefully) fixing the submodule
2020-07-07 19:19:00 +02:00
R. Neuser
88f49961d8 OverlayManager refactor and Flash (#1218)
* Flash component, overlay and shader
Add BeginDraw method to Overlay.cs

* Add flash icons, sounds

* Progress

* Multiple overlays without enums

* This is probably the worst way to do this IDK

* Remove nullable reference type

* Add AttackEventArgs as parameter to OnHitEntities
MeleeWeaponComponent.Attack now continues when OnHitEntities returns true (it hit something)
Add OverlayType enum so client and server can agree on overlay ids
Move IConfigurable to its own file
Add AoE flash with shorter duration
Flashing someone slows them down

* Add arc to flash
Set item size to something reasonable
Remove chat log message when flash burns out

* Remove unused interface
2020-07-06 23:37:39 +02:00
chairbender
b35333d366 Click Drag Functionality + Refactor Interaction Interfaces (#1125)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-06 23:27:03 +02:00
metalgearsloth
5391d3c72a Add utility AI (#806)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-06-18 14:52:44 +02:00
Tyler Young
de274de9e3 use CannyFastMath in various places even where it might not be any different
also update a bunch of packages

clean up redundant YamlDotNet references
2020-06-14 09:36:53 -04:00
Memory
21c41f28ed Refactor all references to AudioSystem functions now that the old ones are obsolete. (#1081)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
2020-06-07 15:55:15 +02:00
FL-OZ
53900b79e9 Rename SoundComponent and refactor its wrong usages. (#1036)
* Rename `SoundComponent` and refactor its wrong usages.

* Replace verbose IoC grabs with EntitySysetm.Get

* unused depend

Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-05-31 19:40:36 +02:00
Pieter-Jan Briers
3847b5260b Fix exception if you attack and hit nothing. 2020-05-23 17:47:32 +02:00
Pieter-Jan Briers
18ce80a43c Merge physics rewrite 2020-05-23 01:26:43 +02:00
zumorica
7cbd2fd8ce OnHitEntities now returns a bool and takes a read only list 2020-05-21 19:40:08 +02:00
zumorica
6428cdd596 Adds stunbaton 2020-05-13 20:21:03 +02:00
Clyybber
7d58baa0e0 Fix #673 2020-05-11 13:54:31 +02:00
py01
5e2cac78ac Fixes melee/hitscan raycast through airlocks (#777) 2020-03-03 15:09:07 +01:00
Víctor Aguilera Puerto
934f6fb7e2 Add OnDamaged method to IOnDamageBehavior (#685)
* Add OnDamaged method to IOnDamageBehavior

* Adds Source, SourceMob to OnDamage.
2020-02-13 15:57:40 +01:00