mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-13 03:02:38 +00:00
## About The Pull Request Adds rift fishing to the game.  Drained and undrained influences can be fished in, the latter only by heretics. Fishing in an undrained influence shows a bobber floating over nothing to other people, so don't be stupid! The loot pool includes the following: - Knowledge. Great for heretics, bad for crew. Only actually gives knowledge if fished up in an unopened rift, opening it. One of each heretic potion type. - A wild Fire Shark, hostile to all. - One of each heretic potion, and two flasks of eldritch essence. - Several new fish:  In order: 1. Chrystarfish Cosmostarfishe that snuck into the bluespace compartment of a shuttle engine. Teleports around when eaten. Can be cut into bluespace crystals. Very pointy. 2. Flumpulus Probably not an actual fish. Contains flumpuline, which is in many ways an upgrade to oculine. Except for it occasionally popping your eyes out and replacing them with fungus. It also gets flattened if you land on it, cushioning your fall.  3. Gullion This fish can be cut into two diamonds, and needs no mate to reproduce, making it an excellent way to replenish the station's diamond supply! However, it needs silicon in the fish tank to survive. 4. Walro-Dolphish Weird, amphibious creature. Amazing weapon - high damage, strong piercing wounds, decent block chances. However, it will bite you if you hold it for too long, so be careful! More fish are planned to be added. The PR was split in two to reduce review complexity as the latter half of the fish were increasingly convoluted. Any fishing rod will do for fishing, but heretics are now able to infuse their fishing rod with a grasp:  Infusing the rod will temporarily improve its fishing modifier and give it a unique trait that lets heretics gather 2 influence, rather than 1, from a fished-up rift. If crew fish up a glimpse of the Mansus, they will recieve the same effects as if they examined the rift, and a curse hand will shoot out at them. influences cannot be bombed for fish. ## Why It's Good For The Game Rifts are _extremely_ close to basically just being eldritch pools of liquid that some heretic spilled over the station. It's always stuck out like a sore thumb that we can't fish in them, but now we _can_. (Also, someone needs to PR fishing in a bucket for clowns and mimes.) Fishing in a rift is just one of those things you see some random, innocent assistant do while doing an errand, passively enhancing the round with the sheer ridiculousness of it. Coming back, it's likely you'll see them running from a wild Fire Shark they unwisely dug up from messing with eldritch influences. For Heretics, this is for the most part actively a worse alternative than just doing things normally. But sometimes you don't want to be optimal. Infusing their fishing rod is almost entirely an amusing twist on the blade infusion that blade path has, and they can even infuse other people's rods - make fish not war. Ghommie gave me the fish sprites, and I interpreted them the silliest and most interesting ways I could think of. > Chrystarfish Bluespace's technobabble has finally reached fish. Much like the Gullion, the intention here was primarily some additional, risky way to procure some amount of bluespace crystals and dust that doesn't depend on Mining to do their job, either for the station or for your own stupid plans. (Obviously mining is still the best way to get it, but it's not healthy for the game for them to be the ONLY way to do so!) >Flumpulus  Imagine taking a pill of 'Super oculine!' and suddenly your eyes pop out and are replaced with fungeyes. 10/10 >Gullion Diamonds are extremely scarce on the station and the only way to get more is by mining. I thought adding some rare, restricted way of getting more would be fun for the game, and encourage fish breeding. Parthenogenesis may be a bit much admittedly, but let's just see what happens > Walro-Dolphish The name for this thing kinda sucks. I like the idea of an amphibious fish-weapon like the pikes that actually kinda just hates being wielded around like a stick. It's also piercing to differentiate.  ## Changelog 🆑 Carlarc, Ghommie add: Adds rift fishing to the game. Includes new wacky fish! add: Drained and undrained influences can be fished in, the latter only by heretics. Fishing in an undrained influence shows a bobber floating over nothing to other people, so don't be stupid! add: influences cannot be bombed for fish. add: Heretics can now infuse their fishing rod, and fish for knowledge. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
#define SHORT 5/7
|
|
#define TALL 7/5
|
|
|
|
/**
|
|
* squish.dm
|
|
*
|
|
* It's an element that squishes things. After the duration passes, it reverses the transformation it squished with, taking into account if they are a different orientation than they started (read: rotationally-fluid)
|
|
*
|
|
* Normal squishes apply vertically, as if the target is being squished from above, but you can set horizontal_squish to TRUE if you want to squish them from the sides, like if they pancake into a wall from the East or West
|
|
*/
|
|
/datum/element/squish
|
|
element_flags = ELEMENT_DETACH_ON_HOST_DESTROY
|
|
|
|
/datum/element/squish/Attach(atom/target, duration=20 SECONDS, horizontal_squish=FALSE)
|
|
. = ..()
|
|
|
|
if(!isatom(target))
|
|
return ELEMENT_INCOMPATIBLE
|
|
|
|
var/was_lying = FALSE
|
|
if(iscarbon(target))
|
|
var/mob/living/carbon/carboniucus = target
|
|
was_lying = carboniucus.body_position == LYING_DOWN
|
|
addtimer(CALLBACK(src, PROC_REF(Detach), target, was_lying, horizontal_squish), duration)
|
|
|
|
if(horizontal_squish)
|
|
target.transform = target.transform.Scale(SHORT, TALL)
|
|
else
|
|
target.transform = target.transform.Scale(TALL, SHORT)
|
|
|
|
/datum/element/squish/Detach(atom/target, was_lying, horizontal_squish)
|
|
. = ..()
|
|
var/is_lying = FALSE
|
|
if(iscarbon(target))
|
|
var/mob/living/carbon/carboniucus = target
|
|
is_lying = carboniucus.body_position == LYING_DOWN
|
|
|
|
if(horizontal_squish)
|
|
is_lying = !is_lying
|
|
|
|
if(was_lying == is_lying)
|
|
target.transform = target.transform.Scale(SHORT, TALL)
|
|
else
|
|
target.transform = target.transform.Scale(TALL, SHORT)
|
|
|
|
#undef SHORT
|
|
#undef TALL
|