Commit Graph

94 Commits

Author SHA1 Message Date
Víctor Aguilera Puerto
03856b79b4 Fix the sound bug when clicking on lights. (#155)
It was updating lights when there was nothing to be updated, which caused the sound to play.
2019-03-23 22:42:41 +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
Pieter-Jan Briers
5b0f49bab7 Reset relative of entities to 0 on pickup.
This mostly helps with akwardness related to sound positioning.
2019-03-22 22:18:17 +01:00
Víctor Aguilera Puerto
62eb7db0c7 Adds Ointment and Brutepack. (#150)
* Add Ointment and Brutepack to StackType

* Add Ointment and Brutepack sprites

* HealingComponent now works correctly with StackComponent

* Adds Ointment and Brutepack prototypes

* Adds Ointment and Brutepack to stationstation
2019-03-22 15:03:29 +01:00
Víctor Aguilera Puerto
6649d06fd8 HealingComponent can now heal different types of damage (#146)
```
  - type: Healing
    heal: 100
    damage: Heat
```
2019-03-21 19:34:03 +01:00
Pieter-Jan Briers
45b803ce41 Simplify Healing Component deletion.
I just fixed the bug causing it to need explicit dropping so this hack
can go.
2019-03-21 17:51:25 +01:00
Pieter-Jan Briers
e1ca54fc2e Fix crash when deleting held entity. 2019-03-21 17:49:21 +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
8b694b1899 Bullets no longer open doors. 2019-03-20 15:02:19 +01:00
Pieter-Jan Briers
34f4c12e00 APCs now go click when breaker is switched. 2019-03-20 14:11:03 +01:00
Pieter-Jan Briers
c17bc612ff Lights now go CLUNK when turned on. 2019-03-20 01:12:38 +01:00
Pieter-Jan Briers
d7ef38701b Actually position gun sounds. 2019-03-19 22:41:19 +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
694d6e5b33 Fix crash when putting gun into backpack. 2019-03-17 14:37:05 +01:00
Pieter-Jan Briers
f779755c11 Doors are now automated. 2019-03-17 13:24:26 +01:00
Pieter-Jan Briers
84aa369809 Airlocks rewritten to use appearances, use less ugly sprite from Eris. 2019-03-16 20:40:07 +01:00
Pieter-Jan Briers
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
Acruid
69946c79d8 Fixes inventories and throwing. (#133) 2018-12-13 14:49:05 +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
b0f212bad5 Verbs (#124)
Right click verbs work.
2018-11-21 20:58:11 +01:00
Acruid
8038ebe37d Fix Hands Crash (#122)
* Fixed sprite issues with construction system (Thanks PJB!).

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

* Add check in Interaction System to prevent processing client-side entities on the server.
2018-11-11 20:32:05 +01:00
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
Pieter-Jan Briers
51bc17f76d Fix map serialization of storage component. (#111)
Items were stored since the engine can serialize containers,
but the used storage volume wasn't.
2018-11-11 20:04:52 +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
Acruid
6cc88115b5 Rename ICollisionManager to IPhysicsManager (#113)
* Renamed ICollisionManager to IPhysicsManager.

* Added sanitization and logging for clients sending invalid coordinates to the interaction system.

* Update Engine.
2018-10-25 17:29:33 -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
73712b4e39 Update submodule.
Guns work again.
2018-09-17 12:36:09 +02:00
PJB3005
1dabe49234 VV support. 2018-09-09 15:34:43 +02:00
Pieter-Jan Briers
d414ea55f5 APC GUI. (#107) 2018-08-31 08:52:48 +02:00
PJB3005
bb5a278fdb Fix compiler warning. 2018-08-30 12:53:23 +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
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
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
Pieter-Jan Briers
189a52c6d7 Use Sprite proxies for GUIs. (#93)
AKA "welders actually light up in the hands GUI".
2018-08-16 22:43:04 +02:00
Acruid
830159390b Input Handling (#90)
* Migrates the Examine system to the new Input system.

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

* Construction kinda works!

* Lots more construction work.

* It mostly works!
2018-08-02 08:29:55 +02:00
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
Pieter-Jan Briers
cb439ba39a Remove compiler warnings. 2018-07-26 23:55:34 +02:00
Pieter-Jan Briers
b34591ab59 Data Rework Content Edition (#82)
* WiP Data Rework.

* Convert stationstation to new map format.

* stationstation.yml v2

* Update submodule
2018-07-26 23:38:16 +02:00
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
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