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
2017-10-20 13:38:48 -06:00
2019-07-30 12:57:08 +02:00
2019-10-10 12:15:52 +02:00
2019-08-30 18:34:07 +02:00
2019-06-29 03:02:42 +02:00
2017-08-04 14:24:01 +02:00
2017-05-30 22:50:10 -05:00
2019-01-23 15:29:39 +01:00
2019-03-29 22:11:40 -06:00
2019-06-02 20:44:51 +02:00
2019-10-01 17:28:57 +02:00
2017-08-02 12:27:55 -07:00
2019-10-02 21:47:32 +02:00
2017-08-14 15:05:39 +02:00
2019-04-15 21:34:02 -06:00
2019-04-15 21:12:00 -06:00
2017-10-22 23:57:08 +02:00
2019-08-02 22:45:41 +02:00

Space Station 14

Build Status

Space Station 14 is a revived attempt at an SS13 remake.

This is the primary repo for Space Station 14. To prevent people forking RobustToolbox, a "content" pack is loaded by the client and server. This content pack contains everything needed to play the game on one specific server.

If you want to host or create content for SS14, this is the repo you need. Contains both RobustToolbox and the content pack for development of new content packs.

Getting in Touch

The IRC is setup to relay back and forth to the Discord server so IRC nerds will not be left out.

Documentation

We have various documentation articles about various systems on the GitHub wikis of this repo and RobustToolbox.

Contributing

We are happy to accept contributions from anybody. Get in Discord or IRC if you want to help. We've got a list of issues that need to be done and anybody can pick them up. Don't be afraid to ask for help either!

Building

See the relevant wiki page

Description
Somethin something about magic rp coop game. Based on the game Space Station 14.
Readme 910 MiB
Languages
C# 84.7%
Fluent 14.8%
Python 0.3%