mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-16 04:34:21 +00:00
## About The Pull Request I'm not totally satisfied with the amount of random destruction caused by space carp wandering around, they should certainly be dangerous and annoying but the random nature of their spawning and pathfinding means that they would trap themselves in random rooms and then smash all of the machinery in there. Because they could attack any dense object they perceived as being in their way that could result in venting random gas canisters, breaking terminals, or I even once saw them destroy the supermatter cooling loop by eating the thermomachines. While the latter is pretty funny, arbitrary destruction of machines simply caused because a fish teleported into a room without you knowing isn't really very engaging and doesn't create very interesting stories. This ultimately isn't meant to be a heavily destructive event and its probability to run isn't tuned as if it is. So, a couple of changes: I reduced both the range and cooldown of the carp teleporting ability. This means that AI carp can use it to pathfind past obstacles pretty reliably and don't spend so much time smashing things, and also reduces the chances of them getting the drop on you from a location you can't see. I also added a short click cooldown to carp travelling through other carp rifts so people being teleported _to_ have more of an advantage over people ambushing them (this was already true for the carp creating the rift). Additionally I added an optional whitelist to the "attack obstacles to your pathfinding" AI script, and heavily culled the kind of obstacles that carp will attack to be ones which are mostly replaceable. They will still cause a mess and might even vent a room, but they won't smash vital infrastructure. Finally I replaced a couple of instances of `get_ranged_target_turf` with `get_ranged_target_turf_direct` for better precision, and player carp using the ability can now just click anywhere on the screen and it will jaunt in that rough direction. With the reduced range, having to click within its radius was pretty annoying. With these changes I ran the event 10 times in a row on kilo and then watched JoJo's bizzarre adventure for 90 minutes and when I came back the level of destruction seemed pretty reasonable (aside from the big hole where one of them ran into the supermatter and delaminated it, but if there were players around that wouldn't happen). ## Why It's Good For The Game This event was still just a little bit _too_ annoying. If something destroys important machines it should have happened on purpose via an event which was supposed to do that, rather than through chance. Or preferably just be player-driven. ## Changelog 🆑 balance: Carp can't teleport as far, but can do it more frequently. People who piggyback through their rifts will be blocked from attacking for a short duration (the same as the normal attack cooldown). balance: AI controlled carp will now be more selective about which objects they smash. Player controlled carp (or carp directly instructed to attack objects by people who have tamed them) can still attack whatever they like. /🆑