Commit Graph

1998 Commits

Author SHA1 Message Date
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
nuke c3630b7301
Glowsticks, flares and lighting behaviours (#1886)
* Assets

* LightingBehaviours, flares, and such.

* More changes

* More changes, more flare work.

* More work on flares + light behaviours

* another refactor

* missed

* Light behaviours refactor, added sfx, improved graphics, improved lighting effects for glowstick and flare.

* remove unneeded value

* nullables

* remove old code

* nullable

* one last push

* net id

* more work

* more colors for glowsticks

* Adjust flare so it fades in

* fix name

* sprite fix
2020-09-03 22:02:40 +02:00
DrSmugleaf 5f79d3e31d
Fix the health status effect not showing after spawn (#2013) 2020-09-03 20:17:30 +02:00
Exp fd21ceb0cf
Improves the Admin PlayerList (#1989)
* -Makes PlayerList scrollable
-Player names clip when they are too long
-Shows Player count

* Add padding to make columns more noticeable

* -Added Separators between the columns
-Pushed List a bit down

* Add alternating row colors
2020-09-02 18:47:13 +02:00
Víctor Aguilera Puerto 2294c32235
Merge branch 'master' into 2020-08-31-click-attack 2020-09-02 15:12:17 +02:00
DrSmugleaf 94b83c3d69
Fix crash when deleting a medical scanner with someone inside (#2007) 2020-09-02 12:29:40 +02:00
SoulSloth e40e3fa267
Cloning (#1932)
* Add art assets for cloning

* Added a 'Scan DNA' button to the medical scanner

* Made the UI update unconditional for the medical scanner until checks for power changes are in place

* Update Medical scanner to reflect powered status and fix #1774

* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state

* Add disabling logic to 'Scan DNA' button on medical scanner

* Removed un-used libraries

* changed scan dna button to Scan and Save DNA

* Added cloning machine code infrastructure copied from Medical Scanner

* Added a list to cloning menu containing some numbers

* Cloning Machine UI sends a message to the cloning component with the entityUID

* New scans now show up in cloning pod menu

* fixed cloning machine collision shape

* cloning machine can now spawn the right player profile assuming the attatched entity is still correct.

* refactored cloning system to use a map of integer ids to player Minds

* Added a return to body cloning loop for the ghost

* Fixed warning for _playerManager being possibly null, added TODO note for ghost return to body button acting as a toggle

* removed #nullable from cloningMachineWindow"

* Trying to get rid of nullable error

* fix CloningMachine to not initilize with it's owner components

* updated CloningMachine server component to play nice with the new nullable rules

* replace flag with eventBus message for sending a ghosts mind to a clone body

* Refactor cloning so that a popup option is used to get user consent for cloning

* Refactoring

* Reverting unused changes for cloning component

* Added proper cloning pod sprites and a visualizer so 'idle' and 'cloning' states are properly reflected

* added missing robust toolbox contents

* Added cloning NoMind State and made cloning take time

* Added cloning progress bar and mind status indicator to cloning pod

* Added missing localization calls, removeed 'returned to cloned body' from ghostUI

* Added unsubscribe for cloningStartedMessage in Mindcomponent.cs OnRemove

* Added eject button to cloningMachine and clamped the cloning progress bar to 100%

* Added condition to eject body on cloningmachine so bodies can't be ejected until cloning is done

* Add click-dragOn functionality to the medical scanner for things with a bodyManager

* Messed with scan query so it doesn't fail on dead bodies as long as Mind still owns the mob

* refactored clonning scan check on medical scanner so it doesn't do a linq query

* merge with rogue toolbox

* Change the name of Cloning Machine to the less generic Cloning Pod

* Changed Cloning Pod so it pauses cloning while the power is out

* Removed the evil LocalizationManager from the cloning menus and used the static Loc instead

* removed localization dependency from bound accpetCloning user interface

* Removed Ilocalization dependency I accidentally added to ghost ui

* Update Content.Client/GameObjects/Components/MedicalScanner/MedicalScannerComponent.cs

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

* Changed null check to tryget in case for cloning UiButton.Clone

* Parameterized Cloning time on serverside component

* tried to reset Robust toolbox module to current master

* Added null check to ghost client component message handling, unsubscribe to the mind component listening to the cloning question ui, fixed _clonningProgress typo, moved CloningPod component dependencies to actually be dependencies, removed un-needed disposals of cloning windows, added disposals missing in boundUserInterfaces.

* Reset submodule

* corrected exception for cloning pod visualizer to refer to cloning pod state and not medical scanner state

* Fix typo

* Unsubscribe from onUiReceiveMessage in mindcomponent in the onRemove function, not the acceptcloningui function

* unsubscribe from OnUiReceiveMessage in CloningPodComponent

* unssubscribe from ghostreturn message in cloningpodComponent onRemove

Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-02 12:07:54 +02:00
Swept 9fdcb2b084
Adds Fireextinguisher stuff to IgnoredComponents.cs (#2005) 2020-09-02 11:53:55 +02:00
Moses 6a4b856961
Extinguisher cabinet (#1976)
* 1779 Add extinguisher cabinet base item, rsi, and class based on potted plant

* Pretty much the rest of the owl

* Allow construction

* no more deconstruction

* pr fixes
2020-09-02 01:41:35 +02:00
Pieter-Jan Briers f5cba6ae89
Fix screenshots crashing due to bad FileAccess 2020-09-01 23:53:49 +02:00
DrSmugleaf 8f9ed2f562
Replace usages of ISharedNotifyManager and IServerNotifyManager with extension methods (#1965)
* Replace usages of ISharedNotifyManager and IServerNotifyManager with extension methods

* Remove redundant code
2020-09-01 12:34:53 +02:00
Víctor Aguilera Puerto db12634bd5 Merge branch 'master' into 2020-08-31-click-attack 2020-09-01 03:25:14 +02:00
py01 4d43a15cba
Pump enabled animation (#1973)
* Pump enabled animation

* naming fixes

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-09-01 00:29:53 +02:00
Víctor Aguilera Puerto 391444c879 Add an effect that shows the item you're using to attack with when attacking 2020-08-31 20:54:33 +02:00
Víctor Aguilera Puerto b927fddf4c Better click attack effect 2020-08-31 19:32:06 +02:00
Víctor Aguilera Puerto 69bd44c94c Adds click attacks 2020-08-31 18:58:22 +02:00
py01 178931e54b
Pump visuals (#1960)
* Pipe sprites

* pipe copyright

* SharedPipeComponent

* Pipe Visualizer draft

* missing longitudinal pipe sprites

* expanded rsi states

* pipe prototype fixes

* Fixed pipe visualizer

* PressurePump and VolumePump

* VolumePump fix

* PressurePump fix

* Shared pump

# Conflicts:
#	Content.Server/GameObjects/Components/Atmos/Piping/Pumps/BasePumpComponent.cs
#	Content.Server/GameObjects/Components/NodeContainer/Nodes/PipeNode.cs

* PumpVisualizer Draft

* ConduitLayer enum

* PipeVisualizer update

* halfpipe sprites

* pumpvisualizer simplification

* yaml unneeded proto removal

* pump visualizer draft 2

* Pump overlays

* pump rsi name

* merge fix

* PumpVisuals ConduitLayer

* merge fix

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-31 12:33:05 +02:00
py01 9d5278ab0d
Volume and pressure pump (#1955)
* PressurePump and VolumePump

* VolumePump fix

* PressurePump fix

* volume pump simplification

* Fixes GridAtmosphereComponent not updating pumps

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-31 02:13:23 +02:00
py01 68ec6e6be5
Pipe Sprites & Visualizer (#1954)
* Pipe sprites

* pipe copyright

* SharedPipeComponent

* Pipe Visualizer draft

* missing longitudinal pipe sprites

* expanded rsi states

* pipe prototype fixes

* Fixed pipe visualizer

* ConduitLayer enum

* PipeVisualizer update

* halfpipe sprites

* yaml unneeded proto removal

* PipeVisualizer uses its own RSI

* Removes unused field from PipeVisualizer

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-31 02:13:15 +02:00
DrSmugleaf 9d6c394f6b
Refactor InRangeUnobstructed and add extension methods (#1925)
* Sort out InRangeUnobstructed and add extension methods

* Rename client RangeChecks to RangeExtensions

* Add container extension methods and test

* Add missing component methods

Component to container
Grid coordinates to container
Map coordinates to container
Local player to container

* Actually use the field

* Merge fixes

* Add popup argument to local player extension methods

* Reduce code repetition for client range extensions
2020-08-30 11:37:06 +02:00
metalgearsloth 72eb1fdc1c
Add door welding (#1951)
* Add door welding

Surprised this wasn't in already.

* smug's feedback

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-30 11:16:29 +02:00
Swept b4fc79bcc8
Adds components from #1784 to IgnoredComponents.cs (#1961) 2020-08-30 11:09:32 +02:00
Exp b993ebb30a
Status Effect Tooltip & Notify on click (#1943)
* -Show tooltip on hover
-Show notify on click

* -Status Effects now get removed instead of going invisible
-Removed empty textures for that

* Revert break in HungerComponent
2020-08-29 13:33:38 +02:00
DrSmugleaf 1ecf8aad1a
Add prediction for standing states and mob states (#1937) 2020-08-29 13:20:37 +02:00
ancientpower 566ed6b770
Adds the antimatter engine (#1905)
* adds antimatter engine

* fixes some nullables

* fixes ALL OF THE NULLABLES

* adds explosions

* adds fancy lighting

* requested changes + license info

Co-authored-by: ancientpower <ancientpowerer@gmail.com>
2020-08-29 13:05:44 +02:00
metalgearsloth cc1125cd91
No context menu through occluder (#1934)
* No context menu through occluder

* Fix disabled occluders

* Comment

* Server-side verb ray check

Decided to add a buffer because the entity is at the very edge of the context box (0.5, 0.5) then need to make sure that entities at the other end of the box are ignored.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-29 12:46:42 +02:00
Víctor Aguilera Puerto 16f0eebf15 Merge branch 'master' into 2020-08-19-firelocks
# Conflicts:
#	Content.Server/GameObjects/Components/Atmos/AirtightComponent.cs
#	Content.Server/GameObjects/Components/Atmos/GridAtmosphereComponent.cs
#	SpaceStation14.sln.DotSettings
2020-08-28 14:35:45 +02:00
py01 7b12d4e08c
PipeNet (#1626)
* PipeNode

* Pipe prototypes

* Fixes Default NodeGroup not being registered by NodeGroupFactory

* GasNet

* PumpComponent

* IPipeNet

* PipeComponent

* misc naming, yaml

* PipeComponent rework

* PipeNet gas transfer from pipes

* PipeNet correctly combines gas on combining with other group

* Client ignores piping components

* AfterRemake

* PipeNet remake simplification

* IGasMixtureHolder on PipeComponent, IPipeNet

* PipeContainerComponent

* BasePump

* DebugPump

* IgnoredComponent fix

* Pipe LocalAir and Air

* comments

* Pump fix

* PipeNet fix

* name simplification

* PipeDirection name changes

* BaseVentComponent and DebugVentComponent

* Moves Pipe to own file

* DebugVentComponent moved to own file

* BaseScrubberComponent

* DebugScrubberComponent

* IgnoredComponents update

* scrubber prototype

* vent prototype fix

* comments

* Removes vent and scrubber PipeDirection check

* PipeContainer, Pipe, and PipeNode refactor

* Yaml cleanup

* pump prototype fix

* Removes AssumeAir usage from old IGasMixtureHolders

* Simplfies Vent & Scrubber to use AtmosHelper methods

* Vents and scrubbers invalidate the coordinate they changed the gas of

* UpdatedPipingComponent

* ScrubberComponent renamed to SiphonComponent

* Removes PumpSystem

* Removes framTime from UpdatedPiping

* PipeNetDevices

* PipeNetDevice updated by GridAtmosphereComponent

* PipeNets react from update in GridAtmosphereComponent

* GridAtmosphereComponent stores PipeNets/PipeNetDevices to be updated in queue

* diff fix

* Removes debug gas starting in pipes

* type safety in IPipeNet when combining groups

* null checks

* GridAtmos stores PipeNets and PipeNetDevices in List

* comments

* rogue curly bracket

* ProcessPipeNets update fix

* RemovePipeNet fix

* PipeNet update() unique index

* fix diff

* Integration test fixes

* Error Logging

* error fix

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-27 17:45:27 +02:00
DrSmugleaf 548ef3dedb
Add HUD button that displays your SSS role and allies (#1895)
* Add button that displays your SSS role and allies

* Capitalize button name

* Add cases for 0, 1 and invalid number of allies

* Make the ally syncing system saner
2020-08-27 16:39:29 +02:00
Exp fc6ec5a7b9
Add ItemStatus to energy weapons (#1921)
* -ItemStatus for BatteryGuns
-EjectCell Verb
-Using the gun throws the battery also on the ground

* Copy the flashlight and call it a day

* Name a red fruit

* Remove SoundGunshot
2020-08-27 16:31:29 +02:00
DrSmugleaf dd3a697c12
Fix the server not checking uplink purchase prices (#1917) 2020-08-25 18:13:19 +02:00
Exp 292ef4ef16
Admin Menu (#1648)
* First Prototype

* Command Window

* Dropdown

* Is this better?

* That's kinda better?

* Added divider

* Shit

* Check if Admin Menu & Commands are allowed

* -Funcy Shit
-Now gets properly the playerlist
-Fixed kick reason

* Dropdown Improvement with some more func

* -Added DirectCommand for commands that don't need a ui
-Added RestartRound

* Better way to make DirectCommandButtons

* -Some new Tabs
-Player list

* -Split Buttons
-Regions
-Fixed Test Command

* Some server buttons

* Playerlist alignment

* Fucky SpawnEntites & SpawnTiles in AdminBus

* -Debug Buttons
-Few more commands

* -Make dem controls thicc
-SpinBox

* Escape Kick Reason

* Only create the window when you press the button

* Adds StationEvents

* Nullable "fixes"

* This thing wasn't made for buttons

* Call other constructor for empty CommandButton

* Request method in the interface

* -Pushed most Controls to be fields
-No more dict passing
-Removed test cmd
-Regions to better navigate

* -Bound to key
-Removed from escape menu
-Remember cmd windows
-Close all cmd windows on toggle

* -Moved dependency

* Merge fixes

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-25 17:18:32 +02:00
DrSmugleaf 4f8fbe2749
Fix parallel tests unreliably failing due to statics in Atmospherics (#1914)
* Fix atmospherics statics unreliably failing parallel tests

* Cache getting atmosphere system
2020-08-25 16:14:26 +02:00
nuke a62935dab2
Handcuff system (#1831)
* Implemented most serverside logic

* All serverside cuff logic complete

* SFX, Clientside HUD stuff, Other logic.

* fffff

* Cuffs 1.0

* missing loc string

* Cuffs are stored in the balls now.

* Basic integrationtest

* Support stripping menu.

* rrr

* Fixes

* properties

* gun emoji

* fixes

* get rid of unused

* reeee

* Update Content.Shared/GameObjects/ContentNetIDs.cs

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-25 14:54:23 +02:00
Exp b5a68748ea
Fix strip menu not closing properly (#1908) 2020-08-25 12:44:06 +02:00
Julian Giebel d9f02a6a0a
The disposals pushing and pulling update (#1875)
* Add collision to disposal unit and pipes
Make disposal unit and pipes pullable
Implement proper handling of collisions in disposals

* Implement IsExiting
Move DisposalSystem to shared

* Change SharedDisosalUnitComponent to call manager.ContainsEntity directly

* Update saltern.yml

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-24 20:41:15 +02:00
DrSmugleaf 8a27a5322a Replace pragma warning 649 disable/restore with default! 2020-08-24 14:10:28 +02:00
Exp 56ebde7f45
Add IItemStatus to some weapon types (#1879)
* Bolt Action

* Shotguns

* Revolver + Outline

* In Magazines: show bullets as numbers plus the usual bullet stuff

* Empty bullets have another texture
2020-08-24 13:13:26 +02:00
metalgearsloth 969eeb5528
Add AI factions (#1807)
* Add NPC faction tags

Some stuff isn't easy to represent by the existence of components so tags are intended to provide that functionality for AI usage.

I was 50/50 on having all tags in the 1 component or splitting it into 2. I'm leaning towards 2. This would be for stuff like say "CanMimic" so the mimic knows it's allowed to look like a specific prototype, or something like "smg" on a gun so it can say smg-specific barks for instance (as currently smgs and pistols look the same from a component perspective).

This also means combat behaviors aren't hardcoded per faction, plus it makes it easy to update faction relations during events.

* Factions command

Update faction relationships via commands.

* Remove command TODO

* Woops

Forgot to commit these items

* Serializer writing and parsing

* linq me up fam

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-24 12:33:03 +02:00
SoulSloth df823d2245
Add Flashlight Visualizer/states (#1861)
* Add art assets for cloning

* Added a 'Scan DNA' button to the medical scanner

* Made the UI update unconditional for the medical scanner until checks for power changes are in place

* Update Medical scanner to reflect powered status and fix #1774

* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state

* Add disabling logic to 'Scan DNA' button on medical scanner

* Removed un-used libraries

* Added playing parameter to radiatingLightComponent, changed it's animation key to radiatingLight

* refactored RadiatingLight into a visualizer

* Added different light animations for differnt power states of a flashlight

* split out the radiating light visualizer into two seperate visualizers

* further refactored and tweaked handheldlight animations

* further lantern light tweaks

* removed un-used attributes in flashlight and lantern prototypes

* fix null check in handheldlightcomponent
2020-08-24 12:32:18 +02:00
Exp 769a371be6
Make the lobby player list include the ready indicator and not hack it together (#1860)
* Started new Lobby

* -Proper styling
-Use a scrollcontainer :smilethink:

* Too lazy to add a stylerule, too young to optimize css

* Fix typo

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-24 12:11:53 +02:00
Víctor Aguilera Puerto 34e7ae6c7a Add pressure protection to hardsuits, cleanup hardsuit prototypes 2020-08-23 14:50:27 +02:00
DrSmugleaf 814daaba4c
Fix the flashlight's power bar and status with no battery (#1862)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-23 13:19:40 +02:00
DrSmugleaf a4a25a9975
Remove localization manager dependencies from components (#1864)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-23 12:53:09 +02:00
DrSmugleaf b9196d0a10
Add a test that puts all components on an entity and checks for no exceptions (#1815)
* Add test that puts all components on an entity and checks for no exceptions

Also fix all the exceptions that happened because of this

* Add comments to the test

* Fix nullable errors

* Fix more nullable errors

* More nullable error fixes

* Unignore basic actor component

* Fix more nullable errors

* NULLABLE ERROR

* Add string interpolation

* Merge if checks

* Remove redundant pragma warning disable 649

* Address reviews

* Remove null wrappers around TryGetComponent

* Merge conflict fixes

* APC battery component error fix

* Fix power test

* Fix atmos mapgrid usages
2020-08-22 22:29:20 +02:00
DrSmugleaf 092dd7c946
Fix xenos not changing sprites when going into crit or dying (#1854) 2020-08-22 15:51:35 +02:00
Víctor Aguilera Puerto 8e54ea42e6 Fix rare crash when deleting airlock while the deny animation is playing 2020-08-22 13:41:35 +02:00
Exp 1b634739ac
Observers are shown as observers in the RoundEndSummary (#1838)
* Observers are shown as observers in the RoundEndSummary

* Fix typo

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-22 12:45:49 +02:00
Julian Giebel 1c21f2c3b0
Rework emergency lights (#1830)
* Implement emergency lights reacting to lost power

* Add emergency light sprites
Remove shared emergency light component

* Remove unused import

* Remove EmergencyLight NetID

* Add rich description
Change comments
Add license
Implement ExposeData

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-22 12:06:29 +02:00
Víctor Aguilera Puerto 68fb5d4257 Merge branch 'master' into 2020-08-19-firelocks 2020-08-21 16:51:50 +02:00
Exp 02b5632dac
Observers are now shown in the Lobby as Observers (#1834)
* Observers are now shown in the Lobby as Observers

* Weviews adwessed
2020-08-21 11:24:06 +02:00
Pieter-Jan Briers 0eba05c604
Fix exception in preferences preview. 2020-08-20 22:37:48 +02:00
Pieter-Jan Briers fc2ee61f75
Fix verbs in-hand.
Properly this time.
2020-08-20 21:45:43 +02:00
Pieter-Jan Briers bf60a4e9fc
Merge branch 'master' into mathmerge 2020-08-20 20:33:43 +02:00
Víctor Aguilera Puerto 9e7d698145
Allow specifying a text to be shown to players in the summary when ending the round. (#1818)
* Allow specifying a text to be shown to players when ending the round.
Also sets text

* Fix comment
2020-08-20 18:09:29 +02:00
Pieter-Jan Briers ed1a96e536
Nullability fixes. 2020-08-20 16:48:15 +02:00
Víctor Aguilera Puerto 944ce2cc92
Allow game presets to disallow latejoining (#1816)
* Allow game presets to disallow latejoining

* Update Content.Server/GameTicking/GameTicker.cs

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

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-20 16:20:48 +02:00
nuke f4909cdb98
Climbing system (#1750)
* Initial commit

* Climbing uses its own controller now

* Missed a check

* Get rid of hands check

* Cleanup

* Get rid of speciescomponent stuff

* Remove unneeded check, add separate case for moving other players.

* Add DoAfter

* IClientDraggable added to ClimbingComponent

* Added some basic integration tests. Renamed ClimbMode to Climbing.

* oops

* Minor fixes

* ffff

* Table fix

* Revamped system so its more predicted, uses proper  logic for de-climbing. Get hype!!!

* Flag check fix

* Distance check and reset numticksblocked

* get rid
2020-08-20 00:13:22 +02:00
Julian Giebel 7771f58460
Improve on disposal routing code (#1795)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-19 20:43:56 +02:00
Swept 20ab566f8c
Switches current PDAs to the /tg/ ones. (#1796)
* Switches PDAs with tg ones and renames flashlight component

* Which chucklefuck hid the ID cards in the clothing folder

* Removes Mime PDA as i'm gonna do that in another PR

* Moves EVERY SINGLE PDA over by exactly one pixel so they're aligned perfectly with the UI slot

* On second thought moves back the id-cards since I don't want to deal with conflicts
2020-08-19 20:41:33 +02:00
Exp 17080a92ee
Clear the ready list once the lobby is left (#1791) 2020-08-19 20:41:03 +02:00
Swept f79085d43e
Tones down screenshake (#1794) 2020-08-19 18:24:50 +02:00
Exp 81fea61b72
Fix Roundend Summary Overlap (#1789)
* Fixed translation

* Temp fix

* Add "TODO: Remove" Comment
2020-08-19 17:02:31 +02:00
SoulSloth dc77c399b9
Add 'Scan DNA' function to medical scanner (#1783)
* Add art assets for cloning

* Added a 'Scan DNA' button to the medical scanner

* Made the UI update unconditional for the medical scanner until checks for power changes are in place

* Update Medical scanner to reflect powered status and fix #1774

* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state

* Add disabling logic to 'Scan DNA' button on medical scanner

* Removed un-used libraries

* changed scan dna button to Scan and Save DNA
2020-08-19 16:23:20 +02:00
Julian Giebel 1292adb001
Disposal routing (#1710)
* Implement disposal tagger
Implement disposal  router
Combine sprites to make conpipe-tagger sprite

* Implement change requests

* Remove nullable

* Update DisposalHolderComponent.cs

* Update DisposalHolderComponent.cs

* Update Content.Server/GameObjects/Components/Disposal/DisposalRouterComponent.cs

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

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-19 15:50:06 +02:00
Exp 2448864035
Fixes sending empty msgs and trims unnecessary whitespaces (#1785) 2020-08-19 14:27:51 +02:00
Víctor Aguilera Puerto 5190c04944 Some work 2020-08-19 12:23:42 +02:00
SoulSloth 7664b30951
Add a fire extinguisher (#1685)
* added a lantern

* Add A Lantern with radiating light

* Added a GasVapor system and made a base for extinguisher spray.

* switched to using solution component for fire extinguisher

* made it so fire extinguisher's can run out of water vapor

* Added actual Gas to Gas Vapor, now getting atmosphere for touched tiles.

* Made it so gasVapor reacts and dissapates on reacting

* GasVapor now dissapates exponentially while traveling

* Added in-hands for fire extinguisher

* Added Spraysound to gasSprayer and to fire extinguisher prototype

* parameterized GasSprayer and GasVapor

* removed un-used imports in gasSprayer and gasVapor components and systems

* removed accidential threading import into gasmixturecomponent

* add a shared extinguisher component for extinguisher spray rotation instead of piggy-backing on RogueArrow

* paremeterized fuelCost and fuel name in GasSprayerComponent

* Paremeterized gasAmount, removed un-used code from gasVaporComponent

* Removed BaseItem Parent from Extinguisher_spray

* added GasVapor and GasSprayer to Ingored Components list

* reduced offset of spawned extinguisher vapor from player

* Update IgnoredComponents.cs

* renamed SharedExtinguisherComponent to SharedGasSprayerComponent and removed reference to RoguePointingArrow

* renamed shareExtinguisherComponent to SharedGasSprayerComponent

* Update Content.Server/Atmos/GasSprayerComponent.cs

Added check for solution component on GasSprayer.

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

* Update Content.Server/Atmos/GasSprayerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-18 17:45:49 +02:00
DrSmugleaf 8ea9e4cd90
Fix unknown component errors and duplicate damageable references (#1778) 2020-08-18 16:41:35 +02:00
Exp 5de57d6cd2
Ready Indicator in the lobby (#1771)
* Ready Indicator in the lobby

* Use SessionID instead of Name

* Don't show ready state when game is already running

* Make Ready List not selectable

* -Remove disconnected sessions from Ready
-Fix showing ReadyStatus when staying in lobby
2020-08-18 14:52:59 +02:00
Exp bbdfe44224
Admins can get a list of the StationEvents (#1670)
* -GetStationEventsMsg
-Fixed random in events help

* Don't send on connect

* Delete StationEvents on disconnect

* Resolve IClientNetManager when needed

* :smilethink:

* Remove setter

* Removed unused imports

* Don't resolve twice

* Add Event
2020-08-18 14:29:13 +02:00
metalgearsloth f54ba4b6d5
Gas overlay chunking (#1678)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-17 16:12:21 +02:00
Clement-O 0e6f55a23d
Added character limit for chat (#1586)
* Added character limit for chat

* Changed buffer reading from Int16 to Int32

Co-authored-by: Clément <clement.orlandini@gmail.com>
2020-08-17 14:45:02 +02:00
DrSmugleaf b051261485
Bodysystem and damagesystem rework (#1544)
* Things and stuff with grids, unfinished w/ code debug changes.

* Updated submodule and also lost some progress cause I fucked it up xd

* First unfinished draft of the BodySystem. Doesn't compile.

* More changes to make it compile, but still just a framework. Doesn't do anything at the moment.

* Many cleanup changes.

* Revert "Merge branch 'master' of https://github.com/GlassEclipse/space-station-14 into body_system"

This reverts commit ddd4aebbc76cf2a0b7b102f72b93d55a0816c88c, reversing
changes made to 12d0dd752706bdda8879393bd8191a1199a0c978.

* Commit human.yml

* Updated a lot of things to be more classy, more progress overall, etc. etc.

* Latest update with many changes

* Minor changes

* Fixed Travis build bug

* Adds first draft of Body Scanner console, apparently I also forgot to tie Mechanisms into body parts so now a heart just sits in the Torso like a good boy :)

* Commit rest of stuff

* Latest changes

* Latest changes again

* 14 naked cowboys

* Yay!

* Latest changes (probably doesnt compile)

* Surgery!!!!!!!!!~1116y

* Cleaned some stuff up

* More cleanup

* Refactoring of code. Basic surgery path now done.

* Removed readme, has been added to HackMD

* Fixes typo (and thus test errors)

* WIP changes, committing so I can pull latest master changes

* Still working on that god awful merge

* Latest changes

* Latest changes!!

* Beginning of refactor to BoundUserInterface

* Surgery!

* Latest changes - fixes pr change requests and random fixes

* oops

* Fixes bodypart recursion

* Beginning of work on revamping the damage system.

* More latest changes

* Latest changes

* Finished merge

* Commit before removing old healthcode

* Almost done with removing speciescomponent...

* It compiles!!!

* yahoo more work

* Fixes to make it work

* Merge conflict fixes

* Deleting species visualizer was a mistake

* IDE warnings are VERBOTEN

* makes the server not kill itself on startup, some cleanup (#1)

* Namespaces, comments and exception fixes

* Fix conveyor and conveyor switch serialization

SS14 in reactive when

* Move damage, acts and body to shared

Damage cleanup
Comment cleanup

* Rename SpeciesComponent to RotationComponent and cleanup

Damage cleanup
Comment cleanup

* Fix nullable warnings

* Address old reviews

Fix off welder suicide damage type, deathmatch and suspicion

* Fix new test fail with units being able to accept items when unpowered

* Remove RotationComponent, change references to IBodyManagerComponent

* Add a bloodstream to humans

* More cleanups

* Add body conduits, connections, connectors substances and valves

* Revert "Add body conduits, connections, connectors substances and valves"

This reverts commit 9ab0b50e6b15fe98852d7b0836c0cdbf4bd76d20.

* Implement the heart mechanism behavior with the circulatory network

* Added network property to mechanism behaviors

* Changed human organ sprites and added missing ones

* Fix tests

* Add individual body part sprite rendering

* Fix error where dropped mechanisms are not initialized

* Implement client/server body damage

* Make DamageContainer take care of raising events

* Reimplement medical scanner with the new body system

* Improve the medical scanner ui

* Merge conflict fixes

* Fix crash when colliding with something

* Fix microwave suicides and eyes sprite rendering

* Fix nullable reference error

* Fix up surgery client side

* Fix missing using from merge conflict

* Add breathing

*inhale

* Merge conflict fixes

* Fix accumulatedframetime being reset to 0 instead of decreased by the threshold

https://github.com/space-wizards/space-station-14/pull/1617

* Use and add to the new AtmosHelpers

* Fix feet

* Add proper coloring to dropped body parts

* Fix Urist's lungs being too strong

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes

Co-authored-by: GlassEclipse <tsymall5@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2020-08-16 16:42:42 -07:00
DrSmugleaf 12d94f28a1
Fix duplicate OOC console message (#1724) 2020-08-16 23:47:33 +02:00
Pieter-Jan Briers d04ad6ec85
Request window attention when round starts/restarts. 2020-08-16 23:36:56 +02:00
Exp 3293dc4459
-Move pointing to common (#1718)
-Remove some duplicate keyfunctions
2020-08-16 20:54:33 +02:00
Visne 0b448b500d Merge MathHelper and FloatMath
Requires  space-wizards/RobustToolbox#1234
2020-08-16 14:54:52 +02:00
ShadowCommander 66367309f0
Add args.Handled for in simulation hotkeys (#1657) 2020-08-16 14:23:34 +02:00
Vince b647ad0f42
Refactor UpdateKinematics() and fix a lot of Content warnings (#1709)
Most warnings were related to EntityQuery and IPhysicsComponent.
Partially fixes #1650 and fixes #1682
2020-08-15 20:38:35 -07:00
Pieter-Jan Briers 05cf8303e4
Make use of new WritableDirProvider APIs to improve file sharing and simplify code. 2020-08-16 01:12:30 +02:00
Víctor Aguilera Puerto 33baa73f06 Debug verbs aren't blocked by containers anymore. 2020-08-15 20:42:39 +02:00
DrSmugleaf add4986001
Fix being able to do most verbs from within a container (#1613)
* Fix being able to do most verbs from within a container

* Fix missing container check when using global verbs
2020-08-15 20:38:37 +02:00
Víctor Aguilera Puerto c3df108b27
Stripping (#1668)
* Start work on stripping.

* more strippable work

* Stripping works

* Nullable

* MORE NULLABLE

* nullable moment

* life is pain

* Interaction check.

* Update Content.Client/GameObjects/Components/HUD/Inventory/StrippableBoundUserInterface.cs

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

* Update Content.Client/GameObjects/Components/HUD/Inventory/StrippableBoundUserInterface.cs

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

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

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

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

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

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

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

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

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

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

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

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

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

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

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

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

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

* Update Content.Shared/GameObjects/Components/GUI/SharedStrippableComponent.cs

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

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

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

* Rename InventoryComponent and HandsComponent's OnChanged event to OnItemChanged

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Use static EquipmentSlotDefines

* Do not expose ContainerSlot on Inventory or Hands.

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-15 20:33:42 +02:00
metalgearsloth 845f5af7d0
Fix do_after throwing on attaching to new entity (#1679)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-15 16:03:43 +02:00
Swept 541ba64c80
More sandbox buttons for fun and pleasure (#1599)
* Aghost Button

* Toggle Lights Button (Shitcode)

* Suicide Button

* Toggle Subfloor Button

* Changed the X icon for windows to be slimmer

* ToggleLights and ToggleSubfloor are no longer shitcode!

* Refactors SandboxWindows.cs

* Added Shows Spawns Button

* Fix

* Show Bounding Boxes Button

* I guess this helps somewhat?

* Nested SandboxWindow.cs inside of SandboxManager.cs for simplicity

* Fixes

* I forgot what I added

* Removed CSI console... for now

* Fix build

Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
2020-08-14 18:09:58 +02:00
metalgearsloth 5962280d36
Station events (#1518)
* Station event system

Adds 2 basic events: (Power) GridCheck and RadiationStorm (based on the goonstation version).
The system itself to choose events is based on tgstation's implementation.
This also adds the event command that can be run to force specific events.

There's still some other TODO items for these to be complete, to my knowledge:
1. There's no worldspace DrawCircle method (though the radstorm could look a lot nicer with a shader).
2. The PlayGlobal power_off / power_on audio seems to cut out halfway-through
3. (I think this is a known issue) lights still emit light until you get closer in a gridcheck so PVS range might need bumping.

* Invariants for event names

* Fix random event shutdown

* Mix stereo announcements to mono

* Address feedback

* Remove redundant client system and use the overlay component instead
* Drop the server prefix

* Fix radiation overlay enum

* use entityquery instead

* zum's feedback

* Use EntityQuery

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-13 22:52:17 +02:00
ike709 83a7dfebef
Improves the RCD (#1609)
* Improves the RCD

* oops

* Unnecessary

* Merge 2 checks

* RCD whitelist and reorganization

* Makes the RCD great again

* Ignored components

* loicense

* Fix missing using
2020-08-13 19:39:23 +02:00
DrSmugleaf 4a8ed41e3a
Fix namespaces and optimize imports (#1651)
* Fix namespaces and optimize imports

* Cleanup fixes

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes
2020-08-13 14:40:27 +02:00
metalgearsloth 05a76d55f7
Vending machine uplift (#1549)
* Let there be (vending machine) light

Cut up vending machines to have unshaded layers.
I scripted the cutting up so there might need to be minor tweaks to some of them.
Added the eris vending machine sound (I liked it more than tg's, fight me).

* Tweak sound reduction

* Mark vending as abstract

Appearance is done on each vending based on what sprite states they have (at the moment) and the vendingmachine shouldn't be spawned on its own anyway.

* Add screen layer back in

* Unstuff what was stuffed

* Removed the Soviet and USA vending machines

* Added proper licensing

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Swept <jamesurquhartwebb@gmail.com>
2020-08-13 14:39:23 +02:00
Pieter-Jan Briers e76003948b
Remove this parameter from FloatMath.Clamp.
That was a stupid idea.
2020-08-12 21:19:34 +02:00
Pieter-Jan Briers f182ff5613
Remove CannyFastMath. 2020-08-12 21:19:34 +02:00
DrSmugleaf 60163e85bf
Fix restartround crash with the DoAfter system (#1658) 2020-08-12 20:44:18 +02:00
Acruid cdc6ec3bfc Ranged weapon firing does not depend on DefaultGrid anymore. 2020-08-11 16:44:15 -07:00
Julian Giebel c00a08f504
Add disposal-charging state to disposal rsi (#1649)
Add charging state to UpdateVisualState in Content.Server/DisposalUnitComponent
2020-08-11 17:52:37 +02:00
Exp 58371b60ab
Fix Exception as non admin (#1646) 2020-08-11 17:38:14 +02:00
Julian Giebel 27bbb89fbf
Add a check for construction ghosts beeing present to ConstructionSystem/SpawnGhost (#1642) 2020-08-11 01:55:18 +02:00
Exp aaffd7e198
Chem Master & Dispenser Power Fixes (#1622)
* -ChemDispenser & Master can now open the UI without power
-Both can also eject beaker without power

* -Disables button if not powered
-Disables clear & eject buttons if no beaker

* Fix server freeze
2020-08-10 16:30:56 +02:00
SoulSloth 52a01fff32
Add a lantern and a radiating light component (#1571)
* added a lantern

* Add A Lantern with radiating light

* Update meta.json

Added copyright information for lantern.rsi
2020-08-09 21:57:42 +02:00
Qustinnus 81e2dde7f5
Fixes recoil and adjusts values (#1573) 2020-08-09 20:56:02 +02:00
Víctor Aguilera Puerto 4fe1083bfb Fix gas analyzer returning pressure instead of temperature. 2020-08-09 15:21:23 +02:00
Exp cc9f16e738
Adds Gas Analyzer (#1591)
* -Started Gas Analyzer
-TemperatureHelpers

* Formatting

* Adds PopupTooltip to NotifyManager

* Revert Tooltip fuckery

* Gas Analyzer gives proper error messages

* Localization

* Added a very wip gas analyzer ui

* UI works, doesn't look good but hey

* Safety checks

* Fancy WIP gas mix bar

* Gas Color

* Gas Amount shows only 2 decimal places

* -Made bar full width
-Moved gas list into a table
-Some gas bar things

* IDropped something

* Description

* -Percentage
-Padding

* ItemStatus

* -Proper Danger Warnings
-Added Warning danger state

* Pressure unit

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-08 18:24:41 +02:00
metalgearsloth 5b3b2e3207
do_after (#1616)
* do_after

Ports (most of) do_after from SS13.
Callers are expected to await the DoAfter task from the DoAfterSystem.
I had a dummy component for in-game testing which I removed for the PR so nothing in game uses do_after at the moment.
Currently only the movement cancellation is predicted client-side.

* Minor do_after doc cleanup

* do_the_shuffle

Fix nullable build errors.

* The last nullable

* Implement NeedHand

Thanks zum.

* nullable dereference

* Adjust the system query

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-08 18:16:13 +02:00
Víctor Aguilera Puerto a9a6438d74 Ignore Barotrauma component on the client. 2020-08-08 15:35:20 +02:00
Exp b4f08811eb
Adds Spray Bottles (#1522)
* Spray Bottle

* -"Proper" wall detection
-Removed some using
-Fixed sound

* Just don't add it

* -Removed spill sound
-Added sound parameter to SpillHelper.SpillAt

* Now spawns Vapor instead of Puddles instantly

* -Review
-Nullable

* Reworkkkk

* AABB shittery

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-08 14:33:36 +02:00
Víctor Aguilera Puerto 079937a9fe
Wall slams - Damage on high velocity impact. (#1600)
* Wallslammed!

* Removes debug logging

* Buff damage to 5 by default
2020-08-07 16:22:32 +02:00
Swept 85d8051bf1
Removes "spawn entities" and "spawn tiles" from the escape menu (#1606) 2020-08-07 03:46:01 +02:00
ShadowCommander cf45beb7dc
Fix OpenCentered by setting size before position (#1604) 2020-08-06 18:06:24 -07:00
Swept 54c0264f01
Adds "Quit Game" and "Disconnect" button to Escape Menu (#1602) 2020-08-06 13:35:32 +02:00
Víctor Aguilera Puerto 85df48a700
Adds atmos (#1389)
* Add initial atmospherics framework

* Make walls and airlocks airtight

* Add the basic atmosphere gas system

* Atmos: move CardinalToIntVec and Offset into extention methods in EntityNetworkUtils

* Optimize vending machine code a bit.

* Address feedback from Atmos PR, make code compile

Fix use of OnMove -> SnapGridComponent.OnPositionChanged.
Added pause checking to atmos simulations.

* Improvements to the existing ZAS prototype (#996)

* Rename Volume -> Quantity in GasProperty

This makes the name consistent with the rest of the code, given that
it's meant to be a mol value.

* Replace Gas enum with GasPrototype

Unused as of yet, but laying the groundwork for future changes.

* Update AtmosphereMap, improving maths

Adds a temporary default atmosphere, hardcoded in for testing. It will
be replaced eventually.

Fixed a maths mistake in the original code involving unit conversions.

Added the Take() method to IAtmosphere, for taking some volume of
mixture out of a gas mix. This will be pretty handy in the future, but
for now it's used by walls to delete air where they are built.

* Fix merging, splitting logic for zones

Removing a cell from a zone now correctly reduces its volume.
Adding a cell to a zone now correctly increases its volume.

* Improvements to atmos code, reorganising of types

Moved GasPrototype to shared, because it's going to be used by the
client later.

Split up the atmosphere code. Now zones are explicitly their own kind of
atmosphere, which should speed up some loops and also solve
inconsistencies in the volume calculation.
GasMixtures are another type of atmosphere, for more general use.

Try to fix the splitting/merging code, which was quite cryptic and not
clear at all. It *should* work now.

* Switch zones back to MapIndices

Turns out I'm an idiot who misunderstood the code. MapIndices can be
used as one-per-tile, which is what is needed for atmos. GridCoordinates
are many-per-tile, and were causing lots of problems.

* Add zone debugging overlay

This is the first example of zone information being sent to a client.

It adds the `togglezoneinfo` command, which overlays the tiles and gas
information for the zone currently occupied by the user on the screen.
This was helpful for debugging the GridCoordinates problem.

* Fix position of atmos zone debug text

* Make AirtightComponent only activate on MapInit

This should stop it splitting atmospheres in mapping.

* Doc comments improvements to AtmosphereMap

Fix some malformed comments, inherit some useful docs, document some
more functions.

* Add zone logic for changing tiles to/from space

Zones are now correctly created when all the tiles in a room are built,
and destroyed when one of the tiles is destroyed.

* update engine

* right

* Cleanup code

* Port GasMixture, further cleanup

* Fix windows not being airtight, some other stuff

* Work on atmos

* Difference between ZoneBlocked and AirBlocked

* Big GridAtmosphereManager cleanup, zones are broken now oops

* Remove zones, add excited group implementation

* Further cleanup

* Further work on atmos

* Work on gas overlay.

* PumpGasTo and ReleaseGasTo methods for GasMixture.

* Adds Tile Overlay System.

* More work on atmos

* Gasses spread, equalize and all that

* Fix a few crashes

* Gas can actually spread from room to room after opening airlocks

* Add explosive depressurization, tile prying on depressurization, gas spreading on wall break. Etc.

* More work

* Remove atmoschem, add "performant" gas overlays

* what the fuck git

* More work I guess?

* Fix stuff, create a few (empty) components for future work

* Fix temperature

* Fix tile air sharing

* Atmos optimizations

* Further atmos optimizations

* Even more optimizations!

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

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

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

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

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

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

* Address a few reviews

* Oops, forgot to remove this

* Update Content.Server/Atmos/AtmosphereMap.cs

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

* Fix compile

* Improved client gas tile overlays

* Less allocations

* Even less allocations!

* some stuff dunno

* Big refactor time, oh yeah

* it truly is 1 AM

* bruh

* No idea why now it doesn't work.
Oh well! I'll fix this on thursday 😌

* Basic atmos serialization

* Fix bugs, add VV attributes

* Start adding stuff for gas reactions

* Add a few atmos commands

* Fill gas command

* Changes to gas opacity

* Fixes I guess

* Fixes, add space wind sound

* High pressure movement!

* Better high pressure movements.

* Fix direction, maybe?

* And now it works great

* Science!

* and this is why you don't trust people

* remove logging

* Turns out I'm fucking dumb

* Work on hotspots and reactions, add tritium gas

* IGridAtmosphereComponent interface! For future unsimulated grids.

* Makes atmos updates NoGC.

* C E A S E

* Add settemp atmos command

* Important reminder.

* Remove useless AtmosCooldown.

* More work on hotspots

* Overlays for hotspots. Fire works!

* Turns out I suck at coding

* Fire texture change

* Yeah let's make that an absolute value, hmm?

* Support for atmos after teleporting grid (more or less)

* fix attempt (doesn't actually fix it)

* Make static variable not static

* Remove magic numbers

* Stopwatch moment

* Slight cleanup.

* More cleanup.

* Atmos optimizations

* Fix build

* Remove useless ghost atmos shit

* Adds CanSeeGases component for gas overlay stuff

* Component and prototype ignores

* ExcitedGroups now dispose on being merged with others

* Some tweaking.

* Atmos now uses frame time for updates.

* Nullable boogaloo

* IExamine fix

* Fix build

* Fix restartround

* Atmos tweaking, use invalid direction

* Increase high pressure movement force

* Better sort

* Update submodule.

* NULLABILITY AAAAH

Special thanks to monster860 and all monstermos contributors!

Co-authored-by: Campbell Suter <znix@znix.xyz>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-08-02 20:08:20 +02:00
Exp c61e6d541b
Moves ExamineSystem to Shared & adds next step info to construction examine (#1567) 2020-08-01 17:37:12 +02:00
Acruid 86f74b35d1 Made all overlays compatible with the new Overlay changes in engine. 2020-07-31 14:01:34 -07:00
DrSmugleaf 7a983062a9
Fix disposal units in general (#1552)
* Makes disposal units able to be entered when unpowered

* Make the unit's light turn off when unpowered

* Remove event handlers on component removal

* Make the disposal unit's lever engage when queueing an auto engage

* Autoengaging the lever on insert was a mistake

* Make the engage button active when engaged

* Make the engage button toggleable

* Fix nullable error
2020-07-31 14:50:46 +02:00
DrSmugleaf bda5ce655f
Add the trash man (#1367)
* Add disposal.rsi

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

* Add disposal nets

* Add pushing entities along the disposal network

* Add disposal unit

* Unregister disposable component

* Add flush and selfinsert verbs to disposal unit

* Add gradual disposals movement

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

* Multiply disposals speed by 10

And fix early returns when moving an entity

* Rename Disposable component to InDisposals

* Remove DisposalNet and add on anchor events

* Remove anchored events, moved to interfaces

* Code cleanup

* Fix adjacent tubes' connections when a tube connects

* Fix jittery movement in disposals

* Remove Logger.Debug call

* Move disposals updates to InDisposalsComponent

* Fix adjacent connection valid directions check

* Disposal tubes now throw you out where they are facing

* Add disposal unit exit cooldown

* Set different disposal pipe sprite state depending on anchored value

* Add recycler

* Add recycler animation

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

* Add PowerDevice component to the disposal unit

* Made the Recycler center on the grid

* Add disposal junction

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

* Add disposal flush and clang sounds

Taken from VGStation

* Move disposal flush and clang sound file names to exposedata

* Add disposalsmap.yml to test with

* Add summaries to DisposalUnit fields

* Add sideDegrees yaml property to disposal junctions

* Fix outdated usings

* Add conveyor resources

* Update RobustToolbox

* More merge fixes

Add conveyor collision masks

* Add ConveyorComponent

* Fix crash when reentering a body

* Merge branch 'master' into disposals-1147

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

* Move IAnchored and IUnAnchored to AnchorableComponent

* Update power components and remove old disposals map

* Remove redundant sprite layers

* Add tile pry command

* Fix tilepry command

* Fix DisposalJunctionComponent missing a component reference

* Add anchor by radius command

* Add Y-Junctions

* Add disposal bend

* Add unanchor command

* Change DisposalJunction prototypes to specify their angles

* Fix disposal units being hidden below the floor

* Removed IAnhored and IUnAnchored interfaces

* Replace CanBeNull annotation with nullable reference types

* Update showwires command

* Add recycler recycling items

* Added angle and speed properties to ConveyorComponent

* Fix conveyort textures

* Add animation to the disposal unit

* Fix anchor and unanchor commands sometimes not finding any entities

* Fix not reading flush_time from disposal unit prototype

* Fix merge conflict wrong using

* Fix disposal, recycling and conveyor texture paths

Delete diverters

* Update visualizer names

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

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

* Add conveyor belts properly moving entities on top

* Anchorr wires

* Change conveyor bounds to 0.49

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

* Add starting/stopping conveyors

* Add reversed conveyors

* Add conveyor switches

* Move InDisposalsComponent code to DisposableComponent

* Add ExitVector method to tubes

* Fix not updating tube references when disconnecting one

* Replace IoCManager call with dependency

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

* Move disposals action blocking to shared

* Add rotating and flipping pipes

* Make conveyor intersection calculations approximate

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

Happens when emergency lockers remove themselves

* Add disposal unit interface

* Make disposal units refuse items if not powered

* Make disposal tubes hide only when anchored

* Make disposal junction arrows visible to mere mortals

* Add disposal tubes breaking

* Add tubeconnections command

* Add missing verb attribute

* Add flipped disposal junction

* Add ids and linking to conveyors and switches

* Add conveyor switch prying and placing

* Add anchoring conveyor switches and refactor placing them

* Add missing serializable attributes from DisposableComponentState

* Make conveyor speed VV ReadWrite

* Change drawdepth of conveyors to FloorObjects

* Make conveyor anchored check consistent

* Remove anchoring interaction from switches

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

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

* Add conveyor and switches loose textures

* Merge conflict fixes

* Add disposal unit test

* Add flushing test to disposal unit test

* Add disposal unit flush fail test

* Add disposals to the saltern map

* Fix saltern disposal junctions

* Add power checks to the recycler

* Fix disposal unit placement in maintenance closet

* Remove disposal junctions from saltern

* Readd junctions to saltern

* Add the chemmaster to saltern at the request of Ike

* Move the chemistry disposal unit

* Fix casing of disposal flush sound

* More merge conflict fixes

* Fix a compiler warning.

* Remove popup invocation from buckle

* Remove showPopup parameter from InteractionChecks

* Remove unnecessary physics components

Fixes the physics system dying

* Replace PhysicsComponent usages with CollidableComponent

* Update existing code for the new controller system

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

* Remove visualizer 2d suffix and update physics code

* Transition code to new controller system

* Fix shuttles not moving

* Fix throwing

* Fix guns

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

* Add syncing conveyor switches states

* Fix the recycler wanting to be a conveyor too hard

* Fix showwires > showsubfloor rename in mapping command

* Fix wifi air conveyors

* Fix test error

* Add showsubfloorforever command

Changes drawdepth of the relevant entities

* Disable opening the disposal unit interface while inside

* Add closing the disposal unit interface when getting inside

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

* Add removing entities on disposal unit component removal

* Delay disposal unit flush and fix serialization

* Implement pressure in disposal units

* Fix chain engaging a disposal unit

* Implement states to the disposal unit

* Fix missing imports from merge conflict

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

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

* Address some reviews

* Fix za buildo

* Use container helper to detach disposables

* Make conveyors use the construction system

* Make conveyor groups and syncing sane

* Make flip flip

brave

* Add activate interface to conveyor switches

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

* Fix not registering conveyors and switches on initialize

* Stop using 0 as null

* Disconnect conveyors and switches when disposing of a group

* Make disposal units not able to be exited when flushing

* Make disposal units flush after a configurable 30 seconds

* Add handle and light layers to the disposal unit

* Merge engaging and flushing

* Update saltern.yml

* I love using 0 as null

* Make disposal unit visual layers make sense

* Remove duplicate remove method in disposal units and update light

* Replace DisposableComponent with disposal holders

* Fix disposal holders deleting their contents on deletion

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

* Rename disposable to holder

* Fix junction connections

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

* Fix spamming the engage button making the animation reset

* Make the recycler take materials into account properly

Fix cablestack1 not existing

* Merge conflict fixes

* Fix pipes not being saved anchored

* Change conveyors and groups to not use an id

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-07-30 23:45:28 +02:00
Swept 1ec90599fa
Commit (#1541) 2020-07-30 03:22:26 +02:00
Acruid a772b505ac IComponentManager API changes. 2020-07-29 15:49:44 -07:00
Exp 3cd5d7ba3b
Add Listening & Radio to IgnoredComponents (#1529) 2020-07-29 13:03:29 +02:00
DrSmugleaf 00d5effcb8
Fix addhand command (#1519) 2020-07-28 15:38:23 +02:00
DrSmugleaf c57b1c2914
Fix inhands not displaying (#1517) 2020-07-28 02:53:36 -07:00
Swept 1245823f6d
first (#1498) 2020-07-27 23:46:43 -07:00
DrSmugleaf e2b02c69c9
Add examine verb (#1508)
* Add examine verb

* Move examine verb to the client

* Remove unused imports
2020-07-27 23:33:38 -07:00
DrSmugleaf 0a82aba88e
Add pulling (#1409)
* Initial framework for pulling.

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

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

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

* Update everything to work with the new physics engine

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

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

* Physics update and convert to direct type casts

* Add notnull checks

* Add pull keybinds to the tutorial window

* Move PullController to shared

* Fix pulled items getting left behind

* Fix moving pulled objects into walls

* Remove flooring of coordinates when moving pulled objects

* Add missing null check in PutInHand

* Change pulling keybind to control and throwing to alt

* Change PhysicsComponent references to IPhysicsComponent

* Add trying to pull a pulled entity disabling the pull

* Add pulled status effect

* Fix merge conflicts

* Merge fixes

* Make players pullable

* Fix being able to pull yourself

* Change pull moving to use a velocity

* Update pulled and pulling icons to not be buckle

A tragedy

* Make pulled and pulling icons more consistent

* Remove empty not pulled and not pulling images

* Pulled icon update

* Pulled icon update

* Add clicking pulling status effect to stop the pull

* Fix spacewalking when pulling

* Merge conflict fixes

* Add a pull verb

* Fix nullable error

* Add pulling through the entity drop down menu

Co-authored-by: Jackson Lewis <inquisitivepenguin@protonmail.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
2020-07-27 00:54:32 +02:00
Pieter-Jan Briers 804f287ee3
Improve item slot hover.
1. Use a separate SpriteView for the hover entity to avoid any bookkeeping issues
2. don't set storagebutton visibility.
2020-07-26 17:57:48 +02:00
Pieter-Jan Briers 8767a80c41
Show entity UIDs in the right-click menu if F3 is enabled. (#1490) 2020-07-26 17:28:28 +02:00
Moses 8e08c64fcf
Show if items can be placed in a slot when hovering (#1480)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-07-26 14:25:38 +02:00
Pieter-Jan Briers 2bd318e83f
Make clown clumsy. (#1481)
Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
2020-07-26 14:08:09 +02:00
DrSmugleaf 4b4e83d2bf
Add changing the amount of hands on the GUI depending on your body parts (#1406)
* Multiple hands in gui first pass

* Remove IHandsComponent interface

* Create hand class and more hand textures

* Refactor ServerHandsComponent to use a single list of hands

* Seal SharedHand

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

* Remove HandsGui buttons and panels dictionaries

* Fix items in hands rendering

* Fix wrong hand container comparison

* Fix not updating the location of duplicate hands

* Change ClientHandsComponent to use a SortedList instead of a dictionary

* More merge conflict fixes

* Change SortedList to List

* Fix hand button order

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

* Add add hand and remove hand command

* Merge conflict fixes

* Remove nullable reference type from ContainerSlot

* Fix texture errors

* Fix error when reaching 0 hands

* Fix error when swapping hands with no hands

* Merged remove hand methods

* Fix item panel texture errors

* Merge conflict fixes

* Fix addhand and removehand command descriptions

* Add properly displaying tooltips for 2 hands

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

* Add dropping held entity if a hand is removed

* Change hand location to be calculated by index

* Made different hand gui updates more consistent

* Remove human body yml testing changes

* Sanitize addhand and removehand commands

* Merge conflict fixes

* Remove testing changes

* Revert body system changes

* Add missing imports

* Remove obsolete hands parameter in yml files

* Fix broken import

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

* Make hand container id use an uint

In case someone gets more than 2 billion hands

* Rename hand component files

* Make hands state use an array
2020-07-25 15:11:16 +02:00
DrSmugleaf a6931e5773
Fix crash when clicking a deleted entity in the dropdown list (#1475) 2020-07-24 20:18:42 +02:00
DrSmugleaf 245dbdaa3a
Add pointing (#1435)
* Add pointing keybind and simple message

* Add turning the player when pointing

* Add pointing arrow

* Make the popup message appear on the pointing entity

* Add pointing to tiles and space and proper grammar

* Move pointing bind from HandsSystem to PointingSystem

* Add more messages for pointing depending on the viewer perspective

* Fix non nullable reference type

* Serialize pointing arrow duration

* Serialize pointing arrow step and add summaries

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

* Add 0.2 second delay between pointings

* Add pointing arrow yaml examples

* Add the ability for pointing arrows to be rogue

* Remove rogue package reference

* Add point to verb

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

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

* Add VV to PointingArrowComponent

* Increase pointing delay from 0.2 to 0.5 seconds

* Address reviews

* Fix nullability errors

* Separate pointing and rogue pointing code

* Fix rogue pointing arrow visuals

* Made rogue pointing arrow rotation adjustment readable for mortals

* Make rogue pointing arrows less destructive

* Cleanup more of the rogue pointing arrow code
2020-07-24 14:51:18 +02:00
DrSmugleaf 1eac63e5bb
Fix popupmessage appearing behind the player when moving (#1401) 2020-07-24 14:26:39 +02:00
DrSmugleaf 64672fdc31
Refactor to use the new multiple controller system (#1462)
* Transition code to new controller system

* Fix shuttles not moving

* Fix throwing

* Fix guns

* Change hands to use physics.Stop() and remove item fumble method
2020-07-23 18:33:37 +02:00
metalgearsloth 56737b635f
Damage visualizer for simple mobs (#1332)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-23 02:04:03 +02:00
DrSmugleaf a8b3c99075
Add two-way serialization in ExposeData for some of the components that are missing it (#1451) 2020-07-23 01:46:09 +02:00
DrSmugleaf b88afec350
Add slipping prediction (#1440) 2020-07-23 01:40:31 +02:00
DrSmugleaf c9057d01ae
Remove 2D suffix from visualizers (#1453) 2020-07-23 00:56:53 +02:00
DrSmugleaf 46f13da26d
Fix verb menu not working for clientside entities (#1400)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-07-23 00:56:30 +02:00
Swept d1151281b2
Adds RCD and Pill to IgnoredComponents.cs (#1445) 2020-07-22 09:54:46 +02:00
Swept 1386b8ca2d
Fixes Jumpskirts (#1442) 2020-07-22 01:37:46 +02:00
DrSmugleaf 202954efe2
Remove unused imports (#1431)
We don't support .Net Framework anymore.
2020-07-19 17:06:51 -07:00
Acruid 8437388f2b Removed the StateBase scene, its functionality got moved back into Engine.
Changed all the dependencies inside GameScreenBase to protected so that derived classes can access them.
2020-07-19 12:44:32 -07:00
DrSmugleaf 20b175d997
Add mapping command (#1411)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-19 18:43:16 +02:00
R. Neuser 86c318cc74
OverlayManager 2 Electric Boogaloo (#1410) 2020-07-19 17:32:26 +02:00
Acruid c9374992a6 Converted everything to use collision and physics component interfaces. 2020-07-19 00:33:02 -07:00
ike709 e65c64af14
Adds the ChemMaster 4000 (#1398) 2020-07-17 22:41:19 +02:00
Pieter-Jan Briers 37a893c8ad
Adds side-open button styles. 2020-07-17 12:06:52 +02:00
DrSmugleaf 53a2392edc
Fix restartround crash and cleanup ServerStorageComponent (#1340) 2020-07-17 11:03:07 +02:00
DrSmugleaf f313a9267a
0 days without buckle breaking (#1366) 2020-07-17 10:43:10 +02:00
F77F de013ba2ab
Add a "give full access" button to the sandbox menu for convienence. (#1387)
Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
2020-07-17 10:38:58 +02:00
James Campos 52ddcfedc5
Fix client crash when when controlling and uncontrolling a stunned entity (#1388)
Fixes #1192
2020-07-13 15:54:47 +02:00
ike709 203a835264
Emergent Sanitation Gameplay (#1378)
* Emergent Sanitation Gameplay

* Fix the map

* Address review

* Mention if it's slippery in the description
2020-07-11 23:49:54 +02:00
metalgearsloth 51d08e8b05
AI Reachable system (#1342)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-11 15:09:37 +02:00
Acruid b6b31b7294
Construction Bugfixes (#1329)
* Added: CanReach property to AfterAttack events which signals if the attack was within reach.
Fixed: You cannot construct/deconstruct things out of reach.
Fixed: Construction entities now preserve transform rotation.
Fixed: No more exceptions about missing grids when constructing world entities.
Fixed: Used the proper intermediate sprite for intermediate entities.
Fixed: Issue with missing sprite layers on ghost.

* The alligator is greedy, he always eats the bigger number...

* Adds a check so that you cannot use tools on entities that are obstructed from view.
2020-07-10 16:52:07 -07:00
metalgearsloth a77f219515
Minor A* optimisations (#1335)
* Add some extra comments
* Remove the redundant closedTiles variable
* Rename some variables to better match the common naming schemes

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-10 20:30:33 +02:00
ike709 915fffb635
Latejoin Job Selection (#1284)
* UI version 1

* Latejoining

* cleanup

* missed a line

* Various fixes

* comment
2020-07-10 15:27:55 +02:00
metalgearsloth 13e3dc7a70
Fix mob panel debug (#1334)
The panel was staying when an individual part was toggled. I also removed some other redundant code.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-10 14:18:21 +02:00
DrSmugleaf 257189141e
Add missing ignored components for the client (#1337)
* Fix client unknown component errors

* Update Content.Client/IgnoredComponents.cs

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-07-10 13:56:39 +02:00
Víctor Aguilera Puerto 7ae114f92c
Merge pull request #1263 from DrSmugleaf/buckle-locker-fix-1262
Fix buckle in general
2020-07-09 00:15:28 +02:00
Pieter-Jan Briers 023fd60054
Fix throwing in space. 2020-07-08 18:29:13 +02:00
DrSmugleaf e1f9033a69 Merge branch 'master' into buckle-locker-fix-1262 2020-07-08 15:35:20 +02:00
ike709 2d2385032a
Admin chat (#1287)
* Admin chat

* Change it to show username, not character name

* moves the thing

* Removes SenderEntity
2020-07-08 12:18:16 +02:00
DrSmugleaf e7d756811e
Replace CanBeNull annotations with nullable reference types (#1270)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-08 01:41:20 +02:00
Víctor Aguilera Puerto 271945e1a5 Cleanup flashbangs. Fixes #1305 2020-07-08 00:51:08 +02:00
Víctor Aguilera Puerto e27e4ed2b1 Fix overlays not being applied after reentering an entity 2020-07-07 23:31:36 +02:00
DrSmugleaf e2a96ac717 Merge branch 'master' into buckle-locker-fix-1262 2020-07-07 22:58:33 +02:00
Víctor Aguilera Puerto 75f92da8ac Fix tests 2020-07-07 22:41:33 +02:00
Víctor Aguilera Puerto 3833d1af5f Fix overlays applying EVERY overlay of EVERY overlay component
Cluster moment
2020-07-07 22:34:20 +02:00
Víctor Aguilera Puerto 830d7bc02d Fixes MsgSelectCharacter not being registered 2020-07-07 21:27:32 +02:00
AJCM-git e7847d1555
fixing lobby (#1297) 2020-07-07 21:04:27 +02:00
DrSmugleaf 8f685f0541 Merge branch 'master' into buckle-locker-fix-1262 2020-07-07 20:36:43 +02:00
AJCM-git ae41d03ec6
Re-organizing the Resources folder. Part 1. (#1234)
* First commit

* Lockers

* Lockers electric boogaloo

* Crates and Lockers

* Almost finishing the Textures folder

* Updating texture paths. Reminder to fix:
* Lockers
* Windows
* Vending Machines
* APC
* Catwalks
* Bedsheets and Cloaks
* Status effects

* dont know what happened here

* Commit before merge

* re-organizing

* Lockers broken

* Commit before merge

* Submodule

* renaming

* Fixing most issues

* forgot these ones

* Updating submodule

* typo

* Fixing some paths

* fixing some paths

* updating submodule

* (hopefully) fixing the submodule
2020-07-07 19:19:00 +02:00
Víctor Aguilera Puerto cddfa62980 Fix MsgSandboxRespawn not being registered client-side. 2020-07-07 18:10:35 +02:00
DrSmugleaf b850ac2437 Merge branch 'master' into buckle-locker-fix-1262 2020-07-07 00:20:07 +02:00
DrSmugleaf c78ce3e27a
Add click dragging for buckle (#1290) 2020-07-07 00:04:30 +02:00
R. Neuser 88f49961d8
OverlayManager refactor and Flash (#1218)
* Flash component, overlay and shader
Add BeginDraw method to Overlay.cs

* Add flash icons, sounds

* Progress

* Multiple overlays without enums

* This is probably the worst way to do this IDK

* Remove nullable reference type

* Add AttackEventArgs as parameter to OnHitEntities
MeleeWeaponComponent.Attack now continues when OnHitEntities returns true (it hit something)
Add OverlayType enum so client and server can agree on overlay ids
Move IConfigurable to its own file
Add AoE flash with shorter duration
Flashing someone slows them down

* Add arc to flash
Set item size to something reasonable
Remove chat log message when flash burns out

* Remove unused interface
2020-07-06 23:37:39 +02:00
chairbender b35333d366
Click Drag Functionality + Refactor Interaction Interfaces (#1125)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-06 23:27:03 +02:00
ike709 c019d428a7
Antag preferences and antag prototype (#1264)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-06 23:24:29 +02:00
Pieter-Jan Briers cee8aaa84c
Fix cases of net messages not being registered before being sent. 2020-07-06 22:57:01 +02:00
ike709 3bab2fd803
Focus OOC hotkey (#1272) 2020-07-06 15:45:58 +02:00
DrSmugleaf 45211a2f0b Fix a buckled entity's sprite being drawn over the chair when looking up 2020-07-04 01:28:06 +02:00
DrSmugleaf 73eb53da46
Fix a player's mob continuing to move after disconnecting (#1265) 2020-07-03 23:32:41 +02:00
DrSmugleaf 299b2bda6b
Fix sandbox panel not reopening properly after being closed by clicking its X (#1260) 2020-07-03 23:28:17 +02:00
DrSmugleaf c1ba2f76c7
Fix crash when reentering a body (#1258) 2020-07-03 23:26:30 +02:00
DrSmugleaf 0a8a383019
Fix lasso buckle (#1246)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 23:36:06 +02:00
Pieter-Jan Briers bc24a852f9
Fix throwing. 2020-07-02 23:28:37 +02:00
GlassEclipse 610ab8bf50
BodySystem stuff 2: overused boogaloo (#1174)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 20:51:14 +02:00
Swept ebebb3603a
Added a buncha bloat from teegee (#1203)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 16:05:03 +02:00
Tyler Young 9f1bdb4b0a
Make Server/Client Ignored Components lists easier to find (#1202)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 15:50:45 +02:00
Exp 8171e40a37
Added bolts to airlocks (#1138)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 15:31:06 +02:00
windarkata 6775ae8153
Cargo Console Limit (#1095)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 14:45:40 +02:00
Acruid f0561d8d95 Changes resulting from merging Client and Server PhysicsComponent. 2020-07-01 12:03:19 -07:00
py01 23cc6b1d4e
Power Rework (#863)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-06-28 17:23:26 +02:00
Pieter-Jan Briers 579ff6bb26
Use async DB queries. 2020-06-26 03:46:28 +02:00
DrSmugleaf 602dac393e
Add Buckling (#1155)
* Create BuckleableComponent.cs

* Add strap component and keybind to buckle targeted entity

* Remove buckle keybind, turn it into a verb

* Add moving and attaching the buckled entity to the strap

* Fix reality collapsing when clicking on a buckled entity

* Add strap position to buckle a mob in the standing or down position

* Add new default strap position that makes no change to the mob's standing state

* Add Strap component to office chairs and stools

* Add Strap component to the pilot chair

* Add buckled status effect icon

* Add status effect click behaviour

* Add buckling and unbuckling sounds

* Change Buckle verb to only appear when an entity can be currently buckled

* Rotate buckled entity in the direction of the seat

* Disable entity rotation when buckled

* Fix buckle rotation on beds

* Buckling now finds the closest strap to the buckleable entity

* Fix rotation when unbuckling an entity

* Move buckle verb to StrapComponent

* Added buckled entity unbuckle verb, range and interaction checks

* Add checks for currently occupied straps

* Add unbuckling entity if its respective strap component is removed

* Add Clickable, InteractionOutline and Collidable components to bed

* Add rotation property to strap component

* Rename Buckleable to Buckle

* Add Buckle and Strap sizes to buckle multiple entities in the same strap

* Remove out of range popup message from strap verb GetData

* Move BuckledTo setter logic to its methods

* Fix Strap BuckledEntities being public

* Fix not updating status when Buckle component is removed

* Change BuckleComponent.BuckledTo to be of type StrapComponent

* Fix NRE when unbuckling

* Add buckle perspective messages

* Fix not equals comparison in strap verb

* Add added check to Strap TryAdd

* Change buckle.ogg and unbuckle.ogg from stereo to mono

* Remove -2f volume on buckle and unbuckle sounds

* Add summary to Strap TryAdd and Remove methods

* Make buckled entities unable to fall

* Fix default strap position not rotating the buckled entity

* Add downing after unbuckling an entity if it is knocked down

* Prevent an entity from buckling onto itself

Fixes stack overflow error

* Disable recursive buckling

* Add buckling onto straps by clicking them with an empty hand

* Add recursive buckle check to the trybuckle method as well

* Fix being able to click on a different strap to unbuckle from the current one

* Merge TryUnbuckle and ForceUnbuckle with a force argument

* Remove explicit unimplemented status effect clicking cases

* Add documentation to EffectBlockerSystem and ActionBlockerSystem
2020-06-25 15:52:24 +02:00
Víctor Aguilera Puerto f07cb9042b Instruments can no longer be played 'remotely'. Fixes #1168 2020-06-25 15:27:22 +02:00
Swept bad7f9dc6b
Lots of new inhands, adds phoron (#1220)
* Beaker Inhands

* Flashlight Inhands

* Tile Refactor

* Adds metal/glass sheet inhands

* Removes plasma

* Adds Phoron

* We boolin'

* Phoron inhands

* First Pass inhand food

* First food inhand pass

* Soda inhand sprites

* Actually adds them
2020-06-25 13:51:58 +02:00
Tyler Young 504bd1e155
Remove Redundant ImageSharp Package Reference (#1216) 2020-06-24 23:27:39 +02:00
Pieter-Jan Briers dab73913a6
Merge branch '20-06-24-movement-prediction' into 20-06-24-foobar 2020-06-24 21:00:55 +02:00
Pieter-Jan Briers 391092e3ea
Reset predict flag on mover updat.e 2020-06-24 17:56:21 +02:00
Víctor Aguilera Puerto ca1fb126e7 Add timed spawner for Xeno AI and markers 2020-06-24 17:50:46 +02:00
Metal Gear Sloth a1aec5a579 Merge remote-tracking branch 'upstream/master' into weapon_anims
# Conflicts:
#	Resources/Prototypes/MeleeWeaponAnimations/default.yml
2020-06-24 20:42:16 +10:00
Pieter-Jan Briers 30139f4992
Merge branch 'master' into 20-06-24-movement-prediction 2020-06-24 12:12:03 +02:00
Pieter-Jan Briers 3a862643ac
Fix exception when re-entering body. 2020-06-24 12:11:33 +02:00
Pieter-Jan Briers 6d4618e8be
Merge branch 'master' into 20-06-24-movement-prediction 2020-06-24 12:04:06 +02:00
Pieter-Jan Briers d73f9d3721
Merge branch 'component-tweaks' into 20-06-24-submodule 2020-06-24 12:00:58 +02:00
Pieter-Jan Briers 5a5a3b8548
Move "players don't collide with mobs" to shared to fix mispredicts on it. 2020-06-24 11:58:13 +02:00
Pieter-Jan Briers 8ccf98333e
Remove bad component state hack from client mover component. 2020-06-24 11:57:56 +02:00
Metal Gear Sloth 8e56f6d985 Address comments
Split out TG arcs into its own thing.
2020-06-24 19:42:16 +10:00
Pieter-Jan Briers f3a816321c
Merge branch 'master' into 20-06-24-movement-prediction 2020-06-24 04:04:43 +02:00
Pieter-Jan Briers da45a52325
WiP movement prediction. 2020-06-24 02:21:20 +02:00
DrSmugleaf 78085855db
Fix a late joining client not knowing if the lobby has been paused (#1199)
* Fix client not knowing that the lobby is paused when joining after the pause

Also fixes a client thinking that a lobby is paused when joining a new one after leaving a previously paused one

* Add server announcement to delaying and pausing round start
2020-06-23 21:30:37 +02:00
Tyler Young 27aefeb35d
fis crap w/ grids being deleted while component events still ref 2020-06-22 21:02:50 -04:00
zamp 5f9214e660
Fixed compiler warnings about unreachable code (#1188) 2020-06-22 21:43:46 +02:00
F77F f9a60b37ea
Add ToggleOutline cvar and console command (#1185)
Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
2020-06-22 21:43:20 +02:00
metalgearsloth ac2c7da31f
Add magazine auto-eject message back in (#1191)
I goofed.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-06-22 15:18:41 +02:00
DrSmugleaf d91a8c4925
Add delaystart and forcepreset commands (#1163)
* Add extendroundstart message to extend lobby start timer

* Rename StartExtend to DelayStart

* Fix delaystart amounts above 59 not working

* Change delaystart seconds type from int to uint

* Change delaystart wrong args amount message

* Add forcegamepreset command

* Rename forcegamepreset to forcepreset and merged start and forcestart preset methods

* Fix index out of bounds exception when forcing suspicion to start

* Change game preset to match regardless of casing

* Add forcepreset unknown preset message

* Add and move in lobby checks

* Remove testing changes

* Change delaystart to pause/resume the timer when no seconds are specified

* Change pause message

* Remove testing code

* Change 0 seconds to not be a valid amount of seconds

* Replace MsgTickerLobbyCountdown Seconds with DateTime instead of uint

* Add one entire dot

* Replace Math.Min + Math.Max with Math.Clamp

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

Co-authored-by: ComicIronic <comicironic@gmail.com>
2020-06-21 22:05:47 +02:00
Swept 7b98f37f9a
Adds neck UI slot and rearranges inventory UI. (#1130)
* UI Icon

* It worked?

* Reorganized UI

* converted the bedsheet/cloak sprites

* backpacks go over cloaks now

* Added a couple more neck clothing

* Milk Ape
2020-06-21 22:02:18 +02:00
metalgearsloth 95995b6232
Add a LOT more dakka (#1033)
* Start adding flashy flash

* Change slop

Might give a smoother decline

* flashy flash

* Add flashbang and flash projectiles

Bang bang bang pull my flash trigger

* Add collision check to area flash

* Flash cleanupo

* flash.ogg mixed to mono
* Adjusted flash curve again

* Enhancing flashes with unshaded and lights and shit

Still a WIP

* Add the other ballistic gun types

Re-organised some of the gun stuff so the powercell guns share the shooting code with the ballistic guns.

* Re-merging branch with master

Also fixed some visualizer bugs

* Last cleanup

Fixed some crashes
Fixed Deckard sprite
Fixed Hitscan effects
Re-applied master changes
Re-factor to using soundsystem
Add some more audio effects

* Cleanup flashes for merge

Can put flashbangs in lockers so you don't get blinded

Fix some bugs

* Fix shotties

Also removed some redundant code

* Bulldoze some legacycode

brrrrrrrrt

* Fix clientignore warnings

* Add the other Stunnable types to StunnableProjectile

* Some gun refactoring

* Removed extra visualizers
* All casing ejections use the same code
* Speed loaders can have their ammo pulled out
* Bolt sound less loud

* Stop ThrowController from throwing

* Fix speed loader visuals

* Update hitscan collision mask and fix typo

* Cleanup

* Fit hitscan and flashbang collisions
* Use the new flags support

* Update taser placeholder description

* Update protonames per style guide

* Add yaml flag support for gun firerates

* Cleanup crew

* Fix Audio up (components, audio file, + remove global sounds)
* Add server-side recoil back-in (forgot that I was testing this client-side)
* Add Flag support for fire-rate selectors

* Wrong int you dolt

* Fix AI conflicts

Haha ranged bulldozer go BRR
(I'll rewrite it after the other AI systems are done).

* Mix bang.ogg from stereo to mono

* Make sure serializer's reading for guns

Fixes integration test

* Change EntitySystem calls to use the static function

Also removed the Pumpbarrel commented-out code

* Change StunnableProjectile defaults to 0

* Fix taser paralyse

Apparently removing defaults means you have to specify the values, whodathunkit

* Add slowdown to stunnableprojectiles and fix tasers

* Remove FlagsFor from gun components

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-06-21 21:47:15 +02:00
DrSmugleaf 99a5e06b98
Adds eating with utensils (#1136)
* Add Utensil component

For eating. With utensils.
Added to fork, plastic fork, spoon, plastic spoon and plastic knife.
Ignored component on the client.

* Add break chance to utensils

Set to 20% for plastic ones

* Add break sound to utensils

* Add utensil kinds

None, fork, spoon and knife.
For sporks, forknifes and sporknifes, of course.

* Add restricting foods by utensils needed

* Fix utensils breaking when food isn't eaten

* Moved getting held utensils to FoodComponent

* Add breaking a clicking utensil even if its not necessary to eat the food

* Move use utensil code to a separate method

* Add telling a handless entity when they need an utensil to eat

The immersion is off the charts

* Change food trash to only be held when the food was also being held

* Fix Wi-Fi utensils

* Remove unnecessary utensil ItemGroup

* Made TryUseFood public, removed redundant trash position update

* Renamed UtensilKind to UtensilType

* Remove eating food when clicking with it on nothing

* Disable eating food when clicked directly if it requires an untensil to eat
2020-06-19 15:20:59 +02:00
Vince cda8f8b2bc
Changed "Run" to "Walk" in code (#1154)
* Changed "Run" to "Walk" in code

Fixes #844

* Revert "Changed "Run" to "Walk" in code"

This reverts commit bf70dc7214d08c208823bccd5d3f36854d6b80de.

* Changed "Run" to "Walk" in code

Fixes #844
2020-06-19 15:15:25 +02:00
Víctor Aguilera Puerto 5495f88583 HandComponents now have a default hand, fixes crash 2020-06-18 19:26:55 +02:00
Víctor Aguilera Puerto a351fad3f6 Check if airlock is deleted or not before changing appearance 2020-06-18 15:26:31 +02:00
metalgearsloth 5391d3c72a
Add utility AI (#806)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-06-18 14:52:44 +02:00
Pieter-Jan Briers 56f9aa8122
Move to Robust.Shared.AuthLib. 2020-06-18 02:40:47 +02:00
Pieter-Jan Briers e063d49a49
Use new stylesheet syntax in StyleSpace 2020-06-18 02:38:40 +02:00
Pieter-Jan Briers 960287c65d
Merge branch '20-06-16-click-detect' into 20-06-18-merge 2020-06-18 02:35:03 +02:00
Pieter-Jan Briers c5b1042573
Merge branch 'drop-decimal-use-cannyfastmath' into 20-06-18-merge 2020-06-18 02:34:47 +02:00
Pieter-Jan Briers 5bf0bd3a0c
Increase click radius again. 2020-06-16 16:07:22 +02:00
Pieter-Jan Briers 4136388028
Sprite-based click detection. 2020-06-16 16:00:19 +02:00
Acruid 189ed9309f
Removes the ConstructorComponents and moves the construction blueprint feature into a new ECS system. (#1114) 2020-06-15 12:30:11 -07:00
Exp 548b91df61
Storage Windows now have the owner's name instead of Storage Item (#1131) 2020-06-15 13:28:28 +02:00
Pieter-Jan Briers 310e765502
Fix parallax gen. 2020-06-14 16:33:52 +02:00
Tyler Young de274de9e3
use CannyFastMath in various places even where it might not be any different
also update a bunch of packages

clean up redundant YamlDotNet references
2020-06-14 09:36:53 -04:00
Pieter-Jan Briers 422f64fed0
Credits 2020-06-14 15:15:15 +02:00
Víctor Aguilera Puerto 64dd3b0860 Moves SharedInteractionSystem to Content.Shared namespace 2020-06-13 16:10:26 +02:00
DrSmugleaf 732a4156f3
Add red outline to obstructed items in range (#1122) 2020-06-13 15:36:22 +02:00
Víctor Aguilera Puerto 202dc47961
Airlocks now have a random pitch for deny sound (#1116) 2020-06-13 04:14:40 +02:00
Pieter-Jan Briers 1c119927ae
Merge branch 'master' into imagesharp-upgrade 2020-06-13 03:15:43 +02:00
Pieter-Jan Briers 29365353a5
Remove SharpZipLib and System.ValueTuple dependencies 2020-06-13 03:13:34 +02:00
Tyler Young 48c1bef091
upgrades SixLabors.ImageSharp 2020-06-12 19:55:17 -04:00
Tyler Young ca1d255b6c
For @Tomeno; Shader form of Cooldown Animation (#1113)
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2020-06-12 18:53:41 +02:00
ComicIronic 3cedcaf004
Silence ScreenToWorld warnings (#1098)
This fixes one case of GridCoordinates being used unnecessarily, in
GameScreenBase.

It replaces other cases with explicit calls to TryFindGridAt and
GetDefaultGrid.
2020-06-12 18:36:25 +02:00
Víctor Aguilera Puerto cb5acf7cd3
Cooldown for status effects (#1109) 2020-06-12 16:22:36 +02:00
Víctor Aguilera Puerto cf2d1d4a77 Register new component ignores on client 2020-06-09 14:12:41 +02:00
Tomeno 4cb61b8693
Adds color changing to cooldown circle and a blink animation when done (#1087)
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2020-06-09 12:18:09 +02:00
Pieter-Jan Briers 4ebba74b1f
Update submodule and fix ARM builds. 2020-06-09 00:17:11 +02:00
Pieter-Jan Briers 433198a123
Fix a bunch of compiler warnigns. 2020-06-08 14:44:11 +02:00
Pieter-Jan Briers 60a875456a
Merge branches '20-06-08-submodule', 'virtualize-netids', 'betterConstruction' and '20-06-08-addcomp-default' 2020-06-08 14:20:05 +02:00
Clyybber 2995981b5e Better item construction 2020-06-07 19:42:00 +02:00
Víctor Aguilera Puerto 952fa9f7ed
Drop items on entering dead or crit states (#1082)
* Drop items on dead or crit
2020-06-07 16:48:53 +02:00
Clyybber 5d2282231f Cleanup 2020-06-07 14:00:53 +02:00
Clyybber 3333acee44 Construction UI improvements 2020-06-07 14:00:53 +02:00
Pieter-Jan Briers 873f10dcc0
Make airlock deny animation use the unlit layer. 2020-06-06 23:46:25 +02:00
FL-OZ 41c9944c41
Fix pda crash from code being outside if statement (#1079)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
2020-06-05 23:58:00 +02:00
Víctor Aguilera Puerto e1df008bce
Add conditional spawning component (#1069)
* Add conditional spawning component

* Remove null checks

* Remove leftover return

* Properly spawn items when game rule gets added

* Fix duplicate uids in saltern

* GameRules returns IEnumerable using yield.
2020-06-05 19:42:43 +02:00
FL-OZ fa9169e346
pda improvements (#1072)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
2020-06-05 18:44:25 +02:00
Clyybber 19c9e3e4f9
Make attack animation follow the character (#1071)
* Fix #971

* Make atacker parent of the animation instead
2020-06-05 13:00:32 +02:00
Víctor Aguilera Puerto 365a050e70 Fix bug where choosing a MIDI song while one was already playing broke MIDI
We just delay playing the new song 0.1 seconds.
2020-06-04 20:53:51 +02:00
Tyler Young 2eb715a9ca
Fix up midi stuff, support mild black midis (#1056) 2020-06-02 20:42:23 +02:00
Clyybber 2301d8faae
Fix #1048 (#1067) 2020-06-02 15:52:41 +02:00
20kdc a09131e817
Solar panels occlusion and tracking (#961) 2020-06-02 13:32:18 +02:00
chairbender 12f3b6bb7b
Use new command binding system supporting multiple bindings (#1043)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-31 23:32:05 +02:00
FL-OZ 53900b79e9
Rename `SoundComponent` and refactor its wrong usages. (#1036)
* Rename `SoundComponent` and refactor its wrong usages.

* Replace verbose IoC grabs with EntitySysetm.Get

* unused depend

Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-05-31 19:40:36 +02:00
Víctor Aguilera Puerto bffe4df16f
Add gilded bike horn instrument, expose MidiBank on instruments (#1034)
* Add gilded bike horn instrument, expose MidiBank on instruments

* Reduce soundfont size by removing duplicated samples
2020-05-31 19:19:18 +02:00
Pieter-Jan Briers 55376fb5b2
Examining does not click right-click menu. 2020-05-30 16:45:55 +02:00
Pieter-Jan Briers f392a78c76
Make instruments prediction-safe. 2020-05-29 22:50:41 +02:00
FL-OZ aa26bdfcae
Rework Drink/Food/FoodContainer entirely (#1009)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-29 22:50:23 +02:00
Víctor Aguilera Puerto 7222b6d8e2 Opening MIDI file stops current MIDI file playback 2020-05-29 16:42:37 +02:00
FL-OZ 5b36a0d704
Sweeping changes/improvements to the microwave. (#997)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-28 22:28:35 +02:00
Pieter-Jan Briers 94917a63a6
Fix compiler warnings 2020-05-28 17:44:51 +02:00
Pieter-Jan Briers 7573eb7863
RangedWeaponSystem doesn't send updates on past prediction. 2020-05-28 17:44:51 +02:00
FL-OZ 4c20a504a5
Add basic PDA/Syndicate Uplink. (#942)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-28 13:22:47 +02:00
Clyybber a5725aec4c
Pass CollisionMask to the sound systems (#968) 2020-05-28 00:58:34 +02:00
Víctor Aguilera Puerto 24bc06b253
Merge pull request #984 from SweptWasTaken/airlocks
* Speeds up Airlocks
* Merges Swept into the repo
2020-05-27 18:30:39 +02:00
Pieter-Jan Briers 195c16d800
Wire hacking is now fancy.
1. new UI
2. wires are correctly randomized.
3. wires layouts
are shared across machines in the same round.
2020-05-27 15:24:07 +02:00
Víctor Aguilera Puerto 8a81f54a45 Makes InRangeUnobstructed use MapCoordinates. Fixes #1003
(Also updates Submoduke)
2020-05-26 14:23:25 +02:00
Tomeno 7d10c99070
Makes the cooldown graphic look cooler (#994) 2020-05-25 14:07:19 +02:00
Pieter-Jan Briers 8794381697
Secure lockers & locker welding. 2020-05-25 13:58:56 +02:00
Swept 08039c48e1 Updated 2020-05-24 21:07:41 -07:00
Swept 67143b1371
Toolboxes Update (#985) 2020-05-24 18:56:19 +02:00
zumorica ae80762cc5 Ignore some server-side components on the client 2020-05-24 14:17:45 +02:00
Víctor Aguilera Puerto 1c00bf2855
Merge pull request #865 from Zumorica/2020-04-28-tool-component
Tool refactor, multi tools
2020-05-24 13:42:02 +02:00
Pieter-Jan Briers 1fca133688
Improve marker visualization for mapping.
Command renamed to showmarkers.
Actually permanent (so if you place markers with it active, you immediately see them).
2020-05-24 01:47:14 +02:00
Pieter-Jan Briers 36b5326a37
Allow server to send cursor-located popup messages. 2020-05-23 18:45:47 +02:00
Pieter-Jan Briers 7346774616
Fix alignment of popup messages.
They were supposed to be centered but this broke.
2020-05-23 18:44:54 +02:00
zumorica 3029e31e4a Merge branch 'master' into 2020-04-28-tool-component
# Conflicts:
#	Content.Server/GameObjects/Components/AnchorableComponent.cs
#	Content.Server/GameObjects/Components/Gravity/GravityGeneratorComponent.cs
#	Content.Server/GameObjects/Components/Interactable/Tools/CrowbarComponent.cs
#	Content.Server/GameObjects/Components/Power/PowerTransferComponent.cs
#	Content.Server/GameObjects/Components/WiresComponent.cs
#	Content.Server/GameObjects/EntitySystems/Click/InteractionSystem.cs
#	Resources/Prototypes/Entities/Items/tools.yml
2020-05-23 12:02:34 +02:00
chairbender 6a4d78cfac
Add interaction checks to all interactions (#923) 2020-05-23 11:27:31 +02:00
Tomeno af0ec2aeb9
Replaces cooldown circle (#956) 2020-05-23 11:26:59 +02:00
Pieter-Jan Briers cad59d2cb4
Fancy Verb Menu & Verb API Refactor (#928) 2020-05-23 03:09:44 +02:00
Pieter-Jan Briers 18ce80a43c
Merge physics rewrite 2020-05-23 01:26:43 +02:00
FL-OZ 613e1619fa satiates abrahams hunger for microwave fixes 2020-05-22 17:22:42 -05:00
Pieter-Jan Briers c8075445dd
Fix compile on full release. 2020-05-22 21:39:13 +02:00
Jackson Lewis e992d8fa43
Fix YAML prototype errors (#954) 2020-05-22 18:59:13 +02:00
Pieter-Jan Briers 126c5942a4
Merge branches '2020-05-18-midi' and '20-05-22-midi-update' 2020-05-22 18:02:24 +02:00
Pieter-Jan Briers 40432cdc14
TG locker sprites & prototypes.
Closes #947
2020-05-22 15:45:46 +02:00
zumorica d2d6c2cecd Merge branch 'master' into 2020-04-28-tool-component
# Conflicts:
#	SpaceStation14.sln.DotSettings
2020-05-22 11:31:18 +02:00
zumorica 15beb2b87a Remove useless log. 2020-05-21 20:19:05 +02:00
zumorica cb391ec3d8 Merge branch 'master' into 2020-05-18-midi 2020-05-21 19:50:09 +02:00
Víctor Aguilera Puerto b270c69512
Merge pull request #911 from Zumorica/2020-05-13-stuns
Adds StunnableComponent, Stunbaton...
2020-05-21 19:48:19 +02:00
zumorica d3102dbf96 Remove server-side RefreshInHands, refresh them on component state update 2020-05-21 19:44:49 +02:00
zumorica 0235f6096e Sync sequencer tick correctly 2020-05-21 17:39:48 +02:00
zumorica 78aa4fb872 Use Sequencer, improve MIDI a lot 2020-05-21 15:20:37 +02:00
zumorica 1e36851dde Timing boogaloo 2020-05-21 00:26:43 +02:00
zumorica 6db9ac7247 Improved timing 2020-05-20 17:48:36 +02:00
zumorica 731ab22568 Better timing 2020-05-20 17:13:49 +02:00
zumorica 400a71f8a1 More refactors 2020-05-20 15:15:17 +02:00
zumorica fede057bc4 Bunch of refactoring 2020-05-20 15:14:52 +02:00
zumorica ea255b22c4 Attempt at queueing midi messages 2020-05-20 12:27:41 +02:00
Víctor Aguilera Puerto 312e8f17a5
Merge branch 'master' into 2020-04-28-tool-component 2020-05-19 14:19:45 +02:00
zumorica 06d2cc74ed Refactor a bunch of stuff. 2020-05-19 14:17:48 +02:00
chairbender 61e4a431a2
Remove TableParts, fix SmoothTile destruction bug (#918) 2020-05-17 16:04:44 +02:00
zumorica 014c51f913 Makes SetRotation on SpeciesVisualizer2D private 2020-05-14 17:51:57 +02:00
zumorica ebb49b3377 Document some stun code 2020-05-14 17:49:40 +02:00
zumorica b5cf3cf2da Adds stun status effect 2020-05-14 17:44:09 +02:00
zumorica 735ba70f4a Remove unused using statement 2020-05-14 16:08:35 +02:00
zumorica 2132ff41d4 In-hands are now refreshed when the prefix is changed 2020-05-14 15:44:05 +02:00
zumorica 567c0a1312 Animation for when mobs fall/stand 2020-05-14 13:34:45 +02:00
GlassEclipse 27d27f2b59
Body System Part 1 POGGERS!!! (#855) 2020-05-13 21:48:49 +02:00
zumorica f968128af7 StandingStateHelper, StunSystem 2020-05-13 19:04:50 +02:00
Pieter-Jan Briers c9ce38a6a7
Merge pull request #892 from FL-OZ/microwave_hot_fix 2020-05-13 02:10:56 +02:00
Pieter-Jan Briers 1768d3b198
Merge pull request #902 from FL-OZ/storage_backpack_stuff 2020-05-13 02:10:19 +02:00
Víctor Aguilera Puerto db0ae00e1f
Update Content.Client/EntryPoint.cs
Co-authored-by: Clyybber <darkmine956@gmail.com>
2020-05-12 21:24:39 +02:00
zumorica ce0e20ea30 Ignore some server-side only components on the client 2020-05-12 14:45:35 +02:00
FL-OZ bb39a1d871
made it less dark 2020-05-11 19:36:05 -05:00
FL-OZ c04b283dfc uses a visual cue to show that something can be put into the box 2020-05-11 18:38:49 -05:00
zumorica 94491e9626 Cleanup code a little. 2020-05-11 15:40:33 +02:00
zumorica b1db8d1e7a Add WelderComponent back 2020-05-11 15:26:07 +02:00
zumorica 6ae5e36a18 Merge branch 'master' into 2020-04-28-tool-component 2020-05-11 12:24:43 +02:00
Pieter-Jan Briers 63b0df5ba2
Fix ItemSlotButton and HandsGui handling all input.
Fixes #904
2020-05-11 11:19:41 +02:00
Pieter-Jan Briers 079dc839de
Merge pull request #905 from ShadowCommander/FixHandDoubleClick 2020-05-11 11:07:46 +02:00
ShadowCommander 04ffe032dc Fixes hand double click from CanFocus 2020-05-10 22:48:14 -07:00
FL-OZ 3193a0a7b2 get rid of that 1!!! 2020-05-10 21:41:03 -05:00
FL-OZ 80796df5a3 Add placing items into storage when Storage UI is clicked with item in hand 2020-05-10 21:38:50 -05:00
Hugo Laloge a34983b095 Add emotes as borderless speech "bubbles" 2020-05-09 15:53:37 +02:00
Pieter-Jan Briers 046834129f
Fix ranged weapons getting stuck down.
Thanks ShadowCommander for figuring this one out.
2020-05-08 11:55:19 +02:00
FL-OZ 40ad366636 Various hotfixes and touchups to the microwave.
- Stop a debug assertion from TryGetComponent on a deleted entity.
-  Add a dark overlay for when microwave is busy to UI.
2020-05-06 17:45:45 -05:00
Pieter-Jan Briers c7aeec0f6c
Fix compile. 2020-05-06 22:42:55 +02:00
Pieter-Jan Briers cf9edddf2f
Update submodule, UI fixes. 2020-05-05 23:59:31 +02:00
Pieter-Jan Briers f739301551
Add Microwave (#862)
* Add meal recipe prototype class and yaml file.
Add bare bones MicrowaveComponent.

* Reformat the way recipe prototypes work to something sensible.
More work on Microwave component.

* Rewrite recipe prototype.
Fix comparer in microwavecomponent.

* Add Eris microwave RSI.
Cleaned up  the Microwave component code.

* Refactor "output" to "result" for recipes/prototypes.
Remove a debug recipe from meal_recipes.yml
Add food.yml for food related reagents: sugar, flour, etc.

* Unfuck mostly everything.

* ShadowCommander is MVP.

* Add microwave visualizer. Clean up microwave code.

* Reformat 'PoweredIdle' to 'Idle'

* Refactor SoundComponent for stopping sounds.

* A shit ton of microwave stuff i can't really explain this.

* Microwave interface.

* Add (not working) basis for allowing solids (entities) in recipes.

* Microwave UI + solids implemented.

* Next up timer buttons

* Microwave is done. Added an easter egg recipe and made the cheeseburger recipe more sensible.

* Delete microwave.dmi, unneeded. Revert accidently changes to Shared EntryPoint.cs

* trying that again

* Remove unused 'ding.ogg'

* revert entrypoint to master

* revert sharedlathecomponent to master

* Pretty up the microwave menu, add click sounds. Remove some unnecessary ToList() calls. Remove unnecessary IoC resolves.

* And not a single "ToList()" went home to their family that day.....

* Seperated Reagent item list and Solid item list to allow for vaporizing particular reagents at will. (also fixes a really nasty null reference exception because they shared the same list before D: )

* Remove unncessary class dictionary and list. Fix meal prototype properties.

* lol

Co-authored-by: FL-OZ <yetanotherscuffed@gmail.com>
Co-authored-by: FLOZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-05 11:44:49 +02:00
Pieter-Jan Briers 453cecccd0
Make client side verbs correctly respect visibility. 2020-05-05 11:43:41 +02:00
Pieter-Jan Briers fe23fdb620
Merge branch 'master' into kitchen 2020-05-05 11:35:20 +02:00
Hugal31 fbaafa8366
Add smart equip shortcuts (#873) 2020-05-05 00:39:15 +02:00
FLOZ 69b34e74ce Seperated Reagent item list and Solid item list to allow for vaporizing particular reagents at will. (also fixes a really nasty null reference exception because they shared the same list before D: ) 2020-05-04 15:16:16 -05:00
FLOZ 108bd36b8c And not a single "ToList()" went home to their family that day..... 2020-05-04 14:39:33 -05:00
FLOZ 4034458d26 Pretty up the microwave menu, add click sounds. Remove some unnecessary ToList() calls. Remove unnecessary IoC resolves. 2020-05-04 13:54:54 -04:00
FL-OZ d7d0bc71f9 Microwave is done. Added an easter egg recipe and made the cheeseburger recipe more sensible. 2020-05-03 23:58:29 -05:00
Pieter-Jan Briers d0b4ba7099
Fixes command processing running over chat input.
Fixes  #875
2020-05-03 16:03:52 +02:00
Pieter-Jan Briers e2677bab51
Wide attacks on space, remove UseOrAttack. 2020-05-03 16:03:52 +02:00
FL-OZ 4f7deb8452 Next up timer buttons 2020-05-03 03:09:54 -05:00
FL-OZ 0f61c2fadf Microwave UI + solids implemented. 2020-05-03 01:34:00 -05:00
Hugal31 0215092016
Add a style to the popup messages (#867) 2020-05-02 23:20:12 +02:00
Jackson Lewis 1f0c72dd28
Gravity (#841) 2020-05-02 16:02:52 +02:00
FL-OZ dba0949c5b Add (not working) basis for allowing solids (entities) in recipes. 2020-05-02 01:29:20 -05:00
FL-OZ dd19466578 Microwave interface. 2020-05-01 23:34:04 -05:00
FL-OZ 13fba25edc A shit ton of microwave stuff i can't really explain this. 2020-05-01 17:19:04 -05:00
FL-OZ a65d60dc2c Refactor SoundComponent for stopping sounds. 2020-05-01 17:17:05 -05:00
FL-OZ a5fa184765 Reformat 'PoweredIdle' to 'Idle' 2020-05-01 03:38:48 -05:00
FL-OZ b2aca9a686 Add microwave visualizer. Clean up microwave code. 2020-05-01 03:37:21 -05:00
Pieter-Jan Briers d4ca0a65ee
Screenshot button. 2020-04-30 12:45:21 +02:00
zumorica ff5549a0d1 Finish refactoring tools. Add multitools. (as in multiple tools in one) 2020-04-29 13:48:32 +02:00
FL-OZ 7e4d4bb1d4 Reformat the way recipe prototypes work to something sensible.
More work on Microwave component.
2020-04-26 23:14:02 -05:00
Pieter-Jan Briers 8e91215d6f
Fix exception in drink food visualizer. 2020-04-25 14:40:57 +02:00
Pieter-Jan Briers f636303b8e
Import proper reinforced wall sprites. 2020-04-25 12:10:43 +02:00
Víctor Aguilera Puerto 55c54e415b
Raycast has an overload for predicates, various fixes (#848) 2020-04-25 11:37:59 +02:00
Pieter-Jan Briers a535567317
Fix inventory buttons going blank when switching mob. 2020-04-25 00:58:23 +02:00
Pieter-Jan Briers 7e7dd45cc4
Fix LowWallOverlay ID reference. 2020-04-24 02:12:29 +02:00
Pieter-Jan Briers 5a09e91ca3
Arcade prop. 2020-04-23 23:51:15 +02:00
Pieter-Jan Briers 1fb9359d90
Fix HeldPrefix having different name on client. 2020-04-23 16:46:55 +02:00
Pieter-Jan Briers 32f66b6f9e
Clothing visualization sets RSI and state atomically. 2020-04-23 16:04:23 +02:00
Pieter-Jan Briers 20481a0bb1
Bar signs implemented. 2020-04-23 00:58:43 +02:00
Víctor Aguilera Puerto 69ca8c2153
Some YAML cleanup (#840) 2020-04-22 17:50:55 +02:00
metalgearsloth 60ce5b5089
Add puddles / reagent spills (#743) 2020-04-21 20:23:12 +02:00
Sam 1ba222142a
Created SharedInteractionSystem + Partial Fix #782 (#833) 2020-04-21 16:58:31 +02:00
Pieter-Jan Briers 70161f35b6
Merge branches 'component-message-session' and 'message-submodule' 2020-04-20 16:02:09 +02:00
Jackson Lewis 3c6cbecb12 Remove redundancy 2020-04-20 12:57:05 +01:00
Jackson Lewis 6a22f2629b Update content repo and RobustToolbox 2020-04-20 10:36:02 +01:00
Pieter-Jan Briers dcd8070a08
Adds command to show wires. 2020-04-20 09:45:45 +02:00
Pieter-Jan Briers 93c8007f5e
Merge branch 'master' into prediction 2020-04-18 14:07:02 +02:00
zumorica 47e964a882 Deadchat now has color 2020-04-17 19:38:18 +02:00
Pieter-Jan Briers cdf47aab44
Fix ghosts not being hidden when you do-aghost. 2020-04-17 19:11:10 +02:00
Pieter-Jan Briers 27771a31f0
Improvements to allow better connection dialog in content. 2020-04-17 14:46:25 +02:00
FL-OZ e5847910c7
Merge branch 'master' into round_end_screen 2020-04-15 14:00:56 -05:00
scuffedjays 1605a50098 Changed duration to use TimeSpan.
Using actual round realtime span to determine round length.
2020-04-14 23:26:37 -05:00
Pieter-Jan Briers ec314545ef
Fix ClientStatusEffectsComponent not cleaning up GUI on shutdown correctly. 2020-04-13 22:28:05 +02:00
Pieter-Jan Briers a4092acf5b
Fix not returning to main menu on disconnect correctly. 2020-04-13 22:27:47 +02:00
Pieter-Jan Briers 7def5e7d6c
Remove seemingly-unecessary DetachEntity() in GameScreenBase. 2020-04-13 22:26:05 +02:00
Pieter-Jan Briers 0f554996ff
Merge pull request #798 from PrPleGoo/DecimalReagents
Decimal reagents
2020-04-12 23:04:24 +02:00
PrPleGoo 7d72e672fd Merge branch 'master' into DecimalReagents 2020-04-12 14:37:36 +02:00
scuffedjays 18e10e289e Added tabs to separate player info and general round info.
Colored players IC name depending on antag status.
2020-04-12 00:59:44 -05:00
Pieter-Jan Briers 56d6720026
Move part of stack code to shared.
Meaning that ExposeData is in shared, fixing #809
2020-04-12 01:15:16 +02:00
Pieter-Jan Briers 1695787bab
Merge pull request #807 from Zumorica/2020-04-10-proper-ghost-hiding
Ghosts now make use of the new "entity visibility" engine functionality
2020-04-12 01:00:42 +02:00
scuffedjays 5d3018d76d Change frm ItemList to list of labels with markup 2020-04-11 10:31:44 -05:00
Pieter-Jan Briers dc9f8d551b
Merge pull request #805 from Zumorica/2020-04-09-comms-console-roundend
Adds working communications console that ends the round
2020-04-10 17:02:49 +02:00
zumorica 683644eec5 Ghosts now make use of the new "entity visibility" engine functionality 2020-04-10 16:28:14 +02:00
zumorica 05e9d39e89 Fix bug where comms console sometimes took a second to update after a countdown has started 2020-04-10 13:36:30 +02:00
Pieter-Jan Briers aff9f18bc8
Merge pull request #803 from Injazz/bartending
Bartending tricks and some revamping on chemistry components
2020-04-10 11:54:40 +02:00
scuffedjays 3ce50879b7 New struct for basic round end info per player. 2020-04-10 01:37:14 -05:00
zumorica 3c795ad283 Use TimeSpan instead of DateTime in RoundEnd and Comms Console. 2020-04-09 20:28:22 +02:00
PrPleGoo 20cb9b92ab Merge branch 'master' into DecimalReagents 2020-04-09 17:24:22 +02:00
scuffedjays c47368231b Add scrollable player list to round end menu with OOC Usernames. 2020-04-08 23:51:49 -05:00
zumorica 3ba2e5de80 Speech bubbles! 2020-04-09 03:31:40 +02:00
zumorica c0bdfdf123 Remove CanReturnToBody property from SharedGhostComponent 2020-04-09 03:02:21 +02:00