## About The Pull Request
So, some admin verbs/tools that used tguis, i.e edit/debug planes, were
available to admins with +DEBUG... but the ui_state used
`GLOB.admin_state`, which checks for +ADMIN - meaning that if they
_only_ had +DEBUG, they would have the verb... but it would do nothing
when they used it.
I've refactored `GLOB.admin_state`, `GLOB.debug_state`, and
`GLOB.fun_state` into a merged `/datum/ui_state/admin_state`, with a var
for which specific permissions are being checked for.
You now use the `ADMIN_STATE(perms)` macro to get the UI state for those
specific perms, i.e `admin_state(R_ADMIN)` or `admin_state(R_DEBUG)`,
and the resulting UI state will check for _those specific perms_.
These are initialized and cached in `GLOB.admin_states` (which should
never be directly accessed).
So, I've went thru every single usage of `GLOB.admin_state`,
`GLOB.fun_state`, and `GLOB.debug_state`, and made them all use
`ADMIN_STATE()` with the actual permission flags needed to use said UI
in the first place.
## Why It's Good For The Game
Kinda dumb for specific admin permissions to be granted verbs that don't
let them use it anyways.
## Changelog
🆑
admin: Certain UI-based tools (plane debugger, filter editor, etc) that
were given to admins with only +VAREDIT or +DEBUG, but refused to open
without +ADMIN, now actually work for admins that have the needed
permission.
/🆑
## 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.
/🆑
## 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.
/🆑
## About The Pull Request
Ok, I've had a bit of false memories about fishing being easy. It's
actually tough. It also has some issues that I didn't completely
understand until very recently.
First of all, I thought anything that count as a bait would be good
enough for fishing, but it turns attaching a raw meatball doesn't remove
dud chances from fishing spots. Having finally played with the feature
enough, I came to realize it's quite dumb to have something like that IF
you have a bait regardless of quality. We have other ways to handle bait
related stuff.
Second, I've lowered the time to raise a lobstrosity slightly. Waiting
20 minutes to get an adult one is a tad much if you add in all the prep
needed for it. Conversely, I've also increased their feeding frequency.
I think they should eat a bit more than once every 15 minutes to
survive. 10 should be ok.
I've also halved the reproduction timeout for the sludgefish. When I
first added it. I didn't take in consideration I'd have later have made
it so newly spawned fish would be on cooldown for double the standard
duration.
The abstract fishing rod that "profound fisher" mobs use now comes with
the same omni-bait advanced fishing rods use, so that they can catch all
kind of fish with less bad RNG.
Buffed the fishing skill a bit.
Aquariums that unanchored (except pre-filled ones) and do not
auto-connect to plumbing; ferer issues if you were to build one near the
toilets. They alo have the 'enable breeding' enabled by default.
I've also re-increased the deceleration of the minigame bait. Making the
controls less slippery.
## Why It's Good For The Game
I've been suffering from some Mandela effect about fishing. It's
definitely more challenging when the server isn't shitting the bed.
## Changelog
🆑
qol: Aquariums start unanchored and don't autoconnect to plumbing. Their
reproduction prevention is also disabled by default.
balance: Made it a tad easier to control the bait during the minigame.
Buffed the fishing skill. No fishing duds at all when using ANY bait.
balance: Chasm Chrabs take less time to grow into Lobstrosities but need
food a bit more frequently.
balance: "Profound fisher" mobs will have less RNG-dependant time
fishing.
fix: You can now ACTUALLY interact with other things while fishing if
the fishing rod isn't in your active hand.
/🆑
## About The Pull Request
This PR includes a series of small changes and additions to hooks and
reel lines, as well as the aforementioned bounties. My objective here is
to make the (base) hook and reel line feel more useful. Ditto with a few
other things.
Here's the list of changes:
- Almost all fishing rods come with a hook and reel line pre-installed.
The rod from the fishing toolbox comes with separate hook and reel line.
- Without a hook, you cannot fish. Without a reel line, the cast range
is reduced (from 5 to 3).
- Fishing with a reel line installed provides a mild boon to completion
speed by default.
- The sinewy reel line (craftable from lavaland mobs) can now be used to
fish on lava / liquid plasma, but it's a bit stiff and gives a mild
malus to completion speed.
- Unlike other hooks, the rescue and jawed hooks now allow you to cast a
line and reel in living mobs too, not only items. They even get a status
alert they can click to un-snag themselves, or move away far enough to
achieve the same effect.
- Master fishing rod buffed. It now comes with a flexible reel line and
weighted hook pre-installed, and can be cast further than other rods.
- On top of that, the jawed hook will slow down living mobs snagged by
it and is a bit harder to remove.
- when casting a line, it will now show the icon of the current hook as
projectile, not a generic one.
- Reeling now correctly checks movement resistance and anchorage.
- Reeling an object (or a mob) now plays a sound. Ditto for
installing/removing slotted items.
- A few balloon alert feedbacks.
- Minor code improvements.
- The jawed hook should look a smidge sharper.
- reel lines are now small items.
## Why It's Good For The Game
The base hook and reel line didn't do anything begin with, and you would
do just fine without them. In the end it's just a bit unintuitive for
them not to be a requirement.
Beside that, it makes sense for the rescue hook to be able to snag mobs,
so they may as well be used to drag people out of lava or liquid plasma.
As for the jawed hook, it always felt to me a bit underwhelming and a
bit of a filler I had cooked up on the moment. It really could have some
'tactical' utility in virtue of being one of those niche black market
items.
## Changelog
🆑
add: Most fishing rods come with a hook and line preinstalled. Fishing
toolboxes come with separate reel and lines as usual.
balance: Fishing hooks are now required to fish.
balance: Without a reel line, the range of fishing rods is reduced by
two tiles. Conversely, having one installed gives a mild buff to the
minigame completion speed.
balance: The craftable sinewy reel line can now be used to fish on lava
or liquid plasma, but it's a bit harder to use.
balance: The rare-to-find-in-maintenance master fishing rod now comes
with a flexible line and weighted hook preinstalled, and has better
range than other rods.
balance: Fishing reel lines are now small enough to fit pockets.
add: The rescue and jawed hook can now snag and reel in mobs, not only
items. The jawed hook also slows down when applied, a la beartrap.
qol: Fish bounties now accept filled (stasis) fish cases.
qol: Several balloon alerts for fishing rod interactions.
fix: Reeling in items (and mobs) now respects movement resistance and
anchorage.
fix: Fixed the fishing rod equipment UI being too small to fit its
components.
sound: Reeling in something now plays a sound.
/🆑
Adds fishing and fishing minigame.
You use fishing rod to fish.
Equipping specific bait/hook/reels will affect your success chances.
You can fish out fish,items and other things.
Fishing Equipment
Fishing rods have three slots: Bait, Reel and Hook.
Any food can be used as bait but dedicated bait makes fishing easier.
You can buy hook and line sets
New bait types:
Worms : Buy can of them at cargo (alternative acquirement method pending)
Doughballs : Use knife on flat piece of dough to get five of them.
Fishing rod types:
Basic : Print these at the lathe, nothing fancy here.
Tech: Experimental tech. Provides infinite bait
Fishing rods can also hook and reel normal items.
Equipment screen and reeling video
Fishing spots
Keep in mind this PR is meant to add the basic systems and i intend to fill these with more fish in future PR's so wait with suggestions until then.
Lavaland lava (no fish here right now, just other stuff), requires reinforced line to fish in.
Maintenance moisture traps.
Beach away mission water.
Fishing portal available for purchase from cargo - This is stopgap until we fill more spots.
Difficulty depends on fishing spot, fish type, and the fish traits and rod setup combinations.
All fish types can have specific traits, most common ones being favourite and disliked bait types/categories.
Other
Fishing catalog now lists fishing related info
New admin debug verb, fishing calculator that show probabilities with different setups so it's easier to balance this.
Fish now have average weight and size. Make sure to boast if you catch a big one.
Adds tgui mouse passthrough
Screens
Sprites:
Fishing portal sprite by @ArcaneMusic
Other sprites by @Mey-Ha-Zah
Bad ones by me. (Could still use better fishing minigame backgrounds)
Sounds:
https://freesound.org/people/soundscalpel.com/sounds/110393/https://freesound.org/people/soundslikewillem/sounds/343748/