Commit Graph

290 Commits

Author SHA1 Message Date
ShadowCommander 590cb1e85c Fix crash on restart (#463)
Clears inventory slots before disposal when ClientInventoryComponent is removed.
2019-11-26 16:26:47 +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
moneyl ce54c489eb Add null check before using prototype in ReagentDispenserWindow (#461)
Should fix #460. I'm unable to reproduce it myself, but the stack trace shows the crash occurring on the edited line, likely because `prop` is null. This fixes that by adding a null check before using `prop`.
2019-11-24 00:46:48 +01:00
DamianX 3a7a3a89ba Added hair, facial hair, magic mirror (#452)
* Added hair, facial hair, magic mirror

* I forgot to commit the textures lmao

* Use shader to fix hair color blending
2019-11-23 21:55:46 +01:00
ShadowCommander 1580750606 Implement Cargo Console (#413)
* Implement Cargo Console

Add to CargoConsoleComponent GalacticBank information for syncing Bank Account Balance.

Implement CargoOrderDatabase on the server side and a list of orders in the CargoOrderDatabaseComponent on the client side. This makes it easier to change data on the server side but also utilize the state syncing between components.

Implement GalacticMarketComponent.
Only productIds get sent. Both client and server create their lists from YAML.

Implement basic spawning of items from approved orders in CargoOrderDatabase.

* Finish Cargo Console

Add validation to make sure Order Amount is one or more.

Implement approve and cancel buttons to CargoConsoleMenu orders list row.

Add price to CargoConsoleMenu product list row.

Implement CargoOrderDataManager to consolidate CargoOrder lists.

Refactor CargoOrderDatabaseComponent to use CargoOrderDataManager instead of storing duplicate lists.

Implement canceling orders.
Implement approving orders.

Fix sprite links.

Implement Cargo Request Console.
2019-11-22 01:37:14 +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
Acruid 8b1be6edee Fixes the client crashing when closed. When disconnecting from a server, _playerManager.LocalPlayer is set to null before the entity components are disposed. Previously this would throw a nullref exception in ClientStatusEffectsComponent, now it properly checks for the null value. This resolves #435. 2019-11-16 14:39:52 -08: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
metalgearsloth 6529542277 Fix overlay not clearing on respawn (#423)
I'm a derp.
2019-11-09 12:09:58 +01:00
metalgearsloth 12cf5559c2 Refactor SpeciesUI into overlay and status effects (#381)
* Refactor SpeciesUI into overlay and status effects

All components that update the UI will need to use PlayerAttached for cases where the Mind transfers I think.

* Change overlay / status effects to use states

* Change TryRemoveStatus to RemoveStatus

Doesn't return a bool so not trying.
Addressing PJB's feedback.
2019-10-30 16:37:22 +01:00
Pieter-Jan Briers 3a0856505d
Correctly clear inventory UI when HumanInventoryInterfaceController detaches.
Fixes #405
2019-10-25 11:49:26 +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 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 7de97eeb2c
Fix icon smoothing not applying after entities are deleted. 2019-10-14 17:09:45 +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 be9dc90738
Disable unlit layers on unpowered airlocks.
Fixes #389
2019-10-13 16:39:21 +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
Pieter-Jan Briers 02d509fc5f
Shitty combat mode & animations. (#367)
* Combat mode UI & targeting zones.

* Fix inventory hud positioning.

* Crappy attack animations.

* Import TG combat sounds

* More work on arcs.

* Implement hit sounds.

* Lunging, hit effects, some more stuff.
2019-09-26 22:32:32 +02:00
Acruid cbea6bf41f The SubFloorHideComponent can now be properly started/stopped. Previously this did nothing. 2019-09-19 11:43:46 -07:00
Pieter-Jan Briers 6c97b63e59
Property animations test component. (#340) 2019-09-18 22:14:21 +02:00
Acruid dd06c71735 Updates the content components to be compatible with the changes in 55a50ff7ba.
Updates engine submodule.
2019-09-18 11:36:58 -07:00
DamianX 364279e0f7 Added medical scanner (#338)
* Added medical scanner

* RegisterIgnore
2019-09-18 20:24:55 +02:00
Acruid fc5d7835c0 Updates various systems to the new InputCommandHandler delegate signature, implementing the new handled return value.
Modifies the construction system to use the newer InputHandler system, instead of the older ClickComponent system.
Updates the engine submodule.
2019-09-17 16:10:59 -07:00
Víctor Aguilera Puerto 3f4c9a8326 Use improved ItemLists (#335)
* Use improved ItemList

* Address reviews

* Update submodule
2019-09-13 15:35:06 +02:00
Pieter-Jan Briers 97e18b9ed4
Fix camera recoil restore overshooting at low framerates. 2019-09-11 20:08:43 +02:00
DamianX 63bb4c4d0a Create BoundUserInterfaces with DynamicTypeFactory (content) (#332)
* Create BoundUserInterfaces with DynamicTypeFactory (content)

* maybe this time I did it right
2019-09-08 16:05:34 +02:00
DamianX 36078382e4 Airlock hacking (#329)
* Airlock hacking

* Added status text

* Whoops don't need this

* Update Content.Server/GameObjects/Components/Doors/AirlockComponent.cs

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

* ComponentReference ServerDoorComponent

* Suggested name
2019-09-06 10:05:02 +02:00
Víctor Aguilera Puerto 34f4731c9b Fix bug where research console GUI didn't close correctly (#331) 2019-09-06 08:13:17 +02:00
DamianX 6e2799f048 ID card console (#324)
* ID card console

* Container -> ContainerSlot
2019-09-06 08:12:44 +02:00
Víctor Aguilera Puerto ba8b495ec0 Adds Research, unlockable technologies, Protolathes... (#264)
* Work on Research so far
More work on UI...
Fix ResearchClient and Protolathe UI stuff.
Fix infinite select -> request state -> select -> ... loop
Add UI to ResearchClient, etc.
Technology Database states, and a bit of work on the research console ui
A bit of work on Research Console UI
Protolathe sync
Stuff that actually does things
Protolathe databases yay
Alright got my motivation back
Yeah, no. It's almost 3 AM already
Fix serialization bug again
More work on stuff
Stuff
Adds files for most new components/systems.

* Protolathes actually work now

* Research. Just Research.

* Adds icons from Eris.

* Address reviews

* Change LatheMenu resize behaviour

* Update Content.Client/GameObjects/Components/Research/ResearchConsoleBoundUserInterface.cs

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

* Update Content.Client/Research/ResearchConsoleMenu.cs

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

* Move IoC Resolve out of for loop

* Address review

* Localize stuff
2019-09-03 22:51:19 +02:00
DamianX f3b460c8b4 IDs and access (#319)
* something about access

* Fixed deny animation
2019-09-01 22:57:22 +02:00
ShadowCommander 0329150109 Fix OpenStorage button in HumanInventoryWindow (#322) 2019-09-01 22:50:13 +02:00
DamianX 264a63b7f6 Wires! (#315)
* Wires!

* Use state instead of messages

* cleanup

* Update submodule

* actually fix conflict

* Maybe fix conflicts?

* Localized strings, removed hardcoded sprite path

* cleanup

* More localization and sounds
2019-09-01 22:15:34 +02:00
metalgearsloth 9431011ba5 Add more dakka (#307)
* Add more dakka

Some slight codebase changes to facilitate more robust behaviour.

* Update Content.Server/GameObjects/Components/Projectiles/ProjectileComponent.cs

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

* Remix last stereo to mono

hpistol + ltrifle
2019-08-22 11:08:32 +02:00
ShadowCommander 66c5affa65 Merge branch 'master' of https://github.com/space-wizards/space-station-14 2019-08-20 18:27:12 -07:00
DamianX 4dcbf28714 IoC'd random (#302)
* Implemented RobustRandom

* update submodule

* update submodule

* Fix benchmark
2019-08-17 12:09:09 -07:00
ShadowCommander 1c81f6097f Merge branch 'master' of https://github.com/space-wizards/space-station-14 2019-08-16 15:46:06 -07:00
DamianX 534af65f7c Fixed inventory button not updating when window was closed (#304)
* Fixed inventory button not updating when window was closed

* Only add the event handler once

* uhhhh

* UHHHHHH
2019-08-16 21:52:00 +02:00
Pieter-Jan Briers 9cb37a6376
UI system refactor; submodule update. 2019-08-14 22:04:35 +02:00
Pieter-Jan Briers 6be135a137
Fix human inventory window ID slot using mask texture. 2019-08-14 21:10:56 +02:00
DamianX 88920696f3 Vending Machines (#296)
* Vending Machines

* addressed review
2019-08-14 10:49:28 +02:00
Pieter-Jan Briers d4384aef73
Eris computer sprites, visualizer. 2019-08-12 18:43:24 +02:00
ShadowCommander b38e780f01 Updates Submodule and updates Inventory Button variables 2019-08-09 15:47:59 -07:00
ShadowCommander 7753ae7c3a Added OpenStorage trigger on ActivateItemInWorld
When ActivateItemInWorld is pressed when hovering over a InventoryButton and the InventorySlot contains a storage item, it will open the StorageGUI.
2019-08-07 15:56:22 -07:00
ShadowCommander 151d3a3672 Fixed HandsGui and added an icon to access worn inventories (#279)
* Fixed HandsGui children so that HandsGui is clickable

* Added TextureButton for opening Storage items

* Update ClientInventoryComponent.cs

Fixed HandleComponentState so that it only updates the inventory when there are changes.

* Implemented storage button on Inventory

Adds a small button on the bottom right of Storage items when inside the inventory. When the button is pressed it opens the Storage UI.
2019-08-01 01:38:24 +02:00
Pieter-Jan Briers ceb8cc8421
Use automatic component registration. 2019-07-31 15:07:54 +02:00
Pieter-Jan Briers 41b72d5aa2
Remove visibility set from StorageWindow. 2019-07-31 13:48:50 +02:00
Pieter-Jan Briers d906bcda03
Eris low walls & windows.
Still needs work blocked by better entity parenting, but oh well.
2019-07-26 13:53:18 +02:00
Pieter-Jan Briers 248e3f686b
Fix APC window. 2019-07-24 12:36:18 +02:00
Pieter-Jan Briers 1fbb5915aa
Better inventory window, inventory buttons on game HUD.
Part of #272
2019-07-23 23:24:47 +02:00
Pieter-Jan Briers 4d202a7678
Use new inventory icons for hands. 2019-07-20 16:02:19 +02:00
Pieter-Jan Briers c675886713
Separate inventory & character UI. 2019-07-20 14:07:11 +02:00
Pieter-Jan Briers f5d319bc3a
Adds explicit inventory window. 2019-07-20 14:07:11 +02:00
Pieter-Jan Briers b34a68a519
Remove instances of Visible = false for windows. 2019-07-19 16:12:02 +02:00
Pieter-Jan Briers c0717ed6a3
Do not show character interface for observers. 2019-07-19 11:15:33 +02:00
metalgearsloth 1f320eccd7 Add basic teleportation and portals (#269)
* Add basic teleportation and portals

* Address PJB's feedback and minor cleanup
2019-07-19 10:09:33 +02:00
Pieter-Jan Briers b281cc28a1
Fix crash with ConstructorComponent. 2019-07-19 01:18:45 +02:00
Pieter-Jan Briers ce1eab9181
Update submodule, removal of window AddToScreen. 2019-07-18 22:49:49 +02:00
Pieter-Jan Briers 4b9c4022b8
Adds character menu, crafting menu and tutorial to the top left. 2019-07-17 21:37:58 +02:00
Pieter-Jan Briers b7d5297e9f
Show health status on the HUD, shoddily. 2019-07-08 21:11:42 +02:00
Pieter-Jan Briers 558f6ab8a5
Removal of TrySpawn* methods, update submodule. 2019-07-07 22:24:44 +02:00
Injazz 10801af2f7 Explosions and Grenades, Triggers, OnDestroy, OnExAct, Fueltanks and destructible tables (#247)
* initial explosiveComponent

* remove garbagee

* assets

* tile mass deletion baby

* grenades

* tweaks

* Update Content.Server/GameObjects/Components/Explosion/ExplosiveComponent.cs

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

* Ex_act based on damage, fixes and tweaks

* One finishing touch

Done the most cringe way

* ex_act explosions, tables are destructible now

also adds fuel tanks

* adds ex_act to mobs
2019-06-07 13:15:20 +02:00
Pieter-Jan Briers 4a4fcad7ef Airlocks use unshaded overlays for the lights. 2019-06-02 13:40:56 +02:00
Injazz 400778eb73 improves hitscan weapons (#248)
- fixes inhand sprite visibility
- adds visible charge level
- refactor sound recourse load, now you can specify fire sound from YAML
- adds laser cannon - more powerful laser
- adds new assets for cannon
2019-06-02 01:16:55 +02:00
moneyl e07c3c368f APC gui colored external power state (#244)
* Adds colored external power state to APC gui

* Move power state colors to StyleSheet
2019-05-29 18:07:05 +02:00
moneyl 740c62330e Adds charge percentage label to APC (#243) 2019-05-28 20:50:12 +02:00
Pieter-Jan Briers 9c3587b00e Fix compiler warnings and remove dead code. 2019-05-28 00:30:34 +02:00
moneyl 241aa353e9 Apc variable charge bar color (#240)
* Make Apc chargebar color dependent on charge amount

* Adjust orange color and increase brightness
2019-05-28 00:15:13 +02:00
moneyl ce9c8785d6 Add window title and breaker label to ApcBoundUserInterface 2019-05-24 18:24:07 -04:00
moneyl 338a8e463e Move GUI size init into constructor
Setting the initial size in `Initialize` has no effect on the windows size so it's set in the constructor instead.
2019-05-24 16:25:44 -04:00
moneyl 4bb02d64fb Remove storage menu dependence on tscn file 2019-05-17 10:35:41 -04:00
moneyl e40b775f7c Added properties for several ui controls to ApcWindow
By PJBs suggestion. Cleaner to do this instead of repeatedly calling GetChild. Also changed ApcBoundUserInterface._window from an SS14Window to an ApcWindow to avoid extra type casting.
2019-05-16 13:24:55 -04:00
moneyl 2b0ca2dd8b Moved APC controls creation into the ApcWindow constructor 2019-05-15 12:31:54 -04:00
moneyl 2917a87ce7 Removed APC gui dependence on tscn file 2019-05-14 23:49:53 -04:00
Pieter-Jan Briers d15998ed16 Make sure SpeciesUI defaults to having a correct icon. 2019-05-08 15:32:30 +02:00
Pieter-Jan Briers 90620db5f8 Adds shoddy death match system.
It barely even works but oh well.
2019-05-08 09:55:36 +02:00
Pieter-Jan Briers 1fa63179d1 Fix character UI being broken.
Also transition everything away from tscn files.
2019-05-05 23:14:40 +02:00
Pieter-Jan Briers e35d5390db Storage system refactor & map init.
* Demonstrated map init working with guns, toolboxes, tool lockers.
* Refactored EntityStorage and ServerStorage to have a common interface.
* EntityStorage no longer uses ServerStorage PURELY for visuals.
  Use an appearance visualizer instead.
2019-05-05 18:52:06 +02:00
Pieter-Jan Briers 6e5680b3c2
Engineering lockers. (#210)
* Import Eris engineering locker sprites.

* Allow customizing ClientStorageComponent open/close states better.

* EntityStorage does not blow up if Storage is also defined in prototype.

* Engineering styled lockers.
2019-04-26 23:44:26 +02:00
Víctor Aguilera Puerto fe0414eda7 Lathes (#207)
* Recipe stuff.

* Lathe GUI and stuff

* god dammit

* Lathe menu works, yay.

* EventArgs henk

* Some work

* SS14 -> Robust

* More SS14 -> Robust

* Lathe materials

* Lathe works, Lathe GUI, Queue GUI, etc

too many changes to name them here

* Remove materials button, add ViewVariables and update lathe on connect

* Add Autolathe RSI

* Adds new recipes, fixes a few bugs.

* Remove unused ScrollContainers

* Use same delegate for spawn.

* Removes client-side LatheComponent in favor of BoundUserInterface

* Remove GetMaterial and TryGetMaterial

* Use auto-properties in a few places.

* Adds LatheDatabase, and a bunch of other changes

* Remove useless log.

* Remove lathetype from prototypes.

* Turns Storage, Lathe and Database into autoproperties

* Remove Hacked property from LatheRecipePrototype

* Remove unneeded dependency injection from components

* Refactors LatheDatabaseComponent to use ComponentState

* Refactors MaterialStorageComponent to use ComponentState

* Oopsie

* Another oopsie

* Last oopsie, I hope

* Fix missing Close call.
2019-04-26 15:51:05 +02:00
Silver a18692bc46 Rename toolbox references from ss14 to robust 2019-04-15 21:11:38 -06:00
Acruid b1c81ed6e6 Entity Interpolation (#197)
* Frame interpolation kinda works.

* Added null CurState check because it can be null now.

* Merge remote-tracking branch 'upstream/master' into dev-GameState
2019-04-13 09:46:27 +02:00
Acruid 9d7345892f
Fixes Breaking Change with UI windows. (#192)
* Custom UI window constructors were changed.

* Update Submodule.
2019-04-12 21:37:09 -07:00
PrPleGoo 35f3cbe3f9 Engineer's helmet (#188)
* refacting some sprite things

* fix sprites

* Netcode for sending a new icon state to the ClientComponent

* Fixed broken torches.

* Fix dirty calls.

* ClothingComponentState now also includes EquippedPrefix

* Inherritance ClothingComponent : ItemComponent

* Added parameter to ItemComponentState constructor.

* Update RobustToolbox

* Revert "Update RobustToolbox"

This reverts commit 82c7e98ff3853b64698d5e80a45cd7a3758618e0.

Undo weird commit to toolbox?
2019-04-08 12:18:27 +02:00
Pieter-Jan Briers 9f3f09871e
Wires are now actually hidden by floor tiles. (#181) 2019-04-04 15:09:06 +02:00
clusterfack e381920e86 Fix Species UI Overlay Removal (#173)
Soooo nameof turns a variable into a string of that variable. I'm not sure where I copied that from but ID is the proper value.
2019-03-30 12:40:15 +01:00
Víctor Aguilera Puerto d090e98bd4 [Ready] SoundComponent (#164)
Requires https://github.com/space-wizards/space-station-14/pull/768

- [x] Play sounds
- [x] SoundSchedules actually work
- [x] Send sound to specific users
- [x] Make existing components use SoundComponent
- [x] Add ScheduledSounds from prototypes
- [x] Add Play methods equivalent to those of AudioSystem.
- [x] Document most code.
2019-03-28 14:31:49 +01:00
Pieter-Jan Briers 880d4b7249 Improved icon smoothing to use ECS properly, cables smooth now. 2019-03-28 11:14:03 +01:00
Pieter-Jan Briers 575b12dcdc Use SharedSpeciesComponent on the client. 2019-03-27 17:12:43 +01:00
Injazz c5e077efc1 mob dead state tweaks (#162)
~~well, it SHOULD make mob rotate on death, but it doesn't, i have no idea why~~

- Blocks character movement in crit/death
- rotates character ~~360noscope~~ 90 degrees to convince you it's lying down when dead

resolves #145
resolves #158
related to #115
2019-03-27 13:29:06 +01:00
Pieter-Jan Briers 0882435293
Fancy guns. (#152) 2019-03-23 15:04:14 +01:00
Pieter-Jan Briers d5559e44bb Airlocks get opening sounds now. 2019-03-20 00:42:52 +01:00
Pieter-Jan Briers 5e7b03d251 Make content use SWSL shaders. 2019-03-18 23:54:58 +01:00
Pieter-Jan Briers 83147922f4 Remove gun debug logging. 2019-03-17 16:08:14 +01:00
Pieter-Jan Briers 6c66817502 Fix EntityButton not inheriting correct type. 2019-03-17 14:37:18 +01:00
Pieter-Jan Briers f779755c11 Doors are now automated. 2019-03-17 13:24:26 +01:00
Pieter-Jan Briers 84aa369809 Airlocks rewritten to use appearances, use less ugly sprite from Eris. 2019-03-16 20:40:07 +01:00
Pieter-Jan Briers 1b3d3debc1 Fix client inventory not inheriting the correct controls.
Fixes it on Clyde.
2019-03-16 18:14:23 +01:00
Pieter-Jan Briers 20846ef446 Fix various compiler warnings. 2019-02-21 22:01:13 +01:00
Pieter-Jan Briers 54cc252bd7 Remove direct references to IOverlay.
I've removed it in the OpenGL branch due to being kinda a bad idea.
Overlay as an abstract is a much better one.
2019-01-23 15:31:18 +01:00
Pieter-Jan Briers 415b7e96fd
Transform refactor. (#139)
space-wizards/space-station-14#725
2019-01-18 11:40:30 +01:00
Pieter-Jan Briers 7ca90d11b3
Gun stuff (#132)
* Guns can now be fully automatic.

Take that BYOND.

* Improve delay handling

* Bullet spread

* Fix firing guns on pickup
2018-12-13 14:49:57 +01:00
clusterfack 37df61113e Species Component (#130)
* Fix this
fug
oksure
Creates the initial species component, damage states, and threshold templates and hooks them into the damageable component

* More rebase fixes

* test

* Pre future rebase

* Please

* Lol

* Lol2

* SHADERS

* Update Engine

* yml file

* Fix an initialization issue, injects dependencies

* Fix error in loading shaders

* Makes a master character ui controller component added upon client attachment to entity and remove upon client detachment from entity

* Fixes just about everytrhing

* Address PJB's comments

* geeze

* Make overlays work in worldspace instead of screen space and not cover user interfaces

* update submodule
2018-12-13 14:47:18 +01:00
Pieter-Jan Briers 574512f1bf
Extremely basic game ticker. (#126)
You can theoretically restart the round (resetting the map) now, but it breaks very badly if a client is connected due to various edge cases/race conditions.
2018-11-22 10:37:58 +01:00
Pieter-Jan Briers b0f212bad5
Verbs (#124)
Right click verbs work.
2018-11-21 20:58:11 +01:00
Acruid 8038ebe37d Fix Hands Crash (#122)
* Fixed sprite issues with construction system (Thanks PJB!).

* Storage and Hands Systems now subscribe to Transform Parent changes, and will keep their containers in sync.

* Add check in Interaction System to prevent processing client-side entities on the server.
2018-11-11 20:32:05 +01:00
Acruid 3dc3031054
World Storage (#112)
* Added generic crate assets.
Added open flag to StorageComponent.

* StorageComponent door toggling works.

* Door now updates based on if someone is subscribed to the Storage.

* Added License to crate.rsi
Fixed Icon of crate.

* Added basic Locker.

* Added Fire Extinguisher.

* Added ability to close the storage UI by the server.
Notify the server that the UI is closed, so that the player is unsubscribed from the storage.
Unsubscribe the player from a storage if the player entity moves out of range.

* Add check to make sure entity is on the same map as the storage.

* Update Engine module.

* Update Engine.
2018-10-25 17:35:34 -07:00
Pieter-Jan Briers c33daddda2 Power cells 2018-09-21 08:21:40 +02:00
Pieter-Jan Briers 2b026daf67 Make character inventory slightly nicer. 2018-09-19 19:06:30 +02:00
Pieter-Jan Briers 74541e23a4
Equipment & inhands. (#110)
* Equipment WiP

* Equipment's starting to work.

* Equipment works properly 100% now.

* Inhands work.

Also more clothes.
2018-09-19 18:54:04 +02:00
Pieter-Jan Briers 2dd3f24fb2
Make Y+ up. (#109) 2018-09-17 10:46:38 +02:00
PJB3005 1dabe49234 VV support. 2018-09-09 15:34:43 +02:00
Pieter-Jan Briers d414ea55f5
APC GUI. (#107) 2018-08-31 08:52:48 +02:00
Pieter-Jan Briers 189a52c6d7
Use Sprite proxies for GUIs. (#93)
AKA "welders actually light up in the hands GUI".
2018-08-16 22:43:04 +02:00
PJB3005 fe1252cca7 Why did I write sbyte there..? 2018-08-12 12:01:44 +02:00
Pieter-Jan Briers fa594fb3e9
Smoothwalling. (#91) 2018-08-09 20:22:54 +02:00
Acruid 830159390b
Input Handling (#90)
* Migrates the Examine system to the new Input system.

* Update Engine.
2018-08-08 11:43:49 -07:00
Pieter-Jan Briers 40ed16e118 Fix build harder. 2018-08-02 08:55:49 +02:00
Pieter-Jan Briers d7074bf74f
Construction System. (#87)
* Construction WiP

* Construction kinda works!

* Lots more construction work.

* It mostly works!
2018-08-02 08:29:55 +02:00
Pieter-Jan Briers b34591ab59
Data Rework Content Edition (#82)
* WiP Data Rework.

* Convert stationstation to new map format.

* stationstation.yml v2

* Update submodule
2018-07-26 23:38:16 +02:00
Pieter-Jan Briers ad5c82fec9
APC & SMES appearances. (#78)
* CEV-Eris SMES sprite as RSI.

Has been modified so that the light overlay states use alpha blending.

* Add tiny glow to SMES display sprite.

* Appearances work v2

* More WiP

* RoundToLevels works correctly on even level counts now.

* SMES -> Smes because MS guidelines.

* CEV-Eris APC sprite.

* APC visuals.

* Reduce SMES scale again to normal levels.

* Update submodule
2018-07-17 11:39:55 +02:00
indeano 2d23c6a45e Some work on directing storage component's client updates (#75)
* adds storage system, primitive client-unsubscribing of storage updates

* strips out currently unneeded system

* channel to actor

* closestorageui todo added

* thorough logging, actor to session, validates session before sending packets

* offloads session status check to an event handler
2018-06-20 15:49:13 -05:00
Pieter-Jan Briers 097c876578 More data in power debug tool. 2018-05-30 14:23:08 +02:00
Pieter-Jan Briers 147aad5064 Some work on the mess that is this power code.
Jesus.

Tons of fixes, refactors and other things.
The powernet's code is still awful though.
2018-05-27 16:44:50 +02:00
Pieter-Jan Briers f1ec10e3e1
Input Refactor (#72) 2018-05-27 10:13:33 +02:00
Pieter-Jan Briers 205a4fc530
Fixes server shutdown crash & client error log spam. (#67) 2018-05-10 18:52:44 +02:00
Pieter-Jan Briers 61a1e769d7 Sprite refactor (#63)
* Sprite refactor compatibility.

* Sprite-level rotation.

* Dude it works.

Welder now has an unshaded flame toggle!

Door component no longer on client!

* Remove debug text.

* Update.
2018-05-08 01:20:15 -05:00
clusterfack c33c227d95 Inventories (#61)
* Bully the fuck out of inventory shit
Inventory Stuff
Inventories technically work
It works technicaly speaking
Yeah this part too
Lets do it!
Inventories completed
Motherfucker

* Remove unnecessary usings and fix one thing

* Submodule update

* Adds a bunch of various clothing prototypes for each current inventory slot
2018-04-25 13:42:35 +02:00
clusterfack ea05c593aa Storage Component (toolboxes, backpacks, etc) (#57)
* Fix
Finish and update submodule
Comments code, changes network messages
FIXES THE USE INTERACTION SO YOU CAN ACTUALLY ACTIVATE THINGS NOW
Need engine commits
We'll figure out what to do about this shit later eh mates? Maybe have a script in the build process that automatically moves them over to godot/scenes
Changes some prototypes and fixes stuff
Fixes some more bugs, makes storage values show up properly
Part 3
Part 2
Storage Take 1

* Doneso
2018-04-22 13:11:38 +02:00
Pieter-Jan Briers 6704245a41
The Wait Is Over. (#49)
* Move submodule to Godot

* Update submodule AGAIN.

* Update project files.

* Remove WearableAnimatedSprite from prototypes.

* Remove content repo resource copier.

* Update submodule.

* Fix resource handling.

* Content.Client compiles by commenting out hands GUI.

* Update submodule.

* Fix prototype textures and update submodule.

* Update Submodule.

* Update submodule SOME MORE!

* Random WiP shit I guess

* Make omnisharp not choke on buildchecker.

* Update submodule.

* Highly WiP broken HandsGui code.

* Ok maybe let's not insult omnisharp.

* Fix annoying Omnisharp warning.

* Update submodule.

* Update submodule.

* Hey I forgot to push this but it didn't conflict!

* Fix hands GUI on godot.

* Update submodule.

* Obligatory submodule update.

* Work on exports.

* Work on exports.

* Update submodule.

* Update submodule.

* Fix dumb case mismatch between content and engine

* work pls.

* This maybe.

* Now!

* Update submodule.

* update submodule.

* Some WiP work on exporting aaah.

* OK READY FOR THE BUILDS SERVER.

* Probably should've made those commits in a different order.

* DO THE THING

* update submodule.

* Updates for effects system.

* Update submodule.

* Make file/line numbers show up on Windows Godot.

* Set submodule to master.
2018-04-07 15:31:38 +02:00
Acruid b005d661f8
Component Messaging Rework (#36)
* Remove DiscoBall.

* Changes `IEntity.AddComponent(IComponent)` to `IEntity.AddComponent<T>`.

* Pulled ComponentManager registration out of Component into Entity.

* Killed component message params.

* Updated engine submodule.
2018-02-24 11:48:23 -08:00
Pieter-Jan Briers 68f4fd995e Update submodule, fix HandsGui.
HandsGui now works with the new system. The port was sloppy though so
somebody might want to come and refactor this so that it doesn't force
its own position and size.
2017-11-13 19:48:21 +01:00
Pieter-Jan Briers 7f196fc415 Doors! (#12)
* Doors WiP

* Kinda seem to work now?

* Finished

* Oh yeah maybe enable that.

* It works except it doesn't

* Undo formatting changes

* BuildChecker too
2017-10-22 23:48:01 +02:00
PJB3005 26e9c37be1 Functional GUI! 2017-09-30 16:56:19 +02:00
PJB3005 4f2d059de4 Simple network replication for hands, untested. 2017-09-26 21:27:48 +02:00