Commit Graph

1289 Commits

Author SHA1 Message Date
Vera Aguilera Puerto
cf38e17b7e Shuttle called/recalled announcements and sounds. 2021-01-01 16:34:54 +01:00
Vera Aguilera Puerto
d43ca2877a Ghost on mind shutdown fixes, no more ghost stacking at bar.
Fixes #1701
2021-01-01 16:11:17 +01:00
Vera Aguilera Puerto
b5fd2ffd6d Recycler improvements, add RecyclableComponent as a tag. 2021-01-01 15:28:58 +01:00
Vera Aguilera Puerto
f8d4d4b8d7 Fix bug where ghosts weren't being spawned for players after their attached entity was deleted.
Turns out creating an entity timer for an entity that has been deleted is a bad idea! Who would have thought?
2021-01-01 15:25:09 +01:00
Daniel Castro Razo
633ae5bc90 Fixes Emergency Lights not charging (#2873)
* Fixes Emergency Lights not charging

* Removed extra imports
2021-01-01 14:26:42 +01:00
Vera Aguilera Puerto
483f7f4385 You can now examine Node Containers to see their "connectors" (#2881) 2021-01-02 00:20:23 +11:00
AJCM-git
13704a255c Fixes the audio and icon (#2854) 2020-12-28 04:32:48 +11:00
RemberBL
be48a25c14 Sound effect plays when an item is thrown (#2767)
* Adds toss.ogg to the project's resources

* Thrown items will now play a sound effect
2020-12-27 20:30:47 +11:00
Swept
d595286dcc Tweaks volume of material per sheet in lathes. (#2852)
* Initial

* Tidies up file structure
2020-12-27 19:22:50 +11:00
Swept
94bb7a165d Adds a sound effect when you unwrap an AME part (#2832) 2020-12-27 03:11:52 +01: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
159f7192df Add alert for low oxygen. 2020-12-23 23:46:01 +01:00
DrSmugleaf
764465f60c Separate destructible component threshold into behaviors (#2818)
* WIP changes, add behaviors

* Fix behavior typing, namespace and test

* NO SPACES
2020-12-23 13:34:57 +01:00
Pieter-Jan Briers
8e8594063d Optimize allocations in MetabolismComponent and TileAtmosphere 2020-12-22 18:28:54 +01:00
ike709
7f7f22ef5d APCs now require engineering access (#2795)
* APCs now require engineering access

* Allow if access reader is null
2020-12-22 13:08:35 +01:00
Vera Aguilera Puerto
3b1677ff79 Drinking glasses now break.
- Adds DamageOnLandComponent
- Adds DamageOtherOnHitComponent
- Drinking glasses break on throw.
- Drinking glasses damage others when thrown.
- Glass shards also damage others when thrown.
2020-12-21 13:22:16 +01:00
Vera Aguilera Puerto
cf90c77034 Fix transformable containers.
Fixes #2775
2020-12-21 12:49:38 +01:00
DrSmugleaf
fd258a54d3 Update destructible threshold property casing to follow the rest of the project (#2797)
* Update casing

* Update casing for min/max
2020-12-21 12:11:56 +01:00
Vera Aguilera Puerto
f52984553b Fix airblocked space tiles venting air
Fixes part of #2780
2020-12-20 23:05:23 +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
a3fdcd3a68 Add EffectBlockerExtensions 2020-12-20 04:31:04 +01:00
DrSmugleaf
fcd52fa90c Add ActionBlockerExtensions 2020-12-20 04:26:21 +01:00
DrSmugleaf
026d96fd2d Replace MaybeNullWhen(false) with NotNullWhen(true) 2020-12-20 04:14:41 +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
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
Swept
9c381dc174 Shuttle can be called even when comms console is off (#2763) 2020-12-18 12:42:02 +01:00
daniel-cr
a679e691c2 Conveyor Belt appearance when power is off (#2762)
* Conveyor Belt appearance when power is off

If the conveyor belt is running and the power turns off the belt stops pushing things but the animation continues. This changes it so the animation stops if there is no power and resumes when it returns.

* Change from using Initialize, to OnAdd and OnRemove
2020-12-18 18:31:58 +11: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
DmitriyRubetskoy
9c26e0c5ba Async Interface IAfterInteract() (#2735)
* Async Interface

* Update Content.Server/GameObjects/Components/Fluids/MopComponent.cs

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

* Changed the glassbeaker

* Update Content.Shared/Interfaces/GameObjects/Components/Interaction/IAfterInteract.cs

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

* Update Content.Shared/Interfaces/GameObjects/Components/Interaction/IAfterInteract.cs

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

* Interaction system fix

* Removed I from the interface

* Changed all implementations of the interface I could find

* all public void implementation fixed

* All built, no errors should remain

* Update Resources/Prototypes/Entities/Objects/Specific/chemistry.yml

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

* Update Content.Server/GameObjects/Components/Portal/TeleporterComponent.cs

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

* Update Content.Server/GameObjects/Components/ActionBlocking/HandcuffComponent.cs

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

* Commit based off Sloth's commentary

* Removed the Rag file from the PR

* Reverted sloth's commentary changes on the publcity of the function

* Injector component properly implemented interface

* Update Content.Server/GameObjects/Components/Fluids/MopComponent.cs

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

* Update Content.Server/GameObjects/Components/Fluids/SprayComponent.cs

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

Co-authored-by: BlueberryShortcake <rubetskoy234@mail.ru>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-17 18:45:04 +11:00
20kdc
d870a13445 Singularity testing map & "startsingularityengine" admin command (#2752)
* Singularity Testing Map: Add a command to auto-config the singularity engine

* Singularity Testing Map: Add the singularity testing map

A derivative of 20kdcstation.
2020-12-17 18:20:57 +11:00
20kdc
91f2f4f599 Fix Antimatter engine maths and overplacing (#2736)
* Antimatter engine parts can't be placed overlapping

* Antimatter engine stability maths fixed

* Antimatter engine: Clean up some unused stuff
2020-12-17 00:31:47 +11: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
DrSmugleaf
d5eb68ac61 Add test for puddle evaporation when paused and unpaused (#2741) 2020-12-14 16:18:37 +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
20kdc
fd0df9a00a Traitor Deathmatch (#2719)
* Traitor Deathmatch: Add the preset [Rebase onto factors line]

* Traitor Deathmatch: Being a human head or other not-quite-fully-animate object counts as dead. [ROFL]

* Traitor Deathmatch: Add redemption machine (but it doesn't work) [ROFL]

* Traitor Deathmatch: Map in redemption machines [ROFL]

* Traitor Deathmatch: Make the rounds end properly [ROFL]

* Traitor Deathmatch: PDA redemption works [ROFL]

* Traitor Deathmatch: New redemption machine sprite ( @Tomeno )

* Traitor Deathmatch: Get rid of redundant using

* Traitor Deathmatch: Change scoring, prevent redeeming your own PDA, fix bug where PDAs are not tagged with their owner names

* Traitor Deathmatch: Better messages, change cvar name, don't count ghosts for spawnpoint selection
2020-12-13 16:00:49 +01: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
Vera Aguilera Puerto
2b6964746c Adds Invalidate method to TileAtmosphere, clean up a bunch of tile invalidations 2020-12-08 17:36:59 +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
DrSmugleaf
89e853d8e2 Make disposal units also flush air (#2686)
* Make disposal units also flush air

* Make disposals use tile.AssumeAir instead of tile.Air.Merge

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:54:34 +01:00
metalgearsloth
fe93f2ac30 Fix thrown throwing (#2723)
Technically some stuff could be dependent upon the entity regardless if it's deleted but this is how ICollideBehavior does it (not by my design) so I figured we'd make it consistent.

If someone really needs the functionality even if it's deleted then they can refactor it.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-08 12:21:12 +01:00
DrSmugleaf
074db878bb Remove redundant null checks for atmos (#2703)
* Remove redundant null checks for atmos

* Remove unnecessary nullability parameter from AtmosphereSystem.GetGridAtmosphere

* Remove more nullability markers

* Bring back null checks for gas tanks

* Remove null checks from GasMixture.Merge and TileAtmosphere.AssumeAir

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:17:13 +01:00
metalgearsloth
a78452c845 Fix disposals do_after (#2722)
* Fix disposals do_after

* DataField instead

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

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

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

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:17:00 +01:00
20kdc
ae57355ce5 Antimatter Engine Crates (#2708)
* Remove the unused light bulb crate that explicitly says it needs to be removed

* Crates/Cargo: Add antimatter reactor crates

* Fix AME crate issues

* Descriptions and prices for AME crates.
2020-12-08 11:58:46 +01:00
DrSmugleaf
2dc05b2275 Add UsedImplicitly to visualizers and entity systems (#2592) 2020-12-08 11:56:10 +01:00
20kdc
d75c22d5e1 Add "Begin Deconstruction" verb, unfinished particle accelerator bits will tell you how to finish them (#2706)
* More Construction Pieces: Default construction targets

* More Construction Pieces: Unfinished particle accelerator will tell you how to finish it

* More Construction Pieces: Construction system actually pathfinds any-to-any

* More Construction Pieces: Verb to begin deconstruction of an object
2020-12-08 11:53:37 +01:00
Exp
f6d62ada65 Adds popups and sounds to the vending machine deny (#2715)
* -Vending machine deny sound
-And popup

* Comment this

* Change casing
2020-12-08 17:42:43 +11: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