diff --git a/icons/map_icons/items/_item.dmi b/icons/map_icons/items/_item.dmi index d0d8f4b10c2..89318fe4157 100644 Binary files a/icons/map_icons/items/_item.dmi and b/icons/map_icons/items/_item.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/sprite_accessory/fish_tails.dmi b/modular_skyrat/master_files/icons/mob/sprite_accessory/fish_tails.dmi deleted file mode 100644 index fa91a6d97fd..00000000000 Binary files a/modular_skyrat/master_files/icons/mob/sprite_accessory/fish_tails.dmi and /dev/null differ diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/tails.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/tails.dm index a742ca1d468..1c2f28bbb86 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -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' diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/tails.dm b/modular_skyrat/modules/customization/modules/surgery/organs/tails.dm index cabec5734d7..d7688a76f85 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/tails.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/tails.dm @@ -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