tyIZ4Smx#cY$aSG8^LS
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
delta 4544
zcmb`JcTkgCx5k5rhzO{Mrqn?YkY)iXDiIMhAVqqSt`s3srIQy#;Lw63geC|=Kmq9x
zqy|JqL}@`~ku+{gQ{uw(x+lGfDrJksmW~%Z`QrCccXRJaa|7AX
z8mnL%7eoF&W?SsP-b44c4YX|H26FtZYD4I5PwGquc@(s28}OFi&liBCicvrDr6?qC
z{<5=zhm3}Wa4?YRvThz=UG%XiP+Is)%!^(fPmYl$)OhBF)Htn)>P1#w>e2qwn9us7
z{u;)KmHV&zGuz+m>nqjd7;~&Hn`njzC|b{b(8gU={8-P4zBK&I*RnJ(BC893w*3xw3>J8ST=BI41FGO9;JGEbMj+in%
z3-}%t&}@}XoPpjowUkAfs!H~xBYE{lwf%%nz_n!6sx1%~)gG#q__r1WG4*-dkPvN7H;PJ(_-Tp`9LvZ
z?&;n4gL7zQvzlx)p)R6C)g%4L?P)cKhym%q|8!ql?NL)JAPjTMNJKfY#^)yqmSI6I8k-yUQ#vi&q
zj&0pReZ?F?Lo8nTtfEJcSD^ebQc2B~Ek|^N*f`eSMJ{t6e)v$h*x0UOcP0{<&nyRc
z-|?&PPK)PJz$Z%Fn0qYC6c^ycW{7Rnx!_*%M789|RmbZ^2I6nr-m-4T9#)c@xUh2j
zXqoYKFF6)YpwJ+2GE99cB8K#g)pnLSX(TA;M^H>;-+O^kvxTKkc6t$n?E+R!2E@?V705
zict#9s6?ya44Ut`e0^M92CvQ8RNrbWuhm_n_p2S3t=h187Pl@>S5HTH3oO2T0SxsC
zJhr{PjtLTK{w^lOO-$IE*iPa3{*7SqvdZy$kWd#+HstN*5gCyQ!;ScNn^||25e_dN
z^mCY}p1cMX+;HL?8cei2PX|lLrI}iO>{$9#`^3qhJH8;}EniY2@iYD%X1qwhp6b{a
zjpIHmoe8^?#LZsdmz8jl(4poq7KqeiIe%7L?CbO7qrMNs-^6Vi9=-!(1{eJE9Y&2)U2mmGV1ua)i&aW&gTWEiGFquG2Nr*X?N52h=r
ztJ^BJKuY6iuZ1jTmUL|$9y$%%-$ak|tDuwi)p1ipc%nX~ws@|b
zn>33wplNq;?eDnnjk_rI@;8k++$&w3ugQeD)IXUJ~XzBd?JcX>RsOSoV*&Pk3pTbmXiY?OUmd-%H&!ia#*fwis^;6@)c~9Lb01;*iD1v=
z^`1oqEY|JoK5H|zB-=AFDM>~+i448O$g|%-CjkcOolv7k%hBRXlWmbY=a9uEB{DYt
zcJgT@d%gx!H&f=*ik)enKmVzuq%`-*@glHH%?kb5DG8iiU=5>4fQKirrDVH-9VmT!
zJ%Bzjfg{c-6sL+1_rV-^Y$nM}@ywImwJ{mU836$qa=4)sS~G@oX@8r5Ks$B7<=iR&
zO-;?Rx)X?$&Ijk^Z@IgdeERh1mO6=W5xee8)Zzmc+s=zNnNl;
z{3t7v2j*+thq#YLnb_Ht-#vF0kC{_}i+5sHA4aBGpXl%=ZcMer?cy7@;}D(bL3h~1
zx1Gn|7FSxk{xD&{
zG}h@Fbn?Pp$7Z>sdIxwW2~g^D9q>#DSRXgl(@V6nww8b--??SfA`KK8Nkfd(vi&DQ
zw?rBOz3B+Co#m3WF)lC#^0C*5aFHGvV{^tevx3(yblc`p0AIkN-O|$7;#pm_n$(nR*K032}7?AbIBqz{rd
zd*Zb7A3HhaqeGcFqHe;Nw|T{polC9euHXNK)8OHAh>&GpfI@f7O4b
zVtP}BG+W+9@fm7Ouc9%=v!$NINCvb>bS8du4BnWGu(GmJR91c+y-HG;>b@R4n**ex
z0mexh!IYMmm!~?D1v~Ef`c{i2|7lcYGU9eAV_k7Wm(LMa
z*3$kUh91AWC=a6{uq-Q`&egP48bE{TBD%9wXVl=vehv;cHrXQYd>8cf^!0he0`zD&
zds33(0gC+n{k7Qd{7%7O-{`Doam|VL_I53~?b%M`U=%waCCGLr1>N0!5M5kast2F>
zjDga-j$h8WdvDKYHSKrrk~x&+S%uR~O=096z=`i`$f5Ntzo`?mi;HhK1yw3$FXrdx
z(^QvrKL1NDJ3J-N9aKOGa$Wa#V-6Gaj4-R(n0x+rPe?3=qB}eD$1DNDWOGD%VB8g|1@I*Ej$Uj(Ve(XAq-v$Rhsn(b3|{%8M)+z}|*~4nxfg
zaT1-Y%gaAq?l=1Dy)wMBy}kYA!KEswHGJj{!UMk(Z~mL5VQHf_t9^Y3SRMC0&PWQM
zS)6JQ<7uyZ+?@B|QqlL>kgnX**;IK_WMm}w4Ms01nXZbmKGgJNM}Ec!79RU
z2eQRb`mV9>Lbs68l`CJWelk1YG0?59L7$=isCEZ;(QC={oa>}hS2lh=t5p$mg*ZTb
z7<`kk0gCt^<1wdVKNN3~2g(p9TYU{O50pM5b0)DNF)Tj_bc&(T6y~&j!J|W|u;K55k>Tf4e
z2(tQ1NIm3MD%6-WXD1n$!)jSj)|nzi|D!s+1QCEp5GL+$27}py$*gjV+g$rk?A*$D618n0
zG(NfA{{~Zm(HH0H(W-~>;zd~O#PaIu6NY&4#|DVR8URoJu!c-%4Vqx$H=!-tIWjJF
z+eM2C5!|T?5JuD)VPOnh1iYrhFu7DHp7!KP6mDtBjXv7^9*3Ee1R7XP{Vqy{-`%bB9U4XV`+57$Fv#`P0dJW7Z-Dr-e1wfZ?2f`Pi<^?^+}C%
zA|*@N`Q-PunocT1mRD8=W@pi(qocDbaK?efepN+wa-+&o@RnZ_RRNro`wK))BC|Yi
z#>Z{VjrydA`}*z)sd(9UI%(g&ZBA?s(O6*IHa+~bhCn(b!bTIm;H+2D3{RDgu<|~y
zpE?NCs$GZv1s$i7Kn}*-fUXGty50Ws4*MG`Uue=QAPaXPKuAbK;Sh*F_9SB_K<$Pg
z#yLK&$#j^Z$Z?hvjLa7fhUGuH@z#>*8Y-;Yrepzzpa4F&MEPHzohvwmwK<2SnaTt*
zP-bxE+Tufy{TnzOp3BDsO86jc{~s%Z&T5=AN)}8Qjsk&>fj|%~{aa->?VtV^C0N~7
From 87de52f18d2a0d1acc271d1c4a5475fdaa08e3d6 Mon Sep 17 00:00:00 2001
From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Date: Mon, 4 Oct 2021 22:10:52 -0400
Subject: [PATCH 3/9] Better sprite:tm:
---
icons/obj/guns/energy.dmi | Bin 43105 -> 43082 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi
index 4adf1a45e30fdcbe06fae4eaf44fc16958eeef72..f2a1917a06ec40defded2af9712268dd5bb676b9 100644
GIT binary patch
delta 4292
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
F{twWxja2{u
delta 4315
zcmb7{2{e@Z|HlU@x0Kr=vfqsC>4sF+kQ$NfTTGE_H};(;x%g4i9a~6KO?E<-DZ>o;
zmEDAxn5Iz}yU`5BFw6gOyZ8Rj{hi-E|MNfRIdh&f&-3{%@9*dH`n;ds_xxYp^FM&{
z<7o?6)Yt&HwLT_bP>fHy-BC_-m&SGk)J*Z+=@WiDt1{Hf5#eHe*dq
zwa+%-1yzxN(XoD!XC-
zK4fD~9j!3(vQZfx%RQ{P4|ySU>azctQC26p(XOM=%l{?1TVQZ6^kL`pA*yx!RD49_
zNoZ0O@Q9L+ZJ-4|!4WsMIhW`3@i^>k0_{GL!1)X?+Zf_|bcJidMXb2J*E@TMUPd6G0@rLhh_$$iELnUn@!8R+I}!e&pG2B`^f&_eOAH34pY
z0+FYcMi~N3Bj;*$9$#~vJ*u7HYPPbTnwnazyMKR*al;B>V`?zJ29DDz_nz38drO7S
zr_&IlS#PYw)B#+#A}XGq?}{Ul;I*?@4wIP)jK|Qw;m_54{Ls0#`aGJ*OUUMK)a%Hq
zIN(T&v<(J)iCulLJ@{Kta&4TQ3*L2g
z6)!s4+bidq!;rnbz0}rL-;vUDvcH1Sg2vjFY@1w7#8-64+f=iRJjCpDk(B{!IvanT
zLH^8*)u$}u@s#+`Hsh?sg?`B`Lfm>SUVOcO3(H}P=~6(M9D%b^krTJ%?9dtXqCx3*
z*$Nr^GcO|}X`gE@L!Z&<^iN(<(CnT&c#PLc)1br`9@HpsfhHy<4oXKtOE+jezwbS4
zXYX_}XWJFSI9TJxNDpi4!@E8GqC-)40e6fSf6VisN_O0MKhYdm1g)s8)u8QXC*n7j
z#?in?nbj5K2907^)ghxF`{AXSG4kuT=#G@~sw!JJ9M!D|C{uN^#t^?Xnhd8muM5zk
z135dh(x?p_*DY2mw5q;-s32zHgEEVgXm4kyB$L&rWqA>84MX}ChV3Ra$qo6~WoPT|
zbw{i(9L_L3?o!DbK(B9y+jLFH$escUFD){gYGlu@nBmSWD(mWM8aC0>1Q~s$Kx`Ll
zW9tmw9Wm1fUthJ_N3|+ueYx|3SBW5>;1Q$p3>&^=KbJmVG27^zrcnF<8fPM&Y1Xu`
zYA8AgtYEK%a>5vlHZD04yf|16549{y!rx&9@bvH;hG6oAvY*{sqpbl0lvPAT1oF9&
zoSZWGh-dvnsIP~|o2?EJ?v>iM<}inY+n<@A8xy&V+M~h)O-C5OnelQ^hIjqRwN&C_
zO@Ua_`qIM6v*|0by@N!Uw7)|eR9e*`k+j9<`OB1I@rR#lh#|Grynag&LI8W(qGa~O
zi4%F8EyfmeV-Yn=0Z0V!**I4{nTSUO1XzrYj-I|3j&f=ECG+qZB5u03*LKGQ6+U5FA)D}Tu4trne*(Lmo;6X!g;+nW>2u5s-gR)
zbT^smAGUSz;kN@y{+ucAy?6oVx%Dhw>`l6Mg}UY<0>K8BqS_TzR8=V?nu5sZ<)sc}TXB*7gec*Aj$>e%_ArACNca*I;_^%5rw?9Se+@jF
zm~hF=%Bu1U+%kEUZEHKo^@jNc1myS@E-Wt(3`Clutph*3vQ9EGs&`VOX&p*0Z)+p_
z`1r`}jJA{gJ&O2$v2Zs|mCw)n!Z0pgwzk>plgT0~zg;eGY_v%3h)xhuKhYwx3{^?n~7_
z8}b=TN|~9NxjLD;UsCJr*@x@n+Vc$^!)00^ljfJk8yGG|f64%AA$9`){Jn8_c=)ZR
z4<=~`j=8zH4eDV-%!fCYN!n-6me;sqR3tKcwJc{lg{QtnJ8WJDmh=D85yk#GO_1Pg
z4gT^bP^=#(5Qhq<{&>sEDl2k%LVNLyzP|pT!GiJcxc#m?{3E;C6H>C4=(8OfB+w=u
zmqcw?Wj**y&TM=gt6`_PK=Lqmx^{ZW4c33O6yUF(vikpTLw^r>m#;h3RjlEPkN3Ss
zXj~q;JAfZPOrccDrl8J**6L_!-6H$?C><$`0PZTtf=hX=xwX9w6wAK(QYR`jT28-W
zKiHa{^-fe$!rI%r>?g8{`~TSnt~?~Mzzw+HSYt9(r4Hz#eUq*YRI7r`01CrK(Hx+M
ztYczgKI>YX$QA?;eQGy@W(B~8nto7tcTFIv8HU^fwzlZ*Lo}v8;j#Ytgsn!XFOSP<
z=p7kCUs6|gdjnOL$r2N;{m$Y~{lM3BMWrOL8QTiO96UYIno}PtZ0Xw^5DeG!Wb%Cr
zGtAIP=!jPF*HJwed~G17{Tm1=^}sRPz{NfHNz9P7IcrskOux|3OC77DRaQ!efb_Ym
z^kuL2FllTNdt)PV=d@Ojz)y*XoAsY`Z&gAO%34~^!))Y!e2^ofeD|#f@_Bmt4~yQ}
znSQQ@H~Mo7=bzvAZMzS42v@?374G$Y!DTGu<3eR%_zxCtxBjlsl%%AjZA3(qu)O|{
z&A$vtlm!e#sJVH00VP8Y=N@oxhPC|Kq;GJe|DKS9O$pRlR8$ms^@y;Jr7f9Ej(S9?
zj-9y&k>PzG%X3%qg{qbo7n|5!gEXeDd~oE!yZ?)#`yF@9(C4F9pM)8w>c3GWt3>qN
zvRNFf(FD)AiWNnF0@@WduT-e&k-hW1xqxbAP0i@$=BvuF7r9V{veHLWG-ySAy>+Q?
zB?hBIlQ#PY{se3DPRbgBzDc1BDlY678w)PSZkaWU()p|(=P;G8u{d0EMMYiR-pi{5
zEh~|
zDX`~&6R4lFpkH+K$JYU<`t2CA$t40LT$MK{>jAE~M0v5u=yYE`6od^B5gsnCuCAU3
zwY0G42Ep*ErGI{PwJvPQof<@nr>eler))
z%3!PA$_hLo;x%-dz~3lY9zZ*i_q3gY_)*x2<@4t8urAWM8BoQu)*w8SM?^HzIwXnyCqfhZkH
zpoo^16OTwie6+>n??H(uCP9KNPl?-|E&wkOaAngBmYt(x8EDZ)w7d#S%`P1;w19@M
zFWApgToG+0mrUT<&=g$DMdX^#oWF#G#IP$9U)E##reGrvhr$hTX!8?I{&!V?pIWc;
zUfBCAI3(7;+9@)75iLN=DW%j&Pn>VpWMO^%&-RXvx?SA~8{^&!(KRD1jwfZS`Id7_
zBB!NcpFMIAzGZ}%{^UpvA}$hZ3Fq2k*DJZVW=vwgZK{qbR`|b|HQer}U{Cwe*V;Q%
z*XksPrZw)w8$E;Y2V0*K&k3*6BgfI&{93ul6BMpdJ}TbU5MW_+)_TVRGm7KjFV%WZ
zg>NP^T$peDmStu0p_#m>*jN_bi@dp}StBn{@D&2#w}6>mu+wcY#_J^3P8Nt3j)jkD
zot#e+Et$Y0@IS$339X13D$vHe?ZBHsEwt52xvjEOZqPFNb=-V{W~hA{XE32+`{Epf
zamq(UuJQwXlZC0NyT8Lw6*(*zu&fbzUT_H%EcP2l*1TmMGnHEdl!zFzuQ6*}Dz@3G
z#Vn%Xxp$e8D$2?sD|!-`u|X)>W^44aA^=zNNpdp8yr
zMg>ZG#`Cf7S&+%2W)Qwt@3_JSW%1hD&P`2C8E-wzp@&?W{Bl7f{$Ugt^=fQvbkf$=
zJ|DI6NE3PH+&SgWQ;nfB<|Q^21;_JF!Wqi$AOhXr2|dAr^?Ed=pRNE)H#G)nW_IPu
zUCrZ;wzl%Ht3ULq-)PoV-l3(t317Gvn8Qxththuyd)?GD`rx_zrTb28ZEY$V8jhz6
za-g&H(JDvK>aXtsRNcUkcH^lq2%nny4kA+)-aj=l`=zHhD(3Yx_{3w^kL}MwzPw2x
zxhpb+Ck)rd8^H*p`cwQuH>~I8=1!HCmTGBh&-BDYlulgb2jO|FB`-g1a|SN=?mi
Date: Mon, 4 Oct 2021 22:13:59 -0400
Subject: [PATCH 4/9] And a description change
---
code/modules/projectiles/guns/energy/laser.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index c30119f3be6..9d7b9bde281 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -143,7 +143,7 @@
/obj/item/gun/energy/emitter
name = "mobile emitter"
- desc = "An emitter someone removed from its base, and attached to a laser cannon frame, to try to make a weapon."
+ desc = "An emitter removed from its base, and attached to a laser cannon frame."
icon_state = "emittercannon"
item_state = "laser"
w_class = WEIGHT_CLASS_BULKY
From 6def6490a0ba845f558db41ae0c81b8ad72a07a4 Mon Sep 17 00:00:00 2001
From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Date: Mon, 4 Oct 2021 22:21:20 -0400
Subject: [PATCH 5/9] Really dumb, yup.
---
code/game/gamemodes/malfunction/Malf_Modules.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 4ee2d96c5bf..5c4c8e14367 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -787,7 +787,7 @@
if(AI.builtInCamera)
QDEL_NULL(AI.builtInCamera)
-/datum/AI_Module/large/cameracrack
+/datum/AI_Module/large/engi_upgrade
module_name = "Engineering Cyborg Emitter Upgrade"
mod_pick_name = "emitter"
description = "Downloads firmwear that activates the built in emitter in all enginering cyborgs linked to you. Cyborgs built after this upgrade will have it."
@@ -797,7 +797,7 @@
unlock_text = "Firmwear downloaded. Bugs removed. Built in emitters operating at 73% efficency."
unlock_sound = 'sound/items/rped.ogg'
-/datum/AI_Module/large/cameracrack/upgrade(mob/living/silicon/ai/AI)
+/datum/AI_Module/large/engi_upgrade/upgrade(mob/living/silicon/ai/AI)
AI.purchased_modules += /obj/item/robot_module/engineering
log_game("[key_name(usr)] purchased emitters for all engineering cyborgs.")
message_admins("[key_name_admin(usr)] purchased emitters for all engineering cyborgs!")
From bebd890081f74d3fb42e6451634cb6c70f0a6d5b Mon Sep 17 00:00:00 2001
From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Date: Sat, 9 Oct 2021 12:52:46 -0400
Subject: [PATCH 6/9] Apply suggestions from code review
Co-authored-by: SabreML <57483089+SabreML@users.noreply.github.com>
---
code/game/gamemodes/malfunction/Malf_Modules.dm | 4 ++--
code/modules/mob/living/silicon/robot/robot_modules.dm | 9 ++++-----
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 5c4c8e14367..ca42fb7087d 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -790,11 +790,11 @@
/datum/AI_Module/large/engi_upgrade
module_name = "Engineering Cyborg Emitter Upgrade"
mod_pick_name = "emitter"
- description = "Downloads firmwear that activates the built in emitter in all enginering cyborgs linked to you. Cyborgs built after this upgrade will have it."
+ description = "Downloads firmwear that activates the built in emitter in all enginering cyborgs linked to you. Cyborgs built after this upgrade will have it pre-installed."
cost = 50 // IDK look into this
one_purchase = TRUE
upgrade = TRUE
- unlock_text = "Firmwear downloaded. Bugs removed. Built in emitters operating at 73% efficency."
+ unlock_text = "Firmwear downloaded. Bugs removed. Built in emitters operating at 73% efficiency."
unlock_sound = 'sound/items/rped.ogg'
/datum/AI_Module/large/engi_upgrade/upgrade(mob/living/silicon/ai/AI)
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index e35e67113f0..38d9c45dbd1 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -174,11 +174,10 @@
R.uneq_all()
modules = list()
- if(!malfhacked)
- if(R.connected_ai)
- for(var/I in R.connected_ai.purchased_modules)
- if(istype(src, I))
- malfhacked = TRUE
+ if(!malfhacked && R.connected_ai)
+ for(var/I in R.connected_ai.purchased_modules)
+ if(istype(src, I))
+ malfhacked = TRUE
// By this point these lists should only contain items. It's safe to use typeless loops here.
for(var/item in basic_modules)
From 15f383e4f5a99c133a920489c9d969c3839cbcba Mon Sep 17 00:00:00 2001
From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Date: Sat, 9 Oct 2021 12:54:02 -0400
Subject: [PATCH 7/9] Firmware
---
code/game/gamemodes/malfunction/Malf_Modules.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index ca42fb7087d..53a5ce1626c 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -806,4 +806,4 @@
continue
R.module.malfhacked = TRUE
R.module.rebuild_modules()
- to_chat(R, "New firmwear downloaded. Emitter is now online.")
+ to_chat(R, "New firmware downloaded. Emitter is now online.")
From d30f3f098452aa34486a6340eb96392c432c4b09 Mon Sep 17 00:00:00 2001
From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Date: Sat, 9 Oct 2021 14:04:02 -0400
Subject: [PATCH 8/9] Final steel changes
---
code/game/gamemodes/malfunction/Malf_Modules.dm | 4 ++--
code/modules/mob/living/silicon/robot/robot_modules.dm | 5 ++---
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 53a5ce1626c..559461da349 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -790,11 +790,11 @@
/datum/AI_Module/large/engi_upgrade
module_name = "Engineering Cyborg Emitter Upgrade"
mod_pick_name = "emitter"
- description = "Downloads firmwear that activates the built in emitter in all enginering cyborgs linked to you. Cyborgs built after this upgrade will have it pre-installed."
+ description = "Downloads firmwear that activates the built in emitter in all engineering cyborgs linked to you. Cyborgs built after this upgrade will have it pre-installed."
cost = 50 // IDK look into this
one_purchase = TRUE
upgrade = TRUE
- unlock_text = "Firmwear downloaded. Bugs removed. Built in emitters operating at 73% efficiency."
+ unlock_text = "Firmware downloaded. Bugs removed. Built in emitters operating at 73% efficiency."
unlock_sound = 'sound/items/rped.ogg'
/datum/AI_Module/large/engi_upgrade/upgrade(mob/living/silicon/ai/AI)
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 38d9c45dbd1..3c202a35029 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -175,9 +175,8 @@
modules = list()
if(!malfhacked && R.connected_ai)
- for(var/I in R.connected_ai.purchased_modules)
- if(istype(src, I))
- malfhacked = TRUE
+ if(type in R.connected_ai.purchased_modules)
+ malfhacked = TRUE
// By this point these lists should only contain items. It's safe to use typeless loops here.
for(var/item in basic_modules)
From f5ece96b483169bca9980a10ad33235a2789a0f1 Mon Sep 17 00:00:00 2001
From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Date: Sun, 10 Oct 2021 13:36:17 -0400
Subject: [PATCH 9/9] Update code/game/gamemodes/malfunction/Malf_Modules.dm
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
---
code/game/gamemodes/malfunction/Malf_Modules.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 559461da349..3b07125cb5a 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -790,7 +790,7 @@
/datum/AI_Module/large/engi_upgrade
module_name = "Engineering Cyborg Emitter Upgrade"
mod_pick_name = "emitter"
- description = "Downloads firmwear that activates the built in emitter in all engineering cyborgs linked to you. Cyborgs built after this upgrade will have it pre-installed."
+ description = "Downloads firmware that activates the built in emitter in all engineering cyborgs linked to you. Cyborgs built after this upgrade will have it pre-installed."
cost = 50 // IDK look into this
one_purchase = TRUE
upgrade = TRUE