mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-06 14:51:17 +01:00
333bef46fe
## About The Pull Request I was reading over components and saw one called jousting, I vividly remember it being mentioned every so often but I've never seen it in-game. Turns out the SINGLE case for it is when you are using a spear on a borg. The code itself was also very over the place, making it a little confusing to figure out what it did. I tried cleaning the file up as much as I could, and since I wanted to see this in-game more often, I made some player-facing changes too: - You can now joust from any vehicle, not just borgs (Secway, ATV, scooter, Charger holoparasite) - Added jousting to the broom, pitchfork, captain's sabre, and energy sword while active (ONLY esword, NOT desword). - Added examine text to indicate this feature exists. Extra notes: Esword gains half the damage increase and half the knockdown chance than other ways of jousting Broom only gets 25% damage increase from jousting, since the broom is already pretty strong I thought it would be better off as something used mostly to knockdown. Spears have to travel a longer distance than other weapons to get their jousting benefits (since it's supposed to be a ghetto weapon) Jousting now takes the minimum distance needed into account when handling knockdown chance & damage dealt, so travelling 5 tiles will no longer be 100% chance of knockdown if you need a minimum distance of 3 tiles to joust (it will instead be 40%, since you've only traveled 2 tiles in 'jousting' mode). ## Why It's Good For The Game This is an underused component and I thought it would bring some pretty cool interactions, especially for Holoparasite & Janitors, as a new way to use vehicles to your advantage when it's otherwise seen as just a slowdown. ## Changelog 🆑 balance: Jousting now works on anything you're buckled to, not just Cyborgs. balance: Brooms, Pitchforks, the Captain's Sabre, and Energy swords can now be used for jousting. balance: Spears need to travel a longer distance to joust now. balance: Jousting's knockdown and damage now only gets stronger after you've traveled the minimum tiles needed to joust. /🆑
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 it's arguments with a SendSignal() call. Now every component that want's to can also know about this happening.