Commit Graph

36638 Commits

Author SHA1 Message Date
DamianX 738fbdd376 Wire colors are now unique (#407) 2019-10-21 23:54:29 +02:00
Pieter-Jan Briers 0e1eb71149
Make research point source turn on/off with power. 2019-10-21 23:46:16 +02:00
Pieter-Jan Briers f5cbbb5c84
Fix build on Framework. 2019-10-21 23:45:49 +02:00
Pieter-Jan Briers 9a1e4450d8
Make ID console fancier. 2019-10-21 22:54:16 +02:00
Pieter-Jan Briers 563dda69d4
Shorten wires menu by default. 2019-10-21 22:52:58 +02:00
Pieter-Jan Briers 44c9feaebf
Fix Leave button in lobby being off to the right. 2019-10-20 22:39:22 +02:00
Pieter-Jan Briers c457a2603a
Document combat mode and change the keybind to Num1.
So I don't CONSTANTLY hit it while alt tabbing.
2019-10-20 22:31:49 +02:00
Pieter-Jan Briers 981c36dbdb
Give reagent dispenser reagents window a vertical minimum size. 2019-10-20 01:40:13 +02:00
Pieter-Jan Briers 6630e454c6
Clean up reagent dispenser and make it slightly better. 2019-10-20 01:30:38 +02:00
Pieter-Jan Briers 9c60d4936d
Update submodule. 2019-10-20 01:30:06 +02:00
Pieter-Jan Briers e2511f8ad5
Update submodule 2019-10-18 14:29:23 +02:00
Pieter-Jan Briers 19379decd5
Fancy up the lobby GUI. 2019-10-18 14:28:39 +02:00
Pieter-Jan Briers 743ede2243
Implement more new styling stuff. 2019-10-18 14:28:24 +02:00
Pieter-Jan Briers 0edccd8934
Improve spacing on Escape Menu. 2019-10-18 14:26:45 +02:00
Pieter-Jan Briers 6f704f0320
Move gameticker commands to another file. 2019-10-18 14:25:55 +02:00
Pieter-Jan Briers 62db0573bd
Update submodule. 2019-10-18 01:06:10 +02:00
Pieter-Jan Briers 4d5c34bd58
Increase horizontal margins on new buttons. 2019-10-15 13:59:25 +02:00
Pieter-Jan Briers f0fb3eb434
Fancy new style buttons. 2019-10-15 13:13:21 +02:00
Pieter-Jan Briers 7de97eeb2c
Fix icon smoothing not applying after entities are deleted. 2019-10-14 17:09:45 +02:00
Pieter-Jan Briers def32d80dd
Fix walls not smoothing with low walls. 2019-10-14 15:30:37 +02:00
Pieter-Jan Briers e4bba4cb6f
Fix off lights not being offset correctly. 2019-10-14 14:54:27 +02:00
Pieter-Jan Briers 9a38577a18
Improve autolathe & protolathe visuals.
Used correct Eris autolathe sprite.
Gave them an unlit layer.
2019-10-14 09:57:57 +02:00
Pieter-Jan Briers f3f05b0396
Correctly implement opening animation for airlocks with open maintenance panel. 2019-10-14 00:20:01 +02:00
Pieter-Jan Briers fd109436e5
Localize & fancify all the examine tooltips with markup. 2019-10-13 22:49:07 +02:00
Pieter-Jan Briers d629dc449f
Update submodule. 2019-10-13 22:48:37 +02:00
Pieter-Jan Briers 5db8cda0b6
Add sound effect to machine panel opening/closing 2019-10-13 19:45:25 +02:00
Pieter-Jan Briers d113a738de
Make Airlock hacking shut power to the entire PowerDevice.
This makes the power device report as "not powered" in the examine tooltip.
2019-10-13 18:29:57 +02:00
Pieter-Jan Briers bd3fe8f86b
Update submodule 2019-10-13 17:13:46 +02:00
Pieter-Jan Briers 445e88cce8
Airlocks do not self close when depowered.
Fixes #390
2019-10-13 17:13:16 +02:00
Pieter-Jan Briers 33e11c0c3a
Highlight "not powered" orange in PowerDevice examine.
Also localizes it.
2019-10-13 17:01:53 +02:00
Pieter-Jan Briers 370f4e140d
Using crowbar on powered airlock returns true on attackby.
Fixes #388
2019-10-13 16:56:43 +02:00
Pieter-Jan Briers b556fd0019
Mute lights on base airlock sprites.
They are only visible when unpowered and as such should be muted.
2019-10-13 16:52:26 +02:00
Pieter-Jan Briers be9dc90738
Disable unlit layers on unpowered airlocks.
Fixes #389
2019-10-13 16:39:21 +02:00
Víctor Aguilera Puerto 8896f46ef3 Fix missing icons (#387) 2019-10-13 16:27:09 +02:00
Pieter-Jan Briers dcffe0ef04
Add Load, save, run ticks, save test to ensure map is inert. 2019-10-13 16:26:39 +02:00
moneyl a5b19b10e0 Add rejuvenate command (#380)
* Add rejuvenate command

Takes one or more entity uids as input. Attempts to find a DamageableComponent on that mob and heal all damage on it.

* Add rejuvenate to right click menu

* Update engine submodule

* Make suggested changes

- Remove redundant error checks in rejuvenate console command, add in relevant ones along with shell messages so the user knows what's going on.
- Remove localization of group check on rejuvenate verb, since the translated version wouldn't be in groups.yml this would've broken the verb in other locales.
- Have the rejuvenate verb attempt to heal the user by default if no arguments were provided to it.

* More localization + help message formatting improvement

* Add more suggested changes
2019-10-13 15:30:44 +02:00
Pieter-Jan Briers d6e378c3bf
Update submodule 2019-10-13 01:28:11 +02:00
Pieter-Jan Briers 6893541f9c
Add R&D and medbay to the map. 2019-10-13 01:20:33 +02:00
Pieter-Jan Briers 74dd24f39c
Add science & medical closets. 2019-10-13 01:19:16 +02:00
Pieter-Jan Briers 3634b17be4
Add science & medbay airlocks. 2019-10-13 00:23:31 +02:00
Pieter-Jan Briers 006341daf7
Increase APC range. 2019-10-13 00:23:07 +02:00
moneyl 427836fec9 Add basic chemical reactions (#376)
* Add basic chemical reaction system

What it adds:
- Reactions defined in yaml with an arbitrary amount of reactants (can be catalysts), products, and effects.

What it doesn't add:
- Temperature dependent reactions
- Metabolism or other medical/health effects

* Add many common SS13 chemicals and reactions

Added many of the common SS13 medicines and other chemicals, and their chemical reactions. Note that many of them are lacking their effects since we don't have medical yet.

* Add ExplosiveReactionEffect

Shows how IReactionEffect can be implemented to have effects that occur with a reaction by adding ExplosionReactionEffect and the potassium + water explosion reaction.

* Move ReactionSystem logic into SolutionComponent

No need for this to be a system currently so the behavior for reaction checking has been moved into SolutionComponent. Now it only checks for reactions when a reagent or solution is added to a solution. Also fixed a bug with SolutionValidReaction incorrectly returning true.

* Move explosion logic out of ExplosiveComponent

Allows you to create explosions without needing to add an ExplosiveComponent to an entity first.

* Add SolutionComponent.SolutionChanged event. Trigger dispenser ui updates with it.

This removes the need for SolutionComponent having a reference to the dispenser it's in. Instead the dispenser subscribes to the event and updates it's UI whenever the event is triggered.

* Add forgotten checks

`SolutionComponent.TryAddReagent` and `SolutionComponent.TryAddSolution` now check to see if `skipReactionCheck` is false before checking for a chemical reaction to avoid unnecessarily checking themselves for a reaction again when `SolutionComponent.PerformReaction` calls either of them.

* Change SolutionComponent.SolutionChanged to an Action

The arguments for event handler have no use here, and any class that can access SolutionChanged can access the SolutionComponent so it can just be an Action with no arguments instead.
2019-10-11 22:57:16 +02:00
metalgearsloth bd5a4e33ab Port outerclothing from discordia (#382)
Inhand sprites are half-scaled of the sprite
2019-10-11 18:09:34 +02:00
Pieter-Jan Briers d7360f8709
Fix some compiler warnings. 2019-10-10 15:48:11 +02:00
Pieter-Jan Briers 6249a129c0
Fix verbs for children of the component defining the verb.
This fixes clothing not having a pick up verb, for example.
2019-10-10 12:17:17 +02:00
Pieter-Jan Briers 21612794c5
Update submodule. 2019-10-10 12:15:52 +02:00
Pieter-Jan Briers fa2d633313
Remove PickUpVerb completely from held items. 2019-10-10 11:53:37 +02:00
Pieter-Jan Briers 09ca46fbd0
Give VerbAttribute [MeansImplicitUse] 2019-10-10 11:51:38 +02:00
Pieter-Jan Briers cf97ef7ad1
Give flashlights feedback about dead/missing cell. 2019-10-10 11:50:53 +02:00
moneyl 963bb28f0f Reagent dispensers (#360)
* Expose more private values of Solution and SolutionComponent

Expose SolutionComponent.ContainedSolution and Solution.Contents. Both needed by ReagentDispenserComponent.

* Implement IExamine for SolutionComponent

Allows players to see the contents of a solution by examining the entity which contains it.

* Implement ReagentDispenserComponent

Adds ReagentDispenserComponent. A component which can add or remove reagents from a solution container. It's written in a general way so that it can be used for things such as the Chemical dispensers in chemistry, but also the booze and soda dispensers in the bar. 

The chemicals it may dispense are defined in yaml, similar to the way that vending machines define which entities they can dispense, by defining a reagent pack.

* Add chemical dispenser and equipment

Adds the chemical dispenser, beaker, large beaker, dropper, and a few more chemicals.

* Add booze and soda dispensers.

Adds the booze and soda dispensers, and a few chemicals for them to dispense. There's no drink mixing or drunkenness yet.

* Update engine submodule.

* Remove unneeded and commented out code

Had a few WIP notes and debug code bits I forgot to remove beforehand.

* Make SolutionComponent._containedSolution and it's values private again

- Remove `SolutionComponent.ContainedSolution` property, replace with specific access functions to maintain safety.
- Make Solution.Contents return a `ReadOnlyCollection` instead of `_contents` to prevent uncontrolled access to the Solution values.
- Add `SolutionComponent.RemoveAllSolution()`

* Update Content.Shared/Chemistry/Solution.cs

Commits a suggestion from RemieRichards to match the coding style of the rest of the codebase. Using `IReadOnlyList` instead of `IReadOnlyCollection`.

Co-Authored-By: Remie Richards <remierichards@gmail.com>

* Update Content.Shared/GameObjects/Components/Chemistry/SolutionComponent.cs

Commits a suggestion from RemieRichards to match the coding style of the rest of the codebase. Using `IReadOnlyList` instead of `IReadOnlyCollection`.

Co-Authored-By: Remie Richards <remierichards@gmail.com>

* Add import for IReadOnlyList to Shared/SolutionComponent.cs

* Add documentation

* Improve localization

Improve use of ILocalizationManager.

* Resolve ReagentDispenserWindow._localizationManager before using it

Forgot to do this in the last commit, resulting in a crash. Oops.

* Add SolutionCaps.FitsInDispenser. Use in ReagentDispenserComponent.

Used to limit large containers like buckets or mop buckets from being placed in a dispenser. Both have large capacities (500) and weren't designed to hold certain chemicals like a beaker is, so for now they can be blocked from being put in a dispenser by giving them that flag.

* Add colors to new reagents

* Update engine submodule
2019-10-05 15:10:05 +02:00