Commit Graph

108 Commits

Author SHA1 Message Date
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
Víctor Aguilera Puerto
4f2ae14b3f Light bulbs can now be colored! (#154)
-Also fixes a bug where bulb type didn't matter when inserting a new bulb into a light fixture.
-And a bug where bulb state changing didn't change the light itself.

P.S. Also note I didn't add any colored lightbulb prototypes, as I don't think they're necessary right now. To see the changes, please use VV! In the future, it might be possible to change the lightbulb's color with a multitool or something in-game.
2019-03-23 22:30:05 +01:00
Pieter-Jan Briers
0882435293 Fancy guns. (#152) 2019-03-23 15:04:14 +01:00
Víctor Aguilera Puerto
b3aa1f6dcd Wall lights now require light bulbs. (#151)
* Adds light_tube.rsi

Sprites taken from CEV Eris!

* Adds LightBulbComponent

* Wall lights now use light bulbs!

* Light bulb now updates its sprite when it changes.

* Comments the code.

* Adds license and copyright to new sprites
2019-03-22 23:59:13 +01:00
Injazz
3b40b4aafa Healing component and Medkit (#143)
Medkit to heal yourself and your buddy
known issues:
- [ ] it doesn't restore screen effects that happens when health status go into crit and dead
2019-03-21 16:55:16 +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
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
0230323563 Implement server status content side. 2018-11-26 10:02:47 +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
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
Pieter-Jan Briers
4720182cf4 Flashlights now run off a power cell. (#121)
* Flashlight runs off a power cell now.

* Cleanup
2018-11-11 20:05:09 +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
PJB3005
b92a9b6d1a Admin Ghosting 2018-09-20 18:19: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
Centronias
ef506006b3 Toggleable flashlight (#106)
Fixes second half of #92 

Regarding the first half, Digitalis explained in discord that when an entity is picked up, visible components are made invisible by making the entire Godot scene node for the entity (based on the GodotTransformComponent) not visible. It's probably possible to exempt the pointlight from that invisibility, but that seems hacky and it seems like something that should be covered by a generic "items equipped in hands are visible" design.

Adds:
- Handheld light component for toggling light activation
- Lantern sprite with on and off layers
- Lantern prototype updates

Known issues:
- When light is on and on the ground, hovering over it with the cursor does not produce the outline effect. I'm not sure, but I think this is caused by the way I implemented the illuminated layer as an entire sprite rather than just the illuminated part. The outline only works on the first layer maybe? I checked it against the welder in its on state and it doesn't seem to outline the flame.
- Illuminated sprite (layer 1) is an entire flashlight, so to make it look okay, the whole first layer is turned off. Would be better / more correct to follow the example of the welder and just create an illuminated "cap" to overlay on the dark extinguished layer. I'd whip up some coder art myself, but I don't have the right tools to handle transparency.
- Illuminated sprite is slightly different from the extinguished sprite, so turning on the light makes it a little bit shorter.
2018-08-28 17:39:20 +02:00
Acruid
7b7b5cc59f Math Assembly (#102)
Included new Math assembly in projects.
2018-08-27 10:23:42 +02:00
Pieter-Jan Briers
cd4442b81e Antag Datums. Oh also minds. (#100)
AKA: Minds and there's a stupid basic roles framework.
2018-08-20 15:59:04 -07:00
Acruid
edb3eb5b2e HandsSystem now uses InputSystem. (#95)
Fixed TemperatureSystem namespace.
2018-08-18 15:28:02 -07: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
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
74b38c49fb Materials system. (#84) 2018-07-27 17:11:58 +02:00
Acruid
8c874c76dc Base Update() method was removed from components in engine, added some basic ECS systems to update the components. (#79) 2018-07-26 23:26: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
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
clusterfack
3915b735ae Examine System (#65)
* Examine System

* Adds some relevant comments
2018-05-09 16:34:26 +02:00
clusterfack
78fa747973 Adds click parsing entity system (#64)
* Adds click parsing entity system

Instead of every entity system receiving the message and deciding if it individually wants the message, and verifying player information. The click parser system receives the message and parses which system to send it to based on clicktype and sends it.

* Submodule update
2018-05-01 02:52:37 -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
clusterfack
128728bfcb Adds weapons (#48)
* Adds weapons

- Adds melee weapons
- Adds projectile weapons
- Adds hitscan weapons (like lasers)

* Adds a separate sprite for projectile weapons
2018-04-06 00:32:51 +02:00
Acruid
071ed3f1ed Turret Entities (#38)
* Spotlight Turret.

* Used new turret sprite, credit: @Lobstrex (Lob)#5692

* Moved AimShootLifeProcessor.cs to content.

* Update Submodule Try 2.
2018-03-15 20:41:31 +01: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
clusterfack
059832d324 Adds Basic Tools (#27)
* Basic Tools

* Adds tool prototypes
2018-02-06 19:03:36 -06:00
clusterfack
1452502fbf Interaction Entity System (#26)
* Interaction Entity System

* ye

* Update submodule

* Requires engine update to function, but doesn't use shitcode

* Fix conflicts

* Fix conflicts but for real

* Update submodule
2018-02-05 12:57:26 -07:00
clusterfack
1f22f8ab6a Power System (Complete) (#25)
* Power Commit 1

* Commit 2

* Powernet Part2, All components essentially complete

* Commit 4

* Commit 5

* Commit 6

Creates prototypes

* Finishes powernet code alpha

Adds prototypes and logic for powernet updating and regeneration

* Adds onremove functionality to all components

Without these bits of logic nothing makes any sense!

* And this

* Fixes a lot of bugs

* Fix powernet thinking devices are duplicates

* Fix bug and add comments

* woop woop thats the sound of the police
2018-02-03 21:35:42 -07: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
Pieter-Jan Briers
7597cd9172 Interactable component system. (#9)
* InteractableComponent v1. Broken edition

* It works!
2017-10-06 21:05:21 +02:00
PJB3005
26e9c37be1 Functional GUI! 2017-09-30 16:56:19 +02:00
PJB3005
f6e265bccb Inventories WiP 2017-09-24 21:09:26 +02:00
PJB3005
60ff292f14 Fix content assemblies not being loaded.
They were put in the wrong directory.
2017-09-24 16:41:15 +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