Commit Graph

349 Commits

Author SHA1 Message Date
metalgearsloth
0dc6f98fa9 Gravity fixes (#2272)
* Adjust your rotation as you move (against walls and drifting)
* Can't use bullets / firelocks / items to push off of.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-16 15:29:29 +02:00
DrSmugleaf
bd30a73026 Add mechanism events when being added/removed to/from body/parts (#2271)
* Add mechanism events when added/removed to/from body/parts

* Change old usages

* Add TODO
2020-10-16 14:42:33 +02:00
DrSmugleaf
f8f1d24e28 Fix everyone being weightless (#2263)
The biggest oversight
2020-10-14 23:07:54 +02:00
DrSmugleaf
1098035fd9 Remove context menu from drag shadows (#2262) 2020-10-14 22:48:45 +02:00
DrSmugleaf
8548e939e2 Fix disconnecting discontinuing your adventures off into deep space (#2256)
* Fix stopping when disconnecting while weightless

* Use extension
2020-10-14 22:46:39 +02:00
DrSmugleaf
d9b3833577 Make pointing arrows not show up on the context menu (#2252) 2020-10-14 22:40:59 +02:00
DrSmugleaf
5fcd13d0e3 Add IEntity.IsWeightless extension method (#2255)
Checking manually every time wasn't that cool
2020-10-14 22:37:25 +02:00
DrSmugleaf
6bd29b4ed0 Nerf gasping and reenable metabolism (#2261) 2020-10-14 22:32:06 +02:00
DrSmugleaf
cdedaeb12e Refactor drag and drop to use a shared interface (#2012)
* WIP in progress hours

* Cleanup

* Fix bugle

* Fix nullable error

* Merge fixes

* Merge fixes

* Merge fixes
2020-10-14 15:24:07 +02:00
Exp
47ba7fc690 Crayons (#2132)
* -Added Crayons + CrayonBox
-Can set any crayon state and color
-Added CrayonDecals

* Allows to cycle through decals (not the final thing)

* ItemStatus

* -UI (WIP)
-Selection thing works
-Changed some shitty state names

* -Icons
-Changed decal name

* Pure Texture Grid

* Charges

* -Reach check
-Toggle interface on use

* Can't draw on windows anymore

* UI now shows selected decal and color

* -UseSound
-Nullable

* Remove unused imports

* -Rotation
-Made decal abstract

* Remove some duplicate images

* Space Cleaner cleans

* Loc Title

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Review adressed

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-10-13 13:40:05 +02:00
Víctor Aguilera Puerto
eb125b7d61 Adds different StackTypes for MV and HV cables, rename APC Extension Cable Coil to cable coil. 2020-10-12 14:16:05 +02:00
Víctor Aguilera Puerto
b38b152534 Click attack arcs no longer follow the player. Fixes #2079. 2020-10-12 13:18:11 +02:00
py01
77fa796a3b Rotatable Pumps (#2223)
* Pump textures

* PumpVisualizer enabled state

* Pump rotation

* Pump tests fix

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-10-12 13:02:57 +02:00
Víctor Aguilera Puerto
039f1219b3 Fix NRE in SharedCombatModeSystem when session doesn't have an attached entity. 2020-10-12 12:42:49 +02:00
DrSmugleaf
c029329070 Where is the brute pack officer (#2237)
* Fix roll of gauze texture

* Fix the id and stack type too

* Readd brute pack
2020-10-11 17:24:20 +02:00
DrSmugleaf
b64cb24059 Rename usages of collidable to physics (#2230)
* Rename usages of collidable to physics

* high tier PANIQUE

* aaaaaaaaAAAAAa

* cursed commit dont research

* Fix urist and items being anchored

* Fix the rest
2020-10-11 16:36:58 +02:00
DrSmugleaf
753ca81865 Replace MapIndices with Vector2i (#2228)
* Replace MapIndices with Vector2i

* Update da submodule

* AA EE II OO U U

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-11 15:21:21 +02:00
DrSmugleaf
ba4c596195 Add InRangeUnoccluded extension methods (#2224)
* Rename RangeExtensions to UnobstructedExtensions

* Add InRangeUnoccluded extension methods
2020-10-11 13:13:45 +02:00
metalgearsloth
ab2149abf0 Adds yeeting to disposal bins (#2218)
* Adds yeeting to disposal bins

Kobe

* Thanks zum

* ?

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-11 13:13:34 +02:00
DrSmugleaf
dd385a0511 Change all of body system to use entities and components (#2074)
* Early commit

* Early commit 2

* merging master broke my git

* does anyone even read these

* life is fleeting

* it just works

* this time passing integration tests

* Remove hashset yaml serialization for now

* You got a license for those nullables?

* No examine, no context menu, part and mechanism parenting and visibility

* Fix wrong brain sprite state

* Removing layers was a mistake

* just tear body system a new one and see if it still breathes

* Remove redundant code

* Add that comment back

* Separate damage and body, component states, stomach rework

* Add containers for body parts

* Bring layers back pls

* Fix parts magically changing color

* Reimplement sprite layer visibility

* Fix tests

* Add leg test

* Active legs is gone

Crab rave

* Merge fixes, rename DamageState to CurrentState

* Remove IShowContextMenu and ICanExamine
2020-10-10 15:25:13 +02:00
metalgearsloth
aba9b0e3f9 Make DoAfter visible to all (#2183)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-10 13:59:17 +02:00
DrSmugleaf
fe39b5fb71 Make portals use ICollideBehavior and set collidable.Hard to false (#2186) 2020-10-10 13:32:42 +02:00
DrSmugleaf
aa6e0e7539 Add SSS traitor label and fix ally sync (#2200) 2020-10-09 18:57:09 +02:00
py01
970f3bc82f Pipe prototypes (#2124)
* Pipe prototypes

* PipeDirection setter

* IRotatableNode

* NodeContainer passes rotation events to its nodes

* Removes duplicate pipe prototypes that are rotations of each other

* PipeDirectionHelpers

* PipeNode rotation

* icon removal

* Pipe icons

* Icon fix

* Fixes pipe sprites and icons

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-10-08 17:53:56 +02:00
Víctor Aguilera Puerto
745401a41e Data-oriented Construction System (#2152)
- Powerful
- Data-oriented
- Approved by PJB
- Powered by node graphs and AI pathfinding
- Coded by the same nerd who brought you atmos

Co-authored-by: Exp <theexp111@gmail.com>
2020-10-08 17:41:23 +02:00
20kdc
4b9d488c1e The Grovelling-to-the-Chef Games (monkey cubes and meat spikes) (#2117)
* Rehydratable component -> monkey cubes now have some of their behaviour

* Placeholder kitchen spike entity

* KitchenSpike component: the kitchen spike now has basic functionality

still placeholder sprite though

* Kitchen Spike: Import meatspike assets from CEV-Eris

* Kitchen Spike: Actually use sprites somewhat

* Kitchen Spike: Forgot I removed the MeatParts property from Butcherable

* Monkey cubes: Use IReagentReaction even though it doesn't quite work yet. Butcherable: remove imports

* Monkey cubes/Rehydratable: Re-add ISolutionChange

* Update Resources/Prototypes/Entities/Constructible/Ground/kitchen.yml

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-09-26 15:28:55 +02:00
Paul Ritter
84ce845ea3 Nanotrasen Block Game is here (#2131)
* tetris!

* softdropping & left,right key holding

* started work on the ui

* playable state

* there you go exp

* multiuser rework

* ui update refactor

* blockgame™️

* highscores, keybindings, ui refactor

* speed adjusts
leveling

* highscorebackground tweak
speed tweak

* NULLABLE

* yes
2020-09-26 15:25:22 +02:00
Pieter-Jan Briers
33bed9a31e InRangeUnOccluded. 2020-09-24 18:18:50 +02:00
Paul Ritter
2a1b90a0eb Arcade fun - Ports over /vg/s SpaceVillain arcade game (#2125)
* arcade fun

* stuff

* removed unused using statements
added sound feedback
win check fix
reworked ui a bit

* description rework

* windowopen bug fixed

* adds rewards, cool!

* for unusualcrow

* fixes

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-09-23 14:30:31 +02:00
Víctor Aguilera Puerto
31e0dfc10c Adds FlammableComponent, humans can now catch on fire. (#2115) 2020-09-22 15:40:04 +02:00
Víctor Aguilera Puerto
4c34a12c67 Adds IThrowCollide, Creaming people with cream pies and tactical stun baton throws (#2122) 2020-09-22 15:34:30 +02:00
Víctor Aguilera Puerto
69059eac80 Adds new different reaction types. (#2114)
* Adds new different reaction types.
- Adds touch, injection and ingestion reactions for entities.
- Adds tile reactions.
- Removes GasSprayerComponent in favor of SprayComponent.
- Gives fire extinguishers a safety.
- Gives spray puffs a sprite.
- Improved spray and fire extinguisher in general.
- Fire extinguisher now ACTUALLY puts out fires. Amazing, eh?
- Fire extinguisher sprays three 'clouds' at once.
- Spraying flammable chemicals at fire makes them worse. Whoops!
- Gives spray and fire extinguisher their classic sounds.
- Most chemicals now don't make puddles. Too bad!
- Space lube now makes a very slippery puddle. Honk.
- Spraying water (or using a fire extinguisher) on existing puddles makes them bigger.

* Fix solution tests

* food base now has solution container with noexamine caps
2020-09-21 17:51:07 +02:00
Exp
8238a89190 Gives the gas analyzer visual clues that it's open (#2110)
* Gives the gas analyzer visual clues that it's open

* Read Visualizer states from yaml
2020-09-21 11:39:17 +02:00
Víctor Aguilera Puerto
6ec2939f15 Refactors radiation (#2009)
* Work on refactoring radiation.

* mmmm grayons

* fixes

* Now you can specify whether the pulse will decay or not

* whoops

* Move IRadiationAct to shared, make DamageableComponent implement it instead and add metallic resistances to walls

* General improvements, send draw and decay with state. Rename DPS to RadsPerSecond

* E N T I T Y  C O O R D I N A T E S

* Entity coordinates goood

* Remove unused using statements

* resistances: metallicResistances

* - type: Breakable moment

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-21 01:49:40 +02:00
20kdc
da463097f0 Atmos debug helpers (#2108)
* Atmos debug overlay

* Pressure direction information

* Atmos debug overlay: show excited tiles
2020-09-21 01:13:17 +02:00
DrSmugleaf
74943a2770 Typo, redundant string interpolation, namespaces and imports cleanup (#2068)
* Readonly, typos and redundant string interpolations

* Namespaces

* Optimize imports

* Address reviews

* but actually

* Localize missing strings

* Remove redundant vars
2020-09-13 14:23:52 +02:00
Swept
d9f965a49b Removes exosuit slot (for now!!!) and rearranges inventory UI again. (#1975) 2020-09-13 14:05:02 +02:00
py01
b288975cb7 Siphon and Vent Visualizers (#2062)
* scrubber sprites

* vent sprites

* Vent visualstate

* scrubber visual state

* Vent and siphon respect being disabled

* Vent and Siphon Visualizer

* Fix typo

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-12 14:26:50 +02:00
nuke
753a627c75 Add text coloring for inspected solution containers, code cleanup (#2010)
* Initial commit

* remove helper

* fixes

* small fix
2020-09-10 00:32:31 +02:00
creadth
7baa0a4391 Fire damage (#2024)
* Moved the uplink creation code to the PresetSuspicion.Start method to ensure uplink created when we give the traitor role
Moved the starting TC balance to cvars

* Added component to handle interaction with Atmospheric system
Added damage from high and cold temperature

* renamed AtmoExposable to AtmosExposed
moved AtmosExposed updates to its own system
refactored TemperatureComponent
renamed fire to heat
added null check for Air
added self-heating and self-cooling to body system

* small refactoring for checking on airless tile in MetabolismComponent

* Added component to handle interaction with Atmospheric system
Added damage from high and cold temperature

* renamed AtmoExposable to AtmosExposed
moved AtmosExposed updates to its own system
refactored TemperatureComponent
renamed fire to heat
added null check for Air
added self-heating and self-cooling to body system

* small refactoring for checking on airless tile in MetabolismComponent

* Removed Pressure property from BarotraumaComponent
Changed CanShiver method to match style of other CanX method in ActionBlockerSystem

* Merged EntityCoordinates and changed components to reflect the change

* Fix typo

* Wrapped string to Loc.GetString
Added CanSweat
Refactored dead state check
2020-09-09 17:03:27 +02:00
Exp
5120627ca2 Makes more fields VV (#2026)
* Some more VV

* Fixed build & some more gun vvs

* Added VendingMachine Inventory & Items
2020-09-08 13:30:22 +02:00
DrSmugleaf
48b61f6bcc Replace every usage of GridCoordinates with EntityCoordinates (#2021)
* Update RobustToolbox

* Transition direct type usages

* More updates

* Fix invalid use of to map

* Update RobustToolbox

* Fix dropping items

* Rename name usages of "GridCoordinates" to "EntityCoordinates"

* Revert "Update RobustToolbox"

This reverts commit 9f334a17c5908ded0043a63158bb671e4aa3f346.

* Revert "Update RobustToolbox"

This reverts commit 3a9c8cfa3606fa501aa84407796d2ad920853a09.

# Conflicts:
#	RobustToolbox

* Fix cursed IMapGrid method usage.

* GridTileLookupTest now uses EntityCoordinates

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
2020-09-06 16:11:53 +02:00
nuke
c3630b7301 Glowsticks, flares and lighting behaviours (#1886)
* Assets

* LightingBehaviours, flares, and such.

* More changes

* More changes, more flare work.

* More work on flares + light behaviours

* another refactor

* missed

* Light behaviours refactor, added sfx, improved graphics, improved lighting effects for glowstick and flare.

* remove unneeded value

* nullables

* remove old code

* nullable

* one last push

* net id

* more work

* more colors for glowsticks

* Adjust flare so it fades in

* fix name

* sprite fix
2020-09-03 22:02:40 +02:00
creadth
b8bf100277 Feature/1754 kill player on body parts missing (#2014)
* Moved the uplink creation code to the PresetSuspicion.Start method to ensure uplink created when we give the traitor role
Moved the starting TC balance to cvars

* Added isVital flag for body parts
Automatically killing creature if last vital body part removed
Marked head as vital part
2020-09-03 20:35:39 +02:00
DrSmugleaf
5f79d3e31d Fix the health status effect not showing after spawn (#2013) 2020-09-03 20:17:30 +02:00
Víctor Aguilera Puerto
2294c32235 Merge branch 'master' into 2020-08-31-click-attack 2020-09-02 15:12:17 +02:00
SoulSloth
e40e3fa267 Cloning (#1932)
* Add art assets for cloning

* Added a 'Scan DNA' button to the medical scanner

* Made the UI update unconditional for the medical scanner until checks for power changes are in place

* Update Medical scanner to reflect powered status and fix #1774

* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state

* Add disabling logic to 'Scan DNA' button on medical scanner

* Removed un-used libraries

* changed scan dna button to Scan and Save DNA

* Added cloning machine code infrastructure copied from Medical Scanner

* Added a list to cloning menu containing some numbers

* Cloning Machine UI sends a message to the cloning component with the entityUID

* New scans now show up in cloning pod menu

* fixed cloning machine collision shape

* cloning machine can now spawn the right player profile assuming the attatched entity is still correct.

* refactored cloning system to use a map of integer ids to player Minds

* Added a return to body cloning loop for the ghost

* Fixed warning for _playerManager being possibly null, added TODO note for ghost return to body button acting as a toggle

* removed #nullable from cloningMachineWindow"

* Trying to get rid of nullable error

* fix CloningMachine to not initilize with it's owner components

* updated CloningMachine server component to play nice with the new nullable rules

* replace flag with eventBus message for sending a ghosts mind to a clone body

* Refactor cloning so that a popup option is used to get user consent for cloning

* Refactoring

* Reverting unused changes for cloning component

* Added proper cloning pod sprites and a visualizer so 'idle' and 'cloning' states are properly reflected

* added missing robust toolbox contents

* Added cloning NoMind State and made cloning take time

* Added cloning progress bar and mind status indicator to cloning pod

* Added missing localization calls, removeed 'returned to cloned body' from ghostUI

* Added unsubscribe for cloningStartedMessage in Mindcomponent.cs OnRemove

* Added eject button to cloningMachine and clamped the cloning progress bar to 100%

* Added condition to eject body on cloningmachine so bodies can't be ejected until cloning is done

* Add click-dragOn functionality to the medical scanner for things with a bodyManager

* Messed with scan query so it doesn't fail on dead bodies as long as Mind still owns the mob

* refactored clonning scan check on medical scanner so it doesn't do a linq query

* merge with rogue toolbox

* Change the name of Cloning Machine to the less generic Cloning Pod

* Changed Cloning Pod so it pauses cloning while the power is out

* Removed the evil LocalizationManager from the cloning menus and used the static Loc instead

* removed localization dependency from bound accpetCloning user interface

* Removed Ilocalization dependency I accidentally added to ghost ui

* Update Content.Client/GameObjects/Components/MedicalScanner/MedicalScannerComponent.cs

Co-authored-by: Exp <theexp111@gmail.com>

* Changed null check to tryget in case for cloning UiButton.Clone

* Parameterized Cloning time on serverside component

* tried to reset Robust toolbox module to current master

* Added null check to ghost client component message handling, unsubscribe to the mind component listening to the cloning question ui, fixed _clonningProgress typo, moved CloningPod component dependencies to actually be dependencies, removed un-needed disposals of cloning windows, added disposals missing in boundUserInterfaces.

* Reset submodule

* corrected exception for cloning pod visualizer to refer to cloning pod state and not medical scanner state

* Fix typo

* Unsubscribe from onUiReceiveMessage in mindcomponent in the onRemove function, not the acceptcloningui function

* unsubscribe from OnUiReceiveMessage in CloningPodComponent

* unssubscribe from ghostreturn message in cloningpodComponent onRemove

Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-02 12:07:54 +02:00
Moses
6a4b856961 Extinguisher cabinet (#1976)
* 1779 Add extinguisher cabinet base item, rsi, and class based on potted plant

* Pretty much the rest of the owl

* Allow construction

* no more deconstruction

* pr fixes
2020-09-02 01:41:35 +02:00
DrSmugleaf
e0928d78e0 Make verbs be created through IDynamicTypeFactory
To allow for dependencies to be declared on them
2020-09-01 21:11:17 +02:00
DrSmugleaf
8f9ed2f562 Replace usages of ISharedNotifyManager and IServerNotifyManager with extension methods (#1965)
* Replace usages of ISharedNotifyManager and IServerNotifyManager with extension methods

* Remove redundant code
2020-09-01 12:34:53 +02:00