Commit Graph

269 Commits

Author SHA1 Message Date
Kara c56db3b1a8
Resolve `'TransformComponent.MapPosition' is obsolete` in content (#27939)
* Resolve `'TransformComponent.MapPosition' is obsolete: 'Use TransformSystem.GetMapCoordinates'` in content

* build?
2024-05-18 13:58:34 +02:00
ShadowCommander d82acccaa8
Replace AttachToGridOrMap with DropNextTo (#27950) 2024-05-18 13:57:16 +02:00
Jezithyr 17ff17a0d0
Move GasMixture to shared (#27480)
* Moved GasMixture to shared

* Temp Fix for sandbox violation, idk why Array.Resize isn't working properly. It's already sandboxed.

* The most powerful webedit in history
2024-05-07 04:00:15 +02:00
Tayrtahn 794302839d
Add ability to shake fizzy drinks so they spray in peoples' faces (#25574)
* Implemented Shakeable

* Prevent shaking open Openables

* Prevent shaking empty drinks. Moved part of DrinkSystem to Shared.

* DrinkSystem can have a little more prediction, as a treat

* Cleanup

* Overhauled PressurizedDrink

* Make soda cans/bottles and champagne shakeable. The drink shaker too, for fun.

* We do a little refactoring.
PressurizedDrink is now PressurizedSolution, and fizziness now only works on solutions containing a reagent marked as fizzy.

* Documentation, cleanup, and tweaks.

* Changed fizziness calculation to use a cubic-out easing curve.

* Removed broken YAML that has avoid the linter's wrath for far too long

* Changed reagent fizzy bool to fizziness float.
Solution fizzability now scales with reagent proportion.

* Rename file to match changed class name

* DoAfter improvements. Cancel if the user moves away; block if no hands.

* Match these filenames too

* And this one

* guh

* Updated to use Shared puddle methods

* Various fixes and improvements.

* Made AttemptShakeEvent a struct

* AttemptAddFizzinessEvent too

(cherry picked from commit cfa94be4c2044146298d07c703f3b71bc377ca63)
2024-04-21 22:08:21 +02:00
DrSmugleaf 0d5762c35c
Make UtensilSystem and SharpSystem not run AfterInteract if it has already been handled (#25826)
* Make UtensilSystem and SharpSystem not run AfterInteract if it has already been handled

* merge conflicts

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit c67948407ec9ee21c0459ca9679b6fac904aad63)
2024-04-21 21:56:50 +02:00
deltanedas 5e3d7350ba
scoopable ash and foam, solution transfer prediction (#25832)
* move SolutionTransfer to shared and predict as much as possible

* fully move OpenableSystem to shared now that SolutionTransfer is

* fix imports for everything

* doc for solution transfer system

* trolling

* add scoopable system

* make ash and foam scoopable

* untroll

* untroll real

* make clickable it work

* troll

* the scooping room

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1db178b63254c5b509a6493a631fddb596b376a4)
2024-04-07 14:27:04 +02:00
Tayrtahn 65b6765485
Prevent storing liquids in equipped buckets (#24412)
* Block access to solutions in equipped spillables.

* Stop Drink verb appearing if the solution can't be accessed.

(cherry picked from commit 1b94e0156311c918d17c7de4b79fedd328e04efc)
2024-04-07 14:20:07 +02:00
Jake Huxell 7be31aab33
Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests

(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
2024-04-07 14:11:06 +02:00
nikthechampiongr ad5628777b
Simplify DoAfterArgs behavior for movement and distance checks (#25226)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.

* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.

* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.

* Fix issue introduced by merge.

* Use interaction system for determining whether a distance is within range

* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.

* Exorcise ghost.

The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.

* Exorcise ghost Pt. 2

* Allow for movement check to be overriden in zero g and adjust doafter args where needed.

You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars

* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.

* Fix evil incorrect and uneeded comments

(cherry picked from commit 362d56981fd7654f6ebec36f16cc8fabdd04b6a7)
2024-03-24 00:03:28 +01:00
Debug 73884994e5
Various fixes I shouldn't need to be doing
I love code!!11!!!1!
2024-03-17 15:33:21 +01:00
maylokana 4cba6732b5
Drink from closed container fix (#26103)
(cherry picked from commit 2f2cd4aab70703717541e5db3f46ae4831b4129d)
2024-03-17 15:06:11 +01:00
Krunklehorn 1f9fa51a56
Fix Butcherable handling, ItemSlots for clown shoes (#25661)
* Fix butcherable handling

* ItemSlots for clown shoes

* Return if handled

* Handle if popup

* Whitespace, spoons are metal

* Zero damage plastic utensils, blacklist by metal+melee

* Hmmm truthy

* Plastic knives are knives too, just use that

* Delete unused tag

* Always true if doAfter

* Raw rat meat should be sliceable too

(cherry picked from commit 674b42b3a0ab9fa607887c1401f38ca1f8bb3911)
2024-03-17 14:58:56 +01:00
Vyacheslav Kovalevsky 4b446c2e62
Fix cream pie bomb when eaten or sliced (#25928)
* fix bomb activation when eaten

* no swap / no eject

* activate when sliced

(cherry picked from commit 0d0edbba4a1c2af7ecef3318b5f9fe287a63fab5)
2024-03-17 14:55:56 +01:00
Pieter-Jan Briers e7a3b82a8d
Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.

(cherry picked from commit e00f74505c62310bd15aeaba8d6530f648397074)
2024-03-07 00:57:05 +01:00
Tayrtahn 164c06f6ed
Add prediction to Openable (#25477)
* Fix formatting problem with FullOpened

* Moved to Shared and networked

* Revert "Fix formatting problem with FullOpened"

This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.

(cherry picked from commit 381bb9020aeba82e9cad111c77c34bee29d52c68)
2024-03-05 09:48:52 +01:00
Tayrtahn ef6958e1cf
Fix examine text bug for Openable Drinkables (#25478)
Break up Opened/Closed and fill level onto separate lines

(cherry picked from commit 146c7b272d9af2ff68e110211d88c9c3c38b5fd9)
2024-03-05 09:48:49 +01:00
Tayrtahn b39407bae3
Add verbs to Open/Close Openable containers, and add optional seals (#24780)
* Implement closing; add open/close verbs

* Add breakable seals

* Allow custom verb names; make condiment bottles closeable

* Remove pointless VV annotations and false defaults

* Split Sealable off into a new component

* Should have a Closed event too

* Oh hey, there are icons I could use

* Ternary operator

* Add support for seal visualizers

* Moved Sealable to Shared, added networking

* Replaced bottle_close1.ogg

(cherry picked from commit 75e47fff9e5150a4de37e4d3c8a8b278f0a1a2cd)
2024-02-18 23:02:49 +01:00
Magnus Larsen e0a3cfacea
Fix clientside storage Whitelists (#24063)
* Fix outdated component name in assaultbelt whitelist

RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)

* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared

* Move LightReplacerComponent to Shared

* Move Utensil, Mousetrap components to Shared

* Move SprayPainterComponent to Shared

The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.

* Add trivial Produce and Seed components to Client

This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
2024-02-08 12:22:58 +01:00
Aexxie 16d77d483e
Move grenade components to shared (#22691)
* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Delete .run/Content Server+Client.run.xml

HOW DID THIS GET IN HERE ITS NOT AHHHH

* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update ExplodeOnTriggerComponent.cs

* Revert "Delete .run/Content Server+Client.run.xml"

This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.

* Fix?

* cannot figure out how to get this to go back please forgive

* Fixes a network issue

* leftovers

* Fixes

---------

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 467e983ba972a7ae749c95448febd19c7c285514)
2024-02-08 12:22:56 +01:00
Nemanja 7573dba496
Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek

(cherry picked from commit a9e89ab37221c4f5eff5a9e1d42e97c6f3e0753b)
2024-01-27 23:43:49 +01:00
Kevin Zheng 25499c5c07
Fix drink examine text (#24241)
(cherry picked from commit 3506e67e88082ca22dc7b720f52748df36de4ab4)
2024-01-26 23:05:39 +01:00
Kevin Zheng de0ef57a55
Do not log missing components in OpenableSystem (#24208)
Do not log missing components

(cherry picked from commit 1e9eab0a0b7524e2fcdc3b342cc15fe777b7a7bd)
2024-01-26 23:04:23 +01:00
Kara 8b73edaa6c
Significantly less annoying eating sounds (#24195)
(cherry picked from commit fd3222993e6c5b0f0ec6296934fad6438b1e260a)
2024-01-26 23:03:26 +01:00
GreyMario 9e4fb570bc
Pie tins returned from all pies in all situations, add lathe recipes for pie tin and some other basic kitchenwares (#23217)
* move pietin trash to FoodPieBase so all pies return their pie tin when eaten

* spawn trash from a SliceableFood if the Food has a trash

* add a limited selection of additional tablewares to the autolathe

* kitchenware material adjustments

* fix crash when slice pie in hand/inventory

* use system helpers + slices now go in parent container

(cherry picked from commit 1c3c596bae1bc463ce05f3ae6f5cbe09ac59ed4c)
2024-01-26 22:33:39 +01:00
themias a626bb6754
fix mice eating (#23801)
* fix mice eating

* actually just ignore utensils

(cherry picked from commit 3fb0bd9d4b13fe828889b5ce9aea960c89dd5f4d)
2024-01-26 22:19:31 +01:00
DrSmugleaf bf936c7a88
Fix TrashOnSolutionEmptySystem modifying uninitialized entities (#23798)
(cherry picked from commit 2fe861e87d9faaf802ba91aded7082ca94c03c86)
2024-01-26 22:19:27 +01:00
GreyMario 22ea3e1656
Checking for used utensils actually happens now (#23766)
checking for utensils actually happens now

(cherry picked from commit f2647ac8d421642420b53ea5574f654390039d7b)
2024-01-26 22:16:35 +01:00
Kara 03b3e36d43
Examine prediction (#23565)
* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly

(cherry picked from commit 0ae3858b69b695697ea9300609460f8ddb70ebbf)
2024-01-26 21:48:02 +01:00
TemporalOroboros ce27944275
Revert 'Revert 'Solution Entities'' (#23168)
(cherry picked from commit d23c8d5c19e56a582b6b12f832bd318efbdac7c7)
2024-01-23 23:00:42 +01:00
Leon Friedrich 3b8a4316fa
Make some prototypes use frozen collections (#22576)
* Make some prototypes use frozen collections

* poke tests

* Remove frozen dictionary enumeration

(cherry picked from commit 8587c3778abdf94041a491b1ff6330fbe6746c03)
2024-01-22 18:36:50 +01:00
Debug 18f0af1f68
Implement gridinv, proper (#703)
* Implement gridinv, 1500 squashed commits :elp:

* Me when

* Linter errors

* Fix katana belts
2024-01-21 19:58:28 +01:00
deltanedas 1d5c59ff0d
deep frier slice fix (#581)
* move SliceFoodEvent into a deltav file, move raising into Slice()

* import deltav event

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-12-22 12:29:41 +01:00
themias 2851e53c28 Add more DNA interactions (#21989)
* Add more DNA interactions

* remove unused import

* update based on feedback

* Add event for chemistrysystem.injector

* move event to shared; transfer dna to implanter

* doafter and interaction event fixes

* add BreakOnHandChange

* doh

* use events instead of updating component directly

* Add DataFields to ForensicScannerComponent fields

* Convert most events to system api call
2023-12-16 20:30:32 +01:00
DrSmugleaf 87e0952d81 Fix masks not toggling voice mask component (#22506) 2023-12-16 20:24:33 +01:00
DrSmugleaf b04882d1ad Move MaskComponent to shared and add toggle events (#22395)
* Move MaskComponent to shared and add toggle events

* Datafield and network IsToggled

* Add missing dirty
2023-12-16 20:15:24 +01:00
deltanedas 3b4b4ee186 small food slicing cleanup (#22291)
* component cleanup

* slice system cleanup

* thank you entprotoid

* webedit 1

* webedit 2

* bruh this shitcode has sliceable food with no slice

* ok no persistence

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-12-16 19:39:24 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
deltanedas 9183b2b5b7 moths can eat goat wool (#21704)
* add Wooly system

* add RequireDead to Food

* minor fix+cleanup and fix repeating

* minor fix+cleanup and fix repeating

* make goat wooly

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-19 22:22:01 +01:00
Psychpsyo 3fc496001a Soapy Water & Edible Soap (#20364)
* soap reagent and soapy water

* make soapy water recognizable

* Fix tile cleaning bug

CleanDecalsReaction was able to take more than the reactVolume it was given.

* make soapy water an evaporating reagent

* Tile reactions when mopping

* Fix indescribably soap flavor

* Adjust soap flavours

Soap and soapy water now taste clean and syndie soap tastes like punishment.

* Better soap numbers & DeleteOnSolutionEmpty

* Changed TrashOnEmpty to TrashOnSolutionEmpty

* Last TrashOnSolutionEmpty change

* Fix merged code not compiling

* Requested changes.
2023-11-12 20:26:09 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
Nemanja 41b8a8960d fix feeding unremovable items (#21234) 2023-10-31 18:45:36 +01:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
JJ f06fc04768
Deep Fryer And Its Powers (#163)
* Deep Fryer And Its Powers

The Deep Fryer has been implemented. It uses Corn Oil, Ghee, and Olive Oil to fry. Other features include:
1. Mixing Oil and Water at a certain temperature causes smoke.
2. When throwing an object at the Deep Fryer, a Chef will *always* land the shot, but anyone else has a chance of missing.
3. When an item is sliced, an event is triggered that other items can see.

* Update meal_recipes.yml

* Reworking the effects so they won't trigger on init.

* Create DeepFryerTest.cs

* Commenting out the UnsafeOilVolumeEffects part of the .yml. Something about the sound script inside of it breaks UnintializedSaveTest and it's not necessary for a smoke reaction to occur anyway.

* Update DeepFryerSystem.cs
2023-10-18 23:57:10 +02:00
TemporalOroboros 8c55d3e5ce Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-14 22:07:17 +02:00
Kara c812f6eab0 Kill `ContainerHelpers` (#20908) 2023-10-14 22:02:35 +02:00
DrSmugleaf 4877e2aaf8 Replace string data fields with LocId where relevant (#20883) 2023-10-14 22:02:30 +02:00
deltanedas 2e3dada5e1 fix moth z on clothes eating (#20456) 2023-09-27 21:59:12 +02:00
Doru991 dd8eba0f48 Fix food trash not spawning (#20467) 2023-09-27 21:59:12 +02:00
PrPleGoo 76ef9906af Task/food hud (#19312)
* security HUD now shows a job icon on entities with a body

* thirst goggles

* set starting hud gear

* fix build

* remove from starting gear

* remove

* replace

* fix thirst and hunger icons

* update icons

* space

* space

* ]

* ]

* fix build

* fix comments

* fix

* spacing

* field

* move more namespaces

* use AutoGenerateComponentState

* comments

* fix build

* not all fields

* comments

* unpaused

* fix Dirty warning

---------

Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>
2023-09-27 21:59:12 +02:00