From 41f5ece330f2ef73f59099f401a7e203a7fb1dac Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 25 Mar 2017 09:01:00 -0400 Subject: [PATCH] Fixes augmetic surgery resulting in invisible limbs (#25446) --- code/modules/surgery/bodyparts/bodyparts.dm | 4 +-- .../surgery/bodyparts/robot_bodyparts.dm | 26 +++++++++--------- code/modules/surgery/limb_augmentation.dm | 8 ++++-- icons/mob/augments.dmi | Bin 2636 -> 1692 bytes icons/mob/surplus_augments.dmi | Bin 0 -> 843 bytes icons/obj/robot_parts.dmi | Bin 2765 -> 3031 bytes 6 files changed, 20 insertions(+), 18 deletions(-) create mode 100644 icons/mob/surplus_augments.dmi diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 541f15351a0..decbfe59a92 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -320,9 +320,9 @@ I = image("icon"='icons/mob/human_parts.dmi', "icon_state"="[species_id]_[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else if(should_draw_gender) - I = image("icon"='icons/mob/augments.dmi', "icon_state"="[initial(icon_state)]_[icon_gender]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"= icon, "icon_state"="[body_zone]_[icon_gender]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else - I = image("icon"='icons/mob/augments.dmi', "icon_state"="[initial(icon_state)]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"= icon, "icon_state"="[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) standing += I return standing diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index 92df2fc50f0..d9b51a19a50 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -7,7 +7,7 @@ item_state = "buildpipe" icon = 'icons/obj/robot_parts.dmi' flags = CONDUCT - icon_state = "l_arm" + icon_state = "borg_l_arm" status = BODYPART_ROBOTIC @@ -18,7 +18,7 @@ item_state = "buildpipe" icon = 'icons/obj/robot_parts.dmi' flags = CONDUCT - icon_state = "r_arm" + icon_state = "borg_r_arm" status = BODYPART_ROBOTIC @@ -29,7 +29,7 @@ item_state = "buildpipe" icon = 'icons/obj/robot_parts.dmi' flags = CONDUCT - icon_state = "l_leg" + icon_state = "borg_l_leg" status = BODYPART_ROBOTIC @@ -40,7 +40,7 @@ item_state = "buildpipe" icon = 'icons/obj/robot_parts.dmi' flags = CONDUCT - icon_state = "r_leg" + icon_state = "borg_r_leg" status = BODYPART_ROBOTIC @@ -50,7 +50,7 @@ item_state = "buildpipe" icon = 'icons/obj/robot_parts.dmi' flags = CONDUCT - icon_state = "chest" + icon_state = "borg_chest" status = BODYPART_ROBOTIC var/wired = 0 var/obj/item/weapon/stock_parts/cell/cell = null @@ -100,7 +100,7 @@ item_state = "buildpipe" icon = 'icons/obj/robot_parts.dmi' flags = CONDUCT - icon_state = "head" + icon_state = "borg_head" status = BODYPART_ROBOTIC var/obj/item/device/assembly/flash/handheld/flash1 = null var/obj/item/device/assembly/flash/handheld/flash2 = null @@ -165,27 +165,27 @@ /obj/item/bodypart/l_arm/robot/surplus name = "surplus prosthetic left arm" desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." - icon = 'icons/mob/augments.dmi' - icon_state = "surplus_l_arm" + icon = 'icons/mob/surplus_augments.dmi' + icon_state = "l_arm" max_damage = 20 /obj/item/bodypart/r_arm/robot/surplus name = "surplus prosthetic right arm" desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." - icon = 'icons/mob/augments.dmi' - icon_state = "surplus_r_arm" + icon = 'icons/mob/surplus_augments.dmi' + icon_state = "r_arm" max_damage = 20 /obj/item/bodypart/l_leg/robot/surplus name = "surplus prosthetic left leg" desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." - icon = 'icons/mob/augments.dmi' - icon_state = "surplus_l_leg" + icon = 'icons/mob/surplus_augments.dmi' + icon_state = "l_leg" max_damage = 20 /obj/item/bodypart/r_leg/robot/surplus name = "surplus prosthetic right leg" desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." - icon = 'icons/mob/augments.dmi' + icon = 'icons/mob/surplus_augments.dmi' icon_state = "surplus_r_leg" max_damage = 20 diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm index bc2f1a78274..805bdf778e2 100644 --- a/code/modules/surgery/limb_augmentation.dm +++ b/code/modules/surgery/limb_augmentation.dm @@ -46,15 +46,17 @@ //SURGERY STEP SUCCESSES -/datum/surgery_step/add_limb/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) +/datum/surgery_step/add_limb/success(mob/user, mob/living/carbon/target, target_zone, obj/item/bodypart/tool, datum/surgery/surgery) if(L) user.visible_message("[user] successfully augments [target]'s [parse_zone(target_zone)]!", "You successfully augment [target]'s [parse_zone(target_zone)].") L.change_bodypart_status(BODYPART_ROBOTIC, 1) + L.icon = tool.icon + L.max_damage = tool.max_damage user.drop_item() qdel(tool) - target.update_damage_overlays() + target.update_body_parts() target.updatehealth() add_logs(user, target, "augmented", addition="by giving him new [parse_zone(target_zone)] INTENT: [uppertext(user.a_intent)]") else to_chat(user, "[target] has no organic [parse_zone(target_zone)] there!") - return 1 \ No newline at end of file + return 1 diff --git a/icons/mob/augments.dmi b/icons/mob/augments.dmi index a2d816c8c98016a80f72db0382e59cf1b5fc6363..7124c35105e4648e334b6db31725f5cb968d24fc 100644 GIT binary patch delta 1655 zcmV--28j906r2quiBL{Q4GJ0x0000DNk~Le0002s0002s1Oos70O$jE(f|MeDv>2C z7{I{5?QQs=00001bW%=J06^y0W&i*HoROgue^XX)a&`CgQ*iP1qPQ1>5r#=C za*7Xo!vPAI^?Orn&n76KKkLJUf3ER*(MP`|Veu4pphIzwaKdQ|Hs~B*d~=B1Lcg_v zD*hqP0_;HJ6*b8PK@f!h1N67i++e%asCeGR*$A8yyEi_3h2*EqWzt!cP;N;u57a8AM`P0^}te;Hrn5k8=0 zVmN+&u8g;s5Am`tjT2aA_aRf3A+V2p0=%f55h$Z-0dL`S=RmBQD<3Zx(dP z(86mFYIE`XIlL?LtBnxrz4{?~uYrVE@6`|0d$ki{z1KiOtoQ1N=)L+Odar(n-m4#? z_Zmou^>Rfb`u>>kM^ZnUnr#6kn1szJ7-GZ$$6C4+5z7Y=Ih2aD(BXIw7a`CNF=7=BU72 zq5a=IINn0f={>xvyk}Hk>IwA-tt%Ks^O^ z0{y4k)yw)8GXpPee|&dn@7t2@YqLB!sHe&Ss$c$O^9A2T|Fw6-ALu`|tZeaB!c84U zc*GxER!^17`d0}zWey3;{lR76T!tQ%evB^yb$7%c>c1846MYNdZTLQo8qm+%iI)w zPCb8kI*#WLxq3CeVe8fShO1ZOKOs}E#yecS8t-uRe{Q_P)w`)7VRgM4{|T9THU1Ma z^=bmXUkhsZZ)1u0E-Exca326EgKl{U_w=lX_3c)F<_ykf~4VKOs|} z)H_^#EmH4r^-29FWa^XphpA8MAGSWJAP8@We*wNgKXAxpRIva6002ovPDHLkV1f&| BB1!-N delta 2622 zcmX|DdpOgJ8{dXADO7gQsHG0MOjP6-3!yUPGICeS<=B=qms}R##X$*`+uZMBB%xfw zwkVE?MIzU6+$|=WOWXMAoadbPkN5Mw&+|U-`+PosyziSW{sE@=(Ax5{xENdv1Okbp zO-(Q$5O_BPgG7aP0sq|5ZWlbBDyjiWN=m!o6yz6gZ*NsqRU;!K2L}f`J3DDeQyoO4 z5F#895FiC9JaOWLzP>&ZiG;)9+S=L>2!u|j=U(VQ{OlTtv9tvl&VKRUO{&A}90N_f z0zCY&cLK3~w?Uwg?1UtySgYo~Smu&#%F@a0rm&~tLvLG*RL;8W1#*&$KMe-w{7H}M zR==-teKR^`(e-+!{nf!s`ryvT!9kdgZu>ZLeQ$U74UK3aR?{X{Ia4&iX;j|2-&i4< zYl^jqljsIf#s&UvX#ws?<9c_C5!qYP`-a^k)N0D|g}(2Ti8TX<)OTaFCXZVbhbmCD zIGPn%Qn;X<0`sf&z~|K@KYA|RmopV!2Lg!>qfIW@g=8<~h?7%v_r;(MWbI3O$YGz^ z+?}1SEc(1nDY{ES?INoqhns!HM_0l3zVN*6F6~`=lb9Xs`M@~-6byDG$q&y$uki_S zsP%Bfrqt(kBB#an{b-~|^fmTd-Sw#3RCc5n?NP2Az#�at}qBxE%@W_#^+WX3SA| zOJB$9ulQM~wpSXw*z?ahtr#e!bfU02)?^lfZF0x+6m(^B_!t!I7&Lt&v*Ebdw5QI( z;g#NM3{}Wwgsc+TMmETdYKWDO95pC`PMcnOsV^2qzG1nD3a+g(yFRS{$n)TF?RPPh zsHho$p0D?^%({j(_LZDDIGr3@Dd7)w#GNCxuyd9{3;H|rMEVu6Yr%B*x;iv{y-^5- z+AOj(g0(4_v_yT9I4$j*ITI#)3s0MxRLHvgnUv*yBV4p&kH9)+^m&1Ll-$UiXizgW z8{P_g=4BRiH1wKhXl}0_{Y*-kPc72V>^V@I8cra^A1e|rL%9@qvTh3qynpoPSEeMsFAA&C zH!ewzj=UGZqv}ZQ?KLwuxB)qoT*29OWVcHV|R4;|~uZG4wH9lNJ;A?G6ZboQ7 zRfhLN2e$LBtgFZ~H*!4cOKix4w++jd{@si>N+-y#zT+b*z6@5$b}A}%QC-iZ?zf53 zY>?f|i|D-g0uR-LL=uLwpmeDnV*j>nRi~5ZP@Zk?DME9`#`_c=*vI&7qji0600~QrY*kdL8O%uH+we+)mTlPo(E86$SSf6; z@XlE~C{H{Y@MxMDCiJMuZEa9o$CcfWHjzAPZcNYBD{U?qXdAfMwjRFwOvY+dRBpz1w1B>6>?hTF5g% zvzanJ?oZD*fD|8|rzUG5=j#uF&EdoG78lq!?H9^vBL4{h0*#h+wY<)|7ICs#$xptB zBY8=rEiuQID`@IL^b0q6u9#oFxnxwm$g?_-k7{y^dv}*7(8CDvWPa;e>l6vY(Y_mc z*=(Orrsa*~r}}Toy+mSx+`(Devd+>gP=l(lo~M$0XIBpVgy*IQ>w9?fc82~9w2E$tOCUDjMs^v&bf(B3}(UP;wwmgsR%yR&ok2kEQB*UQlWR4fDF{MF>^d*1dc>^r$% z3vvu}V1;~{9$1%?`b3p7NWpq|WFu#WY%BGN$KPw1)il0%CqxgCa*zvA7Y>nx7{C zL^4Qbs9tsfmKqnfq{~bVtZ-=qFFvhRs|Me0#Lg{j#qo(3eqwoZ2IbXSzw5>I&mYE@ z_0K&LH5BHL9kAYL);-fkWq(I?!j~Ah-UUjuTj^XWNZFtUBUZvaCS5%D^WcE!`jY`} zY{wi3qRTm${IK=-Y64-EyIGWT04-wwlF^9UY=nwa1AbfRs}VqYh(|peTftoxLJg1sA*a>=2`;7JFe+_0623@AMO0 zV?WrzKFxEcEe7eW@ir8S8gh}S59!+)E%#rTYX;&Os2Ac>fjnRz8X4q|LhF+U) zA>d`ul~rBd_8|v8B(jm@K!)B#CPI#NR_%3{#1ora|08+vi>xC30oh_J@J$6D@%SR{ z%EP=vuY5Wm$K$3A)nzaH-^hK>)nRl8JeVPcCUr7mL=ISUDoRq8hg8OrKK;tbc=YqT z_}56R$4P}{J*<)D@RhzLzlp#PK?MHX8#DGok}p-UPkXQ}P~F>p(HU{FTW=z}v(L3J z^e{9Y3;2wIhxojr#tnp=b4RiU`YgmA_e0RMhJ3b}xTNKPYz8)KqHdZnV z^Q=7BOfaS48ZXpIKtnDWy#;-jxKiI*&6peEk$=w!4j(SzYP7g)~DEC4oG z=*{wnG|Rt!4;24b%fE5cxO$cIo-Y_*Ta&u9-I7jYg+@duIULnWj`K3oV=|ee$Pk;&X^pGbAoY+2*;|9A>$JR1nk&7&2}veYnaUJny6HZO1}9tcj) a+d+)=Uf$RbI>aXZoQJ+>Y4XCzJ@Wtb*%Rvk diff --git a/icons/mob/surplus_augments.dmi b/icons/mob/surplus_augments.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f06ac0c94b7d6285c4ea5218dbba5965f951b3b3 GIT binary patch literal 843 zcmV-R1GM~!P)C0000#P)t-sz`(#J zCMEy?0OJA%W@ct8Dk?%kLRVK;R8&+?Pfr#CyS4%aq5=eSb8`~{q9-ROK0ZDyEG!xt z8Z|XF0s;aqOC+lR0004WQchCV=-0C=2JR&a84 z_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5sVF|N zC|8M#GbOXA7^I1dGp#5wHxx#OPHH+4X5mq#tl;YB0`>?1iHbTIe^`~# z0006uNkl?bG)xW&i0002^ zKM*?&Su-Tsj>HeqX&IB80fp>6gSfr;E1)Eh>p%jTm2)krnX{NcWm=yAca%@DO+7vq zbnTTZz-hN%p8*FtI86@}lnNZw2hxP7o>q&|PB_kVHJK8aX?H^txYno`WC)cHqFDtseXu!g>4j_vokZbe?>+@Xr1H(vRe6NxMk?iO?>-kxbXUfMo^7lTg_+aE z+I>mdEZ|J?O!Q4Q>JjEOdmxM12r?~sW-6nR!MtYF;Bs45gT&~Y=``%V;>=ZBzTTEy zK>z>%00000e~8upH}!*2ec&EN@Bf?n!Js~HM;ah`>~4;c4C(_98+FWvQ)`T5P#<`N zQO9gJwkj~H58R^|A7Sew7}N*uKJ@OpsUHmL0}s^x-=QCj=>xxBlosC6+ON)r| literal 0 HcmV?d00001 diff --git a/icons/obj/robot_parts.dmi b/icons/obj/robot_parts.dmi index 9461028091fcd3c90973bb1b181bbbd09cd7d06d..0410cb034f3b210de6fa850f393a0c16be87d613 100644 GIT binary patch literal 3031 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 WLWm=sF4_4c1NJtjt*fp4lK&0y!n17v literal 2765 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