mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-05-13 02:31:46 +01:00
873c4951c3
## About The Pull Request Adds a new var called `wound_clothing` to `apply_damage` and `receive_damage` which will be checked in `check_woundings_mods` if it should also apply the damage to the jumpsuit. It's `TRUE` by default. Changes `irradiated` and `body_temperature_damage` to not wound clothing. This also removes the `10 >= damage` check for burns for clothing damage as it was there to prevent freezing from harming clothes which is no longer a problem. ## Why It's Good For The Game Not all brute/burn should also the damage the clothes. This allows for damage to specify if it should damage clothes or not. Radiation burns should not shred my clothes. Code that prevents all damage equal or below ten burn from damaging clothes is BAD, my clothes should BURN. `TRUE` by default so everything else should work normally. fix: #84046 ## Changelog 🆑 Goat balance: burn damage equal or under to ten will now damage your jumpsuit (does not apply to internal temp damage) fix: radiation burns no longer damage your jumpsuit. code: added a new var to applying damage to set if it should apply damage to clothes. /🆑
Datum Component System (DCS)
Concept
Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward its arguments with a SendSignal() call. Now every component that want's to can also know about this happening.