Commit Graph

349 Commits

Author SHA1 Message Date
PrPleGoo
4e67f09488 Fixed comments
ReagentUnit now implements IComparable and IEquateable.
ReagentUnit now uses double internally.
Added multiplication without shifting for ints.
InvariantCulture for some string things.
Added units tests for Equals and CompareTo.
Added unit tests to Solution that deals with nasty fractionals.
2020-04-09 20:40:59 +02: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
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
zumorica
83e9688133 You can now cancel the timer (recall) 2020-04-09 01:43:28 +02:00
zumorica
64eafde0c3 Adds working communications console that ends the round 2020-04-09 00:28:56 +02:00
PrPleGoo
a507a06916 fix compile error 2020-04-08 22:40:43 +02:00
PrPleGoo
92e2552440 ree travis 2020-04-08 22:40:29 +02:00
PrPleGoo
282ee61e99 not so needed afterall 2020-04-08 22:39:59 +02:00
PrPleGoo
66c6a9e3a6 ah yes a much need whitespace 2020-04-08 22:39:46 +02:00
PrPleGoo
9194694085 Fix initialization change 2020-04-08 19:43:16 +02:00
PrPleGoo
a484b6fd52 Implementation of ISelfSerialize 2020-04-08 19:07:33 +02:00
scuffedjays
02f9c5259c Add foundation for Round End Summary Screen.
Adjust GamePreset class, added title alongside description.
2020-04-08 06:07:54 -05:00
Injazz
d400f77129 Chemistry revamp and bartending features
-Ability to mix drinks to create cocktails with shiny icons
-New Chemistry System which can relay chemistry events to corresponding components
-moved some solution logic from Shared to Server
-fixed some weird stuff with DrinkComponent
2020-04-08 15:53:15 +05:00
PrPleGoo
db83789d05 Merge remote-tracking branch 'upstream/master' into DecimalReagents 2020-04-05 11:37:03 +02:00
PrPleGoo
4e0242d47c Replace decimal with ReagentUnit 2020-04-05 11:36:12 +02:00
zumorica
a0d114c672 Ghost sprites and a bunch of fixes 2020-04-05 02:29:04 +02:00
zumorica
a07c407f2e Deadchat 2020-03-30 01:15:43 +02:00
zumorica
91f039d2af Merge branch 'master' into 2020-03-03-g-g-g-g-g-g-g-g-ghooooosts 2020-03-28 23:48:00 +01:00
Pieter-Jan Briers
f790eeb34d RaisePredictiveEvent works.
Needs sequence numbers fixed.
2020-03-25 17:53:50 +01:00
Pieter-Jan Briers
705aeceba6 Need to merge this 2020-03-25 11:16:57 +01:00
PrPleGoo
539214b1ad Some more int -> decimal conversions. Changed the use of the Solution constructor. 2020-03-21 16:22:35 +01:00
Decappi
a1357a1ff3 #391 Done Lathe animations (#774)
* Draft PR, do not merge

* Lathe now uses animations. Timing is still wrong, code is very wet, repetitions and unused layers are there.

* Removed (unneeded?) PowerDeviceVisualizer from the lathe
Refactored & Renamed code and variables
Renamed animation names

* WIP protolathe animation

