fish analyzers can also be used to perform fish scanning experiments. (#78745)

## About The Pull Request
I recently read of someone being confused that they couldn't use them to
perform fish-related experiments, so I thought it would be a good idea
to add that. Also, I've converted the related misc supply pack to a
goodie one, like other fishing supplies.

## Why It's Good For The Game
It makes sense, and a fair amount of players doesn't even know
experiments exists until they play the scientist role a couple times.

## Changelog

🆑
add: Fish analyzers can now be used to perform fish scanning
experiments.
balance: They can now be singularly bought as a goodie pack for 125 cr
each, instead of a crate of three for 500 cr.
/🆑
This commit is contained in:
Ghom
2023-10-06 13:32:49 +01:00
committed by GitHub
parent 8a5b7e3b3d
commit 0f46a1a12a
4 changed files with 27 additions and 8 deletions
@@ -31,3 +31,6 @@
/// Sent when the challenge is to be interrupted: (reason)
#define COMSIG_FISHING_SOURCE_INTERRUPT_CHALLENGE "fishing_spot_interrupt_challenge"
/// From /obj/item/fish_analyzer/proc/analyze_status: (fish, user)
#define COMSIG_FISH_ANALYZER_ANALYZE_STATUS "fish_analyzer_analyze_status"
+6
View File
@@ -283,3 +283,9 @@
desc = "A less cheap imported climbing hook. Absolutely no use outside of planetary stations."
cost = PAYCHECK_CREW * 5
contains = list(/obj/item/climbing_hook)
/datum/supply_pack/goody/fish_analyzer
name = "Fish Analyzer"
desc = "A single analyzer to monitor fish's status and traits with, in case you don't have the technology to print one."
cost = CARGO_CRATE_VALUE * 2.5
contains = list(/obj/item/fish_analyzer)
+1 -8
View File
@@ -68,13 +68,6 @@
contains = list(/obj/item/storage/fish_case/tiziran = 2)
crate_name = "tiziran fish crate"
/datum/supply_pack/misc/fish_analyzers
name = "Fish Analyzers"
desc = "A pack containing three analyzers to monitor fish's status and traits with."
cost = CARGO_CRATE_VALUE * 2.5
contains = list(/obj/item/fish_analyzer = 3)
crate_name = "fish analyzers crate"
/datum/supply_pack/misc/bicycle
name = "Bicycle"
desc = "Nanotrasen reminds all employees to never toy with powers outside their control."
@@ -221,7 +214,7 @@
/obj/item/clothing/under/misc/burial = 2,
)
crate_name = "religious supplies crate"
/datum/supply_pack/misc/candles_bulk
name = "Candle Box Crate"
desc = "Keep your local chapel lit with three candle boxes!"
@@ -33,6 +33,17 @@
case_color = rgb(rand(16, 255), rand(16, 255), rand(16, 255))
set_greyscale(colors = list(case_color))
. = ..()
var/static/list/fishe_signals = list(
COMSIG_FISH_ANALYZER_ANALYZE_STATUS = TYPE_PROC_REF(/datum/component/experiment_handler, try_run_handheld_experiment),
)
AddComponent(/datum/component/experiment_handler, \
config_mode = EXPERIMENT_CONFIG_ALTCLICK, \
allowed_experiments = list(/datum/experiment/scanning/fish), \
config_flags = EXPERIMENT_CONFIG_SILENT_FAIL|EXPERIMENT_CONFIG_IMMEDIATE_ACTION, \
experiment_signals = fishe_signals, \
)
register_item_context()
update_appearance()
@@ -42,6 +53,10 @@
radial_choices = null
return ..()
/obj/item/fish_analyzer/examine(mob/user)
. = ..()
. += span_notice("<b>Alt-Click</b> to access the Experiment Configuration UI")
/obj/item/fish_analyzer/update_icon_state()
. = ..()
icon_state = base_icon_state
@@ -206,6 +221,8 @@
to_chat(user, examine_block(jointext(render_list, "")), type = MESSAGE_TYPE_INFO)
SEND_SIGNAL(src, COMSIG_FISH_ANALYZER_ANALYZE_STATUS, fish, user)
/**
* Called when a fish or a menu choice is left-clicked.
* This returns the fish's progenitors, traits and their inheritability.