Commit Graph

136 Commits

Author SHA1 Message Date
Pieter-Jan Briers dc9f8d551b
Merge pull request #805 from Zumorica/2020-04-09-comms-console-roundend
Adds working communications console that ends the round
2020-04-10 17:02:49 +02:00
zumorica c19035fccc Use TimeSpan instead of an int for the countdown time 2020-04-10 13:37:13 +02:00
Víctor Aguilera Puerto 47c3258861
Update Content.Server/GameObjects/EntitySystems/RoundEndSystem.cs
Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-04-10 13:28:28 +02:00
Pieter-Jan Briers aff9f18bc8
Merge pull request #803 from Injazz/bartending
Bartending tricks and some revamping on chemistry components
2020-04-10 11:54:40 +02:00
zumorica c55a4ffbf4 Countdown is now 4 minutes 2020-04-09 20:31:28 +02:00
zumorica 3c795ad283 Use TimeSpan instead of DateTime in RoundEnd and Comms Console. 2020-04-09 20:28:22 +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
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
zumorica aba3b0217e Moving when dead ghosts you 2020-03-30 01:15:23 +02:00
zumorica 16353a89e6 Default interface implementation for IActionBlocker (defaults to true) 2020-03-30 01:15:03 +02:00
Pieter-Jan Briers 65d1681cb3
Fix error about game.diagonalmovement being registered multiple times. 2020-03-25 22:21:29 +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
Víctor Aguilera Puerto d1ff84e95d
Add CanAttack to IActionBlocker, prevent using guns when dead (#769) 2020-03-03 15:10:09 +01:00
Víctor Aguilera Puerto 60d6b4af7d
You can now pickup items inside obstructions (#759) 2020-02-28 17:52:18 +01:00
Víctor Aguilera Puerto 2df0f884ba
Fix bug where InRangeUnobstructed wouldn't check for hard collid… (#748)
* Check for hard collidables too.

* ...and that's why you don't code at 7 AM!

* fugg
2020-02-28 16:29:45 +01:00
Acruid 3011c06460 You can now pick up items that are not on a grid.
API changes for IMapManager.TryGetGridAt().
2020-02-27 02:12:57 -08:00
Injazz 15fa417a4f
Explosion now throws affected entities, fixes probability/severi… (#732)
* throwforce and probability fixes for explosions

Applies force to all affected by explosion entities with ItemComponent
Fixes probability issues with explosion related callbacks

* dependency fix, throw helper

* delete TODO

Co-authored-by: gituhabu <48828502+gituhabu@users.noreply.github.com>
2020-02-24 03:52:15 +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
4dplanner b0e3ab3393
MovementSpeedModifierComponent (#721)
* movement modifier system

* update default exposedata values

* changing base speed marks as dirty

* formatting

* movement speed modifier component

* Moves slowdown component to the prototype

AIController respects slowdown

* reset dirty flag
2020-02-23 00:37:56 +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
moneyl 5f030cdf93
Improve addai error handling and help message (#708)
* Improve addai error handling and help message

Fix client crash from giving addai an invalid processorId argument and improved it's help message to describe each parameter.

* Only IoC resolve when addai is run

Makes the code simpler. No need to cache it since it's going to be run so infrequently.
2020-02-17 00:21:15 +01:00
Víctor Aguilera Puerto 70c41f63b0
Adds InRangeUnobstructed method to InteractionSystem (#698)
* You cannot pickup items across walls, or pickup items when dead/in crit.

* Adds InRangeUnobstructed method to InteractionSystem.
Changes HandsSystem and ItemComponent to use it.
2020-02-16 23:04:06 +01:00
Profane McBane 9e368b336f
Let stacks specify if they get thrown as one item, or individual… (#679) 2020-02-13 23:43:02 +01:00
Qustinnus de094ddacc
Fixes the direction humans turn to when throwing something (#686)
* Fixes the direction humans turn to when throwing something

* shorter
2020-02-13 16:21:29 +01:00
Víctor Aguilera Puerto f8a64bcd5c
Prevent items from being dropped across impassable entities (#670) 2020-02-12 00:01:44 +01:00
Markus W. Halvorsen 595ffb3237
Clamp out of range item drops (#631) 2020-02-08 15:32:21 +01:00
Tad Hardesty 89a4265dda
Change player's facing when they click on something (#598) 2020-02-07 17:54:56 +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 a692899f5b GridCoordinates API changes. 2020-01-25 01:39:14 -08:00
Acruid a86363a6d2 API changes, renamed SpawnEntityAt to SpawnEntity. 2020-01-24 16:10:48 -08:00
Pieter-Jan Briers 11d47cc67a
Remove an unused field. 2020-01-24 00:57:08 +01:00
moneyl 1996893a26 Fix UseDelayComponent (#546)
Currently if this component is present the delay timer is started but it doesn't actually prevent use interactions.

To test this bug, do the following:
1. Set the delay for [bike_horn](https://github.com/space-wizards/space-station-14/blob/master/Resources/Prototypes/Entities/items/bike_horn.yml#L25) to something large like 5.0 that'll make the effect obvious
2. Use the bike horn with the z key. The delay anim will play properly but you'll still be able to spam the honk.
2020-01-23 01:37:07 +01:00
Víctor Aguilera Puerto 83b2e59910 Fix bug where placing items in PlaceableSurfaces didn't cause a… (#544)
* Change variable name in some interactions

I definitely didn't copy-paste some stuff back then, absolutely not.

* Fix bug where dropping items in tables didn't cause the drop interaction
2020-01-22 23:09:36 +01:00
L.E.D 8f04ce894f Use Delay Component (#540)
* use delay timer

* remove accidental using

* and remove accidental newline because i don't proofread my code

* compatibility with HUD cooldown
suggested changes

* get out of here

* suggested changes

* change to seconds from milliseconds

* remove redundancy
2020-01-22 23:08:14 +01:00
ShadowCommander e0aaab56e3 Implement StorageButton on HandsGUI and click empty hand to swap… (#517)
Also moved duplicate sprite view code to ItemSlotManager
2020-01-18 03:41:47 +01:00
Acruid 32103979ed CollidableComponent and ICollideableComponent namespace was changed in the engine.
Minor code cleanup.
2020-01-11 14:12:20 -08:00
Acruid f73824adcb Prevents the MoverSystem from overwriting the MoverComponent on an entity.
Adds the new ShuttleControllerComponent, a custom IMoverComponent that moves the parent grid when controlled by a mind.
2020-01-08 15:17:00 -08:00
Pieter-Jan Briers 7f188b0f44
Disable sprinting.
Now you always sprint.
2019-12-07 17:16:56 +01:00
L.E.D fac91af34d new layers (#483) 2019-12-01 15:20:50 +01:00
Acruid d549c44f95 Shared IMap/Map class removal (#467)
* Fully removed the Map and IMap class.

* Submodule update to sibling engine commit.
2019-11-26 23:16:36 +01:00
Víctor Aguilera Puerto fedc0ad71c Adds playable instruments, IDropped, IHandSelected and IHandDese… (#368)
* Instrument test.

* Midi stuff

* Some more work

* This actually works now!

* update

* Midi Audio works!

* Lots of stuff, and cool interfaces for items

* Update

* Fix a few things

* It just works

* Move textures to another folder, remove placeholder description from instruments

* Fix warning

* Use renderer enum

* Instruments now use DisposeRenderer method, and send MidiEvents as they receive them. Deletes InstrumentSystem whoo.

* Fix incorrect sprite paths

* Instruments take midi file size check into account when enabling/disabling midi playback buttons

* Fix crash when pressing drop on empty hand.

* Use new renderer return values for midi/input

* Xylophones are no longer handheld instruments, fix their sprites.

* Use new API

* Remove nfluidsynth from solution

* Timing information

* Use IGameTiming.CurTime for timestamps instead
2019-11-25 00:11:47 +01:00
Remie Richards 0cf34d2d26 Server-side GlobalVerbs now work when used (#455) 2019-11-23 20:11:50 +01:00
metalgearsloth 58709d2d26 Add power cell and weapon chargers (#430)
* Add power cell and weapon chargers

Functionality's similar to SS13. The cell charger won't show the discrete charging levels because effort to not make it spam appearance updates over the network.
There's some stuff I wasn't sure on:
1. Updating power? Particularly around fixing rounding
2. Duplicating the full and empty sprites as I couldn't figure out a way to not have AppearanceVisualizer throw if the state isn't found
3. I made a BaseCharger abstract class under the assumption that when a mech / borg charger is added it would also inherit from it.
4. GetText currently isn't localized

* Address PJB's feedback

Updated the BaseCharger
* Change nullref exception to invalidoperation
* If the user doesn't have hands it will just return instead
2019-11-21 23:48:56 +01:00
metalgearsloth 480d3b26c4 Make nutrition less harsh (#439)
* Make nutrition less harsh

Also fix the accumulator because why did I put that in the loop.
Decay rates decreased and made drink thirst levels same as hunger for now.

* Also fix stomach frametime accumulation
2019-11-17 02:26:31 +01:00
ZelteHonor b2e2aef78d Rider static analysis (#433)
* Non-accessed local variable

* Merge cast and type checks.

* StringComparison.Ordinal added for better culture support

* Supposed code improvement in launcher. Remove unused code.

* Update ExplosionHelper.cs

Unintentional change.

* Optimized Import

* Add Robust.Shared.Utility import where it was deleted

* Other random suggestion

* Improve my comment
2019-11-13 23:37:46 +01:00
metalgearsloth de148fc98f Add hunger and thirst (#363)
* Add hunger and thirst

Based on the SS13 systems.
Food (Nutriment) / Drink -> Stomach -> Hunger / Thirst

* Cleanup rebase

* Cleanup stuff that was prototyped

* Address feedback

Still need to add a statuseffects system in a separate branch

* More cleanup on nutrition

Fix Remie's feedback and also damage tick.

* Re-implement nutrition with master

* Updated to use the StatusEffectsUI update
* Removed all clientside components as they only receive the UI updates now
* Implemented PR feedback
* Had to make a slight adjustment to the chemistry SolutionComponent given it doesn't have an Owner, same with Solution

Still TODO:
* Metabolisation effects
* Change drink contents to alcohol / wine etc.
* Add items to the dispensers
* For transparent containers use RecalculateColor

Could probably genericise DrinkFoodContainer as well to be a temporary item dispenser

* Fix broken bottle parent
2019-11-11 22:20:03 +01:00
Víctor Aguilera Puerto 7d307832a0 Adds /me command. (#414)
* Adds /me command.

* Update Content.Server/Chat/ChatManager.cs

Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2019-10-30 21:49:07 +01:00