From 070ee9b86adb6ae4bd3a852b240cb2519b7e7aa5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 22 May 2017 07:44:10 -0500 Subject: [PATCH 001/134] Fixes shooting out of view windows --- code/_onclick/click.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index ad4a84529b..39926cd2fd 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -92,7 +92,7 @@ if(next_move > world.time) // in the year 2000... return - if(A.IsObscured()) + if(!modifiers["catcher"] && A.IsObscured()) return if(istype(loc,/obj/mecha)) @@ -446,6 +446,7 @@ C.swap_hand() else var/turf/T = params2turf(modifiers["screen-loc"], get_turf(usr)) + params += "&catcher=1" if(T) T.Click(location, control, params) . = 1 From 4533d31e34620b81200b521e103455b4fcda0ad3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 22 May 2017 10:49:33 -0500 Subject: [PATCH 002/134] Cult Fixes for Construct Icons and Spells --- code/_onclick/hud/alert.dm | 3 +-- code/game/gamemodes/cult/cult_comms.dm.rej | 7 +++++++ code/game/gamemodes/wizard/soulstone.dm | 5 +++-- code/game/objects/effects/forcefields.dm | 1 + .../mob/living/simple_animal/constructs.dm | 6 +----- code/modules/spells/spell.dm | 12 +++++++----- icons/effects/station_explosion.dmi | Bin 5403644 -> 5403644 bytes icons/mob/actions.dmi | Bin 193459 -> 194017 bytes 8 files changed, 20 insertions(+), 14 deletions(-) create mode 100644 code/game/gamemodes/cult/cult_comms.dm.rej diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index dfabe23025..7e6f488a47 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -271,8 +271,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." /obj/screen/alert/bloodsense/Initialize() . = ..() - if(!narnar) - narnar = new('icons/mob/screen_alert.dmi', "mini_nar") + narnar = new('icons/mob/screen_alert.dmi', "mini_nar") START_PROCESSING(SSprocessing, src) /obj/screen/alert/bloodsense/Destroy() diff --git a/code/game/gamemodes/cult/cult_comms.dm.rej b/code/game/gamemodes/cult/cult_comms.dm.rej new file mode 100644 index 0000000000..7dd9601cba --- /dev/null +++ b/code/game/gamemodes/cult/cult_comms.dm.rej @@ -0,0 +1,7 @@ +diff a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm (rejected hunks) +@@ -298,4 +298,5 @@ + if(GLOB.blood_target) + to_chat(B.current,"The blood mark has expired!") + B.current.client.images -= GLOB.blood_target_image ++ QDEL_NULL(GLOB.blood_target_image) + GLOB.blood_target = null diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index c72152668d..4c25d221ff 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -3,6 +3,7 @@ icon = 'icons/obj/wizard.dmi' icon_state = "soulstone" item_state = "electronic" + layer = HIGH_OBJ_LAYER desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefact's power." w_class = WEIGHT_CLASS_TINY slot_flags = SLOT_BELT @@ -213,12 +214,12 @@ var/obj/screen/alert/bloodsense/BS if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && SSticker && SSticker.mode) SSticker.mode.add_cultist(newstruct.mind, 0) - BS = newstruct.alerts.Find("bloodsense") if(iscultist(stoner) || cultoverride) to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow their orders and help them complete their goals at all costs.") else if(stoner) to_chat(newstruct, "You are still bound to serve your creator, [stoner], follow their orders and help them complete their goals at all costs.") - BS = newstruct.throw_alert("bloodsense", /obj/screen/alert/bloodsense) + newstruct.clear_alert("bloodsense") + BS = newstruct.throw_alert("bloodsense", /obj/screen/alert/bloodsense) if(BS) BS.Cviewer = newstruct newstruct.cancel_camera() diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 045673b019..7ade1b707f 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -10,6 +10,7 @@ /obj/effect/forcefield/cult desc = "An unholy shield that blocks all attacks." name = "glowing wall" + icon = 'icons/effects/cult_effects.dmi' icon_state = "cultshield" ///////////Mimewalls/////////// diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index f988fc2477..75948d2eb2 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -386,7 +386,6 @@ background_icon_state = "bg_demon" buttontooltipstyle = "cult" button_icon_state = "cult_mark" - var/tracking = FALSE var/mob/living/simple_animal/hostile/construct/harvester/the_construct /datum/action/innate/seek_prey/Grant(var/mob/living/C) @@ -396,12 +395,10 @@ /datum/action/innate/seek_prey/Activate() if(GLOB.cult_narsie == null) return - if(tracking) + if(the_construct.seeking) desc = "None can hide from Nar'Sie, activate to track a survivor attempting to flee the red harvest!" button_icon_state = "cult_mark" - tracking = FALSE the_construct.seeking = FALSE - the_construct.master = GLOB.cult_narsie to_chat(the_construct, "You are now tracking Nar'Sie, return to reap the harvest!") return else @@ -413,7 +410,6 @@ return desc = "Activate to track Nar'Sie!" button_icon_state = "sintouch" - tracking = TRUE the_construct.seeking = TRUE diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index d47a5b268c..f022e0338f 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -203,7 +203,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th charge_counter-- //returns the charge if the targets selecting fails if("holdervar") adjust_var(user, holder_var_type, holder_var_amount) - + if(action) + action.UpdateButtonIcon() return 1 /obj/effect/proc_holder/spell/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount @@ -249,16 +250,13 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th return TRUE /obj/effect/proc_holder/spell/proc/start_recharge() - if(action) - action.UpdateButtonIcon() recharging = TRUE - if(action) - action.UpdateButtonIcon() /obj/effect/proc_holder/spell/process() if(recharging && charge_type == "recharge" && (charge_counter < charge_max)) charge_counter += 2 //processes 5 times per second instead of 10. if(charge_counter >= charge_max) + action.UpdateButtonIcon() charge_counter = charge_max recharging = FALSE @@ -276,6 +274,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th else cast(targets,user=user) after_cast(targets) + if(action) + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/proc/before_cast(list/targets) if(overlay) @@ -332,6 +332,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th charge_counter++ if("holdervar") adjust_var(user, holder_var_type, -holder_var_amount) + if(action) + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/proc/adjust_var(mob/living/target = usr, type, amount) //handles the adjustment of the var when the spell is used. has some hardcoded types if (!istype(target)) diff --git a/icons/effects/station_explosion.dmi b/icons/effects/station_explosion.dmi index bddc66e137b29ed86cc047fe3bdccb2a6a77563d..385818b011741c8e9edc49bab6c652219a05de97 100644 GIT binary patch delta 671 zcmWl}TTGGx00z*wc>$C(umI6QORN+q3Piy~%n=k@*vD!PJ8sBZD|Z4>U$)#iJtUg|3Vn zJ}J{Yi9?H<*Gvk$MgZy)vX{M9cd;GWN-9dkJs_Pc# z*i)Z^DS2`6%GQ% znlcL({2f7y!Q6Y)6l)-Hb~*QwE2A|yXemEOPIHqmA$IqanW$Up%q z&>#-tApsJB4h&#I5+nl)RzeD-!YW_`2hw0QtN||YfDh>)fDFilwXhC^kOkSW9yUM@ zh#(g>!Y0@Zd5{lckbo4nz*dmKHrNhwP(T4Fp%98d1!^dU9Z&)qCZLU7&*s U(1QVXLnTx}HPnpQNqel8e|ppf*Z=?k delta 671 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

(^IY+Y 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

#)iF@6qBDjT=KAq6 z3qWsEJC5UnGtX+O&+nM?s)4cdmkKVl6060m@%5*eCt|#W8U#Wj8oLM&XrFz9TitRc z-3YvjK6w|I3BZbP1?4h&y<`(UiGCJ-9&`akn39beE!7p7=UYYDrOLgtF@i;FXk0DD zX(2|kkz_FGe1G!UNMie6eNmCe*mg?405DIv!8=yRLr66s**#aS&!kzULxazvmqusQ zIh8C|^m&C2D?I9vTs*&0NX1WW+ngrBX41(jk|AY|Ixt)iV=afE1TW~Tq#kob2;aZ^)DXQ#06b^17QVsJG67Epa_ z@*4LEM|ckKe3dqN;1%I2c=SH{(YNR2Is7IxnNowtQ6m1)@B7){ zc9>G_ScbQ->dAIVmq47>Z=Wnahfm^TFa|@3wc-6wx5pv8bo;PO$>07GT+&TJ8tdMc z6L32IyEijHX37k~mC$Lk&Sg;rz&vwa;_)y!8;iPHv#rdC?zkSJfsY@>O);n;(^g(# zQ`|pFX^FBq1~qY$XLE~OU<2`A{P_ExPFC>#{9X^TG)!$=(D63D>aw1jUD*DWe|@ClqbY?c#Bcnz3p$PCBS&S!TRGD?@U|dH`Yc0F zE%)}9!OqT(%i$qY@bW4i$kJUKU#|^3uka=EPuVn$Isb}0q{Z@D>Jmi6SCSuqhIW6| zM^(c9ch1Jdxb9)>_{Q&ZNVOGTPB%dLAr+|$Z2Q6Cym$;I8X6kZiKfq; z2!D4L9o`@(*`7XX8fy?hghwH>LE-)#y}UU?g+GQe{G&o3XAI@vQdDvyCc!>ar~YWM z>`4NI3eKmfYw`#Bm>DM*IA~n4eQ2ltco$MhxDiHk2HnNqqRkBoQ`GzSgQu;0t*wjB zi79LEYuXc5yvH7MGE-LEyVlPibDSGXtE!|eJ~MuI=5TsCdACpre8O<7U07moAtytN z{zp!}@OTQ%ORPvu-CxkziKMMkg2Su7Q_S3dc_M7?;C{jUoRPl zgCfqcmA13{n4$XsX@0siRq3=el-%pZGko{3QnOT&yXV}^C>-mdGUt7kp)ga{5mM*{ zRm*d^;W`@i>~t9i3|GPZaVHYSkWz_JjGOXuogKZgnhbT9ZS#XC~i_7zJf*8fTz zq^2#8{?=G5{rNMizMJNpsG|AtrprRsH`kv<9TW!HTej5YOfiv!-rhf_#nhSB^&H6) zFb2d^n~&FLuM?xeCu$YY5lv6WTemw8t74pGmB9A#OaR{D?0EHcnwqgw?a^ls&}( z)#KDq-J6z!qSd)TW#R=@S=^|yUW;STsjrwAbhQD{5usM1XuQ!KaIoCWO6suzef9Qy z{`}Hg*GNak>v<(OHRUq&?_ck5qK1_fTR~9~nqnAiD_=UVt}Bw0lanJau_JHRi%s z>aRes;dyI+9726{{AS zD<%p{ea3C!5zaV)rkws?YVgK8W0CX>3_Zn@1y1KZLA}>gMe@+1{x$L(!IY~<{&fay z9p0HT3s=QL*3MawhxI=;=NTM3EKmp2gDr!Ag$+q=$|uC=XgU>LZ$zl8LDsRpFd`0P z=Al24WOm)ozbwejPhR3EqP#ll>+2D2&az#lbuujE#KnC=X~it(t+o?2^s-Vg8ml^1 z*NPR@mN}kjc;=U}@;g%!$o3}`CdBj+Hd;gkpvQI-%iPhj&yJs@A$~JC<8nG`WGzJi zIn@-8G1BwIPbly!7~Am0eAXZy5LES#6|ow~HbvMdVui%~Y|or1(Q2AUUN(1U@dJ4YB!segh*B1;HJ+|nQ>mTsJ zulMDdzP+<1_VBMZS+$L0z^+$oOZJ-d^Ot7*FD|0C)xprY#DH_$U6A>AO| z(k0y?rL=SnDcurMXXs8vP>>W!32Es@5$W#k?!M>y-Tz&eb=G2-nKjIQ&wgV+&l~7A z(!4N)`&Q+n3;S>Z?qO)d`yu|RbcD7OjQq#*Ak0lOCP5V+J0hIYaTPEde(2snd*`d6 z0VqhAKv^A~X}p$X6saw-P}wyFubD$bg@^*W|~*I>@+C2`n?YD^R~M< zP9{%#m*4IL3*u(lL>*H+);t!SVSBr3A3B+qgIH5R7FD{`Z?$xMWD>96ynMwGYT|oi zN-5@rbxAFb4%A;R$xw>*Od|UItO?`AZM!1tRQvp_KLF-Q$wv6PQG7(zamIKG&0Lr< zG=D0muf}39NmW)$9Ilkw`X~;?U9WDro$bX;BLbn?``PX*yqH0$1h-pK^TV_h896dc zQ&v_e|G>^pnZd(@&t+_z;B<9W$4$4S=118<@~HW9RY=1=O^{T5t+Jo}O7eC7V9kD| z^w(k4{yq6#hUi}I?BDatbI*If%Lzwgeeq&$;M*4X;^1KZd*t2Vkqvm4%{t`~$X@D~ z42_V$uQ2?Pmfiexb2lP4!88Ulm3zhhUPl;o9Pwm3+=vd$$Q5$GipQ04o~!m)t#@k} z-S&h@C(QjlZfNk2?(VR#gzw;g!0c*jpS-P`k3(yD_`52gV~iHMPjR!E=rr2I8Q5(p z^59#6>w1LcOzrl3k6d!ab9>EsXz;P;f#LZ6bEj?HIDN?>tu|HJBis7&V~d2A)Z;%e zw~%>xFkNVHzw<@Ap5yx%f%k-p7C{nz%UCzW)Ah z?0Y}Cl3{uQ&Zo3bntiSFY!WE*&~(@*AjycS+lV;{V=U@sY>zd{%+YQt}cBclcBkUdE{YvS~J5 z(Mha1{0yZ|es~^h)upl2SGiP{wRkyvDxB`Bz8E84vK3Jr#^PCGS|0IE;P#)!a*LSV zT3?cWoio*|SFd>N$5<#u-=Pmm-g0dG`x;XMC^R`C0n8t z{+Du}s-!29NiEhr&E<6?mJ+^aWS=ui)6+6D`4~A>#q_B*`;aHg9PDb0v|n0Rrv2co zNp+YtH001td9`m_HOf&*;WnmoEX`98Fh+Mfe0NC?SR z{%{Jfb31U>4{T+9!GIqZAr&FW`s}wZyBBvWDkF@P3*PmY=8|M-cW79y5E?H(W4`(R zC~W4q(?v;df8MAn$&?hh>%9|0;}^{Q3oX(ru(c(mN4?o$>q;^p)^81bQYkGC*V<>O zw66YF@yY+bZq?^7(P@=1A?~y3dp?*RXPmH}LHtLV0A3CoBreJaA)HL9=E~-qzh^gC zV(v!1OGj0lvX7F91+=^8v{`_zw)V@eiW=}S5D<5*yxE;SScswsyeud9YjWs~Wa&(f zQSiZRtnhd)N6xSBvC$L6`j^=dnc4hvs7{?bL&Sp`Fsm_y0q>jLrO{;!?J@TDz1A*w z!_N4>!o^y&zZHhc$7DiKm)CxOfTF9gVcU1-xI@f! z9bHs86>AK!TLZ|8H$cwFaT|r(p*kc8&giKx@YF^&XiH&4+ zDW9!GUug9b$?HOW+?W7d-PFt$QYr9E)5^xia(g8Is{Gc*{Kh4-6Z)oR{N%?sqn9g3 z%bjE*?%x1-61r40`_h}I=_?~_^*2YfDs11X%}4XHI5+|ex!X38);AXXm*y`Qq$KVa zqHf~Sy*}Yi>Vj*ylixS10whHOw@b{Q?FQcc{b=C&#oQ>Miv624FR`Ji$obT=j^#T%%ko0ayyjq+1S@m14Ps-v!ehIv ze;&h~hjT3_11PhusA+RjgZncrMvu6PVfi`!H_e2VZlnKB9@8G%5RjrZK&BcAC}m4& z30DevwhJB;__YG)B@7`+W8#Z`E3pQ#rwQA)pt~essdB^8Mvpj)Uco}!!$tef~ z=^J%*oXLdEM1kro*H2laB4_o-i&tCT>W^eB-Du!%%&kqD!m(vB53#r=(t;qoBc^_VF@iBicmVY6nrj%Y(KjN)pD!8t`}z zUe+J?P%OU_UzYH| zq!WKdloTU0>QuYSG?g=pW)^)(93|e;hZo&=qJV7%U!3)<{w+R^F*BIx@~s)o1t-Tc--Oxub3^)=8C3z|Td&h{3*{ za%z^v8X@_|bhrOL#8Jwl$aLq1`ErnO?+q=om&J~WTmd&nAi4$ARo@T(_+I$E2GRGf zOrHI92>^Iqew>4~%M4~cE@KMx6{;)xckrGmitb!c%J|9(atTf3sG$XzSc(rl@lQ3( zYt1hb`l++OE?pFOS|YNZl?0BTKLkFsvrH&obG_F`ufQ-ZcfBJ?SOf$Pe4#v)$G-1LorXM(dQ~T;ZmmW z;l8tuznGZsTx^*DN)SJ0!QnS6880mT{73OS-&ktt?5DtKTbBMsStdy2BPG_lY-LTm z{k5+t7F8Qq7o)NQB8$~!Gu~$8{g5cXF!q#fY@UBBSSK>eaq%{0ATSIm^+O`N(|-K@ zTcca+i54!pmelcWGM!2L-wCUwHT$jy#Ub4R;~!%uagT(~z-ZNkK&^m=8cDpP#LhsM zxQ*Ug2G#oRT!qJ$d$*0dXBi?6?fWkGIwzM2zAe5PrxGrP--DxlfB*9j$iKsyC^^`g z6q7ovrRlz(?7xeC1wTD22#|aH8z*r=6tycrqUI4t5&9mPyPyFzzW+9u&2Q!KbP}dC zhS|@qWf%hW{k|_|ncEc({zI6N5`PyVgYOv=cB{oin znE(5#XFRb{d{6Y-PWmtj4~d^;PaXAx&3l2+d|U4q&;0g^LO)iX?&IQ89p|M$C-94h zj)tee3J7DgedAke-}~>m^$&)fUTVMSynId)i95CaaMgrNq#;KS;di>PZ)<)zsM;&0 zuSe$(AQgOgtY<`&pb&)VLT+j4`1Kcw1goG?GGuE z51zHPhlt!UftIddXr5;;^o8Oh^f}!&!`B>zco`Rj>*conl_t#O}kFWis&)=N` zuJ~=;(m}6F4PFH1-rIJjIzPT}q{371mXOkNBemLgv$R<%A|5mtORqx6i?pAyZ3#;nk+)`I9KjN(bwV6!SfG4 zC-9&6OID+(4D7^@C(b|{)Deb=@4Br5zzWD~+5j0yZ{}O%lG~VgFF!$dNBD`P+Z^Sq z`*Ni@;m&7JDR!O2SyqQjn9!k~aBZHZMbLTZwN~K~)2BKIKC*aBo&8j@Gb@AX#CX{s z{ldSvtv-L2s{K#>FKdImh3#Ej64qR0`j;cSPEbuH`M_*y_Eskvw8Bk zsl+s0oOl~sK2J^JL?GuW#BBmgvtO;P{(LO@IoFX}Nor+iNDj4>MFB8-zt2W18Ge!N z*^eyraUp?6o~O4q(}$AU8DRL0%EPKVIOXvR*N#4>pj{i03{els#M<$oK7G~b%78cw zh<^sVNM1Rtuwo88L;8fRxp-{lXT>_U&{4Lw?dXB{1fQ0*-HnrVsWA6yCQiHBDG`S7k5~6)t@nBB3&da(2XE5?&}#p!PQ< zO;!XN(tq+G}vwkIj$BzkbEA_{(Fo*)P6mSc=&Ic@Ni#=A*av7UpGblbL6$ zN~op>>Wi9~_HIXI!H?m4>lO~7DB5N88OA@*{m-xdjAML1JZGU>jCn9Vi!F%plwmu{ zSJKq(@@>m~3a2DB`WN%5VwJ-)L; zU1ru5cq#8HP){!({VUSe`RY8oFaK0gsivk(r>9pfBWys6qNd#7*RkEVv8ky@=pQXF z52C*BP}=$=<4hiy`YysOAtFaz3O=ZbnN%zyuBAclmc@V#DR$>beytI=wNgb3w7^fo`j7i=i{V#&Mxnr%J(Z%lQ!`-9vAy6FCva4K-Td-iyYp(3@qNCExUIBqa9qT6Jb?n|CQ zP7bXw5JKU?Ft^Yg)T?-J>dv;scFlWH`0ly7E|2>x7-}TD(&dNJLd5zjka!o*igA1! zaGZ$EvRw=~d?WkeV4F?JK&Naorw}<-AKen3nwpx|)I{maZJOf#QMP>2?<~nT&bhBN*y!O1ZvtQUTeiR*7p!ONLhj7xAG>!$MyJBb)kL?=G)thU7gpTIHIBsEvJ84Q$k|a zzlu&{lf2wzdU3zEjex1_)Yn_ITp81jjy=QXJr|R2U)+9U{r%|j6_#QUiABomcHQnv zH1q#`>b*mEG%+I+6ADma)*f8=m<4WpwgE#Ab0Eq{#0u)5=84oz01)3s2gpYgv1$yPsC26R+Oc(i>K^FJ2zbjw$>m3I)bM$jt|Jq(|(KPk08{AlzfANIM z;T9v5RSQxJ$8UgsY>m}#0@>wGWDKk1Dd;`iZ3$%2YtTcieRkk`VaXri_4lB~%uUnD zZAoE&@hH=>x8748`qNq^-)3sxSdUZT$_wsTO6HP#$%urTYMPSWf+Irg+m2k^r?(7N zZz~wq6Kl&0`|Xq!AJ%@dY~bJYKf@9%;MRUtAg*3J<`lu}_Y=uH`d29tfGOt?XQT^j zGal96PSa1!6?(k$H{X2D&(9A&X%4EBqF8w4q;XZO11F9rzCX6}Ki>7GfBV?cXTIfe zRXEuIt89GGpDj2_`8xhucw%NIc0$mjYcFBQTRJV5>j#qpa?UKAa~X?~9Iy7>ww9LR z4%A-cJ2IkW zpf~aJNT5c@7*BBhy#eTmky%UIgPWg_d%)U_OcKoEkBtmgQI4MY%{fxG+UuOC$Mn|< zi?|tG1kf(<#dIUZbkolcEM`SN^i2|dz-+l=otUI?xZU3utgbV%4&jzJ(c|#f{LvxI z!RTjw8mc)6X?#3;Pj+>I2Cf`py{JSdGp3`Vy7fU ze9Xk=A?FiTo2lXS0Qs+Qiz|ykH{j2oPj2pE3?LdV^&V+UAp}^}Lqd8v(nJfZ1wK** z&7P*`J-6(a=cWqz2v<*kY0LXjGKr|!OT@r9)(aaF=#`)<}6w2F7_Wv)Jz{eCcU%qGIXp(w+k;e&kpXMvQ z>Q}MOAo8!w#UmNeNm}S)-cpqP{$tPsk{L(n6c&Te6<=(kBu#NwrXb8Q?b4#}X}_xuA-rZ$Mfoi@$1@DSUezPxN?L_whX?LJ#HFE{`G5O}wD!)W z=;NisbG8c9bhj5hsS5Vvpp~~4Kb=Yv*nB==WTn|0#8E7iShwK&`nn@Uxm2j1)L*$K z>f`g+GS`od3Hm*(gM=iE`t<~UZC#t)0U??!nYFg>H=Cl)>tRV@JR~iK^%VY+MCh1m zuW-_oIQ+5Ofc6lbNIU(I0e{I<-g;hEADHP$tA!>>_FVt2vn~7poPj5AH0u;51l>#5 z6lS*OB;2{;kdu>#u0lzQKD$5a`j&4eV1Vx1zQZ8ie?9}AmJ3Hde^*a7Ttn|ZYvX(n#1kV9#?E51bf|87ijt<$MZwJ1pJvL_pX{4H0 zGf^1JWaqX&+BYmPw6#ycW8|jGI+see>w<1e!$5A4??Qum+Z|gj7y~nV2N&n{o4tfr>R6-(G;4*7d=mn>WSgvr_?;vtIfk;qX{T@7Zp4iStrET`~8%? zE%%AVi?@H#uTUGzJHrz<*4Q`M@lsMaS9PED;EU)f{$X-cQpccW@sA@Lki%ie5YJ)W zKwGuLEJ*nH-{Q7j5Y|7MFNFwQZ{k!=V)=xd2ldIO30=Knwt-0tGY8Trqc?&Flqc;o zo-*g$Y-}L?{p}^%(6x*T_7S0%=vUfMS}raeCNZu|(Oo$1D*6?=hU{x> zU0g^v+T1c+ohW-{^0my*cgCru(*9Fzb1-yi|JSqC*WQ-uyePb1db`V=?~2wUUdhDy z4&D{%x8eI|Fe2vpY7)6mgJZ6e3W~d!Ci!tK1;Fj=Fje_A*ceArtfbyP`^>=y>}#O$OYd zE;<*^d_2G|yh*4c*!NJXz$4-E*X$=N2bl=UDPX=TkQuR4}#`8=+ zHNeYHQg)dn>)sBa!Ol-76!E!X&{ll{Cv0sZ28M)hC^XagvN}Vt%%`Q0z3y<@Xy!KE zvxB8F@2j%IF%4W)(B9<*UB9mMV&xIC5l!4%_ems}yyheSlOqeI%=oRQN&Im@KUe2dFF@8KFiv z9jOJJ$pPYwCy2^PNelit$<$r^4i#_aBIB%)8?UX0TrJp9$Z^#ECmL^Uj}79g95(&v|rOeQ@SClZ@OGazD~n z!#NB(^%R#@CN^M_q%OUyd0Ox?Y}zqgtssQ^3JH6<|`d*z$>lVYOlU zdx}>r(2>0A;6$Sfoew!fpv?Bl?FrCV9Odb|GjAxq_N);=AG;NBSrAXo%1ZeDotfWS zXxaWiXHBiI8|srFwlBagViwEd6BScHV)4aF*bOqjZJng!Vsbn*fMltrI9&77%5-!r zl!|*a<4~T|O9Q5&uk)G~{AaJ2(84AUoWv!}%9}69?Hn9p`Y5v+f8rNB9#6_})CL3w@CoW>pTDw;YJ?nJ^7`YDVs>OKOnMTjS!E3SSTMcJznyU1buVg zHsI0$O}6QQj79s9R8{@wMJ*CC;zfBDj2h*q%fB9IR7Bt6Et;ztni0-C$gLHspQQ$Pqi3sV8nRLJ&ekVR(jWkRbKoqapZ_ z{#%PY9r$lA- zr<5(mC&9)gTY75Fj~0u)`m`Kuo=0H;zi?1WfgRN%NB~s{om>#^uVQ@gM&E~9kw!Tz z2^qBy6TUK@7*raMCExDT3eeJJUOuSeco z!m9#&9Ghe80G4>@cpmk$KD^?YMj5gtRJbFG|95{BC|cXm9E=c&1J0!FuGzLeHzk0!ku}rv z`>A6yn!9L4vme4?(Eo0GbLP>6c$DfjnDr6{acCoFxOt|*~#T%_wz+> zmaL|jZyA(h!^jDaFGm(nBzi#1mq~~Ur8d%~dE|@Z-lkL=C=nLuxI}11(Q#ymnk{!k zw42ddTU%2Gd@8|BnF?VRms^`Al#rUM6nd+NE%r(|KN`7BPr0I?hCxV(qRQbw&bYZG zIhdg{YHrR^m@lKSXqoVUkdW|NidHO82r8;LI%quf`ZFjE<53_g^#XH|9KV*&PrZR4 zE+NP)c zPvz#)yPH0S^&Yo?>)yGqR)m4GxpM~N&u84FCKz`cE;+N`@pRutQ~AS2sCh8p0Img8 z;t?B(78@-~7QiW~F6Y*=gJ|B)cj3W6`6e62U2L|gLbwZoK`yQLfYAGNxw%kbPw@rt@xE|^){WgXE7fcxzo+P6>ls1o}Sh|^XAygJD};oCyL8%izfpICM4Ok;zGVOAG9huZ#cfsL02-fD zG3{9Ix*S}3lyW1r>H65)d7Zct5A}OXh{$uf{+cMN=4sv0I^;2#z*EO~ClZRGZf)IP z5A80zW=ft)6{D=pu360CN&dZ_@WrlK68Vl(u+z6{ZI7^Q?Zm(N{$h46E%-@JeX*20 zMhhTaGA>&(o~v#FKVy_g`pJy)=>E+G5jUfhN{@G+x0wNO<6#e|f<{sitS71iRV{eRqe-Q|s*uxOgd(E|#JQ6hEzkbhv ztJWJdu#k|D*6S~M%GLQ`hLiY_Xt;q4tEG;~Vo^&ROQG<$nYb2Ps`Yg#W_E;_;2=&_%$PVSxLZLnsCHg<;5@t^nAAb3wuWk_^v!hcj(^YaS|_WXVL3K}A~1Mk%| z0_Y7)>Hl{qR*n*_u2o(nLP2kQ-hT`1F0M+LxTr)N_xM^R{KB@cA@At{xy^koMd6qB z_kM`VRx58KOUsu_?1uIZ4sx?0A|1Dmz&O=mGZkq`O^txX>GE#q`@yG#9q|e;t9JrQ z#my{+S4yE%+TI2%PekL5AF?@7V4`-lN1JTQoCur)S|Q`oZb;2;{q5#Iy3Ym&4w0+m zE5HvMKMZ*3-vL#bAK74RH4-Ok380Thpx1Xf!>lh)_xPNX6MK7mn+u3Mc{}C(Ub%IgWN)}q9BrsN-skzdBW9| zPb_$%3^YC8>&dEKjnjLN{^DO6R|C@!4JqeJ1&c*0W25YRFQ~~CMR*Efvdf>o9Odh; zA)=Vn{(56J$g?b)zA|Y?-r$CFY31T=l&dm2x)lq5D=2tfW_nhe%PSzDqmT0JY1mJ9 zEn_T_2E6F@7N~mwbyggbnM`q&PgSs{q2U)iiiEI(yV2mZX;cgFzOpv!W1*aX6EnS~ z#8H+U&+%uQqi5YO2A5V9sbOu0EN+|q+<8UY&zflP*`u3MHB*oXLETavt}CQp@n{@| z>{JXW`VTKNaD>tz8lr4Gj^2QSWcha7qVna~t-PLvFMAN3B&j2>KGV}jQPSq?UJQW6 z|Hs2VJ8vb;?te%H2K@N=sd=2`%#m<}(D%HChG)Rg++1w0&A&D3ERheE3CnTYCd^$^ zIyHZ_dr~~a-@#764$`F)gl5|bGlnhE)LNq5?&;jv-fztyZp7u=%0c&Y&9ySziL%ul zdxz|C`=s>rm|rvG=AL#T69BKN(ryIfmv3is^h+SPc?W~pD&;SJX< z|DKYL_jpPpS+pvKZn?w>`g{KkmF3q5$Ddz_`0lx>_eRn`>+%CL zZ@$uWJwesWDbqeerWSZ)0k}AApP@RGi*O7J>g0SJnMupz@hGm3?gvKLb6tD+Ffo^vY%9On#9$dU^^>l*7x{ z5T3dzmfUA#q$yuC)~RwZS#MhaR`Lr=&-g(!F)R?4peZgtSMm zjoo`};+bGTy`S|0^|JTx?7)k?X{b~~0~ochQBqY68@KnIRg24n;K{Awya+rCmDjHc z#m(a4;-Ej#06Xq9=uSx!b>wpTp6cv*yWIW16LCRj#}KIZY`A(sFlY zQS&sfXtdt)$x|`XTZ76(b?iyW?^#-d&Y=VdO#_3cKwBF^80XouJINvx z6cl0qD;~gXyjW-M@UiioUKbWh4rwMwCLU&EG?Az0ypU({T54y6QElIi2_<`@yE2SN z-b5EQFR2Tuh29Q~YM1^LR&Oj}eES*;)q+}78&PiFd4)n2fkV}i0Nz(yCq zE~_P(+}S-I2le2~-*e=SLBES72pvQN_GW7OU9vRu6ktF+wFH~Aege|HH}b)QIw0*J zR^^>O3Ug&c;2~C}9d!W!1~%*n4`PTOt2ir&(M2Z2>~6{7E#iyXI(P#B!Ro53{pu`) zm+$=KBfFA9>i?5_OXagTR>Ua9iH$rm>h>$A9o&EKr<3By^A392$~~|pVqg>-yU^Zo zFB$JU<1+h>mW71+%H=Ska(6%y6Ru2kOQM#>1AANb47xV|WqCWm!D~Kdl_M(>c)-^C zVtiz@6(wt?{}KquF^AsPF^I6@v$Em5{1N`gB1j@$j=9yI$SK>oYh6$QrcMt(@#INttB0fGYt`LAi1F?-!&1(1~$FC#e?J zGJRLf=+H=&N@1wsS3|vMimDxoIIe-VYJOJ-DPU&)jxIKgo5ZIn3`ApKa>?Yvu+h<+ zvGG1$>2{uM@V`Dul=4PtBSK-y>qEBOsUN0@Q?TIsEPO-B>en7R?cW|{0XKx`X*p=V z&lavu!RXU#gHlN5PphV5ySiRp-F`Y3LIv>RP@(s9GQG%NLHredKC&No)$2_n>?nv= z@B#M)0n&=AG;ukI+J-#e9gP{uKswjs<%&?q51wD{+CCYLWB_vX)B!ZQr7`=vY;`^_ z6P^&^#xa^d(L}IB1a~ou^wdgsjPk-#yD$!|3&cf`Ed?jSwzq!<;fV=i%Isy3aGR=h z!0184CLdl_HntOC=33TpO_xlO{}#rGVG0G@FVz&mcy%YIAG24|6x@)GbBUK|?9JydgT zV?QxKzGgZQ_D5`ML~DtoY=r^j|2_@4U6goa9~VSJIs-au@JLIxXCl zu(C?@%5e(e{NiRokzf7lvs%d@Pt||~*g88aKqU@PmIO*UBW`#(M%E-`mtFZ4v5$;d zAWS@=asQPQBVWE6WZ>uF$;nc$LjyT~R zkFQDlq_wpH8rU0te|;NV9vzJVh|gUI^W2E|*IQ#=f@gCLp=H$hT7ZhC1_5#^SxZM! zhUpjSCh7V4!0c#7e;8umt$eO-OvYdSLTv$!qSZTZ44I5qVZK!;YH_F=c(REO6QxYR z(1=A(M_6~qX1%=*tFqdLTxD38hxKVW>qVYrmTyv*xsdPZ`SUO7ItB);Z81``$2uKB zvWgWKU_jh6+vZYsy|O3RS=ta%;d*i;d4D#VD3KJ@M%wnM!V(H;+WWAI*U!}uzHR#G zZvYi2l7N-eFu1U@vO)z+22kER{ax>c!<6TnxYJ~V9Q>$;41q&AriZRFE!ut zyJI1(UcEZbyV|Q#pLcea3&-jl%8`SHW`c(FXrV0seaQu%ZPha38$0YzH>Q(AJNj6yUCPNT%iWWO8bSh4U{a`n&?jVT=t!A%x+cC@U3 z3)XO~XW=D!4sMt8mu65o4D~)eD|i9%3S`8$dgT)U)`ik{elxp14LrsM8}#TZCm#97RO44%~-|oj2%FG@1P=bbqw2 zD8Uz={#)>XvkkbO-XE2Sw{^!RCeZQN z3JS3=Zi;L;v@3;vyRt8$bL;uKTNX_%xm}9tBS!f@D|O_;#g#ps&ef z$d~l=&Yi)H(CcI*GZX#t)(6q|XTyq({szh}zn6o23S?29dd)dIW@SuM;{rq5d~q01@Ub#~!HqJ^;`!-+?d}Y*o@7vARZlz>q5Bo?QcT#0n{K)3zV6q|8LJN~c{S*5v(e%r zW6)2fx^=|MBY7R&x8O>}A4RFp8Oy7 zh1eiFkitB@d>R(^(Q-#@R9OOlv%FW!8>W?#qDi^FuDApb6FA~7Z;YT?$1AT%7_A7} zQ@U`pdsbf4xcS@owkWHvhzgov$X5Vu44bx)*2_|{i7;7b4MauP2H2-}=<)AY)dn4v zWifyAV>c$Z*FPGGB6L37zT)4`@@=!#=gUYY42t%h&V|7dm{yQzR_m}(&O?u_S?C)p zeP|8A7XOAsWF?^qRJ`iv(3t=Xvt@$qJv4Zr1O63WCi+s}{*R|m?5&4rZGwN49X0Bk zK68KV3YkTY+9dN>g@nwWK=jov9H1Wl^kZ>bKzC-6XT$1lb zQZo4bcwueL?0oG$d27oNjTbYo?+1lJ^Us+s^b2Gzc&_gl7}~pxyngQayhV-s@mu6!4iC z8rgp5yjo$&Y4Qsk+rM;$*aN7(lv%i zW0#>ptbEJL$|@YNW2He|p#+yYcl=@8Kp?hhkaJ^Ag=mrP#V~>OJv=b2ogrZ2X2XwI z9JZQAGqp|>Cnv$|2GUFgq%4VUjaB!?x2lCb=H>Su`$FxpZPCW4VxIHj%#O!C?rEW>umNXl`T$H07BtmbCO9vN9@ZJnamR z9AxKv(=W1(nOWs6UN{SKkd?}^uK8|vMaA!)hgLvw)BFF@WVZYuFO|p4lqF&|Ez&^e zmwn>0^&g%5Emlotpll0V4s*!zZMCq@0*TKN(9BWHtE~7|Tif?UH>GG^_wK1fk{ltD z)lRd5%b!s=ZzQ#^w1|xC{MT%TPqj*D8F)$PaHfkVC!O6lPm8VD#*R{6rO{IhoI^9!2_%U+zEtHSb*yd2wW@MK*! z&BsrN_yiUALM&CI42~{u^y6yOV^9X8Gu;8x^?$dmaGvWZOXzq%xT8%f5e({cQuF#|2u3$XMn^nU)bhsiwg37{^ZMD z>Mph!%yh?MXPrP+{4efyIU zU72AWPp(dK5PCA?*gYI?K5rMddhjPr%*HXBmz!R#rKW47ejSjTs&U=8hYx}#x+J#a?!+7{btuC#a z0Z_)mA8@s-nB2?I5LHd|BrI2>Ga)DZ0bJuaBL6$ZK@^73T{gI+lh90MlJn}a7D57{ z+zt%%7C;J6*mWh6G*$9lzmPRorJHEl$W-~48RHNc!W;xm3gxoDdNTk2^W}-R>Ym=W z+EBpsUvk$GB$VaN%Y_(qK_`M*n26UN8GwESWumz}B`#)QWkm;XuT~T0XNHVXW+W;7 zlKLVr3PA5lbqO;FUt>^=?^^DRKn|}s-R z>9736NcN`u5|4}@Y0j5jAG*QV#gUm}uh-?!ZjFpcd}CuYV&cuu{`j`qp&Cr--y zXBvZ~KslZ6%*5njq`oQa?=mBF^y*{jllAiwD=yHpY?DGWyU4v&GM0D@+w60tS6`&~ ze+f@Y#Orm^VeTp#i1ae6)NlK`lo-arPvfZ2SPN2(kDIbNv0ntRiHT7FN04O9J3^mc z-Rzc!`I|QdfN`2c7ee%;mkp`TP69 zr$A_%@(ftn;u)MahoE6sCOxGW`qv>cUkZq^arJ3Eo?83= zA{T@JR0wB8ff7N9m0(76%L}jnrRqycm_bbC))mL-WPaz2mAuS`8SUu!#>}*X5$vr#gHLbMEFdf=fsW zgn$nei#FI~1$=7yFUHAFHC?gYI);=hk>Qb@gy7I3CEPSeyhzPg3MY!m1xa+~@TIV{TF6H6T*yB6OP3U;oCGxOIOy4|c9 z0Bvc*ArM%Y!5`?!ODC;riFrXIKI0ZhrcIgn^$QlU@R&dyt=f;CVZs8pj*KUa?iB|6 zLH^>=MDP2MJFJ4s|1rDqH4#O=97OJsBjKbWC|Uz+8I=PK$ul#>Qr8OdQJVauD_YT# z0YRueHvV3gJG9SaMSAFG5eH-N*!HX6BVYDX73FvyI%T zOS($En6h_PK`O=b=d{OfM^;WBl81>dSc{CId2s8kWna z%oL8gSbeX$m-{`1ANG~IME0Fah-dfI7<*4Oyvz^nx}tPJKEdg|z9HuJWyX5rKoVdH zfE7d|qaihZXu}ft$uAv(1ds0c2$*kCL&a3i>5K~^(#FeDBPX?%GT$z1tzu4{%Zrn( zt)COy@O_@c`I{+`K4i>ohwjo5+!IjU<2pha8i_e{8{fsrxX8J7HoDClXgSoQ}HE7f1YL zYTYt<@p4Frw~fe4+DpYX}>ZUXO=8iURf7 z8S!e~=c4Uh_{6dG+f$VqP^epQdvcsl8hZy*@~%64Z83#$ad*xvA{#hd+uCIox&3x$ zBS#ME&A|iId+mSWsO5WcJtYyw4d~a{LtXD5x#pQ-WTdo~UMJ-atvM~KG}M8j(J3Yk zYcMm2$XUss-2FZA!-&`V57EceRLsYA2YY+Q)+g>B9uhMZy}>$%|4(ag0Tf5qu8R&9 z+}&M*lMvk95-h=jOYq<>jSTKiAOQkIaF-y1TN2#eA;BF6J^E?6Zs!T&Lx=(Qt8+(%6PemZm^^GYLV` zua2Z)E?>FWQfk}a)S-%$7kZUhlk-Xj(_iUr-!n=y{b{-9qOwB4=sGTa%D~2j;?HD# zCliB<(NG`Ncdh$XvpnLky#mzJmbh)F+XEJqc1tb(g^cJ8Z4fItFgUn*<}3b`hi6;w zPu4T5Xv^HPw+$E-00=ThsREp`RRXxI%Kg_BWv!af<@F~h%9 zDN}W}+&B4P1HIW=+wMxA=NZ=g$*L@1{WKNN564|Vb^bLkyB zLh^Cf{9hNEUc@R%M``j^`dtS1yD9TIL_Crvut`t-hk8@4(Q_mS((mo9PH$1PUHMbn zw!Qbs{0;bx{j!t%?k$ISmrBY8D@0FMvvy2RZzTnp*9G|a z1`Ah<*cUG2m=so7j`oaS`q*6-X=b~e*GryTbC@`cy~<0qco^Ik;w_fo!VS`rcdhtnuP>V^LZ4H=l-o{|4SXfY!{;CMIi~)c z#2Ac)rpXB56#!ndh4b*akJc}B#w=ZruWRA;hGX;`F^6-{O}+IVeG7CnPYuxhru2^j zwfL6r-?vK+>+IjeoL(J(zjM2-_+^nfUF@4T%l6YD7tjFkq_&(Y)u&ns;bBMV>?Ax7 za-s6Vq~8#YvZjB{h9g-`_oOj`zF7UkA^_*v>lXqT=VGA#p`fXmq_LS6 z#&Zz>UMboR0w7;sks4iq+m|eW`x_f^e3SvM)s_yOYv8XLx2bUI-#(C6T(x^PL-31I2CZkKCB=1ZX*wV&&~#rz|S`uYpvx1HzDlT1ov z0?RN0DvVB_n9!GiiT-lO4`a~UWl3+;62Mu9CLR{%6crL2eqnm=bygPFpd`*=E@rB= zMCp4w%>!fGL&G_u)B2b8S6EmGS@E(@fU^G1?qeId%d~kraF>Z#ss}jmM%HKPp)7bU zb3*VuTdbwETizg`=v=tv2;??9)Eud9R}~R$t1hhOx)y zA4RYH6REfUv_UHwsJ9X~(=t_DRmD=)0!bY{wWTH3a_yq0oPG3Y&mc=K6f<=Y1vr>( z-%b&-pm-9&x)Yf;5iI86Z=Wj9SLakZ6P`XePaAD`k$z#ZNlAP=Fu0XJ}fx0FD&F{gWZq%2`@T0*Mh zHFuacRDO^HrPanI3!`bLb^w*jJp>bX!r!2BMnp`!n&WqX05SaG%50v)`}B&Pom~dp zt~17OHg%#NJ=mS0^;~RhE5T3O?=t=Eh=D;+5`tV&C`{;RYU2NC0rj6cr{zFS$P}%}V z0>8!8wEaUjJZ3v7D=RwV;T?f-g+5TjQrf07Emj-(G4Kk#dV5u|^S-3v>(_9NLsHB) zpwsi?YkhQf48zAOo~!)z5m%D4h193od7!A$*6@;f;-*Jt5)?r?mDAGl^4rh5<{O-0 zD>3o1zw}4k+}_pafhW4!TMdQpmoZ_*gNI~7Mb!kai5dmkELQwGNU0-$^qRcwtM1z+ zOM}@(sBfFz_c@2F*c5gSY58FLn$_n+r2eBWHo};`+@Rp{?pz?b+IAf6Jg`c`YNq7_ z*o@x)p1S?<`V_^)oyuS+Bq!TKpxI|pB-p=m+AaMZKLXO1m6&35vMXQnXXRG!%w3En zBy3-$IG{!mr`=Du0xl5{Bki{WtH$TeSE1KN3nhW1;4O;iM}{OdmT~0xbt&2A9H=}yP5>|OdmN|Tq5tZ-^m9)|CYJ8xJIi?(4ccz>wbHDd&&&bmp=LM zczm$`78;B5K^ExZhLEEiguqs~l}UoC@U0$$EXs=kS&SNn*>63%l$g{@d^rb5y< zGhG|k_&SWNvs>8oG1Tt=zB#5Er*l<>Eu~8l2EYfEXFzqB2nunII4ZHs+YwfMZV+_a z#%jjP3dF7FtPPfR7_(K)z6}KP4{*O|EEVd!;d{okjTx{{Lklnx@zBZI|PaE4A_7f zzezMAwkR(6dI_g1o|t$ITH6<19BR;&GVb*oZ$D1eaPHML0GhxcK_F(MF?eUKr>zt8 z+x$zA8V#e$UB_WUO2>_%Y*HK;Sfl=CMF3y zZMOuDjwG?vq9g$Pmx&a;!vyeM)5hLDwCChu{^sI}z1VHvI=Ou)tuUC5MI|zbETkPF z)wyu+D?6NDI6v|yK3az=C7Yrg?i=AZMb~u(97MRRy_7PI-m6*@a#)USduOKTL~O6e zq#*PoOiBz)8%^i~{=n}*YcS#@OT5Mjyd+W0$Ho6o|j`T?`w#9-cqK^)_5t(gO zAt&-ve1iIgK*w&>oK7K=!e^l!i40)9NAr@NnGfTaNhae>0SYEMdQ!lw*tu=1{fE_K z0+*jk-2N#tagt5I$#*NW*+rKjQM<{a;KlfY zkTXCUlfg~Uy19m*g96!fM< zAd{VKjoeL95n~ld2i5{w)x0kky&kWLgpJubbV?KF=jRu%>0g?v>U_B)Lg!)m0`{X^o z3u6VTDh%S%gptIhzQiMfE97CgvBCUs~7WW`y;k8;gaMP6G`dQs&|4CIsPWn!RI7!)Tg~@9bh;l!52L7t=hoE`&Kei zV}&f&M8dQjbi3mOfrN#HNt`n?n98->*R-PWL~sDZvNGJ}zS-i!7~j(&d(k)@4U3;4 zLD{lJQb4|YdUEm;69Z$+2k{BSy(KSCidpASOr+~& z?L*3?pkG>k2%{v!MAXGEuOT~LyRMWcoO%}nUv~hJyj1j{HEfQu;?72whY(@6EpH}q z&VEABvLP@@n4XhU?%Nrg%$u|wqm=i}C6P6jSp{TIhU9Tl(a97=R6onEH4l4U=(F01 zVsye>4MrTgp3{)<1Y+z?*;eEu2VqkRp!L8fCt2~SsYAKm)+>Qfo^-`~C4D^SwTfJe zJK*}fQ#gR0(a_h{K1|HXm%@0?fS!`xOkaQ2do_%7*|g<;;{2NQB@6Vhjn_iSV9QR)bXh!9izG zQWsvv$H+b)J*FNZO2(2X#I8O*YaG!5T;Afq`4^Zj-t=()x=d94u1Z1UchyM3Q3 zsnXP{i&oT=^8}Zw9W)iXfb_3Y9=kFygWwG`UR;ZA;z#u63yT)0B8!@wLCmGpPu=x3yNR$#;5;sJNHY3()n4gZB?`K#loU!-t zas{)|C4W+5zIaiRhYq~=Y^Du?9)=Dul)*2dU<eO1TM^uY9c9>jsb|{HmqO!{qR_ z^)>UTvo`}(Ro}sd(&Vv=mBb^H*O{cymCJA=7ZT||`cs~9iHGEI(?7yyu|z4VhT|8t zF)-Dy_MHHZ^Zni1ia!q448=Sj70<&?h35a>``yYYGy-QGQy3YC3Ld80!?}Iff(t=g zTO_|f3Tul8-t0G6ynlsLTp}*{{F{0%ca`yvMe0yZj~$}oSD!i$;yY-{C;Dt5)6no$ zjZMwH+iI)_zI{GUe`f^GK>cvpG)0$}He_FkHc&TE6gz!$BCEQiBh&wo`Ngq1Ws)fA z4HNRE>)`{V1k@H4#~avSLi$}FhF$^=27`Qyy%#wxW?2{1|J!c=?sbX+o(L!44CC)A zkrGi-#yq-5WRnasmzR>M=m#1(eh~6_@|X0f^2kevLu+-=N$JcQsDi~8@xQ-(at{XU z0jP$`^LKnN2Pm?56EcN&`Fw_5Fzfv%3X^$goi=pAEsziB#DluoM=(leOcx^SJKKsa)< z{Zux{*E>>j5wcm$+P9R+Dmjf8Hyi-btaS|48EiH0N^s&OxJ1XlEr;b)({|FXoa#*K zydh_yg-RvzGH@;>@=V=>tcX$@1JkKwdv=OWhq+2K;7XXNrB*o1WmP5RnKK$oqIM$BC)API0Q66b86yjm=ta%ii1wBF!WpB(eJdrM`JWC-P6McPLtCGRb*qNso9i457*En`K0y)Zk_FiLMrt_+n zsI)(abRou01~D2Cj3r$^eH=4)V#ZL3EH^!bc=j~JPxGac)N%N+xxWOHQenx|JMiOL zjAQ;wRg{k0bqMI@)7$e*O-qB%h2fpfzfFF6b~W9fxRcxuoAe5=rTbh>`Ido;3_std ztvpGj>S;AkATfTNo_iPKil{JAeGSPi(9%lY#oV0L;-T-YrYE@~G_X};`nR;~z=^=DcaxlUyC%J1;_TBHX8qD_)l|#0?i+&_Og@!a+*58nTes%Q zB)f0|W_{*km=3lwP3hN|bHgg(HofE?UznV-j&e)I8`)&klE3ESfUd(3Pr7AQ4v%K? z8-hdo$;6G0|28&LDeEz;4PDR8)pY|3MegqH?KE#-yAeAqwdCD{PA~U$@Uu-bM4+Ln=ItFv9MrJg*q`2c>;yU!yX|V><&XRt!l*f^Z z`3p2rSslLW>toFYWy7Vh(uW$l6OYlQ`1&c9i5FB|1J9odfs_3>@jiM~KQDFHvQ`fHZeX9Vdh=(HNRaa}Bu1Z`01A?q4*~V>I8>kTW?6kwPzjV@j>7InnHkoT5 zC_H|LDErZRq2mYM{lZ=!uYL}gXudvCaGFcl+e6HgZijrs`9*rt5z;-QAhi+GPl2By zm6*2#*^PRRs3Uc#T;s7dA}Hkchq9vA915N-92^{!AX+sEL7rCQwP7p*I(j&uL>6NN z+!Hk4-+s}xIEOw(fseU?p8NAU6B$WJ7gFI3L*){urapslWQ9lUFp7e3*V$gp|4$|M z!TrD+FxTu)uRSTf*F@$w=d$2`k9RIERjQ&qpM4AK`TKPGazsg4JO-{_Vf6eRkx=^n zq!;SBlCHB7KgCUzc9W-?e&nzCJl&Ijol+R<4mHBm#zQc0VJhtBd(1t0g8bke=g0^* zKrQ7+C?QJnV=y?g{?V5+lS?)rDAEhxoz1O z^7}Zq2T_Z+U;U6MDp|1+wJavoAwRc~2tQH=L8tGrr)HzAqa!ucEMC34-oOR~k)#Yf z-}%UE4g_R{`_8})cP~ApI1r=c;D}DOx*ZVPm0N10GORP?f(`q=zP97P^zREF78VQ} z)+q-KiJf5)ta0xXPV?^n2u;bD`F?gFK;lZ9?P%vrVqED`D)^W3* zv;e(Y9}Q^gg6(7VoDOp7QIg017^K#tCJ**;+$W((LZaMzy3eHt`~*Vg z>C8;{c^jJvYYg_ixfm!?^7kuWL@-VyC3n6}^>0$SgW2vXC@Vi-y}yyL96@h^4=E_S z8_`u>Pk!;9>LHTty?%OB=%Rfs^m05_d!SgKPqcCI9v z;#2X(t$vA|D1K;*l_O>fTFOXv+JQ%eo~OfT#Wc=VooP&9t7l~c2mQWssA-XKL10tf z*y;-Xvszo8qju!irC=!CS{%hD-pIGlc*OF|#=`-;`}QE6g1nbJytV})i3d`A$to_s zxa&@&5E+x?GNJRvCxDAto!YEny>2`A(uanP3w4FlfIFli#K*}rb-~sQ0Kq?FAV4z$ zn3_OS)}!mQL&n6AOvEFI){#5`{svc|{#8Ehphnx`XPqaeW0;-dO96fTo$vh`o8nods-A@hL zcqMJT93wf6Z@$i48tCy9vQn>{a@1ebh6s6iB5N9jeTc9=jM^2bLr}S5`V``YI};N6 zrC)`>1hD3}024JxU++woNN1x-`T%YW_+|2K#-d~zkr{o#evl-ZU$oRoObp^_gYBOg zf7aXbRNC_FTuyZe?7PK^yh8|s;9_gLyTcMIOy{SWOyyErn9UrxIoVeN&i-gt^pmQ- z234u8=Ww5W_%>hX`)RI_!O${AW#Li(52#LVK)!7fFMv*dzKaQG0FArK!1Z`8Hzq-P z?sIh*9g^S~`n1y?^H7dBM@^?cS8!{jvn~3$va=I3@(zxx&;37@SxFjfG5nq;n2ABl zNY^kSUZA8ipS2n{gu)FF{qR@E2zF9dmeBAyehqozZ`q^o$wL8E)$i&dekPH6W@ew= zK~@(27cZn!y%OX>pDBnI(J(aJb2H|Z$)-X?mr7eewch02+l!W4l`I&U6hsF8M!%lF zYiUJ!ffmNBrVuwlN)O>obcu6E&wxOcL>@LNrM7Cr{*h|y&zCn-thF?nfIL;cgRwg# zmlHLNcW)m6qa0A^6?U7Gk>p~Rvp#kTjGL_B?%C1JFyEbPsPfpKkBrN}vaeLSJ%~YD zBE6~K|5XU8!mkMwEMpc)H<_MiRpksGgCK;&SC+Bj3d;k(dXjk=oeLemBWaM1XQs^Z zT4a=DL`|Aei-cUadT_t(F*BXu!!)OGduBo5rf>*k9lam;Zb8zuQSxoy{@zgorxb+z zP_ob(L@C8>EgMvshsovCoSnI2Q54>iu5+OmxJ241?ii_}+afd)P34IBRO_Cu*vlB; zqpzdSc7&o@&HeoObHZ_Vsx0er8yC)Ch{MDwX`MqwLmU@Kz(2vfBwg}~F?Tu!CEGLP zZb$|w!3~`JqVq{XqJk7tU?2JBQx<)%}a>qZj!0FJHzrtyTT)M5$fyW;}?Em6I$X zuB-c590;iRS6w;E@t<(lG7w4C=6Cf~*u4T)3%poXoaH2ya1y3YsR!-yr!36yuQu-9 z;$f4k*EZzOCW&%NY!Ku)ItA0=X3{emK9|F0EpG^5i=!!u{H}6|>kg+9uYR)YNUIV= z5UAGpE|OZ%Rbv!F91jDKxqhbKjIa?cmGCRmHOx=kW{PYJY6X*u^lFAQiP zi)X_W%UyVl+{$^>E+Q-V$aNIeeFcWKv+?lsJ;Dq@1I7Xf0&Ftir04^w?ILiYsIbU95<~XeQwR%FBh4>zV&G>7v^5u^135a^2~C2DN>9RZAFjlKeZ6 zsG3Cj6glU0QBx%r+PKz{Ei2VlQk?C7lqPX=BH{fr^mpa>>Kbt9cSN~dhD_TyYTa2i zDiuY9tog2&@A(lb7hEwxl7V9*BkF@p32Km|P{?@&;)=?$RudMp;ipq}w&QeM776^> z>Cj@e?7I;sSZvfe=sf@Y>B?&C+~#8gs^7g3ikEmJ;qs^5ZVvp>L^?(W2BP}mXGidj z;h;!1&KkMZ2rbd9O^uI-SYgO{LStG1DhHwPeXeks1n9MsIs>?=!2=ZI@a{kpe%~Ac z5sGSiU_`%(SA#fH6(~-vfMqK{>#{gI62Y@?T-^r`i+ge8#Hl8`B}UC+^#%S$IV&-! zoOlVR@Qm|l~+|`#q1fr z8Di*!Vbp1X_g^pSKqJ8#l4T%^egBYbwo}F5LsZeJ8$@7IU}IRavYvP9sr(d+m&Nih$-w$U zUo&YO$=Oe|<9+WqGW86bNkm29S*Z^ERiEU`wyQNvbVwkUe4+^$I(Js2tqHS0Z8CWK zIE!Q7UdiibRF{6j7KgcBE+J`2LIYOyUXGY-Xu4{1q> zJLEE(DfDN&X;OHup8E2BD$I0$wx*9OX$OR>?8ubo_$V1J{c#XI>agyOq*f2%&w?98 ze;3>@siQ+DC)XjDL;;Qj45L-F^=SjG7;MXGf1-lW92~~IXtY6XK0EwKD1wGE8H67F zxmH9~eKAI9L<}`%7;B1!#c_7rPdf^y=w#Gn|0J6n6x+skLm!_$MobJs%fhyFnBP+q z60e`M78NP$DfE-#p*M3sMMoka7|}3EI8#pH1@8TkW1y{9z?J$2no{E+L6mBB>>}y> z@m{mjjYEtIvh8H3<#5cH7M|QR!U0pP`nB)Xir5Q;lJ7K3X?W(U=v9aTA%8^LKS7U` zO@PzU;YsAueBZ>^GLc-&-56)+`MVG=g01wk7uG+rg5JEwO;$mx`U2GpmXLO*UU}7d zRal{Fe5gfO2}H|;{=3s8oYWAtF@;y+Z^Flb_~IAqfTe{74^kY@BCJP7?h|w4)QQsE`Ql@DM7psy%K)PwU?{M zcBbf_>16hr@LesM0DievT(U@ML~PwK zfo8pvCk>)J3{*m67nQnR_@3F+HZ&9z6m+dmvDV^VLoZxzXq3*vS@tOOWo(qt0vqkZ z&OR-Kjo<;yu%Ye}u}I#i?o$JLr3*krJs^Qr(%4ZpO4kR^j38>eP9|~BBj@^6bWO1% z+c7&XgBrteiw;_H>yY;HlxWI?K&toTAT0FX1AzS{GcDiDYplJYk;{}@^C`n)^854+ zMp&jJNYKaFWtV31dDFVz_QCygQue} z$SLae&p5c!sGhPFBhYcwo|ly(?Ds1*MhZY>p74IfzsjZxW)VgfewfEST$m5{$z~kA zSchGmVVgeAZ4PZ%;Rv_CHF}TPYzXUI+HzSl!CcadJZk;VWlmL|t@I|4qnVULRX?1G z_3Li7G>2CB5THr``B?7Qa~`D`n8YJR{|x3}a5r1elVY=reZ&96X^W1(&4t17RyfDM z^?Ijd$929)``f{`xJA|7O`{`H#i@i7W68i;!^x)_ikZRPA-`GJc0)!e^!Noa!gul= zkal)5o=Wh*1X|dq`zMK4U=t~&tqr*Gocv!@17LlzZLKox`)Dok z*9?3TE1b&6jmb~TY6< z9K7ddj`~AUV5W$gyc``_Egxdbcq=-@2y@NTi!1U}*vzi7o$!+>L3vJX1$Bt!u>e)K ziW-}eB#P9edR3t!$KEz}ZD-Qp;NW9`J813Ssh&%&wYE%{^nN4w!ZtqC1O=T9T3Xvg z0a^&3J^F(77*I%p8BAcNpa^vW`X=#6Nh9E=+p1vHajH|+F$MrxIodKY9nF`QrpBd= z7xTF0&k4M?{TnB^l&GqzibNCd&w6Nm5?KlB*Q=B9eY{r3xMwxJvkzkcLv?v#l4}X% z%v8%HY;*S$@`$6=qHBKUGnFB0&S;gW&spCv+JrHbd9e)q*D~#SJ17G!=mG`{f#Lw^ z|I!rPwfd=rX>=HG?aq~N>Xz`CAkjFna&XLKC#k@5!Mp$yZFR%UXY$5bg_amsE{3Qu zyVuXkAEb6VeT0eb3c2NamAqHxJ(VC!vCij>o>DTbL0|T{5+M$;wRDDv23F|Xn;Hva zhYWW6pRan$mEyO7hK7}Ex9ycUR4j<`T}7R%W2=_diQ%MXDJW+T*55Z%0R<{25!C(@F}8caoj59@iK+c9cJ=5ubHS0AHuAD;!X_j6qGgV`oG?N zgZ6A@1XKFS_}3Yv3xS3XH+J+B8qFruljvhGvy@Y2KcN6%GeVb!rn#^5W#9D$|Fwor zx@nh^PJ-1zYhuoJqB zoj`xg4qr`_wItHO^G6t$P4XxIReXH$JUV*eKZd!MfkEUgm&Zoq!T7zRvequE<&1j> zGZwrgOFNUyQBm%D>@E{?-xN4w3AI22OYY7=XxB?KJsSMD+eoEH|2^y6+hg-V+ZH`H z3e~x{m9?!X57hWk8J!l+rOiBF>*rF2MU(65jgYkpMEUp(MiFnoPh1(%jh^D->v&Os zvOn%ac;6LC8jCF*eKb9G+AN>T^3mDP5A+pWm|itD>Y0b_Ndi}9!omVm0N!6djL{t> z8DC$K$Nfa7q+;VP=UR;!{7eMr!nn5FLfjR)#9#uAkH@KG+UxDWI6i5~6L!vyn?Xom+okteV#Sb8xldjWM*~ggq9Bo2T{k@S?vFym zy?p_g`;2ZZyhQ^B9P^a1aF;R)K7vmgZJ6c(U zo53|G)YQuQSCmf4N3$AbS^}37jaN#A*cM^eL2f-v)R$@A_{IQuIDU{x=Au?H*8z=u zpH)nF%VC5)NhDaVc$Gztq$vn1Me$o3o2z`2Wz|p}=-QVfGOT3o&y0UXTJ%oU{mE=Q zst#Z~Dt+HXvcR@U7gHP5NdYBY+@7oUezZ(V8N6*q0P%O4e$20RPMwl}k}5!UhS+Qo zkDYrkuA@E^5brIAp1nErsH4xTGmLE1=#Q5`l7^v)p)*GIC(uNlAh*`@#fs;=MWzMCMl6a-)O*XJGnXZ>6;zk9Z0t*GF>8Pc^i5g!HZ#`Agbq&ifY1>#5 zv!z2c#)<#2*-M&@53atQGp=&wJ#|l0m2QGK=q!>MkY>k6|Uq&y1d z1btvvY4Mz3^?%kjowyWetEtOjIs5*e&M_Pmtnzvzveeee6MZ<6?x?*_7K)=J(g0 zc780^r{5sZ^V{i+#~o4e@i1lvcgc~3Q`bw-r&HO@nz#|uv#AisEhu(7cL*45vFe3Y zwI!GiB(njeCh74Al1IRRjHgcGmh%}BY;s2P9r3EKVLS?mAr&D2fL*-NK6 zG(^%dwNqt=zOAoUEhGV(IZDK;?SF)*-)fe8%ugk8zb%S?$BCPuIeeo6OK;;oUu@hESoK+-27O@S|2h0cfWORp}=0H!z(E@^iwK+to5h5O|8eS>)IIM(G9ouP>{Iqjvsgj=)|q=$O!{ zq!+(={gwxRcM~h!f06Hu07B=a|C!%ni1C?fZ;N!>7)b7|9}i{&7CU&|>@C~*_)KBz zeah^An>-v4fk#aPb+_bbLUp%rljnER_8<)ZoBi9WZK>9*)boUgie4r&7H+>xG0vgZyNT`D2>lFG&DwJ-Z}v@!*Rd3zLg2?0Va4OVx}x=hFoC8Oj-=7%W7ws zxQgA&o38=m_mj45AS1>m2t>kJVkgB#Qu_oM9FC&75W( z>fz#62?2kWJm02o{V)}emA~NN@S=a=p_MS70J31(?J%wW$Z2_4s&^U!fWx`AtSwq+ zRuhQx?bWet2a_2&`P51EGv)wj*ZP}G%8ce9TP>Sp-epq)UP2akDO}x)&%>bsblNvk z;*mv?_n(JD0_dNB1b(5pq4V#5x%!bm`2`bx*t$Kvk{FhhmV=>*OLuDF-~^*4r#U6_ z9@2C7mIa>;P(B$UDMc_k04z-RFSo=pA-zZs6b_UnI%UaD&0N3sCGX{9w(N{$_u;(q z>a*b2#{C|!lOQiG9lZ6THQ=Guarq7Jmk+ zVo{UN-@DX?m$J)7@omC|Q=rQftOEF9*3xjH z{}#vZgShk)lPlhZ#vrKAoefp2vD?pl_=fb+Q@+W$H0 zk$_;$h$*)|gg15);9Bz1$#HUtYQGQX__2YW@zGJS6FEF3j^cAXPbL%RoLw5wha`n- zd49RQN~v_iFf6Mc)XDvy>)Q_rlvw5SbY!b@N@B6>e-u#p;n1<@l>RZct}8@;B7?}n zBw554U&HvC;E51ATHbz=2)`OVMgbY(#1!jmH;t?dj_hDm7Ped*CdhlsL{>T~bdCx( z_T#HxpOx>Cm7M*jfUZwyB1*G1o>-t)@2~CbhqlXsKszi**b0`OXZL0n=(s5MDxZ}O z^nB^vUbXOo;`#tDJ!h zB)K4*A1M$>Vl*ejFjB(^KBR9_13Db>o9J(D^{CcOL86Wh^v*{Rfn;7!pp(>I&E>=I z?e`a6F9GmZjV<*l)>s_PO2|6b20np?TWv#xWYchX(nX#aLvzzV!Ed7TlW#HuK481i zP`p!|d+B`ciEywHLut_!Ys63bUJ})*GD*zXnSlF(CZBqvq(^yF48ZMVkRh zM-<8F%_q3=I{gJMGc;x7_hah?<*!64m-(pDvz~*_^^h-Hv95{d;iLCoTa~=`mxEsV znTZ-k)MgW%tRA&n{!}-3pc%jN?i_5OoR<0#+hw+FMP(`a<~W*Jj28i7DtardAS@=3 z0$fNOtOfso_vqg=1#2Tz4TdxW)sj1zD5kY$gDzq6raJMy7RzC1)sjdTS6^EpK?uLr zMl1KID4(5uS1(~>|B=uV`Zq;z0Sgt*ux9nixoj<9p;i~Zkwj4tn?mgbIp$TZE!Fwa z^DadX5tA*af>EcW1=l8j_X1%uez*-11dRTM>-x=fVTl@%pSIbIF670IX2W&ohCF@@ zE%O;YJ*8EP)DiV%Fms5GmVz>9g9l0ec6Ivt3f}0BBJtyLP!<+K4w7Yj_pVP6*$APaHeLb^8=lz!RKU#gZo+rTvga?Szjnah@?-K^eYG@ zg>J^dOpCO zvdiJwQjI$nh>yTgGYjUH0OBfV3-Q$eTt9I{lvel(if@89p6|`Q-~4?V?}Hpch;(Pm zU#HEVbuze_l1Kax9Som1eQz!kP<(1)iI%>4E`@W|Y3RID9qz9zHZCKyc-8c`UFpFC zJPT9PX2-~R^l;`gelUztUw?^Y&z9!z)pF|<$Lfus&vgM${2lgaK!pjeTq5>!)#^AM zQkA8Rj{+1DOE4ERzM@m&si)6&TfbaN376ZoGatRjXgB z1MhKg$&%Wm&DMVOw>QhY#R=g|xl9zZskhDLpjX=4EO*A1Hn{hG4L=)2`nvmBOU%&j zds1g2mq50A_bN4j34QV#8ug1BG|24ZKXd)DYS+BH1hwd4oD#awR@&Vh3C5>)qZ-!l zGVbeOGC9CwF+XPuv5r){qsaD)D8J@8595)vO;e<FQpR6w`&ud{dNkz z%{C!BwfuTn7y3uWtU~A3a`$Nb@t~;?_O3Ut2w}VxKmg$8hb9&@?ZaWl3_9V^xF;N) zZ3A_m($ORnuX&_O5n|p!ukP*I^lX^T&QO<_Eco}cFJ6M2Ujc}_1Nle!NuaScPLf_p z0NTF|AF~^-=OYN=e_@I!^sE#~!*~T-4iSf1Q=IGEZ+9X?46}?Bb|#wr+RPbzG3)bg zgi=Sa0>|Qc&{@bZy;4$u)aaY1^`8SzFmV++9EokHg$6TnP=BxAxk(}+KGdviAsi(` z-hhkv=eP_APXj&7!srLKY&)9YN|E2tV#f0mAuyQ))hpWPN`CSU5{#mWqdH|Kx1`%6 zXsH`E9%fxHOw{I0amhO6$pK6fK7i?g1|@L;f~lH5W8m)G9imrlsVqD{#3M`P`YDII zkWGa5k~p!Pji`>VE5Y0*oUTp@O**89YY~bh(R$QcHyj^2hdeHkw^9GhG?zMbc%9ev zfdJZ_LMuyszP(R&u*Y_T0KZPxK4%tp^nbmtDC`t(pb<|Fx&G^cA zjx>&$?E*XY^Q$xQ5vGy601rvB)Ar7;#t;P<8Y5K`&o$QTHcV3P)LM+=Yec7v+?2Z@ zvdb@ z?YTA#oe#?3kDr+p#D443;Y+YeS$8M6^F#gcEU8a_<=Yy$J#wQhOdqLB(TtS`|_OXST>8=CkY2@m6vv@U&oSV`nTq-R}Jk@BRGl zZLyXk;M-M}1IZ`Ms_CiPnMvn?D3svgAot$z0CAMPFEvya13Wr3qjVL*>pl|iWaD*J zqCUQM@PXInY?*neMXXMcn?#(m(2P2D0q+XPO$gf80Fholl>R{8Eh+o^S-HZk+soVA z8s2S5@6%zKjlUT6moZvOLMnutLe+~U#ue4i-d2X;W||ZqV$y`m$l6l(>1TRSz= zwbR{?oj%XmtrO(h1LP{Wzd+){8z6WvN*NznWu(7>t_8xvu9wLbg0+tp-)q=Z(-c2d zw7$5ruoc(T^wc~lPnchBnbM*Cx%xE>H(9J43JK{aCAq&JT1_l}>fWfk50K$bO%u;H zB=_x?75G;CfMLSHB!e5AG4b&1)qz3~(>>s+iH%B2CDO&!OL?k32%M67tvnIS;CpCJ zZ*B_99=7g3kqpfTcalm=`@;hrS;53jL6%9YwC^=f>QI}*;tR6A2Mhez4=TAAG2$K6 z@;r$x%MJgkY2+Hzh<((wz6hwPYxd_$7u7^njyX8=N8@tbjp>uCo|hWC8FJ$PF57XL z<@BI^_;o@b#qqeD30xq>#lvl0flycP1D@d&jl-$=Dhjda4@zn4hb99C=3=y#FjC(O z{#}7jRw7A4-^zUb#BGRCfAM2&%r#)e6k*Jh@JV$qR)41&dS@FYVJ zek9>)TvDV2ABRZMuJSdWF;~?J7zcJPak9V9>qZSCj8FYO7Zz?z<#1ZEmehs>v|9!Y z&%JMz-2W9(Iq=d@qjJ-+S$scqjwQOBX5R>8^%Q%v?#Fs-U_VM)dE4mN`WgKcSK7f zf}Qc3`(EzJUNqpuT_ne!*zTzl7q8e>Cae6~;Y||QsEW}s44uyJ>GB=%eX~1?eD`EF9POnTE8teKr!AEhS2~=sP zKVNiaqXM>Tp6$$(^SHUp`;{dnxz*L^+Kmf502wxX|By??CksnMI_VYWg9|$U`U_cC z2fDX}qs(w#2t&6#DlQ@Q>E0fA)Pd6oB_!y=2GpzqGCBOyDf`qVQO`k|LqiXXa(7mpY4u+l0_R zeg8S=)n0|ww^)|n?qi5a&_8*=V;6WI&FZ~&xrr7y(b{nZKs&^qHXV&+Eq)ieSBHB- zb1J-Vb&b0h%#357W0{Ghl^3`L2)EkaD!FuEOFWJ9B|KxsATku$$oqq@F!#{aFX)CanJg@t@C zHadKD`D*-3vtATC9xgqy+@AzGyl+&j+^+QfgQ8Idy>#C8fcNlSO57#xUTKAS@NN7j zht+^bHTc4!R#2T8`WPeQi*+v?4xnY1I8_ z+%e;K8kJygZ5WG<9oAmSbPfoC`$c8T644e{&JtCg9y_%ec+eM*V1KVC+3Ax z`kR4tv5na4xkT_zea@j2*da}2^pU~rWv9=COIi?iY}I&#vo%=$aVe*U z$CmEAkOGFQaC6vc%U)f{bAhD>{?u6GX-YMk6Q#)*Oci;w-?U5Fn|{0i73}s2b;O`$ z-6!9dn`#Z-*CF@74@k|qajC(#ycX!{;OHeu$3zkzhl{J^zg`5I8d?rd#%g3RH*yOez~hfCq~hWm8q z6IZMCg^5;wJ0B5ZSJ$q1^>%o~KDKH<38#dvwCOQUHaD&`oVhumWSFj|rZsVY0ZzDA z$hG-vWr_YKfENDP*1A$6d^4Z5w!6C<@Bm3?c|0^m5HPRC5ke^QT2jo9f<~>J8CxP% zFITVoUna^d*7Gj+J@fi&4YGY&E0;c zxu41c-kNv0(oxr)APEg;?r@uZx;sI|#=?S#NlODtdVIrP7H!40&W?{QqKNs23+2-v zAAt7Mb#SXj*w^K1vm5#l?7$lPtGH`QV0qt{OhNi8L>e-CR6(Jz z3lCWRzSCdRz5(j{dma13JdRcEcOfmzZbgq|4>3ZANnZc0T|T#V%i2KOo5%6q%Zry1 zo+w@o$yYsQgFSP8)SuHyR`_-5jpXRGyeXi71Mp-Mv&0GBH>p>MQC3ILc%#iPZo9F| zfqktd78gx*YlL|ez>3qZ>-x3kpR-8N03$Hm__p@iwZ?UsE+|mM=9CMWl&yX=FE3lG zLWp)Kl`6tw7QjFi5tH67p0K=b3`2l{m``>oOVZ&R?GZ$t-^ZfSb<$6y0ex$_axBR^ zD>Hba`^J;v^R{7)tD>vhTj^s@n0>lDJTzlszv&q6Ri=G|3BlR%^0gp1%>8NT9R-MX z)O%Mb%y3GZ!LrXQnI48#p-WkVm&=sJI&U`(b-OGorRvHLC3bLd`1`kNaNqqPbAb1v zZN{XtsR{3|-o^pP*4tX@1~HG;f1Uv`QT8_X%VGsFmTY8vd1WdYDTQ1xtm)M2tL}LO z>9?7ShG7WCRNFup^-7R_d(cZ`8{p)9r~ly?pU^4I#4IcVot^JO#Nx6$ zvIKQdQk$d_P9Mt|9x@>^ATndBm}s^h3KwueyOt+3mY&Yz70VKobO)uS1tA7QnBhVB zrs~iCd~A0f_HWGn-p;Nba8KRTbQw{Vz|`5^Wk2@#@Augl-SJx_xe)UK6UZ*^~=?C>jtYx zE`)erb_*l zM_YasdpaH@#Hd3`)ZMJA=|(f+@P)Pdmh&?VP&O06u z=U>1A5Xv)fGmE>%mz!E}pTG1}WRkF1KcPTKL=nr2_v;J18o?9lXpnFTE8$>{$w!{9 zJfNSF!e}03 zbC|JNc(+1bte(~a{pG=HZ_sNb2Nx)~x?WdbeG}=`iA#!$?X56N1{NtwRBXp=Y4o*O z4PQ537mS6wxey+`Bk&xdJY8Oi?5K4o!~2_5lxL*nM-VWp+`{Z>!n_Jh^MepUB_X!`I8C0#_%c%Xn{0Vde za?h6!n23dgGrW4?B`N6IDRuR&e;}+HF3|d!Xhhd#eX~b33dng<`V8U~Dcm${if*7w zQSS8O%vFu6vOE(fgwiFI`Vq$Y{;CoHa|Gm-7?D83n?iUciOe+D^!RNwbXmXISnZ0JM7w zkgu!8*y^M-?)Araa3cR{E{+xIntnW`Co!GK8l$gllP29PsF>%;mJ*$pYP*TLyD9$r zmz0Jkc!-SL3{~l#Y8#Pvd1?VEMP)tVb#XlSxrM8t|hK@*NW2}Wr6EGRGi)OLIvDq0z$>Agv|B#@G} z`+-b5bQh9fbX$mV*4FaQxp4(u^YYM%8l};2nsYr|7{7j14h$xC?w?gE0jJOi#YPWM zQ3mdUgOK5{s&%T}8MBoEf4Hm=l)nXql(=$Ip$d3&3e!HmTq;Gs&uFh+b@l$+xUkib zDS_00%b!XEW%GpW?h~w!^5CDp1z7)@w=hGc?k>b}Kv1U1`GsOq2$1mZ7C*+pLoqf< z<&CS4TqgXSERSZPqKdR$0Z_>U`0cgG$L3GCEH~viK((~+#O;A7Bmq5GusD<7#<$}%ES~EY9$UtO=*U3oSF@&n_yF( zVeWR53%sA+yqEr=r#$`rpqm_y%N%N%MNFd?=GD9=&Cj1mfd!V4IVOZE98}juXA$pM zl^)N2-|aCqzJqNX7S(wLXXNBc%xI3w$xl3b>geZme(gL%T@I9mxdhC*qSNe*kIkrT z_;kIFD+nF;2HgR8_yb)mJh9r<-l36Ng`@>p{5F|gYV#Gs;7-IV6XkmWkMbn#hT$ERjp0YS&HL zB0}49ZUdCzp13AyUNX+Zq3Gh@-Z6j&ML?8h`IfX$gwl*f$aFP$9P? zC$5`DxZQ#3Mug(y2+bFh;D@#q!5UDdru=4`5a1Q)>GRU`h2P@)MO!EHs>_u;s!YD$ z#L3S3``14;ErFeH;Ds&w7K5&*@qTyBhOuS~9C*#d%4$Q!-OX;r;=d*N#m%X!w3q!W zYTkokbRz(&_30ueB1{{5@C!-f$MB@*?SmGhL7vC_`7`lwoc_8P-AFah_|Q? zwJsh}(-LLHVuiI#L1sZ+oF$B#8l>T5I)>iwVNTwi`wsYwTnuq3U@t~D zO@gJz;Zj!ZY(|(=w+jqxm!E$ttQb{Ivulg?)d79Uz&zu*cAicoUOF$Z@kvkMdWvo! z5q1eG5AfDf4DZzF9$hKTBrAilz)mP}996W??(@X#V}IHkN!SZk5Z0I$wylul%caP6 zB@?vGZ|OE|IY{6jP9+{CxWC>kdF>D>o!^P?_Dn9v|9OEy!B_a})+%Rouv4BS5s>s? z1v*Cc!6VQZ05+yZqOZbLE z%%(wx?%V_D`0@79Zm;ZqMOxDsJa>?Vcs& zTi)05vG@gtdKs z$l3HL>9t3w6&A(tv)Mr?yJCWG$*&=W9=lxrft{#!J6tPTvWlg8p``9)*m4Cd`1}Pv zcS)c8bV=juDdA9wNsm9DDx|+J-)2V;#KqS6gdS`tf`gQ9iv(YoZ2tg|O{Aj4|HR=U zA*+$bDzbSM(B7j~|=MytTNY~`oVjVhM?o&^ftD)OI{Z+1ezk3D3 zk9bs+r+WgMyakwBU4fxbzBVA<=!tb0u{==tyN0BGet=#yWe`Ol74;SBdVgI~=@ z*u=|^)#pe6`$AUD!MC^A?5C%$nSHROt5rraV<}!N!RAex18L%D_mQt3Sx)FrQdnGh zqZt(TIJhq>&|@B$`6#;qR*~hr0!A`$Fue4Z=f3YxZ=Ine@7F+qk|F<3xl9Xuks^1! zDdQW@-NKfKnRctCYk}l5+T|w<_ga^W^|QruTS87Cpiy<@eB66fO>hgOnwa6)4a?B} z_Ec5UVKzn1Y1_~-QeR)scQdQG@xcPzuxgs$0l*d;)hxfC)quu-2rNMS1N;S5Gzv1RP zo9Q@UwJ>0we#W+9Lz3Nju^$b|lal=>I#rI;nzY`zKM*jF-{Q}|& z{MhQDr}Zs{s2~!P^;o`7G~x-0U;n=o*Y|9`yAYS{>5J6XsM&9iw@ashb35Q< zs|Se5IXDc=_ll(;Lj*-0Xi<~$O)e%Cs`XwS0-CqIL#nSNi3&)ISmDGjmDqdw%9 z?9S+e3)$6=;D2`78;@6fX`T@L4boHZI{m>3(;M_Duc|8Mf1$HTw58ct*2c?`85lVb z1rZaM6?(3aQ;Nnm5P;|!I>h?uky50g&#n-F2VDa{Gscmyz~ z`K0lDnDGRJHm~w0%>u%-pgO^0icfn7@BbB89iAa_(0@*KoFLXoyMd%K?#iMSSpbx| z-HdS&y|3unb;IW7IcjHCa@n8tgg@UtbeimJbYNu9*uOZ6e1Lf1{*L3zfc-80xo%6H z;yc9Z!zi2g6a1gLKV4Im=6z3hrp`_RO4hUBsH*Lf`mJ|~C21m>Vznnt$FFL9uFjqB zI~vMAF8yb&rcM@gr>4MS^ED6T6oFJO3=)LuytQsLeFwheKb)pgOZt8i;%%q- zBMMa+dbXuc53b}5Hvb}A25Wa%tclM#-V}Kx%&MplL3YZ{tF-d4LVP7m# z`A{tCG-?F6-w0%r>_nFoRA1&`ltF6bA~Ta_RJzKsto1||T(f*Ozvgr=uOF`pVh5N$ zp;H$*hMLXH&i2*s?NPLNjCn_j?IjS==nY&c{w^0CPpBm3Pb5R4V9&p`Hb8pVSN&OZH)>fx&4 zf-x2=>n8oGmd3eKAVsR{d5N+lAFtK#mU+LYjn~X)ur%sv1A`LmY#mRjmWkzLAPChFhWY2{$b*ZTYlvXpHewX2^08 zuXUSGr^<~_bQ^;0=sBIfHn|?x>VxEwg85xCQXTu{?km^bv5JYGeSDb!mW&<$Y2Ia< zJU=J!<~LG?+Ds<2Rj2-RH*+h<=5y~;{4!B188T={qwr;-igpHko`6NX;#tVB(i*QQ z2)z3bHW1}B4ko9ScE++01!Yq2@zr;VhKxacY|1H`K`ps*tT)Aqc$DGA35<9aR;oW6 zsQwWeUphaD-!tgHOT<5e>MqldoB^_tiC-}aZEE<1`)mXzHNZ0HG|#NOJ$=JDl`6bN z)sRkPz4XfA9Hdxcb+e^v2xW6M@%{j{8hbTI9UeQ?^qvSQT45hbqTD1z-k5`W=q!gE zfJPgwQuPMcN?s76!k$PcSN7$J=fg(NrT%7=^l9DJMy*k3T#zeG_IWR7?Xs!t=E{$Y z9p2B2A2+m`?DQ*R;-Pk^o6W}Sy>RH}XwY^m+oY(|zF^~VN&9M6v}R6x2YkiiI?cJ)F`>Eu#PG((Hp| zm!`jJxY1}>qyJ*&n;;7L48Kq3(o7s;MaVtAJL$t-N27~FJ~S6rIzOx$ZeHZJ^jwUV zkI8z%6Dcm2pjxS^pH1shNo(#D98bBq)$Bv2#x(NZyKOQxtPq$aYve0fEucXSAYOiE5x zY`9pdZp$@rkn~=ui^QYR*mw(bBd+5iH=X*}FU`*K2wjG8|3V2_K+VbuhHdcC+L%EL z@51a#G`7kx+0Xl6>zg$_A#W_GGto zl^_YLeO`ZIVOfENLWp<+7QH?^1Cw0dnt^Xd?&dbO(4DzUAlb5D1{9BC$layyHYw3F z`<-TTgUt;BfFOmC78Cv{&l%zQQ|cOpRPsrl0G^NJmggrwv4k&uW8d9$~H2_vRVvWf4ND zo&3L<6&v*g8t4g|=ccP=;ra^YBK8bD2&0STZhiY*Zjt5@FeifeG*H{c6F{z0!Y-qT zULAX~P^7EzW3q{wtIGc-Y>?i~)%KhRn!UMowG3g`DT&sgEs6OkN zCy|J};Dqb11rML?5RO~)s)_uh62}nvh3}*C7*E04Lf;3F8R}*C+>2MM+#EVGCbL77 z0AZ;+gM9P#(h&8`!ZQbp(s9La5uT{MzX1pr4h919#LB4aW;Lz5zz7p@eHvpr!BJX< z)DXM;mgz9E?lo4JW=suB_2S= ztqfVOu{0CyIQ3atDR*oy5AqZ5z`9cYK`Dz~oyg6d?I+%sg~#8rSbU}qnfYpR)~u5` zmvkBt&@bPW<#UaAzhRfBDhgg?l~ObX6qpqG?y$Odcin=+k)8KA^0&Px5cBvJufTXy z=u^M@V%sap&%;27P?vV7yM2o{t$^?R7v`?4gS`a8dF&T@I=uq2J6WpfmAOi(Ir=!a z%=3r$t={~6+fr|5pX`x(hdBLJWb4@~{(hzfMMdOdy^p&8+uxtj`ezkFoDq%wBxn91 z%(HtUi3y48-1Z0W!n70El4>*Q3IBzCqC@7xNkLqOZ~<0i0J&&TY>E1A z^T0r)rDVm2+m2UnP>2RQNdBGp-2CQP@SZ z41sdEN!o#k2TmXaN_F8-Et01?wyGcWg-M`e))v{p#<#rle$! z>`auIjNK!tz5g+Nbt0mb!oT)c>i6vrGzPc7S8O++ zF2f~B_~{*Vt$DkB){AY`EA~j37Sh+hmZ(!ALWhUE_U?JyVD&crsjXfq(KQ7Ph)_!J zdDG5~DEtMMX${evbzSCU(V2KzPoj|2*i573kgT(7Jvd01wFv|&mc{nN`gwzi6n161 zrSVm~$#42HezN$HGWZ6zx54}&3lxi|9z;MNO{nv}tqW0~WS?WQkvBm41R3(fCZ(d8 zwO9IityP}kSB;oXGFt|fY|`Ldsrth(zhrFXC?qs+t};-OrRxBYOM}*H-8GkEn0c>i z0x3LIU>(VIk-`GF@0zRgcVV8ZE8~#nHA8se<$S@TReI!ax@`;-ft3CD)`3 z68fifsHF5vB5K9vrFp{l?z2W)r4@y$?8XPi%7{wp9OcgYW-a=&-4mzIcT@-xYAWv) zg*Nig6!n?;Q^#fjrLDnnkysZfZ1+*x2*8X+K_Ng6y-W?Gk<;RE8gYQBjfH!SeN8%@ ztI__FiH-qlG?hX!nlRXMoo{HX*UcA@%Ru1lF{IIcbHAC^l~TADTNujN600~JPI}Ey z(G>6DA-6LTW0(}nO~oLSV;_S>2w*{6UPhD`Rk=_=5F#xQ6ZI`5Ge(ngj1`!IeO2`azPt>>9vzUOrJL`QS$4xYJrw?izx>J6%>Dvw!g zkpUTfuj$OC33rzC#0yXLZNKb6zFu(E87dFNWL@C@x8U>W85H@Y|JTj_O{2A7Aia&= zQgQrae=x}qNrsPs$VNbX%g-j@kYj)wqgV`E;8}*Z;FHE2XGNHqErtHE28MV~#T`RD z#0`$F3|c&?aGV_`3V-;q8D)HcG6J@eJUcOX9OP4d!Y%Q3WGvwwcGohZ*b633Q#@Vj zi#q?XRM1<#FD;d9EN$fkQuV%xX>envo?zuulDgWz0-vQJb)!XAf+Ik=^4`!ntwA=B zLX@(sInRA1wN#=y-%hza10nUe)q?d5t1hZ1<_H;w65e0fmX5{y?L}O{+Dm|BE}bi! zHpj|A_mB-xTEG`uNq0|6_;lkX(7+7ZH21ojOEK6ZqSaKeKK0SP=gf>{kw@@1ks3<2 ztLH+CLX&xk5|b9qMFbLkZHrB$LT4E+m~)O0M3OM|$xZH93*@98?f*sKzufOcr?MKt zkpM6D5Adht=WA7drEBNU6s?=Cv7kRlv z-(|W$hawb|E464@**)+tnT0O^D zjE#AcTx^dbmRC#Wx}L_h)7haF&zQdxtf?_?-^@W;qArygY+Bm-+zO zp0HZvU8M`_G(gt6m3_=Q#e~#h1p#I?AgR>dTYyh{WaP`4(xxROJ2Hh0pqF=RY^U^a6U7XeScxeBsl$3{nES51uq~ zDP5b0m?=+7rl(n4ir1rTFuq|Fk|`|uP(rP$u?J;3W1g}}Xd$s);-c*03~_e-(6m$~ zbdy*G4$jv_OkafqYAy>{RVQ?G% zL;1$W1_=y~jv8(C1hx}|Mf5ET`Ic^YGRyUlLJon$+?GURSmT(*+j_`G&a`O^T)r1; zDFl@AIywccBr`{QoKGdvyPwrB7^zEx6ialG6zD)jFsJjux(S_H9Wgg;c}odeJbK%Sf!>;Rl;G1jigUE&E>k){Fh!Q<%S%4F^w#Z>`90U9^TgTLyQxU`LxgtiZ zr0u*I-4;}_sWI`5+jAcFv1*vJOdnd{g?&oI7lMEQZhpp+=+p5pOw^%_=0~r#$CPI) zzthi%^ei?!Fm_8BP{-!GlUv^+MCDPgVC;9uL!`yy3%UxTQS7w4!8ZlL{{22k z2Y`*tS9D~WebL!nufsHSOF+5n9MoVn@^RoInqx{XY-S@QSarr%<3K9179Z?V?)l$S zic&Ra59ll_JVB^9iaBPQYwSoXai#7g!!&`e5YEQ<%m5@3DC_Hn42G z!r1U@PXY{;SxZnIlBfo^L5{N6H>24!Tm%r}3)HAkhz_D9h6^GU8gA9~?j`Oy$8!j*kIkU`8U|@SsJ@Fd zyxqq5kyVVTrtqg6EHKN<`Dr^_@pwk7xA7s06tmYEG3GH38$O9c#4BOaIF{NWjc|6k9>nXd$wg;kN6hM5nBb29c%T&P~ z?n}xVmktrj(~gY_DfJX*vM*U`u;byViW)Ike6v>k?9*H$ogA>JjeysOP67hl*>d}1 zYcv^Cq9?;)Qw?QlB11HJ=zPEHjtjQz_E3pjI)z*p03YTRFJyQe+dvdq^CE^DcaSEW zp&8sj&<69Qmbv_~su!(m$nKTA6ZzsyCu%e?RTB(PVJWg~DG+4I@3QGtx!f23UhspC zYM@Y|UX5Grr;sW(G=RexCn2R;mdYlnfG0?Ne+FH4%}27gE2MgIeDt8jq>-PmHvE2K z)e$v}+Mj17Zh7LQHA9M5#{eq8%DK!#A(=rx?2(yIhVoZ#(B?oyLDpc>{Z?jK&)D;c zGy)A06UY5zIQ}S(O4i85#Rc@LY-VM3s)Q}K2Y7?mJs;%L0YQ>4Qi~sfUr)$+xk;70 z+GsgL-9i}mQ${`crL(2Uzb5Zm^y;hT)G~E0jFNpd_D}|&`?vo7{``W%pb77$nJ^#9 zuzhsqTRhZ?JugU>xDn?w?DXZwz1x8K5F#a=LJ})iCcXFI4EH> z%o$i?=doQQq~XT-iR)2S?-~h)o{>xx^XhqX%<}_;~DQ`W$N{7h73{ zZW&@FPEb*DHuxi-$CO4bcHoqQ9Q$-@Xx!@S?3jI&{$*SR8v}Rhhf&9WwWsB7^@{Iv zbpT|L)Da|#;S&Sr((&IP`*BeoXR^i4+uW~b=SpdjB2{Ur3P<)*cW&Inztm)(N|d>< z*VhH8Gt!CEPiv4Ty_y-x;a9&^{n>;)33;VBIxNaFh*Dc$KP>dmbK^ z`QV}lM@9@k;(K>*PwD5+*+Ol_AaYfxH{f@&7KU2yJRH>4>kkDG=+lXf4v4RhzVf>P zYynY&UA{JKEn)R?I+thrmTI`nR1M8$=}zXEB!!_ihe0Nvd(FUVZ9*H{DD6- zfsT&wR|dcjlO5chl%;9(XR@#YbeVOWGFg_K|tNPSsAHp=1UR94nobvm5x4<96rBsDoI z7~Qi!bIpH(X6NK$6TI>PH7P?BC#wj3Sg?!(LE8bIsHtI+1?5V{})L}OGlU6*2X8-aeAPdErwZbesfUEDc1E-1&sE50(+t# zG>&mCxvcc8NxSOA6jp<);wz;r5ovOhr4jQaHEBy-L~u~C$Q;O3 zs?o~E14IrQ*E6OioRTzGLP% zPLYZ#*8d*b{iEy8+t7S6Y$-(@O1eJ-=aTB4^2)ljas8yeqQ}x*J5M7G<{%rzrB@RME*d6 zLj1oYgF>+kUG^&<_TCXoDp&d;Q3k)anm|jT7Iy)6inNFy zwNQ-3P&6%e?=qEf-n%u7*VZ{Jf4vxpOKlmn1-r;^1>ohD47ZR0Pqc;tPazLU3}ohu zEV4wcPZkiLsi?M+<5W6c;+Ac_WwYE5(U>V|JagCb&m_teKHf-F9uYxY+zScNPAVMCE!?=LN6sH_4CBkX5ig)u!l%xF^JDc~VYjC-VT==#V_|KF^LDdsh8nuK+TpS)?~u))W(lGg9% zLo^@SZOPh@5OJdLz(3;Ym^@^F9`HEg;V(VZ^zB=-!I;DmfnYdWu(AE}Btw<}XneEI zY1j+WhL|XW0uNCgcoRcJt(XHIB;qye+7Z73(Fl43-GA>AuX(vZ;kO=v<$N<`oi9)bE-!04?e zmnsQ?UlkIrkfiBss>&enHY^$_niVY#8%_gX@p8_AIOKPth_v_t{W6_z?iOr^@W15~ zA*xW)FE{urchZ%Vy1x_`@wA1~(|B#)!bM0Pr6ClN7gT?AG8EkP&@xH6-2(!pQ`?!0 z0%$<3_6F=a^14-|?m!7z@;SCY5jVFRJw3PSodu{Z<#nczl?+X9aIsoWzzxlJ?PR{Y zu{?S!!8B{@wLn(-9_%);N3Iwm3x9A>d2(t(Z0UD4C{Vp0%-wpdnS9$I+ZYm0U3Qqm zKBdhgJTtt5(R2L(l|qEjAi*FC!+^sfyLDhr+W@smWO#Qx2Z)q={Tv({E6DG2$Wv5M zpyuMj^_^Cx4^#X3Gr{goRv5iZ3d3aJqe{e8finixi`?~<)PA@Gfsn0M(4(gd{zcQ^ zo+c66#C+hyfCnzy_0dq3LWs+w_4d(puIRCJE@&3p^)|cK531#FY30C2Wooa!uFkt5 zTDSU*pL%Ex;2+{cOUX+YP;mq%4-+mvULCx6t((L6`eLoVMt@Vli;YZ;3!7CTTM~7# zKw6UaAgAlQMI=9CFrZQb!!y;|$bW)-QpuFsF@rF8ap#!wCv+`F71Z&1Vgm)<$H$`a6569F!eXH(I$fh&?rF!eP8_0pH*yicmKnCa>9XR zkOb-J&@Li{%in2rvFGM?QSdPqv_2?DX!AmD<2ZeW#>#+*e*c~$w?cD;bR)bGRLkY; zG%oBS>Q{824A zcCY|aX#|(nwauHW?!QVI_J8MS>}JO^Pcu0qYoQ^-=F2hNC8GvAnSa%MZuG=+dizOK zo@K~@gEbXZ>a7~H^4YI0?n2b0u%>xFdliOq zQmo_zV%13tW5P7u-lK*S<gj~wX$|5#4Oz!UPTa&vX==?jF->u)g zPT|UsT*wQ5sOtiPUCZ)OHcZ+Q`LaGb)%D8L3VmVJxS0h}!PV_|TBeSFmBn&AqKF8} zB`9=b2SlIyOGsUay>&TPF)wbLbmH^+gqmM0JD2tr9!XXmn+dQn9n zp6xKeH}xnrCd)52Lqw=)a)!;VpahZCj-^vTOVY%GPVzfalwsyhlyCRdhN- zGU*ETMl^~?LxiGY)JJqvLfSN+y9n$+U`W3Whcl4W*kDvs#$E1258fPq!I0*tN6{xm z35^VyO9CaS;20m(>*wkQgSC~C9x7V<-O3a4>`*lUaxnWJSyE*UqksOl@67J(JQ}( zfm&H}ocj&()38&$E`FMPon~gJ$&a1kb0G{jvxY2@tF>CV++t_?)x#aM2V`6&jRe}Y zrnWiK0xEvPX{*N=G=4zU|Tj=uZW1$2Gc0r=D)v9%PU*aRa+a582-{S}oVU@F|C}tim{d za-1YRm%6F_C#5exrf}8eJ7bh2Yj=`!rtQN9`%k{+>BnEMVSU|IAFZ`B)aqbH|q(ocGPJ1_43|P*V8$ zLuZ9AKR);$Nz^40K8=Bt9Oz3LOX~`X5bmC6k`e=e#5)#xVFQcB^YHRRDe^&bKdLBZ z7Bpn)q5k?ey^biKcE6?XW*4Vl=h)j=s(G&(tzeNN|EgRNqHt`c)0$?i-lWDz-L{sN zZ(CnqX%{ z&Ts@Iq^PM{L)87)Zx0QP3ApYfwc^S#w+?3WPk{=kiaXO*n_e1>Uw1`H^_YzX5AFR`t_@q%~&P!@Z)#%qZ5UdL<1D9Sas`8U^->pUaC$G#@h zrGDdirF?TULCYt|NgviR{9mO9TVjq4Gm5hHBPXUXG{6Z}~l0=SgfSNe{`(Bj^DZ z7Bi!t2w}kB8skAU0jE~h-$40>u;Jm4xQb>8VjhH*ef zyHMa5uT5B4ocI%FZPNmNfu7CWi>m1Vqhv=xegU+)Q+lXebk}o)z#Yj4c&~eSSYBVI zo`P-3lmfA{&1aG8y5K3{AdTAC?4Qm4)G}wKaOL-pC1gK*5;G@RF?Rr z11$s6It_-q%Ae++mO4-}Ph;)soCHlq1fr78X*?|A|4oe_F!OuVslVM(5(CG@wI4vO7x6K)i#Et!xX`=-(ELSWE}Ii$o;IVv8i8zp z@A;q5X7EcTwt9IY&e4-l2}@og>b%Rw8&bf;%FsfM=>%G=*jRA~r7s#e?B=Lwuo*%z z=o2=!77mJogQFu7i0kNjSmrYccP>T_#CNYDb7~&QTZzWtx{f zlUAF-S>e?G()ZcBN4VD={9-xHX-Hi`NP(g&E7029y!Iy7*t&LAiL|Y8WmH&5&XI|O zPs&dldT`<0xU zCB*;L643C#e}{3tN?iXzxA@Yp{wGhRzq$&_WQ~Qf#*&WYgW*jIrSwH5@gW$oWC7Gv zol1P_-I-DMM($j3!~AiXle-3MJH4^Z6W3$cj|o0QNz_QV6Qz8d()ckxT)=Xtj4Ty{ zqJHd!V)kVg4@;-Mc|@YDJrQ~#8>{M^G^;9aEyOt(EnSf}A{)vx0SWF;Ppn=d zuJWt(@Pd14;V)c^)|aY6euShr9DoOy{y=S#<-RB%GzZ$RJl44H|A(fpj*9Agzn&pv z=q~9_X=x+`=}wUb0V(MmxPWvc64D*g-QCh5okL2uH1B-AzxDn#=dLyD&bo7-^W@(9 zlwAI5y7|>lH8hm(`$y-PZD;fZh3E~Ovu6kPl%M~3=xi8c+9qf*%WTBTLeo#HjCmm6 zU^!0y1qs29OzbrsPF4DaeG?Z+86e--;c}{+@f#!g@M3;%H2%gbyBzm$YiqzsmY|<4 z3ATb(4Fu68;vPQRR`^NcBd{QGez`bxo@xxO^2hmT1Z5hXfjj{hOs z+KIWEaw&wOvC)1eu^L`H+B&-^CMPF1vZR+c0Ol;?wv=n#KDp_{_} z86G_3+6eGTql?ca&c`WWVAt(b0>f6Vo0?a{64 z=-d-4ZMBy{t)7n>IE^M|vtK+dHT`2VcS%xH-`+l}W3s-gF}a@hquw>G3>yu=%K%9` zP1aWAc@A~^EI+kkR?_;vciH)fP`{plb?aNY zyN-^LX9gVq*Wsl?B0m4IA0U<)ds*syz(=cGS}90-ztCxewEbeyk+0NaVu~9PkTcOb zSJyzMG&IRRok+MY%6diOW#?<{vv+xSLCo?gM`}9GPD0ty!Z68CaE4P>|+%*12xiVvq3(h5IRx5R@=Re-lB$u3J5;TA-OpyeX!Xb z{USRHZ&nCU3F0*50FF|!^|Z%(A_tXPRaLm9BN~7Clxrg_LMcs^cu6!WT&0J2dKkKX zNa7&S=xcN4Gdk>X1e zB&EO^wZ^c*vB^p4`-db&re%g9=Pz2WJRfAM*xtnlS^kIHaFw%YS?&~JhTbH)yDaVP z{6ZR?3QkN9@55fJ{=S(plxiqOC;2Xj!vGSysVH)g3F6Pt8Cq2Z1;35CbnPk)?>oN~LvgBB?+w0ZpUAH?cH*gm0>@;Hx< z4w5wFMlsn*|8+?!znk1_wC3RxBLX> z!T~RfeKlD!G;q>jGT(b7`CL@YoWFCGY(FXr{`LSi_*KH;YR_qfw&n7-QjVW%v2m>R zyK0bJ*=W%ol0v;~-|ij?XV<_II*)qzO+$KQs&R`> zZs7VaJua-l3X;4&QD@iu>2kWFds{NbJ6+dxXmjiGnY2o9JROE(YOT{RbZ#E>fq50gspe~$8;aKVT zptzD^GriJ!3le~XU^pZBnur%qSR>Us2w-oA=+nGcT#`aZf-r5OOMR$VKy#60^s0|0 zL8oaY2#o6ML_3d=&eauJ%8Ak-?2agOcY}|Q-;Tr4Z5*01blde-#yhu0`l)nY>h}1^ zKC2(8~Tutle5*afL7qI#@$@9F@hr;v;1%0NBwp`K@|jtTa%pl?EZZB zR4!eLycl92L|yYk&FVOPz+ItFw~A>*_IuHg^gX|yF&5U{d0geV3ASWRqO)Jb`~x&{ z&}B!Gh95pvjz7+eE|Q9?cVeyw!u_55*H7KmPo}})eC0ewI!^YG#C5DsD%52)(y2HY zn5jy9fuelWgqo@QQcTPR+K3u6AWRnJ??E5bil1KxNu{)$z{U@R|3eYNZSQ=`8j zF2d}5QuFNo$xxy1)Yet&p_)zMqY~PJ@jxcWV9VPY1IikM*Q7i{L-c^aHJtw|$s%8y zm;|4YBn-+gIME~AkPDg_?*AaXCuSmma{+=gv@&RRzJMaqg}T=m_3a1s2ArhwdwsVR zWUpU4P)#-b`TOqXKDJt7)q>5)xBl~KFmcEC6L%{<1yYi>FA3O7_!W8%zw6!Hjw1@# z-j?R2S4r35O2yggQ5pg|V}okNQ^KezM5GDRXu4=iaXcf(l&(@0cd1w(CN(BqF*Wsw zOr&b@&c8`cx)P>}#ytBM7BaRyH-ya1&(B7IO0C`Dq#~P3Z7E%?;}{%#Fj-nz!Vcc% zS>ErvCFJ9wc_;EgUCg~$(wX_>$s#rS;g~8OZ8e-fmj*pR4Z<)+yhJZy)`j%F zYSC`MWQ$_CrcJ(q;p3b;07O}eerNbp^LYd(WA8i!L>#ot)@hr7Q;u~tcJEdd@$m<8{z;AOwc>`Pf@j@)gBqw|< zd=|AY?@d<(Xo#;~ceS`32Aav*t+feVL4$AtiRpj+u}C(EA$*1SI)ma-r9PE@Sj^)i z<|{-U9^fuiF?kxcQ9B{^VxEU|`V>!OCyZ}3d$v#wb+KVZP2gk&*V+d>T~^xlAdKUpsdnhVrKn;$;L127wjdR*AmKnv^$Y+IG;bD6&gzav^66 zJ(1}EBoZ7v)81fo?5UTwEP<&PCh@4E1m)&a@vnFrB@<|mE$d~szmMN={76eXbZRax zhRDds4E5W@+7p_h!z-Z&@~tnVGFR_taEYWKzD^c@HEQ5bSu9!gR(7x<=pC(Rv~^yn|*ZsF=J0 z>-Z-dRQ{B$_=O2s{$QHwHsGviFv4O@}vA?v_55BC!rt1S$0UY`e zIz-i;(qB3FplpG2wU3pjV_;i{S9Yib+2Dco3EsiC!hJKJkv_i;Q2t|$uau==Qr`HU z7ExL%yI_2XSO#)S)$p9Jx28kz5V;*;kw9AP0l_V-ITxlUc-A4;wy-5mNlj%=WA2Un zZF{J28i5pSSw(AIcV^61%)!~r0{Dj9%bW zAYP;bn~os_2fw}gh;bXBcdH=_3w`l|GVI2FjopSw$Z6~NnafS_1b)|qNkhoDk9o1_ zwts=e<%NIymqy2<%FI`L=<_Tc1_r-OCE#u5u|$zJ(cb9%afLa12gn2fakHaAB8a** zlTJ))t^Ym4-MW2YKg#p3N%4H$UHuiw&3s0{N-E?p2&O=KQ5xypyo3Ya8 znjZ)QGI(LjM}pcc(~3O+Dv-NCQxQd6H>_DcozGlK>%w20Ct_cv7r>JK_+oNt%%)f6 z58)txyAL*b3H{3Pw?R*X8HSV5ymamUJgT&Og(~nHbR{x2Y_d`MK*(%ej~P(1uou$Q zM4x3@jKweh?dpoX?P}HdZ2FB5<@=b?2Ot~R;dPlkjokv)VbLF;;{*6C27q-!;7YW=eR8)`V7T2)}?k zBDg7zp4)w51Egr}^t!`1zxF78J)o!?`i0XWs859=#|+Fho!TOHJN=$~Rtm_PxJ+#Erbw zaZ*08jK{fC*w_a(EM+fZ6bfol#gLZ^3G>l-z5vXP0fQdi*TbnPJ!E;vNQ-!ZE@K2i zj$tPwHMe8Hn~fpd-#WU6w&^@naiJrpnit4yQH=QEgf{LeQ3KZ6mX=-p^Cnz+#2DHA zs-B*LFc_XeU&QK~?a@yq;g4B}V7UTZj()q_^r>e3@(*Qy_`^`}Bs$++F2iTPc;b&s+2Hd;=)PI`!Fqs$j$ms=jZy4%8n$LTe_UK({T!APdoT$h z4$-T91|+YfizClNq42tIfdt57atxd{mvaUNZVNzX{bui~GJGknN38&Hq{4yxbmqHpyS* z1VPXfQm(zl$gy;%=m_vgL1hNbc)FD>DtAA=e-F$M@%RnuvMDeKB8eS*ub0w?;d;Mq z=e1=eAr~tPmQy#SEG4}knaFNwAwLD|pQw}!C-&FeJ<+8VC`5U7%UjOhWB|3xaE z#P9sA7Q31cWxZFvqvz#t6U=t&M%nYedf?@{1J)( zdNHaCV|Xs1nvw8A)HN9U$xSM@`XNZ(V*f9HZbc5N`FB{n7$X`;O=o^rcNvHd4%R}H zg*v^D$wbomu4%w+I(XgHpxniJ;+`$wI_%b?W7HddN5*e=cFzST<{svqct`ve!KGo~ zprdLwK~9l_NLyaw%*j*NBeLRhiG-Ncj4~5W*J?`8A_^BFpeBgW%gC4j-7T^NL0jHE z3Wv;m+86N|XxoE7`_aB!{{Uv*xIcIE;;zCVLCslVm5+s#CgIt_NvdEpT%0!y){WpI z5r$o}huc&K$*61DU*D_U22?V|ALr4Cp0)#gA3VO2ma54V6n>6+@9e!>p!&})nZ3z3 zvGTKmEYf?YZY@@As=;B4>EYdpENqaV?*;ukT!E%Xy0wxiwb7eA*;wGWXtU{?H~LxQ ztN7xe{cC+4P)KNKtKH$zkp*(L0^z)D*j?|0%*oNB9~I&xELwgvD^~{}kY2DRG+qlz zez@5rFe|L!kRwEUykW8h`TM?gi$=S=^ND=&^0I*A#R)) z3Egh;_8Gc5^%H|`t^uttbd=Al>%QKvR`E|rbFQMg{oi)6evoU9|!)2~;qD~Xqu zfevROc81B!J*qtD%MjJLrnf)UCXWu;{i0kXO* zTYK9om=tko;=nt&QX8wwg6D_US~G!(*hOIV4&1fNHB!UFTg@d-Mcl463T(&AIu>Vx z-~=Zgu&N!>zEuD7g$s9z0mrM+;^Ba}w6sXt$xfgUA>(ofeNV!X*k}!jsCL~EwL0Vs z1Fe3Cp8GAjWgghj{xzf@4J2W1@70xXPFy@6FJbUa{5Z;Dh)ZoFf|FxSt#o*)N9rKj zuQ2wUF!IDVz>K`=FaESC&$KB+LN)#rD~tX$BS_+tRpSIK620Qq8SPDS(7mB^bL1op zjRQEj@HScI80W@lq8T=H7J8k*!0{+HVPXO&QCs|Bz5h>Ks@k5+$97>yyHv;Y&o6DY z(mzcv&kw`axTXemc5U_op@fxvV=n7 z5jD1K&e30*2wsqfVxJw8?8Rv{c4}fPv3`gEina+D5}hz~5QkA)Sn%B)b7isrm}yeK z^kA!?>9ep&;nLT$?hGugCAxC}W+e7}Gf)Kbe`&mlc{k$HlC&98RDQdmvef+0&m?MR zT?fL+uA2N;Ly$Li2aDiDlVJjZZ0ZHHy>hFn9IJZfz@2o7mIR4DZ}@qqA>NJ*xM$tTqH{o7#cg`>%f6B$ znHSNId>`8Ejh&Z8%_I@5y&oW#+(8R|j&>9u0x;6VS%Dg&X_kwN3hO=6k=_A!||&e=S&?R;|t=pEIh z4d228j8E#9z9`kULFd2zFWWcbnR%l1TWq2f$%#J~D{svl&tWnapDlCYl-$Wj1M((j z6cb6Ee3Bw6pq-F+{SohDyqRc=73Z3PyGRXff67cf#vq|j9HAF6mVt%e=bv#^&X^4j zcPN>!FFrPzUH@H^D*I&Vfa-XdDVej6B*Nm_DKbvpV0^9g7j*z^9+#4eJe!11ea66Y zk8jGr=|HbYtkPp;B)wpQw12`&+t%=egNBCoC_M4_2tWy*b_(AKS@a$klZpwB7@YUF zStTLT43G#!9R@iWasmI9h73Zzacg)d;3f#0Rp7hBkaCoUZe^%fU@JQRl1tZ0e=?I~ zy-7DhauuC`me6-vyO|czo**)@XuqxyOG2bl;89Nt$)X6MjVvJ3MKomulo1p9 zosvcfm%l;Aq;sVaO;;TL01V%knjBEO4#muWgZJpG#{*2pMXRG#h5Jdteh*iEZ4El7 zWG~F!KbjSnQY(y}#ATYGtNDLxsT{0rBgg^q&%3L}6oR18)ezLJ+R3@O5Jr3SG99uX zo11cSN)k;Ps3lr~msXLu`1oS{1_i=;zBh-y!(T`}_}?1Ud$_&6f$QlYBtpeWh@%cA z+*}(*;E_J|2a#&7$bGI9i;A=?tk1;V?kY|cDysHWzhn)-Tnb`}KqD~@9lD?Kag>%WHE1P(Vz4GpXa1zSU@radV)8}Y0z zZAkx;TQY-XueL(w9L3#ID$q;06s z`Sd-*Le)9w#5mQCEDQknHj{R+D>?5kwt$aHhA5i61M5%6@!#a4VkKo|nfmZpEXRgJ zb>P?$o&4C57Q5O{ryuK%HnXwr{|zE< z3Clv?Jt;r}s+uUpgj}m@1vA{fe(GpdKN*Kh4+4y!?6zD4c#<&md(;)z z%)OODKl&B?66D_$g!G@wsA&n9`Mt5iwFE{4p{(5%Bf&KB9ZxN}|66w69^zS0R1S(z zC4xYd9kx7Hz&a2;V^;jKWMD8qvg{44a2X4tAjqf-;7ILP(aS>BnT6E_^OFoW<)QL~ zXt56f*1WY`MG7p0!i_@MQ(s(b>Z7LSmbNFiNki!$oBVjoNnz`$4$3>!3?!h?TY0qW%X=@a93ym!Xf7gjZ;EwXu zH(4wDB7J3@`%Os2)7aNG2cNA|U@!m?MUEPfA=xm5a>Js$Cc>(a(TQ*>AY`cU9^0!E z(}Cx%B~-Iaio*m|dNvjjJInU`GJYoN124d(JXY~qWA zIzi#-yvEEwTb792uCj^Sc|w~D8Qy;Sqt?b9^rk_s!Q&XApS^%#jzeEUW6&TN{{nJL9fpPCplFRT z!EM7R3qd89!ii92Mj(sD_P75tsMLg(V1Ut@dFp;T2VhU@15;;mRSk7KkMV6@n`ksq1YNiwR_ne6<7z4{TrzLYSIG%u*;l?i0&&=UK-sY z8iHUNUN$nfKZ#+{;epKT82v@60fWR+v_Nu!BK@=#sOk$BfXCSRvhyW zpBV`Mucbx5;+sqA z{Z#B+Y$8qc#kT*zm~$`*IQmeULjl6(I7E>f{YSVCy~Kovv$GYK39r?nPJ6llcs-mS zF;VnB78%(NldDS`ii~D({+S1G&#h}&WFQsyQ6l(t;D#tLi=8qRlkQ9ax}Up(37d=x ztKJ!}Z2OWtJ~-{h)YR~RB;4Kk;rf--2?~q$MH3l_{{Did_)IESssH*-;N=kq9W7Y@ zzr;yZ{53*AfO7{FnXOBIIiOsYfKdcj-;!-fyOtNCI*zCWRdW|%2Ht_0rMg@|uMsB? z_TAbW?7%1bN&$NGw>t>D!iSKE5$QQi<=WCQF?Y#NrIMm3dw3k~zsJP5(1oLtxI7To z@x{%dxK^3-vwwV`9aVXiZ2=-VPyq zzNMw!hjJOSxCXO{fQbiU2Gi9k#!sB2w;IhXBr^3SJz;YWJh#J@Z zL~c%2BfrcPP7OM)aB@J0yIU^DsVlibr{>!zg}^lzSFLGO18UcY67cvBd?Hi{e$PG=Iq&fSrOciN#XlQV*q~43KGUgD7fzI zqVBOs{0S8_nLo7=-TC4>Bs!0mf*XUl}30D4vT}B@}z^p@4jQ8H(|kK%yHx%Ofi>&Z#B@AQ7s*0Yp2Ux>O{c z-+9<5YV%M%wL4JNV+`K>rzhJ!0df(hS-`#DC-=w4nx&RKY ziDkuaf2WYGGP2o3^ROmL$jU}W;p&01wFXGQ8wJK?&LvTm@O3Pu7?>KZc}klH#0>u; zf_~>-%C@kH(!x2_;3+JK?zE@%E2!EGSaK0M16f{BW)pg zrmRlKIQBDkK#@T%EE+ono#<%N47i08gr;{GJ4lf9J;A>H#B@#hHIB1y`8Lxoua7#E z-adBwlP(Tze{J{gc-sz|5HdOOl;n`btBPhh5Z+IKWtWvjxpjiFD=Gji^MOfUY~46a zCVsmG38R*C{A_a1zXQwFro9;);WsO4+m52W?}zW4Wlx#qD4j?=buzkV-$aEUd>=vb zZ>HF<0co*QC&T@M1d>UCqB^eQJi>-9I@neb<<^j*%3U*z*Q4*KOs?IeCd_ABOWrc( z7fpjEw$`=um!5p7+6CZf(?IMD-Y0rQu=x#y*w$*SOTYYav;V1|iZo+rPWk{l3caBqhcXU?Ids;P zl?-Ju_mT;YLX|yPZB53MqB1_D2>O;WIU3g(wffw;O}aHxmsL3|LcIp2IJ2_NW2g-r8XfuC1dchhO0EE_pg$pQ$$3#gRn9;UQoB}To z{=R3)ksWE%1z&ZS>~&I>#3ydNwoKRP{MTR|c*^Cqa$lkAn~a z3mDvcPmlKvhR$uNgqDBdm@ejqprAdgXQ=wJ^3-f>aIUQ`HJG`0reMnuE={}iiR=Ns zsW!4;-WDq3pO?>&PR9w?A(NVzUfp2}7XZ!3er#WoJ)+uRiM}HRKPA%w>j4Mvjy6{X~)e zz=TlV!SIL4P3Qa2eqVsc6~b3oakUr2 zgsDvS{N2Tmpi}uD+z-6R9q{_jr#tr0@92CzuBmD5m$I?%H6ffsjSXsYz2k9c-XVf( zpXh@8KRGl9uX1v55b4|VHVtACX7&+(+axj#_Gbbl+_+ikR9 zJc?k%f$$>T6a}jrJ!U0B5eW;EL6zNI1VY9o)I85Fo3|430i)IkC1V4fD_tH2N3?BU z54<4w2(>e#-$#othQB6hWbfe}1T#Gck%;m8vR1vjF^8Z0dB^Z-trcrNgLq2fYY zEz#l0D=jB{5ZdHhBPl@o3MniY6pPdLnDtup>YG-IeOEW@Z@NyV)9ZH#eLz=}!@Za;^k+*84ykhF zn-e+C0nE!JvR!N_3HQD;4ZL5JwM1b@Q6+C=L=KAA&d|zI@097`BSR49+ItO_QSZ8hAvHiGzDOO~?W2;ZYsxQPClij-ONG?JJ>4lY-8BXBVLzCJRs^=&T160E$DL zoQo_sPWbXUaH!alhI>dgDXDPxcN+d}U&T)ZXMBXO@8mi zZcRHf8JL^lSlAV-_xy5<#C7o-jAj_;vFvI3h<6ugruxWhbT6R&7@CFGrS0i7ahxUM z5wpPgCL!k&O*|WFj^~g5mFU|hK}b)2)kj0y;@!~}+;El>oZxWNzua5S!$NZO8fVA| zLBZi%G(P06<@$2@&S8CcLxiko_G`!_ny+CBTfoCmdOEtMZt@_MqeN=6{uQ48I|>az z%~p&F)_5p<_M44!2((dBl*#R_Z#lW%Qk3aE00FIhHpU4m!2l7goI%RjihyBSEL^PUyvLbc0nDs&|FOCP6I&utDC%k=Z>F_>} z179K#lCiNtVQL?$Xd^$ppzoKXB;k;yIHu^A-z^pyl};wP*(44(udrsfc94ouN_W+m=0~&>9)Wc> z)P>!(BoPl_Z=gvxS%FiMs zusOoh^|W<9PUUw06%nQO)PWywu0h)xxSUW;7`<_Q%CVNNiY0?kosH)itYGT^V^?cpV~&#=V=|$th&I*5#Hh`lj>dz>*FmdcH0E^FjE;58h4s zZ@p++>A?Tt1M`z}SIQPi=Dg9W9TYa~#vv8^ad5}-X3xPY2|!6e{N{MagP_rig5GV>Ydpd@9=%^+c)tQ?@^R} z5&O_sXn#}?R?_~!ihKn+9@+EX-=6H{*454SBX31; z{qt?69cfoPG~p)yKZhX?`oYEm{g~{@Olx5B);)++#Q^gV>h^o5Iq{ev#w}L-XK={T zJ(@J59E7KbWuXV+=Ztt(`;p+6!Y$X&<2XJ4d}aV49ziZsZt{=A=2HOlov{_sCk>_r z>5*6~-*R59aZ;3dQ^%(Z54DBztnLeOA3&sqk03|`<)wN3@N6`)>*bSVwn&&g!7fg-?~f=eorLmte)ug0c zu5|!BH4T#JLW$*+khY*F$3h`@CmSaq&ij>1jz3tCv%G?tp%QwRP?%ks*FH^Fq%RWd z*grpToOZUHRTi*l?fCOw46eb`AEAgS)$GgGkh8lLKLR!1|mx(aR*9d3@4qI@6XeO>%2=<(W3Dv6oqL0(}k01)%D%=;QRGnm~Zx|Ge>iT<0fOP2@lfvR| zwA$Fkw%j}R@gw@L*JSk({kaJ&)qns(8@)ssh|vPqfVuh-Jq@)Ps%>P&lj0RaiQ+T? zzD(}armh*<)}djJw|}D$Wi3pPC3j^Q)8<2kmfAoY3(LAAvaA5%6MZ08y1~}U=PuIvRz%7f!Dw53k zsxHPU-^gnRd2t{*EecIW@D`dmfko1L8a}A$mr~?5+Wd8;Y54YP=I}FXqK#S}^#l`p z=L@M_Pa9i_|@Cqih)pO@R6i=-mAM4-EJn%xdwju&_ZFgTY{Svh&JA%d;JG|g`tUNOT*of3UGAcvo z`b5SCTrk_yc~_EDr*;x98aa-~pXokgAl1ybMbElf^o7sA)f^9jkn%mHrQ>nbZ{X+? zvR5FwhNjc%*PiAhtZlr_3lnqqp-i{~WghFvtyB_`m2e0GGCdOMP&%ha6~d@Pk(yJG z)yHN%5zY@PYNqjr@5<#k?wl;{9`&Qd2nUD-Z;2FBQg9ZEH0dpWWejdR63n}YrM=nV z7DtrT^fN{}e^%6dze|I$_%davKg;wuq7lp?&}(~oTaL_mliIZ#?Z z)Naa=o0sQ!qQpIrUuZs#$(u7}4Z@)>%!k<+zG1h-*Z2+toSL`EuY@UnmHs;4%Hnt* zT5&C18?Q@tXs(y()D>j5KJv%;J&)2LpPE#MKtSRA4F1m+5%m*}S@^j~)VA|(O-&l3 z!j_$ItB}0u!w0x7UZwUeBX){lPm&pJJKyYexVgEt)cxgz?{-8Lr?-ih!rHZDdn{lg zTlcLtm(EK7RJP}lbC?TYEyyVilxwl(Xq4!Icd?5een_2Q5j!dFQkC$auPm9IKxRSy zIZD68Qsmp12BQ`Tyr0bK!Z;mn&u`Ld&n_CweOEZ(ttzmAhF4{NtjU(>ofS^_g z;)atAjl)npuJJdwt`Oe65sEUw*feq*?>~qm?`Gfxh_+&vV1Dv~{CFr{>B|pJi z5-bFpCgkk9VxSpTJ_+WlZ0d}Y}J$bQ=L^L(87b8 zkV0wN;y;PXeKVtxgC!`;nw>pgCoq$|RUCJhg)|FH=9jx z$0rehgYy!!1XC962lp3EHj4UdeK&SSs!@S=w^CMO>N5n?IfyAKj;al*OX6+Es%3Hi1h1 zn&T1^#@wf(K|PL0ZV|vldwZs^CN22ef5YdNIP{aB5E=lIXZf-{eU~d9m67RDAYRea z^pzPt1Kf<@(gbvgU)zp+G1X~ZWjKxenHfBcxkZaZ*flc3841qL>;3cAZ0%6!aQRxe z?Pf`lNAf3 z#&>70M>F@y=+c!wYdyFnG;D6bN*tsK-$)oZ5+ z3t~k-$@`NLSqBbt-u;+ykxw0W-CI9o@?4qfVaSB8L zmUM11OOG0m&Ma~r1-pojek0Km(Pakyy&Q1v?hiv`n+`BmMX9Jmc(IqWZY&%x zjY$4*lY(LY>qv>ZY%QSBy5mi14QiA|pyFVdKc`HVani73^uznCR5^^c^1a+n`e!)YyjEwK+V8CU ztvkrBa;$By!sFAROx6=~gp`57w0}b!lOL65oAblSDVA|xQjsno5sHW?9>53SyIXWA zQM^r0&qID+Ek&x0PcJDY0HfIbm8zmV*@yrmLQ3P;Sg-+jBo0{ryeg)>D;>_L#hichi}fuu{$&B zc)5koAA+KP+`@X2)o2Ai0_()MyOhr4Dzm8=;=e9fLo)VvKt}22C0R!kOrRFl=(@B9JPd^BCr0ZPuz?Q$ko-=g{cwKiT~c+ zUjZ@XLNHz`%>>)@n|HA1Os9dSxA7za?lLtQZ^nhyVC|g2`Y3c-2;nA|F6u*!GY=03 z;`>Vm0V61f`}_Mqf@@Zq&r<{kM+JPYZ&|Aj3cGZZj-j%LMS|&i;1fZTG^OO{Gsc!C z*a+3X$ZoVE-o$NF3wi7p zuBZy!1;lW!ipzczL6?pd$(^0^p(xTi+_@DDgN~JlNEu-L{bFxH5GRUBHNq|>CHFZJ ze?b>3Mjj+;RU%n?HVzGSO91~e_Z`P{c_9zlrPjK$d@(bgr_Ti>wXQGXj=e?5Bs9};}2 zghA;4V+pKTY-YnbJ=!iWzCvTtZ{cZx9N@Ye$bF~pZ#(_O(dc#pKdDIXdvY zTq#d^+U*CeXmXNgEkHPriejs5)qzt+6Q zsuV*!Qo_r(f7n>rj3b7VRt_U>&$5Wknn| z^@hCz6S%6GJz*{h>ir%BB10*^!T4p z;<)gBCJw<5kW-L2@_#SUJ&h6hCy+8CkUHgYxq$+MYJ)Pk3oP37M!>;9{M08{6Dtd1FDIp`vVRHDI!IX-c+PW z5d`Ta7C=Pl0)j{oM3f>ROXXzVp53 z1a`AK**kOZom+l0JG0WpP2~&lNH{sOJ=ZNxnJ@FZ2F^Oy`|9!=$9Q*_ve;V&2os%R zIyIDU2NvYB=%Y6WjR2duP z2^1|^>a)f&Rm|;CF=y4--MRbmgCE_ksmW3E3d_+%$A4aXyFx+d$Be|Qna{C`B;B>N z@Q@PGNEz!ODBJBCM^~@d2tk2fAJxAnB(tr}P}*kJ+XrQ_dp$BDEkBnnTz*Cc_XeAQYE>cK6~)JIdNR>%he}S ztK!SBzb7hVfvr5v9(RJUc>CeP4y1hFdR*AEH3ro8LS+EUE!#H8qty0- zx;B8In~M3tcRx9FBSfXf+;3{|boq_t25^4m0)zbr*e||$)CeY2tZCUsXknzx`py~z zJcHWE{4qZuZ>Dxf6yYe$@G43zJV@gP#aHSt_@3^$?kh!{&oI9aa@tGbP84eUbhLDu zHiRz=hWl8R`K6j1c=Zj#0j}EaAtjaGM=IBBwH8I_grsIps^Y{FhG#)CjC9f@=gT^e zlq@0QjRwC5f@1isg2`4seqfp33l=$uCG~%B?=il`aBtwVP-0-%a_ z`}#ubIL&*^J^U4-eJC2a_Kp{&_WyJ8l^ugKd?OsrF(Cm4i9b`?z&g$cFv`72q7 z2{MWCqA2$W>iwmQ^S}H{yk4PA0L1(kvdlumP!sVjqW|0ldCW+1@7Sq= z(0WkK(vqA*)~d{;vOLq}Yg*KG-02M_BPUyg z=Xbxg?f3xVy8uoE5rR9VQjBWejiLydB;z_iQ9yj4CAukZnBA(~wS8M;I55(XA$A4c zx$E6sRR4i1M2!=qS+{30GJzV!Psnz-yAlvIl7J#aP=EaCQ-V8WCN1{!x_?7h*5}!i zYrIsguxQ*ZJ*w`w@!b#{TDTb?;+&>P8eyY;^XGvoy_sLmRV5c=KKvr;e1X4P;9IQ? zO(l5^VXn1M&hveb2-pUI%ybESbBm_DWf0lH5*HsE9R%EZ=vP$_`6b_}@H)QoIb>h4 zElffX%`a>EenRv&bN9X;BUs5%dmHxD4AxtShMV*?(z*9;BvJ*V1Kk!^R_=+!TF9NC zHvnPHT7jcPeka-=MbjEoaE<%YW2LLCQLP2IpaGr1Mk7oPoIf(e`fx$7*{uyaw4 z9_#AiW9&f1`clSfr?Bf!VI6J$nO*qQI|wg6N|#Nnq?9HX1#Ou`aVh`JJ3wT?I;Rk@ zbG!8Oe5RDZdG$8iG`y`w8qoGk`p3rCsKDPa?h_PR>e5ss1tfv>4M!=|GSWs-QnyWu zY8_IYPFa<1EBe>@ya=XqN4p*~NaixRmjhkog}!4YCwlmYM;|Q_UHd$R$=^43(Rf3e zcG5EM-3jE?4WJL0!K-mJ0v;bx~ zxntD2C!f>z1+HDuqvCeL#pn05Bl)O(2P~~#I%9UQ zSncm9@2juyt?neMBIs|om#h)IdT1>*ngWCpq-p&1HAw%vH-n?}{`unP`W;oGI6s8X zU{PR+Bv<-tC~6U)Qkv^K^hF7rg2k_ovIBYaH~DmejKRns(!?NDF8QpueZGi#k)%!w zDSdVL&gP+5hMD#cD4E6hUCV*haaVEBq|nE0I2Y)>H+{3x^a1rgjqkSWF|B3z%Erl` zolAF-4p*AzP7Y4{F1;jUVNI0vo3mB*0kCi#h?*W1#7+fK%k62X>GhVD_d&!+#v?6+F+Np0uO`-(UI6TpFP&(0r985o$wI2aemZq z4GE>b1{*!M8&4_^_+N1TE zYBsarV``PT(2l<~`s=%Er4G~|wOreje*@|Fq0dw~6gEBGPK`rucfFbe8(4gT9ek}n zVo0lhx7)ps?@_o0)#gSQJus!55gNCB?b}1U&ly*L#k*<@#jp=q+_aj)PwuuKQOK%9 zE0&x$K^6S&S)h_>QvRozKokZ?UCP5Sqw)ALr6?k|mpV`G64a(v>jTr{r0ZMzg;4o( zED0@DyZ1}6WF~toAL#qx#M_=t#CJ0ag zBE@&C)_sd=ZD92A0M*O)um6qh5ZGrFV`mROOhm9j6sK;=hGH}5+aJHT=I}pgGrrs! zJ}9VuTgl(@Kze1@Z`aMO0KlhnyduJXDy)LzPE$78k?cd6RbhpqP# zlW(+&Yoh*6sI0D9l@rWsFZ%@0{$KU2ulx{C|B9eSQ69|`-#BE`*YaFd0B`}=xE zWc5x$DjF7fcZ-Gp&7&=CWca7( z8tzf+ZMDm}DHrxm`uf}uXcL4JH6D^dXT> z7Ue_ruCbcghhBDJxW}x%*7TDKRjLbk#oAT)QToM5kOA{8ztHx?Z*RnJISP&ekMqw2 z#cHd5I|~`C9sd#RMU{?bc$wo=44(r6o`J#v8B;6RIt$EwT8*ay_{q$vdp2tBw;S|= zsVvf31*cfk;*Wi%Kv!~Dr=o{9%8?PS?Vnny{=7(<-&oJugZj0hHTR>^lYV>DHqYA5 zA{YXjQ4ZKm@J`d$s72shd?thJR$srdm@aB7Q~xpc z+?X6}@_6=>O@${k+NtC;`fgOabAA^wuK=29vQ>%N8i@#Ktwi%8YNf$%=uC$_7lp@N zlWJXA6yQ@dkR(NZ?waJeu~UQ!DE=@Nsx|sux2FduAta!Ka55JC5y1@f`cDfFzAaJ?0fRkobV3ZaBKnLrb=l7yu zIZBqw0gN{^ZBm)!zujNT(1J7tb*;jiid8N((ZHNtDk_n}92Y3(qgWwk={H~D%ky&Q z2Etwgevw=ch(GQu^3j@sFM!|sK*Dvvjm#FO}a@()?BW*@A{DDEq5bpHghH>+TTQ%%1<>@j1D#-?N#) z`tIc$Le?J$fc6E=MKl4fJ%5%2s?hcDak!3|2-^) z8{DZ!APL?CiPoyfnq7GLEi!hlbHMMF%!KKlp^+JM%wY^O;#E{D(Ct)W|Ct0V=4*MN z83E7)?eM|+R1Tq#l}}20i?#BSsHU2(aQhqHcC+V&=&uGPTLccg!fgfaHP4XTb)mQKzg`S5o1 z2PejJi58>+#}a)f09^l0QgH(u{b+9Q`O|lEuHXgtZ|&G0@RmK7BYCd^CZiS6F$r|2 zvBd48;U+~dFvUS3@lhqum>v_+Dh*=a!NqjS=Td4&7N3kBr{|y^!9Y`!*@&Ji>t!aN zCJVm=lqxlCfZ(x+>0Tm<4Ge)d;6u+I#_V>o2Cmtu_|Rtnp!IRuJ;Bz^V5p$FSG(ci zvQ(RUqcb^w4d1iNX@}ff3adV8T$6vCL4D^NwPVHAq4dHQ5}rU!Q9$WyQp&d$V^&|c zL@hEIcdwS=ECaK|qJ6CaJuG~tTIf68o)_(t zIG$U;*LAUG?7W3sU^4Oj8idnh>Ru8(BzWeG-#*YPs2hBR2JJ~aOIwV5E+`THCf|*B zwS?>r*_|I_+K6FSHN!yn@UMNkN5z1wJ&?1mh@8gZosK#V&=E;O9JDh*<~1cV@oYCZ zDXLDpA;6vmxEoSy2}ZnPxYpHby7=dlB}LslcP%o z>F2o(#y{8btWiQ2AAu>JuZz%Rv#U}QXf#1zu+bvvp0Digj|NPLPNG}ii`Z(r{Y+mr z{xM#J>FM<08{V`(M}CC|wSl>bDGR+ltL7Pqjv06Izfo5N~`Q;VA46m2Vm7cv*sWqrH*X^22&Ewh6 zyttBJIEK%Ak@79=g@V(EU9FD~`mhIT*@|?vtBoYiRzOc)No6MkM>X!ngmHJGL2Zk> z5HJiojLYkn(qrC0zq^n-|D9s?PeJHrKqj-%JhqUegG}+iw&<1J{kO?|jeTE^lOE6P z!XA#YV$(Cf{8&J~s^Rk#V((KR+9gguCAKGI+V$_~xDxDQSE@&=Bu@R+adNwN)-Pw{ zwhV040h+BqS{nN8rVsYDrG7_=kE*k$juvp3Y~Vq!EdwCaB7rw>(Z4~Qa8UGI?^wO) zQh@1th{!SN3wTuj1KCILs%am`9cWQrVDD^@j=7Pt1J}~gq2y$z{!6!VJG#Q2Z^|p7 zM1DsJv(Cf6WI;@H{WcFo5KoFL(O8b&@A9#;8O&{c-laVd^Q|ub1uPF= zVeuK%dUtTJC>S+b{i502^fh9v{k>>s*oWelr?6A7EiJ$v?itwyy9|mnc_ody6BO`T z3-g-B?sQm{%;FD1HyAk*hi0DpD$|Z`n>7i_m%EmrLTr!3+b&%vWqc-Mx$|X)&N7is zN@{1zkXSCH_SpCI9+@c0$r}P)xBi6PqoN3nNaFmd{o<> z>=nKDULxRjmdI7Wp9Z7?PPoP-c{{0JW2FA)+b;dp|6XTLmy=a=va?D*3G5OLJwfTb z84%Zc564JcLV;v%e8IKX{?4KK$k7?qH8Qxc_9F9$nFTR-@*ce)V|kD(xLsdnFYK=J zhHoOHPH4#Q?Ipw@KpE`N3rI8NT|1C>*_arJ_DbwqL4scW71L+45R{D`X#}MAEfILV}T>Qz# ztiq`YcKe1oCl`p%R+tYL%jS#$=3w^ooXHk=;`&epRK=CADDl`+;CGyBBd#`=hSaup zBGb!kF&?&cf!qF?@JnHz(PW4@GW{T}E8?Byg$zX+P@#Of(3=qB=)E829&d}M__N2{ znH*NZm33k>cWF^62#}?`+XTmtIArYG37CKa9Q+CV74hY{(!lVjrF*Ys-_nw^D`H<- z<@kQ|L<_-AssP@j66tp@Fh=57OFHaexkC#w8$de+JN}i>`w)KKc07II*%wdn|I(lD z&T~%uAc&h;6Lx|b-cf0MGz zKpUn6uL?OM&s?KHNyiPz`iS~-sV6G{N`3ykK{0@zu5&*(be;6&78g(UWYq)I?JGwS z*WZR_1gt#T>6h*o>alD=mcZ%KDrh5~IW9L&jo5629rPQyfGnKZmwU~Aex<`{!jZ-o z+_2G{HE*fH(pY+?_859bHA8#8LKY#XmRIv|D>s49UMcPXfPeUqReW>40!1cXgXZ%Fu??)Q;C96P>=SwFKK^>$zAh5eScc&KkYn@M zIPT|ll!vl%5`N3>}ZEhu&a$)Q}%r$lnB*-=#F~a0{T!E z^dHxLkJy|PE+V6YtR{ZAkHnb%8tk{TNfbILK(T7UVv;b8q2Z%)AXlM*=wKhs!erhE2PmrJc>)MCtheW)aLF4{!{y;70F{_~R1kVQ?gx^y)e`Dq-YFWi?6hb^jCo3~t(jN>YNC{faP= ztphkzxB0TFpn8D*G4xYsFX{?u;AZFDy$#=GlREr~@5J7R`6zzUfV|BY(MU`;FxkT2 zb%~_12=k6A)7va##im|rLg1%+cOS}J*ceQnOSD@ZQP*7u$e2yvUNg-XyucG84Qx9X zsi%iU$i<|`uN8dRr2zYw-RZgEZ;dzAx21ndXWr;r=m=2pdTUPuo__7??^WG+zrF7y zJ_lYMK7hYi+L5t}SadLU3n`tsH@VkZcIl0^Sk=vh74KiA9&UZEynRO>T*ME+>n7A( zk^*TTV*#c!?nOKq+~lmC2(lQ-IPRp+?=_Ru9S$E}Lf`5stGuu|7_}Wzw7QZDI;2*y<~}>O_q`1Eh)zQWxF@9?21E^DpuKb--z!u0QNNHtUQJdc!!8Mcg9 z6-2jA_SK$#q@f73OEHJaUhC|PLQOtUvAo)t`FVj#%3KH)ey{!AM!L8gsz`Lz%{JOXly{r&Z!*y> zpq@MkCWex6&M;9zI6 z5qKDRO?F1pxFGBpF%0Mq%>CxvFfxvNw+KCt+AUl|(w+<)ZTM_y4*`cOD=bo5L}7~= zpE%qR?#Zc|i3RV)mY=wDkXfM_pBu!t8HDBCPi!%ciEpRl^)@k#rGd}baX@@J|J0j5}5A? zyF5T`bHk#WeG225(fFFywHdicP@b42OJ1NRSnv(!3|*12h54yyIh)wAW`nCC0TOho zmcN{-e555s&%;do^k;{g^6IU-=uP*pRu}4t;~mD&BJwLyHw@58SEDjmoAbKjQ8lkm z?qfGaZqJ<*qsJMF6nIwCdyX_zt5CcQ(nm1*b@=?NT| zFtp7o0l}##Z{d%XhQ!`C#Pu)2zAL((;2re=bKvWOzaQvF(<~Uzr+(6er_(p_2|av~ zlOk_;eSl{bVQP|trHW&|9GxCNKDA%b$*{W>HLN3pcWNkCr^!-1R?;8LeEO>3M+OpK z9Sk^O$dGhv&R;OorXDNrusJ4x^%$z77kR$`vf9wmyZZW~vO9P^AZo;0<~=paiBQ$h zpkAOtG`V-nMp;rxO$|Za2BzKKy((v${o%6^a*=Jx&jLzFv%XtEN=xJ4t*ShJ;0QQs2vC#)vFWXA zw&sIzqgx#DjI$5ocQb{E%kT3MgZ29t*S~?5JfHo8&*^pa1A9!nJibE&OUSY67C9Zh z0Yr8Zd5eK#Ij?K@h|HDGL+C%tU-!b-y$rly*FVw^2#r;6nE+{QiNww_Pf~YRl(HI{ z6(}0PlCZtptSZMJ?1*_88Qr!>apN9RKfhe*_Owj_cBcWLNL4j+8NjfWIGBB?@wq#% zbHccozx%ZkoeqX@`v>Q-N180X6A3n+k%^O30Nea0uDi6TT13TndwKs;_Pr+d%ElyN zpE6@LFt*_$YADUY8dpIC=Z5z@j$_>SC$ncSd(-mQ^!^HIy=a?ROuz*qcG=kNxdQ&@ zo=@$$7kf>9$Y_iHvdO%6EhGT&HZmeTlqfMCCXK)vO@>LxrKb{{fa^Qb#$us8+6O2T z$DSj1lEw$z{5C3GY2d08a~2y1p&qpAIjByA_1st58ybvNh33Woe==c}SJw$(J<~UUQ zso)XE1U7BWFT_L8VL}Rd(#i-R+zEF5Q_QJ(PP*6dEj!{sEcsZvG^ON9A9L9Htq*_y z4$9~RJ|Oh``pp&3JoinwY*F)6hon|U6?Hfk)eM&01$p0}gJU!z+wX4RS2E$+l#wzqM62vgpk6)vpaM)3gO{BQAfHwd zb#aM4X$>&sizfdsQ%d|{TZO0>Ei6kVvFL?QL;;1&r~7v}57^k2_9tgZe`^eNU+U;S zZi8Fwi#B-EznG8kGup%1m#r~{Kk!3gN`i;lpW z{j=r{eDniBg0v4~BEDXKnGtg)gA#h0e%2q&eY*4i&0}DE-&N?xz;tZ1TEFV7X|qoI zM$r(^xFsZrC5cYaJXZKPf)vn=@&3l8a|}GB)fB6sF7yyJ!$@smV&&mzv!Pd zmXW%bDh>MMwD$NOSQSIWKS?Q=E>inGidCEg3!deU)XJgMmj9knsA^E0rN3v1Bp*L{ z(!XZ`Q5VS`{c|m#sr{Bcx1^`&qh(0bS#ZtMxQF2ku)oW^eCxPc(PRcXkn&#*;F4O!9kD;+-`HINn2Y4*(^Vk4hk5OfnY5dZdotO&GX zG@Pi30l%7rTd+XSyGhh=uqCq!X>;w^q7cA$Ka_T8--&11a6Vn)qKswWNdF?Iq;0j` zd2zb4f|tK%o|18~Jy@3ZULdy=#h+wa|G{tH)vl)sWmZn zuY>Q#D_R_g3aA30UMSIkUT&tYS1l?pHm9EeuXeAFvfe1WALgTIdj4MrnBOL2sqNqm zIQ%t=b{|N2`6s;X>*BVn-00Ji-^*33b8Mhyx1(fTmIJ%mZD2T*Q?0Uz66BT*F?c() zvVrt(dT&6NdWG7CM10!cHl%QH@{3E_uPSZW+;Y+J6(U4p7jjMitORoxXCL zKGhg-Isymf(w5y`vihe z3k{g|x1wJ`3RNiCn-c2q2?}sj*}d#dHBSCFHQXmnMjlp5{JiX~Z9~cmenw?OdMt~F zMl)L{g7_9>E=*qHSmAZsyP6U~N${X>_SLE8jL2p1v?c^dnGHO!YB0u0t72Qv4Vnl% zq?2jZhR2I}Nkj7gX=X6GoOocz{*gA|P}#6N_Y8#iSP>@8_H8A(H-9PLsa8&}9KR3? zGmp-&Rm@AsYh0Vj66XW{k(nuq+Op?cqn(D632+{DN<2-e@g2Y~srBrSj&?77T9yz3 z9I+VCh_Deqb)7ZQ9uxMN@3AUG>wsTgaSn-vM?{_!bI@-3zC0~>aou|FJLhmT$EW*V z4X1_}7O>)(T~Cxdhc8r~$q5u-{RDpL*Z2hwZ1tw?G$Apn>)7rfu?_%#ySDE#E|b!H zgD-LG2qbH_1Dr{ijR<^dLoWtAaRt#5IuLdtw5egc1O^kKViO0{pN^HY#o|!hdZ*!p zvR*YET;8`&;=T&`=^lRZjeS&r@4T-UD5<@$gQeOT9Jx#vysol6u>z(uvA-wukJ17^ zFi({)1n(1R$Ni|!uSl_NNM4$zpIJW7A<^iZvQ`+A1L)>n>(uSrnKctE@3Xa_O*i58 z9a`JiIT_MyP+tu`s-ZO4_8?@>d`Q+J6ZW^Fdt0^7 zy9elLR=+`NmGIp-C8E=SSo`G6Q{}nxeI-Jp2(U%iImFqK3jOeBs3ZsqJt7*PD?Lqk z4QNAxLY#PpVp3gv=8e_B$_Wa=l>M)Dj%hN6Ic-}Ho+_7cF{^K_&B#-i$YZ|aajhoK z9D?-E7yrru3mZpN$&$GY6?r}j*OW1{u5V{r8^V68-O$LMQSRPIqejy6J|1jO_@Cc(zpd=+L)PDU)-5Nbcn>`h1LpAn8)Z~sSFAd0-`WWfB* zr}X^4Fz4v_1yi4z1oLy_Ph6irOu3v|Hl4fQ5vPVdc4>Cwv0NNejorX5IBD&*#k2p* z(zE}-9Pa6*rcNCP+Z{z_XglY#0EgKpfOUks8B!LE|a)KX0 zPLI`eZO4MM-~Rg;wop_@`tCgt0o|Z|s`pG<7Ib9ntj>HX2E%a-3lA&Lysud=YMO+Ws=}s`|{yfgwrj)>r1GlFu4<1M!eQo#M~e zOt}0K$duPmm+hO*qaG#RD|r=qFvt7*pBRGC+;QrW;=tHM464EQKbbmNJK&L zR0?9e`S+sel3_hg6j&^g6F~O)1)VD2?3M0GBJI9KbTB-(t9EQ1VcB>A-r&>jf^p_NJ2>pDfbeTs z{;hxv{kCq4(lPtYJ0KA_YGZYPKLOkkqNO!L^+ZTu`ZvI0a=2WDrnjz0@!QUnvSA%H zca?z=e#X|sya4DmDgeNDE7SW~HaDB2gEPlU{0H~XUbRV{ zjWa{@eT%fDbHfy-7@OM73vgrRlF%EK>Gm0N_1hgJaKquZt_;sbF>Nv^+s8M*dS@&a z2FC`&0ZhYk6gVTdJu;nJzVrbLaI!s(Jsga8n8GBB5S4b)db=c0-33MuCl^nU9$4Ex zM3OG-+4##SSj7qKXE7QTpBj_%)7-G(fa^Sr)TKCCu)8D*ltYt#TKT5K-}()z1mpUd z1Ddm>jbY?Ld#BNtK>mKuw@vc36`)S_zSCLp*`q zED4;*hn*q{?z!R6WLwi8s^k0>E;Gk+qW(5wyaHX)BO^7>y?&d4?pzoNY~pJ}GN><< zAgUK47-freZExH}Udi%>wVt}YoNVR}ffx9?CmwFl-*%|~tgoV5W|i2xK=oyp7U&OK zx@3#UOCezxqQ0-AvCZP&w#)`zqJWAnKz3Jwm)GUUV;|&5|P$kIdSnO!%C`&a`>-Q zA<>_0t<1rF^YA@DBijq_jIiyVq#4e%3b;TX4|8u?&U=q)I2nzW5I$zG)7L*{aJa&< zxIuBhLTEca6kg!M{ob@BXeWcM*iD@BdxZnD-4&8?loVk-48Vh_5mILj{K*{Th(6HTH)YHch!%&XZnVZo^ zxQ}L=P9BiSnl205{sO1k`|@8eNY6PK7fpkUhOldKS6G)UDgG>Mh-W=m*zpKaGsW(C z@{E)Vg7}02;&Q9|t|Mt%D8oxSxCh-!X4!6{ByYwk^8b3Uo)^;(Pdd0fY{{Y(?SU9` z8^c__F43jWH0e*`)4FIGe((L_nO+@Gh*rvg-A<%_7I6d{d%Eb2@;+LBY4q#XA_>R0 z@V)HL@^$9vI!Y;UF?9o?$xaswFP~yU??o8LpkM~Rky?;^YzYe&Q7*aWg&ej;5NZ)Dz2C$8kTd6bo zjk{fL$;TOmgcNzFiXjlo{iXkW>Y!z~gg%t(gi5x0rc^cEZyrsY*7e%GSZO8Eqy?{n~4hg>^E(-B{_8REn*D+H|qDVXzQn6<-9UnJ6w zlCUGUSRZX`ym%~cBnv1-O@F^-tB89tEmg}O)##D5oesr5UwFXVV3h1sKK|LC2g?*h z#ULmp74zW(_0_9a!G`f0=IJ;ZguLno)&z*x=p91a9OmBXC{Pv;SpnrKm+N@ywJG0u zBf$A_F~YiFF5@R9ppO8*J9l?&9wfKhx43DPX1_0>BaJr!#jf`c+UDuP8?AqC5JE@} zdaQ5I^y#115!S_L7JBJ0P;bm!?R4D@LX>lFjUx4-(rhA+1c6VJ72sNp0#>1 zzLHuy_eGurg?xzLAIEs{{@Bxa8F{=A?+JJWXM(Nz6^ZnS=3(sX9yp4M@wtf=nkoBL zQFLbisF39wzoY9!6m&6$;XUgd3@A7fH2=+p&q=Dc8_4Vu1u8b@Sh` zG$>BasHzm)yd?MAR7)l+?_7LT)ZWHxX@MoyS~X!IUsK9x`&*=(+}yv7em>y#W-801 zJ5;la8B%OR&EoD$l+KDkPYw z2)`N?UMf&d?V;cLy2j3F`hK-bR7W5b-%vp| z^iTb^zWv-@tBX5E6(Wazo_1=Qd^jbtneY#fxf zrI*%q%Hp>>>V`FM0bFK@elt7tFiu|aj}rX8hQ{0FZjQjfz}4|`p)#?9ttxaz6_FD9 zLfi-@eJU0$Y3 zvrggep%qY6jB})7xRd!rv+t^(i7<%ef@3jv*2!$d!u1J&PFaOzJ*c$z2?8k(jgD~Y z4E%~aCc}6hAKhz;5;Z*tl4Aqjjt{U)gm0nw;21X0a*;M}`D!U9LI$^^vQGq+fM?12 zEBo6)nIRNdm&3!?r$;-wIy&_2QG9vN>O9=GCgL|YHxK@zv!4sA5_99gtZG&9_Uk~m z5ajY3pfJZ_vXV}Z-1PC|OW>X>Q0HNPuPIN-(63%!4!3#kzuCT${Z+yml!;WAH3)hO z%Fg`pDYS_ZRR1h+|F7q%(BD=D-Gi}{EBF?8c1;|wij~n3+(q4K7>^ietzOAUc04`{ zVo96jx>e)4$FGFEWbMyu?LSiy ziNkHy8`RoqbIUvX@9sK-3wmpSEdzHp9dnQs5vx4tl@JgTk~{Hv`}xPaxGBHwmzfku zBfw1HzPkE=#1B4}JQ4Y~iyuV&kJg82Ns&ZuP1V~L7QBWt$@6=CZX3meF9845)vncP zrO1cf_N#;ZA3<1o=BfC>+5EG!FT9U&wbqIq{^&H`)~NgRtE#;uIwAamt9Vd_6{$Iz4ZF{ zw|&a$$3Vrs5B4?Ic@O(HDoRf1da9l{g!6KD;b7kY@?C7gDKv@m43E*}whpLx2krUA z(X=1A=(0X^ohef{?u@>Y$0qe`%5qO%DLAcd{GWMdHB$3u0JDwq@GGfIC2AA<<71b9@GLR~i9XtIWGDcI-MdQi{30(36suozPw zz1lH*c{uw-^`VYq>GDHuppZNXX?m1rB(qM+t(R6ea~b`}Ir!37vNezD+rQ~_pXBQo z+1!@?lS~U_7%_$TeUbiGmYT?Q=LH>*;5TlCplN#d;z_-p#1ta!e-m%>3qMyaqW{g8 zDFPGtf&U57|L??`Zico@^$lOTuxG?ACZYtLHd9ib zuVas4rQ{giQpIKTZRTTAN?SSS6v-4lb=?WCkov8#c6X<|%2l^6Y8>M#J8gZpLtej| z53ZR2jvMT0KidFD5fn>~e{%R}DA#~!MOUnlZUPkpZ#T29^1v)QU!Hi*Zom7U^er;V z9=gxZi6?O;6IPE{jDv;&L8^((^{lGFISkkR{)wYfDexpCN+$sdBJlLiGDqi5!=)tb!xc@c$ne!GK_W=)(vG-!g=m zUoQLDORG=^3JoYgE=z`lde1U6Whfe>gWmrA3n(QJSTSF%vBga`O{}4<{FinbcLGVh zeL~!Gh50x@c~?4`eCiSN3940JXs1UvPWr8u@U4fwuj@khMKFIo7$DP1qWpe+W76{- zrz1#}J}hFQaB{IZhzh#9*UmTU(|zj%!^c!*I~HB75*9h^hrrX`xRK%YDnujC#x5EK zyz$5%|67sW$;!^V$;QI@;=`fbE2xqN1?P>1Yu(7Fp^QP97KJK?=2xB;d1#MDejzGg zb3$Uuw1S33x|#zNRkU_@{2iiXDOYhguAe&u!d`N#ol+`GQ*M+_TwSGH?ab3+kI{{> zRYqhc#XloWqsw7F%uBdj zP0|nBU$MPZx3MkX6TvyIf1=Va+}6>F%IUF=c-x%B3KL1H2 z`{xvsWqH?URxXV~qmj7e;@YA?0YqpN3%gFn^#f7SDonCy5oMj&hM2KZ0Fkoz=54M^ zOy6nO*e@=!y&STK01Y~WMBtHr4QrU>*Uas<#FeSx(dqF;h^#n>x@<6p8yDUwEcTIc z8c_oWE5Jz`JRb6Tn|krdLjlN!T^lGHa=f z`$=KA#bWrE=~1LtA6XxH6j;LH!GnkI7%<>aqZ@^$!&WHXYDNvfBITmubYCVOjHcf2 zgm{sC>C6#vBcyfOy1l@)ugqxHetA zOiiu!`urO0lUFZD_C1`D=!~|62H5_=LDk;;$F_QG|D|i6)IhH1;ZTQ)ul_4V6*twS<|S$_TBH=nP4 z6ZzBzQyzn(Rfn>MUtKG{*(6ak^kOgeTK+T5EFyBd7Z8ki4+BxI?ctm3kksPZkvn;V zvpXJ!S`iDsR@YP&K;L3_nl6?hZO|)fT&D5m0gc52XkbV8=>As8-5J79_Y-vy=X$Atk-}bOl9-iMzo=gR;VZJK~2VDa>p0bieq=|-ddx&|nNHPof{<+Pr z1>_Y+VjBW_&u(u&0j~5j3xxYtzuYTQJR#KsC5g6EN0OfIT0)ZY?5?k`2Q)WNDSI%U z(Enxh-J$HzFPHh5an->y-x#QOpYP&gBs1xS@Q|AN~Re5>%AGjkZ7z zvUkTDKe+pqhDPdDftW}BugCe~GA0lFUsQF)JWKd7x#?kw<%%N^4rA^Bd7sG%KV$A7 zE7%f@l9k?5SxT;Uh~6@KEo1Q6m_NP`u?8ok^=jBRG-Ddo;&}D=njpA?o_Jq3QO0el(=1%?N>BC-J>yx><`Xg4MZ#7^=gjS_|iTW5SB5@ z$vEA7vzYBRRw+|y`3$I6Ab6kkfyaTm?+q~D9_T~V?z4k)klWx+yw`o|O#3+?WQy)I zkjvLJlDD;yQO?_>GVkS+a~ZeSMjwZjNo)!CI9T%>oQ{-ln{tkmco5IjjKJwvQED+h zo5C!)Qr$Tj3YXI7L>E^9PV?}PuAOW2)Rd9XJbm)XoQR@9;1xEtRrCZd0qp*I;)NOh zB9lnfa?HmxWVdre1K+}LeyBX9U(UljRsJ)EeRuEGDB zKxY;)07ug7j@lo27aJ$oIC`naKel+CQ`92Dl4u0($Izi?6D#m(n6m7f-04P;xUA{U z4F^eo?S>K}5X*P_fvHUdbEeXdfh+jeE$+pN!vET7dW%oQc(Ddt{=V?7J5foJwdxbj z3@`8NbaE@?*E`+0oO<3DVlH>>jqVeB)jFkn^T+J^ijDx}(d!ObP?=?Kge?wUO*Sgj z*;~n5_@gCrc6d^;e#tantML25_+Xj@S$~)O|3lVW0L9S-ZKI0?5+Fc;KuB;68Ulpi z?rw`aEbguYL4xx_@B|1D+=4@pB|(F`ySuyW-pP0Gck8eEt0;D6XE?>odAj@QKHYtQ zYdHCiNB=@THhG=)Vz6D1T`-B-A9oCSwh=ZaQ&viy9i1)P@6q#jsd*1mfGF)f@D0Yr zA3~X(g44ZB+WEIEk7vtk205WH$filyK{CPoPmlZ?OM1nr-Krf>Mb)tcQ40q(A>vSn z_qood&X!ZqlEWiIDx6c;-wgQnaLYxwnWG)P>NMiQ+|##W_owlyL^VaoJLI8HC=1){ z{8$wcS@yUcUlK|!Uv8=5cZ}5j5JWSMBgkCGF!W?t-q^f~lj)1;;PSvbfish`P zW7WLgfta>rcvkzyXt(Nsymm~y{>v6HRVu{=2!6w&YQ$|X z?pcNvV{gDcY2-1n>{OM!=cAEWm&-@jAD^i5vPvtSnomSH3kUj_wYX2=mfyWj17s2x z;57+ri`SFhj`CPw%2jTQMWA5(;#B1P=lVjxiuT@3aj=BmF%PlwlPV;~&Els~VHf^N z;pB|vE1*;Svdt+sbcC^iXI|445#~yUIR=<4nMFCZD-Mo9`HR>kdGd`7UKldwfn?%`5$=Gv7 zeoV^{;=J#v%kj@XIJMovAO}}&c9r|TA8(Mau$1H!Zcyn}b%P^Cfg~0Rt6$|_B7LML zkHI$WZ%vBL7e|t6LtAT4ZZN&CtG;gZb71GnsL(EQ;I5vSa(%r{9pfFzw!^$tb9wWe z{QYRT_B+5OHSC?E9^(_7XQs0uY$!68 zHF%&8H=xrum+v7#B5L`Pk60?TD{mG<2Lywd2phgW5(TDy+5CDWM8;? z|AbrA%+p0r#u=v2>!x_nTP9ae!p1j=Gm5HbY`Mig6cY-!$8biv-kZRED@ENBJqo^Q zeHC;&`&avtzwBdaZYMC#+ZizaV)L$EgwAo8G-;I<0n#(oX;nhDZkNd!%AnYPp3(9L zk5*hK<)l2?m@++&XR4oOLcdJA4c<8ITuptk5WaXXQcm78of$|qU538)R)arL-^A>q zqx_f@`41gdy>5=nw{wrTV|J*GXSVrrXUQbvY47uC0}26GF^{-5%Omw^gv?W=kZIN| zp4*frh4~zJ8e=qj2%-U$Y^ge6Dgf0|HcI4s4EEJL=ydftrZ>Cu$Xi`zzd8RoDKkXmq6*xIL zLqkKIcSflHbabF#-34Gozhtu=JN@?-guq8eQhAgD13s11dGOu@qhfzRaL zg2a|b{yh?P0mT8e!J&5N2J^-n5nF9P`hw_t-X9t+rm=W(xF+h!$ic@Yy~J=N{YZ0z zdebR12Xjwwxkz=^2 zP%%#|Z+guN=cFcE&^(canGFmDLi0w0h$s#iK~i(Uj|=@8!%91Q==mu&(A6@TI9e$M zTwHEy8DqGA<(_e362b;A`U7j2-5jA3u?y>R^g{sU#5u}V(U|!HYO2cDOtj#7(b|5a z_~1N9`TgdO4^J>+9pNl}qDl9y-<8Fh$^d6KC^H|52@SvMaN-xOB)rm3V$05d%jIX( zvf!&^R3>Z#M;25K?Hf9kmm4qBKq#0Cp`5tLKw7dYfxF=HuVX=b5O0*RASFSGgSWPQMA0gsqI0KXP?{T(H>V8`;V3J zfxGV)VbK_*FB%xJy~#F@0LU>)X7I3`L!MNRh^SVwBD^1s&$l+w$%{mT zfV@wlW__lC?dugM?13ZrCJW_YQCmJjtv^5Y)u`>t3dbNk==UpOaNQ~L*b2;d-znMj z09su}>24(>|M`b5xt)Dr(U*VABTk4+c=k9Ba6fWIM52?Si8g5f9~a22%mN5MmkVE$ zkmwXW3e`?f&T~qB`J!D?)t~riFPA@Qpq4*r!<}eUIN95)UZlpTf9R>W`Lcu+N+(Av z_hP4(3|tBNk=AQ6YgX5nBNmv((swd$V-Y>c4np9+|3F^W)Ms0%7BaE{f!d&zLnVU5 zda7E~5&R5^@bcm9iq~`Jz-c&FE#4I^Q~SuoAkWu1guv(8^}M8-1s5d&=n?EF1NpUllIO}P(EoOUoBPeMP zh-nJkgXJ6p)>GDZ_?vre^l{V0qJKeEl7-%Ac{Em8T;W3Y3)D4F<94;tMwxiz5}0V) zjU(S{cDyw42msDRMaa8gV3Tg05n1PY(P9@I+zB-U7(KVF%+D$5gr?IJ9*6kR{it!? z7+hT3{M_76J3H3k`UAP!K0?4@<>oki?4SgEqFxYE+xwvPd3uEXu@EGRb|tWerbxj4?tjvS3VkZxnF7yTq0*4gQIRCWWD;!#W7xAH6qb zRPa)fP0GA>?-Nk#0uf~YAQ(R_BJj6yDW@V@g`&BfuoCc0q(5Ize-vjvQgRxa%Z4xg z2#tT_V@Tswb7T#j*vOCqj;HgE(MJSQCPVD)g^|G8h=(wp%?1y z#kc2{4SbSmQB-m}EE9razo;O8zc*93l>AU@;%tZ5<@!PRrSH3;=p}=oA==n~NH8Qs zxHKx8iY4+tm;(Irg5k>~67i%Wz>MaK8z7TMiMNQa1a-WmY~pzA&u;m&jr2*9Er&BB zE=96etNvDz)`DduS!Zxw5jDqY_HRE$n^{CNh4iu7DUGdfLiZ1f7Ai8wHeS56F6=E^ zZM}_jHQ&#wY^kErojci*Y|==Dv~6Lwb+;$hX<3|Avs|>}x$nJbugLTPD6oyc2SUo? zeKZI+LAqwOG$HA;Dj(m}Ci7IbGVkJ=EKYs@T(FNS->Z?Wd2trU2lN$==F?)vG;fVp zph@kgwDQY^tIvBZJ^l_RLq)}DQC{qDAC3Qp+R)SKd=hj_yg zSPA{qj34p8rvzg?r=##H9ZN zOH-%#vKTe#1(`Oo$6TiWqyNl+O1jpz6DDr)UFMCl(c3L&PI?84wsbavUsA&> z34O=?iMOX<>FLfhDRA+w%~vY@iTn*#?8ta_!R7CgVG+2l>gUE#0hb4Xu8Tp)A!dBeo66LA+RHmkMR?ZVdx!$m6K& zi>+s+L@@4NYUvP7i)zqm>|pPAwf-+#)3ze9BLr8e6h;4fEZ{7BQ5W)KD1%NQWFAyQ z!n)2FNTA^a-wAp9KI?XyAS>fdzd~uv&WoJVDg>rqsf>_OtFK2*;19C1WhUHp$rR}E=He@PFLKtGCyB|lzPp1fT3g#w}f=FQmJ#9 zvASI|kMmRzign#&<{{c+64}r9*l+mfoe#Bp9@xxLl%?VfFy*nh_{4S6^KmlUq*{%B zsTm^f=29{#2XqnaYy^{GgABC&ee8>;3iN;Sci zO?~n~*}=@wxN@{=W+ikq-2Xk$5GI(SsM<);26yeXph_k3kjahhU-BS=_8#n^Dl>n(EU!-{jve34v-6Yx|ehLoLMv# zGyd*=s2cTE&g32~lzI1xv5(2^(HdYvR9-u7j4;bVdFOM3c zf5Cg&4J@&1A=Ij%d@LeG14+iTPDL2?foIb5i^{y1Ek}u6JP#3h%nL8Iia2!AJ?Q!7 z663)#)B2~y$gz!&_?FIK|I6t5=mkx#$xKhNJdq*GzWQ$I3mCRRIO7kan^)F{9=c6(hB$!pl*try*2 zS}a;_@!>;>QVDpC$i$x0`NyioJ=;JudheE#?3DN+<5c8T&LN8J1o!P22(N6m;#$nR z{f%)erT0{~yB>+k(e4GkW*n72<-0}Ex*_EBFt#U|;br4eq3E}!HFL$a^P9}kT4&Sy zAV-qcZ6da?0Cem7pR_`mxwL2J!k$>ykrhjGDP^J@oR{0Q2-h$|wCdFng2Le*%B_}8Iu#08!dz7@eZuUvT)4Csi zOXD&`EBfW7uvB8va`kU$AT_SLTn>`bk1}xu8w6ut1C=<}#Q<{j1$!*+%Jdt;)Sf3z z8LR%Al}yEEzXce*w-8x^XLF`Y8S~?X2-Unec5>8PBR5 zHp{&ju?5a`73VuKOW5ZI6w+*WN{H1kGt$O#W9D|#S}vp?Z||*|bqZPYvooF~hCJky z2fSwrSRsw^Kz+wV&z2*_SjY=y;t>Tid!C8DdoeWKArS6cH>)xTY5ad{=yUz=JC*-Y zkr6DRdw|Pr%sx-!dkR8y4~4Kn<)Cw!q;M>X?B~7e6%v<8LLNtI7Y+904h5rO!0?U& zfA`>g(1cgA?Zd#L93dUD} z>(&C`TB<^?9U5+Kc&+K*beYLEn^cf*Z2vkN{i`ycJa^@QsdU3v^87N^plT5yGP)U- zo}P?@)ELWpOdbpb)V}6;u*yqHOJfqa7e%??Q0?xwRl>53Mno}xEgP5DDf6r)lY4eD zu4Vv@qzg6|eD`qiLQn416%*@>%9JcV>Bi?tSYczC`q30;%=?;T=4hpA9fuEciC8Do ze?iU!M&QQLG0AKvf+l@JFZKZnF)*8;?BR;eK%fFbf&jR+Av-SF_Sh*O!gdJ#Dwp{$>%)VQ`+oA(_4T*;U-mERk z`0Fhd?D(4r_+Aex4u53tJ0Z`n$%iu0LThj*z1%kxOxmA|_wlB1G)#fealGm)ktczC zdg9kWAot=c@vbyq}u=Xu@av8p}xnk6xRlL&X@r{6cBHF&jN?0=^0P-AnsH4`4sOGeEP(z^4xrX8jTW@==2I& zQeOr=wZhfG);hXhewH@HnstdL?=a<_onQXD5BFkKx|+)cFB@x!efRRGX6VW{3AsqOJH>6QC^ zyrDv5ao{Q>t|ar6hdkf8Yfy;|F2J88Z10464Uu`1c|sU0*|RUv&f4?du9#1iMd>XN zfR1iEYE4)1iVTbgoG1j+!!zvaHyj15&CU_(4;Omz#xd@oAGpT*UiU$oA)Vg2muR4# z5UL%k;_6zx0W4W)PkZbBS^ntxs(FyTznWDc(3g$ByxVca&LUPiWD=Ij!d$LX{yrEX z|JlD>Is}?0Q93G%66jkjAwcWfnnI(IZ&5dUm`L|muRJ`CKrC?(Hm+Otf$!WRp=(h$ z?+M7wum2X$hAsTdw)&TBmH$Q-OtqS(agTkrrDFuVJzo-e-d?8tTut3ECwl#g3iP&{ zd-OfEEOVDh&#R{9hR=)mlS}03iPfcKQA1^L z;Tpj9gpu8$(=gAr(fL>N7(Qw8Ql^<-m#dOXc!DR8ddJ16^&Yr7Q$Xtj{I(G9v$!C| zL*~FredLLc;0>_O5hqk}h(sa_US6<-a$a1*biJBAAozVMt!*M(1lE;si8r!Y= zreYY7(l2*2+pXB``^sGri*5jtAQSn?30MxkKN9q>i2pBV>FKpNB;J9IaN(e88(To;E^`U~a()uxEB3;m=lH z@hh+cVsCB195VdNc6w>ta&1}&A;9*8O2@F|XYTMv`6+QiHy~+NRLt18L*TDhn2dAYNaMPq0U|LoW zp5S_EYQy}>@(KX7+-(2iewv24bj_>6SIUD8S-Q?zhCux9f>(<_R>`;`LS*jK_Os4? zP6Q|9xEc)W?2eBreQPMFE9UCF7;U`<3mM+L#-)uS{olp}H)JO=PJ!wEXC@Ao4zIgE zizKY)mTyfAg9q6!%(De&?xmlFWbXkJs2eIMz{B2P!xAE%kowAHLV&tbEYsc{cUaN^ z_pa?9WY+%&Pyc?2!;HSBm-`HuBXcvy!M;&xf61Un=@IayjNPsmO$>0~l37_rfbpbEwBvSuhxx{$H7r_)RE#Zd2< z5zPD>*HrJ!HuZDnb^qSa2u|^`;>9>lblZZAf;nBC-EGp1HvY_W7PI!H%j;6_ORl+_ zK|Jy^m6!`dO&>DS#ef%7tykAugI}u}8zTT{X&9sMX(T?u z!=|zDS!c)Vhu07BB*^mPmT1TO;_d#fZI#u><0j1Z&hn3!67BFGb-k!3i0g$AZ6Tz; z{|;dt&%W01@~PG^{N~~9f*X?AF<_gooJRmfkkaGi^0$otcpLxoy!xVr2;Z~2@Dm-K z%(nEAOrDz$6MX*}x!M3E)9|8~XQ1rxC%-%U_ln{w9deNTKM6gMTtV3oXPmn4-t0lf zX%@`@rY*~;$Cq!$5N9^qgsy*}kWrnMdZSbkTXY^p-lM&Xv=Xk;XrAKu`O&xfPo0Y6 z+BqYp_ZFdm_lYcC!{fyHrrR>%beV&d3EP#OlE05Jc6A;g6OZbqf~gu^x!63+_n_>A zEdO$a)(%HK>3}RO-e1L3&edH9LPP@QJlr6GyGH?jfp+Tt^WR@)Gcxo{_Ynpxt|RXQ ztA?zRrB1#%_ItJlI^3hO#B<}%TwZ+Q`j#Z^R~t6n1WxuP=|dhbT+!&HkI#Rvg81Qa z8%pVMdJdGgR}yVLx+L3Y*?yn=>2B|`QK%;;xjKWHlUwpbq{6H)-5EHDh_EQu{&Pzu zj1>dp*1$HS!P4OjjTm|D$J^U#Orc3o=W#{UCLZ+Iqiq;kXxM)vbkKtVY1_VZYrNuGG+2H(ws zHs3YDI(YC$tNE&pvOPYR9rgg{p}<3FypLiqLY<)5ubsB##Zr!}T-5%yn{r16R81ji zA^lzpp8a1@R<`t=kcJbexnaMUcvYSHo6l?QvN`##c#Fp0*|)CO>j(O}KF+H(9~p&# zv2mg6>(vTx?6|D5lYrF^{%2VcnM!}aFI`S=$8}y+R(S0e3+jpHA2km8dh=jSpBxQk!#ILQOS45F6vU>+W$YZOZQ;cctU?n|8Q%! zkvoWj3B06uPTOSd)_$Q$LejR;dLhB#bMwGMeZ|}&4TbtyH5F*Vx3y)kFFWthC*Gn{ zC>ezFhi~u2boOl)WKhuH;zrPJ&_n*81*t|P9ki;nMmB@|g4Vl2(kc&N;btU*SWiL2Nox%|i zFRZ>jh}w2~fw#Q(pquM&bSGxSFF-0Fv{-GBR58cBIO3yL6;D?_u+};DZY!T~J3TGE z+_Vv&b5dSRa+Hi%`?DpL^vpyxcV8y=i_LHG0VEqZD4x=sN0ZBbA&~a?wtL}+IXey% z$b*R2)bA_D_dd5Z2i^uDTfYvwncl(*chM2}E!UOPc&dy4OtRoDrIP_@W`!qQ z*y)4dO(0vrQ#Nu!o$WjTAhYx8FngP$A2dE zV+}d^N7)u`uaZh#l)PJSC$;;gxBbNW#pKL0be zPgyNTG^PjW3`@V;&hZ4*ET;IrEZ4XA9 zq3|tgTepHh233F-Lihy&uE&Af&o>W%&zFs;K1T}deZM=-P9oFud;E3?)b=3F!%8cK z-MkKEgwJM#`w=SJ$V=qOod{_vLT;Ugj!MxAs+*@XHer1nFr|o_`_oN$EO?y-OAHdE zURs>~ikl0&i%x12ji77SldO)0_3~`&{+%^X3`d_ca2yZ6Y%r?p_6f(ZHx0x9`=bgP z`8_(a4pgr29#=$1@{{~LZ~0vFiBfR%GoJ(H*=*b~cZWt#Me~_>%e_5GX5Y6OV08fsM zAwZf~X2cgpIOU}Ha(pViee8J^ktxYh;LK)Y{rKtOG2o4Xz}15Xaor=c)p}gZQFS0E z9sf*UF+zro34vADwc`O<`$wS+1Q(DYf2*c84C3`B%I1+O85ppmK!LgC)0Yp|UA$`^ zDuE<{n>VjdzsW(vHsum0#|iQgd;p+<#?oU4?qZawvvQJ>y2jUG{5!G`A$TU{WBYky zdLB^|gPcdHWnjPJphOzG-NR>3b+EIXco0iPcVQDHUim47kPC?zf0$q$&z^7 zbKI7i*@{0lEmb++qnej&i#U8ek*KCNL+)MFnz|Ef-U4w{aW?%g9O^3!;OtmsTTmkC zadGJlW#c~WMFxox+cM|0u%*Y0j}hkefw82(r1#ntKV-5AVm?vq23bMmm68%s47Yd_ zKF=!h`eNv{8Fup+FBpWka5?F;^aS|?x&9Za6f~XVDP;6?#b|;BEWHXSI;S#xx?)+h zt}A?FIW27GdVp5M_|pmv@Ma4_zqGj682?DYBe>+)+avGax?&|PO6l9fV#$Wvtw(({ zj_nHUkXI&EPT%qTPQ3=OJ;aW#*I4e6?2zp|c8-hGo4rS5?fA#3F8e2}0T&L9Cjv{K zjQJ4K+&Cv^$;N-&AP4$S5dA!puf%Tl#(a4V{#woQ=l zT&(_M^2yn@R_k9_Xf2ayD9xafLC#a*IS+5rP;+`f3}9W?Hxo>#_q+ z_5@{2U61TkNf;1H6H;mM5bsm)v2cc650UlWtN_LecHkCTVVR*_uHE6a9ejV!Nz;Ed zZr<@$?+*EVLTqz6-nU_$b`J@v9?M09$lVz{KZN$T{SzGFyARwrCPx9UkAw}PE343! zYPOG;J?riAAlHa1mF(Nh$C3GWB{W0#3zb>?PD0nTKRFS+CpYWMk7vjm>)j4KJU65b zK)FG;H^{-#L8BSs@|MJYw~jZ{jt z=4PxWP+YVY-@2K3jJW667NC7%kM??|{mF-)!MOG&XvqE3Sd!AY|Nk7kG#!eIQvW{} z|L49FQgewQ2NSf{!2kDGg55LtCjZ9}@thyfXa09Q@O$%^$|8*2qua}F;PFw#&}}nc ze`$hJOaF?}P^vk-Ry|L@RjpX6T^~j!IACaSw9P3k)?k^8C8rkVeR@?f=jA@haotZ5 zl)USiC}OJbwb`82eBXLe%L_cLYTt{la=}L*0Hn!r-Egbf{nxWTC*;5*W2v;+-1cDo zoN$DTu)3O$Xi(E`xE=+OX_Ikii~IZe!HLEbYED+hl%Bk?E>IP$V(8B?wq1v%BCE{q zLT)CeE3@UvgOC@MyvTV znX3E_bQ4n^JeCj|y$%R|im%TSAxH0Ar@0b zl6D^=p#xD^RMt{O2KbN!(HBw{Y0W0Msh?GzlNkQDo*C|Qg3D`oidQ^I`OeRg&nmX# zfe=1**MSG@N*#v#cKm#mSL%0P^!JDr zLKY~8Ueq0XEMHClbNury9YVL4+lum>cQcjsM-QLDnoixzK2l3BCxd+I&Y1MCdM@JV z`NV_---*BAsl}LKiG7P6{k+3MLW8BH8#Z}6c}87&+cv%AecQu6H}&{s?`)c6dyVp8 zys{Q?W`6Gk{ERXd3uS!nI!#I}Y?;e|6%LU?C++&d6A~c`ZYL2X%S`F7_JolpF72-8 zWe;Zh4mNTtOyzFli{}tR*W-2{{{HKh&CcUG-~d=3|9;KAzB%A82WZxH=MVe;7egie z7S@GcPD+Ccqp4uQ$0Cr!T2mnTcAlfI7!o#l_8t2aIInEGip*{?yIwGcrosdL*%8Tb zPszP$|w8n)a5#f%^+IMpavqivN%jH8ic|JjYd-9}+T|Bao)O zTEhVxb@^4!w1O1xLSK4&&G^@T<{@ymP0Jfjwaml5Q1N@l!!Uvkk`67aE154%%Sp%2 zZ3lW}am0xT@cm=dyCb5o@+M6^oHavLmQM~c{jLpuZ8}YIEqM=dV_^ec`uBv!f}ZA^ ze-!-k_STku?uFye>$ynSsOxdo(vWs>+i(R#j%jltH0tNr@_E(^ubV<1tCsIS2?<;Y z-@lzlD2trOhPa((Ka2>>`5gb=_P6h5ayIM_oFus@aSW0u+b^Ra?j%Y_uC!#1| z5~m5m|f!^1|7^o<0p`DoiWZ#QXw15%sLWQP9&2bIf9h=aB-yf|)N>*{cS zaX@nre`GR4qdbD~kg*FVKcWn3aEp)f6HAqk(mx^}tGjs8$LLljJd$}n(g2`J4D zM2P%YMid~LZsPq<$`6M{8l5GaG+Vu0>KeV1nw2CcMl;k)iR}#CxK<|)F(ELs?Oe%( z9seS;B(;>CD(uq}@yfdyuI!Hu*BMqvH`eR3B1-}!ND1IH`jA7o*1KcxyZ@?q0Olc3elxDjUZ(xxW(JMO-wm#Py>`NDaNe*URyzco# zT$B-Lz*Y7<($)I5t3PBd43yuB796*z(b1?fbwz0cyKv64j%Zq8oDUfnm<;^ zL`ed4Z|Cpi*^vT!8e+r4kNsw5!V9s%cYFQ#m!tMrr21?v-zad=45;)sQ@iEsnpnNF z8~#NRQbv4ACbH*)xg_&c4PWZpwM!c55u-F^_HnWos5h?(LG$>V5mpH%mVPRL9Kp}Q zHWcK#0i)uBfZXPvmt7NPG#xloQQl`bbPTFsot>m?(Q&IJ0p%y0*sZ{n9rNhNGxKdH zN8sVksd?p#+w=o4@CxiG9=L+3{J32ixX#8k*7w=w%A))~rV zTdaK&nV(QnVv9rskrD_^g9;0O+w4QJ^9nm zK~7<)$RV&#_h5B=XOl;aq!Tl`Um0B*sOn0%664Q=j+p|vKU~E!b;#5=X{?IXSV9t0 zefjR0x@|u!VVXXP#6O%FQ%=Q{G6y#=Qi@Qlyf_yEn-q*{OjF^~!Uqt>o*DA~hA z8pA>-{S^vGG<Cw(m5oSSRBKlQyP#>*rC-Eo@Ne6_y z-L=pr9C#9oca^6W-j6Hts_-b<@`SV}#~UOW#darG7*G+6EVxS~3*)17lR3U*r;BQu zrzB1Vw%Wd6^BOG(EIEm6mOTI`L&$#lBw$`~5D$pMZZNl0g-LQJ=NAY}Dw7?C*P%0! z&~Op@Q2xE|9h`8+Qj1ln{D%Dzs3?bi&fnv9s44Q_3aS0PewH|VoNe56^(o&x??_{~ z4|(6v`nQ|Zc)D-E4#mL0#|HadIgy7%%u|)DfF+qIHERR@BrPh`k4m-G(l!KY-AwPJ z>Ue+!Eb0&E?`tvh&ek{t8%Kblg}>%q1LH$|NWbHos!ojCoX(QtN(1jdeLrne*@rrr z9P(!hpl|aci3k(_61LkG;A2ornlU)Sq^D^TlCj>G7YX$R*m?YCeAAwgyvkJ=N8#}` z%LR&94(N%ePsS5z4+UztnY`G`UM{-q77_t&0(En?T^6w~x@tenq83r2LOIb)3>)-W zVC3QhFZvhNR_CKjZ*M;-bV&`J?Oi6y4Zclf zWE5-h%Mq2S6*2zSgG`)PilRfFvcMd8UU!uRM99&Oj<3IW-%6Fyk7vV)Vmv|6wj2U| z9=GRXfRoX$ApY)` zuDacmnzcEuqrXz}^Zl|;YG#ukEvsYx`$8$UQ~18sdK-*L|am7cOOuC+yXD8MOAe0ISoQ!dw_)J42Wr4^CKqIJ zU*{#Ml_k;Sr%nD4*>lNBk2Hy7ilv!*=Mnkyw)c;;*sXt;A!4R5&lYv5T3{ zLp3e-y5UgRq4cObEtg!gsTRxlH+sE7s9m0}ofKF~OqO4pTUR9)^*4wKSFIL0F{$V# z^HO^8ccY}>U8KZUj({b8;GyA1X~*7{d30VXh5j4kHHigBZjW)vbeOFs?Kppp9%J~W z#ge`qTwO7VAtMG>t@jFF{Wy<0x1OhEv-eLC*MNeijBucJzom9|2)uE(_sG=qxrTyM>js`aWy6{X*fWz@lj0A@Lk>b)PT8;x{ii)x0u(c(EW^*8Oskm9qTyn zcunHh^+js!R@w#7V3{h`s!t&MN2Bao^6VvzZYxtu&Q#IB|zG& z8DxLIHKj;Ir?u(x&J!JVP>J_rmB-y9J_bw3x4VAxsi+@kYgYVk$v;l5qB|WLRYsMwLD;dWSDyy|AhAtPwfU2s6qQ@nL;+ywE zG8D*thDDw6Ij*vAK`}bqN9yaZ-2rvDYH3Gxjf2K|p|Bq^vbbDeXh>vy$jJS~`}ht- z56lQ-d`MB7<^AAq(vL{XnX2T~OMgqgk!o}e zenvut{|TbUnTB#q|3X~RR?RFHmYga!?0GQMWn|N=be|C*lR~C47qTp1hxDr6KN4wi zJ$$gOqOY;lr=3)?BORRR{K0YXxCjC^zI;rF-M!5PXKd?A%0B^j55&GrTx5wLY2Y_LE$;h*rI1@>U>$X<>RYB7Kc1rSx zwoJ0Hx9flQ={9@kK{dWKdg-lKZQy@}(|z=`c+(+jwg9S;!K7S1MU%@+vLaDNLe7bb zinTXvQYW6WGb5|yEbP2#1`y(m%YJ{-G>u2GKd-c?cvw<131C!r8n`XzOxksaEhm%C zK~?<2Yb4+1CCAZhgs5T#`^Ts%N=iBlKO^MiisX?Wlf*2iNoB7U2jwl_@Z|1yo{+$} z@>7qeg_WXa1LwyAwZ2Nb5A@J;Xx9(IyvBrAdFe@zH{w5-zW>b)0mPH$UMSKLqA*W6 zkMvP-1dQJnmBS2+i>@gT(~Ds=MTFad7`5udaHR9G-gbv& z!1z#1Sr5m`_MyNWfI=tSWjlvMlSyi+QCc=SpcX2>&4*4+LX(R{V5?9zilcw70OP?V zm)JDZyZtT^@yj%s-`U?puQ(Ed*sy;PUh|QO!!;89kEN^tP@)=xx+RiYR!iFDr?HR} zxuZ}^($FL=VWTIJ#!A~JO}^nF)GrrT3!Aw8&O)iwQDQ~T&p9$Ei3tIGONLdD5P=5e z#~B1|zdnjwx!Pivk)uXOA4YM_KG($FJLA_EC)6}GWW|$J?qYp?qw>ZUWljx#-o?F-lrPF<*{-p9`ZDp=+^PR; zQrM+n9_Nt`YX15TT4L$X=FzlmD=o^TTkK3UZ_+7$thbPHs|!7*-^ao4GCa`Jf{gFO zLReyF9Sf{}&BlzD73#m`D2vQXpLt$*|@Ie5_FAFMz^0-!!M?lZA}xJQW?1 zaeT2*;3$3GzwTb}C6|}=1IVA(D;uwxtg<2Z=EzpO%$>R32Y2w*e{ ze4GTVNT?W7&X0wEy*ub;8dTEQO@hhjbO`=$GJ$%e8u$F*$7e-lg7PH2m|{e$G}mDK zWgBe{mnBw`5TZ+-Qp?XepeR5~@LN&fFsfarTray7+1cM< z8oh|`WW}pYFKQ&Qxim{nWr4Re$CmqlCk-gGj^TT9ADbb~UdwB^Lp{-RxB)0Aa;2tp zbs1$a^4ub|BkTXP!J$a;n&IMQ_;i14=`#y9VYXd8q%kmM!pwIvS+-pc*rgbh{IhT$ zAr#N!wk{H>gvD}AL#iN~A9`bwEO|Qd*p<>!QpwTI!uXuj(qa*)z#mC;8)@3n1sl2q z;xJOlvMnOiy$^@C3Xh2t;5fTc9_TZz_o>FR|0z_5dNG-0=93L7vJBdH=jT;F)4UZ8 z!6>@5F);R_t1Kg3ZE!#b!b)QR4Tgr(KUq)o$B&{Ji5eX$ zqYJ0!%!uxbo*XC-kCm?)R>*#b&70G3CC&ck<5Gv)6oCm~>~Fn!CpoV1zO)`yHB#+Y z`YV0?nlNUPB9RJfgI|%8`qpdVGPIniqQ8{%^`+{fVkbg#FCwuMUKi&gdOu^vUvCIZ z6PR3+9~q{S{i3O}RkjVBABY*n(Yh6t+67U`%&bEFER2+KJ^nv>z4xU*#$_Apqg)jU z$s>AGl8=7?P&KE6wP5pB4~&_%yvO~T(5x(-C05jA-As$(Djers)Xn^Lm(}94gm3W? zXD2jtoX@0dYTvVDh7*(%=R>8+)6T{`A|gr_xScUl9GfmB4N%W|viZN}PvV?3lxlNh6 zP;^^5{uD*crV(7u7eR&Og2E>{DnW~vyB$-uT>@Kk8eoWDjy37}_mA*2)*iLhyz@^k zYGSH@A6$V%hk%o%fSdC@yTLc(S7RyZPy++<*+C6m!8UI9NUcS+qf`#K^>{;O`6=W? zC0it8aFDy^@T>l~UP4&VOK1<1;YD&hmKqahS&SL8p=gW;rlzo&fiJcAKp9lmY-6R0 zqI#m!;j13ZQnk_ah-_ektk|d9_aVCtXp;a!hdx&F>%+d5jMv^wokB0S%^%RrODZ5&tkh=iLrb9XZ^62I#n-_lZ*f#uQ6f3&{1u)GJE z|2c)1z;xV)>#x0861zNJ9&tu-&hN(DNwLVzDa5tsxLN&IwOv%-4)r5}T2_I2cU7

(|Q%_G)fj4OZ=^4`c-kHH@{4+i_~+^ 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 Date: Mon, 22 May 2017 22:45:54 -0500 Subject: [PATCH 003/134] Changes investigate logs to use a define --- code/__DEFINES/logging.dm | 18 +++++++ code/__DEFINES/mobs.dm | 7 --- code/game/machinery/computer/medical.dm | 4 +- code/game/machinery/computer/security.dm | 8 ++-- code/game/machinery/launch_pad.dm | 2 +- .../objects/items/weapons/storage/backpack.dm | 2 +- code/modules/admin/admin_investigate.dm | 2 +- .../atmospherics/machinery/atmosmachinery.dm | 2 +- .../components/binary_devices/passive_gate.dm | 6 +-- .../components/binary_devices/pump.dm | 2 +- .../components/binary_devices/pump.dm.rej | 19 ++++++++ .../components/binary_devices/valve.dm | 4 +- .../components/binary_devices/volume_pump.dm | 2 +- .../binary_devices/volume_pump.dm.rej | 19 ++++++++ .../components/trinary_devices/filter.dm | 16 +++---- .../components/trinary_devices/mixer.dm | 8 ++-- .../unary_devices/outlet_injector.dm | 4 +- .../components/unary_devices/thermomachine.dm | 4 +- .../machinery/portable/canister.dm | 6 +-- .../portable/portable_atmospherics.dm | 2 +- .../atmospherics/machinery/portable/pump.dm | 2 +- code/modules/cargo/console.dm | 6 +-- code/modules/hydroponics/grown/kudzu.dm | 2 +- code/modules/hydroponics/grown/mushrooms.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 2 +- code/modules/mob/living/living_defense.dm | 2 +- code/modules/power/cable.dm | 2 +- code/modules/power/gravitygenerator.dm | 14 +++--- code/modules/power/singularity/collector.dm | 4 +- code/modules/power/singularity/emitter.dm | 8 ++-- code/modules/power/singularity/emitter.dm.rej | 10 ++++ .../power/singularity/field_generator.dm | 6 +-- code/modules/power/singularity/investigate.dm | 2 +- .../particle_accelerator.dm | 2 +- .../particle_accelerator/particle_control.dm | 8 ++-- code/modules/power/singularity/singularity.dm | 8 ++-- code/modules/power/smes.dm | 6 +-- code/modules/power/smes.dm.rej | 10 ++++ code/modules/power/supermatter/supermatter.dm | 24 +++++----- .../power/supermatter/supermatter.dm.rej | 15 ++++++ code/modules/research/experimentor.dm | 48 +++++++++---------- code/modules/research/rdconsole.dm | 2 +- code/modules/shuttle/supply.dm | 6 +-- tgstation.dme | 1 + 45 files changed, 208 insertions(+), 123 deletions(-) create mode 100644 code/__DEFINES/logging.dm create mode 100644 code/modules/atmospherics/machinery/components/binary_devices/pump.dm.rej create mode 100644 code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm.rej create mode 100644 code/modules/power/singularity/emitter.dm.rej create mode 100644 code/modules/power/smes.dm.rej create mode 100644 code/modules/power/supermatter/supermatter.dm.rej diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm new file mode 100644 index 0000000000..859f3e3775 --- /dev/null +++ b/code/__DEFINES/logging.dm @@ -0,0 +1,18 @@ +//Investigate logging defines +#define INVESTIGATE_ATMOS "atmos" +#define INVESTIGATE_BOTANY "botany" +#define INVESTIGATE_CARGO "cargo" +#define INVESTIGATE_EXPERIMENTOR "experimentor" +#define INVESTIGATE_GRAVITY "gravity" +#define INVESTIGATE_RECORDS "records" +#define INVESTIGATE_SINGULO "singulo" +#define INVESTIGATE_SUPERMATTER "supermatter" +#define INVESTIGATE_TELESCI "telesci" +#define INVESTIGATE_WIRES "wires" + +//Individual logging defines +#define INDIVIDUAL_ATTACK_LOG "Attack log" +#define INDIVIDUAL_SAY_LOG "Say log" +#define INDIVIDUAL_EMOTE_LOG "Emote log" +#define INDIVIDUAL_OOC_LOG "OOC log" +#define INDIVIDUAL_SHOW_ALL_LOG "All logs" \ No newline at end of file diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 49e03bdbdf..2d36d72ee3 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -114,13 +114,6 @@ #define SNPC_MARTYR 3 #define SNPC_PSYCHO 4 -//Individual logging defines -#define INDIVIDUAL_ATTACK_LOG "Attack log" -#define INDIVIDUAL_SAY_LOG "Say log" -#define INDIVIDUAL_EMOTE_LOG "Emote log" -#define INDIVIDUAL_OOC_LOG "OOC log" -#define INDIVIDUAL_SHOW_ALL_LOG "All logs" - #define TK_MAXRANGE 15 #define NO_SLIP_WHEN_WALKING 1 diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index dee63b902c..2bb9d61068 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -292,7 +292,7 @@ src.temp = text("Are you sure you wish to delete all records?
\n\t
Yes
\n\tNo
", src, src) else if(href_list["del_all2"]) - investigate_log("[usr.name] ([usr.key]) has deleted all medical records.", "records") + investigate_log("[usr.name] ([usr.key]) has deleted all medical records.", INVESTIGATE_RECORDS) GLOB.data_core.medical.Cut() src.temp = "All records deleted." @@ -458,7 +458,7 @@ src.temp = text("Are you sure you wish to delete the record (Medical Portion Only)?
\n\tYes
\n\tNo
", src, src) else if(href_list["del_r2"]) - investigate_log("[usr.name] ([usr.key]) has deleted the medical records for [active1.fields["name"]].", "records") + investigate_log("[usr.name] ([usr.key]) has deleted the medical records for [active1.fields["name"]].", INVESTIGATE_RECORDS) if(active2) qdel(active2) active2 = null diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index b8d777e42d..5baa169e99 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -452,7 +452,7 @@ What a mess.*/ temp += "No" if("Purge All Records") - investigate_log("[usr.name] ([usr.key]) has purged all the security records.", "records") + investigate_log("[usr.name] ([usr.key]) has purged all the security records.", INVESTIGATE_RECORDS) for(var/datum/data/record/R in GLOB.data_core.security) qdel(R) GLOB.data_core.security.Cut() @@ -696,18 +696,18 @@ What a mess.*/ active2.fields["criminal"] = "Parolled" if("released") active2.fields["criminal"] = "Discharged" - investigate_log("[active1.fields["name"]] has been set from [old_field] to [active2.fields["criminal"]] by [usr.name] ([usr.key]).", "records") + investigate_log("[active1.fields["name"]] has been set from [old_field] to [active2.fields["criminal"]] by [usr.name] ([usr.key]).", INVESTIGATE_RECORDS) for(var/mob/living/carbon/human/H in GLOB.mob_list) //thanks for forcing me to do this, whoever wrote this shitty records system H.sec_hud_set_security_status() if("Delete Record (Security) Execute") - investigate_log("[usr.name] ([usr.key]) has deleted the security records for [active1.fields["name"]].", "records") + investigate_log("[usr.name] ([usr.key]) has deleted the security records for [active1.fields["name"]].", INVESTIGATE_RECORDS) if(active2) qdel(active2) active2 = null if("Delete Record (ALL) Execute") if(active1) - investigate_log("[usr.name] ([usr.key]) has deleted all records for [active1.fields["name"]].", "records") + investigate_log("[usr.name] ([usr.key]) has deleted all records for [active1.fields["name"]].", INVESTIGATE_RECORDS) for(var/datum/data/record/R in GLOB.data_core.medical) if((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"])) qdel(R) diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index 82e9d9a176..6c3d25d223 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -143,7 +143,7 @@ else log_msg += "nothing" log_msg += " [sending ? "to" : "from"] [target_x], [target_y], [z] ([A ? A.name : "null area"])" - investigate_log(log_msg.Join(), "telesci") + investigate_log(log_msg.Join(), INVESTIGATE_TELESCI) updateDialog() //Starts in the briefcase. Don't spawn this directly, or it will runtime when closing. diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 662f451e81..0fd70e7ac3 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -69,7 +69,7 @@ var/safety = alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [name]?", "Proceed", "Abort") if(safety == "Abort" || !in_range(src, user) || !src || !W || user.incapacitated()) return - investigate_log("has become a singularity. Caused by [user.key]","singulo") + investigate_log("has become a singularity. Caused by [user.key]", INVESTIGATE_SINGULO) to_chat(user, "The Bluespace interfaces of the two devices catastrophically malfunction!") qdel(W) var/obj/singularity/singulo = new /obj/singularity (get_turf(src)) diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index cdd05a3aad..0e46f20c4c 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -5,7 +5,7 @@ F << "[time_stamp()] \ref[src] ([x],[y],[z]) || [src] [message]
" -/client/proc/investigate_show( subject in list("hrefs","notes, memos, watchlist","singulo","wires","telesci", "gravity", "records", "cargo", "supermatter", "atmos", "experimentor", "botany") ) +/client/proc/investigate_show(subject in list("hrefs","notes, memos, watchlist", INVESTIGATE_SINGULO, INVESTIGATE_WIRES, INVESTIGATE_TELESCI, INVESTIGATE_GRAVITY, INVESTIGATE_RECORDS, INVESTIGATE_CARGO, INVESTIGATE_SUPERMATTER, INVESTIGATE_ATMOS, INVESTIGATE_EXPERIMENTOR, INVESTIGATE_BOTANY) ) set name = "Investigate" set category = "Admin" if(!holder) diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index cfe3719423..2a039cd5bf 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -152,7 +152,7 @@ Pipelines + Other Objects -> Pipe network "[user] unfastens \the [src].", \ "You unfasten \the [src].", \ "You hear ratchet.") - investigate_log("was REMOVED by [key_name(usr)]", "atmos") + investigate_log("was REMOVED by [key_name(usr)]", INVESTIGATE_ATMOS) //You unwrenched a pipe full of pressure? Let's splat you into the wall, silly. if(unsafe_wrenching) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm index e67db7fcd7..8ea2b34251 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm @@ -112,7 +112,7 @@ Passive gate is similar to the regular pump except: switch(action) if("power") on = !on - investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") + investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE if("pressure") var/pressure = params["pressure"] @@ -128,7 +128,7 @@ Passive gate is similar to the regular pump except: . = TRUE if(.) target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE) - investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos") + investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() /obj/machinery/atmospherics/components/binary/passive_gate/atmosinit() @@ -152,7 +152,7 @@ Passive gate is similar to the regular pump except: target_pressure = Clamp(text2num(signal.data["set_output_pressure"]),0,ONE_ATMOSPHERE*50) if(on != old_on) - investigate_log("was turned [on ? "on" : "off"] by a remote signal", "atmos") + investigate_log("was turned [on ? "on" : "off"] by a remote signal", INVESTIGATE_ATMOS) if("status" in signal.data) broadcast_status() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index 26c3d25e85..c83b0e6de1 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -165,7 +165,7 @@ Thus, the two variables affect pump operation are set in New(): target_pressure = Clamp(text2num(signal.data["set_output_pressure"]),0,ONE_ATMOSPHERE*50) if(on != old_on) - investigate_log("was turned [on ? "on" : "off"] by a remote signal", "atmos") + investigate_log("was turned [on ? "on" : "off"] by a remote signal", INVESTIGATE_ATMOS) if("status" in signal.data) broadcast_status() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm.rej b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm.rej new file mode 100644 index 0000000000..d2bdc85865 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm.rej @@ -0,0 +1,19 @@ +diff a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm (rejected hunks) +@@ -119,7 +119,7 @@ Thus, the two variables affect pump operation are set in New(): + switch(action) + if("power") + on = !on +- investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") ++ investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) + . = TRUE + if("pressure") + var/pressure = params["pressure"] +@@ -135,7 +135,7 @@ Thus, the two variables affect pump operation are set in New(): + . = TRUE + if(.) + target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE) +- investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos") ++ investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) + update_icon() + + /obj/machinery/atmospherics/components/binary/pump/atmosinit() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index 34fea329ac..df19b7f3e3 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm @@ -30,12 +30,12 @@ It's like a regular ol' straight pipe, but you can turn it on and off. update_parents() var/datum/pipeline/parent1 = PARENT1 parent1.reconcile_air() - investigate_log("was opened by [usr ? key_name(usr) : "a remote signal"]", "atmos") + investigate_log("was opened by [usr ? key_name(usr) : "a remote signal"]", INVESTIGATE_ATMOS) /obj/machinery/atmospherics/components/binary/valve/proc/close() open = 0 update_icon_nopipes() - investigate_log("was closed by [usr ? key_name(usr) : "a remote signal"]", "atmos") + investigate_log("was closed by [usr ? key_name(usr) : "a remote signal"]", INVESTIGATE_ATMOS) /obj/machinery/atmospherics/components/binary/valve/proc/normalize_dir() if(dir==SOUTH) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index d6bc3bbdb7..85d667509c 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -162,7 +162,7 @@ Thus, the two variables affect pump operation are set in New(): transfer_rate = Clamp(text2num(signal.data["set_transfer_rate"]),0,air1.volume) if(on != old_on) - investigate_log("was turned [on ? "on" : "off"] by a remote signal", "atmos") + investigate_log("was turned [on ? "on" : "off"] by a remote signal", INVESTIGATE_ATMOS) if("status" in signal.data) broadcast_status() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm.rej b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm.rej new file mode 100644 index 0000000000..6fab304724 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm.rej @@ -0,0 +1,19 @@ +diff a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm (rejected hunks) +@@ -119,7 +119,7 @@ Thus, the two variables affect pump operation are set in New(): + switch(action) + if("power") + on = !on +- investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") ++ investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) + . = TRUE + if("rate") + var/rate = params["rate"] +@@ -135,7 +135,7 @@ Thus, the two variables affect pump operation are set in New(): + . = TRUE + if(.) + transfer_rate = Clamp(rate, 0, MAX_TRANSFER_RATE) +- investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", "atmos") ++ investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) + update_icon() + + /obj/machinery/atmospherics/components/binary/volume_pump/receive_signal(datum/signal/signal) diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index 4b9c2c710f..3c6c7b2342 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -83,20 +83,20 @@ if(!removed) return - + var/filtering = filter_type ? TRUE : FALSE - + if(filtering && !istext(filter_type)) WARNING("Wrong gas ID in [src]'s filter_type var. filter_type == [filter_type]") filtering = FALSE - + if(filtering && removed.gases[filter_type]) var/datum/gas_mixture/filtered_out = new - + filtered_out.temperature = removed.temperature filtered_out.assert_gas(filter_type) filtered_out.gases[filter_type][MOLES] = removed.gases[filter_type][MOLES] - + removed.gases[filter_type][MOLES] = 0 removed.garbage_collect() @@ -133,7 +133,7 @@ switch(action) if("power") on = !on - investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") + investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE if("pressure") var/pressure = params["pressure"] @@ -149,7 +149,7 @@ . = TRUE if(.) target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE) - investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos") + investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) if("filter") filter_type = "" var/filter_name = "nothing" @@ -157,6 +157,6 @@ if(gas in GLOB.meta_gas_info) filter_type = gas filter_name = GLOB.meta_gas_info[gas][META_GAS_NAME] - investigate_log("was set to filter [filter_name] by [key_name(usr)]", "atmos") + investigate_log("was set to filter [filter_name] by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE update_icon() diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index ed168c7153..958782d5a1 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -138,7 +138,7 @@ switch(action) if("power") on = !on - investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") + investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE if("pressure") var/pressure = params["pressure"] @@ -154,17 +154,17 @@ . = TRUE if(.) target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE) - investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos") + investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) if("node1") var/value = text2num(params["concentration"]) node1_concentration = max(0, min(1, node1_concentration + value)) node2_concentration = max(0, min(1, node2_concentration - value)) - investigate_log("was set to [node1_concentration] % on node 1 by [key_name(usr)]", "atmos") + investigate_log("was set to [node1_concentration] % on node 1 by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE if("node2") var/value = text2num(params["concentration"]) node2_concentration = max(0, min(1, node2_concentration + value)) node1_concentration = max(0, min(1, node1_concentration - value)) - investigate_log("was set to [node2_concentration] % on node 2 by [key_name(usr)]", "atmos") + investigate_log("was set to [node2_concentration] % on node 2 by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE update_icon() \ No newline at end of file diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index ca90604ee7..a03a6952c4 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -167,7 +167,7 @@ switch(action) if("power") on = !on - investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") + investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE if("rate") var/rate = params["rate"] @@ -183,7 +183,7 @@ . = TRUE if(.) volume_rate = Clamp(rate, 0, MAX_TRANSFER_RATE) - investigate_log("was set to [volume_rate] L/s by [key_name(usr)]", "atmos") + investigate_log("was set to [volume_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() broadcast_status() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index 8761211f72..26f02a43ef 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -173,7 +173,7 @@ if("power") on = !on use_power = 1 + on - investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") + investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) . = TRUE if("target") var/target = params["target"] @@ -190,7 +190,7 @@ . = TRUE if(.) target_temperature = Clamp(target, min_temperature, max_temperature) - investigate_log("was set to [target_temperature] K by [key_name(usr)]", "atmos") + investigate_log("was set to [target_temperature] K by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() /obj/machinery/atmospherics/components/unary/thermomachine/freezer diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 09c7a44c66..0324effcc7 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -286,7 +286,7 @@ density = 0 playsound(src.loc, 'sound/effects/spray.ogg', 10, 1, -3) update_icon() - investigate_log("was destroyed.", "atmos") + investigate_log("was destroyed.", INVESTIGATE_ATMOS) if(holding) holding.forceMove(T) @@ -388,7 +388,7 @@ . = TRUE if(.) release_pressure = Clamp(round(pressure), can_min_release_pressure, can_max_release_pressure) - investigate_log("was set to [release_pressure] kPa by [key_name(usr)].", "atmos") + investigate_log("was set to [release_pressure] kPa by [key_name(usr)].", INVESTIGATE_ATMOS) if("valve") var/logmsg valve_open = !valve_open @@ -439,7 +439,7 @@ if("eject") if(holding) if(valve_open) - investigate_log("[key_name(usr)] removed the [holding], leaving the valve open and transfering into the air
", "atmos") + investigate_log("[key_name(usr)] removed the [holding], leaving the valve open and transfering into the air
", INVESTIGATE_ATMOS) holding.forceMove(get_turf(src)) holding = null . = TRUE diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index d8bd51aa5f..3a2894653c 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -120,6 +120,6 @@ if(I.force < 10 && !(stat & BROKEN)) take_damage(0) else - investigate_log("was smacked with \a [I] by [key_name(user)].", "atmos") + investigate_log("was smacked with \a [I] by [key_name(user)].", INVESTIGATE_ATMOS) add_fingerprint(user) ..() diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 16c786c044..d3fbc38208 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -133,7 +133,7 @@ . = TRUE if(.) pump.target_pressure = Clamp(round(pressure), PUMP_MIN_PRESSURE, PUMP_MAX_PRESSURE) - investigate_log("was set to [pump.target_pressure] kPa by [key_name(usr)].", "atmos") + investigate_log("was set to [pump.target_pressure] kPa by [key_name(usr)].", INVESTIGATE_ATMOS) if("eject") if(holding) holding.loc = get_turf(src) diff --git a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm index 8e21b3d2d4..6fe923a519 100644 --- a/code/modules/cargo/console.dm +++ b/code/modules/cargo/console.dm @@ -8,7 +8,7 @@ var/safety_warning = "For safety reasons the automated supply shuttle \ cannot transport live organisms, classified nuclear weaponry or \ homing beacons." - + light_color = "#E2853D"//orange /obj/machinery/computer/cargo/request @@ -106,9 +106,9 @@ SSshuttle.supply.contraband = contraband SSshuttle.moveShuttle("supply", "supply_away", TRUE) say("The supply shuttle has departed.") - investigate_log("[key_name(usr)] sent the supply shuttle away.", "cargo") + investigate_log("[key_name(usr)] sent the supply shuttle away.", INVESTIGATE_CARGO) else - investigate_log("[key_name(usr)] called the supply shuttle.", "cargo") + investigate_log("[key_name(usr)] called the supply shuttle.", INVESTIGATE_CARGO) say("The supply shuttle has been called and will arrive in [SSshuttle.supply.timeLeft(600)] minutes.") SSshuttle.moveShuttle("supply", "supply_home", TRUE) . = TRUE diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm index 60ff69a323..45269743a5 100644 --- a/code/modules/hydroponics/grown/kudzu.dm +++ b/code/modules/hydroponics/grown/kudzu.dm @@ -37,7 +37,7 @@ return FALSE to_chat(user, "You plant [src].") message_admins("Kudzu planted by [ADMIN_LOOKUPFLW(user)] at [ADMIN_COORDJMP(user)]",0,1) - investigate_log("was planted by [key_name(user)] at [COORD(user)]","botany") + investigate_log("was planted by [key_name(user)] at [COORD(user)]", INVESTIGATE_BOTANY) new /datum/spacevine_controller(get_turf(user), mutations, potency, production) qdel(src) diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index d12f9c52cf..61eb397b92 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -307,5 +307,5 @@ . = ..() if(.) message_admins("Shadowshroom planted by [ADMIN_LOOKUPFLW(user)] at [ADMIN_COORDJMP(user)]",0,1) - investigate_log("was planted by [key_name(user)] at [COORD(user)]", "botany") + investigate_log("was planted by [key_name(user)] at [COORD(user)]", INVESTIGATE_BOTANY) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index be7e851a8e..04e0007a5b 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -412,7 +412,7 @@ if(R) if(H.canUseHUD()) if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.getorganslot("eye_hud"), /obj/item/organ/cyberimp/eyes/hud/security)) - investigate_log("[src.key] has been set from [R.fields["criminal"]] to [setcriminal] by [usr.name] ([usr.key]).", "records") + investigate_log("[src.key] has been set from [R.fields["criminal"]] to [setcriminal] by [usr.name] ([usr.key]).", INVESTIGATE_RECORDS) R.fields["criminal"] = setcriminal sec_hud_set_security_status() return diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 0623921d63..fcfc40f604 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -620,7 +620,7 @@ gain = 100 if(mind.assigned_role == "Clown") gain = rand(-300, 300) - investigate_log("([key_name(src)]) has been consumed by the singularity.","singulo") //Oh that's where the clown ended up! + investigate_log("([key_name(src)]) has been consumed by the singularity.", INVESTIGATE_SINGULO) //Oh that's where the clown ended up! gib() return(gain) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 9ed7796f1a..839535f6c7 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -291,7 +291,7 @@ /mob/living/singularity_act() var/gain = 20 - investigate_log("([key_name(src)]) has been consumed by the singularity.","singulo") //Oh that's where the clown ended up! + investigate_log("([key_name(src)]) has been consumed by the singularity.", INVESTIGATE_SINGULO) //Oh that's where the clown ended up! gib() return(gain) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 48fc254a8e..5bf4bab33e 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -131,7 +131,7 @@ By design, d1 is the smallest direction and d2 is the highest return user.visible_message("[user] cuts the cable.", "You cut the cable.") stored.add_fingerprint(user) - investigate_log("was cut by [key_name(usr, usr.client)] in [user.loc.loc]","wires") + investigate_log("was cut by [key_name(usr, usr.client)] in [get_area(T)]", INVESTIGATE_WIRES) deconstruct() return diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index a1d544c2e4..8f37974b2d 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -131,7 +131,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne var/broken_state = 0 /obj/machinery/gravity_generator/main/Destroy() // If we somehow get deleted, remove all of our other parts. - investigate_log("was destroyed!", "gravity") + investigate_log("was destroyed!", INVESTIGATE_GRAVITY) on = 0 update_list() for(var/obj/machinery/gravity_generator/part/O in parts) @@ -173,7 +173,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne breaker = 0 set_power() set_state(0) - investigate_log("has broken down.", "gravity") + investigate_log("has broken down.", INVESTIGATE_GRAVITY) /obj/machinery/gravity_generator/main/set_fix() ..() @@ -263,7 +263,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne if(href_list["gentoggle"]) breaker = !breaker - investigate_log("was toggled [breaker ? "ON" : "OFF"] by [usr.key].", "gravity") + investigate_log("was toggled [breaker ? "ON" : "OFF"] by [usr.key].", INVESTIGATE_GRAVITY) set_power() src.updateUsrDialog() @@ -271,7 +271,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne /obj/machinery/gravity_generator/main/power_change() ..() - investigate_log("has [stat & NOPOWER ? "lost" : "regained"] power.", "gravity") + investigate_log("has [stat & NOPOWER ? "lost" : "regained"] power.", INVESTIGATE_GRAVITY) set_power() /obj/machinery/gravity_generator/main/get_status() @@ -293,7 +293,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne new_state = 1 charging_state = new_state ? POWER_UP : POWER_DOWN // Startup sequence animation. - investigate_log("is now [charging_state == POWER_UP ? "charging" : "discharging"].", "gravity") + investigate_log("is now [charging_state == POWER_UP ? "charging" : "discharging"].", INVESTIGATE_GRAVITY) update_icon() // Set the state of the gravity. @@ -308,12 +308,12 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne if(on) // If we turned on and the game is live. if(gravity_in_level() == 0) alert = 1 - investigate_log("was brought online and is now producing gravity for this level.", "gravity") + investigate_log("was brought online and is now producing gravity for this level.", INVESTIGATE_GRAVITY) message_admins("The gravity generator was brought online [A][ADMIN_COORDJMP(src)]") else if(gravity_in_level() == 1) alert = 1 - investigate_log("was brought offline and there is now no gravity for this level.", "gravity") + investigate_log("was brought offline and there is now no gravity for this level.", INVESTIGATE_GRAVITY) message_admins("The gravity generator was brought offline with no backup generator. [A][ADMIN_COORDJMP(src)]") update_icon() diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index b75cf57acf..7f6bfb3026 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -30,7 +30,7 @@ GLOBAL_LIST_EMPTY(rad_collectors) /obj/machinery/power/rad_collector/process() if(loaded_tank) if(!loaded_tank.air_contents.gases["plasma"]) - investigate_log("out of fuel.","singulo") + investigate_log("out of fuel.", INVESTIGATE_SINGULO) eject() else loaded_tank.air_contents.gases["plasma"][MOLES] -= 0.001*drainratio @@ -48,7 +48,7 @@ GLOBAL_LIST_EMPTY(rad_collectors) "You turn the [src.name] [active? "on":"off"].") var/fuel = loaded_tank.air_contents.gases["plasma"] fuel = fuel ? fuel[MOLES] : 0 - investigate_log("turned [active?"on":"off"] by [user.key]. [loaded_tank?"Fuel: [round(fuel/0.29)]%":"It is empty"].","singulo") + investigate_log("turned [active?"on":"off"] by [user.key]. [loaded_tank?"Fuel: [round(fuel/0.29)]%":"It is empty"].", INVESTIGATE_SINGULO) return else to_chat(user, "The controls are locked!") diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 9d37173c9f..80f9a61679 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -123,13 +123,13 @@ to_chat(user, "You turn off \the [src].") message_admins("Emitter turned off by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(src)]",0,1) log_game("Emitter turned off by [key_name(user)] in [COORD(src)]") - investigate_log("turned off by [key_name(user)] at [get_area(src)]","singulo") + investigate_log("turned off by [key_name(user)] at [get_area(src)]", INVESTIGATE_SINGULO) else src.active = 1 to_chat(user, "You turn on \the [src].") src.shot_number = 0 src.fire_delay = maximum_fire_delay - investigate_log("turned on by [key_name(user)] at [get_area(src)]","singulo") + investigate_log("turned on by [key_name(user)] at [get_area(src)]", INVESTIGATE_SINGULO) update_icon() else to_chat(user, "The controls are locked!") @@ -170,12 +170,12 @@ if(!powered) powered = 1 update_icon() - investigate_log("regained power and turned on at [get_area(src)]","singulo") + investigate_log("regained power and turned on at [get_area(src)]", INVESTIGATE_SINGULO) else if(powered) powered = 0 update_icon() - investigate_log("lost power and turned off at [get_area(src)]","singulo") + investigate_log("lost power and turned off at [get_area(src)]", INVESTIGATE_SINGULO) log_game("Emitter lost power in ([x],[y],[z])") return if(charge <=80) diff --git a/code/modules/power/singularity/emitter.dm.rej b/code/modules/power/singularity/emitter.dm.rej new file mode 100644 index 0000000000..8b61066484 --- /dev/null +++ b/code/modules/power/singularity/emitter.dm.rej @@ -0,0 +1,10 @@ +diff a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm (rejected hunks) +@@ -101,7 +101,7 @@ + var/turf/T = get_turf(src) + message_admins("Emitter deleted at [ADMIN_COORDJMP(T)]",0,1) + log_game("Emitter deleted at [COORD(T)]") +- investigate_log("deleted at [get_area(src)] [COORD(T)]","singulo") ++ investigate_log("deleted at [get_area(src)] [COORD(T)]", INVESTIGATE_SINGULO) + QDEL_NULL(sparks) + return ..() + diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 838cc19df5..06c2544daf 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -71,7 +71,7 @@ field_generator power level display "You turn on the [name].", \ "You hear heavy droning.") turn_on() - investigate_log("activated by [user.key].","singulo") + investigate_log("activated by [user.key].", INVESTIGATE_SINGULO) add_fingerprint(user) else @@ -197,7 +197,7 @@ field_generator power level display else visible_message("The [name] shuts down!", "You hear something shutting down.") turn_off() - investigate_log("ran out of power and deactivated","singulo") + investigate_log("ran out of power and deactivated", INVESTIGATE_SINGULO) power = 0 check_power_level() return 0 @@ -324,7 +324,7 @@ field_generator power level display if((world.time - O.last_warning) > 50) //to stop message-spam temp = 0 message_admins("A singulo exists and a containment field has failed.",1) - investigate_log("has failed whilst a singulo exists.","singulo") + investigate_log("has failed whilst a singulo exists.", INVESTIGATE_SINGULO) O.last_warning = world.time /obj/machinery/field/generator/shock(mob/living/user) diff --git a/code/modules/power/singularity/investigate.dm b/code/modules/power/singularity/investigate.dm index c5e119876b..aa77954afe 100644 --- a/code/modules/power/singularity/investigate.dm +++ b/code/modules/power/singularity/investigate.dm @@ -1,4 +1,4 @@ /area/engine/engineering/poweralert(state, source) if (state != poweralm) - investigate_log("has a power alarm!","singulo") + investigate_log("has a power alarm!", INVESTIGATE_SINGULO) ..() \ No newline at end of file diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index 1aab0dd407..890136d763 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -156,7 +156,7 @@ ..() if(master && master.active) master.toggle_power() - investigate_log("was moved whilst active; it powered down.","singulo") + investigate_log("was moved whilst active; it powered down.", INVESTIGATE_SINGULO) /obj/structure/particle_accelerator/update_icon() diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index 136f9162cf..fd3052cde4 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -119,7 +119,7 @@ message_admins("PA Control Computer increased to [strength] by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_COORDJMP(src)]",0,1) log_game("PA Control Computer increased to [strength] by [key_name(usr)] in [COORD(src)]") - investigate_log("increased to [strength] by [key_name(usr)]","singulo") + investigate_log("increased to [strength] by [key_name(usr)]", INVESTIGATE_SINGULO) /obj/machinery/particle_accelerator/control_box/proc/remove_strength(s) @@ -129,7 +129,7 @@ message_admins("PA Control Computer decreased to [strength] by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_COORDJMP(src)]",0,1) log_game("PA Control Computer decreased to [strength] by [key_name(usr)] in [COORD(src)]") - investigate_log("decreased to [strength] by [key_name(usr)]","singulo") + investigate_log("decreased to [strength] by [key_name(usr)]", INVESTIGATE_SINGULO) /obj/machinery/particle_accelerator/control_box/power_change() @@ -144,7 +144,7 @@ if(active) //a part is missing! if(connected_parts.len < 6) - investigate_log("lost a connected part; It powered down.","singulo") + investigate_log("lost a connected part; It powered down.", INVESTIGATE_SINGULO) toggle_power() update_icon() return @@ -204,7 +204,7 @@ /obj/machinery/particle_accelerator/control_box/proc/toggle_power() active = !active - investigate_log("turned [active?"ON":"OFF"] by [usr ? key_name(usr) : "outside forces"]","singulo") + investigate_log("turned [active?"ON":"OFF"] by [usr ? key_name(usr) : "outside forces"]", INVESTIGATE_SINGULO) message_admins("PA Control Computer turned [active ?"ON":"OFF"] by [usr ? key_name_admin(usr) : "outside forces"](?) (FLW) in ([x],[y],[z] - JMP)",0,1) log_game("PA Control Computer turned [active ?"ON":"OFF"] by [usr ? "[key_name(usr)]" : "outside forces"] in ([x],[y],[z])") if(active) diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 1a308ed471..56fc6c4985 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -86,7 +86,7 @@ switch(severity) if(1) if(current_size <= STAGE_TWO) - investigate_log("has been destroyed by a heavy explosion.","singulo") + investigate_log("has been destroyed by a heavy explosion.", INVESTIGATE_SINGULO) qdel(src) return else @@ -134,7 +134,7 @@ var/count = locate(/obj/machinery/field/containment) in urange(30, src, 1) if(!count) message_admins("A singulo has been created without containment fields active ([x],[y],[z])",1) - investigate_log("was created. [count?"":"No containment fields were active"]","singulo") + investigate_log("was created. [count?"":"No containment fields were active"]", INVESTIGATE_SINGULO) /obj/singularity/proc/dissipate() if(!dissipate) @@ -219,7 +219,7 @@ consume_range = 5 dissipate = 0 if(current_size == allowed_size) - investigate_log("grew to size [current_size]","singulo") + investigate_log("grew to size [current_size]", INVESTIGATE_SINGULO) return 1 else if(current_size < (--temp_allowed_size)) expand(temp_allowed_size) @@ -229,7 +229,7 @@ /obj/singularity/proc/check_energy() if(energy <= 0) - investigate_log("collapsed.","singulo") + investigate_log("collapsed.", INVESTIGATE_SINGULO) qdel(src) return 0 switch(energy)//Some of these numbers might need to be changed up later -Mport diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index ea95b08269..d15a72a6b7 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -172,7 +172,7 @@ if(default_deconstruction_crowbar(I)) message_admins("[src] has been deconstructed by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(T)]",0,1) log_game("[src] has been deconstructed by [key_name(user)]") - investigate_log("SMES deconstructed by [key_name(user)]","singulo") + investigate_log("SMES deconstructed by [key_name(user)]", INVESTIGATE_SINGULO) return else if(panel_open && istype(I, /obj/item/weapon/crowbar)) return @@ -284,7 +284,7 @@ if(output_used < 0.0001) // either from no charge or set to 0 outputting = 0 - investigate_log("lost power and turned off","singulo") + investigate_log("lost power and turned off", INVESTIGATE_SINGULO) else if(output_attempt && charge > output_level && output_level > 0) outputting = 1 else @@ -419,7 +419,7 @@ log_smes(usr.ckey) /obj/machinery/power/smes/proc/log_smes(user = "") - investigate_log("input/output; [input_level>output_level?"":""][input_level]/[output_level] | Charge: [charge] | Output-mode: [output_attempt?"on":"off"] | Input-mode: [input_attempt?"auto":"off"] by [user]", "singulo") + investigate_log("input/output; [input_level>output_level?"":""][input_level]/[output_level] | Charge: [charge] | Output-mode: [output_attempt?"on":"off"] | Input-mode: [input_attempt?"auto":"off"] by [user]", INVESTIGATE_SINGULO) /obj/machinery/power/smes/emp_act(severity) diff --git a/code/modules/power/smes.dm.rej b/code/modules/power/smes.dm.rej new file mode 100644 index 0000000000..cb12ea4fbb --- /dev/null +++ b/code/modules/power/smes.dm.rej @@ -0,0 +1,10 @@ +diff a/code/modules/power/smes.dm b/code/modules/power/smes.dm (rejected hunks) +@@ -196,7 +196,7 @@ + var/turf/T = get_turf(src) + message_admins("SMES deleted at [A][ADMIN_JMP(T)]") + log_game("SMES deleted at [A][COORD(T)]") +- investigate_log("deleted at [A][COORD(T)]","singulo") ++ investigate_log("deleted at [A][COORD(T)]", INVESTIGATE_SINGULO) + if(terminal) + disconnect_terminal() + return ..() diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 866041d883..b6c93979c1 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -137,11 +137,11 @@ radio.keyslot = new radio_key radio.listening = 0 radio.recalculateChannels() - investigate_log("has been created.", "supermatter") + investigate_log("has been created.", INVESTIGATE_SUPERMATTER) /obj/machinery/power/supermatter_shard/Destroy() - investigate_log("has been destroyed.", "supermatter") + investigate_log("has been destroyed.", INVESTIGATE_SUPERMATTER) SSair.atmos_machinery -= src QDEL_NULL(radio) GLOB.poi_list -= src @@ -171,16 +171,16 @@ M << 'sound/magic/Charge.ogg' to_chat(M, "You feel reality distort for a moment...") if(combined_gas > MOLE_PENALTY_THRESHOLD) - investigate_log("has collapsed into a singularity.", "supermatter") + investigate_log("has collapsed into a singularity.", INVESTIGATE_SUPERMATTER) if(T) var/obj/singularity/S = new(T) S.energy = 800 S.consume(src) else - investigate_log("has exploded.", "supermatter") + investigate_log("has exploded.", INVESTIGATE_SUPERMATTER) explosion(get_turf(T), explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , explosion_power * max(gasmix_power_ratio, 0.205) + 2, explosion_power * max(gasmix_power_ratio, 0.205) + 4 , explosion_power * max(gasmix_power_ratio, 0.205) + 6, 1, 1) if(power > POWER_PENALTY_THRESHOLD) - investigate_log("has spawned additional energy balls.", "supermatter") + investigate_log("has spawned additional energy balls.", INVESTIGATE_SUPERMATTER) var/obj/singularity/energy_ball/E = new(T) E.energy = power qdel(src) @@ -345,7 +345,7 @@ radio.talk_into(src, "[emergency_alert] Instability: [stability]%", common_channel, get_spans(), get_default_language()) lastwarning = REALTIMEOFDAY if(!has_reached_emergency) - investigate_log("has reached the emergency point for the first time.", "supermatter") + investigate_log("has reached the emergency point for the first time.", INVESTIGATE_SUPERMATTER) message_admins("[src] has reached the emergency point [ADMIN_JMP(src)].") has_reached_emergency = 1 else if(damage >= damage_archived) // The damage is still going up @@ -401,7 +401,7 @@ /obj/machinery/power/supermatter_shard/singularity_act() var/gain = 100 - investigate_log("Supermatter shard consumed by singularity.","singulo") + investigate_log("Supermatter shard consumed by singularity.", INVESTIGATE_SINGULO) message_admins("Singularity has consumed a supermatter shard and can now become stage six.") visible_message("[src] is consumed by the singularity!") for(var/mob/M in GLOB.mob_list) @@ -450,7 +450,7 @@ user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... [user.p_their()] body starts to glow and bursts into flames before flashing into ash.",\ "You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",\ "You hear an unearthly noise as a wave of heat washes over you.") - investigate_log("has been attacked (hand) by [user]", "supermatter") + investigate_log("has been attacked (hand) by [user]", INVESTIGATE_SUPERMATTER) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) Consume(user) @@ -467,7 +467,7 @@ user.visible_message("As [user] touches \the [src] with \a [W], silence fills the room...",\ "You touch \the [src] with \the [W], and everything suddenly goes silent.\n\The [W] flashes into dust as you flinch away from \the [src].",\ "Everything suddenly goes silent.") - investigate_log("has been attacked ([W]) by [user]", "supermatter") + investigate_log("has been attacked ([W]) by [user]", INVESTIGATE_SUPERMATTER) Consume(W) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) @@ -493,13 +493,13 @@ if(isliving(AM)) var/mob/living/user = AM message_admins("[src] has consumed [key_name_admin(user)] [ADMIN_JMP(src)].") - investigate_log("has consumed [key_name(user)].", "supermatter") + investigate_log("has consumed [key_name(user)].", INVESTIGATE_SUPERMATTER) user.dust() matter_power += 200 else if(istype(AM, /obj/singularity)) return else if(isobj(AM) && !istype(AM, /obj/effect)) - investigate_log("has consumed [AM].", "supermatter") + investigate_log("has consumed [AM].", INVESTIGATE_SUPERMATTER) qdel(AM) matter_power += 200 @@ -507,7 +507,7 @@ //Some poor sod got eaten, go ahead and irradiate people nearby. radiation_pulse(get_turf(src), 4, 10, 500, 1) for(var/mob/living/L in range(10)) - investigate_log("has irradiated [L] after consuming [AM].", "supermatter") + investigate_log("has irradiated [L] after consuming [AM].", INVESTIGATE_SUPERMATTER) if(L in view()) L.show_message("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns.", 1,\ "The unearthly ringing subsides and you notice you have new radiation burns.", 2) diff --git a/code/modules/power/supermatter/supermatter.dm.rej b/code/modules/power/supermatter/supermatter.dm.rej new file mode 100644 index 0000000000..784fbb78b7 --- /dev/null +++ b/code/modules/power/supermatter/supermatter.dm.rej @@ -0,0 +1,15 @@ +diff a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm (rejected hunks) +@@ -388,11 +388,11 @@ + return 0 // This stops people from being able to really power up the supermatter + // Then bring it inside to explode instantly upon landing on a valid turf. + if(!istype(Proj.firer, /obj/machinery/power/emitter)) +- investigate_log("has been hit by [Proj] fired by [Proj.firer]", "supermatter") ++ investigate_log("has been hit by [Proj] fired by [Proj.firer]", INVESTIGATE_SUPERMATTER) + if(Proj.flag != "bullet") + power += Proj.damage * config_bullet_energy + if(!has_been_powered) +- investigate_log("has been powered for the first time.", "supermatter") ++ investigate_log("has been powered for the first time.", INVESTIGATE_SUPERMATTER) + message_admins("[src] has been powered for the first time [ADMIN_JMP(src)].") + has_been_powered = 1 + else if(takes_damage) diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index fba7f241d2..8db05a0c4f 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -238,7 +238,7 @@ visible_message("[src] malfunctions and destroys [exp_on], lashing its arms out at nearby people!") for(var/mob/living/m in oview(1, src)) m.apply_damage(15, BRUTE, pick("head","chest","groin")) - investigate_log("Experimentor dealt minor brute to [m].", "experimentor") + investigate_log("Experimentor dealt minor brute to [m].", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions!") @@ -248,7 +248,7 @@ var/mob/living/target = locate(/mob/living) in oview(7,src) if(target) var/obj/item/throwing = loaded_item - investigate_log("Experimentor has thrown [loaded_item] at [target]", "experimentor") + investigate_log("Experimentor has thrown [loaded_item] at [target]", INVESTIGATE_EXPERIMENTOR) ejectItem() if(throwing) throwing.throw_at(target, 10, 1) @@ -259,7 +259,7 @@ visible_message("[exp_on] has activated an unknown subroutine!") cloneMode = TRUE cloneCount = badThingCoeff - investigate_log("Experimentor has made a clone of [exp_on]", "experimentor") + investigate_log("Experimentor has made a clone of [exp_on]", INVESTIGATE_EXPERIMENTOR) ejectItem() else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message("[src] malfunctions, melting [exp_on] and leaking radiation!") @@ -278,7 +278,7 @@ var/newPath = pickWeighted(valid_items) loaded_item = new newPath(src) visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!") - investigate_log("Experimentor has transformed [savedName] into [loaded_item]", "experimentor") + investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR) if(istype(loaded_item,/obj/item/weapon/grenade/chem_grenade)) var/obj/item/weapon/grenade/chem_grenade/CG = loaded_item CG.prime() @@ -295,7 +295,7 @@ var/datum/reagents/R = new/datum/reagents(50) R.my_atom = src R.add_reagent(chosenchem , 50) - investigate_log("Experimentor has released [chosenchem] smoke.", "experimentor") + investigate_log("Experimentor has released [chosenchem] smoke.", INVESTIGATE_EXPERIMENTOR) var/datum/effect_system/smoke_spread/chem/smoke = new smoke.set_up(R, 0, src, silent = 1) playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) @@ -315,14 +315,14 @@ qdel(R) ejectItem(TRUE) warn_admins(usr, "[chosenchem] smoke") - investigate_log("Experimentor has released [chosenchem] smoke!", "experimentor") + investigate_log("Experimentor has released [chosenchem] smoke!", INVESTIGATE_EXPERIMENTOR) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions, spewing harmless gas.") throwSmoke(src.loc) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] melts [exp_on], ionizing the air around it!") empulse(src.loc, 4, 6) - investigate_log("Experimentor has generated an Electromagnetic Pulse.", "experimentor") + investigate_log("Experimentor has generated an Electromagnetic Pulse.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) //////////////////////////////////////////////////////////////////////////////////////////////// if(exp == SCANTYPE_HEAT) @@ -336,14 +336,14 @@ C.reagents.add_reagent(chosenchem , 50) C.name = "Cup of Suspicious Liquid" C.desc = "It has a large hazard symbol printed on the side in fading ink." - investigate_log("Experimentor has made a cup of [chosenchem] coffee.", "experimentor") + investigate_log("Experimentor has made a cup of [chosenchem] coffee.", INVESTIGATE_EXPERIMENTOR) else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) var/turf/start = get_turf(src) var/mob/M = locate(/mob/living) in view(src, 3) var/turf/MT = get_turf(M) if(MT) visible_message("[src] dangerously overheats, launching a flaming fuel orb!") - investigate_log("Experimentor has launched a fireball at [M]!", "experimentor") + investigate_log("Experimentor has launched a fireball at [M]!", INVESTIGATE_EXPERIMENTOR) var/obj/item/projectile/magic/aoe/fireball/FB = new /obj/item/projectile/magic/aoe/fireball(start) FB.original = MT FB.current = start @@ -353,7 +353,7 @@ else if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions, melting [exp_on] and releasing a burst of flame!") explosion(src.loc, -1, 0, 0, 0, 0, flame_range = 2) - investigate_log("Experimentor started a fire.", "experimentor") + investigate_log("Experimentor started a fire.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] malfunctions, melting [exp_on] and leaking hot air!") @@ -367,14 +367,14 @@ removed.temperature = min((removed.temperature*heat_capacity + 100000)/heat_capacity, 1000) env.merge(removed) air_update_turf() - investigate_log("Experimentor has released hot air.", "experimentor") + investigate_log("Experimentor has released hot air.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] malfunctions, activating its emergency coolant systems!") throwSmoke(src.loc) for(var/mob/living/m in oview(1, src)) m.apply_damage(5, BURN, pick("head","chest","groin")) - investigate_log("Experimentor has dealt minor burn damage to [m]", "experimentor") + investigate_log("Experimentor has dealt minor burn damage to [m]", INVESTIGATE_EXPERIMENTOR) ejectItem() //////////////////////////////////////////////////////////////////////////////////////////////// if(exp == SCANTYPE_COLD) @@ -388,13 +388,13 @@ C.reagents.add_reagent(chosenchem , 50) C.name = "Cup of Suspicious Liquid" C.desc = "It has a large hazard symbol printed on the side in fading ink." - investigate_log("Experimentor has made a cup of [chosenchem] coffee.", "experimentor") + investigate_log("Experimentor has made a cup of [chosenchem] coffee.", INVESTIGATE_EXPERIMENTOR) else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!") var/datum/reagents/R = new/datum/reagents(50) R.my_atom = src R.add_reagent("frostoil" , 50) - investigate_log("Experimentor has released frostoil gas.", "experimentor") + investigate_log("Experimentor has released frostoil gas.", INVESTIGATE_EXPERIMENTOR) var/datum/effect_system/smoke_spread/chem/smoke = new smoke.set_up(R, 0, src, silent = 1) playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) @@ -413,7 +413,7 @@ removed.temperature = (removed.temperature*heat_capacity - 75000)/heat_capacity env.merge(removed) air_update_turf() - investigate_log("Experimentor has released cold air.", "experimentor") + investigate_log("Experimentor has released cold air.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!") @@ -433,14 +433,14 @@ else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message("[src]'s crusher goes way too many levels too high, crushing right through space-time!") playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 1, -3) - investigate_log("Experimentor has triggered the 'throw things' reaction.", "experimentor") + investigate_log("Experimentor has triggered the 'throw things' reaction.", INVESTIGATE_EXPERIMENTOR) for(var/atom/movable/AM in oview(7,src)) if(!AM.anchored) AM.throw_at(src,10,1) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src]'s crusher goes one level too high, crushing right into space-time!") playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 1, -3) - investigate_log("Experimentor has triggered the 'minor throw things' reaction.", "experimentor") + investigate_log("Experimentor has triggered the 'minor throw things' reaction.", INVESTIGATE_EXPERIMENTOR) var/list/throwAt = list() for(var/atom/movable/AM in oview(7,src)) if(!AM.anchored) @@ -460,7 +460,7 @@ playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) var/obj/item/weapon/relic/R = loaded_item R.reveal() - investigate_log("Experimentor has revealed a relic with [R.realProc] effect.", "experimentor") + investigate_log("Experimentor has revealed a relic with [R.realProc] effect.", INVESTIGATE_EXPERIMENTOR) ejectItem() //Global reactions @@ -476,32 +476,32 @@ if(trackedIan) throwSmoke(trackedIan.loc) trackedIan.loc = src.loc - investigate_log("Experimentor has stolen Ian!", "experimentor") //...if anyone ever fixes it... + investigate_log("Experimentor has stolen Ian!", INVESTIGATE_EXPERIMENTOR) //...if anyone ever fixes it... else new /mob/living/simple_animal/pet/dog/corgi(src.loc) - investigate_log("Experimentor has spawned a new corgi.", "experimentor") + investigate_log("Experimentor has spawned a new corgi.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(globalMalf > 36 && globalMalf < 50) visible_message("Experimentor draws the life essence of those nearby!") for(var/mob/living/m in view(4,src)) to_chat(m, "You feel your flesh being torn from you, mists of blood drifting to [src]!") m.apply_damage(50, BRUTE, "chest") - investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", "experimentor") + investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", INVESTIGATE_EXPERIMENTOR) if(globalMalf > 51 && globalMalf < 75) visible_message("[src] encounters a run-time error!") throwSmoke(src.loc) if(trackedRuntime) throwSmoke(trackedRuntime.loc) trackedRuntime.loc = src.loc - investigate_log("Experimentor has stolen Runtime!", "experimentor") + investigate_log("Experimentor has stolen Runtime!", INVESTIGATE_EXPERIMENTOR) else new /mob/living/simple_animal/pet/cat(src.loc) - investigate_log("Experimentor failed to steal runtime, and instead spawned a new cat.", "experimentor") + investigate_log("Experimentor failed to steal runtime, and instead spawned a new cat.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(globalMalf > 76) visible_message("[src] begins to smoke and hiss, shaking violently!") use_power(500000) - investigate_log("Experimentor has drained power from its APC", "experimentor") + investigate_log("Experimentor has drained power from its APC", INVESTIGATE_EXPERIMENTOR) spawn(resetTime) icon_state = "h_lathe" diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 31fa13f094..fb4a4b9af3 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -447,7 +447,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, for(var/i = 0, i Date: Tue, 23 May 2017 13:44:19 -0500 Subject: [PATCH 004/134] Fixes advanced cam not cleaning up properly --- code/datums/holocall.dm | 2 +- code/game/gamemodes/miniantags/abduction/machinery/camera.dm | 2 +- code/game/machinery/computer/camera_advanced.dm | 2 +- code/modules/research/xenobiology/xenobio_camera.dm | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 8f18f8b1fe..a3157e6514 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -46,7 +46,7 @@ user.reset_perspective() if(user.client) for(var/datum/camerachunk/chunk in eye.visibleCameraChunks) - user.client.images -= chunk.obscured + chunk.remove(eye) user.remote_control = null QDEL_NULL(eye) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm index 4bbdd0ca18..1e725bccba 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm @@ -75,7 +75,7 @@ if(C.client) C.client.images -= remote_eye.user_image for(var/datum/camerachunk/chunk in remote_eye.visibleCameraChunks) - C.client.images -= chunk.obscured + chunk.remove(remote_eye) C.remote_control = null C.unset_machine() Remove(C) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 39cdb1478c..e3637d3430 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -157,7 +157,7 @@ obj/machinery/computer/camera_advanced/attack_ai(mob/user) if(remote_eye.visible_icon) C.client.images -= remote_eye.user_image for(var/datum/camerachunk/chunk in remote_eye.visibleCameraChunks) - C.client.images -= chunk.obscured + chunk.remove(remote_eye) C.remote_control = null C.unset_machine() Remove(C) diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index bd34ff60c0..ff7c3f6340 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -101,7 +101,7 @@ if(C.client) C.client.images -= remote_eye.user_image for(var/datum/camerachunk/chunk in remote_eye.visibleCameraChunks) - C.client.images -= chunk.obscured + chunk.remove(remote_eye) C.remote_control = null C.unset_machine() Remove(C) From b8b879af45754ee70861834d14d3c9af7108d409 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 23 May 2017 15:29:11 -0500 Subject: [PATCH 005/134] Gibtonite now uses defines --- code/__DEFINES/misc.dm | 6 ++++++ code/game/turfs/simulated/minerals.dm | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 8b02a61fba..6a7e3b3b2e 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -411,3 +411,9 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define NO_FIELD 0 #define FIELD_TURF 1 #define FIELD_EDGE 2 + +//gibtonite state defines +#define GIBTONITE_UNSTRUCK 0 +#define GIBTONITE_ACTIVE 1 +#define GIBTONITE_STABLE 2 +#define GIBTONITE_DETONATE 3 \ No newline at end of file diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 708427a11a..0a8230e186 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -379,7 +379,7 @@ spread = 0 scan_state = "rock_Gibtonite" var/det_time = 8 //Countdown till explosion, but also rewards the player for how close you were to detonation when you defuse it - var/stage = 0 //How far into the lifecycle of gibtonite we are, 0 is untouched, 1 is active and attempting to detonate, 2 is benign and ready for extraction + var/stage = GIBTONITE_UNSTRUCK //How far into the lifecycle of gibtonite we are var/activated_ckey = null //These are to track who triggered the gibtonite deposit for logging purposes var/activated_name = null var/mutable_appearance/activated_overlay @@ -395,12 +395,12 @@ ..() /turf/closed/mineral/gibtonite/proc/explosive_reaction(mob/user = null, triggered_by_explosion = 0) - if(stage == 0) + if(stage == GIBTONITE_UNSTRUCK) activated_overlay = mutable_appearance('icons/turf/smoothrocks.dmi', "rock_Gibtonite_active", ON_EDGED_TURF_LAYER) add_overlay(activated_overlay) name = "gibtonite deposit" desc = "An active gibtonite reserve. Run!" - stage = 1 + stage = GIBTONITE_ACTIVE visible_message("There was gibtonite inside! It's going to explode!") var/turf/bombturf = get_turf(src) var/area/A = get_area(bombturf) @@ -422,38 +422,38 @@ /turf/closed/mineral/gibtonite/proc/countdown(notify_admins = 0) set waitfor = 0 - while(istype(src, /turf/closed/mineral/gibtonite) && stage == 1 && det_time > 0 && mineralAmt >= 1) + while(istype(src, /turf/closed/mineral/gibtonite) && stage == GIBTONITE_ACTIVE && det_time > 0 && mineralAmt >= 1) det_time-- sleep(5) if(istype(src, /turf/closed/mineral/gibtonite)) - if(stage == 1 && det_time <= 0 && mineralAmt >= 1) + if(stage == GIBTONITE_ACTIVE && det_time <= 0 && mineralAmt >= 1) var/turf/bombturf = get_turf(src) mineralAmt = 0 - stage = 3 + stage = GIBTONITE_DETONATE explosion(bombturf,1,3,5, adminlog = notify_admins) /turf/closed/mineral/gibtonite/proc/defuse() - if(stage == 1) + if(stage == GIBTONITE_ACTIVE) cut_overlay(activated_overlay) activated_overlay.icon_state = "rock_Gibtonite_inactive" add_overlay(activated_overlay) desc = "An inactive gibtonite reserve. The ore can be extracted." - stage = 2 + stage = GIBTONITE_STABLE if(det_time < 0) det_time = 0 visible_message("The chain reaction was stopped! The gibtonite had [src.det_time] reactions left till the explosion!") /turf/closed/mineral/gibtonite/gets_drilled(mob/user, triggered_by_explosion = 0) - if(stage == 0 && mineralAmt >= 1) //Gibtonite deposit is activated + if(stage == GIBTONITE_UNSTRUCK && mineralAmt >= 1) //Gibtonite deposit is activated playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,1) explosive_reaction(user, triggered_by_explosion) return - if(stage == 1 && mineralAmt >= 1) //Gibtonite deposit goes kaboom + if(stage == GIBTONITE_ACTIVE && mineralAmt >= 1) //Gibtonite deposit goes kaboom var/turf/bombturf = get_turf(src) mineralAmt = 0 - stage = 3 + stage = GIBTONITE_DETONATE explosion(bombturf,1,2,5, adminlog = 0) - if(stage == 2) //Gibtonite deposit is now benign and extractable. Depending on how close you were to it blowing up before defusing, you get better quality ore. + if(stage == GIBTONITE_STABLE) //Gibtonite deposit is now benign and extractable. Depending on how close you were to it blowing up before defusing, you get better quality ore. var/obj/item/weapon/twohanded/required/gibtonite/G = new /obj/item/weapon/twohanded/required/gibtonite/(src) if(det_time <= 0) G.quality = 3 From 6ee6430dfb72b97802400110c82d3401ae20fcb1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 23 May 2017 19:56:25 -0500 Subject: [PATCH 006/134] Gives Void Torch its icon back --- code/game/gamemodes/cult/cult_items.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index ed1a64eede..4be11267ef 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -375,8 +375,8 @@ desc = "Used by veteran cultists to instantly transport items to their needful bretheren." w_class = WEIGHT_CLASS_SMALL brightness_on = 1 - icon_state = "torch-on" - item_state = "torch-on" + icon_state = "torch" + item_state = "torch" color = "#ff0000" on_damage = 15 slot_flags = null From be2aefa13b600178198abf10d273044aa1d35691 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 23 May 2017 20:56:33 -0500 Subject: [PATCH 007/134] Fixes syndicate pod turrets --- code/game/machinery/porta_turret/portable_turret.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index ae9d485447..22c6c57b17 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -553,6 +553,7 @@ use_power = 0 has_cover = 0 scan_range = 9 + req_access = list(GLOB.access_syndicate) stun_projectile = /obj/item/projectile/bullet lethal_projectile = /obj/item/projectile/bullet lethal_projectile_sound = 'sound/weapons/Gunshot.ogg' @@ -569,6 +570,8 @@ return 10 //Syndicate turrets shoot everything not in their faction /obj/machinery/porta_turret/syndicate/pod + max_integrity = 40 + integrity_failure = 20 obj_integrity = 40 stun_projectile = /obj/item/projectile/bullet/weakbullet3 lethal_projectile = /obj/item/projectile/bullet/weakbullet3 From 074b684b4dc04bf3db11372fad77926baad09c71 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 00:11:57 -0500 Subject: [PATCH 008/134] Armour Description Changes --- code/modules/clothing/suits/armor.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index a8ed4d2100..1cadd5cc0d 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -14,14 +14,14 @@ /obj/item/clothing/suit/armor/vest name = "armor vest" - desc = "A slim armored vest that protects against most types of damage." + desc = "A slim Type I armored vest that provides decent protection against most types of damage." icon_state = "armoralt" item_state = "armoralt" blood_overlay_type = "armor" dog_fashion = /datum/dog_fashion/back /obj/item/clothing/suit/armor/vest/alt - desc = "An armored vest that protects against most types of damage." + desc = "A Type I armored vest that provides decent protection against most types of damage." icon_state = "armor" item_state = "armor" @@ -31,7 +31,7 @@ /obj/item/clothing/suit/armor/hos name = "armored greatcoat" - desc = "A greatcoat enchanced with a special alloy for some protection and style for those with a commanding presence." + desc = "A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence." icon_state = "hos" item_state = "greatcoat" body_parts_covered = CHEST|GROIN|ARMS|LEGS @@ -77,7 +77,7 @@ /obj/item/clothing/suit/armor/vest/capcarapace name = "captain's carapace" - desc = "An armored vest reinforced with ceramic plates and pauldrons to provide additional protection whilst still offering maximum mobility and flexibility. Issued only to the station's finest, although it does chafe your nipples." + desc = "An fireproof armored chestpiece reinforced with ceramic plates and plasteel pauldrons to provide additional protection whilst still offering maximum mobility and flexibility. Issued only to the station's finest, although it does chafe your nipples." icon_state = "capcarapace" item_state = "armor" body_parts_covered = CHEST|GROIN @@ -93,7 +93,7 @@ /obj/item/clothing/suit/armor/riot name = "riot suit" - desc = "A suit of armor with heavy padding to protect against melee attacks." + desc = "A suit of semi-flexible polycarbonate body armor with heavy padding to protect against melee attacks." icon_state = "riot" item_state = "swat_suit" body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -115,7 +115,7 @@ /obj/item/clothing/suit/armor/bulletproof name = "bulletproof armor" - desc = "A bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." + desc = "A Type III heavy bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." icon_state = "bulletproof" item_state = "armor" blood_overlay_type = "armor" From ab7e9539bd46e330eecfe7697c70bc4794843181 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 00:13:03 -0500 Subject: [PATCH 009/134] Tactical Energy Gun Unique Sprites --- .../projectiles/guns/energy/energy_gun.dm.rej | 10 ++++++++++ icons/obj/guns/energy.dmi | Bin 32651 -> 34126 bytes 2 files changed, 10 insertions(+) create mode 100644 code/modules/projectiles/guns/energy/energy_gun.dm.rej diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm.rej b/code/modules/projectiles/guns/energy/energy_gun.dm.rej new file mode 100644 index 0000000000..b99e426279 --- /dev/null +++ b/code/modules/projectiles/guns/energy/energy_gun.dm.rej @@ -0,0 +1,10 @@ +diff a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm (rejected hunks) +@@ -35,7 +35,7 @@ + name = "tactical energy gun" + desc = "Military issue energy gun, is able to fire stun rounds." + icon_state = "energytac" +- item_state = "energy" ++ ammo_x_offset = 2 + ammo_type = list(/obj/item/ammo_casing/energy/electrode/spec, /obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) + + /obj/item/weapon/gun/energy/e_gun/mini/practice_phaser diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index 71b1474a660cb9a4a3b628ad5b1aa7860b924a5d..d8c4010aeff05bd84bf365acc35bdd862f263620 100644 GIT binary patch literal 34126 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 Zdg=ak{HA~?u#klyZB6}~Mb~XZ|2H?h{FMLz literal 32651 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 CI>~YX From 5fe4c7eb0775d8243c82a18f6c8f08a4f69f2f1b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 00:14:08 -0500 Subject: [PATCH 010/134] Sketchin Alt Magazine Sprites --- .../boxes_magazines/external_mag.dm | 3 +++ icons/obj/ammo.dmi | Bin 20666 -> 21062 bytes 2 files changed, 3 insertions(+) diff --git a/code/modules/projectiles/boxes_magazines/external_mag.dm b/code/modules/projectiles/boxes_magazines/external_mag.dm index 8733cd2e1e..c2a7129b4e 100644 --- a/code/modules/projectiles/boxes_magazines/external_mag.dm +++ b/code/modules/projectiles/boxes_magazines/external_mag.dm @@ -30,16 +30,19 @@ /obj/item/ammo_box/magazine/m10mm/fire name = "pistol magazine (10mm incendiary)" + icon_state = "9x19pI" desc = "A gun magazine. Loaded with rounds which ignite the target." ammo_type = /obj/item/ammo_casing/c10mm/fire /obj/item/ammo_box/magazine/m10mm/hp name = "pistol magazine (10mm HP)" + icon_state = "9x19pH" desc= "A gun magazine. Loaded with hollow-point rounds, extremely effective against unarmored targets, but nearly useless against protective clothing." ammo_type = /obj/item/ammo_casing/c10mm/hp /obj/item/ammo_box/magazine/m10mm/ap name = "pistol magazine (10mm AP)" + icon_state = "9x19pA" desc= "A gun magazine. Loaded with rounds which penetrate armour, but are less effective against normal targets" ammo_type = /obj/item/ammo_casing/c10mm/ap diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 33149a3e2e102576466033b5920b54f0b85fe1e0..24323f5cf32353111fa79aaef1ee8200de5d0c69 100644 GIT binary patch literal 21062 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 E1u<^PnE(I) literal 20666 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 Date: Wed, 24 May 2017 00:15:13 -0500 Subject: [PATCH 011/134] Prevents inserted inert legion cores from healing --- .../simple_animal/hostile/mining_mobs.dm | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index e3e4e37396..eaabcf5980 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -255,10 +255,8 @@ addtimer(CALLBACK(src, .proc/inert_check), 2400) /obj/item/organ/hivelord_core/proc/inert_check() - if(!owner && !preserved) + if(!preserved) go_inert() - else - preserved(implanted = 1) /obj/item/organ/hivelord_core/proc/preserved(implanted = 0) inert = FALSE @@ -278,7 +276,10 @@ update_icon() /obj/item/organ/hivelord_core/ui_action_click() - owner.revive(full_heal = 1) + if(inert) + to_chat(owner, "[src] breaks down as it tries to activate.") + else + owner.revive(full_heal = 1) qdel(src) /obj/item/organ/hivelord_core/on_life() @@ -306,6 +307,18 @@ qdel(src) ..() +/obj/item/organ/hivelord_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) + . = ..() + if(!preserved && !inert) + preserved(TRUE) + owner.visible_message("[src] stabilizes as it's inserted.") + +/obj/item/organ/hivelord_core/Remove(mob/living/carbon/M, special = 0) + if(!inert && !special) + owner.visible_message("[src] goes inert as it's removed.") + go_inert() + return ..() + /obj/item/organ/hivelord_core/prepare_eat() return null From e29928312d23f94a37d8f4ef95dfc879b619ab07 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 00:16:45 -0500 Subject: [PATCH 012/134] Reworks spray tan overdoses so they actually make sense --- .../reagents/chemistry/reagents/other_reagents.dm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index b30207eaf3..3a0333a91c 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -367,11 +367,15 @@ if(ishuman(M)) var/mob/living/carbon/human/N = M - if(N.dna.species.id == "human") // If they're human, turn em to the "orange" race, and give em spiky black hair + N.hair_style = "Spiky" + N.facial_hair_style = "Shaved" + N.facial_hair_color = "000" + N.hair_color = "000" + if(!(HAIR in N.dna.species.species_traits)) //No hair? No problem! + N.dna.species.species_traits += HAIR + if(N.dna.species.use_skintones) N.skin_tone = "orange" - N.hair_style = "Spiky" - N.hair_color = "000" - if(MUTCOLORS in N.dna.species.species_traits) //Aliens with custom colors simply get turned orange + else if(MUTCOLORS in N.dna.species.species_traits) //Aliens with custom colors simply get turned orange N.dna.features["mcolor"] = "f80" N.regenerate_icons() if(prob(7)) @@ -380,7 +384,7 @@ else M.visible_message("[M] flexes [M.p_their()] arms.") if(prob(10)) - M.say(pick("Check these sweet biceps bro!", "Deal with it.", "CHUG! CHUG! CHUG! CHUG!", "Winning!", "NERDS!", "My name is John and I hate every single one of you.")) + M.say(pick("Shit was SO cash.", "You are everything bad in the world.", "What sports do you play, other than 'jack off to naked drawn Japanese people?'", "Don’t be a stranger. Just hit me with your best shot.", "My name is John and I hate every single one of you.")) ..() return From 3a97af10cf4f81f634a43792ecce967e228a7f72 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 00:18:51 -0500 Subject: [PATCH 013/134] Water wets hide, you can microwave wet leather --- code/game/objects/items/stacks/sheets/leather.dm | 13 ++++++------- .../reagents/chemistry/reagents/other_reagents.dm | 8 +++++++- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 14e4f5a01c..9c14a4376a 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -196,13 +196,6 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ user.visible_message("[user] starts cutting hair off \the [src].", "You start cutting the hair off \the [src]...", "You hear the sound of a knife rubbing against flesh.") if(do_after(user,50, target = src)) to_chat(user, "You cut the hair from this [src.singular_name].") - //Try locating an exisitng stack on the tile and add to there if possible - for(var/obj/item/stack/sheet/hairlesshide/HS in user.loc) - if(HS.amount < 50) - HS.amount++ - use(1) - break - //If it gets to here it means it did not find a suitable stack on the tile. var/obj/item/stack/sheet/hairlesshide/HS = new(user.loc) HS.amount = 1 use(1) @@ -230,3 +223,9 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ HS.amount = 1 wetness = initial(wetness) src.use(1) + +/obj/item/stack/sheet/wetleather/microwave_act(obj/machinery/microwave/MW) + ..() + var/obj/item/stack/sheet/leather/L = new(loc) + L.amount = amount + qdel(src) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index b30207eaf3..59d01e872a 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -160,6 +160,12 @@ var/obj/item/toy/carpplushie/dehy_carp/dehy = O dehy.Swell() // Makes a carp + else if(istype(O, /obj/item/stack/sheet/hairlesshide)) + var/obj/item/stack/sheet/hairlesshide/HH = O + var/obj/item/stack/sheet/wetleather/WL = new(get_turf(HH)) + WL.amount = HH.amount + qdel(HH) + /* * Water reaction to a mob */ @@ -1126,7 +1132,7 @@ /datum/reagent/nitrous_oxide/reaction_mob(mob/M, method=TOUCH, reac_volume) if(method == VAPOR) M.drowsyness += max(round(reac_volume, 1), 2) - + /datum/reagent/nitrous_oxide/on_mob_life(mob/living/M) M.drowsyness += 2 if(ishuman(M)) From 991dfbeb5a4ee0aea5b4e6acd6530bfdd8e3df0a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 03:47:08 -0500 Subject: [PATCH 014/134] Fixes library machines not finding book scanners --- code/modules/library/lib_machines.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index dc443cf265..68665e2d81 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -270,7 +270,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums if(5) dat += "

Upload a New Title

" if(!scanner) - findscanner(9) + scanner = findscanner(9) if(!scanner) dat += "No scanner found within wireless network range.
" else if(!scanner.cache) @@ -314,7 +314,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums popup.open() /obj/machinery/computer/libraryconsole/bookmanagement/proc/findscanner(viewrange) - for(var/obj/machinery/libraryscanner/S in range(viewrange)) + for(var/obj/machinery/libraryscanner/S in range(viewrange, get_turf(src))) return S return null From 0da4f06c59350885dcfcd68cacc3c6ed682cbdd5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 05:49:30 -0500 Subject: [PATCH 015/134] Add Glass Panes to Box Armoury Weapon Racks --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 58 +++++++++++++------ 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index b00c11274b..229d5755a1 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -1142,6 +1142,10 @@ /obj/effect/turf_decal/bot{ dir = 2 }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, /turf/open/floor/plasteel{ dir = 2 }, @@ -1338,6 +1342,13 @@ /obj/effect/turf_decal/bot{ dir = 2 }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, /turf/open/floor/plasteel{ dir = 2 }, @@ -1356,6 +1367,13 @@ /obj/effect/turf_decal/bot{ dir = 2 }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plasteel{ dir = 2 }, @@ -53772,6 +53790,10 @@ /obj/effect/turf_decal/bot{ dir = 2 }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, /turf/open/floor/plasteel{ dir = 2 }, @@ -112232,11 +112254,11 @@ btp cbv ccq bns -cjD -cjD -cjD -cjD -cnj +aof +aof +aof +aof +amw aaa aaa aaa @@ -112489,13 +112511,13 @@ ckS bky ccq cds -cjD +aof ckt cly cmw -cnj -cnj -cnj +amw +amw +amw aaa aaa aaf @@ -113003,13 +113025,13 @@ cbg bTr cct cdu -cjG +aqx cku clz cmx -cnj -cnj -cnj +amw +amw +amw aaa aaa aaf @@ -113260,11 +113282,11 @@ bky bky bky bky -cjD -cjD -cjD -cjD -cnj +aof +aof +aof +aof +amw aaa aaa aaa From 14427a2b8c95a0568356991343f00f8d458e4433 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 05:52:37 -0500 Subject: [PATCH 016/134] Ballistic Weapon/Shotgun Reload Sounds --- code/modules/projectiles/box_magazine.dm | 2 ++ .../projectiles/guns/ballistic/automatic.dm | 7 +++++++ .../projectiles/guns/ballistic/revolver.dm | 2 ++ .../projectiles/guns/ballistic/shotgun.dm | 1 + sound/weapons/autoguninsert.ogg | Bin 0 -> 16218 bytes sound/weapons/bulletinsert.ogg | Bin 0 -> 8527 bytes sound/weapons/bulletremove.ogg | Bin 0 -> 43594 bytes sound/weapons/magin.ogg | Bin 0 -> 7120 bytes sound/weapons/magout.ogg | Bin 0 -> 8125 bytes sound/weapons/sawclose.ogg | Bin 0 -> 17067 bytes sound/weapons/sawopen.ogg | Bin 0 -> 20339 bytes sound/weapons/shotguninsert.ogg | Bin 0 -> 11662 bytes 12 files changed, 12 insertions(+) create mode 100644 sound/weapons/autoguninsert.ogg create mode 100644 sound/weapons/bulletinsert.ogg create mode 100644 sound/weapons/bulletremove.ogg create mode 100644 sound/weapons/magin.ogg create mode 100644 sound/weapons/magout.ogg create mode 100644 sound/weapons/sawclose.ogg create mode 100644 sound/weapons/sawopen.ogg create mode 100644 sound/weapons/shotguninsert.ogg diff --git a/code/modules/projectiles/box_magazine.dm b/code/modules/projectiles/box_magazine.dm index 982bbdf587..028aebe66a 100644 --- a/code/modules/projectiles/box_magazine.dm +++ b/code/modules/projectiles/box_magazine.dm @@ -86,6 +86,7 @@ if(num_loaded) if(!silent) to_chat(user, "You load [num_loaded] shell\s into \the [src]!") + playsound(user, 'sound/weapons/bulletinsert.ogg', 60, 1) A.update_icon() update_icon() @@ -96,6 +97,7 @@ if(A) user.put_in_hands(A) to_chat(user, "You remove a round from \the [src]!") + playsound(user, 'sound/weapons/bulletremove.ogg', 60, 1) update_icon() /obj/item/ammo_box/update_icon() diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 0235bbe84d..2f7036cab8 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -44,6 +44,8 @@ oldmag.update_icon() else to_chat(user, "You insert the magazine into \the [src].") + + playsound(user, 'sound/weapons/autoguninsert.ogg', 60, 1) chamber_round() A.update_icon() update_icon() @@ -300,6 +302,10 @@ /obj/item/weapon/gun/ballistic/automatic/l6_saw/attack_self(mob/user) cover_open = !cover_open to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.") + if(cover_open) + playsound(user, 'sound/weapons/sawopen.ogg', 60, 1) + else + playsound(user, 'sound/weapons/sawclose.ogg', 60, 1) update_icon() @@ -330,6 +336,7 @@ magazine = null update_icon() to_chat(user, "You remove the magazine from [src].") + playsound(user, 'sound/weapons/magout.ogg', 60, 1) /obj/item/weapon/gun/ballistic/automatic/l6_saw/attackby(obj/item/A, mob/user, params) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index ac3c56b88a..892defa9f4 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -28,6 +28,7 @@ var/num_loaded = magazine.attackby(A, user, params, 1) if(num_loaded) to_chat(user, "You load [num_loaded] shell\s into \the [src].") + playsound(user, 'sound/weapons/bulletinsert.ogg', 60, 1) A.update_icon() update_icon() chamber_round(0) @@ -45,6 +46,7 @@ num_unloaded++ if (num_unloaded) to_chat(user, "You unload [num_unloaded] shell\s from [src].") + playsound(user, 'sound/weapons/bulletremove.ogg', 60, 1) else to_chat(user, "[src] is empty!") diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 5f376370d4..918acd27a1 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -20,6 +20,7 @@ var/num_loaded = magazine.attackby(A, user, params, 1) if(num_loaded) to_chat(user, "You load [num_loaded] shell\s into \the [src]!") + playsound(user, 'sound/weapons/shotguninsert.ogg', 60, 1) A.update_icon() update_icon() diff --git a/sound/weapons/autoguninsert.ogg b/sound/weapons/autoguninsert.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f68139968e0a64ca1ea0921aa46dcdc2f62447e8 GIT binary patch literal 16218 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 UHhy$C3gGe;!$<;H27LkkFI8?Q;{X5v literal 0 HcmV?d00001 diff --git a/sound/weapons/bulletinsert.ogg b/sound/weapons/bulletinsert.ogg new file mode 100644 index 0000000000000000000000000000000000000000..789ee15b0837be455c05efcc0609557fb644c40d GIT binary patch literal 8527 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
" + var/dat = "Bombing List
" for(var/l in GLOB.bombers) dat += text("[l]
") usr << browse(dat, "window=bombers") From 7d75b70ff07d890e64901531e46c20f8ef61cf8c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 16:21:19 -0500 Subject: [PATCH 044/134] Renames a var --- .../clothing/glasses/engine_goggles.dm | 24 ++++--------- code/modules/clothing/glasses/glasses.dm | 36 ++++++++----------- 2 files changed, 22 insertions(+), 38 deletions(-) diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 2f70c3bfdf..61cca9b24a 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -7,18 +7,18 @@ actions_types = list(/datum/action/item_action/toggle_mode) origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3" - mode = FALSE //FALSE - regular mesons mode TRUE - t-ray mode + mesons_on = TRUE //if set to FALSE, these goggles work as t-ray scanners. var/range = 1 /obj/item/clothing/glasses/meson/engine/toggle_mode(mob/user, voluntary) var/turf/T = get_turf(src) - if(T && T.z == ZLEVEL_MINING && mode) + if(T && T.z == ZLEVEL_MINING && !mesons_on) if(picked_excuse) to_chat(user, "Due to [picked_excuse], the [name] cannot currently be swapped to \[Meson] mode.") return - mode = !mode + mesons_on = !mesons_on - if(mode) + if(!mesons_on) vision_flags = 0 darkness_view = 2 invis_view = SEE_INVISIBLE_LIVING @@ -50,7 +50,7 @@ toggle_mode(user, TRUE) /obj/item/clothing/glasses/meson/engine/process() - if(!mode) + if(mesons_on) var/turf/T = get_turf(src) if(T && T.z == ZLEVEL_MINING) toggle_mode(loc) @@ -83,15 +83,8 @@ if(M.client) flick_overlay(I, list(M.client), 8) -/obj/item/clothing/glasses/meson/engine/proc/t_ray_on() - if(!ishuman(loc)) - return 0 - - var/mob/living/carbon/human/user = loc - return mode & (user.glasses == src) - /obj/item/clothing/glasses/meson/engine/update_icon() - icon_state = mode ? "trayson-tray" : "trayson-meson" + icon_state = mesons_on ? "trayson-meson" : "trayson-tray" if(istype(loc,/mob/living/carbon/human/)) var/mob/living/carbon/human/user = loc if(user.glasses == src) @@ -103,7 +96,7 @@ icon_state = "trayson-tray_off" origin_tech = "materials=3;magnets=2;engineering=2" - mode = TRUE + mesons_on = FALSE var/on = FALSE vision_flags = 0 darkness_view = 2 @@ -135,6 +128,3 @@ for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() - -/obj/item/clothing/glasses/meson/engine/tray/t_ray_on() - return on && ..() diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 1cc0cc6163..063f3894c9 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -42,7 +42,7 @@ var/static/list/meson_mining_failure_excuses = list("seismic activity", "excessive lava", "ambient radiation", "electromagnetic storms", "bluespace disruption", \ "gravity", "dust", "dense rock", "ash", "badly understood science", "radiant heat") var/picked_excuse - var/mode = FALSE //if FALSE, is in normal meson mode. + var/mesons_on = TRUE /obj/item/clothing/glasses/meson/Initialize() . = ..() @@ -56,34 +56,28 @@ /obj/item/clothing/glasses/meson/examine(mob/user) ..() var/turf/T = get_turf(src) - if(T && T.z == ZLEVEL_MINING && mode && picked_excuse) + if(T && T.z == ZLEVEL_MINING && !mesons_on && picked_excuse) to_chat(user, "Due to [picked_excuse], these Meson Scanners will not be able to display terrain layouts in this area.") /obj/item/clothing/glasses/meson/proc/toggle_mode(mob/user) - if(vision_flags & SEE_TURFS) - mode = TRUE - vision_flags &= ~SEE_TURFS - if(ishuman(user)) - var/mob/living/carbon/human/H = user - if(picked_excuse) - to_chat(H, "Due to [picked_excuse], your Meson Scanners will not be able to display terrain layouts in this area.") - if(H.glasses == src) - H.update_sight() - else if(!(vision_flags & SEE_TURFS)) - mode = FALSE - vision_flags |= SEE_TURFS - if(ishuman(user)) - var/mob/living/carbon/human/H = user - to_chat(H, "Your Meson Scanners have reactivated.") - if(H.glasses == src) - H.update_sight() + vision_flags ^= SEE_TURFS + mesons_on = (vision_flags & SEE_TURFS)? TRUE : FALSE + + if(iscarbon(user)) //only carbons can wear glasses + var/mob/living/carbon/C = user + if(!mesons_on) + to_chat(C, "Your Meson Scanners have reactivated.") + else if(picked_excuse) + to_chat(C, "Due to [picked_excuse], your Meson Scanners will not be able to display terrain layouts in this area.") + if(C.glasses == src) + C.update_sight() /obj/item/clothing/glasses/meson/process() var/turf/T = get_turf(src) if(T && T.z == ZLEVEL_MINING) - if(!mode) + if(mesons_on) //if we're on mining, turn mesons OFF toggle_mode(loc) - else if(mode) + else if(!mesons_on) //otherwise, if we're not on mining, turn mesons back ON toggle_mode(loc) /obj/item/clothing/glasses/meson/night From 85d474885b0227229271a999cc9ebe3607f5f9c6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 16:30:36 -0500 Subject: [PATCH 045/134] Brains extracted from infectious zombies keep their old species --- code/modules/mob/living/brain/brain_item.dm | 3 +++ code/modules/zombie/organs.dm | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index f137299581..aa9e133165 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -72,6 +72,9 @@ if(!brainmob.stored_dna) brainmob.stored_dna = new /datum/dna/stored(brainmob) C.dna.copy_dna(brainmob.stored_dna) + var/obj/item/organ/zombie_infection/ZI = L.getorganslot("zombie_infection") + if(ZI) + brainmob.set_species(ZI.old_species) //For if the brain is cloned if(L.mind && L.mind.current) L.mind.transfer_to(brainmob) to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a brain.") diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm index 3515da0dc6..c93699a2ac 100644 --- a/code/modules/zombie/organs.dm +++ b/code/modules/zombie/organs.dm @@ -70,8 +70,10 @@ var/stand_up = (owner.stat == DEAD) || (owner.stat == UNCONSCIOUS) + if(!owner.revive(full_heal = TRUE)) + return + owner.grab_ghost() - owner.revive(full_heal = TRUE) owner.visible_message("[owner] suddenly convulses, as [owner.p_they()][stand_up ? " stagger to [owner.p_their()] feet and" : ""] gain a ravenous hunger in [owner.p_their()] eyes!", "You HUNGER!") playsound(owner.loc, 'sound/hallucinations/far_noise.ogg', 50, 1) owner.do_jitter_animation(living_transformation_time * 10) From 29384db52f654acdaa52c0aeb74eed1ce0bddf3e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 18:20:41 -0500 Subject: [PATCH 046/134] Improves collector feedback --- code/modules/power/singularity/collector.dm | 22 ++++++++++++------- .../power/singularity/collector.dm.rej | 12 ++++++++++ 2 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 code/modules/power/singularity/collector.dm.rej diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 7f6bfb3026..28e8709984 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -73,28 +73,34 @@ GLOBAL_LIST_EMPTY(rad_collectors) /obj/machinery/power/rad_collector/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/device/multitool)) to_chat(user, "The [W.name] detects that [last_power]W were recently produced.") - return 1 + return TRUE else if(istype(W, /obj/item/device/analyzer) && loaded_tank) atmosanalyzer_scan(loaded_tank.air_contents, user) else if(istype(W, /obj/item/weapon/tank/internals/plasma)) if(!anchored) to_chat(user, "The [src] needs to be secured to the floor first!") - return 1 + return TRUE if(loaded_tank) to_chat(user, "There's already a plasma tank loaded!") - return 1 + return TRUE if(!user.drop_item()) - return 1 + return TRUE loaded_tank = W W.forceMove(src) update_icons() else if(istype(W, /obj/item/weapon/crowbar)) - if(loaded_tank && !locked) + if(loaded_tank) + if(locked) + to_chat(user, "The controls are locked!") + return TRUE eject() - return 1 + return TRUE + else + to_chat(user, "There isn't a tank loaded!") + return TRUE else if(istype(W, /obj/item/weapon/wrench)) default_unfasten_wrench(user, W, 0) - return 1 + return TRUE else if(W.GetID()) if(allowed(user)) if(active) @@ -104,7 +110,7 @@ GLOBAL_LIST_EMPTY(rad_collectors) to_chat(user, "The controls can only be locked when \the [src] is active!") else to_chat(user, "Access denied.") - return 1 + return TRUE else return ..() diff --git a/code/modules/power/singularity/collector.dm.rej b/code/modules/power/singularity/collector.dm.rej new file mode 100644 index 0000000000..68aa14d5d7 --- /dev/null +++ b/code/modules/power/singularity/collector.dm.rej @@ -0,0 +1,12 @@ +diff a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm (rejected hunks) +@@ -46,7 +46,9 @@ GLOBAL_LIST_EMPTY(rad_collectors) + toggle_power() + user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \ + "You turn the [src.name] [active? "on":"off"].") +- var/fuel = loaded_tank.air_contents.gases["plasma"] ++ var/fuel ++ if(loaded_tank) ++ fuel = loaded_tank.air_contents.gases["plasma"] + fuel = fuel ? fuel[MOLES] : 0 + investigate_log("turned [active?"on":"off"] by [user.key]. [loaded_tank?"Fuel: [round(fuel/0.29)]%":"It is empty"].","singulo") + return From b86db49d5009d0fe87542a59c28e11b638a8aaa2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 18:28:52 -0500 Subject: [PATCH 047/134] Crushers now actually mark --- code/datums/status_effects/debuffs.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index f24ad5f7c3..92ee2e6462 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -181,6 +181,7 @@ marked_underlay.pixel_x = -owner.pixel_x marked_underlay.pixel_y = -owner.pixel_y owner.underlays += marked_underlay + return TRUE return FALSE /datum/status_effect/crusher_mark/Destroy() From 1cfd18a757f33ef2933a95e0db63970631147c5f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 18:28:56 -0500 Subject: [PATCH 048/134] Fixes SSlighting Recovery --- code/controllers/subsystem/lighting.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm index 35d8a3d08f..bcb94c835b 100644 --- a/code/controllers/subsystem/lighting.dm +++ b/code/controllers/subsystem/lighting.dm @@ -15,14 +15,15 @@ SUBSYSTEM_DEF(lighting) /datum/controller/subsystem/lighting/Initialize(timeofday) - if (config.starlight) - for(var/I in GLOB.sortedAreas) - var/area/A = I - if (A.dynamic_lighting == DYNAMIC_LIGHTING_IFSTARLIGHT) - A.luminosity = 0 + if(!initialized) + if (config.starlight) + for(var/I in GLOB.sortedAreas) + var/area/A = I + if (A.dynamic_lighting == DYNAMIC_LIGHTING_IFSTARLIGHT) + A.luminosity = 0 - create_all_lighting_objects() - initialized = TRUE + create_all_lighting_objects() + initialized = TRUE fire(FALSE, TRUE) From 36c14b3e71c5fc03fe7575cbdcbf88cf8d4d32ae Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 07:29:47 -0500 Subject: [PATCH 049/134] fixes AOE projectile automatic proximity detonation --- code/modules/projectiles/projectile/magic.dm | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 5cd94748e4..05bdd7da3f 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -351,21 +351,9 @@ /obj/item/projectile/magic/aoe/Range() if(proxdet) - var/turf/T1 = get_step(src,turn(dir, -45)) - var/turf/T2 = get_step(src,turn(dir, 45)) - var/turf/T3 = get_step(src,dir) - var/mob/living/L = locate(/mob/living) in T1 //if there's a mob alive in our front right diagonal, we hit it. - if(L && L.stat != DEAD) - Bump(L,1) //Magic Bullet #teachthecontroversy - return - L = locate(/mob/living) in T2 - if(L && L.stat != DEAD) - Bump(L,1) - return - L = locate(/mob/living) in T3 - if(L && L.stat != DEAD) - Bump(L,1) - return + for(var/mob/living/L in range(1, get_turf(src))) + if(L.stat != DEAD && L != firer) + return Bump(L, TRUE) ..() /obj/item/projectile/magic/aoe/lightning From 350817340385f85f8e6705385fe9ed62c2d114c8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 08:36:59 -0500 Subject: [PATCH 050/134] Removes the shadowshroom admin message --- code/modules/hydroponics/grown/mushrooms.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 61eb397b92..fc34fbad83 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -306,6 +306,5 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom/attack_self(mob/user) . = ..() if(.) - message_admins("Shadowshroom planted by [ADMIN_LOOKUPFLW(user)] at [ADMIN_COORDJMP(user)]",0,1) investigate_log("was planted by [key_name(user)] at [COORD(user)]", INVESTIGATE_BOTANY) From e4fc93678936fa5e467cd41324e4728adb43d037 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 08:38:05 -0500 Subject: [PATCH 051/134] INDESTRUCTIBLE objects are no longer affected by explosions --- code/game/objects/obj_defense.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 702e72842f..44281fb26f 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -48,6 +48,8 @@ take_damage(tforce, BRUTE, "melee", 1, get_dir(src, AM)) /obj/ex_act(severity, target) + if(resistance_flags & INDESTRUCTIBLE) + return ..() //contents explosion if(target == src) qdel(src) @@ -256,4 +258,4 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(can_break && integrity_failure && current_integrity <= integrity_failure) obj_break(damage_type) return TRUE - return FALSE \ No newline at end of file + return FALSE From 7998cdcd9a8f89c329c75b5dcdeb2b5838dfdb15 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 08:45:28 -0500 Subject: [PATCH 052/134] Gang Icons and Fixes --- .../machinery/porta_turret/portable_turret.dm | 32 ++++++++++++------ icons/obj/guns/projectile.dmi | Bin 31624 -> 31842 bytes 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 22c6c57b17..6fa58e5ba2 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -227,7 +227,6 @@ update_icon() - /obj/machinery/porta_turret/attackby(obj/item/I, mob/user, params) if(stat & BROKEN) if(istype(I, /obj/item/weapon/crowbar)) @@ -947,6 +946,7 @@ var/atom/target var/turf/target_turf var/warned = FALSE + var/mouseparams //BUCKLE HOOKS @@ -990,8 +990,8 @@ icon = 'icons/obj/weapons.dmi' icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE - flags = ABSTRACT | NODROP - resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON + flags = ABSTRACT | NODROP | NOBLUDGEON + resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF var/obj/machinery/manned_turret/turret /obj/item/gun_control/New(obj/machinery/manned_turret/MT) @@ -1003,11 +1003,22 @@ /obj/item/gun_control/CanItemAutoclick() return 1 -/obj/item/gun_control/afterattack(atom/targeted_atom, mob/user) +/obj/item/gun_control/attack_obj(obj/O, mob/living/user) + user.changeNext_move(CLICK_CD_MELEE) + O.attacked_by(src, user) + +/obj/item/gun_control/attack(mob/living/M, mob/living/user) + user.lastattacked = M + M.lastattacker = user + M.attacked_by(src, user) + add_fingerprint(user) + +/obj/item/gun_control/afterattack(atom/targeted_atom, mob/user, flag, params) ..() var/obj/machinery/manned_turret/E = user.buckled E.setDir(get_dir(E,targeted_atom)) user.setDir(E.dir) + E.mouseparams = params switch(E.dir) if(NORTH) E.layer = BELOW_MOB_LAYER @@ -1055,15 +1066,15 @@ else cooldown = world.time + cooldown_duration warned = FALSE - INVOKE_ASYNC(src, /obj/machinery/manned_turret/.proc/volley) + volley(user) -/obj/machinery/manned_turret/proc/volley() +/obj/machinery/manned_turret/proc/volley(mob/user) target_turf = get_turf(target) for(var/i in 1 to number_of_shots) - addtimer(CALLBACK(src, /obj/machinery/manned_turret/.proc/fire_helper), i*rate_of_fire) + addtimer(CALLBACK(src, /obj/machinery/manned_turret/.proc/fire_helper, user), i*rate_of_fire) -/obj/machinery/manned_turret/proc/fire_helper() +/obj/machinery/manned_turret/proc/fire_helper(mob/user) if(!src) return var/turf/targets_from = get_turf(src) @@ -1072,11 +1083,10 @@ var/obj/item/projectile/P = new projectile_type(targets_from) P.current = targets_from P.starting = targets_from - P.firer = src + P.firer = user P.original = target playsound(src, 'sound/weapons/Gunshot_smg.ogg', 75, 1) - P.yo = target.y - targets_from.y + rand(-1,1) - P.xo = target.x - targets_from.x + rand(-1,1) + P.preparePixelProjectile(target, target_turf, user, mouseparams, rand(-9, 9)) P.fire() /obj/machinery/manned_turret/ultimate // Admin-only proof of concept for autoclicker automatics diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 611a27e6a70ddfa3a1c6d21b4037e002953a6625..7cb9f2a3ff850efb26d82416b0aa04f60c0a4163 100644 GIT binary patch delta 11430 zcmZv?bzBr*)IUDUA|WYAry`*sT}mv{C=E)7fHX@8Nban3w{%J=As~u?lz@PNbhmWp z5(^98@$)>->-W!ZUbFL>ow;}B+;h))pL5=KB2Hj`Phkmn)cyVR4LucKytMXkaPxF< zMFN0Nc234Gzy@ zsOG16$?Z<*v59UGpstcu4L{vLr`LVb_FM6X zKRO8#r7KN{)$GUynFhOWbM$!8pD=W^@wBlsdLBy}?J(M2`*XJNgt4wDaOugzx+M{l zZxp#~{vE#_50B@TBL@g`K1z@d`v?Kng7Jf=iV7OyOH46eG{A;Sy5k{M<&%1+@UOQ^ zWD|l{+Xy|zNl)d-qvi-bw2z=GRwu7bCnzh*iQ&f|8Eh(ozGr$p{PRvA&vL@VU$3zI z^+e!zyaIkvq{;D?iZwx%HnO*73P~XR_Zdt1F>Yt1xn*0Qf;oiRAXjk8``&95@zEyd zLpfqe$I-y2h2YryHFf2$9(B(C_P@S7n_@LS{h8V07_-%#F6@bVl>5<1?pN{Ft*L8W z6{`o~*>Sm#S{qBq<;>U^?JJJ^+ZOc`e|kAKYfi*I)|n8wMs?%vrDycy-5^Gt z8%J&PyW5=otpaNdD!-m!;!^uMr5Nd-?@#Vye=pG_OQ_3&mQ4}mDnp3j4^2K?q=&o$ zMBAP+mxJh;puf3aryK0^T%#J{lqo`>zr(S4unG^!lBVae}2DH!wX!ZJW0ohdRyfGI@7#(MXup zMrD+%eODj816tWSP`T?VQvKHSc*wr{MUyb|KouhjB{1ZqxAj zYpHU#!Y*I6P^!za>p=Iu+iqDEBDbt`w{L20XddZ#_CXw7n-8DV038>bPH?YkzKs)A zJGZGe5x*XhlXsk;|LQA+%sk3v^q3qPbzrp9%{x+-t?@^$YGz8=3Fk1r+VR{`*ODsD zY040dO?Kkem>w#Lbzc>)On!*Wv~(V%T*PPMo5g=b`J9rTc*_~$cohu}r7%7Y2F1_Hb=*zhQ=kb`eapKZBSP7YnrPL1u$`6KT46>O9+ z$I4&x&6ZJ6jF1Wzy0jp zU^dtMn~iwQZM|EK0v5`%SPVS_3z^|Dg(|-#`|&=j?yRf71=_5YcuF+m|Y`dK@a7M) z-4zRTmdO7(J;iUD-LJP*HR8hp+9oF9Q@iyvu6bBqWb5LyBg`=j$o^ygsjg1WB@o6Z z$aL7nR8H@T#itwvh+PK!!vdQzdMwQduo6?exCqEOh}M`Mb=(poap=5Rb;hS0m{l3| z1LTmqJS(qkr6N*SW?*4a>MB!r&-oqCPE@(?*R9k13xsb;rdF2!lWlFdiJ%~Hc4_&? zonK0b!H%#=?4y^j$;rq_7+z#V&#NR61*txTrtFcr?bU=&(ObqfC;lp;tBX`sACEQt zQHlo);!1&#Nk+5D#MnJpFMa>?Mi4s(QIO%|1Q`FVt`Bj=pHO9mC#zLoWFNhY&7ULU z2x2D+>ZgcG&egX}p4TS=t;FSO8zM4#m56Z>y0^QNW!Is-v`n^upV#`Xsr%xyRHq-` zWBLfwzl~<`0>C;01HFfNn`0q^*=ipVG_x-o2-^7#n0f&Ms}Fqt`X-~wHa0^)xBmq4 zzm}UsoG?EfdAcRv9a7cXWkFnQEDRX^U>03dBShLrU@cqq!`bR_{E)6iwTmg`l;wK@K;5qj0K&5A_Apf- zi?uaqu)>=VZE=Mib8FrK{U$D4Uqy2Nwb*;ZYfx>AaWrLmW&KnW)$g&f@f5g3Fam<~ z9+b70GKbjhhwDR_A8^U}wg~KFXL<7fX0s%K%FVEuB zvm~0ckdtAA&3SE?X{~ZyHFe-=xY-Hj7<@ap9x{AK!nK8L^-m7DL!8G_*doSHM^6t9 zoE}6{1L(Q!>AO3wPEOH3Ley=kYp1sB-4^ipUs;epO-f)S!s4;08xc$9hf|7(Ytw)p-+~V58i$S=0E&o z%>T$`89pX;W9JCAM7LBs!dbrH{S^{Bcy#pHO**>hU)^I>gg^=zS!B13ogLg3A7gzz z2DnUj74_k@<64=%C5U~T^tdhw@nI~bc)xM8lAbqe0d5HUvcTC_00kE&8L{2gD zpzyBl{rQHMho8TzGh|K`tgWqu$1P61VV4=* z#1L#9o(1&lft?L+tCULy0|diq)3&?7Yn_z+Jq z%K@S?WE~n=Lb9^AkxZUiVfPU-&6cAz$LAWFns1AW@R46kJX##w&5+Uqbt=}jwp{ZU z&`TRPs_@aTVc=ETkGzoIE4O3f1tgs{HS11gxw)D6$K>Ruyj)yvB&V*PJJ;PConXlJ zwN4GK`ZsJX?E5l-7au;|OslHO9{Z`F@$?$OO!A(O^1?o8m=vkp)(RnDWMs7GBmMWB zhW8n}hzPZwp5EH}It(Z(Ewx^L4CX-U5R#JOMG{_s8ZnSC>AAVewzjsN%UfG~(;di~ z+*A*eAw2{;-jQE7jD3Ec09|j^LVnu1wDp#GUoy=}?p1S@{LNqy5LR;SGfYn(xz2FRLjHPP!9P8}C{7sShfU;g3FZzQgmx`XoEroP!sQsQn3&UK37)BPJwg@8n>=)?s-g{NBsmZiCzhc> zDmQ$K#BYP7z_`$*?j9G2_g70~5J9_6ot$a$A2|O5Sok-B@u?x+JzLGsWc|9x=bNLI z3R+rP>I64G@KsyN5(Gce!GD*A>UrOPJ9KAI;DN3k@^-@iLVL@ox~8Tw^E1lwGdEI@ z0RFMI_IuHr@9)@#O!GaUSo8Yo#=Em4h5vD}pV&bg`p+D)4-PshKPSXDn8aX-8QAmt z*jWD?;ibn|8k5DxSZx;{d?;{Nj~`Ks%RwQ=>a3&o9t`lc9LT)o3*GT)89!3s`bG(b zD*RGt@=xUs8X6ub1-gNcYvnM*-0(X@LF~Fo>EMlAC_b^L!fnt{Q^m*f1gcPDu6u~NdHe-20h!m)=)!^KY0iW;O!YqltCPlv_?HKGjI4*av1+HBn6+;+YGk< zeVIr~`v0ABq-6fzDYcalLaqR2%v__+p;#iz2ydpnE&aN=K%WF08hMMPw293#e4 zn^I%gOF@);?H+hl4Mpk5sqU^WOW_P4^?kjEL8%Nq6O*24?tk6#jxYm+)t0D%-_f`F z?c3k1PAxAl=Kt31Dk9)!S(=@mt{A^S`@&PedGjhdF)=X!P5qr40Hn@eMV(JgPF9Oc zP_U>7Yva%Y8y;If>9@S4gex<)JWiJLe<}@MEeJGSQg{w(&0`<@0rTYwBoj1!=;zc zj=h_v2H)2IS(w*h<+GIe!}>aFjzpjdU1{>AD?s)Z0+IJ7C8cfKyRf8$pt7CbA$!4&lYvu_7$XT|woPDHOA>1lFT-4lu(j&kgI0*jd z>@r6Rx6yA>Q*TR1&~0yTkDD8WzcMk#ORW+1#oU{mnp%tkd^@>a|E4IT0IRr5!1Bej zXSC9+6o93@JrRH>JMFbOdX2?KkX|0uztHpN4*@_QtL)QkJ}zrbO>z9<>|b8{Z`ufP z_O^ylT>DXO08jNWJ;cO;imt9zf3c4fl>@F_yY^_Mo1@j|HwExaQ&Tet@!GAVwDh~z z<-!l*FEWfGA|kNWyqp})|KN!`kmYEk&D4K?FZD%q)j$#JygXVev%JpdrW8<C!2IEv$VVtep@mfOT#(*UkX}$mCic-- zKIKNo{{S_2VBnGUw?=XjzXBHOmB6fcw zjPkiNwTOCCZByT!!43)D-Qne7Z8EQV>+ydoif>8L9>_CS?G->E*g85oBnJZIlWQ%7 z@C<#DS1kEJ4uuo@A>fOOu%yh`tGe+zQ zgf{*^bX+5k$Dcu-v{xbSFbISHL7z_k(;;q^mvDW5c8-5I=IMrJ`Maq>dAwmnr*RJW zmh{EnM{rR?4gZ(k|VZ%yNRG6(Zs%R<8ebArrIqiM;*@B52XhfL2>#El)O zAq4ae`6L$8y3=wlzGq;!Iv1RJAtoWgkZhEIV$W1Yv#_wZfe&-a$ZhTrS-I=ZX$#Dz z-&4uluYL77N6X{x`eBx=otqmauy?u`zgTX8E33zca@J>1Mez3HM=A#gqcTOb@!H{9 zyb5Y?MXULPMY62iIuT0lE4gM6`%ytlLGHx1H_&#xJ+(i5!l<1|(yMNNcb&w+XN&LqvDwOZLo1Pc3AW){$b?-s#^hK^}nksN%f@=&$MqdefuW59p2iGVVZ%WZibz0o$OO8Rv3nTmn zo`lk=qy>co06j`g@sWOY(IwcP5&w+fT_(!!p_2xD$`$Va^36jodQA(;(K|=JZq)TY z`?seE`O@V`yQS#;F`TVB-(BQA0y$T@6<^ad*TZ%8{U_8-U|RuirTV)0Th-`2oJZzCDM`wlq5?25n`AIf}Lz{^f?lI z53N5cDn6nNs=LN=@6OencI4R}eu9k+n#-j1eQ@*AJKBT@Vy;7Mv8M=;Uj{oc{oQa# z0@mG^m1#NoRl*jh7^#A=g)eDjUxX7koHg&YlZ-cdIo-w(0?gBPFDQ1-c6qA&rB^7n zJ$}WHM~8#2;aXnZxYxU9V4BQttD4ifz0mJLEQGJ{r(Lo&?b_TmCBJ_Z;_z>u``;)X zB`PlNXv~dNeemFcy@SIeJ3G5J;hV@WOh7_j9@{64CzTmaWBn5o!~jg0K5{TttfE5N zZz8@Cx0v#wvxcv-;*r24&4|i%YrdYnQ*pB&s&@Ofs{EXRVxYP#L`y0HDrVBUnnm{eaGnlF*c5#I+j*j9=e!szcRwttJq?rR~%dnVfKlKx3q!1Sd z#%ruq#)ZQv*vK93#m2^t*V<9=(UMq2HaQ~6W284WHt>)aP{v{J>^%JG-xQ|z+IEDI zG2zv%E-iroktpk3j}9j!GH#NO;lumdmKJlbN;fxn_K`UZpdSqUE4!<%EI08p$;)TA z`K0q?vzJL|@$eSoKW4=p44RGJ{<*oNN9HBgcvNP48tEaK( zq$0MvZ#{oYgkzu0!-~1mKW)YbJq6A|IsphqK`Ov1SLnNtYmh6f`)!8hy8`mZ80!JG zFw`)S_J0Wneg<3o#jqoGiR;T@ocyN%!KlWpvBKqG9i{G_rb0^JQG$JDJCqj*94Lkg z$yh?hYnI=L6u$M^^ySLHrWzhKV@6G?4f&$7Sf-}ng+Ub~<-v7gtoAoQRp|ZlzYpTo zg@V$IY-|(_ILNZeW#g$TwVmO$6V4E5yscM5_UIy8ao#l`pXQb;H(;yC4=&IFr-%)5g%jyn`w~kI^q?79?AQDxzpB%!` zzuFlgrmo%gyh2hlj-#mZ`M~ewAbWN&cY~IEr&bt{bax~gk6t_nA_o6aKiBX63xnu3>MoF=+q|xo| z^4Sl)?rjMPk=&=kG2~I`8C3nfj-EPv7Cj}C49rV3d}z^1Og5l(i%I!5;6Mt-X-01j za&{jxFl}Dc>$%JL9@@z%mKu25Gq04^p*ArL(ycerdv30HtBYuCwrlJe??frhF#oLO zu<%=d;9l)xY)lJh|G;e(bip0lPUc~tfM84{nBX0WpTxh1^Y!yxO3Ta3J35o`Z8evK zOqhpp{*Tmkm|P5AElMhCmkc!5sWg{P4hoe@k`%iEY5pH^ScJ+(d>?_jS*He{za& zL?^8Y^Z;oQXJVqFzh8KYmDAx=kFK)s{>Igj?p3y>mXME@q_zyk=z=Pr-LBL}qd3-+ z$2!Er%TPG?wo+0!`h4dr1sXiQnYCS8qi)60uYUJRtx#2gx6OjoqQa;gxSS!lQuVY)LWv>;tA1m-3-~wi45lRN@0$)zYEJ zj&KS>%#ZyOU4_Yg@Qj5ogX`Uk9Mgr>l93RbjT3Wcx+SCh@|QRYeUTOio9ndzS}2~7 zcgUb8&YbQb0I1%aHQO35@5YDd+e-7~*ARVZIZ~Fs$t@nZVS^f6fIYUiw@-(-H}p(g zU7a`(Im5ApJyf{4#W3bRs&gMdBYzU>;d94FMuCWdmkhfO<^Yj&IyEh7>FJe&sQW2zA?(J4_K zT!h7^BeqluulYa}+IxlYG)w;Mv;~S%gcXOv+?r(H0y@bKZ-9Om^Ug6wuY_((&_{pA z1EaqO>9rzAfz$r`^N^G#_k{oE{ZJ@<_@huj4skf7fS@`o30H++u`Hc!UZRE57IpQ9 zU6jq0HpvAA^bdcV4B)L^hP=7fafA1T?18@}k~2S4;NHX1ZJa5sxp)+8per zRGaz8V}#BjNof@iaY;)HtKFaM8?~UEmS`U3(hs3XeV%9k5DXa*kYg8bi}SuolO&sI zqw=~CmFL{qq+0Cb$(sQudBG=Ew6NE$@(V0^JH)hrFzX|{?5qavLode5TR^uoRO*zCk^$IF~BZ`CL z+EqOd7FPtle(qvL!X3oGenyVqE3B(Xg=Z#O@ZhQ~M0Zc%=!J#nLe%<>etxnOkFy>v zyA^I`Ht-`C844JmQUHRYDAxGY9n%I7PmK|8nm}NZ@U-PrzC_e7y1qWnvaT07}Mmie|jKF8z|N*kd5j=d|DQ65Q_&0?N*a!+2|uFW}j;XIVg*6q>bWS z{Wc)>U*2w2#cF8Pqx64j7Ew`A9@&zDf=5pe^`2Z!kY_*1Yie2c3(FtJUmW=o+P@kI zMkli2)48~jHExlA*JArI^#EwY0X5&bP`+SWAHya z<88BsTAERG6;|x%;F2Z&RwmCza{H~9$`6;OXoSkQQQNpzB06q(OU;g2W}8%C`@H9; zJ4T#I;D2OIW9!eMcUw3|3dm0~)}e5jMcF1lz)ud3k5>VAVi{j7TlC;)25#PT-MOfm%NQ_2kd-lZ(F}y(o<*|0$qskT8&zQXJwg<3r zyjEi6SbR(is!~-H#&xqsF~}nj#XO&9tkLVIG(?wdDX)YoNHRTA54c5i+c)5ql;Q3h zaPR!dOZc3{&%^j@sHH>|{Yamr;wv{X@xIE=iBA(fiTSf*dFnp+Ho_Tu3*lyEOzhmI zx=-!|BGaYNX8YtH7b(764f@SzQ9FvTejt^On`Yk?V%CZldA{AI*k3Km*L5+I-^CdWRG|7Pt8sIhl{p1v*X88vqjN)ErLR2H5;0lb13!uvju z$pnVc*wHOghT0^h<#m4&M#K%{gUNZVPa;t~)cV1ySlA-aKn$_m!U%}LWRaeFDfFj5 z=_Y=cqa%_aKj+My*|JKUc$_A>Wf*_tT?Y=2QVn6xE-e;Fgg=FLPw6*yG&6WzYMc0u%ZPCyE(!YM=I68@tH?m|o~RNW^gLG&p3LXE<| zpX1Z8e+25M+xGn0#gZZ2X&5qfhd*IHDKr9vK zR1ZEe)NUqnoUrHoR9?y5Ykbls?*bM#FFE-UMSn0(o9!+QTfEShihZcYNxiw zK(|I08f2{n$-V9`-Cq%t816DQO^!+5!Vz9h!x)Wx-NTRV*8$0(Me^`HdUPmCdfq(}w5c(;R>d^q1CT+DdQN47gVq8>`LoXQW2;NNoR2;Xn!ar z1yAjcXX|dkoznx-m?gdES2I*2U|Ox~m28;6Evx3DfaP!4cUX>X5CF1~StLAHlhM8P zy}4mcnF7y?a1^j#W9H6XB}t!20qENe5`SFe#;*zekEzdheLDSqU`S$c^~pE#;kp7`wBrR~jwuXu3}@y1L3 ze%7f%nB%I)EMDFBXeOE=7M5!`^D1Nl>LVYl{OY{ZUMMR!btnBkz*Js=9>y@R614k;@JW(#Vn1D zFrI&Ae=IpRPX+-1r)?Q=ExFDB2#1|Z}RPL zi@lt6-f-V_+Fcl_?RZ{g@u9Ek>NDLH|HSbt(JM}hUeJgT;JJIQT0xx=gQClkjO_mH`GJfOT$uV)3vfP^u~`7gJ4K)LXCf?eOGgYatdo}McCz&`NPA) zZYzTYM=s(f+6~aE=E&x?Q`a`>#)ITI5VYsw%1Jy%%zI8TBNg^OR@t%4?vj9oWTS-0 zTEbGoY-I2T2JZtN!0)AHy_!QOG&oCc$&xF5dKc8po{q?Qg}RQevcLzjB^y|!cAI#n zT3H`-#S0ChZm>xX)g1m|xLC1ys5~ivXGmDx6YKICTTpeiJeH4YCNd+QAmrJ;D(@KO zYT@7RhT~<)!RGe_uEJ!DXik6FkN^<_*20;xXJj*r`w>$y${f%RG4jx{@#|Oj)g18E z-=!bPf2n|qXS~v^S_#h+T2RdP()ns0ZQr_rZ&exb20mz#&Aej?5Yf5Y7Yl@ssg%u~ zMN-s}G5polynRmHaA`Bln@Uu@vcfoe`RFV1s#a}a?2P=T5V0~gH~w6tort%>N3@*3 z?E-xbK8-lzbn{uf!qYDZkS5tI}Iij@Y!M`={k)%CBprds16CV%nre3uZAWWKzp zEGgm2miDEJzu4p`GcTRRUWE0!=4U+~6`l$smG<4!1KP&G0A65zEFMP#Uah9BpZ);N z%)GHVd8f2k41Tr$mzxncCI$Lv`FL@eSx)V)nPhVd*L~<@*{MLbAnuP9oAYOe3hEZlQUNi>2NGG&`UK8_Bbdu70A#5r$tQW`z54b&sNdfOA=NsOM&_YnFl^| zv;b+WDLf%`?D9e_p=HGJsi{FT2A0363#OqTgTbHl+2rJ?Z9g8R-9ET%g2xi34}1Q$ z6+vN#@~jrMBtAyx&?Qq{+juXqi)j2($F6#HvfZZ4lv;dw9%$Wu9>8*`>Uno#>^DLZUsJGxGX>vH5(%swHYv{#bvU$#_M$%D}DXqxVw$F1GJ(d zrIZYizn(``xv86`tz&c}q5qrf-k?iBPOC*kTvumLBnQ|xwmjv-RWyrjA~#EG3<+nU zs7>b93Ih2DUvlb!4OZe=Vv(KD>KXMw+9ij_V#6(eGHB*cN58a$?#f_gUP~B_PMdZd z93K8#0AF8UugA_)4QS~*3EcwG*ECJI*suT~efAw5Zyy$bz9=;EYLmENY0*7QR*p^j zc2s|DBnnFaeR6f}z3KALszQ$=-D2koghNMLVy zr-uxAWh0Rruq+F-;gYoolcoI_!0SgC%(W(gyLTVWZOE34Xe2-%fzSr}iY!uG259K= zAK{ZDzes&E<|=75H6%VgUu15#_93)mF6i2N5YnwkjZbOg5ikyqr&=~mNY4RfTGryN zMH#(Ve&=jpp%oy7{0Sa~UR6F;+;Rv#%!7Jqb5K5jO)KfWybpg!#MV+R*cCF!P9&Cy z2>th&R+4N%44SK7wd9W2H*K!&TeTcVD+S@K*BfwmrQc9tC6-=K$sj;f%P6PF~PwpkcK|-5`=8ptK?((%s!5Fd!W> z)c^Xvzju9WeY4Kob>rN#_u1#{=Q(?yyK)W-J%h!vDZls9)NxTTe{bq+?dW3dU=IKu znOSLr(WCt29fP|X3cX3WYz0J8#{txNQY}21(SokLmuj_DTAp5{NOXK{|9;H#%r9Go-Ytcm}SPhM@Dm2)p(usA3@L5mApT_ZRO~nts!vzm7 z8$=t66{4~lwyAxGxV_tCqG+)B@s7Bn)P%;&=N_Ct)9nZ8~cd| zi4Swg7bMwQF8V@-H2o)Z(r_VD{*GW{JP2kvP5juc)ug{PT5!9U>Y=x-gN=)D<@X95 zL@80!Y_inFaB3@0qW=4x+6@25dace<-)3*u3I~aC>|n>09wLibRrVo1f4`p!_*^i> z{_hnw;4yt8vfD~KI@ylQ4n1KrD^FykOQ{!n}kxvlpL8mAh0%3Bqo4pQ)T zsPCN3xf0KMY5&!?Om=_r9bDo~e|y#uv#X<$X(y4?DxTy2c(0%QWST$b@6#F#+p9a} zKVKyV^R)8a(w-^1!~{f=cjBLO5Nq z68JlEgl*+RC>w3onv2YWLl)^BTb`cIibD$|80;uVsNGbjO#A1U;{JW&Ll^f1ywvV# zg5ocmS0_T^`&)%)la$y}sL)%rY0% zv{zaI&n_+68=PH4&c34IAg~|Deb8Blum3ohSMf9mqJB_q1F~S+xMQ|naD(<2h>K6lFLCk?ds?or{_CMTma6uiB?a1*9~hbsqfHaX*Z z+D@9dynBe4hBG%H{iiy;pQCekv0-jk9Pe0tM>u_VPdGU^4(e{!!blP*dO?o2pcG)B zoK78s{7CXwBqJh~?S%=RJZX4%IRBF;4!0m{WVDz~ZCc((F%Um7spgErAkkfFcD}7< zj|H~)Lu4m&D;H|Bbstg>1CSzts+u}FEgwF7z(v3A#-;pf+R*+>y6QmiycgZP`MB=m z0;VK-A*Xo)19j}(N!B&E7J2|*{P+^5>m&-E_1p%h*u{;~Zxo+dgvyzNgJbzX`M0oq zkK8ama%M(+&UY}&v{q5OzTFQ(d>~PS??rL2I@wjJd ziuUmvvv8D|AC9b5RHvZ-_PuKcM5pca_iYAH++VfdmYjY|#V}j>o8~dA)Vty@OhPo9 zLqnCZuaX-8KejODP|fyrdh*|9r#Z?B4@&);HV(u02OYwKI73v;uVNF7HO3UlalY;k zw|OMT`=#qq-6sfOWe#n}p<7}xx$N+GfhrRB0hP2i1K)pq5B3;* zrS-P`k()sz>fCIb2q6Pa-1iN5OE)F~4a;s};Ke7@$W?IigM%1mQBfNCfru3mG}K(A z7LPU-Fr%+V^hpf^m6B4v$tnVbDxQ;f0kFZ#OQI_ZZ0>H6h$~v_aue0OCDa<%f>CUr zpNj#AlkIU@CZ^6@TmFrs^gfQlV=>+n+*yq0SJz}4pe6ASJ%H%)q%gXendFxS{p`xI z8qU}GK*C9e>!OsX8@C(}mTO$2A8sU{-<1F6q-52JOJJ&Q^jpOPZkR{_TH+_6x;Oq$ zuH3SYw=i26*T(C>K)#UAL*!Y|vRL%cxmS6eP}Ht`Ii3&BT!27`nYpE$Q2ct{qPl)wO=gEb|f z#i7=L=B%!!rrk`Aqbh8A*Ug~OgF^dz1Ju1i_j zwwgxljsXsd4ySwKlW6JaWK~p1AT)YqVDRu!j?NEiKwU(LjWHoBizJm|EQXr^i0KYk@o=Cd=91Fl)@Zs)8 zP{Z_kc$LX<`UVDA;Bcm^tE;a5{`MN%Np%B*$Zn-(FwVl#68~;z9gnP6S?4O@)SnZt zyrOGofa}47Uy4jBxu~|YkJ&pP82B?HmYn+F92 z{#{&e=V5MPou5Ngi3#sPIJpYsW@*pXB zrKf-Wy`E=rNomVc*PXe)0`>EO%cR)kKhQ9lH*cut?CZ|`roWkY_4WNeK}`;ij$#AP z)zmr<*RRF<2L?>s+}_NAq~{s5mX?+RQc_WUeSM+5)6=?<#4({K)rtD4*%%l_Zl@p& zfT@WBzjqH^TW;7bY1TtK8w{}JAV0RXvm?AP?~?FS$~lILhL+I_2ek_1H_yO#%>-kb z=n#EKA!C*D>N277ufZb(j%H>!h7~j^;(WnlTy@D+0RdPbaLw^NrV~4%JLu@o01*;C zz4qdaDsN8j(Zo|5X#lIw^8P0NF^r!0$;xQ-aS47Zc(`m1yP?#0^@@Un^Usarr+!#o zw%^+G*`@zeLJ5Aiz`UT(<|j#h{`DFOBcYo+Sd6K}f7uW`-{?sRI9_2~Bcq~&g>&QM zZxe&0q`y`VT2Ln@?_89p>aAHNz`u=^A`ZN(oe*?b@Y4e47xOIUcH1R$1cPgi%sbzUuE>JwP~v&bPHIFq94>BO^;kXn=WB2V!18;oi60q9*cE z;Ten1CWoBN*FvmUrg72&CFu2k@ca*ArODqRe@gwta@f$E1$ft~Yc2ZekB^Uko5?Kq zU>$9k^3&dViuBqF$-Kq;dh^j$Jge&l2iE^4k8S_hnC5R|+^^{%Sto*@SwcczSx+|< zBhZigpcA5;b0+_EHTeG_ZyBG;hgT9S39M?wuZYm8KZ1*MVqsXA%jLNLsKV#!+i<`> zOECUH5iw#+N~8ie#%6<5A?+BHnA)@j;v$Pm-R?8wllO( zI6Y=5(ZYYbL=Epb^xzYlzzvJ!zbX%LyApCV*}&Ys*VO!f{fT3l2?BHu6Lov0R%76d zhyXJrjx71__zxLIii-I5KTqBa<8%Xr0nDN7YS4{LRnA8S^+-m`7+^@5|6k49g?+C( z{?#+6cZ2~7N7z=6-$86>62>A7FF9~3CQSS%z*#{Mj{L7I6D|Sh6#S1|IWFP<-Ddf1 z;)j&Ou70DFR`V-ey~#?;Rco&Ezk`y{)Pb>yq#$pprnObK;5Pl5&P2{Zqf5}#Q3zbiXSh)O{MkAj)9K^&aWO^XyGnT?GN0B}aAVF9&g|K$Z^S9?bBXp3C0I?-+C%Nem9H;Knz z(so{)CFS-!9lN>Cygp077%+k!BNaCpyUQo}aiM-knSMW2F>&Qa+}+>(YK{ZRTcCE; zwY5V;7kwzt7C~?*{-|-^M`pem-S6;0ay|Iet#NYXWBtJL(ksS?2&n-^|BS^5zNXOr z4AD*>>HBbaPEukb0`hNRVPPvfyQfZ00+@>nhzBCGvl*Kmb<;e+*v{3~wKcQ-ZX8%7 zE*v6KJTptnwp}+?DXDu|Os?TZa(@3=+d{@fmY{aG@0* zE-r${a7J{ysUJ}313~#EVUVDd6mR(vnVM?-{|Dp`|KnAV(zz9Q8^3-Pn|lb+5sida z^y{csC^fC z6K3Y-Mm;(@3W0WHeP&ixd)Izw!hj(^_&?k#vudcxq>Fk6T=UOE9Wr~oeA#e>1*GmO83w?8;lN3JMB( zGDKE)E>9*HJQV7^PD)p>iSYu@m%V=)W}3p?4gcXIHc&B{6X#lR z5za3qMH1Kw1hyi#wyYsx!Rk!^0fc|!m(N5rA)G4u7%#7`j^=&-<;P|dh3x&?1DCg- z0!Q#*XzU@NRPe!YadT4$#-67nCnw|O3??iYG3d<*4N2j_uxL}w(%3#t=PdW}#ch(M zGT^5sCE?}|hlYiPrIM1KnZu5lnpzR$@<)#5{{?;}BPQP`ua8y@Ry_q@;CFpSj!m7b z<6Gw#ecZtBqg#RiFF^~z%wcd`Bw(KW_>GZKOqJzexNa_IhT5(EWQ*kDe?C^s#>2%Z z$rzK6fndO%_IaJqfDph+1rv4<55bW?N8C1ns%%7I|Huw1HIsGaByPB0SX!Pp?~o4; z-g_z^Xut@eNfwmIw}Db2Ki$%$QMmv-3kS(~;cS!;022hp*1mAE`sFjJ)ttidauMcs&Va-Q z3}Fe2##Eq7P_LFL6UokWx<>BRBKF zZPtzo*l@T6_(j~LcF;zCXiv%GA^BFk{p~NLK38&6h3)EAd3?ff&*q%$$s8AK<&I-v zh%MgH(%M>C0l;ycNSn>E!(>m;*q9~4X`Vf4v)AEzB*X7h*R$vP?VmURU?=I&w;1fh zd88&^LTHu86oIz(y;8EnVn1RH9Wx!^A5qN|yKg_M&UIc-_>lf8(xv&pbG0`~{Ucv9 zx^pJe9erqi?xO)9Z^??y^^5FcKc-TY>z;@)^V8c@gk!%P_*_;NX}8#vm6Vk9)y#S* z!thv6hi^kMwpsco=}vDQ($||P-V21QtH7nQYHksDmU|d3A0Hha>gavoD<4!KfAdw_ z&@-6u*MkmP(?$GLD#UsF7t(@1OBm9Q=+9sF5Ig(&kplRpAvF{3{BEhuEZLlNV33*L z@yC=~d$y`50H7&TQjpc;L%h1W2@+)bLaZ))b?h>cj_1~bcRF#)Rhd7ti5V<=v3az_ z;kY%zUdxm!>Q5UDHFjy<{Honf&e@lJqcbK(TO$4%lEjWF74?5z^=IUh{mXmU$mBEq zJHAD(`rD}^-@I&it!Qxw5QrHIz7A{$H-iV54Et}@2gh76#rG>qNftC0z6tFV=)0U@0HU)FCIPrL68;Jd+XN5xjW0EV zEY!HYeKjgzQ+b+dB~7n21!bhmWBMGdTl=}@yxBWDOw9DG+lkd^UjB|;5fHQwIQZ!A z`H20<6cKrb_O(wh_^HRc(^nssA8iBce%z{H+=P-71wI3((k7yyEU=$pc*)Uqf=|ZO zapNMkKU>IgX}lUs0ZkJRa-L2p_>EK9ZVYGRh6 zqU1oG^}Tpjc+aC`@o~EnQ};z*(Z4_Tr0+_&5&v-8y`2I$uJ}@Tk zNKe<}c~ge$x1g*8rEaSJP`&lu!lds%(;z%HwD0_L)A?t5X^B~xgVN;fHDj~(>nNFx zzL@UY6u7bkGt@4{v6rAc`$ik3One+H{oPd|>FKw8JsB2`)ILv(ZWU8_V z+=biO1XwRNrJhi-GhU^V#ELo{GI6YJoUKIgnH+8OhmA3TfTLA&l2qd#BXz?wg+8X4 zq-3Vbl;}%h{G7kh7ubtXUsKyn4w{#VB5-F(?TG4U#j*yFtC^1B=BCe1gPLo~N%v~1 zaqd{ZdpB0CIv4Bg>^w9w5->0@fHdcN_Ust|pwVdA+3K-$^ctm$n;Vu4lH%D%7he({ zo*2W^y?OB3>BZ!VPV$?HT$M2RUU$DGzm@g9K}>#X}LnPM->;R zPrO#gVp2R#sD#V+L)8|VIinzSy?ft}}#;O<{B$U+A@oZ8YELh=`3|(RW_g zK8q^j`R}f<+4s)Q01kc3orYy$QBg&^Wa7y&T_dB4?{CEFVXB_xFo1Z=&?(1~gEjY^ zc{hFI&Gp5~Ma{-Z>VX$U)Nv$nWVBD@!pj6zOKPw}v=se(^hPTR8UKli`=d*raEMom zaouZ5<(U)3)(6O|vx1ipXyPDKEtQ@6(w1ghY=@Qk$JFr)Fkd&>`##X?Vz0d1#`Y<^RbgpsO1yW7bSYx{se0awT`%c2;H#M%LtpB zGcfq!#%uLNd`m-*3jThBrc!CIm`wd$f{E1~3Z7pNp!n#Q#YMH4YBcMoFD3~gRxDu7 zUux3by2pT+rx(EpJEw!I__np)g(&8c&?L0F!zOR}ieeX0iHJCc|I&v}sC2GG!kNk1; zCVX~Y16UGmC~x}Q)y+dB_N-@VN(c|^ENpk(iZ{JTjB@oGE2+y1P-I4N=&3!t+o^*XWj<5N$QA|gYmp1}NK1nGcd!6uX8L#1U z9#howz@4ORMLVpdYssIIhrNS?YM9IHMkBtv(EPkZ;&>qy3@|_Q*KKBObH@WKO5X5g zYyOJMxaDAvvvIK+pGKblG)rXNUswm(+7MFwo>gX?#%*=;M&iN#GJf~n54lNxTNwJ} z?6|Nn3d^CUOdleP#?e;%{SQyB&we=HK!sgCv=N9S=u*@7;6Tfc`h_ zZ_0aGpj=<2$bay$+hhJSPf#GV0FW0xdt@E__<7jDN-HdA$Bz zy1A+Bqw2#Vt>dB^=}stsx2U3H9Aq;nho$yEwX!?0P49n743HR<`^UOY9W0TaPLfF{ zRNCGFRmpu&ur=`P2Y{@t6%op@ivIEU)oqO(I#DN8dP0tmOsE?1(%>v&u?GlgfoHoY zZ6ZdJ@rj9!J22=#kdgs;%>UWKg7-}A^}%FRN({hRAjkf3V%8b!(9kN{2#WORdibi3g8Ya=PV<#JltPWZ*}m z^6=a53qzi7-~*+pOiQ9oPc8gz2ACo9QODc)0YhW0GmX8KTM2XKf5yhNdkog(GcKK_I=S4tCMMdXym1X-wa44al6W7yO znT0AmN&ezXBm0@@>~mM#R7CDG4SzU<8@19>bYy+yu1 za!@T_J&qFy9k6_sgK1X4XyC~KTSd@_wliZ*A77&17>ByOU*lGSXxNLCgEw3h^~=HO zC+l$K24bXDP~p0@l5mT<&SU^p`Dx6((Ow+NlF>p*98x&)6tB3bY3vecS*H)}zN8k6 z7{Ba+xoDwTTRl|x8L<<$_D<=O@7?1)@5CM6;|vysU2khQhkpji)K$wkXkWl*o{U9a z%58;Qee`T*0*J}TBGPhSkB%O7znLL^5W?_wvQNc{VUS?F*b6}BIXQH>O1;u6dY?~@ zS9Dp}W~BGAuBlTHJ_Oh5t7yv0-m>AkS5$G+WCja>_AL4V%Y&Ck|;%g6H9dAv#8Up#Td z#85B2Km?ogU0n~RoOtmphG6EX`s%;nsKz3c)e@Juc_iZd$aR}xJ8j-xQC>c9#gv|& zUQ-xea}3!WeO!`}VQ)bYuEKBVt54v&a8^f-ZYA>rbGOkZ!m{ib(#p1O{$_QI>?+Wf z28EA`NL(1D@n@|Pvti-)lvG>2zn`o3at!?yAeg8@NcL0`z7sR)+JU*uQJy7s{ zF|E#pBPmNgi4nYOT(^3Uq@$s|^u_>xVDF1X2CbvLgYe2<%1CW6kG+Y&`t#IG&F6S$ zd-hSVkb5{sP`z$M_Vg>cDx4WBF=Nr>*#dEC0ov(%C-Z*F#LTizs4ELKo_?ME(`VX( zB6n^{qkC;|K2=1Pqb~yW`h9Is|16DFN$5uzNl&=#d!-j=g{9185{9#mxfE-G*QBSP zgctI0v<8J=%CR?Wrk%@?D;%DmzNuWWT?WrmHt?F7GygCVU2f*bl-@pIdkH!Si(ryh z4QAf0Jy+jDsc}eRJx)_T-*0;~P7+J`sDwRUTC~ruCE5djT9Gxg2@rv!BHB#|`QZqs zLPts*3Z}&cdTBm`2=v2*g62AU21~)w0p6U`r^2mfo2ank4Kn5uJOZ4I+}pk-gkTd% zBi?@D`0ub!Oysb`l0m>qq$LXqqKQu5nC4Gb?##*E{TQo!czBfhW}`DMeW~K`$enAL z%sjw`TnUc2%PiU&7f10J4y7dTO3uE&KQI)32dBfv#vUJnAg8;C&J3KL(5Dcl*^C(% z0SY5z^aN@uIZ#k(?(wVVwWtjE1#>kv5#t^%{A94ed^fa^$@PH{6pOPcJ+vk=Jl{O) z9f0C@oIKY5fkb>JalyEJJ|&9o4UV+A@p$NBmObU@Ao?mQ4c%o1=~}(ReQnkKASdP!biJ&5)5$H$%U^iW@b(*A+Lt ziziPZ0y&nqR*>L>Z$P5W+^6BKX<#i?eeboB`jaN9g{$Fm_^T^N`r(0#^*s!Z4c2%{ ztV-_dqi?@%0b=2lq#^raNVK2i@FgRfIQsIEPb~8UX$mQ%GO}60Fh3QAcekCeF@p3l zoQ3U$U)YbTDh-1dy*Xk|SRxrDP|3>5g7s2zsv>UuuZV$czwNEcx(ra^WPJx-nX^n3 zs>8=^1H%kbCtr8^e2`gCm#DJXHJ)Mj{gK5p}?zx<`=bBRQ+I&{87#X z0KDkAel$VY)n;m!&}YO4XLr4|t#u(S5xtCi(wu4&q!O^aarQ|3w_PKAk4sgoKF{gX zt6bl0@B4#k#7Cd!4S23s4>BYbrwoX|dF}zg1Y0NN+-olT6_M{f1wJpJ^SqeS!sjvh~Pa&Gh1D3jfRkDS{+h+y$iKRQu9- z>Ro}ggi3*O|7u^_PrdoNPb;2AAFxK&8vR<#+?w*+BldHBa4&y11t^2*taWtATn$a$ z^q|z64TH*qcCZsqZ^n(^QyQh5uEP9PaskJ+KVWNi*{w^fQe5EorU0Ev&gF-{Za>=X zp5;?O#lDUKI?m6}*Pnq4-cH+N+)jkRo6l7CbrN0t&yC=uB8+2fPnOhI^I|8pZM*yJ1lzs+P@kC4b*)eir#lh%i)N9L3QNUd^&RZIqB9Pn zdLx;vMT78bX@oJRVuI`YN$SK@`7>cJ@@WfpW@?B|T^&}Y^q+!LC)2QMUmtk3&tW%! z4KSDY*7>6J7k_;z$$4L4%4ch9i;XNkdGX=eB!GchH1-PrwCeKGXJ@W~ z5?FFPKdMVlPj`emB8jPpDfPR>Gr=vJ>DP7`wSo}uJ%=d7CxpM!Rx)j z(S!V(?_bxB6(!)O17|2g1eyHhb?ju!e?x(fF$Yx#v`kEzMk#y+yNo zlh3yk8io*hGQzo_Q>Ljw2zacQ5v#HtQAPjVL{JjQ3C;x@U3Hc?s`Jc*FLE6WD#xk$ z?IjK1bfP!G9|se>nUVgon-32PBc=05VR&6pYSJE3ndn{5HNlT)7?6E)=M-r9+y*+f z-P4r51C1`HT6WOv?uXGW=-82)NnXL>CYOPzu^P=~qDn_@6 zXYgg*eVgoS^oHl>dAHy5@*dOh;4_dtUc(nLKFo;eUDrFrkWEnYmtnt)=V%13YF-*O zS4|P=+u@;tMAwhQev^}^&+NHFq=0=ZIO>w6k}zWWX!pQg1VRp3QusMwIfj3MjQ&S z;MWH+U#~k+(**-BmBO%2#!}8KrF8VkKi$l_A%2p)e0>wxJ1(ppPU$DI;uHxf)_9lwN#ZPp+7b29BcfA zyBJdp;ZH@`>ljmo@b2$k6A!gKk7bziFR_8SsGY_I0;u?bRaR*2yP=EH@EC! zk96U00NYw$-I|deawuwU3FB^Nps~C z`7FOYutDQ(4zwe|&HM~GhlBoJO}^NfU{*?=9dVyU0$nDMCqy8pvZl8D@8g|MYFwj5o(tY(2-m)- zx#$!gHYC6VIh$O&mRdEh7X?p`+n1Z$*Xh?am1|DMC~Wlf#e%QKZe+>t=ic0UtD6WP zEOx)qE=5t|EBWfhY0w8W=XZ^ From 798d5fbff218806981ce85f07659f9f5dfaaaae0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 09:30:29 -0500 Subject: [PATCH 053/134] Automatic changelog generation for PR #1178 [ci skip] --- html/changelogs/AutoChangeLog-pr-1178.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1178.yml diff --git a/html/changelogs/AutoChangeLog-pr-1178.yml b/html/changelogs/AutoChangeLog-pr-1178.yml new file mode 100644 index 0000000000..2fdc37039e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1178.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Indestructible objects can no longer be destroyed by bombs" From b74a15c9eac2953ffd61f509ac9fbcd7dfc2ac15 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 09:37:26 -0500 Subject: [PATCH 054/134] Automatic changelog generation for PR #1171 [ci skip] --- html/changelogs/AutoChangeLog-pr-1171.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1171.yml diff --git a/html/changelogs/AutoChangeLog-pr-1171.yml b/html/changelogs/AutoChangeLog-pr-1171.yml new file mode 100644 index 0000000000..e0c0601fd6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1171.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "crushers now apply marks properly" From 2bfcc9bf1eb1c41aa22c46bbeefccabecf269804 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 09:43:34 -0500 Subject: [PATCH 055/134] [s] Fixes hiding the nuke disk on the arrivals shuttle --- code/modules/shuttle/arrivals.dm | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index d60a832279..7cb347d429 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -99,7 +99,7 @@ SendToStation() return - var/found_awake = PersonCheck() + var/found_awake = PersonCheck() || NukeDiskCheck() if(mode == SHUTTLE_CALL) if(found_awake) SendToStation() @@ -128,6 +128,12 @@ return TRUE return FALSE +/obj/docking_port/mobile/arrivals/proc/NukeDiskCheck() + for (var/obj/item/weapon/disk/nuclear/N in GLOB.poi_list) + if (get_area(N) in areas) + return TRUE + return FALSE + /obj/docking_port/mobile/arrivals/proc/SendToStation() var/dockTime = config.arrivals_shuttle_dock_window if(mode == SHUTTLE_CALL && timeLeft(1) > dockTime) @@ -140,11 +146,17 @@ var/docked = S1 == assigned_transit sound_played = FALSE if(docked) //about to launch - if(!force_depart && PersonCheck()) - mode = SHUTTLE_IDLE - if(console) - console.say("Launch cancelled, lifeform dectected on board.") - return + if(!force_depart) + var/cancel_reason + if(PersonCheck()) + cancel_reason = "lifeform dectected on board" + else if(NukeDiskCheck()) + cancel_reason = "critical station device detected on board" + if(cancel_reason) + mode = SHUTTLE_IDLE + if(console) + console.say("Launch cancelled, [cancel_reason].") + return force_depart = FALSE . = ..() if(!. && !docked && !damaged) From e2b1ef2ad2e5ba1650f6a61852953947bb873e72 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 09:44:40 -0500 Subject: [PATCH 056/134] Xenobio console origin tech fix --- code/game/machinery/computer/buildandrepair.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 600ededadd..f9014d5b8f 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -178,7 +178,7 @@ /obj/item/weapon/circuitboard/computer/xenobiology name = "circuit board (Xenobiology Console)" build_path = /obj/machinery/computer/camera_advanced/xenobio - origin_tech = "programming=3;bio=3" + origin_tech = "programming=3;biotech=3" /obj/item/weapon/circuitboard/computer/base_construction name = "circuit board (Aux Mining Base Construction Console)" build_path = /obj/machinery/computer/camera_advanced/base_construction From 1cf1c1cb4c1c730d4ad7a57d0ab1696f4c5b7bb9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 09:52:53 -0500 Subject: [PATCH 057/134] Roughly one fifth of internal affairs agents are traitors with an extra objective --- code/game/gamemodes/traitor/double_agents.dm | 35 ++++-- code/game/gamemodes/traitor/traitor.dm | 106 ++++++++++--------- 2 files changed, 83 insertions(+), 58 deletions(-) diff --git a/code/game/gamemodes/traitor/double_agents.dm b/code/game/gamemodes/traitor/double_agents.dm index 2ee546c7aa..dfe198eeb9 100644 --- a/code/game/gamemodes/traitor/double_agents.dm +++ b/code/game/gamemodes/traitor/double_agents.dm @@ -1,6 +1,8 @@ #define PINPOINTER_MINIMUM_RANGE 15 #define PINPOINTER_EXTRA_RANDOM_RANGE 10 #define PINPOINTER_PING_TIME 40 +#define PROB_ACTUAL_TRAITOR 20 +#define TRAITOR_AGENT_ROLE "Syndicate External Affairs Agent" /datum/game_mode/traitor/internal_affairs name = "Internal Affairs" @@ -171,7 +173,10 @@ if(!objective.check_completion()) traitored = FALSE return - to_chat(owner.current," All the other agents are dead, and you're the last loose end. Stage a Syndicate terrorist attack to cover up for today's events. You no longer have any limits on collateral damage.") + if(owner.special_role == TRAITOR_AGENT_ROLE) + to_chat(owner.current," All the loyalist agents are dead, and no more is required of you. Die a glorious death, agent. ") + else + to_chat(owner.current," All the other agents are dead, and you're the last loose end. Stage a Syndicate terrorist attack to cover up for today's events. You no longer have any limits on collateral damage.") replace_escape_objective(owner) @@ -194,7 +199,10 @@ if(objective.stolen) var/fail_msg = "Your sensors tell you that [objective.target.current.real_name], one of the targets you were meant to have killed, pulled one over on you, and is still alive - do the job properly this time! " if(traitored) - fail_msg += " The truth could still slip out!

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 literal 0 HcmV?d00001 diff --git a/sound/weapons/magin.ogg b/sound/weapons/magin.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8908bb2f4ff06c14ca8593974eb1eb0bf197468c GIT binary patch literal 7120 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 bIErNf7RW&utTF&Z5o@y$0N@KIm&*hIRVekL literal 0 HcmV?d00001 diff --git a/sound/weapons/shotguninsert.ogg b/sound/weapons/shotguninsert.ogg new file mode 100644 index 0000000000000000000000000000000000000000..189324493cf7829aa1bb727fab56d055c38c692c GIT binary patch literal 11662 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 W=WQRwG6$qVD7>eiiP|5y{J#JP);9kD literal 0 HcmV?d00001 From 25f7f32f375fa57ad37f16333be1ecf15ccdfa28 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 05:54:45 -0500 Subject: [PATCH 017/134] Auto Rifle Armour Piercing Increase --- code/modules/projectiles/projectile/bullets.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 73355cd326..0594c17469 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -28,8 +28,8 @@ damage = 10 /obj/item/projectile/bullet/armourpiercing - damage = 17 - armour_penetration = 10 + damage = 15 + armour_penetration = 40 /obj/item/projectile/bullet/pellet name = "pellet" @@ -244,7 +244,7 @@ name = "\improper DNA injector" icon_state = "syringeproj" var/obj/item/weapon/dnainjector/injector - + /obj/item/projectile/bullet/dnainjector/on_hit(atom/target, blocked = 0) if(iscarbon(target)) var/mob/living/carbon/M = target From d11da1221f1146e01b42a82022be404c97e7bdff Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 05:55:50 -0500 Subject: [PATCH 018/134] fixes comment grammar --- code/modules/procedural_mapping/mapGeneratorModule.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/procedural_mapping/mapGeneratorModule.dm b/code/modules/procedural_mapping/mapGeneratorModule.dm index 0ad35adddb..3a78d8385e 100644 --- a/code/modules/procedural_mapping/mapGeneratorModule.dm +++ b/code/modules/procedural_mapping/mapGeneratorModule.dm @@ -9,14 +9,14 @@ var/allowAtomsOnSpace = FALSE -//Syncs the module up with it's mother +//Syncs the module up with its mother /datum/mapGeneratorModule/proc/sync(datum/mapGenerator/mum) mother = null if(mum) mother = mum -//Generates it's spawnable atoms and turfs +//Generates its spawnable atoms and turfs /datum/mapGeneratorModule/proc/generate() if(!mother) return @@ -143,4 +143,4 @@ /datum/mapGeneratorModule/denseLayer clusterCheckFlags = CLUSTER_CHECK_NONE spawnableAtoms = list(/atom = 75) - spawnableTurfs = list(/turf = 75) \ No newline at end of file + spawnableTurfs = list(/turf = 75) From b65f4cba0319ebeb886354140994f3e1655ca596 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 07:52:06 -0500 Subject: [PATCH 019/134] Automatic changelog generation for PR #1146 [ci skip] --- html/changelogs/AutoChangeLog-pr-1146.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1146.yml diff --git a/html/changelogs/AutoChangeLog-pr-1146.yml b/html/changelogs/AutoChangeLog-pr-1146.yml new file mode 100644 index 0000000000..c7b4db56f6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1146.yml @@ -0,0 +1,4 @@ +author: "That Really Good Soda Flavor" +delete-after: True +changes: + - tweak: "Changed spray tan overdoses to be more realistic." From c0758887099c240a98be187e543d94961fbf7dcc Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 07:54:35 -0500 Subject: [PATCH 020/134] Automatic changelog generation for PR #1147 [ci skip] --- html/changelogs/AutoChangeLog-pr-1147.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1147.yml diff --git a/html/changelogs/AutoChangeLog-pr-1147.yml b/html/changelogs/AutoChangeLog-pr-1147.yml new file mode 100644 index 0000000000..6c524da4aa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1147.yml @@ -0,0 +1,5 @@ +author: "QualityVan" +delete-after: True +changes: + - rscadd: "Hairless hides now become wet when exposed to water" + - rscadd: "You can microwave wet leather to dry it" From ab8ef62c0bb54223ffe56c3579ef87accaa6767d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 07:56:54 -0500 Subject: [PATCH 021/134] Automatic changelog generation for PR #1141 [ci skip] --- html/changelogs/AutoChangeLog-pr-1141.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1141.yml diff --git a/html/changelogs/AutoChangeLog-pr-1141.yml b/html/changelogs/AutoChangeLog-pr-1141.yml new file mode 100644 index 0000000000..2b8841490d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1141.yml @@ -0,0 +1,4 @@ +author: "Tacolizard" +delete-after: True +changes: + - tweak: "Station based armour is slightly more descriptive of what it does." From a78624e196dba554af7812353ac1fae6347d8d2a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 07:57:14 -0500 Subject: [PATCH 022/134] Automatic changelog generation for PR #1149 [ci skip] --- html/changelogs/AutoChangeLog-pr-1149.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1149.yml diff --git a/html/changelogs/AutoChangeLog-pr-1149.yml b/html/changelogs/AutoChangeLog-pr-1149.yml new file mode 100644 index 0000000000..4a5c010dd4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1149.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "Boxstation armoury weapon racks now have glass panes to help prevent the weapons easily flying out of a breached hull." From b2c6bd0344a8412c1190e264f555f33dab608b28 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 24 May 2017 08:08:33 -0500 Subject: [PATCH 023/134] rej cleanup --- code/game/gamemodes/cult/cult_comms.dm.rej | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 code/game/gamemodes/cult/cult_comms.dm.rej diff --git a/code/game/gamemodes/cult/cult_comms.dm.rej b/code/game/gamemodes/cult/cult_comms.dm.rej deleted file mode 100644 index 7dd9601cba..0000000000 --- a/code/game/gamemodes/cult/cult_comms.dm.rej +++ /dev/null @@ -1,7 +0,0 @@ -diff a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm (rejected hunks) -@@ -298,4 +298,5 @@ - if(GLOB.blood_target) - to_chat(B.current,"The blood mark has expired!") - B.current.client.images -= GLOB.blood_target_image -+ QDEL_NULL(GLOB.blood_target_image) - GLOB.blood_target = null From e966230ed9791f6a0feea0c9168e1a7cdf904a59 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 24 May 2017 08:19:45 -0500 Subject: [PATCH 024/134] logging --- .../components/binary_devices/pump.dm | 6 +++--- .../components/binary_devices/pump.dm.rej | 19 ------------------- .../components/binary_devices/volume_pump.dm | 6 +++--- .../binary_devices/volume_pump.dm.rej | 19 ------------------- code/modules/power/singularity/emitter.dm | 2 +- code/modules/power/singularity/emitter.dm.rej | 10 ---------- code/modules/power/smes.dm | 2 +- code/modules/power/smes.dm.rej | 10 ---------- code/modules/power/supermatter/supermatter.dm | 4 ++-- .../power/supermatter/supermatter.dm.rej | 15 --------------- 10 files changed, 10 insertions(+), 83 deletions(-) delete mode 100644 code/modules/atmospherics/machinery/components/binary_devices/pump.dm.rej delete mode 100644 code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm.rej delete mode 100644 code/modules/power/singularity/emitter.dm.rej delete mode 100644 code/modules/power/smes.dm.rej delete mode 100644 code/modules/power/supermatter/supermatter.dm.rej diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index c83b0e6de1..babb18dd98 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -121,7 +121,7 @@ Thus, the two variables affect pump operation are set in New(): switch(action) if("power") on = !on - investigate_log("Pump, [src.name], was turned [on ? "on" : "off"] by [key_name(usr)] at [x], [y], [z], [A]", "atmos") + investigate_log("Pump, [src.name], was turned [on ? "on" : "off"] by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS) message_admins("Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]") log_admin("[key_name(usr)] manipulated a pump at [x], [y], [z]") . = TRUE @@ -139,7 +139,7 @@ Thus, the two variables affect pump operation are set in New(): . = TRUE if(.) target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE) - investigate_log("Pump, [src.name], was set to [target_pressure] kPa by [key_name(usr)] at [x], [y], [z], [A]", "atmos") + investigate_log("Pump, [src.name], was set to [target_pressure] kPa by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS) message_admins("Pump, [src.name], was set to [target_pressure] kPa by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]") log_admin("[key_name(usr)] manipulated a pump at [x], [y], [z]") update_icon() @@ -186,7 +186,7 @@ Thus, the two variables affect pump operation are set in New(): if(!(stat & NOPOWER) && on) to_chat(user, "You cannot unwrench [src], turn it off first!") else - investigate_log("Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [A]", "atmos") + investigate_log("Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS) message_admins("Pump, [src.name], was unwrenched by [ADMIN_LOOKUPFLW(user)] at [ADMIN_COORDJMP(T)]") log_admin("[key_name(usr)] unwrenched a pump at [x], [y], [z]") return 1 diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm.rej b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm.rej deleted file mode 100644 index d2bdc85865..0000000000 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm (rejected hunks) -@@ -119,7 +119,7 @@ Thus, the two variables affect pump operation are set in New(): - switch(action) - if("power") - on = !on -- investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") -+ investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) - . = TRUE - if("pressure") - var/pressure = params["pressure"] -@@ -135,7 +135,7 @@ Thus, the two variables affect pump operation are set in New(): - . = TRUE - if(.) - target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE) -- investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos") -+ investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() - - /obj/machinery/atmospherics/components/binary/pump/atmosinit() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index 85d667509c..aea169130b 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -121,7 +121,7 @@ Thus, the two variables affect pump operation are set in New(): switch(action) if("power") on = !on - investigate_log("Volume Pump, [src.name], was turned [on ? "on" : "off"] by [key_name(usr)] at [x], [y], [z], [loc.loc]", "atmos") + investigate_log("Volume Pump, [src.name], was turned [on ? "on" : "off"] by [key_name(usr)] at [x], [y], [z], [loc.loc]", INVESTIGATE_ATMOS) message_admins("Volume Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]") log_admin("[key_name(usr)] manipulated a volume pump at [x], [y], [z]") @@ -140,7 +140,7 @@ Thus, the two variables affect pump operation are set in New(): . = TRUE if(.) transfer_rate = Clamp(rate, 0, MAX_TRANSFER_RATE) - investigate_log("Volume Pump, [src.name], was set to [transfer_rate] L/s by [key_name(usr)] at [x], [y], [z], [loc.loc]", "atmos") + investigate_log("Volume Pump, [src.name], was set to [transfer_rate] L/s by [key_name(usr)] at [x], [y], [z], [loc.loc]", INVESTIGATE_ATMOS) message_admins("Volume Pump, [src.name], was set to [transfer_rate] L/s by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]") log_admin("[key_name(usr)] manipulated a volume pump at [x], [y], [z]") update_icon() @@ -183,7 +183,7 @@ Thus, the two variables affect pump operation are set in New(): if(!(stat & NOPOWER) && on) to_chat(user, "You cannot unwrench [src], turn it off first!") else - investigate_log("Volume Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [loc.loc]", "atmos") + investigate_log("Volume Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [loc.loc]", INVESTIGATE_ATMOS) message_admins("Volume Pump, [src.name], was unwrenched by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]") log_admin("[key_name(usr)] unwrenched a volume pump at [x], [y], [z]") diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm.rej b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm.rej deleted file mode 100644 index 6fab304724..0000000000 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm (rejected hunks) -@@ -119,7 +119,7 @@ Thus, the two variables affect pump operation are set in New(): - switch(action) - if("power") - on = !on -- investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos") -+ investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) - . = TRUE - if("rate") - var/rate = params["rate"] -@@ -135,7 +135,7 @@ Thus, the two variables affect pump operation are set in New(): - . = TRUE - if(.) - transfer_rate = Clamp(rate, 0, MAX_TRANSFER_RATE) -- investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", "atmos") -+ investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) - update_icon() - - /obj/machinery/atmospherics/components/binary/volume_pump/receive_signal(datum/signal/signal) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 80f9a61679..f5d62ba611 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -100,7 +100,7 @@ if(SSticker && SSticker.IsRoundInProgress()) message_admins("Emitter deleted at ([x],[y],[z] - JMP)",0,1) log_game("Emitter deleted at ([x],[y],[z])") - investigate_log("deleted at ([x],[y],[z]) at [get_area(src)]","singulo") + investigate_log("deleted at ([x],[y],[z]) at [get_area(src)]", INVESTIGATE_SINGULO) QDEL_NULL(sparks) return ..() diff --git a/code/modules/power/singularity/emitter.dm.rej b/code/modules/power/singularity/emitter.dm.rej deleted file mode 100644 index 8b61066484..0000000000 --- a/code/modules/power/singularity/emitter.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm (rejected hunks) -@@ -101,7 +101,7 @@ - var/turf/T = get_turf(src) - message_admins("Emitter deleted at [ADMIN_COORDJMP(T)]",0,1) - log_game("Emitter deleted at [COORD(T)]") -- investigate_log("deleted at [get_area(src)] [COORD(T)]","singulo") -+ investigate_log("deleted at [get_area(src)] [COORD(T)]", INVESTIGATE_SINGULO) - QDEL_NULL(sparks) - return ..() - diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index d15a72a6b7..ba025b7529 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -195,7 +195,7 @@ var/area/area = get_area(src) message_admins("SMES deleted at ([area.name])") log_game("SMES deleted at ([area.name])") - investigate_log("deleted at ([area.name])","singulo") + investigate_log("deleted at ([area.name])", INVESTIGATE_SINGULO) if(terminal) disconnect_terminal() return ..() diff --git a/code/modules/power/smes.dm.rej b/code/modules/power/smes.dm.rej deleted file mode 100644 index cb12ea4fbb..0000000000 --- a/code/modules/power/smes.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/power/smes.dm b/code/modules/power/smes.dm (rejected hunks) -@@ -196,7 +196,7 @@ - var/turf/T = get_turf(src) - message_admins("SMES deleted at [A][ADMIN_JMP(T)]") - log_game("SMES deleted at [A][COORD(T)]") -- investigate_log("deleted at [A][COORD(T)]","singulo") -+ investigate_log("deleted at [A][COORD(T)]", INVESTIGATE_SINGULO) - if(terminal) - disconnect_terminal() - return ..() diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index b6c93979c1..dea263231a 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -388,11 +388,11 @@ return FALSE // This stops people from being able to really power up the supermatter // Then bring it inside to explode instantly upon landing on a valid turf. if(!istype(Proj.firer, /obj/machinery/power/emitter)) - investigate_log("has been hit by [Proj] fired by [Proj.firer]", "supermatter") + investigate_log("has been hit by [Proj] fired by [Proj.firer]", INVESTIGATE_SUPERMATTER) if(Proj.flag != "bullet") power += Proj.damage * config_bullet_energy if(!has_been_powered) - investigate_log("has been powered for the first time.", "supermatter") + investigate_log("has been powered for the first time.", INVESTIGATE_SUPERMATTER) message_admins("[src] has been powered for the first time [ADMIN_JMP(src)].") has_been_powered = TRUE else if(takes_damage) diff --git a/code/modules/power/supermatter/supermatter.dm.rej b/code/modules/power/supermatter/supermatter.dm.rej deleted file mode 100644 index 784fbb78b7..0000000000 --- a/code/modules/power/supermatter/supermatter.dm.rej +++ /dev/null @@ -1,15 +0,0 @@ -diff a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm (rejected hunks) -@@ -388,11 +388,11 @@ - return 0 // This stops people from being able to really power up the supermatter - // Then bring it inside to explode instantly upon landing on a valid turf. - if(!istype(Proj.firer, /obj/machinery/power/emitter)) -- investigate_log("has been hit by [Proj] fired by [Proj.firer]", "supermatter") -+ investigate_log("has been hit by [Proj] fired by [Proj.firer]", INVESTIGATE_SUPERMATTER) - if(Proj.flag != "bullet") - power += Proj.damage * config_bullet_energy - if(!has_been_powered) -- investigate_log("has been powered for the first time.", "supermatter") -+ investigate_log("has been powered for the first time.", INVESTIGATE_SUPERMATTER) - message_admins("[src] has been powered for the first time [ADMIN_JMP(src)].") - has_been_powered = 1 - else if(takes_damage) From 9fa0539f74b9ce27315db56790939837d27b6bb4 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 08:24:39 -0500 Subject: [PATCH 025/134] Fixes cryo radios --- .../atmospherics/machinery/components/unary_devices/cryo.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 73e0c2042f..51e97eb5a4 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -27,10 +27,10 @@ var/radio_key = /obj/item/device/encryptionkey/headset_med var/radio_channel = "Medical" -/obj/machinery/atmospherics/components/unary/cryo_cell/New() - ..() +/obj/machinery/atmospherics/components/unary/cryo_cell/Initialize() + . = ..() initialize_directions = dir - var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/cryo_tube(null) + var/obj/item/weapon/circuitboard/machine/cryo_tube/B = new B.apply_default_parts(src) radio = new(src) From f276937bc5e0cfb0c46a70e926d75d17cd883c5f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 08:24:52 -0500 Subject: [PATCH 026/134] Automatic changelog generation for PR #1110 [ci skip] --- html/changelogs/AutoChangeLog-pr-1110.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1110.yml diff --git a/html/changelogs/AutoChangeLog-pr-1110.yml b/html/changelogs/AutoChangeLog-pr-1110.yml new file mode 100644 index 0000000000..ba60502d77 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1110.yml @@ -0,0 +1,8 @@ +author: "Robustin" +delete-after: True +changes: + - rscadd: "Added a sexy new icon for the harvester's AOE conversion spell" + - bugfix: "Fixed construct's forcewall being invisible" + - bugfix: "Fixed cult constructs \"Locate Master\" and \"Locate Prey\" not functioning" + - bugfix: "Fixed spell action buttons not showing their actual availability status" + - tweak: "Changed the duration of a few frames for the new Cult ending" From b95b6dca00db3cbdfa39253cfe44c31ba02b78e2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 08:25:53 -0500 Subject: [PATCH 027/134] Raven Ship Blast Door Fix --- _maps/shuttles/emergency_raven.dmm | 198 ++++++++++++++++++++++++++--- 1 file changed, 179 insertions(+), 19 deletions(-) diff --git a/_maps/shuttles/emergency_raven.dmm b/_maps/shuttles/emergency_raven.dmm index 7bf4708da7..eeb1a3756b 100644 --- a/_maps/shuttles/emergency_raven.dmm +++ b/_maps/shuttles/emergency_raven.dmm @@ -123,6 +123,7 @@ }, /area/shuttle/escape) "aw" = ( +/obj/machinery/light, /turf/open/floor/plasteel/darkblue/side, /area/shuttle/escape) "ax" = ( @@ -168,6 +169,10 @@ "aE" = ( /obj/structure/table/reinforced, /obj/item/weapon/defibrillator/loaded, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, /turf/open/floor/plasteel/darkpurple/side{ dir = 4 }, @@ -216,6 +221,9 @@ id = "shuttleflash"; pixel_y = -23 }, +/obj/machinery/light{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side{ tag = "icon-darkblue (NORTH)"; dir = 1 @@ -232,6 +240,9 @@ }, /area/shuttle/escape) "aM" = ( +/obj/machinery/light{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side{ tag = "icon-darkblue (NORTH)"; dir = 1 @@ -412,6 +423,9 @@ pixel_y = 9 }, /obj/structure/closet/crate/internals, +/obj/machinery/light{ + dir = 1 + }, /turf/open/floor/plasteel/darkyellow/side{ tag = "icon-darkyellow (NORTHEAST)"; icon_state = "darkyellow"; @@ -516,6 +530,9 @@ pixel_y = 8 }, /obj/structure/table/reinforced, +/obj/machinery/light{ + dir = 8 + }, /turf/open/floor/plasteel/darkpurple/side{ dir = 8 }, @@ -918,6 +935,9 @@ /area/shuttle/escape) "ch" = ( /obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light{ + dir = 8 + }, /turf/open/floor/plasteel/darkgreen/side{ dir = 9; icon_state = "darkgreen"; @@ -926,6 +946,10 @@ /area/shuttle/escape) "ci" = ( /obj/structure/reagent_dispensers/watertank, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, /turf/open/floor/plasteel/darkgreen/side{ dir = 5 }, @@ -1040,9 +1064,9 @@ name = "Bridge Blast Shutters"; pixel_x = 0; pixel_y = -26; - req_access_txt = "150"; - pixel_x = 0 + req_access_txt = "19" }, +/obj/machinery/light, /turf/open/floor/plasteel/darkblue/side, /area/shuttle/escape) "cA" = ( @@ -1482,10 +1506,146 @@ pixel_x = 24; pixel_y = 0 }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, /turf/open/floor/plasteel/darkgreen/side{ dir = 4 }, /area/shuttle/escape) +"eC" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/open/floor/plasteel/darkpurple/side{ + dir = 4 + }, +/area/shuttle/escape) +"eD" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/brig{ + dir = 8; + floor_tile = /obj/item/stack/tile/plasteel; + icon_state = "darkred" + }, +/area/shuttle/escape) +"eE" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/darkgreen/side{ + tag = "icon-darkgreen (NORTH)"; + icon_state = "darkgreen"; + dir = 1 + }, +/area/shuttle/escape) +"eF" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/darkgreen/side{ + dir = 8 + }, +/area/shuttle/escape) +"eG" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/darkgreen/side{ + tag = "icon-darkgreen (NORTH)"; + icon_state = "darkgreen"; + dir = 1 + }, +/area/shuttle/escape) +"eH" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/darkgreen/side, +/area/shuttle/escape) +"eI" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/darkgreen/side, +/area/shuttle/escape) +"eJ" = ( +/obj/machinery/button/flasher{ + id = "cockpit_flasher"; + pixel_x = 6; + pixel_y = -24 + }, +/obj/machinery/light, +/turf/open/floor/mineral/titanium/blue, +/area/space) +"eK" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/darkgreen/side{ + tag = "icon-darkgreen (NORTH)"; + icon_state = "darkgreen"; + dir = 1 + }, +/area/shuttle/escape) +"eL" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/darkgreen/side{ + tag = "icon-darkgreen (NORTH)"; + icon_state = "darkgreen"; + dir = 1 + }, +/area/shuttle/escape) +"eM" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/darkgreen/side{ + tag = "icon-darkgreen (NORTH)"; + icon_state = "darkgreen"; + dir = 1 + }, +/area/shuttle/escape) +"eN" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/open/floor/plasteel/darkgreen/side{ + dir = 4 + }, +/area/shuttle/escape) +"eO" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/darkgreen/side{ + dir = 8 + }, +/area/shuttle/escape) +"eP" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/darkgreen/side, +/area/shuttle/escape) +"eQ" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/open/floor/plasteel/darkgreen/side{ + dir = 4 + }, +/area/shuttle/escape) +"eR" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/darkgreen/side, +/area/shuttle/escape) +"eS" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/darkgreen/side, +/area/shuttle/escape) (1,1,1) = {" aa @@ -1531,7 +1691,7 @@ cs ar aW bc -bc +eD bc bc bc @@ -1545,7 +1705,7 @@ cu bF be be -be +eO be be cd @@ -1604,19 +1764,19 @@ cu cu cs ar -br +eG aC -bz +eH ar bT bo -br +eK bZ ca aC bZ ca -bz +eR ab ch ar @@ -1636,7 +1796,7 @@ be be be be -be +eF be bG aC @@ -1712,13 +1872,13 @@ bP ar bU bo -br +eL bZ ca aC bZ ca -bz +eS ab ci ar @@ -1742,7 +1902,7 @@ bz cs bH bG -bz +eI cs cs cs @@ -1771,7 +1931,7 @@ bb bf bk cs -br +eE bz cs bI @@ -1884,9 +2044,9 @@ aa cs cs cs -br +eM aC -bz +eP cs cs cs @@ -1946,7 +2106,7 @@ bB cu ad ad -ad +eJ ad cu br @@ -2004,7 +2164,7 @@ ar aE aI aO -aV +eC aV bi bm @@ -2020,9 +2180,9 @@ cs bW aZ aZ +eN aZ -aZ -aZ +eQ aZ aZ ce From 88d88741f5106852c8a328a60b1e903dc49a00b6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 08:28:08 -0500 Subject: [PATCH 028/134] Splits equipment.dm into several component files --- code/game/objects/structures/signs.dm | 6 + code/modules/mining/equipment.dm | 557 ------------------ .../modules/mining/equipment/explorer_gear.dm | 48 ++ .../mining/equipment/kinetic_crusher.dm | 86 +++ .../mining/equipment/lazarus_injector.dm | 61 ++ .../mining/equipment/mineral_scanner.dm | 79 +++ code/modules/mining/equipment/resonator.dm | 120 ++++ code/modules/mining/equipment/vendor_items.dm | 33 ++ .../mining/equipment/wormhole_jaunter.dm | 109 ++++ tgstation.dme | 8 +- 10 files changed, 549 insertions(+), 558 deletions(-) delete mode 100644 code/modules/mining/equipment.dm create mode 100644 code/modules/mining/equipment/explorer_gear.dm create mode 100644 code/modules/mining/equipment/kinetic_crusher.dm create mode 100644 code/modules/mining/equipment/lazarus_injector.dm create mode 100644 code/modules/mining/equipment/mineral_scanner.dm create mode 100644 code/modules/mining/equipment/resonator.dm create mode 100644 code/modules/mining/equipment/vendor_items.dm create mode 100644 code/modules/mining/equipment/wormhole_jaunter.dm diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 11d20a2dc1..445af97b4e 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -246,6 +246,12 @@ desc = "A sign labelling an area as a place where xenobiological entities are researched." icon_state = "xenobio" +/obj/structure/sign/xeno_warning_mining + name = "DANGEROUS ALIEN LIFE" + desc = "A sign that warns would-be travellers of hostile alien life in the vicinity." + icon = 'icons/obj/mining.dmi' + icon_state = "xeno_warning" + /obj/structure/sign/enginesafety name = "\improper ENGINEERING SAFETY" desc = "A sign detailing the various safety protocols when working on-site to ensure a safe shift." diff --git a/code/modules/mining/equipment.dm b/code/modules/mining/equipment.dm deleted file mode 100644 index a9315b7bea..0000000000 --- a/code/modules/mining/equipment.dm +++ /dev/null @@ -1,557 +0,0 @@ -/****************Explorer's Suit**************************/ - -/obj/item/clothing/suit/hooded/explorer - name = "explorer suit" - desc = "An armoured suit for exploring harsh environments." - icon_state = "explorer" - item_state = "explorer" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - cold_protection = CHEST|GROIN|LEGS|ARMS - max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|ARMS - hoodtype = /obj/item/clothing/head/hooded/explorer - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 50) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator, /obj/item/weapon/pickaxe) - resistance_flags = FIRE_PROOF - -/obj/item/clothing/head/hooded/explorer - name = "explorer hood" - desc = "An armoured hood for exploring harsh environments." - icon_state = "explorer" - body_parts_covered = HEAD - flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS - min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 50) - resistance_flags = FIRE_PROOF - -/obj/item/clothing/mask/gas/explorer - name = "explorer gas mask" - desc = "A military-grade gas mask that can be connected to an air supply." - icon_state = "gas_mining" - visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS - visor_flags_inv = HIDEFACIALHAIR - visor_flags_cover = MASKCOVERSMOUTH - actions_types = list(/datum/action/item_action/adjust) - armor = list(melee = 10, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 50, rad = 0, fire = 20, acid = 40) - resistance_flags = FIRE_PROOF - -/obj/item/clothing/mask/gas/explorer/attack_self(mob/user) - adjustmask(user) - -/obj/item/clothing/mask/gas/explorer/adjustmask(user) - ..() - w_class = mask_adjusted ? WEIGHT_CLASS_NORMAL : WEIGHT_CLASS_SMALL - -/obj/item/clothing/mask/gas/explorer/folded/New() - ..() - adjustmask() - - -/**********************Mining Equipment Vendor Items**************************/ - -/**********************Jaunter**********************/ - -/obj/item/device/wormhole_jaunter - name = "wormhole jaunter" - desc = "A single use device harnessing outdated wormhole technology, Nanotrasen has since turned its eyes to blue space for more accurate teleportation. The wormholes it creates are unpleasant to travel through, to say the least.\nThanks to modifications provided by the Free Golems, this jaunter can be worn on the belt to provide protection from chasms." - icon = 'icons/obj/mining.dmi' - icon_state = "Jaunter" - item_state = "electronic" - throwforce = 0 - w_class = WEIGHT_CLASS_SMALL - throw_speed = 3 - throw_range = 5 - origin_tech = "bluespace=2" - slot_flags = SLOT_BELT - -/obj/item/device/wormhole_jaunter/attack_self(mob/user) - user.visible_message("[user.name] activates the [src.name]!") - SSblackbox.add_details("jaunter", "User") // user activated - activate(user) - -/obj/item/device/wormhole_jaunter/proc/turf_check(mob/user) - var/turf/device_turf = get_turf(user) - if(!device_turf||device_turf.z==2||device_turf.z>=7) - to_chat(user, "You're having difficulties getting the [src.name] to work.") - return FALSE - return TRUE - -/obj/item/device/wormhole_jaunter/proc/get_destinations(mob/user) - var/list/destinations = list() - - if(isgolem(user)) - for(var/obj/item/device/radio/beacon/B in GLOB.teleportbeacons) - var/turf/T = get_turf(B) - if(istype(T.loc, /area/ruin/powered/golem_ship)) - destinations += B - - // In the event golem beacon is destroyed, send to station instead - if(destinations.len) - return destinations - - for(var/obj/item/device/radio/beacon/B in GLOB.teleportbeacons) - var/turf/T = get_turf(B) - if(T.z == ZLEVEL_STATION) - destinations += B - - return destinations - -/obj/item/device/wormhole_jaunter/proc/activate(mob/user) - if(!turf_check(user)) - return - - var/list/L = get_destinations(user) - if(!L.len) - to_chat(user, "The [src.name] found no beacons in the world to anchor a wormhole to.") - return - var/chosen_beacon = pick(L) - var/obj/effect/portal/wormhole/jaunt_tunnel/J = new /obj/effect/portal/wormhole/jaunt_tunnel(get_turf(src), chosen_beacon, lifespan=100) - J.target = chosen_beacon - try_move_adjacent(J) - playsound(src,'sound/effects/sparks4.ogg',50,1) - qdel(src) - -/obj/item/device/wormhole_jaunter/emp_act(power) - var/triggered = FALSE - - if(usr.get_item_by_slot(slot_belt) == src) - if(power == 1) - triggered = TRUE - else if(power == 2 && prob(50)) - triggered = TRUE - - if(triggered) - usr.visible_message("The [src] overloads and activates!") - SSblackbox.add_details("jaunter","EMP") // EMP accidental activation - activate(usr) - -/obj/item/device/wormhole_jaunter/proc/chasm_react(mob/user) - if(user.get_item_by_slot(slot_belt) == src) - to_chat(user, "Your [src] activates, saving you from the chasm!") - SSblackbox.add_details("jaunter","Chasm") // chasm automatic activation - activate(user) - else - to_chat(user, "The [src] is not attached to your belt, preventing it from saving you from the chasm. RIP.") - - -/obj/effect/portal/wormhole/jaunt_tunnel - name = "jaunt tunnel" - icon = 'icons/effects/effects.dmi' - icon_state = "bhole3" - desc = "A stable hole in the universe made by a wormhole jaunter. Turbulent doesn't even begin to describe how rough passage through one of these is, but at least it will always get you somewhere near a beacon." - mech_sized = TRUE //save your ripley - -/obj/effect/portal/wormhole/jaunt_tunnel/teleport(atom/movable/M) - if(istype(M, /obj/effect)) - return - - if(M.anchored) - if(!(istype(M, /obj/mecha) && mech_sized)) - return - - if(istype(M, /atom/movable)) - if(do_teleport(M, target, 6)) - // KERPLUNK - playsound(M,'sound/weapons/resonator_blast.ogg',50,1) - if(iscarbon(M)) - var/mob/living/carbon/L = M - L.Weaken(3) - if(ishuman(L)) - shake_camera(L, 20, 1) - addtimer(CALLBACK(L, /mob/living/carbon.proc/vomit), 20) - -/**********************Resonator**********************/ - -/obj/item/weapon/resonator - name = "resonator" - icon = 'icons/obj/mining.dmi' - icon_state = "resonator" - item_state = "resonator" - desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It's more effective in a vacuum." - w_class = WEIGHT_CLASS_NORMAL - force = 15 - throwforce = 10 - var/burst_time = 30 - var/fieldlimit = 4 - var/list/fields = list() - var/quick_burst_mod = 0.8 - origin_tech = "magnets=3;engineering=3" - -/obj/item/weapon/resonator/upgraded - name = "upgraded resonator" - desc = "An upgraded version of the resonator that can produce more fields at once, as well as having no damage penalty for bursting a resonance field early." - icon_state = "resonator_u" - item_state = "resonator_u" - origin_tech = "materials=4;powerstorage=3;engineering=3;magnets=3" - fieldlimit = 6 - quick_burst_mod = 1 - -/obj/item/weapon/resonator/attack_self(mob/user) - if(burst_time == 50) - burst_time = 30 - to_chat(user, "You set the resonator's fields to detonate after 3 seconds.") - else - burst_time = 50 - to_chat(user, "You set the resonator's fields to detonate after 5 seconds.") - -/obj/item/weapon/resonator/proc/CreateResonance(target, mob/user) - var/turf/T = get_turf(target) - var/obj/effect/temp_visual/resonance/R = locate(/obj/effect/temp_visual/resonance) in T - if(R) - R.damage_multiplier = quick_burst_mod - R.burst() - return - if(LAZYLEN(fields) < fieldlimit) - new /obj/effect/temp_visual/resonance(T, user, src, burst_time) - user.changeNext_move(CLICK_CD_MELEE) - -/obj/item/weapon/resonator/pre_attackby(atom/target, mob/user, params) - if(check_allowed_items(target, 1)) - CreateResonance(target, user) - return TRUE - -/obj/effect/temp_visual/resonance - name = "resonance field" - desc = "A resonating field that significantly damages anything inside of it when the field eventually ruptures. More damaging in low pressure environments." - icon_state = "shield1" - layer = ABOVE_ALL_MOB_LAYER - duration = 50 - var/resonance_damage = 20 - var/damage_multiplier = 1 - var/creator - var/obj/item/weapon/resonator/res - -/obj/effect/temp_visual/resonance/Initialize(mapload, set_creator, set_resonator, set_duration) - duration = set_duration - . = ..() - creator = set_creator - res = set_resonator - if(res) - res.fields += src - playsound(src,'sound/weapons/resonator_fire.ogg',50,1) - transform = matrix()*0.75 - animate(src, transform = matrix()*1.5, time = duration) - deltimer(timerid) - timerid = addtimer(CALLBACK(src, .proc/burst), duration, TIMER_STOPPABLE) - -/obj/effect/temp_visual/resonance/Destroy() - if(res) - res.fields -= src - res = null - creator = null - . = ..() - -/obj/effect/temp_visual/resonance/proc/check_pressure(turf/proj_turf) - if(!proj_turf) - proj_turf = get_turf(src) - if(!istype(proj_turf)) - return - var/datum/gas_mixture/environment = proj_turf.return_air() - var/pressure = environment.return_pressure() - resonance_damage = initial(resonance_damage) - if(pressure < 50) - name = "strong [initial(name)]" - resonance_damage *= 3 - else - name = initial(name) - resonance_damage *= damage_multiplier - -/obj/effect/temp_visual/resonance/proc/burst() - var/turf/T = get_turf(src) - new /obj/effect/temp_visual/resonance_crush(T) - if(ismineralturf(T)) - var/turf/closed/mineral/M = T - M.gets_drilled(creator) - check_pressure(T) - playsound(T,'sound/weapons/resonator_blast.ogg',50,1) - for(var/mob/living/L in T) - if(creator) - add_logs(creator, L, "used a resonator field on", "resonator") - to_chat(L, "[src] ruptured with you in it!") - L.apply_damage(resonance_damage, BRUTE) - qdel(src) - -/obj/effect/temp_visual/resonance_crush - icon_state = "shield1" - layer = ABOVE_ALL_MOB_LAYER - duration = 4 - -/obj/effect/temp_visual/resonance_crush/Initialize() - . = ..() - transform = matrix()*1.5 - animate(src, transform = matrix()*0.1, alpha = 50, time = 4) - -/**********************Facehugger toy**********************/ - -/obj/item/clothing/mask/facehugger/toy - item_state = "facehugger_inactive" - desc = "A toy often used to play pranks on other miners by putting it in their beds. It takes a bit to recharge after latching onto something." - throwforce = 0 - real = 0 - sterile = 1 - tint = 3 //Makes it feel more authentic when it latches on - -/obj/item/clothing/mask/facehugger/toy/Die() - return - -/**********************Lazarus Injector**********************/ - -/obj/item/weapon/lazarus_injector - name = "lazarus injector" - desc = "An injector with a cocktail of nanomachines and chemicals, this device can seemingly raise animals from the dead, making them become friendly to the user. Unfortunately, the process is useless on higher forms of life and incredibly costly, so these were hidden in storage until an executive thought they'd be great motivation for some of their employees." - icon = 'icons/obj/syringe.dmi' - icon_state = "lazarus_hypo" - item_state = "hypo" - throwforce = 0 - w_class = WEIGHT_CLASS_SMALL - throw_speed = 3 - throw_range = 5 - var/loaded = 1 - var/malfunctioning = 0 - var/revive_type = SENTIENCE_ORGANIC //So you can't revive boss monsters or robots with it - origin_tech = "biotech=4;magnets=6" - -/obj/item/weapon/lazarus_injector/afterattack(atom/target, mob/user, proximity_flag) - if(!loaded) - return - if(isliving(target) && proximity_flag) - if(istype(target, /mob/living/simple_animal)) - var/mob/living/simple_animal/M = target - if(M.sentience_type != revive_type) - to_chat(user, "[src] does not work on this sort of creature.") - return - if(M.stat == DEAD) - M.faction = list("neutral") - M.revive(full_heal = 1, admin_revive = 1) - if(ishostile(target)) - var/mob/living/simple_animal/hostile/H = M - if(malfunctioning) - H.faction |= list("lazarus", "\ref[user]") - H.robust_searching = 1 - H.friends += user - H.attack_same = 1 - log_game("[user] has revived hostile mob [target] with a malfunctioning lazarus injector") - else - H.attack_same = 0 - loaded = 0 - user.visible_message("[user] injects [M] with [src], reviving it.") - SSblackbox.add_details("lazarus_injector", "[M.type]") - playsound(src,'sound/effects/refill.ogg',50,1) - icon_state = "lazarus_empty" - return - else - to_chat(user, "[src] is only effective on the dead.") - return - else - to_chat(user, "[src] is only effective on lesser beings.") - return - -/obj/item/weapon/lazarus_injector/emp_act() - if(!malfunctioning) - malfunctioning = 1 - -/obj/item/weapon/lazarus_injector/examine(mob/user) - ..() - if(!loaded) - to_chat(user, "[src] is empty.") - if(malfunctioning) - to_chat(user, "The display on [src] seems to be flickering.") - -/**********************Mining Scanners**********************/ - -/obj/item/device/mining_scanner - desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations." - name = "manual mining scanner" - icon_state = "mining1" - item_state = "analyzer" - w_class = WEIGHT_CLASS_SMALL - flags = CONDUCT - slot_flags = SLOT_BELT - var/cooldown = 35 - var/current_cooldown = 0 - origin_tech = "engineering=1;magnets=1" - -/obj/item/device/mining_scanner/attack_self(mob/user) - if(!user.client) - return - if(current_cooldown <= world.time) - current_cooldown = world.time + cooldown - mineral_scan_pulse(get_turf(user)) - - -//Debug item to identify all ore spread quickly -/obj/item/device/mining_scanner/admin - -/obj/item/device/mining_scanner/admin/attack_self(mob/user) - for(var/turf/closed/mineral/M in world) - if(M.scan_state) - M.icon_state = M.scan_state - qdel(src) - -/obj/item/device/t_scanner/adv_mining_scanner - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. This one has an extended range." - name = "advanced automatic mining scanner" - icon_state = "mining0" - item_state = "analyzer" - w_class = WEIGHT_CLASS_SMALL - flags = CONDUCT - slot_flags = SLOT_BELT - var/cooldown = 35 - var/current_cooldown = 0 - var/range = 7 - origin_tech = "engineering=3;magnets=3" - -/obj/item/device/t_scanner/adv_mining_scanner/lesser - name = "automatic mining scanner" - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations." - range = 4 - cooldown = 50 - -/obj/item/device/t_scanner/adv_mining_scanner/scan() - if(current_cooldown <= world.time) - current_cooldown = world.time + cooldown - var/turf/t = get_turf(src) - mineral_scan_pulse(t, range) - -/proc/mineral_scan_pulse(turf/T, range = world.view) - var/list/minerals = list() - for(var/turf/closed/mineral/M in range(range, T)) - if(M.scan_state) - minerals += M - if(LAZYLEN(minerals)) - for(var/turf/closed/mineral/M in minerals) - var/obj/effect/temp_visual/mining_overlay/oldC = locate(/obj/effect/temp_visual/mining_overlay) in M - if(oldC) - qdel(oldC) - var/obj/effect/temp_visual/mining_overlay/C = new /obj/effect/temp_visual/mining_overlay(M) - C.icon_state = M.scan_state - -/obj/effect/temp_visual/mining_overlay - plane = FULLSCREEN_PLANE - layer = FLASH_LAYER - icon = 'icons/effects/ore_visuals.dmi' - appearance_flags = 0 //to avoid having TILE_BOUND in the flags, so that the 480x480 icon states let you see it no matter where you are - duration = 35 - pixel_x = -224 - pixel_y = -224 - -/obj/effect/temp_visual/mining_overlay/Initialize() - . = ..() - animate(src, alpha = 0, time = duration, easing = EASE_IN) - - -/**********************Xeno Warning Sign**********************/ -/obj/structure/sign/xeno_warning_mining - name = "DANGEROUS ALIEN LIFE" - desc = "A sign that warns would be travellers of hostile alien life in the vicinity." - icon = 'icons/obj/mining.dmi' - icon_state = "xeno_warning" - -/*********************Hivelord stabilizer****************/ - -/obj/item/weapon/hivelordstabilizer - name = "stabilizing serum" - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle19" - desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely." - w_class = WEIGHT_CLASS_TINY - origin_tech = "biotech=3" - -/obj/item/weapon/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user) - var/obj/item/organ/hivelord_core/C = M - if(!istype(C, /obj/item/organ/hivelord_core)) - to_chat(user, "The stabilizer only works on certain types of monster organs, generally regenerative in nature.") - return ..() - - C.preserved() - to_chat(user, "You inject the [M] with the stabilizer. It will no longer go inert.") - qdel(src) - -/*********************Mining Hammer****************/ -/obj/item/weapon/twohanded/required/mining_hammer - icon = 'icons/obj/mining.dmi' - icon_state = "mining_hammer1" - item_state = "mining_hammer1" - name = "proto-kinetic crusher" - desc = "An early design of the proto-kinetic accelerator, it is little more than an combination of various mining tools cobbled together, forming a high-tech club. \ - While it is an effective mining tool, it did little to aid any but the most skilled and/or suicidal miners against local fauna.\ - \nMark a mob with the destabilizing force, then hit them in melee to activate it for extra damage. Extra damage if backstabbed in this fashion. \ - This weapon is only particularly effective against large creatures." - force = 20 //As much as a bone spear, but this is significantly more annoying to carry around due to requiring the use of both hands at all times - w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK - force_unwielded = 20 //It's never not wielded so these are the same - force_wielded = 20 - throwforce = 5 - throw_speed = 4 - luminosity = 4 - armour_penetration = 10 - materials = list(MAT_METAL=1150, MAT_GLASS=2075) - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped") - sharpness = IS_SHARP - var/charged = TRUE - var/charge_time = 14 - -/obj/item/projectile/destabilizer - name = "destabilizing force" - icon_state = "pulse1" - nodamage = TRUE - damage = 0 //We're just here to mark people. This is still a melee weapon. - damage_type = BRUTE - flag = "bomb" - range = 6 - log_override = TRUE - var/obj/item/weapon/twohanded/required/mining_hammer/hammer_synced - -/obj/item/projectile/destabilizer/Destroy() - hammer_synced = null - return ..() - -/obj/item/projectile/destabilizer/on_hit(atom/target, blocked = 0) - if(isliving(target)) - var/mob/living/L = target - var/datum/status_effect/crusher_mark/CM = L.apply_status_effect(STATUS_EFFECT_CRUSHERMARK) - CM.hammer_synced = hammer_synced - var/target_turf = get_turf(target) - if(ismineralturf(target_turf)) - var/turf/closed/mineral/M = target_turf - new /obj/effect/temp_visual/kinetic_blast(M) - M.gets_drilled(firer) - ..() - -/obj/item/weapon/twohanded/required/mining_hammer/afterattack(atom/target, mob/user, proximity_flag) - if(!proximity_flag && charged)//Mark a target, or mine a tile. - var/turf/proj_turf = user.loc - if(!isturf(proj_turf)) - return - var/obj/item/projectile/destabilizer/D = new /obj/item/projectile/destabilizer(proj_turf) - D.preparePixelProjectile(target, get_turf(target), user) - D.hammer_synced = src - playsound(user, 'sound/weapons/plasma_cutter.ogg', 100, 1) - D.fire() - charged = FALSE - icon_state = "mining_hammer1_uncharged" - addtimer(CALLBACK(src, .proc/Recharge), charge_time) - return - if(proximity_flag && isliving(target)) - var/mob/living/L = target - var/datum/status_effect/crusher_mark/CM = L.has_status_effect(STATUS_EFFECT_CRUSHERMARK) - if(!CM || CM.hammer_synced != src || !L.remove_status_effect(STATUS_EFFECT_CRUSHERMARK)) - return - new /obj/effect/temp_visual/kinetic_blast(get_turf(L)) - var/backstab_dir = get_dir(user, L) - var/def_check = L.getarmor(type = "bomb") - if((user.dir & backstab_dir) && (L.dir & backstab_dir)) - L.apply_damage(80, BRUTE, blocked = def_check) - playsound(user, 'sound/weapons/Kenetic_accel.ogg', 100, 1) //Seriously who spelled it wrong - else - L.apply_damage(50, BRUTE, blocked = def_check) - -/obj/item/weapon/twohanded/required/mining_hammer/proc/Recharge() - if(!charged) - charged = TRUE - icon_state = "mining_hammer1" - playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm new file mode 100644 index 0000000000..e4acea1cf0 --- /dev/null +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -0,0 +1,48 @@ +/****************Explorer's Suit and Mask****************/ +/obj/item/clothing/suit/hooded/explorer + name = "explorer suit" + desc = "An armoured suit for exploring harsh environments." + icon_state = "explorer" + item_state = "explorer" + body_parts_covered = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + cold_protection = CHEST|GROIN|LEGS|ARMS + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + heat_protection = CHEST|GROIN|LEGS|ARMS + hoodtype = /obj/item/clothing/head/hooded/explorer + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 50) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator, /obj/item/weapon/pickaxe) + resistance_flags = FIRE_PROOF + +/obj/item/clothing/head/hooded/explorer + name = "explorer hood" + desc = "An armoured hood for exploring harsh environments." + icon_state = "explorer" + body_parts_covered = HEAD + flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT + max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 50) + resistance_flags = FIRE_PROOF + +/obj/item/clothing/mask/gas/explorer + name = "explorer gas mask" + desc = "A military-grade gas mask that can be connected to an air supply." + icon_state = "gas_mining" + visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + visor_flags_inv = HIDEFACIALHAIR + visor_flags_cover = MASKCOVERSMOUTH + actions_types = list(/datum/action/item_action/adjust) + armor = list(melee = 10, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 50, rad = 0, fire = 20, acid = 40) + resistance_flags = FIRE_PROOF + +/obj/item/clothing/mask/gas/explorer/attack_self(mob/user) + adjustmask(user) + +/obj/item/clothing/mask/gas/explorer/adjustmask(user) + ..() + w_class = mask_adjusted ? WEIGHT_CLASS_NORMAL : WEIGHT_CLASS_SMALL + +/obj/item/clothing/mask/gas/explorer/folded/New() + ..() + adjustmask() diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm new file mode 100644 index 0000000000..15d6c6afc5 --- /dev/null +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -0,0 +1,86 @@ +/*********************Mining Hammer****************/ +/obj/item/weapon/twohanded/required/mining_hammer + icon = 'icons/obj/mining.dmi' + icon_state = "mining_hammer1" + item_state = "mining_hammer1" + name = "proto-kinetic crusher" + desc = "An early design of the proto-kinetic accelerator, it is little more than an combination of various mining tools cobbled together, forming a high-tech club. \ + While it is an effective mining tool, it did little to aid any but the most skilled and/or suicidal miners against local fauna.\ + \nMark a mob with the destabilizing force, then hit them in melee to activate it for extra damage. Extra damage if backstabbed in this fashion. \ + This weapon is only particularly effective against large creatures." + force = 20 //As much as a bone spear, but this is significantly more annoying to carry around due to requiring the use of both hands at all times + w_class = WEIGHT_CLASS_BULKY + slot_flags = SLOT_BACK + force_unwielded = 20 //It's never not wielded so these are the same + force_wielded = 20 + throwforce = 5 + throw_speed = 4 + luminosity = 4 + armour_penetration = 10 + materials = list(MAT_METAL=1150, MAT_GLASS=2075) + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped") + sharpness = IS_SHARP + var/charged = TRUE + var/charge_time = 14 + +/obj/item/projectile/destabilizer + name = "destabilizing force" + icon_state = "pulse1" + nodamage = TRUE + damage = 0 //We're just here to mark people. This is still a melee weapon. + damage_type = BRUTE + flag = "bomb" + range = 6 + log_override = TRUE + var/obj/item/weapon/twohanded/required/mining_hammer/hammer_synced + +/obj/item/projectile/destabilizer/Destroy() + hammer_synced = null + return ..() + +/obj/item/projectile/destabilizer/on_hit(atom/target, blocked = 0) + if(isliving(target)) + var/mob/living/L = target + var/datum/status_effect/crusher_mark/CM = L.apply_status_effect(STATUS_EFFECT_CRUSHERMARK) + CM.hammer_synced = hammer_synced + var/target_turf = get_turf(target) + if(ismineralturf(target_turf)) + var/turf/closed/mineral/M = target_turf + new /obj/effect/temp_visual/kinetic_blast(M) + M.gets_drilled(firer) + ..() + +/obj/item/weapon/twohanded/required/mining_hammer/afterattack(atom/target, mob/user, proximity_flag) + if(!proximity_flag && charged)//Mark a target, or mine a tile. + var/turf/proj_turf = user.loc + if(!isturf(proj_turf)) + return + var/obj/item/projectile/destabilizer/D = new /obj/item/projectile/destabilizer(proj_turf) + D.preparePixelProjectile(target, get_turf(target), user) + D.hammer_synced = src + playsound(user, 'sound/weapons/plasma_cutter.ogg', 100, 1) + D.fire() + charged = FALSE + icon_state = "mining_hammer1_uncharged" + addtimer(CALLBACK(src, .proc/Recharge), charge_time) + return + if(proximity_flag && isliving(target)) + var/mob/living/L = target + var/datum/status_effect/crusher_mark/CM = L.has_status_effect(STATUS_EFFECT_CRUSHERMARK) + if(!CM || CM.hammer_synced != src || !L.remove_status_effect(STATUS_EFFECT_CRUSHERMARK)) + return + new /obj/effect/temp_visual/kinetic_blast(get_turf(L)) + var/backstab_dir = get_dir(user, L) + var/def_check = L.getarmor(type = "bomb") + if((user.dir & backstab_dir) && (L.dir & backstab_dir)) + L.apply_damage(80, BRUTE, blocked = def_check) + playsound(user, 'sound/weapons/Kenetic_accel.ogg', 100, 1) //Seriously who spelled it wrong + else + L.apply_damage(50, BRUTE, blocked = def_check) + +/obj/item/weapon/twohanded/required/mining_hammer/proc/Recharge() + if(!charged) + charged = TRUE + icon_state = "mining_hammer1" + playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm new file mode 100644 index 0000000000..7199e29bf4 --- /dev/null +++ b/code/modules/mining/equipment/lazarus_injector.dm @@ -0,0 +1,61 @@ +/**********************Lazarus Injector**********************/ +/obj/item/weapon/lazarus_injector + name = "lazarus injector" + desc = "An injector with a cocktail of nanomachines and chemicals, this device can seemingly raise animals from the dead, making them become friendly to the user. Unfortunately, the process is useless on higher forms of life and incredibly costly, so these were hidden in storage until an executive thought they'd be great motivation for some of their employees." + icon = 'icons/obj/syringe.dmi' + icon_state = "lazarus_hypo" + item_state = "hypo" + throwforce = 0 + w_class = WEIGHT_CLASS_SMALL + throw_speed = 3 + throw_range = 5 + var/loaded = 1 + var/malfunctioning = 0 + var/revive_type = SENTIENCE_ORGANIC //So you can't revive boss monsters or robots with it + origin_tech = "biotech=4;magnets=6" + +/obj/item/weapon/lazarus_injector/afterattack(atom/target, mob/user, proximity_flag) + if(!loaded) + return + if(isliving(target) && proximity_flag) + if(istype(target, /mob/living/simple_animal)) + var/mob/living/simple_animal/M = target + if(M.sentience_type != revive_type) + to_chat(user, "[src] does not work on this sort of creature.") + return + if(M.stat == DEAD) + M.faction = list("neutral") + M.revive(full_heal = 1, admin_revive = 1) + if(ishostile(target)) + var/mob/living/simple_animal/hostile/H = M + if(malfunctioning) + H.faction |= list("lazarus", "\ref[user]") + H.robust_searching = 1 + H.friends += user + H.attack_same = 1 + log_game("[user] has revived hostile mob [target] with a malfunctioning lazarus injector") + else + H.attack_same = 0 + loaded = 0 + user.visible_message("[user] injects [M] with [src], reviving it.") + SSblackbox.add_details("lazarus_injector", "[M.type]") + playsound(src,'sound/effects/refill.ogg',50,1) + icon_state = "lazarus_empty" + return + else + to_chat(user, "[src] is only effective on the dead.") + return + else + to_chat(user, "[src] is only effective on lesser beings.") + return + +/obj/item/weapon/lazarus_injector/emp_act() + if(!malfunctioning) + malfunctioning = 1 + +/obj/item/weapon/lazarus_injector/examine(mob/user) + ..() + if(!loaded) + to_chat(user, "[src] is empty.") + if(malfunctioning) + to_chat(user, "The display on [src] seems to be flickering.") diff --git a/code/modules/mining/equipment/mineral_scanner.dm b/code/modules/mining/equipment/mineral_scanner.dm new file mode 100644 index 0000000000..4f76c98a28 --- /dev/null +++ b/code/modules/mining/equipment/mineral_scanner.dm @@ -0,0 +1,79 @@ +/**********************Mining Scanners**********************/ +/obj/item/device/mining_scanner + desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations." + name = "manual mining scanner" + icon_state = "mining1" + item_state = "analyzer" + w_class = WEIGHT_CLASS_SMALL + flags = CONDUCT + slot_flags = SLOT_BELT + var/cooldown = 35 + var/current_cooldown = 0 + origin_tech = "engineering=1;magnets=1" + +/obj/item/device/mining_scanner/attack_self(mob/user) + if(!user.client) + return + if(current_cooldown <= world.time) + current_cooldown = world.time + cooldown + mineral_scan_pulse(get_turf(user)) + +//Debug item to identify all ore spread quickly +/obj/item/device/mining_scanner/admin + +/obj/item/device/mining_scanner/admin/attack_self(mob/user) + for(var/turf/closed/mineral/M in world) + if(M.scan_state) + M.icon_state = M.scan_state + qdel(src) + +/obj/item/device/t_scanner/adv_mining_scanner + desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. This one has an extended range." + name = "advanced automatic mining scanner" + icon_state = "mining0" + item_state = "analyzer" + w_class = WEIGHT_CLASS_SMALL + flags = CONDUCT + slot_flags = SLOT_BELT + var/cooldown = 35 + var/current_cooldown = 0 + var/range = 7 + origin_tech = "engineering=3;magnets=3" + +/obj/item/device/t_scanner/adv_mining_scanner/lesser + name = "automatic mining scanner" + desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations." + range = 4 + cooldown = 50 + +/obj/item/device/t_scanner/adv_mining_scanner/scan() + if(current_cooldown <= world.time) + current_cooldown = world.time + cooldown + var/turf/t = get_turf(src) + mineral_scan_pulse(t, range) + +/proc/mineral_scan_pulse(turf/T, range = world.view) + var/list/minerals = list() + for(var/turf/closed/mineral/M in range(range, T)) + if(M.scan_state) + minerals += M + if(LAZYLEN(minerals)) + for(var/turf/closed/mineral/M in minerals) + var/obj/effect/temp_visual/mining_overlay/oldC = locate(/obj/effect/temp_visual/mining_overlay) in M + if(oldC) + qdel(oldC) + var/obj/effect/temp_visual/mining_overlay/C = new /obj/effect/temp_visual/mining_overlay(M) + C.icon_state = M.scan_state + +/obj/effect/temp_visual/mining_overlay + plane = FULLSCREEN_PLANE + layer = FLASH_LAYER + icon = 'icons/effects/ore_visuals.dmi' + appearance_flags = 0 //to avoid having TILE_BOUND in the flags, so that the 480x480 icon states let you see it no matter where you are + duration = 35 + pixel_x = -224 + pixel_y = -224 + +/obj/effect/temp_visual/mining_overlay/Initialize() + . = ..() + animate(src, alpha = 0, time = duration, easing = EASE_IN) diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm new file mode 100644 index 0000000000..c54def1b2b --- /dev/null +++ b/code/modules/mining/equipment/resonator.dm @@ -0,0 +1,120 @@ +/**********************Resonator**********************/ +/obj/item/weapon/resonator + name = "resonator" + icon = 'icons/obj/mining.dmi' + icon_state = "resonator" + item_state = "resonator" + desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It's more effective in a vacuum." + w_class = WEIGHT_CLASS_NORMAL + force = 15 + throwforce = 10 + var/burst_time = 30 + var/fieldlimit = 4 + var/list/fields = list() + var/quick_burst_mod = 0.8 + origin_tech = "magnets=3;engineering=3" + +/obj/item/weapon/resonator/upgraded + name = "upgraded resonator" + desc = "An upgraded version of the resonator that can produce more fields at once, as well as having no damage penalty for bursting a resonance field early." + icon_state = "resonator_u" + item_state = "resonator_u" + origin_tech = "materials=4;powerstorage=3;engineering=3;magnets=3" + fieldlimit = 6 + quick_burst_mod = 1 + +/obj/item/weapon/resonator/attack_self(mob/user) + if(burst_time == 50) + burst_time = 30 + to_chat(user, "You set the resonator's fields to detonate after 3 seconds.") + else + burst_time = 50 + to_chat(user, "You set the resonator's fields to detonate after 5 seconds.") + +/obj/item/weapon/resonator/proc/CreateResonance(target, mob/user) + var/turf/T = get_turf(target) + var/obj/effect/temp_visual/resonance/R = locate(/obj/effect/temp_visual/resonance) in T + if(R) + R.damage_multiplier = quick_burst_mod + R.burst() + return + if(LAZYLEN(fields) < fieldlimit) + new /obj/effect/temp_visual/resonance(T, user, src, burst_time) + user.changeNext_move(CLICK_CD_MELEE) + +/obj/item/weapon/resonator/pre_attackby(atom/target, mob/user, params) + if(check_allowed_items(target, 1)) + CreateResonance(target, user) + return TRUE + +//resonance field, crushes rock, damages mobs +/obj/effect/temp_visual/resonance + name = "resonance field" + desc = "A resonating field that significantly damages anything inside of it when the field eventually ruptures. More damaging in low pressure environments." + icon_state = "shield1" + layer = ABOVE_ALL_MOB_LAYER + duration = 50 + var/resonance_damage = 20 + var/damage_multiplier = 1 + var/creator + var/obj/item/weapon/resonator/res + +/obj/effect/temp_visual/resonance/Initialize(mapload, set_creator, set_resonator, set_duration) + duration = set_duration + . = ..() + creator = set_creator + res = set_resonator + if(res) + res.fields += src + playsound(src,'sound/weapons/resonator_fire.ogg',50,1) + transform = matrix()*0.75 + animate(src, transform = matrix()*1.5, time = duration) + deltimer(timerid) + timerid = addtimer(CALLBACK(src, .proc/burst), duration, TIMER_STOPPABLE) + +/obj/effect/temp_visual/resonance/Destroy() + if(res) + res.fields -= src + res = null + creator = null + . = ..() + +/obj/effect/temp_visual/resonance/proc/check_pressure(turf/proj_turf) + if(!proj_turf) + proj_turf = get_turf(src) + if(!istype(proj_turf)) + return + var/datum/gas_mixture/environment = proj_turf.return_air() + var/pressure = environment.return_pressure() + resonance_damage = initial(resonance_damage) + if(pressure < 50) + name = "strong [initial(name)]" + resonance_damage *= 3 + else + name = initial(name) + resonance_damage *= damage_multiplier + +/obj/effect/temp_visual/resonance/proc/burst() + var/turf/T = get_turf(src) + new /obj/effect/temp_visual/resonance_crush(T) + if(ismineralturf(T)) + var/turf/closed/mineral/M = T + M.gets_drilled(creator) + check_pressure(T) + playsound(T,'sound/weapons/resonator_blast.ogg',50,1) + for(var/mob/living/L in T) + if(creator) + add_logs(creator, L, "used a resonator field on", "resonator") + to_chat(L, "[src] ruptured with you in it!") + L.apply_damage(resonance_damage, BRUTE) + qdel(src) + +/obj/effect/temp_visual/resonance_crush + icon_state = "shield1" + layer = ABOVE_ALL_MOB_LAYER + duration = 4 + +/obj/effect/temp_visual/resonance_crush/Initialize() + . = ..() + transform = matrix()*1.5 + animate(src, transform = matrix()*0.1, alpha = 50, time = 4) diff --git a/code/modules/mining/equipment/vendor_items.dm b/code/modules/mining/equipment/vendor_items.dm new file mode 100644 index 0000000000..4ff83ea21f --- /dev/null +++ b/code/modules/mining/equipment/vendor_items.dm @@ -0,0 +1,33 @@ +/**********************Mining Equipment Vendor Items**************************/ +//misc stuff you can buy from the vendor that has special code but doesn't really need its own file + +/**********************Facehugger toy**********************/ +/obj/item/clothing/mask/facehugger/toy + item_state = "facehugger_inactive" + desc = "A toy often used to play pranks on other miners by putting it in their beds. It takes a bit to recharge after latching onto something." + throwforce = 0 + real = 0 + sterile = 1 + tint = 3 //Makes it feel more authentic when it latches on + +/obj/item/clothing/mask/facehugger/toy/Die() + return + +/*********************Hivelord stabilizer****************/ +/obj/item/weapon/hivelordstabilizer + name = "stabilizing serum" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle19" + desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely." + w_class = WEIGHT_CLASS_TINY + origin_tech = "biotech=3" + +/obj/item/weapon/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user) + var/obj/item/organ/hivelord_core/C = M + if(!istype(C, /obj/item/organ/hivelord_core)) + to_chat(user, "The stabilizer only works on certain types of monster organs, generally regenerative in nature.") + return ..() + + C.preserved() + to_chat(user, "You inject the [M] with the stabilizer. It will no longer go inert.") + qdel(src) diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm new file mode 100644 index 0000000000..135f4482fc --- /dev/null +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -0,0 +1,109 @@ +/**********************Jaunter**********************/ +/obj/item/device/wormhole_jaunter + name = "wormhole jaunter" + desc = "A single use device harnessing outdated wormhole technology, Nanotrasen has since turned its eyes to blue space for more accurate teleportation. The wormholes it creates are unpleasant to travel through, to say the least.\nThanks to modifications provided by the Free Golems, this jaunter can be worn on the belt to provide protection from chasms." + icon = 'icons/obj/mining.dmi' + icon_state = "Jaunter" + item_state = "electronic" + throwforce = 0 + w_class = WEIGHT_CLASS_SMALL + throw_speed = 3 + throw_range = 5 + origin_tech = "bluespace=2" + slot_flags = SLOT_BELT + +/obj/item/device/wormhole_jaunter/attack_self(mob/user) + user.visible_message("[user.name] activates the [src.name]!") + SSblackbox.add_details("jaunter", "User") // user activated + activate(user) + +/obj/item/device/wormhole_jaunter/proc/turf_check(mob/user) + var/turf/device_turf = get_turf(user) + if(!device_turf||device_turf.z==2||device_turf.z>=7) + to_chat(user, "You're having difficulties getting the [src.name] to work.") + return FALSE + return TRUE + +/obj/item/device/wormhole_jaunter/proc/get_destinations(mob/user) + var/list/destinations = list() + + if(isgolem(user)) + for(var/obj/item/device/radio/beacon/B in GLOB.teleportbeacons) + var/turf/T = get_turf(B) + if(istype(T.loc, /area/ruin/powered/golem_ship)) + destinations += B + + // In the event golem beacon is destroyed, send to station instead + if(destinations.len) + return destinations + + for(var/obj/item/device/radio/beacon/B in GLOB.teleportbeacons) + var/turf/T = get_turf(B) + if(T.z == ZLEVEL_STATION) + destinations += B + + return destinations + +/obj/item/device/wormhole_jaunter/proc/activate(mob/user) + if(!turf_check(user)) + return + + var/list/L = get_destinations(user) + if(!L.len) + to_chat(user, "The [src.name] found no beacons in the world to anchor a wormhole to.") + return + var/chosen_beacon = pick(L) + var/obj/effect/portal/wormhole/jaunt_tunnel/J = new /obj/effect/portal/wormhole/jaunt_tunnel(get_turf(src), chosen_beacon, lifespan=100) + J.target = chosen_beacon + try_move_adjacent(J) + playsound(src,'sound/effects/sparks4.ogg',50,1) + qdel(src) + +/obj/item/device/wormhole_jaunter/emp_act(power) + var/triggered = FALSE + + if(usr.get_item_by_slot(slot_belt) == src) + if(power == 1) + triggered = TRUE + else if(power == 2 && prob(50)) + triggered = TRUE + + if(triggered) + usr.visible_message("The [src] overloads and activates!") + SSblackbox.add_details("jaunter","EMP") // EMP accidental activation + activate(usr) + +/obj/item/device/wormhole_jaunter/proc/chasm_react(mob/user) + if(user.get_item_by_slot(slot_belt) == src) + to_chat(user, "Your [src] activates, saving you from the chasm!") + SSblackbox.add_details("jaunter","Chasm") // chasm automatic activation + activate(user) + else + to_chat(user, "The [src] is not attached to your belt, preventing it from saving you from the chasm. RIP.") + +//jaunter tunnel +/obj/effect/portal/wormhole/jaunt_tunnel + name = "jaunt tunnel" + icon = 'icons/effects/effects.dmi' + icon_state = "bhole3" + desc = "A stable hole in the universe made by a wormhole jaunter. Turbulent doesn't even begin to describe how rough passage through one of these is, but at least it will always get you somewhere near a beacon." + mech_sized = TRUE //save your ripley + +/obj/effect/portal/wormhole/jaunt_tunnel/teleport(atom/movable/M) + if(istype(M, /obj/effect)) + return + + if(M.anchored) + if(!(istype(M, /obj/mecha) && mech_sized)) + return + + if(istype(M, /atom/movable)) + if(do_teleport(M, target, 6)) + // KERPLUNK + playsound(M,'sound/weapons/resonator_blast.ogg',50,1) + if(iscarbon(M)) + var/mob/living/carbon/L = M + L.Weaken(3) + if(ishuman(L)) + shake_camera(L, 20, 1) + addtimer(CALLBACK(L, /mob/living/carbon.proc/vomit), 20) diff --git a/tgstation.dme b/tgstation.dme index 2d2e35f59e..d7d2b0949d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1472,7 +1472,6 @@ #include "code\modules\mining\abandoned_crates.dm" #include "code\modules\mining\aux_base.dm" #include "code\modules\mining\aux_base_camera.dm" -#include "code\modules\mining\equipment.dm" #include "code\modules\mining\fulton.dm" #include "code\modules\mining\machine_input_output_plates.dm" #include "code\modules\mining\machine_processing.dm" @@ -1487,6 +1486,13 @@ #include "code\modules\mining\ores_coins.dm" #include "code\modules\mining\satchel_ore_boxdm.dm" #include "code\modules\mining\shelters.dm" +#include "code\modules\mining\equipment\explorer_gear.dm" +#include "code\modules\mining\equipment\kinetic_crusher.dm" +#include "code\modules\mining\equipment\lazarus_injector.dm" +#include "code\modules\mining\equipment\mineral_scanner.dm" +#include "code\modules\mining\equipment\resonator.dm" +#include "code\modules\mining\equipment\vendor_items.dm" +#include "code\modules\mining\equipment\wormhole_jaunter.dm" #include "code\modules\mining\laborcamp\laborshuttle.dm" #include "code\modules\mining\laborcamp\laborstacker.dm" #include "code\modules\mining\lavaland\ash_flora.dm" From 34f82efdd70ecc6e3a0e4ac5047ab8af87731456 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 24 May 2017 08:30:23 -0500 Subject: [PATCH 029/134] mind over matter --- code/_onclick/click.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 685723127d..a8e2681dc9 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -326,8 +326,8 @@ /mob/living/carbon/human/CtrlClick(mob/user) if(ishuman(user) && Adjacent(user)) var/mob/living/carbon/human/H = user - H.dna.species.grab(H, src, H.martial_art) - H.next_click = world.time + CLICK_CD_MELEE + H.dna.species.grab(H, src, H.mind.martial_art) + H.changeNext_move(CLICK_CD_MELEE) else ..() /* From 7699d27c3766db278e790e034db7f8f80f1ac3a0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 08:33:16 -0500 Subject: [PATCH 030/134] Automatic changelog generation for PR #1152 [ci skip] --- html/changelogs/AutoChangeLog-pr-1152.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1152.yml diff --git a/html/changelogs/AutoChangeLog-pr-1152.yml b/html/changelogs/AutoChangeLog-pr-1152.yml new file mode 100644 index 0000000000..813a4a931a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1152.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - tweak: "Changes to production of Nanotrasen Auto Rifle armour piercing bullets have now made AP bullets better able to penetrate armour, but at the cost of the amount of possible damage the bullet can do to soft targets." From 9dfbe3e07d7e59409d4b8d48abf24a831c901c32 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 08:33:36 -0500 Subject: [PATCH 031/134] Automatic changelog generation for PR #1150 [ci skip] --- html/changelogs/AutoChangeLog-pr-1150.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1150.yml diff --git a/html/changelogs/AutoChangeLog-pr-1150.yml b/html/changelogs/AutoChangeLog-pr-1150.yml new file mode 100644 index 0000000000..7bc3eb78a5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1150.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "Many Ballistic weapons now have new sounds related to reloading or placing bullets into magazines." From cc219dc81b53800e3153aff3e4777a4e04878f0e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 08:34:00 -0500 Subject: [PATCH 032/134] Automatic changelog generation for PR #1144 [ci skip] --- html/changelogs/AutoChangeLog-pr-1144.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1144.yml diff --git a/html/changelogs/AutoChangeLog-pr-1144.yml b/html/changelogs/AutoChangeLog-pr-1144.yml new file mode 100644 index 0000000000..8dc8d42475 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1144.yml @@ -0,0 +1,4 @@ +author: "QualityVan" +delete-after: True +changes: + - bugfix: "Inserted legion cores no longer work if they went inert before implanting" From a489730548127df51f555982331119de257b4768 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 08:34:20 -0500 Subject: [PATCH 033/134] Automatic changelog generation for PR #1143 [ci skip] --- html/changelogs/AutoChangeLog-pr-1143.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1143.yml diff --git a/html/changelogs/AutoChangeLog-pr-1143.yml b/html/changelogs/AutoChangeLog-pr-1143.yml new file mode 100644 index 0000000000..7eda0316fd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1143.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "Sketchin alternative magazines (Armour Piercing, Hollow Point, Incendiary) now have unique sprites to better identify them." From 936e1d3061cb35433844c7958212e959d63c51ad Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 24 May 2017 08:40:45 -0500 Subject: [PATCH 034/134] Missed during mirror downtime --- code/modules/clothing/outfits/ert.dm | 5 ++--- code/modules/projectiles/ammunition/energy.dm | 3 +++ code/modules/projectiles/guns/energy/energy_gun.dm | 6 ++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index b3f74b038f..fccfe21589 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -65,9 +65,8 @@ backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ /obj/item/weapon/storage/box/handcuffs=1,\ /obj/item/clothing/mask/gas/sechailer=1,\ - /obj/item/weapon/gun/energy/e_gun=1,\ - /obj/item/weapon/melee/baton/loaded=1,\ - /obj/item/weapon/gun/energy/e_gun/advtaser=1) + /obj/item/weapon/gun/energy/e_gun/stun=1,\ + /obj/item/weapon/melee/baton/loaded=1) /datum/outfit/ert/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index 7da945a5b8..51703e0a5a 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -78,6 +78,9 @@ fire_sound = 'sound/weapons/taser.ogg' e_cost = 200 +/obj/item/ammo_casing/energy/electrode/spec + e_cost = 100 + /obj/item/ammo_casing/energy/electrode/gun fire_sound = 'sound/weapons/gunshot.ogg' e_cost = 100 diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index cc1166814b..e115d58190 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -31,6 +31,12 @@ if(gun_light && gun_light.on) add_overlay("mini-light") +/obj/item/weapon/gun/energy/e_gun/stun + name = "tactical energy gun" + desc = "Military issue energy gun, is able to fire stun rounds." + ammo_type = list(/obj/item/ammo_casing/energy/electrode/spec, /obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) + + /obj/item/weapon/gun/energy/e_gun/mini/practice_phaser name = "practice phaser" desc = "A modified version of the basic phaser gun, this one fires less concentrated energy bolts designed for target practice." From 9fb472a2c8bba6fa3d8f59f931909ba631257e58 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 10:31:31 -0500 Subject: [PATCH 035/134] Automatic changelog generation for PR #1158 [ci skip] --- html/changelogs/AutoChangeLog-pr-1158.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1158.yml diff --git a/html/changelogs/AutoChangeLog-pr-1158.yml b/html/changelogs/AutoChangeLog-pr-1158.yml new file mode 100644 index 0000000000..0cb4ddd10d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1158.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "ERT, non-red alert, Security Response Officers spawn with a Tactical Energy Gun. This is a military variant of the Egun that, in addition to laser and disable rounds, has access to stun rounds." From 3814ad75bea82b4d2de287f705313a94480e2df8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 12:12:35 -0500 Subject: [PATCH 036/134] Automatic changelog generation for PR #1156 [ci skip] --- html/changelogs/AutoChangeLog-pr-1156.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1156.yml diff --git a/html/changelogs/AutoChangeLog-pr-1156.yml b/html/changelogs/AutoChangeLog-pr-1156.yml new file mode 100644 index 0000000000..eda11511f8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1156.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - bugfix: "Fixed Battleship Raven's bridge blast doors not working." From c8d071ccf44b8d0415a4fbddd51ab06b66ec2c12 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 24 May 2017 12:20:50 -0500 Subject: [PATCH 037/134] 25 kill streak with a famas --- .../projectiles/guns/energy/energy_gun.dm | 2 ++ icons/mob/inhands/guns_lefthand.dmi | Bin 48673 -> 50730 bytes icons/mob/inhands/guns_righthand.dmi | Bin 50710 -> 54829 bytes 3 files changed, 2 insertions(+) diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index e115d58190..52f9852344 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -34,6 +34,8 @@ /obj/item/weapon/gun/energy/e_gun/stun name = "tactical energy gun" desc = "Military issue energy gun, is able to fire stun rounds." + icon_state = "energytac" + ammo_x_offset = 2 ammo_type = list(/obj/item/ammo_casing/energy/electrode/spec, /obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/guns_lefthand.dmi index 417e97f77038ad865d00ec11b5594def0a79e903..4661fdc2604dd185416cdb68fb23aa732a623cf5 100644 GIT binary patch literal 50730 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 z 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 SD=U%rKNBMh!_u=?@Bbg1Fa6K} literal 48673 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 z z$bFn0*Y4 z3R@bKDZc*6=4aa7iXsrZbpz2_3(LmAj+rmAcLoLqR02s3zRNy@F275xS|8zvlTZ*0 zG6j+C4L5o6xMaMKBLVID=i|A)5;@K^teQWBgaPkF5c#VW>o~KjV*dbP8$VF((TKZ@ z+5d`_Lo^<;l6P=;7nf~)~Bry#+74If^C?32@|~Y`OStIe!=x{ zC{`f(Os8Ik%3ToHSj1zo0KR?nbg<7{Pl{VXVPO@6v31wjs;Ho#VE*biTm)l>ztmQ) z--u}_gRt-+Tupz>gy9uUK*#Dcy+c#6Xc1P44JT~iFKPX}XV#0>xxK?;qD)fsEGy8I zKyX|tIAE5#J+_@-P1iPlKW%Vx8J@%<+^Jgdf40NZvqiBQK00wE9EWx49J@zPr>e2; z8xZ$2_e9w8VR^#4%kqa>Bv8oMZ^Td)$~NzHrd*N59j`l0Ya5Oh+k!ITG z?OIU-D*nHwx0*{O?%utdpPhYk4C7_!vfLdmi@zqWlWjWvoZ6hq0Xc7|_yuF~JcJ}`O~-pDW%W|S>g(*tVF zihNr#UcK$or=O7vzbatk^~}upsP)h0wG~T|R_SxH@*^W71tlfX>fEwA5qxq63n^~8 ziTOoEZzM9V27-Dgch5^p_peX4-mPeADR-#a>>rPXQd<$rM$G6&ieF<>UEl#L_ai@y z7+%(9c$DTiWT?^O??VP%A3m z!Sk<}2Z`R^ybRB7;?YIcfPLu|8t-xpV)^F!&m7a%j8~%F`tP|vzm-`#ddJwxPPSp~ zda-r=J=8{@uG~Vq6#9o(CQH9BP(M|volb_bDoPqREp+~VWR-bC{Dv_iv1nVOx<+P_ z1IbJ0WjvLO;o@?rjkTP0W(NBB`!&VK-#=y3(2ETElbR70csy_KGJdt7$~Xs!6kuYs z>!mA|+2ExN(p_wV7INl2Zp8?DypD+2E#GvrRTw(w5Umq0S(TyWZ6`{2LD!1M#*lI2 z-@aYgW3e-pSLUr6IQCX(hPdnz<{yi#z|8(!Tk0LZezA?aVeXJlbfn|dxA5XKRel9( za=au%mdh_H8l6v9RF(geu@~J|^YtR+;VJuq=|fB7fBh0gMt>CQmKhIi_%!Xp6lFaY zIWU7P$tE}U;3=5T>>9)z*vAx)k8I`Oli`1}D)BEpgwvM8yu2ssf2bAafn9TL_YAaelD7&StP}k^!`CMG;3qwE3fLZWh z%>Bd*ij7a|#FKsvC&8@22-*1=##`xySJz?M4D(vfc`&~wR?X9Kai_cR817&a>=IH} zMVjS9Z}>>Q!@MUc`&^9mn7}KlBq;aPUp7@XD)>7^BsB3tmN)OM9zH@_oVd!9nOA9f zUVUtBqfL%eoIEt;_-}0^pxf8*^@I9t8Jqt1WR~S&@|N8Z2RVdA05dm^4zK@6)?v>1 zGWlz*-q62hU?pZL9f}aVuTO{1W3oO3V?bc0#12W9deluDyitP&Hj+Y=wPuL2c_df^ z$0!i|=j%ltSM4v4KzFQiRsK)%KUh_L;`%3)Bf?7Dq`|4~R@CX7^78UXx#go}aGL*6 z#LwZWAsjWY;_yd@lqtv0UHBC-rRr^-N6aR;P;v$~4II$yB~EpAN3=m3s03JKBt%tu zOc1C`YDpLF6mVBwb{kAztaZ={TcHiaiE9~zJP8_aw35|ZrYeIrDX%Dp%gfD(G|+|Q zo&uT1=JqZ}F2Q=Nw504-(_7y+;{X)quC=ug!=j6Kd@#jokKcc^1H73STQgw4-{8H{ zDh1`-n^Xyw4u50W>hH(hF^KUM33BLyW-ps|e^6>gxLSH^EC} zLZ=C>nO;~?7RRiYm6AjXaK)zT$~FFYla!PO+&!nHMl%$hqtD67L6Q!gdXQ_7;d(sK zEPY;iT3y{NjxQo8XqfSl@V30X4`{syaG%qaeWF^_TmVZKXn@m|7y;W7tb4B;%%2kM zrI5BW$Y`9!*70q)9hy$vTDT8QN>3N` z34D~Fawf&5G3d-CuErpWLWKl-SGbpI6C5gBcd^vNz#zJIYNIAtQfc*O%rLdRy?uQk zBo?_wf`xFkAx?ro={d5aVPR7a zHk#iIVPcb2MDyv$bv)N7m8Ji>;Z!DFpbOg@D6h~04(DtG??$B0bWzEw7P%!Q22x9l zM<)-oEsb>2L2m?=Rhoi5i`Jt)bt_k7{h=OIq2g+|1ySvenOWX3Kfj>f$piBvopFLw zguIfH9y3+(e}-FRp$sf+DsTqzGR#OR5{se}pgQP)va$n*Aa6oi} zug5*y09Ym$9I`d`thu>4x2ULSa`tdSLV~mP7twP&muY>O>_$43@JzQh{gf(IH4#fl zdZH}vPl8=Q;^bzZ*e%Z(G9UKf)pxdtUV3GE_wFUOcXYUZ!~@eqQdM;<*)Bzww#C~u zd|I_`*1wbganLwWZ=#}Ad&S$x{a7SYQSCE5kLz&=kB~pJU#JJv1oieiYKPpPyYm&- z=F*p~Lja{%cR1GiCE+VzU^+ILvw)mlAi7J^gP-IUE^+O0XM`PuRVC-vCj?Wf`~>BIxOrf z`laJc+E8qjOX3Cl)PVKH?C^LCHIS=TECKKRv2s`sNcbKy4vLJWH$-LZdMf zj0C!+Fo}x;`R*SN!LtBoezpSenDf8Mb?`5F|G%SYM4z&m(Sqr>cCYfwd5Ov&l6@37RAz5wMcz8KM3j8WZXnRJt+Nlbx)Y4DE%E|rJ9y94F z!u4?#)UCx6%kNG!|T)*kP<8U<+UFj8S6Nl%En_iL1?eOF0- z%a81}8vR*yb)`OGn3z^nWn(HnN}UEilr-8 z-5aaPA4`RkY)0?UaxXvZkdx2}^Wsk!H@Ft%xDT(;QCw1czSvtz%*j(ykNVvIN7F(l zv1~i=e$4~K7xKr)pF@ZwSb6Ge^ESxFYg&vP1}W_ zqm$y}?MnpX#%qqL*%9*2%y|*r_b9Qhlu=b1j~!QqDl02DO;S^oyx+^;_SBMKR{INR zsC0C8cEh(O2)D5eb?EcvtjM_DjU&ZT4DYhIGAP`d>Z!kD;PE}ep zh}Q3c@h`_3bP`>xzvodVp!>?`6_rE}ZtG&{<9^bMGrOx~@*eR!wmcWF_kQ zksQLP=q0hd>67#Z>+j^y{cp56iRu=*OXRN zZN9SNU5`ROos*K5?iAcE{YJ(%_|_<|*(#Vjx4;Z?TVuO=^Ri?+T+{sG)I9UZyrXmn zK0DqfNCr&1&Ce%} z$<(u+w$)^GLHCpG<=R&E1}QW@g$vLSWgd<}R_&V;QM$iEFF|*6@m$(OgIAIqhX${^ zvD!D38cxG>)6zs|h$9Y{D4oQOA)MFh6%8Pj=lm;M0ib(8Eu%VA9eQ8}FWL6{R%v7E zk}S`K$`cz@9Z{A~*wv;N(Vn%ne9bd><==I->6kAmFu^kX$+?zVbq*Aa!mGyQ&Q`gN*MnLxx-z4vVKT;k@c^{ssZmH3Lf zD_xWAthXBa5&h~|{TUg4@@}Pwf4utX@e7C8BK)b@|BgWYe=!R1FHsI`(0zPK`~&w} z7W@T(xc=PiIGHZ3li3p%6N}tK4gN%+%2{2+C&7KMb*E)H)m2ijw!62Q zp}^ZK?-a6UGFmmi_D>{Ucn0YtTwYOeJq3Aw+Q7*ZY;wl2#M+Oaj8V93`~_aD3`gs2 z;g`In6d@7W*JeekTmL?=4Ug4|1;*7{zgFdyTepCC(<}34as`IeZ&K+`zHLb-1iH9K zY6KX82Fg=e^_^>x)B2in28~>Xho&OSrwyDv=}*?S3G3+9tFcIu&va54JuCs6mGp@s zbM`XZqdFpjKF@!qy|(yby->Zij>SgHxkAAEORKs2Q(nG}EcxRNGlNRH5Ysdz8h4p8n55gCMoI zMJ+$S4Ry&FQ#VLf3{ZJbgf{0V$Qc3=oMKSXS@`R`uizoyjW@Uj3e2g#Yq^J zKC@?k-*_yRMTX^YpnCK|1%B0zRQDUNxW%>%A11|!B1uVY(6b(@>~0ogy{%liMB0Ke zOHN#4)8S7@2_5?Pme&7Q0l0sW-v1+_w~}VlZ3?A4(sG5C07z4=^PsFOc~+2DR#p+X z(6=1%<1@3r>1~OQzC!x@EBcBU5>VrQ5=?|jI8Ztxt z3aq%ymlv6IL%;EGLGF`X;z+dcj4e{Qd~_$6L2#XBQ|?I}K)9yH@gE<2zG`y+YDd!N zI^|V|Ij1-WHt7!eTzc5y0ZdQnH`F`@u%Eqom}*OFkO#DfvN$MvS#s^~U*<*$`fo|R zW7E(CHrdV)@nQ7-G%k`C!ZQ?wyl06lWeIwHU)}yk8NFk?`!&|k-O@(ywu%n(E|MVv9J`A!=_?D&6KUGzixYthwtwg|Azbeb83c+A&OIdB6)P2fA3t|j`_I` zXn9614p|4N_cvW5Y*^;EdN5<4*AEJs7VM_sO(vX03R;`hBy@o1-fU&iqA;I!l1;Q2 z?9cbBbv3Oyqtz7sl@IWWcAAsL-zwk>dOP}Gi!I5SS#tbZb*RSP-j-mi@f%o6a{XWX z9#e)3yP3ObSt6?I-P8Ys19+(MScVq~b}M!cTm{dBP*ugXfr$)gd90LLZ^5DCEcxe% zMs^Ss`?!Lokt#rvLWa}B`l|au>zpC+-X1d$2ZT&d!!G@{eL1$DOM8W~DVXE`uekdE znyi%|{X#%(X={lQ@RG=f5hqdEt>}R94hLkz6~uTze?80#*P4+}=G?CiqWh1ve>pyP z>QuE9w2rLpmF)8wE5`8aj8-_uNGz=V`r3>A!qqEvB`xJ^l)|S`rEbg>mWNU%?0YCGMgL|6OwL>v?mIT7RzR7jXZr~S_)+s11PLQD3@Yi|}8z!CT+v}+8 z(9qDfAz_{tF=jDl@->qNz*6O{;yTlAm0E>r^I?_}zV+{E&#ZY<+@8 z48ArI#8>0@`ppR*83mBr{KQexp~et#D64c%(wH7%yYt!P7BpqGut~YSU!M8%T*a&u9>%z|;L@KP z1yX=>u6T@|%`=Iv{Ta$_>?yt3faJOw`?#HY<5^{G70aj$wMOzPtAdM>{*JKJD{8No;OQMx1Nr_I<)!Kf+dvbf1>);Y_FQhj{j!DkvVF|9R{u25jgdznFW6Yc-mqmapVixR z17*ol{Y-+U-SVNBMvkP@vH{sOx|60zn9I^&F$LSCK%%r#0>ZYo(uO&|$xdx9PuMrd z^ml_X)#ywV?gW*K6l_Bzb#|Dgp8fWYu)Qr z3t+hA`RnTU+}Fv}_Im~QtvrOF2rCrlUHb5H+1BDn;YgX(mrOMG81ruD`A$9e_335< zlY(2!wMUO4FHuD#r7o|wvo4Of=vi5sMR#q>Q35O{N9=M`T5gW`$dg_g(wM00^+@(U zA+;dWmxqM+$b&M}$2G%9?#+P5V$a_V7ou5OZSM|XGB z$xP6qPo_;#Vi7CDP~f^QU2WX5i4uX@u*tCB5L&Dy0yhQY@kd93bQNed=}p6Bc$yn@ zQ++c{dRu?_>hN@o5X^qscd>ze1{lUyRlUm9nFAitRRfOqYwbP2Tz*0mr5Q0vONCi9 z#fgLu;>5-V-yzvL2I2`TeGwg3ZDUCEVI*m7;mSyIp(l&=OOW+K?q zms9EnRT+aBw44b8-L2-AX?NGw)OASBvftUinkQC1Af?2Zc)X;i!CYBRJn0$0a9ia7 zibSzlmeci<|)@D za(uDxOj}un{|(vYA!5;#Gf1!pA&@@MxTcpX+xVt+O~Gm8ZZCx5yD~^l{?y0!@2@Wn zl@3|MCT9z4!y8Q>0XbJ>zSLBFMmN!=C6d2;6{W{~+3o~3Ey^9jor-Dx8|2L|J-nLN z+(nj$tRxg$ZZ_jI56kXW-5ilGoX}i}WDw=BbYr$_Enw{}laz$LR4ZV7wP=_QV5z;I z!??1VW31QqdEtC$%{07)!6AqZ0>9l%C zz{X0ceMH3ibPJ?zx<7p~u(2DA^!G`vXGRTf5YO^KuLO66*8%c50hQadIw+!kb*BVo ziSg8T>sq(-DZ|x2nY|4dJEg0k)%x}Px4?{})y}IvlF+y~DlUaybI9ZVyBh-c9Hus+ zfE4phMFlaVi5v-r)J)}%EHyY~ht$+db$Zb?# zwL=z>3Ewo=jChM&bx}8`hgSiXz0uTw-uT=yzfuuAr!)E?T1X|eq2cPvaM=x<+E#k5 zUdnp_q;p;Tk>8iw6(z;5c_TtkQ}a0!$D%?DK74TTU+%8`XbWATKCo|`awha-SX8^G zoIih_oiNR(72mM!{I1otjxwyO049@jtJs1Ak>tBnj9Dy$HI<(L@lHk(Dw__&np2=(By^&Whg)JYsk6O5RyFKx$Ljpt!aO#5mOS>g*Ftt_`#NX6 z8*2vB=T6{nj*eHrVg|m~_i47)lDdY{FI=;;z47B`;0gYh@JWrZeN>lz~Q3Hh{)wF=FiFbG;wWEZa%EVwJxD8Vhgy$y!77N>zT$9#0E9_th0-&EM;^SN3!zD zY-_yuILnC1PPUSR6Z&tMS=YRE0ZGQZY$%pCR8f592S~-I@pBG>t zz9+`|;4Fcli(0KC%TBjWaeV|ysXCi(G8!t=5pqW{gPv8gb@O7aJBiW5oinF*Eb2V+ zd{}yIrf9|`GpXvP2Lm3KIkI0n?qXypn(s_jDt$L2@C=gV{uyF%B?$ti`fLo|y24&@ z_o5Xx2~N07j~9o8TN;}?3fv>IFeV}#Z8fCvs~ z@YyE0^uu5AZ?CEM=h9*;o3t`qTUWAH-md3@m4CrLZS_VZL#m&Acub14HK#3w>^yr| zfcx14?5s~C-?E|Xn>X96XB9;XPn50vaaS1&3xqQ|Wgc}yv<)Ts&6_xJP1zHIP((wA z+%O+-LUR1|HE`nPExvoUAvNb_@wx_8Z0zqvBM#*Y)rVuVrJL05v_glaX-6?P$37A< z1WM|s3#%EYf_+xF%9Mcn@+s1YqgHeWjkK{jYF#8%e=P>yZ5VrU%OJ9`b~Eh0AngW&7mIIzKYF$3u;G~WJz?RJ>_X)7AGy1FlxADyXYrE?|NNR#p-EM8$`f}AM z2GM?i_0X|gZcUi_QsBRqydDLGZv6SZ2G5UHKCalOe-R9upXPuKE+D$CcOFyhQFM93 z86pp9i;wL=@`}Y`f4fG3=|A0Z<}t9eE_nnU?_?fReWh2~kAhRyX^Y@Ylo)R)(8-}+ z)x?m%{I2=e5@Z$36HA>^Op#OX|Hax#6kkb}Q}_AcEQ6aYAP&;Tc-!!*Ga{Z~LG(Zg z?@w!u{>jE)*HD#N0<0yhY99#p*WcrS)5kqf*)Ii$D;E`tt}<>}d@PM#9qMWAqzv>j zQdV!j$-o|K!#?`^N=;oXvl-$E=o}INTb=32EJ$YkUDO86lBiuT17Z8iUgKZr`dRh> zTcS>G)9W77L;4MJ?6n?D)0mMiT;7KFK=feW#WZ^6<%qK$lkJ(iv8q{NqE&&P>}GUh+?!S{!@uviJ#*c{gvB-04ms{UiG5>l`2Buv!F)H`8F5 zgKIB!sC62jMMh!e94@fhXNX)W9oS%So=eVab`ukP=>@SOyb2j=U(;Rv1Rt4S^Ee6+{=r6uvlG;O7ePk zR_9*~At9VB9!mcj^*Rlp5-?)&da8s(^RBO3)L}4*)(26#!I{Rqnlhh$C=A;hNDLiWl)r_6?(U zdolCox`XvGxSEN0!R5WMWok+7&S`NSB9^6Ie@(dVVIPmvninD~nmo5x64?rSTE0(z zt@3?2a@!9(R}v)RZ1J0nTX|Okp3}wK@B%YL00z@wPOjNAZABPY|Tv=X&`-%*xL$^5H#W?nu{6K*bNW$)Y=0mPv|;)VRZKmB13EFgJITo1KA`n)?rx0~YZzXpj{9n|T1@|9ThyBwGkzAw|ewu0c=jWlreX zL&8^2F<{^=hhB>Y6IyMyN4dSy&UEq_9?z~2I9mUS_w_J+V*Efk43XZ3)jWRf|7MZDPoUINT5%w!y?I)u)kS2hx*{>^Rx!PBO` zb~km{qMUlt^HUU^T>n`q zo}XVt8~9(9MQvTBhZx^W^k+t&yrvwFZfhHyRy4`{{*Fi5*Ch;z;JE!OcrKd0w4_jE zg~d{qmrN|rlS*S+v5+>rh(ZFgXQmaNf{iO6TgbDi!ULs$o-8I4j~a_Kx@Fs1`k4fPNG=^ z7=FT?iN?brRLG|u{3Ml{U8G0s$rMs^E})V{-qp>doHI;knjv*m`&>J{pu=o+7oy5? z&dtW3q;eU8=gQ%c1~v$rv(AWIz131~8}WGUr^f8uoa^TD<&O6DfpKM@?g{XGUhl2| zm}Pu?eAYR8uzy4sa;@^wPO3!Cn$Tf1OUltvrP?=t zpI%z7ZRR9J=Q6U@|LGsX%uhdn7I)0jc5Opo{o5d4QJqKO58!T4@J8JHn>g6Ql{Eq| zdUx);1CwxT@qI>ZOa>DNg0F-ChBXJAlJVK|Q!tR2UspDD%eEmI%73dR$bY0_5Dbzk zP(G>H5+l3POlM_!*RP%z$N}A?6@d=p;w^YTbxW;&*}T)MIVOsp(av&XW9Z5iKwqg^ z&;_ps7-5S(XsfbLuAdgAHOC+Vk7S!b-!SN3Ck+1w1EeP+i#*1v^MT2L5>ws9#Vh>d zMYG`o5~oDg+h*VK$_2#v9Y3ALzMP0^kFmr!b=A){Z$^`(DCtT%jgk|w_tMzsERV#v zj8=NNf%!+8#wd@pZ%~o2bvwAs+)6R_iv5eG`T*~U9@fiaQj2&={o94z;OQ49Mk)q8 zM=!OKV9Q5q^sswpds-QOja7d?qS}9?RhJlRrwwn3=)`YsCSr;OxF%gdRhkdLB3?*! zD|tlP1hoO8Ws?;d*O|V}vPMz>U4mew+2&o!Jl&pp$s09NQx+wm2}1}j<`%X=#WLs- z4n^!}`jtFeLdE(Wt%Uy8i=cKqvV!jW4hf!O zC?R(71=j*J))*&tTN6G*H2fzNm!;XTkDU$2arFN@{q0}U?*AzI=IxoQ%Hd4;w|rz{ z@98guM7g@z;svY#?Y*_JG-Sxwp~RbFPqFj)uI-xn0E)0J#`7!AI377}>s!p6aMd-g z+|T~;@eAp_--oo26Cv=8A%G(g+hnY4rY~m+tkz5)ipnn;9IbK#Nn>-kG_UHOQ~BUJ zgR}{WBmo6^PiRk-2yJFBDQ3+c-EfV01hE{?*9QF(11E7(wYJL)dA$9& zT$Uo^*s`Y{Moc_@?yvF51F3+!nAiIk=id9D#Z;Q#N{v^Fmj^;)D4LciK8+dkE>MFg zE3e*EQX4V=Ayj<-QijnSai-?juMI2JXY43YqXu)qyNV;#0xmZDo7Wow(zv+e1%ZVw zXNc6Vm2u0ZosrJseewSN!;a!0eJ=I!a|;c}X;0=5wY9Z7J^Ij#ahvp&!RZzd&T3b} z32r~mds1j)a;NvAPT$Wz&7A0558at$&wRanXxSFG9Wy^#l^=ZF@L(E-WZedr%Rl3! zbDI&~Xd6p{Zg)=H15v7$qZQxS7s}keb%IL!9cJb_i=6IbmorratBJL>M{Z$DR~iH- z5rhvU&!sFB$OG41i)U*wqVBR24Hsr?Y;Wk`DXE`oN)+6rYb${Ap1B`Cem{Qlq?2#Y zA1|#QA{b*sdcR_&Bk!b1(E3`2w=iR`E00BrQ@r!8Xd%+mhMO20iD~hRctfw+TFn{s za*aubIJAcy0-L~~)6h}_Snwb7iXJZnEAW|VWyi5WK2&0y>fWqIZuXN}2hJw!EEpmS z;>@gb>WNK-?L&E88MNfUl^Em?pkBNK4#)*&%9b;oav_|}-AqhPC3NaY9nwp14-mqs zgSV_aifW#umcg1QWjgz$Du!-io4luQ>GV}}W>T8d8I125PMAkhIzhqYARSwY@1^9f zpMN%^vUQ8>cUE$Xn@;H}7z@A@Lglr}$dCJH!!FtPPC3z(iHWx>W+=rdx>|K^Hi(<< zag08%pA%^Bl8w%vf!g(p%2cOksLK8G6A0a{1SXd)NKQCR{BVaRC7*Gc{C?)&Cx^yj z3zI(a^SjM;rHnQPV{Yr}Rxwr;x-%3py|3K>sN9J*;dov~W&kK#yYB*zx|jsByzLVs*WP5hBJ%C0WLi49G6!KiXqK+^c?(XE4TOj|M{-*&}Kpwp4(VkPdn zpH4Dmo=9uaK|NvSe1h4#-3HK(TSjxQ=H7|lL={Q(%m*$>FHMB4Tr|zxCzS1MYc8o5RW@gHctZ~JQ%E| zZ*-L{eNc`%J86tsUD?{3fPe=b`)#vV=m|tWZ+stc~JvIX~a=ASWqLZ zXDn^V9ChiwS?c<+-1+7x0pE$If;{)iWId-4VK0v_)$LLaS`Wjz(EmDTLH**>TOBG2 zP&4*xv360zm$c=gw}^t5ukh;H;0q$^36LP{nNly0I4T4Jdii1W6yaCQG{ogwu7-s| zC6%t_emWZ(jl^LQ z(~Qj?vI*8tvi3LMKz*c==h9%4fm-6Arpx-u&(C2NjX_m)z6(=@&*2K5MK!(JD7en} zaLSf0>UB(Y(_L*nG583Pw8j-`UjfU#8rwcTNE|<{`~9B=!(x_B z{tk6BCQB^o=^(lt>zjM{BXEwLe+sy0yKRzRjvD}`4YC1i9r0?9rX<)Q+WA(QN1i~C zaFhlZgV4EusQWti_V5JiEs@UNyC#MEJ8it}k{SLVKg?hM&3>5Z+9rCC51dMo>}NdP z@|3r5(#eI_Z_e=AX0h>dJr@-^%`RYi;K=8mryeLb?a!?tm0Ct7MkVIzL4piW>9V1t z7&osA?c;WpUG4ry41h}T^DRFHcM)Y8VE)ho3qVR^EAJi}bVCFmI5@PUvTd<$7xL1u z51%@+FPaDdf$gsv;7*m79E&%`#dJ?-#R&ObLe?jzdTxxnJo-cPa333{cPPc1cF@Gg z=q-o<>2Ix0nAp5&oy5L|xE=B!+KLlSy;*&99&(_#yt!7T4eYy#3c${ZWkzCBP4^I5%Ks z>sQn`Y}X+hD(EH{eZL@wpT?iuQ43O{N=})tQujDarE?s1o1_O00yO83VoL~|NhMfp zjq*iTj)8ANs{VT9IUKp!uJoMEW`8l&ASF%p=q_oHZ;e1OO3KCqtna8i@$s3REBT92 zcRFv(uU`=x(qaXh@N*q%%CN`pE^XQ=U_VOlvOO%7-eMD(XL4An_r*}|Ba2%ItsE6C z00s;WYRqzLg?CnbDiPX}nWiW=ZjLQ^Ui|tp>fpES7rX+G5Wy2XnHvM8WQCAnZQIRG zZky%r8?oML zpe0r!hn=LaYda5(Zdo4L__Ui>`-!vJ7gNwJu0A zR?e~U^a4KYW&bL{SmtuSuprt$sR0#dC$lv0hS0XoIsa1*X8E^H5x#V+?Arx-_7|z9 zJ2^moL1llwQL?cWCcYQRnkp^ETxoEkdVl647W0&vv-hY`9X)Une1zM#hDxk2JG339 zs!2lvE^q$&dMowM8!tWp_k(AqQ5L7x#4j<-+Q#o1pCcomrp$ za#Ew(!>*9LC!S_DyEne`5?p{_E;*^8+jUgYYyPO(##iN_HCDY=1&d*zi<+Elke$X} zSiatzulaNBp?G&UzIH%6j`M5ym5C>0nCE4K7-;6$O5W0QKBNbOibF=9oY9E+HkWBezG%g?{^3$@L7&{gQMCP}}@!E>pw{QEV^&t8l z`sU(=Rx@|?74qMM!9LmTGNLK zq#M2V5!N3@>#rNYabuOSTaxXGZk=b%k=u z({`V+*dNIh;Y}9lVLX!@r(E0c*$fCX-UA2W-P?{J<2)k`%A(>x39FcNmqB?qCjN9G zKyg$Ep9iC(Uht96;EmZ-iczhrn_JZ!t9YHU#lT0c0Qd7mGSL?f^}I8f0Op^U1tA{k#o$7K;y_&YNDnRjKe3(v*&I^z-W zVo#nBk75P-$q}E)1Sg@vON!mKSDgI}>XS*Y398pnmzExP06w+%J6l--Bm0sv>u9ZH zy+?KtLrO4^n$!nxn8ecj*cQ5u7n_qe56gNX7U2ilQgR6YX6u9%E8p z3?fbQ@636rPDMQHb!g8nSe>gw(NXiFrfgB&c{-3O7 zhj!AA-}TM+z^J?Jq%ry3(F@bAz>@3?D62SnlXc!+NHwVI8&-9ERF6-?-~^{Z^?-4X zycR$PIrC|-&94V^Thp>f={6P=^rM&CKsTv8e&B+^dlf!o>pUrQs{yn9(jj<4CUf4TD)5YslqiC+p718?xq zY9SjgjgVXS$GSor-c1owY}M_B)q{S-cXouzGADj5D{A}%3flI4m@_Yz{q&t`duX*IC$(T)X8 zU+OG{0F?z=h+RhmE#m}Sdf{!;$+ISQ+#*9P@xfbypv48%L+*o896K#g#8;GlXvsVPTte}V(W*xZxl$B3hTqXV^ZodEc+NfE)~t)IBl9a(xmKKV z5BLaJDPyR=zHi1PvhLe5C>~IQg`== zWBFXrZ194iavI@MY|#bd*t!d6kU)HXK(h}P-LAvhjK)@svd5~50kk00?pPgTt^hbX zh_(pAA#5|YqBr@W{UpxtJ}cJkDz(&ug0Xhq(O?I0EaTqnzc^H`dv+-elwG;O7y-gJ z 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 diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/guns_righthand.dmi index b65da989b3ca05981a326670ee467609136202b1..b2e489b37dc69a3fb8e8df90391bade2f30f85ea 100644 GIT binary patch literal 54829 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 P0 Date: Wed, 24 May 2017 12:21:14 -0500 Subject: [PATCH 038/134] UAV online --- code/modules/projectiles/guns/energy/energy_gun.dm.rej | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 code/modules/projectiles/guns/energy/energy_gun.dm.rej diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm.rej b/code/modules/projectiles/guns/energy/energy_gun.dm.rej deleted file mode 100644 index b99e426279..0000000000 --- a/code/modules/projectiles/guns/energy/energy_gun.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm (rejected hunks) -@@ -35,7 +35,7 @@ - name = "tactical energy gun" - desc = "Military issue energy gun, is able to fire stun rounds." - icon_state = "energytac" -- item_state = "energy" -+ ammo_x_offset = 2 - ammo_type = list(/obj/item/ammo_casing/energy/electrode/spec, /obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) - - /obj/item/weapon/gun/energy/e_gun/mini/practice_phaser From 131dad6083adc1214d7157009095be1b2e067d84 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 12:34:09 -0500 Subject: [PATCH 039/134] Automatic changelog generation for PR #1142 [ci skip] --- html/changelogs/AutoChangeLog-pr-1142.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1142.yml diff --git a/html/changelogs/AutoChangeLog-pr-1142.yml b/html/changelogs/AutoChangeLog-pr-1142.yml new file mode 100644 index 0000000000..99b15ea5b2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1142.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "ERT Sec Tactical Energy Guns now have a unique sprite." From b42e5c8721ea4f1a8451ce3b90ea1e92158f6b74 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 16:15:47 -0500 Subject: [PATCH 040/134] Fixes clock cultists not getting their "objective" --- code/datums/antagonists/datum_clockcult.dm | 5 ++--- code/game/gamemodes/clock_cult/clock_cult.dm | 8 -------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/code/datums/antagonists/datum_clockcult.dm b/code/datums/antagonists/datum_clockcult.dm index b8dfa00f23..6c8b83daa4 100644 --- a/code/datums/antagonists/datum_clockcult.dm +++ b/code/datums/antagonists/datum_clockcult.dm @@ -55,9 +55,8 @@ else if(isbrain(current) || isclockmob(current)) to_chat(current, "You can communicate with other servants by using the Hierophant Network action button in the upper left.") ..() - if(istype(SSticker.mode, /datum/game_mode/clockwork_cult)) - var/datum/game_mode/clockwork_cult/C = SSticker.mode - C.present_tasks(owner) //Memorize the objectives + to_chat(current, "This is Ratvar's will: [CLOCKCULT_OBJECTIVE]") + owner.memory += "Ratvar's will: [CLOCKCULT_OBJECTIVE]
" //Memorize the objectives /datum/antagonist/clockcult/apply_innate_effects(mob/living/mob_override) . = ..() diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index 531cc873f0..132c834f10 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -171,14 +171,6 @@ Credit where due: return TRUE return FALSE -/datum/game_mode/clockwork_cult/proc/present_tasks(mob/living/L) //Memorizes and displays the clockwork cult's objective - if(!L || !istype(L) || !L.mind) - return 0 - var/datum/mind/M = L.mind - to_chat(M.current, "This is Ratvar's will: [CLOCKCULT_OBJECTIVE]") - M.memory += "Ratvar's will: [CLOCKCULT_OBJECTIVE]
" - return 1 - /datum/game_mode/clockwork_cult/proc/check_clockwork_victory() if(GLOB.clockwork_gateway_activated) SSticker.news_report = CLOCK_PROSELYTIZATION //failure, technically, but we have the station From 6cdf25ef490b7b33ac3963c5e1a4b3373edd2ce0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 16:16:52 -0500 Subject: [PATCH 041/134] Adds a missing null check --- code/modules/shuttle/arrivals.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index a6888e3150..d60a832279 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -148,7 +148,8 @@ force_depart = FALSE . = ..() if(!. && !docked && !damaged) - console.say("Welcome to your new life, employees!") + if(console) + console.say("Welcome to your new life, employees!") for(var/L in queued_announces) var/datum/callback/C = L C.Invoke() From 0742aa525b22934ea2b3313f02fed39b71c4a014 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 16:16:56 -0500 Subject: [PATCH 042/134] Fixes DBCore Recovery --- code/controllers/subsystem/dbcore.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/controllers/subsystem/dbcore.dm b/code/controllers/subsystem/dbcore.dm index ad4691564c..cf3efc3bc3 100644 --- a/code/controllers/subsystem/dbcore.dm +++ b/code/controllers/subsystem/dbcore.dm @@ -23,7 +23,8 @@ SUBSYSTEM_DEF(dbcore) var/failed_connections = 0 /datum/controller/subsystem/dbcore/PreInit() - _db_con = _dm_db_new_con() + if(!_db_con) + _db_con = _dm_db_new_con() /datum/controller/subsystem/dbcore/Recover() _db_con = SSdbcore._db_con From 9033f9f0661d5f0b78bf58408a146e03f231b6ce Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 24 May 2017 16:19:03 -0500 Subject: [PATCH 043/134] Closes bold tag in bombing list secret --- code/modules/admin/secrets.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index eabc7d3fd0..e569eacd2b 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -174,7 +174,7 @@ if("list_bombers") if(!check_rights(R_ADMIN)) return - var/dat = "Bombing List

Cease any terrorist actions as soon as possible, unneeded property damage or loss of employee life will lead to your contract being terminated." + if(owner.special_role == TRAITOR_AGENT_ROLE) + fail_msg += " You no longer have permission to die. " + else + fail_msg += " The truth could still slip out! Cease any terrorist actions as soon as possible, unneeded property damage or loss of employee life will lead to your contract being terminated." reinstate_escape_objective(owner) traitored = FALSE to_chat(owner.current, fail_msg) @@ -238,6 +246,10 @@ state.add_steal_targets_timer() if(!issilicon(traitor.current)) give_pinpointer(traitor) + //Optional traitor objective + if(prob(PROB_ACTUAL_TRAITOR)) + traitor.special_role = TRAITOR_AGENT_ROLE + forge_single_objective(traitor) else ..() // Give them standard objectives. @@ -289,11 +301,18 @@ /datum/game_mode/traitor/internal_affairs/greet_traitor(datum/mind/traitor) var/crime = pick("distribution of contraband" , "unauthorized erotic action on duty", "embezzlement", "piloting under the influence", "dereliction of duty", "syndicate collaboration", "mutiny", "multiple homicides", "corporate espionage", "recieving bribes", "malpractice", "worship of prohbited life forms", "possession of profane texts", "murder", "arson", "insulting their manager", "grand theft", "conspiracy", "attempting to unionize", "vandalism", "gross incompetence") - to_chat(traitor.current, "You are the [traitor_name].") - to_chat(traitor.current, "Your target is suspected of [crime], and you have been tasked with eliminating them by any means necessary to avoid a costly and embarrassing public trial.") - to_chat(traitor.current, "While you have a license to kill, unneeded property damage or loss of employee life will lead to your contract being terminated.") - to_chat(traitor.current, "For the sake of plausible deniability, you have been equipped with an array of captured Syndicate weaponry available via uplink.") - to_chat(traitor.current, "Finally, watch your back. Your target has friends in high places, and intel suggests someone may have taken out a contract of their own to protect them.") + if(traitor.special_role == TRAITOR_AGENT_ROLE) + to_chat(traitor.current, "You are the [TRAITOR_AGENT_ROLE].") + to_chat(traitor.current, "Your target has been framed for [crime], and you have been tasked with eliminating them to prevent them defending themselves in court.") + to_chat(traitor.current, "Any damage you cause will be a further embarrassment to Nanotrasen, so you have no limits on collateral damage.") + to_chat(traitor.current, " You have been provided with a standard uplink to accomplish your task. ") + to_chat(traitor.current, "Finally, watch your back. Your target has friends in high places, and intel suggests someone may have taken out a contract of their own to protect them.") + else + to_chat(traitor.current, "You are the [traitor_name].") + to_chat(traitor.current, "Your target is suspected of [crime], and you have been tasked with eliminating them by any means necessary to avoid a costly and embarrassing public trial.") + to_chat(traitor.current, "While you have a license to kill, unneeded property damage or loss of employee life will lead to your contract being terminated.") + to_chat(traitor.current, "For the sake of plausible deniability, you have been equipped with an array of captured Syndicate weaponry available via uplink.") + to_chat(traitor.current, "Finally, watch your back. Your target has friends in high places, and intel suggests someone may have taken out a contract of their own to protect them.") traitor.announce_objectives() @@ -301,6 +320,8 @@ /datum/game_mode/traitor/internal_affairs/give_codewords(mob/living/traitor_mob) return +#undef PROB_ACTUAL_TRAITOR #undef PINPOINTER_EXTRA_RANDOM_RANGE #undef PINPOINTER_MINIMUM_RANGE #undef PINPOINTER_PING_TIME + diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 4673b572a8..6ad37815ca 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -85,40 +85,65 @@ character.make_Traitor() +/datum/game_mode/proc/forge_single_objective(datum/mind/traitor) //Returns how many objectives are added + .=1 + if(issilicon(traitor.current)) + var/special_pick = rand(1,4) + switch(special_pick) + if(1) + var/datum/objective/block/block_objective = new + block_objective.owner = traitor + traitor.objectives += block_objective + if(2) + var/datum/objective/purge/purge_objective = new + purge_objective.owner = traitor + traitor.objectives += purge_objective + if(3) + var/datum/objective/robot_army/robot_objective = new + robot_objective.owner = traitor + traitor.objectives += robot_objective + if(4) //Protect and strand a target + var/datum/objective/protect/yandere_one = new + yandere_one.owner = traitor + traitor.objectives += yandere_one + yandere_one.find_target() + var/datum/objective/maroon/yandere_two = new + yandere_two.owner = traitor + yandere_two.target = yandere_one.target + yandere_two.update_explanation_text() // normally called in find_target() + traitor.objectives += yandere_two + .=2 + else + if(prob(50)) + var/list/active_ais = active_ais() + if(active_ais.len && prob(100/GLOB.joined_player_list.len)) + var/datum/objective/destroy/destroy_objective = new + destroy_objective.owner = traitor + destroy_objective.find_target() + traitor.objectives += destroy_objective + else if(prob(30)) + var/datum/objective/maroon/maroon_objective = new + maroon_objective.owner = traitor + maroon_objective.find_target() + traitor.objectives += maroon_objective + else + var/datum/objective/assassinate/kill_objective = new + kill_objective.owner = traitor + kill_objective.find_target() + traitor.objectives += kill_objective + else + var/datum/objective/steal/steal_objective = new + steal_objective.owner = traitor + steal_objective.find_target() + traitor.objectives += steal_objective + + /datum/game_mode/proc/forge_traitor_objectives(datum/mind/traitor) if(issilicon(traitor.current)) var/objective_count = 0 if(prob(30)) - var/special_pick = rand(1,4) - switch(special_pick) - if(1) - var/datum/objective/block/block_objective = new - block_objective.owner = traitor - traitor.objectives += block_objective - objective_count++ - if(2) - var/datum/objective/purge/purge_objective = new - purge_objective.owner = traitor - traitor.objectives += purge_objective - objective_count++ - if(3) - var/datum/objective/robot_army/robot_objective = new - robot_objective.owner = traitor - traitor.objectives += robot_objective - objective_count++ - if(4) //Protect and strand a target - var/datum/objective/protect/yandere_one = new - yandere_one.owner = traitor - traitor.objectives += yandere_one - yandere_one.find_target() - objective_count++ - var/datum/objective/maroon/yandere_two = new - yandere_two.owner = traitor - yandere_two.target = yandere_one.target - yandere_two.update_explanation_text() // normally called in find_target() - traitor.objectives += yandere_two - objective_count++ + objective_count+=forge_single_objective(traitor) for(var/i = objective_count, i < config.traitor_objectives_amount, i++) var/datum/objective/assassinate/kill_objective = new @@ -142,29 +167,8 @@ assign_exchange_role(exchange_red) assign_exchange_role(exchange_blue) objective_count += 1 //Exchange counts towards number of objectives - var/list/active_ais = active_ais() for(var/i = objective_count, i < config.traitor_objectives_amount, i++) - if(prob(50)) - if(active_ais.len && prob(100/GLOB.joined_player_list.len)) - var/datum/objective/destroy/destroy_objective = new - destroy_objective.owner = traitor - destroy_objective.find_target() - traitor.objectives += destroy_objective - else if(prob(30)) - var/datum/objective/maroon/maroon_objective = new - maroon_objective.owner = traitor - maroon_objective.find_target() - traitor.objectives += maroon_objective - else - var/datum/objective/assassinate/kill_objective = new - kill_objective.owner = traitor - kill_objective.find_target() - traitor.objectives += kill_objective - else - var/datum/objective/steal/steal_objective = new - steal_objective.owner = traitor - steal_objective.find_target() - traitor.objectives += steal_objective + forge_single_objective(traitor) if(is_hijacker && objective_count <= config.traitor_objectives_amount) //Don't assign hijack if it would exceed the number of objectives set in config.traitor_objectives_amount if (!(locate(/datum/objective/hijack) in traitor.objectives)) From 3c60a6c82f1f2d3bec178701f8811a9c8ea59fc5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 25 May 2017 10:37:50 -0500 Subject: [PATCH 058/134] Aux base plasma turrets now have range equal to the range they fire in --- code/modules/projectiles/projectile/special.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 57b339178f..867d1b8c8f 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -242,6 +242,7 @@ //Between normal and advanced for damage, made a beam so not the turret does not destroy glass name = "plasma beam" damage = 6 + range = 7 pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE From fa4e0e61d6efd55f9404611127bee89259d8c898 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 09:05:52 -0500 Subject: [PATCH 059/134] Fixes adv camera leaving obscured images --- code/game/gamemodes/miniantags/abduction/machinery/camera.dm | 2 +- code/game/machinery/computer/camera_advanced.dm | 2 +- code/modules/research/xenobiology/xenobio_camera.dm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm index 1e725bccba..554d992987 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm @@ -70,12 +70,12 @@ origin.vest_mode_action.Remove(C) origin.vest_disguise_action.Remove(C) origin.set_droppoint_action.Remove(C) - remote_eye.eye_user = null C.reset_perspective(null) if(C.client) C.client.images -= remote_eye.user_image for(var/datum/camerachunk/chunk in remote_eye.visibleCameraChunks) chunk.remove(remote_eye) + remote_eye.eye_user = null C.remote_control = null C.unset_machine() Remove(C) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index e3637d3430..1719695cf5 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -151,13 +151,13 @@ obj/machinery/computer/camera_advanced/attack_ai(mob/user) var/mob/camera/aiEye/remote/remote_eye = C.remote_control remote_eye.origin.current_user = null remote_eye.origin.jump_action.Remove(C) - remote_eye.eye_user = null if(C.client) C.reset_perspective(null) if(remote_eye.visible_icon) C.client.images -= remote_eye.user_image for(var/datum/camerachunk/chunk in remote_eye.visibleCameraChunks) chunk.remove(remote_eye) + remote_eye.eye_user = null C.remote_control = null C.unset_machine() Remove(C) diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index ff7c3f6340..f43a89eef4 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -96,12 +96,12 @@ origin.feed_slime_action.Remove(C) origin.monkey_recycle_action.Remove(C) //All of this stuff below could probably be a proc for all advanced cameras, only the action removal needs to be camera specific - remote_eye.eye_user = null C.reset_perspective(null) if(C.client) C.client.images -= remote_eye.user_image for(var/datum/camerachunk/chunk in remote_eye.visibleCameraChunks) chunk.remove(remote_eye) + remote_eye.eye_user = null C.remote_control = null C.unset_machine() Remove(C) From 4cc3f81b3e12584f99630589a3b0d61eb0601dc5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 11:12:09 -0500 Subject: [PATCH 060/134] Moves attack chain proc from global to obj/item --- code/_onclick/click.dm | 4 ++-- code/_onclick/cyborg.dm | 4 ++-- code/_onclick/item_attack.dm | 10 +++++----- code/_onclick/telekinesis.dm | 3 ++- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index a8e2681dc9..5b26067725 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -119,7 +119,7 @@ //User itself, current loc, and user inventory if(DirectAccess(A)) if(W) - melee_item_attack_chain(src,W,A,params) + W.melee_attack_chain(src, A, params) else if(ismob(A)) changeNext_move(CLICK_CD_MELEE) @@ -133,7 +133,7 @@ //Standard reach turf to turf or reaching inside storage if(CanReach(A,W)) if(W) - melee_item_attack_chain(src,W,A,params) + W.melee_attack_chain(src, A, params) else if(ismob(A)) changeNext_move(CLICK_CD_MELEE) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index c52b3441db..3bb15c1947 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -71,7 +71,7 @@ // cyborgs are prohibited from using storage items so we can I think safely remove (A.loc in contents) if(A == loc || (A in loc) || (A in contents)) - melee_item_attack_chain(src, W, A, params) + W.melee_attack_chain(src, A, params) return if(!isturf(loc)) @@ -80,7 +80,7 @@ // cyborgs are prohibited from using storage items so we can I think safely remove (A.loc && isturf(A.loc.loc)) if(isturf(A) || isturf(A.loc)) if(A.Adjacent(src)) // see adjacent.dm - melee_item_attack_chain(src, W, A, params) + W.melee_attack_chain(src, A, params) return else W.afterattack(A, src, 0, params) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 24f6559dd6..72694a434c 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -1,10 +1,10 @@ -/proc/melee_item_attack_chain(mob/user, obj/item/I, atom/target, params) - if(I.pre_attackby(target, user, params)) +/obj/item/proc/melee_attack_chain(mob/user, atom/target, params) + if(pre_attackby(target, user, params)) // Return 1 in attackby() to prevent afterattack() effects (when safely moving items for example) - var/resolved = target.attackby(I,user,params) - if(!resolved && target && I) - I.afterattack(target, user, 1, params) // 1: clicking something Adjacent + var/resolved = target.attackby(src, user, params) + if(!resolved && target && !QDELETED(src)) + afterattack(target, user, 1, params) // 1: clicking something Adjacent // Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown. diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index c7ad66440e..0ca0fb31a9 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -124,7 +124,8 @@ if(!isturf(target) && istype(focus,/obj/item) && target.Adjacent(focus)) apply_focus_overlay() - melee_item_attack_chain(tk_user, focus, target, params) //isn't copying the attack chain fun. we should do it more often. + var/obj/item/I = focus + I.melee_attack_chain(tk_user, target, params) //isn't copying the attack chain fun. we should do it more often. if(check_if_focusable(focus)) focus.do_attack_animation(target, null, focus) else From 11c74ee6b44afd6d50f6c2137533262f8dcbd6b8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 11:13:15 -0500 Subject: [PATCH 061/134] Adds cycling delay to PKborg dampeners, fixes dampener projectors leaving fields behind when server is lagging --- code/game/objects/items/robot/robot_items.dm | 27 ++++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 97a343311d..5bca9cf535 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -504,6 +504,8 @@ S.change_head_color(color2) dropped = TRUE +#define PKBORG_DAMPEN_CYCLE_DELAY 20 + //Peacekeeper Cyborg Projectile Dampenening Field /obj/item/borg/projectile_dampen name = "Hyperkinetic Dampening projector" @@ -526,6 +528,7 @@ var/image/projectile_effect var/field_radius = 3 var/active = FALSE + var/cycle_delay = 0 /obj/item/borg/projectile_dampen/debug maxenergy = 50000 @@ -545,29 +548,31 @@ return ..() /obj/item/borg/projectile_dampen/attack_self(mob/user) - if(!istype(dampening_field)) - activate_field() - active = TRUE + if(cycle_delay < world.time) + to_chat(user, "\the [src] is still recycling its projectors!") + return + cycle_delay = world.time + PKBORG_DAMPEN_CYCLE_DELAY + active = !active + if(active) + activate_field(user) else deactivate_field() - active = FALSE + update_icon() to_chat(user, "You [active? "activate":"deactivate"] the [src].") /obj/item/borg/projectile_dampen/update_icon() - . = ..() icon_state = "[initial(icon_state)][active]" /obj/item/borg/projectile_dampen/proc/activate_field() - if(!istype(dampening_field)) - dampening_field = make_field(/datum/proximity_monitor/advanced/peaceborg_dampener, list("current_range" = field_radius, "host" = src, "projector" = src)) - update_icon() + if(istype(dampening_field)) + QDEL_NULL(dampening_field) + dampening_field = make_field(/datum/proximity_monitor/advanced/peaceborg_dampener, list("current_range" = field_radius, "host" = src, "projector" = src)) /obj/item/borg/projectile_dampen/proc/deactivate_field() QDEL_NULL(dampening_field) - visible_message("The [src] shuts off!") - for(var/obj/item/projectile/P in tracked) + visible_message("\The [src] shuts off!") + for(var/P in tracked) restore_projectile(P) - update_icon() /obj/item/borg/projectile_dampen/dropped() . = ..() From a84bcdd42ea6abecdb182f69c27fe525a02611c1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 11:14:20 -0500 Subject: [PATCH 062/134] Adds goliath cloak & a recipe (Lavaland PvE primitive item) --- code/modules/clothing/suits/cloaks.dm | 18 +++++++++++++++++- code/modules/crafting/recipes.dm | 13 +++++++++++-- icons/obj/clothing/suits.dmi | Bin 105013 -> 105553 bytes 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index 1a8c96e802..e90c750d12 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -50,12 +50,28 @@ name = "captain's cloak" desc = "Worn by the commander of Space Station 13." icon_state = "capcloak" - + /obj/item/clothing/neck/cloak/hop name = "head of personnel's cloak" desc = "Worn by the Head of Personnel. It smells faintly of bureaucracy." icon_state = "hopcloak" +/obj/item/clothing/suit/hooded/cloak/goliath + name = "goliath cloak" + icon_state = "goliath_cloak" + desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits." + allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/pickaxe, /obj/item/weapon/twohanded/spear, /obj/item/weapon/twohanded/bonespear, /obj/item/organ/hivelord_core/legion, /obj/item/weapon/kitchen/knife/combat/bone, /obj/item/weapon/kitchen/knife/combat/survival) + armor = list(melee = 35, bullet = 10, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 60, acid = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot + hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath + body_parts_covered = CHEST|GROIN|ARMS + +/obj/item/clothing/head/hooded/cloakhood/goliath + name = "goliath cloak hood" + icon_state = "golhood" + desc = "A protective & concealing hood." + armor = list(melee = 35, bullet = 10, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 60, acid = 60) + flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR + /obj/item/clothing/suit/hooded/cloak/drake name = "drake armour" icon_state = "dragon" diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 72088961de..a489d0fb6a 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -337,9 +337,9 @@ /obj/item/weapon/restraints/handcuffs/cable = 1 ) category = CAT_MISC - + /datum/crafting_recipe/toysword - name = "Toy Sword" + name = "Toy Sword" reqs = list(/obj/item/weapon/light/bulb = 1, /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/plastic = 4) result = /obj/item/toy/sword category = CAT_MISC @@ -398,6 +398,15 @@ reqs = list(/obj/item/stack/sheet/bone = 4) category = CAT_PRIMAL +/datum/crafting_recipe/goliathcloak + name = "Goliath Cloak" + result = /obj/item/clothing/suit/hooded/cloak/goliath + time = 50 + reqs = list(/obj/item/stack/sheet/leather = 2, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 2) //it takes 4 goliaths to make 1 cloak if the plates are skinned + category = CAT_PRIMAL + /datum/crafting_recipe/drakecloak name = "Ash Drake Armour" result = /obj/item/clothing/suit/hooded/cloak/drake diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 27e02e2e7ccf4c80558ae376ae0aef362fb7a2fb..3a59c48c2e194df8a74f430b0b43c56f84ebfe5e 100644 GIT binary patch delta 10752 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 delta 10186 zcmXwfbwE?!`|w69Em9&3q$Q=LJEW0D7)lBV2-2_%3L+pNC0(L)N`rI>NSEa3(OrYF zz4P;ZfA^1j&VBBQd!CLv)<95OL-2(S99+fjhEIQ;4N?5H7=%RoT_Wda<^iy_spLz` zs(!~0P5AXq_~1ns;Pj}lm^TDtRX31js7`bzB$Oh)@&QqlrZ}C7f`W^l3(M%i2g!H4 zIfXKk7uNN440Urg&0LE2?HCkP=cZ$Vw?6T{45v`UQU7gjTViOSv4~vTXfcd`gm)5o z_v|(Z8sz6wBq?rGv6B&S(1^H*Eof>oh94B%lJ3#>my^Ql0RI@u#H6I{^8La>E))v& z&W^Y^KvqJ+RPH-sYb+1MKhr0mie$`<-aW+pZ4ce$XtK=unC~(_+$2y#*uHp@xduYZ z4{E^_(uE4EZ}DsJZeDLFy?b*DM}C3majKA#lJd8J#L`Js^cU)!m$e3F8iVYWL+1@B zpz6r%iupnyu+`P3`MN^(>S43{^1hov3`FMH&T{U;Q5T{{gd71s~^|{Mp-Qp3z8*E>ldWVX`y2_MJ)am}%*w}qq zTHLJ}Dh@5jOKDb1yEjRWuU@@sHvDB@OWMU=h>Ja9hHCmx@gIS$OaZJ&4-%9(!4a>3M_fM!m+u*5GW8ax9VsGTCSBb4>+^+bXQP3M ziO+BxiX&lrFOv;1RG7}WTq%B!imFo_iiUjnNZvW-h?ryGFDNX0AOM9-Z@5U^5Q|Q1 zm*S^I$-TL9w?sNypfh%(rE%rg(n)udHU_N#PHC>tZrJgam_-T)22{+qLk@E}^!?Qm zWY)UprId&%sc7B#X(f!;8w(i;y+if;&mT5EzUU`5y*2X$zSn2l#t3}6Xquo3OXsy+ zt;*FN4yXm$7ExX-E)#6zFll_;;QjmeXY}6M+N5IX+9sVa80@c$Sdi)g0->g-NAUyr z@x#))Ex;U|`nTGFysE{YYQCht{H)e4SwGMLuKj$XMI&w)dW8*FBxZ8v~bu`Avi1k@XrKs zmJu2;VT6-TdmB$hKMG}GlO}PoLX7|gCEeJUG6f^e&nG4dx2zmrhnNIjaEB=HbpW6c zg^q`^fhpVdx8@@tN0Ai;mh0MziaQByO1fw&y7JAJ7stnWMg0dSNY&L00y;yL!wgP& z9@_i&za%EwHlVr_eJMwOk&bgy==uzjGsP*ov}H|B%_*Z<*2sH~Ls3h(guop>x+5)- zLy#cbZG|vdIIe)el<~Cv(gUo_luSKycNhHeR@pjfChN(G zIfTF3eke`scC)$Xs<60H-?;Q~L-C1!a)<9hH`R%pq<*1vpyl_gwO`CJAc$DO?GHaV zrZA-TjIlTi#}^?jYU$qH4w%bctEIlo4%u9~JU;GNac@|#-#I+g4GNOsNaz=2&H05! ztrkrpyn-IBzDAb+ej1NB-?WHgfLzr#|H4JNd~S82aBHni$zb(EWPGfg5dU3E#d&96 zp4s^gDHeNsOO2NFV$zn5cKgiCJ{jFUKdtKzCZsJbv{f|l+kQ7_0FBSS(`Wq(veoHj)xE zc-b*}EFwJ1SeSpWD&-RE=LH$RhC$HLfB3yKM116S3UtK=#8f$V)$jkr@ej`caF|Ub zvfB|@9t5xljr^u(YN{R>D6L4O#X*HtS*}l0Myo%{(`s><@>liB(X|Rsd@qy4DWU%2!4s;#^`rE_kueSOU#1FYC3v`w9#GR)W=e z<1{8#e(YEk=Ae!9JvP@2iRHuw6(oiykNe!}?Q!SDK>D7O!6~jGgnM!V&)JUktt{|y zW^k}%u}%sCfdqXlKW|H1_Yt3aJWHH=Cc_7R%IrQEp}0}JS(+StaME^w86ClOFTdGJ z@=QjQq8Jz$yf(RIDcHJ+Jbpw`(+tJyXwH9UMm zs_eq1T0&AyDo_~G@BStNT&&=}4|HoN2I$cC5!QHPu&2piGVaTO%iy;UXG$S8ji@ol z%e;^LRVkL&@ad|VOw7%T39nwe-qsz!f?fM5k{`gJDE)f-ai5;M|Fwcl}pVC zgI=sWJU?7p%M(zVnx5W?C}N|9AkK=YGf`#{5&L{KW|*zG?dvoQdhuyZSzqvn;Eb^s zm~vlW*8Ct<6yN`SzwKvm<*S~%GK@d%i4v2OJ=dbecY1?`@$vCNzfOmxhDXHT8#8@D zDTSrYFWL=*weK)&!7hQCz~lzW`|3CI^Er9Jna39w2L?Ai{Lt~B(dk?GwU*_nT<8O? zzn67$-d+|>%zaL^fyiafzLalK-Ma@e zI(D|eNfv+((?SDZHms)01~p~rsWndvoi-{yA5D%7G?C!BZO@AHzmO|iV6ce>2?$h> z)z3U_URew&*wAbumt!PaEx_H1v>Lfad`HzvuCDeVd%;93N9X5LNzHZW3U1iG^xf#* zUe&;$ppgb;_i~`n^q4|uKbY-lGQJ}2&#^o4=s8gIcDAA zqv@Cxe)&#*b-h1fQXhOP+Y(s76=C zr)L2`q2wd#X6E<)XjXnoX*cW3gbXE>FV`L+a4v zPW&J}AL*o|T3&WXsT`4v`3z4&$B{!P!JKZH7w;egl`GqwvuhO8i<- zrQ!fWmFQcVX`^!$?>%2VcV2$a4aI67vUOl{v#Hc)Da(g@Fj<}LUWD?axEI!ezgog# z>wOAHT0FOT;{JiZr%%xL@F%rlU#qhvGc$7g7NOYxjcyFRb96}yMx$3Ko_ zLOm$0$%v_@bT}32epD4{ptCgpt?W@W7MCv94u|rCu}k*oT7BUCmALkT#|cUwTRNK_6}FI1U8u{jK6Z#QK2`z{&hxjqH|A$?9_+ zs<_L`E7GlKj~0;cZ5ZNmQS7xr0nF631@_)|S-g!Bl-`C^TkGiZLx>7u(W3q$E-me` z!Sm;qOHquqUSV$z0aq$e>#ERK{^s{pHhqzGu|EdO+f80f7h`_(I`GI+rHi?ZL$a7g z!Z=*Z!wP zh}v#HmOu`O2NIhP8oJ)Vkte+8l_gB6d~KQKI}0J$Q~phRE;}>p(!~3QFu1Kh^vBQf zmNuWb=N3Gud^ZcmJFZoxmA=r$>!)_k{HgHeFJCAqDJjRwTfcpKzq8|1kIrs;C}WWM z*L87PM@Q`q;O0!&)nd8gr7$sR{ z(>%D_zHH&T5`)P0nb$t5PtKyOD6hb8H=gyF4gpNvKulTpyW2*9xi=?J3qh!@UC`b3 zq6vU+>~~A&RCTAYFfgP9`1Zd!k-0?|<%Y6*h#QM$$% zcsXy^cN5V;l22q_eTx1xb(2{tp`q_bsZV9RT)poD>Q?Q3V2g(rxxRi0`aRT=ytS21 zMBJRZu#kGa%fSioKIV}tXz*nm4vH26aAZw?D!-6BmfVYuc0nOjDaaH%6*Y92axROw zN^&bBAi+GJq>ssUzc zX-Vq(*Ya|3j5X|)knnqdWe+Z?i;VGkRg(R%c#9q~txx`gPwBz@$)F|7I&1mEr)eXy zmStKgf)T-$6wd~p`39{ht`d;FYR@r5U!N!*Uwmtel#{+l*_x4yo1|p*-HldBOiZGn zpy>>~lW?^+F*T6Hs&>K_$jj>k*s_ zt2h&hfMW$q=*5F?JVBVsCI7{eU1#LH=17A|Yd(rq2{(d-bTSE6ab(@X&$Ij7%0dv% z_kT33tQ0&sk+d=x7#w8f#Msza@fqD;F<2>lawbc3 zmuNIepzs+K2#`qrfP=H(fvHV`W-;c<@rMRJD!BWoK;FFi1d3(}yiD|eR(Ltp&0pTW z8YCJK5mDR;Md!{5yrEFmd5w4~XfHiPE}oE>$VPUBteV_91o}p7Uu~~m zHlFNM?G5#>Oo+obC;K09z$KI9WY3{jgm~^lTZ27amm@!lzb681YdSAWYCI1ANbP4b z>iK+ufA!j(j_9ag8o2R284x)yg*-5YxZo|RImu2&VZD|2`K0v{HEQ-m0XGEhiIzgE zCXX=igu^z~Y}p{eR4vmo;~cvo=<^HX66%EhNhj}7>TevSqYweuF;rPa<;hLbY*T#f zHf0`k1ZF3uudnYUSAfWr;~T(4@^qR3XUo2;1}3#>8zcP-MDiXd0rzPuSoyuEqnI9! zP@9A@IN^ziiRr8N=rg7`+Vp+81fKYZYR{CKsRUN~jUA~Oh6UHaMi5i9s=9g*F*pP>6GA|f|G z|Kq~K3)iOYe17=Z@X26gjOT8i^C!(_#^CW^F5lvXKoW7)8A$@V>_YiKZ0^ZSh3VsK zHj;KZE(*=#5tR4vLxR2{@gM~=>N{~eT7mEg5A^lLd`ez`O-ZfCuVul6{1LG;%w_jY zMXn#{F%J)YGEHYJ;XanlxA*=0{IG46&!JTf%+id2OZuYWh&p+t3$}A#>J(^BmubZ3 z&8$EBtO=@yrVfp+19(=~yMj2O0?{O$<$I4>4~Y>^VrY8!zJ^Wg#z75U{L+Eq(1||I zB&Xe99d1lMp3t2i`wIG&=e9c8ImA`1Bh@mE84p{!sSJZ564pz)USN!44>{Y>dxE8>oevU$2M@rtqPUVt%bq@p@CGj;YyK>JLe z+7+^xtec=&GIn%exaJL(f2zdAypjL-C-ZmF`^FNZdNjZFn8+V(czkMV|F;dk!8lL1 zLv3T@uMY@E^MT~(;7xX-ae`X6!MAV&B?E)_hUOelupA*?Miu;UcL!ve@kQRsDvM=p zlmw*jreFc!e0q3K@%4w!7@2~1xH&FvwXJwL=ZAj`%2sIU zZNk1u6qa(?Yz%B%sa`A}5N>`+6H9sE%ovr0l40K{*v=eH-cA+nf0{AaNei__5^7dW zO$)squysi?3eIV&yDlA=nK&6y#%497y!S>2*-1$Okd~`e?DPN#3t*OzxC-okXATR} z<_2X8Wc)4O<42+uLLM&FYYNPW6dE5mA3D@N#>GApV{+t`HUh412_<}watzGO`i+!u zwpJ{Drx-$w%U@_%SuydLlut&7eEM z1iV&LgHJv~W}7#d9Ugm6OWa;#39GCISAKge=`VAli6ynuxg?@%?~m3-Hq@coZsKxs zW*$UWn+t)p!aiTYTbc2QLi$HydwU6VvSqcky{MzLwGligr5Wbq>K_)D4&FLxZeoXQJc z9d+x!l`n&@WdK*%>q{86j|I7x1nM8o-Av4So77m~Tm|-+Z(M8(?|l1~w@tgKdFN@o z?#N*s1%yg%IEFFsqBEObI8dSudL(jNevL1D(3+rddwo1HH&SI*hIa$t3tlP9208IW zklfiUF6r~QIivT=t}vZ1g5c;5%28n*(m*jA0;TksEO4u%w+1c=Dd`4Q_(#8WM{{s+ ze6)aA<~84dU17E#V2pFlMD?;wy>CufSy_?$8Bdiz)^S~iAN0GtCMPwVPj^^XUE98d zvbITQtQpB58#&VY69CSHgoG|^OjkAQf=vw84=gpjO*q(`nMOtpM4fGfL^FtQ2f1ao zL|{8rPpa!Qg|zcKK0`1h!Q~6&GPjN;vf)`UL-Bi{-dKPj;kA46y3?QGKZf?hDMcuh zC#5zSp@h8tuQMn=6awAzmLdyh7G$PS(Z4#F*Zw$+uAK$WR~(GkEgBmgn!`N1;#i6=ObgYb3a za{URo7(s2wWy^C};ax`BSUFn$zi9>Y3ezh>P=T>sogO)T1m#g}L$z-sOamG5fXS+1+ccjxa7Yn=` zst}}>@Xi{?4HJukdMgo3@nqItb$lc2OQ`i^z*=E)HH$3Kp2_Z?3__pafo+?V6smg! zzcW&c0&C7#!OQL<3a6na$0xl@e?zk?1gw^n8mx?edszH%%?eK4)6=7@riOde%lY=|=En1KQkteh!$}OKyLJ27{&f1yGl!Wo z(ph}a(WEe7aKDGRjVW#bo(&j-C0d+0l>``iy8sv%p3gB|X7<7DIhAJ?5E#kR2klz& za!Ne;H}H6uvgqpS${lmaBwHbnSFqvik|iEnLCg2*^p~H% z`|n^q=C9cB*m|MCqt_0fUWmrQAj^;5@ea=9z(KF(F^=2Ov1kZwN}%@DHS%TsJS7>S zwzl?19^lPInWgyO{j(PFoJA#P&+}hVX056)nC$HAEC~2sP(Tc-p4D=6YG`pSu;HPVxV`?vBWB^zaXE@eVTu6NgkA%uHjz z-g{3~UVm8q33ZUj1B14N(@}+vOMcsa`UtmI*tqkdoO|#S@!QDwXn4Hf=HmfkV&rBX zdEu!za6GIz5{2TLGMHrpAe2R*i zfXJ74=zV!|R~+kLL{^{3*%jHX^=gagz<_w_R}y(&1?>NdYmg>-_IaD^*;(G7pf%^E;Rk&S;;pW=Y|9I}L9K7^gy6l0 zl*?%K%6+Wb*ij-uf1?G5fUmB7g_3Big>ZL{Y+pdNuqHWnP z5r|!(-_H(4$hmKyq-s6n()O}w4Z#NeJqNaiEsei)OWHu*&5Qf}!JqTHWQ5%?Z^1!< zzZz~Qv-VKDzb)w%kx@w%B=2w;(RJ+a1KOuz zqe4@@PJK>?%;p^8sDHX+d&w=)>Y17=zC68PbG>_hmz)O7!gsKbHA|B|U_2l+R3RzJ zhMjt#D*l3gZkSfL4Kw^u+E?!mF)>w0NSR4uMlz_>xa1``_&5lv*Bisgqhsd8&Bqt! zGoE@p&KrMw+c?L)v}^$Y9y4>y+?M;{4+MQ-V;H`FKE#TrTinT?!OstpVobj(RH#kT zV`3qnIekYJg~H_&2P_3}fo#^VVZyu770B&^{rj?)TrEtE5v!}Z&1Xy!YmU=L44ivi zeKUkT4817U2tNA89C@3(st&-x;QL%!v+!_4h@}5P4;!@WRTURjQg9r-5hdurAzTUw zMAyZIms2@%$Nc;N2R7Co-89WvUbZeS zE;gKLHgPh6wmz4ZSPO;Sw(mRL%fSTp-+D}FhYU%9=IT|*?yv+2xVXY6Sr}o=YlQ4k z^9N1oow3P+TOsf`q#Jq0Ic^|k1JScm%1)BvN0=R0nNo3y$ilh-uaR&3T-rg$gCn7uk4_rU1ErkcPcel6|@4|I0p}%hh z(4zy^f@x#@K|PSHpsz`8tvKz#uOkk?4+RFf23a!^X9fOD>aZ5cf?;y)q^w(>FNA#T zxAhn#3$`07vJx$?o88(sMAJ_Zx!ZqzUi|m8fStA-z?v03`^;${oIlq>={)5`h;WEb z_1;Gk86rJiVu$JES=8Btw^B72hu5sh@N;V*iB%+ym3vP;?qC0XN>xmrTqhYoj7doq zwr|=$or&Lj7*J7enSS~J_2V(rbK4ExYB`2;9cbyIF=;C-2Qw{PDn zD=X^(`uZIaRGfu{g$)$KZcp5o<#jUjNP`iZ^<3zN1_`o<5+K*#I7B<%?eCsjH}eKR zFc)jzKcDtACy;RNJN^*gQ*qD~-gpW*Jc~l_Z_xIn^&HZF3zXq&1wmQ`d80vjLD7%Xb|itx^kziz+~? zuzj^z%8)&_#{MZLW?BY>HL>@psb4>N;>w_@tQ@MYt-Z0_@qtzu>FfZyPeXI>-o0^t zYIiR$(c|M|S1GFHVNY92(&8yRAF$uK7a(2 z@=7S8_IydC#m;V-2O{ib*wjkQ>AvM|Jqk`?w=%J^FlYKA>xF`bz zE}EPmT7f;$oI}oXPqEdGOHXJTy@L9E7UJrl6?JrGsZ(Xok;e1GQW^u!+Tt{gv$}Sv=#o z%yI8L?Pp!?qS22!UUM(=6tvCYTBHr)6EvYMbNRsy<#K{<`OQGLH_tt$nT0(sHt7Qm zq$pDyxzl^d;J4R9{UPQ%1<^*Pi`cB@0@Z}K8-E=iEHk%D8iXxJ1PBh=KfjB*9b@Vr z(#Q1ccpd1Wop*PWR`WRyh(m7>wJv~GrZ>B%ka)c0{YDdmTUtd?6mkN3GwP|4n0P^p!R0tbBSdz?l=+oWxoH0AXzVvlU)7NVBPHx`=>f$ z(3w_BWQnA1jJ}8WIw4!!J7KF`0X+GWINHXLzN9)k-RQxoCiI-YTYLf>*Kz4mxB2JT zJeZv}<#*AmU_Sv+IG@sJdGxab*5ijBcjO;!t9}Q5FjAsdmLX*Nq4hjKKd~ZF=oTi8 zBIu@=JcPonpjig=`b|*F_(g8*?N!H`t^Gmw&mV-1jhFH10TosRqMt?=*Af~+u*)Ac zm(WYT`%Di+a!Stb5bEaX5KkBhoBig&g|Lh0ewtJni~I_G}Xl0*zkLJ zxEGtfv@dXecr)u!$Z3BO;P3liu_@Uw87vGWlOPiNkTVIrQ9+H!(5v*hS~G^d?u)&S z9nMfs%7t12lqG?^S|<# zhWJKlI9PO!p~`&M{PAR7e^E&_cy!cSP2yo$mQC&Sn4_DBd&+<3RsZ~5iM;*OI{Fbi z3t6yR-KO5Y3lY$eGiTl>Zs7@1*Z5?k>;Y`!fBCQK#^5o{9{l@AZ$QUnH|7vvc2OVZMAlTm^kU+(>x8nSd zU?*ormJqQ2)59x`6Wt6U$4~$Ndp1840PRM}q%^lT-4sms)r)?_E8%lW-hRWqzQ|WI zB@#U+#lyRb;%mO>=L`97&O27gGf-$)*y;xMkF7F)P|P|L4l_SXl~LO@LGuy;4EwuE zE*DnrIYPg@4gTK@@nJ`h%WSRg@yW?OMWTm8^Qddi0uaSLx^|X=);Q;t+?2F=Zv@kZ z>05fFT!|(Kez+vyfcf8CVeD=$OO0wKORVuXQP%_k;UTa&{t#^`Z_OV9|3m*~sY39u z;q>%9RlVl@V7r2nGw*+uOm()!Y)>JOPLjEVk<)7vfFJz+Ub0>?SUfp68BF-^hEIpm ZJjEnhzb^1Mrvm-EG*ony%N4EP|3AuqkKh0R From fabe1e98a7139c304b52961d9cd3653e9cfc6b39 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Fri, 26 May 2017 12:02:26 -0500 Subject: [PATCH 063/134] update blackbox.dm --- code/controllers/subsystem/blackbox.dm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index ecc5f3cc17..f606a0d61a 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -1,8 +1,8 @@ SUBSYSTEM_DEF(blackbox) name = "Blackbox" wait = 6000 - flags = SS_NO_TICK_CHECK | SS_NO_INIT - runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + flags = SS_NO_TICK_CHECK | SS_NO_INIT + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME var/list/msg_common = list() var/list/msg_science = list() @@ -86,12 +86,11 @@ SUBSYSTEM_DEF(blackbox) if (!SSdbcore.Connect()) return - + var/list/sqlrowlist = list() for (var/datum/feedback_variable/FV in feedback) - sqlrowlist += list("time" = "Now()", "round_id" = GLOB.round_id, "var_name" = "'[sanitizeSQL(FV.get_variable())]'", "var_value" = FV.get_value(), "details" = "'[sanitizeSQL(FV.get_details())]'") - + sqlrowlist += list(list("time" = "Now()", "round_id" = GLOB.round_id, "var_name" = "'[sanitizeSQL(FV.get_variable())]'", "var_value" = FV.get_value(), "details" = "'[sanitizeSQL(FV.get_details())]'")) if (!length(sqlrowlist)) return From 5387b4e2a76591ed8b0b7d9258e2ac552c38269b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 13:20:50 -0500 Subject: [PATCH 064/134] Makes a thing use QDEL_NULL --- code/game/machinery/doors/airlock.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 1750aa7aa8..cfc5eb2979 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -199,8 +199,7 @@ qdel(src) /obj/machinery/door/airlock/Destroy() - qdel(wires) - wires = null + QDEL_NULL(wires) if(charge) qdel(charge) charge = null From 3e05ac328a14c9a87e6d68ac3acb93612e079a79 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 13:21:59 -0500 Subject: [PATCH 065/134] Fixes typos and lies --- tools/readme.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/readme.txt b/tools/readme.txt index a1c1a17c3b..fbd99e3760 100644 --- a/tools/readme.txt +++ b/tools/readme.txt @@ -1,6 +1,4 @@ the compiled exe file for the Unstandardness text for DM program is in: UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe -of -UnstandardnessTestForDM\bin\Release\UnstandardnessTestForDM.exe -You have to move it to the root folder (where the dme file is) and run it from there for it to work. \ No newline at end of file +You have to move it to the root folder (where the dme file is) and run it from there for it to work. From db90467ff2bacce9e7c023d12ffadc0da2662980 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 13:22:05 -0500 Subject: [PATCH 066/134] Deletes the old java mapmerge --- tools/mapmerge/old_java_mapmerge/MapMerge.jar | Bin 20574 -> 0 bytes .../old_java_mapmerge/Run Map Merge.bat | 4 - .../old_java_mapmerge/Source/.classpath | 7 - .../old_java_mapmerge/Source/.project | 17 - .../.settings/org.eclipse.jdt.core.prefs | 11 - .../Source/.settings/org.eclipse.jdt.ui.prefs | 60 ---- .../Source/bin/FileFinder.class | Bin 1882 -> 0 bytes .../Source/bin/MapMerge.class | Bin 3519 -> 0 bytes .../Source/bin/MapPatcher.jar | Bin 10136 -> 0 bytes .../Source/src/FileFinder.java | 25 -- .../Source/src/MapMerge.java | 108 ------ .../src/MapPatcher Source/Location.java | 42 --- .../Source/src/MapPatcher Source/Map.java | 314 ------------------ .../src/MapPatcher Source/MapPatcher.java | 304 ----------------- .../src/MapPatcher Source/SavingThread.java | 37 --- .../Source/src/MapPatcher.jar | Bin 10136 -> 0 bytes 16 files changed, 929 deletions(-) delete mode 100644 tools/mapmerge/old_java_mapmerge/MapMerge.jar delete mode 100644 tools/mapmerge/old_java_mapmerge/Run Map Merge.bat delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/.classpath delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/.project delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/.settings/org.eclipse.jdt.core.prefs delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/.settings/org.eclipse.jdt.ui.prefs delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/bin/FileFinder.class delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/bin/MapMerge.class delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/bin/MapPatcher.jar delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/src/FileFinder.java delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/src/MapMerge.java delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/Location.java delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/Map.java delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/MapPatcher.java delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/SavingThread.java delete mode 100644 tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher.jar diff --git a/tools/mapmerge/old_java_mapmerge/MapMerge.jar b/tools/mapmerge/old_java_mapmerge/MapMerge.jar deleted file mode 100644 index d0f0ce08028cdbb917fe185b48e331f8433d49c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20574 zcmbq(Q;;Z8wq@D2>y~ZXwr$(iE!)0j+qP}nwynASx+7-h&6|#RGbbYRC-=$76ML^* zYeQZN7z70X0s;bHDFjsv;D1>t03ZM|BFX|Z60)LnG6J#^q9RJlv@)XK;{X6E(RFbB z^f1CN;%}kf{4kXoYY6cOz#YkdmQ@awUBC5+djTfKct5sCP<#`bZhx^xP22sYVc~~{DeCb-1u&lL(9{4V)wDK>01;Am>AbP zQ=p#cItbu~ue=;*xzWi>fkOz6~p?~nZ;F}fmKk6*7INY(f0X3J zX#Y(UVsgH&A&i>Iu!xpVT|||hV3P*ajG6K*9J1vnwQWW|dDQ%UPP0ppoZe1fIjxy3 z(KymeJ`=IYBqP#->)HJqczpYpRg+nZEUrjuba8nOw7Y28s4|}kdG`wt-CJ)Q7x#H$ zCr->Jqs(+96r6)F&vIw)Qi&QcTm4(F+d?dC=;qDBW+6A*aiUc0`;Y2JjzB>lxz-*t zRyz$H>c*%p>pVk05K+}#$; z4$=15E%3e=<~E6M=AO?!8K$o!Sz%V;SDGy0Raue!C+bYkr1p6un%OWGR-U{QG&lnmOex~Pkdg+JbAzi)OWJD#ce?v6 z_-jE_L$I(6dzlR9m9*YYC)*8vjoqjrJT@F73|SrCD`D875aDO7nRi*#Y=oHaXp=HZ ze%edWGhJ)9g!63UnrbA~8hW@zsqf{l5qY>bq8FlSux}MM6n}%Xg&;eJvU5Z^q!7sm z=ml0`UiQr2)VqH&2!x(&u_*nBlbJ_g*4AZ13Djb}`bp58@SyB5C1uJ6k50R(9%*hw z32o58xzFQ5nR8H_OvxoiEgo))B^Eud_}mrwf}ax^g$#^$14R3Gn-AjQ2Gbi=eLuJ5 zMh13Sl91NnWQpOHG2nbjLejb?`bZ&1fktPu1@O)s>8+^JomU@q3nxnwi_*5x-DjRX zvJJPAwq?Z@8MJ5H#UI@_UPe71 zreI(g?-O)WpLfUIUNbx=n>XGknICvQ_jwKE!txNHpgBFT3p&9m1`kGq3N^x?YQgJYaKXTXm{HvuOQ>0O+K2Vi$51FWY}5l=PZ*U7~}I$V(AQ(-SNiSVk=5T5ZA$QFBm~?8AE# zD9UOr&IA9fS;LcxIZsT*Yq85{snVh?;F5`*Gy1<%P-x-PhwG7BUlCy`=1VnzKWR6m zLTkr6q41fC0Dp* zUpAKDNg3?k*eEBUYH~3hIwKJnxLqfpmOtLPWGph(^x6{?~PI1K$BOrY%iVaDd)%xQzj-A zF0TmOFwjgfY77RDW^Ux8#CAhc4Hocg5Y=Jt7MuC=Ps~cg;(1uaX^5f*&ux3@990$( z>D_&exO&McSW8IVp~tXhR~GPrE1NuXC$HA3rUomI#;Mqq-Q0kcgenhQ)jLicLlxsN zw=-Eniw1#uvgxcUi4}UGDzuHNE0@t?#!f&x#oOV^;B+9$?Wh)rBn|0ARi#uLPg6>> zd=jNMThy0bdOI-40f})W?q2{N*dFpj z6onW(W{b?5(+X1sBTaA4Cl<2xRM8deG#9P0N<@x^fr~-QLp|I9+JCbqGWQhl3x}JS=V|Ej?mjzyA+kJ-x=G4KpVGd@K6ic*>!{R zrHZ^L#GVI6?MYpvTHJS_co0MNOKA3vamb)0`_A95dBw(cLe5?R^5^fCO*E5@XJgG7 zyP>>iVBD&_gaQt^YQ=>#ERCZ&i|<*WYPAV@0cDMLo+tuaKB_f2YaXFZcek{y+jj$s z1$ujM7=-8IMePoLo%s||*us#Mb(HVb4rzhWj%MUtY6SS9+xMe5HsCE9=b$Z#h^zxh zZbeaP1&S<`bl}QSd?Gqf$H5#~qF59qL%6iT5HiQ1I>#SeZ!oK^@3L>YVfQ?;DzXzX zQczJC8b)E=3MA>1+yPO2md&kdG2FmtRzod9kl8C{xV+|$DQcV8T04p`lNsAQLr&(M znVf@uk;$!LBOk79nG@41_om=ZmHO(Y?1pn!mD$0Bc}80cs=Zj)WNF10IGmdtipumw9BR)i>j-5PIQW7?d87wrgi5C5eo7w^NaksNQQ5l(4UXSSMujJ_r{ECqJ(a4)?oANr!1V^Q zDc)?eKW=(o4ytzFU<|1l?v1T#K-J^ke1|Ctj<^<$dny9*6^8WUYS|v%YD=it;gNOr ze7ilISRs5T^~$(Y?oQ-~qnCF?g&AJ6Z`G(hBNtc01Qxuw6JfWTA#BUTy07)hT6e{d z+bwiR(roRJzUUFf$ouWKk|h?;&frhxIda=2z87*(T0>P+CcF26jgGn*iNts@f{m_% zFXZ8)^OTR`>x(L?2n`w+8D@|j2>|!2oA3qb=&GvxeN8)E9{IF-V9LTb? zuZM&3@Rcunip&AkAYytyjp7@3kkgdRI~oejyv*MEdfwpa@caIL4VRtNml6aY$UjI?wpBMBInOq3%p}O?2(djXUVvgk%UK$pi}e!XV2GVZVhk1eZeq3QLNyKx^VjKQ`Oc)56>E%Loe+@{Y;UB~!&# z{z3;-qVV(z%745T!4A}_%OX*sm_wOlk};~$#}*X+HjW+P2KSmnWo36_TZ0YBroQ}dvQex5puxcwNV^Oza`UQBDI`2osR@c<X?KnN~sK>h&mCOtp_`cGB$vRgjXtFhi#WeuA0OW?h9yXy!4&AGAyrME+Xw zGx@4|B(j$U^umzP)4Rkpks(w>Gaz3>D-Mm_@WQdiat zAH&9!jNdF&T`qxBB4t*{jLzcbRCo0wp$vI+?2#>~CvM#zkn;n0fgMzqf0(#B9<8Fy z2m$d|oH;y%v^b#v_!v>xykF9_V4)5?QV|f+W7dEhIQkucY8mE5EexAO1?WC93Bp*z zSWT->R7ZUHP1?LTWJyf?w)D^NE5$LKEQ23{hhsqSA1%`ReT<0_b)LQoy|bCygUE}6yQW(^lIsxwdw0`VP*oZ}-!YRLh;OkkbYvSQ=p0fw~@9-t~ z-^Z7dv!jWDjktlWv9*cgKOt76Y@>v%hT6hwdU)=^B(<;sF^>`TII!-mpr#c|wyv_Xp>W2O>hM+@%jVbfNN^xn^@ zUb`7VK)~deHZ6InQCr9HW|`5SSq`HP*EAw+nXEtw zbjUi68p3_)?v3AIfe121kvhK~F;4l(@>=ve4C`ELX+Bk~HV}i1`>3>J;R z7YYo1-`?saa91IXplT;3zSkzN=}D(sZmxZp2k16^^4CgZ@baO;kGi^*JiIw8j3DF< zn8_+Rcn2WD4g^7)<$>7}3=KdCPQVAcaBUK4OE#HG+l>(yfH96DwFj)b=Heh_$+hes zV2s$nlJ>c$R`_$ZO3k{8u-i?@oJuu8E;C4kMP<|<`T*zb1JaegcAIkaVY*6fd~jQu zmKa5Vmk^r5a3}Db^;ea~Fnf!h@@XA8*qDjEGU_k)8ci}(q^2k#OK}CoyRxjaqz@p! z`JBvPYAO(-!5rS9y6LNUXi)`ObD2k$^~o*m*7?wk6o={#lo*B6#eX()W+VQpIgIdE zsdPx^53-c;{oG)&Xkh;VdEB9PY$#yaG1wPSNjjRC4cH4-i5$&goT)d$U!@*#T`V6| z>-?jK7Ttwu{z4cv5rlF0LJoC{86S%zrI5mM>g`&`I`a(iGa?rIn(7ffNLMK`J7E?Z zfg=nf6x9_DUHQZ|`wAezFTqH)&@b{>cZ0NHSouB%2ZGj$KJn`lL2b{ zi~e4AUzo`OXvIN@?ArKvX8P=<;fz%Y3BzZYlVPg#Jk}hP%s-hCjo>qz>4(8D)Z1%pq zlBT(2WM&lsVm6g3-8aZT;9biM;c54`IK=?|@8B)*{|RqV10!cUM~{CMHk5VjkOWY8 zfRlgAX-U6Pen3er3rKn2cVij1 zH6U`qK62A9y|=t(+Fmxte1GoVs1jNuKd_KsqWN8E_S~;U$SZZp>b3ch=1;Ph4(6XM z?t!)u=Q$yZ9zF+oqYHPxMmBHU1zFpWLGPnOPzD@hdyZ2^zN()Zw~%EE38v)3?0gV4 zoD4DRV@3vMV>B>WFDYb=EK8Y;Go7yAQHJFkYXV4q9^)@M<`@P{P2h^x48>UjVrC`c zGX1GjFcVN4njk_{fUy{1I5wV!5(Ro_4w<%}K{PIV_jDr<6;AFt z+cl`z^bAOKW4OceCv_BkRTPQ~MXT3^^GIx4y##lE3oMTbi+Bv9LC#@(LVK&yXK-2T zusioP{~eDibrpYJ^IKHAagjGKp*IeeEXhL>bCsywC!gE^+5~4dO)&%65?N)@@SN*0 z5kmn#c0!^;aeP7X@%0%nk1w-NQm%HMoftpZWQgI#_djIbl06e1!(STm`P;AfpCz|| z|J057M*~9C!rDaC!uD_Z|6k#z@=sE+MbdzPR)EMwl`N||7744ev4M>SMHvdo1uMv{ z+9po5KQm=(@H$wW`G)!lcBK^0I(u~TQz}_-Vnc}6xpXdWNNjMM;d$Ypd*LAS`~KRv z0qE`}0!9pZ&2JpcZ@lPdK`=_&+?R8oPLZ_@WOX!Ivp(~YQZ6J*K48RvFMqcxQME+u*{>wE~U?CVGLZ5>UK;gUynUKI; z4pDna{)sRp+fOx83clwQbC1&AzZa6sgi0$616yc@=(8o!V>#p4==%lMcaV0d7{^BYCVwko0AlGSMP`{n1# z94h*C%6eXs7@8=;B~9;WOv1rMBdJKVweX>Y`9Zw$Ju2krm6Z&PISYxH)l@em50Bf( ztlkedyT_pm7q6nY`iX$d*Y!TyNHrxno6YoHbF7Vf8t1pp!~l0NTLl@wff*S>JwklT zYenhqNP~H?c9ZeF_^J)(dYb@b;FHz|T{cgfX;AH{8)42|wt(1VykiNUplVj&o0cVA zq!v-up7MgUz*I3vx3yr9TO2~gTWS?Gbtt!rev$n&dDg-H6ek!UDtetx-ap_`OkEenT+hqs_)&mq91!U=$a-5>@c zC>;_>0`myMyC7Gk;pr29cvofrmYzXM04`i3tbpiZO2>sU-QFEshYQgoNcV`IW5dwH zezyn5H)*-MW1Y4odVoULeP_=}#1V`-1du?6gdvoJc|513JRHp>@QHO+*d(J#KBAMxAjiomm|X_SGZ~ddXUZP?_V0hQ zsq8r=-8nd5+_4+{;dwlQ_X_^L!~X}rl-AM9c>d)V&Hs&Gn*S4S;r`-Q#=u_2#L>*; zpQsI1vrxiWLFJj6oSiBKw5Wt7x+MJ-DMHUk7zvms&R8E09>-#CeK;t|w7@ULw3V2R zhaj6I9=`7$o+Yx@IT+p$&x7U&MwtA-Q#L-Lto@d`6GvI0OmNbr0l-l1t-tMh<8zYb zb?r5^^X+v(2k`EoB@zu}GdUTfv0Yh2SgQX4>a-nIEMvyX$>7r``3@!6oH*6s^NV!l zzB?;sII;LZeLFY6e);i)R0nK~VpW6L!J3WJsHE!DqIymgTe8?@a4No7m`z=DW`#FGseUiJ&-x#-T-$X zpV`Cco_abT9&;K4X!92C%n+;o3(rP6F3Jg9thS`4#*S-NW`wJvW*>`!hQi(Gae>qe zJ?Csue#2!$_&81KI=gYMsl2rF;32B>jAaP;l`+!d>>^xWtBpMs^6VWL^bZ z@>md}NRR&BfwWNa6eqHQH`3n<-y&KgA>JI^Z{ss))A#(ev`6ZBo_PgWdFu+l{^_;u zi>(^~1)MpCr~+ZWgX63u;?jKdvPPq9Guq+HOt~(c0Z7!534S)Z3wIo%Ny};9zJz&P z*u)$%XYO!?gm^>^z0?(+yx>l(yQCP5;nT|qBu(@y3q}>R{18amp{*zp366&0fTP#p zfD_J!E(7l9)(9r-!umd?k-|~`Kd4F;WKkg5DtFRr>c@roRJcll&CzT5J?Wk7XXz4B z15Qxw!#YCtX$RZcCgR&L8w~Z?Ty`auN%8eO+o07gtL1wQAXMTk-YcWEmloN@{9rJE z&z&(dkkSNg(c~i*xDti#knGDOdMKDR;W5)y<$D|$G9aYil%6W`Vppg`;&+3~MI7p~ zP0Fc2L*?{c=|EW5+uDnf8WqY{TT2P-$})xnFiLcg#z#_is7%7>EoQh2GhQ&uS}I5{ z;mhf>{EJs|?a+q{8q_9)M_7@z+v@ZbV111U8wvvEx+9&xn8_hj93=X(y~a4RTSO%L zS7Xtgy#e)z+a63g?PL&6iLj-b-N)cn$HXw8PgibDiYIEFLJrG$stwY(zK5@# z>EP91oj>*R6&z~?`$UH5C8Td#L@?zn-BKMFlchIHZ^QQV-6(&i6vm8EN=<8I!vR-i zj%ipJn)!2&^B3$}G%#xX&6z3s>HTFVlPGC=`$YYC5j`FBi>4d?w5bLuVyRPf)aSon zzh!dFSkBd((vC>CH->e1&{>4v5?6fIKSSY|A8ldphDyQq?~j?%QR7iI3w$pNY));k zpC_vF57?Y4O_;0qO=qln33>98cUd0V@l<6TQJ=PT?BknM)WW({>F=~_Rb?&~M(Q&6 z3c07*WaY-I;wQ?ZG=|el#?S}+?HE(dqQ3%ss5$JCdfF0kqIx)kh8j(rp6L#eWuN)t z3mJh!zdmxg-|kY%((b+8nPf&pq1(5Y{BDqn8*svjcxD3S?uqIGP5a?1jcWE$YQ!E~ zn<9F?t5P2{(Kf(NI+4;({T1EFYzW`{V9Yf;4PR}0S@=bZLn;!e%@IM0Q!+xq=m7RX zAB|Qx79xA4J&6X*SuNW};U&1C%|U)GRDq;%B^kb!80p=0(#$kCyB zRwN~jUd7nx$i5J@`)9NcN=-!BWQdXyDLVD7fC<(6&slqRM5XlZiHM}7twVK883z%@ z-RLONI&tbZhMBFAK|~Tw^{(Tg6sR`E?w`ZV3q3!hE4})MbNPo2bA;;}=$9rxHhc}m zq~2R3xFo{H%6%=ueizYGONw1D(9c?oGfjSrGsEm1osSZTTQuahps%4X@BosR;$0s^ zZ*^h%&3m+FRNy`P2~lQq8qo01FvK7cK)#sIMkI3!8#36s@&&^6r z7of}%#CTHp^Nyd;CvL@(%?iE27y^mCf-*&MZ%|1eN_}p7q7t>nB);-|fSNu4A3xMI zesg8_^S#nM5e(nrXZDJ*S1c0cHQsrh0A#DQGZaPbX7;y^FC@t|plAn|9M$$`ODYpoD!yup%!){3#suYVDD+(Ib-0VSO~~)pT)`1mxy@BF zZwgH4e8;+iJ9vI+P`)ky{1x5c5N02ZSn+>}ya)Dw72*GRB(Lok*#~psA%6jZFWKrLk^ksxjF)G&yNrM{O!P(NALnUSd1k_Ef!hcB0>kl^x(93<9LxI ze~nVgG~njOqAGnfIwymMswAS8nS9(glGf~HcuRkZo?r?dx}%tZ#3W6jeL@B$MbW@Y zH(?+h1w91%{vj1#UcEPcJ$VZGaR?ao6P%t~T%B5<^Y2@nUR_$!5!peM!A$l$b*!D+ zOAqmFbI~cWR3tve)%QXWB=9#S(VM>3i!e76o&Z2Ez(JUL1@O{AV4-?0D!mTuX9j1` z8kP(Relq4t+;~dMyJ`8MYMn#Z(MFy+ny8E>iN$}jRPboHFlQr!{koHL8-L+Gx(SS{O0dp{DNm!dz%9j=XTD5OXnP!1fS{!=JLsoMev49*yc_!-q}>IC^$@1=>m`@ zK~SlXo(ZU~tB(mEMiG(+dSo0*rdVuMQ&kk!LD44lhG3(6(1}jWb_s^dEN^2>n&N$K zkKhUZ$3#w6g7!C`vS>)zgTuEqcOB+Oe+|6gjT4S#&jChFKWfOONHTfiZvB|nTiU>- zCZ8M^2BFq=q9@GvFqAIBFU;=2alOxrLNR(b_CKc-izoJIb0>%Q#yK+5)}0yZPJk2A z!=47BrUH8O=WMH#hV7$bR|Zc26|E}fD!d@Ira?DTIJ4wx9D@koZg?*qZo~_#A1sW0zK@ z%B0?tR<{)qr0u#%ONL~Gg;DOQV*h^p=gy6SJ%b(qj_2 zb1GsIuZn3zN4R&0T4(M%{y1*uZM-}Pxm6P23mJb}=|(j0<$B=|Y=c9?INX>E@uH1} zZLf?ae90uvgQodDkIA5T8g^P$7L4{FbYdq#n{G;U6Qe_ocax$GXY^okclX z=Iv}iy_f18E`K2Cg&jYK` zAn}^%n$(l#1v42~H)+$4r#4$d5V^q7#X(z~Pp88P?1Y6(9Yg!Xx+Z6E0D%d`VVFqE z)HzUNKSgb>;4r)H zh|(91Ra_~*!~C5q+O1Dserv&1a?O@UMfuTuy%AL_mO6Ks48-~3knczSP!_q6LT6O*m!uxLCn3vsrg$w(+Z zjS&wjexA$pylk4Rg+YI)o}-=XZz}^~hgzT(WkuJ!gMA16+fqp!zuaq6{7lN&&><_P z`X-R}XMKs2R{eX#rRg-5P&;cBonK94zAc1AQFzUt*=I;bMpoDbrQyYGeU{J+fsvzK z2n-G_`eRm@kXxjN=bR6>IuzJB{7mVc8#u49uer*fZ&JmP0rh+c9YFkW{`%I(i!8l3 zj`X6WW(ATawSB{FyaTG1sH5-|`N*PB0Y9upG2zMBw@6weMi(pEiv!XjR4@gq>A#}a zhz3g+GN+Aj+VsuXN<2^S51Kp2799bqcwg^Jg_e5-n1$Q_9QoO{%v`GcuQ9;F3Mym(HQp9{KGy zl&CzvP+9=7YLr`V1;>$rlhC>*c9OyzwDinrVN-TGX^P0@>+X)STBY11gD@G)?`*`O z3uEa%#DQkAi|r?$2?J&9r+ZHv`_d}W!OK2&fxEBTh+~31UkrkIAotqj0y}*}_RP3I z{{{a?|1`lyK?&DW|Hwr3-HuJ?=+cXfUH>~^&;bd7@MHExixdQ=StSG|dZk^ZS*19o zT4#NZT1|UR`J*^zdgoo|S?9ROIEy$eeaJ=t7^3F@e;+BcK=k96z5eE$=ZxGs0juhF zW}~bY9G>jUi-}a7XcZ;8<$ghn9i5uAnKgPJ)n9AZSw7;8`Rh#_Wp!V(WQXn;Of)+n zC|50_)_dNjN*JVnXFL?zuRL)g0Hu5WIL9b1h~iqKT{^R}^6OjEr=N`I-_($lG4s&o znd;i0mr#+Upa*DfB(dzz)o=jXD;4`mGnT_$Qb!NH`LLI( zNS582X~g?7E__{vcn;ZuwefaKv?2l!{!IaxEg>>W(4NCi8=v4e#bT|yg%Fxa8I_>7 zD?cr*s5&SSb#5Pc87jY`lM+3jjKtHADI!!0Ax3@YPoAGotx~`|@aq3(%@qA!G<$qP zjCSDYg_(+@f5xGVgY1h9UbOfKkgnSC*2>8B>MSV4Q^FJcYMC1qK1GP}(?i0lQFdI? zcH&nZ0!E^9meQ$kUq_T<5*DICM*&Nti^;IMft7$8vT*yuW1G9-lkK=rD!Ru|nBeao zszk75&b*Sqz2}x06X<}PPE6tv8H(Bk_5z42VW{jABRi2{ZMv&O%NNT*EmOe|E}(Td z&K)aEhi7%PIfSr-jRJ-?ln1GaJV9&g16*r)(encRBN9Xg1HNvFW~b(MSThYFNDM@{ z&1!+G<;%Nda-$Po=F%=8N;+drl*kndm9q!&kek)g?j!#XzC!QT_pVR&(sx&5*td{j z6&D+PQOJ}(A#%gJ(zi{=ac3xyXx*(;U)Qu}T!zEaOo#v*RJ9h;-dAV9YSPY?&apH? zqUM=Esw7-wlG#-ng6;i$0#$Ir^J?Tf-1g z6)K_FEgaY_*o{fu)hnz&&E>`zYgvl{`hQ-tfHNe~)pXIm}53T^+y@+=!L<)KhN_KTQXbEB5y2W>Rp?K+7_;!!f&%1tr2 z`I{-9f+v2xu35@6%MH%d=rDk%_~@t_ILy=V4;2*S$tS(po`#96}du*F%9f5ZlXPCvM3`!mQKGduf=B>g*g`H=BW0gbOR;Hvt4n48JCt8lywY=Yk*dYc;E zpz6l41Nx5FGp;tB``nq#YLoxKS8jTpIngFJT`#mdD5EAcW)yL)Vmn=`SL>qe(w343 zV5~M=l59zdSVR0r1r{iyQ>$ImTlQ=nd)=<6q1S02P+8DBXIxm2r>qBcA?#^lZ+t`3 zr<}r4JqgK9HmaJRQc`VrPHoV>KqcqKV1kG`CV(r|RVr8A+^RLt7Dm^qYpy5bf52Z-Tp@)Cey zJI)FYziQPFe2*8AMXGiBY;;E8g8noW`e7Layr!TAT^e0tHL*bpnMmDE9o<8Jb;hfd z+2b~}=~Q#X{kD14z5JdMfkp>yhMkn!{qRiL<+~i zZtKpxM-1n0L%xo6ud4RNFKaV+B>EI}8`BFq#a_y{OUTld{Ckp5(AVaa);l|m>_xmh zf7asRh?pxn{}p7TJB7Jf%TiuU>mhz@QSQNaNFpicWV!CMEYBt5qu^_irrhudd6Mk-BD z50J{9q~8Bb{ZjcjXvAfc#cTmRXB5kD(K3DQ2!Ny?dyFa3E-MeXXwCI-{~65TRhUmU zF)94-h>Xt}<889!Hd|fe;v#xWTx7id(^|Vc`Mooaw8L|v>s^}_8Rhd)xLoF)yk3%6 z!s|Hi^LXZ%l8#5pCv@j@2_10IM!H}_>e?qa)Sd&IPw>~D5;?oYbFVa4*+y--_<997 z=WC_+gQ0RyN(mc!FEeA0Zb=NNheiGK#rb{nd-XOlW0I|W>&h}vU1Qx(YJvK37|7$~_%7*ZzzR&Iy1v9HODgV4V>O^Tt_vt24N>V&0|l`u06n zj7eSD>mJ~Eez;OO=v96=QQD=2IQV zra6h)UPep8h1DX@x^!C&jkKAlw1r*tGZb4^xboSFXflhO?C3a}d7fjce->|Tnowhh z@2|~MR((BR--4yFFfK2fEomKrrj>5u`@JZ=f>+9?Z?WEZeqBUg^s?Y(f53X5UR1&U zEvsSVY0hkYIN)`<9l7s0PU7~NYTgCtuN;18LH>fc!pVb>!6Cq7E&gcZsclnj=DVY@ z71~|7028fTdi3((ceol9(63s5(W*A|FKDy@A<)&=8@MBUn9>V?q_!rym9ZYUt+FF} z@Yw-7(YhY8#lHx))VmU~!@vGo>|TxB;a!5B>t2go=3R{h7`-!cqr4Mp2YZ#*73w;_ z6y<5%q2tgWYwVURy7qw6R97Mtz=52+NYB~v(Ro;U5Ko7yoOe)j)uBtNqo?oW2P$n= zHIimdn`kjtTJ$kMJ?5q}VMSkCY_~50q`X(I9Ng7*S}`y&@4Fc9A`y8OU)ky{6m}HU z9PQi#R(bv!?b~oQ$24lFuylk)QB}Re+w@hEQc8Gmk?M;;7o$}hdouA%Y^w-E z!hB(6I!Zms!<}$NsW|a?yyJjg-smv|I{OWGZ(@VZanVI(wUmM1y83ZbW_B25eZb`M zfX;Mmsa+C6nKvYX;$vdP)3vE1>svMp(mMlYUK|I2{W%ZYNj!Y%<@jS;RN+`TAzw=4 z{!u;sTT|v?%YSkKzal?kw3qgfD#be%+AxWk98LZMt7`?wtv=&x z%%`yQ&(VOw*?91vx1APDe`ncaAik#kieQjo)rgLn#5cju*~(d@9+;L0bORd&MNRpi zq_7?$7Bd210|E1gn1&c=HASC1fO-o#z`E;_t-2c_Aob&`(sWfE2`g&v7AoR{OQ*pL z!zhuytw0y2ar`tM;DnMIJDeMTE)!w47``(;q~_QIzjMFa?g^O`Ue*s!?EUbUsrk&} znu@MM$Dr4hS@c}y*iAq!qpyiUIls!p9THFb4;8y`&`FO;%x3b=u(v@d>Lb)=ji0n8 z?UT>O=a`FV`>vOPoGCtf-|#Vt3v7?-1Q7`lF52AL!b*f34C789 zzXf(@?0X0rx?KJ{EH?D4Nzq%;Lq<41Nxt!VNyeg$e zez6q*gi_tndD`jTTRp$;&o_@T()=t8X5VKcjXjOaoHMq6(2g5sj0O&C?sU^yZO)sv zHRydOeJ=X++{t-ELH!{oFuvx4du$2Iee}#<7*=IR9jiqFe_~1ExE~sN>nF{=s((*i zWwb$FmQqn1ZzZZmo@wRGOj2r-$TH%&3kKb(`%X{>AexBZaBJfO9bOk>fL;tX4Lc_jr@MC&43ES~6L zrq|(n@kZ9dUA>{(#O+JnLgOT+PI=#g^d!UpKU`=TKdmqm&t`r(Aj~jst;jMt2m<5b zhq%p+BjIKV_QfC=d`7>{_%R27 z6y8?lPz7%2gJMZXxk5?plo+h!HW_-{;I{+CFq+=Lo{KOaz|dKJh@YEq@8KgLkg^p+ z?dC8p@U063X9-6?B?Q_PxaPN%f8{J+8|3MB=%8Q(&NS#DRkhB~Dwq^8Iur~h*6so_ ztE533$$a#B5|}A4PIe}@$)-$g*IZFE7P2-=o9mUHKQ3oIW^G#C4rf_+NURVWCno8{lowZ1mU2@8J1x&0K_0W! z)>Psk`U>liiE6dXfyJh-!|C8ul7upt2tZqt^f!fM3yhw_$q3?v5#!;%%mA-$9@<=7 zHAPpRwNs=>ldYA&S22AEIjvsJY`H?upjQwCQU)8 zY|_LY+Mh2$VNmlZuiYB8iTV4MkCmLR6Qx61u~IU9Ovv)qW2V_8a1z6cQlKS(-$P+T zttQPN)!8OUV6}pKqDi_rzwSJot%gmxE+Jk#gXEFf3O?+@;YPV_A>z7y@OD+fnrb!a z7}+{$j|6*ghSF-8V_8?{ag9n|M*0_oQ9X66k^sdKDhjEZJ-;E=z+o_eM)Chi11$cv zpVkd5%3z7>O;LArOSkI~fr<6bXY2<)w6GToF@FHh0S+kSd&?4^PvAe@!)?-vG3P;< zyC(FD2^4cKj|*^5=mk4%B)B}Je+}s1)ytK?>Dqt`Gu z>*%aFKW;o-)?v=?@+ze{o2uCv>uUifMp|iywDZ|4<~Fp)JImXOIDz%Zp!q%QMR$uj zhP^+CBD)&-EfmSik-u=`->PcKp*4Q5fQ9>?uHG)w5OSi|L%1`8`$R^NZJICt;;xrq zwL{gLnM1iJ_eDc=Wanqo*9i}6L}am;8FkGXut~*sP3CN-r=R4OBvuFO@<0DDTT2p0 zU0dp>P*!N~q7z%nku*G%?ol@a*!Kso(}QIX5efq@zyzUisIt)k#8zyP!w>` zRPGnu5L|+&6LDwFbP%`I>Zoc)#mJ-v)-nbU>zo%tbVpP00&V|YTrgXw{BTCJ&M7SG zxMI(fz)@6^%1*?3gxi?b3?X$&=LKy^b66q;a-cYchQ!PJ#LyozXLJ1yWpjkQn4J1u z-cxSNi+cjAO5A}-D8FGxItXic>R{bBCZUC;&4@^*2v1PBlXDYzv)2Uto}Q#sk7OG< zQCDhtSzGrtAy{FF)I=T(Tm8!J;ogFT$vmU2scG3W(b5p1PcfJ6u~eBilBm`zgAU+d z_VV&_uB+m}V5iriQkK@zbzyaS7pZ(OUIG`kL@;u^?jyi0)SX^uA`&n}t>!dkSh3kX zD-6^lVb#Wafq01MvH1;92HhLo8;5e&EKRh>;tuh#C}v<)*y`kDigL19FwDBJ5gSmQ zp%bLJ>O_miLF_TNN^DcmV|Hv%=ov5jQ2b|tEA1AIBwdzEFyHSA1euLG5k;u89+e4@ zQ^D8bL?}FyAsY!h3qh!~D_tGK*7#sa{_i}6+I~f>APotwW`pu^^tNl+{^{N62HMN5 z-HWL(ykC=4&$U6|(qz0FObJi0>=S#`uU4~({V-XOR_lA3BN7qzbfWjVXnW- zey5@(bP>Z%&(yC+t*LyBUct{$(&>qU_@y<721ccC#p>O(m(fUh+~N)LN`6Syh~ZhD zAccph<^Kvz;>yinG-8T9i{OX)as_daUP9`exfUITg{QD`kO)c-P9l^f)nlqW)oA(g zuU|*@NcvJzRT0%TLI}yd-Wa~5kg-r`3g>9HZT*UiBxUN0j}moHd_x{d0v`@w6aki^ z=dqx&*U^zhGV>NJXK`i1kx6uSyj(J$x;G3O&q6djw!!VEAAP)kNY(bxdjBkV;866I zj7q81jZXyfjTh_GjsGNC&k?fvPA`EUwtaRI97``|4wAlxL>>4u#r~&eE>pzmPc*xF zs?er<2QJW@lP>&>?<%+qH4j4SIi(BvIjXxG@kngeXthJR7K2JfOFZ;?QZDmVx%7tD zgxpTBFpodq+g1jfc(x69-^c_lf}ihG4R!#;-1d>TfhK7Z^?94_uzNkPC!>1{2kGRk zLC!un#m+~@eMkWhBli;p)A;feciECL9u3y3E3H{#!5JZIHnv((iub&T^*&RxN-?0< z?}SxmY&4vGGw;G$^3LfbCL?xc`sUJ@M~kt+ZVbYM!xHtr+dNHJD~dA}24&GZav$&F ziUJCSo*;UZ>NfNH1%3wrljgLS`ooq!q}}_=w8aY1t$RoXdH)2W`x!6wQyuQJUdb#->N`i`x0nbgMKJ8KJAYb;eH%zjF zQSAI2UB8s{vjb1u0~R=Ou}>01B=sD~?I8HTXkg?I+fnO5|3W(S-SW_~6^IO9ipd`i zbHf`DD-tCK{24yawau&mWD4xp*IBo54~Gt7dJ)=q0pz_#n_M$`3$}LG5RzaSJ zBf^SMkvjey=v9^H!p8ENhD~&L@?`JTaQ#gd zQbQ3%qzH&oB4sF&(8P!c7^HU)snUWDK|lzK0zyzkiUg&X1W1Og&$Eflu)DK+^5y2k zc~72u|2LoB^9z_vG0kAR||tzyul6|drwyh6IGy-yf!JRLTjLzYNLjgF_D+44~%9yi6c ztq{jQ$Xh8HTt^FPS0cTaH?HU}jCXsUujp_S%T~-GTsCt#(jJOZPYVVNMinPNW`U;4 zBfdr)54S_Hd--!CuMa~^&i0VgbuE~$dc5c^>dT7^X&f1}+)C1qF1UjSF5EbJ=p}1& zlYU-d<+S~&%fYskHkTT|jO?(R5}vTkI_djD{>x=@jggD|x*R7)K1ITvOnag%(!plID=SZn@mf0u-<|!VVBg<_R-a~E-Wq%5e36fh$(Zhp{rYUz0WDl zMc#p@9;kg8@_i%L3FZU?300x1DQkCzE)DP==nJ3vwD7L0CqN$7`HgS}9UwE*1 z=sl8IV(sE-9^x5Z7mv;eWDrr=O(mFrViae;@yq0CliG{^)Et&frmA*W2(vGM6W2^; z@~w>^h-Gef;|bu@?9Otn8_i<9|G&88 z9&;8GbAZjF7u^1G^*2K+K}wwwNw)MG&+j^@bg2|=9VVsasa2w4AC|>HeFoB9@u-6s zi#y>9^IHI0x(e$>qMjR~fgk3P?}^>wm0Z^$)yRkgc{6Pd-4RGsAj{#7XPC!8-B7l} zY18##T{2;NycBu{@%AZoNt2YY;CZqJ+@dyg&Z6}_9E->BW)e=&LuGR@vlu4Clq5Ce53 zGogFPJffb)<8W{#a4z0b((*^g!eAeZb$n}7_sEK_Yt6#|Y_1C0EHl$UQa}$6&siLZ?fWlQ4c)7c~U-MK6*i?So2kS64OuIFq zabqIL_wl2VEuR}W$h4CTT>9m~uLPty%4tQ9vzQ88dCgI5QCF`{2Je+!w#EBpHTgy~ zSYK3rF^Y~+OR1gC-(T>)=yB2hoUr;&Q&Ls2*F$(+Vaw#NiYzTJ zfh2RKF z+_HHEc%@&%d3gs=s@&gZJ!E9R!}IUCe2Y^G@x<(##h!y*id(C?S9=i^ZIY0@eE4N& z9zXUsrz0OZui*@)I3R7PjU$Ls0kV`C99=1tolX z-zot*{Ob~meNpsQn?!C_n%##P{Op>FKBT%usLDw}(QbKTf`6d=i_212LfFge{x!n9 zPm0e+DL=d^*6n^P30OrU#BMoGczIcrG`wlNGt?T$*M3$lsD8vK9p^kzBP(b+s!e!T zSh;NFBN2qGG6Ge6kun=_F)|zABbXVRH(Q_w_x(ag7V@>Q$H=VSd=^cGc=$(olRPHh^J zqyWg8?f~tA&?r)z`eSAei%jv>R#gl|f=iv{)F8Bwc>yXTAXkB?K?J^}K*%>w3Xq|W zo78BX*^dV6&udvpha|626*vc4oT>5>SSoYzK9ZV3Ps%<@S;<2fP(!5q zC}E>wB&z3W(1 zrUA0(I{g=J23*$eV`#uEx_tlLm_OmOetsB?G$R^7i>|uAG4;W?nN&LGB0Ev=YNS3dWDAGAwNePDMe;Q!0}sYJ*aOKX8K_Dp_$>*BXxqn({FMmMdC z!noK8=5!T!UxP6oW0PgM2==M>*YC`+=2ef^~ AYXATM diff --git a/tools/mapmerge/old_java_mapmerge/Run Map Merge.bat b/tools/mapmerge/old_java_mapmerge/Run Map Merge.bat deleted file mode 100644 index 5bb8f1736b..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Run Map Merge.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -call java -jar MapMerge.jar "../../_maps/" /wait - -pause \ No newline at end of file diff --git a/tools/mapmerge/old_java_mapmerge/Source/.classpath b/tools/mapmerge/old_java_mapmerge/Source/.classpath deleted file mode 100644 index 8a11d5b17e..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/tools/mapmerge/old_java_mapmerge/Source/.project b/tools/mapmerge/old_java_mapmerge/Source/.project deleted file mode 100644 index df472fbdf1..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - MapMerger - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/tools/mapmerge/old_java_mapmerge/Source/.settings/org.eclipse.jdt.core.prefs b/tools/mapmerge/old_java_mapmerge/Source/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 3a21537071..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/tools/mapmerge/old_java_mapmerge/Source/.settings/org.eclipse.jdt.ui.prefs b/tools/mapmerge/old_java_mapmerge/Source/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index ea0a123b8b..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,60 +0,0 @@ -cleanup.add_default_serial_version_id=false -cleanup.add_generated_serial_version_id=true -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=true -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=true -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=false -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=true -cleanup.qualify_static_method_accesses_with_declaring_class=true -cleanup.remove_private_constructors=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=false -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=true -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=true -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=true -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=true -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=true -cleanup.use_this_for_non_static_field_access=true -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=true -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup.use_type_arguments=false -cleanup_profile=_Default -cleanup_settings_version=2 -eclipse.preferences.version=1 diff --git a/tools/mapmerge/old_java_mapmerge/Source/bin/FileFinder.class b/tools/mapmerge/old_java_mapmerge/Source/bin/FileFinder.class deleted file mode 100644 index ab01a656c458ab21fe7af582f5c7246df388f46e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1882 zcmb7FZBrXn7(F)$EQAGGNTIbLMXi!eY3ggWi>W}1Vne76O$A>!$r3Imo6PP_$A0!# z_%GD4VC{_4&;BOI@!UJm;Q!^Y_1h{srJYd}kmc5MPs3cTIX_ z*EbLonA>+AI%!YV)4QBV=Vh&-=c{f(22$010i))q(w@t=i`nkvyN=r1XieHg-mN#i zvW^7;=US;vC9COW-*+BmWuTZeoR<~PQBB_!NcGEE>QlqcaOL2V^rXrVdZCq4b-YSC zuYBoM>|{Y8wpuT{aYQk0VgzRdq6^7_feC@hkajnhIL=~x7=$xnU?`4hTrhB6;6itg zT8jLmK)JQR#4EVSJ}a)e)OOsqy@&Q#f!%L+!;^8(4QK!sjNksTgGOzTUax2`-Dw9q&D#>K07|P6mYt)49OjR1U@%$2U(sK zr%b1H9j(pczFSgua%UJh+%>Q%Fx$;u)9nz$#22_n)2(jiw$^j^Nph}7>z)NvFSZ-* zRH7$Qx5L>1y*cb)v1j_ldqz|*6mc}KoYD^)PNQw8?>jx)Zts5~zswDBn*1vhAL1kW zB42O%rSK}H<8|jP3t!b53S93geB$CgCY|d57Z!VjM>~ zni$6zk{sV#Qeq>zup6Sd3qG$lxbNG|qhL2|gCcS-<1j;uEY! z@H0$)Bv^g@!Ef03g-KC7FFeV{5`4~Kme;c`Y_))n3(q5uEfyj;?xVm$1~2Icj79M! zqm<KQUu4zQy+L_!XOA+8APY5^noIvl@g3;peX>)qmy diff --git a/tools/mapmerge/old_java_mapmerge/Source/bin/MapMerge.class b/tools/mapmerge/old_java_mapmerge/Source/bin/MapMerge.class deleted file mode 100644 index dff913a6b9443f37dd53caf7992a08c542a9cf10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3519 zcma)9YgZfB72Q`7%pecgR{SEEWGFc1VUUCABY<&j7biG891APKY2yyk0Aout>SzQe ztsA>_)1+zKhx^K-Y10>dH^!-;_Da9EYxQGSv--Kep=-sUsC+?eUknhGKU+s+&FMm%HKv+;@P^JdBusIlx^fzJm< z{k4K;W#WmHVcVuVAP~(N-rS_aAbEiufr)K7@fj;)#!qpLHtJw1W7(EBBoJ=zND4%b zJ8AA$FR=Z-n045S?FzP4VM#3JJu|Bzh6e;fmMyR|*or%iNO%d)HI3{*6dHDF*oEB! zwS%QS_q1Kv`bZzO1)Y@{<}yF-B)cw$O%XPf-(P z(W;o>Qo_lal$1TIFPOHcFSw39+Y`l8NGLd6#z(1CcxsrGHBfRgSjLVbiDwi%T{iXw zu&yf&Q&P5DedB~@q%KUlM#@z2tU%|uqtD3FaBtVtecp7-)^n~iZ>7z&p0-?`1&+Je zqT(|ID@oNoN6)hDX`Z1#`gIBRoQBUzOf~*CvK^;2q>$zzV4D{`*+Do;olqmCH zG#QxqH_@v=9kmyTk>VMZQV8CtrJ&Suilr9ZqQrDH1vK1M-PDV@ps@wI0yR|^ad0z< z4KYl;Par$rKNb|s5M9EWwGFS}a`&E+mjAD49Z3~L-S&jDKtAooQYF%kzUUP61%qOc zOiQsHk%SgB%u7Nel28Q~1$J*7+QDIStYFEKM6nOgYxq3AKyv4eOu?KW&_^m;HaO(V zy;NC`C>GGC;susVxAMB}c)Fo8h?S-?JSuYmS2TPHU*<_`NZpm8%jaIeVMXW? zIyT<|zM|npUmczk*vkxG((p3A#;VR4`Ee#WVzYPHerM(4*EPHn#bQCZGH-t5;^yv5>GL8pN80dBd|kL6BpGri4FZv_4+HP0*; z(5&JYWTt1D-CfA3_$6!8oywR7&xT*)w+enkQmI;YS!&L7HRx#JOy10}yLl@;%0N8X zBD`yJ@&de9SF+Q{@x)B2)53hI^yd|!1;NbpId(JG0w|>yGi`b06~%MT<&AlEi<&d? zc~;V)dBQ2UDfYFzfa{6W|1#;3IMBkgH_Q*05Tf$R<|ryJDn29pt>c@(7QXfRRzSmT zXj98*Siz2)*mJ}8e9-p_`M>qFZt`bAPu}Sz|2Ut5^EI6-*t_9Y>rbk_ixwE*Av{dO zI!Pm8eT3r(S6U?uktd7@XRdXId&BQx-zxUsME7mPr(%z;;LzwYy1Q2Kv8TJ<#o*Y1 zB0l*R9z3v$6H9n*d>JQW<3*h6F5=7*{MWO5mD8Ut;<;t)DZ=>QLH%gks-oQ>&Mw}O zy}T;tDRszF5TNBCh(Jlk2a(w)Rio@Rh-)H_;&7uSxf{e>ELm z5+Xdbg#D!m&8zsPjBuS1I-865ZV^8SB3%uO=1$i6?X`c%0B^96OV}6e-ybQtH%2}b z!TSM%q2@QRB?yE=&6Q}-QVJ6LArZ)}iuh6NC+n#!t*yu$SMak6VEqv}x4!Mq1MB{p z#z=oH{}hGNoeIa65>t`Jn#5F1V{Kxpwoys+tBvX^eswjpw)gclA=@O7(TkJ-C>j+# z7}s$EzvH;bYQD#M z{)N_m!;|y*Cqh;aAAc-J4b zQs#f;sD?;diTWM>L(#={Sm8(^sv4|P_$u2Z5Ojbk%Qq?LHq>u<_%0q2cNtXvwcbIj Z7^AU7(XV!z#zetWMSd{MnL>` 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 I_ { - private PathMatcher matcher; - public ArrayList foundPaths = new ArrayList<>(); - public FileFinder(String pattern) { - matcher = FileSystems.getDefault().getPathMatcher("glob:" + pattern); - } - - @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - Path name = file.getFileName(); - if (matcher.matches(name)) { - foundPaths.add(file); - } - return FileVisitResult.CONTINUE; - } -} \ No newline at end of file diff --git a/tools/mapmerge/old_java_mapmerge/Source/src/MapMerge.java b/tools/mapmerge/old_java_mapmerge/Source/src/MapMerge.java deleted file mode 100644 index 552a406b13..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/src/MapMerge.java +++ /dev/null @@ -1,108 +0,0 @@ -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Scanner; - -public class MapMerge { - - private static Scanner input = new Scanner(System.in); - private static Path pathToMaps; - - public static void main(String[] mapPath) throws IOException { - pathToMaps = Paths.get(mapPath[0]); - FileFinder dmmFinder = new FileFinder("*.dmm"); - Files.walkFileTree(pathToMaps, dmmFinder); - ArrayList foundFiles = dmmFinder.foundPaths; - if (foundFiles.size() > 0) { - try { - MapMerge.merge(foundFiles); - } catch (Exception e) { - System.out.println("Something went wrong."); - e.printStackTrace(); - } - } else { - System.out.println("No files were found in provided directory!"); - System.out.print("Path to maps folder: "); - pathToMaps = Paths.get(input.nextLine()); - dmmFinder = new FileFinder("*.dmm"); - Files.walkFileTree(pathToMaps, dmmFinder); - foundFiles = dmmFinder.foundPaths; - try { - MapMerge.merge(foundFiles); - } catch (Exception e) { - System.out.println("Something went wrong."); - e.printStackTrace(); - } - } - } - - public static void merge(ArrayList foundFiles) throws IOException { - - System.out.println("How many files do you want to merge?"); - int selection1; - inputCheck: while (true) { - while (!input.hasNextInt()) { - String temp = input.next(); - System.out.println(temp + " is not a valid int."); - } - selection1 = input.nextInt(); - if (selection1 < 0) { - System.out.println("Use a number greater than 0!"); - continue inputCheck; - } else { - break inputCheck; - } - } - - for (int numOfFiles = selection1; numOfFiles != 0; numOfFiles--) { - - for (int num = 0; num < foundFiles.size(); num++) { - System.out.println(num + ": " + foundFiles.get(num)); - } - - System.out.print("File to use: "); - int selection2; - inputCheck: while (true) { - while (!input.hasNextInt()) { - String temp = input.next(); - System.out.println(temp + " is not a valid int."); - } - selection2 = input.nextInt(); - if ((selection2 < 0) || (selection2 >= foundFiles.size())) { - if (selection2 < 0) { - System.out.println("Use a number greater than 0!"); - } else { - System.out.println("Use a number less than " + foundFiles.size() + "!"); - } - continue inputCheck; - } else { - break inputCheck; - } - } - - String selected_map = foundFiles.get(selection2) + ""; - String backup_map = selected_map + ".backup"; - String edited_map = selected_map; - String to_save = selected_map; - String[] passInto = { "-clean", backup_map, edited_map, to_save }; - MapPatcher.main(passInto); - - // Will try to fix when I have time ~CorruptComputer - /*try{ - Process process = new ProcessBuilder("dmm2tgm\\dmm2tgm.exe", selected_map).start(); - }catch(Exception e1){ - System.out.println("You are not on a windows machine, trying the .py"); - try{ - Process process = new ProcessBuilder("dmm2tgm\\Source\\dmm2tgm.py", selected_map).start(); - }catch(Exception e2){ - System.out.println("You do not have python 2.7.x installed."); - System.out.println("Downloads can be found here: https://www.python.org/downloads/"); - } - } - */ - - } - } -} \ No newline at end of file diff --git a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/Location.java b/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/Location.java deleted file mode 100644 index 2a901d54b2..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/Location.java +++ /dev/null @@ -1,42 +0,0 @@ -class Location -{ - int x; - int y; - int z; - - public Location() - { - } - - public Location(int paramInt1, int paramInt2, int paramInt3) - { - this.x = paramInt1; - this.y = paramInt2; - this.z = paramInt3; - } - - public void set(int paramInt1, int paramInt2, int paramInt3) - { - this.x = paramInt1; - this.y = paramInt2; - this.z = paramInt3; - } - - public boolean equals(Object paramObject) - { - if (!(paramObject instanceof Location)) return false; - Location localLocation = (Location)paramObject; - if ((this.x != localLocation.x) || (this.y != localLocation.y) || (this.z != localLocation.z)) return false; - return true; - } - - public int hashCode() - { - return (this.z * 256 + this.y) * 256 + this.x; - } - - public String toString() - { - return "(" + this.x + "," + this.y + "," + this.z + ")"; - } -} diff --git a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/Map.java b/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/Map.java deleted file mode 100644 index 949db7e6ca..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/Map.java +++ /dev/null @@ -1,314 +0,0 @@ -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileWriter; -import java.io.InputStreamReader; -import java.io.PrintStream; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Set; -import java.util.Vector; - -public class Map -{ - boolean sizeunknown; - int minx; - int miny; - int minz; - int maxx; - int maxy; - int maxz; - HashMap tile_types; - HashMap codes_by_value; - HashMap tiles; - - public Map() - { - this.sizeunknown = true; - this.tile_types = new HashMap(); - this.codes_by_value = new HashMap(); - this.tiles = new HashMap(); - } - - public Map(File paramFile) - { - this(paramFile, false); - } - - public Map(File paramFile, boolean paramBoolean) - { - this.sizeunknown = true; - try { - BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(paramFile))); - - this.tile_types = new HashMap(); - this.codes_by_value = new HashMap(); - this.tiles = new HashMap(); - - MapPatcher.Systemoutprintln(new StringBuilder().append("Loading map ").append(paramFile.getName()).toString()); - MapPatcher.Systemoutprint("Loading tiles"); - String str1 = ""; - int i = 0; - while ((str1 = localBufferedReader.readLine()) != null) - { - if (str1.equals("")) break; - if (str1.startsWith("\"")) - { - if (i < 1) - { - int j = str1.indexOf("\"", 1); - i = j - 1; - } - String str2 = str1.substring(1, 1 + i); - String str3 = str1.substring(str1.indexOf("(")); - this.tile_types.put(str2, str3); - this.codes_by_value.put(str3, str2); - } - } - - MapPatcher.Systemoutprintln(new StringBuilder().append(" ").append(this.tile_types.size()).toString()); - if (!paramBoolean) - { - MapPatcher.Systemoutprintln("Loading levels"); - while (true) - { - if ((str1 = localBufferedReader.readLine()) != null) { if (str1.startsWith("(")) break label270; } else { - label270: if (str1 == null) - { - break; - } - int k = str1.indexOf(",", 1); - int m = Integer.parseInt(str1.substring(1, k)); - str1 = str1.substring(k); - k = str1.indexOf(",", 1); - int n = Integer.parseInt(str1.substring(1, k)); - str1 = str1.substring(k); - k = str1.indexOf(")", 1); - int i1 = Integer.parseInt(str1.substring(1, k)); - - MapPatcher.Systemoutprintln(new StringBuilder().append("New map part from (").append(m).append(",").append(n).append(",").append(i1).append(")").toString()); - - int i3 = n; - if (this.sizeunknown) - { - this.minx = m; this.maxx = this.minx; - this.miny = n; this.maxy = this.miny; - this.minz = i1; this.maxz = this.minz; - this.sizeunknown = false; - } - if (this.minz > i1) this.minz = i1; - if (this.maxz < i1) this.maxz = i1; - while (!(str1 = localBufferedReader.readLine()).startsWith("\"}")) - { - int i2 = m; - if (this.miny > i3) this.miny = i3; - if (this.maxy < i3) this.maxy = i3; - while (str1.length() > 0) - { - String str4 = str1.substring(0, i); - Location localLocation = new Location(i2, i3, i1); - if (this.minx > i2) this.minx = i2; - if (this.maxx < i2) this.maxx = i2; - this.tiles.put(localLocation, this.tile_types.get(str4)); - str1 = str1.substring(i); - i2++; - } - i3++; - } - } - } - } - localBufferedReader.close(); - } - catch (Exception localException) - { - localException.printStackTrace(); - } - } - - public void mirrorY() - { - for (int i = this.minz; i <= this.maxz; i++) - for (int j = this.minx; j <= this.maxx; j++) - for (int k = this.miny; k < (this.miny + this.maxy) / 2; k++) - { - int m = this.maxy - (k - this.miny); - String str = contentAt2(j, k, i); - setAt(j, k, i, contentAt2(j, m, i)); - setAt(j, m, i, str); - } - } - - public String contentAt(int paramInt1, int paramInt2, int paramInt3) - { - Location localLocation = new Location(paramInt1, paramInt2, paramInt3); - String str = (String)this.tiles.get(localLocation); - if (str == null) System.err.println(new StringBuilder().append("Null at ").append(paramInt1).append(",").append(paramInt2).append(",").append(paramInt3).append(" Possible loading error").toString()); - return str == null ? "null" : str; - } - - public String contentAt2(int paramInt1, int paramInt2, int paramInt3) - { - Location localLocation = new Location(paramInt1, paramInt2, paramInt3); - return (String)this.tiles.get(localLocation); - } - - public void setAt(int paramInt1, int paramInt2, int paramInt3, String paramString) - { - if (this.sizeunknown) - { - this.minx = (this.maxx = paramInt1); - this.miny = (this.maxy = paramInt2); - this.minz = (this.maxz = paramInt3); - this.sizeunknown = false; - } - else - { - this.minx = Math.min(this.minx, paramInt1); - this.miny = Math.min(this.miny, paramInt2); - this.minz = Math.min(this.minz, paramInt3); - this.maxx = Math.max(this.maxx, paramInt1); - this.maxy = Math.max(this.maxy, paramInt2); - this.maxz = Math.max(this.maxz, paramInt3); - } - Location localLocation = new Location(paramInt1, paramInt2, paramInt3); - localLocation.set(paramInt1, paramInt2, paramInt3); - this.tiles.put(localLocation, paramString); - } - - public void save(File paramFile) throws Exception - { - saveReferencing(paramFile, null); - } - - public void saveReferencing(File paramFile, Map paramMap) throws Exception - { - FileWriter localFileWriter = new FileWriter(paramFile); - - this.tile_types.clear(); - this.codes_by_value.clear(); - Vector localVector1 = new Vector(); - for (Object localObject1 = this.tiles.keySet().iterator(); ((Iterator)localObject1).hasNext(); ) { Location localLocation = (Location)((Iterator)localObject1).next(); - - String str1 = (String)this.tiles.get(localLocation); - if (!localVector1.contains(str1)) - localVector1.add(str1); - } - MapPatcher.Systemoutprintln(new StringBuilder().append("We have ").append(localVector1.size()).append(" different tiles").toString()); - localObject1 = new String[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; - - int i = 1; - int j = localObject1.length; - while (j < localVector1.size()) - { - j *= localObject1.length; - i++; - } - Vector localVector2; - if (paramMap == null) { - localVector2 = localVector1; - } - else { - localVector2 = new Vector(); - for (Iterator localIterator = localVector1.iterator(); localIterator.hasNext(); ) { localObject2 = (String)localIterator.next(); - - if (paramMap.codes_by_value.containsKey(localObject2)) - { - localObject3 = paramMap.getIdFor((String)localObject2); - this.tile_types.put(localObject3, localObject2); - this.codes_by_value.put(localObject2, localObject3); - } - else { - localVector2.add(localObject2); - } } - localVector1.clear(); - } - - int k = 0; - for (Object localObject2 = localVector2.iterator(); ((Iterator)localObject2).hasNext(); ) { localObject3 = (String)((Iterator)localObject2).next(); - do - { - str2 = int2code((String[])localObject1, k, i); - k++; - }while (this.tile_types.containsKey(str2)); - this.tile_types.put(str2, localObject3); - this.codes_by_value.put(localObject3, str2); - } - String str2; - localVector2.clear(); - - k = 0; - for (int m = 0; m < this.tile_types.size(); m++) - { - do - { - localObject3 = int2code((String[])localObject1, k, i); - k++; - }while (!this.tile_types.containsKey(localObject3)); - str2 = (String)this.tile_types.get(localObject3); - localFileWriter.write(new StringBuilder().append("\"").append((String)localObject3).append("\" = ").append(str2).append("\r\n").toString()); - } - localVector2.clear(); - - localFileWriter.write("\n"); - - m = 1 + this.maxz - this.minz; - Object localObject3 = new SavingThread[m]; - int n = (this.maxy - this.miny) * ((this.maxx - this.minx) * i + 2) + 32; - - for (k = 0; k < m; k++) - { - localObject3[k] = new SavingThread(this.minz + k, this, n); - localObject3[k].start(); - } - - int i1 = 0; - String str3 = ""; - while (i1 == 0) { - try { - Thread.sleep(100L); } catch (Exception localException) { - } - i1 = 1; - - str3 = ""; - for (k = 0; k < m; k++) - { - if (!localObject3[k].done) - i1 = 0; - if (str3.length() != 0) str3 = new StringBuilder().append(str3).append(" ").toString(); - str3 = new StringBuilder().append(str3).append(localObject3[k].done ? "Done" : new StringBuilder().append(localObject3[k].progress).append("%").toString()).toString(); - } - MapPatcher.Systemoutprint(new StringBuilder().append(str3).append("\r").toString()); - } - - for (k = 0; k < m; k++) { - localFileWriter.write(localObject3[k].result.toString()); - } - localFileWriter.flush(); - localFileWriter.close(); - } - - public String getIdFor(String paramString) - { - if (this.codes_by_value.containsKey(paramString)) - { - return (String)this.codes_by_value.get(paramString); - } - return "???"; - } - - public String int2code(String[] paramArrayOfString, int paramInt1, int paramInt2) - { - String str = ""; - while (paramInt1 >= paramArrayOfString.length) - { - int i = paramInt1 % paramArrayOfString.length; - str = new StringBuilder().append(paramArrayOfString[i]).append(str).toString(); - paramInt1 -= i; - paramInt1 /= paramArrayOfString.length; - } - str = new StringBuilder().append(paramArrayOfString[paramInt1]).append(str).toString(); - while (str.length() < paramInt2) str = new StringBuilder().append(paramArrayOfString[0]).append(str).toString(); - return str; - } -} diff --git a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/MapPatcher.java b/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/MapPatcher.java deleted file mode 100644 index c8d50b9b2f..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/MapPatcher.java +++ /dev/null @@ -1,304 +0,0 @@ -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileWriter; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintStream; -import java.util.Arrays; - -public class MapPatcher -{ - static boolean silent = false; - - public static void main(String[] paramArrayOfString) - { - String str1 = "usage: [me] -diff [old_map] [new_map] [diff_file]"; - String str2 = "usage: [me] -patch [old_map] [diff_file] [new_map]"; - String str3 = "usage: [me] -pack [unpacked] [packed.dmm]"; - String str4 = "usage: [me] -unpack [packed.dmm] [unpacked]"; - String str5 = "usage: [me] -clean [oldmap.dmm] [newmap.dmm] [cleaned.dmm]"; - String str6 = "usage: [me] -merge [original] [local] [remote] [output]"; - - for (int i = 0; i < paramArrayOfString.length; i++) - if (paramArrayOfString[i].equalsIgnoreCase("-silent")) - { - silent = true; - for (; i < paramArrayOfString.length - 1; i++) - paramArrayOfString[i] = paramArrayOfString[(i + 1)]; - paramArrayOfString = (String[])Arrays.copyOf(paramArrayOfString, paramArrayOfString.length - 1); - break; - } - Object localObject; - int i2; - int i3; - int i5; - if ((paramArrayOfString.length > 0) && (paramArrayOfString[0].equalsIgnoreCase("-merge"))) - { - if (paramArrayOfString.length < 5) - { - System.out.println(str6); - try { System.in.read(); } catch (Exception localException1) { - }return; - } - - Map localMap1 = new Map(new File(paramArrayOfString[1])); - localObject = new Map(new File(paramArrayOfString[2])); - Map localMap8 = new Map(new File(paramArrayOfString[3])); - Map localMap9 = new Map(); - - if ((localMap1.minx != ((Map)localObject).minx) || (localMap1.minx != localMap8.minx) || (localMap1.maxx != ((Map)localObject).maxx) || (localMap1.maxx != localMap8.maxx) || (localMap1.miny != ((Map)localObject).miny) || (localMap1.miny != localMap8.miny) || (localMap1.maxy != ((Map)localObject).maxy) || (localMap1.maxy != localMap8.maxy) || (localMap1.minz != ((Map)localObject).minz) || (localMap1.minz != localMap8.minz) || (localMap1.maxz != ((Map)localObject).maxz) || (localMap1.maxz != localMap8.maxz)) - { - Systemoutprintln("Map sizes differ"); - System.exit(1); - } - try - { - for (int n = localMap1.minz; n <= localMap1.maxz; n++) - for (i2 = localMap1.miny; i2 <= localMap1.maxy; i2++) - for (i3 = localMap1.minx; i3 <= localMap1.maxx; i3++) - { - boolean bool1 = localMap1.contentAt(i3, i2, n).equals(((Map)localObject).contentAt(i3, i2, n)); - boolean bool2 = localMap1.contentAt(i3, i2, n).equals(localMap8.contentAt(i3, i2, n)); - i5 = ((Map)localObject).contentAt(i3, i2, n).equals(localMap8.contentAt(i3, i2, n)); - if ((!bool1) && (!bool2)) - { - if (i5 == 0) - { - Systemoutprintln(i3 + "," + i2 + "," + n + " local and remote don't match original and differ"); - System.exit(1); - } - else { - localMap9.setAt(i3, i2, n, ((Map)localObject).contentAt(i3, i2, n)); - } - } else if (!bool1) - localMap9.setAt(i3, i2, n, ((Map)localObject).contentAt(i3, i2, n)); - else if (!bool2) - localMap9.setAt(i3, i2, n, localMap8.contentAt(i3, i2, n)); - else - localMap9.setAt(i3, i2, n, localMap1.contentAt(i3, i2, n)); - } - Systemoutprintln("Saving"); - localMap9.saveReferencing(new File(paramArrayOfString[4]), localMap1); - Systemoutprintln("Done"); - } - catch (Exception localException12) - { - localException12.printStackTrace(); - } - } - else - { - int m; - int i1; - if ((paramArrayOfString.length > 0) && (paramArrayOfString[0].equalsIgnoreCase("-diff"))) - { - if (paramArrayOfString.length < 4) - { - System.out.println(str1); - try { System.in.read(); } catch (Exception localException2) { - }return; - } - - Map localMap2 = new Map(new File(paramArrayOfString[1])); - localObject = new Map(new File(paramArrayOfString[2])); - - int j = Math.max(localMap2.minx, ((Map)localObject).minx); - m = Math.min(localMap2.maxx, ((Map)localObject).maxx); - i1 = Math.max(localMap2.miny, ((Map)localObject).miny); - i2 = Math.min(localMap2.maxy, ((Map)localObject).maxy); - i3 = Math.max(localMap2.minz, ((Map)localObject).minz); - int i4 = Math.min(localMap2.maxz, ((Map)localObject).maxz); - Systemoutprintln("Comparing: x(" + j + "-" + m + ") y(" + i1 + "-" + i2 + ") z(" + i3 + "-" + i4 + ")"); - try - { - FileWriter localFileWriter2 = new FileWriter(paramArrayOfString[3]); - i5 = 0; - for (int i6 = i3; i6 <= i4; i6++) - { - Systemoutprintln("Z-level " + i6); - for (int i7 = i1; i7 <= i2; i7++) - for (int i8 = j; i8 <= m; i8++) - if (!localMap2.contentAt(i8, i7, i6).equals(((Map)localObject).contentAt(i8, i7, i6))) - { - localFileWriter2.write("(" + i8 + "," + (1 + ((Map)localObject).maxy - i7) + "," + i6 + ")=" + ((Map)localObject).contentAt(i8, i7, i6) + "\n"); - i5++; - } - } - localFileWriter2.flush(); - localFileWriter2.close(); - if (i5 == 0) - Systemoutprintln("Files do match"); - else - Systemoutprintln("Writed out " + i5 + " differences"); - } - catch (Exception localException13) - { - localException13.printStackTrace(); - } - - Systemoutprintln("Done"); - } - else - { - String str7; - String str8; - if ((paramArrayOfString.length > 0) && (paramArrayOfString[0].equalsIgnoreCase("-patch"))) - { - if (paramArrayOfString.length < 4) - { - System.out.println(str2); - try { System.in.read(); } catch (Exception localException3) { - }return; - } - - Map localMap3 = new Map(new File(paramArrayOfString[1])); - try - { - localObject = new BufferedReader(new InputStreamReader(new FileInputStream(paramArrayOfString[2]))); - - while ((str7 = ((BufferedReader)localObject).readLine()) != null) - { - str7 = str7.trim(); - if (str7.length() != 0) - { - m = str7.indexOf(",", 1); - i1 = Integer.parseInt(str7.substring(1, m)); - str7 = str7.substring(m); - m = str7.indexOf(",", 1); - i2 = Integer.parseInt(str7.substring(1, m)); - str7 = str7.substring(m); - m = str7.indexOf(")", 1); - i3 = Integer.parseInt(str7.substring(1, m)); - str8 = str7.substring(str7.indexOf("=") + 1); - localMap3.setAt(i1, 1 + localMap3.maxy - i2, i3, str8); - } - } - localMap3.save(new File(paramArrayOfString[3])); - } - catch (Exception localException8) - { - localException8.printStackTrace(); - } - - Systemoutprintln("Done"); - } - else if ((paramArrayOfString.length > 0) && (paramArrayOfString[0].equalsIgnoreCase("-pack"))) - { - if (paramArrayOfString.length < 3) - { - System.out.println(str3); - try { System.in.read(); } catch (Exception localException4) { - }return; - } - - Map localMap4 = new Map(); - try { - BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(paramArrayOfString[1]))); - Systemoutprintln("Loading"); - - while ((str7 = localBufferedReader.readLine()) != null) - { - str7 = str7.trim(); - if (str7.length() != 0) - { - m = str7.indexOf(",", 1); - i1 = Integer.parseInt(str7.substring(1, m)); - str7 = str7.substring(m); - m = str7.indexOf(",", 1); - i2 = Integer.parseInt(str7.substring(1, m)); - str7 = str7.substring(m); - m = str7.indexOf(")", 1); - i3 = Integer.parseInt(str7.substring(1, m)); - str8 = str7.substring(str7.indexOf("=") + 1); - localMap4.setAt(i1, i2, i3, str8); - } - } - Systemoutprintln("Flipping"); - localMap4.mirrorY(); - Systemoutprintln("Saving, bounds: x{" + localMap4.minx + " - " + localMap4.maxx + "}, y{" + localMap4.miny + " - " + localMap4.maxy + "}, z{" + localMap4.minz + " - " + localMap4.maxz + "}"); - localMap4.save(new File(paramArrayOfString[2])); - Systemoutprintln("Done"); - } - catch (Exception localException9) - { - localException9.printStackTrace(); - } - } - else if ((paramArrayOfString.length > 0) && (paramArrayOfString[0].equalsIgnoreCase("-unpack"))) - { - if (paramArrayOfString.length < 3) - { - System.out.println(str4); - try { System.in.read(); } catch (Exception localException5) { - }return; - } - - Systemoutprintln("Loading"); - Map localMap5 = new Map(new File(paramArrayOfString[1])); - try { - FileWriter localFileWriter1 = new FileWriter(paramArrayOfString[2]); - Systemoutprintln("Saving"); - for (int k = localMap5.minz; k <= localMap5.maxz; k++) - { - Systemoutprintln("Z-level " + k); - for (m = localMap5.miny; m <= localMap5.maxy; m++) - for (i1 = localMap5.minx; i1 <= localMap5.maxx; i1++) - localFileWriter1.write("(" + i1 + "," + (1 + localMap5.maxy - m) + "," + k + ")=" + localMap5.contentAt(i1, m, k) + "\n"); - localFileWriter1.write("\n"); - } - localFileWriter1.flush(); - localFileWriter1.close(); - - Systemoutprintln("Done"); - } - catch (Exception localException10) - { - localException10.printStackTrace(); - } - } - else if ((paramArrayOfString.length > 0) && (paramArrayOfString[0].equalsIgnoreCase("-clean"))) - { - if (paramArrayOfString.length < 4) - { - System.out.println(str5); - try { System.in.read(); } catch (Exception localException6) { - }return; - } - - Map localMap6 = new Map(new File(paramArrayOfString[1]), true); - Map localMap7 = new Map(new File(paramArrayOfString[2])); - try - { - localMap7.saveReferencing(new File(paramArrayOfString[3]), localMap6); - Systemoutprintln("Done"); - } - catch (Exception localException11) - { - localException11.printStackTrace(); - } - } - else - { - System.out.println(str1); - System.out.println(str2); - System.out.println(str3); - System.out.println(str4); - System.out.println(str5); - System.out.println(str6); - try { - System.in.read(); } catch (Exception localException7) { } - } - } - } - } - - public static void Systemoutprintln(String paramString) { if (!silent) - System.out.println(paramString); } - - public static void Systemoutprint(String paramString) - { - if (!silent) - System.out.print(paramString); - } -} diff --git a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/SavingThread.java b/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/SavingThread.java deleted file mode 100644 index 24a3d7b04d..0000000000 --- a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher Source/SavingThread.java +++ /dev/null @@ -1,37 +0,0 @@ -class SavingThread extends Thread -{ - int z; - Map mymap; - boolean done; - int progress; - StringBuilder result; - - public SavingThread(int paramInt1, Map paramMap, int paramInt2) - { - this.z = paramInt1; - this.mymap = paramMap; - this.progress = 0; - this.done = false; - this.result = new StringBuilder(paramInt2); - } - - public void run() - { - this.result.append("(" + this.mymap.minx + "," + this.mymap.miny + "," + this.z + ") = {\"\r\n"); - - int i = (this.mymap.maxx - this.mymap.minx) * (this.mymap.maxy - this.mymap.miny) / 100; - int j = 0; - for (int k = this.mymap.miny; k <= this.mymap.maxy; k++) - { - for (int m = this.mymap.minx; m <= this.mymap.maxx; m++) - { - this.result.append(this.mymap.getIdFor(this.mymap.contentAt(m, k, this.z))); - j++; if (j >= i) { j = 0; this.progress += 1; } - } - this.result.append("\r\n"); - } - this.result.append("\"}\r\n"); - this.result.append("\r\n"); - this.done = true; - } -} diff --git a/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher.jar b/tools/mapmerge/old_java_mapmerge/Source/src/MapPatcher.jar deleted file mode 100644 index 5cbaad488c146d8a7453f114260dbccfe61e7861..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10136 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 I_ Date: Fri, 26 May 2017 14:36:26 -0500 Subject: [PATCH 067/134] Removes Fastload.dmm --- _maps/map_files/generic/Fastload.dmm | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 _maps/map_files/generic/Fastload.dmm diff --git a/_maps/map_files/generic/Fastload.dmm b/_maps/map_files/generic/Fastload.dmm deleted file mode 100644 index 96b4a26934..0000000000 --- a/_maps/map_files/generic/Fastload.dmm +++ /dev/null @@ -1,3 +0,0 @@ -"a" = () - -(1,1,1, 1,1,1) = {""} From 93c19d0e4b05acb7094fcc66dd206e6af9aec934 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 14:41:35 -0500 Subject: [PATCH 068/134] Replaces parentcommit with originmastercommit --- code/datums/helper_datums/getrev.dm | 31 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index b90e2ec652..2e95629d30 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -1,34 +1,37 @@ /datum/getrev - var/parentcommit + var/originmastercommit var/commit var/list/testmerge = list() var/has_pr_details = FALSE //example data in a testmerge entry when this is true: https://api.github.com/repositories/3234987/pulls/22586 var/date /datum/getrev/New() - var/head_file = file2text(".git/logs/HEAD") if(SERVERTOOLS && fexists("..\\prtestjob.lk")) var/list/tmp = world.file2list("..\\prtestjob.lk") for(var/I in tmp) if(I) testmerge |= I - var/testlen = max(testmerge.len - 1, 0) - var/regex/head_log = new("(\\w{40}) .+> (\\d{10}).+(?=(\n.*(\\w{40}).*){[testlen]}\n*\\Z)") - head_log.Find(head_file) - parentcommit = head_log.group[1] - date = unix2date(text2num(head_log.group[2])) - commit = head_log.group[4] + log_world("Running /tg/ revision:") - log_world("[date]") + var/list/logs = world.file2list(".git/logs/HEAD") + if(logs) + logs = splittext(logs[logs.len - 1], " ") + date = unix2date(text2num(logs[5])) + commit = logs[2] + log_world("[date]") + logs = world.file2list(".git/logs/refs/remotes/origin/master") + if(logs) + originmastercommit = splittext(logs[logs.len - 1], " ")[2] + if(testmerge.len) log_world(commit) for(var/line in testmerge) if(line) log_world("Test merge active of PR #[line]") SSblackbox.add_details("testmerged_prs","[line]") - log_world("Based off master commit [parentcommit]") + log_world("Based off origin/master commit [originmastercommit]") else - log_world(parentcommit) + log_world(originmastercommit) /datum/getrev/proc/DownloadPRDetails() if(!config.githubrepoid) @@ -73,13 +76,13 @@ set name = "Show Server Revision" set desc = "Check the current server code revision" - if(GLOB.revdata.parentcommit) + if(GLOB.revdata.originmastercommit) to_chat(src, "Server revision compiled on: [GLOB.revdata.date]") var/prefix = "" if(GLOB.revdata.testmerge.len) to_chat(src, GLOB.revdata.GetTestMergeInfo()) - prefix = "Based off master commit: " - var/pc = GLOB.revdata.parentcommit + prefix = "Based off origin/master commit: " + var/pc = GLOB.revdata.originmastercommit to_chat(src, "[prefix][copytext(pc, 1, min(length(pc), 7))]") else to_chat(src, "Revision unknown") From 25059558cb6f83bdcf3870b2ca6157cea8e91533 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Fri, 26 May 2017 15:26:08 -0500 Subject: [PATCH 069/134] admin related shit --- code/modules/admin/admin.dm | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index f8329b1f69..fdc18652d0 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -37,7 +37,7 @@ body += " \[Heal\] " if(M.client) - body += "
\[Player Age: [M.client.player_age]\]\[Byond Age: [M.client.account_age]\]" + body += "
\[First Seen: [M.client.player_join_date]\]\[Byond account registered on: [M.client.account_join_date]\]" body += "
Show related accounts by: " body += "\[ CID | " body += "IP \]" @@ -48,7 +48,7 @@ body += "PM - " body += "SM - " body += "FLW - " - body += "LOGS\]
" + body += "LOGS\]
" body += "Mob type = [M.type]

" @@ -239,21 +239,21 @@ if(6) dat+="ERROR: Could not submit Feed story to Network.

" if(src.admincaster_feed_channel.channel_name=="") - dat+="•Invalid receiving channel name.
" + dat+="Invalid receiving channel name.
" if(src.admincaster_feed_message.returnBody(-1) == "" || src.admincaster_feed_message.returnBody(-1) == "\[REDACTED\]") - dat+="•Invalid message body.
" + dat+="Invalid message body.
" dat+="
Return
" if(7) dat+="ERROR: Could not submit Feed Channel to Network.

" if(src.admincaster_feed_channel.channel_name =="" || src.admincaster_feed_channel.channel_name == "\[REDACTED\]") - dat+="•Invalid channel name.
" + dat+="Invalid channel name.
" var/check = 0 for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) if(FC.channel_name == src.admincaster_feed_channel.channel_name) check = 1 break if(check) - dat+="•Channel name already in use.
" + dat+="Channel name already in use.
" dat+="
Return
" if(9) dat+="[admincaster_feed_channel.channel_name]: \[created by: [admincaster_feed_channel.returnAuthor(-1)]\]
" @@ -354,9 +354,9 @@ if(16) dat+="ERROR: Wanted Issue rejected by Network.

" if(src.admincaster_wanted_message.criminal =="" || src.admincaster_wanted_message.criminal == "\[REDACTED\]") - dat+="•Invalid name for person wanted.
" + dat+="Invalid name for person wanted.
" if(src.admincaster_wanted_message.body == "" || src.admincaster_wanted_message.body == "\[REDACTED\]") - dat+="•Invalid description.
" + dat+="Invalid description.
" dat+="
Return
" if(17) dat+="Wanted Issue successfully deleted from Circulation
" @@ -419,18 +419,18 @@ set desc="Restarts the world immediately" if (!usr.client.holder) return - - var/list/options = list("Regular Restart", "Hard Restart (No Delay/Feeback Reason)", "Hardest Restart (No actions, just reboot)") - var result = input(usr, "Select reboot method", "World Reboot", options[1]) as null|anything in options - if(result) + + var/list/options = list("Regular Restart", "Hard Restart (No Delay/Feeback Reason)", "Hardest Restart (No actions, just reboot)") + var result = input(usr, "Select reboot method", "World Reboot", options[1]) as null|anything in options + if(result) SSblackbox.add_details("admin_verb","Reboot World") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - switch(result) - if("Regular Restart") - SSticker.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "end_error", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", 10) - if("Hard Restart (No Delay, No Feeback Reason)") - world.Reboot() - if("Hardest Restart (No actions, just reboot)") - world.Reboot(fast_track = TRUE) + switch(result) + if("Regular Restart") + SSticker.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", 10) + if("Hard Restart (No Delay, No Feeback Reason)") + world.Reboot() + if("Hardest Restart (No actions, just reboot)") + world.Reboot(fast_track = TRUE) /datum/admins/proc/end_round() set category = "Server" From 04df45c9075f56bde888f29c600052a956102b75 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 18:02:13 -0500 Subject: [PATCH 070/134] Ports defibs to Initialize --- code/game/objects/items/weapons/defib.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index f251cbabab..4bdf6ddf3c 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -23,14 +23,14 @@ var/combat = 0 //can we revive through space suits? var/grab_ghost = FALSE // Do we pull the ghost back into their body? -/obj/item/weapon/defibrillator/New() //starts without a cell for rnd - ..() +/obj/item/weapon/defibrillator/Initialize() //starts without a cell for rnd + . = ..() paddles = make_paddles() update_icon() return -/obj/item/weapon/defibrillator/loaded/New() //starts with hicap - ..() +/obj/item/weapon/defibrillator/loaded/Initialize() //starts with hicap + . = ..() paddles = make_paddles() bcell = new(src) update_icon() @@ -237,8 +237,8 @@ if(slot == user.getBeltSlot()) return 1 -/obj/item/weapon/defibrillator/compact/loaded/New() - ..() +/obj/item/weapon/defibrillator/compact/loaded/Initialize() + . = ..() paddles = make_paddles() bcell = new(src) update_icon() @@ -249,8 +249,8 @@ combat = 1 safety = 0 -/obj/item/weapon/defibrillator/compact/combat/loaded/New() - ..() +/obj/item/weapon/defibrillator/compact/combat/loaded/Initialize() + . = ..() paddles = make_paddles() bcell = new /obj/item/weapon/stock_parts/cell/infinite(src) update_icon() From 0e40cd7f6d28d68d97bea997d775d2a8e4b92cf1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 18:03:17 -0500 Subject: [PATCH 071/134] Ports stunbatons to Initialize --- code/game/objects/items/weapons/stunbaton.dm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 5393f40ec6..c1b932d1bc 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -21,10 +21,9 @@ user.visible_message("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!") return (FIRELOSS) -/obj/item/weapon/melee/baton/New() - ..() +/obj/item/weapon/melee/baton/Initialize() + . = ..() update_icon() - return /obj/item/weapon/melee/baton/throw_impact(atom/hit_atom) ..() @@ -32,10 +31,9 @@ if(status && prob(throw_hit_chance) && iscarbon(hit_atom)) baton_stun(hit_atom) -/obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed. - ..() +/obj/item/weapon/melee/baton/loaded/Initialize() //this one starts with a cell pre-installed. bcell = new(src) - update_icon() + . = ..() /obj/item/weapon/melee/baton/proc/deductcharge(chrgdeductamt) if(bcell) @@ -188,8 +186,8 @@ slot_flags = SLOT_BACK var/obj/item/device/assembly/igniter/sparkler = 0 -/obj/item/weapon/melee/baton/cattleprod/New() - ..() +/obj/item/weapon/melee/baton/cattleprod/Initialize() + . = ..() sparkler = new (src) /obj/item/weapon/melee/baton/cattleprod/baton_stun() From 15482314d43044a8aa591236318757f1932bd716 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 18:03:21 -0500 Subject: [PATCH 072/134] Makes a thing use QDEL_NULL --- code/game/machinery/doors/airlock.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 1750aa7aa8..020f7aa309 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -204,9 +204,7 @@ if(charge) qdel(charge) charge = null - if(electronics) - qdel(electronics) - electronics = null + QDEL_NULL(electronics) if (cyclelinkedairlock) if (cyclelinkedairlock.cyclelinkedairlock == src) cyclelinkedairlock.cyclelinkedairlock = null From b977d6989de28600cf31c6af46039458eb3ed73d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 18:04:26 -0500 Subject: [PATCH 073/134] Makes shades/constructs able to speak galcommon again --- code/modules/language/language_holder.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index 918f179591..a649041e01 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -107,7 +107,6 @@ /datum/language_holder/construct languages = list(/datum/language/common, /datum/language/narsie) - only_speaks_language = /datum/language/narsie /datum/language_holder/drone languages = list(/datum/language/common, /datum/language/drone, /datum/language/machine) From b089a14c536e35b1b1343128e42d551d3dd6b450 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 19:06:39 -0500 Subject: [PATCH 074/134] Ports guns to Initialize --- .../objects/items/weapons/chrono_eraser.dm | 6 +++--- .../mission_code/stationCollision.dm | 8 ++++---- code/modules/clothing/chameleon.dm | 4 ++-- code/modules/projectiles/gun.dm | 4 ++-- code/modules/projectiles/guns/ballistic.dm | 4 ++-- .../projectiles/guns/ballistic/automatic.dm | 19 ++++++++---------- .../guns/ballistic/laser_gatling.dm | 20 +++++++++---------- .../projectiles/guns/ballistic/revolver.dm | 16 +++++++-------- .../projectiles/guns/ballistic/shotgun.dm | 8 ++++---- .../modules/projectiles/guns/ballistic/toy.dm | 4 ++-- code/modules/projectiles/guns/energy.dm | 4 ++-- .../projectiles/guns/energy/energy_gun.dm | 4 ++-- .../guns/energy/kinetic_accelerator.dm | 2 +- code/modules/projectiles/guns/energy/pulse.dm | 4 ++-- code/modules/projectiles/guns/magic.dm | 4 ++-- code/modules/projectiles/guns/magic/wand.dm | 4 ++-- code/modules/projectiles/guns/medbeam.dm | 8 ++++---- code/modules/projectiles/guns/syringe_gun.dm | 4 ++-- 18 files changed, 62 insertions(+), 65 deletions(-) diff --git a/code/game/objects/items/weapons/chrono_eraser.dm b/code/game/objects/items/weapons/chrono_eraser.dm index e32d365298..86664404d1 100644 --- a/code/game/objects/items/weapons/chrono_eraser.dm +++ b/code/game/objects/items/weapons/chrono_eraser.dm @@ -54,10 +54,10 @@ var/obj/effect/chrono_field/field = null var/turf/startpos = null -/obj/item/weapon/gun/energy/chrono_gun/New(var/obj/item/weapon/chrono_eraser/T) +/obj/item/weapon/gun/energy/chrono_gun/Initialize() . = ..() - if(istype(T)) - TED = T + if(istype(loc, /obj/item/weapon/chrono_eraser)) + TED = loc else //admin must have spawned it TED = new(src.loc) qdel(src) diff --git a/code/modules/awaymissions/mission_code/stationCollision.dm b/code/modules/awaymissions/mission_code/stationCollision.dm index fb1d375854..441d40db8f 100644 --- a/code/modules/awaymissions/mission_code/stationCollision.dm +++ b/code/modules/awaymissions/mission_code/stationCollision.dm @@ -46,8 +46,8 @@ //Syndicate sub-machine guns. /obj/item/weapon/gun/ballistic/automatic/c20r/sc_c20r -/obj/item/weapon/gun/ballistic/automatic/c20r/sc_c20r/New() - ..() +/obj/item/weapon/gun/ballistic/automatic/c20r/sc_c20r/Initialize() + . = ..() for(var/ammo in magazine.stored_ammo) if(prob(95)) //95% chance magazine.stored_ammo -= ammo @@ -55,8 +55,8 @@ //Barman's shotgun /obj/item/weapon/gun/ballistic/shotgun/sc_pump -/obj/item/weapon/gun/ballistic/shotgun/sc_pump/New() - ..() +/obj/item/weapon/gun/ballistic/shotgun/sc_pump/Initialize() + . = ..() for(var/ammo in magazine.stored_ammo) if(prob(95)) //95% chance magazine.stored_ammo -= ammo diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 0de56aa86a..3a91c3207e 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -420,8 +420,8 @@ var/badmin_mode = FALSE var/static/list/blacklisted_vars = list("locs", "loc", "contents", "x", "y", "z") -/obj/item/weapon/gun/energy/laser/chameleon/New() - ..() +/obj/item/weapon/gun/energy/laser/chameleon/Initialize() + . = ..() chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/weapon/gun chameleon_action.chameleon_name = "Gun" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 2dffe0a567..6fb4e6276f 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -60,8 +60,8 @@ var/datum/action/toggle_scope_zoom/azoom -/obj/item/weapon/gun/New() - ..() +/obj/item/weapon/gun/Initialize() + . = ..() if(pin) pin = new pin(src) if(gun_light) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index a7a8b75da2..80be30a06a 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -9,8 +9,8 @@ var/obj/item/ammo_box/magazine/magazine var/casing_ejector = 1 //whether the gun ejects the chambered casing -/obj/item/weapon/gun/ballistic/New() - ..() +/obj/item/weapon/gun/ballistic/Initialize() + . = ..() if(!spawnwithmagazine) update_icon() return diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 2f7036cab8..70d399b107 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -99,10 +99,9 @@ /obj/item/weapon/gun/ballistic/automatic/c20r/unrestricted pin = /obj/item/device/firing_pin -/obj/item/weapon/gun/ballistic/automatic/c20r/New() - ..() +/obj/item/weapon/gun/ballistic/automatic/c20r/Initialize() + . = ..() update_icon() - return /obj/item/weapon/gun/ballistic/automatic/c20r/afterattack() ..() @@ -150,20 +149,18 @@ fire_delay = 2 pin = /obj/item/device/firing_pin/implant/pindicate -/obj/item/weapon/gun/ballistic/automatic/m90/New() - ..() +/obj/item/weapon/gun/ballistic/automatic/m90/Initialize() + . = ..() underbarrel = new /obj/item/weapon/gun/ballistic/revolver/grenadelauncher(src) update_icon() - return /obj/item/weapon/gun/ballistic/automatic/m90/unrestricted pin = /obj/item/device/firing_pin -/obj/item/weapon/gun/ballistic/automatic/m90/unrestricted/New() - ..() +/obj/item/weapon/gun/ballistic/automatic/m90/unrestricted/Initialize() + . = ..() underbarrel = new /obj/item/weapon/gun/ballistic/revolver/grenadelauncher/unrestricted(src) update_icon() - return /obj/item/weapon/gun/ballistic/automatic/m90/afterattack(atom/target, mob/living/user, flag, params) if(select == 2) @@ -259,8 +256,8 @@ /obj/item/weapon/gun/ballistic/automatic/shotgun/bulldog/unrestricted pin = /obj/item/device/firing_pin -/obj/item/weapon/gun/ballistic/automatic/shotgun/bulldog/New() - ..() +/obj/item/weapon/gun/ballistic/automatic/shotgun/bulldog/Initialize() + . = ..() update_icon() /obj/item/weapon/gun/ballistic/automatic/shotgun/bulldog/update_icon() diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm index bc0668cd66..a246871e61 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm @@ -9,16 +9,16 @@ item_state = "backpack" slot_flags = SLOT_BACK w_class = WEIGHT_CLASS_HUGE - var/obj/item/weapon/gun/ballistic/minigun/gun = null + var/obj/item/weapon/gun/ballistic/minigun/gun var/armed = 0 //whether the gun is attached, 0 is attached, 1 is the gun is wielded. var/overheat = 0 var/overheat_max = 40 var/heat_diffusion = 1 -/obj/item/weapon/minigunpack/New() +/obj/item/weapon/minigunpack/Initialize() + . = ..() gun = new(src) START_PROCESSING(SSobj, src) - ..() /obj/item/weapon/minigunpack/Destroy() STOP_PROCESSING(SSobj, src) @@ -110,15 +110,15 @@ casing_ejector = 0 var/obj/item/weapon/minigunpack/ammo_pack -/obj/item/weapon/gun/ballistic/minigun/New() +/obj/item/weapon/gun/ballistic/minigun/Initialize() SET_SECONDARY_FLAG(src, SLOWS_WHILE_IN_HAND) - if(!ammo_pack) - if(istype(loc,/obj/item/weapon/minigunpack)) //We should spawn inside a ammo pack so let's use that one. - ammo_pack = loc - ..() - else - qdel(src)//No pack, no gun + if(istype(loc, /obj/item/weapon/minigunpack)) //We should spawn inside a ammo pack so let's use that one. + ammo_pack = loc + else + return INITIALIZE_HINT_QDEL //No pack, no gun + + return ..() /obj/item/weapon/gun/ballistic/minigun/attack_self(mob/living/user) return diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 892defa9f4..2ce432bf31 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -6,8 +6,8 @@ origin_tech = "combat=3;materials=2" casing_ejector = 0 -/obj/item/weapon/gun/ballistic/revolver/New() - ..() +/obj/item/weapon/gun/ballistic/revolver/Initialize() + . = ..() if(!istype(magazine, /obj/item/ammo_box/magazine/internal/cylinder)) verbs -= /obj/item/weapon/gun/ballistic/revolver/verb/spin @@ -95,8 +95,8 @@ unique_rename = 1 unique_reskin = 1 -/obj/item/weapon/gun/ballistic/revolver/detective/New() - ..() +/obj/item/weapon/gun/ballistic/revolver/detective/Initialize() + . = ..() options["Default"] = "detective" options["Leopard Spots"] = "detective_leopard" options["Black Panther"] = "detective_panther" @@ -177,8 +177,8 @@ mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357 var/spun = FALSE -/obj/item/weapon/gun/ballistic/revolver/russian/New() - ..() +/obj/item/weapon/gun/ballistic/revolver/russian/Initialize() + . = ..() do_spin() spun = TRUE update_icon() @@ -271,8 +271,8 @@ unique_rename = 1 unique_reskin = 1 -/obj/item/weapon/gun/ballistic/revolver/doublebarrel/New() - ..() +/obj/item/weapon/gun/ballistic/revolver/doublebarrel/Initialize() + . = ..() options["Default"] = "dshotgun" options["Dark Red Finish"] = "dshotgun-d" options["Ash"] = "dshotgun-f" diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 918acd27a1..6fc3fd3687 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -147,8 +147,8 @@ mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage -/obj/item/weapon/gun/ballistic/shotgun/boltaction/enchanted/New() - ..() +/obj/item/weapon/gun/ballistic/shotgun/boltaction/enchanted/Initialize() + . = ..() bolt_open = 1 pump() gun_type = type @@ -213,8 +213,8 @@ var/toggled = 0 var/obj/item/ammo_box/magazine/internal/shot/alternate_magazine -/obj/item/weapon/gun/ballistic/shotgun/automatic/dual_tube/New() - ..() +/obj/item/weapon/gun/ballistic/shotgun/automatic/dual_tube/Initialize() + . = ..() if (!alternate_magazine) alternate_magazine = new mag_type(src) diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 89f6655d8e..9b8044dac8 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -35,9 +35,9 @@ /obj/item/weapon/gun/ballistic/automatic/toy/pistol/riot mag_type = /obj/item/ammo_box/magazine/toy/pistol/riot -/obj/item/weapon/gun/ballistic/automatic/toy/pistol/riot/New() +/obj/item/weapon/gun/ballistic/automatic/toy/pistol/riot/Initialize() magazine = new /obj/item/ammo_box/magazine/toy/pistol/riot(src) - ..() + return ..() /obj/item/weapon/gun/ballistic/automatic/toy/pistol/unrestricted pin = /obj/item/device/firing_pin diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 9e642b0cef..b022941f78 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -25,8 +25,8 @@ update_icon() -/obj/item/weapon/gun/energy/New() - ..() +/obj/item/weapon/gun/energy/Initialize() + . = ..() if(cell_type) power_supply = new cell_type(src) else diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 52f9852344..a8edc727b3 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -22,9 +22,9 @@ charge_sections = 3 can_flashlight = 0 // Can't attach or detach the flashlight, and override it's icon update -/obj/item/weapon/gun/energy/e_gun/mini/New() +/obj/item/weapon/gun/energy/e_gun/mini/Initialize() gun_light = new /obj/item/device/flashlight/seclite(src) - ..() + return ..() /obj/item/weapon/gun/energy/e_gun/mini/update_icon() ..() diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 0f108fcc76..e8d48373da 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -68,7 +68,7 @@ unique_frequency = TRUE max_mod_capacity = 80 -/obj/item/weapon/gun/energy/kinetic_accelerator/New() +/obj/item/weapon/gun/energy/kinetic_accelerator/Initialize() . = ..() if(!holds_charge) empty() diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index b3e55f2423..43431a65c3 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -17,9 +17,9 @@ /obj/item/weapon/gun/energy/pulse/prize pin = /obj/item/device/firing_pin -/obj/item/weapon/gun/energy/pulse/prize/New() +/obj/item/weapon/gun/energy/pulse/prize/Initialize() . = ..() - GLOB.poi_list |= src + GLOB.poi_list += src var/msg = "A pulse rifle prize has been created at [ADMIN_COORDJMP(src)]" message_admins(msg) diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 58a756a28d..9c30eefd2f 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -44,8 +44,8 @@ charges--//... drain a charge recharge_newshot() -/obj/item/weapon/gun/magic/New() - ..() +/obj/item/weapon/gun/magic/Initialize() + . = ..() charges = max_charges chambered = new ammo_type(src) if(can_charge) diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index fe93a58838..247273e3f4 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -9,13 +9,13 @@ max_charges = 100 //100, 50, 50, 34 (max charge distribution by 25%ths) var/variable_charges = 1 -/obj/item/weapon/gun/magic/wand/New() +/obj/item/weapon/gun/magic/wand/Initialize() if(prob(75) && variable_charges) //25% chance of listed max charges, 50% chance of 1/2 max charges, 25% chance of 1/3 max charges if(prob(33)) max_charges = Ceiling(max_charges / 3) else max_charges = Ceiling(max_charges / 2) - ..() + return ..() /obj/item/weapon/gun/magic/wand/examine(mob/user) ..() diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index 37d576a8ff..46758f8889 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -16,8 +16,8 @@ weapon_weight = WEAPON_MEDIUM -/obj/item/weapon/gun/medbeam/New() - ..() +/obj/item/weapon/gun/medbeam/Initialize() + . = ..() START_PROCESSING(SSobj, src) /obj/item/weapon/gun/medbeam/Destroy(mob/user) @@ -128,6 +128,6 @@ /obj/item/weapon/gun/medbeam/mech mounted = 1 -/obj/item/weapon/gun/medbeam/mech/New() - ..() +/obj/item/weapon/gun/medbeam/mech/Initialize() + . = ..() STOP_PROCESSING(SSobj, src) //Mech mediguns do not process until installed, and are controlled by the holder obj diff --git a/code/modules/projectiles/guns/syringe_gun.dm b/code/modules/projectiles/guns/syringe_gun.dm index 09547b0d98..2e8a29cded 100644 --- a/code/modules/projectiles/guns/syringe_gun.dm +++ b/code/modules/projectiles/guns/syringe_gun.dm @@ -14,8 +14,8 @@ var/list/syringes = list() var/max_syringes = 1 -/obj/item/weapon/gun/syringe/New() - ..() +/obj/item/weapon/gun/syringe/Initialize() + . = ..() chambered = new /obj/item/ammo_casing/syringegun(src) /obj/item/weapon/gun/syringe/recharge_newshot() From e3e040fee0646b14f7f417e5c0a46f261045bf65 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 19:41:20 -0500 Subject: [PATCH 075/134] Fixes pre-round-start logs --- code/world.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/world.dm b/code/world.dm index 566c9e213c..df083571c4 100644 --- a/code/world.dm +++ b/code/world.dm @@ -18,7 +18,7 @@ SetupExternalRSC() - GLOB.config_error_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl + GLOB.config_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once) From 4ffca03a530fb9c9a8909efb2af7faa2c1121f03 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 23:04:25 -0500 Subject: [PATCH 076/134] Automatic changelog generation for PR #1210 [ci skip] --- html/changelogs/AutoChangeLog-pr-1210.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1210.yml diff --git a/html/changelogs/AutoChangeLog-pr-1210.yml b/html/changelogs/AutoChangeLog-pr-1210.yml new file mode 100644 index 0000000000..4dd2b1de7d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1210.yml @@ -0,0 +1,4 @@ +author: "Kor" +delete-after: True +changes: + - bugfix: "The chaplains possessed blade, shades, and constructs, can once again speak galactic common." From 4680f045ffa61ba648e055457e93d0c1e28fb81c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 23:22:32 -0500 Subject: [PATCH 077/134] Automatic changelog generation for PR #1195 [ci skip] --- html/changelogs/AutoChangeLog-pr-1195.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1195.yml diff --git a/html/changelogs/AutoChangeLog-pr-1195.yml b/html/changelogs/AutoChangeLog-pr-1195.yml new file mode 100644 index 0000000000..0a5716bcb7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1195.yml @@ -0,0 +1,6 @@ +author: "Moonlighting Mac says" +delete-after: True +changes: + - rscadd: "You can now craft a strong cloak with a hood made out of goliath and monster materials from within the primitive crafting screen." + - rscadd: "The cloak has a suit slot for all kind of primitive supplies, however it cannot carry most electronic miner equipment. +balance: Due to the recipe requiring leather, it is not normally accessible to all ghost roles without a source of water & electricity." From 2fbcba23557ef6159ec4a33187c936d623b28856 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 23:23:48 -0500 Subject: [PATCH 078/134] Automatic changelog generation for PR #1183 [ci skip] --- html/changelogs/AutoChangeLog-pr-1183.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1183.yml diff --git a/html/changelogs/AutoChangeLog-pr-1183.yml b/html/changelogs/AutoChangeLog-pr-1183.yml new file mode 100644 index 0000000000..4a627f949b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1183.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - rscadd: "20% of internal affairs agents are actually traitors" From 83971cf8fb06f4b19e78511ffee766987ae98ef9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 26 May 2017 23:24:09 -0500 Subject: [PATCH 079/134] Automatic changelog generation for PR #1182 [ci skip] --- html/changelogs/AutoChangeLog-pr-1182.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1182.yml diff --git a/html/changelogs/AutoChangeLog-pr-1182.yml b/html/changelogs/AutoChangeLog-pr-1182.yml new file mode 100644 index 0000000000..a2c7d10876 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1182.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - spellcheck: "typo fix for origin tech" From 127a9ff6d41d66c56d06cec7d4394db89e29195c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:26:50 -0500 Subject: [PATCH 080/134] Vapes are tiny (#1231) --- code/game/objects/items/weapons/cigs_lighters.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 82229bb7cf..86bbb340b1 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -622,6 +622,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon = 'icons/obj/clothing/masks.dmi' icon_state = null item_state = null + w_class = WEIGHT_CLASS_TINY var/chem_volume = 100 var/vapetime = 0 //this so it won't puff out clouds every tick var/screw = 0 // kinky From 63ac84ab6d9be6d2bfc40c12baea238d9814cae6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:26:51 -0500 Subject: [PATCH 081/134] Automatic changelog generation for PR #1231 [ci skip] --- html/changelogs/AutoChangeLog-pr-1231.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1231.yml diff --git a/html/changelogs/AutoChangeLog-pr-1231.yml b/html/changelogs/AutoChangeLog-pr-1231.yml new file mode 100644 index 0000000000..7fad1ab274 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1231.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - tweak: "E-Cigarettes can now fit in your pocket." From c9ab875da92896f4162f878341b57e24a512da0a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:26:59 -0500 Subject: [PATCH 082/134] Ports clonepods to Initialize (#1230) --- code/game/machinery/cloning.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index ec87cf6ba9..6df194cf25 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -44,8 +44,8 @@ "corazone", // prevents cardiac arrest damage "mimesbane") // stops them gasping from lack of air. -/obj/machinery/clonepod/New() - ..() +/obj/machinery/clonepod/Initialize() + . = ..() var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/clonepod(null) B.apply_default_parts(src) From 6c1159bf856ac7c470002fb96c439ed0312a55cb Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:27:33 -0500 Subject: [PATCH 083/134] Puts the Viruses back in the viro fridge at the syndicate base. (#1229) --- .../RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 4b50904ea2..0bc99060de 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -726,7 +726,7 @@ }, /area/ruin/powered/syndicate_lava_base) "bM" = ( -/obj/machinery/smartfridge/chemistry/virology, +/obj/machinery/smartfridge/chemistry/virology/preloaded, /turf/open/floor/plasteel/podhatch{ tag = "icon-podhatch (EAST)"; icon_state = "podhatch"; From e5f2a0962298ebb07fc371d9c098c8d1faa82334 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:27:52 -0500 Subject: [PATCH 084/134] Pixel projectile ricochets and reflections! (#1220) --- code/__DEFINES/flags.dm | 2 ++ code/__HELPERS/maths.dm | 18 ++++++++++++++++-- code/game/atoms.dm | 3 +++ code/game/turfs/closed.dm | 3 --- .../turfs/simulated/wall/mineral_walls.dm | 1 + code/game/turfs/simulated/walls.dm | 14 ++++++++++++++ code/modules/projectiles/projectile.dm | 19 ++++++++++++++++++- code/modules/projectiles/projectile/beams.dm | 4 +++- 8 files changed, 57 insertions(+), 7 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index a5e69bdc7b..e443e57b14 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -14,6 +14,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define NOBLUDGEON 4 // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby() #define MASKINTERNALS 8 // mask allows internals #define HEAR 16 // This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not. +#define CHECK_RICOCHET 32 // Projectiels will check ricochet on things impacted that have this. #define CONDUCT 64 // conducts electricity (metal etc.) #define ABSTRACT 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way #define NODECONSTRUCT 128 // For machines and structures that should not break into parts, eg, holodeck stuff @@ -57,6 +58,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define UNUSED_TRANSIT_TURF 2 #define CAN_BE_DIRTY 4 //If a turf can be made dirty at roundstart. This is also used in areas. #define NO_DEATHRATTLE 16 // Do not notify deadchat about any deaths that occur on this turf. +//#define CHECK_RICOCHET 32 //Same thing as atom flag. /* These defines are used specifically with the atom/pass_flags bitmask diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index 7e892e8dd4..7e0fd531eb 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -130,6 +130,22 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, var/t = round((val - min) / d) return val - (t * d) +#define NORM_ROT(rot) ((((rot % 360) + (rot - round(rot, 1))) > 0) ? ((rot % 360) + (rot - round(rot, 1))) : (((rot % 360) + (rot - round(rot, 1))) + 360)) + +/proc/get_angle_of_incidence(face_angle, angle_in, auto_normalize = TRUE) + + var/angle_in_s = NORM_ROT(angle_in) + var/face_angle_s = NORM_ROT(face_angle) + var/incidence = face_angle_s - angle_in_s + var/incidence_s = incidence + while(incidence_s < -90) + incidence_s += 180 + while(incidence_s > 90) + incidence_s -= 180 + if(auto_normalize) + return incidence_s + else + return incidence //A logarithm that converts an integer to a number scaled between 0 and 1 (can be tweaked to be higher). //Currently, this is used for hydroponics-produce sprite transforming, but could be useful for other transform functions. @@ -141,8 +157,6 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, return size_factor + scaling_modifier //scale mod of 0 results in a number from 0 to 1. A scale modifier of +0.5 returns 0.5 to 1.5 //to_chat(world, "Transform multiplier of [src] is [size_factor + scaling_modifer]") - - //converts a uniform distributed random number into a normal distributed one //since this method produces two random numbers, one is saved for subsequent calls //(making the cost negligble for every second call) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 4a0f05602b..65d4cf1449 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -104,6 +104,9 @@ return ..() +/atom/proc/handle_ricochet(obj/item/projectile/P) + return + /atom/proc/CanPass(atom/movable/mover, turf/target, height=1.5) return (!density || !height) diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 741d4f2958..2c3e60694d 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -24,9 +24,6 @@ /turf/closed/indestructible/oldshuttle/corner icon_state = "corner" - - - /turf/closed/indestructible/splashscreen name = "Space Station 13" icon = 'config/title_screens/images/blank.png' diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm index b78099c6bb..2cfb32f6dc 100644 --- a/code/game/turfs/simulated/wall/mineral_walls.dm +++ b/code/game/turfs/simulated/wall/mineral_walls.dm @@ -175,6 +175,7 @@ desc = "A light-weight titanium wall used in shuttles." icon = 'icons/turf/walls/shuttle_wall.dmi' icon_state = "map-shuttle" + flags = CAN_BE_DIRTY | CHECK_RICOCHET sheet_type = /obj/item/stack/sheet/mineral/titanium smooth = SMOOTH_MORE|SMOOTH_DIAGONAL canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 068dd0f218..44dc1afee7 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -28,6 +28,20 @@ /turf/closed/wall/attack_tk() return +/turf/closed/wall/handle_ricochet(obj/item/projectile/P) //A huge pile of shitcode! + var/turf/p_turf = get_turf(P) + var/face_direction = get_dir(src, p_turf) + var/face_angle = dir2angle(face_direction) + var/incidence_s = get_angle_of_incidence(face_angle, P.Angle) + var/new_angle = face_angle + incidence_s + var/new_angle_s = new_angle + while(new_angle_s > 180) // Translate to regular projectile degrees + new_angle_s -= 360 + while(new_angle_s < -180) + new_angle_s += 360 + P.Angle = new_angle_s + return TRUE + /turf/closed/wall/proc/dismantle_wall(devastated=0, explode=0) if(devastated) devastate_wall() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 3dbadc85c5..8c810155db 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -28,6 +28,9 @@ var/spread = 0 //amount (in degrees) of projectile spread var/legacy = 0 //legacy projectile system animate_movement = 0 //Use SLIDE_STEPS in conjunction with legacy + var/ricochets = 0 + var/ricochets_max = 2 + var/ricochet_chance = 30 var/damage = 10 var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here @@ -132,7 +135,11 @@ /obj/item/projectile/Bump(atom/A, yes) if(!yes) //prevents double bumps. return - if(firer) + if(check_ricochet() && check_ricochet_flag(A) && ricochets < ricochets_max) + ricochets++ + if(A.handle_ricochet(src)) + return FALSE + if(firer && !ricochets) if(A == firer || (A == firer.loc && istype(A, /obj/mecha))) //cannot shoot yourself or your mech loc = A.loc return 0 @@ -166,6 +173,16 @@ picked_mob.bullet_act(src, def_zone) qdel(src) +/obj/item/projectile/proc/check_ricochet() + if(prob(ricochet_chance)) + return TRUE + return FALSE + +/obj/item/projectile/proc/check_ricochet_flag(atom/A) + if(A.flags & CHECK_RICOCHET) + return TRUE + return FALSE + /obj/item/projectile/Process_Spacemove(var/movement_dir = 0) return 1 //Bullets don't drift in space diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 766d8b5e39..427f590ba5 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -11,7 +11,9 @@ eyeblur = 2 impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser light_color = LIGHT_COLOR_RED - + ricochets_max = 50 //Honk! + ricochet_chance = 80 + /obj/item/projectile/beam/laser /obj/item/projectile/beam/laser/heavylaser From 06234fa915aa5f4a71a1dfd4fc168c3d07ff867c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:27:53 -0500 Subject: [PATCH 085/134] Automatic changelog generation for PR #1220 [ci skip] --- html/changelogs/AutoChangeLog-pr-1220.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1220.yml diff --git a/html/changelogs/AutoChangeLog-pr-1220.yml b/html/changelogs/AutoChangeLog-pr-1220.yml new file mode 100644 index 0000000000..a9590654e2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1220.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - rscadd: "Nanotrasen's new titanium wall blueprints are smooth enough that it can reflect projectiles!" From 9288106128a3dea2b1dd2877f15869a43af67e1c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:29:32 -0500 Subject: [PATCH 086/134] Fixes monkeys having two Initializes and not returning a hint (#1188) --- code/modules/mob/living/carbon/monkey/monkey.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index a05614fe09..f6f7665ae8 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -31,10 +31,8 @@ create_internal_organs() - ..() + . = ..() -/mob/living/carbon/monkey/Initialize() - ..() create_dna(src) dna.initialize_dna(random_blood_type()) From 51dd042af54100599385cbc8e6bae946b512395c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:30:25 -0500 Subject: [PATCH 087/134] Necropolis tendrils glow again (#1228) --- .../simple_animal/hostile/mining_mobs.dm | 57 ++++++++++++------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index eaabcf5980..97fa07b5be 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -1037,6 +1037,11 @@ regenerate_icons() //Nests +/obj/effect/light_emitter/tendril + set_luminosity = 4 + set_cap = 2.5 + light_color = LIGHT_COLOR_LAVA + /mob/living/simple_animal/hostile/spawner/lavaland name = "necropolis tendril" desc = "A vile tendril of corruption, originating deep underground. Terrible monsters are pouring out of it." @@ -1046,7 +1051,6 @@ icon_dead = "tendril" faction = list("mining") weather_immunities = list("lava","ash") - luminosity = 1 health = 250 maxHealth = 250 max_mobs = 3 @@ -1059,9 +1063,17 @@ loot = list(/obj/effect/collapse, /obj/structure/closet/crate/necropolis/tendril) del_on_death = 1 var/gps = null + var/obj/effect/light_emitter/tendril/emitted_light + +/mob/living/simple_animal/hostile/spawner/lavaland/goliath + mob_type = /mob/living/simple_animal/hostile/asteroid/goliath/beast + +/mob/living/simple_animal/hostile/spawner/lavaland/legion + mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion /mob/living/simple_animal/hostile/spawner/lavaland/Initialize() - ..() + . = ..() + emitted_light = new(loc) for(var/F in RANGE_TURFS(1, src)) if(ismineralturf(F)) var/turf/closed/mineral/M = F @@ -1069,7 +1081,8 @@ gps = new /obj/item/device/gps/internal(src) /mob/living/simple_animal/hostile/spawner/lavaland/Destroy() - qdel(gps) + QDEL_NULL(emitted_light) + QDEL_NULL(gps) . = ..() #define MEDAL_PREFIX "Tendril" @@ -1096,29 +1109,31 @@ /obj/effect/collapse name = "collapsing necropolis tendril" desc = "Get clear!" - luminosity = 1 - layer = ABOVE_OPEN_TURF_LAYER + layer = BELOW_OBJ_LAYER icon = 'icons/mob/nest.dmi' icon_state = "tendril" anchored = TRUE + density = TRUE + var/obj/effect/light_emitter/tendril/emitted_light -/obj/effect/collapse/New() - ..() +/obj/effect/collapse/Initialize() + . = ..() + emitted_light = new(loc) visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!") visible_message("Something falls free of the tendril!") - playsound(get_turf(src),'sound/effects/tendril_destroyed.ogg', 200, 0, 50, 1, 1) - spawn(50) - for(var/mob/M in range(7,src)) - shake_camera(M, 15, 1) - playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, 1) - visible_message("The tendril falls inward, the ground around it widening into a yawning chasm!") - for(var/turf/T in range(2,src)) - if(!T.density) - T.TerraformTurf(/turf/open/chasm/straight_down/lava_land_surface) - qdel(src) + playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, 0, 50, 1, 1) + addtimer(CALLBACK(src, .proc/collapse), 50) -/mob/living/simple_animal/hostile/spawner/lavaland/goliath - mob_type = /mob/living/simple_animal/hostile/asteroid/goliath/beast +/obj/effect/collapse/Destroy() + QDEL_NULL(emitted_light) + return ..() -/mob/living/simple_animal/hostile/spawner/lavaland/legion - mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion +/obj/effect/collapse/proc/collapse() + for(var/mob/M in range(7,src)) + shake_camera(M, 15, 1) + playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, 1) + visible_message("The tendril falls inward, the ground around it widening into a yawning chasm!") + for(var/turf/T in range(2,src)) + if(!T.density) + T.TerraformTurf(/turf/open/chasm/straight_down/lava_land_surface) + qdel(src) From a884c7efcd1f4f4762d36670bdc3d53c0c17832a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:30:26 -0500 Subject: [PATCH 088/134] Automatic changelog generation for PR #1228 [ci skip] --- html/changelogs/AutoChangeLog-pr-1228.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1228.yml diff --git a/html/changelogs/AutoChangeLog-pr-1228.yml b/html/changelogs/AutoChangeLog-pr-1228.yml new file mode 100644 index 0000000000..1b9058a75c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1228.yml @@ -0,0 +1,4 @@ +author: "Joan" +delete-after: True +changes: + - bugfix: "Necropolis tendrils will once again emit light." From 3ed1975ddaee08e6e71998cbca0c35c084291196 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:31:13 -0500 Subject: [PATCH 089/134] Fixes dirty in lavaland (#1227) --- code/game/area/areas/mining.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/area/areas/mining.dm b/code/game/area/areas/mining.dm index 48271f479d..a88816f187 100644 --- a/code/game/area/areas/mining.dm +++ b/code/game/area/areas/mining.dm @@ -86,6 +86,7 @@ /area/lavaland icon_state = "mining" has_gravity = 1 + flags = NONE /area/lavaland/surface name = "Lavaland" @@ -123,4 +124,4 @@ icon_state = "danger" /area/lavaland/surface/outdoors/explored - name = "Lavaland Labor Camp" \ No newline at end of file + name = "Lavaland Labor Camp" From 41ba91a2a48a3fab3a9e376761bdf65b22101ef5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:31:29 -0500 Subject: [PATCH 090/134] The Syndicate has fired their chemist and hired a replacement. (#1232) --- code/modules/paperwork/pen.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 73f4c73cfa..b6f8ee8f74 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -154,7 +154,7 @@ /obj/item/weapon/pen/sleepy/New() create_reagents(45) - reagents.add_reagent("morphine", 20) + reagents.add_reagent("chloralhydrate2", 20) reagents.add_reagent("mutetoxin", 15) reagents.add_reagent("tirizene", 10) ..() @@ -205,4 +205,4 @@ /obj/item/weapon/pen/poison/on_write(obj/item/weapon/paper/P, mob/user) P.contact_poison = "delayed_toxin" P.contact_poison_volume = 10 - add_logs(user,P,"used poison pen on") \ No newline at end of file + add_logs(user,P,"used poison pen on") From d900d20119becde9a85cc13bf2d91a1f491646a5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:31:30 -0500 Subject: [PATCH 091/134] Automatic changelog generation for PR #1232 [ci skip] --- html/changelogs/AutoChangeLog-pr-1232.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1232.yml diff --git a/html/changelogs/AutoChangeLog-pr-1232.yml b/html/changelogs/AutoChangeLog-pr-1232.yml new file mode 100644 index 0000000000..97344d4418 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1232.yml @@ -0,0 +1,4 @@ +author: "Iamgoofball" +delete-after: True +changes: + - bugfix: "After the Syndicate realized their top chemist was both mixing a stamina destroying drug with a stimulant to avoid slowdowns entirely in their sleepypens, they fired him and replaced him with a new chemist." From 7b820cf7cac649aca95d68828a6c32f131bf2ef1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:32:11 -0500 Subject: [PATCH 092/134] Fixes missing bracket in domi spawner message (#1234) --- code/game/gamemodes/gang/gang_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/gang/gang_items.dm b/code/game/gamemodes/gang/gang_items.dm index aec9b040cd..5a190d4a18 100644 --- a/code/game/gamemodes/gang/gang_items.dm +++ b/code/game/gamemodes/gang/gang_items.dm @@ -422,7 +422,7 @@ return FALSE if(dominator_excessive_walls(user)) - to_chat(user, "span class='warning'>The dominator will not function here! The dominator requires a sizable open space within three standard units so that walls do not interfere with the signal.") + to_chat(user, "The dominator will not function here! The dominator requires a sizable open space within three standard units so that walls do not interfere with the signal.") return FALSE if(!(usrarea.type in gang.territory|gang.territory_new)) From 740f1727725dd5126cdecdb12022c83781fddd4d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:32:49 -0500 Subject: [PATCH 093/134] Fixes airlocks having two Initializes (#1198) --- code/game/machinery/doors/airlock.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index cd1d4de617..2175be22fe 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -97,7 +97,14 @@ var/static/list/airlock_overlays = list() /obj/machinery/door/airlock/Initialize() - ..() + . = ..() + + if (cyclelinkeddir) + cyclelinkairlock() + if(frequency) + set_frequency(frequency) + update_icon() + wires = new /datum/wires/airlock(src) if(src.closeOtherId != null) spawn (5) @@ -120,14 +127,6 @@ diag_hud.add_to_hud(src) diag_hud_set_electrified() -/obj/machinery/door/airlock/Initialize() - ..() - if (cyclelinkeddir) - cyclelinkairlock() - if(frequency) - set_frequency(frequency) - update_icon() - /obj/machinery/door/airlock/proc/cyclelinkairlock() if (cyclelinkedairlock) cyclelinkedairlock.cyclelinkedairlock = null From 8a3cd334db1a6450cca6739a0b23940397362134 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:32:59 -0500 Subject: [PATCH 094/134] Port vapes to Initialize() (#1224) --- code/game/objects/items/weapons/cigs_lighters.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 86bbb340b1..61ac601e71 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -634,8 +634,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM return (TOXLOSS|OXYLOSS) -/obj/item/clothing/mask/vape/New(loc, var/param_color = null) - ..() +/obj/item/clothing/mask/vape/Initialize(mapload, param_color) + . = ..() create_reagents(chem_volume) reagents.set_reacting(FALSE) // so it doesn't react until you light it reagents.add_reagent("nicotine", 50) From 4e381aaca40635717357f624257349431457d422 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:33:30 -0500 Subject: [PATCH 095/134] Fixes legion icon (#1222) --- code/modules/mob/living/simple_animal/hostile/mining_mobs.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index 97fa07b5be..c2bd44d8ef 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -840,6 +840,9 @@ health = 120 brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/advanced icon_state = "dwarf_legion" + icon_living = "dwarf_legion" + icon_aggro = "dwarf_legion" + icon_dead = "dwarf_legion" /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/advanced stat_attack = 2 @@ -859,6 +862,7 @@ max_mobs = 3 spawn_time = 200 spawn_text = "peels itself off from" + mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion melee_damage_lower = 20 melee_damage_upper = 20 anchored = FALSE From 6c79b06e2ca3bb1f8d236468ec805066f1271fc7 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:34:00 -0500 Subject: [PATCH 096/134] c4 now takes 3 seconds instead of 5 to plant (#1186) --- code/game/objects/items/weapons/grenades/plastic.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/grenades/plastic.dm b/code/game/objects/items/weapons/grenades/plastic.dm index 21a71f371d..a528a832c0 100644 --- a/code/game/objects/items/weapons/grenades/plastic.dm +++ b/code/game/objects/items/weapons/grenades/plastic.dm @@ -235,7 +235,7 @@ to_chat(user, "You start planting the bomb...") - if(do_after(user, 50, target = AM)) + if(do_after(user, 30, target = AM)) if(!user.temporarilyRemoveItemFromInventory(src)) return src.target = AM From f1239b1b9cc6f759a7e0bc7d5b3d43f265a71f7f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:34:01 -0500 Subject: [PATCH 097/134] Automatic changelog generation for PR #1186 [ci skip] --- html/changelogs/AutoChangeLog-pr-1186.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1186.yml diff --git a/html/changelogs/AutoChangeLog-pr-1186.yml b/html/changelogs/AutoChangeLog-pr-1186.yml new file mode 100644 index 0000000000..205bc61c7a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1186.yml @@ -0,0 +1,4 @@ +author: "4dplanner, robustin" +delete-after: True +changes: + - bugfix: "c4 has always taken 3 seconds to plant, and you are not allow to believe otherwise" From 833c0c549cf5482b70f304f2de84697596712d00 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:35:52 -0500 Subject: [PATCH 098/134] Make dance machine mob dancing asynchronous (#1221) --- code/game/machinery/dance_machine.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 8632243b67..214feeb63a 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -317,7 +317,7 @@ /obj/machinery/disco/proc/dance(var/mob/living/M) //Show your moves - + set waitfor = FALSE switch(rand(0,9)) if(0 to 1) dance2(M) From e9d00c2affc727d1e38472585c9d3275d318e85e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:36:44 -0500 Subject: [PATCH 099/134] [READY] Adds ability to add bayonets to weapons - Only enabled on kinetic accelerators - refactors gunlight/bayonet sprites to ballistics too (#1191) --- code/game/objects/items/weapons/kitchen.dm | 4 +- code/modules/projectiles/gun.dm | 131 ++++++++++++------ code/modules/projectiles/guns/energy.dm | 13 +- .../guns/energy/kinetic_accelerator.dm | 15 +- icons/obj/guns/bayonets.dmi | Bin 0 -> 268 bytes icons/obj/guns/flashlights.dmi | Bin 0 -> 457 bytes 6 files changed, 98 insertions(+), 65 deletions(-) create mode 100644 icons/obj/guns/bayonets.dmi create mode 100644 icons/obj/guns/flashlights.dmi diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 54a41b2214..e11e36bbb6 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -65,6 +65,7 @@ attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharpness = IS_SHARP_ACCURATE armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 50) + var/bayonet = FALSE //Can this be attached to a gun? /obj/item/weapon/kitchen/knife/attack(mob/living/carbon/M, mob/living/carbon/user) if(user.zone_selected == "eyes") @@ -107,7 +108,7 @@ throwforce = 20 origin_tech = "materials=3;combat=4" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") - + bayonet = TRUE /obj/item/weapon/kitchen/knife/combat/survival name = "survival knife" @@ -115,6 +116,7 @@ desc = "A hunting grade survival knife." force = 15 throwforce = 15 + bayonet = TRUE /obj/item/weapon/kitchen/knife/combat/bone name = "bone dagger" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 6fb4e6276f..04761befdc 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -43,8 +43,11 @@ var/obj/item/device/firing_pin/pin = /obj/item/device/firing_pin //standard firing pin for most guns - var/obj/item/device/flashlight/gun_light = null + var/obj/item/device/flashlight/gun_light var/can_flashlight = 0 + var/obj/item/weapon/kitchen/knife/bayonet + var/can_bayonet = FALSE + var/datum/action/item_action/toggle_gunlight/alight var/list/upgrades = list() @@ -52,6 +55,8 @@ var/ammo_y_offset = 0 var/flight_x_offset = 0 var/flight_y_offset = 0 + var/knife_x_offset = 0 + var/knife_y_offset = 0 //Zooming var/zoomable = FALSE //whether the gun generates a Zoom action on creation @@ -65,8 +70,7 @@ if(pin) pin = new pin(src) if(gun_light) - verbs += /obj/item/weapon/gun/proc/toggle_gunlight - new /datum/action/item_action/toggle_gunlight(src) + alight = new /datum/action/item_action/toggle_gunlight(src) build_zooming() @@ -268,52 +272,88 @@ SSblackbox.add_details("gun_fired","[src.type]") return 1 +/obj/item/weapon/gun/update_icon() + ..() + cut_overlays() + if(gun_light && can_flashlight) + var/state = "flight[gun_light.on? "_on":""]" //Generic state. + if(gun_light.icon_state in icon_states('icons/obj/guns/flashlights.dmi')) //Snowflake state? + state = gun_light.icon_state + var/mutable_appearance/flashlight_overlay = mutable_appearance('icons/obj/guns/flashlights.dmi', state) + flashlight_overlay.pixel_x = flight_x_offset + flashlight_overlay.pixel_y = flight_y_offset + add_overlay(flashlight_overlay) + if(bayonet && can_bayonet) + var/state = "bayonet" //Generic state. + if(bayonet.icon_state in icon_states('icons/obj/guns/bayonets.dmi')) //Snowflake state? + state = bayonet.icon_state + var/mutable_appearance/knife_overlay = mutable_appearance('icons/obj/guns/bayonets.dmi', state) + knife_overlay.pixel_x = knife_x_offset + knife_overlay.pixel_y = knife_y_offset + add_overlay(knife_overlay) + /obj/item/weapon/gun/attack(mob/M as mob, mob/user) if(user.a_intent == INTENT_HARM) //Flogging - ..() - else - return + if(bayonet) + bayonet.attack(M, user) + return + return ..() + +/obj/item/weapon/gun/attack_obj(obj/O, mob/user) + if(user.a_intent == INTENT_HARM) + if(bayonet) + bayonet.attack_obj(O, user) + return + return ..() /obj/item/weapon/gun/attackby(obj/item/I, mob/user, params) - if(can_flashlight) - if(istype(I, /obj/item/device/flashlight/seclite)) - var/obj/item/device/flashlight/seclite/S = I - if(!gun_light) - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You click [S] into place on [src].") - if(S.on) - set_light(0) - gun_light = S - update_icon() - update_gunlight(user) - verbs += /obj/item/weapon/gun/proc/toggle_gunlight - var/datum/action/A = new /datum/action/item_action/toggle_gunlight(src) - if(loc == user) - A.Grant(user) - - if(istype(I, /obj/item/weapon/screwdriver)) - if(gun_light) - for(var/obj/item/device/flashlight/seclite/S in src) - to_chat(user, "You unscrew the seclite from [src].") - gun_light = null - S.forceMove(get_turf(user)) - update_gunlight(user) - S.update_brightness(user) - update_icon() - verbs -= /obj/item/weapon/gun/proc/toggle_gunlight - for(var/datum/action/item_action/toggle_gunlight/TGL in actions) - qdel(TGL) + if(user.a_intent == INTENT_HARM) + return ..() + else if(istype(I, /obj/item/device/flashlight/seclite)) + if(!can_flashlight) + return ..() + var/obj/item/device/flashlight/seclite/S = I + if(!gun_light) + if(!user.transferItemToLoc(I, src)) + return + to_chat(user, "You click \the [S] into place on \the [src].") + if(S.on) + set_light(0) + gun_light = S + update_icon() + update_gunlight(user) + alight = new /datum/action/item_action/toggle_gunlight(src) + if(loc == user) + alight.Grant(user) + else if(istype(I, /obj/item/weapon/kitchen/knife)) + if(!can_bayonet) + return ..() + var/obj/item/weapon/kitchen/knife/K = I + if(!bayonet) + if(!user.transferItemToLoc(I, src)) + return + to_chat(user, "You attach \the [K] to the front of ]the [src].") + bayonet = K + update_icon() + else if(istype(I, /obj/item/weapon/screwdriver)) + if(gun_light) + var/obj/item/device/flashlight/seclite/S = gun_light + to_chat(user, "You unscrew the seclite from \the [src].") + gun_light = null + S.forceMove(get_turf(user)) + update_gunlight(user) + S.update_brightness(user) + update_icon() + QDEL_NULL(alight) + if(bayonet) + var/obj/item/weapon/kitchen/knife/K = bayonet + K.forceMove(get_turf(user)) + bayonet = null + update_icon() else - ..() - - + return ..() /obj/item/weapon/gun/proc/toggle_gunlight() - set name = "Toggle Gunlight" - set category = "Object" - set desc = "Click to toggle your weapon's attached flashlight." - if(!gun_light) return @@ -343,12 +383,16 @@ ..() if(azoom) azoom.Grant(user) + if(alight) + alight.Grant(user) /obj/item/weapon/gun/dropped(mob/user) ..() zoom(user,FALSE) if(azoom) azoom.Remove(user) + if(alight) + alight.Remove(user) /obj/item/weapon/gun/AltClick(mob/user) @@ -370,9 +414,6 @@ to_chat(M, "Your gun is now skinned as [choice]. Say hello to your new friend.") update_icon() - - - /obj/item/weapon/gun/proc/handle_suicide(mob/living/carbon/human/user, mob/living/carbon/human/target, params) if(!ishuman(user) || !ishuman(target)) return diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index b022941f78..f8d0911011 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -10,6 +10,7 @@ var/list/ammo_type = list(/obj/item/ammo_casing/energy) var/select = 1 //The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next. var/can_charge = 1 //Can it be charged in a recharger? + var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_icon()? var/charge_sections = 4 ammo_x_offset = 2 var/shaded_charge = 0 //if this gun uses a stateful charge bar for more detail @@ -116,7 +117,9 @@ return /obj/item/weapon/gun/energy/update_icon() - cut_overlays() + ..() + if(!automatic_charge_overlays) + return var/ratio = Ceiling((power_supply.charge / power_supply.maxcharge) * charge_sections) var/obj/item/ammo_casing/energy/shot = ammo_type[select] var/iconState = "[icon_state]_charge" @@ -138,14 +141,6 @@ add_overlay(charge_overlay) else add_overlay("[icon_state]_charge[ratio]") - if(gun_light && can_flashlight) - var/iconF = "flight" - if(gun_light.on) - iconF = "flight_on" - var/mutable_appearance/flashlight_overlay = mutable_appearance(icon, iconF) - flashlight_overlay.pixel_x = flight_x_offset - flashlight_overlay.pixel_y = flight_y_offset - add_overlay(flashlight_overlay) if(itemState) itemState += "[ratio]" item_state = itemState diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index e8d48373da..1799a33cbb 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -16,6 +16,9 @@ var/holds_charge = FALSE var/unique_frequency = FALSE // modified by KA modkits var/overheat = FALSE + can_bayonet = TRUE + knife_x_offset = 15 + knife_y_offset = 13 var/max_mod_capacity = 100 var/list/modkits = list() @@ -129,19 +132,11 @@ overheat = FALSE /obj/item/weapon/gun/energy/kinetic_accelerator/update_icon() - cut_overlays() + ..() + if(empty_state && !can_shoot()) add_overlay(empty_state) - if(gun_light && can_flashlight) - var/iconF = "flight" - if(gun_light.on) - iconF = "flight_on" - var/mutable_appearance/flashlight_overlay = mutable_appearance(icon, iconF) - flashlight_overlay.pixel_x = flight_x_offset - flashlight_overlay.pixel_y = flight_y_offset - add_overlay(flashlight_overlay) - //Casing /obj/item/ammo_casing/energy/kinetic projectile_type = /obj/item/projectile/kinetic diff --git a/icons/obj/guns/bayonets.dmi b/icons/obj/guns/bayonets.dmi new file mode 100644 index 0000000000000000000000000000000000000000..176005b7d7035e71552d4cd37702734f719e3045 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvp#Yx{*8>L*$jNBBxdct0ySA#K z&)CrZ#MN9|pe$oakY6x^!?PP{Ku&g5NJNQCYH@N=WKhlO#F@nvH#g*lHV9hnrO5Ui=W(a2tZ zt4n9MvFhd(5*kS-j?N65GGjJZqPF&qUppIk*%+!`Nd0B`pA!bO*3i?%F+^ixa)Jcw zVKEL)t(iM^>`-74X`Ry2+uJLsfvl_hC>f>Nw2Reg3>|2}-|^N-1zw+!ni}7#MjyT^vI)8sE-z^g9f+b-(txi;;&|WmfJz6~o}i!oFhqoCUMj zbhYR^+@4xJF)_78VCp5mRr*Kv_$qmStp9g%&7@<6N9xlKiX{lMZeYFP!kEKo7RV6Y z;45-~SfS6)xljDOXLH_P&mq(|G&WH#U@A97nuYVsmG(KeHlt1rm_U4}7y5@4R=Z9Qb7%oK3R(`H?ujV_) zl%Pxb`McT6Cq@_M{)ZT;u9l*F@@O1TaS?83{1OPJ)#rgmM literal 0 HcmV?d00001 From 8b0bc4ebcf57d44bd73b12f8f8ef1cadefb497bb Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:36:45 -0500 Subject: [PATCH 100/134] Automatic changelog generation for PR #1191 [ci skip] --- html/changelogs/AutoChangeLog-pr-1191.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1191.yml diff --git a/html/changelogs/AutoChangeLog-pr-1191.yml b/html/changelogs/AutoChangeLog-pr-1191.yml new file mode 100644 index 0000000000..9e1d3c3eaa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1191.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - rscadd: "You can now add bayonets to kinetic accelerators. However, only combat knives and survival knives can be added. Harm intent attacking things will cause you to attack that thing with the bayonet instead!" From 0b44c77bfbfbe8bafb9f26e87c33f01231419808 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:37:45 -0500 Subject: [PATCH 101/134] UPDATE: Removes airlock charge from uplink (#1216) --- code/modules/uplink/uplink_item.dm | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index 667742afc4..f603612bbf 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -725,16 +725,6 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. item = /obj/item/weapon/grenade/clusterbuster/soap cost = 6 -/datum/uplink_item/stealthy_weapons/door_charge - name = "Explosive Airlock Charge" - desc = "A small, easily concealable device. It can be applied to an open airlock panel, booby-trapping it. \ - The next person to use that airlock will trigger an explosion, knocking them down and destroying \ - the airlock maintenance panel." - item = /obj/item/device/doorCharge - cost = 2 - surplus = 10 - exclude_modes = list(/datum/game_mode/nuclear) - // Stealth Items /datum/uplink_item/stealthy_tools category = "Stealth and Camouflage Items" From 9006cfeb60043f100f67528d7c27cfc5fc414978 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:39:51 -0500 Subject: [PATCH 102/134] Map conversions will always write out LF (#1212) --- tools/mapmerge/map_helpers.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/mapmerge/map_helpers.py b/tools/mapmerge/map_helpers.py index 2e96e7e7e2..ea06641f50 100644 --- a/tools/mapmerge/map_helpers.py +++ b/tools/mapmerge/map_helpers.py @@ -125,7 +125,7 @@ def merge_map(newfile, backupfile, tgm): ####################### #write to file helpers# def write_dictionary_tgm(filename, dictionary, header = None): #write dictionary in tgm format - with open(filename, "w") as output: + with open(filename, "w", newline='\n') as output: output.write("{}\n".format(tgm_header)) if header: output.write("{}\n".format(header)) @@ -172,7 +172,7 @@ def write_dictionary_tgm(filename, dictionary, header = None): #write dictionary def write_grid_coord_small(filename, grid, maxx, maxy): #thanks to YotaXP for finding out about this one - with open(filename, "a") as output: + with open(filename, "a", newline='\n') as output: output.write("\n") for x in range(1, maxx+1): @@ -183,7 +183,7 @@ def write_grid_coord_small(filename, grid, maxx, maxy): #thanks to YotaXP for fi def write_dictionary(filename, dictionary, header = None): #writes a tile dictionary the same way Dreammaker does - with open(filename, "w") as output: + with open(filename, "w", newline='\n') as output: for key, value in dictionary.items(): if header: output.write("{}\n".format(header)) @@ -191,7 +191,7 @@ def write_dictionary(filename, dictionary, header = None): #writes a tile dictio def write_grid(filename, grid, maxx, maxy): #writes a map grid the same way Dreammaker does - with open(filename, "a") as output: + with open(filename, "a", newline='\n') as output: output.write("\n") output.write("(1,1,1) = {\"\n") From a1ebd8c7910f80c444ecd6bae8a7d467ef554af4 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:40:09 -0500 Subject: [PATCH 103/134] Refactors how diagonal smoothing underlays work (#1187) --- code/__HELPERS/icon_smoothing.dm | 21 +++----- code/game/turfs/closed.dm | 8 +++ code/game/turfs/open.dm | 3 ++ code/game/turfs/simulated/chasm.dm | 9 ++++ .../game/turfs/simulated/floor/fancy_floor.dm | 21 ++++++-- .../turfs/simulated/floor/plating/lava.dm | 5 ++ code/game/turfs/simulated/minerals.dm | 9 +++- code/game/turfs/space/space.dm | 6 +++ code/game/turfs/space/transit.dm | 54 +++++++++++-------- code/game/turfs/turf.dm | 6 +++ code/modules/mining/mine_items.dm | 5 +- 11 files changed, 105 insertions(+), 42 deletions(-) diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index de46e18fde..a0de8d9840 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -167,23 +167,14 @@ underlay_appearance.icon = fixed_underlay["icon"] underlay_appearance.icon_state = fixed_underlay["icon_state"] else - var/turf/T = get_step(src, turn(adjacencies, 180)) - if(T && (T.density || T.smooth)) + var/turned_adjacency = turn(adjacencies, 180) + var/turf/T = get_step(src, turned_adjacency) + if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) T = get_step(src, turn(adjacencies, 135)) - if(T && (T.density || T.smooth)) + if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) T = get_step(src, turn(adjacencies, 225)) - - if(isspaceturf(T) && !istype(T, /turf/open/space/transit)) - underlay_appearance.icon = 'icons/turf/space.dmi' - underlay_appearance.icon_state = SPACE_ICON_STATE - underlay_appearance.plane = PLANE_SPACE - else if(T && !T.density && !T.smooth) - underlay_appearance.icon = T.icon - underlay_appearance.icon_state = T.icon_state - else if(baseturf && !initial(baseturf.density) && !initial(baseturf.smooth)) - underlay_appearance.icon = initial(baseturf.icon) - underlay_appearance.icon_state = initial(baseturf.icon_state) - else + //if all else fails, ask our own turf + if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency) && !get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) underlay_appearance.icon = DEFAULT_UNDERLAY_ICON underlay_appearance.icon_state = DEFAULT_UNDERLAY_ICON_STATE underlays = U diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 2c3e60694d..a459ac5903 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -5,6 +5,9 @@ density = 1 blocks_air = 1 +/turf/closed/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + return FALSE + /turf/closed/indestructible name = "wall" icon = 'icons/turf/walls.dmi' @@ -108,6 +111,11 @@ explosion_block = 50 baseturf = /turf/closed/indestructible/necropolis +/turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "necro1" + return TRUE + /turf/closed/indestructible/riveted/hierophant name = "wall" desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern." diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index ff278b415a..718451bcb0 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -45,6 +45,9 @@ /turf/open/indestructible/hierophant/two +/turf/open/indestructible/hierophant/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + return FALSE + /turf/open/indestructible/paper name = "notebook floor" desc = "A floor made of invulnerable notebook paper." diff --git a/code/game/turfs/simulated/chasm.dm b/code/game/turfs/simulated/chasm.dm index 4f22487537..8f0de9675d 100644 --- a/code/game/turfs/simulated/chasm.dm +++ b/code/game/turfs/simulated/chasm.dm @@ -22,6 +22,10 @@ if(!drop_stuff()) STOP_PROCESSING(SSobj, src) +/turf/open/chasm/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "basalt" + return TRUE /turf/open/chasm/attackby(obj/item/C, mob/user, params, area/area_restriction) ..() @@ -171,6 +175,11 @@ planetary_atmos = TRUE initial_gas_mix = "o2=14;n2=23;TEMP=300" +/turf/open/chasm/jungle/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "dirt" + return TRUE + /turf/open/chasm/straight_down/jungle icon = 'icons/turf/floors/junglechasm.dmi' planetary_atmos = TRUE diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index 4f6da47bde..91ed7a7cd6 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -140,7 +140,7 @@ floor_tile = /obj/item/stack/tile/carpet broken_states = list("damaged") smooth = SMOOTH_TRUE - canSmoothWith = list(/turf/open/floor/carpet, /turf/open/chasm) + canSmoothWith = list(/turf/open/floor/carpet) flags = NONE /turf/open/floor/carpet/Initialize() @@ -175,15 +175,22 @@ burnt = 1 update_icon() +/turf/open/floor/carpet/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + return FALSE -turf/open/floor/fakepit +/turf/open/floor/fakepit desc = "A clever illusion designed to look like a bottomless pit." smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE - canSmoothWith = list(/turf/open/floor/fakepit, /turf/open/chasm) + canSmoothWith = list(/turf/open/floor/fakepit) icon = 'icons/turf/floors/Chasms.dmi' icon_state = "smooth" +/turf/open/floor/fakepit/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "basalt" + return TRUE + /turf/open/floor/fakespace icon = 'icons/turf/space.dmi' icon_state = "0" @@ -193,4 +200,10 @@ turf/open/floor/fakepit /turf/open/floor/fakespace/Initialize() ..() - icon_state = "[rand(0,25)]" + icon_state = SPACE_ICON_STATE + +/turf/open/floor/fakespace/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/space.dmi' + underlay_appearance.icon_state = SPACE_ICON_STATE + underlay_appearance.plane = PLANE_SPACE + return TRUE diff --git a/code/game/turfs/simulated/floor/plating/lava.dm b/code/game/turfs/simulated/floor/plating/lava.dm index 9321b4f082..ead1e97d22 100644 --- a/code/game/turfs/simulated/floor/plating/lava.dm +++ b/code/game/turfs/simulated/floor/plating/lava.dm @@ -38,6 +38,11 @@ /turf/open/floor/plating/lava/make_plating() return +/turf/open/floor/plating/lava/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "basalt" + return TRUE + /turf/open/floor/plating/lava/GetHeatCapacity() . = 700000 diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 0a8230e186..9c3d8ed0c7 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -26,7 +26,7 @@ /turf/closed/mineral/Initialize() if (!canSmoothWith) - canSmoothWith = list(/turf/closed) + canSmoothWith = list(/turf/closed/mineral, /turf/closed/indestructible) pixel_y = -4 pixel_x = -4 icon = smooth_icon @@ -42,6 +42,13 @@ setDir(angle2dir(rotation+dir2angle(dir))) queue_smooth(src) +/turf/closed/mineral/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + if(turf_type) + underlay_appearance.icon = initial(turf_type.icon) + underlay_appearance.icon_state = initial(turf_type.icon_state) + return TRUE + return ..() + /turf/closed/mineral/attackby(obj/item/weapon/pickaxe/P, mob/user, params) if (!user.IsAdvancedToolUser()) diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 1876d6f782..bac25e68c0 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -160,6 +160,12 @@ /turf/open/space/acid_act(acidpwr, acid_volume) return 0 +/turf/open/space/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/space.dmi' + underlay_appearance.icon_state = SPACE_ICON_STATE + underlay_appearance.plane = PLANE_SPACE + return TRUE + /turf/open/space/rcd_vals(mob/user, obj/item/weapon/construction/rcd/the_rcd) if(!CanBuildHere()) diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index 68c00c54ec..c447b83a1f 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -4,6 +4,11 @@ baseturf = /turf/open/space/transit flags = NOJAUNT //This line goes out to every wizard that ever managed to escape the den. I'm sorry. +/turf/open/space/transit/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + . = ..() + underlay_appearance.icon_state = "speedspace_ns_[get_transit_state(asking_turf)]" + underlay_appearance.transform = turn(matrix(), get_transit_angle(asking_turf)) + /turf/open/space/transit/south dir = SOUTH @@ -69,25 +74,32 @@ throw_atom(AM) /turf/open/space/transit/proc/update_icon() - var/p = 9 - var/angle = 0 - var/state = 1 - switch(dir) - if(NORTH) - angle = 180 - state = ((-p*x+y) % 15) + 1 - if(state < 1) - state += 15 - if(EAST) - angle = 90 - state = ((x+p*y) % 15) + 1 - if(WEST) - angle = -90 - state = ((x-p*y) % 15) + 1 - if(state < 1) - state += 15 - else - state = ((p*x+y) % 15) + 1 + icon_state = "speedspace_ns_[get_transit_state(src)]" + transform = turn(matrix(), get_transit_angle(src)) - icon_state = "speedspace_ns_[state]" - transform = turn(matrix(), angle) \ No newline at end of file +/proc/get_transit_state(turf/T) + var/p = 9 + . = 1 + switch(T.dir) + if(NORTH) + . = ((-p*T.x+T.y) % 15) + 1 + if(. < 1) + . += 15 + if(EAST) + . = ((T.x+p*T.y) % 15) + 1 + if(WEST) + . = ((T.x-p*T.y) % 15) + 1 + if(. < 1) + . += 15 + else + . = ((p*T.x+T.y) % 15) + 1 + +/proc/get_transit_angle(turf/T) + . = 0 + switch(T.dir) + if(NORTH) + . = 180 + if(EAST) + . = 90 + if(WEST) + . = -90 \ No newline at end of file diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index c4d35d7bd1..9d556e896f 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -394,6 +394,12 @@ if(ismob(A) || .) A.ratvar_act() +/turf/proc/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = icon + underlay_appearance.icon_state = icon_state + underlay_appearance.dir = adjacency_dir + return TRUE + /turf/proc/add_blueprints(atom/movable/AM) var/image/I = new I.appearance = AM.appearance diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 3df4d521ff..10b7bc1eac 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -217,6 +217,7 @@ /area/survivalpod name = "\improper Emergency Shelter" icon_state = "away" + dynamic_lighting = DYNAMIC_LIGHTING_FORCED requires_power = 0 has_gravity = 1 @@ -394,7 +395,9 @@ icon = 'icons/obj/lavaland/donkvendor.dmi' icon_on = "donkvendor" icon_off = "donkvendor" - luminosity = 8 + light_range = 5 + light_power = 1.2 + light_color = "#DDFFD3" max_n_of_items = 10 pixel_y = -4 flags = NODECONSTRUCT From fd2c61f3d30b234a7fd6862a77b6b4b497852ab2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:42:58 -0500 Subject: [PATCH 104/134] [MIRROR] Adds a minor documentation comment (#1097) * Adds a minor documentation comment * Update subsystems.dm * Delete subsystems.dm.rej --- code/__DEFINES/subsystems.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 8c8b360497..7303f0f33a 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -39,6 +39,7 @@ // Subsystem init_order, from highest priority to lowest priority +// Subsystems shutdown in the reverse of the order they initialize in // The numbers just define the ordering, they are meaningless otherwise. #define INIT_ORDER_SERVER_MAINT 16 @@ -71,4 +72,4 @@ #define RUNLEVEL_GAME 4 #define RUNLEVEL_POSTGAME 8 -#define RUNLEVELS_DEFAULT (RUNLEVEL_SETUP | RUNLEVEL_GAME | RUNLEVEL_POSTGAME) \ No newline at end of file +#define RUNLEVELS_DEFAULT (RUNLEVEL_SETUP | RUNLEVEL_GAME | RUNLEVEL_POSTGAME) From d1e38d9e1f8a82feefaccc1115bed2d82bfdbf73 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:43:20 -0500 Subject: [PATCH 105/134] Fixed very minor capitalization and punctuation inconsistencies. (#1104) --- code/game/objects/structures/artstuff.dm | 4 ++-- code/game/objects/structures/signs.dm | 20 +++++++++---------- .../living/simple_animal/bot/construction.dm | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index 23bbc40ed8..989bb6755b 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -5,7 +5,7 @@ /obj/structure/easel name = "easel" - desc = "only for the finest of art!" + desc = "Only for the finest of art!" icon = 'icons/obj/artstuff.dmi' icon_state = "easel" density = 1 @@ -49,7 +49,7 @@ GLOBAL_LIST_INIT(globalBlankCanvases, new(AMT_OF_CANVASES)) /obj/item/weapon/canvas name = "canvas" - desc = "draw out your soul on this canvas!" + desc = "Draw out your soul on this canvas!" icon = 'icons/obj/artstuff.dmi' icon_state = "11x11" resistance_flags = FLAMMABLE diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 445af97b4e..8ffebdc0ab 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -146,49 +146,49 @@ /obj/structure/sign/biohazard name = "\improper BIOHAZARD" - desc = "A warning sign which reads 'BIOHAZARD'" + desc = "A warning sign which reads 'BIOHAZARD'." icon_state = "bio" /obj/structure/sign/electricshock name = "\improper HIGH VOLTAGE" - desc = "A warning sign which reads 'HIGH VOLTAGE'" + desc = "A warning sign which reads 'HIGH VOLTAGE'." icon_state = "shock" /obj/structure/sign/examroom name = "\improper EXAM ROOM" - desc = "A guidance sign which reads 'EXAM ROOM'" + desc = "A guidance sign which reads 'EXAM ROOM'." icon_state = "examroom" /obj/structure/sign/vacuum name = "\improper HARD VACUUM AHEAD" - desc = "A warning sign which reads 'HARD VACUUM AHEAD'" + desc = "A warning sign which reads 'HARD VACUUM AHEAD'." icon_state = "space" /obj/structure/sign/deathsposal name = "\improper DISPOSAL: LEADS TO SPACE" - desc = "A warning sign which reads 'DISPOSAL: LEADS TO SPACE'" + desc = "A warning sign which reads 'DISPOSAL: LEADS TO SPACE'." icon_state = "deathsposal" /obj/structure/sign/pods name = "\improper ESCAPE PODS" - desc = "A warning sign which reads 'ESCAPE PODS'" + desc = "A warning sign which reads 'ESCAPE PODS'." icon_state = "pods" /obj/structure/sign/fire name = "\improper DANGER: FIRE" - desc = "A warning sign which reads 'DANGER: FIRE'" + desc = "A warning sign which reads 'DANGER: FIRE'." icon_state = "fire" /obj/structure/sign/nosmoking_1 name = "\improper NO SMOKING" - desc = "A warning sign which reads 'NO SMOKING'" + desc = "A warning sign which reads 'NO SMOKING'." icon_state = "nosmoking" /obj/structure/sign/nosmoking_2 name = "\improper NO SMOKING" - desc = "A warning sign which reads 'NO SMOKING'" + desc = "A warning sign which reads 'NO SMOKING'." icon_state = "nosmoking2" /obj/structure/sign/radiation @@ -223,7 +223,7 @@ /obj/structure/sign/nanotrasen name = "\improper NanoTrasen Logo " - desc = "A sign with the Nanotrasen Logo on it. Glory to Nanotrasen!" + desc = "A sign with the Nanotrasen Logo on it. Glory to Nanotrasen!" icon_state = "nanotrasen" /obj/structure/sign/science //These 3 have multiple types, just var-edit the icon_state to whatever one you want on the map diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 25be049546..b3b4725914 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -273,7 +273,7 @@ //Medbot Assembly /obj/item/weapon/firstaid_arm_assembly - name = "incomplete medibot assembly." + name = "incomplete medibot assembly" desc = "A first aid kit with a robot arm permanently grafted to it." icon = 'icons/mob/aibots.dmi' icon_state = "firstaid_arm" From 499ef04593c0786d1797b876ed53cdf18a8c366d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 15:43:21 -0500 Subject: [PATCH 106/134] Automatic changelog generation for PR #1104 [ci skip] --- html/changelogs/AutoChangeLog-pr-1104.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1104.yml diff --git a/html/changelogs/AutoChangeLog-pr-1104.yml b/html/changelogs/AutoChangeLog-pr-1104.yml new file mode 100644 index 0000000000..caffe5a257 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1104.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - spellcheck: "Fixed very minor inconsistencies on items & punctuation on items." From 2cc74f4a8fae1c8db4f48a8cd442f6556f58232c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 20:55:04 -0500 Subject: [PATCH 107/134] Changes incorporeal movement to use defines --- code/__DEFINES/mobs.dm | 5 +++++ code/game/gamemodes/miniantags/revenant/revenant.dm | 12 ++++++------ code/modules/clothing/suits/miscellaneous.dm | 2 +- code/modules/mob/living/living_defines.dm | 3 ++- .../living/simple_animal/guardian/types/ranged.dm | 4 ++-- code/modules/mob/living/simple_animal/parrot.dm | 2 +- code/modules/mob/mob_movement.dm | 6 +++--- 7 files changed, 20 insertions(+), 14 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 2d36d72ee3..e5d1f4c19e 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -124,3 +124,8 @@ #define MAX_CHICKENS 50 #define UNHEALING_EAR_DAMAGE 100 + + +#define INCORPOREAL_MOVE_BASIC 1 +#define INCORPOREAL_MOVE_SHADOW 2 // leaves a trail of shadows +#define INCORPOREAL_MOVE_JAUNT 3 // is blocked by holy water/salt \ No newline at end of file diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index 293b114b36..da7cdee931 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -15,7 +15,7 @@ var/icon_stun = "revenant_stun" var/icon_drain = "revenant_draining" var/stasis = FALSE - incorporeal_move = 3 + incorporeal_move = INCORPOREAL_MOVE_JAUNT invisibility = INVISIBILITY_REVENANT health = INFINITY //Revenants don't use health, they use essence instead maxHealth = INFINITY @@ -102,7 +102,7 @@ if(unreveal_time && world.time >= unreveal_time) unreveal_time = 0 revealed = FALSE - incorporeal_move = 3 + incorporeal_move = INCORPOREAL_MOVE_JAUNT invisibility = INVISIBILITY_REVENANT to_chat(src, "You are once more concealed.") if(unstun_time && world.time >= unstun_time) @@ -222,7 +222,7 @@ R.essence = max(reforming_essence - 15 * perfectsouls, 75) //minus any perfect souls R.client_to_revive = client //If the essence reforms, the old revenant is put back in the body R.revenant = src - invisibility = INVISIBILITY_ABSTRACT + invisibility = INVISIBILITY_ABSTRACT revealed = FALSE ghostize(0)//Don't re-enter invisible corpse return @@ -236,7 +236,7 @@ return revealed = TRUE invisibility = 0 - incorporeal_move = 0 + incorporeal_move = FALSE if(!unreveal_time) to_chat(src, "You have been revealed!") unreveal_time = world.time + time @@ -309,12 +309,12 @@ /mob/living/simple_animal/revenant/proc/death_reset() revealed = FALSE - unreveal_time = 0 + unreveal_time = 0 notransform = 0 unstun_time = 0 inhibited = FALSE draining = FALSE - incorporeal_move = 3 + incorporeal_move = INCORPOREAL_MOVE_JAUNT invisibility = INVISIBILITY_REVENANT alpha=255 stasis = FALSE diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index bc1f25cfa7..02040b4469 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -541,5 +541,5 @@ name = "spooky ghost" desc = "this is obviously just a bedsheet, but maybe try it on?" icon_state = "bedsheet" - user_vars_to_edit = list("name" = "Spooky Ghost", "real_name" = "Spooky Ghost" , "incorporeal_move" = 1, "appearance_flags" = KEEP_TOGETHER|TILE_BOUND, "alpha" = 150) + user_vars_to_edit = list("name" = "Spooky Ghost", "real_name" = "Spooky Ghost" , "incorporeal_move" = INCORPOREAL_MOVE_BASIC, "appearance_flags" = KEEP_TOGETHER|TILE_BOUND, "alpha" = 150) alternate_worn_layer = ABOVE_BODY_FRONT_LAYER //so the bedsheet goes over everything but fire diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index fbf9c35303..83cc990a52 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -24,7 +24,8 @@ var/last_special = 0 //Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out. //Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects. - var/incorporeal_move = 0 //0 is off, 1 is normal, 2 is for ninjas. + var/incorporeal_move = FALSE //FALSE is off, INCORPOREAL_MOVE_BASIC is normal, INCORPOREAL_MOVE_SHADOW is for ninjas + //and INCORPOREAL_MOVE_JAUNT is blocked by holy water/salt var/list/surgeries = list() //a list of surgery datums. generally empty, they're added when the player wants them. diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index 37777a5ead..e3792d40ba 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -37,7 +37,7 @@ environment_smash = initial(environment_smash) alpha = 255 range = initial(range) - incorporeal_move = 0 + incorporeal_move = FALSE to_chat(src, "You switch to combat mode.") toggle = FALSE else @@ -48,7 +48,7 @@ environment_smash = ENVIRONMENT_SMASH_NONE alpha = 45 range = 255 - incorporeal_move = 1 + incorporeal_move = INCORPOREAL_MOVE_BASIC to_chat(src, "You switch to scout mode.") toggle = TRUE else diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index e5dc99ea27..a0c1fe9fbe 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -948,7 +948,7 @@ color = "#FFFFFF77" speak_chance = 20 status_flags = GODMODE - incorporeal_move = 1 + incorporeal_move = INCORPOREAL_MOVE_BASIC butcher_results = list(/obj/item/weapon/ectoplasm = 1) /mob/living/simple_animal/parrot/Poly/ghost/Initialize() diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index e85dca9cad..43d8a924a1 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -209,10 +209,10 @@ return var/mob/living/L = mob switch(L.incorporeal_move) - if(1) + if(INCORPOREAL_MOVE_BASIC) L.loc = get_step(L, direct) L.setDir(direct) - if(2) + if(INCORPOREAL_MOVE_SHADOW) if(prob(50)) var/locx var/locy @@ -250,7 +250,7 @@ new /obj/effect/temp_visual/dir_setting/ninja/shadow(mobloc, L.dir) L.loc = get_step(L, direct) L.setDir(direct) - if(3) //Incorporeal move, but blocked by holy-watered tiles and salt piles. + if(INCORPOREAL_MOVE_JAUNT) //Incorporeal move, but blocked by holy-watered tiles and salt piles. var/turf/open/floor/stepTurf = get_step(L, direct) for(var/obj/effect/decal/cleanable/salt/S in stepTurf) to_chat(L, "[S] bars your passage!") From a4b0d04fe4b0562f6afe61c1810c09bbe559320b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 20:56:13 -0500 Subject: [PATCH 108/134] Fixes a runtime with contraband crates --- code/modules/cargo/packs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index b88cfc0315..421b8a057e 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -1582,7 +1582,7 @@ name = "Contraband Crate" contraband = TRUE cost = 3000 - num_contained = 6 + num_contained = 5 contains = list(/obj/item/weapon/poster/random_contraband, /obj/item/weapon/storage/fancy/cigarettes/cigpack_shadyjims, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori, From de3d21902a07a7b9bd8d08acd753ea5880d0658f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 20:56:17 -0500 Subject: [PATCH 109/134] Fixes typo in garbage subsystem --- code/controllers/subsystem/garbage.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index 2611bc53e6..234569bfdc 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -164,8 +164,8 @@ SUBSYSTEM_DEF(garbage) if (time > highest_del_time) highest_del_time = time if (time > 10) - log_game("Error: [type]([refID]) took longer then 1 second to delete (took [time/10] seconds to delete)") - message_admins("Error: [type]([refID]) took longer then 1 second to delete (took [time/10] seconds to delete).") + log_game("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete)") + message_admins("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete).") postpone(time/5) /datum/controller/subsystem/garbage/proc/HardQueue(datum/A) From fdb54c3ce3ead0b67282e724ad9140138727d8ff Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sat, 27 May 2017 22:49:20 -0500 Subject: [PATCH 110/134] hat --- code/modules/clothing/head/cit_hats.dm | 3 ++- icons/mob/head.dmi | Bin 174767 -> 174987 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/head/cit_hats.dm b/code/modules/clothing/head/cit_hats.dm index d562802db1..31b36b7723 100644 --- a/code/modules/clothing/head/cit_hats.dm +++ b/code/modules/clothing/head/cit_hats.dm @@ -1,5 +1,6 @@ /obj/item/clothing/head/hunter name = "hunter hat" desc = "It's a flimsy looking hat." - icon_state = "hunter" + item_state = "hunter" + icon_state = "hunter-worn" icon = 'icons/obj/clothing/cit_hats.dmi' \ No newline at end of file diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 9d63c276bc9ef32dd74be79e7ccea017ab24aa39..f98009ca3a5aaa6cab59b15bdcbede5583112ae2 100644 GIT binary patch delta 19809 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�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 V=n$6hm9zVp3zoJPRp#!|{{>ez#~T0u From fa42d8631a73f4dfc8b07e4a2484fab918b83a1d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 27 May 2017 23:27:19 -0500 Subject: [PATCH 111/134] Comm Console Fix --- code/game/machinery/computer/communications.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index c9a448fc7b..605cd60ce6 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -54,7 +54,7 @@ /obj/machinery/computer/communications/Topic(href, href_list) if(..()) return - if (src.z > ZLEVEL_CENTCOM) //Can only use on centcom and SS13 + if (z != ZLEVEL_STATION && z != ZLEVEL_CENTCOM) //Can only use on centcom and SS13 to_chat(usr, "Unable to establish a connection: \black You're too far away from the station!") return usr.set_machine(src) From f64ba98e9092daa26870487b919532cdcde3e0be Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 08:12:11 -0500 Subject: [PATCH 112/134] Ports modular computers to initialize --- .../computers/machinery/console_presets.dm | 2 +- .../computers/machinery/modular_computer.dm | 8 +++----- .../computers/machinery/modular_console.dm | 8 ++++---- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm index b2f0c5fb07..18a43defb6 100644 --- a/code/modules/modular_computers/computers/machinery/console_presets.dm +++ b/code/modules/modular_computers/computers/machinery/console_presets.dm @@ -5,7 +5,7 @@ var/_has_battery = 0 var/_has_ai = 0 -/obj/machinery/modular_computer/console/preset/New() +/obj/machinery/modular_computer/console/preset/Initialize() . = ..() if(!cpu) return diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index b7b258d1ef..c8c303e453 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -27,15 +27,13 @@ var/obj/item/device/modular_computer/processor/cpu = null // CPU that handles most logic while this type only handles power and other specific things. -/obj/machinery/modular_computer/New() - ..() +/obj/machinery/modular_computer/Initialize() + . = ..() cpu = new(src) cpu.physical = src /obj/machinery/modular_computer/Destroy() - if(cpu) - qdel(cpu) - cpu = null + QDEL_NULL(cpu) return ..() /obj/machinery/modular_computer/attack_ghost(mob/dead/observer/user) diff --git a/code/modules/modular_computers/computers/machinery/modular_console.dm b/code/modules/modular_computers/computers/machinery/modular_console.dm index 60315198ca..3f53ba715f 100644 --- a/code/modules/modular_computers/computers/machinery/modular_console.dm +++ b/code/modules/modular_computers/computers/machinery/modular_console.dm @@ -20,8 +20,8 @@ max_integrity = 300 integrity_failure = 150 -/obj/machinery/modular_computer/console/buildable/New() - ..() +/obj/machinery/modular_computer/console/buildable/Initialize() + . = ..() // User-built consoles start as empty frames. var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD] var/obj/item/weapon/computer_hardware/hard_drive/network_card = cpu.all_components[MC_NET] @@ -30,8 +30,8 @@ qdel(network_card) qdel(hard_drive) -/obj/machinery/modular_computer/console/New() - ..() +/obj/machinery/modular_computer/console/Initialize() + . = ..() var/obj/item/weapon/computer_hardware/battery/battery_module = cpu.all_components[MC_CELL] if(battery_module) qdel(battery_module) From 9f665647c20c7cc5a62554311d584a6a4521077c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 08:13:16 -0500 Subject: [PATCH 113/134] Ports cable structures to Initialize --- code/modules/power/cable.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 5bf4bab33e..c0ad4fd2b7 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -66,9 +66,8 @@ By design, d1 is the smallest direction and d2 is the highest icon = 'icons/obj/power_cond/power_cond_white.dmi' // the power cable object -/obj/structure/cable/New() - ..() - +/obj/structure/cable/Initialize() + . = ..() // ensure d1 & d2 reflect the icon_state for entering and exiting cable var/dash = findtext(icon_state, "-") @@ -529,7 +528,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai return(OXYLOSS) /obj/item/stack/cable_coil/New(loc, new_amount = null, var/param_color = null) - ..() + . = ..() if(new_amount) // MAXCOIL by default amount = new_amount if(param_color) From 4b9a7ce9cf092886698114f4f9bcc40b5c284a18 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 08:14:21 -0500 Subject: [PATCH 114/134] Adds AI follow links to PDA messages and holopad speech --- code/game/objects/items/devices/PDA/PDA.dm | 9 ++++++++- code/modules/mob/living/silicon/ai/ai.dm | 16 ++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 4a64cf5c0d..f3c32d3d68 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -632,7 +632,14 @@ GLOBAL_LIST_EMPTY(PDAs) L = get(src, /mob/living/silicon) if(L && L.stat != UNCONSCIOUS) - to_chat(L, "\icon[src] Message from [source.owner] ([source.ownjob]), \"[msg.message]\"[msg.get_photo_ref()] (Reply)") + + var/hrefstart + var/hrefend + if (isAI(L)) + hrefstart = "" + hrefend = "" + + to_chat(L, "\icon[src.icon] Message from [hrefstart][source.owner] ([source.ownjob])[hrefend], \"[msg.message]\"[msg.get_photo_ref()] (Reply)") update_icon() add_overlay(icon_alert) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index d3fe5eb6d2..f4cfb363fd 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -833,8 +833,20 @@ /mob/living/silicon/ai/proc/relay_speech(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode) raw_message = lang_treat(speaker, message_language, raw_message, spans, message_mode) - var/name_used = speaker.GetVoice() - var/rendered = "Relayed Speech: [name_used] [raw_message]" + var/start = "Relayed Speech: " + var/namepart = "[speaker.GetVoice()][speaker.get_alt_name()]" + var/hrefpart = "" + var/jobpart + + if (iscarbon(speaker)) + var/mob/living/carbon/S = speaker + if(S.job) + jobpart = "[S.job]" + else + jobpart = "Unknown" + + var/rendered = "[start][hrefpart][namepart] ([jobpart]) [raw_message]" + show_message(rendered, 2) /mob/living/silicon/ai/fully_replace_character_name(oldname,newname) From f89d732d0ae80f87bf450b5d5f7f38ebf4ad0cde Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 08:16:35 -0500 Subject: [PATCH 115/134] Removes duplicate sharpener from gang uplink --- code/game/gamemodes/gang/gang_datum.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/gamemodes/gang/gang_datum.dm b/code/game/gamemodes/gang/gang_datum.dm index 0ff9ef4f2d..f5db21f0ab 100644 --- a/code/game/gamemodes/gang/gang_datum.dm +++ b/code/game/gamemodes/gang/gang_datum.dm @@ -53,7 +53,6 @@ /datum/gang_item/weapon/ammo/uzi_ammo, /datum/gang_item/equipment/sharpener, /datum/gang_item/equipment/spraycan, - /datum/gang_item/equipment/sharpener, /datum/gang_item/equipment/emp, /datum/gang_item/equipment/c4, /datum/gang_item/equipment/frag, @@ -91,7 +90,6 @@ /datum/gang_item/weapon/ammo/uzi_ammo, /datum/gang_item/equipment/sharpener, /datum/gang_item/equipment/spraycan, - /datum/gang_item/equipment/sharpener, /datum/gang_item/equipment/emp, /datum/gang_item/equipment/c4, /datum/gang_item/equipment/frag, From 64562ba0c478623465f365cbd69d27fdd27059a7 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 08:17:44 -0500 Subject: [PATCH 116/134] Fixes clown creampie cannon not recharging properly --- code/game/objects/items/weapons/pneumaticCannon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/pneumaticCannon.dm b/code/game/objects/items/weapons/pneumaticCannon.dm index 64fb4c7ecc..91b605543b 100644 --- a/code/game/objects/items/weapons/pneumaticCannon.dm +++ b/code/game/objects/items/weapons/pneumaticCannon.dm @@ -270,4 +270,4 @@ /obj/item/weapon/pneumatic_cannon/pie/selfcharge/process() if(++charge_tick >= charge_ticks) - fill_with_type(/obj/item/weapon/reagent_containers/food/snacks/pie, charge_amount) + fill_with_type(/obj/item/weapon/reagent_containers/food/snacks/pie/cream, charge_amount) From cd554d253795ac758b9cd52f9ba6733c41adfb94 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 11:09:34 -0500 Subject: [PATCH 117/134] Fixes crew monitoring console minimaps --- .../{Box Station_1.png => Box Station_2.png} | Bin .../{CereStation_1.png => CereStation_2.png} | Bin .../{Delta Station_1.png => Delta Station_2.png} | Bin .../{MetaStation_1.png => MetaStation_2.png} | Bin .../{OmegaStation_1.png => OmegaStation_2.png} | Bin 5 files changed, 0 insertions(+), 0 deletions(-) rename icons/minimaps/{Box Station_1.png => Box Station_2.png} (100%) rename icons/minimaps/{CereStation_1.png => CereStation_2.png} (100%) rename icons/minimaps/{Delta Station_1.png => Delta Station_2.png} (100%) rename icons/minimaps/{MetaStation_1.png => MetaStation_2.png} (100%) rename icons/minimaps/{OmegaStation_1.png => OmegaStation_2.png} (100%) diff --git a/icons/minimaps/Box Station_1.png b/icons/minimaps/Box Station_2.png similarity index 100% rename from icons/minimaps/Box Station_1.png rename to icons/minimaps/Box Station_2.png diff --git a/icons/minimaps/CereStation_1.png b/icons/minimaps/CereStation_2.png similarity index 100% rename from icons/minimaps/CereStation_1.png rename to icons/minimaps/CereStation_2.png diff --git a/icons/minimaps/Delta Station_1.png b/icons/minimaps/Delta Station_2.png similarity index 100% rename from icons/minimaps/Delta Station_1.png rename to icons/minimaps/Delta Station_2.png diff --git a/icons/minimaps/MetaStation_1.png b/icons/minimaps/MetaStation_2.png similarity index 100% rename from icons/minimaps/MetaStation_1.png rename to icons/minimaps/MetaStation_2.png diff --git a/icons/minimaps/OmegaStation_1.png b/icons/minimaps/OmegaStation_2.png similarity index 100% rename from icons/minimaps/OmegaStation_1.png rename to icons/minimaps/OmegaStation_2.png From 13b6a18f428c6163afeea0a8518ae7ea4f4f96ae Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 14:16:07 -0500 Subject: [PATCH 118/134] Automatic changelog generation for PR #1268 [ci skip] --- html/changelogs/AutoChangeLog-pr-1268.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1268.yml diff --git a/html/changelogs/AutoChangeLog-pr-1268.yml b/html/changelogs/AutoChangeLog-pr-1268.yml new file mode 100644 index 0000000000..1ed2a4fcb7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1268.yml @@ -0,0 +1,4 @@ +author: "QualityVan" +delete-after: True +changes: + - bugfix: "Crew monitoring consoles once again have minimaps while you're on the station level" From 7e88443115a94e41a61cddc6751e1252abc1dc9d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 14:32:19 -0500 Subject: [PATCH 119/134] Automatic changelog generation for PR #1255 [ci skip] --- html/changelogs/AutoChangeLog-pr-1255.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1255.yml diff --git a/html/changelogs/AutoChangeLog-pr-1255.yml b/html/changelogs/AutoChangeLog-pr-1255.yml new file mode 100644 index 0000000000..fdd7e8ac0f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1255.yml @@ -0,0 +1,5 @@ +author: "cacogen" +delete-after: True +changes: + - rscadd: "Adds AI follow links to holopad speech and PDA messages. Note that PDA messages point to the owner of the PDA and not the PDA's actual location." + - bugfix: "Fixes PDA icon not showing up beside received messages for AIs" From 42edd006b88b9711486e988712c149d244727311 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 28 May 2017 14:57:17 -0500 Subject: [PATCH 120/134] A BUNCH OF SHIT --- code/citadel/cit_clothing.dm | 6 +++ code/modules/clothing/head/cit_hats.dm | 2 +- code/modules/power/singularity/collector.dm | 40 +++++++++--------- .../power/singularity/collector.dm.rej | 12 ------ icons/mob/head.dmi | Bin 174987 -> 174985 bytes icons/obj/clothing/cit_hats.dmi | Bin 390 -> 286 bytes tgstation.dme | 2 +- 7 files changed, 29 insertions(+), 33 deletions(-) create mode 100644 code/citadel/cit_clothing.dm delete mode 100644 code/modules/power/singularity/collector.dm.rej diff --git a/code/citadel/cit_clothing.dm b/code/citadel/cit_clothing.dm new file mode 100644 index 0000000000..31b36b7723 --- /dev/null +++ b/code/citadel/cit_clothing.dm @@ -0,0 +1,6 @@ +/obj/item/clothing/head/hunter + name = "hunter hat" + desc = "It's a flimsy looking hat." + item_state = "hunter" + icon_state = "hunter-worn" + icon = 'icons/obj/clothing/cit_hats.dmi' \ No newline at end of file diff --git a/code/modules/clothing/head/cit_hats.dm b/code/modules/clothing/head/cit_hats.dm index 31b36b7723..a5b9d1a1b6 100644 --- a/code/modules/clothing/head/cit_hats.dm +++ b/code/modules/clothing/head/cit_hats.dm @@ -2,5 +2,5 @@ name = "hunter hat" desc = "It's a flimsy looking hat." item_state = "hunter" - icon_state = "hunter-worn" + icon_state = "hunter" icon = 'icons/obj/clothing/cit_hats.dmi' \ No newline at end of file diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 28e8709984..ac4873a09b 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -30,7 +30,7 @@ GLOBAL_LIST_EMPTY(rad_collectors) /obj/machinery/power/rad_collector/process() if(loaded_tank) if(!loaded_tank.air_contents.gases["plasma"]) - investigate_log("out of fuel.", INVESTIGATE_SINGULO) + investigate_log("out of fuel.", INVESTIGATE_SINGULO) eject() else loaded_tank.air_contents.gases["plasma"][MOLES] -= 0.001*drainratio @@ -46,9 +46,11 @@ GLOBAL_LIST_EMPTY(rad_collectors) toggle_power() user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \ "You turn the [src.name] [active? "on":"off"].") - var/fuel = loaded_tank.air_contents.gases["plasma"] + var/fuel + if(loaded_tank) + fuel = loaded_tank.air_contents.gases["plasma"] fuel = fuel ? fuel[MOLES] : 0 - investigate_log("turned [active?"on":"off"] by [user.key]. [loaded_tank?"Fuel: [round(fuel/0.29)]%":"It is empty"].", INVESTIGATE_SINGULO) + investigate_log("turned [active?"on":"off"] by [user.key]. [loaded_tank?"Fuel: [round(fuel/0.29)]%":"It is empty"].", INVESTIGATE_SINGULO) return else to_chat(user, "The controls are locked!") @@ -73,34 +75,34 @@ GLOBAL_LIST_EMPTY(rad_collectors) /obj/machinery/power/rad_collector/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/device/multitool)) to_chat(user, "The [W.name] detects that [last_power]W were recently produced.") - return TRUE + return TRUE else if(istype(W, /obj/item/device/analyzer) && loaded_tank) atmosanalyzer_scan(loaded_tank.air_contents, user) else if(istype(W, /obj/item/weapon/tank/internals/plasma)) if(!anchored) to_chat(user, "The [src] needs to be secured to the floor first!") - return TRUE + return TRUE if(loaded_tank) to_chat(user, "There's already a plasma tank loaded!") - return TRUE + return TRUE if(!user.drop_item()) - return TRUE + return TRUE loaded_tank = W W.forceMove(src) update_icons() else if(istype(W, /obj/item/weapon/crowbar)) - if(loaded_tank) - if(locked) - to_chat(user, "The controls are locked!") - return TRUE + if(loaded_tank) + if(locked) + to_chat(user, "The controls are locked!") + return TRUE eject() - return TRUE - else - to_chat(user, "There isn't a tank loaded!") - return TRUE + return TRUE + else + to_chat(user, "There isn't a tank loaded!") + return TRUE else if(istype(W, /obj/item/weapon/wrench)) default_unfasten_wrench(user, W, 0) - return TRUE + return TRUE else if(W.GetID()) if(allowed(user)) if(active) @@ -110,7 +112,7 @@ GLOBAL_LIST_EMPTY(rad_collectors) to_chat(user, "The controls can only be locked when \the [src] is active!") else to_chat(user, "Access denied.") - return TRUE + return TRUE else return ..() @@ -147,11 +149,11 @@ GLOBAL_LIST_EMPTY(rad_collectors) /obj/machinery/power/rad_collector/proc/update_icons() cut_overlays() if(loaded_tank) - add_overlay("ptank") + add_overlay("ptank") if(stat & (NOPOWER|BROKEN)) return if(active) - add_overlay("on") + add_overlay("on") /obj/machinery/power/rad_collector/proc/toggle_power() diff --git a/code/modules/power/singularity/collector.dm.rej b/code/modules/power/singularity/collector.dm.rej deleted file mode 100644 index 68aa14d5d7..0000000000 --- a/code/modules/power/singularity/collector.dm.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm (rejected hunks) -@@ -46,7 +46,9 @@ GLOBAL_LIST_EMPTY(rad_collectors) - toggle_power() - user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \ - "You turn the [src.name] [active? "on":"off"].") -- var/fuel = loaded_tank.air_contents.gases["plasma"] -+ var/fuel -+ if(loaded_tank) -+ fuel = loaded_tank.air_contents.gases["plasma"] - fuel = fuel ? fuel[MOLES] : 0 - investigate_log("turned [active?"on":"off"] by [user.key]. [loaded_tank?"Fuel: [round(fuel/0.29)]%":"It is empty"].","singulo") - return diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index f98009ca3a5aaa6cab59b15bdcbede5583112ae2..d27cfca0f9f3ff5f20de4b9f2f830af7c7ca7243 100644 GIT binary patch delta 52 zcmV-40L%Z2*9wW(3XmiLBe5kD2pIXc!25Oc`=4JnU;g;|_&>*n`Azihtz@%8b4kN(RKVoO-WgHQ;E MPzV9HPzVA!qrsXP5dZ)H diff --git a/icons/obj/clothing/cit_hats.dmi b/icons/obj/clothing/cit_hats.dmi index 25a03dc97e193cdfc267cc0555ad5b47f9e1ebb2..2f2b877effcf352a32a805499db394a0b1530d17 100644 GIT binary patch delta 158 zcmZo;p2wuv8Q|y6%O%Cdz`(%k>ERLtq!mDzg&9aThNK^#sA$fZH8Cu&0)_)2iBL{Q4GJ0x0000DNk~Le0000$0000$1Oos709Z$C?U5lj0c(+2 zR)3_6i!-e#F*g;&Hsn%PaP@Nmn+pJ3T^giU6)fBU005#%L_t(YiS3lZ4Z<)CMIB{< zd@=#f0z0N7gh|<*DRqNMs%4l@Cu^g{a7{Ng?X~pmF?zeXbUO=SI#Sy$^?g032$OA z(xlpkkhjrjyfjPQojpa(|HHWlkklRM9_h-_*xr;`J5B%b04kNrE+3Ks5XqgBazp?C N002ovPDHLkV1nZAYV-gA diff --git a/tgstation.dme b/tgstation.dme index f61256862c..7e42602839 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -161,6 +161,7 @@ #include "code\citadel\_cit_helpers.dm" #include "code\citadel\cit_areas.dm" #include "code\citadel\cit_arousal.dm" +#include "code\citadel\cit_clothing.dm" #include "code\citadel\cit_genemods.dm" #include "code\citadel\cit_guns.dm" #include "code\citadel\cit_kegs.dm" @@ -1194,7 +1195,6 @@ #include "code\modules\clothing\gloves\miscellaneous.dm" #include "code\modules\clothing\gloves\vg_gloves.dm" #include "code\modules\clothing\head\beanie.dm" -#include "code\modules\clothing\head\cit_hats.dm" #include "code\modules\clothing\head\collectable.dm" #include "code\modules\clothing\head\hardhat.dm" #include "code\modules\clothing\head\helmet.dm" From 2d41b7fe17eebf07620f5ed1f313469ee20e160c Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 28 May 2017 15:49:22 -0500 Subject: [PATCH 121/134] EHHH --- code/citadel/cit_clothing.dm | 6 ------ code/modules/clothing/head/cit_hats.dm | 6 ------ code/modules/clothing/head/misc.dm | 6 ++++++ icons/mob/head.dmi | Bin 174985 -> 174985 bytes icons/obj/clothing/hats.dmi | Bin 76536 -> 76690 bytes tgstation.dme | 1 - 6 files changed, 6 insertions(+), 13 deletions(-) delete mode 100644 code/citadel/cit_clothing.dm delete mode 100644 code/modules/clothing/head/cit_hats.dm diff --git a/code/citadel/cit_clothing.dm b/code/citadel/cit_clothing.dm deleted file mode 100644 index 31b36b7723..0000000000 --- a/code/citadel/cit_clothing.dm +++ /dev/null @@ -1,6 +0,0 @@ -/obj/item/clothing/head/hunter - name = "hunter hat" - desc = "It's a flimsy looking hat." - item_state = "hunter" - icon_state = "hunter-worn" - icon = 'icons/obj/clothing/cit_hats.dmi' \ No newline at end of file diff --git a/code/modules/clothing/head/cit_hats.dm b/code/modules/clothing/head/cit_hats.dm deleted file mode 100644 index a5b9d1a1b6..0000000000 --- a/code/modules/clothing/head/cit_hats.dm +++ /dev/null @@ -1,6 +0,0 @@ -/obj/item/clothing/head/hunter - name = "hunter hat" - desc = "It's a flimsy looking hat." - item_state = "hunter" - icon_state = "hunter" - icon = 'icons/obj/clothing/cit_hats.dmi' \ No newline at end of file diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 3bf866cc2c..c2979b1bcf 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -280,3 +280,9 @@ name = "magnificent crown" desc = "A crown worn by only the highest emperors of the land." icon_state = "fancycrown" + +/obj/item/clothing/head/hunter + name = "hunter hat" + desc = "It's a flimsy looking hat." + item_state = "hunter_hat" + icon_state = "hunter_hat" diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index d27cfca0f9f3ff5f20de4b9f2f830af7c7ca7243..86e720a42176ed23692088b882c5e6181f8f5d30 100644 GIT binary patch delta 47 zcmV+~0MP%5*9wW(3a~f`7%M5_*Uj&Le%XBa(%hM00wmV;0ThfoLsw@?TI FIipE-7OVgO delta 47 zcmV+~0MP%5*9wW(3a~f`82Prq`*rjCpIfYNw?}JbXhfoLsw@?TI FIirJn84Caa diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 6b0dd135f6e54f49c0bd608fa8e29e3eeb3473db..520ed276b83f3d377211292283a0c1d8b507f920 100644 GIT binary patch delta 20836 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 Date: Sun, 28 May 2017 17:10:46 -0500 Subject: [PATCH 122/134] Lets bayonets butcher, fixes bayoneting typo (#1242) --- code/modules/projectiles/gun.dm | 6 +++--- icons/obj/guns/projectile.dmi | Bin 31842 -> 31844 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 04761befdc..89baa173c1 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -295,14 +295,14 @@ /obj/item/weapon/gun/attack(mob/M as mob, mob/user) if(user.a_intent == INTENT_HARM) //Flogging if(bayonet) - bayonet.attack(M, user) + M.attackby(bayonet, user) return return ..() /obj/item/weapon/gun/attack_obj(obj/O, mob/user) if(user.a_intent == INTENT_HARM) if(bayonet) - bayonet.attack_obj(O, user) + O.attackby(bayonet, user) return return ..() @@ -332,7 +332,7 @@ if(!bayonet) if(!user.transferItemToLoc(I, src)) return - to_chat(user, "You attach \the [K] to the front of ]the [src].") + to_chat(user, "You attach \the [K] to the front of \the [src].") bayonet = K update_icon() else if(istype(I, /obj/item/weapon/screwdriver)) diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 7cb9f2a3ff850efb26d82416b0aa04f60c0a4163..dd6146d7fb813cb53568e2f79f99b2a6dfffa33e 100644 GIT binary patch delta 43 zcmV+`0M!5D_yOej0gxmCeX%8O0~ejSb;ozr*B?*S)A#4?Z?yt%24@_s*|Vqvx_IJ% B77_pe delta 41 zcmV+^0M`HH_yOYh0gxmCd$A>M0~IZB@2amqo~ozs&)eVA;BIvJt~P+Pssp-szZn)( From 636f9b9fa19662bb2db49b2d2c2369296729cdc3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:10:47 -0500 Subject: [PATCH 123/134] Automatic changelog generation for PR #1242 [ci skip] --- html/changelogs/AutoChangeLog-pr-1242.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1242.yml diff --git a/html/changelogs/AutoChangeLog-pr-1242.yml b/html/changelogs/AutoChangeLog-pr-1242.yml new file mode 100644 index 0000000000..a50edc4efb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1242.yml @@ -0,0 +1,4 @@ +author: "QualityVan" +delete-after: True +changes: + - bugfix: "Bayonets can now be used for butchery" From dec17dcfe65c432b552fbe06edcbc3384f56abd5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:11:06 -0500 Subject: [PATCH 124/134] Dog beds can now be renamed after new owners (#1238) --- code/game/objects/structures/beds_chairs/bed.dm | 9 +++++++++ code/modules/mob/living/simple_animal/friendly/dog.dm | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 757a0bbb8d..744740c6f9 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -161,7 +161,16 @@ anchored = 0 buildstacktype = /obj/item/stack/sheet/mineral/wood buildstackamount = 10 + var/mob/living/owner = null +/obj/structure/bed/dogbed/proc/update_owner(mob/living/M) + owner = M + name = "[M]'s bed" + desc = "[M]'s bed! Looks comfy." + +/obj/structure/bed/dogbed/buckle_mob(mob/living/M, force, check_loc) + . = ..() + update_owner(M) /obj/structure/bed/alien name = "resting contraption" diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index a2ae3b4b2d..e691ff2dfd 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -44,6 +44,13 @@ butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/pug = 3) gold_core_spawnable = 2 +/mob/living/simple_animal/pet/dog/Initialize() + var/dog_area = get_area(src) + for(var/obj/structure/bed/dogbed/D in dog_area) + if(!D.owner) + D.update_owner(src) + break + /mob/living/simple_animal/pet/dog/corgi/Initialize() ..() regenerate_icons() From fa3db4309422d4dacdc308293bd351a038277477 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:11:08 -0500 Subject: [PATCH 125/134] Automatic changelog generation for PR #1238 [ci skip] --- html/changelogs/AutoChangeLog-pr-1238.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1238.yml diff --git a/html/changelogs/AutoChangeLog-pr-1238.yml b/html/changelogs/AutoChangeLog-pr-1238.yml new file mode 100644 index 0000000000..f2e48eb64f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1238.yml @@ -0,0 +1,5 @@ +author: "cacogen" +delete-after: True +changes: + - rscadd: "You can now rename dog beds by buckling a new owner to them" + - rscadd: "Dogs that spawn in an area with a vacant bed will take possession of and rename the bed" From 7aff4f588e5e6874f198b8ac7b86659a8c19a755 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:13:04 -0500 Subject: [PATCH 126/134] [MIRROR] refactors how vehicles use offsets + multiseat (#1128) * refactors how vehicles use offsets + multiseat * RIDE --- code/datums/riding.dm | 175 ++++++++++------------------- code/modules/vehicles/speedbike.dm | 1 + 2 files changed, 60 insertions(+), 116 deletions(-) diff --git a/code/datums/riding.dm b/code/datums/riding.dm index c069e0cdeb..1d989cc653 100644 --- a/code/datums/riding.dm +++ b/code/datums/riding.dm @@ -1,6 +1,4 @@ /datum/riding - var/generic_pixel_x = 0 //All dirs show this pixel_x for the driver - var/generic_pixel_y = 0 //All dirs show this pixel_y for the driver, use these vars if the pixel shift is stable across all dir, override handle_vehicle_offsets otherwise. var/next_vehicle_move = 0 //used for move delays var/vehicle_move_delay = 2 //tick delay between movements, lower = faster, higher = slower var/keytype = null @@ -34,16 +32,29 @@ /datum/riding/proc/force_dismount(mob/living/M) ridden.unbuckle_mob(M) -//Override this to set your vehicle's various pixel offsets -//if they differ between directions, otherwise use the -//generic variables /datum/riding/proc/handle_vehicle_offsets() + var/ridden_dir = "[ridden.dir]" + var/passindex = 0 if(ridden.has_buckled_mobs()) for(var/m in ridden.buckled_mobs) + passindex++ var/mob/living/buckled_mob = m - buckled_mob.setDir(ridden.dir) - buckled_mob.pixel_x = generic_pixel_x - buckled_mob.pixel_y = generic_pixel_y + var/list/offsets = get_offsets(passindex) + dir_loop: + for(var/offsetdir in offsets) + if(offsetdir == ridden_dir) + var/list/diroffsets = offsets[offsetdir] + buckled_mob.pixel_x = diroffsets[1] + if(diroffsets.len == 2) + buckled_mob.pixel_y = diroffsets[2] + if(diroffsets.len == 3) + buckled_mob.layer = diroffsets[3] + break dir_loop + + +//Override this to set your vehicle's various pixel offsets +/datum/riding/proc/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0, 0), "[SOUTH]" = list(0, 0), "[EAST]" = list(0, 0), "[WEST]" = list(0, 0)) //KEYS /datum/riding/proc/keycheck(mob/user) @@ -100,10 +111,12 @@ //atv /datum/riding/atv keytype = /obj/item/key - generic_pixel_x = 0 - generic_pixel_y = 4 vehicle_move_delay = 1 +/datum/riding/atv/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0, 4), "[SOUTH]" = list(0, 4), "[EAST]" = list(0, 4), "[WEST]" = list( 0, 4)) + + /datum/riding/atv/handle_vehicle_layer() if(ridden.dir == SOUTH) ridden.layer = ABOVE_MOB_LAYER @@ -150,24 +163,9 @@ keytype = /obj/item/key/janitor -/datum/riding/janicart/handle_vehicle_offsets() - ..() - if(ridden.has_buckled_mobs()) - for(var/m in ridden.buckled_mobs) - var/mob/living/buckled_mob = m - switch(buckled_mob.dir) - if(NORTH) - buckled_mob.pixel_x = 0 - buckled_mob.pixel_y = 4 - if(EAST) - buckled_mob.pixel_x = -12 - buckled_mob.pixel_y = 7 - if(SOUTH) - buckled_mob.pixel_x = 0 - buckled_mob.pixel_y = 7 - if(WEST) - buckled_mob.pixel_x = 12 - buckled_mob.pixel_y = 7 +/datum/riding/janicart/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0, 4), "[SOUTH]" = list(-12, 7), "[EAST]" = list(0, 7), "[WEST]" = list( 12, 7)) + //scooter /datum/riding/scooter/handle_vehicle_layer() if(ridden.dir == SOUTH) @@ -175,20 +173,14 @@ else ridden.layer = OBJ_LAYER +/datum/riding/scooter/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0), "[SOUTH]" = list(-2), "[EAST]" = list(0), "[WEST]" = list( 2)) + /datum/riding/scooter/handle_vehicle_offsets() ..() if(ridden.has_buckled_mobs()) for(var/m in ridden.buckled_mobs) var/mob/living/buckled_mob = m - switch(buckled_mob.dir) - if(NORTH) - buckled_mob.pixel_x = 0 - if(EAST) - buckled_mob.pixel_x = -2 - if(SOUTH) - buckled_mob.pixel_x = 0 - if(WEST) - buckled_mob.pixel_x = 2 if(buckled_mob.get_num_legs() > 0) buckled_mob.pixel_y = 5 else @@ -209,16 +201,18 @@ //secway /datum/riding/secway keytype = /obj/item/key/security - generic_pixel_x = 0 - generic_pixel_y = 4 + +/datum/riding/secway/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0, 4), "[SOUTH]" = list(0, 4), "[EAST]" = list(0, 4), "[WEST]" = list( 0, 4)) //i want to ride my /datum/riding/bicycle keytype = null - generic_pixel_x = 0 - generic_pixel_y = 4 vehicle_move_delay = 0 +/datum/riding/bicycle/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0, 4), "[SOUTH]" = list(0, 4), "[EAST]" = list(0, 4), "[WEST]" = list( 0, 4)) + //speedbike /datum/riding/space/speedbike keytype = null @@ -233,54 +227,28 @@ ridden.pixel_x = -18 ridden.pixel_y = 0 -/datum/riding/space/speedbike/handle_vehicle_offsets() - if(ridden.has_buckled_mobs()) - for(var/m in ridden.buckled_mobs) - var/mob/living/buckled_mob = m - buckled_mob.setDir(ridden.dir) - switch(ridden.dir) - if(NORTH) - buckled_mob.pixel_x = 0 - buckled_mob.pixel_y = -8 - if(SOUTH) - buckled_mob.pixel_x = 0 - buckled_mob.pixel_y = 4 - if(EAST) - buckled_mob.pixel_x = -10 - buckled_mob.pixel_y = 5 - if(WEST) - buckled_mob.pixel_x = 10 - buckled_mob.pixel_y = 5 +/datum/riding/space/speedbike/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0, -8), "[SOUTH]" = list(0, 4), "[EAST]" = list(-10, 5), "[WEST]" = list( 10, 5)) //SPEEDUWAGON /datum/riding/space/speedwagon vehicle_move_delay = 0 -/datum/riding/space/speedwagon/handle_vehicle_offsets() - if(ridden.has_buckled_mobs()) - for(var/m in ridden.buckled_mobs) - var/mob/living/buckled_mob = m - buckled_mob.setDir(ridden.dir) - ridden.pixel_x = -48 - ridden.pixel_y = -48 - switch(ridden.dir) - if(NORTH) - buckled_mob.pixel_x = -10 - buckled_mob.pixel_y = -3 - if(SOUTH) - buckled_mob.pixel_x = 16 - buckled_mob.pixel_y = 3 - if(EAST) - buckled_mob.pixel_x = -4 - buckled_mob.pixel_y = 30 - if(WEST) - buckled_mob.pixel_x = 4 - buckled_mob.pixel_y = -1 - /datum/riding/space/speedwagon/handle_vehicle_layer() ridden.layer = BELOW_MOB_LAYER +/datum/riding/space/speedwagon/get_offsets(pass_index) // list(dir = x, y, layer) + switch(pass_index) + if(1) + return list("[NORTH]" = list(-10, -4), "[SOUTH]" = list(16, 3), "[EAST]" = list(-4, 30), "[WEST]" = list(4, -3)) + if(2) + return list("[NORTH]" = list(19, -5, 4), "[SOUTH]" = list(-13, 3, 4), "[EAST]" = list(-4, -3, 4.1), "[WEST]" = list(4, 28, 3.9)) + if(3) + return list("[NORTH]" = list(-10, -18, 4.2), "[SOUTH]" = list(16, 25, 3.9), "[EAST]" = list(-22, 30), "[WEST]" = list(22, -3, 4.1)) + if(4) + return list("[NORTH]" = list(19, -18, 4.2), "[SOUTH]" = list(-13, 25, 3.9), "[EAST]" = list(-22, 3, 3.9), "[WEST]" = list(22, 28)) + ///////////////BOATS//////////// /datum/riding/boat keytype = /obj/item/weapon/oar @@ -297,17 +265,15 @@ /datum/riding/boat/dragon keytype = null - generic_pixel_y = 2 - generic_pixel_x = 1 vehicle_move_delay = 1 +/datum/riding/boat/dragon/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(1, 2), "[SOUTH]" = list(1, 2), "[EAST]" = list(1, 2), "[WEST]" = list( 1, 2)) ///////////////ANIMALS//////////// //general animals /datum/riding/animal keytype = null - generic_pixel_x = 0 - generic_pixel_y = 4 /datum/riding/animal/handle_ride(mob/user, direction) if(user.incapacitated()) @@ -335,7 +301,7 @@ /datum/riding/human/ride_check(mob/living/M) var/mob/living/carbon/human/H = ridden //IF this runtimes I'm blaming the admins. if(M.incapacitated(FALSE, TRUE) || H.incapacitated(FALSE, TRUE)) - M.visible_message("[M] falls off [ridden]!") + M.visible_message("[M] falls off of [ridden]!") Unbuckle(M) return FALSE if(M.restrained(TRUE)) @@ -345,22 +311,8 @@ if(H.pulling == M) H.stop_pulling() -/datum/riding/human/handle_vehicle_offsets() - for(var/mob/living/M in ridden.buckled_mobs) - M.setDir(ridden.dir) - switch(ridden.dir) - if(NORTH) - M.pixel_x = 0 - M.pixel_y = 6 - if(SOUTH) - M.pixel_x = 0 - M.pixel_y = 6 - if(EAST) - M.pixel_x = -6 - M.pixel_y = 4 - if(WEST) - M.pixel_x = 6 - M.pixel_y = 4 +/datum/riding/human/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0, 6), "[SOUTH]" = list(0, 6), "[EAST]" = list(-6, 4), "[WEST]" = list( 6, 4)) /datum/riding/human/handle_vehicle_layer() if(ridden.buckled_mobs && ridden.buckled_mobs.len) @@ -375,7 +327,7 @@ ridden.unbuckle_mob(user) user.Weaken(3) user.Stun(3) - user.visible_message("[ridden] pushes [user] off of them!") + user.visible_message("[ridden] pushes [user] off of them!") /datum/riding/cyborg keytype = null @@ -407,6 +359,9 @@ else ridden.layer = MOB_LAYER +/datum/riding/cyborg/get_offsets(pass_index) // list(dir = x, y, layer) + return list("[NORTH]" = list(0, 4), "[SOUTH]" = list(0, 4), "[EAST]" = list(-6, 3), "[WEST]" = list( 6, 3)) + /datum/riding/cyborg/handle_vehicle_offsets() if(ridden.has_buckled_mobs()) for(var/mob/living/M in ridden.buckled_mobs) @@ -417,26 +372,14 @@ M.pixel_x = R.module.ride_offset_x[dir2text(ridden.dir)] M.pixel_y = R.module.ride_offset_y[dir2text(ridden.dir)] else - switch(ridden.dir) - if(NORTH) - M.pixel_x = 0 - M.pixel_y = 4 - if(SOUTH) - M.pixel_x = 0 - M.pixel_y = 4 - if(EAST) - M.pixel_x = -6 - M.pixel_y = 3 - if(WEST) - M.pixel_x = 6 - M.pixel_y = 3 + ..() /datum/riding/cyborg/force_dismount(mob/living/M) ridden.unbuckle_mob(M) var/turf/target = get_edge_target_turf(ridden, ridden.dir) var/turf/targetm = get_step(get_turf(ridden), ridden.dir) M.Move(targetm) - M.visible_message("[M] is thrown clear of [ridden]!") + M.visible_message("[M] is thrown clear of [ridden]!") M.throw_at(target, 14, 5, ridden) M.Weaken(3) diff --git a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm index 7cd2839b4b..d67e769ea3 100644 --- a/code/modules/vehicles/speedbike.dm +++ b/code/modules/vehicles/speedbike.dm @@ -35,6 +35,7 @@ icon_state = "speedwagon" layer = LYING_MOB_LAYER overlay_state = "speedwagon_cover" + max_buckled_mobs = 4 var/crash_all = FALSE //CHAOS pixel_y = -48 //to fix the offset when Initialized() pixel_x = -48 From e3d228aa000cc79e8e9f4dbb6dd19592f79f0a71 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:19:46 -0500 Subject: [PATCH 127/134] [MIRROR] ID card mapping aid (#1223) * ID card mapping aid * Update cards_ids.dm * lf --- code/game/objects/items/weapons/cards_ids.dm | 8 +++++ code/modules/jobs/access.dm | 31 +++++++++----------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 222fbe4174..021966570a 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -83,6 +83,14 @@ var/list/access = list() var/registered_name = null // The name registered_name on the card var/assignment = null + var/access_txt // mapping aid + + + +/obj/item/weapon/card/id/Initialize(mapload) + . = ..() + if(mapload && access_txt) + access = text2access(access_txt) /obj/item/weapon/card/id/attack_self(mob/user) user.visible_message("[user] shows you: \icon[src] [src.name].", \ diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index d3a8c089d6..bf554f85a9 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -136,26 +136,23 @@ GLOBAL_VAR_CONST(access_away_generic4, 208) /obj/item/proc/GetID() return null +/obj/proc/text2access(access_text) + . = list() + if(!access_text) + return + var/list/split = splittext(access_text,";") + for(var/x in split) + var/n = text2num(x) + if(n) + . += n + //Call this before using req_access or req_one_access directly /obj/proc/gen_access() //These generations have been moved out of /obj/New() because they were slowing down the creation of objects that never even used the access system. - if(!src.req_access) - src.req_access = list() - if(src.req_access_txt) - var/list/req_access_str = splittext(req_access_txt,";") - for(var/x in req_access_str) - var/n = text2num(x) - if(n) - req_access += n - - if(!src.req_one_access) - src.req_one_access = list() - if(src.req_one_access_txt) - var/list/req_one_access_str = splittext(req_one_access_txt,";") - for(var/x in req_one_access_str) - var/n = text2num(x) - if(n) - req_one_access += n + for(var/a in text2access(req_access_txt)) + req_access += a + for(var/b in text2access(req_one_access_txt)) + req_one_access += b /obj/proc/check_access(obj/item/I) gen_access() From ee638d81a5db198f977872c6593287b42902d2b2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:20:00 -0500 Subject: [PATCH 128/134] Fixes projectile dampening fields being on infinite cooldown (#1263) --- code/game/objects/items/robot/robot_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 5bca9cf535..eafd5fdba4 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -548,7 +548,7 @@ return ..() /obj/item/borg/projectile_dampen/attack_self(mob/user) - if(cycle_delay < world.time) + if(cycle_delay > world.time) to_chat(user, "\the [src] is still recycling its projectors!") return cycle_delay = world.time + PKBORG_DAMPEN_CYCLE_DELAY From 53fb384b63545aadeb99a4637228f3b7bc714f57 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:22:10 -0500 Subject: [PATCH 129/134] Emagging a cloner drops bits, cloners don't keep extra flesh (#1264) --- code/game/machinery/cloning.dm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 6df194cf25..fac4f7f31b 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -358,8 +358,12 @@ /obj/machinery/clonepod/proc/go_out() countdown.stop() var/mob/living/mob_occupant = occupant + var/turf/T = get_turf(src) if(mess) //Clean that mess and dump those gibs! + for(var/obj/fl in unattached_flesh) + fl.forceMove(T) + unattached_flesh.Cut() mess = FALSE new /obj/effect/gibspawner/generic(loc) audible_message("You hear a splat.") @@ -375,10 +379,12 @@ to_chat(occupant, "There is a bright flash!
You feel like a new being.
") mob_occupant.flash_act() - var/turf/T = get_turf(src) occupant.forceMove(T) icon_state = "pod_0" mob_occupant.domutcheck(1) //Waiting until they're out before possible monkeyizing. The 1 argument forces powers to manifest. + for(var/fl in unattached_flesh) + qdel(fl) + unattached_flesh.Cut() occupant = null @@ -389,8 +395,7 @@ SPEAK("Critical error! Please contact a Thinktronic Systems \ technician, as your warranty may be affected.") mess = TRUE - for(var/obj/item/O in unattached_flesh) - qdel(O) + maim_clone(mob_occupant) //Remove every bit that's grown back so far to drop later, also destroys bits that haven't grown yet icon_state = "pod_g" if(mob_occupant.mind != clonemind) clonemind.transfer_to(mob_occupant) @@ -450,9 +455,10 @@ var/static/list/zones = list("r_arm", "l_arm", "r_leg", "l_leg") for(var/zone in zones) var/obj/item/bodypart/BP = H.get_bodypart(zone) - BP.drop_limb() - BP.forceMove(src) - unattached_flesh += BP + if(BP) + BP.drop_limb() + BP.forceMove(src) + unattached_flesh += BP for(var/o in H.internal_organs) var/obj/item/organ/organ = o From fac3bfb81b9d2ee3ff5b00a1a4ea5c4e8d800085 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:22:11 -0500 Subject: [PATCH 130/134] Automatic changelog generation for PR #1264 [ci skip] --- html/changelogs/AutoChangeLog-pr-1264.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1264.yml diff --git a/html/changelogs/AutoChangeLog-pr-1264.yml b/html/changelogs/AutoChangeLog-pr-1264.yml new file mode 100644 index 0000000000..774cea31f2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1264.yml @@ -0,0 +1,5 @@ +author: "QualityVan" +delete-after: True +changes: + - tweak: "Cloning pods which are interrupted by a emagging will now produce a slightly lumpier smoothie" + - bugfix: "Cloning pods that have stopped cloning early can no longer be broken open to extract leftover parts" From 4576d03eb46ee579f6c0d6aa4ccb9861335153d9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:27:25 -0500 Subject: [PATCH 131/134] Fixes attaching heads without brainmobs (#1273) --- code/modules/surgery/bodyparts/dismemberment.dm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 585f452de4..089d8be105 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -294,10 +294,11 @@ /obj/item/bodypart/head/attach_limb(mob/living/carbon/C, special) //Transfer some head appearance vars over if(brain) - brainmob.container = null //Reset brainmob head var. - brainmob.loc = brain //Throw mob into brain. - brain.brainmob = brainmob //Set the brain to use the brainmob - brainmob = null //Set head brainmob var to null + if(brainmob) + brainmob.container = null //Reset brainmob head var. + brainmob.loc = brain //Throw mob into brain. + brain.brainmob = brainmob //Set the brain to use the brainmob + brainmob = null //Set head brainmob var to null brain.Insert(C) //Now insert the brain proper brain = null //No more brain in the head From 455ac22c90550c1dae7623ddce847bcb91cd58d6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:27:26 -0500 Subject: [PATCH 132/134] Automatic changelog generation for PR #1273 [ci skip] --- html/changelogs/AutoChangeLog-pr-1273.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1273.yml diff --git a/html/changelogs/AutoChangeLog-pr-1273.yml b/html/changelogs/AutoChangeLog-pr-1273.yml new file mode 100644 index 0000000000..27ad107949 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1273.yml @@ -0,0 +1,4 @@ +author: "Swindly" +delete-after: True +changes: + - bugfix: "fixed not being able to attach heads without brainmobs in them" From 6b6a156c2f82a7a58e543e64d45144002c931968 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:27:50 -0500 Subject: [PATCH 133/134] Lavaland Lighting Fix + ruin varedit cleanup (#1257) --- .../LavaRuins/lavaland_surface_xeno_nest.dmm | 420 ++---------------- code/game/area/areas/ruins.dm | 13 + 2 files changed, 55 insertions(+), 378 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm index 8993318f00..8f1e550e17 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm @@ -8,185 +8,81 @@ }, /obj/structure/alien/resin/wall, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "c" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /obj/structure/alien/resin/wall, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "d" = ( /obj/structure/alien/resin/wall, /obj/structure/alien/weeds{ icon_state = "weeds2" }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "e" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" }, /obj/structure/alien/egg/burst, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "f" = ( /obj/structure/alien/weeds, /obj/structure/alien/weeds{ icon_state = "weeds2" }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "g" = ( /obj/structure/alien/weeds, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "h" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "i" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "j" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /mob/living/simple_animal/hostile/alien, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "k" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /obj/structure/alien/egg/burst, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "l" = ( /obj/structure/alien/weeds/node, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "m" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" }, /obj/structure/bed/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "n" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /obj/structure/bed/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "o" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -198,43 +94,19 @@ }, /obj/item/weapon/gun/ballistic/automatic/pistol, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "p" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "q" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "r" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" @@ -242,112 +114,48 @@ /obj/structure/alien/resin/wall, /obj/structure/alien/resin/wall, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "s" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /obj/structure/alien/egg, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "t" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /mob/living/simple_animal/hostile/alien/sentinel, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "u" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" }, /obj/effect/decal/cleanable/blood/gibs, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "v" = ( /obj/structure/alien/weeds/node, /obj/effect/decal/cleanable/blood, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "w" = ( /obj/structure/alien/weeds, /obj/effect/decal/cleanable/blood/gibs, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "x" = ( /obj/structure/alien/weeds, /obj/structure/alien/egg/burst, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "y" = ( /obj/structure/alien/weeds/node, /obj/structure/alien/resin/wall, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "z" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" @@ -364,28 +172,12 @@ /obj/item/weapon/melee/baton/loaded, /obj/item/clothing/head/helmet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "A" = ( /obj/structure/alien/weeds, /obj/structure/alien/egg, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "B" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" @@ -393,59 +185,27 @@ /obj/structure/alien/egg/burst, /obj/effect/decal/cleanable/blood/gibs, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "C" = ( /obj/structure/alien/weeds, /obj/structure/alien/egg/burst, /obj/effect/decal/cleanable/blood, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "D" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /obj/effect/decal/cleanable/blood/gibs, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "E" = ( /obj/structure/alien/weeds, /mob/living/simple_animal/hostile/alien/drone{ plants_off = 1 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "F" = ( /obj/structure/alien/weeds, /mob/living/simple_animal/hostile/alien/queen/large{ @@ -455,15 +215,7 @@ plants_off = 1 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "G" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" @@ -472,28 +224,12 @@ plants_off = 1 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "H" = ( /obj/structure/alien/weeds, /obj/effect/decal/cleanable/blood, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "I" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -507,56 +243,24 @@ /obj/item/clothing/under/syndicate, /obj/item/clothing/glasses/night, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "J" = ( /obj/structure/alien/weeds, /mob/living/simple_animal/hostile/alien/sentinel, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "K" = ( /obj/structure/alien/weeds/node, /mob/living/simple_animal/hostile/alien, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "L" = ( /obj/structure/alien/weeds/node, /mob/living/simple_animal/hostile/alien/drone{ plants_off = 1 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "M" = ( /obj/structure/alien/weeds{ icon_state = "weeds1" @@ -573,15 +277,7 @@ stat = 2 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "N" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, @@ -590,15 +286,7 @@ "O" = ( /obj/structure/alien/weeds/node, /turf/template_noop, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "P" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" @@ -615,41 +303,17 @@ plants_off = 1 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "R" = ( /obj/structure/alien/weeds, /turf/template_noop, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "S" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /turf/template_noop, -/area/awaycontent/a5{ - always_unpowered = 1; - has_gravity = 1; - name = "The Hive"; - power_environ = 0; - power_equip = 0; - power_light = 0; - poweralm = 0 - }) +/area/ruin/xenonest) "T" = ( /obj/structure/alien/weeds/node, /obj/structure/alien/resin/wall, diff --git a/code/game/area/areas/ruins.dm b/code/game/area/areas/ruins.dm index 828d165dd8..4a1fd86c20 100644 --- a/code/game/area/areas/ruins.dm +++ b/code/game/area/areas/ruins.dm @@ -5,6 +5,7 @@ icon_state = "away" has_gravity = 1 hidden = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_FORCED /area/ruin/unpowered @@ -199,3 +200,15 @@ /area/ruin/abandonedzoo name = "Abandoned Zoo" icon_state = "green" + + +//Xeno Nest + +/area/ruin/xenonest + name = "The Hive" + always_unpowered = 1 + power_environ = 0 + power_equip = 0 + power_light = 0 + poweralm = 0 + \ No newline at end of file From f42bcaf76002aea78249daab7e82d8c045e8f796 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 28 May 2017 17:28:51 -0500 Subject: [PATCH 134/134] Finally remembers to make drakes unclickable while they're in the invulnerable stage of swooping (#1262) --- .../mob/living/simple_animal/hostile/megafauna/dragon.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm index 1c1fc8fb9e..5df35b2d93 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm @@ -193,6 +193,7 @@ Difficulty: Medium return animate(src, transform = matrix()*0.7, time = 7) swooping |= SWOOP_INVULNERABLE + mouse_opacity = 0 sleep(7) var/list/flame_hit = list() while(swoop_duration > 0) @@ -233,6 +234,7 @@ Difficulty: Medium animate(src, transform = oldtransform, time = 5) sleep(5) swooping &= ~SWOOP_INVULNERABLE + mouse_opacity = initial(mouse_opacity) icon_state = "dragon" playsound(src.loc, 'sound/effects/meteorimpact.ogg', 200, 1) for(var/mob/living/L in orange(1, src))