Commit Graph

3936 Commits

Author SHA1 Message Date
Visne
c67160ae19 Disable warnings that would be refactored anyway (#5047) 2021-10-27 18:10:40 +02:00
metalgearsloth
a12eb29464 Convert sus events to eventbus (#5044) 2021-10-27 10:53:10 +02:00
metalgearsloth
3b508b041b Remove some unused fields again-ing 2021-10-27 19:43:57 +11:00
metalgearsloth
f320c6dd8f Fix storage closing bounds on rotated grids (#5033) 2021-10-27 10:27:25 +02:00
Ygg01
14b401f9b3 Puddle refactor 2: Spillastic boogaloo (#4784)
* Refactor PuddleComponent

* Move puddle effects into separate RSIs

Basically egg/tomato/powder puddle will be moved into separate
/Textures/Fluids RSIs

* Fix YAML for puddles

* Fix issues sloth pointed out.

* Ensure Puddle Component are properly added when spawned

* Remove unnecessary method init puddle with starting maxVolume

* Addressed ElectroSr comments

* Add Resolves

* Try fix error in ensureSolution

* Puddle unanchoring

* Address some issues with puddles

* Fix continue -> return
2021-10-27 19:24:18 +11:00
Saphire Lattice
0da8a5b9d0 Fix trashbags picking up atmos entities that are anchored (#5035) 2021-10-27 18:12:36 +11:00
Alex Evgrashin
6e00104260 Powered light ECS (#5028)
* 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
2021-10-27 12:24:22 +11:00
20kdc
60b3ff59cf Fix morgue rotation by using more EntityCoordinates (#5041) 2021-10-27 12:23:44 +11:00
Vera Aguilera Puerto
d2ffabdfd4 Fix ChangeEntity collection modified exception. 2021-10-27 01:29:10 +02:00
Vera Aguilera Puerto
189a5c7847 ConstructionGL2 Part 1: ECSification, events and steps. (#5017)
- 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! 👀
2021-10-26 16:38:03 +02:00
metalgearsloth
9c3a603e7e Use ActionBlockerSystem as a dependency on CGSystem 2021-10-27 01:07:19 +11:00
Julian Giebel
d1a830cd74 Fix ApcPowerReceiverComponent deletion (#5031)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2021-10-25 21:55:00 +02:00
20kdc
c29b23eb64 Fix ChemMaster bottles not having contents (#5026) 2021-10-25 16:58:16 +02:00
ike709
ec92f4eef2 Adds stack splitting (#4981)
* Adds stack splitting

* Apply suggestions from code review

Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-10-25 16:36:04 +02:00
moonheart08
debd22e19c Add select (#5003) 2021-10-25 16:23:44 +02:00
Vera Aguilera Puerto
ed3bf94a3b Electrocution. (#4958)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2021-10-25 16:21:56 +02:00
Leon Friedrich
6e84e23ba1 Remove some functions from HandsComponent (#4937)
* remove wrapper functions

* Remove InteractionSystem wrapper functions

* remove two more functions

* add missing `using`

* clean diff
2021-10-25 18:06:12 +11:00
StStevens
e621a82e65 Fire extinguisher safety (#4912)
* Moved safety into FireExtinguisherComponent.

* Fix errant find and replace

* Address reviews

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-10-25 18:04:24 +11:00
mirrorcult
c0ecdb09af Slipping tweaks + remove EffectBlocker (#4955)
* Slipping tweaks + remove EffectBlocker

* mfw failed merge conflict resolution

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-10-25 17:43:49 +11:00
Leon Friedrich
e016fc9906 spray bottle fix (#5012)
* fix-spray

* move vapor rotation
2021-10-25 17:29:02 +11:00
metalgearsloth
0f513f64fb Rotate DefaultGrid on round start (#4957)
* Rotate DefaultGrid on round start

Not ideal long-term but good for bugspotting short-term.

* Fix buckle test

Because gridtraversal was being triggered the pos was being fucked when moving back

* Fix buckle

* Buckle offset
2021-10-25 15:22:57 +11:00
20kdc
63dd23ad8c Fix RCDs on space somewhat - space-wizards/space-station-14#4742 compatibility edition (#4878) 2021-10-25 14:33:49 +11:00
Julian Giebel
d1e323b993 Bugfix: ExtensionCableReceiver anchoring (#5014)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2021-10-24 18:49:26 +02:00
metalgearsloth
5cc3f9ee30 Truncate long name / job titles for IDs (#5009) 2021-10-24 01:28:25 -07:00
E F R
3c0473dfe4 Server/MachineLinking: allow linking devices that are inside obstructions (#5010)
...like signal buttons/switches on a wall.
2021-10-24 01:21:39 -07:00
metalgearsloth
a4cd222bea Don't include anchored entities for entitystorage 2021-10-24 17:10:05 +11:00
metalgearsloth
34326cfed7 Fix hypospray
Another casualty in the solution wars.
2021-10-24 16:54:08 +11:00
Alex Evgrashin
7de1ebbd77 Move RCD to ECS (#4742)
* Moved ammo to ecs

* Moved RCD to ecs

* Replaced RCDDeconstructWhitelist with Tag

* Updated new structures RCDDeconstructWhitelist

* Queue delete
2021-10-24 14:34:00 +11:00
E F R
c5dd6c8b02 Server/Storage: allow specifying a radius for _areaInsert (#5001)
️ Pay no attention to the changes in trashbag.yml... they are merely an
illusion... ️

t. 🧙‍♂️
2021-10-23 19:34:29 -07:00
Leon Friedrich
610f45e5cd fix ghost component (#5000) 2021-10-23 19:29:38 -07:00
moonheart08
86e2f2005e Allows placing cables on lattices. (#4984)
Adds a "sturdy" tile flag, that in the future could be used by construction/etc to figure out if it's safe to build on a tile. (For example water isn't space, but it's not a sturdy building surface!)
2021-10-23 17:32:33 -07:00
Julian Giebel
45caf25ea9 Apc device network and apc based light switch (#4908)
* 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>
2021-10-23 16:23:19 -07:00
ShadowCommander
e7f352d6c2 Fix barotrauma damage total failing when damageable doesn't have the value 2021-10-23 12:16:08 -07:00
ShadowCommander
6c1ba187e3 Add maximum to barotrauma damage (#4989) 2021-10-23 11:45:57 -07:00
moonheart08
89bbb71f75 ForAll command! (#4982)
* ForAll command!
Implements "Bad Query Language", which has a few specifiers you can use for badminning, namely:
named <regex>
prototyped <prototype name>
with <component name>
tagged <tag name>
parented_to <parent entity uid>

For example: forall prototyped MobHuman parented_to 855 do explode $WX $WY 1 1 1 1; addcomp $ID Item

* oops

* fix a silent parsing bug, make parser louder.

* cleanup

* rename shit
2021-10-23 19:15:40 +02:00
Vera Aguilera Puerto
328b3b2b6a Fix scrubber math 2021-10-23 13:05:03 +02:00
Vera Aguilera Puerto
0deaa9e18c Fix pill swallowing popup loc. 2021-10-23 10:59:53 +02:00
Vera Aguilera Puerto
a29bc600b7 Fix exception when observer tries to take over GhostTakeoverAvailable mob that has a mind.
That method is essentially a `TryTake` method, why would it throw instead of returning false...
2021-10-23 10:56:55 +02:00
Vera Aguilera Puerto
dad471562d Singularity plays collapsing sound on shutdown, not on remove. 2021-10-23 10:49:59 +02:00
Vera Aguilera Puerto
eaaeefb74b Fix yet another exception with CableTerminalNode for the same dumb reason 2021-10-22 23:50:14 +02:00
Vera Aguilera Puerto
cb2c044c08 Fix exception with CableTerminalPortNode assuming an entity's GridID can never be zero. 2021-10-22 23:46:30 +02:00
E F R
85f2fcb86b Content/Light: make lights actually require power after changing the lightbulb (#4953) 2021-10-22 08:46:22 +02:00
E F R
5b531b7dcf Content.Server: use LocalPositon instead of Coordinates.Position (#4951) 2021-10-22 08:45:36 +02:00
Alex Evgrashin
a3f16295ea Move Access to ECS (#4826)
* Moved access to ecs

* Fixed tests

* Moved test to integration

* Better IoC

* Moved preset ID card

* Moved id card to ECS

* Moved access component to ECS

* Fixed pda access

* Final touches

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-10-22 13:31:07 +11:00
Vera Aguilera Puerto
bfdd0e055b Fixes bad Flammable ECS conversion logic 2021-10-21 23:07:42 +02:00
metalgearsloth
7beb363285 Deprecate a bunch of IActionBlocker (#4852)
* Deprecate IActionBlocker ChangeDirectionAttempt

* Woops

* Throw and interact

* Deperacte speech

* ActionBlocker in fucking shambles

* CanEmote go byebye

* CanAttack is GONE

* IActionBlocker finally ded

* DRY
2021-10-21 13:03:14 +11:00
Fortune117
55249e3688 Add Overdosing Behaviour to Meth (#4949)
* Added debug bottle of meth as well as a damage increase on a Reagent Threshold

* fix for metabolism getting funked when there is a failed reaction condition

* removed max, raised minimum to 10

* reduced regular meth damage, increased overdose damage
2021-10-20 13:30:55 -07:00
Javier Guardia Fernández
3e5a856948 Make DisposalUnitComponent.TryInsert ECS (#4959) 2021-10-20 21:12:23 +02:00
20kdc
6fb968d47f Set default Pow3r ramp rate/tolerance values (#4748) 2021-10-20 20:31:53 +02:00
E F R
5a03c0eca8 Storage: fix Storage insert anim with _quickInsert or _areaInsert set (#4877)
Turns out the final position calculations were wrong, so I copied/pasted
from the equivalent parts of the Hands components.

Unfortunately, this means that picking up trash with a trash bag no
longer causes said trash to rapidly zoom to 0,0.
2021-10-20 15:25:22 +02:00