Commit Graph

77 Commits

Author SHA1 Message Date
mirrorcult abd4eac921
ECS AsteroidRock and add a doafter to mining (#6120)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-01-12 13:12:08 +11:00
Leon Friedrich c29489ff4d
Fix foldable-pickup interactions. (#6057) 2022-01-07 17:09:42 +11:00
JustinTime 7d0b06f551
Add ability to resist out of welded lockers and locked closets (#5958)
* 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>
2022-01-05 22:18:48 -08:00
Leon Friedrich 0aa4f9efbe
Power Cell Refactor (#5943)
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2022-01-05 15:20:25 +11:00
mirrorcult 5249ea057a
Kill bobby 2.0 (#6023) 2022-01-04 10:17:39 +01:00
Flipp Syder b1584793bf
Adds fire/air alarms (#5018)
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>
2022-01-02 15:56:24 +11:00
Paul Ritter 512d6a38c3
get that crap outta here (completely rewrites inventorysystem) (#5807)
* 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>
2021-12-30 22:56:10 +01:00
Vera Aguilera Puerto b4808786da Ignore CanHostGuardian on the client. 2021-12-30 13:19:41 +01:00
Alex Evgrashin 1705eae96c
Suit sensor and crew monitoring (#5521)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-12-29 16:19:00 +11:00
metalgearsloth e5e144d99c
Rollerbeds (#5681) 2021-12-29 15:57:20 +11:00
CrudeWax 299c4be328
Guardians (Holoparasites) (#5140)
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>
2021-12-29 14:58:48 +11:00
Leon Friedrich b675bdb789
Move Access & AccessReader to shared. (#5798)
* 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.
2021-12-25 20:07:28 -08:00
wrexbe 40278353d3
Salvage (#5686)
Co-authored-by: 20kdc <asdd2808@gmail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-12-23 13:14:01 +01:00
Pancake f334f4a4b9
Accents (#5720)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Paul <ritter.paul1@googlemail.com>
2021-12-21 21:31:20 +01:00
Leon Friedrich 7e49b22a74
Verb predict (#5638) 2021-12-16 21:42:02 +11:00
Leon Friedrich bfff21ea73
Add IngestionBlocker component (#5692) 2021-12-04 11:56:27 -07:00
Paul Ritter e4defccd33
Revert "Salvage 0.1" (#5684) 2021-12-03 23:42:38 +01:00
20kdc 0205846ab2
Salvage 0.1 (#5662) 2021-12-03 23:24:19 +01:00
mirrorcult ccf01d7431
Remove LungBehavior and replace with LungComponent/System (#5630) 2021-11-30 18:25:02 -07:00
mirrorcult fc4a950257
Split Respirator into ThermalRegulator and Respirator and ECSes both (#5603) 2021-11-28 19:25:42 -07:00
Moony 9075cf6163
Space Kudzu (#5472) 2021-11-28 19:25:36 -07:00
AJCM-git 2ea7c55e93
Clean and add spawners (#5520) 2021-11-25 15:36:57 -07:00
20kdc f6d44be34f
Activatable UI component (#5184)
* 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
2021-11-23 19:19:08 +01:00
metalgearsloth bdead40a80
Thrusters (shuttle go nyoom) (#5352) 2021-11-21 17:09:49 +11:00
mirrorcult 07024f7c77
Severely nerf fires and severely buff fire protection (#5396)
* 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
2021-11-18 23:08:30 -07:00
20kdc 856e570c7b
Stop BatterySystem from iterating over every battery just to recharge micro-reactors (#5393) 2021-11-18 20:02:17 +01:00
FoLoKe a23f3fde68
Adds cow milking (#5293) 2021-11-14 17:33:16 +01:00
mirrorcult 828025d020
Turn brain behavior into a component/system (#5281) 2021-11-12 23:47:50 -07:00
mirrorcult 457e8c64ee
Convert StomachBehavior to a component/system + rejig body namespaces (#5249)
* Convert StomachBehavior to a component/system + rejig body namespaces

* test

* slightly more namespace changes

* remove

* Hello?????

* fuck you github test runner

* reviews

* oobsy!
2021-11-11 16:10:57 -07:00
metalgearsloth a360f6126e
Shuttle docking (#5169)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2021-11-11 20:06:38 +11:00
Alex Evgrashin b936ee6ad8
Add barebone nuke (#5242)
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
2021-11-11 12:29:11 +11:00
Leon Friedrich 88df3d8b10
Cargo: pizza & bureaucracy (#5123)
* add paper label component

* git mv

* rename namespace

* add cargo printouts

* more crates

* directly attach paper

* comment typo
2021-11-11 00:15:23 +11:00
20kdc d9cc7ef7d4
Stop pAIs from being able to wipe each other/do other odd things, pAIs name themselves after their owners (#5160)
* 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
2021-11-04 15:29:16 -07:00
mirrorcult 3f51ffbd3c
Pneumatic cannons (#4560)
* 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
2021-11-03 14:33:36 -07:00
20kdc 7220132be3
ChemMaster/Chemistry Dispenser constructability, fixed edition (#5125) 2021-11-02 10:04:07 +01:00
20kdc 7a03f00cfd
Placeholder pAIs, ghost role rules window (#4972) 2021-11-02 11:42:04 +11:00
Ygg01 b2aca94586
Refactor Solution from Shared -> Server (#5078)
* Move entity solution entity systems to shared

* Move SolutionComponents to Server

* Fix namespaces

* Remove Networked Component.

* Fixes

* Add components to ignore list
2021-10-29 23:40:15 +11: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
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
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
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
Vera Aguilera Puerto f2fc1431aa Ignore component on client. 2021-10-19 21:15:23 +02:00
mirrorcult 636a04eccd
Armor (#4934)
* Armor

* radiation tweaks

* asphyxiation ignore resistances
2021-10-18 16:24:37 -07:00
Watermelon914 4bf8a5d527
Adds hand labelers (#4903)
* Adds hand labelers

* Removes unnecessary thing

* Docs

* Reverts some changes

* Addresses comments and adds inhand sprites

* Addressed comments

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-10-16 13:34:05 -07:00
ShadowCommander 9da81ea85f
Add GhostRadio to allow ghosts to hear radio messages (#4896)
* Add GhostRadio to allow ghosts to hear radio messages

* Add GhostRadio to ignored components
2021-10-16 12:04:35 -07:00
Julian Giebel a6f2c21919
Device network as ecs (#4205)
* 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>
2021-10-11 14:41:18 -07:00
mirrorcult 9b4e495c95
Blast doors & shutters (#4822) 2021-10-10 12:43:50 +02:00
Alex Evgrashin df3b766139
Telecrystals (and a bit more ECS) (#4775) 2021-10-08 12:26:42 +02:00
Vera Aguilera Puerto 365c7da4dc
Makes tools and welders ECS, add ToolQualityPrototype. (#4741) 2021-10-07 13:01:27 +02:00