Commit Graph

728 Commits

Author SHA1 Message Date
DrSmugleaf
bda5ce655f Add the trash man (#1367)
* Add disposal.rsi

* Rename disposal resource to disposal.rsi and create basic components

* Add disposal nets

* Add pushing entities along the disposal network

* Add disposal unit

* Unregister disposable component

* Add flush and selfinsert verbs to disposal unit

* Add gradual disposals movement

* Fix being able to walk through space for a while after exiting disposals

* Multiply disposals speed by 10

And fix early returns when moving an entity

* Rename Disposable component to InDisposals

* Remove DisposalNet and add on anchor events

* Remove anchored events, moved to interfaces

* Code cleanup

* Fix adjacent tubes' connections when a tube connects

* Fix jittery movement in disposals

* Remove Logger.Debug call

* Move disposals updates to InDisposalsComponent

* Fix adjacent connection valid directions check

* Disposal tubes now throw you out where they are facing

* Add disposal unit exit cooldown

* Set different disposal pipe sprite state depending on anchored value

* Add recycler

* Add recycler animation

* Add bloody texture to the recycler when grinding a living being

* Add PowerDevice component to the disposal unit

* Made the Recycler center on the grid

* Add disposal junction

* Add picking a random direction if junction is entered from the output side

* Add disposal flush and clang sounds

Taken from VGStation

* Move disposal flush and clang sound file names to exposedata

* Add disposalsmap.yml to test with

* Add summaries to DisposalUnit fields

* Add sideDegrees yaml property to disposal junctions

* Fix outdated usings

* Add conveyor resources

* Update RobustToolbox

* More merge fixes

Add conveyor collision masks

* Add ConveyorComponent

* Fix crash when reentering a body

* Merge branch 'master' into disposals-1147

* Reduce recycler bounds, set hard to false, add summary and expose "safe" to yaml

* Move IAnchored and IUnAnchored to AnchorableComponent

* Update power components and remove old disposals map

* Remove redundant sprite layers

* Add tile pry command

* Fix tilepry command

* Fix DisposalJunctionComponent missing a component reference

* Add anchor by radius command

* Add Y-Junctions

* Add disposal bend

* Add unanchor command

* Change DisposalJunction prototypes to specify their angles

* Fix disposal units being hidden below the floor

* Removed IAnhored and IUnAnchored interfaces

* Replace CanBeNull annotation with nullable reference types

* Update showwires command

* Add recycler recycling items

* Added angle and speed properties to ConveyorComponent

* Fix conveyort textures

* Add animation to the disposal unit

* Fix anchor and unanchor commands sometimes not finding any entities

* Fix not reading flush_time from disposal unit prototype

* Fix merge conflict wrong using

* Fix disposal, recycling and conveyor texture paths

Delete diverters

* Update visualizer names

* Add DisposableComponent, change drag and drop to work with multiple components

Ignoreinsideblocker client side for drag and drops, like on the server
Add more comments

* Add conveyor belts properly moving entities on top

* Anchorr wires

* Change conveyor bounds to 0.49

* Anchor catwalks, airlocks, gravity generators, low walls, wires and windows

* Add starting/stopping conveyors

* Add reversed conveyors

* Add conveyor switches

* Move InDisposalsComponent code to DisposableComponent

* Add ExitVector method to tubes

* Fix not updating tube references when disconnecting one

* Replace IoCManager call with dependency

* Add tubes disconnecting if they move too far apart from one another

* Move disposals action blocking to shared

* Add rotating and flipping pipes

* Make conveyor intersection calculations approximate

* Fix 1% chance of the server crashing when initializing the map

Happens when emergency lockers remove themselves

* Add disposal unit interface

* Make disposal units refuse items if not powered

* Make disposal tubes hide only when anchored

* Make disposal junction arrows visible to mere mortals

* Add disposal tubes breaking

* Add tubeconnections command

* Add missing verb attribute

* Add flipped disposal junction

* Add ids and linking to conveyors and switches

* Add conveyor switch prying and placing

* Add anchoring conveyor switches and refactor placing them

* Add missing serializable attributes from DisposableComponentState

* Make conveyor speed VV ReadWrite

* Change drawdepth of conveyors to FloorObjects

* Make conveyor anchored check consistent

* Remove anchoring interaction from switches

* Add conveyor switch id syncing and move switches slightly when pried

* Make entities in containers not able to be moved by conveyors

* Add conveyor and switches loose textures

* Merge conflict fixes

* Add disposal unit test

* Add flushing test to disposal unit test

* Add disposal unit flush fail test

* Add disposals to the saltern map

* Fix saltern disposal junctions

* Add power checks to the recycler

* Fix disposal unit placement in maintenance closet

* Remove disposal junctions from saltern

* Readd junctions to saltern

* Add the chemmaster to saltern at the request of Ike

* Move the chemistry disposal unit

* Fix casing of disposal flush sound

* More merge conflict fixes

* Fix a compiler warning.

* Remove popup invocation from buckle

* Remove showPopup parameter from InteractionChecks

* Remove unnecessary physics components

Fixes the physics system dying

* Replace PhysicsComponent usages with CollidableComponent

* Update existing code for the new controller system

* Change conveyors to use a VirtualController instead of teleporting the entity

* Remove visualizer 2d suffix and update physics code

* Transition code to new controller system

* Fix shuttles not moving

* Fix throwing

* Fix guns

* Change hands to use physics.Stop() and remove item fumble method

* Add syncing conveyor switches states

* Fix the recycler wanting to be a conveyor too hard

* Fix showwires > showsubfloor rename in mapping command

* Fix wifi air conveyors

* Fix test error

* Add showsubfloorforever command

Changes drawdepth of the relevant entities

* Disable opening the disposal unit interface while inside

* Add closing the disposal unit interface when getting inside

* Add closing the interface when the disposal unit component is removed

* Add removing entities on disposal unit component removal

* Delay disposal unit flush and fix serialization

* Implement pressure in disposal units

* Fix chain engaging a disposal unit

* Implement states to the disposal unit

* Fix missing imports from merge conflict

* Update Content.Server/GameObjects/Components/Conveyor/ConveyorComponent.cs

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Address some reviews

* Fix za buildo

* Use container helper to detach disposables

* Make conveyors use the construction system

* Make conveyor groups and syncing sane

* Make flip flip

brave

* Add activate interface to conveyor switches

* Fix not removing the switch from its group when it's deleted

* Fix not registering conveyors and switches on initialize

* Stop using 0 as null

* Disconnect conveyors and switches when disposing of a group

* Make disposal units not able to be exited when flushing

* Make disposal units flush after a configurable 30 seconds

* Add handle and light layers to the disposal unit

* Merge engaging and flushing

* Update saltern.yml

* I love using 0 as null

* Make disposal unit visual layers make sense

* Remove duplicate remove method in disposal units and update light

* Replace DisposableComponent with disposal holders

* Fix disposal holders deleting their contents on deletion

* Account for disposal unit pressure in tests and make a failed flush autoengage

* Rename disposable to holder

* Fix junction connections

* Disable self insert and flush verbs when inside a disposal unit

* Fix spamming the engage button making the animation reset

* Make the recycler take materials into account properly

Fix cablestack1 not existing

* Merge conflict fixes

* Fix pipes not being saved anchored

* Change conveyors and groups to not use an id

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-07-30 23:45:28 +02:00
Swept
1ec90599fa Commit (#1541) 2020-07-30 03:22:26 +02:00
Exp
a7b2a1ad2f Fix welder making unwanted sounds (#1536)
* Fix Welding making sounds if not actually welded something

* Fix Sound Error

* -Hardcode bad
-Removed duplicate sound on suicide
2020-07-29 15:14:04 +02:00
DrSmugleaf
e0f429c59b Fix being able to pull entities outside of your container (#1533) 2020-07-29 13:32:02 +02:00
Bright0
86a6ac4a2b Adds Handheld Radio/Listener system (#1457)
* re-do of old PR that got fuckied upp

* simplify foreach as suggested

* pass distance to PassSpeechData for a check, remove GetListenRange()

* adds RadioQuery instead of subscribing/unsubscribing

* change SpreadMessage to accept owner rather than component

* change RadioQuery to EntityQuery

* remove declared EntityQuery (oops, didn't know what shadowcommander meant)

* refactor ListeningSystem & refactor added chat logic into listen sys

* IGNORE the oopsie STOP LOOKING
2020-07-28 15:13:39 -07:00
SoulSloth
c579187673 Moved audio playing for melee to be before damage caculation (#1494) 2020-07-27 23:42:32 -07:00
py01
af1a824fcd ResistanceSet Yaml serialization (#1484)
* ResistanceSet serialization

* DefaultResistanceSet

* remove wall resistance

* ResistanceSet ExposeData fix

* Remove commented out code

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-07-27 23:40:08 -07:00
DrSmugleaf
bd7079278e Move moving unbuckling to update to avoid an event bus concurrent modification exception (#1509) 2020-07-27 23:37:03 -07:00
DrSmugleaf
264062cd15 Fix error when pulling a buckled entity (#1510)
* Fix error when pulling a buckled entity

* Cache BuckledTo earlier in the code
2020-07-27 23:34:42 -07:00
py01
5e0ca8a85a Replaces obsolete PhysicsComponent usage in Power and Node (#1515)
* Node Physics replacement

* PowerReceiver Physics replacement

* wires are anchored

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-07-27 23:34:01 -07:00
DrSmugleaf
0a82aba88e Add pulling (#1409)
* Initial framework for pulling.

* Make it possible to pull items via (temporary) keybind Ctrl+Click, make items follow the player correctly.

* Make other objects pullable, implement functionality for moving an object being pulled, make only one object able to be pulled at a time.

* Make sure that MoveTo won't allow collisions with the player

* Update everything to work with the new physics engine

* Update Content.Server/GameObjects/EntitySystems/Click/InteractionSystem.cs

Co-authored-by: ComicIronic <comicironic@gmail.com>

* Physics update and convert to direct type casts

* Add notnull checks

* Add pull keybinds to the tutorial window

* Move PullController to shared

* Fix pulled items getting left behind

* Fix moving pulled objects into walls

* Remove flooring of coordinates when moving pulled objects

* Add missing null check in PutInHand

* Change pulling keybind to control and throwing to alt

* Change PhysicsComponent references to IPhysicsComponent

* Add trying to pull a pulled entity disabling the pull

* Add pulled status effect

* Fix merge conflicts

* Merge fixes

* Make players pullable

* Fix being able to pull yourself

* Change pull moving to use a velocity

* Update pulled and pulling icons to not be buckle

A tragedy

* Make pulled and pulling icons more consistent

* Remove empty not pulled and not pulling images

* Pulled icon update

* Pulled icon update

* Add clicking pulling status effect to stop the pull

* Fix spacewalking when pulling

* Merge conflict fixes

* Add a pull verb

* Fix nullable error

* Add pulling through the entity drop down menu

Co-authored-by: Jackson Lewis <inquisitivepenguin@protonmail.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
2020-07-27 00:54:32 +02:00
Víctor Aguilera Puerto
b9e1f9283d Adds cursed lockers that teleport anything inside them to other lockers (#1493) 2020-07-26 20:49:41 +02:00
L.E.D
d3866a3372 Container light occlusion (#687)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-26 14:25:53 +02:00
Moses
8e08c64fcf Show if items can be placed in a slot when hovering (#1480)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-07-26 14:25:38 +02:00
Pieter-Jan Briers
2bd318e83f Make clown clumsy. (#1481)
Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
2020-07-26 14:08:09 +02:00
py01
fbbe43fff8 Powernet Recalculation simplification (#1427)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-07-26 12:14:03 +02:00
DrSmugleaf
96ec60adab Replace Houdini's magical piloting locker with buckle (#1336) 2020-07-26 12:12:53 +02:00
ShadowCommander
dbfc030c5b Rename DetachHands to AttachToGridOrMap (#1436)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-26 01:43:40 +02:00
DrSmugleaf
4b4e83d2bf Add changing the amount of hands on the GUI depending on your body parts (#1406)
* Multiple hands in gui first pass

* Remove IHandsComponent interface

* Create hand class and more hand textures

* Refactor ServerHandsComponent to use a single list of hands

* Seal SharedHand

* Fix picked up items not showing on top of the hand buttons

* Remove HandsGui buttons and panels dictionaries

* Fix items in hands rendering

* Fix wrong hand container comparison

* Fix not updating the location of duplicate hands

* Change ClientHandsComponent to use a SortedList instead of a dictionary

* More merge conflict fixes

* Change SortedList to List

* Fix hand button order

* Add item tooltip for more than 2 hands and updating when removing hands

* Add add hand and remove hand command

* Merge conflict fixes

* Remove nullable reference type from ContainerSlot

* Fix texture errors

* Fix error when reaching 0 hands

* Fix error when swapping hands with no hands

* Merged remove hand methods

* Fix item panel texture errors

* Merge conflict fixes

* Fix addhand and removehand command descriptions

* Add properly displaying tooltips for 2 hands

* Make hand indexes and locations consistent across the client and server

* Add dropping held entity if a hand is removed

* Change hand location to be calculated by index

* Made different hand gui updates more consistent

* Remove human body yml testing changes

* Sanitize addhand and removehand commands

* Merge conflict fixes

* Remove testing changes

* Revert body system changes

* Add missing imports

* Remove obsolete hands parameter in yml files

* Fix broken import

* Fix startup error and adding and removing hands on the same tick

* Make hand container id use an uint

In case someone gets more than 2 billion hands

* Rename hand component files

* Make hands state use an array
2020-07-25 15:11:16 +02:00
DrSmugleaf
245dbdaa3a Add pointing (#1435)
* Add pointing keybind and simple message

* Add turning the player when pointing

* Add pointing arrow

* Make the popup message appear on the pointing entity

* Add pointing to tiles and space and proper grammar

* Move pointing bind from HandsSystem to PointingSystem

* Add more messages for pointing depending on the viewer perspective

* Fix non nullable reference type

* Serialize pointing arrow duration

* Serialize pointing arrow step and add summaries

* Make arrow speed serializable and make it depend on frame time

* Add 0.2 second delay between pointings

* Add pointing arrow yaml examples

* Add the ability for pointing arrows to be rogue

* Remove rogue package reference

* Add point to verb

https://cdn.discordapp.com/attachments/313107470031650816/735268651636228197/unknown.png

* Add shift middle clicking an entity in the verb menu to point at it

* Add VV to PointingArrowComponent

* Increase pointing delay from 0.2 to 0.5 seconds

* Address reviews

* Fix nullability errors

* Separate pointing and rogue pointing code

* Fix rogue pointing arrow visuals

* Made rogue pointing arrow rotation adjustment readable for mortals

* Make rogue pointing arrows less destructive

* Cleanup more of the rogue pointing arrow code
2020-07-24 14:51:18 +02:00
DrSmugleaf
5e2109a2d6 Add unbuckling entities that are moved away from their straps (#1437)
* Add unbuckling entities that move away from their straps

* Remove range constraint from movement unbuckling check

* Fix setting the wrong positions when buckling

* Fix beds making you sleep for the rest of your life
2020-07-24 14:22:28 +02:00
DrSmugleaf
be3db34d1c Add fire rate and caliber examine tooltip to guns (#1413) 2020-07-24 14:18:37 +02:00
DrSmugleaf
64672fdc31 Refactor to use the new multiple controller system (#1462)
* Transition code to new controller system

* Fix shuttles not moving

* Fix throwing

* Fix guns

* Change hands to use physics.Stop() and remove item fumble method
2020-07-23 18:33:37 +02:00
metalgearsloth
56737b635f Damage visualizer for simple mobs (#1332)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-23 02:04:03 +02:00
Exp
9585c7b82d Fixes thrown items being stopped by open doors (#1399)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-23 01:51:31 +02:00
DrSmugleaf
a8b3c99075 Add two-way serialization in ExposeData for some of the components that are missing it (#1451) 2020-07-23 01:46:09 +02:00
DrSmugleaf
989025b222 Add drink atmos (#1434) 2020-07-23 01:42:09 +02:00
DrSmugleaf
327b3b610f Fix ghosts being able to empty backpacks by click dragging them onto tables (#1438) 2020-07-23 01:41:22 +02:00
DrSmugleaf
b88afec350 Add slipping prediction (#1440) 2020-07-23 01:40:31 +02:00
Kmc2000
92a9136eab Examine text feedback for when things are powered (#1441) 2020-07-22 09:55:09 +02:00
Pieter-Jan Briers
551973fbb9 Clean up PDA code a little. 2020-07-22 02:22:21 +02:00
DrSmugleaf
8e1ecb5476 Add headbutting open airlocks when you have no hands (#1433) 2020-07-20 16:03:05 +02:00
AJCM-git
20ca4ccd4a Re-organizing the prototypes folder (#1384)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-20 12:26:16 +02:00
DrSmugleaf
202954efe2 Remove unused imports (#1431)
We don't support .Net Framework anymore.
2020-07-19 17:06:51 -07:00
Alex S
2c0abe3f70 Fixes the ability to unweld inside containers (#1360) 2020-07-19 22:32:04 +02:00
DrSmugleaf
cbad5edca4 Fix duplicated unbuckle out of range message (#1420) 2020-07-19 13:16:06 -07:00
DrSmugleaf
2facb57826 Fix buckling range and north facing buckle visual bug (#1421)
* Fix being able to buckle others from farther away than intended

* Make buckling range slightly bigger

* Fix north facing buckles looking strange
2020-07-19 12:34:35 -07:00
ShadowCommander
e4fbc054cc ServerStorage and Storable Yaml casing (#1424)
* Storable size yaml case fix

* ServerStorage yaml case fix

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-07-19 12:12:02 -07:00
R. Neuser
86c318cc74 OverlayManager 2 Electric Boogaloo (#1410) 2020-07-19 17:32:26 +02:00
Acruid
c9374992a6 Converted everything to use collision and physics component interfaces. 2020-07-19 00:33:02 -07:00
Acruid
ea94f4a182 Moved interaction interfaces from Server to Shared. 2020-07-18 22:51:56 -07:00
py01
e33caaddea ServerStorage yaml case fix 2020-07-18 19:41:44 -06:00
py01
72a5a3f3fd Storable size yaml case fix 2020-07-18 19:36:40 -06:00
DrSmugleaf
d9ce973af0 Fix not being able to take items out of storage (#1417) 2020-07-18 05:59:22 -07:00
ike709
e65c64af14 Adds the ChemMaster 4000 (#1398) 2020-07-17 22:41:19 +02:00
DrSmugleaf
53a2392edc Fix restartround crash and cleanup ServerStorageComponent (#1340) 2020-07-17 11:03:07 +02:00
Exp
90ca60c56a Airlock Hacking: AutoClose & Safety (#1395) 2020-07-17 10:51:43 +02:00
Alex S
938b23ee49 Projectiles Now check for Hard (#1397) 2020-07-17 10:45:35 +02:00
Hugal31
a5051c549b Use TheName macro and GrammarComponent (#1396) 2020-07-17 10:44:32 +02:00
DrSmugleaf
f313a9267a 0 days without buckle breaking (#1366) 2020-07-17 10:43:10 +02:00