From 3fb538c11e7d5cd9ce9f24ee665717985d6ca71a Mon Sep 17 00:00:00 2001 From: MrGloopy <155857749+MrGloopy@users.noreply.github.com> Date: Sun, 26 Apr 2026 19:05:02 +1000 Subject: [PATCH] Greyscale robotic tesh fish. I mean fix. (#5493) ## About The Pull Request fixes https://github.com/Bubberstation/Bubberstation/issues/5489 by creating wholly new limbs in order to get tesh clothing offsets ## Why It's Good For The Game Bugfix good merge my eels ## Proof Of Testing image
Screenshots/Videos
## Changelog :cl: fix: Greyscale robotic tesh limbs not having clothing offsets and custom sprites. add: New-Old sprites for the greyscale robotic tesh limbs to work. /:cl: --- .../icons/teshari_robotic_greyscale.dmi | Bin 0 -> 2127 bytes .../modules/tesh_augments/code/limbs.dm | 31 +++++- .../tesh_augments/code/robot_bodyparts.dm | 96 ++++++++++++++++++ .../datums/robotic_styles/robotic_styles.dm | 5 - 4 files changed, 124 insertions(+), 8 deletions(-) create mode 100644 modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi diff --git a/modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi b/modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9c4732b33b580c1713d7fd91b5a6ea682c017060 GIT binary patch literal 2127 zcmXw32{hFE7ay-pN|PrIG3E{R=tMjcWf@AOdWcDwEM=W)P=hhHQDonW7HaSxijXz? zGL|qi5~D0*-%Vo+GlS90?~Q-&-E+S8o_jy{obTt{`#Cqp(%e*B?3fq`1QIv9Y-|Mr zi5Tv@-MfSpL}PWDFvwb7LtbiXYWn$;Pp1#Y#t}WyA$&eRJ3E_Brwi*Jn-%heZ6dx_ z=GGv?xj}bfG8u@p^)+_Gx;#Yt_@ceNK%js(#MCaaaP`9x-E$`&k6o>B4Dx(`1k91T zaAw%G88#Tf<(!f__2j6HclnQ{&&MNY@=_xyrBAd^CdW`j z>>=-(_d%UgAE+pV&zPpgGR3`TV{%1<3ZX&rwbI3REnW{*m^n}puHS3VlgN9Rvp1mh=v=UqoRtCP=@ltCb} z(yXLvfxlD85f?NAZ{IJe3RW9tx#TsX&9;UiR;PF`m?a)CBsWx3YRvGfvAT~Yntjf)?gq+~Y z+zIKef^#WL_c#v<|2K=ynjOFnwxq8wRPvPR3;hLPd*zM|vXxT<^RKe-`X2>Nla^x@ zH7>TsDD0v{AuI4Rv{fMrX0$?#tD;em0~hOWnADec$TzoUhCe}YLA0Qa$-MRv3E}>Q zmfT_w3B^J(vG^|qfCS?Uw1?!}7AuuTc$rVux2?Qw)+VpfhRt(N3d!(x|0){8tMitB zabI@7WuF#iO8h{WKZRe1kAsMnfNw9%JkH^N1HfYUdeM&<*@fJ#kGKXy zMEaVUU^G4y6=)Eb%pC7xR$c0nYdr#ZnLE`p>}Cu9)Y&~>y{=_~I=;X`72mA{)D0({ zSB!j?-tZF>RtPM`cYY~q3_IyhzeosI0!!l@{0^}~tkQYPY$q1L()dpI|6o9izuDS5 z{i5M<1y33q3Wui7x=Hr4vh&hXhY(b>pTkEnVfN!-pDtU|38K%a;3@mhtvgWdmeG>E zTjU-kjRnZw(5Z%*R=BenjmpCtv(|OXL)D1;Uk%lqmHiI5!<#Hh%=stz)n##}<^H1o z@)3r_mRGuAqJS36-C(>pt361@Hfx%8$eJ@-$hWV|@r21u+_74`-+rPiOVMCcafDVO zsoVO@EF=C~LE!9ZSXaBX%dn>Q^M}fZHUUU#Las-Zhe5^GWp>TZ{rbQC0N}OP9z|^8 z-t!6y?YVb?+21ex65p5_;s*uc3>K{*14e8=>AQtu^Twu4Vd z7s|t>?UqlFlK6FzuRN4dHgGxH(CGI<;X{@ff=}=l5O^cVuS52*P?U%icXKtBQ#Ubt z{v+I-}S72;o{h zbQd2UO;8#s{J_6xld?D-qwlo@E3-hZ3GN7p!K1^K0=Rc3YrM<#jj;aPe?KK1uL2+o zh;jh3vg0~opI3lOYx}?xfa*r(I1tDFHrkcu<(hpw*ql9gJfyOM0KBP^opEUKZv^mxSQ` zpC4IvhhWiI)6y`12OJX>!x^jD<>Z-~#tJOKEbAEL=;2*PwboL6yaBbW;2L}E6mWpb z7zPw|%g1DTg|wB{AjI4S@EjK~7EFDo-P716C=j038P)I+PstSV+7Uq}#c4)lb_Z8L z5!9;y?G$n}XP?MsmnCLdR6&QkZThv1$e5yTXE%nR&Dx$jMpvM2k$J2C-q)F-<=4;E zdT+(uWi}vnAvSsK9-(62pbh6(MPS9=BB~zV2Cw~Wjgj%#WwCfp@2FkcUi(n}s6#}p z`GJt>$;*i4zI{?Ox5VO-{+_6Vf?cXr)>8}VCTDtb&tMo&f;@6y+76em>z8AFJ=hj2 zgWKUreoF5ni%_8ipGaSCr`c5P>7Y{9C=F*)ob8*U zb&=^T&N*^u($!09yMq%MxE3-^<9@h+>(Uhe(d*G51IC$ZN|VaCe+Ts5XvF#TpYvG= z-h|S_q0E=A8rJU0jSHbP!a8bHq(S{NBxLWpuqfu%jlkOXkK!7n~pe12Laao&W#< literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/tesh_augments/code/limbs.dm b/modular_skyrat/modules/tesh_augments/code/limbs.dm index 759d7b121e5..14e18ebd198 100644 --- a/modular_skyrat/modules/tesh_augments/code/limbs.dm +++ b/modular_skyrat/modules/tesh_augments/code/limbs.dm @@ -7,11 +7,21 @@ this goes into the augment preferences section. They do not use the appearance d path = /obj/item/bodypart/head/robot/teshari uses_robotic_styles = FALSE +/datum/augment_item/limb/head/teshari_cyborg_greyscale + name = "Greyscale robotic Teshari head" + path = /obj/item/bodypart/head/robot/teshari_greyscale + uses_robotic_styles = FALSE + /datum/augment_item/limb/chest/teshari_cyborg name = "Raptoral cybernetic chest" path = /obj/item/bodypart/chest/robot/teshari uses_robotic_styles = FALSE +/datum/augment_item/limb/chest/teshari_cyborg_greyscale + name = "Greyscale robotic Teshari chest" + path = /obj/item/bodypart/chest/robot/teshari_greyscale + uses_robotic_styles = FALSE + /datum/augment_item/limb/l_arm/teshari_prosthetic name = "Raptoral prosthetic left forelimb" path = /obj/item/bodypart/arm/left/robot/teshari_surplus @@ -23,15 +33,20 @@ this goes into the augment preferences section. They do not use the appearance d path = /obj/item/bodypart/arm/left/robot/teshari uses_robotic_styles = FALSE +/datum/augment_item/limb/l_arm/teshari_cybernetic_greyscale + name = "Greyscale robotic Teshari left arm" + path = /obj/item/bodypart/arm/left/robot/teshari_greyscale + uses_robotic_styles = FALSE + /datum/augment_item/limb/r_arm/teshari_prosthetic name = "Raptoral prototype right forelimb" path = /obj/item/bodypart/arm/right/robot/teshari_surplus cost = -1 uses_robotic_styles = FALSE -/datum/augment_item/limb/r_arm/teshari_cybernetic - name = "Raptoral cybernetic right forelimb" - path = /obj/item/bodypart/arm/right/robot/teshari +/datum/augment_item/limb/r_arm/teshari_cybernetic_greyscale + name = "Greyscale robotic Teshari right arm" + path = /obj/item/bodypart/arm/right/robot/teshari_greyscale uses_robotic_styles = FALSE /datum/augment_item/limb/l_leg/teshari_prosthetic @@ -45,6 +60,11 @@ this goes into the augment preferences section. They do not use the appearance d path = /obj/item/bodypart/leg/left/robot/teshari uses_robotic_styles = FALSE +/datum/augment_item/limb/l_leg/teshari_cybernetic_greyscale + name = "Greyscale robotic Teshari left leg" + path = /obj/item/bodypart/leg/left/robot/teshari_greyscale + uses_robotic_styles = FALSE + /datum/augment_item/limb/r_leg/teshari_prosthetic name = "Raptoral prosthetic right hindlimb" path = /obj/item/bodypart/leg/right/robot/teshari_surplus @@ -55,3 +75,8 @@ this goes into the augment preferences section. They do not use the appearance d name = "Raptoral cybernetic right hindlimb" path = /obj/item/bodypart/leg/right/robot/teshari uses_robotic_styles = FALSE + +/datum/augment_item/limb/r_leg/teshari_cybernetic_greyscale + name = "Greyscale robotic Teshari right leg" + path = /obj/item/bodypart/leg/right/robot/teshari_greyscale + uses_robotic_styles = FALSE diff --git a/modular_skyrat/modules/tesh_augments/code/robot_bodyparts.dm b/modular_skyrat/modules/tesh_augments/code/robot_bodyparts.dm index dc5b35bee2b..417a0c26b56 100644 --- a/modular_skyrat/modules/tesh_augments/code/robot_bodyparts.dm +++ b/modular_skyrat/modules/tesh_augments/code/robot_bodyparts.dm @@ -96,6 +96,102 @@ head_flags = HEAD_EYESPRITES + + +//Teshari greyscale + +/obj/item/bodypart/arm/left/robot/teshari_greyscale + name = "cybernetic left raptoral forelimb" + desc = "A skeletal limb wrapped in pseudomuscles and membranous feathers, with a low-conductivity case." + icon = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon_static = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon_greyscale = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + bodyshape = parent_type::bodyshape | BODYSHAPE_CUSTOM + should_draw_greyscale = TRUE + + unarmed_damage_low = TESHARI_PUNCH_LOW + unarmed_damage_high = TESHARI_PUNCH_HIGH + + brute_modifier = 1 + burn_modifier = 0.9 + +/obj/item/bodypart/arm/right/robot/teshari_greyscale + name = "cybernetic right raptoral forelimb" + desc = "A skeletal limb wrapped in pseudomuscles and membranous feathers, with a low-conductivity case." + icon_static = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon_greyscale = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + bodyshape = parent_type::bodyshape | BODYSHAPE_CUSTOM + should_draw_greyscale = TRUE + + unarmed_damage_low = TESHARI_PUNCH_LOW + unarmed_damage_high = TESHARI_PUNCH_HIGH + + brute_modifier = 1 + burn_modifier = 0.9 + +/obj/item/bodypart/leg/left/robot/teshari_greyscale + name = "cybernetic left raptoral hindlimb" + desc = "A skeletal limb wrapped in pseudomuscles and membranous feathers, with a low-conductivity case." + icon_static = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon_greyscale = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + bodyshape = parent_type::bodyshape | BODYSHAPE_CUSTOM + should_draw_greyscale = TRUE + + unarmed_damage_low = TESHARI_PUNCH_LOW + unarmed_damage_high = TESHARI_PUNCH_HIGH + + brute_modifier = 1 + burn_modifier = 0.9 + +/obj/item/bodypart/leg/right/robot/teshari_greyscale + name = "cybernetic right raptoral hindlimb" + desc = "A skeletal limb wrapped in pseudomuscles and membranous feathers, with a low-conductivity case." + icon_static = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon_greyscale = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + bodyshape = parent_type::bodyshape | BODYSHAPE_CUSTOM + should_draw_greyscale = TRUE + + unarmed_damage_low = TESHARI_PUNCH_LOW + unarmed_damage_high = TESHARI_PUNCH_HIGH + + brute_modifier = 1 + burn_modifier = 0.9 + +/obj/item/bodypart/chest/robot/teshari_greyscale + name = "cybernetic raptoral torso" + desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell, covered in a layer of membranous feathers." + icon_static = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon_greyscale = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + bodyshape = parent_type::bodyshape | BODYSHAPE_CUSTOM + should_draw_greyscale = TRUE + + brute_modifier = 1 + burn_modifier = 0.9 + + robotic_emp_paralyze_damage_percent_threshold = 0.5 + +/obj/item/bodypart/head/robot/teshari_greyscale + name = "cybernetic raptoral head" + desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals. A layer of membranous feathers covers the stark metal." + icon_static = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + icon_greyscale = 'modular_skyrat/modules/bodyparts/icons/teshari_robotic_greyscale.dmi' + bodyshape = parent_type::bodyshape | BODYSHAPE_CUSTOM + should_draw_greyscale = TRUE + + unarmed_damage_low = TESHARI_PUNCH_LOW + unarmed_damage_high = TESHARI_PUNCH_HIGH + + brute_modifier = 1 + burn_modifier = 0.9 + + head_flags = HEAD_EYESPRITES + + // teshari_ surplus /obj/item/bodypart/arm/left/robot/teshari_surplus diff --git a/modular_zubbers/code/modules/customization/datums/robotic_styles/robotic_styles.dm b/modular_zubbers/code/modules/customization/datums/robotic_styles/robotic_styles.dm index 6b6aa4bc8c9..3ae117165b7 100644 --- a/modular_zubbers/code/modules/customization/datums/robotic_styles/robotic_styles.dm +++ b/modular_zubbers/code/modules/customization/datums/robotic_styles/robotic_styles.dm @@ -195,11 +195,6 @@ GLOBAL_LIST_EMPTY(robotic_styles_list) icon = BODYPART_ICON_XENO limb_id_override = /obj/item/bodypart/chest/mutant/xenohybrid::limb_id -/datum/robotic_style/dimorphic/teshari - name = "Teshari (Robotic)" - icon = BODYPART_ICON_TESHARI - limb_id_override = /obj/item/bodypart/chest/mutant/teshari::limb_id - // kept at the bottom for parity with other augment dropdowns /datum/robotic_style/none icon = 'icons/mob/augmentation/augments.dmi'