29 Commits

Author SHA1 Message Date
Perry Fraser
fd4a0a29b4 fix: Block EntityStorage from inserting into mechs (#37942)
This additionally moves the hard-coded check for HandsComp that
previously did this, and moves it into an event which now both
HandsSystem and MechSystem subscribe to.
2025-08-26 12:29:12 +02:00
nikitosych
1bbf094c79 Fix for holoparasite's ability to attack the host through mech (#36659) 2025-06-14 20:22:45 +03:00
Plykiya
c5ff647ca6 Replace obsolete EntityWhitelist IsValid usages part 2 (#28506) 2024-06-03 17:40:03 -04:00
Nemanja
a1a8f04036 Decouple interactions from hands, cleanup old events, add new fears (#28393)
* ok basic shit

* second part

* pretend it isn't real it can't hurt you.

* 👁️ 👁️

* shadowcommander review
2024-05-31 13:26:19 -07:00
Tayrtahn
4a83c36585 Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No
2024-03-19 23:27:02 -04: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
Arendian
e1e99e16c7 Fix duplicate popups in ripley (#23692)
Fix duplicate popups on switching selected equipment
2024-01-07 16:32:46 -07:00
TemporalOroboros
7a77d6d5dd Content ecs containers (#22484) 2023-12-28 01:30:03 -04:00
themias
9182c201e9 Enter mech with drag-drop (#21405) 2023-11-04 11:23:46 -04:00
Nemanja
3949932536 Fix access for vehicles and mechs (#20737)
* fix access for vehicles and mechs

* optimize
2023-10-05 03:12:40 -06:00
DrSmugleaf
a44fa86b68 Update trivial components to use auto comp states (#20539) 2023-09-28 16:20:29 -07:00
Leon Friedrich
684b334806 Action container rejig (#20260)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-09-23 18:49:39 +10:00
metalgearsloth
5a0fc68be2 Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
DrSmugleaf
09bce85f19 Fix actions not being usable, ordering, and containers (#19964) 2023-09-09 16:14:17 -07:00
DrSmugleaf
c71f97e3a2 Refactor actions to be entities with components (#19900) 2023-09-08 18:16:05 -07:00
deltanedas
79394e7e70 mech air overhaul (#19140)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-03 16:30:26 +10:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
brainfood1183
cd7d4be188 HAMTR mech (hamster mech) (needs review) (#16393)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-06-08 16:33:35 +10:00
Leon Friedrich
d228f971b0 Try fix collision mispredicts (#16298) 2023-05-13 00:02:50 +10:00
DrSmugleaf
ec28358e06 Remove mech component references (#15246) 2023-04-09 15:20:55 -07:00
DrSmugleaf
b947856431 Remove hands component reference (#15197) 2023-04-07 11:21:12 -07:00
Leon Friedrich
19277a2276 More DoAfter Changes (#14609)
* DoAfters

* Compact Clone()

* Fix mice and cuffables

* Try generalize attempt events

* moves climbabledoafter event to shared, fixes issue with climbable target

* Fix merge (cuffing)

* Make all events netserializable

* handful of doafter events moved

* moves the rest of the events to their respective shared folders

* Changes all mentions of server doafter to shared

* stop stripping cancellation

* fix merge errors

* draw paused doafters

* handle unpausing

* missing netserializable ref

* removes break on stun reference

* removes cuffing state reference

* Fix tools

* Fix door prying.

* Fix construction

* Fix dumping

* Fix wielding assert

* fix rev

* Fix test

* more test fixes

---------

Co-authored-by: keronshb <keronshb@live.com>
2023-04-02 21:13:48 -04:00
Leon Friedrich
07667ae34b Fix mech double interactions (#14672) 2023-03-24 12:42:43 +11:00
Nemanja
52031e9309 Fix access on vehicles, mechs (#14458) 2023-03-12 23:55:02 +11:00
Rane
943495922a Let entities attack their outermost container (#13406)
Closes https://github.com/space-wizards/space-station-14/issues/13405
closes https://github.com/space-wizards/space-station-14/issues/13403
2023-01-20 07:48:28 -08:00
Nemanja
56bdfad912 mech bug fixes (#13155)
* mech bug fixes

* struct events

* fug
2022-12-24 15:33:08 -06:00
Leon Friedrich
881a2b2ece PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Nemanja
ef8db74533 mech equipment fix (#12969) 2022-12-11 05:31:55 -06:00
Nemanja
913e1ee676 Exosuit: Ripley (#12668)
* mechs

* interaction relay

* atmos handling

* fuck around with interaction events

SPAGHETTI CODE OH MY GOD

* more sprites and whatever the hell

* more mech shit

* more shit for equipment

* starting equipment (for nukie mechs and such)

* equipment cycling

* starting with some of the ui

* a fat chunk of ui prototyping

* done tinkering with ui

* a bunch of ui stuff and what have yous

* cleaning up grabber and state handling

* make the ui actually functional + watch me port a million icons

I swear i'll prune the sprites later blease

* start on construction

* construction yo mamma

* remove some unused files

* fix a silly

* make the graph sane

* make it actually constructible.

* print the boards as well, bozo

* rebalance part prices

* eject action

also i appease the russians by remembering to localize

* Punch Shit

* make mech integrity and repairs work

* Make the UI more based

STOMP STOMP STOMP STOMP

* make equipment even more based

* batteries and other such delights

* make the ui look pimpin af

* make the construction mega based

* UI but so epic

* equipment

* some sweat tweaks

* damage rebalancing

* restructure tech

* fix some shit

* mechs inherit access

* make icons actually use sprite specifiers

* TRAILING COMMAA!!!!!

* fix a mild indentation sin

* undo this change because it isn't needed

* actually fix this

* secret webeditting shhhh

* place this tech here

* comments

* foo
2022-12-10 11:05:39 -06:00