mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-29 08:53:20 +01:00
088409bbe376a7adcd4d1fb747cf4a5e4f257c5b
155 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
418e322ea2 |
[NO GBP] Fixes the fishing experience gain from reeling objects (#86845)
## About The Pull Request Little oopsie since I've forgot that time is in deciseconds for a moment there, therefore it should be multiplied by 0.13 and not 1.3 ## Why It's Good For The Game I made a mistake. ## Changelog Too small to add to the CL. |
||
|
|
58501dce77 |
Reorganizes the sound folder (#86726)
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑 |
||
|
|
ff2760e908 |
Adds new tasty fish to deep fryers. (#86690)
## About The Pull Request This PR introduces three new fish that can be caught from deep fryers. That's right, deep fryers are also fishing spots now. Is it silly? Yeah, but this is more or less the reason I made a whole PR to make fish edible. They've two gimmicks: one is that they're already fried, and neither raw nor gorey and can be cut into nuggets. The other is that they can evolve into the next type just by growing, no need of pairing them with each other, starting from the 'fryish', then the 'fritterish' (and its two variants: 'bernard-fish' and 'matthew-fish', big pun on the english food company) and finally the 'nessie-fish' which is very rare and big and you'd probably get 20 nuggets by cutting it alone. Other than that, this PR adds a simple growth mechanic to fish, where they get a bit larger each time they're fed. The gained size and weight depends on several factors like hunger, their current size and weight and how much until they hit the maximum cap of twice the initial size and weight. This means bigger fish grow slowier, and it's better to feed them once in a while but not every other second. Obviously size and weight influence a lot of fish mechanics, so it's good to have a way to increase these values outside of breeding RNG (which is very shallow). TL;DR: Feed the fish once their hunger reaches 50% circa for maximum growth. Included in the PR are a few tidbits, like fixing a little mistake around the 'picky eater' fish trait, more readable code around the fish_growth component (unrelated to the aforementioned growth mechanic) and hunger or adding the fish evolution datum for armored pikes (normal pikes plus stinger trait, which I basically forgot to), and adjusting how weight and size of offsprings is calculated. ## Why It's Good For The Game First and foremost, a brand new on-station fishing spot that is not the fishing portal, toilets (or the rare moisture traps in maint). Second, a fish growth mechanic through which weight and size can be increased. Third, a few code things. Four, little bugs, now fixed. Fifth, have a screenshot of me fucking around to find out how many bites it takes to eat all of the deepfried gargantuan nessie (53, and I had to spawn another 10 humans to finish it):  ## Changelog 🆑 add: You can now fish new, tasty treats by the station deep fryers. add: You can now grow fish inside an aquarium by feeding them regularly (at 50% hunger for maximum growth). add: Added the evolution for pikes to armored pikes. /🆑 |
||
|
|
66d88ee0b7 |
Fishing skill now improves cast range and reeling objects, and slightly reduced exp gain from ez pz fishing spots. (#86776)
## About The Pull Request The fishing skill now improves the casting range of the rod by 1 turf at expert level and 2 at legendary level. It also reduces the delay for reeling objects (not the fishing minigame), which by default is 0.8 seconds, up to 0.3 seconds. Reeling objects also provides a pitiable amount of fishing experience. Fishing on fishing spots with particularly low difficulty compared to the overall skill level now reduces the experience gained. Keep in mind fishing also provides a exp bonus based on difficulty regardless of skill level. This just serves to mitigate the bonus from toilets & co at high level. ## Why It's Good For The Game A good angler should know how to spin the rod and cast the line farther than the average person, and reel in objects faster. ## Changelog 🆑 balance: The fishing skill now positively affects fishing rod cast range and reeling objects outside of the minigame. Reeling objects also provides a pitiable amount of fishing experience. balance: High fishing skill now reduces experience gained from low difficulty fishing spots. sound: Removed noise from reeling sounds. /🆑 |
||
|
|
981890bd5c |
Add radial icons and overlays to linkable fishing spots (#86774)
## About The Pull Request #86291 added the option to link fishing spots to the fish portal generator, however I did not sprite radial icons for any of them beside a default undescriptive star just to not leave them icon-less. This PR introduces radial icon states for linkable fishing spots and overlays that show on the fish portal gen when selected. A few actually reuse pre-existing icons, like for example chasms and the beach, but most of them are new. To top it off, linked fishing spots show a little star on the top-left of their radial icon to distinguish them from normal portals. ## Why It's Good For The Game Follow-up to my previous PR where I had gotten too lazy to sprite these icon states. Here's how they look in the editor, which is not much different than how they'd look in-game because the radial buttons are more or less that dark too:  ## Changelog 🆑 image: added icon states for linkable fishing spots in the fish portal gen radial menu. /🆑 |
||
|
|
0acaf6850b |
You can try to pet fish while holding them too (careful around aggressive ones) (#86594)
## About The Pull Request Earlier this day, I have found myelf adding a check to the fish petting proc Ben added recently along with his aquarium UI rework, so I've thought it'd be good if players could do it regardless of aquariums. I've also added a couple lines to check if it's a safe environment and the fish isn't dead, because petting a dead or drowning fish shouldn't solicit much of a cute reaction. Furthermore, petting aggressive fish comes with a coin flip where you get your hand bitten half of the times. I think it's a pretty much reasonable interaction. Also, petting chasm crabs lowers their anger slightly, which determines the behavior of the juvenile lobstrosity they grow to be. ## Why It's Good For The Game Polishing a fish feature added by another contributor. ## Changelog 🆑 add: You can pet fish while holding them. Be wary of petting aggressive fish. /🆑 |
||
|
|
1aad3e118c |
You can now link fishing portal generators to other fishing spots. (#86291)
## About The Pull Request You can now interact with the fishing portal generator with a multitool to load it in the buffer and subsequently link fishing spots to it by tapping them with the same multitool. The maximum number of fishing spots that can be linked at once depends on the tier of the matter bins of the machinery. Normally, while you can link fishing spots from other z-levels, they can only be activated if they're on the same z-level as the machinery (or if both are on station for multi-z stations). This limitation can be bypassed by upgrading the machinery with a tier 3 or higher capacitator. While it's possible, I'm not spriting new fishing portal overlays and icons for the radial menu for every fish source out there (yet). The code is enough work for now. This also comes with a unit test, because there is no such thing as too many unit tests for fishing. ## Why It's Good For The Game Fish portal generators are designed to let players fish a different bunch of things while being able to be moved wherever you like, unlike a lake or an ocean, with all the comfort of being able to able to catch fish from distant locations. Allowing players to link other fishing spots to it fits its design. It also means that you can go out and explore, find more fishing spots and then return to the station without having to detach yourself from the ongoing round for several more minutes. ## Changelog 🆑 add: You can now link fishing portal generators to other fishing spots with a multitool. The number of fishing spots that can be linked at once and whether the link can be activated from different z levels depends on the tier of the stock parts it's built with. /🆑 --------- Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com> |
||
|
|
ba4fa8fe07 |
What you wear and on what chair you sit on can now influence fishing difficulty (#86646)
## About The Pull Request A foreword, I had to refactor a few bits of shitcode my past self added first. For context, the "gone fishing" and "actively fishing" traits only had one source, which is the fishing challenge itself, ad there was no way to access the challenge from outside its code, except for a few weakrefs which were being used as sources for the aforementioned traits (the shitcode in a nutshell). There were also a few signals that I didn't like because they were being sent to the harder-to-access challenge datum rather than the user. So I scrapped the traits for a couple signals to send to the user, then added a global list as a mean to easily access the challenge datum, and lastly changed the code to accomodate the titled feature (and allow the challenge to recalculate its difficulty DURING the minigame phase) Moving on to the actual feature: I've added a component that can be added to objects on which mobs can be buckled to or items. When equipped in the right slots or buckled to, the object will adjust the difficulty of current and future fishing challenges by a certain amount (more often than not positive, but there're many exceptions) as long as the object isn't equipped or the user is unbuckled. I've been having some fun adding component to a ton of clothes in the game as well as chairs. Way too many objects to enumerate, so I'll give you the general idea: - each carp-themed article provides a slight positive modifier (easier) - some (not all) doctor-related garbs provide a marginal positive modifier each (fish doctor jokes) - floortile camo clothes have positive modifiers - Tuxedo, laceups, gowns provide negative modifier (more difficult) - utility garbs such as bio/bomb/rad hoods and suits are quite bad. Riot armor too. - boxing gloves are very, very bad. Insulated gloves and haul gauntlets are also very bad, to a lesser degree. - **tackle** gloves are good. (pun intended) - wizard garbs are good, because wizards are good at casting. (also a pun) - magboots slightly bad. Space suits bad. - Blindfolds and welding protection are also bad. Gas masks marginally bad. - Pirate attire is nice to have. (I just vibed a little on this one) - plastic chairs are quite versatile because they can be carried around, but the mime chair is the best, followed by ratvarian chairs. - Fishing toolboxes, analyzers and the fish catalog are a plus, because they can be held. - And the fishing hat, obviously (not as great as you'd think) Some of these may be subject to change depending on what people say. ## Why It's Good For The Game A hundred lines of fishing challenge code made ever-so-slightly less awful, and a way to modify fishing diffculty beside skills and bait. ## Changelog 🆑 add: Your current clothes and what chair you sit on can now influence the difficulty of fishing minigames. Having a bare minimum of fishing skill will let you distinguish which objects can help and which won't, so keep an eye out. Holding fishing toolboxes, fish analyzers or fish catalogs can also help. /🆑 |
||
|
|
bb3629bcdc |
[NO GBP] Fixing a runtime with examining fishing spots while wielding a rod (#86689)
## About The Pull Request Well, it seems examining a fishing spot (with sufficient skill) while wielding a rod is borked because of a bad line. It should be `init_name` and not `reward`. Thanks to vinylspider for informing me about it. ## Why It's Good For The Game Fixing stuff I made and then broke. ## Changelog 🆑 fix: examining fishing spots while wielding a rod (with sufficient skill) now works. /🆑 |
||
|
|
bbc685b60a |
adds fishing category to games vendor (#86699)
## About The Pull Request this pull request adds a fishing category to the games vendor with items that cost 50 credits more than their goodie alternatives. ## Why It's Good For The Game this allows people to start their fishing goals earlier without waiting 20 minutes for cargo at the caveat of the items costing 50 credits extra than normal ## Changelog 🆑 add: Added new fishing category to games vendor /🆑 |
||
|
|
ab222330ef |
Squashs four fish boolean vars into a bitfield (plus VV support) (#86623)
## About The Pull Request this is a very marginal code improvement to fish. One bitfield is better than a bunch of booleans, and it lets me add more TRUE/FALSE settings in the future without having to make new vars for it. Also VV support for several vars (fish_traits will have to wait), if me or someone else wants to var-edit fish for testing purposes or whatsnot. ## Why It's Good For The Game Slight code improvement and var-edititing support. ## Changelog N/A |
||
|
|
686a1d3286 |
[NO GBP] The fishing line and float are now actually offset to match the fishing spot (#86659)
## About The Pull Request I've made a PR before so that beam datum (and therefore the fishing line) would take pixel_w/z into account, but what I didn't consider is that the fishing line is actually attached to the float (as it should be), so it did basically nothing on the other end of fishing lines while fishing. This PR fixes that. ## Why It's Good For The Game Fixing a small visual inconsistency. ## Changelog N/A |
||
|
|
73685ac4b5 |
[NO GBP] Fixed the force of swordfish and armored pikes (#86620)
## About The Pull Request Noticed this while resolving conflicts on another fish PR. I had copypasted the code and then modified it, but I've forgot to change the path too. ## Why It's Good For The Game A mistake was made. ## Changelog 🆑 fix: Fixed the force of swordfish and armored pikes /🆑 |
||
|
|
adc47b42ee |
You can release fish after catching it (#86126)
## About The Pull Request This PR nerfs the mood event from fishing from 5 to 4. In exchange, after catching a fish, you can release it in the appropriate fishing spot for a minor positive mood event (if it's alive, or if the user has either the morbid or naive traits). It also counts towards fish population for fish that are limited in the amount of times they can be catched. Mobs with the naive trait (clowns) get the positive mood event even if the fish is dead or being released in a bad place like lava Some fishing spots like toilets and moisture traps don't have this option, but that's because they've their own interactions with fish that'd otherwise be overridden by it. This PR also fixes mobs with the morbid trait (coroners) not enjoying aquarium in their own morbid ways and add a few touches pertaining the naive trait like alternative chat messages when interacting with the fish. ## Why It's Good For The Game This gives players a way to get rid of unwanted fish without leaving it to die on the floor, also it's in the spirit of recreational fishing. ## Changelog 🆑 fix: Fixed morbid mobs (coroners) not enjoying room beauty and aquariums in their own weird ways. add: You an now release fish after catching it for a positive moodlet (or to repopulate certain fishing spot with rare fish). /🆑 --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> |
||
|
|
00e2f6cd7b |
Fish sources are more thoroughfully stressed during unit tests. (#86637)
## About The Pull Request The profound fisher component (for both mobs and gloves) as well as the proc responsible for rolling rewards are now being tested too. This is something I've meant to do in a while, #86633 just happened to kick it off now. ## Why It's Good For The Game More tests, fewer mistakes flying under the radar. ## Changelog N/A |
||
|
|
2e44894321 |
[NO GBP] Fixes aquarium props not showing up in the aquarium. (#86618)
## About The Pull Request RegisterSignals apparently doesn't throw warnings when the signals arg is not a list and just silently fails. ## Why It's Good For The Game Fixing stuff. ## Changelog 🆑 fix: Fixed aquarium props not showing up inside the aquarium. /🆑 |
||
|
|
d832da7c0a |
[NO GBP] Fixes a line in fish sources code. (#86633)
## About The Pull Request We ned to set the `leveling_exponent` here, not the `weight_leveling_exponents` static variable itself. ## Why It's Good For The Game Fixing fishing with baits. I should improve the unit tests later... ## Changelog 🆑 fix: Fishing with baits works again. /🆑 |
||
|
|
9a3dceda26 |
Fishing in a virtual domain doesn't deplete limited loot anymore (also the treasure chest is no longer anchored) (#86625)
## About The Pull Request I've recently realized that bitrunning fishing spots can steal the limited loot from outside the virtual reality, which sucks. Also Livrah asked me why the treasure chest is anchored, to which I said it's actually an oversight. ## Why It's Good For The Game Fixing stuff. ## Changelog 🆑 fix: Bitrunning fishing spots no longer deplete limited loot from outside the virtual reality. fix: The treasure chest from the beach is no longer anchored to the floor. /🆑 |
||
|
|
8d0e6734fe |
Fish (ya know, from fishing) is now edible (#86110)
## About The Pull Request Fish (the item that you catch with a fishing rod) now has an edible component attached to it, making it possible to eat them if you really have to, at the cost of eventually killing and deleting the fish, however, you normally shouldn't. Along with the seafood and meat foodtypes flags, it possess the gore and raw foodtypes too, making them pretty awful to eat unless you're a (non-vegan) lizard, felinid, or wearing the strange bandana*, which can only be found in the cqc kit case. Furthermore, it carry diseases like the ones from food left on the floors for too long, so a strong stomach is required to safely eat it even if you actually like it, dummy... UNLESS you fry or grill it, thus killing the diseases (as well as the fish) and removing both the gore and raw food types, then it becomes an actually ok meal... UNLESS you're dumb enough to eat a pufferfish, a donkfish or a slimefish. That is more or less the general rule. A few fish stray for it. For example, lavaloops are never raw (still gorey). The skeleton fish are never edibles, and holodeck fish is, well, holographic and thus disappears if you try to eat it. *the strange bandana is a reference to MSG, and this is a reference to the MGS3 fish eating animation. This is WIP btw, I'll have to test it and add some then polish it. ## Why It's Good For The Game Whole unprocessed fish should be technically edible, even if not safe to eat nine times out of ten. Also I kinda need this if I want to add a tasty fishing spot to the kitchen deepfriers. ## Changelog 🆑 add: Whole, unprocessed fish is now edible. However it's pretty much reccomended to grill or fry it for over 30 spess seconds before attempting to eat it. fix: germ-covered, dirty food no longer tries to infect you through contact. /🆑 |
||
|
|
8486f2f7e2 |
Storage / table interactions at the bottom of the interaction chain (#85512)
Because the wings were in fact made of wax ## About The Pull Request Storage goes to the very bottom of the interaction chain, hardcoded in on `/atom`. This is not preferred, obviously, but it ends up being a lot less snowflaking overall. Tables also go at the very bottom by extending `base_item_interaction`. Fixes #83742 Fixes #84434 Fixes #83982 Fixes #85516 Fixes #84990 Fixes #84890 Closes #85036 Closes #84025 (RMB places it on the table.) Closes #86616 Other changes: Refactored pod storage to be less jank. Patches some exploits around it. ## Why It's Good For The Game Should make a lot more interactions a lot more reliable... hopefully ## Changelog 🆑 Melbert refactor: Storage and Tables are now a lower priority action, meaning some uses of items on storage should work... better, now. Here's hoping at least, report any oddities. refactor: Note: For an overwhelming majority of items, **combat mode** will attempt to attack/insert into the target, while **non-combat-mode** will attempt to use on a target. This means screwdrivering or emagging a MODsuit must be done on non-combat-mode, as combat mode will simply put the screwdriver or emag into its storage. Same applies to tables, though when in doubt, RMB may help (for things which are also weapons, like mops). refactor: Refactored escape pod storage, now they actually properly show as unlocked on red alert and above. /🆑 |
||
|
|
cdfbfe55ce |
Fish electrogenesis now scales with size. (#86593)
## About The Pull Request A little touch to fish electrogenesis. Now its power scales with the size of the fish. The initial values for the zip zap and the jumpercable have been edited so that their average output is more or less unaffected. This PR also adds a check to fish petting to ensure that the user is shocked only if the fish actually has the electrogenesis trait and not just the energy that'd be generated if the fish had the trait. ## Why It's Good For The Game The size and weight of a fish are variables that influence a lot of mechanics such as reagents, number of fillets, weight class, force, slowdown when carried or dragged, other traits, cargo value. Electrogenesis should be no different. Also fixing a possible oversight (not in the changelog because so far the only fish with over 15 MJ is the zip zap and it's about impossible to remove their electrogenesis trait rn also because they don't reproduce). ## Changelog 🆑 balance: Fish electrogenesis now scales with size. /🆑 |
||
|
|
7a28a34986 |
[NO GBP] Fixing fishing code not caring whether a reward is limited or not. (#86125)
## About The Pull Request At some point, I must have removed the check for limited items from `get_modified_fish_table()` and never replaced the `fish_table.Copy()` call with `get_fish_table()` (which has it), causing limited rewards to be yet `again` unlimited. This extends to explosive and lobstrosities (clientless mobs with the profound fisher comp) once the associated value of the reward in the `fish_counts` list (the list of keeps track of these limited rewards) reaches a negative value, because the code only checks if the value is equal to zero where it frankly it should check if the value is equal or less than zero. Also I've set `explosion_malus` to true for a few fish sources that cover multiple turfs, revisited a few comments and a redundant UnregisterSignal call in lazy_fishing_spot ## Why It's Good For The Game Fixing an oversight. ## Changelog 🆑 fix: Fixing fishing not caring whether a reward is limited or not. /🆑 |
||
|
|
59e3f1a240 |
Fishing rewards are now chosen once the minigame starts, not beforehand (feat. Crushing the difficulty now skips the minigame) (#86175)
## About The Pull Request Rolling the reward up to 30 seconds before the minigame starts leaves ample room for conditions to mutate and unforeseeable events to happen, which can lead to more frequent issues. Furthermore, it makes more sense this way, since you aren't pulling a carp until it bites the hook. Also TIL that the difficulty of the fishing sources is added to the default difficulty of the minigame, which is 15 and doesn't replace it, which means most fishing spots have a default difficulty of 35 to 40, so I thought it'd be nice if you somehow were able to skip the minigame if you reduce the difficulty to 0 or less, which is totally possible with some prep. IIRC, using the athletics fishing gloves at maximum fitness level (21) + max fishing level (10) + settler quirk (5) + a favorite bait (5) can lower the difficulty by a whooping 41 points, so it's totally possible to achieve the skips on many fishing spots. Doing this however won't train your fishing skill. ## Why It's Good For The Game More stability. Also we skip the minigame entirely if it gets so easy it becomes another waiting phase with little to no input. ## Changelog 🆑 balance: With enough preparation, good skills and equipment, you can manage to skip the minigame phase of fishing by reducing the difficulty all the way down to 0. /🆑 |
||
|
|
e21d5e37e2 |
Slims down the aquarium content component, moving most of its code to the items it's attached to. (#86104)
## About The Pull Request If I ever want to convert aquariums to component so that we get portable fish tanks, I'll have to remove the garbage code from aquarium contents first, because it's a bit confusing to look at, and most of it is hard-coded or about fish animations, which is annoying because it'll also prevent me from making different animations for different fish in the long run. This PR should replace some of the mess with a few signals so that we can have slightly more freedom around the visuals of aquarium contents. #86090 should be merged first by the way to avoid issues with missing visuals. ## Why It's Good For The Game See the previous section. ## Changelog N/A |
||
|
|
023bfd0e5d |
Autowiki for fishing. (#86035)
## About The Pull Request I've come to realize manually updating all fishing stuff on the very much outdated wiki would be a colossal pain in the rear, so I've decided to automate a few bits to generate autowiki lists containing information about fish, fish traits, bait, hooks, reels, fishng rods, fish sources and fish experiments. Now tested. ## Why It's Good For The Game Making a huge autowiki for a feature that's being constantly updated (by me) but still has a particularly lame and outdated page on the wiki. ## Changelog N/A |
||
|
|
69176298ed |
Spelling Fixes (#86056)
## About The Pull Request Fixes several errors to spelling, grammar, and punctuation. ## Why It's Good For The Game Improves readability and user experience. ## Changelog 🆑 spellcheck: fixed a few typos /🆑 |
||
|
|
953aa080a2 |
[NO GBP] Fixes the text of the instructions paper for lures. (#86537)
## About The Pull Request I'm not a good writer, there're a couple instances that could've been worded better, and a typo or two, however the biggest problem were two bold tags not being properly closed on the last paragraph. ## Why It's Good For The Game Spellchecking. ## Changelog 🆑 spellcheck: fixed a few wording and markdown issues on the instructions paper for fishing lures. /🆑 |
||
|
|
10c2b7364e |
The fishening v3: Fishing lures. (#86007)
## About The Pull Request Over half of the line changes are merely from splitting the fish_types.dm into several files since it was over 1k lines already. One of the small issues with fishing right now is RNG. You want to get some specific fish, and you go through all the micromanaging with hooks, reels and baits only for the random number god to say "nope", and that's only going to get worse the more fish are in the game. However, I've a solution: (unconsumable/reusable) fishing lures, each of which attracts different fish based on different conditions. The only caveat is that they require to be spun at set intervals (usually 1 to 3 seconds, depending on the lure, with a second-long window). Worry not, there're visual cues in the form of a green/red light hovering the fishing float, so you won't get screwed up by the server slowing down or whatever. The whole box of lures (12 so far) can be from cargo for the fair price of 450 credits. I've also added 5 new fish: monkfish, plaice, pike, another punnier variant of the pike, perch and squid. The latter is quite special because of the ink production trait, which lets players use it to blind others at a close range and when butchered, it yields an ink sac, which can be processed into a can of squid ink (one less item exclusive to the produce console), or thrown at people in a sort-of-similar fashion of banana cream pies (except it's ink). <details> <summary>Images</summary> Fishing lures (forgot to take my cursor off the veggie one before the screenshot):  The five new fish:  </details> <details> <summary>A table of fish catchable wth each lure (excluding holodeck)</summary>  </details> A few more things in the CL, baitfish are a thing now. ## Why It's Good For The Game There should be ways to contrast some of the RNG fishing has. After all, it's only going to get more random the more fish are in the game. Furthermore, I find it disappointing that a lot of food stuff is exclusive to the ingredients console and there're no other ways to get it. ## Changelog 🆑 add: Added fishing lures to the game. They don't get used up like baits and let you catch specific kinds of fish, though they need to be spun every few seconds. The whole set can be ordered from cargo for 450 credits. balance: The magnet hook now removes dud chances. add: Added five new fish types: perch, two types of pike, monkfish, plaice and squid. Squids have a fairly special ink production trait, which lets you use them (unless dead) to ink people face at close range, and can be butchered for an ink sac, which can either be processed into canned squid ink, or thrown at someone. fix: Refactored throwing a little. Some items (specifically components/elements) won't be triggered when caught. no more plates shattering despite being caught for example. add: Goldfish, lavaloops, needlefish and armorfish can now be used as baits. /🆑 |
||
|
|
5d67d64534 |
The proc that calculates the force of a fish now takes metalgen into consideration. (#86159)
## About The Pull Request This is more of a nit than anything. The game is so full of different features, preventing each and every single mechanic from getting in the way of something is a sisyphean task, yet we try, so one must imagine a contributor happy. ## Why It's Good For The Game Consistency. ## Changelog It's nothing note-worthy. |
||
|
|
3a2d4258b2 |
Aquarium fish visuals cleanup and unit test. (#86090)
## About The Pull Request Right now, there are two ways to set the aquarium visual for fish. The first is to make a small little blob of pixels representing the fish inside the aquarium, and then set the fish' sprite_width/sprite_height vars for that little blob of pixels. The second is to set the fish' source_width/source_height representing the boundaries of the fish original icon state and then sprite_width/sprite_height to get how much the icon state will be resized when used as an aquarium visual. So far so good, except we're only humans, and this sort of stuff can and will confuse us and overall make the process of adding new fish more complex. There are quite a few fish that don't have these vars set up in the right way, so I've decided to butcher out the second method in favor of the first one. Given the size of the aquarium icon states, this is a pretty trivial task. Furthermore it works better for fish whose sprites are coiled or snakey-looking (jumpercables and emulsijack) or on a diagonal axis. I've also added an unit test to ensure future contributions don't ever forget to set the right vars and make an aquarium icon state. ## Why It's Good For The Game Less confusion, and two less fish variables (they've over 40!). ## Changelog 🆑 fix: fixed a few minor nits with aquarium fish visuals. /🆑 |
||
|
|
c1c9ecb8d5 |
[no gbp] aquarium ui fix (#86477)
## About The Pull Request i wrongfully capitalized some stuff in my last commit ## Why It's Good For The Game fixes aquarium ui ## Changelog 🆑 fix: aquarium ui now displays props and fishes correctly /🆑 |
||
|
|
91baa94ac5 |
event based incapicated and able_to_run (#86031)
## About The Pull Request this is a revival of #82635 . i got permission from potato to reopen this, he did almost all the work. i only just solved the conflicts and fixed all the bugs that were preventing the original from being merged (but it should be TMed first) ## Why It's Good For The Game slightly improves the performance of basic mob AI ## Changelog 🆑 LemonInTheDark refactor: able_to_run and incapacitated have been refactored to be event based /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: ZephyrTFA <matthew@tfaluc.com> |
||
|
|
9f686f5cc6 |
new aquarium ui and few new additions (#85627)
## About The Pull Request gives the aquarium a new ui:  u can now also pet and nickname ur fish through this interface. petting them will have them do a small dance and increase their happiness  the hearts indicate how happy the fish is with the tank's living conditions and if theyve been petted recently. ## Why It's Good For The Game gives aquariums a better UI making it easier to use ## Changelog 🆑 qol: gives aquariums a new easier to use UI /🆑 |
||
|
|
de68bb7a2b |
fish sounds (#86445)
## About The Pull Request sounds fishy around here <details> https://github.com/user-attachments/assets/9131a1c5-a3ad-4fa8-b858-9c3ddba3d450 https://github.com/user-attachments/assets/0d7381a8-b0c3-4796-befa-b71e4819aaa8 https://github.com/user-attachments/assets/a714c857-11bd-42b4-adaf-7447c236711e https://github.com/user-attachments/assets/f8697933-1e5f-4403-b3f2-959e6e0c8254 https://github.com/user-attachments/assets/72530952-14ea-4c97-aa32-76c80036fff5 </details> ## Why It's Good For The Game  ## Changelog 🆑 grungussuss sound: fish now have new sounds /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
1e36864d4f |
Removes a no longer used fish variable. (#86105)
## About The Pull Request Since Ben revamped the fish analyzer, this variable is no longer used. Frankly it could as well be removed. Knowing the family history of a fish really isn't in the top 100 things to do before being robusted in maints. ## Why It's Good For The Game Unused var. ## Changelog N/A. |
||
|
|
3152a7e07e |
[NO GBP] Fixes the chainsaw evolution for goldfishes (#86001)
## About The Pull Request It was checking if the size was over 1000 instead of the weight. Also I'm changing the code to use the initial values of the average size and weight of goldfish, since I'm shrinking the lil' fella a bit in an upcoming PR. ## Why It's Good For The Game Fixing an oopsie. ## Changelog 🆑 fix: Fixes the chainsaw evolution for goldfishes. /🆑 |
||
|
|
2e0ff48bbb |
Fixing three fishing issues in one PR. (#86042)
## About The Pull Request This will fix #83730, fix #85985 and fix #86033. ## Why It's Good For The Game See above. ## Changelog 🆑 fix: You can no longer pickup closets and crates wrapped in a package with a fishing rod. fix: Fixed a few harddel issues with mob spawns that caused charred corpses fished from lavaland to create an invisible blockade. fix: Fixed being able to fish up mobs that have fallen in totally different z-levels with a rescue hook (i.e. from bitrunning domains to lavaland). /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
73081bcff0 |
Add messages (paper, photos, cash) in bottles. (#85703)
## About The Pull Request This PR adds a new persistent feature: message inside bottles. These are basically glass bottles with inside a piece of paper, a photo or space cash (no holocredits, and most bills rarely go over 1000 credits anyway) from a previous round, which can be fished at the beach, or from the relative fishing portals. Each piece of written paper or photo that isn't map-loaded has a roughly a 0.2% chance to be added to the message bottles database at the end of the round. However, you can also manually toss a glass bottle with inside a paper/photo/bill into the ocean (or a fishing portal generator with the ocean/beach module loaded) for guaranteed results. The bottles are removed from the database once fished up by the by, unless tossed back into the ocean. I've also offset a couple bottle sprites that weren't properly aligned (for the message overlays). TODO: - [x] add a couple (20 prob or less) message bottle spawners to the beach away mission or something. - [x] add a few sounds for adding and removing the message from the bottle. (pickup/drop sounds already handle that) - [x] test it properly. ## Why It's Good For The Game I think it'd be neat to have a way to send photos, snarky "seek grass" messages, as well as the occasional financial aid to future players, and furthermore, another thing to tie fishing to. ## Changelog 🆑 add: You can place papers, photos and cash bills (no holochips) inside bottles and then toss them into the ocean (or fishing portal gen with relative settings) with right-click, for others to fish them up on future rounds. /🆑 |
||
|
|
c77c50ae3d |
Athletic Fishing Gloves and Fishing Module to fish without a fishing rod (#85415)
## About The Pull Request This PR adds a pair of fishing gloves that let you fish and work out at once, and also a MODsuit module that lets you use MOD gloves to do the same thing (without the workout, an external fishing rod has to be inserted first). In both cases, you can equip or unequip bait, hook and line by using the fishing rod interface which you can open by right-clicking the gloves. To get both of them, you've to perform the first fish scanning experiment. I had to refactor the profound fisher component a bit to do this. ## Why It's Good For The Game Interweaving a few different features with fishing. Fishing and Athletics are both skills, so I thought it'd be nice if it were a way to take advantage of both, and level them up accordingly. Also fishing gloves with maxxed out athletics can make fishing a lot noticeably easier at higher difficulty. ## Changelog 🆑 add: Added Athletic Fishing Gloves and Fishing Glove Module to the advanced fishing tech node. Both can be used to fish without having to hold a fishing rod. The athletic fishing gloves will also train your athletics skill. /🆑 |
||
|
|
0fc2e41d24 |
Adds descriptions to aquarium decoration items (#86019)
## About The Pull Request Adds item descriptions to aquarium decorations, and makes them contain a small amount of plastic (about as much as a plastic coin each). ## Why It's Good For The Game Currently they inherit and share the placeholder description "this is boring" which isn't good for items players are supposed to have. Making them contain plastic is for flavour reasons, previously they contained no materials. ## Changelog 🆑 fix: Aquarium decorations now contain plastic. spellcheck: Added item descriptions for aquarium decorations. /🆑 |
||
|
|
7fcfc9dc1c |
Fishing toolboxes (and maint) now come with a paper slip containing fishing-related tips. (#85279)
## About The Pull Request Fishing is full of stuff that goes under the radar with little visibility and the [wiki page](https://tgstation13.org/wiki/Fishing) is outdated as fuck (look at all those ugly old codersprites oh my goodness). I don't want to shove tip of the rounds for something so niche but a few tips inside the fishing toolboxes people get sometimes, as well as maintenance shouldn't hurt. This PR is for currently a draft until the other PRs are in. Many of the tips refer to stuff that hasn't been merged yet. ## Why It's Good For The Game I cannot trust the wiki contributors to do a good job at it nor keep up with the continuous changes I do. Also these might help players sometimes. ## Changelog 🆑 add: Fishing toolboxes (and occasionally maintenance) now come with a paper slip containing fishing-related tips. /🆑 --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> |
||
|
|
659e6f0ca2 |
Fishing expansion 2: one-year later boogaloo (#85252)
## About The Pull Request This PR mainly adds more fish and more fishing spots to the game, while refactoring a few aspects of the fishing minigame. Listing out with the new fish: - Arctic char: mainly filler content for the ice hole fishing spot - Sockeye Salmon: ditto but also provides better fillets that boost the quality of resulting food items when cooked or used in recipes - Soulfish: joke content, found by the cursed spring ruin - Skin Crab: also a joke found by the cursed spring - Bump-Fish: filler for the sand fishing spot - Burrower Crab: ditto, reusing a fish sprite I made last year - Sand Surfer: ditto - Three-Eyed Goldfish: It's a reference, doh - Stingray: A modestly weaponizable fish (whoops I've forgot to set the hit sounds), it possess a few traits that make it deliver bits of venom each time you hit someone with it - Swordfish: Huge-ass fish that may require two hands to wield (or not, if the RNG wants to make it smaller). Stats-wise, it's more or less the equivalent of the captain sabre, if not stronger (and more unwieldy due to size and weight). Becomes weaker when dead. Also gives better quality fillets. - Chainsawfish: A mutation of the goldfish with some size, weight and traits requirements, but can also be found on emagged fishing portals. Stronger than the swordfish, it behaves sort of like a chainsaw, with the similar tool behaviour and var values. Also becomes weaker when dead. As for the fishing spots, you can now fish on sand turfs, at the cursed springs or on ice. Rivers/jungle water now has its own fishing spot datum, and no longer uses the generic fishing portal one. To fish on ice, you first have to carve a hole with a pick or a shovel. I've also refactored the fish "AI" hardcoded stuff used in the fishing minigame into their own datums, which let me add a few fancier ways to how the fish moves during the minigame (i.e. the soulfish moving at 1 FPS or the chainsawfish getting faster and faster). As for the sword and chainsaw fish, their potential strength is balanced out by the need of keeping them alive, as well as the potential cumbersomeness, two-handed wielding and potential slowdown from the excessive weight of the fish (Thank you Big Slappy for the inspiration). Other minor changes include: Pufferfish giving better quality fillets (too bad they're poisonous, I'll go and make a skillchip to let cooks safely separate the poisonous liver from the fillets); McGill The lawyer's goldfish) having a 15% of being three-eyed; the aforementioned slowdown from fish weight and two-handed carry from fish size; a couple new fish icons (the ones that hint you on what you're trying to catch) for the fishing minigame; a few adjustments to prevent self-reproducing fish from ignoring the population cap and let fish with a stable population of 1 to crossbreed (also gotta make a different PR to let it happen rarely without the crossbreeding trait). This PR is still a WIP, gotta test it several times. ## Why It's Good For The Game Fishing is something I've been working on for about a year now, but there are still a few places where it's kinda lackluster, like there's not enough diverse fishing spots or useful fish (I'll be working on a separate PR to make the logistic of a carrying a fish around without letting it die a tad easier). Also, look at these sprites:  Can you guess which is which? ## Changelog For the sake of not dumping players with niche information 90% of the players won't understand, I'll keep the CL pretty generic 🆑 add: Added twelve new fish types to the game. Some are cool, other are not, some come with their own special traits and some are straight-up weapons. add: Added more fishing spots to the game. Sand, ice, rivers, the cursed spring... balance: A few fish like salmon, swordfish and pufferfish (poisonous btw) now give better quality fillets when butchered, which can improve the quality of food that uses them even further. balance: Excessive fish weight will make the fish slowier to carry, while excessive size may make it require two hands. balance: Adjusted size, weight and cooldowns of several fish, for the better. /🆑 |
||
|
|
1880003270 |
Reworks silicon/ai access checking & fixes some ui_act's (#84964)
## About The Pull Request Currently to check for Silicon access, we do: ``if is silicon or is admin ghost or has unlimited silicon privileges or has machine remote in hand`` What has unlimited silicon privileges? Bots, Drones, and admin ghosts. To check for AI access, it just checks for AI instead of silicon, and doesnt check for unlimited silicon privileges. This was kinda silly, so I thought I should make this a little easier to understand. Now all silicon/ai traits come from ``AI_ACCESS_TRAIT`` or ``SILICON_ACCESS_TRAIT``. I made a single exception to keep Admin ghost, since now instead of being a var on the client, we moved it to using the same trait but giving it to the client instead, but since we have to keep parity with previous functionality (admins can spawn in and not have this on, it only works while as a ghost), I kept previous checks as well. No more type checks, removes a silly var on the mob level and another on the client. Now while I was doing this, I found a lot of tgui's ``ui_act`` still uses ``usr`` and the wrong args, so I fixed those wherever I saw them, and used a mass replace for the args. Other changes: - machinery's ``ui_act`` from https://github.com/tgstation/tgstation/pull/81250 had ``isAI`` replaced with ``HAS_AI_ACCESS``, this has been reverted. Machine wands and admin ghosts no longer get kicked off things not on cameras. This was my fault, I overlooked this when adding Human AI. - Human AI's wand gives AI control as long as it's in your hand, you can swap to your offhand. I hope this doesn't end up going horribly, otherwise I'll revert this part. It should let human AIs not have their UI closed on them when swapping to eat food or use their door wand or whatnot. - Bots previously had special checks to scan reagents and be unobservant, I replaced this with giving them the trait. I also fixed an instance of unobservant not being used, so now statues don't affect the basic creature, whatever that is. ## Why It's Good For The Game This is an easier to understand way of handling silicon access and makes these mobs more consistent between eachother. Other than what I've mentioned above, this should have no impact on gameplay itself. ## Changelog 🆑 fix: Statues don't count as eyes to creatures. fix: Human AIs and Admin ghosts no longer get kicked off of machines that aren't on cameranets. /🆑 |
||
|
|
ff3b73dc82 |
Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#85271)
## About The Pull Request I've refactored the FISH_SAFE_STORAGE trait into an element, mainly because there were a few problems with how it worked: It wasn't stopping hunger from raising, ditto with the breeding wait, and it offered no healing whatsoever, which I find kind of a bummer. The new element will keep the fish from getting any hungrier or ready to reproduce and will heal them up to 65% of their base health. Also, I've added a new bluespace fish case as a techweb design, found along with other stuff in the advanced fishing node, though if you want I can move it to a bluespace node. This should make it possible to reasonably store and carry around larger fish. Examining a fish will no longer give out readings on weight and size if you haven't at least attempted fishing once (you can get to novice level in less than a minute). While examining a fish with apprentice level or higher will also give readings on the general conditions of the fish (is it starving? drowning? has it lost a considerable chunk of health?). The fishing skillchip also gives you these traits. I've also converted two fish variables into traits, because fish have waaaay too many variables. and gave some topdown shading to the pre-existing fishbox sprite. ## Why It's Good For The Game ## Changelog 🆑 add: Added a bluespace fish case to the advanced fishing node. balance: Fish cases will keep a fish from getting hungrier or ready to reproduce, while also healing it up to 65% health. balance: Examining a fish with zero fishing skill whatsoever won't give a reading on its size and weight. Conversely, examining one with the skill leveled two times will give general information on if it's starving, sick, hungry, or dead. /🆑 |
||
|
|
d9168e7254 |
Adds a treasure chest to the ocean/beach fishing spot. (#85276)
## About The Pull Request This PR adds a treasure chest that can be fished from the ocean if you're lucky enough (or have enough explosives or lobstrosities to do it for you). The treasure chest is basically a mystery box (like the ones from the deathmatch) with a couple catches; the treasure chest can be opened up to 18 times in total before breaking down, however, it can only be opened up to 3 times per spaceman, encouraging the player to share it with others. Here the possible loot by the by: - A toolbox containing a master fishing rod, all the hooks and reels, fish feed, an experi-scanner, an aquarium kit and a can of super baits - A box containing a lazarus injector, a cup and a bottle of strange reagent which you can use to revive fish now - A circuit board for a pre-emagged fishing portal generator - A master fishing rod - A can of super fishing baits - A fish case containing Tiziran fish - A fish case containing Syndicate fish - An old, yet fairly strong cutlass - An old laser gun which fires only 5 shots before running out - A crank laser musket - A smoothbore disabler - A surplus bolt action rifle - A ration pack - A can of squid ink - A bottle of aged rum that forces you to switch to the piratespeak language - A money bag with some doubloons inside - A piratespeak manual - Pirate armored coat - Pirate armored hat - A pre-loaded cannon - Four trash cannon balls - Four cannon balls ## Why It's Good For The Game Mystery boxes are fun, from the little fanfare they play to the potential loot they can give, and I had an old treasure chest I had sprited for fun years ago around so I've come up with an entertaining idea. If you think the loot list is a bit too hot, I can cool it down a bit. Also yeah, I wanted to make fish revivable with strange reagent, since you can already do it with lazarus injectors even though using a lazarus injector for this would be a severe waste of mining points. ## Changelog 🆑 add: Added a treasure chest you can rarely fish from the ocean/beach, with loot being a mix of fishing and piratey stuff. add: You can revive fish with strange reagent now. /🆑 |
||
|
|
fec946e9c0 |
/Icon/ Folder cleansing crusade part, I think 4; post-wallening clean-up. (#85823)
Hello everybuddy, your number three rated coder-failure here to clean up some mess. This PR accomplishes some of the more major structural clean up changes I wanted to do with /obj/ folder, but decided to wait on until wallening gets merged, and so, time has come. Several things to still be done, although I know these cleaning PR's are quite a load, so will wait for this one to get done with first. ## Why It's Good For The Game Saner spriters, better sprites, less annoyance. Also deleted a whole load of redundancy this time around, a lot of sprites which existed simultaniously in two places now got exit their quantum superposition. |
||
|
|
151c95cbbf |
Fixed fish analyzers not being able to scan fish (#85772)
## About The Pull Request Closes #85741 ## Changelog 🆑 fix: Fixed fish analyzers not being able to scan fish /🆑 |
||
|
|
34da6fa88a |
Stop clientless lobstrosities from fishing other lobstrosities and the necropolis chest (#85365)
## About The Pull Request So, I've heard something funny happened on a downstream. A lobstrosity fished out another lobstrosity from the plasma river. And later another couple lobstrosities joined the fry, then again and again until it became a gang of over 50 lobstrosities that would absolutely terminate anyone that dared to interrupt their fishing party, as well as their FPS.  I've also blacklisted the single necropolis chest the lava fishing spot has, because it kinda sucks to get that chance to fish it up stolen by some random lobstrosity god-knows-where around the map. ## Why It's Good For The Game Yes, this is very funny. However, getting your FPS butchered by dozens upon dozens of lobstrosities is not, and that's an honest issue. ## Changelog 🆑 fix: Stop clientless lobstrosities from fishing other lobstrosities, which in turn can fish other lobstrosities and so on. balance: Stop clientless lobstrosities from fishing the lavaland fishing spot chest. /🆑 |
||
|
|
36ca9a8559 |
Raising lobstrosities from chrabs is now a component. Adds in tadpoles which become frogs. (#85346)
## About The Pull Request I've componentized part of the code that manages raising lobstrosities from chrabs so that it can be added to other fish too. As proof of concept, I've added tadpoles. Tadpoles are not fished like the rest, instead you merely right-click a puddle and after 5 seconds you'll get one. Tadpoles are fairly fragile, cannot be butchered, don't reproduce, require lukewarm freshwater, need to be feed frequently, and become frogs after about 3 minutes. ## Why It's Good For The Game A small needed refactor for the chrab code, plus another small fish to make it easier to complete the first fish scanning experiment. ## Changelog 🆑 add: Added tadpoles, which can be scooped from puddles with right-click. Functionally they're like most fish, which require an aquarium to survive, and also need to be fed fairly frequently, however they quickly become frogs after about 3 minutes of care. add: Every station now has a couple puddles. One at the public garden and the other in prison. qol: Changed the name of an aquarium UI button from "Reproduction Prevention" to "Reproduction and Growth", as it controls both fish breeding and growth. /🆑 |