Commit Graph

429 Commits

Author SHA1 Message Date
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
Pieter-Jan Briers 45e9be43ef
Content now owns main menu and launcher connecting. 2020-04-04 15:11:28 +02:00
Pieter-Jan Briers 5edfa2db34
Re-organize style sheets and add StyleSpace. 2020-04-04 15:10:51 +02:00
Pieter-Jan Briers ff36b2dcc7
Re-enable instruments with fallback when MIDI isn't available. 2020-03-30 18:36:58 +02:00
Pieter-Jan Briers 957370a832
Merge branch 'master' into RefactorMouseFilterMode 2020-03-25 02:27:28 +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
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
ShadowCommander 3edfdb8763 Refactor CharacterSetupButton into a ContainerButton 2020-02-27 04:15:02 -08:00
ShadowCommander 14f6cbb845 Refactor ContainerButtons to use a StyleClass for formatting instead of typeof 2020-02-27 04:15:00 -08:00
ShadowCommander 4bdb45731a Clean up MouseFilterMode.Ignore from Controls 2020-02-27 04:14:59 -08:00
ShadowCommander 526111923c Refactor Controls to default to MouseFilterMode.Ignore 2020-02-27 04:14:58 -08:00
Pieter-Jan Briers 8cbb6841fc
Fix compiler warning 2020-02-26 16:46:56 +01:00
Pieter-Jan Briers 0e6b55de66
Clean up client game ticker status code.
Fixes #495
2020-02-26 16:42:12 +01:00
Decappi 289ab4818f
#621 - Added sandbox spawner documentation to tutorial (#737) 2020-02-26 06:31:08 +01:00
moneyl a76f133a3c
Add more components to client registerIgnore list (#746) 2020-02-26 00:47:58 +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
ShadowCommander 6fbeb16b31
Refactor ChatBox to use HistoryLineEdit (#728)
* Refactor ChatBox to use HistoryLineEdit

* Clean up ChatBox variable localize
2020-02-23 00:44:35 +01:00
Víctor Aguilera Puerto 4f397e1ce2
Fix warnings (#723) 2020-02-23 00:28:50 +01:00
Acruid ee6eec9c40 SubscribeEvent() has been split into SubscribeNetworkEvent() and SubscribeLocalEvent() methods on EntitySystem.
Most methods on EntityEventBus now require callers to specify the source (Local or Network) of the events.
2020-02-19 17:08:59 -08:00
Acruid e719745b10 Removed the Sender object from events. If you needed this field, add it to the event class. 2020-02-19 14:39:00 -08:00
Acruid c51533686b Updates the Content EntitySystems with the changes to the event API.
Visual Studio wants to update the version of the solution, and change some GUIDs around.
2020-02-18 19:43:54 -08:00
Pieter-Jan Briers 08fcbdf271
Populate tutorial window key binds with proper key names. 2020-02-17 11:29:52 +01:00
Pieter-Jan Briers 011ac0fd7d
Fix inverted triangle path on Linux.
@ShadowCommander you messed up the casing on the file path.
2020-02-17 11:29:19 +01:00
Pieter-Jan Briers cd8025b87e
Merge branches '20-02-17-upd' and 'triangle' 2020-02-17 11:19:15 +01:00
micheel665 987a39c25e
Added a button to add entities to storage items (#709) 2020-02-17 00:19:35 +01:00
ShadowCommander 983d626ce4 Fix Styling 2020-02-14 18:05:35 -08:00
ShadowCommander 92030c6724 Update NanoStyle for refactored Button and CheckBox 2020-02-14 04:18:14 -08:00
ShadowCommander 718bf0edc3 Update Button references 2020-02-14 04:17:07 -08:00
Pieter-Jan Briers 7f9d2f9dbf
Fix ClientStatusEffectsComponent breaking after re-attaching to mob.
Fixes #689
2020-02-13 23:18:53 +01:00
ShadowCommander 3292939756
Unset FocusChat when returning to main menu (#691)
Fixes #403
2020-02-13 15:14:03 +01:00
ShadowCommander 5f26944df9 Add styles for ContainerButton and OptionButton 2020-02-13 00:47:46 -08: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
moneyl b965dfea33
Fix toggle UI keybind in tutorial window (#669)
Is shift + f4, not F1
2020-02-09 23:35:35 +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 092f234943
Add a check to make sure the CombatMode is the current player (#663) 2020-02-09 10:42:44 +01:00
moneyl a2a3e5e2e4
Fix issues with exploding items from own hand (#645)
* Fix crash in CameraRecoilComponent from NaN values

Doesn't proceed with camera shake if either component of recoil is NaN.

* Log NaN recoil value in CameraRecoilComponent

* Fix ExplosionHelper passing NaN recoil values when exploding from hand

With other commits CameraRecoilComponent now won't crash from NaN recoil values. Still want to fix this so explosions shake the camera. Just sets a value slightly greater than 0.0 for distance if it is (0.0, 0.0)
2020-02-08 20:46:12 +01:00
Pieter-Jan Briers eb7c80ba7a
You can no longer place unless you are in admin or sandbox. 2020-02-08 20:45:02 +01:00
moneyl d8afa6bc03
Update & improve tutorial window (#586)
* Update & improve tutorial window

- Fix scroll bar not showing up till window is resized/scrolled.
- Update keybinds and information.
- Add "quick controls" before detailed explanation for quick reference.
- Add section headers with larger font.

* Add more keybinds

Adds more keybinds from keybinds.yml

* Address code review

- Remove paragraph explaining controls in favor of quick list.
- Remove use of ForceRunLayoutUpdate(). Need to find bug causing scroll bar to not show up until resize. Can do in separate PR.

* Add gameplay section

Adds gameplay section with some important notes on respawning and combat node.

* Fix typo

"it's keybind" -> "its keybind"
2020-02-07 00:07:13 +01:00
moneyl 184f2fb68d
Remove duplicate code in client EntryPoint.cs (#580) 2020-02-06 16:13:10 +01:00
Acruid 35dc6b2eee Fixed bug where the mouse highlighting was always red on an entity when the grid was offset from the map origin. 2020-02-04 22:28:46 -08:00
Tad Hardesty 7438ef96ad
Remove unused variable in VerbSystem (#581) 2020-02-02 22:39:40 +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 5243530d81
Fix crash on reconnect. 2020-01-26 23:53:33 +01:00
Pieter-Jan Briers 1d98152953
Fix grabbing things out of storage items doing an attack sometimes. 2020-01-26 16:17:24 +01:00
Tad Hardesty a6f8ee317f Fix parallax on resolutions greater than 1920x1080 (#564) 2020-01-26 14:02:12 +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
Pieter-Jan Briers 7e43d574d8
Fix opening context menus for world entities. 2020-01-25 23:35:03 +01:00
Pieter-Jan Briers daf3c28929
Use PopupContainer for verbs & examine popups.
Fixes #501
2020-01-25 17:28:39 +01:00
DamianX 4a833e82cd Update character list when one of them is selected (#561) 2020-01-25 14:37:04 +01:00