Commit Graph

314 Commits

Author SHA1 Message Date
Pieter-Jan Briers
42066fc8a1 Actually use InventoryComponent.CanEquip from Equip. 2020-01-20 22:13:47 +01:00
Pieter-Jan Briers
05ff4e0956 Implement human pockets and ID card slot correctly.
Pockets & ID need uniform equipped. Pockets accept any sufficiently small item.
2020-01-20 10:30:06 +01:00
Pieter-Jan Briers
ce794c4dac Move access levels to prototypes.
Also adds captain & ID computer access levels.
Fixes ID computer not saving access changes correctly.
2020-01-19 18:30:09 +01:00
Pieter-Jan Briers
edf280e2df Improve ID card names to be better.
And more inline with SS13.
2020-01-19 18:27:16 +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
DamianX
a4e369e629 added Character Setup (#511)
* added Character Setup

* whoops

* reverted unrelated changes

* Made everything work post-rebase

* Removed unused PreferencesChanged event

* nope, don't need this

* HumanoidProfileEditorPanel -> HumanoidProfileEditor

* Set initial data for hair pickers

* Fixed nullable warning

* Renamed LooksComponent -> HumanoidAppearanceComponent

* Renamed LooksComponentState -> HumanoidAppearanceComponentState

* Final renaming maybe

* Use a human-like dummy instead of a real human

* Change preferences structs back to classes
2020-01-18 01:54:13 +01:00
DamianX
c20ba98a1e Research machinery requires power (#516)
* Fixed ResearchPointSourceComponent properties

* ResearchPointSourceComponent requires power

* ResearchServerComponent requires power
2020-01-17 15:34:40 +01:00
Pieter-Jan Briers
1856cb079c Fix a couple compiler warnings. 2020-01-15 14:51:01 +01:00
Pieter-Jan Briers
56f1233967 Hair style improvements:
1. made the magic mirror actually reflect your current hair state when you open it.
2. Made magic mirror one window.
3. Use color sliders for magic mirror.
2020-01-15 14:28:46 +01:00
Pieter-Jan Briers
9c0a670525 Fix flashlights not updating status when battery inserted. 2020-01-12 02:02:58 +01:00
Pieter-Jan Briers
92da411ea5 Flashlight wattag is now a VV-able variable. 2020-01-12 02:01:00 +01:00
Acruid
ca58afd81b Added a Collidable Component to the existing station grind in StationStation. 2020-01-11 15:15:11 -08:00
Acruid
32103979ed CollidableComponent and ICollideableComponent namespace was changed in the engine.
Minor code cleanup.
2020-01-11 14:12:20 -08:00
Acruid
51f7f14c08 Right now ShuttleControllers add the collision component to the Grid Entity.
Adds Grids to the collision group.
2020-01-09 18:29:09 -08:00
Pieter-Jan Briers
411c23c46e Item status! 2020-01-09 00:28:04 +01:00
Pieter-Jan Briers
33782ed7f3 Fix ranged weapon fire rates being stuttery.
Now we just send a fire message to the server every frame. Absolutely terrible!
2020-01-09 00:28:04 +01:00
Pieter-Jan Briers
39d99485eb Fix laser weapons always hitting yourself. 2020-01-09 00:28:03 +01: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
Acruid
8a49546add Added the NoDoor flag to storage components, so that the open/closed state is synced with the lock/unlock.
Added the glorious Pilot Seat.
2020-01-03 17:49:17 -08:00
Acruid
89745202f5 Actors inside storage containers are now centered on the container. 2020-01-03 17:28:16 -08:00
Acruid
d98ce413bb Added a flag to storage containers to allow the contents to be drawn when the container is closed. 2020-01-03 16:00:30 -08:00
Acruid
e2e5982d68 Adds a verb to toggle open/close a storage.
Adds a verb to toggle lock/unlocked a storage.
Adds the ability to lock a storage closed.
2020-01-03 13:38:58 -08:00
Acruid
b44ca8df8d Renamed GridCoordinates.Nullspace to GridCoordinates.InvalidGrid, because it has nothing to do with Nullspace anymore. 2019-12-29 18:12:56 -08:00
Pieter-Jan Briers
0c9a95bc54 Update submodule.
Remove now-unecessary Initialize() calls on added components.
2019-12-22 21:43:34 +01:00
Pieter-Jan Briers
c1b9bb348d Fix some Robust.Server namespaces in Robust.Shared. 2019-12-22 13:41:04 +01:00
Acruid
ece6e0a833 Map & Grid Entities (#493)
* Client & Server load with new scene hierarchy.

* Engine Update.
2019-12-22 13:23:38 +01:00
Acruid
c2c512a7e3 Adds base.Initialize() calls to components that were missing them. 2019-12-19 11:35:17 -08:00
Acruid
1fe09c580c Entities now require a location when being spawned. 2019-12-16 21:44:24 -08:00
Acruid
72cff220cf Wires are now broken in explosions, and drop cables.
Using the wire cutters on a wire drops a cable.
Fix bug where bullets raise an exception when the hit object deletes itself.
2019-12-15 19:58:24 -08:00
DamianX
63b98f26a6 Fixed a bunch of unused variables warnings (#492) 2019-12-15 14:12:23 +01:00
Pieter-Jan Briers
95fe7fdd25 Reduce sprint movement speed. 2019-12-11 07:23:11 +01:00
Pieter-Jan Briers
7f188b0f44 Disable sprinting.
Now you always sprint.
2019-12-07 17:16:56 +01:00
moneyl
4cf8e18d1f Fix bug with chemical reactions which cause other reactions (#475)
SolutionComponent.CheckForReaction only checks for a reaction once, meaning that if a reaction generates reagents that create a solution that's valid for another reaction, that second reaction doesn't occur. This fixes that by repeatedly checking for a reaction until no more occur.
2019-12-04 13:51:05 +01:00
L.E.D
fac91af34d new layers (#483) 2019-12-01 15:20:50 +01:00
moneyl
542428df32 Fixes the player being able to use the chem dispenser when they'… (#480)
* Fixes the player being able to use the chem dispenser when they're dead

Adds a check to `ReagentDispenserComponent.OnUiReceiveMessage()` that checks if the players `SpeciesComponent` has a damage state that prevents them from interacting with the chem dispenser.

* Switch to use ActionBlockSystem instead of checking SpeciesComponent directly
2019-11-29 17:04:36 +01:00
ShadowCommander
adaf0ade52 Fix crash on restart when a Airlock is opening/closing (#481)
* Fix crash when _appearance is null

Added a function to error check and set _appearance.SetData.

Added cancellation token which should stop the Timer, but doesn't seem to right now.

* Fix missing CancellationToken causing a crash

This delay would delay _appearance.SetData until after _apppearance was set to null when the component was removed causing a null reference exception.
2019-11-29 16:53:26 +01:00
Pieter-Jan Briers
4265fac7b8 Welders now play sounds when toggled. 2019-11-29 16:46:25 +01:00
L.E.D
c213fa8cdf object break sounds (#477) 2019-11-28 14:37:03 +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
L.E.D
9cfa0d447a Stack popups (#470)
* stack popups

* Update Content.Server/GameObjects/Components/Stack/StackComponent.cs

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

* change wording
2019-11-26 20:17:28 +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
Ephememory
d63c879404 Crowbar floor tiles and placement (#429)
* Adds tile removing behavior to CrowbarComponent.
Add FloorTileItemComponent.
Add genhit.ogg
Add tile.png for testing

* fixes

* Gives ContentTileDefinition a default value for tile item to drop.
Adds a few more tileitems.

* Changes per review request

* move stack.use and if statement
2019-11-23 22:10:05 +01:00
dylanstrategie
17b31c417b Rejunevate now satiates hunger and thirst plus code quality (#456)
* Change Rejunevate to satiate hunger and thirst whenever applicable

* More progress

* One more before rebase

* Shit

* Bop obsolete using

* Verb will not show on non-applicable objects
2019-11-23 21:57:02 +01:00
dylanstrategie
421847e9d3 Add filled toolbelt variant for easy engineering (#458)
* Add filled toolbelt variant for easy engineering

* Petty newline
2019-11-23 21:56:32 +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
dylanstrategie
4198b6dc4e Medkits are now a container plus filled version (#457) 2019-11-23 21:39:12 +01:00
Remie Richards
0cf34d2d26 Server-side GlobalVerbs now work when used (#455) 2019-11-23 20:11:50 +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
Ephememory
94c00dda95 Fix various bugs with construction (#446) 2019-11-21 23:46:37 +01:00