* Some sanity checks on disposals movement, fix the interpolator
* Technically fix disposal routing, but I'm not done here yet
* Remove disposals reliance on implicit direction sensing entirely.
* XAML verb menu
* fix ghost FOV
* spacing
* rename missed "ContextMenu"->"EntityMenu" instances
* move visibility checks to verb system
* update comment
* Remove CanSeeContainerCheck
* use ScrollContainer measure option
* MaxWidth / texxt line wrapping
* verb category default
Now when you click on a verb category, it should default to running the first member of that category.
This makes it much more convenient to eject/insert when there is only a single option
* only apply style to first verb category entry
* Use new visibility flags
* FoV -> Fov
* Revert "only apply style to first verb category entry"
This reverts commit 9a6a17dba600e3ae0421caed59fcab145c260c99.
* make all entity menu visibility checks clientside
* Fix empty unbuckle category
* fix merge
* Brrrr ECS
* Create lit on powered system
* Light bulb ECS
* Finishing porting to ECS
* Minor touches
* Removed events
* Removed old comments
* Fixed test
* To popup system
- Completely rewrited the `ConstructionComponent` logic to be ECS, *without* looking too much at the original implementation.
- The original implementation was dirty and unmaintainable, whereas this new implementation is much cleaner, well-organized and maintainable. I've made sure to leave many comments around, explaining what everything does.
- Construction now has a framework for handling events other than `InteractUsing`.
- This means that you can now have CGL steps for things other than inserting items, using tools...
- Construction no longer uses `async` everywhere for `DoAfter`s. Instead it uses events.
- Construction event handling occurs in the `ConstructionSystem` update tick, instead of on event handlers.
- This ensures we can delete/modify entities without worrying about "collection modified while enumerating" exceptions.
- This also means the construction update tick is where all the fun happens, meaning it'll show up on our metrics and give us an idea of how expensive it is/how much tick time is spent in construction.
- `IGraphCondition` and `IGraphAction` have been refactored to take in `EntityUid`, `IEntityManager`, and to not be async.
- Removes nested steps, as they made maintainability significantly worse, and nothing used them yet.
- This fixes#4892 and fixes#4857
Please note, this leaves many things unchanged, as my idea is to split this into multiple PRs. Some unchanged things:
- Initial construction code is the same. In the future, it'll probably use dummy entities.
- Client-side guided steps are the same. In the future, the server will generate the guided steps and send them to clients as needed, caching these in both the server and client to save cycles and bandwidth.
- No new construction graph steps... Yet! 👀
* Rotate DefaultGrid on round start
Not ideal long-term but good for bugspotting short-term.
* Fix buckle test
Because gridtraversal was being triggered the pos was being fucked when moving back
* Fix buckle
* Buckle offset
Adds a "sturdy" tile flag, that in the future could be used by construction/etc to figure out if it's safe to build on a tile. (For example water isn't space, but it's not a sturdy building surface!)
* Remove WireNet node group from cables
Implement extension cable components and system
Remove connection over distance logic from ApcPower... components
* Add extension cable components to prototypes
* Implement ApcNetwork
Implement ApcNetSwitch
* Fix ignoredComponents.cs
* Add friend attribute to new components
* Add construction graph for a light switch
* Address reviews
* Fix broken test
* Move ConnectionType enum to DeviceNetworkComponent
Change netId data definition to use the ConnectionType enum values
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
* ForAll command!
Implements "Bad Query Language", which has a few specifiers you can use for badminning, namely:
named <regex>
prototyped <prototype name>
with <component name>
tagged <tag name>
parented_to <parent entity uid>
For example: forall prototyped MobHuman parented_to 855 do explode $WX $WY 1 1 1 1; addcomp $ID Item
* oops
* fix a silent parsing bug, make parser louder.
* cleanup
* rename shit
* Moved access to ecs
* Fixed tests
* Moved test to integration
* Better IoC
* Moved preset ID card
* Moved id card to ECS
* Moved access component to ECS
* Fixed pda access
* Final touches
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Added debug bottle of meth as well as a damage increase on a Reagent Threshold
* fix for metabolism getting funked when there is a failed reaction condition
* removed max, raised minimum to 10
* reduced regular meth damage, increased overdose damage
Turns out the final position calculations were wrong, so I copied/pasted
from the equivalent parts of the Hands components.
Unfortunately, this means that picking up trash with a trash bag no
longer causes said trash to rapidly zoom to 0,0.
* Moves HumanoidCharacterAppearance to ECS
* Makes HumanoidAppearanceSystem work over networks
* Makes HumanoidAppearanceSystem more efficient
* Cleans up the files
* Updates privacy on a couple of functions
* Fixes a few using references, renames a file
* Makes HumanoidAppearanceSystem more cleaner
* Fixes Magic Mirror
* Cleanup
* HumanoidAppearanceComponent now has a friend
SharedHumanoidAppearanceSystem is only allowed to act on this, now
* Fixes the Body-HumanoidAppearance ECS scaffolding
* a little cleanup never hurt anybody
* quick fix for magic mirror appearance access
* Replaces a networked event with a local one
This one was... causing bugs
* Oops! All Changes In One Commit
* try desperately to fix prediction issues and fail
* oops
* test
* actually fixes prediction issues
* port jittering to status effect
* default merge behavior + alert cooldown stuff
* silly test issue
* zabloing
* address reviews
* testing decription textlabel
* Move uplink listing to a new menu
* Add search bar
* Added description
* Added radio uplink
* Added preset uplinks
* Minor fix
* Fixed comma
One of these was going to have to be folded into the other for it to work.
I am starting to really hate this refactor.
Note that this might still leave smokable tampering broken if it was already broken, but it shouldn't break it if it wasn't.
TESTED: Grown apples, carrots, something I forgot, bananas, *client crash due to slipping*
* Work on DeviceNetworkSystem
* Implement device networking as ecs
Remove mailing unit code for now
Remove device network metadata
* Implement integration tests for device networking
* Remove manual updating DeviceNetworkSystem and use WaitRunTicks
* Fix wrong component name in ignored components
* Apply suggestions from code review
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
* Rename NetworkUtils to DeviceNetworkConstants
Change connection type constants to enum
Remove create function from network payload class
* Change broken nodegroup check in wirenet to grid check
* Change ComponentManager to entity manager in DeviceNetworkSystem
* Fix smaller mistakes
* Wtf random test fail pls run them again smh
* Fix DataField in DeviceNetworkComponent
* Fix yaml in DeviceNetworkTest
* Fix DeviceNetworkComponent DeviceNetId property
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
* Graft from https://github.com/space-wizards/space-station-14/pull/3049
* 'openahelp' command
* Add AHelp into escape menu
* Add a way to ahelp a player from the kick window
* bwoink: XAMLify, bugfix, etc.
* Rename the kick/bwoink window the Player Actions Panel
* Add the bwoink sound y'all know and love
adminhelp.ogg taken from d775e1ac80/sound/effects/adminhelp.ogg
(available in master, therefore see master license: "All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.")
"Changed the adminhelpsound to some creative commons sound I pinched. Until somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW."
Actual source is https://freesound.org/people/martian/sounds/19261/ (CC0)
The sound had been reversed and the volume altered.
* Actually play the bwoink sound on receiving an ahelp that you didn't send
* Migrate lots of pulling logic out of the components and clean it up
* It's buggy, but move more code out of the pullable component
* Pulling system now throws less errors than it did before the refactor
* Finally finish the big parts of refactoring pullability
* Pulling: Handle disconnect properly if the pull joint has been removed by physics shutdown
* Port 2b68449328 to this branch
* Changes as per PR reviews
* Port e801ffac45 (SharedJointSystem) and fix issues encountered during testing
SharedJointSystem.
Also, MinLength and Stiffness appear to have suddenly gained enough meaning that pulling is broken unless they're set.
* Update UI when the AME node group is changed (fixes core count indicator being wrong)
* Fix connection issues between AME controller and cores
* Fix#4365 by properly propagating and clearing AME core injection state
* Fixes#4364
* temp
* #3898 some progress on DrinkCanVisualizer
* Fixed implementation
* Moved drink can sprite layer definition to abstract parent
* Added open drink can sprites
* #3898 - fixes for drink cans' sprite field after merge + moved UpdateAppeareance from DrinkComponent to DrinkSystem
* Update Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
* #3898 removed obsolete comment
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Moved pen slot to separate component
* Moved it all to more generic item slot class
* Add sounds
* Item slots now supports many slots
* Some clean-up
* Refactored slots a bit
* Moving ID card out
* Moving pda to system
* Moving PDA owner to ECS
* Moved PDA flashlight to separate component
* Toggle lights work through events
* Fixing UI
* Moving uplink to separate component
* Continue moving uplink to separate component
* More cleaning
* Removing pda shared
* Nuked shared pda component
* Fixed flashlight
* Pen slot now showed in UI
* Light toggle now shows correctly in UI
* Small refactoring of item slots
* Added contained entity
* Fixed tests
* Finished with PDA
* Moving PDA uplink to separate window
* Adding-removing uplink should show new button
* Working on a better debug
* Debug command to add uplink
* Uplink send state to UI
* Almost working UI
* Uplink correcty updates when you buy-sell items
* Ups
* Moved localization to separate file
* Minor fixes
* Removed item slots methods events
* Removed PDA owner name
* Removed one uplink event
* Deleted all uplink events
* Removed flashlight events
* Update Content.Shared/Traitor/Uplink/UplinkVisuals.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/GameTicking/Presets/PresetTraitorDeathMatch.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Item slots system review
* Flashlight review
* PDA to XAML
* Move UplinkMenu to seperate class, fix WeightedColors methods
* Move UI to XAML
* Moved events to entity id
* Address review
* Removed uplink extensions
* Minor fix
* Moved item slots to shared
* My bad Robust...
* Fixed pda sound
* Fixed pda tests
* Fixed pda test again
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Visne <vincefvanwijk@gmail.com>
* Transform the Cloning Pod visualizer into a generic enum visualizer for simple cases like it
...I find it helpful at times like these to remind myself that our true enemy is
code. Code is what makes our programs run and generally is required for all of
these machinations to function in any way at all...
* Give the kitchen/meat spike a visualizer
* GenericEnumVisualizer: Byteify enums, switch to TryGetComponent for sprite
* Migrate cuffing to an uncuff attempt event and allow self-uncuff again
* Uncuff attempt event: Use more SubscribeLocalEvent and Dependency attributes
* Fix syringe message stating you're attempting to draw from yourself when you aren't
* Fix various missing capabilities (syringes, beakers, drinks)
* And fix mug inject/dispense/etc, too!
* Injectors can now refill things, and switch over drinks and cups thereof to be refillable rather than injectable
- This prevented people from spawning as clown, etc if they had set the skirt option.
- Adds some custom type serializers to StartingGear for YAML linter support.
* Optimise emergency lights a bit
* Fixes
* Delete the failing test, sinple
* Revert "Delete the failing test, sinple"
This reverts commit 7d9e3a3bb6975c15add2987e39e0d3ba85d88be3.
* Start server and fix test
It just werks
* Remove IRelayMoveInput
This interface gets called every time a movement key is pressed so it gets called a lot.
* Remove RelayMovementEntityMessage
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
* Disallow construction of construction ghosts from inside a container
* Move IsInContainer check to before doing container ensuring
* Move IsInContainer check to HandleStartStructureConstruction to allow building items but not construct structures when inside a cozy locker
* Update Resources/Locale/en-US/construction/construction-system.ftl
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* wielding kinda works
* rough out all the edges, wielding works nicely
* popups + loc
* increase damage & extra damage against whitelist
* small fixes
* forgot to actually do that
* reviews
* reviews + thing
* use resistances and not extradamageagainstwhitelist
* slashy
* make increasedamageonwield and melee hit events work with modifiersets
* Silly individual
* ECS and damage Data
* Comments and newlines
* Added Comments
* Make TryChangeDamageEvent immutable
* Remove SetAllDamage event
Use public SetAllDamage function instead
* Undo destructible mistakes
That was some shit code.
* Rename DamageData to DamageSpecifier
And misc small edits
misc
* Cache trigger prototypes.
* Renaming destructible classes & functions
* Revert "Cache trigger prototypes."
This reverts commit 86bae15ba6616884dba75f552dfdfbe2d1fb6586.
* Replace prototypes with prototype IDs.
* Split damage.yml into individual files
* move get/handle component state to system
* Update HealthChange doc
* Make godmode call Dirty() on damageable component
* Add Initialize() to fix damage test
* Make non-static
* uncache resistance set prototype and trim DamageableComponentState
* Remove unnecessary Dirty() calls during initialization
* RemoveTryChangeDamageEvent
* revert Dirty()
* Fix MobState relying on DamageableComponent.Dirty()
* Fix DisposalUnit Tests.
These were previously failing, but because the async was not await-ed, this never raised the exception.
After I fixed MobState component, this exception stopped happening and instead the assertions started being tested & failing
* Disposal test 2: electric boogaloo
* Fix typos/mistakes
also add comments and fix spacing.
* Use Uids instead of IEntity
* fix merge
* Comments, a merge issue, and making some damage ignore resistances
* Extend DamageSpecifier and use it for DamageableComponent
* fix master merge
* Fix Disposal unit test. Again.
Snapgrids were removed in master
* Execute Exectute
* Add draggable tabletop component
* Use EntityCoordinates instead
* Don't send coordinates every frame
* Add chessboard + verb WIP
* Add documentation, verb networking works now
* Work so far
Need PVS refactor before being able to continue
Current code is broken
* viewsubscriber magic
* yes
* Fix map creation
* Add chess pieces, attempt prediction
* Add chess sprites and yml
* Clamping + other stuff
* fix
* stuff
* StopDragging() StartDragging()
* add piece grabbing
* Refactor dragging player to seperate event
* 🤣 Who did this 🤣💯👌
* 📮 sussy 📮
* Update chessboard sprite, scale piece while dragging
* yes
* ye
* y
* Close tabletop window when player dies
* Make interaction check more sane
* Fix funny behaviour when stunned
* Add icon
* Fix rsi
* Make time passed check more accurate
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Use EyeManager.PixelsPerMeter
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Add missing import
* Move viewport properties to XAML
* Make shared system and component abstract
* Use built in EntityManager
* Use RaiseNetworkEvent instead of SendSystemNetworkMessage
* Cache ViewSubscriberSystem
* Move unnecessary code to prototype
* Delete map on component shutdown instead of round restart
* Make documentation match rest of codebase
* Use ComponentManager instead of TryGetComponent
* Use TryGetComponent instead of GetComponent
* Add nullspace check to ClampPositionToViewport()
* Set world pos instead of local pos
* Improve server side verification
* Use visualizer
* Add netsync: false to sprites using visualizer
* Close window when chessboard is picked up
* Update to master
* Fix bug when opening window while another is opened
* Use ComponentManager
* Use TryGetValue
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Refactors flashes to ECS, sunglasses protect you from being flashed.
* VV ReadWrite for FlashImmunity Enabled.
* Use cached IEntityLookup.
* Consistent formatting.
* Fix flashbang duration.
Flash duration is a mess.
* Small area flash code cleanup.
* Flashable state is only sent to attached player.
* Ambient sound system
Client-side system that plays audio from nearby objects that are randomly sampled.
* Decent
* Tweaks
* Tweaks
* Comment this out for now
* reduce VM sound
* Fix rolloff
* Fixes
* Volume tweak
* Rename SolutionContainerCaps -> Capability
* Move IExamine event to Chemistry System.
* ECS the ISolutionChange into SolutionChangeEvent
* Unify SolutionContainer into a single shared component
* Replace ISolutionInteraction with SolutionContainerComponent
* Move all methods from SolutionContainer to ChemistrySystem
* Refactor EntitySystem calls to Dependencies
* Refactor SolutionContainer to SolutionManager
* Fix yamls
* Fix test fails
* Fix post merge issues
* Fix various issues with SolutionManager
* More fixes
* Fix more components
* Fix events not being directed
* Fixes for Hypospray
* Separate removal and iteration on Metabolism
* Fix creampie problems
* Address some of sloth's issues
* Refactors for Systems
* Refactored solution location
* Fix tests
* Address more sloth issues
* Fix dependency
* Fix merge conflicts
* Add xmldocs for Capabilities components
* Remove HasSolution/TryGetDefaultSolution and Add/Remove Drainable/Refillable
* Replace Grindable/Juiceable with Extractable
* Refactor field names
* Fix Drainable
* Fix some issues with spillable and injector
* Fix issues with Grinder
* Fix Beaker having duplicate solutions
* Fix foaming
* Address some MGS issues
* Fix Uid issues
* Fix errors in solution Tranfer
* Fixed some extra values constant values
* Cola is drinkable now
* PoweredLight uses PointLights for appearance
Previously this just set PointLightComponent data via the visualizer which lead to desyncs in the data between client and server. If the server pointlight was dirtied at any point then the pointlight data set via appearance visualizers was bulldozed.
* Address review
* Moved ghost boo to ecs
* Fixed small light exception
* No need to inject EM
* Moved cooldown and time to fields
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* started work
* some more work, ui working (somewhat)
* stuff
* reorganization
* some more reorg
* conveyors
* conveyors working
* finalized (dis)connection
added linkattempt
added feedback text
work on conveyors
* removed command
add rangecheck
* fixed inrange check
* handling
* ui no longer kanser, ship it
* adresses reviews
* reformats file
* reformats file
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
* 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>
* Fix merge issues
Co-authored-by: Silver <Silvertorch5@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
* fixes some bugs with the shuttleconsole
* Update Content.Server/Shuttles/ShuttleConsoleSystem.cs
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* 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>
* 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>
* 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 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>
* 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
* 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
* Remove IActionBlocker.CanMove
Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.
* Make that check faster
* 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
* 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>
* metabolism -> respirator, add reageanteffect and reagenteffectcondition, start on metabolizercomp/system
* move LiverBehavior metabolism logic to Metabolizer
* minor tweaks and update all YAML
* how about actually taking conditions into account
* off by one
* removals
* reviews
* HealthChangeMetabolism now scales with ticktime and metabolism rate
Both Food and Drink metabolisms scale with ticktime, Now HealthChangeMetabolism also does so.
Additionally, 'healthChange' now correctly scales with the metabolism rate, so it's description is now correct.
* LiverBehaviour now uses correct frameTime
Previously, the liver only metabolised reagants once every second, but incorrectly passes the current frameTime to the metabilism function, not 1 second.
* Stomach now only transfers non-empty solutions.
Makes debugging bloodstream bugs easier if the stomach is not constantly adding empty solution to it.
* Fixed StomachBehaviour using wrong SolutionContainerComponent
Stomach was using the first SolutionContainerComponent in the owner of the body, instead of the container in the owner of the mechanism (stomach). As a result, it used to use the BloodStreamComponent.Solution as a "Stomach".
* Update StomachBehavior.cs
Somach now checks if it still contains a reagant, before transferring it.
* Added argument to IMetabolizable.Metabolize()
Added availableReagent argument to IMetabolizable.Metabolize(), This ensures that this function does not over-metabolize a reagant, which can happen if tickTime*metabolismRate is larger than the available reagant
* Revert "Stomach now only transfers non-empty solutions."
This reverts commit 2a51e2d87e6e17ab76b48e5316ce501ec05ac061.
* Renamed _updateInterval to _updateIntervalSeconds
Also modified doc comment specifying units
* Fix spelling of healthChangeAmount
Changed from healthChangeAmmount to healthChangeAmount
* Fixed comment
comment used to mention _updateInterval, which has been renamed _updateIntervalSeconds
* Fixed typo in comment
* fixed typos: reagant -> reagent
Most typos were just in comments.
* Make metabolizable classes inherit from DefaultMetabolizable
Also involved changing around IMetabolizable
* Renamed variables
metabolismAmount -> amountMetabolized
* Updated Comments in DefaultMetabolizable
Makes it clearer why DefaultMetabolizable works as it does, and that other classes depend on it.
* #4420 moved sound components to a better spot in the project
* MWF-4420 - ported SecureEntityStorageComponent to new ECS system, as a LockComponent
* MWF-4420 - removed unused usings
* #4420 removed dumb ToggleLockVerb override workaround
* #4420 added SoundSpecifier to LockComponent
* 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
* #4219 pr tweaks
* #4219 pr tweak
* #4219 missing bike horn .yaml change
* basic eui and window
* finish EUI, update defaults
* unnecessary usings
* convert to bounduserinterface
* merge me up
merge me up inside
* Fix repeated define for component in prototype
* impl swept UI suggestion
* apply discord reviews
* small changes
* Added mapped storage for things like crayon belts and tools
* Attempt to get StorageFillEvent to work
* Managed to get it working with Visualizer logi
* Improved PR and did some light refactoring of components
* Update Content.Client/Storage/Visualizers/MappedItemVisualizer.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Removed event, went with stateful ApperanceData
* Removed ids in favor of whitelist
* Refactor YAML, Moved functionality to Shared and renamed it.
* Changed so insert/remove always send full state.
* Move logic to component
* Fix some issues on MappedVisualizer and few nitpicks
- Fix mapped visualizer only doing init or update layers
- Fixed naming of systems
- Fixed sort of crayons
* Forgot to apply Vera's suggestion
* Fix the data to be more strict and to avoid unnecessary clearing
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Added doc comments to server side voting API.
There is now a 4 minute delay between creating votes of the same type.
Shuffled some code around.
Made a StandardVoteType enum instead of string IDs.
* Broadphase refactor (content)
* Shuttle jank
* Fixes
* Testing jank
* Features and things
* Balance stuffsies
* AHHHHHHHHHHHHHHHH
* Mass and stuff working
* Fix drops
* Another balance pass
* Balance AGEN
* Add in stuff for rotating shuttles for debugging
* Nothing to see here
* Testbed stuffsies
* Fix some tests
* Fixen test
* Try fixing map
* Shuttle movement balance pass
* lasaggne
* Basic Helmsman console working
* Slight docking cleanup
* Helmsman requires power
* Basic shuttle test
* Stuff
* Fix computations
* Add shuttle console to saltern
* Rename helmsman to shuttleconsole
* Final stretch
* More tweaks
* Fix piloting prediction for now.
* Moves all atmos logic from TileAtmosphere to AtmosphereSystem.
* Atmos uses grid anchoring to check for firelocks instead of grid tile lookups.
* CVar for space wind sound
* CVar for explosive depressurization
* UI is an abbreviation, in XAML.
* Chat improvements.
Changing the "selected" channel on the chat box is now only done via the tab cycle or clicking the button.
Prefix chars like [ will temporarily replace the active chat channel. This is based 100% on message box contents so there's no input eating garbage or anything.
Pressing specific channel focusing keys inserts the correct prefix character, potentially replacing an existing one. Existing chat contents are left in place just fine and selected so you can easily delete them (but are not forced to).
Channel focusing keys now match the QWERTY key codes.
Deadchat works now.
Console can no longer be selected as a chat channel, but you can still use it with the / prefix.
Refactored the connection between chat manager and chat box so that it's event based, reducing tons of spaghetti everywhere.
Main chat box control uses XAML now.
General cleanup.
Added focus hotkeys for deadchat/console. Also added prefix for deadchat.
Local chat is mapped to deadchat when a ghost.
Probably more stuff I can't think of right now.
* Add preferred channel system to chat box to automatically select local.
I can't actually test this works because the non-lobby chat box code is complete disastrous spaghetti and i need to refactor it.
* Move chatbox resizing and all that to a subclass.
Refine preferred channel & deadchat mapping code further.
* Don't do prefixes for channels you don't have access to.
* Change format on channel select popup.
* Clean up code with console handling somewhat.
* Remove the unnecessary NetID property from ComponentState.
* Remove Component.NetworkSynchronizeExistence.
* Removed Component.NetID.
* Adds component netID automatic generation.
* Removed NetIdAttribute from serverside components with no corresponding clientside registration.
* Completely remove static NetIds.
* Renamed NetIDAttribute to NetworkedComponentAttribute.
* Add GenerateNetIds calls to client and server entry points.
Add test to make sure auto generated NetIds are identical.
* Component changes when rebasing that I am too lazy to rewrite into the branch.
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Kills PipeNode ConnectToContainedEntities and EnvironmentalAir with fire.
* Reaction IGasMixtureHolder is nullable.
* Reworks canisters
* Adds PortablePipeNode and PortPipeNode, which connect to each other.
* Adds SoundSpecifier and a type serializer.
* DiceComponent makes use of SoundSpecifier.
* When rider autorefactoring decices to add field:
* Remove SoundEmptySpecifier, use nullable everywhere
* Refactor standing to be ECS
E C S B A B Y
* DONE
* FIX IT FIX IT FIX IT
* IsDown event
* Change to methods
* Fixes
* Address some reviews
* Last of the Mohicans
* Final fixes
* Fix tests
* Remove IClientSingularityInstance
* In and out 5 minute refactor
* Component states for singularity distortion
* Fix distortion states
* Address reviews
* HandsGuiState
* Gui state setting methods
* code cleanup
* Removes TryGetHands
* ClientHand
* Gui Hands
* Refactor WIP 1
* Hand index
* refactors 2
* wip 3
* wip 4
* wiip 4
* wip 5
* wip 6
* wip 7
* wip 8
* wip 9
* wip 11
* Hand ui mostly looks fine
* hands gui cleanup 1
* cleanup 2
* wip 13
* hand enabled
* stuff
* Hands gui gap fix
* onpressed test
* hand gui buttons events work
* bag activation works
* fix item use
* todo comment
* hands activate fix
* Moves Client Hands back to using strings to identify active hand
* fixes action hand highlighting
* diff fix
* serverhand
* SharedHand
* SharedHand, IReadOnlyHand
* Client Hands only stores SharedHand
* cleanup server hands
* server hand container shutdown
* misc renames, refactors of serverhand
* stuff 1
* stuff 3
* server hand refactor 1
* Undo API changes to remove massive diff
* More API name fixes
* server hands cleanup 2
* cleanup 3
* dropping cleanup
* Cleanup 4
* MoveItemFromHand
* Stuff
* region sorting
* Hand Putter methods cleanup
* stuff 2
* Merges all of serverhand and clienthand into sharedhand
* Other hands systems, hack to make inhands update (gui state set every frame, visualzier updated every frame)
* GetFinalDropCoordinates cleanup
* SwapHands cleanup
* Moves server hands code to shared hands
* Fixed hand selected and deselected
* Naming fixes
* Server hands system cleanup
* Hands privacy fixes
* Client hand updates when containers are modified
* HeldItemVisualizer
* Fixes hand gui item status panel
* method name fix
* Swap hands prediction
* Dropping prediction
* Fixes pickup entity animation
* Fixes HeldItemsVisualizer
* moves item pickup to shared
* PR cleanup
* fixes hand enabling/disabling
* build fix
* Conflict fixes
* Fixes pickup animation
* Uses component directed message subscriptions
* event unsubscriptions in hand system
* unsubscribe fix
* CanInsertEntityIntoHand checks if hand is enabled
* Moving items from one hand to another checks if the hands can pick up and drop
* Fixes stop pulling not re-enabling hand
* Fixes pickup animation for entities containers on the floor
* Fixes using held items
* Fixes multiple hands guis appearing
* test fix
* removes obsolete system sunsubscribes
* Checks IsFirstTimePredicted before playing drop animation
* fixes hand item deleted crash
* Uses Get to get other system
* Replaces AppearanceComponent with SharedAppearanceComponent
* Replaces EnsureComponent with TryGetComponent
* Improves event class names
* Moves property up to top of class
* Moves code for determining the hand visualizer rsi state into the visualizer instead of being determined on hand component
* Eventbus todo comment
* Yaml fix for changed visualizer name
* Makes HandsVisuals a byte
* Removes state from HandsVisualizer
* Fixes hand using interaction method name
* Namespace changes fixes
* Fix for changed hand interaction method
* missing }
* conflict build fix
* Moves cleint HandsSystem to correct folder
* Moved namespace fix for interaction test
* Moves Handsvisualizer ot correct folder
* Moves SharedHandsSystem to correct folder
* Fixes errors from moving namespace of hand systems
* Fixes PDA component changes
* Fixes ActionsComponent diff
* Fixes inventory component diff
* fixes null ref
* Replaces obsolete Loc.GetString usage with fluent translations
* Fluent for hands disarming
* SwapHands and Drop user input specify to the server which hand
* Pickup animation WorldPosiiton todo
* Cleans up hands gui subscription handling
* Fixes change in ActionBlockerSystem access
* Namespace references fixes
* HandsComponent PlayerAttached/Detached messages are handled through eventbus
* Fixes GasCanisterSystem drop method usage
* Fix gameticker equipping method at new location
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* GameTicker turned into an EntitySystem
* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events
* Change event names to be more consistent with the rest.
* YAML linter uses the dummy gameticker CVar override.
* Fix game ticker initialization order
* Dummy ticker won't spawn players.
* Fix character creation test
* Converted all SnapGridPositionChangedEvent subscriptions to AnchorStateChangedEvent.
* Fixes power tests with new anchored requirements.
* Moved AnchorableComponent into construction.
AnchorableComponent now uses Transform.Anchored.
* Fixed bug with nodes, power works again.
* Adds lifetime stages to Component.
* Update Engine to v0.4.70.
* Initial
* Cleanup a bunch of things
* some changes dunno
* RequireAnchored
* a
* stuff
* more work
* Lots of progress
* delete pipe visualizer
* a
* b
* pipenet and pipenode cleanup
* Fixes
* Adds GasValve
* Adds GasMiner
* Fix stuff, maybe?
* More fixes
* Ignored components on the client
* Adds thermomachine behavior, change a bunch of stuff
* Remove Anchored
* some work, but it's shitcode
* significantly more ECS
* ECS AtmosDevices
* Cleanup
* fix appearance
* when the pipe direction is sus
* Gas tanks and canisters
* pipe anchoring and stuff
* coding is my passion
* Unsafe pipes take longer to unanchor
* turns out we're no longer using eris canisters
* Gas canister inserted tank appearance, improvements
* Work on a bunch of appearances
* Scrubber appearance
* Reorganize AtmosphereSystem.Piping into a bunch of different systems
* Appearance for vent/scrubber/pump turns off when leaving atmosphere
* ThermoMachine appearance
* Cleanup gas tanks
* Remove passive gate unused imports
* remove old canister UI functionality
* PipeNode environment air, make everything use AssumeAir instead of merging manually
* a
* Reorganize atmos to follow new structure
* ?????
* Canister UI, restructure client
* Restructure shared
* Fix build tho
* listen, at least the canister UI works entirely...
* fix build : )
* Atmos device prototypes have names and descriptions
* gas canister ui slider doesn't jitter
* trinary prototypes
* sprite for miners
* ignore components
* fix YAML
* Fix port system doing useless thing
* Fix build
* fix thinking moment
* fix build again because
* canister direction
* pipenode is a word
* GasTank Air will throw on invalid states
* fix build....
* Unhardcode volume pump thresholds
* Volume pump and filter take time into account
* Rename Join/Leave atmosphere events to AtmosDeviceEnabled/Disabled Event
* Gas tank node volume is set by initial mixtuer
* I love node container
* Deprecate IActionBlocker in favour of cancellable events
* Bring back old speech/emoting component restrictions
* Rename action blocker listener methods
* Use Entity System public methods instead of extension methods
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
* Make ghost component ECS
* Remove players and locations properties from ghost component
* Address reviews
* One more doc
* Fix client ghost component state method error
* Refactor/fix client-side of solar control computer (introduce ComputerBoundUserInterface & fix bugs)
* Refactor server side of solar control computer (introduce BaseComputerUserInterfaceComponent)
* If you can't interact, then messages to computers are blocked.
* Add 'not powered' messages, migrate activation logic partially to an EntitySystem
* Move solar control console to a XAML UI
* Remove useless comment on UserInterfaceKey
* BaseComputerUserInterfaceComponent: Remove EnsureComponent<PowerReceiver>, it's not necessary
* Fix solar panel occlusion check direction
* Solar Control Console refactors/etc. : Handle namespace renames
* #3846 - fix for ControlMobVerb not working for ghosts
* #3846 - small improvents from CR
* #3846 incorpated suggested changes
* #3846 simplified visiting entity check in mind.cs
* i probably shouldnt have done this in one commit
* map nonsense
* fix example code
* unnecessary
* test
* reviews
* little fix for open datafield
* add soul
* mindcomp loc, kitchenspike loc fixes, climbable loc fixes
* add fluent functions for words that change on pronoun, add grammarcomponent to humans
* fix the()
* cleanup
* cleanup
* reviews
* holla holla get dolla
* Rename and clean up interaction events
* Fix hand equip events
* Refactor duplicate client input validation
* Rename Use handler
* Move unneeded InRangeUnobstructed methods to extensions only
* Clean up UseInteractions
* Clean up ActivateItemInWorld
* Replace explicit range check with InRangeUnobstructed
Remove TransformComponent check, since transform is guaranteed now.
* Revert transform check removal
* More cleanup
* Reorder interaction checks
* Rename attack eventargs to interact
* Test V1
* Add interaction test
* Fix interaction test
* Fix container interaction test
* Rename interaction methods
* Rename player to user and attacked to target
* Clean up InteractAfter
* Clean up InRangeUnobstructed usages
* Rename attack to interact and weapon to used
* Changed can't reach message to only play when holding something
Cleaned up bracket formatting
* Fix Airtight validation check
* Remove extra words in comments
* Fix FaceClick rotation
* Move duplicate map check and face to method
* Fix test
* Make dead bodies use CollisionWake
* Disable CanCollide fuckery
* Update Content.Shared/GameObjects/Components/Mobs/State/SharedDeadMobState.cs
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* adds damage metabolism
* tweaks words
* metabolism is kinda weird
* adds some simple chemicals
* renames DamageMetabolism to HealthChangeMetabolism
* tweaks like one chemical because it was annoying
* did some changes that the sloth told me to
* adds summary comments for those foolish enough to try and understand my code
* rewrites the component so that is uses a more elegant solution, and handles decimals
* Updates with suggestions from review
* changes stuff idk:
* git cringe
* changes one tiny lil thing
* Apply YAML suggestions
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Hopefully make singularity shader warping resolution-invariant
This may or may not fix intensity issues
* Fix singularity 'zero velocity' check
It got stuck in a corner. Twice. I really thought I'd fixed that.
* Make it easier to move around various power stuff by shrinking their AABBs a little and making singulo generator a circle
* Changes to some machine prototypes to reduce duplication of collision changes (#1)
* Changes to some machine prototypes to reduce duplication of collision changes
* BaseMachine.BaseMachineUnpowered -> BaseMachine.BaseMachinePowered
* Fix merge conflicts with #4078
Check if the requested cargo order amount exceeds the maximum capacity
Check if the maximum order capacity would be exceeded given current capcity and order amount when approved
Cap maximum cargo request amount on client-side
Play an error sound if a cargo order could not be added or approved
* Add back error sound
* Cargo orders over the maximum amount do not close the order UI
Handled in an ECS way by PreventCollideEvent.
The disposals one doesn't work anyway and would've required a larger refactor of disposals to fix so out of scope.
* Add GNU Octave script for tuning singularity engine. startsingularityengine is now properly tuned & sets up radiation collectors. FTLize RadiationCollectorComponent.
* Fix bugs with radiation collectors producing infinite power.
* Ensure singularities don't instantly annihilate other singularities (causing new singularities to instantly dissolve)
Technically found by a "bug" where a singularity generator would make multiple singularities, but this renders that bug harmless.
* Tune singularity shield emitters to hopefully randomly fail less, and add an Octave script for looking into that
* Fix singularity shader
* Map in an unfinished PA into Saltern
* Correct PA particles being counted twice by singularity calculations, add singulo food component
* Hopefully stop "level 1 singulo stuck in a corner" issues by freezing it when it goes to level 1 from any other level
* Apply suggestions on 'jazz' PR
* Make barstools, PA components, and radiation collectors rotatable.
Making barstools rotatable is so that people can spin on the barstool. (RP moment.)
The other two are more "functional" changes for assembling a PA.
* Allow rotating a rotate-while-anchored object if you're buckled to it.
Barstool spinny
* Fix bug with rotation of an object that someone is buckled to
* BuckleSystem: Efficiency improvements with directed events
* Don't need to unsubscribe anymore from events, so in BuckleSystem, just don't
* Bring singularity back from the brink of "particles don't even hit anything"
* Remove force-disable-hard from singularity code so it doesn't just ignore containment
Shouldn't this be the prototype's job if they want that so much?
This might have some sorta downside, but this brings singulo back into being containable
* Apply ShadowCommander's suggested layers/masks for particles
Tested, singulo properly spawns and develops with this mask
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Various Paper adjustments
+ can now have prefilled text
+ cleaned up paper sprite layering a bit,
+ adds an AME manual as a test but doesn't put it anywhere
+ Paper cannot write arbitrary Examine markup
* Paper component doesn't show text on examine anymore
This does not fix the actual functionality, it just checks whether the click location is not space. This needs to be fixed in the future to work in space.
* Removed SnapGridOffset, there is only center now.
* SnapGridComponent methods are now static.
* Removed SnapGridComponent.OnPositionChanged.
* Refactored static functions off SnapGridComponent to MapGrid.
Refactored away usages of SnapGridComponent.Position.
* Added Transform.Anchored for checking if an entity is a tile entity.
More refactoring for static MapGrid functions.
* Static snapgrid methods on MapGrid are no longer static.
* Add setter to ITransformComponent.Anchored.
Removed direct references to SnapGridComponent from content.
* Grid functions now deal with EntityUids instead of SnapGridComponents.
Began renaming public API functions from SnapGrid to Anchor.
* Remove the SnapGridComponent 'Offset' field from all yaml files. This was removed in code previously, so the yaml linter was upset.
* Update engine submodule to v0.4.46.
* Removes code that checks if collision item is a person, allowing IDs and PDAs to open doors when thrown
* Failed a test, so I torched that test. Combustible lemons.
Test returned a fail if a random body could open an all access door, which is sorta what this whole thing does
* Revert "Failed a test, so I torched that test. Combustible lemons."
This reverts commit d2d8a6c49bab397cc8d5c1024d257ff51f3a4f7d.
* Removed the one part that failed instead of trashing the whole thing
* Crate and Locker welded sprite now appears
* Address requested changes
* UpdateAppearance method
* Make all appearance updates common
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Refactor body component to use slots instead of an army of dictionaries
* Update vox
* Replace static method call with extension
* Add setpart method, replace dispose with shutdown
* Fix tests, fix not listening to slot events when setting a part
* Add back pull moving
* Make pull moving event-based, use map coordinates, slow down moving when getting closer and stop moving when very close, add max range and add compensation for overshooting
* Remove compensation
* Prevent pull move from pulling you
* acruid did this
* Add unsubscriptions to shutdown
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Refactor mind and ghost deletion code
* Refactor to use EventBus and clean up deletes
* Fix mind eject when being deleted
* Refactor entity manager calls to use IEntity.EntityManager
* 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>
* Some stuff
* Fix NaN angular velocity
* Optimise a bit
* Give throwing a bit of a spin
* Reality can be whatever I want
* Biffing it
* Cleanup
* Update submodule
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add command to spawn surgery tools around the player
* Generalize the command ot all entity list prototypes
* Change index to try index and rename surgery tools prototype
* Import bird sprites and define basic mob.
* SKREEEEEEEEE
* Move hair styles to new sprite accessory prototypes.
Basic stuff, no multi-species stuff yet.
* Vox hair styles and clothes
* Make HumanoidCharacterProfile.Default() a static default to fix tests.
Usages that wanted the previous random behavior now call Random().
* Remove names from hair style prototypes.
(They're in localization files)
* Update Content.Shared/Actions/ActionType.cs
(sk)reeee github
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Add pyramid physics testbed
From Box2D (licence is already on the file). Useful for testing solver performance for large islands.
* nulls
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* All good except the combat doll
* Makes the HUD inventory less terrible
* Cleanup, nuke the Combat Mode button
* Harm icon
* Switch the icon
* Basic goon hud
* Toggleable
* Nuke the popup, properly centers it
* Fix clicking the button
* Nuke some old code
* missed a comment
* Remove defaults
* Localization
* Nuke some old yaml
* New sprites
Co-authored-by: ike709 <sparebytes@protonmail.com>
* Fixed Rack/Shelf
* Fixes bookshelf, bed
* Placeable for beds for bedsheets
* Bunch of Physics changes, ask metalgearsloth about em'
* More modifications
* More
* Other stuff
* Organizes entities yaml a little bit
* Something new
* Fixed, happy with the state of this rn
* A
* A
* Ye
* E
* Done for now...
* Applied Reviws
* Changes
* Fix the robust commit
* Fixes tests?
* E
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add construction and deconstsruction of airlocks
* Change name to door electronics
* Rearrange things
* Fix errors
* Fix physics error from bumping
* Prevent editing the map for now
* Address reviews
* Change switch to if
* Fix newlines
* Communications console announcements
* title case for jobs
* Helper
* Prevent abuse
* Cap message length
* more abuse prevention
* Validate clientside too to reduce bandwidth from unmodified clients
* Shared subfloor system
Will also cull the broadphase for server a lot.
* Nullable subfloor
* Snapgrid nullable
* Actually use ComponentDependency
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add extension methods to get a player's id and tests
* More extensive tests
* Make inventory check for ids first
* Rename to GetHeldId and TryGetHeldId
* Adds lobby music
* Add UI toggle for lobby music
* Pick the song serverside so everyone gets the same song
* Add more songs
* Fixes
* Catch-all end lobby music
* Rename it
* Catchall ambience cvar change
* Wait until we receive the lobby song to start playing one
* Fix toggling ready status resetting the song
* Comment
* Expend the last of my sanity fixing latejoin lobby music
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Move the var
Co-authored-by: ike709 <sparebytes@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Delete ghost when respawning
Fix session.AttachedEntity not being set to null when mind is wiped
Fix MindComponent not getting disconnected when Mind is wiped
Rename OwnedMob to OwnedComponent
* Update Content.Server/GameTicking/GameTicker.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Started working on beakers
* Working sprite change
* Fixed large beaker
* Add bluepsace beaker
* Add cryostasis beaker
* Removed old rsi
* Fixed dropper
* No dropper problems
* Working on syrigine
* Better syr visualizer
* Add dropper inhand
* Syringe in-hands
* Add base empty bottle for chemistry
* Deleted old fillings
* Simplified beaker in hand
* Moved chemical bottles to seperate .yml
* Fixed chem master
* Serv3 when
* Fixed grammar
* Removed delays
Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Initial
* Mmm
* Adds them to map
* Makes mice grindable
* meta.json looking nice
* Mice go squeak
* Ye
* E
* Review
* Update Content.Server/GameObjects/Components/Mobs/Speech/MouseAccentComponent.cs
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Removed obsolete EntitySystemMessage, now everything uses the base EntityEventArgs or the derived HandledEntityEventArgs.
Setup InteractionSystem to use new directed events.
* Update Submodule.
- Atmos now nulls air in fully airblocked tiles ONLY if one of the airtight entities in it has NoAirWhenFullyAirBlocked to true.
- Fixes edge firelocks atmos airtight direction
- Fixes atmos debug overlay not accounting for angle 0 being south.
* Fix monkey kitchen spike dragdrop
I also aligned the behavior with tg (need combat mode on + mob alive).
It still needs to do damage over time and buckle the target but baby steps.
* Cleanup
* Fix kitchenspike layers
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* A lot of unfinished work, trying to figure stuff out but it ain't really working
* The eye colors finally work on the sprite!
* Big refactor for HumanoidProfileEditor, crashes upon making a lobby
* Fixed Lobby crashing
* Moves the eye selection box to a new tab, which fixes selection the box from going off-screen and not expanding the bars
* uncommented something I shouldn't have commented out
* Moved eye colors back to the appearance tab, still some ui glitches
* Made it possible to scroll in the appearance tab
* Added "Eye color:" label
* Migrating some deprecated functions into their replacements
* Merged two private sealed classes into one public class, removing duplication
* 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>
* Tile RSI/YAML cleanup
* Changes tile stack from 8 to 30
* Tiles actually damage when you throw them
* Removed bad tiles and rest actually fucking work now
* If I write one more line of yaml i'll cut my dick off
* fixed was very tired
* Water vapor now makes puddles under 100ºC above 1 moles
* serv3 moment
* Update Content.Server/Atmos/Reactions/GasReactionPrototype.cs
Co-authored-by: Clyybber <darkmine956@gmail.com>
Co-authored-by: Clyybber <darkmine956@gmail.com>
* 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>
* Namespace changes for containers.
Moved ContainerSlot from content to engine.
* Merged client/server ContainerManagerComponents into a single shared version.
* Mapfile and nullability fixes.
* Upgrades map.
* Update engine.
* 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>
* Add nullable to some Content.Shared files.
* Use [NotNullWhen(true)]
* Undo adding now redundant !'s
* Forgot one
* Add a ton more nullable
* You can guess
* Fix some issues
* It actually compiles now
* Auto stash before merge of "null2" and "origin/master"
* I lied
* enable annotations -> enable
* Revert ActionBlockerSystem.cs to original
* Fix ActionBlockerSystem.cs
* More nullable
* Undo some added exclamation marks
* Fix issues
* Update Content.Shared/Maps/ContentTileDefinition.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Resolve some issues
* Remove unused method
* Fix more issues
* Fix more issues
* Fix more issues
* Fix more issues
* Fix issue, rollback SharedGhostComponent.cs
* Update submodule
* Fix issue, invert some if-statements to reduce nesting
* Revert RobustToolbox
* FIx things broken by merge
* Some fixes
- Replaced with string.Empty
- Remove some exclamation marks
- Revert file
* Some fixes
* Trivial #nullable enable
* Fix null ables
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Light now use visualizer
* Added ghost actions
* Add hotkey input for ghosts
* no message
* Testing blinking animation
* Better animation
* Better customization
* No abuse
* Reversed sln
* No fun for ghosts
* No fun for ghosts x2
* Cooldown for lights
* Moved to component deps
* This tollist is unnecessary
* Enums to byte
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Some lights can ignore ghosts now
Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Refactor stacks to use prototypes
* Fix not assigned warning
* Add names to stacks
* Make machine baords and material constructions use the name as well
* Remove defaulting stacks to prototype id
* Fix tests
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Bucket starts with water
* Mop has do_after
* Bucket has do_after (user allowed to move while using it as long as they're in range at the end for maximum jannie skill)
* Random cleanup
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* GlassBeaker and FirelockElectronics
* Teleportable + Fixed parented Mobs
* Moved the small tag stuff outta this PR, this is a MOB PR nowgit add .
* FootstepSound
* FootstepSound fixed
* Teleportable
* Added Tags
* Data-driven NPC factions
* Minor re-factor so it's settable via yaml instead. Any changes made during runtime aren't saved back.
* Still uses enums given bitmasks go BRRT
* private setters whoops
* nullables
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Data-driven NPC behaviors
* Nuked AiLogicProcessor
* BehaviorSets are now all stored in yaml (might try making actions also yaml someday)
* Added a test to validate all BehaviorSets
* Might also try pooling actions in the future to reduce allocs but that'll be way down the line (cough physics).
* Forgot to re-add sorting nothing suss
* Remove last references
* Proper vector2i serialization for tile atmos (#3266)
* update map files
* update submodule
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
* Remove weird "S" jumpsuit from existence (#3267)
* Change character names to use datasets prototypes (#3259)
* Remove old name lists in .txts
* Fix tests
* LATEST MASTER TECHNOLOGY
* Converts AdminMenu to partially use XAML (#3231)
* Cleans up Hydroponics content. (#3025)
* Adds to IgnoredComponents.cs
* Jackboots
* Half Done
* Moved to diff PR
* Everything functional
* Fixed Sprays
* Nice
* Fixed
* Update submodule
* Fix tests
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Stacked sprite visualizer (#3096)
* Add Stack Visualizer
* Add cigarette pack resources
Adds transparent layers for visualizing cigarettes
* Add Bag Open/Close Visualizer
So storage opened in inventory can have different icons when opened
or closed.
* Create a component that only enumerates single item
Used for creating stuff like matchbox, or cigarettes. As a bonus.
It will only update stack visualizer for that particullar item.
* Refactoring stuff
* Fix other usage of stack in Resources
* Add docs
* Apply suggestions from code review
Apply metalgearsloth suggestions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Applied suggestions from metalgearsloth
* Changed SingleItemStorageComponent to StorageCounterComponent
Difference. New component doesn't spawn items, merely counts them.
* Refactored StackVisualizer
* Fix breakage with master
* Update Resources/Prototypes/Entities/Objects/Consumable/fancy.yml
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update with MGS suggestions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* ApcNet updating fix (#3078)
* GridPowerComponent
* ApcNet Powered update bugfix
* PowerTest fix
* Add GridPower to Saltern
* test fix
* Update canceling cleanup
* code cleanup
* nullable & code cleanup for test
* undo power test nullable
* Replaces GridPowerSystem with ApcNetSystem
* build fix
* Update Content.Server/GameObjects/EntitySystems/ApcNetSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Change all XAML to use spacestation14.io namespace (#3277)
* fix pizzaboxes (#3291)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
* Spikes fix reopened (#3203)
* DoAfter, dead and stun check, DragDropOn
* Not ignored anymore
* Copied comment deleted
* Herbert's an ass
* Woops
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Make component states dependant on the player getting them (#3280)
* Make component states dependant on the player getting them
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Updated submodule to v0.3.7.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Acruid <shatter66@gmail.com>
* Hoe fix (#3296)
* Initial (#3297)
* Sort reagent dispenser entries (#3272)
* Sort reagent dispenser entries
Saves manually doing it.
* zumzum's suggestion
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Made firelocks damageable & destructible (#3303)
* Move job priority enum parity test ot unit tests (#3300)
* Spill hand contents when dropping them in a fall (#3304)
* Spill hand contents when dropping them due to falling down
* Better approach
* cleanup
* grammar
* stupid
* PauseManager moved to Shared (#3288)
* Namespace changes for moving IPauseManager to shared.
* Namespace changes for moving ITimerManager from Timers to Timing.
* Rebase Fixes.
* Update engine submodule to v0.3.8
* Improves kick, teleport and ban menus (#3312)
* Fix the admin panel not showing the account name (#3322)
* Fix name serialization for secret stashes (#3301)
* Fix name serialization for secret stashes
* Fix old usages of secret part name
* Separate ghost warp message into two (#3310)
* Separate ghost warp message into two
* Remove redundant arguments
* Address reviews
* Move properties up
* Add health overlay and a command to toggle it (#3278)
* Add health overlay bar and a command to toggle it
* Remove empty line
* Content PR for YAML hot reloading (#3319)
* Content PR for YAML hot reloading
* Add CanAdminReloadPrototypes (host permission)
* IndexedPrototype fixes
* Update RobustToolbox
* Update RobustToolbox
* Add an unconspicuous, meaningless and in no way motivated by any external force XML doc to buckle component
* Update RobustToolbox
* Update submodule to v0.3.12.
* Removed unused using statements that prevented compiling.
Removed references to IIndexedPrototype that does not exist anymore in the engine.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Leo <lzimann@users.noreply.github.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: collinlunn <60152240+collinlunn@users.noreply.github.com>
Co-authored-by: komunre <49118681+komunre@users.noreply.github.com>
Co-authored-by: Acruid <shatter66@gmail.com>
Co-authored-by: Peptide90 <78795277+Peptide90@users.noreply.github.com>
Co-authored-by: Clyybber <darkmine956@gmail.com>
* Namespace changes for moving IPauseManager to shared.
* Namespace changes for moving ITimerManager from Timers to Timing.
* Rebase Fixes.
* Update engine submodule to v0.3.8
* Make component states dependant on the player getting them
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Updated submodule to v0.3.7.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Acruid <shatter66@gmail.com>
* DoAfter, dead and stun check, DragDropOn
* Not ignored anymore
* Copied comment deleted
* Herbert's an ass
* Woops
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add Stack Visualizer
* Add cigarette pack resources
Adds transparent layers for visualizing cigarettes
* Add Bag Open/Close Visualizer
So storage opened in inventory can have different icons when opened
or closed.
* Create a component that only enumerates single item
Used for creating stuff like matchbox, or cigarettes. As a bonus.
It will only update stack visualizer for that particullar item.
* Refactoring stuff
* Fix other usage of stack in Resources
* Add docs
* Apply suggestions from code review
Apply metalgearsloth suggestions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Applied suggestions from metalgearsloth
* Changed SingleItemStorageComponent to StorageCounterComponent
Difference. New component doesn't spawn items, merely counts them.
* Refactored StackVisualizer
* Fix breakage with master
* Update Resources/Prototypes/Entities/Objects/Consumable/fancy.yml
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update with MGS suggestions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Basic voting
* Rewrite lobby in XAML.
Working lobby voting.
* Escape menu is now XAML.
* Vote menu works, custom votes, gamemode votes.
* Vote timeouts & administration.
Basically done now.
* I will now pretend I was never planning to code voting hotkeys.
* Make vote call UI a bit... funny.
* Fix exception on round restart.
* Fix some vote command definitions.
* Admin OOC is sent with a different color than regular OOC
- Also adds the OOC color to the database
* Command to set the color
* Ooc -> OOC
* Change default color to Red (`#ff0000`)
* Outdated namespace
* Add files for Ghost Roles.
* Work on Ghost Roles
* Improvements
* GHOST ROLES IS DONE
* mmm yes
* auto-update when setting rolename/roledescription
* well
* command graceful error
* Makes UI have a scrollbar when it has too many entries
* fix command fuckup
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* 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
* Added empty light
* Can build light fixture
* Can construct and deconstruct small light
* You can build bulbs only on walls
* Playing with placement conditions
* Refactored code a bit
* Added check for north direction and snapping
* Fixed all small light sprites (wrong directions order)
* Fixed weird problem with bulb lights
* Fixed rotation on all stations
* Fixed map again
* Much better placement mode
* Deleted shared wall component and moved all logic to raycasts
* Missing bracket
* Better texture
* Moved wallmount condition to tags
* Removed station station
* Added suffix and fixed on map init bug
* Remove ExplosivePassable collision layer
Now we have tags which can do this cleaner.
* Update typo
* Vera's review
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Cuff enhancements
* Cuffs now have an OnClick for the alert to remove them
* nullables
* Use default interaction range so highlights are accurate
* Cuffing fails more gracely
* Make shared abstract and add component references to client / server
* Don't cache AudioSystem and HandsComponent given cuffs are rarely used
* Fix test
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add Speech and Emoting components.
* makesentient gives you speech and emoting abilities.
* Ghosts do *not* need a SpeechComponent.
* I hate you all, and I hate shared code as well.
* WIP changes
* Fix tests, merge conflict and trigger once behavior
* Update yml
* Change test strings to be consts
* Fix total damage types and classes triggers
* Simplify damage trigger logic, move state to Threshold
* Update outdated code and docs
* Change the name of IBehavior back to IThresholdBehavior
* Change human gibbing to trigger at 400 brute damage
* Change gibbing from brute to blunt damage
* Fix one (1) typo
* Add damage class trigger test
* Add missing nullable enable to thresholds
* Move TagComponent to shared
* Fix test
* Not a web edited commit
No sir
* Update Content.Shared/GameObjects/Components/Tag/TagComponentState.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Actually spawns for the person who USES the uplink, not who owns it. Can't believe that was an actual bug.
Also puts it in your active hand if possible.
* Janitor trashbag upgrade + FANCY ANIMATIONS
* Review, Bug fixes and Sounds
- Fixed hand-pickup animation playing if the entity originated from inside a container (e.g. bag on the ground) or from inside ourselves (e.g. something in our own inventory)
* Fix/Change. Just log if AnimateEntityPickup is called with an entity that has no SpriteComponent.
* More explicit log message. Error log.
* Merge. Fix.
* A big hecking chemistry-related refactor.
Changed SolutionContainerCaps. It now describes "stock" behavior for interacting with solutions that is pre-implemented by SolutionContainerComponent. As such things like syringes do not check it anymore (on themselves) to see "can we remove reagent from ourselves". That's assumed by it... being a syringe.
SolutionContainerCaps now has different flags more accurately describing possible reagent interaction behaviors.
ISolutionInteractionsComponent is the interface that describes the common behaviors like "what happens when injected with a syringe". This is implemented by SolutionContainerComponent but could be implemented by other classes. One notable example that drove me to making this interface was the /vg/station circuit imprinter which splits reagent poured in into its two reservoir beakers. Having this interface allows us to do this "proxying" behavior hack-free. (the hacks in /vg/ code were somewhat dirty...).
PourableComponent has been replaced SolutionTransferComponent. It now describes both give-and-take behavior for the common reagent containers. This is in line with /vg/'s /obj/item/weapon/reagent_containers architecture. "Taking" in this context is ONLY from reagent tanks like fuel tanks.
Oh, should I mention that fuel tanks and such have a proper component now? They do.
Because of this behavioral change, reagent tanks DO NOT have Pourable anymore. Removing from reagent tanks is now in the hands of the item used on them. Welders and fire extinguishers now have code for removing from them. This sounds bad at first but remember that all have quite unique behavior related to this: Welders cause explosions if lit and can ONLY be fueled at fuel tanks. Extinguishers can be filled at any tank, etc... The code for this is also simpler due to ISolutionInteractionsComponent now so...
IAfterInteract now works like IInteractUsing with the Priority levels and "return true to block further handlers" behavior. This was necessary to make extinguishers prioritize taking from tanks over spraying.
Explicitly coded interactions like welders refueling also means they refuse instantly to full now, which they didn't before. And it plays the sound. Etc...
Probably more stuff I'm forgetting.
* Review improvements.
* Add tag component and test
* Remove 0 capacity
* Add tag component extensions
* Change tags to be prototypes
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Remove unused IChatCommand.
* Lots of refactoring into a shared context.
* Removed ICommonSession from server concmd Execute.
* Added argStr parameter to concmd execute.
* The execute function of client concmds now returns void, use the new shell.RemoteExecuteCommand function to forward commands.
* Finally move shells and commands into shared.
* Console commands can now be registered directly without a class in a shared context.
* Engine API Changes.
* Repair rebase damage.
* Update Submodule.
* Botany: Introduce shovel and spade into hydro\_tools
* Botany: Add shovel/spade (just removes plants)
* Botany: Add shovel/spade lathe recipes and make all botany lathe recipes accessible
* Botany: Add spade into Saltern
* Botany: Give Saltern a bucket for the botanist
* Botany: Plant produce can be composted for nutriment/etc.
* Botany: Bye-bye duplicated force update code, hello ForceUpdateByExternalCause
* Botany: Shovel identity crisis resolved (thanks Paul)
* Walls, catwalks, table frames can no longer be constructed rotated.
This should help prevent bugs from unanticipated rotations.
* SnapToGrid ZeroRotation (now SouthRotation) - Stuff must face south apparently
* Get rid of the OverlayEffectsComponent stuff because it just ended up creating workarounds for it's bugs, without removing any functionality
* Flashes and Flashbangs use the same code now (the Flashable path because it's better)