Commit Graph

171 Commits

Author SHA1 Message Date
qrwas
6d935ced3a Only sec glasses can show contraband: second attempt (#36412)
* Add base code for cheking contraband in hud

* Fix missing using in InventorySystem.Relay

* Fix errors and update HUD yml

* Add show contraband with component on entity

* fix component description

* Update Content.Shared/Contraband/ShowContrabandDetailsComponent.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update "if" for check if ent hasComp in contrabandSystem

* Remove << InventorySystem.Relay.cs

* Update Content.Shared/Contraband/ShowContrabandDetailsComponent.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/CCVar/CCVars.Game.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Fix partial class ShowContrabandSystem

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Contraband/ShowContrabandDetailsComponent.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Inventory/InventorySystem.Relay.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Some update ShowContrabandSystem

* Try with record struct

* back again ti default class with EntityEventArgs

* Remove EntityEventArgs

* Finally use record struct

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-26 17:06:34 -04:00
Tayrtahn
441083e906 Fix warning CS0414 instances (#36832)
Fix warning cs0414 instances
2025-04-23 01:36:49 +02:00
metalgearsloth
64cd180556 Update submodule to 254.1.0 (#36711)
* Update submodule to 254.1.0

* API update
2025-04-19 17:29:32 +10:00
metalgearsloth
4682149e74 Predict virtual hands and co (#36617)
These are the easy ones anything else gets slightly spicier.
2025-04-19 16:51:12 +10:00
SlamBamActionman
a44baec417 Fix forensics not being applied to held items (#30609)
* Initial commit

* Fix merge changes

* sloth comment: bitmask

* fix MIA parameter

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-04-18 21:02:41 -04:00
UpAndLeaves
1c7e6592e9 Zombification resistance rework (#36485)
* initial commit

* Commit cuz beck said so 👍

* Implement balance changes, and revert some stuff

* fix yaml test real

* Added full stop, ensured display of infection chance, buffed biosuit speed

* Maint reviews, I commit

* Review completed, winter coats nerfed, CMO bio suit removed for future PR

* Final-final commit-REAL (2)-COPY
2025-04-16 14:21:45 -04:00
BramvanZijp
cf14cb3eb5 The long overdue downfall of stun meta - Stamina resists on Nukie & ERT Suits. (#35580)
* Add stamina damage resistance

* Probably starting a civil war within the community.

* Tweak some values, my chart was outdated.

* Tone down the values

* Allow a way to bypass the resistances, which forks downstream can use.

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Comment out the changes to non-deathsquad suits.

* minor text fix e

* review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 17:27:26 +02:00
Pieter-Jan Briers
843d79be5f Fire extinguishers can now extinguish items, including when held/worn (#36267)
* Fire extinguishers now put out candles

This did not actually require any changes to flammable or extinguishers directly, the only necessary changes were to make the collision actually work.

Vapor entities (also used for fire extinguishers) now have a collision layer, so they can hit items.

Added a new FlammableSetCollisionWake component to actually enable collision on candles while they are lit, because otherwise CollisionWake on entities gets in the way too.

* Extinguishing items is now relayed to held/worn items

This means held candles get extinguished too.

Involved moving the core logic of ExtinguishReaction into an event so that it can be relayed via the existing hand/inventory relay logic.

* Add helper functions for subscribing to relayed events.

Use these in FlammableSystem

* Make extinguishers work on cigarettes too

A bunch of renaming to make the rest of my code work with SmokableComponent

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-04-14 19:00:47 +10:00
beck-thompson
fc0a6dfdb3 Cleanup and small update to the stethoscope! (#36210)
* First commit

* Address most of the review!
2025-03-30 22:27:08 -04:00
Tayrtahn
86aa82f2b6 Cleanup: Remove redundant prototype name specifications (#35793)
* Remove redundant prototype name specifications

* These can stay
2025-03-19 19:30:31 +01:00
Tayrtahn
6f925dd610 Fix prototypes so they pass analyzer checks (#35435) 2025-02-24 15:21:59 +11:00
TemporalOroboros
66ff1aa37d Fix references to obsolete TryGetContainingContainer override (#34912) 2025-02-11 06:08:17 +01:00
themias
eb1f84600d Pulled item interaction fix (#34587) 2025-02-11 14:29:37 +11:00
Zachary Higgs
9d48f66a61 Create a Armor CoeffientQuery (#35024)
* Create a Armor CoeffientQuery

- add Armor Coefficent Query Event for InventoryRelay system

* CR - cleanup, comments and fix typos

* CR - Remove Whitespace

* typos

* on't

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2025-02-10 15:51:44 +01:00
Milon
3a51f11cb2 make RefreshOverlay default to the player session (#32354) 2025-01-30 16:09:25 +11:00
DrSmugleaf
5a751a820a Fix admin ghosts not being able to see items in pockets or interact with them (#31076)
* Fix admin ghosts not being able to see items in pouches or interact with them

* fix

* oops

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-11-22 03:56:05 +01:00
beck-thompson
da4fa9bea9 Clumsy system refactor (#31147)
* First commit

* Fixes

* Added the noise

* Renames

* Timespan

* Fixed space

* entity -> ent

* This shouldn't work

* opps....

* Datafield name change

* Better comments

* small comment

* Personal skill issue

* Event renames and stuff

* Couple fixes

* Defib ref fixes (Silly me)

* Added clumsy back!

* no hard code clumsy!

* Identity fix

* Event name change

* Comment change

* Function name change

* opp

* Update names

* Damage stuff!

* Fixes!

* Fixes

* opps

* This was hidden away!!

* negative diff feeds me
2024-11-16 00:46:01 +01:00
Pieter-Jan Briers
1bebb3390c Borg type switching. (#32586)
* Borg type switching.

This allows borgs (new spawn or constructed) to select their chassis type on creation, like in SS13. This removes the need for the many different chassis types, and means round-start borgs can actually play the game immediately instead of waiting for science to unlock everything.

New borgs have an additional action that allows them to select their type. This opens a nice window with basic information about the borgs and a select button. Once a type has been selected it is permanent for that borg chassis.

These borg types also immediately start the borg with specific modules, so they do not need to be printed. Additional modules can still be inserted for upgrades, though this is now less critical. The built-in modules cannot be removed, but are shown in the UI.

The modules that each borg type starts with:

* Generic: tools
* Engineering: advanced tools, construction, RCD, cable
* Salvage: Grappling gun, appraisal, mining
* Janitor: cleaning, light replacer
* Medical: treatment
* Service: music, service, clowning

Specialized borgs have 3 additional module slots available on top of the ones listed above, generic borgs have 5.

Borg types are specified in a new BorgTypePrototype. These prototypes specify all information about the borg type. It is assigned to the borg entity through a mix of client side, server, and shared code. Some of the involved components were made networked, others are just ensured they're set on both sides of the wire.

The most gnarly change is the inventory template prototype, which needs to change purely to modify the borg hat offset. I managed to bodge this in with an API that *probably* won't explode for specifically for this use case, but it's still not the most clean of API designs.

Parts for specific borg chassis have been removed (so much deleted YAML) and specialized borg modules that are in the base set of a type have been removed from the exosuit fab as there's no point to printing those.

The ability to "downgrade" a borg so it can select a new chassis, like in SS13, is something that would be nice, but was not high enough priority for me to block the feature on. I did keep it in mind with some of the code, so it may be possible in the future.

There is no fancy animation when selecting borg types like in SS13, because I didn't think it was high priority, and it would add a lot of complex code.

* Fix sandbox failure due to collection expression.

* Module tweak

Fix salvage borg modules still having research/lathe recipes

Engie borg has regular tool module, not advanced.

* Fix inventory system breakage

* Fix migrations

Some things were missing

* Guidebook rewordings & review

* MinWidth on confirm selection button
2024-11-14 11:08:35 -06:00
SlamBamActionman
55861b4fcf [#28722 fix] Add notification for dependent wearables being dropped (#33078)
* add notification for dependent wearables being dropped

* fix dropped item popup redundancy
- did a check to see if any item was dropped, instead of making a notification for each item being dropped.

* change popup to client-only variant

* fix redundant messages, add plural locale string

* fix conventions, fix locale input to be more intuitive

---------

Co-authored-by: Justin <justinbrick1@gmail.com>
2024-10-31 15:12:26 +01:00
metalgearsloth
bc461b91a5 Predict stripping (#32478)
* Predict stripping

Stops mob verbs from getting moved around again.

* Bola

* Fix ftl
2024-09-27 17:12:10 +10:00
beck-thompson
fe2145d3b9 Voice Mask refactor (#30798)
* First commit

* Added base.Initialize()

* Voice wire fix (Electricty name)

* Various minor cleanups

* Localized default voice mask name

* Added VoiceOverride stuff

* Removed unused stuff

* Typo

* Better localized stuff

* Typo / spelling stuff / comments

* Blessed
2024-09-26 18:55:59 +02:00
SlamBamActionman
9ee43eed2c Add Galoshes slowdown over slippery surfaces (#30967)
* first draft

* Fixed it all, just need to rename stuff

* Rename and add comments

* Clean-up

* Access added
2024-08-23 19:59:51 +10:00
Nemanja
5c21b4e174 Small strange jackboots buff (#30586)
* Small strange jackboots buff

* Update ClothingSlowOnDamageModifierComponent.cs
2024-08-22 10:56:46 -04:00
DrSmugleaf
7e3b9fb2fe Allow a specific hand to be passed into TrySpawnVirtualItemInHand (#31124) 2024-08-18 20:42:22 -06:00
Nemanja
fc1446e73a Cursed Mask (#29659)
* Cursed Mask

* extra expressions

* block ingestion

* mind returning

* okay fix the removal shit
2024-08-10 11:14:58 -04:00
Plykiya
b266c9b545 Create Generic DamageOnInteract/Attacked Comps/Systems (#30244)
* Everything but the submodule

* stuff I forgot

* heat

* missed lights

* behonky

* LocId

* I guess it was a skill issue?

* predicted audio

* It works with lights now

* Borg equality

* Gorilla gauntlet grants protection from anomaly returned damage when attacking it

* woops, there we go

* NONE

* Use DamageModifierSets, remove Behonker damage

* Reviews dealt with

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 15:32:41 +10:00
Plykiya
190ceda02e Add BreakOnDropItem, update do afters, remove unnecessary declarations (#30361)
* Add BreakOnDropItem, update do afters, remove unnecessary declarations

* bola

* Changed my mind about the nuke

* gennies too

* Make the comments more clear.

* Sorry for the trailing commas

* Revert "Sorry for the trailing commas"

This reverts commit e60fd9a30977393df3344948e6d5c0ce035723cd.

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-08 13:39:46 +02:00
Ed
918709cb47 Displacement maps big update (#30093)
* split logic into own system

* add support for different size displacement maps

* some clothes may not use displacement maps

* displacement maps spport hand sprites

* Update DisplacementMapSystem.cs

* rename things

* fuck stencilmask

* fix bugs

* no masks

* Update jumpsuits.yml

* fix species specific sprites

* Update ClothingSystem.cs

* shoes + ears displacement, some bugfix

* Update DisplacementMapSystem.cs
2024-07-23 12:04:09 +03:00
themias
a0052c5b09 Prevent virtual item storage and popups (#30020)
* Prevent virtual item storage and popups

* fix typo

* add comment
2024-07-15 00:08:39 +10:00
Plykiya
6c1d1057d5 Replace DetachParentToNull() with DetachEntity() (#29992)
DETACH PARENT TO ENTITY

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-13 20:59:33 +10:00
themias
60ef7848fb Fix wielding while pulling (#29781) 2024-07-07 13:49:55 +10:00
Errant
9e4b8077f3 suit storage whitelist code (#29332)
suit storage whitelist
2024-06-28 11:11:43 -04:00
Tayrtahn
89a9f07c3a Add a system for modifying entity names without causing conflicts (#27863) 2024-06-16 15:38:53 -04:00
Nemanja
748e5831e8 Add moon boots (#29009) 2024-06-14 20:43:23 -07:00
Plykiya
c5ff647ca6 Replace obsolete EntityWhitelist IsValid usages part 2 (#28506) 2024-06-03 17:40:03 -04:00
Leon Friedrich
76e13eed35 Improve InteractionSystem range & BUI checks (#27999)
* Improve InteractionSystem range & BUI checks

* Ghost fixes

* AAA

* Fix test

* fix nullable

* revert to broadcast event

* Fixes for eengine PR

* Ah buckle code

* )
2024-05-24 15:03:03 +10:00
DrSmugleaf
594a898260 Fix whatever the fuck is going on in storage system slightly (#28236)
* Fix whatever the fuck is going on in storage system slightly

* Fix inverted check

* h

* Add silent bool

* Silent
2024-05-23 18:23:55 -07:00
DrSmugleaf
3d41d5f2bc Make wielding automatically drop the item on your other hand (#27975)
* Make wielding automatically drop the item on your other hand

* Fix docs

* Remove redundant parameter

* Fix not deleting virtuals on fail

* Make count freeable hands method

* Add popup when dropping item
2024-05-18 18:35:46 -07:00
Nemanja
03af7fcdc1 fix weird behavior with storage HUD buttons (#27961) 2024-05-13 11:07:52 +10:00
Джексон Миссиссиппи
da2b9afc3a Make suit storage only available for hardsuits, softsuits, and armor (#27546)
* AAAAAAAAAAAAdd!

* o shit

* I FUCKING HATE INDENTATION GRAAAAAAAAAH
2024-05-09 20:19:07 -06:00
Errant
f64dd5f45f Space Ninjas auto-toggle internals after spawning (#25083)
* fix engine version

* actually fix engine version

* Automatically activated breathing masks

* weh

* who needed that component anyway

* check if internals are already running

* Update Content.Server/Atmos/Components/BreathToolComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Body/Systems/InternalsSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* prediction

* record struct event

* remove delayed activation, instead ensure that masks spawn last

* leftover

* engine version

* re-implement

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-05-03 11:24:21 +10:00
Plykiya
0efcd30ac6 Hardsuits, EVA suits, Firesuits, and others now protect your feet from Glass Shards (#26764)
* Hardsuits and softsuits count as having shoes for step triggers

* Add softsuit tag prototype

* Change to suitEVA tag

* Get rid of softsuit tag, found suitEVA tag

* Full pass of ShoesRequiredStepTriggerImmune

* Adds check to outerClothing for ShoesRequiredStepTriggerImmune

* return

* fuck Dionas

* Convert to comp, space dragons immune as well

* Merge conflict

* Merge conflict

* fix leftover tags

* empty spaces

* turns out the dragon didn't need it

* minor optimization

* Add access for system, add comp to baseShoes, check slotflags for every slot besides pockets

* fix

* fuck it we ball

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-28 17:11:46 +10:00
Ed
f079e77554 Displacement maps now works on any layers (#27405)
* try

* pipupi

* Update ClientClothingSystem.cs

* Update vox.yml

* Update ClientClothingSystem.cs
2024-04-28 12:35:40 +10:00
Pieter-Jan Briers
2f7d0dedbd Displacement map prototype (#26709)
Requires https://github.com/space-wizards/RobustToolbox/pull/5023

This uses the new engine features (above) to add a displacement map shader. This allows deforming a sprite based on another sprite.

Primary use case is automatically adapting human clothing sprites to different species, something we want to make species like Vox a reality.

A basic example of wiring this up with Vox has been added. The system is however incredibly simple and **will** need more work by a content developer to select and toggle displacement maps when appropriate. I am leaving that to somebody else. For example right now the displacement map is applied even if a species already has custom-fit sprites for a piece of clothing, such as the grey jumpsuit for Vox.

Basic Aseprite plugins to help with authoring displacement maps have also been made.
2024-04-27 16:03:58 +10:00
Nemanja
161fd6c83c Mega Antag Refactor (#25786)
* Mega Antag Refactor

* last minute delta save

* more workshopping

* more shit

* ok tested this for once

* okkkkk sure

* generic delays for starting rules

* well darn

* nukies partially

* ouagh

* ballin' faded and smonkin wed

* obliterated the diff

* Spread my arms and soak up congratulations

* I've got plenty of love, but nothing to show for it

* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity

* ok this junk

* OOK!

* fubar

* most of sloth's review

* oh boy

* eek

* hell yea!

* ASDFJASDJFvsakcvjkzjnhhhyh
2024-04-25 11:31:45 +10:00
Tayrtahn
50631f430d Add clothing equipped/unequipped events (#27155)
* Added ClothingGotEquipped/ClothingGotUnequipped events

* Better version

* Implemented in a few places

* More implementations

* Add ClothingDidEquipped/ClothingDidUnequipped events
2024-04-21 11:00:50 -04:00
DrSmugleaf
3c6722bd6f Move storage binds and slot click handling to shared (#27135) 2024-04-20 16:23:45 +10:00
Nemanja
e5a5196b1f make filled inventory slots blank (#27150)
* blank filled slots

* Update InventoryTemplatePrototype.cs
2024-04-20 13:17:29 +10:00
Krunklehorn
460b588de5 Refactor status icons take 2, cyborgs don't see criminal status (#26207)
* Initial commit.

* review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-04-18 13:20:44 +10:00
nikthechampiongr
362d56981f Simplify DoAfterArgs behavior for movement and distance checks (#25226)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.

* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.

* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.

* Fix issue introduced by merge.

* Use interaction system for determining whether a distance is within range

* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.

* Exorcise ghost.

The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.

* Exorcise ghost Pt. 2

* Allow for movement check to be overriden in zero g and adjust doafter args where needed.

You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars

* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.

* Fix evil incorrect and uneeded comments
2024-03-19 21:09:00 +11:00