* Working protolathe animation.
I still don't like the solution though.
2020-03-15 17:55:20 +01:00
PrPleGoo
dc66621804 Replaced static Rounders with an impleneted interface 2020-03-14 14:04:08 +01:00
PrPleGoo
f05fdfb5fc Changed all int and some float things in Reagent code to Decimals 2020-03-14 12:55:07 +01:00
py01
aecff31262 Construction recipes can specify if they should be build-able in… (#781)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-03-06 20:15:44 +01:00
Víctor Aguilera Puerto
e17ffbd76f Adds verb categories (#766)
* Adds verb categories

* Update Content.Shared/GameObjects/Verbs/Verb.cs

Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Make GetCategory virtual

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-03-06 20:11:24 +01:00
zumorica
055f09d501 Button to return to body 2020-03-03 19:10:25 +01:00
zumorica
6905394e8a Add placeholder ghost UI, ghost component 2020-03-03 19:10:25 +01:00
moneyl
1b7860aeda Add injectors + injected reagent metabolism via BloodstreamCompo… (#730)
* Add BloodstreamComponent and BloodstreamSystem

New component for metabolizing reagents that other organs like the stomach pass their input reagents to.

* Change StomachComponent to put ingested reagents in bloodstream after delay

Now StomachComponent does not metabolize any reagents. Instead, it tracks how long each reagent has been inside it, and once they pass "digestionDelay" they'll be put inside the bloodstream, where the bloodstream will handle metabolism of the reagent.

* Add reagent injectors

Injects reagents straight into the bloodstream when used on mobs with bloodstreams. Also allows draw/inject from beakers. Does not support drawing blood/reagents from the bloodstream yet.

* Address code review

Make use of `Loc` static class instead of using `ILocalizationManager`. Localize InjectorToggleMode enum properly.
2020-02-24 01:47:33 +01:00
Rohesie
ffe55648b6 BaseTurfs (#699)
* tweaks

* Baseturfs

* dotnet messages

* indentation

* comment

* Change requests

* Smaller diff

* Diff
2020-02-23 00:30:36 +01:00
micheel665
987a39c25e Added a button to add entities to storage items (#709) 2020-02-17 00:19:35 +01:00
Pieter-Jan Briers
c7a171cf14 Revert "add Robust.Serializer dep to Content.Shared"
This reverts commit a8f84c4b8c.
2020-02-15 02:33:52 +01:00
Tyler Young
a8f84c4b8c add Robust.Serializer dep to Content.Shared 2020-02-15 01:48:48 +01:00
adrian
9544099c99 Paper and pen (#582)
* A very basic paper and pen implementation

* Removes SharedWriteComponent

* Update ContentNetIDs.cs
2020-02-12 00:01:05 +01:00
Acruid
d16f433f45 Adds test to make sure that calling IComponent.HandleComponentState() with null states does not throw an exception.
Fixes state handling code on components to not throw exceptions when called with null components.
2020-02-09 02:28:47 -08:00
ShadowCommander
d1c5cf9607 Fix TemperatureComponent (#620)
* Remove TEMPERATURE Net ID

* Remove Temperature NetID
2020-02-08 11:29:06 +01:00
moneyl
6a1d2124df Revert unnecessary changes made by previous PR to SolutionCompon… (#583)
#574 added an out arg to `SolutionComponent.TryRemoveSolution` containing the solution that was removed. I made this change since I thought there was no way to get the removed solution for further use. Didn't notice `SplitSolution` which provides nearly the same behavior. With this PR I want to remove that out arg from `TryRemoveSolution` to keep the SolutionComponent API simple and to avoid having multiple ways of doing things. Existing code uses `SplitSolution`, I just wasn't paying attention.

Feel free to deny merging this if I'm over thinking it. I think it'll help keep solution code from becoming a mess.
2020-02-06 16:13:32 +01:00
moneyl
33cf29978a Sandbox window improvements (#578)
* Several sandbox manager improvements

- Bound sandbox manager to B key as it lists on the UI
- Bound entity spawner to F5
- Bound tile spawner to F6
- Made entity spawner and tile spawner toggle instead of repeated spawning new windows from the sandbox panel

* Move relevant keyfunctions from engine to content

Turns out it was unnecessary to have the key functions in the engine as all code using the ones added here are in content.
2020-02-02 22:38:51 +01:00
moneyl
972d601664 Add solution pouring / click-transfer (#574)
* Add click-based solution transfer

For example, clicking on a beaker with a soda can to transfer the soda to the beaker. Works on plain solution containers like beakers and also on open drink containers like soda cans as long as they have the `PourIn` and `PourOut` solution  capabilities. If no `SolutionComponent` is added to a drink entity, the `DrinkComponent` will give the entity one. This PR extends that behavior slightly by also giving these default `SolutionComponent`'s the proper capabilities for pouring in/out.

* Improve fix for poured drinks not immediately disappearing

Instead of making `DrinkComponent.Use` public this 
 splits out the code important to both users and made that function public, leaving `Use` private.

* Shorten solution transfer popup

* Make code review changes

- Move pouring code from SolutionComponent to new PourableComponent. Added PourableComponent to client ignore list and added to existing container prototypes.
- Added EmptyVolume property to shared SolutionComponent for convenience.
- Removed DrinkComponent fix from pouring AttackBy code. Instead DrinkComponent subscribes to the SolutionChanged action and updates its self when necessary.
- Fixed pouring being able to add more than a containers max volume and sometimes deleting reagents.
- Added message for when a container is full.

* More code review changes

- Remove IAttackBy ComponentReference attribute in PourableComponent
- Remove _transferAmount from shared SolutionComponent. Left over var from previous commit not being used anymore.
2020-01-29 02:07:02 +01:00
Pieter-Jan Briers
2ec493e2af Combat mode improvements.
You now need to hold the mouse for 0.15 seconds in combat mode to actually do an attack.

Otherwise it's regular item interaction (for now).
2020-01-26 03:38:51 +01:00
Acruid
4ab7f1dcb3 Removed the StateType property from every component. This field was completely unused except for a debug assertion. 2020-01-24 14:10:36 -08:00
DamianX
514d05b237 Added postgres support (#556) 2020-01-24 17:25:01 +01:00
Pieter-Jan Briers
f95c5b7921 Adds job icons to the job list. 2020-01-24 16:31:18 +01:00
DamianX
46ce6bf45e Implemented random character creation (#548)
* Implemented random character creation

* Pick from a list and apply a bit of randomness instead

* Rename SetInitialData, unselect list entries properly
2020-01-24 00:56:26 +01:00
Pieter-Jan Briers
9beb7e48d4 Implement female uniform masking. 2020-01-21 18:11:15 +01:00
Pieter-Jan Briers
ba88b2b1da Update NuGet dependencies.
EFCore excluded because I'm still using .NET Core Runtime 3.1.0 instead of 3.1.1
2020-01-20 20:44:36 +01:00
Pieter-Jan Briers
77fcc4a673 Use TG human sprites. 2020-01-20 15:13:03 +01:00
Pieter-Jan Briers
75aa9541e0 Equip clothing to preview dummies in the lobby. 2020-01-20 10:30:06 +01:00