mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 08:37:43 +01:00
fish tails from dna infusions are no longer invisible (#5848)
## About The Pull Request The issue with fish tails sprite datums here is that someone thought to make a new modular icon file so that the fish tails from the character settings menu would show up (and changing the feature key in the icon names from "fish_tail" to just "tail). Unfortunately, in doing so they doomed the ACTUAL fish tails from the fish gene infusion to be invisible. Why? Because those use the "fish_tail" feature key and not the generic "tail" key! To be fair, they tried. Sprite datum code is chock full of commented code and modular changes, I undestand... However, a better way to fix this would be to make a new tail type that mimics the appearance of the one from the fish infusion (minus its quirks), as well as using the same "fish_tail" feature key, and make use of the `organ_type` variable, so that mobs that ever select those sprites will spawn with the fake fish tail instead of the generic one, thus making BOTH tails (prefs and infusion) work, instead of one or another! ## Why It's Good For The Game It breaks muh immersion so much that I can't LARP as a fish. ## Proof Of Testing I shut the local server before I could take a screenshot. It was tested and it works for both cases, otherwise I wouldn't be ranting about this for as much as I did. ## Changelog 🆑 fix: Fixed invisible fish tails from DNA infusions. /🆑
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.6 KiB |
+1
-1
@@ -39,7 +39,7 @@
|
||||
color_src = USE_ONE_COLOR
|
||||
|
||||
/datum/sprite_accessory/tails/fish
|
||||
icon = 'modular_skyrat/master_files/icons/mob/sprite_accessory/fish_tails.dmi'
|
||||
organ_type = /obj/item/organ/tail/fake_fish //copypasta of dna infusion fish tails but without the quirks (beside butchering)
|
||||
|
||||
/datum/sprite_accessory/tails/xeno/default
|
||||
icon = 'modular_skyrat/master_files/icons/mob/sprite_accessory/xeno_tail.dmi'
|
||||
|
||||
@@ -64,3 +64,46 @@
|
||||
name = "fluffy tail"
|
||||
|
||||
/obj/item/organ/tail/fluffy/no_wag
|
||||
|
||||
///A tail that replicates the appearance of fish tails from DNA infusion, but without most of the code that makes them so special.
|
||||
/obj/item/organ/tail/fake_fish
|
||||
name = /obj/item/organ/tail/fish::name
|
||||
desc = /obj/item/organ/tail/fish::desc
|
||||
icon = /obj/item/organ/tail/fish::icon
|
||||
icon_state = /obj/item/organ/tail/fish::icon_state
|
||||
post_init_icon_state = /obj/item/organ/tail/fish::post_init_icon_state
|
||||
greyscale_config = /obj/item/organ/tail/fish::greyscale_config
|
||||
greyscale_colors = /obj/item/organ/tail/fish::greyscale_colors
|
||||
|
||||
bodypart_overlay = /obj/item/organ/tail/fish::bodypart_overlay
|
||||
wag_flags = /obj/item/organ/tail/fish::wag_flags
|
||||
restyle_flags = /obj/item/organ/tail/fish::restyle_flags
|
||||
|
||||
// Fishlike reagents, you could serve it raw like fish
|
||||
food_reagents = /obj/item/organ/tail/fish::food_reagents
|
||||
// Seafood instead of meat, because it's a fish organ
|
||||
foodtype_flags = /obj/item/organ/tail/fish::foodtype_flags
|
||||
// Also just tastes like fish
|
||||
food_tastes = /obj/item/organ/tail/fish::food_tastes
|
||||
/// The fillet type this fish tail is processable into
|
||||
var/fillet_type = /obj/item/food/fishmeat/fish_tail
|
||||
/// The amount of fillets this gets processed into
|
||||
var/fillet_amount = 3
|
||||
|
||||
/obj/item/organ/tail/fake_fish/Initialize(mapload)
|
||||
. = ..()
|
||||
var/time_to_fillet = fillet_amount * 0.5 SECONDS
|
||||
AddElement(/datum/element/processable, TOOL_KNIFE, fillet_type, fillet_amount, time_to_fillet, screentip_verb = "Cut")
|
||||
|
||||
/obj/item/organ/tail/fake_fish/on_mob_insert(mob/living/carbon/owner)
|
||||
. = ..()
|
||||
RegisterSignal(owner, COMSIG_LIVING_GIBBER_ACT, PROC_REF(on_gibber_processed))
|
||||
|
||||
/obj/item/organ/tail/fake_fish/on_mob_remove(mob/living/carbon/owner)
|
||||
. = ..()
|
||||
UnregisterSignal(owner, COMSIG_LIVING_GIBBER_ACT)
|
||||
|
||||
/obj/item/organ/tail/fake_fish/proc/on_gibber_processed(mob/living/carbon/owner, mob/living/user, obj/machinery/gibber, list/results)
|
||||
SIGNAL_HANDLER
|
||||
for(var/iteration in 1 to fillet_amount * 0.5)
|
||||
results += new fillet_type
|
||||
|
||||
Reference in New Issue
Block a user