Commit Graph

645 Commits

Author SHA1 Message Date
Pieter-Jan Briers
00774e90ed Merge remote-tracking branch 'upstream/master' into 20-10-30-admins 2020-11-10 16:59:17 +01:00
Pieter-Jan Briers
e39ddd4802 Permissions panel. 2020-11-10 16:50:28 +01:00
chairbender
5f788c3318 Alerts System and UI (#2529)
* #272 add bordered panel for effects bar

* #272 avoid mouse overlapping tooltip when near edges,
change tooltip colors to match mockups

* #272 WIP defining status effect states as YML and
sending them as encoded integers

* #272 refactor to use new alert system

* #272 refactor to use new alert system

* #272 fix various bugs with new alert system and update
alerts to have color

* #272 WIP

* #272 rename status effects to alerts

* #272 WIP reworking alert internals to avoid code dup
and eliminate enum

* #272 refactor alerts to use
categories and fix various bugs

* #272 more alert bugfixes

* #272 alert ordering

* #272 callback-based approach for alert clicks

* #272 add debug commands for alerts

* #272 utilize new GridContainer capabilities for sizing of alerts tab

* #272 scale alerts height based on
window size

* #272 fix tooltip flicker

* #272 transparent alert panel

* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip

* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip

* #272 alert prototype tests

* #272 alert manager tests

* #272 alert order tests

* #272 simple unit test for alerts component

* #272 integration test for alerts

* #272 rework alerts to use enums instead
of id / category

* #272 various cleanups for PR

* #272 use byte for more compact alert messages

* #272 rename StatusEffects folder to Alerts,
add missing NetSerializable
2020-11-10 15:22:19 +11:00
Exp
6e3cc9e78a PDA Pen Holder (#2519)
* -Adds pens to pdas
-Adds eject pen verb

* Reviews:
-Changed Container into ContainerSlot
-Starting prototypes are now nullable
-Removed double GetComp call

* EjectPen Button
2020-11-08 23:43:13 +11:00
DrSmugleaf
bf5b9ad03b Change cvar usages to use CVarDef and define them in CCVars (#2250)
* Change cvar usages to use CVarDef and define them in CCVars

* Merge fixes

* Remove duplicate cvar registration
2020-11-07 11:15:56 +11:00
metalgearsloth
864fa0a57c Minor device network changes (#2499)
* Device network changes

* Update too

* Update Content.Server/GameObjects/EntitySystems/DeviceNetworkSystem.cs

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-11-05 18:04:21 +01:00
metalgearsloth
e62df15ef9 Add cvar for events (#2478)
There's also the existing events command as well that's separate. I think there's value in having both? (Where mods can turn it on and off but not change the default?)

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-05 18:04:07 +01:00
DrSmugleaf
981fed8b27 Fix being able to start pulls on anchored entities (#2457)
* Fix being able to start pulls on anchored entities

* Replace tryget with component dependency
2020-11-02 11:58:47 +01:00
DrSmugleaf
6b4a39006e Make mechanism behaviors properly update, fix eating and drinking (#2472)
* Make mechanisms properly update and fix eating and drinking

* Remove outdated component ignores

* Fix nullable error

* Fix mechanism behavior events

* Remove unnecessary code
2020-11-02 11:37:37 +01:00
Pieter-Jan Briers
c9236d88ac Merge remote-tracking branch 'upstream/master' into 20-10-30-admins 2020-11-02 00:24:15 +01:00
Pieter-Jan Briers
6cc6cc3697 Make loginlocal SERVERONLY. 2020-11-02 00:10:07 +01:00
Pieter-Jan Briers
0618cde2b7 Announce logins/logouts. 2020-11-02 00:04:58 +01:00
metalgearsloth
2e65b1e5fa Optimise flashlights (#2468)
Flashlights were calling dirty EVERY TICK so this just means they only call it when absoluetely necessary which saves a lot.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-31 21:56:46 +01:00
Pieter-Jan Briers
711166f43a Merge remote-tracking branch 'upstream/master' into 20-10-30-admins 2020-10-30 16:23:21 +01:00
Pieter-Jan Briers
ad58a056d7 ConGroups are gone. Long live admin flags in content. 2020-10-30 16:06:48 +01:00
Paul Ritter
d8f5bffaa0 Arcade polish (#2333)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-10-30 11:25:26 +01:00
Víctor Aguilera Puerto
e9df8794da Instrument State now syncs more instrument values.
For adminbus purposes, mostly.
2020-10-30 10:34:22 +01:00
DrSmugleaf
37e97ca89f Change components to use timer component (#2426)
* Change components to use timer component

* Fix old usages of tokens
2020-10-30 15:02:49 +11:00
DrSmugleaf
c86c378198 Make the context and verb menus visible through walls for ghosts (#2415) 2020-10-30 14:52:37 +11:00
DrSmugleaf
57729063b7 Add a test for the weightless status (#2437)
* Add wip test for weightless status

* Expand and fix weightless test
2020-10-30 02:38:21 +01:00
Julian Giebel
45b610f933 Disposal mailing (#2194)
* Implement device networking

* Implement device configuration menu

* Fix device network

* Implement disposal mailing unit

* Implement base network connection
Implement wired and wireless network connection
Implement device network metadata

* Fix dereference null error

* Fix wired network null checks

* Change BaseNetworks enum to NetworkUtils class
Add PingResponse function to NetworkUtils
Change device network file structure

* Add doc comments

* Apply suggestions from code review

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Add tag validation to disposal mailing unit

* Add tag validation to the mailing unit component

* Address reviews
Change WiredNetwork can connect check
Change device networking string literals to constants

* Address reviews
Revert changes to PowerProvider and PowerReceiver
Add new NodeGroup
WELP

* Fix recursive access to Owner property

* Integrate suggested changes

* Fix TryGetWireNet acting on NullPowerProvider
Fix network connections not checking if their owner has been deleted

* Close device network connection when the owning entity got deleted
Fix mailing unit not closing the device network connection on remove

* Remove GetWireNet from NullPowerProvider

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-30 01:16:26 +01:00
Paul Ritter
1b3cbd4d3a Resolves that make you flinch (#2423)
* argh

* ouch

* zap

* adds default!

* adressed review
2020-10-30 11:13:35 +11:00
DrSmugleaf
ac3e9bc566 Fix weightlessness status effect appearing only after something checks if an entity is weightless (#2434)
* Revert "Add weightlessness status effect. (#2384)"

This reverts commit 9b751fc079.

* Bring back the icon and status

* Make weightless status track gravity and parent
2020-10-30 01:07:51 +01:00
ShadowCommander
23ae73d429 Fix throwing knockback when weightless (#2369)
* Fix throwing an item not moving the player when weightless

* Remove unnecessary code from ThrownItemComponent

* Fix velocity not stopping when hitting a wall after slipping when weightless

* Fix CanMove check being reversed
2020-10-30 01:06:51 +01:00
metalgearsloth
ca2c52e7b8 Nulls as errors (#2394)
Github will cuck me no more.

I tried the old google machine to find if there's a way to inherit these but it was failing me.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-30 01:06:05 +01:00
DrSmugleaf
cb0937c8b6 Add pulling rotating the pulled entity (#2449) 2020-10-30 01:05:28 +01:00
Víctor Aguilera Puerto
a5b138058a Update submodule. 2020-10-30 00:53:39 +01:00
Peter Wedder
bd4f2b41df Prettier window breaking (#2368)
* Put the damage in the windows

* add crack overlays

* Window cracking

* glass related sounds

* let's use a valid state

* run optipng on these for posterity

* Examine damage descriptions

* add "Constructible" to dictionary

* Downmix stereo effects to mono

* breaking and knocking

* Add shard etc. sprites

* shard inhands

* more sprite wrangling

* Expand destructiblecomponent drop system + implement it for windows

* Shard descriptions

* Random sprite component

* no nullbabby

* Random destroysounds

* random offset on destructible drops

* fix fucked yaml

* sound collections

* random pitch for knocking

* Localization

* hascomponent

* better spawnondestroy

* missed one
2020-10-29 20:42:11 +01:00
Peter Wedder
fca556a1c1 Adds sized (S, M, L) power cells and a generic component for battery powered items (#2352)
* Refactor battery/powercell assets and add new ones.

* committing before I fuck things up

* slot component doned I think

* dictionary update

* Fixes

* Moving flashlight to powerslotcomponent

* har har i am using the message tubes

* Better documentation comment

* Reverting this overengineered garbage.

* Off with ye I said

* Examine texts.

* Some minor fixes to IDE complaints

* slot size from yaml

* Ignored component + removing a useless typo entry

* Making stunbatons use this

* Handle the message and remove some unnecessary dirtiness

* actionblocker checks

* remove unused file

* remove updatevisual

* make these nullable

* make these nullable too

* Unrename sprite folder

* check itemcomponent on insertion

* Use SendMessage over Owner.SendMessage

* Add support for auto-recharging batteries, an auto-recharging cell, and make flashlight status update correctly if one is inserted in it.

* get rid of public fields which are Bad

* add a description for the stun baton while i'm in here

* one more public field

* Add the blinky animation to the atomic cell

* Fix the charge indicator being STUPID

* better comments

* this is a better function

* add pause for flashlight, remove unnecessary imports from battery

* potato battery copyright link

* WHO DID THAT

* mr clean has come

* Random pitch

* pausing

* round to nearest levels
2020-10-29 19:17:03 +01:00
DrSmugleaf
650e7385b9 Make InRangeUnoccluded methods consistent (#2420)
* Make InRangeUnoccluded methods consistent

* we live in a null society
2020-10-29 19:55:27 +11:00
DrSmugleaf
f6fbe41e7c Fix conveyors changing speed depending on the tick rate (#2424) 2020-10-29 19:53:31 +11:00
Remie Richards
cc6acae145 Mortician's Menagerie (#2391)
* Body bags!

* Morgue Trays and the Crematorium!
Reorganised body bags to be under Morgue, not Medical

* Fix. Things outside of EntityStorageComponents now use the Try*Storage() not just *Storage() methods - Allows mobs to be trapped in a morgue/crematorium whose tray can't open.

* Fix tests. Modernise component dependency and nullability.

* Update Content.Server/GameObjects/Components/Morgue/MorgueTrayComponent.cs

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-10-28 23:51:43 +01:00
Paul Ritter
6a0aa9b72f Singularity, Particle Accelerator & Radiation Collectors (#2169)
* basic radiation generator

* might need this

* thonk

* big thonk

* oop

* e

* werks

* sprite

* oopsy woopsy

* radiation

* clean up file

* makes it work, probably

* minor fixes

* resources

* progress on component

* this will no longer be necessary

* radiation go brrrr

* finally fix container issues

* out var

Co-authored-by: Remie Richards <remierichards@gmail.com>

* second out fix

* another out fix

Co-authored-by: Remie Richards <remierichards@gmail.com>

* switch case

* fix switch

* sound and improvements

* nullable

* basic containment field system

* ensure alignment

* fix beam placement logic

* field generation fully working

* fix potential crash

* working containment functionality

* extremely basic emitter functionality

* fix radiation panel naming

* emitter stuff

* oopsies

* fixes

* some fixes

* cleanup

* small fix and move emitter file

* add sprite resources for PA

* slight rework of the singulo
adds rads

* pushing for smugleaf :)

* added radiationpanels

* some fixes for the singulo

* containmentfield

* pa wip

* progress

* pa working

* emitter fix

* works :)

* ui works

* some work on ui & pa

* progress

* ui work & misc fixes

* GREYSCALE

* pa ui polish
containmentfieldgen rework

* singulo rework
added snapgrid

* getcomponent get out

* singulo rework
added collisiongroups underplating & passable

* yaml work:
- collision boxes
- singulo now unshaded

* no unlit

* misc changes

* pa wires

* add usability check

* nullable enable

* minor fix

* power need added

* reenables containment field energy drain
menu close button
singularity collider fix

* sprite replacement

* finished singulo pulling

* pjb fixes

* fixing sprites & minor adjustments

* decrease containmentfield power

* some yml adjustments

* unlit layers
singulogenerator

* singulogen

* everything works just not the powergetting on the pa
i wanna die

* Adds PA construction graphs, PA construction works

* Snap to grid parts when completing construction

* updated to newest master

* inb4 i work on power

* fixes upstream merge
adds power need to particleaccelerator

* properly implements power & apc power

* Emitters are now fancy.

* I have actually no idea how this happened.

* Give PA a wiring LayoutId

* PA is an acronym

* indicators
fixes hacking

* Singulo is a word you blasphemous IDE.

* Rewrite the PA.

* Fancy names for PA parts.

* Wiring fixes, strength wire cutting.

* fixes projectile & ignores components

* nullability errors

* fixes integration tests

Co-authored-by: unusualcrow <unusualcrow@protonmail.com>
Co-authored-by: L.E.D <10257081+unusualcrow@users.noreply.github.com>
Co-authored-by: Remie Richards <remierichards@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-28 19:19:47 +01:00
F77F
9b751fc079 Add weightlessness status effect. (#2384)
* Add weightlessness status effect.

* remove system, add new action

* Update Content.Shared/GameObjects/Components/Mobs/SharedWeightlessStatusComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Shared/GameObjects/Components/Mobs/SharedWeightlessStatusComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Shared/GameObjects/Components/Movement/MovementIgnoreGravityComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Shared/GameObjects/Components/Movement/MovementIgnoreGravityComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* fix paul's typo. does not run.

* add client side component

* move logic to eventbus

* remove client/server components and clean up code

* remove useless component, revert human.yml changes.

Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2020-10-29 00:52:39 +11:00
Víctor Aguilera Puerto
1f031ae842 Add extensions to EntityPrototype 2020-10-28 13:50:28 +01:00
DrSmugleaf
04cf4d4a20 Fix ignoreInsideBlocker not working correctly for inRangeUnobstructed and inRangeUnoccluded (#2417)
* Fix ignoreInsideBlocker not working correctly for range checks

* Other way around
2020-10-28 13:04:29 +01:00
DrSmugleaf
f785ec4efb Add pulling taking up a hand (#2405)
* Add pulling taking up a hand

* Revert unnecessary refactor
2020-10-28 10:16:40 +01:00
DrSmugleaf
10dc201704 Make pulled mobs not collide with other mobs (#2406) 2020-10-28 10:12:46 +01:00
DrSmugleaf
18572ed3f3 Fix pulling distance being too short (#2407) 2020-10-28 10:11:48 +01:00
Víctor Aguilera Puerto
870d052354 Gas tanks and masks (#2409)
Co-authored-by: a.rudenko <creadth@gmail.com>
Co-authored-by: creadth <creadth@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-27 20:53:44 +01:00
Víctor Aguilera Puerto
484eb0bba4 Botany (#2357)
* plants and seeds go brrrr

* update plants

* P L A N T

* brrrr

* Hydroponics actually work! How about that?

* Reuse resource path in visualizer

* They lied to us.

* Several stuffs

* more werk

* Add a bunch of plants

* Logs go brr.

* Brrr moment.

* Remove unused method

* Important comment.

* Seed inventory, yo!

* tomato moment

* Balance consumption

* Makes hydroponics pourable

* Adds plant metabolism effect for sugar, the same as glucose.

* Eggplant moment

* Apple moment

* Corn moment

* Chanterelle mushroom moment

* prototype tweaks

* Seed extractor moment

* typo

* IPlantMetabolizable doc improvement

* I should trust my gut instinct more often.

* egg-plant.....

* localization

* Make WaterLevel and NutritionLevel setters private

* Less code repetition! Wooo!
2020-10-26 23:19:46 +01:00
Peter Wedder
7c57d10531 Implement PDA ID lights (#2397)
* add PDA id light (yaml changes pending)

* the rest of the owl

* Do it better
2020-10-26 19:35:20 +01:00
DrSmugleaf
7dcaa1ff88 Fix being able to pull multiple entities at once (#2398) 2020-10-26 18:15:19 +01:00
DrSmugleaf
70867d88cc Today I join Zumorica in leaving behind our crimes against humanity (#2396) 2020-10-26 12:11:46 +01:00
DrSmugleaf
ebe8a82033 Add commands to show and hide organs inside bodies (#2292)
* Add seeing entities through containers and on the context menu and 4 commands

* Remove unused imports
2020-10-26 12:11:32 +01:00
DrSmugleaf
d460d2b64d Add a command and verb to attach a body part to yourself (#2372)
* Add attachbodypart command

* Make the slot name depend on the verb instead of the command
2020-10-25 23:16:57 +01:00
Víctor Aguilera Puerto
e98abd923c Fix crash related to reagent reactions 2020-10-21 23:08:31 +02:00
Víctor Aguilera Puerto
48841a274d Remove default grids (content) (#2241)
* Default grids go poof

* Address review

* Update submodule

* Fix DoAfterSystem for entities without grid.

* Fix SubFloorHideSystem for entities without grid.

* Fix ExplosionHelper for coordinates that aren't in a grid

* Fix TurfHelpers' GetWorldTileBox crash in the case of invalid grid

* Fix tile prying component crash when trying to pry space.

* Spill fixes when passing coordinates without grids.

* Are you static'in, son?

* Change SaveLoadSaveTest grid Id hardcoded value
It's still hardcoded, but at least now it's correct!

* Only send debug AI thing if grid is not invalid

* Update submodule.

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-21 17:13:41 +02:00
DrSmugleaf
7ad46ddabf Add arguments to part and mechanism event methods (#2293) 2020-10-19 15:23:59 +02:00
Víctor Aguilera Puerto
19d32eb4ce Removes AtmosCooldown from TileAtmosphere, fixes various atmos issues (#2297)
* Remove AtmosCooldown

* Fix former space tiles always having an immutable gas mixture

* _tile -> _tiles
2020-10-19 14:50:16 +02:00