Commit graph

113 commits

Author SHA1 Message Date
hyperDelegate
066ac90cfa
Fixes Medibot line dropped by #32932 (#44226)
* Maybemaybemaybe

* Blade of YAML
2026-10-02 18:00:58 +00:00
dragonryan06
b8640a4c58
Fix angry bees in a worn backpack gibbing the player (#45761)
* Fix angry bees in a worn backpack gibbing the player

* Properly handle being contained in a container that does not have EntityStorageComponent

* Delete YAML reference to removed property

* Remove redundant check, rename field to feedback
2026-09-22 08:53:51 +00:00
Whatstone
a023e5784c
Cleanup: Remove byte order markers from most files (#45796) 2026-09-17 23:23:54 +10:00
Sir Warock
ec63a41842
Cleanup of UseDelay (#45350)
* Moving into Systems & Components Folders

* splitting into API file

* Make Method accept null values

* small fix
2026-09-05 17:10:50 +00:00
deltanedas
cf7fde3d62
Big prototype and datafield cleanup (#45202)
* giant protoid cleanup

* yml changes

* !

---------

Co-authored-by: deltanedas <@deltanedas:goida.zip>
2026-08-12 02:07:22 +00:00
Centronias
8ad82dc665
Refactor hunger and thirst systems (#34166)
* ready

* oop forgot the HUD stuff

* woooo examinable generalized tooooo

* oop I forgot to rename the files

* bungled the merge, I guess

* this is called hubris

* Verin's comments

* PR comments

how did I use `ProtoId<> Hunger` in more than a few spots but then just say "thirst can stay a literal :^)"?

also changed a few spots to my beloved
```
functionInvocation(
  one
  param
  per
  line
)
```
```

* Satiation effect condition now with ADDED FUNCTIONALITY?? :o

* tfw you trust the markov chain recommendation because long generic type names are tough q-q

* TFW YOU TRUST THE MARKOV CHAIN BUT IT DOESN'T UNDERSTAND THE DIFFERING SEMANTICS OF MAX AND MIN AHHHHH

* tfw you think to yourself "i need to fix the effects", but then forget to and the code doesn't even compile.

* centralize satiation constants

* other small comments

* The enum is dead.
But at what cost?

* oop

* like 12 more ooperses

* green checks are mine by right; I have performed the rites; I have done my part; you will not deny me this succor

* oops I changed the semantics from `<=` to just `<` and didn't update the tests :)

* serialization has bested me :agony:

also PR comments

* never trust the auto merge :agony:

* literally just this

* force engine back to master because idk why it's different

* fix randomness and update master

* submodule fuckery

* fall before my might

* okay I ran the linter, ARE YOU HAPPY??

* cursed ovis, trouble me no more

* protoman stuff

* inb4 linter bonks me

* break non-critical stuff from the main satiation proto

* ![live crundle reaction](https://preview.redd.it/xh68xqcz518g1.png?width=677&format=png&auto=webp&s=79ba10fe49ec3f8306217732321a7c5429bdfb14)

inb4 this breaks something somewhere lmao

* my two greatest PRs COLLIDE

I wonder why robust says it's changed :hmmclueless

* sanity is at an all-time low

* serialization, I guess

* I don't believe you

* field deltas on class \w*satiation\w*components

* PR comments

* 我做泥團子 😔

* doc + kill one property that's trivially accessible after the threshold caching changes

* fixes

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-08 22:44:24 +00:00
Whatstone
f42f8df6d1
Cleanup: ProtoMan Part 2 - remove Client and Server EntitySystem IPrototypeManager instances (#44416)
* Remove all IPrototypeManager instances

* Remove redundant IComponentFactory instances too

* Found some stragglers

* DestructibleSystem.PrototypeManager: no dependency

* not based
2026-06-29 21:33:56 +00:00
chromiumboy
2ca5d9d81a
Disposals refactor (#40540)
* Initial commit

* Added pods

* Transit tubes should no longer connect with disposal pipes

* Updated the transit tube sprites

* Revisited how the transit tubes work

* Fixing merge conflict

* Updated sprites

* Simplified disposal component collections and updated yaml

* Moved the majority of the disposals code to Shared

* Move disposed ents via physics

* Disposal unit now use generic visualizers

* Followers of disposed entities have predicted movement

* Made BeingDisposedSystem shared

* Added documentation for some components

* Code clean up

* Removed unneeded container entries, tubes use directions instead of angles

* Many EntityUid/Comp -> Entity<Comp> changes

* Updated DisposableSystem

* Review of DisposalTubeSystem

* Review of DisposalUnitSystem

* Review of DisposalSignalRouterSystem

* Unit updates

* Fixing merge conflict

* Merge conflict resolved

* Re-organization of systems and components

* Allow trapped entities to escape endless loops

* Fix for item ejection

* UI updates

* Minor tweak

* Fixes for transit tubes

* Removed placeholder sprite

* Removed transit tubes (for now)

* Moved exit stun time to DisposalHolderComponent

* Added a limit on the amount of damage that can sustained from disposals travel

* Fix for PVS-related sound issues

* Added a limit on the number of entities that can be inserted into units

* Clean up

* Undid file scoping

* Fixed test fail

* Fixed test fail

* Increased min default capacity of disposal units

* Fixed audio spam occurring when dumping multiple items into a disposal unit

* Tile prying now occurs whenever exiting an open pipe

* Prevent attacking and interactions while traveling through disposals

* Added generic verbs for entering/exiting disposal units

* Fixed UI prediction bug

* Bug fixes

* Small improvements

* Moved the disposal holder prototype from the disposal entry to the unit

* Minor clean up

* Added support for a disposal holder despawn effect

* Added prediction guard

* Test fail fix

* Re-added new escape behavior

* Removed outdated PVS code

* Clean up

* More escape behavior changes

* More clean up

* Updated exit selection logic

* Bug fix

* More clean up

* Split up disposal unit code

* Cleaned up disposal units some more

* Adjusted exit throw distance

* Capitalized disposal and mailing unit window titles

* Bug fixes

* Taggers and routers show existing tags when the UI opens

* Fixed test fail

* test fail fix

* Minor performance improvement

* Minor improvement in pathing

* merge conflicts

* Fix heisentest

* Fixed mispredict

* Updated system referencing conventions

* Updated to account for changes made to the code

* Attempting to fix submodule issue

* Addressing test fails

* Additional fixes for tests

* Addressing reviewer comments

* Cleaned up exit randomization

* T-ray can see disposal pipes when in 'pipe' mode

* Fix for flush animation flickering

* mild thing

* fix both

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-05-27 04:38:03 +00:00
slarticodefast
7bcfc74cee
Add integration test for wielding and multi-handed items (#41028)
* one hand test

* the rest of the owl

* fix test

* client fix

* fix the fix

* const strings

* breaking changes
2026-05-17 21:58:59 +00:00
Jessica M
22ae35a624
make monkey disposals less laggy (#43842)
* fix up moneky

* review
2026-05-09 23:30:12 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
B_Kirill
5b9c0a6bdc
NPCs combat improvements (#40900)
* NPCs combat improvements

* CanRack and improved logic

* Minor stylistic improvements

* Just a test for my sanity

* Review
2026-04-21 04:23:17 +00:00
Jessica M
3bff008738
Monkeys can now put people into disposal bins (#37983)
* ugh

* Pathfinidng to bins w/target.. figuring out inserting

* yea i dont know why this shit dont work

* finally got this shit working lmao

* cleanup stuff

* cleanup more

* do radius better

* removing unnecessary tags

* refactor to be more reusable

---------

Co-authored-by: Jessica M <jessica@maybe.sh>
2026-04-18 21:45:17 +00:00
pathetic meowmeow
b2b547b806
Initial decoupling pass on Damageable (#43103)
* Initial decoupling pass on Damageable

* ope

* e

* mroaw

* ok sure on the medibot thing

* no medibot bounds

* okidooks

* arcryox era

* cryox moment
2026-03-07 04:13:50 +00:00
osjarw
892209db01
Medibot doAfter and some other improvements (#32932)
* Medibot doAfter and some other improvements

* Clean-up

* Review fixes

* the army of medibots chasing someone is really funny

* misc cleanup

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-01-20 20:37:51 +00:00
mq
4920c9e907
Update (MOST) instances of EntityUid, Component in GunSystem to Entity<T> (#41966)
* Entity<T>, skipping Magazine and ChamberMagazine

* missed some

* AUGH!!

* ballistic examine

* dotnet hates me

* WHY ARE YOU CALLED THAT!!!!

* cheers aada
2026-01-01 19:00:49 +00:00
Hannah Giovanna Dawson
cdbe92d37d
Update DamageableSystem to modern standards (#39417)
* Update DamageableSystem to modern standards

* DamageContainerId -> DamageContainerID with lint flag

* Replace strings with protoids

* Make CVar subscription declarations all consistently whitespaced

* ChangeDamage -> TryChangeDamage, cope with C# jank

* Revert event signature changes

* Restore a comment

* Re-add two queries

* Init the queries

* Use appearanceQuery in DamageChanged

* Use damageableQuery in TryChangeDamage

* Use damageableQuery in SetDamageModifierSetId

* Final cleanup, fix sandboxing

* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage

* Re-organize DamageableSystem

* first big fuck you breaking change.

* THATS A LOT OF DAMAGE!!!

* Fix test fails

* test fixes 2

* push it

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-27 19:53:04 +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
āda
b84931dd39
Grenade penguin htn (#34935)
* we can do better

* better

* slightlybetter

* remove unused dependency

* uplink description more descriptive

* more intentional explosion stats

* cleanup

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-15 23:48:00 +00: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
Deserty0
d463aba587
New HTN precondition: has status effect (#39781)
* Create HasStatusEffectPrecondition.cs

* Update HasStatusEffectPrecondition.cs

* ok now it works

* Update HasStatusEffectPrecondition.cs
2025-10-07 18:53:25 +00:00
Leon Friedrich
4b51b2953d
Fix post-mapinit NPC exception (#40244)
Ensure `NPCBlackboard.Owner` is set during startup
2025-10-07 14:03:45 +00:00
Nemanja
524725d378
HandsSystem Refactor (#38438)
* checkpoint

* pt 2

* pt... i forgot

* pt 4

* patch

* More test fixes

* optimization!!!

* the REAL hand system

* fix RetractableItemActionSystem.cs oversight

* the review

* test

* remove test usage of body prototype

* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* hellcode

* hellcode 2

* Minor cleanup

* test

* Chasing the last of the bugs

* changes

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-06-25 15:13:03 +02:00
metalgearsloth
0d4f9640b5
CompFactory updates (#37559) 2025-05-20 01:08:55 -04:00
Nemanja
e3c3f4898f
Fix NPCs stalling when too many exist (#37056)
Fix NPC stalling when too many exist
2025-04-30 10:51:41 +10:00
osjarw
cca5a88be4
Make HTN constantly replanning optional (#33023)
Make constant replanning optional
And apply it to our most expensive NPCs
2025-04-18 18:16:26 +10:00
osjarw
700cb02d5e
Fix HTN task ordering bug (#32909)
* first, bad ordering

* fix

* Revert "first, bad ordering", recording artifacts

This reverts commit 22307675d79b417371775a0558c39781f59423d6.
2025-04-17 22:42:31 +10:00
J
7e4cf87820
NPC Warnings cleanup (#36189)
* NPC Warnings cleanup

* Reverting unnecessary changes

* Reverting unnecessary changes, missed

* Using entity GetGrid override instead
2025-04-02 17:12:25 -07:00
chromiumboy
10c868011e
Sentry turrets - Part 3: Turret AI (#35058)
* Initial commit

* Updated Access/command.yml

* Fix for Access/AccessLevelPrototype.cs

* Added silicon access levels to admin items

* Included self-recharging battery changes

* Revert "Included self-recharging battery changes"

* Addressed reviewers comments

* Additional reviewer comments
2025-03-01 18:42:33 +01:00
Tayrtahn
6f925dd610
Fix prototypes so they pass analyzer checks (#35435) 2025-02-24 15:21:59 +11:00
godisdeadLOL
aea4e3cdbd
Sentient medibot now can inject (#32110)
medibot player injection

Co-authored-by: YourUsername <you@example.com>
2025-01-29 13:34:01 +03:00
Cojoke
ef1fadf275
Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem

* guap

* More fixes

* Wait you can do that?

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-09-02 13:26:04 +02:00
IProduceWidgets
f24949a0b0
ai stays seated and pulled while cuffed. (#30397)
* ai stays seated while cuffed.

* Do the thing I thought was dumb.... whatever.

* less than
2024-08-08 19:53:07 +10:00
IProduceWidgets
36038a1707
Allow ai to understand if its handcuffed. (#30402)
* allow ai to understand if its handcuffed.

* rerun tests they worky on local

* Contained here in, a string of expletives about flaky tests.

* on retrospect, default true is probably smorter.

* do reviews

* I forgor xml

* more xml
2024-08-02 17:07:46 +10:00
osjarw
ccdbdee929
Add DoAfter handling to InteractWithOperator (#30319)
* commit used for the recording, mostly copypaste

* Remove recording artifacts, now contains content

* use switch expression instead of switch statement
Also `ExpectedDoAfter` to fail when doafter isn't raised
2024-08-02 16:17:11 +10:00
osjarw
669cc55ba4
Allow the creation of recursive HTNs (#30138)
Allow recursive HTNs
2024-07-30 12:18:53 +10:00
osjarw
7d9653fff7
Fix HTN/NPC better plan selection (#30017)
* recording commit

* Remove debugging/recording content
2024-07-14 20:28:46 +10:00
osjarw
922be64290
NPC exits MeleeOperator on invalid EntityUid (#30005)
EntityUid 0 problem fix
2024-07-14 13:26:38 +10:00
Plykiya
b7aa97e203
Replace obsolete EntityCoordiates.InRange() with TransformSystem.InRange() (#29993)
* Replace EntityCoordiates.InRange() with TransformSystem.InRange()

* nullspace

* I figured it out

* man I have no clue how client side sutff works

* please have mercy

* remove RadiationPulseOverlay changes

* nullspace

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-13 23:25:51 +02:00
Leon Friedrich
fa3c89a521
Partial buckling refactor (#29031)
* partial buckling refactor

* git mv test

* change test namespace

* git mv test

* Update test namespace

* Add pulling test

* Network BuckleTime

* Add two more tests

* smelly
2024-06-20 01:14:18 +10:00
Tornado Tech
a29b6a6894
Clean up new HTNs tasks (#28469)
* Clean up new HTNs tasks

* Added docs to math operations
2024-06-01 13:46:35 -04:00
Tornado Tech
31491775e5
Added new HTN operations and preconditions (#27486)
* Added new HTN operations & preconditions

* Ok I forgot about partial

* Namespace pierce the skies

* Some fixes, debug and new operators

* Bruh git eat my files
2024-05-08 12:18:03 +03:00
Vigers Ray
36abf1d9ba
Fix stupid NPC. (#26868)
* init commit

* Review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-27 15:58:09 +10:00
Tayrtahn
ae3d745430
Code Cleanup: Purge obsolete MapManager methods (#26279)
* GetGrid

* GridExists

* TryGetGrid
2024-03-22 18:08:40 +11:00
Tayrtahn
f4cb02fb0c
Code cleanup: Purge calls to obsolete EntityCoordinates methods (#26292)
* Purge calls to obsolete EntityCoordinates methods

* Pizza defruited; rerun those tests!
2024-03-21 12:59:56 +11:00
metalgearsloth
c584f6444a
Pulling rework v2 (#24936)
* Pulling rework

Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.

* More pulling cleanup

* stats

* More cleanup

* First draft

* More pulling

* weh

* Fix puller

* Pulling working

* Fix merge

* Dunked

* Self-merge time

* Fix hotkey

* Fix container changes

* oop

* Fix multi-pulling

* Move alerts cleanup.

* pulling fixes
2024-03-19 14:30:56 +11:00
Jezithyr
c15b0691ec
Emergency revert for pulling (#24923)
Revert "Pulling rework (#20906)"

This reverts commit 0d8254b2a2.
2024-02-03 10:32:30 -08:00
metalgearsloth
0d8254b2a2
Pulling rework (#20906)
* Pulling rework

Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.

* More pulling cleanup

* stats

* More cleanup

* First draft

* More pulling

* weh

* Fix puller

* Pulling working

* Fix merge

* Dunked

* Self-merge time
2024-02-03 14:36:09 +11:00
LordCarve
05a2e6b3a2
Obsolete refactor - ConnectedClient to Channel (#24409) 2024-01-23 09:14:13 +11:00
deathride58
abfa9ff856
Fixes NPCs that lack a UseDelay component failing to interact with objects (#23638)
fixes NPCs failing to interact with objects
2024-01-06 15:32:50 -05:00