* -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>
* Rehydratable component -> monkey cubes now have some of their behaviour
* Placeholder kitchen spike entity
* KitchenSpike component: the kitchen spike now has basic functionality
still placeholder sprite though
* Kitchen Spike: Import meatspike assets from CEV-Eris
* Kitchen Spike: Actually use sprites somewhat
* Kitchen Spike: Forgot I removed the MeatParts property from Butcherable
* Monkey cubes: Use IReagentReaction even though it doesn't quite work yet. Butcherable: remove imports
* Monkey cubes/Rehydratable: Re-add ISolutionChange
* Update Resources/Prototypes/Entities/Constructible/Ground/kitchen.yml
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* 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
* 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>
* 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
* 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 isVital flag for body parts
Automatically killing creature if last vital body part removed
Marked head as vital part
* 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
* 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
* 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>
UI was being updated every tick even when not necessary. Ideally you'd just update the UI based on events but this is fine for now.
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
* 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
* As discussed on the Discord, xenos are not humans
* Add living component for living beings without a defined body
* Merge LivingDamageable and Damageable components
* Fix ruinable and state manager inconsistencies
* Fix ruinable exposedata
* Fix new destructibles yamls
* Fix healing not healing
* Fix alive not being a valid state
* Fix valid state checking