From 51fdad310a3ac67636a3671accc59c24989540c1 Mon Sep 17 00:00:00 2001
From: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Date: Wed, 29 Jan 2025 17:37:53 +0100
Subject: [PATCH] Fishing UI resprite and bugfixes (#89267)
## About The Pull Request
Fishing UI has received a major glowup:
https://github.com/user-attachments/assets/e255822c-9c2c-4e09-843d-20ea70f470f5
All fishing rods now have unique frames (with material rods' frames'
colors being based on their material), and most fishing sources now have
unique backgrounds. Completion bar now uses alpha filters, making it
much smoother, and bait bar is assembled from thin lines, which allows
us to avoid stretching it when we need to resize the bar.
Fixed experiments not unlinking after being completed, resulting in
infinitely stacking examine lines on advanced fishing rods.
Fish death messages now use more fitting span_warning.
Removed devious SS_POST_FIRE_TIMING from the fishing SS, as it made
sometimes the fishing SS only fire every ***two*** ticks instead of
every tick, despite passing 0.05s (1 tick) into its process() calls -
this flag only makes sense on heavy and costly subsystems, not on a
subsystem dedicated mostly to fishing minigames. This is required as now
instead of directly assigning coordinates (why???) fishing UI uses
animate() to control the bait bar and fish icons, making it much
smoother.
Also gave blue dough its own bait overlay and mansus rift its own portal
icon because why not.
## Why It's Good For The Game
Fishing UI didn't look very nice, and removing the subsystem flag makes
the game smoother.
## Changelog
:cl:
qol: Fishing minigame should be smoother now
fix: Fixed infinitely stacking examine lines on advanced fishing rods
image: Resprited fishing UI
image: Blue doughballs now have their own fishing rod overlay
image: Resprited mansus rift fishing portal overlay
/:cl:
---
.../subsystem/processing/fishing.dm | 2 +-
code/game/objects/items/food/bait.dm | 1 +
code/modules/clothing/gloves/special.dm | 1 +
.../experiment/handlers/experiment_handler.dm | 1 +
code/modules/fishing/fish/_fish.dm | 2 +-
code/modules/fishing/fishing_minigame.dm | 71 +++++++++++-------
code/modules/fishing/fishing_rod.dm | 20 ++++-
code/modules/fishing/sources/source_types.dm | 19 ++++-
icons/hud/fishing_hud.dmi | Bin 5503 -> 8244 bytes
icons/obj/fishing.dmi | Bin 29996 -> 27242 bytes
10 files changed, 80 insertions(+), 37 deletions(-)
diff --git a/code/controllers/subsystem/processing/fishing.dm b/code/controllers/subsystem/processing/fishing.dm
index dd4dc377535..01474a2b1f2 100644
--- a/code/controllers/subsystem/processing/fishing.dm
+++ b/code/controllers/subsystem/processing/fishing.dm
@@ -1,7 +1,7 @@
/// subsystem for the fishing minigame processing.
PROCESSING_SUBSYSTEM_DEF(fishing)
name = "Fishing"
- flags = SS_BACKGROUND|SS_POST_FIRE_TIMING
+ flags = SS_BACKGROUND
wait = 0.05 SECONDS // If you raise it to 0.1 SECONDS, you better also modify [datum/fish_movement/move_fish()]
///A list of cached fish icons
var/list/cached_fish_icons
diff --git a/code/game/objects/items/food/bait.dm b/code/game/objects/items/food/bait.dm
index 9fbac7d3cf8..6d4df7fc7bc 100644
--- a/code/game/objects/items/food/bait.dm
+++ b/code/game/objects/items/food/bait.dm
@@ -62,6 +62,7 @@
/obj/item/food/bait/doughball/synthetic
name = "synthetic doughball"
icon_state = "doughball_blue"
+ rod_overlay_icon_state = "dough_blue_overlay"
preserved_food = TRUE
show_on_wiki = FALSE //It's an abstract item.
diff --git a/code/modules/clothing/gloves/special.dm b/code/modules/clothing/gloves/special.dm
index 98cbc984239..5d6d1891717 100644
--- a/code/modules/clothing/gloves/special.dm
+++ b/code/modules/clothing/gloves/special.dm
@@ -236,6 +236,7 @@
name = "athletics fishing gloves"
icon = /obj/item/clothing/gloves/fishing::icon
icon_state = /obj/item/clothing/gloves/fishing::icon_state
+ frame_state = "frame_athletic"
line = null
bait = null
ui_description = "A pair of gloves to fish without a fishing rod while training your athletics."
diff --git a/code/modules/experisci/experiment/handlers/experiment_handler.dm b/code/modules/experisci/experiment/handlers/experiment_handler.dm
index f01e8e2df42..b02236eda2d 100644
--- a/code/modules/experisci/experiment/handlers/experiment_handler.dm
+++ b/code/modules/experisci/experiment/handlers/experiment_handler.dm
@@ -274,6 +274,7 @@
*/
/datum/component/experiment_handler/proc/link_experiment(datum/experiment/experiment)
if (can_select_experiment(experiment))
+ unlink_experiment()
selected_experiment = experiment
selected_experiment.on_selected(src)
diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm
index f99cec5614b..17e11c3dcf2 100644
--- a/code/modules/fishing/fish/_fish.dm
+++ b/code/modules/fishing/fish/_fish.dm
@@ -968,7 +968,7 @@
REMOVE_TRAIT(src, TRAIT_UNCOMPOSTABLE, INNATE_TRAIT)
stop_flopping()
if(!silent)
- var/message = span_notice(replacetext(death_text, "%SRC", "[src]"))
+ var/message = span_warning(replacetext(death_text, "%SRC", "[src]"))
if(loc && HAS_TRAIT(loc, TRAIT_IS_AQUARIUM))
loc.visible_message(message)
else
diff --git a/code/modules/fishing/fishing_minigame.dm b/code/modules/fishing/fishing_minigame.dm
index 41a78629aac..f3deee91e29 100644
--- a/code/modules/fishing/fishing_minigame.dm
+++ b/code/modules/fishing/fishing_minigame.dm
@@ -18,17 +18,21 @@
/// The multiplier of how much the difficulty negatively impacts the bait height
#define BAIT_HEIGHT_DIFFICULTY_MALUS 1.3
-///Defines to know how the bait is moving on the minigame slider.
+/// Defines to know how the bait is moving on the minigame slider.
#define REELING_STATE_IDLE 0
#define REELING_STATE_UP 1
#define REELING_STATE_DOWN 2
-///The pixel height of the minigame bar
+/// The pixel height of the minigame bar
#define MINIGAME_SLIDER_HEIGHT 76
-///The standard pixel height of the bait
+/// The standard pixel height of the bait
#define MINIGAME_BAIT_HEIGHT 27
-///The standard pixel height of the fish (minus a pixel on each direction for the sake of a better looking sprite)
+/// How many pixels bottom and top parts of the bait take up
+#define MINIGAME_BAIT_TOP_AND_BOTTOM_HEIGHT 6
+/// The standard pixel height of the fish (minus a pixel on each direction for the sake of a better looking sprite)
#define MINIGAME_FISH_HEIGHT 4
+/// Pixel height of the completion bar
+#define MINIGAME_COMPLETION_BAR_HEIGHT 80
GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
@@ -640,7 +644,7 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
mover.move_fish(seconds_per_tick)
move_bait(seconds_per_tick)
if(!QDELETED(fishing_hud))
- update_visuals()
+ update_visuals(seconds_per_tick)
///The proc that handles fancy effects like flipping the hud or skewing movement
/datum/fishing_challenge/proc/select_active_effect()
@@ -759,12 +763,12 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
return (fish_position + fish_height >= bait_position) && (bait_position + bait_height >= fish_position)
///update the vertical pixel position of both fish and bait, and the icon state of the completion bar
-/datum/fishing_challenge/proc/update_visuals()
- var/bait_offset_mult = bait_position/FISHING_MINIGAME_AREA
- fishing_hud.hud_bait.pixel_y = round(MINIGAME_SLIDER_HEIGHT * bait_offset_mult, 1)
- var/fish_offset_mult = fish_position/FISHING_MINIGAME_AREA
- fishing_hud.hud_fish.pixel_y = round(MINIGAME_SLIDER_HEIGHT * fish_offset_mult, 1)
- fishing_hud.hud_completion.icon_state = "completion_[FLOOR(completion, 5)]"
+/datum/fishing_challenge/proc/update_visuals(seconds_per_tick)
+ var/bait_offset_mult = bait_position / FISHING_MINIGAME_AREA
+ animate(fishing_hud.hud_bait, pixel_y = MINIGAME_SLIDER_HEIGHT * bait_offset_mult, time = seconds_per_tick SECONDS)
+ var/fish_offset_mult = fish_position / FISHING_MINIGAME_AREA
+ animate(fishing_hud.hud_fish, pixel_y = MINIGAME_SLIDER_HEIGHT * fish_offset_mult, time = seconds_per_tick SECONDS)
+ fishing_hud.hud_completion.update_state(completion, seconds_per_tick)
///The screen object which bait, fish, and completion bar are visually attached to.
/atom/movable/screen/fishing_hud
@@ -772,7 +776,6 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
screen_loc = "CENTER+1:8,CENTER:2"
name = "fishing minigame"
appearance_flags = APPEARANCE_UI|KEEP_TOGETHER
- alpha = 230
///The fish as shown in the minigame
var/atom/movable/screen/hud_fish/hud_fish
///The bait as shown in the minigame
@@ -783,12 +786,13 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
///Initialize bait, fish and completion bar and add them to the visual appearance of this screen object.
/atom/movable/screen/fishing_hud/proc/prepare_minigame(datum/fishing_challenge/challenge)
icon_state = challenge.background
- add_overlay("frame")
+ add_overlay(challenge.used_rod?.get_frame(challenge) || "frame_wood")
hud_bait = new(null, null, challenge)
hud_fish = new(null, null, challenge)
- hud_completion = new(null, null, challenge)
+ hud_completion = new(null, null)
vis_contents += list(hud_bait, hud_fish, hud_completion)
challenge.user.client.screen += src
+ challenge.update_visuals(0) // Set all states to their initial positions so they don't jump around when the game starts
master_ref = WEAKREF(challenge)
/atom/movable/screen/fishing_hud/Destroy()
@@ -802,26 +806,31 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
/atom/movable/screen/hud_bait
icon = 'icons/hud/fishing_hud.dmi'
- icon_state = "bait"
+ icon_state = "bait_bottom"
vis_flags = VIS_INHERIT_ID
- ///The stored value we used to squish the bar based on the difficulty
- var/current_vertical_transform
+ var/cur_height = MINIGAME_BAIT_HEIGHT
/atom/movable/screen/hud_bait/Initialize(mapload, datum/hud/hud_owner, datum/fishing_challenge/challenge)
. = ..()
if(!challenge || challenge.bait_pixel_height == MINIGAME_BAIT_HEIGHT)
+ update_icon()
return
+
adjust_to_difficulty(challenge)
/atom/movable/screen/hud_bait/proc/adjust_to_difficulty(datum/fishing_challenge/challenge)
- if(current_vertical_transform)
- transform = transform.Scale(1, 1/current_vertical_transform)
- pixel_z = 0
- var/list/icon_dimensions = get_icon_dimensions(icon)
- var/icon_height = icon_dimensions["height"]
- current_vertical_transform = challenge.bait_pixel_height/MINIGAME_BAIT_HEIGHT
- transform = transform.Scale(1, current_vertical_transform)
- pixel_z = -icon_height * (1 - current_vertical_transform) * 0.5
+ cur_height = challenge.bait_pixel_height
+ update_icon()
+
+/atom/movable/screen/hud_bait/update_overlays()
+ . = ..()
+ var/mutable_appearance/bait_top = mutable_appearance(icon, "bait_top")
+ bait_top.pixel_y += cur_height - MINIGAME_BAIT_TOP_AND_BOTTOM_HEIGHT
+ . += bait_top
+ for (var/i in 1 to (cur_height - MINIGAME_BAIT_TOP_AND_BOTTOM_HEIGHT))
+ var/mutable_appearance/bair_bar = mutable_appearance(icon, "bair_bar")
+ bair_bar.pixel_y += i
+ . += bair_bar
/atom/movable/screen/hud_fish
icon = 'icons/hud/fishing_hud.dmi'
@@ -835,13 +844,15 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
/atom/movable/screen/hud_completion
icon = 'icons/hud/fishing_hud.dmi'
- icon_state = "completion_0"
+ icon_state = "completion_overlay"
vis_flags = VIS_INHERIT_ID
-/atom/movable/screen/hud_completion/Initialize(mapload, datum/hud/hud_owner, datum/fishing_challenge/challenge)
+/atom/movable/screen/hud_completion/Initialize(mapload, datum/hud/hud_owner)
. = ..()
- if(challenge)
- icon_state = "completion_[FLOOR(challenge.completion, 5)]"
+ add_filter("completion_mask", 1, alpha_mask_filter(icon = icon(icon, "completion_overlay")))
+
+/atom/movable/screen/hud_completion/proc/update_state(completion, seconds_per_tick)
+ animate(get_filter("completion_mask"), y = -MINIGAME_COMPLETION_BAR_HEIGHT * (1 - completion * 0.01), time = seconds_per_tick SECONDS)
/// The visual that appears over the fishing spot
/obj/effect/fishing_float
@@ -888,6 +899,8 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
#undef MINIGAME_SLIDER_HEIGHT
#undef MINIGAME_BAIT_HEIGHT
#undef MINIGAME_FISH_HEIGHT
+#undef MINIGAME_BAIT_TOP_AND_BOTTOM_HEIGHT
+#undef MINIGAME_COMPLETION_BAR_HEIGHT
#undef BAIT_HEIGHT_DIFFICULTY_MALUS
diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm
index 2f5e47445f7..d78e4298599 100644
--- a/code/modules/fishing/fishing_rod.dm
+++ b/code/modules/fishing/fishing_rod.dm
@@ -41,12 +41,15 @@
/// The default color for the reel overlay if no line is equipped.
var/default_line_color = "gray"
- ///Is this currently being used by the profound fisher component?
+ /// Is this currently being used by the profound fisher component?
var/internal = FALSE
- ///The name of the icon state of the reel overlay
+ /// The name of the icon state of the reel overlay
var/reel_overlay = "reel_overlay"
+ /// Icon state of the frame overlay this rod uses for the minigame
+ var/frame_state = "frame_wood"
+
/**
* A list with two keys delimiting the spinning interval in which a mouse click has to be pressed while fishing.
* Inherited from baits, passed down to the minigame lure.
@@ -663,6 +666,9 @@
if(slot)
SEND_SIGNAL(gone, COMSIG_ITEM_FISHING_ROD_UNSLOTTED, src, slot)
+/obj/item/fishing_rod/proc/get_frame(datum/fishing_challenge/challenge)
+ return mutable_appearance('icons/hud/fishing_hud.dmi', frame_state)
+
///Found in the fishing toolbox (the hook and line are separate items)
/obj/item/fishing_rod/unslotted
hook = null
@@ -681,6 +687,7 @@
icon_state = "fishing_rod_bone"
reel_overlay = "reel_bone"
default_line_color = "red"
+ frame_state = "frame_bone"
line = null //sinew line (usable to fish in lava) not included
hook = /obj/item/fishing_hook/bone
@@ -695,6 +702,7 @@
ui_description = "A collapsible fishing rod that can fit within a backpack."
wiki_description = "It has to be bought from Cargo."
reel_overlay = "reel_telescopic"
+ frame_state = "frame_telescopic"
completion_speed_mult = 1.1
bait_speed_mult = 1.1
deceleration_mult = 1.1
@@ -764,6 +772,7 @@
wiki_description = null
icon_state = "fishing_rod_master"
reel_overlay = "reel_master"
+ frame_state = "frame_master"
active_force = 13 //It's that sturdy
cast_range = 5
line = /obj/item/fishing_line/bouncy
@@ -783,6 +792,7 @@
wiki_description = "It requires the Advanced Fishing Technology Node to be researched to be printed."
icon_state = "fishing_rod_science"
reel_overlay = "reel_science"
+ frame_state = "frame_science"
bait = /obj/item/food/bait/doughball/synthetic/unconsumable
completion_speed_mult = 1.1
bait_speed_mult = 1.1
@@ -819,6 +829,7 @@
desc = "A custom fishing rod from your local autolathe."
icon_state = "fishing_rod_material"
reel_overlay = "reel_material"
+ frame_state = "frame_material"
ui_description = "An autolathe-printable fishing rod made of some material."
wiki_description = "Different materials can have different effects. They also catch fish made of the same material used to print the rod."
material_flags = MATERIAL_EFFECTS|MATERIAL_AFFECT_STATISTICS|MATERIAL_COLOR|MATERIAL_ADD_PREFIX
@@ -831,6 +842,11 @@
. = ..()
name = "fishing rod" //so it doesn't reset to "material fishing rod"
+/obj/item/fishing_rod/material/get_frame(datum/fishing_challenge/challenge)
+ var/mutable_appearance/frame = ..()
+ frame.color = color
+ return frame
+
#undef ROD_SLOT_BAIT
#undef ROD_SLOT_LINE
#undef ROD_SLOT_HOOK
diff --git a/code/modules/fishing/sources/source_types.dm b/code/modules/fishing/sources/source_types.dm
index d23e03ce976..ff616ff1498 100644
--- a/code/modules/fishing/sources/source_types.dm
+++ b/code/modules/fishing/sources/source_types.dm
@@ -38,6 +38,7 @@
overlay_state = "portal_beach"
/datum/fish_source/ice_fishing
+ background = "background_ice"
catalog_description = "Ice-covered water"
radial_state = "ice"
overlay_state = "portal_ocean"
@@ -147,7 +148,7 @@
REMOVE_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
/datum/fish_source/portal/chasm
- background = "background_lavaland"
+ background = "background_chasm"
fish_table = list(
FISHING_DUD = 5,
/obj/item/fish/chasm_crab = 10,
@@ -195,6 +196,7 @@
REMOVE_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
/datum/fish_source/portal/hyperspace
+ background = "background_space"
fish_table = list(
FISHING_DUD = 5,
/obj/item/fish/starfish = 6,
@@ -317,7 +319,7 @@
/datum/fish_source/chasm
catalog_description = "Chasm depths"
- background = "background_lavaland"
+ background = "background_chasm"
radial_state = "ground_hole"
overlay_state = "portal_chasm"
fish_table = list(
@@ -370,6 +372,7 @@
return "You'll need reinforced fishing line to fish in there."
/datum/fish_source/lavaland/icemoon
+ background = "background_plasma"
catalog_description = "Liquid plasma vents"
radial_state = "plasma"
fish_table = list(
@@ -395,6 +398,7 @@
overlay_state = "portal_plasma"
/datum/fish_source/moisture_trap
+ background = "background_dank"
catalog_description = "Moisture trap basins"
radial_state = "garbage"
overlay_state = "portal_river" // placeholder
@@ -406,6 +410,7 @@
fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
/datum/fish_source/toilet
+ background = "background_dank"
catalog_description = "Station toilets"
radial_state = "toilet"
duds = list("ewww... nothing", "it was nothing", "it was toilet paper", "it was flushed away", "the hook is empty", "where's the damn money?!")
@@ -470,6 +475,7 @@
UnregisterSignal(user, COMSIG_MOVABLE_MOVED)
/datum/fish_source/oil_well
+ background = "background_oil_well"
catalog_description = "Oil wells"
radial_state = "oil"
overlay_state = "portal_chasm" //close enough to pitch black
@@ -494,6 +500,7 @@
fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 25
/datum/fish_source/hydro_tray
+ background = "background_tray"
catalog_description = "Hydroponics trays"
radial_state = "hydro"
overlay_state = "portal_tray"
@@ -604,6 +611,7 @@
return new picked_path(spawn_location)
/datum/fish_source/carp_rift
+ background = "background_carp_rift"
catalog_description = "Space Dragon Rifts"
radial_state = "carp"
overlay_state = "portal_rift"
@@ -627,6 +635,7 @@
fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 28
/datum/fish_source/deepfryer
+ background = "background_lavaland"
catalog_description = "Deep Fryers"
radial_state = "fryer"
overlay_state = "portal_fry" // literally resprited lava. better than nothing
@@ -773,6 +782,7 @@
fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
/datum/fish_source/vending
+ background = "background_chasm"
catalog_description = "Vending Machines"
radial_state = "vending"
overlay_state = "portal_randomizer"
@@ -943,9 +953,10 @@
return reward
/datum/fish_source/dimensional_rift
- catalog_description = null //it's a secret (sorta, I know you're reading this)
+ background = "background_mansus"
+ catalog_description = null // it's a secret (sorta, I know you're reading this)
radial_state = "cursed" // placeholder
- overlay_state = "portal_rift_2" // yeah good luck adaptin the rift sprite to this template. recolored randomizer's the best you're getting
+ overlay_state = "portal_mansus"
fish_table = list(
FISHING_INFLUENCE = 6,
FISHING_RANDOM_ARM = 3,
diff --git a/icons/hud/fishing_hud.dmi b/icons/hud/fishing_hud.dmi
index 84f739f9db22873aa9e84180bbde481ce0134cd4..2d1aff9ea63602aafc8c9e707b33b27b944bd008 100644
GIT binary patch
literal 8244
zcmeHtcT`i`wl|>&0W^Rh*b+plbQMvM5Sr4YT#!Q%f(Pkh6p#)HMT($Q0i{I{P^pRp
z1R)d^L^{$HklsRo5K2OlZ-eK)@4R>K8{^#f-WcEa#~W+!wbxp6l{x2H^Ec;MNsNin
z)q|YJIGLE34(jP@{|)#~FflPBI1T`%lu|cwCMFOjz}(VX+tJIx)Ag>mE9wptlOO2G
z_1Zhl3f!4fWeU$KB`Nx$hio6R>O{^8a$6V3UPyA$^^V&Oe&RRZi|7?^^xcTLoHan6
zTX9FftQw~-M!
HcNSdxGXoiZP
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
literal 5503
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
GEB^$48L4Fe
diff --git a/icons/obj/fishing.dmi b/icons/obj/fishing.dmi
index 59c40c02103c7e87abf181d16943e759cf7aecad..615a89217165a1ac573fa5960caf798b7b7e26a0 100644
GIT binary patch
literal 27242
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"?`EpnVGB_TbY(heM4?v(^VbP
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 | |