Commit Graph

6193 Commits

Author SHA1 Message Date
Acruid 49aa1da3a3 Enum.HasFlag was causing tons of boxing allocations, this adds a custom function that does not allocate. 2020-06-29 22:51:47 -07:00
py01 23cc6b1d4e
Power Rework (#863)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-06-28 17:23:26 +02:00
DrSmugleaf 602dac393e
Add Buckling (#1155)
* Create BuckleableComponent.cs

* Add strap component and keybind to buckle targeted entity

* Remove buckle keybind, turn it into a verb

* Add moving and attaching the buckled entity to the strap

* Fix reality collapsing when clicking on a buckled entity

* Add strap position to buckle a mob in the standing or down position

* Add new default strap position that makes no change to the mob's standing state

* Add Strap component to office chairs and stools

* Add Strap component to the pilot chair

* Add buckled status effect icon

* Add status effect click behaviour

* Add buckling and unbuckling sounds

* Change Buckle verb to only appear when an entity can be currently buckled

* Rotate buckled entity in the direction of the seat

* Disable entity rotation when buckled

* Fix buckle rotation on beds

* Buckling now finds the closest strap to the buckleable entity

* Fix rotation when unbuckling an entity

* Move buckle verb to StrapComponent

* Added buckled entity unbuckle verb, range and interaction checks

* Add checks for currently occupied straps

* Add unbuckling entity if its respective strap component is removed

* Add Clickable, InteractionOutline and Collidable components to bed

* Add rotation property to strap component

* Rename Buckleable to Buckle

* Add Buckle and Strap sizes to buckle multiple entities in the same strap

* Remove out of range popup message from strap verb GetData

* Move BuckledTo setter logic to its methods

* Fix Strap BuckledEntities being public

* Fix not updating status when Buckle component is removed

* Change BuckleComponent.BuckledTo to be of type StrapComponent

* Fix NRE when unbuckling

* Add buckle perspective messages

* Fix not equals comparison in strap verb

* Add added check to Strap TryAdd

* Change buckle.ogg and unbuckle.ogg from stereo to mono

* Remove -2f volume on buckle and unbuckle sounds

* Add summary to Strap TryAdd and Remove methods

* Make buckled entities unable to fall

* Fix default strap position not rotating the buckled entity

* Add downing after unbuckling an entity if it is knocked down

* Prevent an entity from buckling onto itself

Fixes stack overflow error

* Disable recursive buckling

* Add buckling onto straps by clicking them with an empty hand

* Add recursive buckle check to the trybuckle method as well

* Fix being able to click on a different strap to unbuckle from the current one

* Merge TryUnbuckle and ForceUnbuckle with a force argument

* Remove explicit unimplemented status effect clicking cases

* Add documentation to EffectBlockerSystem and ActionBlockerSystem
2020-06-25 15:52:24 +02:00
Swept bad7f9dc6b
Lots of new inhands, adds phoron (#1220)
* Beaker Inhands

* Flashlight Inhands

* Tile Refactor

* Adds metal/glass sheet inhands

* Removes plasma

* Adds Phoron

* We boolin'

* Phoron inhands

* First Pass inhand food

* First food inhand pass

* Soda inhand sprites

* Actually adds them
2020-06-25 13:51:58 +02:00
Pieter-Jan Briers dab73913a6
Merge branch '20-06-24-movement-prediction' into 20-06-24-foobar 2020-06-24 21:00:55 +02:00
Tyler Young 623e47f19d
use lidgren's new spans (#1164)
update solution
2020-06-24 17:57:59 +02:00
Pieter-Jan Briers cfc9974682
Fix gravity issues. 2020-06-24 17:31:00 +02:00
Metal Gear Sloth a1aec5a579 Merge remote-tracking branch 'upstream/master' into weapon_anims
# Conflicts:
#	Resources/Prototypes/MeleeWeaponAnimations/default.yml
2020-06-24 20:42:16 +10:00
Pieter-Jan Briers 5523f17735
Fix warnings. 2020-06-24 12:06:21 +02:00
Pieter-Jan Briers 5a5a3b8548
Move "players don't collide with mobs" to shared to fix mispredicts on it. 2020-06-24 11:58:13 +02:00
Metal Gear Sloth 8e56f6d985 Address comments
Split out TG arcs into its own thing.
2020-06-24 19:42:16 +10:00
Pieter-Jan Briers f3a816321c
Merge branch 'master' into 20-06-24-movement-prediction 2020-06-24 04:04:43 +02:00
Pieter-Jan Briers da45a52325
WiP movement prediction. 2020-06-24 02:21:20 +02:00
DrSmugleaf 78085855db
Fix a late joining client not knowing if the lobby has been paused (#1199)
* Fix client not knowing that the lobby is paused when joining after the pause

Also fixes a client thinking that a lobby is paused when joining a new one after leaving a previously paused one

* Add server announcement to delaying and pausing round start
2020-06-23 21:30:37 +02:00
metalgearsloth ac2c7da31f
Add magazine auto-eject message back in (#1191)
I goofed.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-06-22 15:18:41 +02:00
Víctor Aguilera Puerto 2944652a5d Only read fields in Looping Sound Component if serializer is reading. 2020-06-22 04:07:04 +02:00
metalgearsloth b6966a9b7f
Add inhands support for startingGear (#1166)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-06-21 22:37:03 +02:00
DrSmugleaf d91a8c4925
Add delaystart and forcepreset commands (#1163)
* Add extendroundstart message to extend lobby start timer

* Rename StartExtend to DelayStart

* Fix delaystart amounts above 59 not working

* Change delaystart seconds type from int to uint

* Change delaystart wrong args amount message

* Add forcegamepreset command

* Rename forcegamepreset to forcepreset and merged start and forcestart preset methods

* Fix index out of bounds exception when forcing suspicion to start

* Change game preset to match regardless of casing

* Add forcepreset unknown preset message

* Add and move in lobby checks

* Remove testing changes

* Change delaystart to pause/resume the timer when no seconds are specified

* Change pause message

* Remove testing code

* Change 0 seconds to not be a valid amount of seconds

* Replace MsgTickerLobbyCountdown Seconds with DateTime instead of uint

* Add one entire dot

* Replace Math.Min + Math.Max with Math.Clamp

Co-authored-by: ComicIronic <comicironic@gmail.com>

Co-authored-by: ComicIronic <comicironic@gmail.com>
2020-06-21 22:05:47 +02:00
Swept 7b98f37f9a
Adds neck UI slot and rearranges inventory UI. (#1130)
* UI Icon

* It worked?

* Reorganized UI

* converted the bedsheet/cloak sprites

* backpacks go over cloaks now

* Added a couple more neck clothing

* Milk Ape
2020-06-21 22:02:18 +02:00
metalgearsloth 95995b6232
Add a LOT more dakka (#1033)
* Start adding flashy flash

* Change slop

Might give a smoother decline

* flashy flash

* Add flashbang and flash projectiles

Bang bang bang pull my flash trigger

* Add collision check to area flash

* Flash cleanupo

* flash.ogg mixed to mono
* Adjusted flash curve again

* Enhancing flashes with unshaded and lights and shit

Still a WIP

* Add the other ballistic gun types

Re-organised some of the gun stuff so the powercell guns share the shooting code with the ballistic guns.

* Re-merging branch with master

Also fixed some visualizer bugs

* Last cleanup

Fixed some crashes
Fixed Deckard sprite
Fixed Hitscan effects
Re-applied master changes
Re-factor to using soundsystem
Add some more audio effects

* Cleanup flashes for merge

Can put flashbangs in lockers so you don't get blinded

Fix some bugs

* Fix shotties

Also removed some redundant code

* Bulldoze some legacycode

brrrrrrrrt

* Fix clientignore warnings

* Add the other Stunnable types to StunnableProjectile

* Some gun refactoring

* Removed extra visualizers
* All casing ejections use the same code
* Speed loaders can have their ammo pulled out
* Bolt sound less loud

* Stop ThrowController from throwing

* Fix speed loader visuals

* Update hitscan collision mask and fix typo

* Cleanup

* Fit hitscan and flashbang collisions
* Use the new flags support

* Update taser placeholder description

* Update protonames per style guide

* Add yaml flag support for gun firerates

* Cleanup crew

* Fix Audio up (components, audio file, + remove global sounds)
* Add server-side recoil back-in (forgot that I was testing this client-side)
* Add Flag support for fire-rate selectors

* Wrong int you dolt

* Fix AI conflicts

Haha ranged bulldozer go BRR
(I'll rewrite it after the other AI systems are done).

* Mix bang.ogg from stereo to mono

* Make sure serializer's reading for guns

Fixes integration test

* Change EntitySystem calls to use the static function

Also removed the Pumpbarrel commented-out code

* Change StunnableProjectile defaults to 0

* Fix taser paralyse

Apparently removing defaults means you have to specify the values, whodathunkit

* Add slowdown to stunnableprojectiles and fix tasers

* Remove FlagsFor from gun components

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-06-21 21:47:15 +02:00
DrSmugleaf 99a5e06b98
Adds eating with utensils (#1136)
* Add Utensil component

For eating. With utensils.
Added to fork, plastic fork, spoon, plastic spoon and plastic knife.
Ignored component on the client.

* Add break chance to utensils

Set to 20% for plastic ones

* Add break sound to utensils

* Add utensil kinds

None, fork, spoon and knife.
For sporks, forknifes and sporknifes, of course.

* Add restricting foods by utensils needed

* Fix utensils breaking when food isn't eaten

* Moved getting held utensils to FoodComponent

* Add breaking a clicking utensil even if its not necessary to eat the food

* Move use utensil code to a separate method

* Add telling a handless entity when they need an utensil to eat

The immersion is off the charts

* Change food trash to only be held when the food was also being held

* Fix Wi-Fi utensils

* Remove unnecessary utensil ItemGroup

* Made TryUseFood public, removed redundant trash position update

* Renamed UtensilKind to UtensilType

* Remove eating food when clicking with it on nothing

* Disable eating food when clicked directly if it requires an untensil to eat
2020-06-19 15:20:59 +02:00
metalgearsloth 5391d3c72a
Add utility AI (#806)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-06-18 14:52:44 +02:00
Acruid 9b8cedf6c6 Adds documentation to ISharedNotifyManager. 2020-06-17 18:19:31 -07:00
Pieter-Jan Briers c5b1042573
Merge branch 'drop-decimal-use-cannyfastmath' into 20-06-18-merge 2020-06-18 02:34:47 +02:00
Acruid 189ed9309f
Removes the ConstructorComponents and moves the construction blueprint feature into a new ECS system. (#1114) 2020-06-15 12:30:11 -07:00
Tyler Young de274de9e3
use CannyFastMath in various places even where it might not be any different
also update a bunch of packages

clean up redundant YamlDotNet references
2020-06-14 09:36:53 -04:00
Víctor Aguilera Puerto 64dd3b0860 Moves SharedInteractionSystem to Content.Shared namespace 2020-06-13 16:10:26 +02:00
Víctor Aguilera Puerto caca1672bc Fix predicate documentation in a few methods related to InRangeUnobstructed 2020-06-13 15:39:03 +02:00
Pieter-Jan Briers 29365353a5
Remove SharpZipLib and System.ValueTuple dependencies 2020-06-13 03:13:34 +02:00
Víctor Aguilera Puerto cb5acf7cd3
Cooldown for status effects (#1109) 2020-06-12 16:22:36 +02:00
Pieter-Jan Briers 63c3e9577c
Adds SimplePredictReconcileTest 2020-06-12 12:45:29 +02:00
Tyler Young 077e726c33
add complete strings that aren't defined in content files to allow them to be mapped (#1105) 2020-06-12 04:15:10 +02:00
Tyler Young bbbe8d2cb1
Fix throw controller not handling deleted thrown stuff (#1097) 2020-06-09 12:29:06 +02:00
Pieter-Jan Briers 772010d4f0
Merge branch 'revert-virtualized-netids' 2020-06-09 00:40:23 +02:00
Pieter-Jan Briers 4ebba74b1f
Update submodule and fix ARM builds. 2020-06-09 00:17:11 +02:00
Tyler Young c3fd0ef882
Revert "virtualize all net ids to reduce net traffic"
This reverts commit 027c338c5f.

Formatting fix left in.
2020-06-08 16:49:05 -04:00
Acruid 694a5dd332 Adds an integration test for saving and loading a multi grid map.
Fixes a bug in SharedGalacticMarketComponent where the products were not being cleared between calls to ExposeData.
2020-06-08 13:19:40 -07:00
Pieter-Jan Briers 60a875456a
Merge branches '20-06-08-submodule', 'virtualize-netids', 'betterConstruction' and '20-06-08-addcomp-default' 2020-06-08 14:20:05 +02:00
Tyler Young 3754713f7f
fix indentation 2020-06-08 07:12:49 -04:00
Tyler Young 027c338c5f
virtualize all net ids to reduce net traffic 2020-06-08 06:37:59 -04:00
Clyybber 2995981b5e Better item construction 2020-06-07 19:42:00 +02:00
FL-OZ 470f81fca1
fix microwave deleting entities at will (#1073)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
2020-06-05 18:46:34 +02:00
FL-OZ fa9169e346
pda improvements (#1072)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
2020-06-05 18:44:25 +02:00
AJCM-git a89e806a50
Making improper nouns lower case. (#1020)
Co-authored-by: Hugo Laloge <hugo.laloge@gmail.com>
2020-06-04 18:45:07 +02:00
Pieter-Jan Briers 0f43e5e6ad
Access refactor
Access is now done through a list of access lists, instead of the necessary/sufficient system that was extremely confusing.

Added a "deny" list so you can screw over sec.

Cleaned the API up so it all uses sets and such.

PDA now relays access read-only to fix edge cases.
2020-06-03 11:46:59 +02:00
Tyler Young 2eb715a9ca
Fix up midi stuff, support mild black midis (#1056) 2020-06-02 20:42:23 +02:00
20kdc a09131e817
Solar panels occlusion and tracking (#961) 2020-06-02 13:32:18 +02:00
Hugal31 d68d71807d
Draw ghosts at the ghost layer (#1045)
* Draw ghosts at the ghost layer

* Add ghosts draw depth
2020-05-31 19:46:50 +02:00
FL-OZ 53900b79e9
Rename `SoundComponent` and refactor its wrong usages. (#1036)
* Rename `SoundComponent` and refactor its wrong usages.

* Replace verbose IoC grabs with EntitySysetm.Get

* unused depend

Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-05-31 19:40:36 +02:00
ComicIronic fb8c05f27f Add draw depth constants to content 2020-05-30 13:26:13 +01:00
FL-OZ aa26bdfcae
Rework Drink/Food/FoodContainer entirely (#1009)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-29 22:50:23 +02:00
FL-OZ 5b36a0d704
Sweeping changes/improvements to the microwave. (#997)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-28 22:28:35 +02:00
Pieter-Jan Briers 836953370d
Remove unused IoC resolve from SharedCombatModeComponent.cs 2020-05-28 22:08:01 +02:00
Pieter-Jan Briers 94917a63a6
Fix compiler warnings 2020-05-28 17:44:51 +02:00
Tomeno 1fc20a4e14
Uses raytrace to clamp drop distance (#1017)
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2020-05-28 13:23:50 +02:00
FL-OZ 4c20a504a5
Add basic PDA/Syndicate Uplink. (#942)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-28 13:22:47 +02:00
Hugal31 ab6bc42a4a
Begin to use text macros (#914) 2020-05-28 00:58:57 +02:00
Pieter-Jan Briers 195c16d800
Wire hacking is now fancy.
1. new UI
2. wires are correctly randomized.
3. wires layouts
are shared across machines in the same round.
2020-05-27 15:24:07 +02:00
Víctor Aguilera Puerto 8a81f54a45 Makes InRangeUnobstructed use MapCoordinates. Fixes #1003
(Also updates Submoduke)
2020-05-26 14:23:25 +02:00
Pieter-Jan Briers 96ccab0e16
Move collision groups over to the new flags system. 2020-05-25 17:14:25 +02:00
Pieter-Jan Briers 29f21dfe58
Throwing improvements (#969) 2020-05-25 14:04:58 +02:00
Pieter-Jan Briers 8794381697
Secure lockers & locker welding. 2020-05-25 13:58:56 +02:00
ComicIronic 08250621e4 Add flag serialization marker to CollisionGroup for engine bitmasks 2020-05-25 00:17:08 +01:00
Swept 67143b1371
Toolboxes Update (#985) 2020-05-24 18:56:19 +02:00
Víctor Aguilera Puerto 1c00bf2855
Merge pull request #865 from Zumorica/2020-04-28-tool-component
Tool refactor, multi tools
2020-05-24 13:42:02 +02:00
Pieter-Jan Briers 31263f8597
Fixes ghosts being affected by gravity.
Fixes #980
2020-05-24 11:40:49 +02:00
Pieter-Jan Briers 36b5326a37
Allow server to send cursor-located popup messages. 2020-05-23 18:45:47 +02:00
zumorica 3029e31e4a Merge branch 'master' into 2020-04-28-tool-component
# Conflicts:
#	Content.Server/GameObjects/Components/AnchorableComponent.cs
#	Content.Server/GameObjects/Components/Gravity/GravityGeneratorComponent.cs
#	Content.Server/GameObjects/Components/Interactable/Tools/CrowbarComponent.cs
#	Content.Server/GameObjects/Components/Power/PowerTransferComponent.cs
#	Content.Server/GameObjects/Components/WiresComponent.cs
#	Content.Server/GameObjects/EntitySystems/Click/InteractionSystem.cs
#	Resources/Prototypes/Entities/Items/tools.yml
2020-05-23 12:02:34 +02:00
chairbender 6a4d78cfac
Add interaction checks to all interactions (#923) 2020-05-23 11:27:31 +02:00
Pieter-Jan Briers cad59d2cb4
Fancy Verb Menu & Verb API Refactor (#928) 2020-05-23 03:09:44 +02:00
Pieter-Jan Briers 18ce80a43c
Merge physics rewrite 2020-05-23 01:26:43 +02:00
zumorica d2d6c2cecd Merge branch 'master' into 2020-04-28-tool-component
# Conflicts:
#	SpaceStation14.sln.DotSettings
2020-05-22 11:31:18 +02:00
zumorica cb391ec3d8 Merge branch 'master' into 2020-05-18-midi 2020-05-21 19:50:09 +02:00
Víctor Aguilera Puerto b270c69512
Merge pull request #911 from Zumorica/2020-05-13-stuns
Adds StunnableComponent, Stunbaton...
2020-05-21 19:48:19 +02:00
zumorica d3102dbf96 Remove server-side RefreshInHands, refresh them on component state update 2020-05-21 19:44:49 +02:00
zumorica 78aa4fb872 Use Sequencer, improve MIDI a lot 2020-05-21 15:20:37 +02:00
zumorica 731ab22568 Better timing 2020-05-20 17:13:49 +02:00
zumorica 400a71f8a1 More refactors 2020-05-20 15:15:17 +02:00
zumorica fede057bc4 Bunch of refactoring 2020-05-20 15:14:52 +02:00
zumorica ea255b22c4 Attempt at queueing midi messages 2020-05-20 12:27:41 +02:00
Víctor Aguilera Puerto 312e8f17a5
Merge branch 'master' into 2020-04-28-tool-component 2020-05-19 14:19:45 +02:00
zumorica 06d2cc74ed Refactor a bunch of stuff. 2020-05-19 14:17:48 +02:00
zumorica b5cf3cf2da Adds stun status effect 2020-05-14 17:44:09 +02:00
zumorica a22c1cb196 Whoops. 2020-05-14 16:09:44 +02:00
zumorica 4fd4b4f6f3 Add method to AudioHelpers to get a random file from a sound collection 2020-05-14 16:05:36 +02:00
zumorica 2132ff41d4 In-hands are now refreshed when the prefix is changed 2020-05-14 15:44:05 +02:00
GlassEclipse 27d27f2b59
Body System Part 1 POGGERS!!! (#855) 2020-05-13 21:48:49 +02:00
zumorica f968128af7 StandingStateHelper, StunSystem 2020-05-13 19:04:50 +02:00
Pieter-Jan Briers c9ce38a6a7
Merge pull request #892 from FL-OZ/microwave_hot_fix 2020-05-13 02:10:56 +02:00
zumorica b1db8d1e7a Add WelderComponent back 2020-05-11 15:26:07 +02:00
zumorica 6ae5e36a18 Merge branch 'master' into 2020-04-28-tool-component 2020-05-11 12:24:43 +02:00
FL-OZ 28c50261ac Fix a null reference exception (InteractionSystem) that crashed the hell out of the client. 2020-05-10 01:47:26 -05:00
FL-OZ 40ad366636 Various hotfixes and touchups to the microwave.
- Stop a debug assertion from TryGetComponent on a deleted entity.
-  Add a dark overlay for when microwave is busy to UI.
2020-05-06 17:45:45 -05:00
Pieter-Jan Briers fe23fdb620
Merge branch 'master' into kitchen 2020-05-05 11:35:20 +02:00
FLOZ b803bee2c0 Remove unncessary class dictionary and list. Fix meal prototype properties. 2020-05-04 18:35:36 -05:00
Hugal31 fbaafa8366
Add smart equip shortcuts (#873) 2020-05-05 00:39:15 +02:00
FLOZ 69b34e74ce Seperated Reagent item list and Solid item list to allow for vaporizing particular reagents at will. (also fixes a really nasty null reference exception because they shared the same list before D: ) 2020-05-04 15:16:16 -05:00
FLOZ 108bd36b8c And not a single "ToList()" went home to their family that day..... 2020-05-04 14:39:33 -05:00
FLOZ 4034458d26 Pretty up the microwave menu, add click sounds. Remove some unnecessary ToList() calls. Remove unnecessary IoC resolves. 2020-05-04 13:54:54 -04:00
FL-OZ c34081c514 revert sharedlathecomponent to master 2020-05-04 00:25:41 -05:00
FL-OZ 0abd0d8784 revert entrypoint to master 2020-05-04 00:24:19 -05:00
FL-OZ 6930bf220b trying that again 2020-05-04 00:18:46 -05:00
FL-OZ 46ef79af60 Delete microwave.dmi, unneeded. Revert accidently changes to Shared EntryPoint.cs 2020-05-04 00:16:05 -05:00
FL-OZ d7d0bc71f9 Microwave is done. Added an easter egg recipe and made the cheeseburger recipe more sensible. 2020-05-03 23:58:29 -05:00
Pieter-Jan Briers e2677bab51
Wide attacks on space, remove UseOrAttack. 2020-05-03 16:03:52 +02:00
Víctor Aguilera Puerto 5d7514674e
Suspicion on the Space Station gamemode (#849) 2020-05-03 11:25:39 +02:00
Fouin ccbe4bc23f
Add pitch variations (#874) 2020-05-03 11:20:03 +02:00
FL-OZ 4f7deb8452 Next up timer buttons 2020-05-03 03:09:54 -05:00
FL-OZ 0f61c2fadf Microwave UI + solids implemented. 2020-05-03 01:34:00 -05:00
Pieter-Jan Briers cc1cf5e268
Set current culture in shared entrypoint. 2020-05-02 20:01:22 +02:00
Jackson Lewis 1f0c72dd28
Gravity (#841) 2020-05-02 16:02:52 +02:00
FL-OZ dba0949c5b Add (not working) basis for allowing solids (entities) in recipes. 2020-05-02 01:29:20 -05:00
FL-OZ dd19466578 Microwave interface. 2020-05-01 23:34:04 -05:00
FL-OZ 13fba25edc A shit ton of microwave stuff i can't really explain this. 2020-05-01 17:19:04 -05:00
FL-OZ a5fa184765 Reformat 'PoweredIdle' to 'Idle' 2020-05-01 03:38:48 -05:00
FL-OZ b2aca9a686 Add microwave visualizer. Clean up microwave code. 2020-05-01 03:37:21 -05:00
FL-OZ 5d4c0609ec ShadowCommander is MVP. 2020-04-30 23:07:27 -05:00
FL-OZ 93c3e86c9f Unfuck mostly everything. 2020-04-30 18:08:51 -05:00
Pieter-Jan Briers d4ca0a65ee
Screenshot button. 2020-04-30 12:45:21 +02:00
FL-OZ 8e0185f892 Refactor "output" to "result" for recipes/prototypes.
Remove a debug recipe from meal_recipes.yml
Add food.yml for food related reagents: sugar, flour, etc.
2020-04-29 21:04:08 -05:00
zumorica ff5549a0d1 Finish refactoring tools. Add multitools. (as in multiple tools in one) 2020-04-29 13:48:32 +02:00
zumorica ca5638badf Start refactoring tools 2020-04-28 16:44:53 +02:00
FL-OZ 24842418c3 Rewrite recipe prototype.
Fix comparer in microwavecomponent.
2020-04-27 00:27:25 -05:00
FL-OZ 7e4d4bb1d4 Reformat the way recipe prototypes work to something sensible.
More work on Microwave component.
2020-04-26 23:14:02 -05:00
FL-OZ f76a087e91 Add meal recipe prototype class and yaml file.
Add bare bones MicrowaveComponent.
2020-04-26 15:44:20 -05:00
Víctor Aguilera Puerto 55c54e415b
Raycast has an overload for predicates, various fixes (#848) 2020-04-25 11:37:59 +02:00
Pieter-Jan Briers b343f61268
Imports wooden flooring from Eris. 2020-04-22 17:49:42 +02:00
metalgearsloth 60ce5b5089
Add puddles / reagent spills (#743) 2020-04-21 20:23:12 +02:00
Sam 1ba222142a
Created SharedInteractionSystem + Partial Fix #782 (#833) 2020-04-21 16:58:31 +02:00
Pieter-Jan Briers c4ba83bdf3
Remove mispredict testing code. 2020-04-18 17:18:08 +02:00
Pieter-Jan Briers 93c8007f5e
Merge branch 'master' into prediction 2020-04-18 14:07:02 +02:00
Pieter-Jan Briers b137d4eaf0
Adds NoExamine SolutionCap. 2020-04-18 01:10:26 +02:00
Pieter-Jan Briers 478fd35502
Merge pull request #802 from FL-OZ/round_end_screen 2020-04-16 22:33:38 +02:00
FL-OZ e5847910c7
Merge branch 'master' into round_end_screen 2020-04-15 14:00:56 -05:00
scuffedjays 1605a50098 Changed duration to use TimeSpan.
Using actual round realtime span to determine round length.
2020-04-14 23:26:37 -05:00
PrPleGoo dffaf6e692 Merge branch 'master' into DecimalReagents 2020-04-14 15:41:50 +02:00
PrPleGoo 409d873403 Fix ratio issues on SlipSolution 2020-04-14 15:41:23 +02:00
Pieter-Jan Briers 0f554996ff
Merge pull request #798 from PrPleGoo/DecimalReagents
Decimal reagents
2020-04-12 23:04:24 +02:00
PrPleGoo 7d72e672fd Merge branch 'master' into DecimalReagents 2020-04-12 14:37:36 +02:00
Pieter-Jan Briers 56d6720026
Move part of stack code to shared.
Meaning that ExposeData is in shared, fixing #809
2020-04-12 01:15:16 +02:00
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
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
scuffedjays 3ce50879b7 New struct for basic round end info per player. 2020-04-10 01:37:14 -05:00
PrPleGoo c18f318b80 MidpointRounding 2020-04-09 21:29:34 +02:00
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
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 959bf7c477
Clean up EquipmentSlotDefinitions.cs a bit. 2020-01-20 10:30:06 +01:00
Pieter-Jan Briers ac9d236955
Acc 2020-01-19 18:33:30 +01:00
Pieter-Jan Briers fc2d53eb4f
Adds preference unavailable setting to profiles. 2020-01-19 18:33:22 +01:00
Pieter-Jan Briers 77367345b6
Declare overflow job (assistant) with constants. 2020-01-19 18:32:24 +01:00
Pieter-Jan Briers 02fbc5938b
Adds more metadata to job prototypes:
Whether the job is a head.
The access levels the job has.
The total & spawn positions count.
2020-01-19 18:31:14 +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 f86ad6175e
Basic implementation of jobs in the character profile. 2020-01-19 09:42:26 +01:00
DamianX 802fda3cfd Added option to generate random character name (#519)
* Added option to generate random character name

* awk '!seen[$0]++'
2020-01-18 23:09: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
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
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 e0a4735fe2
Switch to TG hair sprites.
This removes the need for a separate shader because they're multiply-based instead of additive like /vg/ or Bay.
2020-01-12 02:04:13 +01: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
DamianX f19795edaf Added preferences backend (#465)
* Added preferences backend

* Gender -> Sex

* ClientPreferencesManager properties

* Username validation

* Fixed client init

* WIP db

* Actually working sqlite db

* Dropped shitty sqlite libraries, dropped DbUp, added MigrationManager

* Added profile deletion, test

* Docs, sanity, tests, cleanup

* Cleaned up profile and appearance, fixed running on .net core

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2019-12-22 13:47:34 +01:00
Pieter-Jan Briers 1e696edcff
Use C# 8. 2019-12-17 16:09:10 +01:00
L.E.D fac91af34d new layers (#483) 2019-12-01 15:20:50 +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
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
moneyl b89615342e Fix exception in ReagentPrototype caused by IMetabolizable (#451)
* Fix exception in ReagentPrototype

Due to client trying to access concrete implementations of IMetabolizable that are in Content.Server. This fix checks to see if the prototype is being loaded by the client through reflection. I don't want to move the prototype completely into Content.Server since it's useful for the client to view descriptions and values of reagents without needing to send that data from the server.

* Make fix slightly more explicit

Now it will only load the metabolizable when in Robust.Server, instead of it being anything that's not Robust.Client.

* Add IModuleManager and ModuleManager

Provide simple way to check if shared code is being run by the server or the client

* Change ModuleManager implementations to not require assembly name comparison

Now just has ClientModuleManager registered to client, and ServerModuleManager registered to server.

* Change IModuleManager functions to properties

* Fix failing tests.

This was failing because the tests weren't initializing IoC. Simply using RobustUnitTest wasn't enough because that doesn't initialize content either. I did some cleaning up so now content IoC is registered via ContentUnitTest.
2019-11-23 21:55:31 +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
moneyl 3ab8036363 De-hardcode chemical metabolism of StomachComponent (#437)
* Move chemical reaction effects into Chemistry/ReactionEffects/ subfolder

* Replace hardcoded StomachComponent metabolism with IMetabolizable

The benefits of this approach are that reagent metabolism effects are not hardcoded into StomachComponent, and metabolism effects can be more easily chained together in yaml prototypes, and reagents can have different metabolism rates. One problem with this approach is that getting metabolism rates slower than 1u / second is impossible. Implementing #377 should resolve that problem.

* Fix DefaultFood and DefaultDrink so they remove reagent regardless of Hunger/ThirstComponent presence

Previously if neither of those were present the reagents wouldn't be removed from the stomach. This fixes that.

* Additional comment on function

* Make metabolizer interface implementations explicit

Also removed some unused using statements

* Make StomachComponent._reagentDeltas readonly

* Fix misleading variable names and docs for metabolizables

Changes one of the arguments for `IMetabolizable.Metabolize()` to be called `tickTime` instead of `frameTime` to more accurately reflect it's purpose. It's not really the frametime, but the time since the last metabolism tick. Also updated and expanded the docs to reflect this and to be more clear.
2019-11-21 23:24:19 +01:00
ZelteHonor 447db2e458 Basis for the job system (#434)
* Add basic yaml Jobs file

* Add Job Prototype

* Rename Jobs to Job

* Remove BaseJob

* Add the Job class child of Role

* Add code for spawning as an assistant. Not actually working, the job prototype can't be found.

* Fix role instead of job left in yaml

* Add starting gear support for job and the starting gear for assistant as an exemple

* Link job with starting gear in yaml

* Better naming and some error handling

* Tweak error handling
2019-11-17 17:18:39 +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
Pieter-Jan Briers 841bb101c5
Visualize melee weapon cooldowns in HUD. 2019-11-12 01:43:11 +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 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
moneyl 6497cdf8ff Add global verbs (#400)
* Add support for global verbs

These are verbs that are visible for all entities, regardless of their components. This works by adding a new class `GlobalVerb` and a new attribute `GlobalVerbAttribute`. It works in the same way as current verbs, except you can put the verbs class definition anywhere instead of inside a component. Also moved VerbUtility into it's own file since it now has functions for both verbs and global verbs.

* Add view variables verb as an example of global verbs

* Implement suggested changes

Implemented some suggested changes from code review:
- Remove unneeded attribute from `GlobalVerb`
- Added some useful attributes to `GlobalVerbAttribute`
- Moved constants used by both `Verb` and `GlobalVerb` into `VerbUtility`

* Reduce duplicate code in VerbSystem (client & server)

Greatly reduced the amount of duplicate code for handling component verbs and global verbs separately.

* Update engine submodule

Need this so client side permissions checks are available.
2019-10-30 16:31:35 +01:00
Pieter-Jan Briers 9a1e4450d8
Make ID console fancier. 2019-10-21 22:54:16 +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 19379decd5
Fancy up the lobby GUI. 2019-10-18 14:28:39 +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 be9dc90738
Disable unlit layers on unpowered airlocks.
Fixes #389
2019-10-13 16:39:21 +02:00
moneyl 427836fec9 Add basic chemical reactions (#376)
* Add basic chemical reaction system

What it adds:
- Reactions defined in yaml with an arbitrary amount of reactants (can be catalysts), products, and effects.

What it doesn't add:
- Temperature dependent reactions
- Metabolism or other medical/health effects

* Add many common SS13 chemicals and reactions

Added many of the common SS13 medicines and other chemicals, and their chemical reactions. Note that many of them are lacking their effects since we don't have medical yet.

* Add ExplosiveReactionEffect

Shows how IReactionEffect can be implemented to have effects that occur with a reaction by adding ExplosionReactionEffect and the potassium + water explosion reaction.

* Move ReactionSystem logic into SolutionComponent

No need for this to be a system currently so the behavior for reaction checking has been moved into SolutionComponent. Now it only checks for reactions when a reagent or solution is added to a solution. Also fixed a bug with SolutionValidReaction incorrectly returning true.

* Move explosion logic out of ExplosiveComponent

Allows you to create explosions without needing to add an ExplosiveComponent to an entity first.

* Add SolutionComponent.SolutionChanged event. Trigger dispenser ui updates with it.

This removes the need for SolutionComponent having a reference to the dispenser it's in. Instead the dispenser subscribes to the event and updates it's UI whenever the event is triggered.

* Add forgotten checks

`SolutionComponent.TryAddReagent` and `SolutionComponent.TryAddSolution` now check to see if `skipReactionCheck` is false before checking for a chemical reaction to avoid unnecessarily checking themselves for a reaction again when `SolutionComponent.PerformReaction` calls either of them.

* Change SolutionComponent.SolutionChanged to an Action

The arguments for event handler have no use here, and any class that can access SolutionChanged can access the SolutionComponent so it can just be an Action with no arguments instead.
2019-10-11 22:57:16 +02:00
Pieter-Jan Briers 6249a129c0
Fix verbs for children of the component defining the verb.
This fixes clothing not having a pick up verb, for example.
2019-10-10 12:17:17 +02:00
Pieter-Jan Briers 09ca46fbd0
Give VerbAttribute [MeansImplicitUse] 2019-10-10 11:51:38 +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 a2d8fc1ef9
Sandbox panel 2019-10-02 21:47:32 +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 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
DamianX deb2b984eb Fixed TechnologyDatabaseState warning (#334) 2019-09-06 15:25:07 +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
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
Acruid 9353a060f2 Physics Shapes (#306)
* Removed BoundingBoxComponent.

* Updated prototypes to use refactored CollidableComponent.

* Renamed ICollidable to IPhysBody.
Moved ICollidable to the Shared/Physics namespace.

* Migrated more yaml files to use PhysShapes.

* Updated YAML to use the new list-of-bodies system.

* Updated the new prototypes.

* Update submodule

* Update submodule again, whoops
2019-09-03 22:14:04 +02:00
DamianX f3b460c8b4 IDs and access (#319)
* something about access

* Fixed deny animation
2019-09-01 22:57:22 +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
Acruid fc046fb8ca Move ClientChangedHandMsg to Content assembly. This Resolves https://github.com/space-wizards/RobustToolbox/issues/703.
Update Submodule.
2019-08-31 17:49:18 -07:00
Pieter-Jan Briers 9ba5f9f2a3
Remove accidental reference to Mono.Cecil. 2019-08-27 22:50:06 +02:00
Pieter-Jan Briers ecb7cd3c66
Update all the NuGet packages & submodule. 2019-08-27 22:39:32 +02:00
Pieter-Jan Briers 77216af44e
Don't copy project dependencies for content projects.
#850
2019-08-22 18:44:35 +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 1c81f6097f Merge branch 'master' of https://github.com/space-wizards/space-station-14 2019-08-16 15:46:06 -07: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
Pieter-Jan Briers 589d52158c
Update submodule. 2019-08-11 01:23:16 +02: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 7422d9148a Refactored input system 2019-08-04 16:03:51 -07:00
Pieter-Jan Briers 3488ca0173
Try to work around space-wizards/space-station-14#284 2019-08-03 15:07:47 +02:00
Pieter-Jan Briers 8cf5195db6
.NET Core support.
Also dropped x86 because apparently unit tests still work.
2019-08-02 22:45:41 +02: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
Acruid 2ea8bbf4eb Reagents & Solutions (#280)
* Added the ReagentPrototype class.

* Added the new Solution class.

* Added new shared SolutionComponent to the ECS system.

* Added some basic element and chemical reagent prototypes.

* Added a new Beaker item utilizing the SolutionComponent. This is a testing/debug entity, and should be removed or changed soon.

* Added filters for code coverage.

* Nightly work.

* Added the server SolutionComponent class.

* Added a bucket.
Verbs set up for solution interaction.

* Adds water tank entity to the game.

* Added a full water tank entity.
Solutions are properly serialized.
Solution can be poured between two containers.

* Solution class can now be enumerated.
SolutionComponent now calculates the color of the solution.

* Minor Cleanup.
2019-07-31 14:10:06 +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 f5d319bc3a
Adds explicit inventory window. 2019-07-20 14:07:11 +02:00
Pieter-Jan Briers 18efec6472
Game HUD improvements:
Added sandbox button, needs implementation.
Tutorial bound to F1.
Improved color of buttons.
2019-07-19 14:21:36 +02:00
Pieter-Jan Briers 1a92d08399
Improves examine code
Examining now has larger range. Ghosts have no range limit.
Fixed some messy code and some bad netcode.
2019-07-19 10:45:55 +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 4b9c4022b8
Adds character menu, crafting menu and tutorial to the top left. 2019-07-17 21:37:58 +02:00
Pieter-Jan Briers c4523a956d Stupidly shoddy combat mode system.
Doesn't even work for guns, oh well.
2019-06-30 00:01:41 +02:00
Pieter-Jan Briers f97977323a Improve integration testing 2019-06-29 01:58:16 +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
Víctor Aguilera Puerto 50bc1bff48 Fix bug where lathe databases didn't get serialized correctly. (#252) 2019-06-02 01:18:54 +02:00
Pieter-Jan Briers 56bccdbc3e Update submodule, update NuGet dependencies. 2019-05-29 14:04:57 +02:00
Pieter-Jan Briers 996b45a04f
Project File Refactor (#241)
* Project file refactor, content edition

* Update submodule
2019-05-28 00:18:29 +02:00
Acruid d52e5ccbfb Verbs can now set themselves as invisible. 2019-05-22 08:53:50 -07:00
Pieter-Jan Briers 9a1f37d476 Update submodule, switch to .NET Framework 4.7.2 2019-05-11 16:10:09 +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 cb7e5d4214 Content-side integration tests.
Currently only tests that the server starts.
2019-05-03 13:34:49 +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
PrPleGoo 903961771b Actual lockers (#195)
Adds storing entities into lockers the way we all know and love.
Relies on an implementation of ITileDefinition in https://github.com/space-wizards/space-station-14/pull/193 (just like origin/master)
#191
2019-04-17 23:26:00 +02:00
Silver a18692bc46 Rename toolbox references from ss14 to robust 2019-04-15 21:11:38 -06:00
Pieter-Jan Briers 52af7d27da
Re-implement chat in content. (#198)
* OOC is a word.

* Re-implement chat in content.
2019-04-13 09:45:09 +02:00
PrPleGoo d86020ceae Merge branch 'master' into ThingDoer 2019-04-11 18:00:56 +02:00
PrPleGoo 5251b30591 Shoving lockers, content side 2019-04-11 17:04:48 +02:00
Pieter-Jan Briers c283634efb
Make examine use tooltips. (#189)
FANCY.
2019-04-09 17:33:53 +02: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 f5bb790edb
Footstep sounds. (#182) 2019-04-05 02:04:34 +02:00
Pieter-Jan Briers 9f3f09871e
Wires are now actually hidden by floor tiles. (#181) 2019-04-04 15:09:06 +02:00
Pieter-Jan Briers bd5f920151 Content changes for tile ID refactor. 2019-04-03 21:20:26 +02:00
Silver 0869b05ffd Update Projects and References 2019-03-30 00:31:45 -06: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 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 38d11d0684 Prevent verbs from same component appearing multiple times. 2019-03-26 13:45:16 +01:00
Pieter-Jan Briers 0882435293
Fancy guns. (#152) 2019-03-23 15:04:14 +01:00
Pieter-Jan Briers e1f6a2bbd5 Spawn point system.
Hey we can place spawn points on the map now instead of hardcoding them!
Spawn points are simply invisible bare bones entities.
2019-03-17 15:52:27 +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 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 ef3007a603
Parallax (#131) 2018-11-30 21:54:30 +01:00
Pieter-Jan Briers 845d0f9182
We have a lobby! (#127)
It's shoddy as hell but it works for our purposes.
2018-11-25 19:04:49 +01:00
Pieter-Jan Briers f91488fa27
Popup message notifications. (#125)
* Popup message system v1

* Networking for the popup notifications.

Ship it.
2018-11-21 21:11:30 +01:00
Pieter-Jan Briers b0f212bad5
Verbs (#124)
Right click verbs work.
2018-11-21 20:58:11 +01:00
Acruid d186f18c20 Thrown Item Physics (#120)
* Thrown object speed is now based on force.
Fixed BoundingBox namespace.

* 100% more throwing.
CollisionGroup enum.

* Update Engine.
2018-10-30 09:13:10 +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 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 7a91fb7512
Project file maintenance, C# 7.2 (#108)
1. Updates all the NuGet packages (except CommandLineParser because they ruined their API)
2. Makes all projects use C# 7.2 explicitly. (not latest)
3. Use some C# 7.2 features like readonly structs and default literals.
2018-09-13 20:09:53 +02:00
Pieter-Jan Briers d414ea55f5
APC GUI. (#107) 2018-08-31 08:52:48 +02:00
Acruid 7b7b5cc59f Math Assembly (#102)
Included new Math assembly in projects.
2018-08-27 10:23:42 +02:00
Acruid ed39649721 Interaction Features (#101)
Various minor interaction features.

There is no concept of gravity in the game yet, so items drift through space or the hallways of a station until they are stopped. Thrown items do not collide with walls because making them collidable makes them collide with EVERYTHING, including the player. We need collision groups in the physics system.

Because of the previous problems the velocity things are throw at is set quite low, it can be tweaked after the other mentioned issues are resolved.
2018-08-22 10:19:47 +02:00
Acruid ce5760d46c
Click Migration (#94)
* Migrated Interaction system to the new Input system.

* Contexts are now set up in content.
2018-08-16 15:57:11 -07: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 6c5a0786c2 Fix build. 2018-08-02 08:45:23 +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
Víctor Aguilera Puerto f051078c79 Remove all references to OpenTK (#85)
Resolves #80
2018-07-29 23:58:19 +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
Pieter-Jan Briers 7629d447aa Update submodule 2018-07-14 13:36:32 +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 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 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 41bda76980
Minor stuff: (#58)
* Minor stuff:

* Making a file called DISABLE_SUBMODULE_AUTOUPDATE in BuildChecker/ makes it not always run git submodule update.
* Added .mypy_cache to .gitignore.
* Made default platforms x64 (from Any CPU).

* Make git hooks +x.
2018-04-19 20:15:36 +02:00
Pieter-Jan Briers 9989d6db75
Updates submodule (#56)
* Adds audio to the content repo.

* Content repo updates

* I forgot this AGAIN.
2018-04-12 23:56:43 +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 3dfce70fdc Map Blueprint Save/Loading (#32)
* Change entry point to new system.

* Map saving/loading works.

* Cleans up old code.

* Saving and Loading of blueprints works.

* Saving and Loading of blueprints works.

* Updated the nuget 'YamlDotNet' package to 4.3.0.

* Submodules are trash
2018-02-06 21:34:36 -06:00
Acruid 988b2b2bc5 EntityUid Type (#23)
* Wraps Entity Uids in their own type.

* Update submodule I think.
2018-01-20 23:46:31 +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
Pieter-Jan Briers 6f89d0672d Urist's damage and health thing. (#10)
* Add prototype for temperature testing entity.

* Add Damageable, Destructible, Temperature. Add a prototype based on those.

* Works and cleaned up.

* Nerf
2017-10-07 15:15:29 +02:00
PJB3005 26e9c37be1 Functional GUI! 2017-09-30 16:56:19 +02:00
PJB3005 d345316db8 Make NetID use 1000+ range 2017-09-26 21:58:45 +02:00
PJB3005 4f2d059de4 Simple network replication for hands, untested. 2017-09-26 21:27:48 +02:00
Pieter-Jan Briers 55b9e367b3 x64 build platform. 2017-09-23 00:35:08 +02:00
PJB3005 7fda197391 Remove SFML from shared and server. 2017-08-21 23:51:13 +02:00
PJB3005 e46e4a7993 Fix SFML references. 2017-08-19 11:24:49 +02:00
PJB3005 090fb0f417 Give content YamlDotNet, OpenTK and SFML references. 2017-08-13 14:58:31 +02:00
PJB3005 d417ccf615 Resource copying content -> bin DONE 2017-08-09 10:37:56 +02:00
Pieter-Jan Briers 4454525e6d Add script to zip up release builds. 2017-08-06 23:15:39 +02:00
Pieter-Jan Briers 2313f73678 Standardize to x86 build target on all projects. 2017-08-04 23:09:42 +02:00
PJB3005 02c67c851d Basic content repo outline.
Code's here, no tooling to generate content packs yet, however.
2017-08-04 14:24:01 +02:00