Commit graph

6099 commits

Author SHA1 Message Date
Hannah Giovanna Dawson
891f5a8f6b
LaunchOnTriggerComponent (#39871)
* LaunchOnTriggerComponent

Launches an object when a trigger on that
object is caused. The launch will be a certain
amount of force. The direction of the force
will be in the direction the object is facing.

* Fire stationary objects in the direction they're facing

* EVIL

* LESS EVIL

* Resolve @ScarKy0 comments
2025-10-24 21:18:08 +00:00
āda
48e2b2d263
Delete FoodComponent, migrate prototypes to EdibleComponent (#41070)
* yml

* yml fixes

* cs

* document regression

* comment

* organs fix

* diona consistency

* push

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-24 18:32:14 +00:00
TheGrimbeeper
dd9a1de77f
Fix radiation damage being misattributed to radiation receiver (caused artifacts to not be triggered by ambient rads) (#41065)
* Xenoartifact: Fixed ambient radiation damage not triggering

Fixed ambient radiation damage not triggering artifact.

* Revert "Xenoartifact: Fixed ambient radiation damage not triggering"

This reverts commit 30e5c7cdb49c15574b49ddd1a1f7b1768abd2614.

* Fix radiation damage misattribution
2025-10-24 09:10:19 +00:00
slarticodefast
da5e72d43e
Fix wielding two-handed items with only one hand (#40966)
* fix

* review
2025-10-24 07:25:42 +00:00
Princess Cheeseballs
d4a32ce502
Mild Entity Effect/Condition Cleanup (#41059)
* Commit

* ploop

* borger

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-23 23:35:59 +00:00
slarticodefast
6159801442
Predict DestructibleSystem Part 2: First batch of entity effects (#41039)
* first batch

* fix name

* fix
2025-10-23 10:33:30 +00:00
Uberration
cbb7c84fda
Fix: LockSystem - HasUserAccess - Set DenyReason Localization Text Properly (#41012)
* Update AccessReaderSystem.cs

Fixes #40987
Related to PR #40883

Set DenyReason in CheckUserHasLockAccessEvent when access is denied to display "Access denied." popup to users. Uses ??= to avoid overriding reasons from possible systems.

* RE-FIX: Localize default deny reason in LockSystem.HasUserAccess

The default deny reason was being passed as a localization key string instead of being localized before display.

* Re-added null coalescing operator

Per maint request
2025-10-23 04:58:18 +00:00
SlamBamActionman
c6352786f1
Add doafter to filling the hypopen (#40538)
* Initial commit

* Small QOL buff

* Review changes

* Ch-ch-ch-ch-chaaaanges

* Review changes

* oops

* Oh ya fix the fill thing

* cleanup warnings make a few more private methods

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-21 22:05:44 +00:00
Princess Cheeseballs
4aac3dbc9d
Fix Being Drunk! (#41002)
* Drunk moment

* push

* fix test fails + a smidge of cleanup

* two smidges of cleanup

* Unpredicted so don't need the workaround

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-21 20:12:36 +00:00
Kyle Tyo
1250b388f3
Mosin be tested, Verin be breaded. (#40957)
* Create WeaponSniperTests.cs

* Update SharedGunSystem.cs

* requested changes.

* Update WeaponTests.cs

* rerun tests

* Update WeaponTests.cs

* Update WeaponTests.cs

* Update Content.IntegrationTests/Tests/Weapons/WeaponTests.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-21 15:40:41 +00:00
Perry Fraser
5a0a984aa8
fix: make IdentityComp.IdentityEntitySlot optional (#39357)
* fix: make IdentityComp.IdentityEntitySlot optional

* Revert "fix: make IdentityComp.IdentityEntitySlot optional"

This reverts commit fa25263be916ed142bf2cff9871fca3e64c6da2b.

* fix conflicts

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-21 15:33:59 +00:00
Fildrance
0a0806ac78
Feature/door remote radial (#36378)
* it works! kinda

* so it works now

* minor cleanup

* central button now is useful too

* more cleanup

* minor cleanup

* more cleanup

* refactor: migrated code from toolbox (as it was rejected as too specific)

* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame

* refactor: major reworks!

* renamed DrawBagleSector to DrawAnnulusSector

* Remove strange indexing

* Regularize math

* refactor: re-orienting segment elements to be Y-mirrored

* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button

* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.

* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters

* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly

* fix: enabled any functional keys pressed when pushing radial menu buttons

* fix: radial menu sector now scales with UIScale

* fix: accept only one event when clicking on radial menu ContextualButton

* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always

* feat: simple radial menu prototype for easier creation

* refactor: cleanup, restored emote filtering, button models now have class hierarchy

* refactor: remove usage of closure from 'outside code'

* refactor: remove non existing type from UiControlTest

* refactor: remove unused using

* refactor: revert ability to declare radial menu layers in xaml, scale 32px sprites using scale in radial menu

* refactor: whitespaces

* feat: now door remote have some kind of ui to switch mode

* refactor: subscribe for dispose on existing radial menus

* feat: now simple radial menu button models can have custom color for each sector background (and hover background color). Also added OpenOverMouseScreenPosition inside SimpleRadialMenu

* fix: AI door menu now can be closed by verb if it gets unpowered

* refactor: simplify code for DoorRemoteBoundUserInterface

* fix open/close mode sprite

* remove broken merge changes

* refactor: changed DoorRemoteSystem to be fully in shared

* refactor: localize DoorRemoteBoundUserInterface

* refactor: fix multiple invocation for  TryToggleDoor inside DoorRemoteSystem on prediction

* refactor: extracted sprites and loc strings into prototype for cleaner code. Currently selected mode now have different background.

* refactor: changed hover selected color to recommmended

* refactor: reuse stylenano colors!

* review

* refactor: remove StyleNano reference

* refactor: revert removal of item status for door remote

* refactor: fix status control misprediction

* refactor: remove invalid comments, rename client DoorRemoteSystem comp after handle method

* refactor: fix DoorRemoteStatusControl not displaying status on entity pickup

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-21 12:16:38 +00:00
qwerltaz
20e0c41995
goats eat kudzu again (#40220)
* kudzu edible, food htn starts at peckish, no nutrition needed for npc to eat

* fix kudzu tags

* remove old stomach 2 from ruminant body

* make kudzu nutrition non-zero

* skip targeting food if nutrition is zero

* move edible from baseKudzu
2025-10-21 09:46:09 +00:00
B_Kirill
e3880a3c43
Criminal console status expansion (#36244)
* Criminal console update and new icons sprites

* Change Hostile and Paroled sprites

* Change Hostile sprite

* Return the 8x8 scale, redraw new icons

* Some changes

Redraw eliminated icon and change icons scaling in pda

* Update Resources/Textures/Interface/Misc/security_icons.rsi/meta.json

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

* Update Content.Client/CartridgeLoader/Cartridges/WantedListUiFragment.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-21 08:44:50 +00:00
Fildrance
22fe5185a3
refactor: new overload for SharedRandomExtensions.HashCodeCombine (#40990)
* refactor: new overload for SharedRandomExtensions.HashCodeCombine

* Update Content.Shared/Random/Helpers/SharedRandomExtensions.cs

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-19 21:29:31 +00:00
slarticodefast
1469b9484d
Add virtual chat API methods in Shared (#40895)
* move chat stuff to shared

* refactor: using cleanup +whitespaces + xml-doc

* review

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-10-19 19:08:27 +00:00
slarticodefast
1b7fa85733
Add EntityEffectOnTrigger and RejuvenateOnTrigger (#40967)
commit
2025-10-19 14:42:18 +00:00
Princess Cheeseballs
24216b1bc8
Fix Ninja EMP themselves. (#40968)
* push

* Skibidi toiler

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-18 23:56:32 +00:00
ScarKy0
7168fd9ed9
Trigger On Hitscan (#40964)
* init

* doc

* merge systems

* review
2025-10-18 19:23:45 +00:00
Голубь
219aeda235
AddReagentOnTrigger (#39875)
* Trigger

* Unnecessary(?) Checks

* request

* Update

Co-Authored-By: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* cleanup

* standard name

* don't use name alias

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-10-18 18:26:31 +00:00
Perry Fraser
c65f0aeb31
Make a lot more puddle stuff predicted (#38871)
* feat: predict evaporation

* refactor: move puddle update logic to shared

* refactor: move more puddle stuff to Shared

Still can't do stuff that creates puddles :(

* refactor: move puddle transfers to shared

* fix: various style fixes + switch to predicted variants

* style: make some puddle stuff private instead of protected

* refactor: move solution dumping to its own system

* docs: clarify Drainable/Dumpable/Refillable docs

Also whacks unneeded VVAccess's.

* fix: audit usages of drainable+refillable

I'm leaving spear and arrow for now... but I don't love it.

* Added an item query I guess

* Review changes

* You can pour out waterguns

* Review changes

* oops

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2025-10-18 17:41:56 +00:00
slarticodefast
ccd47a00a3
Fix AddReagent modifying to solution being added in some cases (#40959)
fix
2025-10-18 17:06:08 +00:00
beck-thompson
492a1aa9c3
Hitscans are now entities (#38035)
* Hitscans are now entities

* Cleanup

* Cleanup

* Silly mistakes but stop sign testing helps :)

* Address most of the review

* Reviews

* perry :(

* Final reviews

* Add comments

* Split event up

* better comment

* cleanup
2025-10-18 05:42:08 +00:00
ScarKy0
ee33792b33
Event based lock access (#40883)
* init

* some bonus stuff

* CheckForAnyReaders

* reader

* doc

* review

* fuck yaml

* Me when I push changes myshelf

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-17 02:04:43 +00:00
MilenVolf
e362ee121f
Add "Reset to default" verb to TriggerOnVoice (#35636)
* Add "Reset to default" verb to `TriggerOnVoice`

* Forgor to remove these changes

* Apply requested changes

* Test fail is real

* Apply requested changes

* Update according to refactored trigger system

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-16 18:36:16 +00:00
slarticodefast
9562e009bf
Make parcelwrap able to wrap humanoids (#40911)
* parcel

* help, I'm being forced to add admin abuse features

* review
2025-10-15 20:19:34 +00:00
Samuka-C
71bbe926a0
Add bank toolshed commands (#40614)
* add bank commands

* Follow convention

* use protoId

* make logic better

* Move stuff to shared

* Make things dirty

* Move UpdateBankAccount to shared as well

* nullable + resolve

* Fix commands

* make things less legible

* typo

* same typo

* im dumb

* I don't know how to spell

* replace select with foreach

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

* replace select with foreach again

---------

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
2025-10-15 15:10:25 +00:00
Leon Friedrich
c83b8c2cf8
Undo effect logging changes (#40919)
* Undo effect logging changes

* remove ShouldLog
2025-10-15 06:15:05 +00:00
Winkarst-cpu
2f09b117ca
Fix emag sparking animation on doors (#40350)
* Fix

* Update

* Comment
2025-10-14 23:13:40 +00:00
slarticodefast
111805c03b
Fix sericulture zombies (#40279)
fix sericulture zombies
2025-10-14 23:08:00 +00:00
mtrs163
f6972de87d
Don't add ImplicitRoof to grids with roof component (#38551)
* Don't add implicitroof to grids with roof component

* changes 1
2025-10-14 23:05:29 +00:00
ScarKy0
9a05b1111f
Fix AI radial on objects without access (#38444)
* init

* review

* Update SharedStationAiSystem.cs

* bolt
2025-10-13 20:42:21 +00:00
slarticodefast
ee9d1032bb
Move ChatSystem.Emotes to shared (#40866)
* move to shared

* entity effect to shared

* refactor: whitespaces+xml-doc typo fixups

* refactor: a little bit more of xml-doc typos fixups

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-10-13 18:06:01 +00:00
slarticodefast
3ed206887e
Predict DestructibleSystem, Part 1: IThresholdTrigger (#40876)
part 1
2025-10-13 15:41:34 +00:00
PotentiallyTom
ace8acde56
Adds a guidebook reference table for silicon lawsets (#38225)
* skeleton

* ok I think I understand this now

* xaml more like xam L

* good enough individual law control

* Works

* Final checks

* Final_Final.exe.docx

* removed unecessary usings

* locstrings

* doc comments

* requested changeds except var

* visual stuff

* I could write a manifesto about how much I dislike var

* color tweak + other thing

* request changed minus the inheritance

* sans Boxcontainer

* :/

* cache find

* requested changed

* removed usings

* Moved margin and removed unecessary BoxContainer
2025-10-13 11:44:42 +00:00
Princess Cheeseballs
a91daa60d4
Make Nutriment Work again. (#40869)
Fix nutriment

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-12 23:41:29 +00:00
Princess Cheeseballs
4059c29ebc
Entity effects ECS refactor (#40580)
* LOCKED THE FUCK IN

* Forgot this little fella

* Crying

* All entity effects ported, needs cleanup still

* Commit

* HEHEHEHAW

* Shelve for now

* fixe

* Big

* First big chunk of changes

* Big if true

* Commit

* IT BUILDS!!!

* Fix LINTER fails

* Cleanup

* Scale working, cut down on some evil code

* Delete old Entity Effects

* Accidentally breaking shit by fixing bugs

* Fix a bunch of effects not working

* Fix reagent thresholds

* Update damage

* Wait don't change the gas metabolisms A

* Cleanup

* more fixes

* Eh

* Misc fixes and jank

* Remove two things, add bullshit, change condition to inverted

* Remove unused "Shared" system structure

* Namespace fix

* merge conflicts/cleanup

* More fixes

* Guidebook text begins

* Shelve

* Push

* More shit to push

* Fix

* Fix merg conflicts

* BLOOD FOR THE BLOOD GOD!!!

* Mild cleanup and lists

* Fix localization and comments

* Shuffle localization around a bit.

* All done?

* Nearly everything

* Is this the end?

* Whoops forgot to remove that TODO

* Get rid of some warnings for good measure...

* It's done

* Should make those virtual in case we want to override them tbqh...

* Update Content.Shared/EntityEffects/Effects/Botany/PlantAttributes/PlantDestroySeeds.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Fix test fails real

* Add to codeowners

* Documentation to everything

* Forgot to push whoops

* Standardize Condition names

* Fix up metabolism a little as a treat

* review

* add IsServer checks

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
2025-10-12 21:23:42 +00:00
Vasilis The Pikachu
04f564e232
Merge remote-tracking branch 'upstream/master' into staging 2025-10-12 21:37:42 +02:00
Callmore
2696fd7cd5
Automatically add trash tag to spent bullet casings (#40829)
* Automatically add trash tag to spent bullet casings

* Resolving comments

* 2

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-12 18:34:20 +00:00
Fildrance
11525673ba
Use PredictedQueueDel in SharedDestructibleSystem.DestroyEntity (#40856)
feat: predict queuedel in SharedDestructibleSystem.DestroyEntity

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-10-12 17:54:08 +00:00
B_Kirill
beb3db14f0
Flash immunity examine visibility toggle (#40848) 2025-10-12 10:42:57 +00:00
Princess Cheeseballs
2c1fc92e5c
Quieter Meat Kudzu (#39304)
Init Commit

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-12 10:36:54 +00:00
āda
a0f0f40526
Reorganize tile StackPrototypes and add inheritance (#39491)
* atomize from #38412

* fix curtains in G menu

* re-add marble

* commit

* re-add xenoborg tiles

* re-add new faux

* missed tiles

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-10-11 23:21:07 +00:00
Winkarst-cpu
0ad48093a2
Fix visual bug with masks appearing to be pulled down after re-equipping (#40332)
Fix
2025-10-11 22:21:04 +00:00
ScarKy0
b78bfded44
Prevent mice etc from unwrapping parcels (#40838)
* init

* no wrapping yourself

* Revert "no wrapping yourself"

This reverts commit d66cb17e4c306ff95f33bcedf7fd464aa7b4ff90.
2025-10-11 21:22:12 +00:00
Perry Fraser
5ade6688e7
HOTFIX Fix pickup effects occurring with verb creation (#38705)
* fix: don't run pickup effects on verb creation

* review

* redundant

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-11 21:42:10 +02:00
Centronias
d3f85701f7
Adds HugBot (#37557)
* - hugbot
  - bdy with two arms because it needs two arms to hug
  - is constructable from:
    - box of hugs
    - proximity sensor
    - two borg arms
  - lots of voice lines
  - kinda like a medibot, it chases you down and then hugs you
    - except if it's emagged, then it punches you :)
    - it has a 2m cooldown per person by default

- MeleeAttackOperator
  - Read the doc, but it's an operator which makes the NPC hit a target exactly once assuming it's in range.
  - Used to make the hugbot attack
- RaiseEventForOwnerOperator
  - Read the doc, but it's an operator which raises an event on the owning NPC.
  - Used to make the hugbot hug extra code, specifically for the cooldown

- Changes to existing code:
  - `ComponentFilter : UtilityQueryFilter` gets `RetainWithComp` added which, as the name implies, retains entities with the specified comps rather than removing them. Basically, it lets you negate the filter.
  - `SpeakOperator : HTNOperator`'s `speech` field can use a `LocalizedDataSet` instead of just a locstring now
    - (I updated all of the existing usages for this)
  -

* two arms

* wait what if we just used mimebot arms so it doesn't look awful

* smort
2025-10-11 00:51:12 +00:00
lzk
228ed0288c
make nobody supervisor a locale key and cleanup JobPrototype (#39102)
* make nobody supervisor locale key and cleanup JobPrototype

* Update Content.Shared/Roles/JobPrototype.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-11 00:36:58 +00:00
slarticodefast
bed556051b
Fix NetEntity DataField in AnalysisConsoleComponent (#39984)
* fix analysis console

* fix test

* totally not a web edit
2025-10-11 00:22:31 +00:00
Princess Cheeseballs
bed5e8fd7a
Very small Shared Storage Optimization (#39092)
Mildly cheesed

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-11 00:21:05 +00:00