Aquariums are now potential fishing spots. (#88243)

## About The Pull Request
You can now fish from aquariums if you wish to. This includes some
backend changes to make it possible for the fish table from
get_fish_table() to contain instances, and all that it entails up to
spawn_reward(), which is a requirement for the gimmick to respect the
various traits and other variables of the already instantiated fish
rather than read from cached properties.

## Why It's Good For The Game
The fish progress score/index had only little nasty flaw that has been
nagging me since day one: Not all fish species can be caught. Skipping
McGill, which is a peculiar case that for cheevo purposes should be
considered a standard goldfish, there is the one, unsignificant yet rare
purple sludgefish which can only be gotten as a rare evolution of the
generic sludgefish. Talk about petty, but this may be a long-term nit I
prefer to handle right now.

Also why not? The 'unmarine mastodon' is near impossible to get unless
you somehow find a oil well which is locked behind a specific ruin.

## Changelog

🆑
fix: Aquariums are now potential fishing spots.
/🆑
This commit is contained in:
Ghom
2024-11-29 04:33:18 +01:00
committed by GitHub
parent ccc2533380
commit 1dff5f6de3
19 changed files with 221 additions and 130 deletions
+4 -2
View File
@@ -101,6 +101,7 @@
stable_population = INFINITY
breeding_timeout = 0
fish_flags = parent_type::fish_flags & ~(FISH_FLAG_SHOW_IN_CATALOG|FISH_FLAG_EXPERIMENT_SCANNABLE)
fish_id_redirect_path = /obj/item/fish/goldfish //Stops SSfishing from complaining
var/expected_num_fillets = 0 //used to know how many fillets should be gotten out of this fish
/obj/item/fish/testdummy/add_fillet_type()
@@ -368,6 +369,7 @@
/obj/item/fish/chasm_crab/instant_growth
fish_traits = list() //We don't want to end up applying traits twice on the resulting lobstrosity
fish_id_redirect_path = /obj/item/fish/chasm_crab
/datum/unit_test/fish_sources
@@ -419,10 +421,10 @@
/datum/fish_source/unit_test_profound_fisher
fish_table = list(/obj/item/fish/testdummy = 1)
fish_counts = list(/obj/item/fish/testdummy = 2)
fish_source_flags = parent_type::fish_source_flags | FISH_SOURCE_FLAG_SKIP_CATCHABLES
fish_source_flags = parent_type::fish_source_flags
/datum/fish_source/unit_test_all_fish
fish_source_flags = parent_type::fish_source_flags | FISH_SOURCE_FLAG_SKIP_CATCHABLES
fish_source_flags = parent_type::fish_source_flags
/datum/fish_source/unit_test_all_fish/New()
for(var/fish_type as anything in subtypesof(/obj/item/fish))