Commit Graph

737 Commits

Author SHA1 Message Date
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
Vera Aguilera Puerto
9a187629ba Fix integration tests
One crate still had the smug plushie.
2020-12-06 21:13:23 +01:00
Swept
58bdc7790b Removes funny smug plushie (#2711)
* Removes smug plushie

* Prototype

* Removed from medical crate
2020-12-06 12:22:21 +01:00
DrSmugleaf
639cc86d91 Nanotransen > Nanotrasen
As decreed by PJB
https://discord.com/channels/310555209753690112/675078881425752124/784878237850402826
2020-12-05 21:48:11 +01:00
Swept
e1ba52c05b Crates - 3rd times a charm (#2669)
* Sprites

* Crates

* Moved cargo_console

* Cargo Catalogs No.1

* Added some Hydroponics crates

* More crates..

* Deletes an autogen file

* snivybus

* More

* Apply suggestions from code review

* Fix wrong prototype ID

* Fix another wrong prototype ID

* Fix... MANY, MANY wrong prototype IDs

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <zddm@outlook.es>
2020-12-05 15:59:46 +01:00
Swept
e4fe98f433 Spawn aprons for botanist and chef (#2707) 2020-12-05 15:15:52 +01:00
Vera Aguilera Puerto
8dd59fe3d7 Trays now capable of being pulled (#2705)
Co-authored-by: DmitriyRubetskoy <rubetskoy234@mail.ru>
2020-12-04 19:15:55 +01:00
Vera Aguilera Puerto
14e9823354 Update Resources/Prototypes/Entities/Constructible/Specific/hydroponics.yml 2020-12-04 19:15:30 +01:00
DmitriyRubetskoy
594beb4acd Trays now capable of being pulled 2020-12-04 21:09:52 +03:00
Vera Aguilera Puerto
b0d1d31ccc Makes protolathe use machine parts 2020-12-04 12:05:15 +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
DmitriyRubetskoy
600d37c252 Tiny Flavor text commit (#2692)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Remie Richards <remierichards@gmail.com>
Co-authored-by: DmitriyRubetskoy <rubetskoy234@mail.ru>
2020-12-03 16:16:52 +01:00
Paul Ritter
0f5605c078 <:COW:768940530775490582> <:TOOLS:776057538059042846> (#2691)
* adds cow tools - without inhands!

* inhand bongaloo

* some minor fixes

* updates welder sprites

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2020-12-03 14:01:13 +01: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
Swept
0412ea0bbc Fixes inhands for small gas tanks (#2658)
* Initial

* Hotfix
2020-12-01 19:33:22 +11:00
Swept
a6a6e0b72e Updates placement mode for some entities 2020-12-01 19:23:43 +11:00
Swept
d711994691 Initial (#2655) 2020-12-01 19:18:36 +11:00
Swept
a16ce4b7a5 Replaces the substation sprite. (#2621)
* Sprite

* ez
2020-11-27 00:06:54 +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
Peter Wedder
243215ec5d Adds a semitone shifting AudioHelper (#2608)
* Add semitone audio helper

* use semitone audio helper on bike horn

* prettify

* clamp this instead

* Expose these to viewvars
2020-11-25 21:23:03 +11:00
Víctor Aguilera Puerto
b18ee3ec49 SIMD-accelerated gas mixtures. (SIMD atmos) (#2479)
* SIMD atmos

* Moles will always be a multiple of four.

* Component dependencies for grid atmos.

* Let's optimize allocations while we're at it!

* Inline this

* A bunch of atmos optimizations

* Fix crimes against atmos

* Microsoft moment

* Remove nuget.config

* do not reference Robust.UnitTests in Content.Benchmarks as it's unneeded.

* Revert "Remove nuget.config"

This reverts commit 872604ae6a51365af4075bb23687bd005befd8ac.

* Gas overlay optimization and fixes

* Lattice is now spess

* minor atmos tweaks
2020-11-25 10:48:49 +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
20kdc
392454b4cb Disable automatic on-touch activation of external airlocks (#2385)
* Disable automatic on-touch activation of external airlocks

It's a total pain to reliably get inside a two-door airlock without tripping the firelocks, and that's if you're *intending* to use it properly...

People keep draining the entryway air on the sandbox servers (so people have to crowbar the firelocks open, and this reduces available air)

* Disable automatic on-touch activation of external airlocks: Change auto_open to autoOpen

* Change auto to bump

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-22 17:47:56 +11:00
Swept
f46a6a8d81 Copyright Pass/Pruning | Part 1 - Clothing (#2539)
* Backpacks/Belts

* Cleans up Headsets

* Glasses and Gloves (Remind me to make an alpha for those stupid gloves)

* This commit has taken too many of my damn tears please appreciate it

* Holy SHIT that was an ordeal

* NECK and MASKS

* Jumpsuits/skirts

* Goodbye old color.rsi

* Outerclothing

* More Outerclothing

* It builds now

* More ID organization :)

* Gloves up to scratch

* My piss burns

* GLasses

* Added some more glasses

* Mission control we are ready for review

* Hotfix

* Cleanup

* Fix not commenting out whole line in contents

* duffelbag => duffel bag

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml

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

* Fixed Breath Mask

* Scrubs

* New line

* Fixed Build

* Ok

* Update engivend.yml

* Fix meson glasses prototype in boxes

* Fix prototype name for sec glasses in boxes

* Fix InventoryHelpersTest janitor jumpsuit prototype

* Fix outdated stationstation prototypes

* Fix vending machines having invalid starting inventories

* Fix chapel vending machine

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-22 15:17:14 +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
Paul Ritter
86c2e989e6 fix smes (#2602)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2020-11-21 17:53:52 -08: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
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
DrSmugleaf
0790ad72d2 Add HideContextMenu component (#2555) 2020-11-18 18:16:56 +11:00
Víctor Aguilera Puerto
879b09c666 Make corn seeds actually plant corn instead of apples. 2020-11-13 17:39:22 +01:00
metalgearsloth
baa71e4ff0 Remove locker icons (#2489)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-11-14 00:19:24 +11: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
Swept
af060b5366 Replaces switches with cev-eris sprites. (#2526)
* Initial

* Removed old AME shielding sprite

* Update Resources/Textures/Constructible/Power/switch.rsi/meta.json

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-11-09 11:03:53 +01:00
Swept
bdc4441a45 Adds rainbow jumpsuit (#2149)
* Initial

* Fixes attribution

* Fixed

* Fixed

* Update Resources/Textures/Clothing/Uniforms/rainbow.rsi/meta.json

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-11-08 20:24:17 +01:00
Swept
4a6d0ae5a4 More belts and welders (#2453)
* Adds sprites

* Added prototypes

* Adds experimental and mini welder

* Adds welder to CE's belt

* Lazily filled out the belts

* Added to spawn jobs

* Merge branch 'master' of https://github.com/space-wizards/space-station-14 into pr/2453

* Update Resources/Prototypes/Entities/Objects/Tools/welders.yml

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

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-11-08 02:40:49 +01:00
Víctor Aguilera Puerto
50f03a5b17 Fix firelock occlusion. 2020-11-07 23:58:33 +01:00
Víctor Aguilera Puerto
5cac4c5917 RotatableComponent QOL improvements.
- Rotatable verbs only show if the entity can be rotated.
- Adds parameter to rotate anchored entities.
- Office chairs can now be rotated regardless of anchoring.
2020-11-04 11:21:01 +01:00
Víctor Aguilera Puerto
f54016f912 Fixes incorrect reagents in produce 2020-11-04 10:16:28 +01:00
Swept
1444074b24 Initial (#2450) 2020-11-03 14:14:46 -08:00
zionnBE
9f03fc8880 Add access restrictions to vending machines (#2471)
* Add vending machine access restrictions

* oops

* Handle null

* Flick deny upon access denied

Co-authored-by: zionnBE <zionn@tfwno.gf>
2020-11-02 22:33:12 +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
Paul Ritter
d8f5bffaa0 Arcade polish (#2333)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-10-30 11:25:26 +01:00
Peter Wedder
ed1cca2c59 Super synth (#2447) 2020-10-30 10:14:58 +01:00
moonheart08
86829b5191 Liiiiight (#2451)
* 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>

* fix magically disappearing prototype (presumably just a mistake on my part)

Co-authored-by: Remie Richards <remierichards@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-10-30 02:22:51 +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
Swept
bc4eab53df Adds snapgrid to a bunch of constructible entities. (#2445) 2020-10-30 01:07:34 +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
68078e626a Reorganize hat and helmet sprites with lights on them (#2362) 2020-10-29 19:31: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