Commit Graph

1998 Commits

Author SHA1 Message Date
Vera Aguilera Puerto f2a3987343
Add subfloor appearance data, pipes correctly render subfloor. (#4393) 2021-07-31 19:50:36 -07:00
Galactic Chimp 57016d14b4 removed TryGetSound + made some SoundSpecifier datafields required 2021-07-31 19:52:33 +02:00
Galactic Chimp b2e40d540f Inserted SoundSpecifier where appropiate 2021-07-31 15:17:16 +02:00
mirrorcult 8aa4f998de
Metabolism refactor (#4395)
* metabolism -> respirator, add reageanteffect and reagenteffectcondition, start on metabolizercomp/system

* move LiverBehavior metabolism logic to Metabolizer

* minor tweaks and update all YAML

* how about actually taking conditions into account

* off by one

* removals

* reviews
2021-07-31 13:50:32 +02:00
Galactic Chimp 41c30aa28b Merge branch 'master' into replace-sounds-with-sound-specifier
# Conflicts:
#	Content.Server/Hands/Components/HandsComponent.cs
#	Content.Server/Light/Components/ExpendableLightComponent.cs
#	Content.Shared/Light/Component/SharedExpendableLightComponent.cs
2021-07-31 13:16:03 +02:00
Vera Aguilera Puerto dc18997bf8
Removes LoopingSoundComponent. (#4396)
I'm sorry.
2021-07-31 12:41:59 +02:00
Pieter-Jan Briers 632e72b817
Improve hands & pulling (#4389) 2021-07-31 03:14:00 +02:00
clyf 6649310ccf
Moved MagbootsComponent.cs from Cloning to Clothing (#4399) 2021-07-31 01:05:07 +02:00
Galactic Chimp 5363f59a90 Merge branch 'master' into replace-sounds-with-sound-specifier
# Conflicts:
#	Content.Server/Kitchen/Components/ReagentGrinderComponent.cs
#	Content.Server/Storage/Components/SecureEntityStorageComponent.cs
2021-07-30 20:26:22 +02:00
Galactic Chimp 898bdc9491
#4420 Replaced SecureEntityStorageComp with LockComponent (new ECS) (#4228)
* #4420 moved sound components to a better spot in the project

* MWF-4420 - ported SecureEntityStorageComponent to new ECS system, as a LockComponent

* MWF-4420 - removed unused usings

* #4420 removed dumb ToggleLockVerb override workaround

* #4420 added SoundSpecifier to LockComponent
2021-07-30 10:22:06 -07:00
Vera Aguilera Puerto 8ed1a9e19c Add ButtonHelpers and the SetButtonDisabledRecursive helper.
Fixes the mess from the other day.
2021-07-29 12:55:37 +02:00
Paul Ritter 3501bcbea6
reagentgrinder ecs & xamlui (#4347)
* started converting grinder to ecs

* finished reagentcontainer ecs
refactored bui
converted ui to xaml

* adds handling

* fixes handling

* oopsie

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-07-28 21:58:38 -07:00
Visne 273eaa493f
XAMLify ID card computer, Alerts and AME window (#4322)
* Refactor ID card computer to XAML UI

* Alerts

* XAMLify AME window

* Use Control.SetButtonDisabledRecursive() instead
2021-07-27 20:09:12 +02:00
Vera Aguilera Puerto 1033d8bbe5 Use EntitySystem dependencies in a bunch of systems. 2021-07-26 13:01:47 +02:00
mirrorcult a91f919018
Remove FoodContainer, add whitelists, replace with SpawnItemsOnUse (#4358) 2021-07-25 17:41:50 +02:00
Galactic Chimp f531c65a0b Merge branch 'master' into replace-sounds-with-sound-specifier
# Conflicts:
#	Content.Server/Actions/Actions/DisarmAction.cs
#	Content.Server/Actions/Actions/ScreamAction.cs
#	Content.Server/Arcade/Components/SpaceVillainArcadeComponent.cs
#	Content.Server/Damage/Components/DamageOnHighSpeedImpactComponent.cs
#	Content.Server/Explosion/Components/FlashExplosiveComponent.cs
#	Content.Server/Physics/Controllers/MoverController.cs
#	Content.Server/Portal/Components/PortalComponent.cs
#	Content.Server/Portal/Components/TeleporterComponent.cs
#	Content.Server/Projectiles/Components/ProjectileComponent.cs
#	Content.Server/Singularity/Components/EmitterComponent.cs
#	Content.Server/Sound/EmitSoundSystem.cs
#	Content.Server/Stunnable/Components/StunbatonComponent.cs
#	Content.Server/Tools/Components/MultitoolComponent.cs
#	Content.Server/Weapon/Ranged/Barrels/Components/ServerBatteryBarrelComponent.cs
#	Content.Shared/Gravity/GravityComponent.cs
#	Content.Shared/Light/Component/SharedExpendableLightComponent.cs
#	Content.Shared/Maps/ContentTileDefinition.cs
#	Content.Shared/Slippery/SlipperyComponent.cs
#	Content.Shared/Standing/StandingStateComponent.cs
#	Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml
2021-07-25 14:12:00 +02:00
metalgearsloth ced39d4b2e
Slight trigger refactor (#4320)
* Trigger tweaks

* Finish trigger refactor

* Clusterflash too
2021-07-25 12:09:08 +02:00
mirrorcult 649e973a15
Fix missing inhands showing an error (#4360) 2021-07-25 03:02:48 -07:00
mirrorcult d27164528e
Add UI for setting solution transfer amount (#4074)
* basic eui and window

* finish EUI, update defaults

* unnecessary usings

* convert to bounduserinterface

* merge me up

merge me up inside

* Fix repeated define for component in prototype

* impl swept UI suggestion

* apply discord reviews

* small changes
2021-07-25 00:53:53 -07:00
Paul b8972ffcfc fixes #4307 2021-07-24 01:38:10 +02:00
Paul ed384fbc91 fixes the solarcontrolwindow
updates submodule (just realized i didn't need to, whatever)
2021-07-22 20:02:18 +02:00
Ygg01 3fd28c2565
Added mapped storage for things like crayon belts and tools (#4201)
* Added mapped storage for things like crayon belts and tools

* Attempt to get StorageFillEvent to work

* Managed to get it working with Visualizer logi

* Improved PR and did some light refactoring of components

* Update Content.Client/Storage/Visualizers/MappedItemVisualizer.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Removed event, went with stateful ApperanceData

* Removed ids in favor of whitelist

* Refactor YAML, Moved functionality to Shared and renamed it.

* Changed so insert/remove always send full state.

* Move logic to component

* Fix some issues on MappedVisualizer and few nitpicks

- Fix mapped visualizer only doing init or update layers
- Fixed naming of systems
- Fixed sort of crayons

* Forgot to apply Vera's suggestion

* Fix the data to be more strict and to avoid unnecessary clearing

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-07-22 02:56:55 -07:00
Pieter-Jan Briers e9af56c7c3 Vote type delay, code comments.
Added doc comments to server side voting API.
There is now a 4 minute delay between creating votes of the same type.
Shuffled some code around.
Made a StandardVoteType enum instead of string IDs.
2021-07-21 19:03:10 +02:00
Pieter-Jan Briers a0a5dcdfde Clean up vote XAML a bit.
Remove deprecated UI things from it, give vote popup a MinWidth.
2021-07-21 15:15:02 +02:00
metalgearsloth 590a6ce969
Slipping, now with 20% more ecs (#4310)
* Slipping, now with 20% more ecs

* vereview
2021-07-21 22:13:58 +10:00
Visne 951691bbd6
Close examine tooltip when moving out of range (#4273) 2021-07-21 21:31:00 +10:00
Visne 8ee312f2d4
Adds integer scaling option (#4300)
* Adds integer scaling option

* RobustToolbox

* Update option name and tooltip
2021-07-21 21:30:50 +10:00
metalgearsloth 500b9cb1ea
Make Saltern driveable (#4257)
* Broadphase refactor (content)

* Shuttle jank

* Fixes

* Testing jank

* Features and things

* Balance stuffsies

* AHHHHHHHHHHHHHHHH

* Mass and stuff working

* Fix drops

* Another balance pass

* Balance AGEN

* Add in stuff for rotating shuttles for debugging

* Nothing to see here

* Testbed stuffsies

* Fix some tests

* Fixen test

* Try fixing map

* Shuttle movement balance pass

* lasaggne

* Basic Helmsman console working

* Slight docking cleanup

* Helmsman requires power

* Basic shuttle test

* Stuff

* Fix computations

* Add shuttle console to saltern

* Rename helmsman to shuttleconsole

* Final stretch

* More tweaks

* Fix piloting prediction for now.
2021-07-21 21:15:12 +10:00
metalgearsloth 4b78e0a4e0
ECS flash area on collision (#4311) 2021-07-21 11:20:13 +02:00
metalgearsloth 8862028860
ECS StunnableProjectile (#4309)
* ECS StunnableProjectile

Also renamed it to the more generic component for stunning on collision

* Reviews
2021-07-21 11:16:38 +02:00
metalgearsloth 94ef2cb66e
Nuke portals (#4315) 2021-07-21 11:16:10 +02:00
Visne 370ae45b5a
Refactor OptionsMenu to XAML UI (#4299) 2021-07-20 21:36:28 +02:00
metalgearsloth b46de3a5db
Refactor chemical injection to be ECS (#4296) 2021-07-20 17:41:22 +02:00
Pieter-Jan Briers b96d760043
Chat improvements. (#4283)
* UI is an abbreviation, in XAML.

* Chat improvements.

Changing the "selected" channel on the chat box is now only done via the tab cycle or clicking the button.

Prefix chars like [ will temporarily replace the active chat channel. This is based 100% on message box contents so there's no input eating garbage or anything.

Pressing specific channel focusing keys inserts the correct prefix character, potentially replacing an existing one. Existing chat contents are left in place just fine and selected so you can easily delete them (but are not forced to).

Channel focusing keys now match the QWERTY key codes.

Deadchat works now.

Console can no longer be selected as a chat channel, but you can still use it with the / prefix.

Refactored the connection between chat manager and chat box so that it's event based, reducing tons of spaghetti everywhere.

Main chat box control uses XAML now.

General cleanup.

Added focus hotkeys for deadchat/console. Also added prefix for deadchat.

Local chat is mapped to deadchat when a ghost.

Probably more stuff I can't think of right now.

* Add preferred channel system to chat box to automatically select local.

I can't actually test this works because the non-lobby chat box code is complete disastrous spaghetti and i need to refactor it.

* Move chatbox resizing and all that to a subclass.

Refine preferred channel & deadchat mapping code further.

* Don't do prefixes for channels you don't have access to.

* Change format on channel select popup.

* Clean up code with console handling somewhat.
2021-07-20 10:29:09 +02:00
Visne bf493c39b7
Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Pieter-Jan Briers 97a3866a40 Use replicated CVars for max chat message length. 2021-07-17 14:35:28 +02:00
Visne b7dc3c81ae
Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Visne 0bc2b5745b
Remove unused IEntityManager parameter from ScreenCoordinates.FromMap() (#4272) 2021-07-15 22:09:15 -07:00
Swept 5f9ba812ca
Reorganizes Resources/Constructible (#4252) 2021-07-15 18:30:50 +00:00
mirrorcult 1f17b817af
Fix low wall overlay displaying incorrectly (#4138)
* fix low wall overlay displaying incorrectly and move low wall overlay handling to window

* Revert "fix low wall overlay displaying incorrectly and move low wall overlay handling to window"

This reverts commit 2f423c03254c70896026cc34a8df7704034f37d4.

* actual change

* forgot about merge
2021-07-12 21:10:03 -07:00
Acruid 59e5cc5e3c
Remove Static Component NetIds (#4247)
* Remove the unnecessary NetID property from ComponentState.

* Remove Component.NetworkSynchronizeExistence.

* Removed Component.NetID.

* Adds component netID automatic generation.

* Removed NetIdAttribute from serverside components with no corresponding clientside registration.

* Completely remove static NetIds.

* Renamed NetIDAttribute to NetworkedComponentAttribute.

* Add GenerateNetIds calls to client and server entry points.
Add test to make sure auto generated NetIds are identical.

* Component changes when rebasing that I am too lazy to rewrite into the branch.

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-07-12 10:32:10 +02:00
Vera Aguilera Puerto 077f158dda
Add pipe coloring (#4261) 2021-07-12 09:59:45 +02:00
Vera Aguilera Puerto d8bfb7c054 Instrument checks connection status before sending stop component message. 2021-07-11 11:07:16 +02:00
Galactic Chimp ce3c59e0e6 replacing sound (collection) names with SoundSpecifier - part 1 2021-07-10 17:35:33 +02:00
Galactic Chimp 1b8fb8df1d
#4213 translation string fixes (#4217)
* #4213 some translation string fixes

* #4213 cargo localization string fixes

* #4213 more localization tweaks and fixes

* #4213 - fixed some translation string issues

* #4213 - fixed some translation string issues
2021-07-10 01:14:06 -07:00
Swept 0a42b0b59f
Changes the chatbox to be more consistent with SS14's UI (#4137) 2021-07-09 07:10:57 +00:00
Pieter-Jan Briers cfe4a26d1f Fix AME node updating to fix exceptions.
And also make it run less poorly, I guess.
2021-07-06 20:56:55 +02:00
Pieter-Jan Briers 103bc19508
Pow3r: stage 1 (#4208)
Co-authored-by: 20kdc <asdd2808@gmail.com>
2021-07-04 18:11:52 +02:00
Vera Aguilera Puerto bc7b315b18
Replace IResettingEntitySystem with RoundRestartCleanupEvent. (#4245)
* Replace IResettingEntitySystem with RoundRestartCleanupEvent.

* oops
2021-06-29 23:56:07 +10:00
Vera Aguilera Puerto 9bedfe79be
Fix being able to start pulling something while incapacitated. (#4240) 2021-06-28 22:17:37 +10:00
Vera Aguilera Puerto 599814d5a0 Chat manager won't enqueue speech bubbles in a different map than you eye.
Fixes #4215
2021-06-28 13:21:41 +02:00
metalgearsloth 50cc526ebd
Refactor standing to be ECS (#4142)
* Refactor standing to be ECS

E C S B A B Y

* DONE

* FIX IT FIX IT FIX IT

* IsDown event

* Change to methods

* Fixes

* Address some reviews

* Last of the Mohicans

* Final fixes

* Fix tests
2021-06-27 19:02:46 +10:00
Galactic Chimp 97f4f0a9bd
#4222 fixed crayon cast issue causing exception (#4229) 2021-06-27 18:01:26 +10:00
Galactic Chimp afb5f5c8eb
#1462 extracted MapGrid's HasGravity property to separate Content com… (#4200)
* #1462 extracted MapGrid's HasGravity property to separate Content component

* #1462 - PR suggestions

* Merge to master

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-06-27 15:43:39 +10:00
Pieter-Jan Briers fc74eaca62 Use new DrawString helper in TraitorOverlay 2021-06-26 03:26:57 +02:00
Swept d6805f47a3
Added fireaxe cabinets (#4221)
* Added fireaxe cabinets

* Now inserts and renamed ItemCabinetVisuals file

* Added netsync

* Cut out layers for future ItemCabinetVisualizer work and reorganized some RSIs

* Update Resources/Textures/Constructible/Storage/Cabinets/extinguisher_cabinet.rsi/meta.json

* Update Resources/Textures/Constructible/Storage/Cabinets/extinguisher_cabinet.rsi/meta.json

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-06-25 13:27:22 +10:00
DrSmugleaf 716bee0746
Remove IClientSingularityInstance, move visual effects to SingularityDistortionComponent (#4194)
* Remove IClientSingularityInstance

* In and out 5 minute refactor

* Component states for singularity distortion

* Fix distortion states

* Address reviews
2021-06-24 12:48:11 +10:00
collinlunn f2816e8081
Moves Hands to shared, some prediction (#3829)
* HandsGuiState

* Gui state setting methods

* code cleanup

* Removes TryGetHands

* ClientHand

* Gui Hands

* Refactor WIP 1

* Hand index

* refactors 2

* wip 3

* wip 4

* wiip 4

* wip 5

* wip 6

* wip 7

* wip 8

* wip 9

* wip 11

* Hand ui mostly looks fine

* hands gui cleanup 1

* cleanup 2

* wip 13

* hand enabled

* stuff

* Hands gui gap fix

* onpressed test

* hand gui buttons events work

* bag activation works

* fix item use

* todo comment

* hands activate fix

* Moves Client Hands back to using strings to identify active hand

* fixes action hand highlighting

* diff fix

* serverhand

* SharedHand

* SharedHand, IReadOnlyHand

* Client Hands only stores SharedHand

* cleanup server hands

* server hand container shutdown

* misc renames, refactors of serverhand

* stuff 1

* stuff 3

* server hand refactor 1

* Undo API changes to remove massive diff

* More API name fixes

* server hands cleanup 2

* cleanup 3

* dropping cleanup

* Cleanup 4

* MoveItemFromHand

* Stuff

* region sorting

* Hand Putter methods cleanup

* stuff 2

* Merges all of serverhand and clienthand into sharedhand

* Other hands systems, hack to make inhands update (gui state set every frame, visualzier updated every frame)

* GetFinalDropCoordinates cleanup

* SwapHands cleanup

* Moves server hands code to shared hands

* Fixed hand selected and deselected

* Naming fixes

* Server hands system cleanup

* Hands privacy fixes

* Client hand updates when containers are modified

* HeldItemVisualizer

* Fixes hand gui item status panel

* method name fix

* Swap hands prediction

* Dropping prediction

* Fixes pickup entity animation

* Fixes HeldItemsVisualizer

* moves item pickup to shared

* PR cleanup

* fixes hand enabling/disabling

* build fix

* Conflict fixes

* Fixes pickup animation

* Uses component directed message subscriptions

* event unsubscriptions in hand system

* unsubscribe fix

* CanInsertEntityIntoHand checks if hand is enabled

* Moving items from one hand to another checks if the hands can pick up and drop

* Fixes stop pulling not re-enabling hand

* Fixes pickup animation for entities containers on the floor

* Fixes using held items

* Fixes multiple hands guis appearing

* test fix

* removes obsolete system sunsubscribes

* Checks IsFirstTimePredicted before playing drop animation

* fixes hand item deleted crash

* Uses Get to get other system

* Replaces AppearanceComponent with SharedAppearanceComponent

* Replaces EnsureComponent with TryGetComponent

* Improves event class names

* Moves property up to top of class

* Moves code for determining the hand visualizer rsi state into the visualizer instead of being determined on hand component

* Eventbus todo comment

* Yaml fix for changed visualizer name

* Makes HandsVisuals a byte

* Removes state from HandsVisualizer

* Fixes hand using interaction method name

* Namespace changes fixes

* Fix for changed hand interaction method

* missing }

* conflict build fix

* Moves cleint HandsSystem to correct folder

* Moved namespace fix for interaction test

* Moves Handsvisualizer ot correct folder

* Moves SharedHandsSystem to correct folder

* Fixes errors from moving namespace of hand systems

* Fixes PDA component changes

* Fixes ActionsComponent diff

* Fixes inventory component diff

* fixes null ref

* Replaces obsolete Loc.GetString usage with fluent translations

* Fluent for hands disarming

* SwapHands and Drop user input specify to the server which hand

* Pickup animation WorldPosiiton todo

* Cleans up hands gui subscription handling

* Fixes change in ActionBlockerSystem access

* Namespace references fixes

* HandsComponent PlayerAttached/Detached messages are handled through eventbus

* Fixes GasCanisterSystem drop method usage

* Fix gameticker equipping method at new location

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-06-21 19:21:20 +10:00
mirrorcult 2ea5aec101
Remove NetMessage deprecated boilerplate (#4196) 2021-06-21 07:43:54 +02:00
Galactic Chimp 392b820796
Removed old Loc.GetString() use instances (#4155)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-06-21 02:13:54 +02:00
Vera Aguilera Puerto 82a2663d1f Fix crafting menu icon not appearing
Fixes #4210
2021-06-20 22:45:00 +02:00
Pieter-Jan Briers 1eae13a863 HumanoidProfileEditor defers preview updates to FrameUpdate.
Fixes most of the perf problems with it.
2021-06-20 19:50:28 +02:00
Vera Aguilera Puerto f7f996e168 Fix a single namespace 2021-06-20 10:14:52 +02:00
Vera Aguilera Puerto d3a611164b
Turns GameTicker into an EntitySystem. (#4197)
* GameTicker turned into an EntitySystem

* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events

* Change event names to be more consistent with the rest.

* YAML linter uses the dummy gameticker CVar override.

* Fix game ticker initialization order

* Dummy ticker won't spawn players.

* Fix character creation test
2021-06-20 10:09:24 +02:00
Acruid 15fb554c28
Engine Entity Anchoring Changes (#4195)
* Converted all SnapGridPositionChangedEvent subscriptions to AnchorStateChangedEvent.

* Fixes power tests with new anchored requirements.

* Moved AnchorableComponent into construction.
AnchorableComponent now uses Transform.Anchored.

* Fixed bug with nodes, power works again.

* Adds lifetime stages to Component.

* Update Engine to v0.4.70.
2021-06-19 19:41:26 -07:00
DrSmugleaf 0ab7b3a5d2 Fix a tragic 2D suffix on the filename of DrinkFoodContainerVisualizer 2021-06-20 00:19:14 +02:00
Swept a51305466e
Makes more stuff destructible/breakable (#4081) 2021-06-19 19:34:01 +00:00
Vera Aguilera Puerto a2b737d945
Atmos pipe rework (#3833)
* Initial

* Cleanup a bunch of things

* some changes dunno

* RequireAnchored

* a

* stuff

* more work

* Lots of progress

* delete pipe visualizer

* a

* b

* pipenet and pipenode cleanup

* Fixes

* Adds GasValve

* Adds GasMiner

* Fix stuff, maybe?

* More fixes

* Ignored components on the client

* Adds thermomachine behavior, change a bunch of stuff

* Remove Anchored

* some work, but it's shitcode

* significantly more ECS

* ECS AtmosDevices

* Cleanup

* fix appearance

* when the pipe direction is sus

* Gas tanks and canisters

* pipe anchoring and stuff

* coding is my passion

* Unsafe pipes take longer to unanchor

* turns out we're no longer using eris canisters

* Gas canister inserted tank appearance, improvements

* Work on a bunch of appearances

* Scrubber appearance

* Reorganize AtmosphereSystem.Piping into a bunch of different systems

* Appearance for vent/scrubber/pump turns off when leaving atmosphere

* ThermoMachine appearance

* Cleanup gas tanks

* Remove passive gate unused imports

* remove old canister UI functionality

* PipeNode environment air, make everything use AssumeAir instead of merging manually

* a

* Reorganize atmos to follow new structure

* ?????

* Canister UI, restructure client

* Restructure shared

* Fix build tho

* listen, at least the canister UI works entirely...

* fix build : )

* Atmos device prototypes have names and descriptions

* gas canister ui slider doesn't jitter

* trinary prototypes

* sprite for miners

* ignore components

* fix YAML

* Fix port system doing useless thing

* Fix build

* fix thinking moment

* fix build again because

* canister direction

* pipenode is a word

* GasTank Air will throw on invalid states

* fix build....

* Unhardcode volume pump thresholds

* Volume pump and filter take time into account

* Rename Join/Leave atmosphere events to AtmosDeviceEnabled/Disabled Event

* Gas tank node volume is set by initial mixtuer

* I love node container
2021-06-19 13:25:05 +02:00
Galactic Chimp cfc3f2e7fc
#3814 - dropping an item, which adds an action to the actions bar, wi… (#4123)
* #3814 - dropping an item, which adds an action to the actions bar, will no longer leave weird ui glitch in actions bar

* #3814 - small reformat + minor style tweaks

* #3814 - bit better working ActionMenu locking + added missing toolips for ActionMenu lock and OpenAbilities button

* #3814 - tooltip text typo fix

* #3814 - incorporated suggestions

* #3814 localization tweaks
2021-06-19 03:41:43 -07:00
Galactic Chimp 53671aeee7
#3935 - Refactored ToysComponent functionality into ECS (#4127)
* #3935 - toys properly play sounds when: Activated, Landed (after throwing) and Used in hand

* #3935 - extracted BaseEmitSoundComponent

* #3935 - refactored EmitSound components to use ECS

* #3935 - added new components to client ignored components

* #3935 - added suggested stuff for EmitSoundSystem et al.

* #3935 added suggestions from PR

* #3935 implemented suggestions from PR

* #3935 updated namespace
2021-06-19 02:35:56 -07:00
DrSmugleaf 9b8185db23
Deprecate IActionBlocker in favour of cancellable events (#4193)
* Deprecate IActionBlocker in favour of cancellable events

* Bring back old speech/emoting component restrictions

* Rename action blocker listener methods

* Use Entity System public methods instead of extension methods

Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2021-06-19 10:03:24 +02:00
Acruid e1e54e9cb1
Removes all dependencies on engine component events. (#4199) 2021-06-18 10:49:18 +02:00
DrSmugleaf 4f4d203d2e
Make ghost component ECS (#4159)
* Make ghost component ECS

* Remove players and locations properties from ghost component

* Address reviews

* One more doc

* Fix client ghost component state method error
2021-06-18 09:56:23 +02:00
20kdc a2f5c953dc
Refactoring of solar control console (#4072)
* Refactor/fix client-side of solar control computer (introduce ComputerBoundUserInterface & fix bugs)

* Refactor server side of solar control computer (introduce BaseComputerUserInterfaceComponent)

* If you can't interact, then messages to computers are blocked.

* Add 'not powered' messages, migrate activation logic partially to an EntitySystem

* Move solar control console to a XAML UI

* Remove useless comment on UserInterfaceKey

* BaseComputerUserInterfaceComponent: Remove EnsureComponent<PowerReceiver>, it's not necessary

* Fix solar panel occlusion check direction

* Solar Control Console refactors/etc. : Handle namespace renames
2021-06-17 00:49:02 +10:00
DrSmugleaf 69969bbdc6
Remove IBody, IBodyPart, IMechanism and IMechanismBehavior (#4187)
* Remove IBody, IBodyPart, IMechanism and IMechanismBehavior interfaces

* Summary cleanup
2021-06-17 00:44:38 +10:00
metalgearsloth 7cbfbad578
Minor cuff changes (#4164) 2021-06-17 00:37:05 +10:00
DrSmugleaf e44663e99f
Remove obsolete system event unsubscriptions (#4190) 2021-06-16 23:54:00 +10:00
DrSmugleaf f878f353e4
Move some files out of Content.Shared root because I forgot (#4182) 2021-06-13 22:52:40 +10:00
DrSmugleaf f9acdbe5cc
Fix unused and improperly named xaml namespaces (#4172) 2021-06-10 23:09:07 +02:00
DrSmugleaf ff1a2d97ea
Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
mirrorcult 1c7285825c
Refactor ExtinguisherCabinet->ItemCabinet and actually maps them in, adds EntityWhitelist (#4154)
* i probably shouldnt have done this in one commit

* map nonsense

* fix example code

* unnecessary

* test

* reviews

* little fix for open datafield

* add soul
2021-06-09 12:10:29 +10:00
20kdc 561a5bc0f2
Cloning error messages and prediction based timing (#4013)
* Cloning error messages and prediction based timing

* Cloning error messages & prediction based timing: Fix problems mentioned in reviews
2021-06-06 03:32:59 +10:00
ShadowCommander 3af9c334ea
Stop ItemStatus from spamming measure
ItemStatus set Label.Text in Update which caused measure and arrange to be invalidated
every update.
2021-06-05 01:33:30 -07:00
Swept fd2a081539
Slims down disposal unit ui and fixes thrown collisions (#4122)
* Cleans up disposal unit yaml and fixes inability to throw things in them.

* Comments out mailing units because they are beyond broken and need a refactor.

* Makes Disposal UI look better

* Localized the disposal unit

* Removes title line

* Removes changes to VendingMachineMenu, mistakenly committed.

* Applies code reviews

* Now uses BaseMachinePowered
2021-06-03 17:26:08 -07:00
20kdc 6a78c401bf
Singularity Fixes, Part 3 (#4105)
* Hopefully make singularity shader warping resolution-invariant

This may or may not fix intensity issues

* Fix singularity 'zero velocity' check

It got stuck in a corner. Twice. I really thought I'd fixed that.

* Make it easier to move around various power stuff by shrinking their AABBs a little and making singulo generator a circle

* Changes to some machine prototypes to reduce duplication of collision changes (#1)

* Changes to some machine prototypes to reduce duplication of collision changes

* BaseMachine.BaseMachineUnpowered -> BaseMachine.BaseMachinePowered
2021-06-03 00:55:50 -07:00
R. Neuser db4213b21a
Fix Issue #4056 - Prevent cargo order quantities larger than the maximum (#4057)
* Fix merge conflicts with #4078
Check if the requested cargo order amount exceeds the maximum capacity
Check if the maximum order capacity would be exceeded given current capcity and order amount when approved
Cap maximum cargo request amount on client-side
Play an error sound if a cargo order could not be added or approved

* Add back error sound

* Cargo orders over the maximum amount do not close the order UI
2021-05-31 21:45:28 -07:00
ShadowCommander ae4534a29a
Fix ChatBox not calling OnMouseExited 2021-05-31 18:57:36 -07:00
metalgearsloth d93ebe9409 Remove ICollideSpecial
Handled in an ECS way by PreventCollideEvent.
The disposals one doesn't work anyway and would've required a larger refactor of disposals to fix so out of scope.
2021-05-30 23:30:44 +10:00
20kdc a3d9562532
Makes the singularity engine actually work stably. (#4068)
* Add GNU Octave script for tuning singularity engine. startsingularityengine is now properly tuned & sets up radiation collectors. FTLize RadiationCollectorComponent.

* Fix bugs with radiation collectors producing infinite power.

* Ensure singularities don't instantly annihilate other singularities (causing new singularities to instantly dissolve)

Technically found by a "bug" where a singularity generator would make multiple singularities, but this renders that bug harmless.

* Tune singularity shield emitters to hopefully randomly fail less, and add an Octave script for looking into that

* Fix singularity shader

* Map in an unfinished PA into Saltern

* Correct PA particles being counted twice by singularity calculations, add singulo food component

* Hopefully stop "level 1 singulo stuck in a corner" issues by freezing it when it goes to level 1 from any other level

* Apply suggestions on 'jazz' PR
2021-05-28 11:44:13 +02:00
mirrorcult 58d15ebc3b
Fix melee weapon effects being offset incorrectly (#4102) 2021-05-28 10:58:30 +02:00
mirrorcult 8b0826ff83
Fix NRE when spawning and activating randomized expendable lights (#4059)
* fix nre

* move resolve up to parent

* oopy
2021-05-28 09:56:06 +02:00
20kdc c7f104cd93
More rotatability (#4067)
* Make barstools, PA components, and radiation collectors rotatable.

Making barstools rotatable is so that people can spin on the barstool. (RP moment.)

The other two are more "functional" changes for assembling a PA.

* Allow rotating a rotate-while-anchored object if you're buckled to it.

Barstool spinny

* Fix bug with rotation of an object that someone is buckled to

* BuckleSystem: Efficiency improvements with directed events

* Don't need to unsubscribe anymore from events, so in BuckleSystem, just don't
2021-05-27 12:51:14 +02:00
Vera Aguilera Puerto f64433a14d Makes more things queue delete to prevent physics collision callback issues. 2021-05-26 18:43:12 +02:00
Vera Aguilera Puerto 33fa208214
Refactors stacks to be fully ECS. (#4046) 2021-05-26 10:20:57 +02:00
20kdc 136928ecb8
Fix exception in IconSmoothSystem where it tries to get a grid that doesn't exist (#4064)
This finally ought to actually kill the bug for real this time. Hopefully.
2021-05-24 16:39:57 +02:00
20kdc 7598684e88
Make IconSmoothComponent more failure-tolerant of the grid not being available (Fixes power stuff disappearing) (#4063)
This (hopefully) fixes power stuff disappearing by making IconSmoothComponent more failure-tolerant of grids not being available.
It might still leave issues in, though.
2021-05-23 20:18:36 +02:00
ShadowCommander acb102f978
Rename and clean up interaction events (#4044)
* Rename and clean up interaction events

* Fix hand equip events
2021-05-22 21:06:40 -07:00
Ygg01 d97021d3a0
Fix layers displaying in cable stacks (#4028)
* Fix layers displaying in cable stacks

Fixed stackVisualizer to use another round method

* Fix ShadowCommander review

* Change to expected Result
2021-05-22 21:05:55 -07:00
Visne d97dd4400d
Implement fluent for some Menu files (#3893) 2021-05-21 15:39:33 +02:00
Paul e9844e8c4c fixes #4003 (examine-spriteview is rotated) 2021-05-21 14:55:15 +02:00
Vera Aguilera Puerto 3a27490c59
Material cleanup (#4025)
* work

* more work
2021-05-20 10:37:34 +02:00
Clyybber 914e49f867
Chat channel switching improvements (#4000)
* IC is default when joining;
switch to IC channel if IC channel becomes unavailable before trying OOC

* Allow channel cycling while the textbox is focused

* Fix focus channel keybinds not actually focusing

* Whitespess

* Fix duplicate radio

* Smol CycleChatChannel cleanup

* Revert style change
2021-05-15 03:28:04 -07:00
Pieter-Jan Briers 4903c3bbc6 Remove usages of client IPlayerSession from content. 2021-05-13 01:18:09 +02:00
20kdc e0f7ca7740
Little component to make batteries examinable. (#3982) 2021-05-13 01:10:57 +02:00
ShadowCommander 28d59908ca
Show nothing instead of error sprite when item has no inhands (#3992) 2021-05-13 00:43:53 +02:00
ShadowCommander c2d66723a3
Cloning rework (#3808)
* Fix cloning

* Fix cloning after clone dies and remove unneeded code

* Fix ignored

Co-authored-by: Silver <silvertorch5@gmail.com>
2021-05-11 16:16:08 -07:00
Vera Aguilera Puerto 9c3c81e8d8 Fix radio messages not being sent and messages not being escaped. 2021-05-11 12:17:47 +02:00
ShadowCommander 4780179058
Global ghost hearing (#3954)
* Add global hearing for ghosts

* Fix speech bubbles breaking when out of PVS
2021-05-11 18:37:40 +10:00
Paul Ritter add711114c
Colors the chatselector in the chatcolor (#3960)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-05-10 19:49:12 +02:00
ShadowCommander c817165482
Fix patreon OOC name coloring 2021-05-08 22:35:32 -07:00
Alex Evgrashin 9857f8197c
Pulling change entity rotation (#3890)
* Moved rotatable to shared

* Pullable change rotation

* Applied review

* Update Content.Shared/GameObjects/EntitySystems/SharedPullingSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-05-05 13:29:26 +10:00
DrSmugleaf ad3b7fe97d
Remove field: from DataField attributes (#3932) 2021-05-04 15:37:16 +02:00
DrSmugleaf 055279f86c
Update serialization markdown usages (#3931)
* Update serialization markdown usages

* test submodule update

* Revert "test submodule update"

This reverts commit c240ca312a44365fa1aa0a7df4915434dff10bfc.
2021-05-04 13:30:38 +02:00
Pieter-Jan Briers d796dcfcca
Multi-window input handling. (#3911) 2021-05-02 20:48:00 +02:00
ShadowCommander ec00d4fa03
Use MainViewport when input is not provided a viewport (#3897) 2021-04-29 16:01:13 -06:00
metalgearsloth 6a5e7dbecb
TryGetEntitySystem nullable (#3903) 2021-04-29 15:56:17 -06:00
Acruid 00e01d51fd
SnapGridComponent Removal (#3884)
* Removed SnapGridOffset, there is only center now.

* SnapGridComponent methods are now static.

* Removed SnapGridComponent.OnPositionChanged.

* Refactored static functions off SnapGridComponent to MapGrid.
Refactored away usages of SnapGridComponent.Position.

* Added Transform.Anchored for checking if an entity is a tile entity.
More refactoring for static MapGrid functions.

* Static snapgrid methods on MapGrid are no longer static.

* Add setter to ITransformComponent.Anchored.
Removed direct references to SnapGridComponent from content.

* Grid functions now deal with EntityUids instead of SnapGridComponents.
Began renaming public API functions from SnapGrid to Anchor.

* Remove the SnapGridComponent 'Offset' field from all yaml files. This was removed in code previously, so the yaml linter was upset.

* Update engine submodule to v0.4.46.
2021-04-28 10:49:37 -07:00
Alex Evgrashin 182663cd0b
Solution visualizer fixes (#3883) 2021-04-23 00:42:48 -06:00
SweptWasTaken c402f47d9e QOL for AirlockVisualizer.cs 2021-04-22 17:10:16 -07:00
Swept 465eaa87d3
Deprecates DrinkFoodVisualizer.cs in favor of SolutionContainerVisualizer.cs (#3876)
* Initial

* Removes DrinkFoodVisualizer.cs

* Tests
2021-04-21 21:12:37 +00:00
Visne 75a8833b2c
Add AdvertiseComponent and add it to vending machines (#3756)
* WIP AdvertiseComponent

* Add AdvertiseComponent and add it to vending machines

* Add snacks.yml

* Capitalise C in cigarette machine

* Update Content.Server/GameObjects/Components/AdvertiseComponent.cs

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

* Update Content.Server/GameObjects/Components/AdvertiseComponent.cs

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

* Fix most problems

* Add localisation + exception for illegal prototype values

* Add ads for smart fridge, discount dan's, youtool and mining

* Oops

* Fix style

* Make dependencies local

* Remove some ads, increase wait

* Increase wait, allow full initial wait width

* Fix error

* Update sovietsoda.ftl

* Update sovietsoda.ftl

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-21 20:00:14 +10:00
ike709 055059ab5c
Chairbender Chat (#3794)
* #272 restructure and restyle chat line edit section

* #272 no arrow, actually change id on channel changer

* #272 nice round chat channel picker

* #272 add chat channel selection logic, and auto-select
when a prefix is entered

* #272 consistent width of chat channel btn

* #272 only show admin channel filter if asay perms

* #272 add tutorial info on chat prefixes

* #272 added chat filter button

* #272 added chat filter button

* #272 WIP on filter popup

* #272 fix filter popup pressed / unpressed logic

* #272 fix filter popup positioning and layout

* #272 WIP channel filter logic

* #272 WIP channel filter logic

* #272 WIP refactoring how chatbox / manager manages available filters and channels to send on

* #272 WIP implementing filtering UI / logic
and refactoring how chat UI is managed

* #272 fix various bugs with new chat filter / selector logic

* #272 remove outdated todos

* #272 WIP working chat window resize

* #272 bounded chatbox resizing

* #272 alertUI moves with resized chat

* #272 WIP making alertUI not be too large when changing size / UIScale

* #272 WIP fixing window / uiscale adjustment

* #272 WIP hacky approach for resizing, will try another approach

* #272 implement hacky approach for bounded chat resize

* #272 no resizing of lobby chat

* #272 WIP adding unread marker to chat filters

* #272 basic working unread chat message indicators

* #272 WIP adding horizontal channel selector items

* #272 horizontal channel selector popup

* #272 workaround for chat selector staying highlighted when right clicking it while toggled

* #272 workaround for chat selector staying highlighted when right clicking it while toggled

* #272 wip trying to add tests for chatbox

* #272 remove test, not really possible with current system

* #272 merge latest

* #272 merge latest

* #272 fix csproj changes

* It works if you disable the lobby

* Fixes lobby chat

* Adds more channel focusses

* Channel cycler

* Address review

* Address nitpicks

* Address more of the review

* Fix chat post-viewport

* Finalize review stuff

Co-authored-by: chairbender <kwhipke1@gmail.com>
Co-authored-by: ike709 <sparebytes@protonmail.com>
2021-04-20 16:39:39 -07:00
Pieter-Jan Briers 147a54c642
Viewport improvements (#3765) 2021-04-19 09:52:40 +02:00
Pieter-Jan Briers 4a8559ab37 Fix context menu not marking input as handled correctly. 2021-04-19 01:45:02 +02:00
Vera Aguilera Puerto 2a95f5c4b6 Makes a few EntitySystems use the RaiseNetworkedEvent helper instead of manually calling IEntityNetworkManager. 2021-04-14 14:12:14 +02:00
metalgearsloth dc48b25a3b
Named fixtures for banana peels (#3822)
* Named fixtures for banana peels

* Soaps and PDAs

* Update submodule
2021-04-13 20:57:29 +10:00
Vera Aguilera Puerto 499cfe7c3d
Remove unused AudioMixTarget code. (#3838)
* Remove unused AudioMixTarget code.

* Update submodule

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-13 20:38:19 +10:00
ike709 69dbb9f654
HUD Themes (#3774)
* HUD Themes

* Prototypes

* field

* oops

* ugh

* Fixes

* Update Content.Client/UserInterface/GameHud.cs

Co-authored-by: ike709 <sparebytes@protonmail.com>
2021-04-12 00:43:53 +02:00
Vera Aguilera Puerto 2fac6b1089
Player list now lists antagonists. (#3826) 2021-04-10 22:24:50 -07:00
Vera Aguilera Puerto 03cd390478 Makes a lot of entity systems unsubscribe from events on shutdown. 2021-04-09 16:08:12 +02:00
Alex Evgrashin cfe427eb8c
Light replacer (#3701)
* Add graphics

* Barebone light replacer

* Now light replacer stores bulbs

* More interactions

* Added text messages

* Better light refil

* Add light replacer to locker and lathe

* Added sound

* Fixed ignore error

* Better inhand

* You don't like this commas?

* Fixed typo

* Deferring spawning

* Moved interaction logic to system

Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-04-08 22:28:06 +10:00
metalgearsloth 67f9e9cb5e
Split entity lookups from entity manager (#3747)
* Split entity lookups from entity manager

* IoC instead

* IoC refactor

* Fix bad resolve

* Remove EntityManager EntityLookup

* Update submodule

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-04-06 13:31:07 +10:00
DrSmugleaf 677706b117
Refactor body component to use slots instead of an army of dictionaries (#3749)
* Refactor body component to use slots instead of an army of dictionaries

* Update vox

* Replace static method call with extension

* Add setpart method, replace dispose with shutdown

* Fix tests, fix not listening to slot events when setting a part
2021-04-05 14:54:51 +02:00
DrSmugleaf 4c47cd4fe2
Add back pull moving (#3635)
* Add back pull moving

* Make pull moving event-based, use map coordinates, slow down moving when getting closer and stop moving when very close, add max range and add compensation for overshooting

* Remove compensation

* Prevent pull move from pulling you

* acruid did this

* Add unsubscriptions to shutdown

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-05 14:08:45 +02:00
collinlunn f7aba5f701
SharedItemComponent (#3513)
* StorableComponent refactor

* ItemComponent refactor

* conflict fixes

* removes redundant null check

* removes redundant item throwing code

* fix conflicts

* ExplosionLaunchedComponent

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-02 21:01:03 +11:00
metalgearsloth 5de9228c40
Content grid-trees (#3750)
* Content grid-trees

* Update submodule
2021-04-02 20:29:19 +11:00
Pieter-Jan Briers d5d4f434c1
Merge pull request #3718 from SweptWasTaken/swepthud 2021-04-01 23:24:39 +02:00
ShadowCommander a98c0dadd4
Implement inflatable wall (#3703)
* Implement inflatable wall

* Actually block atmos

* Fix naming and add description

* Add requested changes

* Change prototype to field

* Refactor checks to use existing methods

* Fix PrototypeIdSerializer imports

* Fix mass in yaml
2021-04-01 00:04:56 -07:00
ShadowCommander 7a842f7c22
Fix tests (#3707)
* First pass

* Fix access and rename banananium to bananium

* Fix captialization of CookTimeInfoLabel

* Fix InteractUsing calls

* Remove unused [Dependency]

* Replace obsolete references to Anchored with BodyType

* Assign default value to shoving someone in disposals

* Fix naming

* Replace Initialize TryGetComponents with EnsureComponent

* Rework AnchorableComponent

* Fix singularity component

* Replace obsolete usages of Angle.South

* Fix efcore warning

* Fix container tests

* Fix DebugPressurePump invalid PressurePump yaml

* Fix getting pathfinding region of grid 0

* Fix atmos plaque missing layer and add info message when it happens

* Fix AiSteeringSystem steering in an invalid grid in entity test

* Make content able to choose which log level leads to test failures

* Revert container test fix for Acruid

* Fix sprite, pipe and saving errors
Make EntityTest print all errors instead of stopping on the first

* Reorder singularity visualizer

* Disable pvs for container occlusion adn simple predict reconcile, they use entities other than map ones

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-03-31 21:41:23 +02:00
NIXC e842df84fa
Allow ownerless ids to show in pda (#3693)
* Allow ownerless ids to show in pda

* use new localization, and null coalesce

* Adjust localization naming
2021-03-31 15:29:57 +02:00
metalgearsloth bd0d0ec512
Fix action item rotation (#3764)
Similar to how hands does it.
2021-03-31 12:10:56 +02:00
SweptWasTaken d8996c05b6 More tweaking 2021-03-28 16:39:33 -07:00
Pieter-Jan Briers fd1012d0d2 Hair style fixes.
Can color facial hair again.
Fix sort for hair styles to use name instead of ID.
2021-03-28 21:37:09 +02:00
Pieter-Jan Briers 0ac4c0e85c
SKREEEEEE (#3706)
* Import bird sprites and define basic mob.

* SKREEEEEEEEE

* Move hair styles to new sprite accessory prototypes.

Basic stuff, no multi-species stuff yet.

* Vox hair styles and clothes

* Make HumanoidCharacterProfile.Default() a static default to fix tests.

Usages that wanted the previous random behavior now call Random().

* Remove names from hair style prototypes.

(They're in localization files)

* Update Content.Shared/Actions/ActionType.cs

(sk)reeee github

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-03-28 17:26:32 +11:00
Swept b7c81063ec
Open character window centered (#3735) 2021-03-28 13:40:23 +11:00
Swept 9363cd1b5c
Change storage window to OpenCentered (#3729) 2021-03-27 01:01:12 -07:00
Acruid 3e7e44df29 Removed Control.Update, moved all update code to Control.FrameUpdate. UI controls have no business running code inside simulation Ticks. Because of how the update loop is ordered, this will actually make the UI elements more responsive to simulation changes.
Fixed multiple bugs in the action UI where the Control.Update method was calling the base Control.FrameUpdate.
2021-03-26 17:10:31 -07:00
SweptWasTaken 1a0b5fb742 HandsGUI uses correct sprites again 2021-03-26 10:55:41 -07:00
ike709 1d052d0410
Improves the HUD (#3655)
* All good except the combat doll

* Makes the HUD inventory less terrible

* Cleanup, nuke the Combat Mode button

* Harm icon

* Switch the icon

* Basic goon hud

* Toggleable

* Nuke the popup, properly centers it

* Fix clicking the button

* Nuke some old code

* missed a comment

* Remove defaults

* Localization

* Nuke some old yaml

* New sprites

Co-authored-by: ike709 <sparebytes@protonmail.com>
2021-03-27 02:23:12 +11:00
Acruid 9459400002
SoundSystem Improvements (#3697)
* Refactor all audio to use the new SoundSystem.

* Update submodule

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-03-21 17:12:03 +01:00
Vera Aguilera Puerto a93e9e9401 Small MeleeWeaponSystem cleanup.
Now it TryGets the entities for lunges.
2021-03-17 17:44:37 +01:00
DrSmugleaf a5ade526b7
Enable nullability in Content.Server (#3685) 2021-03-16 15:50:20 +01:00
metalgearsloth d4dede2755
Fix DoAfter flicker (#3643)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-16 09:16:55 +01:00
Vera Aguilera Puerto 4df4493db2 Ignore GhostOnMove on the client. 2021-03-16 03:07:02 +01:00
DrSmugleaf 6f012cb9ad
Enable nullability in Content.Shared (#3626)
* Enable nullability in Content.Shared

* Fix null errors in server

* aye github i swear on me mom
2021-03-15 21:55:49 +01:00
Vera Aguilera Puerto 0c35b78401
Improved Slippery prediction, moves Slippery entirely to Shared (#3677)
* Fixes SlipperyComponent mispredict

* a

* Holy shit
2021-03-15 19:01:15 +01:00
mirrorcult e4169ecf0d
Fix minsizes for all windows that needed it (#3648)
* fix minsizes

* fix scanner height, minsize->setsize for some
2021-03-15 09:38:08 +01:00
GraniteSidewalk 97db03b065
fixes singulo shader z-levels (#3672) 2021-03-15 14:19:14 +11:00
Vera Aguilera Puerto fc7ad61afe Fix funky nullability making rotatable verbs not show up
Fixes #3656
2021-03-14 23:22:30 +01:00
mirrorcult e81db48cd1
Fix various issues with the emitter (#3329)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-03-14 23:02:22 +01:00
Pieter-Jan Briers 70e2648fa0 Verb icons now UI scale. 2021-03-14 14:40:14 +01:00
Swept 3dba752193
Adds a bunch of UI icons for verbs. (#3007)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-03-14 14:23:32 +01:00
Pieter-Jan Briers 13afec5f76 Make TraitorOverlay use EnumerateRunes() 2021-03-14 11:36:55 +01:00
ike709 899a5cfa80
Comms Console Announcements (#3629)
* Communications console announcements

* title case for jobs

* Helper

* Prevent abuse

* Cap message length

* more abuse prevention

* Validate clientside too to reduce bandwidth from unmodified clients
2021-03-14 16:21:57 +11:00
mirrorcult f60f76f644
Increase time to clone people (#3650)
* cloning

* why

* why?
2021-03-13 01:57:51 -08:00
metalgearsloth 2f8bd10b47
Shared subfloor system (#3590)
* Shared subfloor system

Will also cull the broadphase for server a lot.

* Nullable subfloor

* Snapgrid nullable

* Actually use ComponentDependency

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-13 14:46:22 +11:00
Vera Aguilera Puerto c30c60efc4 Fixes structure instruments not playing due to a nullability moment 2021-03-13 02:46:32 +01:00
ike709 d8a8b37182
Turns lobby music down (#3634) 2021-03-13 02:06:52 +01:00
ike709 31f1cf9936
Adds lobby music (#3620)
* Adds lobby music

* Add UI toggle for lobby music

* Pick the song serverside so everyone gets the same song

* Add more songs

* Fixes

* Catch-all end lobby music

* Rename it

* Catchall ambience cvar change

* Wait until we receive the lobby song to start playing one

* Fix toggling ready status resetting the song

* Comment

* Expend the last of my sanity fixing latejoin lobby music

* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Move the var

Co-authored-by: ike709 <sparebytes@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-03-12 23:40:28 +01:00
Swept bf99a91507
Revert "Revert "Slight changes to spawners"" (#3627)
* Revert "Revert "Slight changes to spawners (#3605)" (#3624)"

This reverts commit 8c01d9d9dc.

* Bring back clicktest.yml

* Update IgnoredComponents.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-03-12 21:28:40 +01:00
Vera Aguilera Puerto df22f24975 Optimize gas overlays slightly 2021-03-11 13:51:56 +01:00
Alex Evgrashin 4455bab4c5
Reagent container visualizer (#3529)
* Started working on beakers

* Working sprite change

* Fixed large beaker

* Add bluepsace beaker

* Add cryostasis beaker

* Removed old rsi

* Fixed dropper

* No dropper problems

* Working on syrigine

* Better syr visualizer

* Add dropper inhand

* Syringe in-hands

* Add base empty bottle for chemistry

* Deleted old fillings

* Simplified beaker in hand

* Moved chemical bottles to seperate .yml

* Fixed chem master

* Serv3 when

* Fixed grammar

* Removed delays

Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-11 10:24:17 +01:00
Swept 87aced8392
Adds mice (#3594)
* Initial

* Mmm

* Adds them to map

* Makes mice grindable

* meta.json looking nice

* Mice go squeak

* Ye

* E

* Review

* Update Content.Server/GameObjects/Components/Mobs/Speech/MouseAccentComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-03-11 01:06:57 +01:00
Swept b8ab364c39
Centcom Official ghost role #3586
* Initial

* EE

* indent fix

* Oops

* Applied Reviews

* Removed Centcom Official Spawns

* Fixes Icon

* added component to ignored
2021-03-10 20:52:57 +01:00
DrSmugleaf 902aa128c2
Enable nullability in Content.Client (#3257)
* Enable nullability in Content.Client

* Remove #nullable enable

* Merge fixes

* Remove Debug.Assert

* Merge fixes

* Fix build

* Fix build
2021-03-10 14:48:29 +01:00
Acruid 6edc416afc
EntitySystemMessage Removal & InteractionSystem directed events (#3572)
* Removed obsolete EntitySystemMessage, now everything uses the base EntityEventArgs or the derived HandledEntityEventArgs.
Setup InteractionSystem to use new directed events.

* Update Submodule.
2021-03-09 11:22:48 -08:00
GraniteSidewalk 549d84174c
Singularity Shaders and a lot of Shader Stuff (#2517)
* Beginnings of singulo shader

* LOTS of changes!!

* Minor changes

* Singulo stuff

* Aesthetic changes to singulo

* Combining singulo change

* ShaderAura uses IEntities now, not IPlayerSession

* Fixes?

* Fixes draw order for atmos

* using fix

* Address reviews

* nuget.config whaaa

* nuget haha

* nuget why are you so dum

* happy now

* Preparing for omegachange

* Merge from seventh level of hell

* woork

* Ignorecomponents add

* mmf

* RobustToolbox?

* Fixes

* Fixes Robust?

* adds sprite

* Nullables

* Crit overlay stuff

* Commits Robust
2021-03-09 02:33:41 -08:00
Swept deeacce8f7
Removed unused vending machines (#3553) 2021-03-09 10:42:26 +01:00
Vera Aguilera Puerto d86623eed7 Improves AirtightComponent.
- Atmos now nulls air in fully airblocked tiles ONLY if one of the airtight entities in it has NoAirWhenFullyAirBlocked to true.
- Fixes edge firelocks atmos airtight direction
- Fixes atmos debug overlay not accounting for angle 0 being south.
2021-03-08 14:57:05 +01:00
metalgearsloth 362c6de742
Fix monkey kitchen spike dragdrop (#3450)
* Fix monkey kitchen spike dragdrop

I also aligned the behavior with tg (need combat mode on + mob alive).
It still needs to do damage over time and buckle the target but baby steps.

* Cleanup

* Fix kitchenspike layers

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 21:24:34 +11:00
Vera Aguilera Puerto 6c77801d90
StunnableComponent cleanup, proper prediction for stuns and slips. (#3552) 2021-03-08 05:00:50 +01:00
Swept 4b8e4dd6ba
Cleans up Airlock content (#3575)
* Initial

* Fixed RSI timings

* Sorts RSIs

* Adds effects.rsi

* Unlits
2021-03-07 19:25:07 -08:00
DrSmugleaf f682833c8d
Make the client validate character information (#3563)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 13:07:53 +11:00
ShadowCommander 72a3160671
Reformat the construction menu to become less stretchy (#3538) 2021-03-07 14:09:41 -08:00
RemberBL 343f183b32
Character eye customization, scroll bar in appearance tab character setup. Fixes #2946 (#3403)
* A lot of unfinished work, trying to figure stuff out but it ain't really working

* The eye colors finally work on the sprite!

* Big refactor for HumanoidProfileEditor, crashes upon making a lobby

* Fixed Lobby crashing

* Moves the eye selection box to a new tab, which fixes selection the box from going off-screen and not expanding the bars

* uncommented something I shouldn't have commented out

* Moved eye colors back to the appearance tab, still some ui glitches

* Made it possible to scroll in the appearance tab

* Added "Eye color:" label

* Migrating some deprecated functions into their replacements

* Merged two private sealed classes into one public class, removing duplication
2021-03-07 20:48:24 +01:00
metalgearsloth 4d064abcd7
Physics (#3485)
* Content side new physics structure

* BroadPhase outline done

* But we need to fix WorldAABB

* Fix static pvs AABB

* Fix import

* Rando fixes

* B is for balloon

* Change human mob hitbox to circle

* Decent movement

* Start adding friction to player controller

I think it's the best way to go about it to keep other objects somewhat consistent for physics.

* This baby can fit so many physics bugs in it.

* Slight mob mover optimisations.

* Player mover kinda works okay.

* Beginnings of testbed

* More testbed

* Circlestack bed

* Namespaces

* BB fixes

* Pull WorldAABB

* Joint pulling

* Semi-decent movement I guess.

* Pulling better

* Bullet controller + old movement

* im too dumb for this shit

* Use kinematic mob controller again

It's probably for the best TBH

* Stashed shitcode

* Remove SlipController

* In which movement code is entirely refactored

* Singularity fix

* Fix ApplyLinearImpulse

* MoveRelay fix

* Fix door collisions

* Disable subfloor collisions

Saves on broadphase a fair bit

* Re-implement ClimbController

* Zumzum's pressure

* Laggy item throwing

* Minor atmos change

* Some caching

* Optimise controllers

* Optimise CollideWith to hell and back

* Re-do throwing and tile friction

* Landing too

* Optimise controllers

* Move CCVars and other stuff swept is beautiful

* Cleanup a bunch of controllers

* Fix shooting and high pressure movement controller

* Flashing improvements

* Stuff and things

* Combat collisions

* Combat mode collisions

* Pulling distance joint again

* Cleanup physics interfaces

* More like scuffedularity

* Shit's fucked

* Haha tests go green

* Bigmoneycrab

* Fix dupe pulling

* Zumzum's based fix

* Don't run tile friction for non-predicted bodies

* Experimental pulling improvement

* Everything's a poly now

* Optimise AI region debugging a bit

Could still be better but should improve default performance a LOT

* Mover no updater

* Crazy kinematic body idea

* Good collisions

* KinematicController

* Fix aghost

* Throwing refactor

* Pushing cleanup

* Fix throwing and footstep sounds

* Frametime in ICollideBehavior

* Fix stuff

* Actually fix weightlessness

* Optimise collision behaviors a lot

* Make open lockers still collide with walls

* powwweeerrrrr

* Merge master proper

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Ch ch ch changesss

* SHIP IT

* Fix #if DEBUG

* Fix vaulting and item locker collision

* Fix throwing

* Editing yaml by hand what can go wrong

* on

* Last yaml fixes

* Okay now it's fixed

* Linter

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Vera Aguilera Puerto <zddm@outlook.es>
2021-03-08 04:09:59 +11:00
Alex Evgrashin e919a82874
Remove unshaded from window cracks (#3547) 2021-03-07 20:04:00 +11:00
ShadowCommander dfd61d2f11
Update construction tool icons to their new paths (#3540) 2021-03-06 09:49:21 -08:00
metalgearsloth d70fec01cb
Revert "Improves sprite click detection (#3480)" (#3536)
This reverts commit abdee3d4ee.
2021-03-07 03:49:23 +11:00
Paul Ritter d6464b3ba0
fixes alert onclick (#3521)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-03-05 12:46:04 +01:00
Daniel Castro Razo abdee3d4ee
Improves sprite click detection (#3480)
* Improves sprite click detection.

* F
2021-03-05 19:33:00 +11:00
Paul Ritter 5c50b1f6ed
Serialization v3 content PR (#3491)
* serv3 in shared pt 1

* beginning of deepclone api

* progress in implementing ideepclone & serv3 in content

* adds target

* its cant hurt you it cant hurt you

* more changes to content.server

* adds dataclasses

* almost there

* renamed & edited entry

* finishes refactoring content to use serv3

* gasmixture runtimes, next: reagentunit

* fucin hell that was an annoying one

* adds flags

* fixes some yaml errors

* removes comment

* fixes generic components for now

* removes todo
actually clones values my god paul
fixes bug involving resolving custom data classes from other proj
renames dataclass
fixes spritecomp
adds WithFormat.Constants support

* adds deepclone to ResistanceSet

* adds a bunch of deepclone implementations
adds a deepclone analyzer (TODO)
adds a deep clone fallback for classes & structs

* fixes a bunch of runtimes

* adds deepclone to entityuid

* adds generator to sln

* gets rid of warnings

* fixes

* argh

* componentdata refactors

* more deepclone impl

* heck me i reworked all of content deepclone

* renames custom dataclasstarget

* misc

* reworks prototypes

* deepclone nuke

* renamed customdataclass attribute

* fixes everything

* misc fixed

* the killcommit

* getting there

* changed yamlfieldattribute namespace

* adds back iselfserialize

* renames everything to data(field/definition)

* ouch

* Fix most errors on content

* Fix more errors in content

* Fix some components

* work on tests

* fixes some customdataclasses

* fuggin shit

* yes

* yeas

* Remove data classes

* Data field naming fixes

* arg

* Git resetti RobustToolbox

* Merge fixes

* General fixes

* Fix startup serialization errors

* Fix DamageContainerPrototype when supported classes or types are null

* Implement construction graph step type serializer

* Fix up construction serialization

* Fix up construction serialization part 2

* Fix null list in technology database component

* Fix body serialization

* Fix entity storage serialization

* Fix actions serialization

* Fix AI serialization

* Fix reaction serialization

* Fix body serialization

* Fix grid atmosphere serialization

* Rename IServ3Manager to ISerializationManager

* Convert every non generic serializer to the new format, general fixes

* Serialization and body system fix

* pushinheritance fix

* Update all prototypes to have a parent and have consistent id/parent properties

* Merge fixes

* smh my head

* cuddling slaps

* Content commit for engine PR

* stuff

* more fixes

* argh

* yes even you are fixed

* changelog fixes

* fixes seeds

* argh

* Test fixes

* Add writing for alert order prototype

* Fix alert order writing

* FIX

* its been alot ok

* Fix the rest of the visualizers

* Fix server alerts component tests

* Fix alert prototype tests not using the read value

* Fix alert prototype tests initializing serialization multiple times

* THIS IS AN AMERICAN CODEBASE GOD BLESS THE USA

* Add ImplicitDataDefinitionForInheritors to IMechanismBehavior
Fixes the behaviors not being found

* Fix NRE in strap component
Good night to the 1 buckle optimization

* Fix clothing component slot flags serialization tag

* Fix body component in all components test

* Merge fixes

* ffs

* Make construction graph prototype use serialization hooks

* human yaml linted

* a

* Do the thing for construction

* stuff

* a

* monke see yaml linter

* LINT HARDER

* Remove redundant todo

* yes

* Add skip hook argument to readers and copiers

* we gamin

* test/datafield fixes

* adds more verbose validation

* moves linter to action

* Improve construction graph step type serializer error message

* Fix ammo box component NRE

* gamin

* some updates to the linter

* yes

* removes that test

* misc fixes

* array fix
priority fix
misc fixes

* adds proper info the validation

* adds alwaysrelevant usa

* Make yaml linter take half as long to run (~50% less)

* Make yaml linter 5 times faster (~80% less execution time)

* based vera being based

* fixes mapsaving

* warning cleanup & moves surpressor

* removes old msbuild targets

* Revert "Make yaml linter 5 times faster (~80% less execution time)"

This reverts commit 3e6091359a26252c3e98828199553de668031c63.

* Add -nowarn to yaml linter run configuration

* Improve yaml linter message feedback

* Make dependencies an argument instead of a property on the serialization manager

* yamllinting slaps

* Clean up type serializers

* Move yaml linter code to its own method

* Fix yaml errors

* Change yaml linter action name and remove -nowarn

* yaml linter please shut

* Git resetti robust toolbox

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-03-05 01:08:38 +01:00
Pieter-Jan Briers e6db24a3f8 Max size for examine tooltips so they word wrap correctly. 2021-03-04 23:33:45 +01:00
Pieter-Jan Briers adf63765f7 Improve storage window layout & add text clipping. 2021-03-04 23:33:35 +01:00
WlarusFromDaSpace 952a8e709a
Fixes a fatal error when opening the PA control computer interface. (#3478)
* Fixes a fatal crash when opening the PA control computer interface.

* Fix to make PA emitters work.

* Turned _pos and _afterUnderscore into local variables.

* Explicit states

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-04 19:38:43 +11:00
Pieter-Jan Briers 0db42c8018 Fix reset all keybinds button alignment. 2021-03-03 23:10:41 +01:00
Swept eeb5cadaa0
Adds server rules (#3475)
* Initial

* Removes all unneeded stuff

* Rules

* Applied review
2021-03-03 17:56:52 +11:00
tmtmtl30 57616f6270
removes ambience from the lobby (#3428)
* removes ambience from the lobby

* calls EndAmbience in StartAmbience
2021-03-03 14:47:01 +11:00
collinlunn 06f549d282
Piping Unit test fixes (#3471)
* PipeNetDevice on piping prototypes

* client component ignore

* NodeContainer OnRemove bugfix

* Moves some NodeContainer code from OnRemove to Shutdown

* yaml indentation fix
2021-03-02 19:58:19 +01:00
Acruid 91cea56a5a
SoundSystem (#3467)
* Converted some audio calls over to the new system.

* Update Submodule.
2021-03-01 20:42:54 -08:00
Acruid 6c081d9d8d
Shared Containers (#3331)
* Namespace changes for containers.
Moved ContainerSlot from content to engine.

* Merged client/server ContainerManagerComponents into a single shared version.

* Mapfile and nullability fixes.

* Upgrades map.

* Update engine.
2021-03-01 15:24:46 -08:00
Swept 45a09bc7ea
Nerfs cargos minimum starting balance (#3468)
* e

* Aight

* Done
2021-03-01 12:56:38 -08:00
AJCM-git 26378f3869
Fix stack localization (#3455) 2021-03-01 01:02:03 +01:00
Pieter-Jan Briers f3442845a6 Clear votes on client disconnect.
They would stay stuck open otherwise.
2021-02-28 22:51:06 +01:00
Pieter-Jan Briers 245f276f35 Restart vote improvements, voting localization.
Restart votes now need 80% majority to succeed.
Restart votes now have a 3 minute cooldown on the caller.
Voting stuff has been localized.
2021-02-28 22:11:53 +01:00
AJCM-git 1409f58c1c
Updates chat manager localization (#3432) 2021-02-28 21:16:29 +01:00
Swept 6df41b2fa7
Adds material and singularity cargo crates (#3445)
* Adds various crates

* Removes redundant code from EmitterComponent.cs

* (fixed) emitter

* Hopefully good

* Update meta.json
2021-02-28 11:57:44 -08:00
Pieter-Jan Briers cb8d7730ad Chat now sends formatted messages to allow more complex messages. 2021-02-28 18:51:30 +01:00
Pieter-Jan Briers 1eb0fbd8d0 Revert "Physics (#3452)"
This reverts commit 3e64fd56a1.
2021-02-28 18:49:48 +01:00
metalgearsloth 3e64fd56a1
Physics (#3452)
* Content side new physics structure

* BroadPhase outline done

* But we need to fix WorldAABB

* Fix static pvs AABB

* Fix import

* Rando fixes

* B is for balloon

* Change human mob hitbox to circle

* Decent movement

* Start adding friction to player controller

I think it's the best way to go about it to keep other objects somewhat consistent for physics.

* This baby can fit so many physics bugs in it.

* Slight mob mover optimisations.

* Player mover kinda works okay.

* Beginnings of testbed

* More testbed

* Circlestack bed

* Namespaces

* BB fixes

* Pull WorldAABB

* Joint pulling

* Semi-decent movement I guess.

* Pulling better

* Bullet controller + old movement

* im too dumb for this shit

* Use kinematic mob controller again

It's probably for the best TBH

* Stashed shitcode

* Remove SlipController

* In which movement code is entirely refactored

* Singularity fix

* Fix ApplyLinearImpulse

* MoveRelay fix

* Fix door collisions

* Disable subfloor collisions

Saves on broadphase a fair bit

* Re-implement ClimbController

* Zumzum's pressure

* Laggy item throwing

* Minor atmos change

* Some caching

* Optimise controllers

* Optimise CollideWith to hell and back

* Re-do throwing and tile friction

* Landing too

* Optimise controllers

* Move CCVars and other stuff swept is beautiful

* Cleanup a bunch of controllers

* Fix shooting and high pressure movement controller

* Flashing improvements

* Stuff and things

* Combat collisions

* Combat mode collisions

* Pulling distance joint again

* Cleanup physics interfaces

* More like scuffedularity

* Shit's fucked

* Haha tests go green

* Bigmoneycrab

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-01 03:11:29 +11:00
collinlunn 9cefe6b3f3
PipeHeaterComponent (#3443)
* PipeHeaterComponent

Heater rsi

Heater prototype

* Client ignore
2021-02-28 22:05:10 +11:00
Ygg01 df76ceee6c
Fix visualizer issues (#3440) 2021-02-28 22:02:08 +11:00
AJCM-git 4228326826
Fix changelog new out of window (#3438) 2021-02-27 18:33:31 +01:00
Paul b150df48c6 Spawner windows now remember their positions (fixes #622) 2021-02-27 12:28:40 +01:00
Acruid a9a336595a ConstructionMenu now properly unsubscribes from the keybind open event on the ConstructionSystem. This bug was previously causing an invisible disposed window to open back up after round start when pressing G, throwing exceptions and blocking mouse input. 2021-02-27 02:50:02 -08:00
AJCM-git 4cb59a0c5e
Updates blockgame localization (#3430) 2021-02-27 10:25:55 +01:00
Visne 9b94d5c195
Added nullable to most Content.Shared files (#3238)
* Add nullable to some Content.Shared files.

* Use [NotNullWhen(true)]

* Undo adding now redundant !'s

* Forgot one

* Add a ton more nullable

* You can guess

* Fix some issues

* It actually compiles now

* Auto stash before merge of "null2" and "origin/master"

* I lied

* enable annotations -> enable

* Revert ActionBlockerSystem.cs to original

* Fix ActionBlockerSystem.cs

* More nullable

* Undo some added exclamation marks

* Fix issues

* Update Content.Shared/Maps/ContentTileDefinition.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Resolve some issues

* Remove unused method

* Fix more issues

* Fix more issues

* Fix more issues

* Fix more issues

* Fix issue, rollback SharedGhostComponent.cs

* Update submodule

* Fix issue, invert some if-statements to reduce nesting

* Revert RobustToolbox

* FIx things broken by merge

* Some fixes

- Replaced with string.Empty
- Remove some exclamation marks
- Revert file

* Some fixes

* Trivial #nullable enable

* Fix null ables

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-27 14:12:09 +11:00
AJCM-git 2f45e5e044
Repairable Component (#3418)
* Adds a repairable component

* Ignores RepairableComponent in the client

* fix localization

* fix localization
2021-02-27 13:56:32 +11:00
Daniel Castro Razo f96839cb4c
Added a margin so the scrollbar doesn't overlap the entity's label in the context menu. (#3426) 2021-02-26 15:59:10 +11:00
Daniel Castro Razo f30a4d8a52
ContextMenu (#3286)
* ContextMenu

* Updating to WPF.

* Updating to WPF.

* Margins
2021-02-26 12:42:16 +11:00
Alex Evgrashin 0fa219365e
Ghosts do booo (spooky) (#3363)
* Light now use visualizer

* Added ghost actions

* Add hotkey input for ghosts

* no message

* Testing blinking animation

* Better animation

* Better customization

* No abuse

* Reversed sln

* No fun for ghosts

* No fun for ghosts x2

* Cooldown for lights

* Moved to component deps

* This tollist is unnecessary

* Enums to byte

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Some lights can ignore ghosts now

Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-26 12:31:06 +11:00
AJCM-git d177f0fd07
Adds changelog button to the escape menu (#3421) 2021-02-25 23:44:48 +01:00
Pieter-Jan Briers bd71dfc555 Escape menu: localized. 2021-02-25 21:11:27 +01:00
Pieter-Jan Briers 454465694a Localize options menu. 2021-02-25 21:08:06 +01:00
Swept e9af0d58e7
Cleans up lathe rsis (#3392) 2021-02-25 12:48:35 +01:00
Pieter-Jan Briers 356716ee5c Update NuGet packages. 2021-02-25 12:05:53 +01:00
Pieter-Jan Briers cca23f2812
Changelog. (#3398) 2021-02-25 09:50:45 +01:00
DrSmugleaf fdcbece63d
Refactor stacks to use prototypes (#3387)
* Refactor stacks to use prototypes

* Fix not assigned warning

* Add names to stacks

* Make machine baords and material constructions use the name as well

* Remove defaulting stacks to prototype id

* Fix tests

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-25 16:18:29 +11:00
metalgearsloth 94bdf01ab7
do_after fixes (#3299)
* Try fixing DoAfterBar coordinates issue

Also I have a somewhat shitcode way to ensure it doesn't get stuck but I'll wait to see if it still happens on live.

* Brute force fix the stuck issue

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-25 11:32:41 +11:00
AJCM-git fc5d6452cd
Fix behaviorSet prototype error (#3407) 2021-02-25 11:09:27 +11:00
Vera Aguilera Puerto 436d406585
Adds tag support to construction (#3386) 2021-02-24 16:26:56 +01:00
Pieter-Jan Briers 2ec0304072 Fix StackVisualizer mutating. 2021-02-23 23:28:22 +01:00
Swept ec9a31a723
Adds the ability to specify a separate RSI path in StackVisualizer (#3368) 2021-02-23 23:25:44 +01:00
Pieter-Jan Briers 5a7658a13b Update submodule, fix a bunch of warnings. 2021-02-23 22:26:59 +01:00
Pieter-Jan Briers ade8c6115b Ignore aiFaction prototype on client. 2021-02-23 22:10:56 +01:00
Pieter-Jan Briers 9d6c719951 Fix VaporVisualizer throwing due to bad type casts. 2021-02-23 22:10:07 +01:00
metalgearsloth 55456253f0
Fix the game (#3384)
Cleanup some old PRs and make the world green again

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-23 19:23:51 +11:00
Swept 1e13c3b265
Fixes lathe stuff (#3383) 2021-02-23 18:53:14 +11:00
Fortune117 a80c803a42
fix for sandbox menu not keeping toggle (#3334) 2021-02-23 13:29:26 +11:00
collinlunn 112f7d8346
Pipe visualizers (#3042)
* modifies pipe sprites to look not connected

* pipe connector sprites

* PipeConnectorVisualizer

* Remove pipe visualizer

* Revert "Remove pipe visualizer"

This reverts commit dc8da93f99f20aa55247c6a94d26c7a75a3d1782.

* PipeDirection can be set with the sprite updating correctly

* fixes meta files

* removes unused vent/scrubber directions

* OnConnectedDirectionsNeedsUpdating

* comments + OnConnectedDirectionsNeedsUpdating gets called

* fix connecteddirections bug

* Combines ConnectedDirections sent to visualizer

* fixes unconnected pipe sprites

* Adds PipeConnectorVisualizer to other piping entities

* code cleanup

* Fixed bug with ConnectedDirections not being set correctly

* diff fix

* rotation simplification

* Improves rsi serialization

* enable nullable

* wip

* visualizer cleanup

* nullable cleanup

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-02-23 13:18:30 +11:00
Ygg01 0f54a01d24
Fix bug with animated sprites not being initially animated (#3381)
Sets auto animated of client inventory to true, enables cosmos bedsheets to be
animated when first equipping.

Fixes #1144
2021-02-23 13:05:24 +11:00
DrSmugleaf be1e0abeac Fix BagOpenCloseVisualizer failing with null rsi and redundant sprite component in CigPackBase 2021-02-22 14:39:39 +01:00
Acruid 02a60a2756 Fixes construction menu from throwing exceptions after round start. 2021-02-22 01:12:36 -08:00
Swept 5b75c14ad7
Initial (#3366) 2021-02-22 09:58:46 +01:00
Swept 4a67fc1d22
Fleshes out smoking content (#3295)
* RSIs sorted out

* Bookmark

* Updated packet RSIs for Stacks

* Cigs Packs done

* Cigarette Cartons

* fucking MANUALLY fixed the cigarette inhands, fuck you tgstation

* Pipes work

* Cigars/Cases

* Updates vending machine inventory

* tweaks count

* Adds a cigarette crate

* Fixes RSIs, working on rolling paper

* Adds Tobacco and Cannabis plants

* Cigarettes and Rollies are now craftable

* There

* Fixed crafting recipes

* Reset RobustToolbox

* Netsync'd

* Ready

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-02-22 15:08:17 +11:00
Remie Richards 85916b87b4
Fluent Localisation Fixes (#3344)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-02-22 01:07:46 +01:00
Pieter-Jan Briers 63947a6d35
Fixes all the rotation bugs. (#3365) 2021-02-22 00:46:27 +01:00
Pieter-Jan Briers b1bf1c59ed Set OverrideDirection for SpriteView in the storage interface. 2021-02-21 16:11:03 +01:00
tmtmtl30 b314c3f040
Adds a very basic perpetual background ambient hum. (#3150) 2021-02-21 14:02:23 +01:00
Pieter-Jan Briers b898443f28
WPF layout (#3346) 2021-02-21 12:38:56 +01:00
Acruid 008fee4eaf
Construction UI MVP Experiment (#3107)
* Refactors the ConstructionSystem into the MVP pattern.

* Refactors the ConstructionMenu into the MVP pattern.

* Moved the ConstructionMenuPresenter to the GameScreen where it belongs.

* Rebase updates.
2021-02-20 12:05:59 -08:00
Swept 1b8c07b76f
UtilityAI IgnoredComponents (#3339) 2021-02-20 20:24:54 +01:00
DrSmugleaf 0ae4a6792f
Add health overlay and a command to toggle it (#3278)
* Add health overlay bar and a command to toggle it

* Remove empty line
2021-02-19 19:31:25 +01:00
DrSmugleaf 5667cffe95
Separate ghost warp message into two (#3310)
* Separate ghost warp message into two

* Remove redundant arguments

* Address reviews

* Move properties up
2021-02-19 19:29:34 +01:00
DrSmugleaf 65d1df4f0f
Fix the admin panel not showing the account name (#3322) 2021-02-19 19:27:06 +01:00
Leo 19ca611f5f
Improves kick, teleport and ban menus (#3312) 2021-02-19 19:26:34 +01:00
Acruid d1b5a31397
PauseManager moved to Shared (#3288)
* Namespace changes for moving IPauseManager to shared.

* Namespace changes for moving ITimerManager from Timers to Timing.

* Rebase Fixes.

* Update engine submodule to v0.3.8
2021-02-18 20:45:45 -08:00
komunre 77c8fc5b42
Spikes fix reopened (#3203)
* DoAfter, dead and stun check, DragDropOn

* Not ignored anymore

* Copied comment deleted

* Herbert's an ass

* Woops

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-18 18:49:50 +11:00
Leo 8640f342b5
Change all XAML to use spacestation14.io namespace (#3277) 2021-02-17 15:22:51 +01:00
Ygg01 55d65889ae
Stacked sprite visualizer (#3096)
* Add Stack Visualizer

* Add cigarette pack resources

Adds transparent layers for visualizing cigarettes

* Add Bag Open/Close Visualizer

So storage opened in inventory can have different icons when opened
or closed.

* Create a component that only enumerates single item

Used for creating stuff like matchbox, or cigarettes. As a bonus.
It will only update stack visualizer for that particullar item.

* Refactoring stuff

* Fix other usage of stack in Resources

* Add docs

* Apply suggestions from code review

Apply metalgearsloth suggestions

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Applied suggestions from metalgearsloth

* Changed SingleItemStorageComponent to StorageCounterComponent

Difference. New component doesn't spawn items, merely counts them.

* Refactored StackVisualizer

* Fix breakage with master

* Update Resources/Prototypes/Entities/Objects/Consumable/fancy.yml

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update with MGS suggestions

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-18 00:02:36 +11:00
Swept 83f102ea75
Cleans up Hydroponics content. (#3025)
* Adds to IgnoredComponents.cs

* Jackboots

* Half Done

* Moved to diff PR

* Everything functional

* Fixed Sprays

* Nice

* Fixed

* Update submodule

* Fix tests

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-17 23:59:15 +11:00
Leo 48eea211bc
Converts AdminMenu to partially use XAML (#3231) 2021-02-17 13:39:31 +01:00
DrSmugleaf c435b5150d
Change character names to use datasets prototypes (#3259)
* Remove old name lists in .txts

* Fix tests

* LATEST MASTER TECHNOLOGY
2021-02-17 20:46:44 +11:00
DrSmugleaf ecb9993d80
Add cvar to disable ooc chat (#3258) 2021-02-16 20:14:32 +01:00
DrSmugleaf 3c54c755ce
Remove some criminal if checks (#3261) 2021-02-16 20:14:21 +01:00
Pieter-Jan Briers cea87d6985
Voting (#3185)
* Basic voting

* Rewrite lobby in XAML.
Working lobby voting.

* Escape menu is now XAML.

* Vote menu works, custom votes, gamemode votes.

* Vote timeouts & administration.

Basically done now.

* I will now pretend I was never planning to code voting hotkeys.

* Make vote call UI a bit... funny.

* Fix exception on round restart.

* Fix some vote command definitions.
2021-02-17 01:07:17 +11:00
DrSmugleaf 78afc2db0f
Add make ghost role verb (#3204) 2021-02-16 09:51:27 +01:00
mirrorcult 1ab8d3e6e9
Properly fix chair collision & disallow pulling objects you're buckled to (#3241)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-02-16 09:42:03 +01:00
DrSmugleaf 04aa195c91
Add cooldown to shuttle calling (#3225) 2021-02-16 09:31:57 +01:00
DrSmugleaf cf7ac025b4
Fix the admin panel only listing your character name (#3229) 2021-02-16 09:11:15 +01:00
DrSmugleaf 9f408945de
Make pulled and cuffed players unable to move (#3227) 2021-02-16 12:51:52 +11:00
DrSmugleaf 17a224ad2c
Fix being able to teleport with the ghost warp menu while alive (#3246) 2021-02-16 01:55:09 +01:00
DrSmugleaf ab56f7dc92
Add banning to the admin panel (#3191)
* Add banning to the admin panel

* Added response to ban command
2021-02-14 16:05:02 +01:00
Leo a3d0e3f6a7
OOC sent by an admin will have a different color (#3117)
* Admin OOC is sent with a different color than regular OOC

- Also adds the OOC color to the database

* Command to set the color

* Ooc -> OOC

* Change default color to Red (`#ff0000`)

* Outdated namespace
2021-02-14 15:59:56 +01:00
metalgearsloth a4db94cf03
Maybe fix do_after getting stuck (#3196)
* Maybe fix do_after getting stuck

IDK it's 5AM I tried.

* Update Content.Client/GameObjects/EntitySystems/DoAfter/DoAfterSystem.cs

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

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-02-14 05:07:03 +11:00
Paul 22066db90f placementghosts now change when you change the targeted recipe 2021-02-13 09:13:00 +01:00
tmtmtl30 258fdc10ea
Airlock / firelock code refactor, pseudo-prediction implementation (#3037)
* splits off airlocks, firelocks

* adds airlock prediction. anims broken though

* fixes animation weirdness

* removes opacity prediction because it looked odd

* Now firelocks don't visually start open. Argh.

* Fixes firelock weirdness, saneifies _state var.

* Documentation changes, code shuffle.

* Lets firelocks crush people.

* Stops open-hand opening/closing firelocks.

* updates serializable, netserializable attributes

* Addresses reviews... hopefully.

* updates submodule?

* nullability

* fuck fuck fuck fuck

* fucking finally
2021-02-12 16:02:14 +01:00
Vera Aguilera Puerto c0f51d8c88 Ignore holiday prototypes on the client. 2021-02-12 10:55:45 +01:00
Vera Aguilera Puerto 4678e44edc Fix warnings 2021-02-12 10:53:02 +01:00
Vera Aguilera Puerto 9ee0ec4106
Holiday System (#3122) 2021-02-12 10:45:22 +01:00
Vera Aguilera Puerto 4c419f85ce
Ghost Roles (#3106)
* Add files for Ghost Roles.

* Work on Ghost Roles

* Improvements

* GHOST ROLES IS DONE

* mmm yes

* auto-update when setting rolename/roledescription

* well

* command graceful error

* Makes UI have a scrollbar when it has too many entries

* fix command fuckup

* Apply suggestions from code review

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-12 14:35:56 +11:00
Acruid ca4fd649fe
Massive Namespace Cleanup (#3120)
* Engine namespace changes.

* Automated remove redundant using statements.

* Simplified Graphics namespace.

* Apparently the container system stores full type names in the map file.😞 This updates those names.

* API Changes to LocalizationManager.LoadCulture.

* Update submodule to v0.3.2
2021-02-11 01:13:03 -08:00
metalgearsloth 116fc027a1
addgas and settemp under admeme menu (#3098)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-10 13:36:11 +01:00
Leo 9a7e2ec5ff
Toggling all chat options will correctly toggle Dead chat button (#3118) 2021-02-10 11:25:52 +11:00
Vera Aguilera Puerto 9b9fbfdcfe
Replace BreakableConstructionComponent with a destructible threshold behavior (#3111)
* Replace BreakableConstructionComponent with ChangeConstructionNodeBehavior

* Fix ordering of behaviors in MachineFrame
2021-02-09 20:08:06 +01:00
DrSmugleaf 33b5099efc Replace BreakableConstructionComponent with ChangeConstructionNodeBehavior 2021-02-09 19:59:52 +01:00
Vera Aguilera Puerto 9b1142973e
Renames phoron to plasma everywhere in the codebase and replaces sprites. (#3110) 2021-02-09 19:05:19 +01:00
DrSmugleaf 2d06990ee3
Remove breakable component (#3109) 2021-02-09 14:55:54 +01:00
Pieter-Jan Briers c4fe0c904c Merge branch 'master' into expl_int_analyzer 2021-02-08 22:46:28 +01:00
DrSmugleaf c479903538 Update RobustToolbox 2021-02-07 14:56:08 +01:00
DrSmugleaf f63a89f816
Add warning when using the mapping command in debug mode (#3095) 2021-02-07 16:36:34 +11:00
Alex Evgrashin 59e72697cb
Buildable wall light (#2644)
* Added empty light

* Can build light fixture

* Can construct and deconstruct small light

* You can build bulbs only on walls

* Playing with placement conditions

* Refactored code a bit

* Added check for north direction and snapping

* Fixed all small light sprites (wrong directions order)

* Fixed weird problem with bulb lights

* Fixed rotation on all stations

* Fixed map again

* Much better placement mode

* Deleted shared wall component and moved all logic to raycasts

* Missing bracket

* Better texture

* Moved wallmount condition to tags

* Removed station station

* Added suffix and fixed on map init bug
2021-02-07 00:05:53 +01:00
Pieter-Jan Briers 5cbb3f1222 Fix UI layout bugs with the PA. 2021-02-06 17:40:00 +01:00
DrSmugleaf 8ec4f1fb3d
Fix missing ignored components on the client (#3101) 2021-02-06 13:55:36 +01:00
metalgearsloth 7ed07c0cac
Cuff enhancements (#3087)
* Cuff enhancements

* Cuffs now have an OnClick for the alert to remove them
* nullables
* Use default interaction range so highlights are accurate
* Cuffing fails more gracely
* Make shared abstract and add component references to client / server
* Don't cache AudioSystem and HandsComponent given cuffs are rarely used

* Fix test

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-05 17:11:21 +01:00
Paul 856b293d87 Merge branch 'master-upstream' into expl_int_analyzer
# Conflicts:
#	Content.Server/GameObjects/Components/Body/Part/BodyPartComponent.cs
#	Content.Server/GameObjects/Components/Botany/PlantHolderComponent.cs
#	Content.Server/GameObjects/Components/Chemistry/PillComponent.cs
#	Content.Server/GameObjects/Components/Interactable/TilePryingComponent.cs
#	Content.Server/GameObjects/Components/Items/FloorTileItemComponent.cs
#	Content.Server/GameObjects/Components/Items/RCD/RCDAmmoComponent.cs
#	Content.Server/GameObjects/Components/Items/RCD/RCDComponent.cs
#	Content.Server/GameObjects/Components/Medical/HealingComponent.cs
#	Content.Server/GameObjects/Components/Power/WirePlacerComponent.cs
#	Content.Shared/Chemistry/Solution.cs
2021-02-04 17:50:28 +01:00
Paul d5cd82de60 explicit interface go brrrr 2021-02-04 17:44:49 +01:00
Pieter-Jan Briers 3be3b7da64 Fix suspicion timer going negative and counting up.
The sign was never shown but it's still silly.
2021-02-04 15:29:59 +01:00
Vera Aguilera Puerto 655316a67c
Add playback slider to instruments. (#3071) 2021-02-04 13:37:26 +01:00
DrSmugleaf 82a97857ac
Move TagComponent from server to shared (#3076)
* Move TagComponent to shared

* Fix test

* Not a web edited commit

No sir

* Update Content.Shared/GameObjects/Components/Tag/TagComponentState.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-04 21:04:19 +11:00
Pieter-Jan Briers 29918b2810 Fix suspicion round end timer, actually show it. 2021-02-04 04:16:36 +01:00
Remie Richards d45835e863
Janitor trashbag upgrade + FANCY ANIMATIONS (#3058)
* Janitor trashbag upgrade + FANCY ANIMATIONS

* Review, Bug fixes and Sounds
- Fixed hand-pickup animation playing if the entity originated from inside a container (e.g. bag on the ground) or from inside ourselves (e.g. something in our own inventory)

* Fix/Change. Just log if AnimateEntityPickup is called with an entity that has no SpriteComponent.

* More explicit log message. Error log.

* Merge. Fix.
2021-02-03 23:07:13 +01:00
Vera Aguilera Puerto 861271ea44 Fixes MIDI input button not being toggleable. 2021-02-03 21:43:31 +01:00
Radrark 937e261867
Add Smoke and Foam chemical reaction effects. (#2913)
* Adds smoke reaction effect

* smoke tweaks

* address reviews

* Smoke fix

* Refactor smoke and add foam

* Fix stuff

* Remove thing

* Little things

* Address some comments

* Address more things

* More addressing

* License stuff

* Address refactor request

* Small things

* Add nullability

* Update Content.Server/GameObjects/EntitySystems/SolutionAreaEffectSystem.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-02-03 15:26:46 +01:00
metalgearsloth 684ec60be6
Pausing content (#3061)
* Change EntityQuery to not retrieve paused by default

* GetAllComponents

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-04 00:20:48 +11:00
DrSmugleaf b0482dcb63
Add tag component and test (#2761)
* Add tag component and test

* Remove 0 capacity

* Add tag component extensions

* Change tags to be prototypes

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-02-02 12:11:04 +11:00
Acruid 8b5d66050a
Console Unify API Changes (#3059)
* Remove unused IChatCommand.

* Lots of refactoring into a shared context.

* Removed ICommonSession from server concmd Execute.

* Added argStr parameter to concmd execute.

* The execute function of client concmds now returns void, use the new shell.RemoteExecuteCommand function to forward commands.

* Finally move shells and commands into shared.

* Console commands can now be registered directly without a class in a shared context.

* Engine API Changes.

* Repair rebase damage.

* Update Submodule.
2021-02-01 16:49:43 -08:00
Vera Aguilera Puerto 044040effe
Port instrument menu UI to use XAML (#3066) 2021-02-01 16:49:32 +01:00
Acruid afb8e5a782 Stops the exception spam in console about PlayWeaponArc when the client is outside the PVS of a weapon swing. This does not fix the bug, just catches it. 2021-01-31 15:54:05 -08:00
Pieter-Jan Briers e0bf335030 Fix parallax constantly regenerating on Windows.
Because Windows does CRLF (yuck) the parallax file mismatches with the one shipped with the actual launcher client.

We now normalize the EOLs to fix this.
2021-01-31 00:08:43 +01:00
Pieter-Jan Briers 080846d396 Make AlertControl use AnimatedTextureRect for animated alert icons. 2021-01-24 23:02:29 +01:00
Pieter-Jan Briers c947bb75e6
You feel a tiny prick (Hypospray) (#3034) 2021-01-24 14:18:12 +01:00
py01 72b5ae9468
GasGeneratorComponent (#3029)
* GasGeneratorComponent

* gas generator sprite

* component comment

* replace the other typeof with nameof

* Update Resources/Textures/Constructible/Atmos/gasgenerator.rsi/meta.json

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Constructible/Ground/gasgenerator.yml

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/Atmos/Piping/GasGeneratorComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Server/GameObjects/Components/Atmos/Piping/GasGeneratorComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* specifies physics component

* comments

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-01-24 19:42:33 +11:00
20kdc e53ae365a3
Get rid of the OverlayEffectsComponent stuff (#3010)
* Get rid of the OverlayEffectsComponent stuff because it just ended up creating workarounds for it's bugs, without removing any functionality

* Flashes and Flashbangs use the same code now (the Flashable path because it's better)
2021-01-24 19:17:45 +11:00
metalgearsloth 329d599107
Fix drag-drop stripping (#3001)
* Fix drag-drop stripping

* More robust

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-24 19:00:58 +11:00
Pieter-Jan Briers 3874f1f77a HighDPI actions UI icons. 2021-01-24 02:32:56 +01:00
Pieter-Jan Briers 12b442d2ee EntityButton no longer inherits PanelContainer.
It didn't use the functionality so.
2021-01-23 21:51:18 +01:00
Pieter-Jan Briers 148c8daeb6 Adds 15/20/30 buttons to chem dispenser. 2021-01-23 20:27:45 +01:00
Paul cd5b6ecc90 Merge branch 'master-upstream' into expl_int_analyzer 2021-01-23 19:09:18 +01:00
Pieter-Jan Briers ae91059c0b Adds "Add Reagent" admin verb. 2021-01-23 16:45:20 +01:00
chairbender f9670d36c4
Improved Inventory / Hand Slots UI (#2965) 2021-01-20 09:32:44 +01:00
Alex Evgrashin 02ea6ce57c
Toilet (#3012)
* Ported sprites from eris

* Added yml

* lid open/close logic

* interactivity

* Working on new secret stash component

* Object will drop on destruction

* Can get item and examine message

* Reagent container and some cleaning

* Moved potted plant to stash

* New base prefab

* Now you can deconstruct toilet

* Small fixes

* Fixed unknown components errors

* Fixed grammar errors

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Now use prob

* More grammar

* Update Content.Server/Construction/Conditions/ToiletLidClosed.cs

Aaaaaaaa

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* No delays

* Amazing sound design

* Moved sound to mono

* Toilet viz

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-01-20 18:02:34 +11:00
py01 f9f724b4af
Piping sprites cleanup (#3022)
* Moves piping visualizers to own folder

* Pump visualizer update

* Siphon and vent visualiser only set enabled visibility

* PipeVisualizer cleanup

* Replaces off vent/scrubber sprites

* Gas filter sprite update

* Revert "Gas filter sprite update"

This reverts commit 676e5d55e1157a229b1445eeea53a5c8032dbbb5.

* Rotates gas filter sprites to match T-junction pipe directions

* Removes pipes from scruber and vent state

* Makes sprite components use layers

* disabled sprite netsync on piping entities

* piping meta.json cleanup

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-20 00:26:16 +11:00
Swept 5bc7343a9b
Initial (#3024) 2021-01-19 19:53:39 +11:00
py01 a7354f8e0d
DummyWireComponent (#3011)
* DummyWireComponent

* connector wire proto names

* comment fix

* Uses IMapInit

* Removes unused icon components

* Moves component to client

* Renames component

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-18 21:51:16 +11:00
komunre 2172d00409
Clusterbang (#2712)
* Code is ready but item now spawning

* Prototype of SeveralExplosive component

* Remaked to FlashExplosiveComponent using

* Done. But i feel myself retarted

* Remaked. Looks good

* Full loaded prototype added

* Throwing in progress. Fatal error is here

* I forgot about shared

* Sloth refactor

* Delayed spawning and fix crashes

* Full clusterbang code.

* Removed useless variable and tuned delay

* Delete wrong  in CreamPiedComponent

* Now yaml is code quality followed

* Reworked to GetLevel with bugs

* Never forget resources, guys

* RoundToLevels added. Now it works.

* New textures and sloth refactor is returned

* Now it's TryGetComponent

* Visualizer maximum fix and look fix

* Logging and no max and min check

* Removed max grenades sending

* vizualizer is better now

* GrenadesMax removed

* grammar, checks, NextFloat and no more try catch

* Unused using removed

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-18 21:16:34 +11:00
py01 e759a8aec9
Filter sprites & visualizer (#3008)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-17 16:10:22 +01:00
Pieter-Jan Briers 2526e98d47 Crisp double scale icons for top button bar.
Still looks good on 100% scale mode but looks much better on higher modes than the previous bilinear scaling.
2021-01-15 11:49:57 +01:00
Swept 3079ddd962
Fixes autoborg names dataset. (#3006)
* Initial

* Adds Recyclable to ignore

* .
2021-01-15 16:36:48 +11:00
Paul Ritter ce096f9c51
ports over datasets (#2663)
* ports over datasets & ignores the dataset prototype clientside

* moved dataset to shared

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-01-14 18:08:55 +11:00
py01 4c80082555
Reaction sound re-added (#2990)
* Reaction sound re-added

* Moves reaction sound file to reaction prototype

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-14 18:06:23 +11:00
chairbender 803eda40c3
Fix "stuck" drag/drop controls using ControlFocusExited (#2828)
* #1449 use new ControlFocusExited override for drag/drop controls to avoid getting
"stuck" dragging when the control lost focus mid drag, also use the renamed
KeyboardFocusEntered/Exited methods.

* Update Content.Client/UserInterface/ActionMenuItem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update ActionMenuItem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-01-13 23:20:23 +01:00
py01 1f18dd568a
GasFilterComponent (#2935)
* GasFilterComponent

* Client ignore component

* Diff fixes

* diff fix 2

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-13 23:15:53 +01:00
Pieter-Jan Briers 66c359770b Fix placement of some right click menus with UI scaling. 2021-01-13 03:32:39 +01:00
bgare89 9165dfa670
Job Preference Selection Now Painless (#2919)
* # UI Win.

This is my PR that requires an engine change.

  * Added RadioOptionButton
  * Made JobPrioritySelector easier to use.

Requires space-wizards/RobustToolbox#1484

* Better nam.

* Updated to use the new version that isn't a mess.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-12 23:29:20 +11:00
Pieter-Jan Briers 052ea49884
Implement magboots. (#2988)
Got an alert and action and everything.
2021-01-11 19:24:09 +01:00
metalgearsloth 97aa40e813
Content layered placement (#2543)
* Content layered placement

* Cache this hijack

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-11 22:43:24 +11:00
metalgearsloth acb3c72d99
Drag changes (#2487)
* Drag changes

* Higlights only show near cursor
* Don't highlight un-droppable entities
* Fixes invalid highlights issue

* Also the scanner

* 2 months fix

* Address reviews

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-11 22:14:01 +11:00
Paul d3dda274e3 fixes blockgamearcadecomponent runtime 2021-01-11 10:59:19 +01:00
NuclearWinter 57b3e7780d
Fix tutorial button being weird (#2984) 2021-01-11 10:12:37 +01:00
Pieter-Jan Briers 374b100a5e Use IGameTiming for lobby timing instead of DateTime.
Fixes #1681
2021-01-11 09:04:09 +01:00
Pieter-Jan Briers 563c15af34 Fix seeing do afters in the lobby. 2021-01-11 02:02:10 +01:00
ShadowCommander 2249081443
Fix traitor identification overlay (#2978) 2021-01-11 00:50:04 +01:00
Ygg01 c01b1d5c05
Add cigarettes and matches to SS14 (#2522)
* Add resources for cigs/matches

* Add files for cigarettes

* Remove Shared Components

* Applied some of the suggestions

* Change priority to allow matches to be set alight by matchbox

* Added item for pack of cigars

* Add swepts resources. Fix naming

* Fix naming, implement suggestions.

* Addressed Paul's suggestions

* Remove unused resources

* Fix Paul's suggestions
2021-01-11 00:17:28 +01:00
Vera Aguilera Puerto 12c733654c
Basic gibbing (#2973)
* Adds gibbing

* Adds adminbused absurd-damage foamblade

* Sane parts

* BaseOrgan -> BaseMechanism

* Do not do random offset on shared, fix killing oneself with click attacks

* BaseMechanism -> BaseHumanOrgan -> *stuff*

* Account for prediction, again

* Add gibbing sound
2021-01-10 20:12:34 +01:00
Vera Aguilera Puerto c557923cce Hide deadchat bubbles if the player's mob doesn't have a GhostComponent
Fixes #2964
2021-01-10 15:52:57 +01:00
chairbender ee6c28aede
Better logic related to selecting / deselecting target-based actions (#2962) 2021-01-10 15:27:55 +01:00
metalgearsloth aeb3c1832e
Fix clickmaps (#2967)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-10 15:24:33 +01:00
Morshu32 7bfdf30268
Add PlaceCentered bool to PlaceableSurfaceComponent (#2771)
* Added bool _placeCentered to check if an entity must be placed at mouse position or center of the PlaceableSurface (+ offset) when dropped.

* private variables formatted to camel case

* Use EqualsApprox in the setter for PositionOffset

* -Changed client-side SurfaceComponent to camelCase
-Added placeCentered and positionOffset to PlaceableSurfaceComponentState
-Getter and setters for placeCentered and positionOffset client-side

* Update Content.Client/GameObjects/Components/PlaceableSurfaceComponent.cs

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>

* Add "_" to private vars name

* Made YAML properties camelCase

* Add "_" to private vars name

* Call Dirty() when IsPlaceable,PlaceCentered and PositionOffset are changed.

* Removed Dirty() from client.

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-01-10 23:07:33 +11:00
py01 7bf80fd4b8
SolutionContainer refactors (#2954)
* removes unused method

* Code uncluttering (Also removed the netcode, color code, and visuals, need to rewrite)

* SolutionContainerVisualState

* Removes caching of SolutionContainer Color

* ChemicalsAdded() and ChemicalsRemoved() for updating appearance and handling reaction checks

* SolutionContainerComponentState

* Netcode

* ChemMasterComponent no longer creates a SolutionContainerComponent with new(), uses a Solution instead

* Enable nullable in SolutionContainer implementations

* Some review fixes

* uses IReadOnlyLists in ChemMaster

* Comments

* review fixes 3

* ReagentUnit documentation

* Review fixes

* spelling fix

* spelling 2

* typo

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-10 19:41:55 +11:00
Vera Aguilera Puerto d81a5faac4
Adds disarm action (#2950)
* Adds disarming

* Disarm acts

* yaml

* much better icon for disarm

* Apply Remie's suggestions, improve code!
2021-01-09 20:31:34 +01:00
Vera Aguilera Puerto 7986c0ff73 Fix knockdown help sound 2021-01-09 12:17:36 +01:00
chairbender 79dd7a7d7e
Improved top menu (#2949)
* #272 proper open sides in menu buttons

* #272 WIP, good starting point for making
the top menu work well at different UI scales

* #272 WIP top menu looking better, but inconsistent size

* #272 WIP esc nice and big

* #272 consistently sized top buttons

* #272 proper highlighting of top menu elements

* #272 proper highlighting of top menu elements

* #272 nice shiny red tutorial button

* #272 better tutorial icon

* #272 missed svg changes

* #272 consistently sized top menu

* #272 better padding / alignment of top bar with other UI sections

* #272 fix hamburger menu height to
match others

* #272 top menu name set based on
keybind, use shortened names if possible

* #272 top menu name set based on
keybind, use shortened names if possible

* #272 add top menu actions button

* #272 add top menu admin button

* #272 fix sandbox top button down status

* #272 remove todo
2021-01-09 15:40:07 +11:00
Metal Gear Sloth 42171a9b70 Stop github warnings 2021-01-09 14:51:27 +11:00
py01 b46b890618
Removes half-implemented ConduitLayer from piping (#2957)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-09 10:05:29 +11:00
AJCM 644dd23a1e Fixes console errors 2021-01-08 11:14:58 -04:00
Leo 8eb96cfb01
Add setoutfit command (#2874)
* Add setoutfit command

* Adds setoutfit as a verb and adds a proper UI to the command

* Removes from AdminMenuWindow

* Changes the SetOutfit verb to be a component verb instead of a global verb

* Addresses reviews

* Remove empty method

* Remove on server aswell
2021-01-08 14:29:08 +01:00
mirrorcult 7977992e5a
Add kitchen knife & sliceable foods (#2891)
* sliceable food, kitchen knives

* sprite fixes, sounds

* add to vendor

* address reviews

* address reviews

* stereo -> mono

* fix wrong amount of nutriment being removed

* oops im dumb

* meta.json

* fix merge

* probably fix test

* remove all instances of [ComponentReference(typeof(IAfterInteract))]

Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-01-07 12:48:08 +11:00
Clyybber 6a56d86862
Enable FocusOOC and FocusAdminChat keybinds in lobby screen (#2917) 2021-01-06 13:05:06 +11:00
Swept 350f7313be
Replaces medical scanner sprite. (#2870)
* Initial

* Let's go

* Updates the pods meta.json cause I can
2021-01-05 02:10:24 +01:00
Leo 447f0af6c2
Allows admins to see deadchat and adds a toggle for deadchat for admins and ghosts (#2904) 2021-01-04 09:25:33 +01:00
Pieter-Jan Briers c1f53a4303 Clean up a ton of bugs with suspicion. 2021-01-04 09:18:28 +01:00
Vera Aguilera Puerto 9c2aaef73a
Makes accept cloning message use Eui (#2910) 2021-01-03 17:20:17 +01:00
AJCM-git c04a0270e1
Updates client IgnoredComponents list (#2859) 2021-01-03 16:23:50 +01:00
Swept 81730e2612
Backpack preferences. (#2864)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-01-03 16:22:14 +01:00
Paul ed4202c9eb content using robust.analyzers 2020-12-29 16:10:15 +01:00
Radrark 3aa2ffcda2
instrument menu now displays the instrument name (#2840)
Co-authored-by: Radrark <null>
2020-12-26 23:30:37 +01:00
metalgearsloth 24d1c967b6
Airlock icon smoothing (#2789)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-26 19:24:03 +11:00
metalgearsloth 73579bcd07
Fix low wall overlays (#2788)
Most noticeable when rotating walls I think which Saltern doesn't have.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-26 18:08:01 +11:00
20kdc 6b5cded8c2
Clothing and pronoun fields (#2689)
* Clothing & Gender fields: Add to database [MODIFIED TO NOT DEPEND ON SAPHIRE-DB-REFACTOR]

Sorry about this, Saphire.

* Clothing & Gender fields: Add UI [FALLBACK II]

* Clothing & Gender fields: Actually apply gender

* Clothing & Gender fields: Import innerclothingskirt field from my previous attempt

Couldn't import actual prototypes because of a change to IDs

* Clothing & Gender fields: Add innerclothingskirt field to everything

* Clothing & Gender fields: Jumpskirts now work

* Clothing & Gender fields: Gender field will follow sex field if it's not different (UX improvement) [FALLBACK II]

* Clothing & Gender fields: Gender -> Pronouns to reduce confusion. Also, fix profile summary. Properly. [FALLBACK II]

* Clothing & Pronoun fields: Refactor so that profile equipment adjustments are performed in StartingGearPrototype.
2020-12-24 14:42:40 +01:00
Pieter-Jan Briers 44e3cc9395 Alerts now use SpriteSpecifier 2020-12-23 23:45:52 +01:00
Pieter-Jan Briers 9b53793ca5 Adds permissions panel to admin menu. 2020-12-23 17:08:34 +01:00
Pieter-Jan Briers 2e6ab15a2a Clean up station events synchronization code.
AAAAAAAAAAAAAAAAAAAAAAAAAAA
2020-12-23 17:08:34 +01:00
Vera Aguilera Puerto ce029f461e Do not ignore up in hotbar keybinds. 2020-12-23 12:35:05 +01:00
chairbender 9a3dee2042
Hotbar Improvements + Item Action Integration Test (#2749)
* my IDE keeps wanting to change this so....

* Add item actions integration test, fix bug where empty item action
dict was left in SharedActionsComponent state

* bigger hotbar arrows

* nice wide hotbar pagination hitboxes

* add ability to switch hotbar loadout
via keybinds

* always highlight on drag over
of actions hotbar

* dont rely on content entity for integration test
2020-12-22 15:41:56 +01:00
ike709 d9d168a324
Adds missing gas canisters and improves the UI (#2794)
* Adds missing gas canisters and improves the UI

* Pad the label
2020-12-21 11:52:50 +01:00
Pieter-Jan Briers 9f4b0f49c2 Merge branch 'master' into xamlui 2020-12-21 03:08:05 +01:00
Paul d0c7cfdbdc targets file 2020-12-20 21:47:46 +01:00
DrSmugleaf 0b24d425d2
Add job categories to the lobby screen (#2770)
* Rename department property to departments

* WIP Categories

* Add better spacing to categories

* Fix first separator and sync selectors

* You want some types with that

* Apply changes to latejoin as well

* Add category sorting to the late join gui as well

* CONTROL STUCK
2020-12-20 04:33:10 +01:00
DrSmugleaf 0172613a7d
Remove wireless surgery (#2785)
* Remove wireless surgery

* Change surgery window title to Surgery

* Remove todo

* Check only tools with a window open
2020-12-20 04:31:39 +01:00
DrSmugleaf 026d96fd2d Replace MaybeNullWhen(false) with NotNullWhen(true) 2020-12-20 04:14:41 +01:00
DrSmugleaf f7edb9ce7e Ignore GlassBeaker and TraitorDeathMatchRedemption components on the client 2020-12-20 04:01:04 +01:00
Vera Aguilera Puerto c9e9d9f4dd Instruments have a property for enabling/disabling MIDI limits.
- Added unlimited super synth that doesn't respect MIDI limits! Adminbuse it to your heart's content and blast your epic MIDIs, fellow badmins.
2020-12-20 01:43:29 +01:00
Paul df81912e45 stuff 2020-12-19 12:59:53 +01:00
GraniteSidewalk 89f8d0f34c
Cargo Telepad (#2579)
* Cargo telepad

* fixes error

* more efficient tile lookup

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-19 13:14:26 +11:00
Morshu32 19bd739b0d
PreventCollision with strap component while buckled to it (#2694)
* AvoidCollision if collided entity is the one that the character is buckled to

* Attempt to PreventCollision after the player is unbuckled but still colliding with StrapComponent

* Moved PreventCollide to the Shared script.

* Add WakeBody to keep updating the physics collision while being on a collidable strap component.

* Addressed some of metalgearsloth's suggestions:
- Made EntityBuckledTo,IsOnStrapEntityThisFrame and DontCollide not virtual
-Made EntityBuckledTo nullable
-Don't call update on Paused BuckleComponents
-Removed EntityBuckledTo variable declaration in BuckleComponent because it's not needed anymore
-Call TryUnbuckle if (!IsOnStrapEntityThisFrame && DontCollide) to set BuckledTo entity to null.

* Formatting

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

* Formatting

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

* Formatting again :P

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

* Formatting

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

* Formatting

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

* Renamed variable EntityBuckledTo to LastEntityBuckledTo

* As per DrSmugLeaf suggestion: Added [ComponentDependency] to the Body variable.

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-12-18 20:12:53 +01:00
Pieter-Jan Briers dc07718a7c
Fix click detection of sprite-rotated entities. 2020-12-18 01:36:15 +01:00
Paul 76fba70db1 things 2020-12-18 01:00:04 +01:00
Paul c6021c4b05 constructionmenu but not shit 2020-12-18 00:50:49 +01:00
Paul 2befb88872 adds targets for xamlui codebehind 2020-12-18 00:50:34 +01:00
Paul 0738f62ed0 things 2020-12-17 23:30:48 +01:00
DrSmugleaf 4e0f52bbaf
Add do after to surgery (#2756)
* Cleanup surgery classes

* Add DoAfter to surgery

* Consolidate doafter, break on user and target move

* Ignore biological surgery data component on the client

* Apply suggestions from code review

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Use a stringbuilder  for surgery descriptions

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-18 00:21:43 +11:00
DrSmugleaf 3d60965fd9 Fix casing in Show BB button 2020-12-17 13:08:20 +01:00
chairbender 27d5019df0
Fix server NRE on clicking alerts with no OnClick (#2748)
* #2744 fix NRE on clicking alerts with no OnClick, and don't send the click
message unless the alert has an onclick

* #2744 fix NRE on clicking alerts with no OnClick, and don't send the click
message unless the alert has an onclick
2020-12-16 12:13:57 +01:00
py01 c770c6b37e
ChemicalAmmoComponent (#2739)
* ChemicalAmmoComponent

* Moves BarrelFiredMessage to FireProjectiles

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-12-16 00:38:41 +11:00
chairbender 7a3c281f60
Actions System + UI (#2710)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-13 23:28:20 +01:00
R. Neuser 4ea18f2449
UI Scaling Fixes for do_after and PopupMessage (#2737)
* Fixes do_after bar placement when using UI scaling

* Add Scaled Screen Position debug overlay to DebugCoordsPanel
Fix PopupMessage being in the wrong location when using UI scaling

* Fix warning
2020-12-13 15:24:16 +11:00
Pieter-Jan Briers 450e30fbda
Update submodule, NuGet natives 2020-12-13 01:14:29 +01:00
Exp bb905c9628
Fixes Paper throwing when you insert invalid tags (#2732) 2020-12-10 23:19:55 +01:00
metalgearsloth abed6fc15d
More nullas as errors (#2611)
* More nullas as errors

* I thought I'd tried this but maybe I'm a dumbo

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-09 23:28:24 +11:00
20kdc 58af9003e7
Canisters [ Continuation of clement-or #2544 ] (#2628)
* Added atmos sprites from CEV-Eris

* Moved canister sprites to appropriate dir

* Removed unnecessary sprites, edited canisters prototype

* Created Gas Canister UI and release pressure buttons

* Changed GasMixture's pressure calculation (convert liters to cube meters)

* Added relabeling Canisters

* Reverted changes on GasMixture

* Changed my name in the credits

* Added valve opening on canisters

* Change canister visual state when connected to a port

* Added nullable to SharedGasCanisterComponent

* Replaced nullable contexts

* Changed again nullable annotation context

* Moved name in the credits to correct alphabetical order

* Canisters: Fix the most blatant issues with this PR (the added project interdependencies for no reason whatsoever)

* Canisters: Stop crashes when canisters leave atmosphere

* Canisters: Gas released into no atmosphere gets transferred "into space" (deleted)

* Atmos: Nullability annotations on TileAtmosphere, explaination of the states of TileAtmosphere.Air

* Canisters: If in an airblocked tile, do NOT release gas

* Scrubbers: Fix typo leading to them not connecting properly.

* Revert manual changes to credits file (sorry!) (1/2)

This reverts commit 94f3b0e5df8d9c2fa189866a17a231920f99bdaf.

* Revert manual changes to credits file (sorry!) (2/2)

This reverts commit 1986fb094dfaa44060f08d280f36b755258d17a6.

* Canisters: Apply @Zumorica 's reviews

* Canisters: Add missing localization as suggested by PJB

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

* Canisters: Pressure lights!

* Canisters: Light is now unshaded.

* Canisters: Now using IActivate

* Gas canisters (& air canister), now with their numbers properly calibrated (hopefully)

* Canisters: Refactor how their layers are added to be more like ApcVisualizer

* Canisters: Clean up of the tile invalidation/air release logic

* Canisters: Some gas canister window improvements

* Canisters: Clean up release pressure change button label code

Co-authored-by: Clement-O <topy72.mine@gmail.com>
Co-authored-by: Clément <clement.orlandini@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-12-08 20:45:24 +01:00
py01 656eb7dc2e
ChemicalInjectionProjectileComponent (#2657)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-12-08 23:19:01 +11:00
py01 cc26218060
MeleeChemicalInjectorComponent (#2645)
* MeleeWeaponComponent OnHittingEntities event

* MeleeChemicalInjectorComponent

* Moves melee onhit action to EventBus

* serialization fix

* prototype fix

* redid chem transfer logic

* MeleeChemicalinjector uses ComponentMessages

* divide by 0 fix

* Update Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:57:47 +01:00
metalgearsloth 9788cf8ead
Fix some string crimes (#2638)
* Fix some string crimes

* fuk

* stringbuilder score

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-08 11:58:55 +01:00
DrSmugleaf 2dc05b2275
Add UsedImplicitly to visualizers and entity systems (#2592) 2020-12-08 11:56:10 +01:00
DrSmugleaf 02bca4c0d8
Damage rework (#2525)
* Make damage work through messages and events, make destructible not inherit ruinable or reference damageable

* Copy sound logic to destructible component for now

* Fix typo

* Fix prototype error

* Remove breakable component damageable reference

* Remove breakable construction reference

* Remove ruinable component

* Move thresholds to individual components and away from damageable

* Add threshold property to damageable component code

* Add thresholds to destructible component, add states to damageable, remove damage container, fix up mob states

* Being alive isn't normal

* Fix not reading the id

* Merge fixes

* YAML fixes

* Grammar moment

* Remove unnecessary dependency

* Update thresholds doc

* Change naming of thresholds to states in MobStateComponent

* Being alive is once again normal

* Make DamageState a byte

* Bring out classes structs and enums from DestructibleComponent

* Add test for destructible thresholds

* Merge fixes

* More merge fixes and fix rejuvenate test

* Remove IMobState.IsConscious

* More merge fixes someone please god review this shit already

* Fix rejuvenate test

* Update outdated destructible in YAML

* Fix repeatedly entering the current state

* Fix repeatedly entering the current state, add Threshold.TriggersOnce and expand test

* Update saltern
2020-12-07 14:52:55 +01:00
Manel Navola 7265c53391
Added master volume slider in audio options (#2642)
Co-authored-by: Manel Navola <ManelNavola@users.noreply.github.com>
2020-12-05 21:14:16 +01:00
R. Neuser c4c4a1ca8c
Use MousePositionScaled instead of absolute MousePosition to fix UI-scaling issues (#2568)
* Use MousePositionScaled instead of absolute MousePosition to fix UI-scaling issues

* Fix compiler warnings
2020-12-04 15:24:22 +01:00
ColdAutumnRain 266d2909d7
Added enum types (#2701) 2020-12-04 11:57:33 +01:00
Vera Aguilera Puerto c3341132c5
Upgradeable machines. (#2675)
* Start work on upgradeable machines.

* Upgradeable machines work

* Component requirements for upgradeable machines

* Better container handling

* Remember to not push submodule updates in your PRs, kids!

* Refresh parts after building a machine.

* NetSync false

* Address some reviews, fix some bugs

* Nullable stackhelpers dependencies

* Use container helper method to delete all entities in containers

* Nullable string in AddContainer

* Better examine for machine frame and construction in general

* Machine breakage

* Nullable node

* nullable GraphPrototype

* Re-save saltern for autolathe parts

* Fix SaveLoadSave
2020-12-03 22:49:00 +01:00
DrSmugleaf 7905d93564
Fix adding then removing a hand causing an error (#2684) 2020-12-03 13:14:56 +11:00
Exp 876cbb9d18
Fix exception when selecting two jobs with high prio (#2671) 2020-12-02 20:41:55 +11:00
metalgearsloth 7546cf09c3
Ignore datasets (#2670)
I wanna read tests and don't wanna wait to approve dataset pr

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-02 20:41:05 +11:00
Swept a00d042dbe
Slight changes to lobby screen. (#2622)
* Initial

* More

* Pissed in a cup

* Cleansup some gunk I accidently committed

* More fuckups

* Added third gender option

* Applied review

* Fixed changed storage

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-02 19:45:07 +11:00
Paul Ritter 71aaf54595
Fixes CameraRecoil runtime (#2662)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2020-12-01 20:41:16 +01:00
Paul Ritter f7c09fbd7e
Traitor (#2566)
* basic implementation

* minor fixes

* objectives temp commit

* proper onstart bind

* changes all conditions to be bound to a mind-instance

* oops

* oops v2

* adds possiblity to enable duplicate assignment of objective
equal objectives are unable to be added

* minor fixes, adds greentext

* refactors incompatability to be defined by requirements

* fixes a wrong whitespace

* minor fix

* addressed reviews v1

* address reviews v2

Co-authored-by: Exp <theexp111@gmail.com>

* final sweep

* adds/refactors traitor&sss cvars

* Update Content.Server/Mobs/Mind.cs

* never trust github web

* adds datasets & makes codewords use them

* addresses exp's reviews

* addressed zumos reviews

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
2020-12-01 17:05:19 +01:00
20kdc bb22da6827
Atmos Debug Overlay expansion (#2626)
* Atmos Debug Overlay: Add a way of showing blocked directions

* Atmos Debug Overlay: Adjustable modes client-side

* Atmos Debug Overlay: Fix atvrange help text

* Atmos Debug Overlay: More flexible and clear gas ID specification
2020-11-28 14:45:52 +01:00
Exp 97973c3e78
Fix ParallaxGenerator dying (#2637) 2020-11-28 02:36:06 +01:00
Víctor Aguilera Puerto cec722e19e
CVars for MIDI instrument limits (#2632)
* CVars for MIDI instruments limits!

* Localize this

* Cache CVars in instrument systems

* better naming

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-11-27 17:12:45 +01:00
Pieter-Jan Briers 9cd297899d
Hide patreon link on Steam, fix YamlDotNet 9.1.0 parse error, update patrons list. 2020-11-27 16:31:36 +01:00
Víctor Aguilera Puerto 71661974b8 Remove duplicate parallax cvars 2020-11-27 12:19:01 +01:00
Víctor Aguilera Puerto 5f60bf75ed Ignore FirelockElectronics component on the client 2020-11-27 12:18:01 +01:00
Morshu32 6b413033d1
Execute BlockGame game actions only if _running is true, added localization functions and italian strings to the blockgame UI (#2601)
* BlockGamePlayerAction are only executed if _running is true, added italian localization file for blockgame UI

* Added localization functions and files for BlockGame arcade. Removed unused public variable added in the previous commit.

* Added new line to end of file blockgame.yml

* Update Content.Client/Arcade/BlockGameMenu.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Moved EndLeft,EndRight and SoftdropEnd actions out of the condition as per suggestion by Paul.

* Added Loc.GetString() to "Nanotrasen" and "Nanotrasen Block Game" to enable transliteration of the name in other alphabets as per suggestion of Remie.

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2020-11-27 21:36:04 +11:00
Paul Ritter d80ec927bb
Removes some unused fields (#2603)
* removes some unused fields

* thats an oopsie

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-27 21:10:08 +11:00
DrSmugleaf 5c0cf1b1a0
Use 'new' expression in places where the type is evident for content (#2590)
* Content.Client

* Content.Benchmarks

* Content.IntegrationTests

* Content.Server

* Content.Server.Database

* Content.Shared

* Content.Tests

* Merge fixes

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-27 21:00:49 +11:00
Pieter-Jan Briers 0a488ddc4a
Merge branch '20-11-27-merge' 2020-11-27 00:54:29 +01:00
DrSmugleaf 06b1939a60
Update usages of ! is with is not (#2584)
* Update usages of ! is with is not

* Content.IntegrationTests commit

* Content.Server commit

* Content.Shared commit

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-27 00:33:31 +11:00
Peter Wedder 32d8cc0c1e
Rerun of "Add Reagent Grinder/Juicer" (#2570)
* commit skeleton reagent grinder component

* add reagentgrinder bounduserinterface, add suffix to grinder yml, add reagentgrinder sprites

* implement much more of the grinder ui functionality

* get more use out of hasbeaker bool

* complete wiring up most of the chamber/beaker UI controls

* remove whitelist prototype id. add grindable tag component

* add juiceable component

* rename boolparam to be clearer

* more juice

* add some juice reagents and apply them to their drink prototypes

* re add glassyellow

* implement juicing and results

* add time delay to grindjuice

* add reagent grinder visualizer, add reagent grinder sounds, fix some yaml errors too

* interface has clear indication of currennt operation, and busy status

* add ReagentGrinder to Client ignnored components

* Update Content.Client/GameObjects/Components/Kitchen/ReagentGrinderBoundUserInterface.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Client/GameObjects/Components/Kitchen/ReagentGrinderBoundUserInterface.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Shared/Kitchen/SharedReagentGrinderComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* implemennt  sloth changes

* fix isbusy

* Disable grind/juice buttons if there's nothing to grind or juice, also some misc fixes

* unsubscribe from messages on remove + fix xmlcomment

* fix bounding box

* Add these to dictionary

* Add these to client ignore

* Whitespace and unneeded import fixes

* tommy's toes

* Where'd these newlines come from

* power

* improve bounding box

* Check power better & show contents when beaker is ejected

* check power here

* Disable eject buttons when running

* improve comments

* readwrite for viewvars on work time and capacity

* Address most of Sloth's reviews

* Make this cleaner

* add grindablecomponent to motherfucking everything

* Fix reviews

* some more null suppressions

* remove unused random field

Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
Co-authored-by: namespace-Memory <66768086+namespace-Memory@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-26 23:53:42 +11:00
Pieter-Jan Briers 0dbb75051e
Content changes for file dialog stuff. 2020-11-25 18:00:18 +01:00
Pieter-Jan Briers 0cc74f7095
Use Robust color instead of System.Drawing. 2020-11-24 12:53:24 +01:00
Pieter-Jan Briers 99a15438bc
Merge remote-tracking branch 'upstream/master' into 20-11-19-sandboxing 2020-11-24 08:39:05 +01:00
DrSmugleaf 607be16c0d
Update LangVersion to 9 for all Content projects (#2587) 2020-11-24 01:36:36 +01:00
Pieter-Jan Briers 21976e265c
Remove Nett .Get<> methods from content.
They could allow bypassing sandbox due to how the deserialization logic works.
2020-11-24 00:15:30 +01:00
Pieter-Jan Briers e59aa1c2cc
Fix another case of constant expression DataField. 2020-11-24 00:15:00 +01:00
Pieter-Jan Briers 6395345925
Fix bad reflection usage from OverlayEffectsComponent. 2020-11-24 00:14:46 +01:00
Pieter-Jan Briers fcb5787d33
Use YamlDotNet to load patrons JSON file.
So that i don't have to add Newtonsoft.Json stuff to the sandbox whitelist.

YAML is a JSON superset after all...
2020-11-24 00:14:23 +01:00
Alex Evgrashin fb6dd4a490
Working flashlight for hard hats (#2599)
* Add verb to toggle flashlight

* Playing with hand-held light for hard hat

* ClothingEquippedPrefix will update players sprite when changed

* Make abstract prototype for hardhat and fixed hardhat orange sprites

* Fixed all other hard hats

* Fixed requested changes

* Restore prototype and sprites changes

* Nullables

* That's actually nullable

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-23 14:17:38 +11:00
Ygg01 8a19052394
Removed Catwalk. Replaced with FootstepModifierComponent (#2496)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-23 01:02:39 +11:00
Paul Ritter 6602c8c972
Objectives (#2459)
* temp commit to save progress

* adds objectives

* refactors mind.addobjective a bit

* better names for my testobjectives which i'll remove later on anyways

* nullable errors

* some misc fixes

* no sorted or set, what was i thinking here?

* removes unused imports

* added commands

* fully implements stealcondition

* started uiwork

* moved prototypeicon to engine

* removes objective class & uiwork

* refactors ui to only update when opened
adds progresstexturerect

* adds some margin

* removes some testing code

* ignores objectiveprototypes on clientside

* fixes

* removes using statements for exp

* gets the job

* always show issuer

* locs & _

* giving commands some love

* Update Content.Client/GameObjects/EntitySystems/DoAfter/DoAfterBar.cs

Co-authored-by: Exp <theexp111@gmail.com>

* makes commands use new thingy

* string interpolation

* good catch exp

* loc'd

* linq gone

* runtime

* moves function from engine

* oopsie

* Update Content.Server/Objectives/Conditions/StealCondition.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* makes messages directed

* base call & validation

* shuffle once

* No? Money down!

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-22 18:38:07 +11:00
Alex Evgrashin ccb7719935
Glass shards can be refined by welder (#2576)
* Added refine component for glass shard

* Add refinable to rest of the shards

* Fixed windows shard count

* Now objects can vary refine time

* Windows will spawn correct shards after destruction

* Added all requested changes

* Client ignore as well

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-22 15:05:30 +11:00
Manel Navola 8c81e7c767
Added threshold to DoAfter's user and target movement checks (#2585)
* Added threshold to DoAfter user and target movement checks

* Fixed spacing

* Update Content.Server/GameObjects/EntitySystems/DoAfter/DoAfterEventArgs.cs

Co-authored-by: Manel Navola <ManelNavola@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-22 13:58:31 +11:00
DrSmugleaf 749cd11d33
Add readonly where it is missing and fix those field names according to their modifiers (#2589) 2020-11-22 00:02:00 +11:00
Git-Nivrak 6d2882c7cf
(Smaller) Construction PR - (IC Construction) (#2575)
* Disable Pulling When Buckling an entity

* Projectile Improvements

If you shoot at a person that is critted now it will only hit if you aim at that person otherwise go "above" him and hit other targets.
- Dead people are still unhitable

* Update Content.Server/GameObjects/Components/Buckle/BuckleComponent.cs

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>

* Firelock In Progress

* Revert "Projectile Improvements"

This reverts commit 5821afc798e49e530d4086d7a9ddbe097805fdc4.

* Firelock Graph

* Revert "Merge branch 'master' into test2"

This reverts commit c69661cc7d9dcdc6d8c0dd45770f9eb94b231463, reversing
changes made to 5f1de8b8d24cd52190addb3df5617cb1012fd52c.

* Bunch of stuff

- Metal Rods
- Reinforced Glass
- SetStackCount Condition
- Tables
- Lattice

* Output2 to FloorTileItemComponent

* Plating, Underplating and Tiles (+FloorTile Improvements)

* Turf Fixes

+ APC Electronics

* Reinforced Glass In-hand textures

* All the fixes

* Final Changes

* (Hopefully) Last commit

* Update Resources/Prototypes/Entities/Constructible/Doors/firelock_frame.yml

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Server/GameObjects/Components/Atmos/FirelockComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* A Few more things

* Edit FirelockComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-20 15:58:06 +01:00
Pieter-Jan Briers 112933fc6e
Fix usage of wrong MathHelper class in AlertControl.cs 2020-11-19 03:34:26 +01:00
ColdAutumnRain f5dc62b533
Removed EntityManager member variable from Components and EntitySystems (#2502)
* Removed EntityManager member variable from Components and EntitySystems

* Removed EntityManager with minor corecctions

* Update PathfindingSystem.cs

* Update InteractionSystem.cs

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

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>

* Update Content.Client/GameObjects/Components/Suspicion/SuspicionRoleComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Client/GameObjects/Components/Suspicion/TraitorOverlay.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Buckle/BuckleComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Buckle/BuckleComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/PDA/PDAComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Singularity/SingularityComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Singularity/SingularityComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/EntitySystems/AI/Pathfinding/PathfindingSystem.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

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

Co-authored-by: Clyybber <darkmine956@gmail.com>

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

Co-authored-by: Clyybber <darkmine956@gmail.com>

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

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Stack/StackComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Clyybber <darkmine956@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-11-18 15:45:53 +01:00
Paul Ritter 501156f84c
makes conveyors to use machine linking & refactors machine linking a bit (#2464)
* makes conveyors to use machine linking & refactors machine linking a bit

* nullable errors

* temp commit, starting work on construction

* working recipies & graphs

* fixes crash

* makes items gravitate towards the center when on a conveyor

* makes conveyors take bool signal too

* ignores components clientside

* default arm
entitymanager
maxtransmitters
unsubscribe methods

* twowayLEVER

* _

* componentreference
struct

* yaml run
leverDefinitelyNotCopiedFromGirderNoNoNo dies today :(

* nullable

* no divide by 0

* making sloth happy

* space gone - happy?

* final fix

* yes

* adds item to lathe

* conveyor item -> conveyor assembly

* technology

* reviews ADRESSED

* Update Content.Shared/GameObjects/Verbs/VerbUtility.cs

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-19 00:53:46 +11:00
metalgearsloth ca0ced2b61
Another github warning as error (#2516)
* Another github warning as error

* Also these ones.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-18 18:19:25 +11:00
DrSmugleaf f680f50059
Fix running showatmos twice not disabling the atmos overlay (#2557)
* Fix running showatmos twice not disabling the atmos overlay

* Remove entity manager dependency
2020-11-18 18:18:04 +11:00
DrSmugleaf 6549961a02
Update documentation for body system code (#2556) 2020-11-15 14:22:59 +11:00
DrSmugleaf b1a7aef97d
Make atmos debug overlay system data clear on round restart (#2558) 2020-11-15 14:16:02 +11:00
metalgearsloth 4704f607e6
Align storage welders with door welders (#2393)
* Align storage welders with door welders

* Spamming the button doesn't punish you.
* Requires lit welder to start
*

* Nulla-builda-buddy

* A certain smug in a bucket

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-14 01:08:00 +11:00
metalgearsloth 02f827f063
Minor appearance changes (#2370)
* Minor appearance changes

* Remove that redundant deleted property

* Fixes and remove redundant checks

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-11-14 00:42:35 +11:00
metalgearsloth 4f03c81ddc
DummyIcon test (#2515)
* DummyIcon test

Also the relevant fixes.

* Unbox this

* 3rd string

* Update Content.Client/GameObjects/Components/Kitchen/MicrowaveVisualizer.cs

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

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-11-14 00:27:13 +11:00
DTanxxx 69d709a28f
Updated ContainerHelpers to use new extensions (#2530)
Co-authored-by: David Tan <>
2020-11-13 18:25:04 +11:00
metalgearsloth 9f9bd3ade6
Fix build (#2541)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-13 18:10:07 +11:00
Pieter-Jan Briers 287c23dee3
Merge branch 'multiple-callbacks' into 20-11-13-merges 2020-11-13 01:30:07 +01:00
Pieter-Jan Briers 5ff8aa7fb1
Merge branch '20-10-30-admins' into 20-11-13-merges 2020-11-13 01:29:08 +01:00
Pieter-Jan Briers 9e36ef2202
Fix compiler warnings. 2020-11-11 01:48:54 +01:00
Pieter-Jan Briers f8f177f43a
More comments and a fix. 2020-11-10 22:00:07 +01:00
Pieter-Jan Briers 736f9958cc
Cleanup, code review, comments. 2020-11-10 21:30:20 +01:00
Pieter-Jan Briers 00774e90ed
Merge remote-tracking branch 'upstream/master' into 20-10-30-admins 2020-11-10 16:59:17 +01:00
Pieter-Jan Briers e39ddd4802
Permissions panel. 2020-11-10 16:50:28 +01:00
chairbender 5f788c3318
Alerts System and UI (#2529)
* #272 add bordered panel for effects bar

* #272 avoid mouse overlapping tooltip when near edges,
change tooltip colors to match mockups

* #272 WIP defining status effect states as YML and
sending them as encoded integers

* #272 refactor to use new alert system

* #272 refactor to use new alert system

* #272 fix various bugs with new alert system and update
alerts to have color

* #272 WIP

* #272 rename status effects to alerts

* #272 WIP reworking alert internals to avoid code dup
and eliminate enum

* #272 refactor alerts to use
categories and fix various bugs

* #272 more alert bugfixes

* #272 alert ordering

* #272 callback-based approach for alert clicks

* #272 add debug commands for alerts

* #272 utilize new GridContainer capabilities for sizing of alerts tab

* #272 scale alerts height based on
window size

* #272 fix tooltip flicker

* #272 transparent alert panel

* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip

* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip

* #272 alert prototype tests

* #272 alert manager tests

* #272 alert order tests

* #272 simple unit test for alerts component

* #272 integration test for alerts

* #272 rework alerts to use enums instead
of id / category

* #272 various cleanups for PR

* #272 use byte for more compact alert messages

* #272 rename StatusEffects folder to Alerts,
add missing NetSerializable
2020-11-10 15:22:19 +11:00
Exp c82199610d
Fix Exception when updating preview (#2533) 2020-11-09 18:36:45 +01:00
Exp d45072495e
Adds a live preview to the character customizer (#2523)
* Preview

* -Dispose Dummy
-Unsubscribe from OnServerDataLoaded
2020-11-08 23:44:04 +11:00
Exp 6e3cc9e78a
PDA Pen Holder (#2519)
* -Adds pens to pdas
-Adds eject pen verb

* Reviews:
-Changed Container into ContainerSlot
-Starting prototypes are now nullable
-Removed double GetComp call

* EjectPen Button
2020-11-08 23:43:13 +11:00
metalgearsloth 54e0747577
Fix crematorium visualizer crash (#2513)
* Fix crematorium visualizer crash

* Also morgue

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-07 14:44:47 +11:00
DrSmugleaf bf5b9ad03b
Change cvar usages to use CVarDef and define them in CCVars (#2250)
* Change cvar usages to use CVarDef and define them in CCVars

* Merge fixes

* Remove duplicate cvar registration
2020-11-07 11:15:56 +11:00
Víctor Aguilera Puerto a7e7f20417 Remove dependency.
Yeah, let's not ever again. Please.
2020-11-07 01:04:15 +01:00
metalgearsloth 864fa0a57c
Minor device network changes (#2499)
* Device network changes

* Update too

* Update Content.Server/GameObjects/EntitySystems/DeviceNetworkSystem.cs

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-11-05 18:04:21 +01:00
Swept 6a72a0365d
Camera doesn't move on melee attack (#2107) 2020-11-03 13:30:36 -08:00
moonheart08 1e9968f2e1
add machine linking button to sandbox panel. (#2484)
* add machine linking button to sandbox panel.

* Update Content.Client/Sandbox/SandboxManager.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2020-11-03 21:14:43 +11:00
DrSmugleaf 6b4a39006e
Make mechanism behaviors properly update, fix eating and drinking (#2472)
* Make mechanisms properly update and fix eating and drinking

* Remove outdated component ignores

* Fix nullable error

* Fix mechanism behavior events

* Remove unnecessary code
2020-11-02 11:37:37 +01:00
Tomeno 015539dcdc
Revert to old cooldown and unify with DoAfter (#2469)
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2020-11-02 11:32:03 +01:00
Pieter-Jan Briers c9236d88ac
Merge remote-tracking branch 'upstream/master' into 20-10-30-admins 2020-11-02 00:24:15 +01:00
Pieter-Jan Briers 637581bf3b
Correctly update the admin button the chat box. 2020-11-01 23:55:55 +01:00
metalgearsloth 2e65b1e5fa
Optimise flashlights (#2468)
Flashlights were calling dirty EVERY TICK so this just means they only call it when absoluetely necessary which saves a lot.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-31 21:56:46 +01:00
Paul Ritter 95590833ce
ignores some components (#2461)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2020-10-30 18:08:39 +01:00
DrSmugleaf f52ec5a8f7
Fix icon smoothing component not working with rotated entities (#2455) 2020-10-30 16:28:54 +01:00
Pieter-Jan Briers 711166f43a
Merge remote-tracking branch 'upstream/master' into 20-10-30-admins 2020-10-30 16:23:21 +01:00
Pieter-Jan Briers ad58a056d7
ConGroups are gone. Long live admin flags in content. 2020-10-30 16:06:48 +01:00
Paul Ritter d8f5bffaa0
Arcade polish (#2333)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-10-30 11:25:26 +01:00
Víctor Aguilera Puerto e9df8794da Instrument State now syncs more instrument values.
For adminbus purposes, mostly.
2020-10-30 10:34:22 +01:00
Peter Wedder ed1cca2c59
Super synth (#2447) 2020-10-30 10:14:58 +01:00
DrSmugleaf 37e97ca89f
Change components to use timer component (#2426)
* Change components to use timer component

* Fix old usages of tokens
2020-10-30 15:02:49 +11:00
DrSmugleaf 57729063b7
Add a test for the weightless status (#2437)
* Add wip test for weightless status

* Expand and fix weightless test
2020-10-30 02:38:21 +01:00
Julian Giebel 45b610f933
Disposal mailing (#2194)
* Implement device networking

* Implement device configuration menu

* Fix device network

* Implement disposal mailing unit

* Implement base network connection
Implement wired and wireless network connection
Implement device network metadata

* Fix dereference null error

* Fix wired network null checks

* Change BaseNetworks enum to NetworkUtils class
Add PingResponse function to NetworkUtils
Change device network file structure

* Add doc comments

* Apply suggestions from code review

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

* Add tag validation to disposal mailing unit

* Add tag validation to the mailing unit component

* Address reviews
Change WiredNetwork can connect check
Change device networking string literals to constants

* Address reviews
Revert changes to PowerProvider and PowerReceiver
Add new NodeGroup
WELP

* Fix recursive access to Owner property

* Integrate suggested changes

* Fix TryGetWireNet acting on NullPowerProvider
Fix network connections not checking if their owner has been deleted

* Close device network connection when the owning entity got deleted
Fix mailing unit not closing the device network connection on remove

* Remove GetWireNet from NullPowerProvider

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-30 01:16:26 +01:00
Paul Ritter 1b3cbd4d3a
Resolves that make you flinch (#2423)
* argh

* ouch

* zap

* adds default!

* adressed review
2020-10-30 11:13:35 +11:00
metalgearsloth ca2c52e7b8
Nulls as errors (#2394)
Github will cuck me no more.

I tried the old google machine to find if there's a way to inherit these but it was failing me.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-30 01:06:05 +01:00
zionnBE 14b0a6eae4
Add admin teleport button (#2435)
Co-authored-by: zionnBE <zionn@tfwno.gf>
2020-10-30 01:05:49 +01:00
Peter Wedder bd4f2b41df
Prettier window breaking (#2368)
* Put the damage in the windows

* add crack overlays

* Window cracking

* glass related sounds

* let's use a valid state

* run optipng on these for posterity

* Examine damage descriptions

* add "Constructible" to dictionary

* Downmix stereo effects to mono

* breaking and knocking

* Add shard etc. sprites

* shard inhands

* more sprite wrangling

* Expand destructiblecomponent drop system + implement it for windows

* Shard descriptions

* Random sprite component

* no nullbabby

* Random destroysounds

* random offset on destructible drops

* fix fucked yaml

* sound collections

* random pitch for knocking

* Localization

* hascomponent

* better spawnondestroy

* missed one
2020-10-29 20:42:11 +01:00
Peter Wedder fca556a1c1
Adds sized (S, M, L) power cells and a generic component for battery powered items (#2352)
* Refactor battery/powercell assets and add new ones.

* committing before I fuck things up

* slot component doned I think

* dictionary update

* Fixes

* Moving flashlight to powerslotcomponent

* har har i am using the message tubes

* Better documentation comment

* Reverting this overengineered garbage.

* Off with ye I said

* Examine texts.

* Some minor fixes to IDE complaints

* slot size from yaml

* Ignored component + removing a useless typo entry

* Making stunbatons use this

* Handle the message and remove some unnecessary dirtiness

* actionblocker checks

* remove unused file

* remove updatevisual

* make these nullable

* make these nullable too

* Unrename sprite folder

* check itemcomponent on insertion

* Use SendMessage over Owner.SendMessage

* Add support for auto-recharging batteries, an auto-recharging cell, and make flashlight status update correctly if one is inserted in it.

* get rid of public fields which are Bad

* add a description for the stun baton while i'm in here

* one more public field

* Add the blinky animation to the atomic cell

* Fix the charge indicator being STUPID

* better comments

* this is a better function

* add pause for flashlight, remove unnecessary imports from battery

* potato battery copyright link

* WHO DID THAT

* mr clean has come

* Random pitch

* pausing

* round to nearest levels
2020-10-29 19:17:03 +01:00
DrSmugleaf 0321a74bb6 Allow multiple module testing callbacks 2020-10-29 17:50:25 +01:00
Víctor Aguilera Puerto 90742247e1 Fix structure instruments' failing InRangeUnobstructed check 2020-10-29 12:22:56 +01:00
DrSmugleaf ec25dbe4a7
Fix mobs playing a falling sound when dying from crit (#2425)
* Fix falling sound playing twice when dying

* But actually
2020-10-29 20:26:23 +11:00
Remie Richards cc6acae145
Mortician's Menagerie (#2391)
* Body bags!

* Morgue Trays and the Crematorium!
Reorganised body bags to be under Morgue, not Medical

* Fix. Things outside of EntityStorageComponents now use the Try*Storage() not just *Storage() methods - Allows mobs to be trapped in a morgue/crematorium whose tray can't open.

* Fix tests. Modernise component dependency and nullability.

* Update Content.Server/GameObjects/Components/Morgue/MorgueTrayComponent.cs

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-10-28 23:51:43 +01:00
Paul Ritter 6a0aa9b72f
Singularity, Particle Accelerator & Radiation Collectors (#2169)
* basic radiation generator

* might need this

* thonk

* big thonk

* oop

* e

* werks

* sprite

* oopsy woopsy

* radiation

* clean up file

* makes it work, probably

* minor fixes

* resources

* progress on component

* this will no longer be necessary

* radiation go brrrr

* finally fix container issues

* out var

Co-authored-by: Remie Richards <remierichards@gmail.com>

* second out fix

* another out fix

Co-authored-by: Remie Richards <remierichards@gmail.com>

* switch case

* fix switch

* sound and improvements

* nullable

* basic containment field system

* ensure alignment

* fix beam placement logic

* field generation fully working

* fix potential crash

* working containment functionality

* extremely basic emitter functionality

* fix radiation panel naming

* emitter stuff

* oopsies

* fixes

* some fixes

* cleanup

* small fix and move emitter file

* add sprite resources for PA

* slight rework of the singulo
adds rads

* pushing for smugleaf :)

* added radiationpanels

* some fixes for the singulo

* containmentfield

* pa wip

* progress

* pa working

* emitter fix

* works :)

* ui works

* some work on ui & pa

* progress

* ui work & misc fixes

* GREYSCALE

* pa ui polish
containmentfieldgen rework

* singulo rework
added snapgrid

* getcomponent get out

* singulo rework
added collisiongroups underplating & passable

* yaml work:
- collision boxes
- singulo now unshaded

* no unlit

* misc changes

* pa wires

* add usability check

* nullable enable

* minor fix

* power need added

* reenables containment field energy drain
menu close button
singularity collider fix

* sprite replacement

* finished singulo pulling

* pjb fixes

* fixing sprites & minor adjustments

* decrease containmentfield power

* some yml adjustments

* unlit layers
singulogenerator

* singulogen

* everything works just not the powergetting on the pa
i wanna die

* Adds PA construction graphs, PA construction works

* Snap to grid parts when completing construction

* updated to newest master

* inb4 i work on power

* fixes upstream merge
adds power need to particleaccelerator

* properly implements power & apc power

* Emitters are now fancy.

* I have actually no idea how this happened.

* Give PA a wiring LayoutId

* PA is an acronym

* indicators
fixes hacking

* Singulo is a word you blasphemous IDE.

* Rewrite the PA.

* Fancy names for PA parts.

* Wiring fixes, strength wire cutting.

* fixes projectile & ignores components

* nullability errors

* fixes integration tests

Co-authored-by: unusualcrow <unusualcrow@protonmail.com>
Co-authored-by: L.E.D <10257081+unusualcrow@users.noreply.github.com>
Co-authored-by: Remie Richards <remierichards@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-28 19:19:47 +01:00
DrSmugleaf f785ec4efb
Add pulling taking up a hand (#2405)
* Add pulling taking up a hand

* Revert unnecessary refactor
2020-10-28 10:16:40 +01:00
DrSmugleaf c2301b08e0
Make popup messages track the source entity (#2414)
* Make popup messages track the source entity

* Fix jitteryness when popping a message up on the player
2020-10-28 10:10:45 +01:00
Víctor Aguilera Puerto 870d052354
Gas tanks and masks (#2409)
Co-authored-by: a.rudenko <creadth@gmail.com>
Co-authored-by: creadth <creadth@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-27 20:53:44 +01:00
Víctor Aguilera Puerto 5364d4ec1f Ignore seed prototype on the client. 2020-10-27 00:10:38 +01:00
Swept 077b5d1a4e
Adds botany stuff to IgnoredComponents.cs and fixes Science locker ID. (#2400) 2020-10-27 00:08:29 +01:00
Víctor Aguilera Puerto 484eb0bba4
Botany (#2357)
* plants and seeds go brrrr

* update plants

* P L A N T

* brrrr

* Hydroponics actually work! How about that?

* Reuse resource path in visualizer

* They lied to us.

* Several stuffs

* more werk

* Add a bunch of plants

* Logs go brr.

* Brrr moment.

* Remove unused method

* Important comment.

* Seed inventory, yo!

* tomato moment

* Balance consumption

* Makes hydroponics pourable

* Adds plant metabolism effect for sugar, the same as glucose.

* Eggplant moment

* Apple moment

* Corn moment

* Chanterelle mushroom moment

* prototype tweaks

* Seed extractor moment

* typo

* IPlantMetabolizable doc improvement

* I should trust my gut instinct more often.

* egg-plant.....

* localization

* Make WaterLevel and NutritionLevel setters private

* Less code repetition! Wooo!
2020-10-26 23:19:46 +01:00
Peter Wedder 7c57d10531
Implement PDA ID lights (#2397)
* add PDA id light (yaml changes pending)

* the rest of the owl

* Do it better
2020-10-26 19:35:20 +01:00
DrSmugleaf ebe8a82033
Add commands to show and hide organs inside bodies (#2292)
* Add seeing entities through containers and on the context menu and 4 commands

* Remove unused imports
2020-10-26 12:11:32 +01:00
Exp 32ff4b8521
Ignore Brain (#2367) 2020-10-23 15:56:13 +02:00
Víctor Aguilera Puerto 48841a274d
Remove default grids (content) (#2241)
* Default grids go poof

* Address review

* Update submodule

* Fix DoAfterSystem for entities without grid.

* Fix SubFloorHideSystem for entities without grid.

* Fix ExplosionHelper for coordinates that aren't in a grid

* Fix TurfHelpers' GetWorldTileBox crash in the case of invalid grid

* Fix tile prying component crash when trying to pry space.

* Spill fixes when passing coordinates without grids.

* Are you static'in, son?

* Change SaveLoadSaveTest grid Id hardcoded value
It's still hardcoded, but at least now it's correct!

* Only send debug AI thing if grid is not invalid

* Update submodule.

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-21 17:13:41 +02:00
Víctor Aguilera Puerto 90b7239dcb ConstructionPlacementHijack nullability fix 2020-10-19 15:43:12 +02:00
DrSmugleaf 7ad46ddabf
Add arguments to part and mechanism event methods (#2293) 2020-10-19 15:23:59 +02:00
Rich da0b6f333c
Standardized colors between DoAfter and Cooldown progress (red > yellow > green). (#2291) 2020-10-18 18:11:44 +02:00
Exp a7ca11611d
Adds a Visualizer for the Gravity Generator (#2277)
* Adds Visualizer to GravityGenerator

* nullable

* snake bad

* -Reads layers from yaml
-Reads sprite states from yaml

* Fix GravityGridTest
2020-10-18 13:08:41 +02:00
py01 f01a50012e
Vent and Siphon visualizer and icon fixes (#2288)
* Half pipes

* PipeVisualizer pipeRSI field

* Vent and Siphon visualizer fixes

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-10-18 12:13:06 +02:00
Víctor Aguilera Puerto 7053352e18
Brain behavior (#2284)
* brain moment + zoom is 0.5 by default

* Address reviews
2020-10-17 18:12:16 +02:00
DrSmugleaf 101fa9e466
Fix mechanism events not being called properly, add test (#2279)
* Add mechanism events when added/removed to/from body/parts

* Change old usages

* Add TODO

* Remove BodyExtensions and IHasBody

* Remove unnecessary extensions and fix wrong event call in mechanism behavior component

* Complete test and fix event calls
2020-10-17 12:26:39 +02:00
NuclearWinter b4ea6857cd
Ghost Teleporting (#2071)
* Fix?

Nuked everything and put my code back in, hope everything works

* Nullable fix?

* nullable fix electric boogaloo

* Haha nullable error go brrr

send help

* Cleanup and fix not clearing the button list

* Remove unnecessary brackets and parentheses

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-16 20:36:20 +02:00
DrSmugleaf b1fe4bad01
Add client pulling prediction (#2041)
* WIP changes

* Merge conflict fixes

* Bring pull controlelr to current year

* Sync and predict PullController on the client

* Clean imports

* Slow down pullers and make pulling tighter

* Stop pulls on pullable or puller component removals

* Make pulling not occur when moving towards the pulled entity
2020-10-16 20:35:09 +02:00
DrSmugleaf bd30a73026
Add mechanism events when being added/removed to/from body/parts (#2271)
* Add mechanism events when added/removed to/from body/parts

* Change old usages

* Add TODO
2020-10-16 14:42:33 +02:00
DrSmugleaf 435fb2630e
Disable job buttons when they aren't available or late join is disallowed (#2251)
* Disable job buttons when they aren't available

In real time too, the technology is overwhelming

* Jobs are all unavailable when late join is disallowed.

* Better ToggleDisallowLateJoin command parsing

* Add togglelatejoin to groups.

Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
2020-10-16 11:22:58 +02:00
DrSmugleaf 50bc61b672
Add IResettingEntitySystem for entity systems that do resetting cleanup (#2257)
* Add IResettingEntitySystem for entity systems that do resetting cleanup

* You got a license for that submodule update?
2020-10-14 22:45:53 +02:00
DrSmugleaf d9b3833577
Make pointing arrows not show up on the context menu (#2252) 2020-10-14 22:40:59 +02:00
DrSmugleaf cdedaeb12e
Refactor drag and drop to use a shared interface (#2012)
* WIP in progress hours

* Cleanup

* Fix bugle

* Fix nullable error

* Merge fixes

* Merge fixes

* Merge fixes
2020-10-14 15:24:07 +02:00
Paul Ritter 844e4f6e50
The power of componentdependencies (#2211)
* stuff

* bucklemeup

* powerreceiver

* things

* Update RobustToolbox

* Fix nullability errors

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-13 21:51:54 +02:00
Exp 47ba7fc690
Crayons (#2132)
* -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>
2020-10-13 13:40:05 +02:00
Víctor Aguilera Puerto c023f26a1c The construction system can now prevent recipes from being rotated. 2020-10-12 14:22:31 +02:00
Víctor Aguilera Puerto b38b152534 Click attack arcs no longer follow the player. Fixes #2079. 2020-10-12 13:18:11 +02:00
py01 77fa796a3b
Rotatable Pumps (#2223)
* Pump textures

* PumpVisualizer enabled state

* Pump rotation

* Pump tests fix

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-10-12 13:02:57 +02:00
metalgearsloth d769661692
Fix some build warnings (#2226)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-11 16:42:53 +02:00
DrSmugleaf b64cb24059
Rename usages of collidable to physics (#2230)
* Rename usages of collidable to physics

* high tier PANIQUE

* aaaaaaaaAAAAAa

* cursed commit dont research

* Fix urist and items being anchored

* Fix the rest
2020-10-11 16:36:58 +02:00
metalgearsloth 413ca9812d
Make click-dragging consider dragged's direction (#2231)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-11 16:30:24 +02:00
DrSmugleaf 753ca81865
Replace MapIndices with Vector2i (#2228)
* Replace MapIndices with Vector2i

* Update da submodule

* AA EE II OO U U

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-11 15:21:21 +02:00
Víctor Aguilera Puerto 32876c78fe
Random default characters (#2216) 2020-10-11 13:15:09 +02:00
DrSmugleaf ba4c596195
Add InRangeUnoccluded extension methods (#2224)
* Rename RangeExtensions to UnobstructedExtensions

* Add InRangeUnoccluded extension methods
2020-10-11 13:13:45 +02:00
metalgearsloth 8ccb931536
Fix DoAfters staying (#2222)
return moment

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-10 22:43:07 +02:00
DrSmugleaf dd385a0511
Change all of body system to use entities and components (#2074)
* 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
2020-10-10 15:25:13 +02:00
metalgearsloth aba9b0e3f9
Make DoAfter visible to all (#2183)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-10 13:59:17 +02:00
py01 5aa866548b
Gas Canisters and Ports (#2151)
* CanisterComponent start

* GasCanisterPort

* canister

* GasCanister yaml

* More Gas Canisters

* Canister & port fixes

* Placeholder canister and port sprites

* GasMixture serialization

* Component ignores

* Fix duplicate component ignore

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-10 13:37:52 +02:00
DrSmugleaf fe39b5fb71
Make portals use ICollideBehavior and set collidable.Hard to false (#2186) 2020-10-10 13:32:42 +02:00
Pieter-Jan Briers 0475142969
You can move the block game window now. 2020-10-10 01:07:59 +02:00
Pieter-Jan Briers b168a7926f
Fix exceptions when hovering over an item with a broken texture. 2020-10-09 20:46:21 +02:00
Pieter-Jan Briers 9f80768124
Fix build? 2020-10-09 19:59:29 +02:00
DrSmugleaf aa6e0e7539
Add SSS traitor label and fix ally sync (#2200) 2020-10-09 18:57:09 +02:00
py01 970f3bc82f
Pipe prototypes (#2124)
* Pipe prototypes

* PipeDirection setter

* IRotatableNode

* NodeContainer passes rotation events to its nodes

* Removes duplicate pipe prototypes that are rotations of each other

* PipeDirectionHelpers

* PipeNode rotation

* icon removal

* Pipe icons

* Icon fix

* Fixes pipe sprites and icons

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-10-08 17:53:56 +02:00
Víctor Aguilera Puerto 745401a41e
Data-oriented Construction System (#2152)
- 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>
2020-10-08 17:41:23 +02:00
DrSmugleaf a984076574
Headsets (#2023)
* add headset component

* add basic headset logic

* fix formatting in listening component, add dependency to headset

* test function for headset

* implement headset as listener

* ANNIHILATES ListeningComponent, refactor of radio/listener sys

* basic headset functionality

* rename RadioComponent to HandheldRadioComponent

* change channel to list of channels

* basic headset implementation complete

* message now always excludes ';'

* add radio color; state channel freq. and source name

* undocumented game breaking bug commit (DO NOT RESEARCH)
actually just changes frequency from 1457 (what signalers are set to by default) to 1459, the actual frequency for common

* Add more sprites

* Reorganizes

* Added job headsets

* Adds headset as an ignored component

* Jobs now spawn with headsets

* remove system.tracing

* Catchup commits

* Add headset property serialization

* Turn GetChannels into a property

* ListenRange property and serializatioon

* Adjust interfaces

* Address reviews

* Cleanup

* Address reviews

* Update rsi

* Fix licenses and copyright

* Fix missing textures

* Merge fixes

* Move headset textures from objects/devices to clothing/ears

* Fix rsi state names and add equipped states

* Fix headsets not working

* Add missing brackets to channel number in chat

* heck

* Fix broken rsi

* Fix radio id and names

* Put quotes around headset messages

* Fix method names

* Fix handheld radios

* Fix capitalization when using radio channels and trim

* Remove unnecessary dependency

* Indent that

* Separate this part

* Goodbye icons

* Implement IActivate in HandheldRadioComponent

* Add examine tooltip to radios and headsets

* Rename IListen methods

Co-authored-by: Bright <nsmoak10@yahoo.com>
Co-authored-by: Swept <jamesurquhartwebb@gmail.com>
Co-authored-by: Bright0 <55061890+Bright0@users.noreply.github.com>
2020-10-07 05:02:12 -07:00
Pieter-Jan Briers 390d064304
Re-organize in-memory character profile storage.
Now uses a dictionary of int -> profile instead of an array filled with nulls.
2020-10-06 15:13:16 +02:00
DrSmugleaf f35625630b
Fix creating and deleting character slots crashing the client and server (#2172)
* Fix creating a character slot crashing the client

* a

* Fix deleting character profiles
2020-10-06 12:03:14 +02:00
Exp 920f3a999b
Communications Console & Medical Scanner now close when too far away (#2175)
-Wire & GasAnalyzer dispose instead of closing only
2020-10-06 10:16:42 +02:00
Swept d00ae036f8
Fonts moved from textures to proper folder (#2159)
* Initial

* Deletes old loc
2020-10-04 18:07:15 +02:00
Pieter-Jan Briers 1b691264f3
Improve "give AA ID".
Renamed to "grant full access" (same as in SS13).

Now tries to upgrade an ID the user has equipped and automatically equips if necessary.
2020-09-29 16:05:29 +02:00
Pieter-Jan Briers 66c8a68891
Holy crap auth works (#2099)
* Holy crap auth works

* Fix some usages of UserID instead of UserName

* Refactor preferences.

They be non-async now. Also faster.

* Rename DbContext.

* Guest username assignment.

* Fix saving of profiles.

* Don't store data for guests.

* Fix generating invalid random colors.

* Don't allow dumb garbage for char preferences.

* Bans.

* Lol forgot to fill out the command description.

* Connection log.

* Rename all the tables and columns to be snake_case.

* Re-do migrations.

* Fixing tests and warnings.

* Update submodule
2020-09-29 14:26:00 +02:00
DrSmugleaf 8a33e0a9bd
Fix build? (#2147) 2020-09-28 23:25:12 +02:00
Paul Ritter 68031990a2
Readds Iconcomponent (#2142)
* icon fix

* stuff

* directional texture rework
2020-09-28 20:53:47 +02:00
Swept ef25d27f5c
Initial (#2137) 2020-09-28 20:03:05 +02:00
Swept 17351d9044
Adds a Toggle FOV and Toggle Shadows Button to the sandbox menu (#2090)
* Initial

* Initial 2
2020-09-26 15:50:14 +02:00
DTanxxx 3e6f0eef58
Removed the last bits of dependencies on localization manager (#2127)
* Removed the last bits of dependencies on localization manager

* Updated submodules to resolve error

Co-authored-by: David Tan <>
2020-09-26 15:30:13 +02:00
Paul Ritter 84ce845ea3
Nanotrasen Block Game is here (#2131)
* tetris!

* softdropping & left,right key holding

* started work on the ui

* playable state

* there you go exp

* multiuser rework

* ui update refactor

* blockgame™️

* highscores, keybindings, ui refactor

* speed adjusts
leveling

* highscorebackground tweak
speed tweak

* NULLABLE

* yes
2020-09-26 15:25:22 +02:00
Paul Ritter d90c3295e6
Nukes Iconcomponent (#2102)
* pfew

* preview_state

* ship it

* weird stuff

* fucked up rebasing

* Update submodule

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-09-23 22:13:51 +02:00
Paul Ritter 2a1b90a0eb
Arcade fun - Ports over /vg/s SpaceVillain arcade game (#2125)
* arcade fun

* stuff

* removed unused using statements
added sound feedback
win check fix
reworked ui a bit

* description rework

* windowopen bug fixed

* adds rewards, cool!

* for unusualcrow

* fixes

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-09-23 14:30:31 +02:00
Víctor Aguilera Puerto eb9b83cc29 Add flammable, creampie and creampied components to IgnoredComponents 2020-09-23 14:25:27 +02:00
Víctor Aguilera Puerto 31e0dfc10c
Adds FlammableComponent, humans can now catch on fire. (#2115) 2020-09-22 15:40:04 +02:00
Víctor Aguilera Puerto 4c34a12c67
Adds IThrowCollide, Creaming people with cream pies and tactical stun baton throws (#2122) 2020-09-22 15:34:30 +02:00
py01 edebe9036c
PressureSiphonComponent (#2118)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-09-22 12:05:06 +02:00
Víctor Aguilera Puerto 69059eac80
Adds new different reaction types. (#2114)
* 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
2020-09-21 17:51:07 +02:00
Paul Ritter 37d6ca556f
Storagefill component refactor (#2093)
* refactored storagefill component to allow for random items, amount, and conditional exclusion

* i fudged it

* yaml for the already deleted filler components

* ignoredcomponents & janifill

* remainder of toolboxes done

* emergencyclosetfill

* really makes you think

* it DOES really make you think

* orGroup

* exp111 suggestions

* last touches

* isNullOrEmpty
2020-09-21 12:47:52 +02:00
Exp 8238a89190
Gives the gas analyzer visual clues that it's open (#2110)
* Gives the gas analyzer visual clues that it's open

* Read Visualizer states from yaml
2020-09-21 11:39:17 +02:00
Víctor Aguilera Puerto 6ec2939f15
Refactors radiation (#2009)
* 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>
2020-09-21 01:49:40 +02:00
20kdc da463097f0
Atmos debug helpers (#2108)
* Atmos debug overlay

* Pressure direction information

* Atmos debug overlay: show excited tiles
2020-09-21 01:13:17 +02:00
Swept 0ea8792501
Cleanup (#2111) 2020-09-20 17:29:11 +02:00
Exp 8095f70bbf
Solution Examine Code Cleanup + PressureVent Ignore (#2112) 2020-09-19 23:36:48 +02:00
derek 158f765895
Keybind to stop pulling. (#2094)
* keybind to stop pulling.

* smug
2020-09-16 23:58:50 +02:00
DTanxxx 27a5a7a09c
Removed LocalizationManager dependencies (#2059)
* Removed LocalizationManager dependencies

* Fixed error

Co-authored-by: David Tan <>
2020-09-16 23:55:50 +02:00
DrSmugleaf 74943a2770
Typo, redundant string interpolation, namespaces and imports cleanup (#2068)
* Readonly, typos and redundant string interpolations

* Namespaces

* Optimize imports

* Address reviews

* but actually

* Localize missing strings

* Remove redundant vars
2020-09-13 14:23:52 +02:00
Swept d9f965a49b
Removes exosuit slot (for now!!!) and rearranges inventory UI again. (#1975) 2020-09-13 14:05:02 +02:00
DTanxxx 4d50666ee4
Make more Fields VV and more editable (#2051)
* Make more Fields VV and more editable

* Applied feedback

Co-authored-by: David Tan <>
2020-09-13 14:04:00 +02:00
Víctor Aguilera Puerto c27ab9bf6a
Merge branch 'master' into 2020-08-19-firelocks 2020-09-12 15:52:20 +02:00
DrSmugleaf 1d4700493b
Ignore client unknown components (#2069) 2020-09-12 15:47:37 +02:00
py01 b288975cb7
Siphon and Vent Visualizers (#2062)
* scrubber sprites

* vent sprites

* Vent visualstate

* scrubber visual state

* Vent and siphon respect being disabled

* Vent and Siphon Visualizer

* Fix typo

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-12 14:26:50 +02:00
Víctor Aguilera Puerto 04bea5a253 Merge branch 'master' into 2020-08-19-firelocks 2020-09-11 19:54:12 +02:00
Víctor Aguilera Puerto afc784b2a2 ignored components 2020-09-11 13:34:01 +02:00
Exp 25ca386d26
Set _isConnected to false when failing to parse address (#2058) 2020-09-10 12:41:04 +02:00
nuke 753a627c75
Add text coloring for inspected solution containers, code cleanup (#2010)
* Initial commit

* remove helper

* fixes

* small fix
2020-09-10 00:32:31 +02:00
DrSmugleaf f7a5bad839
Make the mapping command take the next available map id if one isn't given (#1998)
* Make the mapping command take the next available map id if one isn't given, draft

* Remove todo

* Update clientside mapping command

* Address reviews
2020-09-10 00:12:39 +02:00
Víctor Aguilera Puerto 4c7c7d2f72
Merge branch 'master' into 2020-08-19-firelocks 2020-09-09 22:12:38 +02:00
creadth 7baa0a4391
Fire damage (#2024)
* 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
2020-09-09 17:03:27 +02:00
Víctor Aguilera Puerto cca740eb2a
Merge branch 'master' into 2020-08-19-firelocks 2020-09-08 15:21:58 +02:00
Exp 5120627ca2
Makes more fields VV (#2026)
* Some more VV

* Fixed build & some more gun vvs

* Added VendingMachine Inventory & Items
2020-09-08 13:30:22 +02:00
Víctor Aguilera Puerto 95ba81fa32 Merge branch 'master' into 2020-08-19-firelocks 2020-09-08 13:23:20 +02:00
Pieter-Jan Briers 03d6697323
Add UI scale option to options menu. 2020-09-07 14:08:06 +02:00
Víctor Aguilera Puerto da4d08432d Merge branch 'master' into 2020-08-19-firelocks 2020-09-07 12:47:52 +02:00
Pieter-Jan Briers f96f286ca4
Rework options menu.
It's much nicer now.
2020-09-07 12:23:28 +02:00
Pieter-Jan Briers 005aad8da5
Allow disabling margins on StripeBack. 2020-09-07 12:23:28 +02:00
Pieter-Jan Briers 0440bb5e75
Tweak colors for caution buttons. 2020-09-07 12:23:27 +02:00
Pieter-Jan Briers 0de5cfed7f
Update submodule (remove options menu) 2020-09-07 11:08:01 +02:00
Pieter-Jan Briers 527fababe0
Adds key rebinding window 2020-09-07 11:05:18 +02:00
Pieter-Jan Briers a1c1769d23
Rework button styling to add a "caution" button type.
It's red.
2020-09-07 11:04:03 +02:00
derek 204b50c201
Change OpenUI into ToggleUI on the client side. (#2036) 2020-09-07 01:17:24 -07:00
Víctor Aguilera Puerto 6724a9e6ab Fix jenkins build 2020-09-06 17:16:08 +02:00
Víctor Aguilera Puerto d758e84e8d Merge branch 'master' into 2020-08-19-firelocks
# Conflicts:
#	Content.Server/GameObjects/Components/Atmos/AirtightComponent.cs
2020-09-06 16:56:43 +02:00
DrSmugleaf 48b61f6bcc
Replace every usage of GridCoordinates with EntityCoordinates (#2021)
* Update RobustToolbox

* Transition direct type usages

* More updates

* Fix invalid use of to map

* Update RobustToolbox

* Fix dropping items

* Rename name usages of "GridCoordinates" to "EntityCoordinates"

* Revert "Update RobustToolbox"

This reverts commit 9f334a17c5908ded0043a63158bb671e4aa3f346.

* Revert "Update RobustToolbox"

This reverts commit 3a9c8cfa3606fa501aa84407796d2ad920853a09.

# Conflicts:
#	RobustToolbox

* Fix cursed IMapGrid method usage.

* GridTileLookupTest now uses EntityCoordinates

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
2020-09-06 16:11:53 +02:00
Víctor Aguilera Puerto d89188a742 Merge branch 'master' into 2020-08-19-firelocks
# Conflicts:
#	Content.Server/GameObjects/Components/Doors/ServerDoorComponent.cs
#	Content.Shared/Maps/TurfHelpers.cs
#	SpaceStation14.sln.DotSettings
2020-09-06 00:17:48 +02:00