* Improves bartending with some tweaks.
- Glasses got resprited and now support fill levels.
-
* New glass type and improve shotglass visuals.
* oobsy
* fixes
* get flasked
* flask
* flask
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Fix examine system after formatted text refactor
Implement key bind markup tag
* Add font prototype definitions
* Update submodule.
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Ore veins
I dislike rocks just providing generic drops and this factors into mining more.
* fixes
* descriptions
* comment
* every flipping time
* Make mining destroy rocks with 1 hit
Having to click 3 times was pretty annoying.
* a
* Fire MeleeHitEvent when there are no targets.
* Prevent certain weapons from activating if they had no hit entities on hit.
* Prevent miss events from firing when target is yourself or was deleted.
* Use .Value as Target is already known not to be null.
* uid changes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* belt multithreading
* moves away from multithreading and changes setting awake directly to physics system method
* prediction for conveyors
* Fixes missing reference in FaxSystem
* Fixes oddities
* Adds networked to conveyor components
* Some more cleanup.
* reverts power change event
* Removes the event, fixes a file
* Should fix the rest of the weird additions
* More cleanup to fix extra files
* Fixes again
* fix
* fixes fax system
* Adds component state, cleans up the dependencies
* Checks for prediction
* Merge conflicts
* powa
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Planetmap tiles
Biomes etc etc
* a
* oop
* Chunk-based rendering
* funny
* Less allocations
* Fix overdraw
* Content tile edge support
Also updated grass to use it as a POC.
* Kindly revert
* Update for variant edges
* fixes
* Use fastnoise
* Remove redundant group
* a
* refactor a fair bit
* Prototype data instead
* tweaks
* a
* fix maths
* working
* a
* Slightly better empty support
* a
* flowers
* sounds
* lewd
* Networking
* more fixes
* better
* colours
* Some chunk loading
* Proper loading and unloading
* Better loading
* Fix parallax and movement sounds
* Anchoring support + decal setup
* Most of the way to load and unload
* Decal loading kinda werkin
* large trees
* started diffing
* a
* Variant support and deserts
* a
* snow
* agony, even
* working again
* todo
* a
* laba tiles
* aeiou
* a
# Conflicts:
# Resources/Prototypes/Entities/Tiles/planet.yml
# Resources/Prototypes/Tiles/planet.yml
# Resources/Textures/Tiles/Planet/Lava/lava.rsi/meta.json
* laba
* Add lava
* Initial ignition
* triggers
* a
* a
* y
* Add basalt tiles
Did some unconventional things for the animation + rocks.
* fixies
* mergies
* promotion
* lava biome
* Lava planet start
* cleanup and more lava
* laba
* maccas
* biome stuf
* weh
* bongflicts
* aeaeae
* More fixes
* a
* these too
* Fix some bugs in stations and do a little cleanup.
* Begin backporting the guidebook.
* wow that's a lot of work.
* More work, gives the monkey some more interactions.
* disco monkye.
* monky
* jobs entry.
* more writing.
* disco
* im being harassed
* fix spacing.
* i hate writing.
* Update Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* builds again
* a
* pilfer changes from AL
* fix and remove unused code
* pilfer actual guide changes from AL
* localization
* more error logs & safety checks
* replace controls button with command
* add test
* todos
* pidgin parsing
* remove old parser
* Move files and change tree sorting
* add localization and public methods.
* Add help component/verb
* rename ITag to IDocumentTag
* Fix yml and tweak tooltips
* autoclose tooltip
* Split container
* Fancier-tree
* Hover color
* txt to xml
* oops
* Curse you hidden merge conflicts
* Rename parsing manager
* Stricter arg parsing
tag args must now be of the form key="value"
* Change default args
* Moar tests
* nullable enable
* Even fancier tree
* extremely fancy trees
* better indent icons
* stricter xml and subheadings
* tweak embed margin
* Fix parsing bugs
* quick fixes.
* spain.
* ogh
* hn bmvdsyc
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* clean up a bunch of R&D code
* don't store components
* brug
* speedrun some sloth review
* technology disks
* expand functionality, begin work on printer
* disk printer ui
* file
* fix the rebase
* disk console is finito
* Update DiskConsoleSystem.cs
* Add loc support
* New icons and translated weapon
* Explosives
* Finished ammo
* Utils
* Fixes
* Implants and bundles
* Removed sink from surplus
* Tools
* Start working on armor
* Finished armor
* Misc
* Finished uplink
* split admin chat into new channel
* add ability to play audio when a chat message is received and add audio to admin chat
* give client control of AdminChat sound and volume + suppress sound for senders
* InitialCommit (Broken)
* Fixes compile errors
* PR comments. More doc comments. Fixes
* Makes a singularity/event horizon without radiation/physics a valid state to be in
* VV 'fake' setters, fixes the visualizer, fixes the singularity trying to eat itself instead of nearby things.
* Removes unused dependency from Content.Client.GravityWellSystem
* Testing containment and fake VV setters for SingularityGeneratorComponent
* Fixes gravity wells (broken due to LookupFlags.None). Adds recursive Event Horizon consumption
* Fix merge skew
* Fixes for the master merge
* Fix engine commit
* Dirty is obsolete
* Switch over dirty
* Fix requested changes
* ambiant -> ambient
* Moves EventHorionComponent to Shared
* Proper container handling
* Fixes master merge. Fixes post insertion assertions for singularities. Extends proper container handling to gravity wells and the distortion shader.
* Better support for admemes throwing singularities.
* Moves update timing from accumulators to target times
* Update doc comments
* Don't stop me now, cuz I'm havin' such a good time (I'm havin' a ball!)
* YEET
* No changes to intended behaviour at this point. Pretty much just a refactor + bugfixes.
* tweaks to RandomizeState, removing an error caused by setting the state after setting the RSI
* Comments cleanup and removed IsSlippery. To re-add soon for this PR.
* test
* We don't actually use this PuddleGeneric anywhere
* cheeky
* Uncheeky, and tweaks based on #8203
* Recheeky
* A small price to pay for `checks passed`
* Beauty, like ice, our footing does betray; Who can tread sure on the smooth, slippery way
* Undo Slippery Checks
* Begin smoothing. Need to fix the animation-not-playing bug again
* Cleanup
* animation bugfix
* IgnoredComponents tests fix
* mechs
* interaction relay
* atmos handling
* fuck around with interaction events
SPAGHETTI CODE OH MY GOD
* more sprites and whatever the hell
* more mech shit
* more shit for equipment
* starting equipment (for nukie mechs and such)
* equipment cycling
* starting with some of the ui
* a fat chunk of ui prototyping
* done tinkering with ui
* a bunch of ui stuff and what have yous
* cleaning up grabber and state handling
* make the ui actually functional + watch me port a million icons
I swear i'll prune the sprites later blease
* start on construction
* construction yo mamma
* remove some unused files
* fix a silly
* make the graph sane
* make it actually constructible.
* print the boards as well, bozo
* rebalance part prices
* eject action
also i appease the russians by remembering to localize
* Punch Shit
* make mech integrity and repairs work
* Make the UI more based
STOMP STOMP STOMP STOMP
* make equipment even more based
* batteries and other such delights
* make the ui look pimpin af
* make the construction mega based
* UI but so epic
* equipment
* some sweat tweaks
* damage rebalancing
* restructure tech
* fix some shit
* mechs inherit access
* make icons actually use sprite specifiers
* TRAILING COMMAA!!!!!
* fix a mild indentation sin
* undo this change because it isn't needed
* actually fix this
* secret webeditting shhhh
* place this tech here
* comments
* foo
* Implement NetProbeCartridge
* Add audio and a popup when scanning a device
Add some doc comments
* Set program icon
* Add NetProbe cartridge as rare loot to maintenance loot tool spawner
* Make the maximum amount of saved entries configurable
Add a scrollbar that shows when there are more entries than fit on the screen
* Make device net id names translatable
* Add missing Dispose method to ForensicScannerBoundUserInterface.
* Remove old code from ForensicScanner.
* Prevent forensic scanner from being used on the floor and allow its window to stay open when active hand is swapped.
* Use more standardized UI code for ForensicScanner.
* Add a delay to ForensicScanner printing.
* Show name of what was scanned on ForensicScanner UI.
* Add a print sound for ForensicScanner.
* Add more error reporting for ForensicScanner.
* Centralize common logic in ForensicScannerSystem.
* Allow ForensicScanner blank printouts.
* Tweak ForensicScanner audio parameters.
* Work on cartridges
* Work on PDA UI
* Work on PDA UIs program list
* Work on PDA UI borders
* Add DeviceNetworkingComponent to the pda base prototype
* Fix submodule version
* Fix cartridge loader ui key
* Fix pda menu xaml
* Implement relaying ui messages
* Finish implementing the notekeeper cartridge
* Fix submodule version
* Fix errors from merging master
* Fix test failing
* Implement setting preinstalled programs
* Add some documentation to CartridgeLoaderSystem
* Add more doc comments
* Add localization to program names
* Implement review suggestions
* Fix background programs receiving events twice when active
* Xenoarch feedback
print out reports, weight node traversal, dialog for destroy menu, slight effect tweaks
* make the popup not bad
* the popup, jimbo...
* multi-node xeno artifacts
* refactor existing artifact effects
* more tweaks to generation
* more shit plus fix tests
* more generation stuff plus threat levels
* doink
* now make it build
* defer the artifact activation to not cause errors
also pricing
* some changes
* all of the yaml + ui stuff for artifact analyzer
* machine linking and starting to make the ui functional
* artifact analyzer display
* a shit ton of artifact analyzer stuff
* more changes; making destroy work properly; progress bar tweaks
* getting shit going!
ALL RIGHT
* small tweaks that didn't help much
* Komm susser todd: the end of analysis
* recipes and hints and ui, oh my!
* add some in-game sources
gotta prepare for day 1 launch
* node data + ditch random seed in place of id
* bunch of triggers
* finish off the last few triggers
* implement machine examine verb
* knock, flicker, blink, throw
* shatter, foam, shuffle, heat
* fix all the shit i broke
* *some* of these have to be good, no?
25 effects
* callin' it there for effects
* comments + reword some trigger hints
* don't mind this little commit here
* byref event
* fix brokey node entry
* fix low pressure trigger
* mirror review plus fixing 0x40's bug
also the throw artifact threw incorrectly
* randomize the event message a teeny bit
* Refactor ReagentGrinder
- It can now process partial stacks. (Before it would do nothing if the entire stack's solution didn't fit in the output container)
- Get rid of `SharedReagentGrinderComponent`, move shared stuff to `SharedReagentGrinder.cs`.
- Subscribe to events instead of massive switch/case.
- Get rid of update queue thing.
- Change `DoWork` so it's less duplicate code for grinding/juicing.
- Get rid of `ExtractableScalingEvent` and just scale directly based on item stack count.
- Add message for when you try to put something into the reagent grinder that doesn't fit.
- Fix obsolescence warnings.
* Use a timer on component instead of SpawnTimer
* s/StorageCap/StorageMaxEntities
* Don't predict body init
Client doesn't handle predicted entity spawning so the organs hang around.
* Just use init
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
* refactor: Removes FlashLightVisualizer (based on obsolete code) in favor or merging its functionality with HandheldLightComponent
fix: Low power lighting radius animations for lanterns, floodlights and flashlights now properly restore the original light radius when going back to full power
* refactor: Use the LightBehaviour component to animate HandheldLights
refactor: Remove unneeded HandheldLight definitions in some yaml files (already inherited by parents)
fix: Properly change the server side PointLightComponent Enabled property when turning HandheldLights on/off
feat: ReverseWhenFinished property on Fade light behaviours
* Empty commit to rerun CI with the new engine PR
* fix: Restore the correct HandheldLight addPrefix property, whoops
* refactor: blinkingBehaviourID -> blinkingBehaviourId, radiatingBehaviourID -> radiatingBehaviourId
* various fixes
* whoops
* oops
* oop
* removes that call from escape button on unload instead of adding another one
also just moves escape window stuff into the state entered call, as only one is instantiated whenever the state is loaded (and is not dependent on the current screen)
* attempt at moving MainViewport to UIWidget
* oldchat (prototype)
* separate oldchat and default ss14 HUD into their own files
* restores original default game screen logic and adds that logic into separated chat game screen
* hand reloading, several tweaks to port oldchat to main ss14 branch
oldchat is currently not selectable
* screen type cvar, gameplay state screen reloading/loading
* reload screen on ui layout cvar change
* fixes up basic reloading (HUD switching is still very bad)
* some UI widget reloading for main UI screen switching
* alert sync on screen change
* inventory reload
* hotbar margin fix
* chat bubbles above viewport
* whoops
* fixes ordering of speech bubble root
* should fix the chat focus issue (at least in-game, not lobby yet)
* should fix up the lobby/game chat focus
* fixes chat for lobby, turns lobby into a UI state
* viewport UI controller
* viewport ratio selection
* whoops
* adds the /tg/ widescreen ratio
* removes warning from inventory UI controller, adds background to separated chat game screen's chat portion
* menu button reload
* unload menu buttons only from gameplay state shutdown
* bugfix
* character button fix
* adds config options for viewport width/UI layout
* variable naming changes, get or null instead of get to avoid exceptions
* moves entity system get into controller
* fix preview dummy bug
* rerun tests
* rerun tests again
* fix minor visual issue
* rerun tests
* mirror review
* i love map tests randomly failing in prs that don't touch them
* 1 line, i dont know why, it doesn't even matter how hard you try
Reduces visual clutter just slightly, by avoiding bright white text in an otherwise empty and dark space.
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* git mv
* Disable shader while box is open
* Hide entity menu / prevent examine
* fix recursion fix recursion fix recursion fix recursion
* Better visibility checks
* min and max visibility fields
* fix reference point
* humanoid sexmorph sprite restoration
can't believe i broke sex/gender AGAIN
* fixes default species appearances with no profile, tweaks randomization to no longer randomize species
* A
* fixes an oops
#11494
* initial commit
- species prototype modifications
- markings points as its own file
- shared humanoid component
* adds a tool to convert sprite accessories to markings (in go)
* removes a fmt call
* converts sprite accessory to markings
* adds hair and facial hair to marking categories
* multiple changes
- humanoid visualizer system
- markings modifications for visualizer
- modifications to shared humanoid component
- lays out a base for humanoid system
* hidden layers, ports some properties from appearance component, shrinks DefaultMarkings a little
* squishes the initialize event calls into one function
adds stuff to set species/skin color externally from a server message - currently laid out as if it a dirty call to a networked component, may be subject to change (server-side has not been implemented yet)
* makes the sprite pipeline more obvious
* apply all markings, hidden layer set replacement
* ensures that markings are cleared when the new set is applied
* starts refactoring markingsset (unfinished)
* more additions to the markingset api
* adds constructor logic to markingset
* adds a method to filter out markings in a set based on a given species
* fixes enumerators in markingset
* adds validator into MarkingSet, fixes ForwardMarkingEnumerator
* modifications to the humanoid visual system
* ensuredefault in markingset
* oop
* fixes up data keys, populates OnAppearanceChange in visualizer
* changes to humanoid component, markings
marking equality is now more strict, humanoidcomponent is now implemented for client as a child of sharedhumanoidcomponent
* markings are now applied the visualizer by diffing them
* base sprites are now applied to humanoids from humanoidvisualizer
* passes along base sprite settings to the marking application so that markings know to follow skin color/alpha or not (see: slimes)
* custom base layers on humanoids
* merges all data keys into one data class for humanoid visualizers
* setappearance in sharedhumanoidsystem, removes custombaselayercolors
* humanoidcomponent, system (empty) in server
* adds some basic public API functions to HumanoidSystem
* add marking, remove marking
* changes appearance MarkingsSet to a List<Marking>, adds listener for PlayerSpawnCompleteEvent in HumanoidSystem
* ensuredefaultmarkings, oninit for humanoids
* markingmanager API changes
* removes MarkingsSet
* LoadProfile, adjusts randomization in humanoid appearance to account for species
* base layer settings in humanoidsystem, eye color from profile
* rearranges files to centralize under Humanoid namespace
* more reorganization, deletes some stuff
gotta break stuff to make other things work, right?
goodbye SpriteAccessory...
* fixes a good chunk of server-side issues
still does not compile, yet
* singlemarkingpicker xaml layout
* singlemarkingpicker logic
* magic mirror window (varying pieces of it, mostly client-oriented)
* removes some imports, gives MagicMirror a BUI class (not filled in yet)
* populates magic mirror BUI functionality / window callbacks
* fixes up some errors in humanoidprofileeditor
* changes to SingleMarkingPicker
SingleMarkingPicker now accepts a List<Marking>, species, and total possible markings available in that marking category
* fixes up hair pickers on humanoid profile editor
* fixes the errors in markingpicker
* markingsystem is now gone
* fixes a bunch of build errors
* so that's why i did it like that
* namespace issues, adds robustxamlloader to singlemarkingpicker
* another robustxamlloader
* human, lizard sprites/points
* prototype fixes, deletion of old spriteaccessory
* component registration, fixes dwarf skin toning
no, 'ReptilianToned' does not exist
* removes component registration from abstract humanoid component
* visualizer data now cloneable
* serialize for visualizer key
* zero-count edge case
* missing semi-colon moment
* setspecies in humanoidsystem
* ensures that default markings, if empty, will cause ensuredefault to skip over that given category
* tryadd instead of add
* whoops
* diff and apply should properly apply markings now
* always ensure default, fixes double load for player spawning
* apply skin color now sets the skin color property in humanoidcomponent
* removes sprite from a few species prototypes
* sprite changes for specific base layers based on humanoid sex
* layer ordering fix, and a missing base layer should now disallow markings on that layer
* anymarking base layer, adds the right leg/foot for humans
* loading a profile will now clear all markings on that humanoid
* adds missing layers for humans
* separates species.yml into respective species prototype files
* ensures that if layer visibility was changed, all markings have to be reapplied
* server-side enforcement of hiding hair (and other head-related markings) when equipping things that hide hair
* slime fix, clothingsystem now dictates layer visibility server side
* sussy
* layer settings should now ensure a marking should match the skin tone
* whoops
* skincolor static class and functions in UI
* skin color validation in humanoidcharacterappearance
* markingpicker now shows only the markings for the selected category in used
* getter for slot in singlemarkingpicker now ensures slot is 0 if markings exists
* FilterSpecies no longer attempts to do removal while iterating
* expands for SingleMarkingPicker
* humanoid base dummy has blank layers now (and snout/tail/headside/headtop)
* fixes an issue with visualizer system if the marking count was different but the markings themselves were (somewhat) the same
* whoops
* adds edge case handlers for count differences in humanoid markings
* preview now loads profile instead of directly setting appearance
* moves marking set loading to update controls
* clones a marking set in markingpicker by using the deep clone constructor
* whoops (deep cloning a marking now copies the marking id)
* adds replace function for markingset
* points should now update after the markings are remove/added
* merging base layer sprites into a humanoid should now clear them before merging
* sets dirty range start to count only if the dirty range start was never set above 0
* fixes up some issues with singlemarkingpicker
* color selector sliders in single marking picker should now expand
* hair from hair pickers should now apply in profile loading (client-side)
* category in singlemarkingpicker now sets the private category variable
* slot selector should now populate
* single marking picker buttons now have text, also shows the category name over all user-clickable elements
* removes a comment
* removing hair slots now sets it to bald, defaults to zero used slots if current hair is bald on hair/facial hair
* random skin color, eye color
* populate colors now checks if the marking count is greater than zero in singlemarkingpicker
* hair/facial hair pickers now just get the first possible hair from the respective species list
* different approach to random skin color
* oh, that's why it wasn't working
* randomize everything now just updates every single control
* selecting a new marking in SingleMarkingPicker should attempt to copy over old colors, populate list now uses cache,
* markingmanager now uses OnlyWhitelisted to populate by category and species
* filterspecies now uses onlyWhitelist to filter markings based on whitelist or not
* oops
* ui fix for singlemarkingpicker, ensures that cache is not null if it is null when populatelist is called
* order of operations for the horizontal expand for add/remove
* hair pickers should now update when you add/remove the hair slot
* fixes variable naming error in character appearance
* loc string fix in singlemarkingpicker
* lizards, vox now have onlyWhitelist, vox restriction for hair/facialhairs
* having zero possible hairs should no longer cause an exception in randomization
* setting species should now update hair pickers
* ignore categories for marking picker
* and a clear as well for the category button
* places that functionality in its own function instead
* adds eye base sprite, vox now also have their own custom eye sprites
* loading a profile client-side should do FilterSpecies for markings now
* client-side load profile does filter species after adding in the hairs now
* magic mirror
* callbacks now call the callback instead of adding it on construct
* whoops
* in removemarking too
* adds missing synchronize calls
* comments out an updateinterface call in magic mirror
* magic mirror window title, minimum sizing
* fixes minsize, adds warning for players who try to set their hair for species that have no hair
* removes spaces in xaml
* namespace changes/organization
* whoopsie (merge conflicts)
* re-enables identity from humanoid component
* damagevisuals now uses the enum given to it instead of the layerstate given on that layer tied to the enum
* removes commas from json
* changes to visuals system so the change is consistent
* chest
* reptilian
* visualizer system now handles body sprite setting/coloration, similar to how characterappearance did it
not a big fan of this
* adds a check in applybasesprites
* adding/removing parts should now make them invisible on a humanoid
* body part removal/adding now enumerates over sublayers instead
* synchro now runs in bodycomponent startup
* parts instead of slots
* humanoidcompnent check
* switches from rsi to actualrsi
* removes all the body stuff (too slow)
* cleans up resolves from humanoid visualizer system
* merging sprites now checks if the base sprites have been modified or not (through things like species changes, or custom base sprite changes)
* not forgetting that one again
* merging now returns an actual dirty value
* replaces the sequenceequal with a more accurate solution
* permanent layers, layer visibility on add/remove part in body
* should send all hidden layers over now
* isdirty in visualizer system for base layers
* isdirty checks count as well
* ok, IsDirty should now set the base layers if the merged sprites are different
* equals override in HumanoidSpritePrototypes.cs
temporary until record prototypes :heck:
* makes fields readonly, equates IDs instead
* adds forced markings through marking picker
* forced in humanoidsystem api, ignorespecies in markingpicker
* marking bui
* makes that serializable as well
* ignore species/forced toggles now work
* adds icon to modifier verb, interface and keys to humanoid bases
* needs the actual enum value to open, no?
* makes the key the actual key
* actions now propagate upwards
* ignore species when set now repopulates markingpicker
* modifiable base layers in the markings window
* oops!
* layout changes
* info box should now appear
* adds ignorespecies for marking picker, collapsible for base layer section of appearance modification window
* collapsible layout moment
* if base layers have changed, all markings are now dirty (and if a base layer is missing, the marking is still 'applied' but it's now just invisible
* small change to marking visibility
* small changes to modifier UI
* markings now match skin on zombification
* zombie stuff
* makes the line edit in marking modifier window more obvious
* disables vox on round start
* horizontal expand on the single label in base layer modifiers
* humanoid profiles in prototypes
* randomhumanoidappearance won't work if the humanoid has a profile already stored
* removes unused code
* documentation in humanoidsystem server-side
* documentation in shared/client
* whoops
* converts accessory into marking in locale files (also adds marking loc string into single marking picker)
* be gone, shared humanoid appearance system from the last upstream merge
* species ignore on randomization (defaults to no ignored species)
* more upstream merge parts that bypassed any errors before merge
* addresses review (also just adds typeserializers in some places)
* submodule moment
* upstream merge issues
* lathe and material storage refactor
* materialStorage ECS
it kinda sus tho
* beginning the lathe shitcode dive
* couple lathe visuals and lathe system
* lathe changes and such
* dynamic lathe databases
* rewrote internal logic
on to ui
* da newI
* material display clientside
* misc ui changes
* component state handling and various other things
* moar
* Update Content.Shared/Lathe/LatheComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* first volley of sloth review
* more fixes
* losin' my mind
* all da changes
* test fix and other review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fix doc comment on FitsInDispenserComponent
It's clearly intended to be a doc comment, but wasn't.
* Allow the ChemMaster to accept canisters and bottles
* Give the ChemMaster an output container slot
* Tweak ChemMaster UI layout
* Make more ChemMaster UI tweaks
* Update ChemMaster SpinBox max handling
* Rework the ChemMaster
* Apply suggestions from code review
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
* Implement PR feedback
* Switch ChemMaster to a tabbed UI layout
* Rename Amount to Dosage for clarity
* Replace Amount with Dosage in messages
* Clarify dose in UI
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
* Clean up EntityListDisplay
* Rename EntityListDisplay to ListContainer
* Rename stuff
* Rework ListContainer
* Add tests
* Replace IControlData with record ListData
* Make _data non-nullable
* Fix test record items being duplicates
* Split filter method from populate
* Rename UpdateList to DirtyList
* Replace _count with _data.Count
* Clarify local variable toRemove
* Cleanup
* Add data selection to ListContainer
* Add selection test
* Fix comments and test name
* Fix ListContainer layout hiding items when scaled
* Add test for ListContainer top item
* Toggle fix
* Ensure buttons are re-generated
* Update unread count on select
* a
* Fix toggle test
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
- Change namespace, and folder of FancyWindow to Content.Client.UserInterface.Controls
- Change xaml reference from ui to controls in some places
- Change ClientAlertsSystem from internal to public
- Change namespace, and folder of HighDivider to Content.Client.UserInterface.Controls
* APC construction and deconstruction
Construction action GivePrototype
* APC needs screwing + sprites
* apc framework, working construction recipe
* Energy swords hot
* APC changes
* APC construction/deconstruction
* removed comments
* Revert "Energy swords hot"
This reverts commit 75228483abb3cc6252118b319bc8949d5198362d.
* Renamed function for clarity
* Fixed the last step not showing in the construction menu
* Some fixes
* Update Content.Server/Power/EntitySystems/ApcSystem.cs
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Content.Server/Construction/Completions/GivePrototype.cs
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Resources/Prototypes/Entities/Structures/Power/apc.yml
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Resources/Prototypes/Entities/Structures/Power/apc.yml
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Content.Server/Power/Components/ApcElectronicsComponent.cs
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Update Content.Client/Power/APC/ApcVisualizer.cs
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* flavor profiles
TODO: every single flavor! yeah!!!
* adds basic localization, and flavors/lastFlavor values for when you get the flavor profile message
* multiple and single flavor messages
* start on flavor localization, multiple flavors in localized flavors
* flavor prototypes
* a few more flavors, descriptions on what each section of the flavor file should be doing
* localization for flavor profiles in drink/food system
* adds an event that allows a flavor profile list to be transformed base on the user entity
* raises it on the food entity too
* changes a field in flavor, adds some more flavors, starts adding flavor prototypes
* adds basic flavors to several entities, and consumable drinks, renames flavor field to 'flavors'
* changes call ordering in flavorprofile, adds flavor to ignored components server-side
flavor is really just a popup message, and those are all processed server-side
* fixes where food tried to get the flavor of the user instead of the food
* single flavors will now get the localized string
* getting the flavor message now ensures that flavors are deduplicated
* makes flavor processing more strictly unique bu making everything hashsets
* yeah, that could just not have distinctby now
* adds flavorprofile directly to food base instead for generic food taste
* FlavorProfileModificationEvent now passes a hashset of strings and not flavorprototypes
* flavorprofilesystem now broadcasts the flavor profile modification event
* adds more flavors to the flavor profile loc file
* skips a flavor, if the flavor string is null/empty
* adds some more flavors, adds generic medicine flavor to medicinal chemicals
* more food flavors, adds flavors to swallowing
* adds some cocktails to the set of flavor profiles
* regenerates flavor prototypes
* adds flavor type to all flavors, adds whitespace between variants
* adds more flavors, adds flavors to several chemicals and food items
this is the part that took the longest
* changes backup flavor message
* spelling mistake
* more flavors, and flavors on food
* readds all the type fields, whoops
* fixes localization strings for forcefeeding food/drink
* fixes multiple flavor profile
* adds flavor limit for flavors
* makes that fetch the cvardef instead
* Add examines for damage values
Even immersive sims still give you values.
We should also do this for armour so people don't have to yml dive and so the general public actually know the balance of things.
* Slightly better
* Cleanup
* threshold balancing, restores none mode on atmos alarm
dear lord, panic mode with unbalanced thresholds was a nightmare
* that was 10%, not 1%
* adds widenet mode for scrubbers
* adds the vents to wide filter as well
* shuffles devicelist to shared, adds an overlay for devicelist
* adds space property to overlay
* moves networkconfigurator to shared, makes devicelistsystem clientside check activedevicelist
* dirties components upon change, adds networkedcomponent to sharednetworkconfigurator
* state handlers for networked components
* whoops
* lots of shuffling, renaming, and access changes
* randomizes color for every new entity added to the overlay
* adds a client-side action to clear all network overlays if they're active
* clones action (oops)
* localization, adds a command for clearing network link overlays (in case the action disappears)
* moves the entity manager up into the bui fields
* makes that a dependency
* attempts to just directly get the color from the dict when drawing, now
* fixes up a few comments
* adds dirty on init to devicelistcomponent
* hacky solution related to mapping with a networkconfigurator
* more stricter bound on that hacky solution
* just checks if the life stage is initialized instead of if the entity was initialized
* moves getalldevices to shared
* readds linq import
* tries to ensure that the show button is toggled on if the device we're trying to configure is currently being tracked by the overlay
* some reorganization
Add a new InfoSystem that sends SharedInfo from the server to client
when requested. Currently, only the rule header and rule text is sent.
Previously, the rule header and rule text was bundled in the client,
which means that the client would only display rules that it was built
with, even if the server has different rules.
This allows servers all running the same build to send different rules.
This could be useful, for example, for servers running the official
builds to send different rulesets without a client rebuild.
* Material
* good prototype
* Fix material storage
* You can insert biomass into the cloner
* ok, basic biomass subtraction works
* amogus
* ok chance works
* Alright, the biomass and genetic stuff works
* feedback for cloning
* more reclaimer polish
* ship it
* starting biomass + fix lathes
* I changed my mind on rat mass and these guys are definitely getting ground up
* Doafter
* clean up, sync the two
* fix naming, fix mass
* technology + construction
* additional logging, stop unanchoring when active
* fix event / logs
* dont gib dead salvage
* auto eject
* fix deconstruction behavior
* make warning message better, temporarily disable cancer scanner
* fix biomass stacks
* add easy mode CVAR
* stack cleanup, make biomass 2x as fast
* bugfix
* new sprite from hyenh
* fix tests
* hello? :smilethink:
* :smilethink:
* medical scanner gets antirotting
* fix cloner and medical scanner
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
On master it will just close the GUI and do nothing if the role timer is not met. This PR just means it shows as disabled and also provides the reason on tooltip as well.
* Converted PlantHolderVisualizer to component and system.
* Cleaned up Botany folder.
* Converted initialization of HydroTrayVisualizer under PlantHolderVisualizerSystem to it's own GenericVisualizer.
* Cleaned up hydro_tray.yml.
* Per-map parallax support
* Comments for future sloth
* c
* bet
* Fix exception
* VV support
* Fix parallax
* mem
* weightless sounds
* Gravity stuff
* placeholder coz im too lazy to stash don't @ me son
* decent clouds
* sky
* Fast parallax
* Imagine spelling
* Loicense
* perish
* Fix weightless status
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
* Adds three new smites, headstand, locker stuff, and reptilian species swap.
* Localize all the smites.
* save work
* More smites...
* Final tweaks.
* oops
* !PLEH
* Adds disarm prone and improved hand removal options.
* fix chances.
* take out the trash.
* Add some admin TRICKS instead of more smites.
* oop
* Implements the admin test arena and associated trick.
* Tricks for granting/revoking access.
* e
* mfw
* Implement quick dialogs, for when you don't want to spend 20 minutes writing a simple dialog prompt.
* Forgot the rejuv icon.
* E
* docs
* augh
* Add rename/redescribe buttons.
* Adds objects menu, implements a couple tricks for stations.
* 1984
* Adds a trick for effectively infinite power.
* fixes some icon uggo.
* a
* HALT!
* Pause/unpause buttons.
* Forgor the textures.
* they broke every bone in their body.
* i added more
* more battery actions, touch up battery icon.
* Address reviews.
* starter API
* network ID cards
* Port more stuff from old identity
* Re-implement identity representation + name updating
* move
* proper name returning for `IdentityName`
* move everything important to server, give in to temptation
* shared / server / client split sadly. move ensure to shared and spawn to server
* identity update queueing + identityblocker
* fixes
* and just like that it's usable for admins
* huge identity pass
* pass dos
* jesus christ
* figs :D
* fuck u
* fix bad merge.
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
* Convert atmos plaque to generic visualizer
Use generic visualizer for atmos plaque. Also enables zumos plaque to
appear.
* Convert gas canister connecters
* Remove manual layer creation
* Remove gas canister visualizer
* Convert gas analyzers to generic visualizers
* Convert fire visualizer
* Fix layers on plasma and air canisters
* Remove commented out fire visualizer in barricades
* Add documentation for fire visuals component
* Remove redundant visualizer for milkalyzer
* Remove rogue item group
* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.
* actually compiles
* Remove commented out code
* funny bracket
* Move archived moles, temperature from GasMixture to TileAtmosphere.
* WIP customizable map default mixture
still VERY buggy
* broken mess
aaaaaaaaaaaaa
* Fix lattice, etc not being considered space
* visualization for "IsSpace"
* help
* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
* Holy SHIT it compiles AGAIN
* Fix AtmosDeviceSystem crash at shutdown
* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.
* Use space instead of gasmixture immutable for heat capacity calculations
* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.
* Fix roundstart tiles not processing
* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs
Changed Files tab is so large I can't commit both suggestions at once mfw
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* lewd
* A
* Realtime
* Sleepy dork
* Draw radar position
* Accurate infiltrator
* experiments
* Better drawing
* Labels
* I need aan adult
* Cleanup
* Show toggles
* display I guess
* A
* fix
* fix
* cleanupsies
* Bit more polish
* Make sure mass scanners actually work
* Remove dummy state
* fren
* opposite
* aghost crash
* comment
* What's in a name
* woops
* Show docking ports
* Dock highlighting
* Drawing dock
* Shitty docks
* Lots of docking drawing
* Autodock working
* dork
* More graceful shutdown
* zoomies
* Lines and distance change
* revert
* Good enough
* cleanup
* Fix default range
* Dock UI and loc update
* Update on undock
* Loc fixes
Now it only plays when the round restarts *after* a regular roundend.
Meaning that if you spam the "restartroundnow" command, it won't play even if you have roundend sounds enabled in the options.
* Implement DeviceList
Implement NetworkConfigurator
I sould really get into the habit of making smaller commits
* Remove ApcNetworkComponent from vents, scrubbers anf firelocks
* Change BeforeBroadcastAttemptEvent#Recepients to readonly IReadonlySet and add a ModifiedRecepients field
* Address revievs in NetworkConfigurationSystem
* Fix red and green button styles
* Change NetworkConfiguratorSystem#UpdateState to remove saved entites that don't exist anymore
* Add AtmosDevices device net id
* Add const strings for style classes
Fix wrong margin for NetworkConfiguratorConfigurationMenu
* Hello? Github?
* Add access check before opening the configuration ui
* Address reviews
* Fix call to access reader
* You shall not live again IgnoreComponent
* Fix interaction verb check
* Fix configuration window not closing when target gets deleted / out of range
* Change device is already saved message to say 'network device: ... is already saves'
* Apply suggestions from code review
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Fix applied suggestion
Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* adds prototype reload for AlertLevelSystem, reorganizes selectable alerts a bit
* makes alert levels not necessarily require localization
* oops
* sus
* does the same for announcements as well
* oh, that's not how that works at all
* ok, NOW it works
* fixes localization, adds event for when alerts are reloaded
* addresses review
* cameras but i didn't feel like git stashing them
* Adds more functionality server-side for surveillance cameras
* rider moment
* Adds skeleton for SurveillanceCameraMonitorBoundUi on client
* whoops
* makes surveillance camera monitor UI more defined
* removes tree from SurveillanceCameraMonitorWindow
* surveillance camera active flag, other routing things
* actually sets how SurveillanceCameraMonitorSystem sends camera info to clients
* adds entity yaml, changes field
* adds the camera/monitor entities, makes the UI open
* SurveillanceCameraRouters (not implemented fully)
* subnets for cameras, server-side
* it works!
* fixes rotation in cameras
* whoops
restores surveillance cameras to ignored components
makes it so that switching cameras now lerps the other camera
* makes the UI work
* makes it so that cameras actually refresh now
* cleanup
* adds camera.rsi
* cleans up prototypes a bit
* adds camera subnet frequencies, cameras in subnets
* adds surveillance camera router subnets
* might fix testing errors
* adds the circuit board to the surveillance camera monitor
* fixes up the camera monitor (the detective will get his tv soon)
* adds heartbeat, ensures subnet data is passed into cameras to send
* fixes up a few things
* whoops
* changes to UI internals
* fixes subnet selection issue
* localized strings for UI
* changes 'test' id to 'camera' for cameras
* whoops
* missing s
* camera static!
* adds a delay to camera switching
* adjusts a few things in camera timing
* adds setup for cameras/routers, localization for frequency names
* adds setup ui for routers, makes subnet names in monitor window follow frequency name in prototype
* localization, some cleanup
* ui adjustments
* adds surveillance camera visuals
* fixes a bug when closing the UI for monitors
* adds disconnect message to UI
* adds construction graph to cameras
* adds the camera to the construction menu
* fixes network selection for setup, tweak to assembly
* adds surveillance camera router construction, fixes up surveillance camera wire cutting
* adds disconnect button to monitor UI
* switches around the status text
* tweaks monitor UI
* makes the address actually show
* might make tests pass
* UI adjustments, hard name limit
* ok, that didn't work
* adds wireless cameras
* makes the television work/look nicer
* adds tripod cameras in addition to mobile cameras
* makes wireless cameras constructable
* fixes up those prototypes
* reorganization in C#, small cleanup
* ensures that power changes deactivate some devices
* adds a component to the television, comments out a function
* actually, never mind, i forgot that wireless cameras existed/are creatable for a second
* tweaks to router construction, removes SubnetTest from prototypes
* removes it from frequencies too
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* type serializers into components
* setup window opens centered, enum is now byte
* replaces active monitor list with ActiveSurveillanceCameraMonitorComponent
* adds paused/deleted entity checks, changes how verbs are given
* removes EntitySystem.Get<T>() references
* fixes bug related to selecting network from setup, alphabet-orders network listing in setup
* rider moment
* adds minwidth to surveillance camera setup window
* addresses reviews
* should fix the issue with camera visuals not updating properly
* addresses some reviews
* addresses further review
* addresses reviews related to RSIs
* never needed a key there anyways
* changes a few things with routers to ensure that they're active
* whoops
* ensurecomp over addcomp
* whoops
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Adds seven new smites, moves the explosion smite to the verb category.
* adds even more smites.
* Even more smites, some messages for specific smites.
* Adds even more smites.
* Removes some junk, adds a smite that angers the pointing arrows.
* get rid of dumb component.
* Remove mistake from verb menu presentation.
* How did that happen?
* whoops
* c
* e
* fuck
* Loading...
* removes the BoM go away
* adds the funny kill sign. Fixes ghost smite.
* Move systems around.
* Adjust organ vomit.
* Adds a smite that turns people into an instrument, and one that removes their gravity.
* oops
* typo
Co-authored-by: Veritius <veritiusgaming@gmail.com>
* Compat fix for engine UI FrameUpdate order change.
Engine is getting FrameUpdate changed to run BEFORE style & layout. This is needed to avoid exploding.
* Fix speech bubble layout on first frame.
* fixes issue with indexing into colors on multi-sprite markings
* should rebuild the dummy upon character profile switch in client
* markings, when selected, should now default to the current character's skin color
* whoops, missed one
* adds a type serializer into marking points
* that has to be a list serializer, oops
Threshold set to info instead. The actual logging is in the xaml itself for reasons but I didn't want to use a sawmill for it to avoid interfering with hud refactor any more.
* Partial work on StationSystem refactor.
* WIP station jobs API.
* forgor to fire off grid events.
* Partial implementation of StationSpawningSystem
* whoops infinite loop.
* Spawners should work now.
* it compiles.
* tfw
* Vestigial code cleanup.
* fix station deletion.
* attempt to make tests go brr
* add latejoin spawnpoints to test maps.
* make sure the station still exists while destructing spawners.
* forgot an exists check.
* destruction order check.
* hopefully fix final test.
* fail-safe radstorm.
* Deep-clean job code further. This is bugged!!!!!
* Fix job bug. (init order moment)
* whooo cleanup
* New job selection algorithm that tries to distribute fairly across stations.
* small nitpicks
* Give the heads their weights to replace the head field.
* make overflow assign take a station list.
* moment
* Fixes and test #1 of many.
* please fix nullspace
* AssignJobs should no longer even consider showing up on a trace.
* add comment.
* Introduce station configs, praying i didn't miss something.
* in one small change stations are now fully serializable.
* Further doc comments.
* whoops.
* Solve bug where assignjobs didn't account for roundstart.
* Fix spawning, improve the API.
Caught an oversight in stationsystem that should've broke everything but didn't, whoops.
* Goodbye JobController.
* minor fix..
* fix test fail, remove debug logs.
* quick serialization fixes.
* fixes..
* sus
* partialing
* Update Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Use dirtying to avoid rebuilding the list 2,100 times.
* add a bajillion more lines of docs (mostly in AssignJobs so i don't ever forget how it works)
* Update Content.IntegrationTests/Tests/Station/StationJobsTest.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Add the Mysteriously Missing Captain Check.
* Put maprender back the way it belongs.
* I love addressing reviews.
* Update Content.Server/Station/Systems/StationJobsSystem.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* doc cleanup.
* Fix bureaucratic error, add job slot tests.
* zero cost abstractions when
* cri
* saner error.
* Fix spawning failing certain tests due to gameticker not handling falliability correctly.
Can't fix this until I refactor the rest of spawning code.
* submodule gaming
* Packedenger.
* Documentation consistency.
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* fixes critical issue
* alright, this might be the actual fix
* removes useless null checks
* couple more
* removes default functions from unary device data
* Remote Explosives
* Apparently we forgot to push the changed files. Dumb.
We Forgor.#
* Made Requested Changes.
* And more changes.
* Added requested changes and tweaked a few other things.
* Fixed RSI issue (hopefully.) Readded Ensurecomp.
* Prototype that's mostly borked rather than completely borked
* ECS inserting mats
* Partial ECS mostly done, needs cleanup and visualizer
* Replace timers
* Power visualizes at least
* First ""working"" version
* Clean up all lathes
* Colors
* Fix animation timing
* Fixes greyscale, adds a bunch of colors
* Give every (used) material a color
* Made most lathes take long enough you can at least see there's some sort of animation
* Insertion feedback popup
* Sound for circuit printer and uniform printer
* Fix queueing, optimize update
* Remove mono crash
* cleanup
* Fix test failure
* Techfab inserting sprite
* Cleanup and commenting
* Fix bug in CanProduce check
* Fix UI resolves
* Mirror review stuff
* Explosions
* fix yaml typo
and prevent silly UI inputs
* oop
* Use modified contains() checks
And remove IEnumerable
* Buff nuke, nerf meteors
* optimize the entity lookup stuff a bit
* fix tile (0,0) error
forgot to do an initial Enumerator.MoveNext(), so the first tile was always the "null" tile.
* remove celebration
* byte -> int
* remove diag edge tile dict
* fix one bug
but there is another
* fix the other bug
turns out dividing a ushort leads to rounding errors. Why TF is the grid tile size even a ushort in the first place.
* improve edge map
* fix minor bug
If the initial-explosion tile had an airtight entity on it, the tile was processed twice.
* some reviews (transform queries, eye.mapid, and tilesizes in overlays)
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* is map paused
* GetAllTiles ignores space by default
* WriteLine -> WriteError
* First -> FirstOrDefault()
* default prototype const string
* entity query
* misc review changes
* grid edge max distance
* fix fire texture defn
bad use of type serializer and ioc-resolves
* Remove ExplosionLaunched
And allow nukes to throw items towards the outer part of an explosion
* no hot-reload disclaimer
* replace prototype id string with int index
* optimise damage a tiiiiny bit.
* entity queries
* comments
* misc mirror comments
* cvars
* admin logs
* move intensity-per-state to prototype
* update tile event to ECS event
* git mv
* Tweak rpg & minibomb
also fix merge bug
* you don't exist anymore go away
* Fix build
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Make flashlights, atmos hardsuit, and RGB use the new layer features
* avoid self-conflict
* fix rgb not updating on add
* cleanup
* Update Content.Client/Light/RgbLightControllerSystem.cs
Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>
* cleanup diff
Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>
* hydro tray audio
* licensio
* R&D server now annoys the shit out of people.
* Tone down ambience a bit.
* Update Resources/Audio/Ambience/Objects/license.txt
Co-authored-by: ike709 <ike709@users.noreply.github.com>
* begin making ambience configurable.
* almost works
* volume works
* whee
* remove the toggle button entirely, make it use volume.
* fix
* whobsy
* a
* CHEAT moment
Co-authored-by: ike709 <ike709@users.noreply.github.com>
* Disease system first pass
* Renamed HealthChange
* First working version of diseases (wtf???)
* Fix the cursed yaml initialization
* Pop-Up effect
* Generic status effect
* Create copy of prototype
* CureDiseaseEffect
* Disease resistance
* Spaceacillin
* Nerf spaceacillin now that we know it works
* Sneezing, Coughing, Snoughing
* Fix queuing, prevent future issues
* Disease protection
* Disease outbreak event
* Disease Reagent Cure
* Chem cause disease effect
* Disease artifacts
* Try infect when interacting with diseased
* Diseases don't have to be infectious
* Talking without a mask does a snough
* Temperature cure
* Bedrest
* DiseaseAdjustReagent
* Tweak how disease statuses work to be a bit less shit
* A few more diseases
* Natural immunity (can't get the same disease twice)
* Polished up some diseases, touched up spaceacillin production
* Rebalanced transmission
* Edit a few diseases, make disease cures support a minimum value
* Nitrile gloves, more disease protection sources
* Health scanner shows diseased status
* Clean up disease system
* Traitor item
* Mouth swabs
* Disease diagnoser machine
* Support for clean samples
* Vaccines + fixes
* Pass on disease resistant clothes
* More work on non-infectious diseases & vaccines
* Handle dead bodies
* Added the relatively CBT visualizer
* Pass over diseases and their populators
* Comment stuff
* Readability cleanup
* Add printing sound to diagnoser, fix printing bug
* vaccinator sound, seal up some classes
* Make disease protection equip detection not shit (thanks whoever wrote addaccentcomponent)
* Mirror review
* More review stuff
* More mirror review stuff
* Refactor snoughing
* Redid report creator
* Fix snough messages, new vaccinator sound
* Mirror review naming
* Woops, forgot the artifact
* Add recipes and fills
* Rebalance space cold and robovirus
* Give lizarb disease interaction stuff
* Tweak some stuff and move things around
* Add diseases to mice (since animal vectors are interesting and can be used to make vaccines)
* Remove unused reagent
* Implement Intrinsic UIs, allowing the admin ghost to double as a computer.
* ignore moment
* remove debug statement, sort the actions.
* ffs
* didn't ever use this and don't need to, removed.
* rm dead code
* lil bit of commenting.
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)
* fix networking
* Allow action locking
* prevent telepathy
* Implements bureaucratic error and random sentience.
* Adds the Vent Critters event.
* bug moment
* forgot ignores.
* undo something i included in the PR by mistake.
* address review
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)
* Step 1 of porting; grabbed most of the files via patches.
* Add species field to the DB
* Appearance patches for slimes.
* Fix the db test.
* Add slime's biocompat.
* slimby
* Fixes, allow specifying if a species is playable or not.
* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Address reviews.
* Address reviews.
* make an if-case.
* Fix a goof where species wouldn't get shown in the editor correctly (it'd always default to human)
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Enable lighting of Cigars with IsHotEvent
Subscribed to IsHotEvent in ThrusterSystem, added AfterInteractEvent to SmokingSystem.Cigar which will set SmokableState to Lit if IsHotEvent returns true
This should mean that cigs/Cigars should light on anything hot
* Revert "Enable lighting of Cigars with IsHotEvent"
This reverts commit db896e1f80940892a87d34aa7182b9c605fa53bc.
* Add the ability to kick your way out of welded or locked closets
Added a ResistLocker component/system that hooks into OnRelayMove to begin resisting out of lockers so that players aren't stuck in lockers forever
Also added check to EntityStorageComponent to not print out welded shut message if the entity attempting to open the locker is inside of it.
* Changes based on review
minor formatting changes
make components passed into AttemptResist nullable and resolve them inside of the function
Remove incorrectly named .ftl file
* Changes based on review
Ditched async DoAfter
Used PopupSystem over User.PopupMessage
Added Cancel token to ResistLockerComponent
Subscribed to EntRemovedFromContainer event to cancel DoAfter if the player is removed from a container
* I am in formatting hell, apparently
* Changes based on review
Added TryComp for the EntityStorageComponent instead of the event passed one
* Changes based on review
* Apply suggestions from code review
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Formatting changes based on review
* Shuffle functions around in LockSystem to properly trigger visualizer
Moved all the unlocking logic to a Lock method inside of LockSystem and TryUnlock calls this method if the user passes all of the access checks
* Formatting, replacing Resolve with TryComp and making AttemptResist arguments optional
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Check if the player is inside THE container not A container
me no read good
* ok ok I give my code is bad
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: Paul <ritter.paul1@googlemail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* XAML PlayerTab entries
* Move command execution to PlayerTab
* Move command logic to the AdminSystem
* Clean up
* Add examine and context menu keybind handling to PlayerTab
* Fix remote admin verbs
* Remove examine for now
* Add server verbs
* Fix requests of verb by non-admins
* Clean up AdminSystem.Menu
* some work
* equip: done
unequip: todo
* unequipping done & refactored events
* workin
* movin
* reee namespaces
* stun
* mobstate
* fixes
* some work on events
* removes serverside itemcomp & misc fixes
* work
* smol merge fix
* ports template to prototype & finishes ui
* moves relay & adds containerenumerator
* actions & cuffs
* my god what is actioncode
* more fixes
* im loosing my grasp on reality
* more fixes
* more work
* explosions
* yes
* more work
* more fixes
* merge master & misc fixed because i forgot to commit before merging master
* more fixes
* fixes
* moar
* more work
* moar fixes
* suffixmap
* more work on client
* motivation low
* no. no containers
* mirroring client to server
* fixes
* move serverinvcomp
* serverinventorycomponent is dead
* gaming
* only strippable & ai left...
* only ai and richtext left
* fixes ai
* fixes
* fixes sprite layers
* more fixes
* resolves optional
* yes
* stable™️
* fixes
* moar fixes
* moar
* fix some tests
* lmao
* no comment
* good to merge™️
* fixes build but for real
* adresses some reviews
* adresses some more reviews
* nullables, yo
* fixes lobbyscreen
* timid refactor to differentiate actor & target
* adresses more reviews
* more
* my god what a mess
* removed the rest of duplicates
* removed duplicate slotflags and renamed shoes to feet
* removes another unused one
* yes
* fixes lobby & makes tryunequip return unequipped item
* fixes
* some funny renames
* fixes
* misc improvements to attemptevents
* fixes
* merge fixes
Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
* Rework AdminSystem to keep players in the PlayerTab until round end
* Prevent sending PlayerStatus to deadminned admins
* Change _playerList to non-nullable
* Clean up unused usings
* Consolidate duplicate foreach loop code
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* git mv
* Move Access Component & system.
- Name space changes
- Rename AccessReader to AccessReaderComponent
- Also need an abstract TryGetSlot function for SharedInventoryComponent
* better TryGetSlot
* Ah yes, tests exist.
* Create new rules popup
* Implement accept and quit buttons
* Add rules accept timer
Forces the player to read the rules by making them wait.
Speed reading the rules took me just under 45 seconds which means it'll take longer than that if someone's reading this for the first time.
* Fix info rules header
* Change _rulesPopup to local variable
* Move MinSize to the same place where the window is created
* Adds BoxContainer to a ScrollContainer so it can resize in case of more objectives
* Slight adjustment to ensure the convention is followed
* Changes MinSize to SetSize so it can be resized to lower sizes and to stop it resizing every time you reopen it
* lord save me
* UI/ChatBox: Use the new `defStyle` param for `RenderMarkup`
The previous iteration didn't work because `AddMessage` can't inherit
its color from the PushColor (since we're not doing actual tag stacks
anymore).
* rebase touchup
* Implement showing rules on first connection
* Clean up RulesManager
* Change changelog and rules unread to use CVars
* Fix missing change
* Rename InfoWindow to RulesAndInfoWindow
* Change default server.id to unknown
* Fix invalid file contents and getting CVar
* Completely refactor how job spawning works
* Remove remains of old system.
* Squash the final bug, cleanup.
* Attempt to fix tests
* Adjusts packed's round-start crew roster, re-enables a bunch of old roles.
Also adds the Central Command Official as a proper role.
* pretty up ui
* refactor StationSystem into the correct folder & namespace.
* remove a log, make sure the lobby gets updated if a new map is spontaneously added.
* re-add accidentally removed log
* We do a little logging
* we do a little resolving
* we do a little documenting
* Renamed OverflowJob to FallbackOverflowJob
Allows stations to configure their own roundstart overflow job list.
* narrator: it did not compile
* oops
* support having no overflow jobs
* filescope for consistency
* small fixes
* Bumps a few role counts for Packed, namely engis
* log moment
* E
* Update Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Update Content.Server/Maps/GameMapPrototype.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* factored job logic, cleanup.
* e
* Address reviews
* Remove the concept of a "default" grid.
It has no future in our new multi-station world
* why was clickable using that in the first place
* fix bad evil bug that almost slipped through
also adds chemist
* rms obsolete things from chemist
* Adds a sanity fallback
* address reviews
* adds ability to set name
* fuck
* cleanup joingame
* Transfer most Instrument UI logic to a new component, ActivatableUIComponent
* Move more ActivatableUIComponent stuff to ECS
* ActivatableUI component ignore on client
* ActivatableUI: Get rid of component interfaces where possible
* Add in adminOnly attribute for activatable UIs
This is so that porting #4926 to this will be easier
* Transition Solar Control Computer to ActivatableUI
* Move communications console to ActivatableUI
* Move cargo console to ActivatableUI
* Move ID card console to ActivatableUI
* ActivatableUI: Make things more amiable to entity tests adding components weirdly
* ActivatableUI: Use handling or lack thereof of events properly
* ActivatableUI: component dependency issue resolution stuffs
* ActivatableUISystem: Fix#5258
* More fixes because master did stuffo
* Check for HandDeselectedEvent again because otherwise active-hand check doesn't work
* Move just a bit more code into the system, introduce a workaround for #5258
* Purge the player status detection stuff
* Oh and some obsolete stuff too
* Add a way to disable voting for maximum authoritarianism
* Allow disabling specific vote types via cvars
* Migrate standard-vote-to-cvar dictionary to being static
* add sprite and basic entity, no reagent or testing
* actually implement epinephrine and add it to the box
* allow creating it
* add it to nanomed
* fig
* Add admin logging, models, migrations
* Add logging damage changes
* Add Log admin flag, LogFilter, Logs admin menu tab, message
Refactor admin logging API
* Change admin log get method names
* Fix the name again
* Minute amount of reorganization
* Reset Postgres db snapshot
* Reset Sqlite db snapshot
* Make AdminLog have a composite primary key of round, id
* Minute cleanup
* Change admin system to do a type check instead of index check
* Make admin logs use C# 10 interpolated string handlers
* Implement UI on its own window
Custom controls
Searching
Add admin log converters
* Implement limits into the query
* Change logs to be put into an OutputPanel instead for text wrapping
* Add log <-> player m2m relationship back
* UI improvements, make text wrap, add separators
* Remove entity prefix from damaged log
* Add explicit m2m model, fix any players filter
* Add debug command to test bulk adding logs
* Admin logs now just kinda go
* Add histogram for database update time
* Make admin log system update run every 5 seconds
* Add a cap to the log queue and a metric for how many times it has been reached
* Add metric for logs sent in a round
* Make cvars out of admin logs queue send delay and cap
* Merge fixes
* Reset some changes
* Add test for adding and getting a single log
* Add tests for bulk adding logs
* Add test for querying logs
* Add CallerArgumentExpression to LogStringHandler methods and test
* Improve UI, fix SQLite, add searching by round
* Add entities to admin logs
* Move distinct after orderby
* Add migrations
* ef core eat my ass
* Add cvar for client logs batch size
* Sort logs from newest to oldest by default
* Merge fixes
* Reorganize tests and add one for date ordering
* Add note to log types to not change their numeric values
* Add impacts to logs, better UI filtering
* Make log add callable from shared for convenience
* Get current round id directly from game ticker
* Revert namespace change for DamageableSystem
* Makes map vote and roundstart smart about player count.
No more Saltern with 30 players, or Knight Ship with 50.
* a typo
* Address reviews.
* Localized.
* Make fires do less damage
* Severely nerf fires and severely buff temperature protection
* fuck it, i'll nerf it so hard and we can buff it later if we decide
* new scaling func
* fix
* unused
* reviews + balance metabolism heat + reduce atmos air temp transfer efficiency
* little more balance
* just a wee bit more
* slight adjustment
* Ghost roles now get new Minds
* Some round start/end button stuff
* Mind tracking for better round end reports
* Make traitor kill objectives use mind CharacterName rather than actual occupied entity ("kill brain" prevention)
* Transition over to EntityUid for mind stuff because that's the only way to do it
* BrainSystem fix for PR rebase
* Doors no longer permanently glow orange + logic tweak
* Fix server-side order of operations for deny animation timer
* Delay between deny >= deny length to allow animation to reset
* Fix airlock assets to use the correct deny animation name
Co-authored-by: T <tomeno@lulzsec.co.uk>
* Convert StomachBehavior to a component/system + rejig body namespaces
* test
* slightly more namespace changes
* remove
* Hello?????
* fuck you github test runner
* reviews
* oobsy!
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: ike709 <ike709@github.com>
* basic system + convert all plantmetabolism
* stragglers
* convert all old metabolisms over
* fix YAML errors + dumb serialization issue
* remove unused thingy
* reimplement
* add organ type condition
* organtype condition but real
* cleanups + test fix
* metabolismtype -> metabolizertype
* solution resilience
* fixes
* serializer + use entityuid + hashset
* this is apparently an entirely different thing
* turns out it just works
* oops
* Remove IHandsComponent and ISharedHandsComponent
* Copy the documentation from the interfaces
* Revert "Copy the documentation from the interfaces"
This reverts commit 7638a2d4817743d487c7b255ba3e56add77dca86.
* Perform a minute amount of cleanup
* Stop pAIs from being able to wipe each other/do other odd things they shouldn't
* pAI: device changes name to indicate owner
* Make PAIComponent networked (just in case)
It'll be needed in future anyway
Depends on https://github.com/space-wizards/RobustToolbox/pull/2182
- Adds Noto Sans Symbols and its sequel, Noto Sans Symbols 2: Revenge
of the Unicode.
- Uses a stack of Noto Sans, Symbols, and Symbols 2 in all places where
Noto Sans/Noto Sans Display are used.
If you _really_ wanted to, you could use this to add Noto Emoji too.
In considering this, please remember that not everything that _can_ be
done, _should_ be done.
* Add pinpointer sprites
* Start working on pinpointer
* Updated pinpointer
* Working on visuals
* Working on a pinpointer and eye rotation
* Add client/server pinpointers systems
* Minor cleanup
* Add distance support
* Add nuke tag
* Remove redundant flag and add pinpointer to caps locker
* Disable rotation of pinpointer
* Fixed distance
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
* basics & visuals
* pneumatic cannon works perf
* loc + popups
* gas tank does stuff + queue changes
* updates
* b
* forcefeeding
* inhand
* crafting!
* pie cannon now is a pneumatic cannon
* oopy
* fix for entman + verbs
* pie
* change for tools
* actual
* combat mode + better sounds
* reviews
* door drawdepth toggle
* git mv
* dooooors
* drawdepth adjustments
* fix door and missed projectiles
* firelock depth tweak
* Get sprite only when needed
* single letter typo
* forgot to include closing in _activeDoors.
* Adds a UI for gas filters
* Address reviews
* Update Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs
* Update Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs
* Fix build
Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
* Move entity solution entity systems to shared
* Move SolutionComponents to Server
* Fix namespaces
* Remove Networked Component.
* Fixes
* Add components to ignore list
* Uplink menu has icons now
* Add item icons
* Add few descriptions
* Better withdraw window
* Finished with withdraw window
* Refactored withdraw ui and fix some bugs
* Basic withdraw
* Quick fixes
* Removed uplink listing for TCs
* Move slider to separate control
* Final touches
* A bit more
* Not again...
* Fixed names
* Address review
* Fixed robust
* Non necessary check
* 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! 👀
* 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>
This is not an ideal solution because as an outsider, pipes will look wrong on rotated stations, however there's no way to fix this properly right now as far as I can see soooo...
* 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
* Walls
* Airlocks mostly ported
* Disposal Unit
* Tiles
* Lighting
* Catwalk
* Windows
* Some vending machine work
* More Vending Machines
* Rest of vending machine sprites ported
* Fixes to vending machines
* Tables (This took a lot of work)
* Fixes low walls being required for window smoothing
- Also replaces window damage visualization
* Plasma Window
* APC
* SMES + Reorganized parts.yml
* Furniture and Organization and Removed Shelf
* Renamed seats.yml to chairs.yml
* Dispensers
* Lazy-fixed the glass airlocks
* Don't need this no more
* Tilez
* blue circuit my fucking beloved
* Switches lights to cev one
* Conveyors and Switch
* Reorients lights
* !ALERT! MAP CHANGES !ALERT!
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
* 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>
The Pipe Connection Visualizer failed to account for entity rotation,
making the connection overlay sprites appear out of sync with the actual
entity connections.
* 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
* 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
* 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
* 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
From what I could tell whenever LobbyState is entered it makes a new Lobby + CharacterSetup GUI via Startup. These events are never disposed of under Shutdown + the lobby should be null whenever we're not in LobbyState (as the control ends up disposed).
The lobby == null checks could probably also be null asserts as they shouldn't be null when those methods are being called.
* 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>
* 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>
* 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>
* 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>
* 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
* 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
* #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
* 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.
* 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>
* 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
* Added fireaxe cabinets
* Now inserts and renamed ItemCabinetVisuals file
* Added netsync
* Cut out layers for future ItemCabinetVisualizer work and reorganized some RSIs
* Update Resources/Textures/Constructible/Storage/Cabinets/extinguisher_cabinet.rsi/meta.json
* Update Resources/Textures/Constructible/Storage/Cabinets/extinguisher_cabinet.rsi/meta.json
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* 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
* #3814 - dropping an item, which adds an action to the actions bar, will no longer leave weird ui glitch in actions bar
* #3814 - small reformat + minor style tweaks
* #3814 - bit better working ActionMenu locking + added missing toolips for ActionMenu lock and OpenAbilities button
* #3814 - tooltip text typo fix
* #3814 - incorporated suggestions
* #3814 localization tweaks
* 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
* i probably shouldnt have done this in one commit
* map nonsense
* fix example code
* unnecessary
* test
* reviews
* little fix for open datafield
* add soul
* Cleans up disposal unit yaml and fixes inability to throw things in them.
* Comments out mailing units because they are beyond broken and need a refactor.
* Makes Disposal UI look better
* Localized the disposal unit
* Removes title line
* Removes changes to VendingMachineMenu, mistakenly committed.
* Applies code reviews
* Now uses BaseMachinePowered
* 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
This (hopefully) fixes power stuff disappearing by making IconSmoothComponent more failure-tolerant of grids not being available.
It might still leave issues in, though.
* IC is default when joining;
switch to IC channel if IC channel becomes unavailable before trying OOC
* Allow channel cycling while the textbox is focused
* Fix focus channel keybinds not actually focusing
* Whitespess
* Fix duplicate radio
* Smol CycleChatChannel cleanup
* Revert style change
* 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.
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* Fixes a fatal crash when opening the PA control computer interface.
* Fix to make PA emitters work.
* Turned _pos and _afterUnderscore into local variables.
* Explicit states
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.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>
* Try fixing DoAfterBar coordinates issue
Also I have a somewhat shitcode way to ensure it doesn't get stuck but I'll wait to see if it still happens on live.
* Brute force fix the stuck issue
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Refactors the ConstructionSystem into the MVP pattern.
* Refactors the ConstructionMenu into the MVP pattern.
* Moved the ConstructionMenuPresenter to the GameScreen where it belongs.
* Rebase updates.
* 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
* 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
* 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>
* 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>
* 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.
* 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.
Because Windows does CRLF (yuck) the parallax file mismatches with the one shipped with the actual launcher client.
We now normalize the EOLs to fix this.
* 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)
* Ported sprites from eris
* Added yml
* lid open/close logic
* interactivity
* Working on new secret stash component
* Object will drop on destruction
* Can get item and examine message
* Reagent container and some cleaning
* Moved potted plant to stash
* New base prefab
* Now you can deconstruct toilet
* Small fixes
* Fixed unknown components errors
* Fixed grammar errors
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Now use prob
* More grammar
* Update Content.Server/Construction/Conditions/ToiletLidClosed.cs
Aaaaaaaa
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* No delays
* Amazing sound design
* Moved sound to mono
* Toilet viz
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Moves piping visualizers to own folder
* Pump visualizer update
* Siphon and vent visualiser only set enabled visibility
* PipeVisualizer cleanup
* Replaces off vent/scrubber sprites
* Gas filter sprite update
* Revert "Gas filter sprite update"
This reverts commit 676e5d55e1157a229b1445eeea53a5c8032dbbb5.
* Rotates gas filter sprites to match T-junction pipe directions
* Removes pipes from scruber and vent state
* Makes sprite components use layers
* disabled sprite netsync on piping entities
* piping meta.json cleanup
Co-authored-by: py01 <pyronetics01@gmail.com>
* Code is ready but item now spawning
* Prototype of SeveralExplosive component
* Remaked to FlashExplosiveComponent using
* Done. But i feel myself retarted
* Remaked. Looks good
* Full loaded prototype added
* Throwing in progress. Fatal error is here
* I forgot about shared
* Sloth refactor
* Delayed spawning and fix crashes
* Full clusterbang code.
* Removed useless variable and tuned delay
* Delete wrong in CreamPiedComponent
* Now yaml is code quality followed
* Reworked to GetLevel with bugs
* Never forget resources, guys
* RoundToLevels added. Now it works.
* New textures and sloth refactor is returned
* Now it's TryGetComponent
* Visualizer maximum fix and look fix
* Logging and no max and min check
* Removed max grenades sending
* vizualizer is better now
* GrenadesMax removed
* grammar, checks, NextFloat and no more try catch
* Unused using removed
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* #1449 use new ControlFocusExited override for drag/drop controls to avoid getting
"stuck" dragging when the control lost focus mid drag, also use the renamed
KeyboardFocusEntered/Exited methods.
* Update Content.Client/UserInterface/ActionMenuItem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update ActionMenuItem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* # UI Win.
This is my PR that requires an engine change.
* Added RadioOptionButton
* Made JobPrioritySelector easier to use.
Requires space-wizards/RobustToolbox#1484
* Better nam.
* Updated to use the new version that isn't a mess.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Adds gibbing
* Adds adminbused absurd-damage foamblade
* Sane parts
* BaseOrgan -> BaseMechanism
* Do not do random offset on shared, fix killing oneself with click attacks
* BaseMechanism -> BaseHumanOrgan -> *stuff*
* Account for prediction, again
* Add gibbing sound
* Added bool _placeCentered to check if an entity must be placed at mouse position or center of the PlaceableSurface (+ offset) when dropped.
* private variables formatted to camel case
* Use EqualsApprox in the setter for PositionOffset
* -Changed client-side SurfaceComponent to camelCase
-Added placeCentered and positionOffset to PlaceableSurfaceComponentState
-Getter and setters for placeCentered and positionOffset client-side
* Update Content.Client/GameObjects/Components/PlaceableSurfaceComponent.cs
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Add "_" to private vars name
* Made YAML properties camelCase
* Add "_" to private vars name
* Call Dirty() when IsPlaceable,PlaceCentered and PositionOffset are changed.
* Removed Dirty() from client.
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* #272 proper open sides in menu buttons
* #272 WIP, good starting point for making
the top menu work well at different UI scales
* #272 WIP top menu looking better, but inconsistent size
* #272 WIP esc nice and big
* #272 consistently sized top buttons
* #272 proper highlighting of top menu elements
* #272 proper highlighting of top menu elements
* #272 nice shiny red tutorial button
* #272 better tutorial icon
* #272 missed svg changes
* #272 consistently sized top menu
* #272 better padding / alignment of top bar with other UI sections
* #272 fix hamburger menu height to
match others
* #272 top menu name set based on
keybind, use shortened names if possible
* #272 top menu name set based on
keybind, use shortened names if possible
* #272 add top menu actions button
* #272 add top menu admin button
* #272 fix sandbox top button down status
* #272 remove todo
* Add setoutfit command
* Adds setoutfit as a verb and adds a proper UI to the command
* Removes from AdminMenuWindow
* Changes the SetOutfit verb to be a component verb instead of a global verb
* Addresses reviews
* Remove empty method
* Remove on server aswell
* Clothing & Gender fields: Add to database [MODIFIED TO NOT DEPEND ON SAPHIRE-DB-REFACTOR]
Sorry about this, Saphire.
* Clothing & Gender fields: Add UI [FALLBACK II]
* Clothing & Gender fields: Actually apply gender
* Clothing & Gender fields: Import innerclothingskirt field from my previous attempt
Couldn't import actual prototypes because of a change to IDs
* Clothing & Gender fields: Add innerclothingskirt field to everything
* Clothing & Gender fields: Jumpskirts now work
* Clothing & Gender fields: Gender field will follow sex field if it's not different (UX improvement) [FALLBACK II]
* Clothing & Gender fields: Gender -> Pronouns to reduce confusion. Also, fix profile summary. Properly. [FALLBACK II]
* Clothing & Pronoun fields: Refactor so that profile equipment adjustments are performed in StartingGearPrototype.
* my IDE keeps wanting to change this so....
* Add item actions integration test, fix bug where empty item action
dict was left in SharedActionsComponent state
* bigger hotbar arrows
* nice wide hotbar pagination hitboxes
* add ability to switch hotbar loadout
via keybinds
* always highlight on drag over
of actions hotbar
* dont rely on content entity for integration test
* Rename department property to departments
* WIP Categories
* Add better spacing to categories
* Fix first separator and sync selectors
* You want some types with that
* Apply changes to latejoin as well
* Add category sorting to the late join gui as well
* CONTROL STUCK
* AvoidCollision if collided entity is the one that the character is buckled to
* Attempt to PreventCollision after the player is unbuckled but still colliding with StrapComponent
* Moved PreventCollide to the Shared script.
* Add WakeBody to keep updating the physics collision while being on a collidable strap component.
* Addressed some of metalgearsloth's suggestions:
- Made EntityBuckledTo,IsOnStrapEntityThisFrame and DontCollide not virtual
-Made EntityBuckledTo nullable
-Don't call update on Paused BuckleComponents
-Removed EntityBuckledTo variable declaration in BuckleComponent because it's not needed anymore
-Call TryUnbuckle if (!IsOnStrapEntityThisFrame && DontCollide) to set BuckledTo entity to null.
* Formatting
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Formatting
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Formatting again :P
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Formatting
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Formatting
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Renamed variable EntityBuckledTo to LastEntityBuckledTo
* As per DrSmugLeaf suggestion: Added [ComponentDependency] to the Body variable.
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Cleanup surgery classes
* Add DoAfter to surgery
* Consolidate doafter, break on user and target move
* Ignore biological surgery data component on the client
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Use a stringbuilder for surgery descriptions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* #2744 fix NRE on clicking alerts with no OnClick, and don't send the click
message unless the alert has an onclick
* #2744 fix NRE on clicking alerts with no OnClick, and don't send the click
message unless the alert has an onclick
* Fixes do_after bar placement when using UI scaling
* Add Scaled Screen Position debug overlay to DebugCoordsPanel
Fix PopupMessage being in the wrong location when using UI scaling
* Fix warning
* Added atmos sprites from CEV-Eris
* Moved canister sprites to appropriate dir
* Removed unnecessary sprites, edited canisters prototype
* Created Gas Canister UI and release pressure buttons
* Changed GasMixture's pressure calculation (convert liters to cube meters)
* Added relabeling Canisters
* Reverted changes on GasMixture
* Changed my name in the credits
* Added valve opening on canisters
* Change canister visual state when connected to a port
* Added nullable to SharedGasCanisterComponent
* Replaced nullable contexts
* Changed again nullable annotation context
* Moved name in the credits to correct alphabetical order
* Canisters: Fix the most blatant issues with this PR (the added project interdependencies for no reason whatsoever)
* Canisters: Stop crashes when canisters leave atmosphere
* Canisters: Gas released into no atmosphere gets transferred "into space" (deleted)
* Atmos: Nullability annotations on TileAtmosphere, explaination of the states of TileAtmosphere.Air
* Canisters: If in an airblocked tile, do NOT release gas
* Scrubbers: Fix typo leading to them not connecting properly.
* Revert manual changes to credits file (sorry!) (1/2)
This reverts commit 94f3b0e5df8d9c2fa189866a17a231920f99bdaf.
* Revert manual changes to credits file (sorry!) (2/2)
This reverts commit 1986fb094dfaa44060f08d280f36b755258d17a6.
* Canisters: Apply @Zumorica 's reviews
* Canisters: Add missing localization as suggested by PJB
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Canisters: Pressure lights!
* Canisters: Light is now unshaded.
* Canisters: Now using IActivate
* Gas canisters (& air canister), now with their numbers properly calibrated (hopefully)
* Canisters: Refactor how their layers are added to be more like ApcVisualizer
* Canisters: Clean up of the tile invalidation/air release logic
* Canisters: Some gas canister window improvements
* Canisters: Clean up release pressure change button label code
Co-authored-by: Clement-O <topy72.mine@gmail.com>
Co-authored-by: Clément <clement.orlandini@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Make damage work through messages and events, make destructible not inherit ruinable or reference damageable
* Copy sound logic to destructible component for now
* Fix typo
* Fix prototype error
* Remove breakable component damageable reference
* Remove breakable construction reference
* Remove ruinable component
* Move thresholds to individual components and away from damageable
* Add threshold property to damageable component code
* Add thresholds to destructible component, add states to damageable, remove damage container, fix up mob states
* Being alive isn't normal
* Fix not reading the id
* Merge fixes
* YAML fixes
* Grammar moment
* Remove unnecessary dependency
* Update thresholds doc
* Change naming of thresholds to states in MobStateComponent
* Being alive is once again normal
* Make DamageState a byte
* Bring out classes structs and enums from DestructibleComponent
* Add test for destructible thresholds
* Merge fixes
* More merge fixes and fix rejuvenate test
* Remove IMobState.IsConscious
* More merge fixes someone please god review this shit already
* Fix rejuvenate test
* Update outdated destructible in YAML
* Fix repeatedly entering the current state
* Fix repeatedly entering the current state, add Threshold.TriggersOnce and expand test
* Update saltern
* Start work on upgradeable machines.
* Upgradeable machines work
* Component requirements for upgradeable machines
* Better container handling
* Remember to not push submodule updates in your PRs, kids!
* Refresh parts after building a machine.
* NetSync false
* Address some reviews, fix some bugs
* Nullable stackhelpers dependencies
* Use container helper method to delete all entities in containers
* Nullable string in AddContainer
* Better examine for machine frame and construction in general
* Machine breakage
* Nullable node
* nullable GraphPrototype
* Re-save saltern for autolathe parts
* Fix SaveLoadSave
* Initial
* More
* Pissed in a cup
* Cleansup some gunk I accidently committed
* More fuckups
* Added third gender option
* Applied review
* Fixed changed storage
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* basic implementation
* minor fixes
* objectives temp commit
* proper onstart bind
* changes all conditions to be bound to a mind-instance
* oops
* oops v2
* adds possiblity to enable duplicate assignment of objective
equal objectives are unable to be added
* minor fixes, adds greentext
* refactors incompatability to be defined by requirements
* fixes a wrong whitespace
* minor fix
* addressed reviews v1
* address reviews v2
Co-authored-by: Exp <theexp111@gmail.com>
* final sweep
* adds/refactors traitor&sss cvars
* Update Content.Server/Mobs/Mind.cs
* never trust github web
* adds datasets & makes codewords use them
* addresses exp's reviews
* addressed zumos reviews
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
* Atmos Debug Overlay: Add a way of showing blocked directions
* Atmos Debug Overlay: Adjustable modes client-side
* Atmos Debug Overlay: Fix atvrange help text
* Atmos Debug Overlay: More flexible and clear gas ID specification
* BlockGamePlayerAction are only executed if _running is true, added italian localization file for blockgame UI
* Added localization functions and files for BlockGame arcade. Removed unused public variable added in the previous commit.
* Added new line to end of file blockgame.yml
* Update Content.Client/Arcade/BlockGameMenu.cs
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Moved EndLeft,EndRight and SoftdropEnd actions out of the condition as per suggestion by Paul.
* Added Loc.GetString() to "Nanotrasen" and "Nanotrasen Block Game" to enable transliteration of the name in other alphabets as per suggestion of Remie.
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* removes some unused fields
* thats an oopsie
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update usages of ! is with is not
* Content.IntegrationTests commit
* Content.Server commit
* Content.Shared commit
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* commit skeleton reagent grinder component
* add reagentgrinder bounduserinterface, add suffix to grinder yml, add reagentgrinder sprites
* implement much more of the grinder ui functionality
* get more use out of hasbeaker bool
* complete wiring up most of the chamber/beaker UI controls
* remove whitelist prototype id. add grindable tag component
* add juiceable component
* rename boolparam to be clearer
* more juice
* add some juice reagents and apply them to their drink prototypes
* re add glassyellow
* implement juicing and results
* add time delay to grindjuice
* add reagent grinder visualizer, add reagent grinder sounds, fix some yaml errors too
* interface has clear indication of currennt operation, and busy status
* add ReagentGrinder to Client ignnored components
* Update Content.Client/GameObjects/Components/Kitchen/ReagentGrinderBoundUserInterface.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Client/GameObjects/Components/Kitchen/ReagentGrinderBoundUserInterface.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Shared/Kitchen/SharedReagentGrinderComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* implemennt sloth changes
* fix isbusy
* Disable grind/juice buttons if there's nothing to grind or juice, also some misc fixes
* unsubscribe from messages on remove + fix xmlcomment
* fix bounding box
* Add these to dictionary
* Add these to client ignore
* Whitespace and unneeded import fixes
* tommy's toes
* Where'd these newlines come from
* power
* improve bounding box
* Check power better & show contents when beaker is ejected
* check power here
* Disable eject buttons when running
* improve comments
* readwrite for viewvars on work time and capacity
* Address most of Sloth's reviews
* Make this cleaner
* add grindablecomponent to motherfucking everything
* Fix reviews
* some more null suppressions
* remove unused random field
Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
Co-authored-by: namespace-Memory <66768086+namespace-Memory@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Add verb to toggle flashlight
* Playing with hand-held light for hard hat
* ClothingEquippedPrefix will update players sprite when changed
* Make abstract prototype for hardhat and fixed hardhat orange sprites
* Fixed all other hard hats
* Fixed requested changes
* Restore prototype and sprites changes
* Nullables
* That's actually nullable
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* temp commit to save progress
* adds objectives
* refactors mind.addobjective a bit
* better names for my testobjectives which i'll remove later on anyways
* nullable errors
* some misc fixes
* no sorted or set, what was i thinking here?
* removes unused imports
* added commands
* fully implements stealcondition
* started uiwork
* moved prototypeicon to engine
* removes objective class & uiwork
* refactors ui to only update when opened
adds progresstexturerect
* adds some margin
* removes some testing code
* ignores objectiveprototypes on clientside
* fixes
* removes using statements for exp
* gets the job
* always show issuer
* locs & _
* giving commands some love
* Update Content.Client/GameObjects/EntitySystems/DoAfter/DoAfterBar.cs
Co-authored-by: Exp <theexp111@gmail.com>
* makes commands use new thingy
* string interpolation
* good catch exp
* loc'd
* linq gone
* runtime
* moves function from engine
* oopsie
* Update Content.Server/Objectives/Conditions/StealCondition.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* makes messages directed
* base call & validation
* shuffle once
* No? Money down!
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Added refine component for glass shard
* Add refinable to rest of the shards
* Fixed windows shard count
* Now objects can vary refine time
* Windows will spawn correct shards after destruction
* Added all requested changes
* Client ignore as well
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Disable Pulling When Buckling an entity
* Projectile Improvements
If you shoot at a person that is critted now it will only hit if you aim at that person otherwise go "above" him and hit other targets.
- Dead people are still unhitable
* Update Content.Server/GameObjects/Components/Buckle/BuckleComponent.cs
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Firelock In Progress
* Revert "Projectile Improvements"
This reverts commit 5821afc798e49e530d4086d7a9ddbe097805fdc4.
* Firelock Graph
* Revert "Merge branch 'master' into test2"
This reverts commit c69661cc7d9dcdc6d8c0dd45770f9eb94b231463, reversing
changes made to 5f1de8b8d24cd52190addb3df5617cb1012fd52c.
* Bunch of stuff
- Metal Rods
- Reinforced Glass
- SetStackCount Condition
- Tables
- Lattice
* Output2 to FloorTileItemComponent
* Plating, Underplating and Tiles (+FloorTile Improvements)
* Turf Fixes
+ APC Electronics
* Reinforced Glass In-hand textures
* All the fixes
* Final Changes
* (Hopefully) Last commit
* Update Resources/Prototypes/Entities/Constructible/Doors/firelock_frame.yml
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Update Content.Server/GameObjects/Components/Atmos/FirelockComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* A Few more things
* Edit FirelockComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* makes conveyors to use machine linking & refactors machine linking a bit
* nullable errors
* temp commit, starting work on construction
* working recipies & graphs
* fixes crash
* makes items gravitate towards the center when on a conveyor
* makes conveyors take bool signal too
* ignores components clientside
* default arm
entitymanager
maxtransmitters
unsubscribe methods
* twowayLEVER
* _
* componentreference
struct
* yaml run
leverDefinitelyNotCopiedFromGirderNoNoNo dies today :(
* nullable
* no divide by 0
* making sloth happy
* space gone - happy?
* final fix
* yes
* adds item to lathe
* conveyor item -> conveyor assembly
* technology
* reviews ADRESSED
* Update Content.Shared/GameObjects/Verbs/VerbUtility.cs
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Align storage welders with door welders
* Spamming the button doesn't punish you.
* Requires lit welder to start
*
* Nulla-builda-buddy
* A certain smug in a bucket
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* #272 add bordered panel for effects bar
* #272 avoid mouse overlapping tooltip when near edges,
change tooltip colors to match mockups
* #272 WIP defining status effect states as YML and
sending them as encoded integers
* #272 refactor to use new alert system
* #272 refactor to use new alert system
* #272 fix various bugs with new alert system and update
alerts to have color
* #272 WIP
* #272 rename status effects to alerts
* #272 WIP reworking alert internals to avoid code dup
and eliminate enum
* #272 refactor alerts to use
categories and fix various bugs
* #272 more alert bugfixes
* #272 alert ordering
* #272 callback-based approach for alert clicks
* #272 add debug commands for alerts
* #272 utilize new GridContainer capabilities for sizing of alerts tab
* #272 scale alerts height based on
window size
* #272 fix tooltip flicker
* #272 transparent alert panel
* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip
* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip
* #272 alert prototype tests
* #272 alert manager tests
* #272 alert order tests
* #272 simple unit test for alerts component
* #272 integration test for alerts
* #272 rework alerts to use enums instead
of id / category
* #272 various cleanups for PR
* #272 use byte for more compact alert messages
* #272 rename StatusEffects folder to Alerts,
add missing NetSerializable
Flashlights were calling dirty EVERY TICK so this just means they only call it when absoluetely necessary which saves a lot.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Github will cuck me no more.
I tried the old google machine to find if there's a way to inherit these but it was failing me.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Put the damage in the windows
* add crack overlays
* Window cracking
* glass related sounds
* let's use a valid state
* run optipng on these for posterity
* Examine damage descriptions
* add "Constructible" to dictionary
* Downmix stereo effects to mono
* breaking and knocking
* Add shard etc. sprites
* shard inhands
* more sprite wrangling
* Expand destructiblecomponent drop system + implement it for windows
* Shard descriptions
* Random sprite component
* no nullbabby
* Random destroysounds
* random offset on destructible drops
* fix fucked yaml
* sound collections
* random pitch for knocking
* Localization
* hascomponent
* better spawnondestroy
* missed one
* Refactor battery/powercell assets and add new ones.
* committing before I fuck things up
* slot component doned I think
* dictionary update
* Fixes
* Moving flashlight to powerslotcomponent
* har har i am using the message tubes
* Better documentation comment
* Reverting this overengineered garbage.
* Off with ye I said
* Examine texts.
* Some minor fixes to IDE complaints
* slot size from yaml
* Ignored component + removing a useless typo entry
* Making stunbatons use this
* Handle the message and remove some unnecessary dirtiness
* actionblocker checks
* remove unused file
* remove updatevisual
* make these nullable
* make these nullable too
* Unrename sprite folder
* check itemcomponent on insertion
* Use SendMessage over Owner.SendMessage
* Add support for auto-recharging batteries, an auto-recharging cell, and make flashlight status update correctly if one is inserted in it.
* get rid of public fields which are Bad
* add a description for the stun baton while i'm in here
* one more public field
* Add the blinky animation to the atomic cell
* Fix the charge indicator being STUPID
* better comments
* this is a better function
* add pause for flashlight, remove unnecessary imports from battery
* potato battery copyright link
* WHO DID THAT
* mr clean has come
* Random pitch
* pausing
* round to nearest levels
* Body bags!
* Morgue Trays and the Crematorium!
Reorganised body bags to be under Morgue, not Medical
* Fix. Things outside of EntityStorageComponents now use the Try*Storage() not just *Storage() methods - Allows mobs to be trapped in a morgue/crematorium whose tray can't open.
* Fix tests. Modernise component dependency and nullability.
* Update Content.Server/GameObjects/Components/Morgue/MorgueTrayComponent.cs
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* basic radiation generator
* might need this
* thonk
* big thonk
* oop
* e
* werks
* sprite
* oopsy woopsy
* radiation
* clean up file
* makes it work, probably
* minor fixes
* resources
* progress on component
* this will no longer be necessary
* radiation go brrrr
* finally fix container issues
* out var
Co-authored-by: Remie Richards <remierichards@gmail.com>
* second out fix
* another out fix
Co-authored-by: Remie Richards <remierichards@gmail.com>
* switch case
* fix switch
* sound and improvements
* nullable
* basic containment field system
* ensure alignment
* fix beam placement logic
* field generation fully working
* fix potential crash
* working containment functionality
* extremely basic emitter functionality
* fix radiation panel naming
* emitter stuff
* oopsies
* fixes
* some fixes
* cleanup
* small fix and move emitter file
* add sprite resources for PA
* slight rework of the singulo
adds rads
* pushing for smugleaf :)
* added radiationpanels
* some fixes for the singulo
* containmentfield
* pa wip
* progress
* pa working
* emitter fix
* works :)
* ui works
* some work on ui & pa
* progress
* ui work & misc fixes
* GREYSCALE
* pa ui polish
containmentfieldgen rework
* singulo rework
added snapgrid
* getcomponent get out
* singulo rework
added collisiongroups underplating & passable
* yaml work:
- collision boxes
- singulo now unshaded
* no unlit
* misc changes
* pa wires
* add usability check
* nullable enable
* minor fix
* power need added
* reenables containment field energy drain
menu close button
singularity collider fix
* sprite replacement
* finished singulo pulling
* pjb fixes
* fixing sprites & minor adjustments
* decrease containmentfield power
* some yml adjustments
* unlit layers
singulogenerator
* singulogen
* everything works just not the powergetting on the pa
i wanna die
* Adds PA construction graphs, PA construction works
* Snap to grid parts when completing construction
* updated to newest master
* inb4 i work on power
* fixes upstream merge
adds power need to particleaccelerator
* properly implements power & apc power
* Emitters are now fancy.
* I have actually no idea how this happened.
* Give PA a wiring LayoutId
* PA is an acronym
* indicators
fixes hacking
* Singulo is a word you blasphemous IDE.
* Rewrite the PA.
* Fancy names for PA parts.
* Wiring fixes, strength wire cutting.
* fixes projectile & ignores components
* nullability errors
* fixes integration tests
Co-authored-by: unusualcrow <unusualcrow@protonmail.com>
Co-authored-by: L.E.D <10257081+unusualcrow@users.noreply.github.com>
Co-authored-by: Remie Richards <remierichards@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* plants and seeds go brrrr
* update plants
* P L A N T
* brrrr
* Hydroponics actually work! How about that?
* Reuse resource path in visualizer
* They lied to us.
* Several stuffs
* more werk
* Add a bunch of plants
* Logs go brr.
* Brrr moment.
* Remove unused method
* Important comment.
* Seed inventory, yo!
* tomato moment
* Balance consumption
* Makes hydroponics pourable
* Adds plant metabolism effect for sugar, the same as glucose.
* Eggplant moment
* Apple moment
* Corn moment
* Chanterelle mushroom moment
* prototype tweaks
* Seed extractor moment
* typo
* IPlantMetabolizable doc improvement
* I should trust my gut instinct more often.
* egg-plant.....
* localization
* Make WaterLevel and NutritionLevel setters private
* Less code repetition! Wooo!
* Default grids go poof
* Address review
* Update submodule
* Fix DoAfterSystem for entities without grid.
* Fix SubFloorHideSystem for entities without grid.
* Fix ExplosionHelper for coordinates that aren't in a grid
* Fix TurfHelpers' GetWorldTileBox crash in the case of invalid grid
* Fix tile prying component crash when trying to pry space.
* Spill fixes when passing coordinates without grids.
* Are you static'in, son?
* Change SaveLoadSaveTest grid Id hardcoded value
It's still hardcoded, but at least now it's correct!
* Only send debug AI thing if grid is not invalid
* Update submodule.
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Add mechanism events when added/removed to/from body/parts
* Change old usages
* Add TODO
* Remove BodyExtensions and IHasBody
* Remove unnecessary extensions and fix wrong event call in mechanism behavior component
* Complete test and fix event calls
* Fix?
Nuked everything and put my code back in, hope everything works
* Nullable fix?
* nullable fix electric boogaloo
* Haha nullable error go brrr
send help
* Cleanup and fix not clearing the button list
* Remove unnecessary brackets and parentheses
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* WIP changes
* Merge conflict fixes
* Bring pull controlelr to current year
* Sync and predict PullController on the client
* Clean imports
* Slow down pullers and make pulling tighter
* Stop pulls on pullable or puller component removals
* Make pulling not occur when moving towards the pulled entity
* Disable job buttons when they aren't available
In real time too, the technology is overwhelming
* Jobs are all unavailable when late join is disallowed.
* Better ToggleDisallowLateJoin command parsing
* Add togglelatejoin to groups.
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
* -Added Crayons + CrayonBox
-Can set any crayon state and color
-Added CrayonDecals
* Allows to cycle through decals (not the final thing)
* ItemStatus
* -UI (WIP)
-Selection thing works
-Changed some shitty state names
* -Icons
-Changed decal name
* Pure Texture Grid
* Charges
* -Reach check
-Toggle interface on use
* Can't draw on windows anymore
* UI now shows selected decal and color
* -UseSound
-Nullable
* Remove unused imports
* -Rotation
-Made decal abstract
* Remove some duplicate images
* Space Cleaner cleans
* Loc Title
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Review adressed
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Rename usages of collidable to physics
* high tier PANIQUE
* aaaaaaaaAAAAAa
* cursed commit dont research
* Fix urist and items being anchored
* Fix the rest
* Early commit
* Early commit 2
* merging master broke my git
* does anyone even read these
* life is fleeting
* it just works
* this time passing integration tests
* Remove hashset yaml serialization for now
* You got a license for those nullables?
* No examine, no context menu, part and mechanism parenting and visibility
* Fix wrong brain sprite state
* Removing layers was a mistake
* just tear body system a new one and see if it still breathes
* Remove redundant code
* Add that comment back
* Separate damage and body, component states, stomach rework
* Add containers for body parts
* Bring layers back pls
* Fix parts magically changing color
* Reimplement sprite layer visibility
* Fix tests
* Add leg test
* Active legs is gone
Crab rave
* Merge fixes, rename DamageState to CurrentState
* Remove IShowContextMenu and ICanExamine
- Powerful
- Data-oriented
- Approved by PJB
- Powered by node graphs and AI pathfinding
- Coded by the same nerd who brought you atmos
Co-authored-by: Exp <theexp111@gmail.com>
* add headset component
* add basic headset logic
* fix formatting in listening component, add dependency to headset
* test function for headset
* implement headset as listener
* ANNIHILATES ListeningComponent, refactor of radio/listener sys
* basic headset functionality
* rename RadioComponent to HandheldRadioComponent
* change channel to list of channels
* basic headset implementation complete
* message now always excludes ';'
* add radio color; state channel freq. and source name
* undocumented game breaking bug commit (DO NOT RESEARCH)
actually just changes frequency from 1457 (what signalers are set to by default) to 1459, the actual frequency for common
* Add more sprites
* Reorganizes
* Added job headsets
* Adds headset as an ignored component
* Jobs now spawn with headsets
* remove system.tracing
* Catchup commits
* Add headset property serialization
* Turn GetChannels into a property
* ListenRange property and serializatioon
* Adjust interfaces
* Address reviews
* Cleanup
* Address reviews
* Update rsi
* Fix licenses and copyright
* Fix missing textures
* Merge fixes
* Move headset textures from objects/devices to clothing/ears
* Fix rsi state names and add equipped states
* Fix headsets not working
* Add missing brackets to channel number in chat
* heck
* Fix broken rsi
* Fix radio id and names
* Put quotes around headset messages
* Fix method names
* Fix handheld radios
* Fix capitalization when using radio channels and trim
* Remove unnecessary dependency
* Indent that
* Separate this part
* Goodbye icons
* Implement IActivate in HandheldRadioComponent
* Add examine tooltip to radios and headsets
* Rename IListen methods
Co-authored-by: Bright <nsmoak10@yahoo.com>
Co-authored-by: Swept <jamesurquhartwebb@gmail.com>
Co-authored-by: Bright0 <55061890+Bright0@users.noreply.github.com>
* Holy crap auth works
* Fix some usages of UserID instead of UserName
* Refactor preferences.
They be non-async now. Also faster.
* Rename DbContext.
* Guest username assignment.
* Fix saving of profiles.
* Don't store data for guests.
* Fix generating invalid random colors.
* Don't allow dumb garbage for char preferences.
* Bans.
* Lol forgot to fill out the command description.
* Connection log.
* Rename all the tables and columns to be snake_case.
* Re-do migrations.
* Fixing tests and warnings.
* Update submodule
* Adds new different reaction types.
- Adds touch, injection and ingestion reactions for entities.
- Adds tile reactions.
- Removes GasSprayerComponent in favor of SprayComponent.
- Gives fire extinguishers a safety.
- Gives spray puffs a sprite.
- Improved spray and fire extinguisher in general.
- Fire extinguisher now ACTUALLY puts out fires. Amazing, eh?
- Fire extinguisher sprays three 'clouds' at once.
- Spraying flammable chemicals at fire makes them worse. Whoops!
- Gives spray and fire extinguisher their classic sounds.
- Most chemicals now don't make puddles. Too bad!
- Space lube now makes a very slippery puddle. Honk.
- Spraying water (or using a fire extinguisher) on existing puddles makes them bigger.
* Fix solution tests
* food base now has solution container with noexamine caps
* refactored storagefill component to allow for random items, amount, and conditional exclusion
* i fudged it
* yaml for the already deleted filler components
* ignoredcomponents & janifill
* remainder of toolboxes done
* emergencyclosetfill
* really makes you think
* it DOES really make you think
* orGroup
* exp111 suggestions
* last touches
* isNullOrEmpty
* Work on refactoring radiation.
* mmmm grayons
* fixes
* Now you can specify whether the pulse will decay or not
* whoops
* Move IRadiationAct to shared, make DamageableComponent implement it instead and add metallic resistances to walls
* General improvements, send draw and decay with state. Rename DPS to RadsPerSecond
* E N T I T Y C O O R D I N A T E S
* Entity coordinates goood
* Remove unused using statements
* resistances: metallicResistances
* - type: Breakable moment
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Make the mapping command take the next available map id if one isn't given, draft
* Remove todo
* Update clientside mapping command
* Address reviews
* Moved the uplink creation code to the PresetSuspicion.Start method to ensure uplink created when we give the traitor role
Moved the starting TC balance to cvars
* Added component to handle interaction with Atmospheric system
Added damage from high and cold temperature
* renamed AtmoExposable to AtmosExposed
moved AtmosExposed updates to its own system
refactored TemperatureComponent
renamed fire to heat
added null check for Air
added self-heating and self-cooling to body system
* small refactoring for checking on airless tile in MetabolismComponent
* Added component to handle interaction with Atmospheric system
Added damage from high and cold temperature
* renamed AtmoExposable to AtmosExposed
moved AtmosExposed updates to its own system
refactored TemperatureComponent
renamed fire to heat
added null check for Air
added self-heating and self-cooling to body system
* small refactoring for checking on airless tile in MetabolismComponent
* Removed Pressure property from BarotraumaComponent
Changed CanShiver method to match style of other CanX method in ActionBlockerSystem
* Merged EntityCoordinates and changed components to reflect the change
* Fix typo
* Wrapped string to Loc.GetString
Added CanSweat
Refactored dead state check
* Assets
* LightingBehaviours, flares, and such.
* More changes
* More changes, more flare work.
* More work on flares + light behaviours
* another refactor
* missed
* Light behaviours refactor, added sfx, improved graphics, improved lighting effects for glowstick and flare.
* remove unneeded value
* nullables
* remove old code
* nullable
* one last push
* net id
* more work
* more colors for glowsticks
* Adjust flare so it fades in
* fix name
* sprite fix
* -Makes PlayerList scrollable
-Player names clip when they are too long
-Shows Player count
* Add padding to make columns more noticeable
* -Added Separators between the columns
-Pushed List a bit down
* Add alternating row colors
* Add art assets for cloning
* Added a 'Scan DNA' button to the medical scanner
* Made the UI update unconditional for the medical scanner until checks for power changes are in place
* Update Medical scanner to reflect powered status and fix#1774
* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state
* Add disabling logic to 'Scan DNA' button on medical scanner
* Removed un-used libraries
* changed scan dna button to Scan and Save DNA
* Added cloning machine code infrastructure copied from Medical Scanner
* Added a list to cloning menu containing some numbers
* Cloning Machine UI sends a message to the cloning component with the entityUID
* New scans now show up in cloning pod menu
* fixed cloning machine collision shape
* cloning machine can now spawn the right player profile assuming the attatched entity is still correct.
* refactored cloning system to use a map of integer ids to player Minds
* Added a return to body cloning loop for the ghost
* Fixed warning for _playerManager being possibly null, added TODO note for ghost return to body button acting as a toggle
* removed #nullable from cloningMachineWindow"
* Trying to get rid of nullable error
* fix CloningMachine to not initilize with it's owner components
* updated CloningMachine server component to play nice with the new nullable rules
* replace flag with eventBus message for sending a ghosts mind to a clone body
* Refactor cloning so that a popup option is used to get user consent for cloning
* Refactoring
* Reverting unused changes for cloning component
* Added proper cloning pod sprites and a visualizer so 'idle' and 'cloning' states are properly reflected
* added missing robust toolbox contents
* Added cloning NoMind State and made cloning take time
* Added cloning progress bar and mind status indicator to cloning pod
* Added missing localization calls, removeed 'returned to cloned body' from ghostUI
* Added unsubscribe for cloningStartedMessage in Mindcomponent.cs OnRemove
* Added eject button to cloningMachine and clamped the cloning progress bar to 100%
* Added condition to eject body on cloningmachine so bodies can't be ejected until cloning is done
* Add click-dragOn functionality to the medical scanner for things with a bodyManager
* Messed with scan query so it doesn't fail on dead bodies as long as Mind still owns the mob
* refactored clonning scan check on medical scanner so it doesn't do a linq query
* merge with rogue toolbox
* Change the name of Cloning Machine to the less generic Cloning Pod
* Changed Cloning Pod so it pauses cloning while the power is out
* Removed the evil LocalizationManager from the cloning menus and used the static Loc instead
* removed localization dependency from bound accpetCloning user interface
* Removed Ilocalization dependency I accidentally added to ghost ui
* Update Content.Client/GameObjects/Components/MedicalScanner/MedicalScannerComponent.cs
Co-authored-by: Exp <theexp111@gmail.com>
* Changed null check to tryget in case for cloning UiButton.Clone
* Parameterized Cloning time on serverside component
* tried to reset Robust toolbox module to current master
* Added null check to ghost client component message handling, unsubscribe to the mind component listening to the cloning question ui, fixed _clonningProgress typo, moved CloningPod component dependencies to actually be dependencies, removed un-needed disposals of cloning windows, added disposals missing in boundUserInterfaces.
* Reset submodule
* corrected exception for cloning pod visualizer to refer to cloning pod state and not medical scanner state
* Fix typo
* Unsubscribe from onUiReceiveMessage in mindcomponent in the onRemove function, not the acceptcloningui function
* unsubscribe from OnUiReceiveMessage in CloningPodComponent
* unssubscribe from ghostreturn message in cloningpodComponent onRemove
Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* 1779 Add extinguisher cabinet base item, rsi, and class based on potted plant
* Pretty much the rest of the owl
* Allow construction
* no more deconstruction
* pr fixes
* Sort out InRangeUnobstructed and add extension methods
* Rename client RangeChecks to RangeExtensions
* Add container extension methods and test
* Add missing component methods
Component to container
Grid coordinates to container
Map coordinates to container
Local player to container
* Actually use the field
* Merge fixes
* Add popup argument to local player extension methods
* Reduce code repetition for client range extensions
* -Show tooltip on hover
-Show notify on click
* -Status Effects now get removed instead of going invisible
-Removed empty textures for that
* Revert break in HungerComponent
* No context menu through occluder
* Fix disabled occluders
* Comment
* Server-side verb ray check
Decided to add a buffer because the entity is at the very edge of the context box (0.5, 0.5) then need to make sure that entities at the other end of the box are ignored.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add button that displays your SSS role and allies
* Capitalize button name
* Add cases for 0, 1 and invalid number of allies
* Make the ally syncing system saner
* -ItemStatus for BatteryGuns
-EjectCell Verb
-Using the gun throws the battery also on the ground
* Copy the flashlight and call it a day
* Name a red fruit
* Remove SoundGunshot
* First Prototype
* Command Window
* Dropdown
* Is this better?
* That's kinda better?
* Added divider
* Shit
* Check if Admin Menu & Commands are allowed
* -Funcy Shit
-Now gets properly the playerlist
-Fixed kick reason
* Dropdown Improvement with some more func
* -Added DirectCommand for commands that don't need a ui
-Added RestartRound
* Better way to make DirectCommandButtons
* -Some new Tabs
-Player list
* -Split Buttons
-Regions
-Fixed Test Command
* Some server buttons
* Playerlist alignment
* Fucky SpawnEntites & SpawnTiles in AdminBus
* -Debug Buttons
-Few more commands
* -Make dem controls thicc
-SpinBox
* Escape Kick Reason
* Only create the window when you press the button
* Adds StationEvents
* Nullable "fixes"
* This thing wasn't made for buttons
* Call other constructor for empty CommandButton
* Request method in the interface
* -Pushed most Controls to be fields
-No more dict passing
-Removed test cmd
-Regions to better navigate
* -Bound to key
-Removed from escape menu
-Remember cmd windows
-Close all cmd windows on toggle
* -Moved dependency
* Merge fixes
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Add collision to disposal unit and pipes
Make disposal unit and pipes pullable
Implement proper handling of collisions in disposals
* Implement IsExiting
Move DisposalSystem to shared
* Change SharedDisosalUnitComponent to call manager.ContainsEntity directly
* Update saltern.yml
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
* Add NPC faction tags
Some stuff isn't easy to represent by the existence of components so tags are intended to provide that functionality for AI usage.
I was 50/50 on having all tags in the 1 component or splitting it into 2. I'm leaning towards 2. This would be for stuff like say "CanMimic" so the mimic knows it's allowed to look like a specific prototype, or something like "smg" on a gun so it can say smg-specific barks for instance (as currently smgs and pistols look the same from a component perspective).
This also means combat behaviors aren't hardcoded per faction, plus it makes it easy to update faction relations during events.
* Factions command
Update faction relationships via commands.
* Remove command TODO
* Woops
Forgot to commit these items
* Serializer writing and parsing
* linq me up fam
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add art assets for cloning
* Added a 'Scan DNA' button to the medical scanner
* Made the UI update unconditional for the medical scanner until checks for power changes are in place
* Update Medical scanner to reflect powered status and fix#1774
* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state
* Add disabling logic to 'Scan DNA' button on medical scanner
* Removed un-used libraries
* Added playing parameter to radiatingLightComponent, changed it's animation key to radiatingLight
* refactored RadiatingLight into a visualizer
* Added different light animations for differnt power states of a flashlight
* split out the radiating light visualizer into two seperate visualizers
* further refactored and tweaked handheldlight animations
* further lantern light tweaks
* removed un-used attributes in flashlight and lantern prototypes
* fix null check in handheldlightcomponent
* Started new Lobby
* -Proper styling
-Use a scrollcontainer :smilethink:
* Too lazy to add a stylerule, too young to optimize css
* Fix typo
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Add test that puts all components on an entity and checks for no exceptions
Also fix all the exceptions that happened because of this
* Add comments to the test
* Fix nullable errors
* Fix more nullable errors
* More nullable error fixes
* Unignore basic actor component
* Fix more nullable errors
* NULLABLE ERROR
* Add string interpolation
* Merge if checks
* Remove redundant pragma warning disable 649
* Address reviews
* Remove null wrappers around TryGetComponent
* Merge conflict fixes
* APC battery component error fix
* Fix power test
* Fix atmos mapgrid usages
* Initial commit
* Climbing uses its own controller now
* Missed a check
* Get rid of hands check
* Cleanup
* Get rid of speciescomponent stuff
* Remove unneeded check, add separate case for moving other players.
* Add DoAfter
* IClientDraggable added to ClimbingComponent
* Added some basic integration tests. Renamed ClimbMode to Climbing.
* oops
* Minor fixes
* ffff
* Table fix
* Revamped system so its more predicted, uses proper logic for de-climbing. Get hype!!!
* Flag check fix
* Distance check and reset numticksblocked
* get rid
* Switches PDAs with tg ones and renames flashlight component
* Which chucklefuck hid the ID cards in the clothing folder
* Removes Mime PDA as i'm gonna do that in another PR
* Moves EVERY SINGLE PDA over by exactly one pixel so they're aligned perfectly with the UI slot
* On second thought moves back the id-cards since I don't want to deal with conflicts
* Add art assets for cloning
* Added a 'Scan DNA' button to the medical scanner
* Made the UI update unconditional for the medical scanner until checks for power changes are in place
* Update Medical scanner to reflect powered status and fix#1774
* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state
* Add disabling logic to 'Scan DNA' button on medical scanner
* Removed un-used libraries
* changed scan dna button to Scan and Save DNA
* added a lantern
* Add A Lantern with radiating light
* Added a GasVapor system and made a base for extinguisher spray.
* switched to using solution component for fire extinguisher
* made it so fire extinguisher's can run out of water vapor
* Added actual Gas to Gas Vapor, now getting atmosphere for touched tiles.
* Made it so gasVapor reacts and dissapates on reacting
* GasVapor now dissapates exponentially while traveling
* Added in-hands for fire extinguisher
* Added Spraysound to gasSprayer and to fire extinguisher prototype
* parameterized GasSprayer and GasVapor
* removed un-used imports in gasSprayer and gasVapor components and systems
* removed accidential threading import into gasmixturecomponent
* add a shared extinguisher component for extinguisher spray rotation instead of piggy-backing on RogueArrow
* paremeterized fuelCost and fuel name in GasSprayerComponent
* Paremeterized gasAmount, removed un-used code from gasVaporComponent
* Removed BaseItem Parent from Extinguisher_spray
* added GasVapor and GasSprayer to Ingored Components list
* reduced offset of spawned extinguisher vapor from player
* Update IgnoredComponents.cs
* renamed SharedExtinguisherComponent to SharedGasSprayerComponent and removed reference to RoguePointingArrow
* renamed shareExtinguisherComponent to SharedGasSprayerComponent
* Update Content.Server/Atmos/GasSprayerComponent.cs
Added check for solution component on GasSprayer.
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Server/Atmos/GasSprayerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Ready Indicator in the lobby
* Use SessionID instead of Name
* Don't show ready state when game is already running
* Make Ready List not selectable
* -Remove disconnected sessions from Ready
-Fix showing ReadyStatus when staying in lobby
* Things and stuff with grids, unfinished w/ code debug changes.
* Updated submodule and also lost some progress cause I fucked it up xd
* First unfinished draft of the BodySystem. Doesn't compile.
* More changes to make it compile, but still just a framework. Doesn't do anything at the moment.
* Many cleanup changes.
* Revert "Merge branch 'master' of https://github.com/GlassEclipse/space-station-14 into body_system"
This reverts commit ddd4aebbc76cf2a0b7b102f72b93d55a0816c88c, reversing
changes made to 12d0dd752706bdda8879393bd8191a1199a0c978.
* Commit human.yml
* Updated a lot of things to be more classy, more progress overall, etc. etc.
* Latest update with many changes
* Minor changes
* Fixed Travis build bug
* Adds first draft of Body Scanner console, apparently I also forgot to tie Mechanisms into body parts so now a heart just sits in the Torso like a good boy :)
* Commit rest of stuff
* Latest changes
* Latest changes again
* 14 naked cowboys
* Yay!
* Latest changes (probably doesnt compile)
* Surgery!!!!!!!!!~1116y
* Cleaned some stuff up
* More cleanup
* Refactoring of code. Basic surgery path now done.
* Removed readme, has been added to HackMD
* Fixes typo (and thus test errors)
* WIP changes, committing so I can pull latest master changes
* Still working on that god awful merge
* Latest changes
* Latest changes!!
* Beginning of refactor to BoundUserInterface
* Surgery!
* Latest changes - fixes pr change requests and random fixes
* oops
* Fixes bodypart recursion
* Beginning of work on revamping the damage system.
* More latest changes
* Latest changes
* Finished merge
* Commit before removing old healthcode
* Almost done with removing speciescomponent...
* It compiles!!!
* yahoo more work
* Fixes to make it work
* Merge conflict fixes
* Deleting species visualizer was a mistake
* IDE warnings are VERBOTEN
* makes the server not kill itself on startup, some cleanup (#1)
* Namespaces, comments and exception fixes
* Fix conveyor and conveyor switch serialization
SS14 in reactive when
* Move damage, acts and body to shared
Damage cleanup
Comment cleanup
* Rename SpeciesComponent to RotationComponent and cleanup
Damage cleanup
Comment cleanup
* Fix nullable warnings
* Address old reviews
Fix off welder suicide damage type, deathmatch and suspicion
* Fix new test fail with units being able to accept items when unpowered
* Remove RotationComponent, change references to IBodyManagerComponent
* Add a bloodstream to humans
* More cleanups
* Add body conduits, connections, connectors substances and valves
* Revert "Add body conduits, connections, connectors substances and valves"
This reverts commit 9ab0b50e6b15fe98852d7b0836c0cdbf4bd76d20.
* Implement the heart mechanism behavior with the circulatory network
* Added network property to mechanism behaviors
* Changed human organ sprites and added missing ones
* Fix tests
* Add individual body part sprite rendering
* Fix error where dropped mechanisms are not initialized
* Implement client/server body damage
* Make DamageContainer take care of raising events
* Reimplement medical scanner with the new body system
* Improve the medical scanner ui
* Merge conflict fixes
* Fix crash when colliding with something
* Fix microwave suicides and eyes sprite rendering
* Fix nullable reference error
* Fix up surgery client side
* Fix missing using from merge conflict
* Add breathing
*inhale
* Merge conflict fixes
* Fix accumulatedframetime being reset to 0 instead of decreased by the threshold
https://github.com/space-wizards/space-station-14/pull/1617
* Use and add to the new AtmosHelpers
* Fix feet
* Add proper coloring to dropped body parts
* Fix Urist's lungs being too strong
* Merge conflict fixes
* Merge conflict fixes
* Merge conflict fixes
Co-authored-by: GlassEclipse <tsymall5@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
* Aghost Button
* Toggle Lights Button (Shitcode)
* Suicide Button
* Toggle Subfloor Button
* Changed the X icon for windows to be slimmer
* ToggleLights and ToggleSubfloor are no longer shitcode!
* Refactors SandboxWindows.cs
* Added Shows Spawns Button
* Fix
* Show Bounding Boxes Button
* I guess this helps somewhat?
* Nested SandboxWindow.cs inside of SandboxManager.cs for simplicity
* Fixes
* I forgot what I added
* Removed CSI console... for now
* Fix build
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
* Station event system
Adds 2 basic events: (Power) GridCheck and RadiationStorm (based on the goonstation version).
The system itself to choose events is based on tgstation's implementation.
This also adds the event command that can be run to force specific events.
There's still some other TODO items for these to be complete, to my knowledge:
1. There's no worldspace DrawCircle method (though the radstorm could look a lot nicer with a shader).
2. The PlayGlobal power_off / power_on audio seems to cut out halfway-through
3. (I think this is a known issue) lights still emit light until you get closer in a gridcheck so PVS range might need bumping.
* Invariants for event names
* Fix random event shutdown
* Mix stereo announcements to mono
* Address feedback
* Remove redundant client system and use the overlay component instead
* Drop the server prefix
* Fix radiation overlay enum
* use entityquery instead
* zum's feedback
* Use EntityQuery
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Improves the RCD
* oops
* Unnecessary
* Merge 2 checks
* RCD whitelist and reorganization
* Makes the RCD great again
* Ignored components
* loicense
* Fix missing using
* Let there be (vending machine) light
Cut up vending machines to have unshaded layers.
I scripted the cutting up so there might need to be minor tweaks to some of them.
Added the eris vending machine sound (I liked it more than tg's, fight me).
* Tweak sound reduction
* Mark vending as abstract
Appearance is done on each vending based on what sprite states they have (at the moment) and the vendingmachine shouldn't be spawned on its own anyway.
* Add screen layer back in
* Unstuff what was stuffed
* Removed the Soviet and USA vending machines
* Added proper licensing
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Swept <jamesurquhartwebb@gmail.com>
* -ChemDispenser & Master can now open the UI without power
-Both can also eject beaker without power
* -Disables button if not powered
-Disables clear & eject buttons if no beaker
* Fix server freeze
* -Started Gas Analyzer
-TemperatureHelpers
* Formatting
* Adds PopupTooltip to NotifyManager
* Revert Tooltip fuckery
* Gas Analyzer gives proper error messages
* Localization
* Added a very wip gas analyzer ui
* UI works, doesn't look good but hey
* Safety checks
* Fancy WIP gas mix bar
* Gas Color
* Gas Amount shows only 2 decimal places
* -Made bar full width
-Moved gas list into a table
-Some gas bar things
* IDropped something
* Description
* -Percentage
-Padding
* ItemStatus
* -Proper Danger Warnings
-Added Warning danger state
* Pressure unit
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* do_after
Ports (most of) do_after from SS13.
Callers are expected to await the DoAfter task from the DoAfterSystem.
I had a dummy component for in-game testing which I removed for the PR so nothing in game uses do_after at the moment.
Currently only the movement cancellation is predicted client-side.
* Minor do_after doc cleanup
* do_the_shuffle
Fix nullable build errors.
* The last nullable
* Implement NeedHand
Thanks zum.
* nullable dereference
* Adjust the system query
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>