From 00dbb758e0fdccca93415841ae2d06cf191b6c05 Mon Sep 17 00:00:00 2001 From: Isaac Erwin Date: Mon, 8 Aug 2016 20:36:51 -0400 Subject: [PATCH 001/138] Changes mod say into mentor say Since moderators aren't a thing any more, as far as I can tell, and mentorhelping as a mentor can basically be used as msay... --- code/modules/admin/admin_verbs.dm | 4 ++-- code/modules/admin/verbs/adminsay.dm | 13 +++++-------- goon/browserassets/css/browserOutput.css | 6 +++--- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index e6ce8dc2e73..e202a270c1d 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -52,7 +52,7 @@ var/list/admin_verbs_admin = list( /client/proc/game_panel, /*game panel, allows to change game-mode etc*/ /client/proc/cmd_admin_say, /*admin-only ooc chat*/ /datum/admins/proc/PlayerNotes, - /client/proc/cmd_mod_say, + /client/proc/cmd_mentor_say, /datum/admins/proc/show_player_notes, /client/proc/free_slot, /*frees slot for chosen job*/ /client/proc/toggleattacklogs, @@ -183,7 +183,7 @@ var/list/admin_verbs_mod = list( /client/proc/cmd_admin_pm_by_key_panel, /*admin-pm list by key*/ /datum/admins/proc/PlayerNotes, /client/proc/admin_ghost, /*allows us to ghost/reenter body at will*/ - /client/proc/cmd_mod_say, + /client/proc/cmd_mentor_say, /datum/admins/proc/show_player_notes, /client/proc/player_panel_new, /client/proc/dsay, diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 784f924966f..b55c75f70c0 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -16,25 +16,22 @@ feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/client/proc/cmd_mod_say(msg as text) +/client/proc/cmd_mentor_say(msg as text) set category = "Special Verbs" set name = "Msay" set hidden = 1 - if(!check_rights(R_ADMIN|R_MOD)) + if(!check_rights(R_ADMIN|R_MOD|R_MENTOR)) return msg = sanitize(copytext(msg, 1, MAX_MESSAGE_LEN)) - log_admin("MOD: [key_name(src)] : [msg]") + log_admin("MENTOR: [key_name(src)] : [msg]") if(!msg) return - var/spanclass = "mod_channel" - if(check_rights(R_ADMIN, 0)) - spanclass = "mod_channel_admin" for(var/client/C in admins) - if(check_rights(R_ADMIN|R_MOD, 0, C.mob)) - to_chat(C, "MOD: [key_name(usr, 1)] ([admin_jump_link(mob, C.holder)]): [msg]") + if(check_rights(R_ADMIN|R_MOD|R_MENTOR, 0, C.mob)) + to_chat(C, "MENTOR: [key_name(usr, 1)] ([admin_jump_link(mob, C.holder)]): [msg]") feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file diff --git a/goon/browserassets/css/browserOutput.css b/goon/browserassets/css/browserOutput.css index dab174587ec..fefa72056b0 100644 --- a/goon/browserassets/css/browserOutput.css +++ b/goon/browserassets/css/browserOutput.css @@ -255,9 +255,9 @@ em {font-style: normal; font-weight: bold;} .sciradio {color: #993399;} .supradio {color: #5F4519;} .srvradio {color: #6eaa2c;} -.admin_channel {color: #9A04D1; font-weight: bold;} -.mod_channel {color: #402A14; font-weight: bold;} -.mod_channel_admin {color: #402A14; font-weight: bold;} +.admin_channel {color: #9A04D1; font-weight: bold;} +.mentor_channel {color: #775BFF; font-weight: bold;} +.mentor_channel_admin {color: #9A04D1; font-weight: bold;} .djradio {color: #663300;} .binaryradio {color: #0B0050; font-family: 'Courier New', Courier, monospace;} .mommiradio {color: navy;} From aaece8d51fc852125552babf33495ab27d7f179b Mon Sep 17 00:00:00 2001 From: Ty-Omaha Date: Sat, 20 Aug 2016 08:31:46 -0400 Subject: [PATCH 002/138] TacticoolEyePro --- code/modules/customitems/item_defines.dm | 9 +++++++++ icons/mob/eyes.dmi | Bin 11894 -> 11975 bytes icons/obj/custom_items.dmi | Bin 46994 -> 47062 bytes 3 files changed, 9 insertions(+) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 5b83cfb0415..e4938380702 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -279,6 +279,15 @@ //////////// Eye Wear //////////// +/obj/item/clothing/glasses/hud/security/fluff/eyepro //T0EPIC4U: Ty Omaha + name = "Tacticool EyePro" + desc = "Tacticool ballistic glasses, for making all operators look badass." + icon = 'icons/obj/custom_items.dmi' + icon_state = "eyepro" + item_state = "eyepro" + flash_protect = 1 + tint = 1 + //////////// Hats //////////// /obj/item/clothing/head/fluff/heather_winceworth // Regens: Heather Winceworth name= "Heather's rose" diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index 402bf49bd5c4d2729d5240912d902376c67e7143..ad4f2d137a6b76091d9aed4c153d91e4bedaa856 100644 GIT binary patch literal 11975 zcmd6N2UJtp+IEn!!6;$@Mw$~w85KlF5fDNgMNm;tKsp3bKn=aO5FJH86h;}EKo~$o zx`6Z&q)G`){TA1*T@l zUv(cjzAJp-^Wn(b`Fn3nIp0vcAtE;V|vZ*RpCO@Pj{UTe+ik| zs52NVODC$;YE)px;zQ1U?kP=hYrv>QKa~2pBtbpaDdVi+K3(LGORxf`fM-=l#WS8; zcAa)Q0Z+eg*)^}!)Ec%a!*NU0;wS%y-U>mx8Rf6;WRL5ey*qs8sJ_eR3u`_6`QWqS zgZ-C+lS0lWjb~^`9_vjh-Q}>}ZEbGhcf%raYPSeodd*!9|GU0rQkS}V_m?0UGjIK$ z0xn_SAN#TX_*2s}>^_^FHyW>A({kn;SgYQsdWyt7Thz-(Y;HVOxtZXmp?T6tW+hTT z{SoE;Zc7u}+k0=W&t5y0wDBk<5Y{*P>gNNAMA5Cg$mVx_x|El>Q*#Rn)I)h|Px49RVcOwij|a z2j5&f_G`d{@&dtiM4FV+sYKHCkIiQi)8=~bQc%&TBQ-B3pX}^c`55G~dPFD7qFdB? zX*Qv#+J)$0BMb^&Z$7)4o$@TZ zlvwdgo3&k3{PT`N-93{%tlfLg9YToud}|#pzfhuWxU|!}>7e>(jOmrA>m%Z?o!Xu| zz4tvb)&6KarYLyu*$;=^Eb0wif4l0Jq%!s7kf_Lxwhp%7lh(o|4VnF1o>mU8&R(i@ zZt-rSu3Bk0|q;_U*ucZffN6@(R5-9reDx~6puO=y4WR_ z+k2r&!6d&Ss;+rAgWq+~sxTx!d_L&a8<&|r6D$_mj-N5|56w%SrCP}>VmEU>vKEG9 z@!qJ=rH6`7@j=Z&%NnR;`2oz*!xOX}7%%=rYj~6^LyuHsmr`g|=6oeBPM+9%exx#1 zWfILEleQ5|(=}_chDC^Xlnu3^A+`7kV~?7W>0#e|DX>u*#hmrQ;jSyp-8^tDGQ?^Mu{ftC%YM{$s_%W$|e5r>#*c(_$U zUvJ79|GAkyR5tnL{X->;8S&OYmju-s&n%#ou2Ur1W8}3R+qtp&dQaD0us4+8Pg=+2 zeSLlPP$si3(VHNgNsC zEry`pRaR0-U0_^Xj3suoj^Ao;8`bdPu2mIOYYkY{kyc|P*Xd&cvH5~3QA@p+foSnE zaW&T`Y(BrDNl^-qvkM##UtXf%)#jwJg<}6RGS^;U+-lQ)b5#sMU zQc-vfqkV%PeEiH(zc+NanJVnG!n&7~wm&`cyOYj)t!-?|%-|Gxn`X& zU%qUULwZkLbRBxJ*cuV+SxQxuEVza?7w0&_-M;pfk5C2 zS6tL%xvS#dwspjuRQC%A7-9dIZIXM_*%7)mguPV;bx>261rJ8d3jzz3apjej(ne+J z1E-L11^2PFvwAIl7#k_X==I>^@QIp2NrTlR+$Z%m(L;@mOAFbwE+wKDt#f=y0~^*d znhi28Bs(Hzek0GJ1M? z_B?*8WDwJmplaid5Frj)cXQ9oAY~*=)@He~6+M=mvwC_4l*Y`g?M4Eo^BM@X>sqpC zWAd3o5Shlg)${8xSk!h9u>XS1)jP1Gpp$yK_6Qn-;hsbd&ZFZ?zQ(1^8Jg6%DN&ojEm$Oa$n~{Wk zKiNxzkma)qC@Q!BteLns?VDg<_O5?-9Cp9uoByKCYct^(fK~Zoc5Q9#O&l$^6at-p zMi9u3+#ZE~+wLGtkujRR1?}{UC4xo*U*j~-!xeN)Q7~&z?w(cj+vRL}Ixgrn$?d64 zhV8L|nys+=kAHG1x-SB|BDF~dcGmIF-%$H%L|})C!6K>x&nzx3{x#G5$r)zBPm53V z)7x+R4_h?W)Yg^_2nyOvj>PYGKEy(TepcuYV=o-sl`STM!C=BaiM)DlMyy@Qe@;Cy zlt$Y3mcd}qBaqzd^p~^lhe}Lxf8+O_B%W%yBD@nG!5-DLrs>aL1Z$TxZfWb?ad4T2g3g4o%F++cjlVEF z_MK0`PqBN6kbs19WkqB0Udz44?dc2LvRF#sYL=`tlJC1g@j)&x%LWu0nLv7eM*cd+ zN7+T)Qogo(Yk9a>S&uN^Nq$N(cb!{JYwte~f<*08fSD3r95gHy7N%<3qB$E>d9e0M z#lEAZL^6hbaja8^%&MsDUt4H2Tm7-3!hL-$TCMFDW!!8*Lt4OCsTM0ysm~Z%TL4|niOn44omuGcz9T>oRNXMTCwZUeUamH3qy6)B-Lx@ z6*(Ua?u|87J=4BlI9mJD2xdB7)|_FNJVqIg6P}oxZofJdN9vZ7Hb41ft<|(omC|+yIuB^sfm4zx?PpH(n7TRT_aL3IJ z^ZR;ly6$ne_rHwZTNtTSt8B-q(5IsJZbK1<5JLV&X5=QwaW)gNj0qm zkAh`MfvtGtFY)WQ;sj2UhHfHeX=-w!iKy8%37XUnAi1|rICzutI{7*Dja?$%y?tb#{QvSI90O^=*+^x!jGWs z)1M4IJUsjd>;hWLh`QPtu^4NRJM)+9l_{OK3{LsOw4am7WcoT|Y`Md2i{{O?ep&Fn@Q6#eu}E@k!}07(WDq8~0zzv>O0%Ra$nPs_{uaT4Qn zp5Y9Pjg5;=TGj{qndc{4;LziqrngTLqj5M~)7G6B)h=h8^m!g+;5tw1+CPo{{io>2 z$fj{=rIa9hmBsbm(RAKQOia^27~jEMbHh=u<>I!K0-tm<5m(yN_^-HSrdT6Z&g1Ug zTq~rcWbX`WucYKwL7?-f-+yYr+EhA=7uQyVvaDR%rFGey ziSz($=GUWU30*T=0EiiCn>5CJP5mht_Oo2DAO#(kidMp|(r0HQ!w2ka8U(|%C)3_q z0}4-C9a$fhBoYI3HZGPF7kf+vlKqszLRPS$gni3t2JBWvdh9w;)nI}yfs!O(*=52Z zNN|B!ft{4(CooL682PE+uI@aWRjg@NbU&2(3A5~SqM|s81gg-ivhbvY6Cp{yHqP%{4COBE198L z*Hom+XhmlDnh?NL=#70#n7T2ZYdr2(Tp=Q8(+ z8UElwxb+D#`Xz2;_K(vzb2kpS*g*L9|0!33jCfxj&>EXpa?VSeeJX8LQU27Hty?E; zC>t{|ojRQc0d^@a{E4R|1Gr=0%pw+Q3R<11pBJ!LtWh>pNV+QVRI7n?7Th&6jE(Kr zpz2t1*5~cIJU*0#G3kmJ=)r|tHqv?-RW86+D%$dTumNG{6`$)_FFzz3N5M{m{x<>4 z6qmhCPdFLgdM=WGC^wo~LL%inu+-wo`o((P2HseNei(LRjuIUSC7~B6`;H$ASxpfK zLy~64n$e&N2Vxu>rWpq1mH4brt3mJqF2qGagux*sH^ggg$*(%1SW>hZ-{})zXEVyX zeBk1N#W-574CWV`T7New?XX?Tc(VL-HRo}0^r^TlC-J>)TO^{E09>C8JP{sClqf4NB5EE~=(nF1@lUv?eSnisYab>DoeA=7S ztqo7Mwin4)R!%vuT6AB1nErsfGS#f%v{=Q^E&h4?)s}7{{+Mz``uO-Sy&$NI-z+ae ziMw!9`MY#sSG*}3g5rDDc!j2cI0?#cYe;>q-ehqAs5btw@?u z2==98(}wSu5WifZaRA*&Y9Vt+Bg)bn7>oA=QVvSVk;0$CqJqGL`Df|oKXh2)b8ie5 zXYAtQa+*8%c!#W5`E0g5APoh%xrf~RI|Yl-HlE_b6&BXoqLIuaV<2RIdBj3CJi0L9PeVzhIvXGztLgM)kNF=q}6h0$* znasvXfBn#f5?nZMCsxQ@E%xI_QW`dw17+nLbDK%BL;$7YLzw^U zHM_dacOiWLHXfzQ>(=R0r}lc(OncgDx>)P5Ia!k*zNTEJ?*{DSYd4YZviOw$KoBB1wt_h&MQvyPw=m+Vi$;+T?!c{Kxf$2i7JqvPFaV57R4XIX3_C@JQD5Up=ip!-A)^;68(F^I0i0f zEkb;Dz1oUgON}3`bYLv_fVDj*uuGAD;4-w%u&i{qtGL&nXDhuVlv#VvpZ8iHEIGj@ zr0OD$q1|I>(rP`05&xQ#mIyk8(p~CJ3YzwaMJVFmLXn!9OXpfbR`Tp`DA_AYvQPv; z#1NiOt%g9MkvXyxaeQXI|6x$P-1BxpyL@A*TD_cblJBso_`x_uR>Qp;6#i;WcH?rD zXV1Gp#;Q-|-o+T{opP~MT*xsn36rKd8W}qHYNHDwAt4#{_54Tdcpx*>sa=h((xxcP z--PgTf!{k5@yB;kc-$n8GCuO5s9MWrR(kz%hgLP)lM&}L!BL8!C6y5PF~CV2lGPf8^RGHfslPn{9Tp+CQxZ)q#up6 zFVAD3;;2c9P#C$gFYYIyvf(WFPV7&Wa%6J;g)cDAu+y{yW=O`kScC%evq5?AT!#Ri zWgmPdP4}DQG7-Wb4CrpO1x}Cx+CB>S%j++XPLO3^W|EuEiv53S1O9uey`hkRShKGY zUk7i?AK(u(yTaQj?OH+VKi#-tbcT>zb(7xTIA z3q03bBO{;hGMDh7lm+>`D=+V_*>UeSafaZ2=;(^tQwXjZI4hv> z8n4rJj9Zk&k|;^c%d@jqr%Kc7`g#SX{o2o=m5^w$6G!2}k6lbK2UVPQp;g`G!&EyN zQ4g9_Pb{=;uI?YM^gy}CBCOs?Rq9?#W}?Q{qc6ly0-O)9J>W}LdM!ZdZ6}CJ0m2?$ zJ029<&7~2P+R^pU-BqiK{*7RtTXpCTGb6^cf?yJ}6#6@X z!CHSUQK`eCcjN#8u(JQYV0XjH&Y-xfLKz^G&G>M1{b{8%&lp|0h=Pg2E_P!#Z~xzk z{(s657(Bf7Etqf4L8ra*=Cfn(F$ed+uHoDKHWw)TqHkkklR-kHUPN?nfhEb+fp*57 z71~`;Cbo34uhPeexrgmamP@3B`rzvO>V*o;-^lRHhvkHXgxiQe46F54wXhSq%TdPk zHx2b}BNga9eaN?9uay(5L$z1P<$8{fPy{T?GUuyB78eJAGsa(U2XJ-px>kZCW1oZ@ z1&3K^;7tJ6sU)*jJI@1!5Atw117?Tv_)m-V4^&-G50&diMBrS-QGK*?C=5U~pJ zL9Rok2M4%7aL&hZ>Vj77{jeb+ysCNON_`mP_(u{56UdJvJip}PYZoI;OvR@SDN+}NoS#!qFWu!k0r(t@IXQ{(tXDGL+=c* z3nk<*TG`miFsRtB_B5}a9saB^iQn{e|@--_I=3af0g3oa@?#KM_IEmG^NNv|7%^3^8< z()=Zg9zD-bnVC@v@oYj$f!tgHZRx$p69%57p1oCH5f#!i;$6)DAHjv6AnW1GmoE;X ztGONsOHSYbCEi1ZIJpnR_nY!9uq!vv14V?24PQ;qjVWZjN8m`r6A3-N-^jttOm#Hr z%G^>AJd1jQj8p>^_=lN@C6RxtH1~fY`$<1FtmR6$0MYn)l1Ag4Hema(rv@%A)TA$! zLJX}MoGT6T8GY|wCuS!Aj6=_r3>>=>RMk@|`LX>MdFhvJMQ)kYZsc^82Bh&a=$$i! zqP8Ed(Sj(zbgkfQtllEl&a?#eZmUnrfx*6gDts52zcryK|96*(*G{RBz2dI%@ z8~VF9kMGeC{OPX~E`-ssKEiKxbuezRq4djN#dFSmOOINgLM6zaer`dWAM&#IMm};qXPvqjswDM}SnQ{5YVSmD7sSe!{LaT*LSt(!yC*1u5t%?Ay^SeO zWMq{KrOV5(%gT$`kT^L4RJn-hjfO)=Qx#_)xFc&jLt932D|{kOJx@{c#L`S;bTlIDC!Ki3GJ(?}aO3h(Y>P*6SkFs!+LuzNF0j1J zJdD^W|8i_-C^@@ItOhJDuH3b`TQQ2-{wfXJ{^FS0Fkpqm)<#ug?r1)W|0BzOKyJs* z^f;b|Rw9wEYSMWgIgBj(SGb=Mgbfg!p=gLEyPTp-eDa-QAXevuuMZ*QW#^IAn8i3;k%sHwwKolEHL=0KQ7YBwdATpWp2x7IdX7BVH$>bipBG(uU;(P! ze-{GT&;^GJ8zcpAW?uS9FQ9VIf2!@_Ut={V3VL5{=%+sImi@8@*!=6KtAa|2zMAmI zj$~MlG3-|7n>uxU0ojic@skI8Q>w1W)5GJSndF^@ANtkqpH#Yk;$RgwJ|-Upb1{P5 zy6nk3DsO>@^`yeKJdOU#Nl-?w2y5woa-+Q?fE?uFPfZJO&hpU6>pOYTZV}j70v#lt zOdGHvSnJ?TOMIw3qYZ~vL+Q(J5_R+X4UJhSS?1^7xiv2%g=bg%Kq#Mp7e3_abb7Zl z;iccw$Bgr3KqyxQ3PMcid%|DCUL3~E57$8-v#C%)ySwWK&VI}ois#CncKuL3^Q_jq z(jtA$W3;>mvqr5W@#Cs>b6)d0Lng(wmC$H(*EG$G+LKm|VCCld@#AtMh6b?6lXyCzl#%)1{b{@V9x7uS`KYsj3-ywT?@8idhorO7N!t^OUlS};s^384VZN@c@ z`l(aDsXQ`wMseaNsx8hDmLE_jh26gVC3jR;cWEPESFM<<9I`P`lfF^E6ay*O6xUUf z+)kx-*>gv#=-K!}KUo$^31B2dibgDtxEHLGRf0xgaz{qa_2%H`*9)x5cJADv_Ql1jx`TOFN3s@#|W_Eslzl8)K&dM*iuWXCIzu$KJ z46M)az?*FSZyh8hfpK=beJd_Dno)a5Xv7I6;6T(P;|rkfCk%98O5fo8fM;}58Wrm0 z4@@jQLqo%>O&y)}N6R>?&4NAPvL1$xZ38COM&x>*=|HMEe>-^7;MuX_IFIQPCC5>0 zGj9IK`>7ah#v6_+9a-Pe@E5xX`gZf5=u+p%HTp9~lc$G1=yMqvnxXW;B%ZTTxudhc8a9JJ@3$l4u1sP+poTRtR zl=p_KDzcKyTF9qp47swrusHM^nm<1T%{(_G211~(a5!KKWkp3rZDHbXL1wTKeplbU z`xY0>3(e}wEt=@?&DyHEYw>`i`O->W{%AHKH&2e0lULP(;mpyneK0>3; z@FrwWY;3}NFD^wdb?;e=`-KlB2sM%g=u4yci4Z}!7cb=WK3zV4dg%QFX-D&4YM3<; z&k3HA69N?Gnl<}|Vcyrz}*d;0Pb;DMNOTfTY>nd72^KMHejd8~FaZloev z9Oil1NDCm3<0m$ND*I=?*07{q?rxVn&EYWZ@#K4?2~OIRuf*TtABlhaVro?AafkV# za$iga_Z1#J$8DM=1{Ly@eK2qCpwX-4Ol|sT^~o-@evmFJ_vI{ivSAZo)7YkO0!t^a zsIn+YdFKdw3T-T$;~P!=cv08W6Ak%s2myM`Sio{6+tQ@oe9u$Fd!a;RL5h7%fVc&Z zEox~=F<}vaQ4nzo`=2zo$2_a{m|2_ivhwk<1;nFBtugCi8_2Cxp9R75SPv}mwJptp zDA0(t-M>0R2RB=tLTvt7!Llyq+4)=l&r!+ zwl0->g6rSSTqSh(f8d;O-8pLPos79o4-Kl1VzqNc$Uc;Tm! zf2@Qx!(yNM;|&Y%YCW#C7AB}Q8`k(kqRZKNa3eT;KjQu~67b69DfQaA)owNfsv|V1 z{1qRkXTbimW&NK}10C4Quv0~jC6+WP*uAEGe|yL2&=2<)K$@jQwriONu|91hF8d1C zxNF2ibTP~N)JHkN+d%0(+E){?2NYabckb#~VF~rvxw&6Y*EbcwL z5$!10h(zOR4gsDiq=244m>2{?jy<1mWEfkd_U*TNa*Bbv$JYBcK*c)}>OE3nYqTle zbKpasi(Nk7!ia0E%ef5#*%Svp&% b9onjOpRvU;*z5od{9U?Wq*rv#;g|mhhCRg4 literal 11894 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 diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index 53724fd97064d2c21e97b5820ab3f285c6d26ca5..a555009ae6abb48466d7909921360c7e8c976c12 100644 GIT binary patch delta 8387 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 G8}>gF*_Z(U delta 8318 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 Date: Sat, 20 Aug 2016 10:34:02 -0400 Subject: [PATCH 003/138] Rip --- code/modules/customitems/item_defines.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index e4938380702..9e4edf8170b 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -278,8 +278,7 @@ //////////// Gloves //////////// //////////// Eye Wear //////////// - -/obj/item/clothing/glasses/hud/security/fluff/eyepro //T0EPIC4U: Ty Omaha +/obj/item/clothing/glasses/hud/security/sunglasses/fluff/eyepro //T0EPIC4U: Ty Omaha name = "Tacticool EyePro" desc = "Tacticool ballistic glasses, for making all operators look badass." icon = 'icons/obj/custom_items.dmi' From e7bf56b80eee4fbaa38ab761ab7205ec14ec06aa Mon Sep 17 00:00:00 2001 From: Ty-Omaha Date: Sat, 20 Aug 2016 10:39:32 -0400 Subject: [PATCH 004/138] foxxxxxxxxxxxxxxxxxxx *cries* --- code/modules/customitems/item_defines.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 9e4edf8170b..054cf14483a 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -284,8 +284,6 @@ icon = 'icons/obj/custom_items.dmi' icon_state = "eyepro" item_state = "eyepro" - flash_protect = 1 - tint = 1 //////////// Hats //////////// /obj/item/clothing/head/fluff/heather_winceworth // Regens: Heather Winceworth From 7be6e22054a9ff8e9abca5e76c76118e8f82d825 Mon Sep 17 00:00:00 2001 From: Ty-Omaha Date: Mon, 22 Aug 2016 20:57:39 -0400 Subject: [PATCH 005/138] these are MYYYYYYYYYYYYY tacticool glasses OMG pls voxxy dont kill me to steal my glasses yaya will be good meatbags --- icons/mob/species/vox/eyes.dmi | Bin 8718 -> 8960 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/species/vox/eyes.dmi b/icons/mob/species/vox/eyes.dmi index 7fb0e339cb7f009ac030136d9a67c19ed0ec8043..e1345302358342a7780d87cee702e7b55f97cb19 100644 GIT binary patch literal 8960 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 From a831c7b61ebacfaf312470444ba64d5a39a4be2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Tue, 23 Aug 2016 16:24:18 +0200 Subject: [PATCH 006/138] SKREEEEEEEEEEEEE --- code/modules/customitems/item_defines.dm | 10 ++++++++++ icons/mob/head.dmi | Bin 252767 -> 253596 bytes icons/obj/clothing/hats.dmi | Bin 117478 -> 117713 bytes 3 files changed, 10 insertions(+) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 668737dd1dd..cb0e27c1149 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -132,6 +132,11 @@ icon = 'icons/obj/custom_items.dmi' icon_state = "book_berner_1" +/obj/item/clothing/glasses/sunglasses/fake/fluff/kaki //Rapidvalj: Kakicharakiti + name = "broken thermonocle" + desc = "A weathered Vox thermonocle, doesn't seem to work anymore." + icon_state = "thermoncle" + /obj/item/weapon/lighter/zippo/fluff/purple // GodOfOreos: Jason Conrad name = "purple engraved zippo" desc = "All craftsspacemanship is of the highest quality. It is encrusted with refined plasma sheets. On the item is an image of a dwarf and the words 'Strike the Earth!' etched onto the side." @@ -331,6 +336,11 @@ desc = "A beret, an artist's favorite headwear. This one has two holes cut on the edges." icon_state = "linda_beret" +/obj/item/clothing/head/fluff/kaki //Rapidvalj: Kakicharakiti + name = "sleek fancy leader hat" + desc = "A uniquely colored vox leader hat. Has some signs of wear." + icon_state = "kakicharakiti" + //////////// Suits //////////// /obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Socialsystem: Lynn Fea name = "Robotics labcoat" diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index b8f6f29812a6688d836ae26963e6334032dca349..e204faa45c6cb1351da5b9aaa85cad8959603e33 100644 GIT binary patch delta 24300 zcmZU)1z1$U_dk4T5D*k3qy$t-LXeOS0R<6|&ZWDNX1NGRBMmBzAl)golz<{3(jDR= zOXpI%@8$db{eRE@ec$^$EO+M4nL9gkK4;G7oY|#Dip+M31X?hcm=FMf;@m$20C0oV zUt9mpGiy&v4|}&a_O31f;G0=ttQtQra$7neNRj>P7g~1Y+xDO4R17nZ%sBLk0`8QS zIFvk+u2(D--i9HFjuoU_;-tA_o|5muxoh?BqrPFh4-YS3;6=0F=}J=so@2_gsCotq z<^;WGlfW&U0TvCNy0R=jdE}Mc2U_I!W)uyHYHOx9b7#0RFKXwzAJ(6(tPGiccb}JZ zj^^<&Gm5HGU3YN(zR$Q4N1hjuHS0rfOl3{Lcqlt{tDIbf^&4No(C;tk{nn;$KKvUw-&Jqih>BL4=77(@m!{+TMA~(bBkjc(M=jSNEIfV4~B0)G@(A3_I-^juNI=38z!5&jg{oDD@v!`Q%P7>(deQFNYvS`c&EN(<<@WKszY0?2=9SOtJAGMsl6D_&{f~-&yiph0+d3o*}wKZ-CYQ zL#ds$bgPJ*{M0e=1v&>NXT`KRD`@89#KfT-r8Cg&`@ZY5nZ{QqrlRp`aXUsY4izve zQMH^zBXBCL*>b(U&dLyptL5ONy@^iL$J7<)G`mOZt2 z+`LvG2V{ypV)Y^HmQE&xTlEGlW^aK=mtpYoM_J#SbfkfkGFMICG7BqdYaTV_y79A_ znd~VVGrsxq8?ov?29*wSI{LA9+1} z;8ysMcJ)RSm0@^&jshFM`!{NsfRGhN-Y_EYt(M{YdQ~J?(^2#11q@U1Jv&u1}wc5(_YtOiiZ#88LjBInf)EOT-!RYNH|Z*U_V{j)g^9A z@VLJoW561^b;H$OrKjM*V+q4bey^^iZYedBYQcxpz(%KGQp;!#Kg#+QSe5lnK97f* z;vJ#EWCU)i_JjRa0ok=oGmf+BkK&W~WFsnH1#u!PQh1y?+4+>EXT1uH$q(L9ql?Gq z1h&~fX-%unJ951#_s)AQ<8t<=iBuzxiR6{GmfVjH;-WDgwP!$`gDCyT||+*RHo3 zwvJl^)l?BQ0~X5RQv9@AmTaU?pVjQ@Kd}49iQBT>ATplE<1UBCL}%+(@pG^h8Osdc zvqlFy#l9V*vHu*4_u%DMWmuHlCJF7IMsrkSZqRN*Va$1_t0dc}isD<*u+%csT9 zBUVhw2$vO@tsWYxTV@_)ZMTvf!9lFy@Dx$*9Em}mb`Sr6H@|@o?QCf8ix(y1*r?lg z8wq_5e>r$V?cWVW zS)^cLIT}-%*kzxi9h}WF*luzSSu(qMUsfpXg>b zG{T3}OwW{Sg`c1DeV=?MjZ5Bk--tF)Vu}fiTRNY(adQCUbAJx*8}8Pcdwigp{oZOW zk()d7nOqLY%?y9wv~v3ep|p3wwtJhIPr0m%1fEW||D4>D2ecMb)zJptaAlQOlmddC zFOP_spYz;n6%AqNG-pYCXh)lJ+m?Id#~>4(K8aWqJxIsyneX zoX7q^K;gH4Nk-U&*em_}p@AV52Fp}*;7^0{OlylN(BMY^!L{8Nh_|>)j``{&U;JYf zM<|Dqrlzjym(A;ZiN9&|eu?tBbXQ-KACEmVdO*2+Pr62gReO1Eg9K-RUX;2b9hF0c z8?c;|v7BK^K&{V#e?K?7o51hRQ`Tq6!a?^f5Z&qVf~sE#5~UP6^Af{Y`#ql^6C!SQ z|4TIpQB@v2dk&MP>aHeL-l(DVD!=t{j=(^Pqf^+G`o-?f_Y8KzhE<;Nu)epPB@OL3%i5WxWfo57$`M4Jo`s_x;vl}?jA8ymL8+hLW!HGqgy%A#E zZnAr#IJYDVxn>sLrxsdxZKf==OPc&Ds*fE%puDPmBqR*KUso&naq{zYjpt}(xRf9F zudTnohWBYW9fId~1$sK&+_4zCNt+RYgxPYb^s0|DLc>1W4bz@y)%q9pwz5>W z{`Wc#!+CODNROb$2}_5G<0z&N)!^L(yHB;TJqld*H-NS}!G(L3F>^ak`szu^$rCN~ z^z1k{q|rvF#-ti`#ov&gNGa9~~H&n{AVJu6F;O&x&Nm9Zw;0O2|0HL)P3w zhku*{30asVT;PTMNT%1Z6#UY!rK6GD))KCMiYP)k&g}(Mx(*BvOBZ7IG*mv_o|9pI z@aDseqG>yYh~630YZj1qJu5Y;93AvN2H45fm&+ zFJ45sSXP_8Xh}NheR=GCUdHo=TvidtfJz037Tn+toUQVik{@H=ViGW$H^7Yripq28 z?Wm8w4#Rc6@H0V^b2Dhle)LMXYPq^zZfKbx!eY+ne1ak#PsNV6W1uPi(HVvxDLsw; zRRkQ7vOU|&t;m6Ca(@~fP#QGxLoWp{Zm8MgFAM-=%6$oF@d@s+ zt@F3kcl|#0yF5fA(K+$kdO`(kTOc zZ7v(S9KCc1vay5OZ4FzB=nJCf*eysQp*o%~Dm#ETeAqGVt|3Gf(HokL4P2#~QzGd_6mpd}XJvKQqG0QZ0w&*Zc{0cHk} zp{!AXf)q1lD#69|9UA%FPy*Gl)LZEkKGPzr2P=HG>px1X$jxv9C@b{f&S*)fZo1=8 z!fEL&i*I{$r?prDs(B825v1{%h8fgpdC_Bw2Z({r-UVSG7`j_H2d@zTXXO^`Hdo4g zS!YwkZLj|GnYLA!IH6`Dcv~9>7a@RsC<9lkOA z?Yd=m5^vp-Z4ZKV02evNEn}@duGh_sdya14r;Eo|jE! z)xj@!{g!d!8L@1>!Wk${6V2#{Wdx^}r*G_!jqU9l*=)hn95}P@-ebkTFE>bh)OBz3 zw=n`OVAwG4(0MF2G+rv|VHs)-_7^F0t1X(oA6l;FGqz4+GABMlKE$QRzd9KeRn;1& z8Nu|^Z+(3hr#lPLKfSjW+l^kRsSyP8<$3nMzE`VK_62hWe`KV)deAXFt^d!t_z}MX zq<8<@7-U8jUV>O zWh+b!OuvLL*G63hv72!ks{9ae7Zu3=OzuCxe3)YH~2xyXWP+-pC%#&fg#+Bm&y zh}}q~<4zB>n9=1QBT3T=cv>sJsxKg;e{dgn#IeAm-PiieC%3erN$`D)0R$Mq6HD{- z;kEepE%`x;)~S4JIgl~5XgyNVej|jj6qh$M5K2@;&o7{rvwTP{f5To|@qO1cFb%IF zMG$!7T2|6WZA&0}rrs^(m$bdoeL=Jsco_qe{UM3@o&Dk8oqnvBIm=3B%%-~&jM#ho zJrac--W5QG%l9@t;Ca{Kfw>I|ckmi~^i&}3@K{6VcmNB(X&=qhbsk-6!Swt~%aqXq z=H2*;3}{?gxH3>Rl@olbjXariMWR)E_mODN%cmGa+d*_wQ$x2?rLu`ys`8{Up+9De zT_TWh3#ZC+&)7usyv*5?LmiIc;pO$x-;s~6o-k1NvW^&GI&Q@u0Rv99H0K`HHGUzN zI(fV0UQ%2xuYW))5T6}Z^fy+ibCt<%E-~s;EN#K$#NC-wj=(@MW}i&GV$&eKfR8Q> z5*T7~A__(ggm2Tr6TH4($)l3C^(mAVT}f{WYum_hVthJl*{M2m5O2%NA8BjrLMX&F zFfgEldh$toGeg)3GRxPeq^$6pd-)dPJFpCp!GHjOa)#eyUm)u>Mwqp#Uy!tA-YdKhXH9$O%nfX+N7?Cddnd0Zv<^xw_d{iTKg zic7d5Q@3qWs^#mJb*mr}8V;!gZSh2fG%dpy$ZM}9Iu;GX} zcnWdxrOU5`LjB!-<-nyuY+Ri1)=Zu9elH33RXDRywIYj{YckZu_Z_@_j_m8%|2wh- z08d8fD}tgDuL#^A1Qh1i-eA$|1J`zUD};c~1z@KGti{#-cUu+?EphM_>25VCUuWcC z1UnCp>NZu4WCWQiEq}MxCk(Tw3nPT*&`_eA({sA?@vVj0J8w2hFDOs;1;gNNWCmCH zw{%UzRRCe10=9!`y`(aqF~`X=A;-@I1pV)Gm#1&x6V6~)|BULKvO0m*pRRCdP1qWO zru$D2z>J?VcX%LH6fz1g$g}FtMJFt^oy2snF79y;4hn3JnWO!dKmdq07ANa}bb!6v z0w%Zj1?RJGT016RRmF1`>Jjmg?BG3__$=(hGW?j(BACMMr^UClp`7VC&wm2Mkp1p#+K zx}M+f{i>7i>78du@!0NkPn_wCR(mk3vR?+cbnm@0U3*3ajd_KC{a5j$CKjydl7DOE z+KSp5g)E%uCx0{k$cr1f*QzpdvDFVk$_$`~)^;ZWLr}z(oaN|`+S|}YF$^Q9-qiJ5 z3}f3==XcpI95|UQN-*qy_@#P6Yntd}+4H9``~G;QZOxl~HfaB2!uV{9FKou_83fER z%cG0}uI<_*We7ZXhaD{k@5$RfCT*x~D^~>vUK^MaW`JB@B+&_X|1;jm=-AHHtHPE` zkiM~))g}n%WCrFxev?eFd)7|QEI~7ipb0*wSA9p~B;m3YD8u%1Zd2R-mhqEBu~7`*POo@dtm=fbi4hnG;2#N_HoRerBvP0 zwIzvRX$%RH%wr?@e$=rdxCqE^{p1u$!GAczE0ojbi$i|4FbfB*SXX8+o zbC2aBcE0Wy9bdk&Mdg$_7mntLD7`YNINawypPoP=Ob7RT*U%i9Ld0u*alem`L1-)C z6!ZQg8js!O4t~f6UHNtWsKNAOx}zW2@cG||s5{*bQ5ZLAt|Zf&%wk|JDhSaL`0;vE zC}f*u7LPm@k7IPmbB^h-L`eQ8)U9;b5KCnN0am$f zs*le=T1JUgk4u(u(EJkn!Hpo_fvuV}z|DDRqIg5=9hjQa-Vb)wu+t^GWzBL3Mqw6% zejfHCPL5%_YcQw7w0+usglQFafeBkAjtSq|a%vJyioCuCvg%>D$LNF80M^OxDK&)k zu}CSVYnKOPbSJq9`8@uz5yT&tqT zPR_%9-7xZ8+kQTa#)YS&F>N-NewTAu75y^(OFO5M7_!``|Gu%zPYYNke@1+Z&MIY+ z<@#NdN-@ek9L`3)UhkpC$@8TQ_rbf%gA5Q+fMerUL$#s<0mYUsUD)&s1=i6WNt&g5cYh7bmW)i*SF&4ph#ECT2F7p|7BMU_5lE`UG__O{t# zf=FdR3punDJ1f)#K;PxmGbe1n643dlNpF+3^JPvR(7B!rJ~Z?B`w-~#a&6Bug4bY^ zmrU&`r@lE$p(L8*Y_5J;Mw3j-cu&KEFrxpq)Wwaqa)Is0DcBIh7W{Ed4?K4;72rH*a`Pfg7&POg%W zLu;$Bc)nxLCgX^&$#~<=q*KC{8$+;vudx}i_t!7qcA8jto|K-HJOBCswL@RbaqyCoGectj%EIqzy~8!Ez^hHCo)5=PNl3(e&&eR9stc(4Ri| z)UuF}Lom+rt#OJY>-Ck^&0N|?FZ7g*r5PdjwZvr(VpEXgt(;D&k6+E^J7K!131a}I zLwd3kx8wG_~ev$M0n$CsSEys39X-a~kcii&#s z&Ejo*e7qq;HBoiG+H7M>tJGRQ7_VnxX=yH!v4V1hbv>`|auSgke;*ZfrUqwoNKHu* zbDARDo5k>Ras66P2Ow*p)!p4aS_P9yNl*X$<%`lOAi&Li1CNlb6H;eQP0f|WbAXbW z`DQ1EmJafG6Bpmx|Ng?&6G0I%;XnXr>*?VIyTApUXP*?p5J5n2HCQb$J`SnTkHJB& zvYZbeB0D=}y)q^o6kol1?{aJsCk2@Fvjiz4<0s=9ywe&^B>?26#Skd1}@ zqa~pwy`8qhSH>Q{3O5_ETNk3z=Ns%MxT6T$jw;EM4YJ4_oX*8vSIjZ_!se16GAlA} zXLpnk_#le)`{#@f0RLY6xb))}cPc9`mVIGR!)JLfWW=%ZtI|TFC-N0=j-QuZx%*GV z*B?72m6`uXSa`Jp=N8?`whLq1xyMTx(|29)kT)cq9iOBXW+v@+YT-@^FVZRf7kapU zv_{-yyZUFFaQKUZ?hr=xYs#$C`4G9%#oAMF`nDMRukEZ@hZ?-bAw9Fv0T{d+Lwt~62%Rsm*oWpUG3wiZ2=_! zj`M+L>8c4d8M%a$c9`zpDE;I#-N;IXTnrS-4zy1^%0Xmz+e*pX>8;e|Did!rN`q4u z$|)(jB`bAXl!oLv6NaggaU}f%lVt#q(J0K`q_OC<@n4a2NJQaUr0VV-ZZyy4_@03` zF>kl6W?Au?$N4_(7RA6w$O^T>hSp6m*LLWY4sfp)R)6t4QMOiB!23$fDYU*@g9?8bTVVNlcCw6qauv~Pn55Ed2&0AJ$H^$kH{sV_^ft&c^0 z0ALe^!kG@$12`W&dZwv)D;s`d!1b2Lj6!mDZf*k59&{2ZV=b=xO`_Pa(xi{n4;x`a z-+5d2fnaNGEmRtQ4ge5u2R-Rf+`&FKbF$`uH-x=A#9Po_T|z7kOR-G;OxT+uXs_RuQAa*9CwJccZ#mz{^NYZOGu3 z?CFz}U}PW5DAM-cpN&%$ZEb3K1%(yp?WXPidF|~?9IrBEO-z`$xw#A8jap1@=gNh) zz<)wp7clTKif2iz8rw{NFura~5*?vm&!VW3^ z65`@_t*xy$w_Q8V2>IKOlIo`b^{L%Ta(M%TkK-bdv%|s!QYYXJUUI5p9(>=)q@qP_ z-n2O=>*zG+E5%D)0D=V0^D6%Cek2utZ=;gX;$6zO;P|x0n^pYR?B`|%I#ht4P$C2= zFu(VB^BwlaVSjDu!${Qccs+Bc1QPzgTj@0N@0qp!P~7{2a1E@Jbl#8+G~XmZ1TWgz zyL^lLOZ9wYs2>}&uP*}}LvWa}nqXnVIz3(Xzx1KzOVVX=W5i}vsG(7#81&c_3x|b* zz{>n{#`bf`%Y$z?^D?emOh6Eh#)%O)%YH&H`y^PVO%$B#2b=eCGcUHyox}~JOdlLK zcMOFqd&an{?MlDyUwRtYvAa0OyV`+pM)z_`gzazz(m)F}A(51_(~Ybjk9hQNaPe_p z-?Q9?LS2=s#UOZU(irzo_}|Ba-RX-@yu*K)I}l&3cr$b>x5@;2-^`(PMazLq*r%ta z_9;yAr*zV!NeUYU$e`CPq&Y$zKO64DWX7juxTzIfKJXP{@+w@ph8rL>QI?V9k)Ih% zH=3beOv$V#Q|dx=|Ir!22W9ncEl(wOv;CX(+XK(k`bdk;wTqmsmU8y?SA6H)P4oQE zOt!6CCWe31!eo4xgYR}UEr9(rP3n}iH0aY#9Sr7>-~8}_PWbYYw+@s+FXQ!u zkx->&RG%B=!j{Ii{^ zq@<9hr62}C!0*7S#ET{1O&{!(Wg5Hjj@B4GwZlxsV2OZ*?eA1#|H77hsjDL{hlO$* z;*&LD(9T2A$t=BuE|T&27sG(HLcH-|0GR{cC^cPmU|i|rrQKk)vm*31KR@J=(F@`$ zzh~4`aC1ic{Ta9g84$C+So$9fuFc@X(jruj3PZNvU;1wga(hA}lAoc+#fW9MFa4O9 zLgvX?!)nfYex=VMpIRJRS&iSonu$6~>>9oaQ{$1%_oy(MmOabTa-8Ds zxFZ~9FTsva%=gPM zZM_fHWlz^+_}yQefzZ}vJ>f%#J&aXys=+b8inY5-8C&c5`Ig2~m?z&|08qfuH_sut zGU|AA4iMvxQgn`9S7Xl~rerb1E%J&S)ihYD=8+@m<2W50QpGXDD~GcUjuQqNrwakC z1`P5|jpHXr+C?Uy#gMUN(;=T(XLTioSP*6L8Re2nDVTG#nSR4!3Gc>3+&l+|Oq9rWs>;J0$} zJZp`drX2yw%~k$U)J+NL;i2)F5vGRdE2bV>U;r(sw~40sYTjbLpTcFMsTww_c*n~D z!6|Uh9-LHKx0(u*E(8pJN}pU^l0N}4gg~y}u-)+s8)#>=8t%*zme7Hsh28zB`{;{+ zlO>TQ^5vZi4j$RmqjTUI+Q7+@@6Fa_+}P$oF(?l)E`4jzbD$cET}T%G+r5s%LR4K0 z!h5@O>VC74ina3L-=UsE@Dl}~5d_{1qm}-u9#QJOs@{>+vzV4fvoO2tbTV;x>-Oz= zcho0lmJ1`Pr~WuVZbt{sAR>#SA?=?0%UfaIO?)-pBxFACs%Be4M6B-2)1PC~L?8;; z)YSDA+rWxw^tQD8d>(^CubLOxVC(4MkdTmmN(E#Bv+pUGCFSS&C4yt4qd|FJ-{!lL zh84PABBe#R1DTnO_y4RL;Fx{53Pn(hBG=*Wl#%$sjLU-R?-JJ6*9Qg%jXuvj(ZT;+ ztD~n^wpMZV?(@&lk&lO4NJ#Y0`g%J#5K2T5q;Ip`*4E}DQ7K)_gx%Y7D}mojTiiQ5 z!~8{(m%A&0B>fKz$NFL`-gOx8@1AhNu;*ll_js${!&PgaWF z*UhbZ?i8l_(;E{MO|rz_al5&n#Sg6bmOt9zK*>AUs8nZ&9GnyxAIgYdsBnfrDDOPw zm4u?$p$Z$1lr9!&Dy!@4C;Uj6!WhO1aPzFIb(1h4LkFH;z?kEPs+)+a<6ks?CmJmM z1fiL;45T2FmTnh#D#;jhTJcQ(C81#rvw72l<)ksBThNM>Z&fWlU5)yBdpdgp7P>VBvevXGI7oH))+LAkSk5*#is4^_XNf=;T>sHul8mk8ep(H+$q8 z4n7S`qnC7u64(0j^0A|W-Jk60rtKe5ofHfUrcJGT2K6r(bSAK*~ps04gvCwVxAwQby80$&a61W0R zRZ3(PiSx1rPA)b^jGj+sLwLJ2=o+~$W<{0fY3=vX|KB`|;KcZNr`?m)Z{V=P?8e!1 ztgS8j(ORghk27VxT)pXW7BAMD`R~Xs@gH!WWSQ&fySv`qZtvhM$f4gHfs>nD`l(+} z>O4*KAY__eOzSYz4;nZ7$CitLVi7BX^1IoP(qBCxD{dp_L{mTCNKHT0>RRqPza)tc zU&JZ*CL!#6Oh&M^a_B5uSbpAwLjc^9xBErN%FX@bb6xO=)vzVMT{rSGkdU4(`bwAK z;NT$pw=qcjiuK7otZnYsuk>0)uiinNNmZ5f_U+pOUYpuaL`4TVkzOa@?$VO=)p~UF zjjbgFEdBg}^*0k-H&<5nFk03FNTXAOg8|`Sf@J}Qruuqn92}ftNL?NGxUyBpX<0pA zzKj*WSy)&IRVKV%(qZVW`QjYESbs4;KOg(|ug!5w>@t1z$kA1;W%zntgH1#-WzfuQ zc-t2xdTSla(3ifAl^_lD|9U4;1V`}Aaz1i54nAp)hkH0Td}V?)&W=d1g^VcfUX;E) zs%RQ4!LEHF1jtW5F_~}Gc{QMG8_1_JnC3X&der|4S%@35GrYLR$LLSyuAr2=G0L|! z0;h!Eb#$-)g$vYr0PFYrVTL!MoA8fAK*IK?9MX~a?mzR?gqn2DAl)`%GMu7$E=S4{wFiG zEq|XiH#g^` zlSJ1(_49L8XOTp&G#wl)E(-eY#m!QUeSa9TbZw&_KHL<)(7F8DjvnKmO~At+{yxa_ zLE6`C)!{`$!&MeUnI&@eb` zN({Vs@xpWE=-X>=mhqf`)Vy3vn))G|P$&qXrbdp7D?ars1Nh~~|Erz2G1QfX&05=)Yc^U<2ZY6E;#%5@Xr&VOy3M32(MF>J;=d`?EK-W4TH zFqqw&AF-u<+|w^3Mw%Os-5+ z`ti7+{BFxSFLPi2m#o2-=~anD7QO(?(0ePdUp?b^CCf1hcvn_T(Y?$NQTq=01Ibxg zQff}BDk_FjzI)3h{yF%sRja53#76?})a5|=*I{w_4H+_KNwgeN!nv+Ky6E(l~=rg(4@AC(jA=_VubbhMqhN8@9>`));4bVn@l>wkHo+$ffnW zqksk!m}dJN?#TptS5kDc2Hp`$Ixb!^VE`@; zXvxXRT@3ttQ|X0lIP(dC_-%yPtvnF`9ACo^8+N9gICI4rn$9wW?V-U-iCxY#^4xl?|rvo6yRVzxmzjK1Z(W|fWN%2^bWskd5#n;W60R+ zBT8NvV@ATW9|xHX*XK%W%)VOAI9CcZFpN?U@}ET;Ib=rvDD^HZqPo1Az1k^eVPJS0 z`I&aD4Gl2zIqCA34KMI)<3}1Uy$Kt=z(u@P*cfp8D%`4NuuvIEKT2y*rTkYUK!dMr zQE!)5(_g%6scK>O{kgklp05>%Z9jP+*87^#E23tzn|$n5aPb5A4dg|Iw!((vgQ>0I zDM$n|u>|W}MU2vT2-e^)byL^jole;cLopXH zP3hNo@wNKm;^zx}z$dGK^Ae7f%~>Teq8k4RA5#n2U2BeK8z|#Cuyq@8+OpWELs>r6 z;Rwzw^ImPoIVXMBq2%Uy2i$3nIp&(7ULNiM#F5+#YZV}Lr-j-sR+ z<@en#ArF>HNL!#4viYfznLfAQi{bwuZnEI>UC6aPTZD}055cPcguC_82R6K5(`xKQ z<5E^SzvG6rz;akVxcqscqzf=KgYm8QzTb9tff4q64eGb%2ROtxRVtRW0x*G?m?3Ft zX@Mg_*{6B;9IMNA zf1imZZp-}X%8AW07=l(1MY?2lpUa}rt3QdI+3$)(11Ti@qE3Vx5;oQ@<`Xu#B{aO2FTX!vyK=oSP?qXd z2Jz)MPa7p{EUDlTnyo=~@8{@8$+sx-@TUhh8Ee%1|%2w4Za1rZfP}e0SC`es1iG;HCBhj>mY;1aH zQp)QTlK9+xI77J=YymQMo!RAT_iPCXN1y%gbzhPHIv@7G*YL~a#M8wjGz0i<_aCPJ zoBDitB+Aot!NN`5^VK4)tGXs?3B6|+KRMM(&H!si=(**(wia#Tb&Arz*u=!E3{U>| zfS@zl;rFF!(4_OHeNi**0}+!8v&n@WR3C}*~)zJ56NWel*?ifJl z07Bf8LhW3Av7qxSX{C4Sx=nDc_M7qi%*Co#Uwzuko}nMy`;}7Q!hreXP0@x$E-zKR zX=Lrsj4MsUg(g*FiTJ^j>97_;p-g@T$FhP`5UN?%aDSi_*ZgwfWT-Mnpa3l3JB}%j zzI}@(8tj!r7SD0V#IxU@4m&3ldXzM0w#ASa_U6b(8;i4flF8n$p`*ni6?qcA2Ci+T z@5A1{-E0K)D?T(|zA)LWYCE%eFx*e1cX3fRm!ink!h$V?7TR>Az0d_aX``SS(0X)l zmZ1;)w>h%cF9V$t!k$m5`#Q|>wv4L>9Pq1vOC5Q11y3FD5yUEMo}T;y!&z>R&@ULEwKja%{(5hH3>EYA$&D$iFG zP9iAxR}?Bzb3%hi6e#s;X@I@8jx{k;`(zqOmE9 z$dwp%K$lOJK6830rqpOk08H0c(0_e*V59K=m04`Y%9;PVB^;Q>Bo7@MG2*GjenkiD z{|16#K?0vU>U9i>7qrmjP+EmMkmiUuFRKS>z7kwmBlKT^nXiAl94@W`;xja@T~cY} z19~n%gy;YH8f&^K0Vh|8d$d=p5f+2xP!=s`2==*Uy}6#UrD)F}o^tkozcKG$@o~`) z6aSNbL4FGQq5&Kz*tv>fpxBih)beTI&gmkG8FQHvvk}J12`;+>ov$*;zukr!(SgW4 zgHiS{C{n%K4qh4Z`(CkxoXRW^0%9J2I2{~Og%P85wj;VBAt7dhAI(HEeoaqDt`DZ8 zXaYyFrHq~;GlyXSqlEX%Dd^;LW@b5EoD%xtqQ|DL%cABUJG(-OcV1}86*uD zfFSe=(KjnW*8BJIp%}A3#!&Nt%2_g^{+No2YGUr`)2A(yM8Q9QzI^cH33XRjmz|y6 zb$;Zb+NT0YUPl7b84?PLh%U3>Asf%;5hsxxU1Io{qpSpoZU)bV((1p_r(G1uSpIUU z00S!IA^b ztNA#Q@tb#tTS7h2flKX8Mq}B510L5m^>aLBv+J=S1>}7G%wi0l=bd^{Mgd5@8?i5; zFz9tQcvkUsL~>G-=k|j_VRYpwcnSoQSmL>1WS=%b+VW3Ji#G=5J17WuC{=8|(!fx> zK1UQmp-aB6LS(K%_1cDTV1p|#=-)ep;eR@_=C9CoymN=;+rm{k0ASn-N%CrfUOPBK z;Ym8LiS@LMN<^RFX6Ya=FizP5*(a{6B`q`=FqOj+?h^!^HUL2*7!al8dJ zDPvII5b!M;mR`Cc**Rya3f#>Xa9;RN?t;0<@wC)0=?U z(i>j3%i9IxkWOKrc*k0=Za3*;pc}*+7*RLCD((4RD z6LPVeZTD-^JrFVxF* z0~IWLyimFj5LTAELeXc)9QVCtxeqTNIxV#5Or0w#Dh_=AE~lya zpN^H@Ge%*qE_xu;h>6kd@9(3x>P8BhR_aEiwN}^GZZR^FC4UctT3G%WNE|zb{S0)m zx9=JOWw5b$L^s7QA3sc5Z} zPQe1~{aGbbHIgl_UwT$g(0e!AIMckQq2B9^GJl&Ed0ev4^)ztuJrum-Rd8~`e~ADh zri2yF>QRUu)F<T)t211`bYEv+0dxu(YlDvki)i&t{3E#mBuyC6; z{WNB~cGGbxu(JMY)p{5E_2z#ci$#pgLdX2`tSLu~47An`f@(~3;oF}^QiX-DNBP0+ zf;SCZ4S^NJf$m-W;UrB<7WOUx#l!a1aKvn^7X z!5bch<3ueo(9O-KM=^)z<2%c|YcMS>)c?LfSh&ITN%t<7}aLGx8os|{m`}gl-r%R%vVJ8R19}Z;H zA2Tg}u=s(MENqvg?Ra|-w9kFN(1ueQzBX!VgdbYL4473j$p+sK_lprmEpf zkqmGM+B`bDLW$f5d7GZIV2xb9eshCR_TSzV{d7W$n0$IpWQTE? zktF$EW{)jW#9rZAM_m?cMp>N*w%+djWg=x_M!G<@ep<8PMFn&uBVZLx%X$>te0{Li zTzTRlS6!}R^P_G^cHzyHFpcwb-p?J&jPj1IgQfg7GCqV0?^o&;*LFchdAyULX3pVA zPLjIZ_J3DPPs1h`({x}zgJ>GsHm_tlgfi8iJb3Yu0D6Z+6BL{u%!QjmAPg|lg+IP9 z827lDbIc5(@^1BMXt}}Y;+so}h|$@(+Rd1mk$hdBe#Dk=unCA^!R=h6&{O?Hu&uVX z`@h48F$7JI&#Op~MC9VivyV1XQm6}CTJBzJC~yPkk~p^-Qd+16`sJ!qjsEELbTOY4 z4j__2j=^B;AeH=Pk!WE0pxZVtKOZ+k#Cgn_Bv>s&gdRF5F+Rr@mc|PiW&1LocU)M{ zh<(v@Fndf_k6Q+Csp&K;+coybmCcv{$(Cfblqt(b(2zejp%Jn*p^g&4%#`Jb?gAh2Udxb$)zv4RNhx(8lo(#|?5ge%jQv9O0W$D20ZGLRzM&r^iv(rV=*N z4dG;eRDt532!=xHC}9Oc-KO&``N4V!I|}aZHFMy1?;k?B0r~x|VCQuX{urhn@0kv< zq6ouT(I6>lU$N^T;CHi)!XV1q+}vdv`YRa9zgFGWGeWsTARsV_;onUf1}!qqC~n)z zo_duRk_SnNVhDwar%ndJ^A^P7_prfQTUpo>G}W{bkwNz?`VPcnkfErDPo z<&k&ZU&+;>pWr}z$E|IH(}hWDDoFY2ae&dn7W5`58(C88W0C)kEIOQ~D7RGzeLRlt z8Kn=qexUuN8N>5-se5h_%j1kF#`^nbwrV#}i;W+Yo?_+u-8xFwk1&jt92``9sK@Hg8=R78K->bv8cVLoSejv3cX!;M0#HfG&8&BB*Fk~^Nh3i zbz%tYTma)(nNJLVh&qSJ9rm`$ha6~}lV636M1zs-F2R>G2orq#&qEI3t1PRd4?jKw z$Y|H9lz~S!46ST7_$ayY#~)up7A5$5!Nnk$KI^~L8jIKyTc;mgXrHNs5(M`zM3>i+ zVBPQGmEeHSRvFmS{3pF&0`dQJa@|o)W!?TN3MhS)q6krNK&1&Hh?Fo20)tXiKxsj# z(j9t9E&>9I5Jx~%gn){O2vJ&SAs`AWNE65qO6Y-vUXqZ6%Et?l9S|~ zvv0EZKKGvU+rPb6#;f=P0w}sDYoF?>rl^q*a%^h1hhGGHzu-2U%iT7newc<9uC@^# zA{)HWhwr6AFoceeUr94o;Iyu8bJWOOM}V>A*fr=*DVQB|5QKasyVE%>m1WR#pgO!J zY~9(pkFrNKx7N{dYd$MO`UaVCRDHEaVcq?^oaOA+!X-z<-|<4pn#% zxbFgX8`%t}w3*$tC;=_6-uuI8NRPRZs8k}^Nwb0-3;a~uY7d=Ow}GcIxa>XU7+%u= zCzkVB>Ts?*Zrz0$`E(D^A-7<5GI-AIqPy0yA#7%9aBa~_HfYGly8kKUVa!qT^j59e z>TS~ryiOSoymw;6F}4(u;LL6;++AVhtXPWr z_E-(l9ri3&-^&=fnE6=Df)~asHu?#{U3XZ(H(^>k-^ z|6o^{df1-$7{O*k3p8M)tz9|vz8_k2XWYVG2A^el?IDkTCs4zeruDvFSP&?H z>>oVY;wKW(;S7EpsZvmk6;?jQcUJ48Stm21j}T6E1)8E(c8F#x#6Grz1q&CLF6T7P z%c0XiR(Zq&(qV&;9DEw_(h~}O1qR_CEnhq0va_x(J+sHzFU!_UleSpx61E zZiQ?F4?nd9eocZ81+jTx^Z4b&E-f;|EU0wA^CCLpI;-ZJK8nG#J6u+zacIyzAZy&i z%UE~7-eL~4<=r=7TQn)Od_1IX%2X{e8k0GfIu`Lm858Bt(M7I4wUtez$bU6+&TsC9 z|HFG=$n{3n@B`vYG+OZSkKRw)2s(-Mx03{S{&j|$n)zV)XK?uw!U6MPk`Ozd0nt|9 zH~v(p9+xCes&6G5shgp>@!M|Gusm@ShlaZ$c(wHp2Ys~vLoq zk=4@Ddc`}?AlRG`AHV)IjH3cAr~3CD`6fDsF=unrl{G|4#kNtIQ6t zKUMAkzWRdTFHqd&z&RfZ4e}GNj@~dyDd%I3jg1AKpXu(lfks(B)Bf7s-JPGuv5pz+ z?vAs_P_lrgXnf8^C9GiVcdv@`IjEpm>*;0)ts7_UKdctIp`M9?M`=PJ8o)^-`*OOpsl zF_}3SGvqPAu9{Z!Py-8)+-##rVLt48P>?E1DROOGZ+3@LWOJaO(L}3&gW4UAsO;as z>BGgA>CYc9YdUrI$9gnFM>5ZHTl0ZTUJ`r6mbZnMa^CL^0|NxNxUNErwf`KeGIA3u zfUBh2mFX*A%#~D!{>A)w1ztqpzF#nOh3Z>jBr$l|MN<$~wyQ}q5f$~PPM&klu`PV$ zc(T~RnbD0ht>4GHT)_=4#%~j@%31!ScoKHd|D1aOgOJFr+CHgIEi%^~8r!M&moSAc zl;H@oIqze-YqX$Q>Dp1^yj9A~Cp3KK(0S+l@dt3OGMs)W$rTxv%^r=M*LxQea%bIL z)3aTwFT6SM$PSN>zy{2wu4 zVW)vN?TE;DL5``otBZ>olAo0=v^Xy_>5;q;olXeK-?JBB-VF`(FD6bOO@Z>M6-m@T z$7MlZM0|_%a>oi;f|+`_p|tEOOL$!cTWP&mH=ZPWs2YmuDoly)nLET|v7%k9;syUn zphN4QPi<{6+RKu62!bDlgoFyajI*1eTykWuSQ&(;^!^BX0xob*-J6>|SE#pmBvWeY z@Pt9vd`SN|HtR{E$*%o)zO~wrLR>-lThL|hR?-S~1XMbJ*R$BX!ExPhnHM&au^pBI z{dbjd#%|8n*abq6Me-_W6aDN4$B%)r82yfUJFM$=d=*W(@uf+{pu7t@dX-;P<^e$t z+$$#PtcVxcn&3Zf`28eg%C4i|C8UqFd=!zZC|iU2LPt~}*E;mhUfc!@Gv?CZWS$-3 zqMt)x)XR@5qda(y#9dj3c2I0DRkmPVy9J{E!GEkx2?V0?uZ*;FkTSOKM%vxW(%BhuR^93SLgM>%^zk)zz20 z%b~5!2?&&+m19N%vX4Mp5{Zh^jd!$*PEJFw$r)Gn=6|*QA!dCHcBoFAVLh-U{KRpo zG{)=z+yl;X-lQ%q3ZQ2%zW4Voe-xeOZN!W!*BP8<$iMRt_TRV&EPN$-FkDw9rnwLP z$cy4J+ycr^wJIHZ{Ag#_u5S5vm%@3ClcLkTXgK|g3 zCXyF>X)|`g-;)eS=&KAFn|Nb?|4|gVe!A_)M%B81DsG<9FYORnDff%C-@@G|v7<@m zrR{-`FSB&wE6wBw-(+60G17oA#6KwFV0wFd`&ywboLm1}JN^hA>Q&Oiyu83}(3N50 zg7+1&KnK~-ya?ggMI^RV%u=G99QDmT;0tQOHGy8IOr_d6Md}w?-6h!9EEPiOJFN*$Xql+;t}Z?i=^gaRu8&Env+b%%gpZ zUw8|a1|&q|mCUfK#@AlB!z=q0=T=1S%eya!_wsv+|0Wm6$J#D#@lrf>)522H@MjT> z4aM#tj=+(g0uhlnZ9^8a`$5B2w=WNm{23Zr8J-b1UQ)t>GF#3BkHtaq7y9^r|HY1v z&N4F#s1kul_W)ozBclqQwWy6|7RqSeu5E7X>ibY7nzpe?b=Sd%7yZ>xDOHi}QID5v z$5>r1I~b){)(~KY+aRhp+7*}TS{7?CnNOFuA`qd2@|cq{V2`>y__}Hv*1mCppg!am zi?l@`G-~S@5S)$B-jRRNw&0FBj@BbEO5){}i9MH_)Y#eWgnjm+foG-v_#(qLh$a!| zOT$`+HIzmm0db-(NVpn4m*JZ%k38wsAyer4-Pq)!no0k&J2IzEBL*9h^??|IfeT`Y zpRBnl13uQZx%cFm7@h>tfh=T|PMFV6M#}zFoCGc5RUz(pbW%4-=M6FB+4>2wqx9SJ z$tS)3SD^3oOFixUp>TR1 zYCLnN52f2~mP{Z79;qw=oQI_Fkp0i}fv2Bd?1iZCZMw%&&WN4akzYEQ5E%R}8Z!^{ z>4n;TPVZJr43~`4uQb(wJRmH=y%60D*)0=3W&qH;_q`WrnlKvN@g`*Ug!2Q5y1U(F zJA(t9*0luhiH5xtS3wF_Hq-9yQw|=(*aC4v+^ajxMU7qhrJ=G?J4c{=mmM`=wOYB| zJRa!ju}eu$4}T*oDY<+0B!8BG&IvQL+@1c*BEb7=LpDx97wBwjOI}E~YxVs=8f>`w zvL-+4h5bZ94QKA?ZeX!t5(OB$UlBUdzIO-UMELS)KtoIN={PP#wsK>`=e)VOAb(6d;7~b9^(!u_x^G3@vTt+DJHt(qc_uR;9?FL@w9+@sg5`%1E3Vj4v zo-k-ee%NGtie|^5%QlEb^mDU`q1RAWpV>>sL}J-k|gB?#azpXG!{wDTH zXXnDu$dDFI=I0X4*UL^W=iID`j8G_;0?lKS-ITBfdLQl|P{SSB$Mz7&?<^?sHOc>J zoZ$ksXp8yDYq|qaZd!D&8Brxke7E2Z8?j>>{2rs5g@HjphEbjCirm2FNYR3u1{Any zDpkqIbiL3-o)XHb6;W1gn%Q5A*)p^p>i4JA@i+oIo(+93pgTDP#2m0px|rP~><_z% z*@U=*pfJRf7xLV!RUeAdvN|3Y2*qunbgyK8s&vOSSaFV0+f+2gZk_XU%R-7k~i>c?_Lbo3I&aRO~i^ZK2w;^5Mu#f?X*xj8_wO!*Jqql9=ptzWe20ZTx4~~O2xP*BSGcmWiIA2>3y2kT}@}`^F z=JHy*H%ENFa|p6#-f{_ce+P2c#x|ft(%WNAcc?^UJ@<%$0*Xs5k&yThdTTA~hR`%b zkhl#2{jVwZSXVjA$Esh|5slA5f3Aj0U7t39PJyu7$hYNTtqxpEi2g*Fs~v27hPN3t zysb50D8AxHBVOowWNm8liF#*4LgIGdl=lkvDbLc8mxdE=wQFiY~YXgjzGmfI9NcUN!2Aws@Qkb zt)607;w{~MeNCOOefdb$xGzuI;_BnMH|LHhOcdgl9$?$%WRMgmi5^J}Jks0bxy7{) zqj1zx8IwhMTV+Pxv~O6ay9B%eS&qxD_%vIUw!>JM1aT%m`kmy4K!m|>Lt?zBPeG01 zNc5ox)*4&6GG{p8cbVZ8bAx3jd6>R2G;+S)ml#j{U@5_drzpXAk3bGOBSRv{*&nr- zw|H!6^oasZ!QVOyvCIy+M1({XvP~d3GDtR&8ch|$u<+Jy$9r&>M z`7e4x(5r34kn9glh1s)m_mDtu*wGsQ*JbL5`C_t_pQHCf@ZX|4_rQo_h1 z@<_h{9g+AT&(sHA#Nw+bs^opEu%+?xdbi(|;ck97gRR3=3WT02ZlN@^;u)h(5%bV% zYD!996-aS!f2;=G71)o~ZMhlV6*X(kDL;a$J-eo5E#!#xKaTJMbu+!VY&N^X zPbF=roU)qsN))qp5W+ugMm|6hCg=u01xahS=XwkMp{E6IJmpPUqgv^6(RwjCqx}M6 zc5MZADsed$a-6`J3F}D?)8t}o8Xhnr2&`3&=26I}DdU739Uw8w;LxeB) zV+LF5f;a&tCc*@!_a#L33xPF4iODO#cfSrh>h~xYToJxHwqzrOy|m06fC`3aBqk6 zQ1tPq#VN3|VOuEtoFx>qC^Ku(xK~dMqoR!cRG#(2&p}z^qAAKCOb~yoE0p;>P11Km z1C!3gxs>i{BCsy%IsN6`*LoO{hFWQJc=Rr@vt^7#oxHhHN1UQ~Jqr>va2RQ&&Fly* z#9o7$bP47u&cLEIt^p$_hN=Tf*g%6!JjMRjhHHDO?Iw6{By5fFpD%iTOtUr-!p$Ki z>kI}i6g&Od=j)^2|JB1!YG;vX9^C5kJ7cTb@@OM3{@_!5-K{6D0#R&%?ioTJaIj{i zDjFK}rXj|Ci^4M%H^6B)&@o^y}{^>rK!8c zB&q#T;%rDOQ$ue4q${0|$z&HHjG{s-c(%WMS&z~0{q6b^^2d?bg3QmK-EZxjb(S~j zswS^?P+-4D=Fv#s;}=tM#PULPk^4S|(_S^z+7=~uN#shN(WS00>%FMhNx6_KZ)6tg zH8yPij{$D~WW|%#Sg&P0Cs2@N;U%>5$}Pr|9A0#39?zc0H~a4)4sD8M&(X8#%$0Tx z0w)|53nfKk>i;rAZmCcdm12sh_Hc?4WGR*Clqas6&d@~Fi~7CJq3ZSG#gUTN4k&N; zyLH9}S+yTW?g~E-3SGEMno*o^moer8LLc4x+FmgVTmrYKn?tq94RjT(-2F5J$wq&a zX%My*{~#+m1*39O4D!z{=8ipQfhMF+2^< zK+(2HsN|KidG8;{wAjLsk{MWBr(ONmu>sa3v3kp;cJ$?!;on)PxTJcia9rW08zq|d0 z*;iY${IpF7>VON|YUo@p4!Hy?Duda=`71Vl+$YTt)@EP;snF)z1RLGx$mCMIIR-4> z0-L%(r?I1}IjW2777*KiDQfa_E$d600r>qV8drw9a$K2=` zYq;Esy-LZ>?VcwQx*&dc8;y}BEst8LmC?Jcdco>YY7d5Ubh~v)NVr}>>d9|L99aWd((sOf=6(q3mwgDJrA%`jGZ=UWq`=FAKfWq(~i#3U(^K>I*;h zT{t)OW!9`yMYYsU4HM>b#zTY#0re@AX;6{ug?E(rX`ycUkg~YE;z9bswAFsFt@s?d zA-UFhha;@e}GN=bs`?txU?!xyAn%{4vDa delta 23489 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 z%0DT~J7E_jDP+NRYg7vpgzV^?Ifl;M&f}uOCxPant_a)Y1djsIe# z!>;oGbH%S{6NO!4;EMp2Gb`~aGH{Ku8>zFLN-op<#XjdU?H+S&0h2KsTCg+(e0=ra zD|c;mhn(TRiPq25*U9(fh;09xWXXa74Gl!!2LH1V+0x^t>#tqOrIdtpj(3&PAK2{P3NAxv z!(si!aXX^qZ}d@lZm=tZ)A>8#xUm1m93lO|JP*Rl7-z$xEDl8~xk^f=O=(b4Vx?xw z*z!e531o8-FCokHq*R2=bvYE@o+mJY$Ke&tP;eoZ{;-sxq|m%b2T<^skp)^RK(iOg z&3bBHUJ`!~4t!}cH9}x87zTq`vmm%j`EESuG%uBdR#HGhf&pdT;#gr`!!fLx!w4)a zFON9^)0SseQ|E71SyOY2iWIv4MG!<*+XS8=?|;2#OiV&DhNH+l6DM*U_?XvBRAhs+ zK3*D3*w~!C;6LsdvWiB#L(4}2BUEeQB7I6miwK1DeUJE4f4zpY!r~Gqt{E#BFkWm` zQ2l6Urmh}|Z)j+4m|hq}ed4`q0@(frXJ5|}CaHlG{L1DjnMB2^Am9Z~Reqn$D5C?s zwz*0+Ol-CYhcY%YuQq>Ir=xkMFIC_pUU!mDCeflp4@bsCagC>o8$$lJyFt4-6*){L zxVOJ4GI^9&(`U=>*bg&5 z@Al_2GG48rGrq}l_q?c6AaV2eRo}C-h9Zm*Y$SY5e9ruP2dEjDSzFE>K zIG|#7w48_=E~b9=Z3fj1?(SmKFKI@&`xi2ki*@gJS>GaOD&hU=G2L{`wKWYYCo`Cl zmhuOTS#KEHfLu!PP$pJybr|)-&$)edHVA20vkNt>sBmhB3PDjsvV1wjBi2ghqZwaCnG z-zYzP_~7xK9)MIHa0j1zFSHP?Z>QXJOOkT@!44r7fU=$*9k4b|QQ zXV};|J&zcU!Cz{9T_J-@-w^{NlyvQcJ}y)+rc#9d-stxk*1aE znjXD?uqUin6Lnwz@@jaz#6EJTLphwNM#TILh31?0a}?S5?wI7vdxl`?8O-vX*ICgW ztCJU_r%YE_gNXJ%fn&le*I~Bnb%wG|?OL*u2PO(WjogeyEgwr($%vh&D&(t|lGAr5 z#%(^Aj?7GB#CxCJwFpr;B*f^8ckJ`XORT56P{I~s+*a@$;xoRNS+TgeGC&vD08;e7 zDn8C2A|+<0Y^nWSj0CrXPIu+^mQl$Dv+kY6q8zfvU0nMeH2rx5ESg1WlTlTkCWA~- z)wz4`X z_Ok&0r#At@R$fDQ*n_6nA;oFgk(45F-bNTgSu1z8p46G`$=~I^@lmjC5;qIOwbg@6 z6EiKBks(a^EWo2crVq)&Qktjn39Ize7(C2|KhnXmf zjK)DOX{^ZQZvv(US%GOoPV5V z2ffdNDe2&2*3#r;HgZ~a0D!bjep_PP9N1-7fpLKe??0WcyRhSY7N8ihht@Q3ZV zZ4n*E!ZU}4l=t>MKlJq6iHL}3>F=k(oubvWv?%1{iEWmntjsl?-Ko)VrqJnK;wDJ;2P^Lo1f zmgjpszG4l(P94TeBnzygH82?WwwIG*_HA5hZTs;S!qM{b?=C6<1qGjodOp2wT+gxx z1*&b}SkrIfCZ;lK4>PPD#6k+Bkl}O3g7WsG$7SMS3xwvys_4;oYWt~Wuwd+IPE{VA zOp4sQq)+h#+}2MOfb(c8uBtB|&gb!nY#|tX%q*5{0xN|Pnh*n+&7M}w%rsk?WNS*G z2Wgy*FK;M*OJc`TVf_{WClQ3F9f7Yx$Qj5M{C7pB(2KhswZLj<2=jEDX_k!(NwHha z?{_m7AI^edqx=4}8M{rZCKa{2o|a0~i9D*1sMD0It$kE{eb;l*$F(nfrE<)ZtV=yA zr>N@QT^wGCR(sUgUK36q^kI;F z#0e#>EfDM)U7)rGg{+DB(N8c%lOzY}v;pAhbt!3SLnx2!dF2J+3y&dy;-UG-GkGPQ zRtTsf0(gRm)Y>ipEuTD_sbZF|t)tT=@|)~;OY7*SPQ)5=FsnCge42L=WPHgKq0g3;MZnw4tf zZ`MA4=0?}wdNca#ISIuj$ME`3)o^<`ua=|!!H5V_s|^_42Ta_-X3l_9$r+7 ze;CmE65QUFl>AwJroq0uaaw{yk7)sxJ-f0b7H6^?=$DY=0o)f4=s=8Jd~@w0eYK8h z%_0a5aERLdL`cFzEcDgyh=fOjpKtfQV!Z4H>FrI@iO7uZI3Bg9Pj9UJNX=<3fw}PZ9K}UV(C{Sf7}*N=t}>YY@1VM++?#t zt6O&1l?z;U)vczYxcTM63@3X;{Et`+2sti|6_K^cP~0A*tAaaQ9eYGX7_A~v(;sdg zZE)AK-s^5(Yb%%t->Uda>ZrZyB z+K#4G4ZC5{7=!(Nsjb@7O`NS%4S54o=L$J*fF{ql|JSi-aC z&nF*|sZx+-KfA-wHx&EAMooHG9E|f9|O!4K-3F zms4q_5jcqZt$sbVD zLm}jV%9qcymob7P{M)!FuH`z?x+=`@gzbH5pFEFT@ zw!S@!EwbsWAqG!Wdjq#DlAABcMGm2GpC#=gwYgOLGnG7XhL<{eZ89fdRp95C?-dyh zt{*U{s3G7j{#o(pJ`B?0_Gk`i-RvaFtQg_Vu~0)><=>59QD1K{RmfeU%9M~T+wZ8nii{LJ<~APbu`gJdyY5Yj@;+=Z6!PRl8}bx zhwvw@zI`+ny&PclYaW7ZyC9J6EtG^8A&k9ib?!O@#juHYL75COU=Yd^yoZZeBnaK;qGNR#2LNfx zK|l8v?K*MgBt7T;3w-(VduvYTV?(E$df~7iy}c^I*6Cz`=9Cgf$J@?&&S^@S6!-%q z*9%7!e*30uZ9PXm@FkT$C8_Ak7fl||ZEPz-c?05WG zy7R>OFJCsau+G+6uYfeMdRSagkdlI)w?l)?DgrWL^ne7E;Gs{?i{TXX{8CazICwFo zs?*@-??AOAD_Vn6*n=j!83X6KU0e(|VG02Zza?X1V~Yjd zv=p2`2Zy}b(DTaB(9n(EmhcxZ9ySv!9#zkm=#wEYsU@Vkbx6a0iRW=!K@n?5`zx+?a{j%)o$Q=Ncnw{NFrw0B`LDlt z)h2vs0S1MmBOd@banP1UN|DLO8E0mWy|~@nOi8tuB!_Q$IRun?FKOo7iio2;2HzXm z7$+iNs%#F^iuW`_I^K{L*WNE$W>@N`<*iar_@?_5*^ing&#mP{eH-ksReU$D+qz8;b3MoMT*C!_RUqLk zCCh;Fu&8TnA{`JlSq2d!n0YYvQ|Q2b+;#ro@ww`k!>8lt;V5Ij=c{E|d!{TOV~x7N z^+}l2*!Va(qe^)O>6#-stle@Im>jlBUJYwD${DEZOYERs#OxCO=b){7Elu3jWSdo z6IE{QRt`osHo~YQ=_gk84Q?D>u&vUO0FE9B+R|ir66M>EA;|;*fKfH(7UjEl?>y4T zg0K2;2dOYA!6?ES8ykDeQE!uzkKe4EPJ2;i5uLzEL`6kYZu?vgb>}JZ;oSd97Zz$$HuS`50L|uxzi3mFUGP|0T#9CQd`EA01bSMn* zWp~v|S|r~6##CCw-a)nBpPMqhf(0L$Z9Cdd<#a)6iEPNbbb>>G?Wff1)%`bu!w^pp zvENBDYNiI|`Ckkz?*`_BGBG7^a=pri7BDyAwV)NSrajmKVq|XZ%?qLe1Y!IF1A9TSkuV z1y7-#zaEIT;aQZUdf=kBZ#$Y<`mG+M?rHlS)V4#gA4PakanVv#4%Vy=MO!INLZm7HNZo7BG z$HymhEg?&AyDr*aw%y*};jV7N_rxy9<^iW4ZWf%;209EW?QEW)X&;gOgh8ZFU^2O_ zC2-QH=q{CRn9y*&f2iM8bFqLM+CM72Rsa|l{|J@m|({*!XQ*fSQ5v=1m z$eY-=4~#5IpCtDmzX0Xqt$T~fVmeed(<->eXG>Pq5=!$!%Yn5pG z(KE{ihz&n_&7O>yv!6UPDCbX7X5_=XecKTKA4Jjv@8AwS;@rU+Ks&LqIL;e`Zb&AbttZ^;wDTf z6eqb&umW*{?imBufg5R#L2~u!ImF64kQfHuSOSllO-4r|_p1ha@|~4qI-{+=ux{Nt zOqRp*Kim;@pRV=JDMJn^Ypl?&xjFKxcSXiXAdH62r2U8{ekcec$PY2OB5Im}+5E0C z9K$=KBO`^yYKTvvk2a%B2-;%10HfIPO}v&L*qqh#nW$;!>cXPF63K7RwUe+HL!~=k zI9;SOE3E5&y_NMW_}36$$QN0xxTuxdd&Q7M*yscXYE%NzhWB6OJhgYWGKZUTf56;* zfqQLioSe}DGR2xG-f7*L>}>uT@|M7#JIGABrHlq|IzJguWc5k}iHBk3VuhdR8VE%O zLf81Nj9lE@bDd~psX;4HW#01o=YRSn0lhiF)iH7fkbnRrp=;Sp*D{&h0QvE8H`?=9 z{m=3;0+OYV0@VUnuNK1~$FJL@Py9V^f{LBTsX2OTsJz`t%Zl%CHG$Yw^Ojt|^j|he7RAg1J5q1^tO#b412x-7S;nkez~~Yw7!ikHm_QeAPsTxs@571t zTgh7|E37Um3nQr&ADk#AL&udo-MWjfCU~4FK?yM%00*8Q>jmavU$5PHSneQ?4;dN= zC@Z|UyY-QcY&x)8G{~>JUV(IcoI=7&bw(9UvX|brOa*M%kM9;K)>zk%1Y12N?V_M) zS(v5Y{PYpr-w66;HNx8+k}mCVf3Pr&$N(k3Z>+|oBwo;_1y^7Rkh^(L!`L@!WP%DG zx*lpe8vmL~3$q{NW&Ifz$6Ea@d2E$8(T`ZYsH9$X4TeJ+sI9${sJj_--}qP7D~{nD z(Fs1gWKqFn ztxeU|+^$S)4J7XtKIoub%VX*N%B@85l~MWElpBQkL?e+1Q3*+=EqBTcqUq+CO$gWl zw)ESMepjN6NY<`Njm~JLd0RYuSmQPXA8K`PRnuZ`axpk_SH*?KJ#Jt>M+@iX{0 zD-CTOkurP|?>fDD)NdklB+WkjT@Ygnf_E9hOeT|J)@CZ?$CvwUWyg2xw_Q(Kj)n?N5(BC zHiu@!XLqAdmosc4Q>HQ&{L(BZyWETA>>_w<_M=kAV(C9t24 zO`9%*XrX6NCXsPsXs4>{pZ@gV&GG8NvK%arnM^1Q>U?n(VGMPK_RY#w?lRO_GZHcx zZTD^mld~%`;avIOjFbNynknTZ?7uru4fb}+E}+AG-({Z$auTmChVL8`#E)WfAf;SX1-=kFu9)-LQYyDjOX73+d0c7bXo^-VgJ3J zIzCQVJWfd-<{;8YSUBbe8^LYx;XWody0&>?nTLGh#_FGtqZQgJJRLpasT*`OuoS&~ zc1m^<B$1O$Ib|F%PbtT1#&@SMYm6t5OtU$vXc;{Zvzu5FK0(XSNMsm&5hSCA$D zK3ce^i@J>CY!u#th{v;qgg$m(f@ieISQA0?u<}l=s;2l)(ocw`R-FnH+;t zXY_05Bp1YkiF`UULMFXuXxN`w^ZT}%T?NU@+JJT4%R-#ALpJ1)-2XJu^qaVn{9W2^E@HS>grC( zqoboc$8(jHzXInap@V^GBj7i=zj+sV;1?ap>bx4?uzSZI%CzQRwz&@9y4OAG7WI9) zI>ehc`JV1b9^T1w(BL;ePU5J|%y)Wddx?PsesP(sjxu>Bas%pNxPRI3^gv&BVpZPv ztXZv7u+aS-ue#|u1qA*t91wQDWXIsi{}&qQ^2xl=ep$Pr!Dou@enz#Dw{rxozsUR6 zXSOV2&593Zk22_8_t&=dH$WqB?xTF-TXq<2lY+sl-%Uq8F+Xve_$5BGhi9#i0s#^BTvoR@$co?(1?z2q_nqqlm z5Ef4O&Ps2+QKEy>ziyYWT-`hEdsQm0H4+F8DoR~ZdZslY#uZfYMeO-HI1T^CqKLDO%dIKjJh%=zJY*UP zs|)kuzBPQ^i7z+CiPu%0wzPN&T#GH{%IpW?-+z?mhWh@bj3G8?>*KGlX&bE zA%>0-jlRgs`2vi1wEAs2|86t`x4pVr4wYjsf|8rPnA9Kb|7U@3G<4t($E;t{8C2ZQj7kbTQ){Wrk*KlEwgd);5Wd(y=`ORL_hnCj=3LoaywD(x^c3K*h9 zwmC5pH20xi{6qCKLCGF<;>pW_ZZJtQ077b~_HEFy+b7G>c> zo%1^B!~hnXMn&g<7*SnoZgYZ|6{p3DOf5nmH+s)!cqosu#UPCVQ`Nsq6W#h&B`?FsyU9bw?aYGHn2DAKQ9DP z?5(Y>&d$zZz4mP^rac+hyrPV^Z!_lxdwYLYDFOEO_JR;I3Y|kxwX?gtvAHRUK;3}) z7o*N)#>@Ubz$%f942B+_QS;(d>Ej%W?Y%Jhx~_tozsE z5-4c=Vl7V#nKy`Q08XhhGR)q2u+}&*RbS*&rsEmcdm+D7{`oTQQIfy&RvI4?0RbY;^)Ses2^T2=hb&58A=L3-qbcH?O^YZK zlg563!h`d~z?XY}+fUS%MJqJUb=kwN28>vb12 zQ6_|Hy!U_05i*?8PS2c^Suc2{TC}=%kSM_epKikw> zf$M&B9`~SUXBW#OoKc@Y(4>xcZZ1S>p3j*cxT)vp4O+4qZZBwa@ZXOG~L0#=5>;Xe)E#l%IsKYj2=b)Qc2@!k4jG~JiShXsR?tq%&_ zLVl8$@Flmq*@{4#5pc$}$OB%C?dXP%(5U@h+GN>%>kL(9VaU&0G)6uwp2qLa)ZK>; z(ew-scIm@$5nEgC?6I0#Q02sFXJ=;*1g&~|mlZ?oUso(wRBJdzyYmfx2;21b_Qw24 z(9f+|Owd;{{Qdhk12Z#e&d*m+3%i+G?~!AhAHg07M5jIo4cZ<>KaCR>6vP-01&t7$ zD+vU)b9TbJ>G`BytrivL`voE=#R{7J23Gs>H+W%6z`|>m^%XxPy9@HQ^Kp!%LK*+8 zI|8x0&!;{u9=CbF;e{QhkO%B$u!u}a@nQ$b<2+oS|MeaMwIFASk482$HT%9*? zyA4J{So+7mnRO7qhQicTjdMUi{SC_^(T@yr+<6W+U6B~9WoxUzYcbfl*^`s-j|e!pNqVyY4XDd4-y}q|2H$Ew6S@H3;@~QCnS6r9yS;qAJ6{&oeDTN_E7pB z5gEC0vF)mWfYAQ_{>G2pFJG>jLB}&#SRT#R`;IvA6MBE|aPYCEr>` zM(+=C$44^RIs9y0Sp9@pt(vP`2XMWeZ#^$-kc~Et)USosqbFL-o{qA#+adsfy^wAV z{3aX;RavP{o_ho9aLw=1NV;+IN=sd5arleEWG8JH0s7=X^~YzyOxF2)l?vFiO-xK|v6mt$9cUC45^7y& z4fmzWl9rN6JQ#x8q@5t7Qo-TL$yd-YGf#i%jdT;feDaX8cXG-pD>E#bA07^a+QB$D zI7W_;Wo3+zhl7snPgc4l@Lj%~(~Yz_XuQUwEFX#)o?FH6sgrLX$VCpLrpq^CriQYU zmZIqQAL-uprZeo`SEIDuj4EU6x|>P{g#_}||By=|a|%&IVCH#;3@&0_rLPT1klLJK zV76G3&*paK*9dQOM|4 z$j5<)u3}0=IG9?)t$^~rQq=( zERP!K+%is|V@JX$^oX_cS`z`1*8jeNRuiGyH|l_@OI@fU6ACQ4Z@H*Bb5ss(va7mz z_UDT`!ecC;sppn<*;PrZL*L${K_$eUYkiQVNr>c``RK+rCb@~c^k9f^8JIj>ysll5 zsptYt`tQeZGVIR*tqC_5v89hz?|dRl`~0~ON<%V>i^VvU`NDRIn8(M)1SUpD@6d-0 zI7)x~_;EDv8qnfebslc$>FG&)8j$KQP{)WoFfn-yk;V0*M5T!7Tj$7ipk>5xxxklP z;cc{o#0uytgFlzZ>COH>6fH%Lkl@Yg=mX9*DGT7X=N9#2GzZA2RKTh8t_m+S+XZ*S z-6y}1lwYGkDLOrvCjS9)6p)xrd0=Hc=RQNKBd7=zmy|?7M@N#=0rysC0|N%#t4vS? z;*ezede2<&`t>&GywbO63>>o%9tpu^=xWL=2a6hyw5;6Rj%B31{4&RI$j>F21y#_& zxazc|1j2?NImB3rZgU}dVbJedW@>*rOB~*ZQ&K@ct`IDI8bawKwO9^e(qHC@QtZ!? z{k@OjWdn!uucb37P!l8M$Q>>)oD(`$xeO<T3P>jiw>o?D5=2NJ|9=~oLZ!P$&< z^fL4yiV*y5TvfG!Z023PK30YHtEy}*neKwks?-`7TY@ng784-jLFE#%w8;uLF|qV8 zuQsQ>I7y3#K&Cai4VgT_oi(p#iuzmx$f}{ClQ2FX>gxj=EYfe{j~0Wi(mr46a=!)r zW)5gMp04p6nrRL>qd)&by4TeC_#H1`DU!tN7Ef(bU|gvu$EZX>N_s9q$Yh7-_J5C$ z!Kg7;$d89veadycNg^5>mawm-lY<3n^9(OHzKfk#IXUuYn)oBOCGheNxVD1+67qRh2i|y=T|oSSc3}t|Z4JDU;7Q zL1_O?2dv_MlJM?cuxyx7c*LklAHZF(Qk-l8-$bvIGw&L?K_D`?Gx`|u(vSQQ5&)vk z28k!bhX2b5Fs}d6%9RE}^}YWgq2jBOLLstbU$gH*h_oQ<$R45W+qjWb)>4SFQxr3j znX!!#MaaGkM#x&08M`rN`Q7Qay#2rVpI7JHd(U&veeQFXXZr{xwTboW`3T9~ZFQeB zDjUH{)(jU`t?^PCj6Q#3?g)L)m96q?vPBi_1gflv$xYMw+&y)S9Ub~*_xU@UlqHVCcx_NpRP%3^wI}c zA)i#C7?U)5uIIHG(t{-n1pz&p@~BL-p#!z{3>0Ko^e8DDOA`XGGE-n>G60JpFYlP& z*fNor4#t%6d9L|B9q;Rv+hLDCIQr$MSvF)!qI$1-ME-ji_G+xb@~XFYb_2^7Si%gU z)D$9g^5mf3n6C=|iIXDX)W}a$HLrJ8BPvXfPuj5)tfE-g;UR-eAzz>RaY$^Py>IU= ze0oPh0s~>>*V)mTtlPYE0B?iQ#Qxb-`nSVo8PL$^z1jFu{WZ2CP&noipQ!Q&ylJc- z8bOM*VmKs}4{3@_TJ(~_N3dRt29TD>2eDzD!f%;~xP=1F{+!=&R@{`T`g5*d^MHi+oYE$x8(YIeYEPn!z@>cAg$U5^zV zqj?_4VqY^+w}aE`{3!*ogctgXhxj2!X`UvdD?^-tGA@M84a7xVFZCS0ex7d~rQ6tY z`d9?$T`P%)t;rexr6XjRJhL~{hYiD%0P;RAZsI)Uz8QBwlFTJhl3hJ*XWD3rZWpj$ zvW6lOfmKGQEh_Y^Vf63;faCZLiik`!ovE!D354yF)JAO1T6wXC+;m31qMg~1zgC^c zA|s+QOt_KISF?O*SGblv77g2ehHnS(rUfj%kJdq9dAg&<%gVN&|LL#5Kp?YCn7?D& zBH%6G}P8 z*sr*SyZ)KMP*X8ae(1&x;^KN8-rNJXonb~FysWrK6=0c#=n~6D-5<(`yg{Xqf_3Bmi35UD_mU$0?p7V)cE{Uj7%~zbAhB?fx?86qd zqrxIiy?iamb_q{Dr9tjYKd-QYkn4-Odt%}awZhDNXYcvHv?pd~p`Rluk9YT>5ya~p zn8{sXAJ@wCsQuRH^w~d>2(v0K2;v6-Oe+NT2$)auw3W(f1S!qBHR7$;_*2l_Y@ua_QfL>cM-_Jaq>4l`v^Dp`0c$}#)@=1qyyiTLeh%@K%s;0)2mmh zY^7jX&84v;Z?!Jo@`dSh7V(^jc*4SWC(G%x+Lv5z zz1V_a=1;UlWg4k~_FI`Za>Pc55WO?tUHu1HHkkfxUO?Tp%g$dOl=Km0N~F~r7UwssCvHJ{&XdJL(FKI8?Y^=MJFw#fExBWJ=&2$&~Up< zLfC(9|Fac14F>)|8Y<(Y3~-cG>(Y49-Hv<^@Zp=(^>^C&&bEG=jQVNQSR4+ zMn&UzCC2@6!4yyitsyNEbpVoWo~6d;TeQ*UD0J4bhp!?L%6C#2Fo zeJltkGY?-uV5b5a^XKFZ2{SWL-(J9qXG^ccDwO!cEt{htx@^awiL!%8&Zwme{;Fry21Dp%r~|SjV2>3iILV(WtK*&{(2V z!k_ymRnh=-3eZ$C8I4B@D$@L$2fU374z&~;C%^LS&e|E9o~#-dv7h?nDv zJ?;exg|ftoy+5V@60=AYw42fj5+=NXPxC1tr^dIllsvx*bJWc)OiywN4&=D*Oo@su z`0mB52YdV1bQ1NPJoqLS^C1&?$j-&QQui*{pSH;@8nJ!CgPWHd@!I0pB)5L!C)IJv z0Sf=hLYLAn>kiuI7~T}@Y0yFQzmhRqdd=|4|GX@hL!`_??{7gMTyGc|>)D9RL#x0P zApin8Z1S2utnOt#y&lesqArAaF1riy_P!(UPy1U#3I~Q0GBRQ~1hr3<(AUT8ajYVm z(N%ACj3Sp)Qv;%V9)!bWb?~#22e1+2%q|?;g`cDUgyX`)&uZVHKl_cA2IDk;THcpt zBrr+R-wzMpGIk2QckgRM=t>B10yyn|#lk|_2hmspcR@b>+JPz${Y(o=C%_O@T)~Pp zQ&EE;XaKoehjlG9e0by|YTe5%{O6OJZ6Uy)s&vZzK^ARJeq!Bv^nVX1xP4_u5?)*| z4IxJRQ^5f3;gOO0Do)e1bBh0c%O((b15#MiASfmV?ECnBf08d;t+kR(kA9f}y_M83 zVNN1PFhMG-1nTCClTUUikh4T!|hzuoJml*z(?Qg` zMRSU3L=+uN1OnkFW=Vd}Ah%dtqu7dzr^=iDnD4Gz27E+dVi_#zvC};=zIIz9IT3K4!w6?X4;K8#lmma0M*qgn||52TbvvZYQWWtjtc;pvf zq{yX9HUk$DtYYpZ$M>@w;QQqvKxk!pA+M-zo%w)r!YIlBNT#MqIB`f|`qqRME#U+}k%=CPfO%ilx z`~Wd2Df31%^!kWB6%0K*ryFw{Bp>GU=p+x%ypVvyZ79D)|ELI(87b3`HiHt^QcLO za*9jt9F`Zl&`e$YEQp_*eR83zbFQyem4%J%f=d7Uj$MbqKou30D{w+R7{Tdn3AuRF z<0*D%EowXN{Vs?PatQG5ASFY#7p1)~5}QZjGCyO6@lh;=6XZ8HR|8kTB(JYKYt!%y zXL9L8k*Uztx9Zm`rW8*7Qa*MabLXOX?+?2$;#3uWNj@BugD=r;x+V*pHm%-^MhMlq z&tbD!T0Ej0)mYBIe0#cKIQzlzlnw(FWOzlRCn}TeBr7nsXJjOO5mPkU*h2|oU6e=aT!)~$hxE7hDX^J z%we*J1mI3%62!-FoJlWqSp&rbuE##vf{YnnYdH-`KJZ{GOe^|$|3v%pX)w{G1?fM~ ztspuEjHF&p*;edlMdan>sZ;u{Kw1t1Bd01ZV zd)e4{d?Ym`g(Zad(T6t2%sGj)FK%!q$ZOfPaz6#(m7nilK}m@BRRzcz9C^Ia#g3VZ zxh}C`?X-2Pm>Ghe4ikbDR@C#@EIfuh%q#E&T$jB0l76g%P%;zbs9IrlbzY;^w|&hV z>uX$)8;2CG!Q~0K3y{+X%U8mLB7zvxtB!tE5Gaaul$wHliE@Re214tv3Y%)gp?DmZd_?>%tmp?hc9HJ;d;!c!HQC z40sE8W#uaylxf}+*|p^%lNGu#p1%nNW?0a(;vX~63_Cce?2%Y zWlxmJKGQP2Q68V{H4&hm*n4Tbrfauy$We&&fM7W%x+wsHC*^66FEn>o-OHeu1>|e|Bg9DPN84-*qdN8c&~#_RP*3VoL#f$I7EaE?SozAUqR+r;U^dF1E$0oG(|JLGxABo$1E zL>6FDRBkSB6J&2tdPe;9t%})%;Y3b=9w89CeFr$Nm#h~3Z z+~2=vjEsQ8Ps_H5-3IS@I9>PMZf{A^JXCwB4qRVW#-uUhOSx{GzOV+3gRL=Axm9K9Ou8s%g@hmPM~bV#CKmQ<*$#UK@fhO7)jo`m$^5 zS*L;x=CK<0Zy_w3({rsXi11U`-N)r`x10gO_r8GF2NVF+J>ple6MIo6Z(3RrzP3AM{zpS$Z$tj0 z_xA^T=brj5Of`ro-n}3>f<122_k7M}MHw1T-d`EYnyeG+4)YujaNVczE@K5V?U?F5 z+)N$5xZ@Nw>F50;t!OD@j^MxJd$T(X*^y?BVusNhJKcHu7sAxv$Q1x$h#6U#eBv}# z-b^WPO*(rBkM|2W;}A4~U(<@V5Vx2L>RP+6>a1(Ad336EHnL0lQGD*pAdTMeK7L2K zhNT~NLIv)qWWSkpGvLYRKb!V{AKRDT9Mvn=kj&oF>6j$<_4OTeID?5YJxb21XFk`} z-BtpPp2XgzxFo-Ze*Ly_75ygnzh$Q0pUJqiP*Av^{Yd1V!TN zB=5#D!m2J~7$6@wSiMt0SHBi8x>;!;FQ_frDP2re42%YjVCvgy;42atrQ4|mi#l>h z<>1Dxg6)P1%A|%uRT12F%{%sjS#HDjqhg$;mqjH|REWbm<^R!GPmlOc4UJyfy0Ii# z@`)!;Xr8yVS1;1TwzE<1#>!Xu+HIWoh~}>~eZ5H0liyFLRByEj8u^S5-3>$&t9Wu` zBD*EgZR0@5zD%cd#IfY1J48E}L62GexutvA8-c>3mqvXSTud6q)n|Z{4%glK<&7;j zyO&IdRzCP`Z%)>gg@}~su*FM$X=Fopd8-kO%eeWfddvZJ?`BAInAg{+o%p#?RHt;a zn0*j(N&0#ym!_Onkx(D^&jf|5R4O%+-uXx>Um7sz_m;I2S=!!j+Tr?`!ezv077J#+6NQ~8N}s99$R9y-KYH=nqXt3{oSdM(vGS-fwI+FPx7DX? zlw53J6F}1*`=Da7O6T>I<6iaEyI^MOKFJ4W(z4dT$wGF=0s)3~ZMSazaw?zb_O56+ zx@0)wqH8f?qkiVY?xy{R-q!l#p20w*_~QGFMQt=m#wOnO<@vDY#iP-^_VgG71kfJ| zv0hvFe9QT9a8YV$ZL^GV8P*vaOGVLR!o&Ao?09bNuXNwgMA@h>nM)`gb>kQu?e*>s z+wqBV9(d;(6m0zF)zAI4_Npesa|JGE*Jhh@n&2>S<+*+N&DOkX79mug$Zn2E>UCW&`32Yf*9(t*0UpuyN^FY0Kw_DFHQe zVfu$4kXtX)Uw-uLdre(08HV>F!f2Fm*vfNO1V!V3qEGD3_z+G#wlsIY!hjMNX0`Jyyk^M&i8tkp+DZEfOYh zpypP2GgUQL3c-sAIn@t-1&>swc_+%B>K43`2zvd~GsRQA0MMsavsGY@u%QBEECspbfk(}5)SWaj zd0y~~81j!Vl?gJk()A3DX-CS__j~5lneVz|GVqx}fgQ)yps@!cip0u4m=B$&v3Czc zDdfjkXoB9`Zrfz&4K8AL^ewa)q`z9tP zlHjr+LbY4kT!K!5^>xNCW0Z%&BQE;E;81~ow_Dhc`uw{Fd3fS4kN>tVTr6Zr4WpP? z|FdJCh>AbdCQPWBxFM diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 9adc6e476b93c3d26c95566a0c0e3a4ac4812ee3..edbb51b3ae592400a7db5d851a6257b5833bf4f4 100644 GIT binary patch delta 3863 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 From b12bc6d7fc053bc124cf6f967364155b713c7f25 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 23 Aug 2016 15:47:52 -0400 Subject: [PATCH 007/138] New End-Round Sounds --- code/world.dm | 2 +- sound/goonstation/misc/NewRound1.ogg | Bin 0 -> 94854 bytes sound/goonstation/misc/NewRound2.ogg | Bin 0 -> 101053 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 sound/goonstation/misc/NewRound1.ogg create mode 100644 sound/goonstation/misc/NewRound2.ogg diff --git a/code/world.dm b/code/world.dm index 3de52993a84..08430bc0475 100644 --- a/code/world.dm +++ b/code/world.dm @@ -283,7 +283,7 @@ var/world_topic_spam_protect_time = world.timeofday //kick_clients_in_lobby("The round came to an end with you in the lobby.", 1) spawn(0) - world << sound(pick('sound/AI/newroundsexy.ogg','sound/misc/apcdestroyed.ogg','sound/misc/bangindonk.ogg'))// random end sounds!! - LastyBatsy + world << sound(pick('sound/AI/newroundsexy.ogg','sound/misc/apcdestroyed.ogg','sound/misc/bangindonk.ogg', 'sound/goonstation/misc/newround1.ogg', 'sound/goonstation/misc/newround2.ogg'))// random end sounds!! - LastyBatsy processScheduler.stop() diff --git a/sound/goonstation/misc/NewRound1.ogg b/sound/goonstation/misc/NewRound1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b243a5ec35830946e413d12db599e5b5e03af6d1 GIT binary patch literal 94854 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

PUqp(K6ea`6G@Z&sgMjg` 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

2>`NE#MbojX)h%y@Hn+4t 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 G?*9V|X$~m> literal 0 HcmV?d00001 From 1760777af7817c5a51065a2aec2fc0264508e248 Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Wed, 24 Aug 2016 21:32:54 +0100 Subject: [PATCH 008/138] AIs can no longer interact with nukes --- code/game/gamemodes/nuclear/nuclearbomb.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 833cb6d99ae..d121896795f 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -153,6 +153,9 @@ var/bomb_set return ..() +/obj/machinery/nuclearbomb/attack_ai(mob/user as mob) + return + /obj/machinery/nuclearbomb/attack_ghost(mob/user as mob) attack_hand(user) From dcbbb55097597cc24605854ea65d6cd7c82342a7 Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Wed, 24 Aug 2016 21:54:52 +0100 Subject: [PATCH 009/138] Made ui_interact physica state Because Tiger kept annoying me --- code/game/gamemodes/nuclear/nuclearbomb.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index d121896795f..9c7fa7ffa18 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -206,7 +206,7 @@ var/bomb_set ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) - ui = new(user, src, ui_key, "nuclear_bomb.tmpl", "Nuke Control Panel", 450, 550) + ui = new(user, src, ui_key, "nuclear_bomb.tmpl", "Nuke Control Panel", 450, 550, state = physical_state) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) From a2af7ac8ab971ec0a6f8f721717c753e658929b4 Mon Sep 17 00:00:00 2001 From: IcyV Date: Fri, 26 Aug 2016 03:51:55 -0700 Subject: [PATCH 010/138] Makes bottles not as terrible Previously, the brown rbottles found in chemical lockers were stuck as brown forever. Now they actually display the chemical inside of them. The bottles for items such as morphine or toxins that you could get from vendors always had a specific bottle that never updated based on chemical or volume. These have new bottles and properly work now. ![bottle images](http://puu.sh/qOWuN/d1a23bf6ed.png) Much thanks to FullOfSkittles for the bottle sprite and KasproVv for pretty much most of getting this worked out. :cl: IcyV add: Adds new bottle sprite fix: Fixes many bottles being locked to a single icon /:cl: --- .../reagents/reagent_containers/bottle.dm | 35 ++++-------------- icons/obj/chemical.dmi | Bin 37974 -> 37501 bytes icons/obj/reagentfillings.dmi | Bin 2260 -> 2259 bytes 3 files changed, 7 insertions(+), 28 deletions(-) diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index 95fb36d439d..93d218027bb 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -15,7 +15,7 @@ /obj/item/weapon/reagent_containers/glass/bottle/New() ..() if(!icon_state) - icon_state = "bottle[rand(1,20)]" + icon_state = "rounded_bottle" /obj/item/weapon/reagent_containers/glass/bottle/on_reagent_change() update_icon() @@ -24,20 +24,20 @@ overlays.Cut() if(reagents.total_volume) - var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10") + var/image/filling = image('icons/obj/reagentfillings.dmi', src, "bottle10") var/percent = round((reagents.total_volume / volume) * 100) switch(percent) if(0 to 24) - filling.icon_state = "[icon_state]10" + filling.icon_state = "bottle10" if(25 to 49) - filling.icon_state = "[icon_state]25" + filling.icon_state = "bottle25" if(50 to 74) - filling.icon_state = "[icon_state]50" + filling.icon_state = "bottle50" if(75 to 90) - filling.icon_state = "[icon_state]75" + filling.icon_state = "bottle75" if(91 to INFINITY) - filling.icon_state = "[icon_state]100" + filling.icon_state = "bottle100" filling.icon += mix_color_from_reagents(reagents.reagent_list) overlays += filling @@ -50,42 +50,36 @@ name = "toxin bottle" desc = "A small bottle of toxins. Do not drink, it is poisonous." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle12" list_reagents = list("toxin" = 30) /obj/item/weapon/reagent_containers/glass/bottle/cyanide name = "cyanide bottle" desc = "A small bottle of cyanide. Bitter almonds?" icon = 'icons/obj/chemical.dmi' - icon_state = "bottle12" list_reagents = list("cyanide" = 30) /obj/item/weapon/reagent_containers/glass/bottle/mutagen name = "unstable mutagen bottle" desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle20" list_reagents = list("mutagen" = 30) /obj/item/weapon/reagent_containers/glass/bottle/ammonia name = "ammonia bottle" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle20" list_reagents = list("ammonia" = 30) /obj/item/weapon/reagent_containers/glass/bottle/diethylamine name = "diethylamine bottle" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" list_reagents = list("diethylamine" = 30) /obj/item/weapon/reagent_containers/glass/bottle/facid name = "Fluorosulfuric Acid Bottle" desc = "A small bottle. Contains a small amount of Fluorosulfuric Acid" icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" list_reagents = list("facid" = 30) /obj/item/weapon/reagent_containers/glass/bottle/adminordrazine @@ -99,56 +93,48 @@ name = "Capsaicin Bottle" desc = "A small bottle. Contains hot sauce." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle3" list_reagents = list("capsaicin" = 30) /obj/item/weapon/reagent_containers/glass/bottle/frostoil name = "Frost Oil Bottle" desc = "A small bottle. Contains cold sauce." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" list_reagents = list("frostoil" = 30) /obj/item/weapon/reagent_containers/glass/bottle/morphine name = "Morphine Bottle" desc = "A small bottle. Contains morphine." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" list_reagents = list("morphine" = 30) /obj/item/weapon/reagent_containers/glass/bottle/ether name = "Ether Bottle" desc = "A small bottle. Contains ether." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" list_reagents = list("ether" = 30) /obj/item/weapon/reagent_containers/glass/bottle/charcoal name = "Charcoal Bottle" desc = "A small bottle. Contains charcoal." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" list_reagents = list("charcoal" = 30) /obj/item/weapon/reagent_containers/glass/bottle/epinephrine name = "Epinephrine Bottle" desc = "A small bottle. Contains epinephrine." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" list_reagents = list("epinephrine" = 30) /obj/item/weapon/reagent_containers/glass/bottle/pancuronium name = "Pancuronium Bottle" desc = "A small bottle of pancuronium." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle14" list_reagents = list("pancuronium" = 30) /obj/item/weapon/reagent_containers/glass/bottle/sulfonal name = "Sulfonal Bottle" desc = "A small bottle of Sulfonal." icon = 'icons/obj/chemical.dmi' - icon_state = "bottle19" list_reagents = list("sulfonal" = 30) //Reagent bottles @@ -162,43 +148,36 @@ /obj/item/weapon/reagent_containers/glass/bottle/reagent/oil name = "Oil Bottle" desc = "A reagent bottle. Contains oil." - icon_state = "rbottle1" list_reagents = list("oil" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/phenol name = "Phenol Bottle" desc = "A reagent bottle. Contains phenol." - icon_state = "rbottle2" list_reagents = list("phenol" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/acetone name = "Acetone Bottle" desc = "A reagent bottle. Contains acetone." - icon_state = "rbottle3" list_reagents = list("acetone" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/ammonia name = "Ammonia Bottle" desc = "A reagent bottle. Contains ammonia." - icon_state = "rbottle4" list_reagents = list("ammonia" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/diethylamine name = "Diethylamine Bottle" desc = "A reagent bottle. Contains diethylamine." - icon_state = "rbottle5" list_reagents = list("diethylamine" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/acid name = "Acid Bottle" desc = "A reagent bottle. Contains sulfuric acid." - icon_state = "rbottle6" list_reagents = list("sacid" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/formaldehyde name = "Formaldehyde Bottle" desc = "A reagent bottle. Contains formaldehyde." - icon_state = "rbottle" list_reagents = list("formaldehyde" = 50) /obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 40f5b5ddc17bfb13ac86038cd9bc937a1686b281..19fcb98fa5cd2fcf490f7d3fe3521a37d20a8943 100644 GIT binary patch delta 18320 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 Z0S9Cdv4|4bu>cDI002ovPDHLkV1l_%YVrU8 delta 18788 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 Z{y*74)6{xDEvf(j002ovPDHLkV1hgBhY$b& diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index 25138117609ae3107d35ef242f69378d9fef5365..7d58410fa0bc29923b0535e031f7f3036c700f46 100644 GIT binary patch delta 346 zcmV-g0j2)b5z`TnB!5GCR9JLGWpiV4X>fFDZ*Bkpc$}4!v2KGv5JYS4D^_-$2(YcB zp|P+c3i}tLO}sfyY)rIwBFf*Vz!Eq`JakxkJ7^x`HSG^C&57z`;|8%9`U_RGeav0< z9nPtxiZ-RoS_!^Q zW%JO;`jiy%aRpHlvCyZakbpiVMY<1x6`8^iSYZs~fWAXu1=Op;Mn%bE5}&i z=>3;ZspWn4$4fFDZ*Bkpc$}4!K~BRk5JlJVDMsxY6sN6V zlMPCRvS_b>20A!aOoPT&5VvQMqNXg!_s)^td~2S6*7UT0ZjaO)S~H49Kb)zi?R{yA zFMmoM)wHQh(TR6mnm%IUBvjMtm7Viq%W`Fklh;T!SyQ|#e}Bky{zKkbl!U=*2ZB2^ z@c~VI1QLaNQD|-9UNi$lNkouvFNz2f?nMzn!o4UgD6l%L99KM-&cb17fz?6Py3(+| z!0Moq4Jie&h>%|rMiCJciAb18K)~oZAbl7;2N=URVB^tq0M;En2XI&5m18#~7dS?X zqsy0HQ>$h6TTlJji3L(GB(T*)E=PU_j>*5hTspLzd^=F(4s3D Date: Fri, 26 Aug 2016 15:54:13 -0700 Subject: [PATCH 011/138] VV now uses .Join to form its HTML, making it much faster --- code/datums/datumvars.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index f990ac7f3a1..673f76971eb 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -12,7 +12,7 @@ var/title = "" - var/body = "" + var/list/body = list() if(!D) return if(istype(D, /atom)) @@ -319,7 +319,7 @@ body } "} html += "" - html += body + html += body.Join("") html += {" - - + + + + + + + + + + + + +

+ + \ No newline at end of file diff --git a/goon/browserassets/js/browserOutput.js b/goon/browserassets/js/browserOutput.js index 8a2ee996fda..0192959f92a 100644 --- a/goon/browserassets/js/browserOutput.js +++ b/goon/browserassets/js/browserOutput.js @@ -104,9 +104,13 @@ function setHighlightColor(match) { //Highlights words based on user settings function highlightTerms(el) { + var element = $(el) + if(!(element.mark)) { // mark.js isn't loaded; give up + return + } for (var i = 0; i < opts.highlightTerms.length; i++) { //Each highlight term if(opts.highlightTerms[i]) { - $(el).mark(opts.highlightTerms[i], {"element" : "span", "each" : setHighlightColor}); + element.mark(opts.highlightTerms[i], {"element" : "span", "each" : setHighlightColor}); } } } @@ -808,6 +812,10 @@ $(function() { }); $('#highlightTerm').click(function(e) { + if(!($().mark)) { + output('Highlighting is disabled. You are probably using Internet Explorer 8 and need to update.', 'internal'); + return; + } if ($('.popup .highlightTerm').is(':visible')) {return;} var termInputs = ''; for (var i = 0; i < opts.highlightLimit; i++) { From d3dabf36a6c02b921f89cb0310e7d1e0c2d20f98 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 3 Sep 2016 20:22:47 -0400 Subject: [PATCH 089/138] Automatic changelog generation for PR #5592 --- html/changelogs/AutoChangeLog-pr-5592.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5592.yml diff --git a/html/changelogs/AutoChangeLog-pr-5592.yml b/html/changelogs/AutoChangeLog-pr-5592.yml new file mode 100644 index 00000000000..a8db54a314f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5592.yml @@ -0,0 +1,5 @@ +author: TheDZD +delete-after: True +changes: + - tweak: "Xenomorph hunters' leap ability is now always blocked by shields rather than only 50% of the time." + - tweak: "Xenomorph hunters' leap ability being blocked now stuns them as if they had hit a wall. The leap still goes on a 3 second cooldown as normal." From 876256497880bb08fc7951398e8ef89cb8b487ca Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 3 Sep 2016 21:39:04 -0400 Subject: [PATCH 090/138] prffttt --- code/game/dna/genes/goon_powers.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index f9e9c2678a5..2100d139931 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -662,6 +662,7 @@ if(do_after(usr, 30, target = usr)) playsound(UT, 'sound/goonstation/effects/superfart.ogg', 50, 0) usr.visible_message("[usr] unleashes a [pick("tremendous","gigantic","colossal")] fart!", "You hear a [pick("tremendous","gigantic","colossal")] fart.") + usr.newtonian_move(usr.dir) for(var/T in targets) for(var/mob/living/M in T) shake_camera(M, 10, 5) From cef17c6a73033b9d762c6e83252a22bc5ef20b0c Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 3 Sep 2016 21:54:44 -0400 Subject: [PATCH 091/138] prrffftttttttttt --- code/game/dna/genes/goon_powers.dm | 1 - code/modules/mob/living/carbon/human/emote.dm | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index 2100d139931..f9e9c2678a5 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -662,7 +662,6 @@ if(do_after(usr, 30, target = usr)) playsound(UT, 'sound/goonstation/effects/superfart.ogg', 50, 0) usr.visible_message("[usr] unleashes a [pick("tremendous","gigantic","colossal")] fart!", "You hear a [pick("tremendous","gigantic","colossal")] fart.") - usr.newtonian_move(usr.dir) for(var/T in targets) for(var/mob/living/M in T) shake_camera(M, 10, 5) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 9b2026951c1..0746cb30b2c 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -819,6 +819,9 @@ src.gib() else if(TOXIC_FARTS in mutations) message = "[src] unleashes a [pick("horrible","terrible","foul","disgusting","awful")] fart." + else if(SUPER_FART in mutations) + message = "[src] unleashes a [pick("loud","deafening")] fart." + newtonian_move(dir) else message = "[src] [pick("passes wind","farts")]." m_type = 2 From 1c5953f01adbbf92a00bc53c3eccfb3120f1f898 Mon Sep 17 00:00:00 2001 From: Jazzdoodle Date: Sat, 3 Sep 2016 21:00:46 -0500 Subject: [PATCH 092/138] Fixes misc grammar and adds new attack messages Cleans up the grammar of the Desk Fan and Ball Toy. Additionally, some new attack messages are added to the Red Phone and Cane. --- code/game/objects/items/weapons/misc.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm index c230c033437..46fb757335f 100644 --- a/code/game/objects/items/weapons/misc.dm +++ b/code/game/objects/items/weapons/misc.dm @@ -32,7 +32,7 @@ throwforce = 7.0 w_class = 2 materials = list(MAT_METAL=50) - attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") + attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed", "Vaudevilled") /obj/item/weapon/cane/is_crutch() return 1 @@ -53,7 +53,7 @@ name = "desk fan" icon = 'icons/obj/decorations.dmi' icon_state = "fan" - desc = "A smal desktop fan. Button seems to be stuck in the 'on' position." + desc = "A small desktop fan. The button seems to be stuck in the 'on' position." /* /obj/item/weapon/game_kit @@ -114,7 +114,7 @@ name = "newton cradle" icon = 'icons/obj/decorations.dmi' icon_state = "newton" - desc = "A device bored paper pushers use to remind themselves that the time did not stop yet. Contains gravity." + desc = "A device bored paper pushers use to remind themselves that time did not stop yet. Contains gravity." /obj/item/weapon/pai_cable desc = "A flexible coated cable with a universal jack on one end." @@ -135,11 +135,11 @@ throw_speed = 1 throw_range = 4 w_class = 2 - attack_verb = list("called", "rang") + attack_verb = list("called", "rang", "dialed", "belled") hitsound = 'sound/weapons/ring.ogg' var/cooldown = 0 /obj/item/weapon/phone/attack_self(mob/user) if(cooldown < world.time - 20) playsound(user.loc, 'sound/weapons/ring.ogg', 50, 1) - cooldown = world.time \ No newline at end of file + cooldown = world.time From 9724419fe8ff872cc24eee0bf05ffcbfabc5216e Mon Sep 17 00:00:00 2001 From: jughu Date: Sun, 4 Sep 2016 15:33:32 +0200 Subject: [PATCH 093/138] Adds 4 epin auto injectors to medbay vending machines (#5609) * Adds epin autoinjectors to medplus * Changelog? * INTO THE THRASHCAN IT GOES * Brings back the bottles to 4 --- code/game/machinery/vending.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index b3be3a4542c..146b5e6294b 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -891,7 +891,7 @@ /obj/item/weapon/reagent_containers/glass/bottle/toxin = 4,/obj/item/weapon/reagent_containers/syringe/antiviral = 6,/obj/item/weapon/reagent_containers/syringe/insulin = 4, /obj/item/weapon/reagent_containers/syringe = 12,/obj/item/device/healthanalyzer = 5,/obj/item/device/healthupgrade = 5,/obj/item/weapon/reagent_containers/glass/beaker = 4, /obj/item/weapon/reagent_containers/dropper = 2,/obj/item/stack/medical/bruise_pack/advanced = 3, /obj/item/stack/medical/ointment/advanced = 3, - /obj/item/stack/medical/bruise_pack = 3,/obj/item/stack/medical/splint = 4, /obj/item/device/sensor_device = 2) + /obj/item/stack/medical/bruise_pack = 3,/obj/item/stack/medical/splint = 4, /obj/item/device/sensor_device = 2, /obj/item/weapon/reagent_containers/hypospray/autoinjector = 4) contraband = list(/obj/item/weapon/reagent_containers/glass/bottle/pancuronium = 1,/obj/item/weapon/reagent_containers/glass/bottle/sulfonal = 1) From 459dec8529e066f4a8d472b7cc925fa1a0b583fd Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 4 Sep 2016 09:33:34 -0400 Subject: [PATCH 094/138] Automatic changelog generation for PR #5609 --- html/changelogs/AutoChangeLog-pr-5609.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5609.yml diff --git a/html/changelogs/AutoChangeLog-pr-5609.yml b/html/changelogs/AutoChangeLog-pr-5609.yml new file mode 100644 index 00000000000..9c445e560fd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5609.yml @@ -0,0 +1,4 @@ +author: Improvedname +delete-after: True +changes: + - rscadd: "Adds 4 epinephrine autoinjectors to nanomedplus vending machines" From a51b11761857964d8211b9e2e3d53d4b68e40424 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 4 Sep 2016 09:33:55 -0400 Subject: [PATCH 095/138] Automatic changelog generation for PR #5613 --- html/changelogs/AutoChangeLog-pr-5613.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5613.yml diff --git a/html/changelogs/AutoChangeLog-pr-5613.yml b/html/changelogs/AutoChangeLog-pr-5613.yml new file mode 100644 index 00000000000..b43088b80c7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5613.yml @@ -0,0 +1,4 @@ +author: KasparoVy +delete-after: True +changes: + - rscadd: "Adds a Science departmental beret that you can obtain via the loadout system." From 4373165e2152a108f9a7a684df445d5bb79d7c00 Mon Sep 17 00:00:00 2001 From: theColdflame Date: Sun, 4 Sep 2016 14:38:39 +0100 Subject: [PATCH 096/138] Adds additional variants of 10mm ammunition. (#5596) * adds variants of 10mm ammunition you can shoot people with it * ones which work * third time's the charm * adds the letter 'u' * makes armor pen values more reasonable * rebalanced AP --- .../projectiles/ammunition/ammo_casings.dm | 9 +++++++++ code/modules/projectiles/ammunition/magazines.dm | 15 +++++++++++++++ code/modules/projectiles/projectile/bullets.dm | 14 ++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/code/modules/projectiles/ammunition/ammo_casings.dm b/code/modules/projectiles/ammunition/ammo_casings.dm index 2a893755589..e78a87d0839 100644 --- a/code/modules/projectiles/ammunition/ammo_casings.dm +++ b/code/modules/projectiles/ammunition/ammo_casings.dm @@ -27,6 +27,15 @@ caliber = "10mm" projectile_type = /obj/item/projectile/bullet/midbullet3 +/obj/item/ammo_casing/c10mm/ap + projectile_type = /obj/item/projectile/bullet/midbullet3/ap + +/obj/item/ammo_casing/c10mm/fire + projectile_type = /obj/item/projectile/bullet/midbullet3/fire + +/obj/item/ammo_casing/c10mm/hp + projectile_type = /obj/item/projectile/bullet/midbullet3/hp + /obj/item/ammo_casing/c9mm desc = "A 9mm bullet casing." caliber = "9mm" diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index a97bde454c6..137d4258410 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -180,6 +180,21 @@ max_ammo = 8 multiple_sprites = 2 +/obj/item/ammo_box/magazine/m10mm/fire + name = "pistol magazine (10mm incendiary)" + 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)" + 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)" + 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 + /obj/item/ammo_box/magazine/m10mm/empty //for maint drops desc = "A gun magazine. Seems to be broken and can only hold one bullet. Pretty useless." max_ammo = 1 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 8c40044ad2d..88d5946742a 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -112,6 +112,20 @@ /obj/item/projectile/bullet/midbullet3 damage = 30 +/obj/item/projectile/bullet/midbullet3/hp + damage = 40 + armour_penetration = -50 + +/obj/item/projectile/bullet/midbullet3/ap + damage = 27 + armour_penetration = 40 + +/obj/item/projectile/bullet/midbullet3/fire/on_hit(atom/target, blocked = 0) + if(..(target, blocked)) + var/mob/living/M = target + M.adjust_fire_stacks(1) + M.IgniteMob() + /obj/item/projectile/bullet/heavybullet damage = 35 From c965ae289b52f3d6480c82292a4030ba4852fc96 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 4 Sep 2016 09:38:41 -0400 Subject: [PATCH 097/138] Automatic changelog generation for PR #5596 --- html/changelogs/AutoChangeLog-pr-5596.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5596.yml diff --git a/html/changelogs/AutoChangeLog-pr-5596.yml b/html/changelogs/AutoChangeLog-pr-5596.yml new file mode 100644 index 00000000000..75d32bba6ec --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5596.yml @@ -0,0 +1,4 @@ +author: Coldflame +delete-after: True +changes: + - rscadd: "Adds three new variants of 10mm ammunition, AP, HP, and Incendiary. Currently admin-only." From fca406ac1e72a4dc2738a735b1c67361fb3e2132 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 4 Sep 2016 09:42:36 -0400 Subject: [PATCH 098/138] Automatic changelog generation for PR #5617 --- html/changelogs/AutoChangeLog-pr-5617.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5617.yml diff --git a/html/changelogs/AutoChangeLog-pr-5617.yml b/html/changelogs/AutoChangeLog-pr-5617.yml new file mode 100644 index 00000000000..7eff05ff09a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5617.yml @@ -0,0 +1,4 @@ +author: Krausus +delete-after: True +changes: + - rscadd: "Players using very old versions of Internet Explorer will now receive explicit warnings that they're not supported." From a015a11254f0adc5777247f474b85342b0b9fe86 Mon Sep 17 00:00:00 2001 From: IcyV Date: Sun, 4 Sep 2016 07:52:11 -0700 Subject: [PATCH 099/138] Buckets can be worn as hats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allows for buckets to be worn as a hat. Déjà vu. ![Bucket hats picture](http://puu.sh/qZvzt/6b80809f03.png) Sprite by FullOfSkittles :cl: IcyV add: Buckets can be worn as hats. /:cl: --- .../reagent_containers/glass_containers.dm | 9 +++++++++ icons/mob/head.dmi | Bin 253899 -> 254443 bytes 2 files changed, 9 insertions(+) diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 10187280265..32836a15cc9 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -328,7 +328,16 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = list(5,10,15,20,25,30,50,80,100,120) volume = 120 + armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + slot_flags = SLOT_HEAD flags = OPENCONTAINER + +/obj/item/weapon/reagent_containers/glass/bucket/equipped(mob/user, slot) + ..() + if(slot == slot_head && reagents.total_volume) + to_chat(user, "[src]'s contents spill all over you!") + reagents.reaction(user, TOUCH) + reagents.clear_reagents() /obj/item/weapon/reagent_containers/glass/bucket/attackby(obj/D, mob/user, params) if(isprox(D)) diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 48c6bfcb71fb8e743db899da7febaa75750410b8..3be9bc8b7ea0450e55675f61457f2aed9f37c291 100644 GIT binary patch delta 3917 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 delta 3381 zcmcguX;72N77fDy3Tj3fL|Fo;Ad3){eMyiA4iQI@MUX8b4oe^+n+PF%hy#owpkYy9 zAR-8|89~_sNkmjc*~G9IWRZwK0wkC~2ut$f)Az<7Q}5TS>FTaJefq0=&plPQ`(w3% zUsJ(1_DE>eXl|F?!FhFl`65@yXzpqTQ(kC1C;fG)!&d2kaR87M9B93RpgI^IYRfD3Zy-1MpS#)jCq} z$13{t5fSIQH;8(+pz?)rhhlCKS5c3D0t zKGqJ;6Qrx+OLUxTiNL1Uw;1gi!6M=MX<}ENu|sxt_I$2kK<6hQFi<-fWPto7U8P2s z_12U@q*HL%f#9b2yaH&7Wi##JA(HQ?m#d4#o3aeb?`;DYg?kG zR5>-~3d6@6RfeUK4@NyGjU_RO_Z`Ti!=t5L$|{dQLvjRw_<-pA>tZBo9k)6h6~UOG z;RN%(E4&$VxA<6!6U?ry?QMU4&r=%o8bo$o;6RSA;i)5ubGgMS{nbOQWqYz`>R=Ij zR1K@9`DNB#_fkTU1L>-9M~QPy6`;lD9w~N5`wl5{X&)SN>XUkm!5=I7!M6gtD0}aP zuAQoLSOSOuUc9>9>T^C4MeT+CTyatNQW_XJOm)m50-sQ#eq(Li{u}Fb zLngQ()3mLUE*FyiDE?5~A7m)tEA&dUy!kq*zeJTgelnygM&rc`)IrW|oOrC%_Y zS@G#sa7-nG^5&e{li0;yNQiKTM$)bah^?j%R{$TdYeTl)PKn063fZ9K$7^=&I7Zko zB!@cP_?DSj6Qn(%tD!c6N|&@yW^vwChRxLtu5{x*ckIRQVbK{i;gd(B z0oFjZ7S7B%ZlM29J12gM)Vl})qN*)`n5;CB{+;=Nk`Welh9~*o?p6dwPfR?&oGSJFqx?1;@Q{op1 zkUm~ehx+|T41j{=*Eh^CS4b^vWQN0I?piY@Wti^nTWAgLeTP=+$~O_`&|Wx-)H;|6AK(eiw)E zzHp5Q7n}N_%9D8n^>EH_5=CJY!cF#(VSX6qM@h10X}{ZTB4X+3l^iUO1D3+CyQrwB%kyFa(ACq!aZ#IEBYJC-o(!~dC!d{_s-1krT(Ad^_eu74 z?#}{+f0pU(q^e06C3F}}lXFsUJ_;)rtpZzr?6EmL%4`f+{g~84&=q8+#v)N~#g)FQ z_)Q4}9X?1}iGCPuRwtFD_)P3X2xaq&TK#lSW2%(`+`(zAz3p;RPaz;$3!F$=<$wp+DbJ>c#H5qR(=qM~M=cwL= z?#TKRO6Ho`4$bwL;d-Fmk{a@^*7L~mcY|u?nww97S5H}ErLidrw&1?$S5uD9T<-?k zP8zq;es%LPBz+!EONqPOm|gR9Bu=_pF_s;N;c9p%OBjJbhjeDttTMS0fwU7ogihF{ zy0N$hZwGeJv4WmBj5pOWyq^yTZg2^~omZwMK#m@-Dk4yNL}2G?EIe!QWdl-2z^GF$f4Z4+hwi3yE}+P3OSEM^xKKwR zptAA@b+%pAhGbL@mPi7dL+?d6a={>N@A8yQfQg`oFr2>ohLOq6@V#oJTiY7M&-ics z9puuo@?8pRTXdJl2j$kt>TA3jU#`M*=E>7V%3@0nonN@*MV3?B7^MO$V$?`1c4D<7 ztxWEu7w@Gtb8b3XK?t-(vW4m|C(gm@A3z1|>TcFHG=HH(s89l=o#ptfzmh+{fgB42 z(+Sw<-w`*t^-?AuVCTYEd{JRVuweXo%?jtm)76a22wqr|oL%u71YevM^mBD-X=&}i zz(5E!(QacP8eI{H!AvΠonqf|R~|A|7WF_07H_5J+po9f@!FZy+E(`WyNmV}bvn z?TZLqtrhURu#w(h-N7ip;fmr+jZQ|pxi!=E=UQqwmT0glSr6s#sV&^scmB7#tSh3A>TD1({4T&H1FuT)+Hbf<{k{;lHc5YzP z4aks}N2hrQ?Ag2j=z$^)1G*zcbr*nB=q-KT$G{=2-^w1^86lS*QhCj=EdVLozD*pz zUtBQW#S(k|^O~mgQ}JKGVV@29$eP0Lk4cZk@2{G389Jb+iyi?-1VPteMO)_jSQhvB zygq~omQlXo^!oZtN$g|ub~GbDvMjHlY$Ruz*o7GPp95rFdO6&!Yq2o<;?{a2C3qQM zT~jjr1l-M*;F58cdE7H74uFqdM7*d7R)srsB$y7rV!aui^$y%5djR?^aIG?byGpJe zkoqX8Pq3-5o#|UehonLZqesK!7M@Vg;+w{JlW@pizT|Qsy^zXkgKK0HEyW)KzlM3z zZ70+FjKu-_!pX>;L7l_ Date: Sun, 4 Sep 2016 18:52:25 +0300 Subject: [PATCH 100/138] moved it again --- _maps/map_files/cyberiad/cyberiad.dmm | 143 +++++++++++--------------- 1 file changed, 62 insertions(+), 81 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 237efd9fa8d..b90b285e101 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -7791,8 +7791,8 @@ "cTQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/space) "cTR" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engine/engineering) "cTS" = (/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/space) -"cTT" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/engine/engineering) -"cTU" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/transit_tube{icon_state = "Block"},/turf/simulated/floor/plasteel{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/engine/engineering) +"cTT" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) +"cTU" = (/turf/simulated/wall/r_wall/coated,/area/space) "cTV" = (/obj/machinery/door/airlock/external{id_tag = "s_docking_airlock"; name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "syndicate_sit_1"; name = "Side Hull Door"; opacity = 0; req_access_txt = "150"},/obj/docking_port/mobile{dir = 8; dwidth = 3; height = 5; id = "sit"; name = "SIT shuttle"; roundstart_move = "sit_away"; width = 11},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 5; id = "sit_arrivals"; name = "Cyberiad Arrivals"; width = 11},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_sit) "cTW" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "cTX" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) @@ -7802,7 +7802,7 @@ "cUb" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cUc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "MiniSat Access"; req_access_txt = "75"},/turf/simulated/floor/plasteel,/area/engine/engineering) "cUd" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk9"; icon_state = "catwalk9"},/area/space) -"cUe" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/obj/structure/transit_tube_pod,/turf/simulated/floor/plasteel{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/engine/engineering) +"cUe" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/transit_tube{dir = 4; icon_state = "Block"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/engineering) "cUf" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cUg" = (/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cUh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) @@ -7811,17 +7811,17 @@ "cUk" = (/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/space) "cUl" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/engine/engineering) "cUm" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/structure/lattice,/turf/space,/area/space) -"cUn" = (/obj/effect/spawner/window/reinforced,/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating,/area/engine/engineering) -"cUo" = (/obj/structure/transit_tube{icon_state = "N-SE"},/turf/space,/area/space) -"cUp" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/space,/area/space) +"cUn" = (/obj/effect/spawner/window/reinforced,/obj/structure/transit_tube,/turf/simulated/floor/plating,/area/engine/engineering) +"cUo" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/transit_tube/station,/obj/structure/transit_tube_pod{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/engine/engineering) +"cUp" = (/turf/space,/obj/structure/transit_tube{icon_state = "E-W-Pass"},/turf/simulated/floor/plating/airless/catwalk,/area/space) "cUq" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/obj/structure/lattice,/turf/space,/area/space) -"cUr" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/space,/area/space) +"cUr" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1},/turf/simulated/floor/plating/airless,/area/space) "cUs" = (/obj/machinery/light/small{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/engine/engineering) "cUt" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine) "cUu" = (/obj/structure/transit_tube,/turf/space,/area/space) "cUv" = (/obj/machinery/access_button/airlock_exterior{master_tag = "atmospherics_south"; pixel_x = -25; pixel_y = -8},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk6"; icon_state = "catwalk6"},/area/space) "cUw" = (/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk9"; icon_state = "catwalk9"},/area/space) -"cUx" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/lattice,/turf/space,/area/space) +"cUx" = (/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 6},/area/engine/engineering) "cUy" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_4) "cUz" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Mix to MiniSat"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine) "cUA" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/shuttle/pod_4) @@ -7835,17 +7835,17 @@ "cUI" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/engine/engineering) "cUJ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/abandoned) "cUK" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"; dir = 2},/area/shuttle/abandoned) -"cUL" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/turf/space,/area/space) +"cUL" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cUM" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/space) "cUN" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/area/space) -"cUO" = (/obj/structure/transit_tube{icon_state = "D-SE"; tag = "icon-D-NE"},/turf/space,/area/space) -"cUP" = (/obj/structure/transit_tube{icon_state = "E-SW"; tag = "icon-E-NW"},/turf/space,/area/space) -"cUQ" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/space,/area/space) -"cUR" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/space,/area/space) -"cUS" = (/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/space,/area/space) -"cUT" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-NW"; tag = "icon-D-NE"},/turf/space,/area/space) +"cUO" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6; level = 2},/turf/simulated/floor/plating/airless/catwalk,/area/space) +"cUP" = (/obj/effect/spawner/window/reinforced,/obj/structure/sign/securearea{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) +"cUQ" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) +"cUR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) +"cUS" = (/obj/machinery/light/small,/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) +"cUT" = (/obj/effect/spawner/window/reinforced,/obj/structure/sign/securearea{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9; tag = "icon-intact-y (NORTHWEST)"},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cUU" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) -"cUV" = (/obj/structure/transit_tube{icon_state = "D-NW"; tag = "icon-D-NE"},/turf/space,/area/space) +"cUV" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light/small,/obj/machinery/camera/motion{c_tag = "Mini Satellite Antechamber North"; dir = 1; network = list("SS13","MiniSat")},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cUW" = (/obj/structure/transit_tube,/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cUX" = (/obj/structure/transit_tube/station,/obj/structure/transit_tube_pod{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cUY" = (/obj/structure/transit_tube,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) @@ -7855,10 +7855,7 @@ "cVc" = (/obj/machinery/door/airlock/external{name = "MiniSat External Access"; req_access = null; req_access_txt = "75;13"},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cVd" = (/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cVe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) -"cVf" = (/obj/structure/transit_tube{icon_state = "NE-SW"},/obj/structure/lattice,/turf/space,/area/space) -"cVg" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) -"cVh" = (/obj/machinery/light/small,/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) -"cVi" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light/small,/obj/machinery/camera/motion{c_tag = "Mini Satellite Antechamber North"; dir = 1; network = list("SS13","MiniSat")},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) +"cVf" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating/airless/catwalk,/area/space) "cVj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/hatch{name = "MiniSat Foyer"; req_access_txt = "75"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) "cVk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/turret_protected/aisat_interior) "cVl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/wall,/area/turret_protected/aisat_interior) @@ -7872,7 +7869,6 @@ "cVt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/turret_protected/aisat_interior) "cVu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) "cVv" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/turret_protected/aisat_interior) -"cVw" = (/obj/effect/spawner/window/reinforced,/obj/structure/sign/securearea{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cVx" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "teledoor"; name = "AI Satellite Teleport Access"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) "cVy" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cVz" = (/obj/effect/decal/warning_stripes/east,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "teledoor"; name = "AI Satellite Teleport Shutters Control"; pixel_x = 0; pixel_y = 25; req_access_txt = "17;75"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) @@ -7883,8 +7879,6 @@ "cVE" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/hatch{name = "MiniSat Teleporter Room"; req_access_txt = "17;75"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) "cVF" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cVG" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/syndicate) -"cVH" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5; tag = "icon-intact-y (NORTHWEST)"},/obj/structure/lattice,/turf/space,/area/space) -"cVI" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10; level = 2},/obj/structure/lattice,/turf/space,/area/space) "cVJ" = (/turf/simulated/wall,/area/turret_protected/aisat_interior) "cVK" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/computer/monitor{name = "Grid Power Monitoring Computer"},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) "cVL" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/hatch{name = "MiniSat Antechamber"; req_access_txt = "75"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) @@ -7981,9 +7975,7 @@ "cXy" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/aisat{name = "\improper AI Satellite Hallway"}) "cXz" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "AI Satellite Exterior West"; dir = 8; network = list("SS13","MiniSat")},/turf/space,/area/aisat) "cXA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/aisat) -"cXB" = (/obj/structure/transit_tube{icon_state = "D-SE"; tag = "icon-D-NE"},/obj/structure/lattice,/turf/space,/area/space) "cXC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/aisat{name = "\improper AI Satellite Hallway"}) -"cXD" = (/obj/structure/transit_tube{icon_state = "D-NW"; tag = "icon-D-NE"},/obj/structure/lattice,/turf/space,/area/space) "cXE" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/aisat{name = "\improper AI Satellite Hallway"}) "cXF" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "AI Satellite Exterior West"; dir = 4; network = list("SS13","MiniSat")},/turf/space,/area/aisat) "cXG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/bluegrid,/area/aisat{name = "\improper AI Satellite Hallway"}) @@ -8217,7 +8209,6 @@ "dca" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/obj/machinery/door_control{id = "medprivacyc"; name = "Privacy Shutters"; pixel_y = -30},/turf/simulated/floor/plasteel{dir = 6; icon_state = "whitered"},/area/medical/patient_c) "dcb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "bluecorner"},/area/medical/patients_rooms) "dcc" = (/obj/machinery/light,/obj/item/weapon/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{dir = 10; icon_state = "blue"},/area/medical/patients_rooms) -"dcd" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/turbine) "dce" = (/obj/machinery/light_switch{pixel_x = -24; pixel_y = 4},/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 8},/area/medical/patients_rooms) "dcf" = (/obj/machinery/power/apc{dir = 4; cell_type = 15000; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "blue"},/area/medical/patients_rooms) "dcg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/medical/patients_rooms) @@ -8286,10 +8277,8 @@ "ddr" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/engine/engineering) "dds" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall/interior{tag = "icon-swall_f9"; icon_state = "swall_f9"},/area/shuttle/abandoned) "ddt" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/engine/engineering) -"ddu" = (/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/obj/structure/lattice,/turf/space,/area/space) "ddv" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/ai) "ddw" = (/obj/machinery/door/window{dir = 2; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) -"ddx" = (/obj/structure/transit_tube{icon_state = "E-W-Pass"},/turf/space,/area/space) "ddy" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "kitchenhall"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/door/window/westleft{dir = 1; name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "ddz" = (/obj/docking_port/mobile/pod{id = "pod2"; name = "escape pod 2"},/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; name = "Escape Pod Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/pod_2) "ddA" = (/obj/item/flag/nt,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) @@ -9022,7 +9011,6 @@ "drz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/aisat{name = "\improper AI Satellite Hallway"}) "drA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/machinery/door/window/southright{dir = 1; name = "AI Core Door"; req_access = null; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "drB" = (/obj/structure/transit_tube{icon_state = "E-W-Pass"},/obj/structure/lattice,/turf/space,/area/space) -"drC" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5; tag = "icon-intact-y (NORTHWEST)"},/turf/space,/area/space) "drD" = (/obj/item/device/radio/intercom/custom{pixel_x = -28; pixel_y = -10},/obj/item/device/radio/intercom/private{pixel_x = 28; pixel_y = -10},/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/obj/machinery/requests_console{department = "AI"; departmentType = 5; name = "AI Requests Console"; pixel_x = 32; pixel_y = -32},/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = -32},/obj/effect/landmark/start{name = "AI"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "drE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_slipper{icon_state = "motion0"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/ai) "drF" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "AI Satellite Exterior South West"; dir = 8; network = list("SS13","MiniSat")},/turf/space,/area/turret_protected/ai) @@ -9044,13 +9032,6 @@ "drV" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "AI Core"; req_access_txt = "16"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/ai) "drW" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "drX" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"drY" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/obj/structure/lattice,/turf/space,/area/space) -"drZ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/obj/structure/transit_tube{icon_state = "NE-SW"},/obj/structure/lattice,/turf/space,/area/space) -"dsa" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/obj/structure/transit_tube{icon_state = "D-SE"; tag = "icon-D-NE"},/obj/structure/lattice,/turf/space,/area/space) -"dsb" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/obj/structure/transit_tube{icon_state = "D-NW"; tag = "icon-D-NE"},/obj/structure/lattice,/turf/space,/area/space) -"dsc" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10; level = 2},/turf/space,/area/space) -"dsd" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/obj/structure/lattice,/turf/space,/area/space) -"dse" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/space,/area/space) "dsf" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/porta_turret{dir = 4; installation = /obj/item/weapon/gun/energy/gun; name = "hallway turret"},/turf/simulated/floor/bluegrid,/area/aisat{name = "\improper AI Satellite Hallway"}) "dsg" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/porta_turret{dir = 8; installation = /obj/item/weapon/gun/energy/gun; name = "hallway turret"},/turf/simulated/floor/bluegrid,/area/aisat{name = "\improper AI Satellite Hallway"}) "dsh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/turretid/lethal{check_synth = 1; name = "AI Chamber Turret Control"; pixel_x = 5; pixel_y = -24; req_access_txt = "75"},/obj/machinery/flasher{id = "AI"; pixel_x = -8; pixel_y = -24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) @@ -9254,51 +9235,51 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaaccMucMucMucMucMucMucMucECcSDcSEbikddcaaccSQaabaabdlqdlpdlraabcTzbikaacddcbikcSEcSDcECcECcMHcECcCKcTAcTBcTAcCKcTCcTDcTCcCKcTEcTFcTEcCKaabcUkbikacGbikcUDcYhcZRcZTcZScZucZUcZWcZVcYicZXcZZcZYdaacAhbGycGvcGvdabdaddacbGydaeazybikaabbikcxHcxHcxHbwobwobwobwobwobwodafcyKcyJdagbxXbxXcyJbxXbxXbxXbxXcYqbxXcPAcqecrZcsacsbcqeaabbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaabaacaacaabaabaabacGacGcECcECcTGcSEbikddfddgbikbikaabdlscTHdltaabbikbikdlodlnbikcSEcTJcECcECcMHcECcCKcTAcTKcTAcCKcTCcTLcTCcCKcTEcTMcTEcCKaabcUkbikacGbikcUDcYhcYhcYhdahcrBcrkdajcrkcrBcZXdakbGycGzdalcFicHrcGvdamcoAcoDcoDcoDdanaabaabbikcxHdaodapcyJbxXdaqdarcNRcyJdasbxXcyJdatbxXbxXdaubxXbwobwobwocxHcxHbwocqectrctscttcqeaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikaabaabbikbikaabaabacGcECcECcSDcSEbikddcaacbikcTNaabdlvdludlwaabaabcSQaacddcbikcSEcSDcECcECcMHcECcCKcCKcCKcCKcCKcCKcCKcCKcCKcCKcCKcCKcCKaabcUkbikaqZbikcUDbikbikbikdavcrBdawdaydaxcrBbGydazbGybGydaAdaBcGqdaDdaCcoAbikbikbikbikbikaabbikcxHdaEdaFdaubxXcQobxXbxXdaucZobxXcyJcyJcyJcyJcyJbxXbwoaabbikbikbikaabcuzcuzcuAcuzcuzaabaabczraabaabcZEaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcECcTncTocSEbikddcaacbikbikaabaabaabaabaabbikbikaacddcbikcSEcTlcTmcECcUscECcECcECcECcUvcTScTScTScTScTScTScTScTScTScTScUwbikacGaabcUMaabaabaabdaGcrBcrkdaHcrkcrBcoAdaIcFicFidaJdaLdaKcoAcoAcoAbikbikbikbikbikaabbikcxHdaodaMcyJcNRbxXbxXdaNcyJdaObxXbxXbxXbxXbxXbxXbxXbwoaabbikbikbikaabbikcuzcvEcuzbikaabbikaabbikbikaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikaabcECcTdcSEcTPbikddfddgbikbikbikaabbikbikbikbikbikdlodlnbikcSEcSEcTdcECddhddjddicMHddkcUwbikbikbikbikcUNbikbikbikbikbikbikbikacGaabcUMaabaabaabdaGcrBdaPdaRdaQdaSaabcoAcoAcoDdaTcoDcoAcoAbikaabbikbikbikbikbikaabaabcxHcxHcxHbwobwobwobxXcyJbwodaUbwobwocNRbFeczfbzNczMbwoaabbikbikbikaabbikcuzcwMcuzbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcECcTXcTYdddaabddcaaccSQbikbikcSQbikbikbikbikcSQaacddcbikddecUacUbcECddlcECcECcECcECcECcECacGacGacGajjacGacGacGacGacGacGacGacGaahcUDbikbikbikdaGcrBcrBdaVcrBcrBbikaabbikbikdaWbikbikaabaabbikbikcUUcUUcUUcUUcUUbikbikbikbikbikbikbwodaFdaXbwocGxaabbwobwocxHcxHczMbwobikaabbikbikbikaabbikbikcxZbikbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcUfcUgcUhbikddcaacaacdlxaacaacdlxaacaacdlxaacaacddcbikcUicUgcUjcECddmcTRddnddocTTcTUcRebikbikbikbikbikbikbikbikbikbikbikbikbikcUDbikbikbikdcdazycrBdaYcrBdaZaabaabbikbikdctbikcUOcUPddxcUucUucUWcUYcUXcUZcUUbikbikbikbikbikbikbwodbbdbabwodbcaabbikaabbikbikaabbikbikaabbikbikbikaabbikbikcznbikbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcNycECcECdlybikdlzcTIcTIdlAcTIcTIdlAcTIcTIdlAcTIcTIdlBbikdlycECcECcECddmcUcddpcUlddqcUecRebikbikbikbikbikbikbikbikbikbikbikbikbikcUDbikbikbikbikazycLodbecLoazyaabbikbikbikbikcUOcUScUTcUNcUUcUUcUUcVbcVacVbcUUbikbikbikbikbikbikcxHdbfcxHcxHaabczrbikaabbikbikaabbikagQagQacGaqZaabaabaabaabcGEaabaabaabaabczragiagQagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcECcKDcSkcUhaabaabaabaabbikbikbikbikbikaabaabaabaabcUicSjcKDcECcECddrcECcECcECcECcUncECaabaabaabaabaabaabaabaabaabaabaabaabaabcUMaabaabaabaabazybikbikbikazyaabbikbikbikcUOcUScUVaabcUNcVccVdcVccVdcVecVdcUUbikbikbikbikbikbikcxHdbgcxHbikbikbikbikaabbikbikaabbikagQbikbikaabbikaabbikbikcHNbikbikaabbikaabbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikcECcECcSkcRScRScRScRScRScRScRScRScRScRScRScRScRScSjcECcECcECddtaHmcECbikbikbikcUocUxbikaabbikbikbikaabbikaabbikbikaabbikbikcUDbikbikbikaabazyazyazyazyazyaabaabaabcXBcVfcXDcUNcUNcUNcUUcVgcVwcVhcVecVicVwbikbikbikbikbikbikcxHdbhcxHbikbikbikbikaabbikbikaabbikagQbikcIYcIYcIYcIYcIYaabcIZaabcIYcIYcIYcIYcIYbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECbikcECcECaIpcECcECcECcECcUrdducUudrBcUucUucUudrBcUucUQcUpbikaabbikbikcUDbikbikbikaabbikbikbikbikbikbikbikcUOcVfcUVbikbikaabcUNcVJcVJcVJcVJcVjcVlcVkcVncVmaabaabaabbikcxHdbicxHbikbikbikbikbikbikbikaabbikagQaabcKccKdcKdcKdcKdcKecKfcKgcKhcKhcKhcKhcKiaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcMHcMHcUyaIraIrcUAbikbikbikbikbikbikbikaabbikcURcULcUpaabbikbikdrCdrYdrYdrYdrYcDPcDPcDPcDPdrYdrYdsadrZdsbdrYdrYdrYdscbikbikcVJcVJcVpcVocVqcVJcVJcVJcVJcVJaabaabdbHdbjdbjbikbikbikbikbikbikbikaabbikagQaabcLrcLrcLrcLrcLrbikcIZbikcLrcLrcLrcLrcLraabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcTpcMHdlDcUBcUFcUEbikbikbikbikbikbikbikaabaabaabdsdddudrBcUucUucUucUudrBcUucUucUucUudrBcUucUucUudsecUVaabbikbikbikcUDbikbikcVJcVrcVtcVscVvcVucVxcVzcVycVJaabbikbikaabaabbikbikbikbikbikbikbikaabbikagQbikaabbikaabaabaabbikcIZbikaabbikaabbikaabbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjebikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcUIcMHcUGaIraIrcUHbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikaabbikbikbikbikaabbikbikbikbikbikaabbikbikbikcUDbikbikcVJcVKcVBcVAcVCcWhcVEcVDcVFcVJaabbikbikbikbikaabaabbikbikbikbikbikbikbikagQbikcIYcIYcIYcIYcIYaabcIZaabcIYcIYcIYcIYcIYaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcNycECcECcECcECcECcECbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabcVHcVIaabcVJcVQcVNcVMcVPcVOcVRcVVcVScVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcKccKdcKdcKdcKdcKecKfcKgcKhcKhcKhcKhcObaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcVTcVUcVTcVWcVZcVYcVXcWacWFcVWcVWcVWcVWaabbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcLrcLrcLrcLrcLrbikcIZaabcLrcLrcLrcLrcLrbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcVTcWccWbcVTcVWcVWcVLcWdcVWcWfcWecWecWfcWfbikbikbikbikbikbikbikbikbikbikbikbikbikaqZbikaabbikaabbikaabbikcPDbikaabbikaabaabaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWgcWjcWicWkcVWcWmcWlcWncVWcWqcWocWocWrcWfbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikcIYcIYcIYcIYcIYaabcGEaabcIYcIYcIYcIYcIYaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWscWvcWtcWxcWwcWzcWycWAcWwcWDcWCcWGcWEcWfbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcKccKdcKdcKdcKdcQQcQRcQQcKhcKhcKhcKhcObaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWHcWJcWIcWMcWKcWQcWNcWUcWScWXcWWcWZcWYcWfbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcLrcLrcLrcLrcLrbikcGEbikcLrcLrcLrcLrcLrbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcVTcXbcXacXccVWcXecXddgYcVWcXgcXfcXhcWfcWfbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikbikaabaabaabbikbikcGEaabbikbikaabaabbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicWucXjcXkcXicXicXmcXncXicXkcXocXkcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQagQagQagQbikbikbikcGEbikbikbikagQagQagQaqZagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXicXqcXpcXkcXrcXtcXscXucXrcXkcXvcXwcXibikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikagQaabcSBaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicXxcXpcXkcXrcXtcXscXucXrcXkcXvcXycXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikaabbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXzcXicWVcXAcXkdsfcXtcXCcXEdsgcXkcXvcXicXicXFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQagQagQagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcWVdrucXkcXGcXtcXscXucXrcXkdrzcXiaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWVcXHcXJcXIcXLcXKcXucXMcXOcXNcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWVcXPcXkcXQcXRcXscXucXScXkcXPcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcWVcXPcXkdsfcXTdrRcXudsgcXkcXPcXiaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicWVcXPcXkcXrcXtcXscXucXrcXkcXPcXicXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicXUcXPcXkcXrcXtdrScXucXrcXkcXPcXPcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXicXUcWBcWBdrTcWBcXVdrUdrTcWBcWBcXPcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXicXUcWBcWBcXWcXZcXXcYbcYacWBcWBcXPcXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXicXUcWBcWBcYccYecYdcZFcYfcWBcWBcXPcXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXidaicWBcWBddvddvdrVdrrddvcWBcWBdaicXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXidaicWBboSboScWLdrscZFboSboScWBdaicXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBdrWdrtdrwdrvdrydrxdrXcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBboScXXdshdrAdsicZFboScWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWBcWBcWBcWPdrscWTdrDcWTdrEcWRcWBcWBcWBaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjgbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdrFcWBcWBdrGcWLdrHcWTcWTcWTcWOcWLdrIcWBcWBdrJbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWBcWBcWBcWPdrKdrMdrLcWTcWLcWRcWBcWBcWBaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBdrWcWLdrOdrNboScWLdrXcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBboScWLcXldrPcWLcWLboScWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWBcWBcWBcWBcWBcWBcWBcWBcWBaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikdrQbikbikaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcECcTncTocSEbikddcaacbikbikaabaabaabaabaabbikbikaacddcbikcSEcTlcTmcECcUscECcECcECcECcUvcTScTScTScTScTScTScTScTScTScTScUwaabaabaabcUMbikbikbikdaGcrBcrkdaHcrkcrBcoAdaIcFicFidaJdaLdaKcoAcoAcoAbikbikbikbikbikaabbikcxHdaodaMcyJcNRbxXbxXdaNcyJdaObxXbxXbxXbxXbxXbxXbxXbwoaabbikbikbikaabbikcuzcvEcuzbikaabbikaabbikbikaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikaabcECcTdcSEcTPbikddfddgbikbikbikaabbikbikbikbikbikdlodlnbikcSEcSEcTdcECddhddjddicMHddkcUwaabaabaabaabaabaabaabcUNaabaabaabaabaabaabcUMaabaabaabdaGcrBdaPdaRdaQdaSaabcoAcoAcoDdaTcoDcoAcoAbikaabbikbikbikbikbikaabaabcxHcxHcxHbwobwobwobxXcyJbwodaUbwobwocNRbFeczfbzNczMbwoaabbikbikbikaabbikcuzcwMcuzbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcECcTXcTYdddaabddcaaccSQbikbikcSQbikbikbikbikcSQaacddcbikddecUacUbcECddlcECcECcECcECcECcECbikbikaabbikbikbikcUNbikbikcUUcUUcUUcUUcTTbikbikaabdaGcTUcrBdaVcrBcrBaabaabaabaabdaWbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbwodaFdaXbwocGxaabbwobwocxHcxHczMbwobikaabbikbikbikaabbikbikcxZbikbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcUfcUgcUhbikddcaacaacdlxaacaacdlxaacaacdlxaacaacddcbikcUicUgcUjcECddmcTRddnddocUecUocUncUucUudrBcUucUucUucUpcUucUucUWcUYcUXcUZcTTbikbikaabcUrazycrBdaYcrBdaZaabaabbikbikdctbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbwodbbdbabwodbcaabbikaabbikbikaabbikbikaabbikbikbikaabbikbikcznbikbikaabbikaabbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcNycECcECdlybikdlzcTIcTIdlAcTIcTIdlAcTIcTIdlAcTIcTIdlBbikdlycECcECcECddmcUcddpcUlddqcUxcRebikbikaabbikbikbikcUNcUUcUUcUUcVbcVacVbcTTbikbikaabaabazycLodbecLoazyaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcxHdbfcxHcxHaabczrbikaabbikbikaabbikagQagQacGaqZaabaabaabaabcGEaabaabaabaabczragiagQagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcECcKDcSkcUhaabaabaabaabbikbikbikbikbikaabaabaabaabcUicSjcKDcECcECddrcECcECcECcECcRecECaabaabaabaabaabaabcUNcVccVdcVccVdcVecVdcTTbikbikbikaabazybikbikbikazyaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcxHdbgcxHbikbikbikbikaabbikbikaabbikagQbikbikaabbikaabbikbikcHNbikbikaabbikaabbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikcECcECcSkcRScRScRScRScRScRScRScRScRScRScRScRScRScSjcECcECcECddtaHmcECbikbikbikbikbikbikbikbikbikbikbikcUOcULcUQcUPcUScURcUVcUTbikbikbikaabazyazyazyazyazyaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcxHdbhcxHbikbikbikbikaabbikbikaabbikagQbikcIYcIYcIYcIYcIYaabcIZaabcIYcIYcIYcIYcIYbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECbikcECcECaIpcECcECcECcECbikbikbikbikbikbikbikbikcVfcVJcVJcVJcVJcVjcVlcVkcVncVmaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcxHdbicxHbikbikbikbikbikbikbikaabbikagQaabcKccKdcKdcKdcKdcKecKfcKgcKhcKhcKhcKhcKiaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcMHcMHcUyaIraIrcUAbikbikbikbikbikbikbikbikcUDbikcVJcVJcVpcVocVqcVJcVJcVJcVJcVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabdbHdbjdbjbikbikbikbikbikbikbikaabbikagQaabcLrcLrcLrcLrcLrbikcIZbikcLrcLrcLrcLrcLraabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcTpcMHdlDcUBcUFcUEbikbikbikbikbikbikbikbikcUDbikcVJcVrcVtcVscVvcVucVxcVzcVycVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikaabbikagQbikaabbikaabaabaabbikcIZbikaabbikaabbikaabbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjebikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcUIcMHcUGaIraIrcUHbikbikbikbikbikbikbikbikcUDbikcVJcVKcVBcVAcVCcWhcVEcVDcVFcVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikagQbikcIYcIYcIYcIYcIYaabcIZaabcIYcIYcIYcIYcIYaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcNycECcECcECcECcECcECbikbikbikbikbikbikaabaabcUMaabcVJcVQcVNcVMcVPcVOcVRcVVcVScVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcKccKdcKdcKdcKdcKecKfcKgcKhcKhcKhcKhcObaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcVTcVUcVTcVWcVZcVYcVXcWacWFcVWcVWcVWcVWaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcLrcLrcLrcLrcLrbikcIZaabcLrcLrcLrcLrcLrbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcVTcWccWbcVTcVWcVWcVLcWdcVWcWfcWecWecWfcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaqZbikaabbikaabbikaabbikcPDbikaabbikaabaabaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWgcWjcWicWkcVWcWmcWlcWncVWcWqcWocWocWrcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikcIYcIYcIYcIYcIYaabcGEaabcIYcIYcIYcIYcIYaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWscWvcWtcWxcWwcWzcWycWAcWwcWDcWCcWGcWEcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcKccKdcKdcKdcKdcQQcQRcQQcKhcKhcKhcKhcObaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikcVTcWHcWJcWIcWMcWKcWQcWNcWUcWScWXcWWcWZcWYcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcLrcLrcLrcLrcLrbikcGEbikcLrcLrcLrcLrcLrbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcVTcXbcXacXccVWcXecXddgYcVWcXgcXfcXhcWfcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikbikaabaabaabbikbikcGEaabbikbikaabaabbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicWucXjcXkcXicXicXmcXncXicXkcXocXkcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQagQagQagQbikbikbikcGEbikbikbikagQagQagQaqZagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXicXqcXpcXkcXrcXtcXscXucXrcXkcXvcXwcXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikagQaabcSBaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicXxcXpcXkcXrcXtcXscXucXrcXkcXvcXycXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikaabbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXzcXicWVcXAcXkdsfcXtcXCcXEdsgcXkcXvcXicXicXFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQagQagQagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcWVdrucXkcXGcXtcXscXucXrcXkdrzcXiaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWVcXHcXJcXIcXLcXKcXucXMcXOcXNcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWVcXPcXkcXQcXRcXscXucXScXkcXPcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcWVcXPcXkdsfcXTdrRcXudsgcXkcXPcXiaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicWVcXPcXkcXrcXtcXscXucXrcXkcXPcXicXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicXUcXPcXkcXrcXtdrScXucXrcXkcXPcXPcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXicXUcWBcWBdrTcWBcXVdrUdrTcWBcWBcXPcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXicXUcWBcWBcXWcXZcXXcYbcYacWBcWBcXPcXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXicXUcWBcWBcYccYecYdcZFcYfcWBcWBcXPcXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXidaicWBcWBddvddvdrVdrrddvcWBcWBdaicXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcXidaicWBboSboScWLdrscZFboSboScWBdaicXibikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBdrWdrtdrwdrvdrydrxdrXcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBboScXXdshdrAdsicZFboScWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWBcWBcWBcWPdrscWTdrDcWTdrEcWRcWBcWBcWBaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjgbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdrFcWBcWBdrGcWLdrHcWTcWTcWTcWOcWLdrIcWBcWBdrJbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWBcWBcWBcWPdrKdrMdrLcWTcWLcWRcWBcWBcWBaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBdrWcWLdrOdrNboScWLdrXcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBboScWLcXldrPcWLcWLboScWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBcWBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcWBcWBcWBcWBcWBcWBcWBcWBcWBaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikdrQbikbikaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik From 618df203809cc55dbe4fec8a9edfbf65c2af16f5 Mon Sep 17 00:00:00 2001 From: Jazzdoodle Date: Sun, 4 Sep 2016 15:05:14 -0500 Subject: [PATCH 101/138] Update misc.dm --- code/game/objects/items/weapons/misc.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm index 46fb757335f..ffd021aae4b 100644 --- a/code/game/objects/items/weapons/misc.dm +++ b/code/game/objects/items/weapons/misc.dm @@ -135,7 +135,7 @@ throw_speed = 1 throw_range = 4 w_class = 2 - attack_verb = list("called", "rang", "dialed", "belled") + attack_verb = list("called", "rang") hitsound = 'sound/weapons/ring.ogg' var/cooldown = 0 From b6234902befd34dd40b0eaba265feb0a81ebf6c3 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 5 Sep 2016 00:07:30 -0400 Subject: [PATCH 102/138] Automatic changelog generation for PR #5618 --- html/changelogs/AutoChangeLog-pr-5618.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5618.yml diff --git a/html/changelogs/AutoChangeLog-pr-5618.yml b/html/changelogs/AutoChangeLog-pr-5618.yml new file mode 100644 index 00000000000..a1a50d1fc7a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5618.yml @@ -0,0 +1,4 @@ +author: Aurorablade +delete-after: True +changes: + - rscadd: "*fart now has newtonian move if you have the Superfart power" From 02ffbd084e74e989e8fcf2b37b1c50c34f48f74d Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 5 Sep 2016 03:35:29 -0700 Subject: [PATCH 103/138] Creates Syndicate Team Radio Frequency --- code/controllers/communications.dm | 7 ++++++- code/defines/procs/radio.dm | 2 +- code/game/machinery/telecomms/broadcaster.dm | 4 ++++ .../objects/items/devices/radio/encryptionkey.dm | 6 ++++++ code/game/objects/items/devices/radio/headset.dm | 6 ++++++ .../modules/admin/verbs/infiltratorteam_syndicate.dm | 4 ++-- code/modules/admin/verbs/striketeam_syndicate.dm | 12 ++---------- code/modules/mob/living/say.dm | 3 ++- code/modules/research/message_server.dm | 3 +++ 9 files changed, 32 insertions(+), 15 deletions(-) diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm index dc7cbe6a24d..fb167c04065 100644 --- a/code/controllers/communications.dm +++ b/code/controllers/communications.dm @@ -103,6 +103,7 @@ var/const/PUBLIC_HIGH_FREQ = 1489 var/const/RADIO_HIGH_FREQ = 1600 var/const/SYND_FREQ = 1213 +var/const/SYNDTEAM_FREQ = 1244 var/const/DTH_FREQ = 1341 var/const/AI_FREQ = 1343 var/const/ERT_FREQ = 1345 @@ -132,6 +133,7 @@ var/list/radiochannels = list( "Response Team" = ERT_FREQ, "Special Ops" = DTH_FREQ, "Syndicate" = SYND_FREQ, + "SyndTeam" = SYNDTEAM_FREQ, "Supply" = SUP_FREQ, "Service" = SRV_FREQ, "AI Private" = AI_FREQ, @@ -142,8 +144,11 @@ var/list/radiochannels = list( // central command channels, i.e deathsquid & response teams var/list/CENT_FREQS = list(ERT_FREQ, DTH_FREQ) +// Channels that show up as '#unkn' +var/list/UNKN_FREQS = list(SYND_FREQ) + // Antag channels, i.e. Syndicate -var/list/ANTAG_FREQS = list(SYND_FREQ) +var/list/ANTAG_FREQS = list(SYND_FREQ, SYNDTEAM_FREQ) //Department channels, arranged lexically var/list/DEPT_FREQS = list(AI_FREQ, COMM_FREQ, ENG_FREQ, MED_FREQ, SEC_FREQ, SCI_FREQ, SRV_FREQ, SUP_FREQ) diff --git a/code/defines/procs/radio.dm b/code/defines/procs/radio.dm index b78345b0638..89e5c4d0a71 100644 --- a/code/defines/procs/radio.dm +++ b/code/defines/procs/radio.dm @@ -7,7 +7,7 @@ var/freq_text // the name of the channel - if(display_freq in ANTAG_FREQS) + if(display_freq in UNKN_FREQS) freq_text = "#unkn" else for(var/channel in radiochannels) diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index 34be5ed1c67..44a3181b8b9 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -373,6 +373,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept blackbox.msg_deathsquad += blackbox_msg if(SYND_FREQ) blackbox.msg_syndicate += blackbox_msg + if(SYNDTEAM_FREQ) + blackbox.msg_syndteam += blackbox_msg if(SUP_FREQ) blackbox.msg_cargo += blackbox_msg if(SRV_FREQ) @@ -558,6 +560,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept blackbox.msg_deathsquad += blackbox_msg if(SYND_FREQ) blackbox.msg_syndicate += blackbox_msg + if(SYNDTEAM_FREQ) + blackbox.msg_syndteam += blackbox_msg if(SUP_FREQ) blackbox.msg_cargo += blackbox_msg if(SRV_FREQ) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index d6e1034ee74..7350f3965cc 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -21,6 +21,12 @@ origin_tech = "syndicate=3" syndie = 1 //Signifies that it de-crypts Syndicate transmissions +/obj/item/device/encryptionkey/syndteam + icon_state = "cypherkey" + channels = list("SyndTeam" = 1, "Syndicate" = 1) + origin_tech = "syndicate=4" + syndie = 1 //Signifies that it de-crypts Syndicate transmissions + /obj/item/device/encryptionkey/binary name = "binary translator key" desc = "An encryption key for a radio headset. To access the binary channel, use :b." diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 214e87d1f87..ecb1c38d9d7 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -96,6 +96,12 @@ icon_state = "syndie_headset" item_state = "syndie_headset" +/obj/item/device/radio/headset/syndicate/syndteam + ks1type = /obj/item/device/encryptionkey/syndteam + +/obj/item/device/radio/headset/syndicate/alt/syndteam + ks1type = /obj/item/device/encryptionkey/syndteam + /obj/item/device/radio/headset/binary origin_tech = "syndicate=3" ks1type = /obj/item/device/encryptionkey/binary diff --git a/code/modules/admin/verbs/infiltratorteam_syndicate.dm b/code/modules/admin/verbs/infiltratorteam_syndicate.dm index 3babf7d44e3..e49a2f72939 100644 --- a/code/modules/admin/verbs/infiltratorteam_syndicate.dm +++ b/code/modules/admin/verbs/infiltratorteam_syndicate.dm @@ -188,8 +188,8 @@ var/global/sent_syndicate_infiltration_team = 0 D.implant(src) // Radio & PDA - var/obj/item/device/radio/R = new /obj/item/device/radio/headset/syndicate(src) - R.set_frequency(SYND_FREQ) //Same frequency as the syndicate team in Nuke mode. + var/obj/item/device/radio/R = new /obj/item/device/radio/headset/syndicate/syndteam(src) + R.set_frequency(SYNDTEAM_FREQ) equip_to_slot_or_del(R, slot_l_ear) equip_or_collect(new /obj/item/device/pda(src), slot_in_backpack) diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index 5460d90dd6a..33512a3fe10 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -82,14 +82,6 @@ var/global/sent_syndicate_strike_team = 0 new_syndicate_commando.faction += "syndicate" syndicate_commando_number-- -//Spawns the rest of the commando gear. -// for(var/obj/effect/landmark/L) - // if(L.name == "Commando_Manual") - //new /obj/item/weapon/gun/energy/pulse_rifle(L.loc) - // var/obj/item/weapon/paper/P = new(L.loc) - // P.info = "

Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
#1 Work as a team.
#2 Accomplish your objective at all costs.
#3 Leave no witnesses.
You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.

In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.

Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
To make the device functional:
#1 Place bomb in designated detonation zone
#2 Extend and anchor bomb (attack with hand).
#3 Insert Nuclear Auth. Disk into slot.
#4 Type numeric code into keypad ([nuke_code]).
Note: If you make a mistake press R to reset the device.
#5 Press the E button to log onto the device.
You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
Note: Toggle off the SAFETY.
Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
Note: THE BOMB IS STILL SET AND WILL DETONATE
Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.

The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]

Good luck, soldier!

" - // P.name = "Spec. Ops. Manual" - for(var/obj/effect/landmark/L in landmarks_list) if(L.name == "Syndicate-Commando-Bomb") new /obj/effect/spawner/newbomb/timer/syndicate(L.loc) @@ -126,8 +118,8 @@ var/global/sent_syndicate_strike_team = 0 /mob/living/carbon/human/proc/equip_syndicate_commando(syndicate_leader_selected = 0) - var/obj/item/device/radio/R = new /obj/item/device/radio/headset/syndicate/alt(src) - R.set_frequency(SYND_FREQ) //Same frequency as the syndicate team in Nuke mode. + var/obj/item/device/radio/R = new /obj/item/device/radio/headset/syndicate/alt/syndteam(src) + R.set_frequency(SYNDTEAM_FREQ) equip_to_slot_or_del(R, slot_l_ear) equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(src), slot_w_uniform) equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/syndie/advance(src), slot_shoes) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index dbcefec7365..e534d67ee72 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -29,7 +29,8 @@ var/list/department_radio_keys = list( ":U" = "Supply", "#U" = "Supply", ".U" = "Supply", ":Z" = "Service", "#Z" = "Service", ".Z" = "Service", ":P" = "AI Private", "#P" = "AI Private", ".P" = "AI Private", - ":-" = "Special Ops", "#-" = "Special Ops", ".-" = "Special Ops" + ":-" = "Special Ops", "#-" = "Special Ops", ".-" = "Special Ops", + ":_" = "SyndTeam", "#_" = "SyndTeam", "._" = "SyndTeam" ) diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 815f6d1fe58..f2a5c4142d8 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -209,6 +209,7 @@ var/obj/machinery/blackbox_recorder/blackbox var/list/msg_security = list() var/list/msg_deathsquad = list() var/list/msg_syndicate = list() + var/list/msg_syndteam = list() var/list/msg_mining = list() var/list/msg_cargo = list() var/list/msg_service = list() @@ -235,6 +236,7 @@ var/obj/machinery/blackbox_recorder/blackbox BR.msg_security = msg_security BR.msg_deathsquad = msg_deathsquad BR.msg_syndicate = msg_syndicate + BR.msg_syndteam = msg_syndteam BR.msg_mining = msg_mining BR.msg_cargo = msg_cargo BR.msg_service = msg_service @@ -277,6 +279,7 @@ var/obj/machinery/blackbox_recorder/blackbox feedback_add_details("radio_usage","SEC-[msg_security.len]") feedback_add_details("radio_usage","DTH-[msg_deathsquad.len]") feedback_add_details("radio_usage","SYN-[msg_syndicate.len]") + feedback_add_details("radio_usage","SYT-[msg_syndteam.len]") feedback_add_details("radio_usage","MIN-[msg_mining.len]") feedback_add_details("radio_usage","CAR-[msg_cargo.len]") feedback_add_details("radio_usage","SRV-[msg_service.len]") From 0ce93c9706f6f258f5d88f538fb14cca31196559 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Mon, 5 Sep 2016 17:42:20 -0400 Subject: [PATCH 104/138] Automatic changelog generation for PR #5621 --- html/changelogs/AutoChangeLog-pr-5621.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5621.yml diff --git a/html/changelogs/AutoChangeLog-pr-5621.yml b/html/changelogs/AutoChangeLog-pr-5621.yml new file mode 100644 index 00000000000..e8eb3a73fb3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5621.yml @@ -0,0 +1,4 @@ +author: IcyV +delete-after: True +changes: + - rscadd: "Buckets can be worn as hats." From aefb664a582a7607fb9c70e0ceeead85809bffff Mon Sep 17 00:00:00 2001 From: Krausus Date: Mon, 5 Sep 2016 22:33:10 -0400 Subject: [PATCH 105/138] Implements UIDs and initial topic integration --- code/__HELPERS/unique_ids.dm | 46 +++++++++++++++++++++++++++++ code/modules/client/client procs.dm | 9 ++++++ paradise.dme | 1 + 3 files changed, 56 insertions(+) create mode 100644 code/__HELPERS/unique_ids.dm diff --git a/code/__HELPERS/unique_ids.dm b/code/__HELPERS/unique_ids.dm new file mode 100644 index 00000000000..bd77c358aa8 --- /dev/null +++ b/code/__HELPERS/unique_ids.dm @@ -0,0 +1,46 @@ +// Unique Datum Identifiers + +// Basically, a replacement for plain \refs that ensure the reference still +// points to the exact same datum/client, but doesn't prevent GC like tags do. + +// Turns this: +// var/myref = "\ref[mydatum]" +// var/datum/D = locate(myref) +// into this: +// var/myUID = mydatum.UID() +// var/datum/D = locateUID(myUID) + +var/global/next_unique_datum_id = 1 + +/datum/var/tmp/unique_datum_id = null +/client/var/tmp/unique_datum_id = null + +/datum/proc/UID() + if(!unique_datum_id) + var/tag_backup = tag + tag = null // Grab the raw ref, not the tag + unique_datum_id = "\ref[src]_[next_unique_datum_id++]" + tag = tag_backup + return unique_datum_id + +/client/proc/UID() + if(!unique_datum_id) + unique_datum_id = "\ref[src]_[next_unique_datum_id++]" + return unique_datum_id + +/proc/locateUID(uid) + if(!istext(uid)) + return null + + var/splitat = findlasttext(uid, "_") + + if(!splitat) + return null + + var/datum/D = locate(copytext(uid, 1, splitat)) + + // We might locate a client instead of a datum, but just using : is easier + // than actually checking and typecasting + if(D && D:unique_datum_id == uid) + return D + return null diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 254b890e7b3..37035fbea72 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -29,6 +29,15 @@ if(!usr || usr != mob) //stops us calling Topic for somebody else's client. Also helps prevent usr=null return + // src should always be a UID; if it isn't, warn instead of failing entirely + if(href_list["src"]) + hsrc = locateUID(href_list["src"]) + if(!hsrc) + hsrc = locate(href_list["src"]) + if(hsrc) + var/hsrc_info = datum_info_line(hsrc) || "[hsrc]" + log_runtime(EXCEPTION("Got \\ref-based src in topic from [src] for [hsrc_info], should be UID: [href]")) + #if defined(TOPIC_DEBUGGING) to_chat(world, "[src]'s Topic: [href] destined for [hsrc].") #endif diff --git a/paradise.dme b/paradise.dme index 7246870bf24..5c300cf1936 100644 --- a/paradise.dme +++ b/paradise.dme @@ -66,6 +66,7 @@ #include "code\__HELPERS\text.dm" #include "code\__HELPERS\time.dm" #include "code\__HELPERS\type2type.dm" +#include "code\__HELPERS\unique_ids.dm" #include "code\__HELPERS\unsorted.dm" #include "code\_DATASTRUCTURES\heap.dm" #include "code\_DATASTRUCTURES\linked_lists.dm" From 92405288d22e9adc18ad045966805e3d73a82a06 Mon Sep 17 00:00:00 2001 From: Krausus Date: Mon, 5 Sep 2016 22:46:34 -0400 Subject: [PATCH 106/138] UID mass replace: src=\ref[src] --- .../components/binary_devices/dp_vent_pump.dm | 6 +- .../components/binary_devices/passive_gate.dm | 4 +- .../components/binary_devices/pump.dm | 4 +- .../components/binary_devices/valve.dm | 2 +- .../components/binary_devices/volume_pump.dm | 4 +- .../components/trinary_devices/filter.dm | 16 +-- .../components/trinary_devices/mixer.dm | 20 +-- .../unary_devices/outlet_injector.dm | 2 +- .../components/unary_devices/vent_pump.dm | 4 +- .../components/unary_devices/vent_scrubber.dm | 4 +- code/__HELPERS/game.dm | 4 +- code/__HELPERS/mobs.dm | 2 +- code/controllers/voting.dm | 20 +-- code/datums/mind.dm | 98 +++++++------- code/datums/wires/wires.dm | 6 +- .../gamemodes/changeling/evolution_menu.dm | 4 +- code/game/gamemodes/cult/ritual.dm | 60 ++++----- code/game/gamemodes/cult/talisman.dm | 18 +-- .../gamemodes/malfunction/Malf_Modules.dm | 4 +- .../miniantags/abduction/machinery/console.dm | 18 +-- .../abduction/machinery/dispenser.dm | 2 +- .../abduction/machinery/experiment.dm | 10 +- .../gamemodes/miniantags/bot_swarm/swarmer.dm | 2 +- code/game/gamemodes/wizard/artefact.dm | 8 +- code/game/gamemodes/wizard/soulstone.dm | 4 +- code/game/gamemodes/wizard/spellbook.dm | 6 +- code/game/machinery/ai_slipper.dm | 2 +- code/game/machinery/atmo_control.dm | 60 ++++----- .../atmoalter/area_atmos_computer.dm | 4 +- code/game/machinery/atmoalter/meter.dm | 2 +- code/game/machinery/autolathe.dm | 28 ++-- code/game/machinery/biogenerator.dm | 50 +++---- code/game/machinery/buttons.dm | 2 +- code/game/machinery/chiller.dm | 12 +- .../machinery/computer/HolodeckControl.dm | 34 ++--- code/game/machinery/computer/arcade.dm | 94 ++++++------- code/game/machinery/computer/honkputer.dm | 8 +- code/game/machinery/computer/medical.dm | 32 ++--- code/game/machinery/computer/message.dm | 52 ++++---- code/game/machinery/computer/pod.dm | 30 ++--- code/game/machinery/computer/prisoner.dm | 20 +-- code/game/machinery/computer/salvage_ship.dm | 24 ++-- code/game/machinery/computer/security.dm | 48 +++---- code/game/machinery/computer/skills.dm | 32 ++--- .../machinery/computer/specops_shuttle.dm | 6 +- code/game/machinery/computer/store.dm | 4 +- .../computer/syndicate_specops_shuttle.dm | 4 +- .../machinery/computer/telecrystalconsoles.dm | 10 +- code/game/machinery/cryopod.dm | 8 +- .../machinery/doors/airlock_electronics.dm | 14 +- code/game/machinery/doors/brigdoors.dm | 12 +- code/game/machinery/firealarm.dm | 4 +- code/game/machinery/guestpass.dm | 18 +-- code/game/machinery/lightswitch.dm | 4 +- code/game/machinery/magnet.dm | 14 +- code/game/machinery/navbeacon.dm | 8 +- code/game/machinery/newscaster.dm | 110 ++++++++-------- code/game/machinery/pipe/pipe_dispenser.dm | 94 ++++++------- code/game/machinery/programmable_unloader.dm | 32 ++--- code/game/machinery/requests_console.dm | 2 +- code/game/machinery/robot_fabricator.dm | 14 +- code/game/machinery/spaceheater.dm | 8 +- code/game/machinery/suit_storage_unit.dm | 24 ++-- code/game/machinery/syndicatebeacon.dm | 2 +- code/game/machinery/telecomms/logbrowser.dm | 14 +- .../telecomms/machine_interactions.dm | 22 ++-- code/game/machinery/telecomms/telemonitor.dm | 12 +- .../machinery/telecomms/traffic_control.dm | 30 ++--- code/game/machinery/turntable.dm | 10 +- code/game/mecha/combat/durand.dm | 2 +- code/game/mecha/combat/gygax.dm | 2 +- code/game/mecha/combat/honker.dm | 8 +- code/game/mecha/combat/marauder.dm | 6 +- code/game/mecha/combat/phazon.dm | 4 +- .../mecha/equipment/tools/medical_tools.dm | 10 +- .../game/mecha/equipment/tools/other_tools.dm | 8 +- code/game/mecha/equipment/tools/work_tools.dm | 4 +- code/game/mecha/equipment/weapons/weapons.dm | 2 +- code/game/mecha/mech_fabricator.dm | 24 ++-- code/game/mecha/mecha_topic.dm | 50 +++---- code/game/mecha/working/ripley.dm | 2 +- code/game/objects/items/blueprints.dm | 10 +- code/game/objects/items/crayons.dm | 14 +- code/game/objects/items/devices/camera_bug.dm | 12 +- .../objects/items/devices/floor_painter.dm | 8 +- code/game/objects/items/devices/paicard.dm | 14 +- .../objects/items/devices/traitordevices.dm | 4 +- code/game/objects/items/devices/uplinks.dm | 4 +- code/game/objects/items/stacks/stack.dm | 8 +- code/game/objects/items/toys.dm | 2 +- .../objects/items/weapons/flamethrower.dm | 2 +- .../items/weapons/implants/implantchair.dm | 4 +- .../items/weapons/implants/implantpad.dm | 10 +- code/game/objects/items/weapons/scrolls.dm | 2 +- .../objects/items/weapons/teleportation.dm | 14 +- code/game/objects/objs.dm | 8 +- code/game/objects/structures/engicart.dm | 16 +-- code/game/objects/structures/foodcart.dm | 24 ++-- code/game/objects/structures/janicart.dm | 10 +- code/game/objects/structures/noticeboard.dm | 2 +- code/game/objects/structures/safe.dm | 4 +- .../game/objects/structures/tank_dispenser.dm | 4 +- code/modules/admin/DB ban/functions.dm | 12 +- code/modules/admin/admin.dm | 102 +++++++------- .../admin/permissionverbs/permissionedit.dm | 14 +- code/modules/admin/player_panel.dm | 34 ++--- code/modules/admin/secrets.dm | 124 +++++++++--------- code/modules/admin/topic.dm | 78 +++++------ code/modules/admin/verbs/one_click_antag.dm | 16 +-- code/modules/arcade/prize_counter.dm | 4 +- code/modules/assembly/health.dm | 2 +- code/modules/assembly/infrared.dm | 10 +- code/modules/assembly/proximity.dm | 6 +- code/modules/assembly/signaler.dm | 22 ++-- code/modules/assembly/timer.dm | 10 +- code/modules/atmos_automation/console.dm | 20 +-- .../implementation/digital_valves.dm | 2 +- .../implementation/emitters.dm | 2 +- .../implementation/injectors.dm | 4 +- .../implementation/scrubbers.dm | 8 +- .../implementation/sensors.dm | 2 +- .../implementation/vent_pump.dm | 32 ++--- code/modules/atmos_automation/statements.dm | 32 ++--- code/modules/computer3/NTOS.dm | 6 +- .../computer3/computers/HolodeckControl.dm | 20 +-- code/modules/computer3/computers/card.dm | 14 +- .../computer3/computers/communications.dm | 56 ++++---- code/modules/computer3/computers/crew.dm | 4 +- code/modules/computer3/computers/medical.dm | 36 ++--- code/modules/computer3/computers/message.dm | 44 +++---- code/modules/computer3/computers/power.dm | 2 +- code/modules/computer3/computers/prisoner.dm | 12 +- code/modules/computer3/computers/robot.dm | 30 ++--- .../computer3/computers/scanconsole.dm | 38 +++--- code/modules/computer3/computers/security.dm | 46 +++---- code/modules/computer3/lapvend.dm | 36 ++--- code/modules/crafting/craft.dm | 6 +- code/modules/economy/ATM.dm | 30 ++--- code/modules/economy/Accounts.dm | 18 +-- code/modules/economy/EFTPOS.dm | 22 ++-- code/modules/economy/POS.dm | 32 ++--- code/modules/events/event_manager.dm | 44 +++---- .../food_and_drinks/drinks/bottler/bottler.dm | 12 +- .../kitchen_machinery/icecream_vat.dm | 32 ++--- .../kitchen_machinery/icecream_vat_2.dm | 22 ++-- .../kitchen_machinery/juicer.dm | 4 +- .../kitchen_machinery/kitchen_machine.dm | 4 +- code/modules/hydroponics/seed_storage.dm | 2 +- code/modules/hydroponics/trays/tray_tools.dm | 2 +- code/modules/karma/karma.dm | 54 ++++---- code/modules/library/computers/base.dm | 2 +- code/modules/library/computers/checkout.dm | 72 +++++----- code/modules/library/computers/public.dm | 14 +- code/modules/library/lib_machines.dm | 4 +- code/modules/logic/converter.dm | 4 +- code/modules/mining/equipment_locker.dm | 18 +-- code/modules/mining/laborcamp/laborstacker.dm | 10 +- code/modules/mining/machine_processing.dm | 40 +++--- code/modules/mining/machine_stacking.dm | 2 +- code/modules/mining/mint.dm | 32 ++--- code/modules/mining/money_bag.dm | 18 +-- code/modules/mining/satchel_ore_boxdm.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 2 +- code/modules/mob/hear_say.dm | 6 +- code/modules/mob/language.dm | 6 +- .../living/carbon/alien/humanoid/humanoid.dm | 10 +- .../mob/living/carbon/brain/posibrain.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 16 +-- .../mob/living/carbon/human/examine.dm | 8 +- code/modules/mob/living/carbon/human/human.dm | 58 ++++---- code/modules/mob/living/silicon/ai/ai.dm | 6 +- code/modules/mob/living/silicon/ai/say.dm | 2 +- .../modules/mob/living/silicon/pai/recruit.dm | 18 +-- .../silicon/robot/drone/drone_console.dm | 6 +- .../living/silicon/robot/drone/drone_items.dm | 12 +- .../modules/mob/living/silicon/robot/robot.dm | 16 +-- code/modules/mob/living/silicon/silicon.dm | 10 +- .../mob/living/simple_animal/bot/bot.dm | 8 +- .../mob/living/simple_animal/bot/cleanbot.dm | 6 +- .../mob/living/simple_animal/bot/ed209bot.dm | 14 +- .../mob/living/simple_animal/bot/floorbot.dm | 20 +-- .../mob/living/simple_animal/bot/medbot.dm | 28 ++-- .../mob/living/simple_animal/bot/mulebot.dm | 30 ++--- .../mob/living/simple_animal/bot/secbot.dm | 14 +- .../living/simple_animal/friendly/corgi.dm | 6 +- .../mob/living/simple_animal/parrot.dm | 4 +- .../mob/living/simple_animal/simple_animal.dm | 6 +- code/modules/mob/mob.dm | 6 +- code/modules/mob/new_player/new_player.dm | 18 +-- code/modules/mob/new_player/poll.dm | 12 +- code/modules/ninja/suit/SpiderOS.dm | 40 +++--- code/modules/paperwork/clipboard.dm | 10 +- code/modules/paperwork/fax.dm | 12 +- code/modules/paperwork/filingcabinet.dm | 2 +- code/modules/paperwork/folders.dm | 8 +- code/modules/paperwork/paper.dm | 4 +- code/modules/paperwork/paper_bundle.dm | 14 +- code/modules/paperwork/photocopier.dm | 10 +- code/modules/pda/ai.dm | 4 +- code/modules/power/generator.dm | 2 +- code/modules/power/generator_type2.dm | 2 +- code/modules/power/gravitygenerator.dm | 4 +- code/modules/power/singularity/emitter.dm | 2 +- .../particle_accelerator/particle_control.dm | 8 +- code/modules/power/turbine.dm | 10 +- code/modules/projectiles/guns/dartgun.dm | 8 +- .../projectiles/guns/energy/special.dm | 12 +- code/modules/reagents/Chemistry-Machinery.dm | 18 +-- code/modules/reagents/pandemic.dm | 10 +- code/modules/recycling/sortingmachinery.dm | 2 +- code/modules/research/experimentor.dm | 22 ++-- code/modules/research/rdconsole.dm | 2 +- code/modules/research/rdmachines.dm | 2 +- code/modules/research/server.dm | 22 ++-- .../artifact/artifact_replicator.dm | 2 +- .../xenoarchaeology/genetics/reconstitutor.dm | 12 +- .../machinery/artifact_analyser.dm | 6 +- .../machinery/artifact_harvester.dm | 10 +- .../tools/ano_device_battery.dm | 12 +- .../tools/suspension_generator.dm | 30 ++--- .../tools/tools_depthscanner.dm | 10 +- .../xenoarchaeology/tools/tools_locater.dm | 12 +- code/modules/shuttle/shuttle.dm | 6 +- code/modules/spacepods/pod_fabricator.dm | 24 ++-- code/modules/telesci/gps.dm | 2 +- code/modules/telesci/telesci_computer.dm | 18 +-- code/modules/tram/tram_control_pad.dm | 4 +- 227 files changed, 1877 insertions(+), 1877 deletions(-) diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm index 06fe22de2ce..6f8da094151 100644 --- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm @@ -240,9 +240,9 @@ /obj/machinery/atmospherics/binary/dp_vent_pump/multitool_menu(var/mob/user,var/obj/item/device/multitool/P) return {"
"} diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index e53c89f787d..4f3c3d65635 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -89,9 +89,9 @@ return 1 /obj/machinery/atmospherics/binary/passive_gate/interact(mob/user as mob) - var/dat = {"Power: [on?"On":"Off"]
+ var/dat = {"Power: [on?"On":"Off"]
Desirable output pressure: - [round(target_pressure,0.1)]kPa | Change + [round(target_pressure,0.1)]kPa | Change "} var/datum/browser/popup = new(user, "atmo_pump", name, 400, 400) diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index e6b66d873b0..3b1ca109a81 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -104,9 +104,9 @@ Thus, the two variables affect pump operation are set in New(): return 1 /obj/machinery/atmospherics/binary/pump/interact(mob/user as mob) - var/dat = {"Power: [on?"On":"Off"]
+ var/dat = {"Power: [on?"On":"Off"]
Desirable output pressure: - [round(target_pressure,0.1)]kPa | Change + [round(target_pressure,0.1)]kPa | Change "} var/datum/browser/popup = new(user, "atmo_pump", name, 400, 400) diff --git a/code/ATMOSPHERICS/components/binary_devices/valve.dm b/code/ATMOSPHERICS/components/binary_devices/valve.dm index b9ab8a4272d..1a2a4ea541f 100644 --- a/code/ATMOSPHERICS/components/binary_devices/valve.dm +++ b/code/ATMOSPHERICS/components/binary_devices/valve.dm @@ -139,7 +139,7 @@ /obj/machinery/atmospherics/binary/valve/digital/multitool_menu(var/mob/user,var/obj/item/device/multitool/P) return {" "} diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm index 8ae59b54358..80e1ad2e8b9 100644 --- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm @@ -100,9 +100,9 @@ Thus, the two variables affect pump operation are set in New(): return 1 /obj/machinery/atmospherics/binary/volume_pump/interact(mob/user as mob) - var/dat = {"Power: [on?"On":"Off"]
+ var/dat = {"Power: [on?"On":"Off"]
Desirable output flow: - [round(transfer_rate,1)]l/s | Change + [round(transfer_rate,1)]l/s | Change "} var/datum/browser/popup = new(user, "atmo_pump", name, 400, 400) diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index 833454e51a8..a2c1a80e7ea 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -174,17 +174,17 @@ Filter types: current_filter_type = "ERROR - Report this bug to the admin, please!" dat += {" - Power: [on?"On":"Off"]
+ Power: [on?"On":"Off"]
Filtering: [current_filter_type]

Set Filter Type:

- Toxins
- Oxygen
- Nitrogen
- Carbon Dioxide
- Nitrous Oxide
- Nothing
+ Toxins
+ Oxygen
+ Nitrogen
+ Carbon Dioxide
+ Nitrous Oxide
+ Nothing

Desirable output pressure: - [src.target_pressure]kPa | Change + [src.target_pressure]kPa | Change "} /* user << browse("[src.name] control[dat]","window=atmo_filter") diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index 35d031dcf46..bef88fe6f3b 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -116,23 +116,23 @@ to_chat(user, "Access denied.") return usr.set_machine(src) - var/dat = {"Power: [on?"On":"Off"]
+ var/dat = {"Power: [on?"On":"Off"]
Desirable output pressure: - [target_pressure]kPa | Change + [target_pressure]kPa | Change
Node 1 Concentration: - - - - + - + - [node1_concentration]([node1_concentration*100]%) - + - + + + + +
Node 2 Concentration: - - - - + - + - [node2_concentration]([node2_concentration*100]%) - + - + + + + + "} var/datum/browser/popup = new(user, "atmo_mixer", name, 400, 400) diff --git a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm index cdf11742ad8..f30ca5a016c 100644 --- a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm @@ -162,7 +162,7 @@ /obj/machinery/atmospherics/unary/outlet_injector/multitool_menu(var/mob/user,var/obj/item/device/multitool/P) return {" "} diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm index 338c1a02e9c..37ce3b19057 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm @@ -397,9 +397,9 @@ /obj/machinery/atmospherics/unary/vent_pump/multitool_menu(var/mob/user,var/obj/item/device/multitool/P) return {" "} diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm index 98d6a0db879..8570977d617 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm @@ -339,9 +339,9 @@ /obj/machinery/atmospherics/unary/vent_scrubber/multitool_menu(var/mob/user,var/obj/item/device/multitool/P) return {" "} diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 5c11daabdba..8e0b22ffc2b 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -1,8 +1,8 @@ /proc/dopage(src,target) var/href_list var/href - href_list = params2list("src=\ref[src]&[target]=1") - href = "src=\ref[src];[target]=1" + href_list = params2list("src=[src:UID()]&[target]=1") + href = "src=[src:UID()];[target]=1" src:temphtml = null src:Topic(href, href_list) return null diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 15bd69df376..25a9497e0e1 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -324,7 +324,7 @@ proc/add_logs(mob/user, mob/target, what_done, var/object=null, var/addition=nul to_chat(user, "Name = [M.name]; Real_name = [M.real_name]; Mind_name = [M.mind?"[M.mind.name]":""]; Key = [M.key];") to_chat(user, "Location = [location_description];") to_chat(user, "[special_role_description]") - to_chat(user, "(PM) (PP) (VV) (SM) (FLW) (CA)") + to_chat(user, "(PM) (PP) (VV) (SM) (FLW) (CA)") // Gets the first mob contained in an atom, and warns the user if there's not exactly one /proc/get_mob_in_atom_with_warning(atom/A, mob/user = usr) diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm index 451fdbd99e3..55abf2834f1 100644 --- a/code/controllers/voting.dm +++ b/code/controllers/voting.dm @@ -256,7 +256,7 @@ var/global/list/round_voters = list() //Keeps track of the individuals voting fo log_vote(text) to_chat(world, {"[text] - Click here or type vote to place your vote. + Click here or type vote to place your vote. You have [config.vote_period/10] seconds to vote."}) switch(vote_type) if("crew_transfer") @@ -308,34 +308,34 @@ var/global/list/round_voters = list() //Keeps track of the individuals voting fo if(mode) dat += "
[vote_html(C)]

" if(admin) - dat += "(Cancel Vote) " + dat += "(Cancel Vote) " else dat += "

Start a vote:



" var/datum/browser/popup = new(C.mob, "vote", "Voting Panel", nref=src) popup.set_content(dat) @@ -356,9 +356,9 @@ var/global/list/round_voters = list() //Keeps track of the individuals voting fo if(!votes) votes = 0 if(current_votes[C.ckey] == i) - . += "
  • [choices[i]] ([votes] vote\s)
  • " + . += "
  • [choices[i]] ([votes] vote\s)
  • " else - . += "
  • [choices[i]] ([votes] vote\s)
  • " + . += "
  • [choices[i]] ([votes] vote\s)
  • " . += "" diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 9600edf62b9..0fc63dd0ae9 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -134,7 +134,7 @@ var/out = "[name][(current&&(current.real_name!=name))?" (as [current.real_name])":""]
    " out += "Mind currently owned by key: [key] [active?"(synced)":"(not synced)"]
    " - out += "Assigned role: [assigned_role]. Edit
    " + out += "Assigned role: [assigned_role]. Edit
    " out += "Factions and special roles:
    " var/list/sections = list( @@ -152,9 +152,9 @@ if(istype(current, /mob/living/carbon/human)) /** Impanted**/ if(isloyal(H)) - text = "Mindshield Implant:Remove|Implanted
    " + text = "Mindshield Implant:Remove|Implanted
    " else - text = "Mindshield Implant:No Implant|Implant him!
    " + text = "Mindshield Implant:No Implant|Implant him!
    " sections["implant"] = text /** REVOLUTION ***/ text = "revolution" @@ -164,26 +164,26 @@ if(isloyal(H)) text += "NO|headrev|rev" else if(src in ticker.mode.head_revolutionaries) - text += "no|HEADREV|rev" - text += "
    Flash: give" + text += "no|HEADREV|rev" + text += "
    Flash: give" var/list/L = current.get_contents() var/obj/item/device/flash/flash = locate() in L if(flash) if(!flash.broken) - text += "|take." + text += "|take." else - text += "|take|repair." + text += "|take|repair." else text += "." - text += " Reequip (gives traitor uplink)." + text += " Reequip (gives traitor uplink)." if(objectives.len==0) - text += "
    Objectives are empty! Set to kill all heads." + text += "
    Objectives are empty! Set to kill all heads." else if(src in ticker.mode.revolutionaries) - text += "no|headrev|REV" + text += "no|headrev|REV" else - text += "NO|headrev|rev" + text += "NO|headrev|rev" if(current && current.client && (ROLE_REV in current.client.prefs.be_special)) text += "|Enabled in Prefs" @@ -200,14 +200,14 @@ if(isloyal(H)) text += "NO|cultist" else if(src in ticker.mode.cult) - text += "no|CULTIST" - text += "
    Give tome|equip." + text += "no|CULTIST" + text += "
    Give tome|equip." /* if(objectives.len==0) - text += "
    Objectives are empty! Set to sacrifice and escape or summon." + text += "
    Objectives are empty! Set to sacrifice and escape or summon." */ else - text += "NO|cultist" + text += "NO|cultist" if(current && current.client && (ROLE_CULTIST in current.client.prefs.be_special)) @@ -223,12 +223,12 @@ text = uppertext(text) text = "[text]: " if(src in ticker.mode.wizards) - text += "WIZARD|no" - text += "
    To lair, undress, dress up, let choose name." + text += "WIZARD|no" + text += "
    To lair, undress, dress up, let choose name." if(objectives.len==0) - text += "
    Objectives are empty! Randomize!" + text += "
    Objectives are empty! Randomize!" else - text += "wizard|NO" + text += "wizard|NO" if(current && current.client && (ROLE_WIZARD in current.client.prefs.be_special)) text += "|Enabled in Prefs" @@ -243,13 +243,13 @@ text = uppertext(text) text = "[text]: " if(src in ticker.mode.changelings) - text += "CHANGELING|no" + text += "CHANGELING|no" if(objectives.len==0) - text += "
    Objectives are empty! Randomize!" + text += "
    Objectives are empty! Randomize!" if( changeling && changeling.absorbed_dna.len && (current.real_name != changeling.absorbed_dna[1]) ) - text += "
    Transform to initial appearance." + text += "
    Transform to initial appearance." else - text += "changeling|NO" + text += "changeling|NO" if(current && current.client && (ROLE_CHANGELING in current.client.prefs.be_special)) text += "|Enabled in Prefs" @@ -264,11 +264,11 @@ text = uppertext(text) text = "[text]: " if(src in ticker.mode.vampires) - text += "VAMPIRE|no" + text += "VAMPIRE|no" if(objectives.len==0) - text += "
    Objectives are empty! Randomize!" + text += "
    Objectives are empty! Randomize!" else - text += "vampire|NO" + text += "vampire|NO" if(current && current.client && (ROLE_VAMPIRE in current.client.prefs.be_special)) text += "|Enabled in Prefs" @@ -277,7 +277,7 @@ /** Enthralled ***/ text += "
    enthralled: " if(src in ticker.mode.vampire_enthralled) - text += "THRALL|no" + text += "THRALL|no" else text += "thrall|NO" @@ -290,17 +290,17 @@ text = uppertext(text) text = "[text]: " if(src in ticker.mode.syndicates) - text += "OPERATIVE|no" - text += "
    To shuttle, undress, dress up." + text += "OPERATIVE|no" + text += "
    To shuttle, undress, dress up." var/code for(var/obj/machinery/nuclearbomb/bombue in machines) if(length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN") code = bombue.r_code break if(code) - text += " Code is [code]. tell the code." + text += " Code is [code]. tell the code." else - text += "operative|NO" + text += "operative|NO" if(current && current.client && (ROLE_OPERATIVE in current.client.prefs.be_special)) text += "|Enabled in Prefs" @@ -315,11 +315,11 @@ text = uppertext(text) text = "[text]: " if(src in ticker.mode.shadows) - text += "SHADOWLING|thrall|no" + text += "SHADOWLING|thrall|no" else if(src in ticker.mode.shadowling_thralls) - text += "Shadowling|THRALL|no" + text += "Shadowling|THRALL|no" else - text += "shadowling|thrall|NO" + text += "shadowling|thrall|NO" if(current && current.client && (ROLE_SHADOWLING in current.client.prefs.be_special)) text += "|Enabled in Prefs" @@ -335,10 +335,10 @@ text = uppertext(text) text = "[text]: " if(src in ticker.mode.abductors) - text += "ABDUCTOR|no" - text += "|undress|equip" + text += "ABDUCTOR|no" + text += "|undress|equip" else - text += "abductor|NO" + text += "abductor|NO" if(current && current.client && (ROLE_ABDUCTOR in current.client.prefs.be_special)) text += "|Enabled in Prefs" @@ -354,11 +354,11 @@ text = uppertext(text) text = "[text]: " if(src in ticker.mode.traitors) - text += "TRAITOR|no" + text += "TRAITOR|no" if(objectives.len==0) - text += "
    Objectives are empty! Randomize!" + text += "
    Objectives are empty! Randomize!" else - text += "traitor|NO" + text += "traitor|NO" if(current && current.client && (ROLE_TRAITOR in current.client.prefs.be_special)) text += "|Enabled in Prefs" @@ -373,14 +373,14 @@ text = "silicon" var/mob/living/silicon/robot/robot = current if(istype(robot) && robot.emagged) - text += "
    Cyborg: Is emagged! Unemag!
    0th law: [robot.laws.zeroth_law]" + text += "
    Cyborg: Is emagged! Unemag!
    0th law: [robot.laws.zeroth_law]" var/mob/living/silicon/ai/ai = current if(istype(ai) && ai.connected_robots.len) var/n_e_robots = 0 for(var/mob/living/silicon/robot/R in ai.connected_robots) if(R.emagged) n_e_robots++ - text += "
    [n_e_robots] of [ai.connected_robots.len] slaved cyborgs are emagged. Unemag" + text += "
    [n_e_robots] of [ai.connected_robots.len] slaved cyborgs are emagged. Unemag" if(ticker.mode.config_tag == "traitorchan") if(sections["traitor"]) @@ -411,15 +411,15 @@ (src in ticker.mode.syndicates)) && \ istype(current,/mob/living/carbon/human) ) - text = "Uplink: give" + text = "Uplink: give" var/obj/item/device/uplink/hidden/suplink = find_syndicate_uplink() var/crystals if(suplink) crystals = suplink.uses if(suplink) - text += "|take" + text += "|take" if(usr.client.holder.rights & (R_SERVER|R_EVENT)) - text += ", [crystals] crystals" + text += ", [crystals] crystals" else text += ", [crystals] crystals" text += "." //hiel grammar @@ -429,18 +429,18 @@ out += "Memory:
    " out += memory - out += "
    Edit memory
    " + out += "
    Edit memory
    " out += "Objectives:
    " if(objectives.len == 0) out += "EMPTY
    " else var/obj_count = 1 for(var/datum/objective/objective in objectives) - out += "[obj_count]: [objective.explanation_text] Edit Delete Toggle Completion
    " + out += "[obj_count]: [objective.explanation_text] Edit Delete Toggle Completion
    " obj_count++ - out += "Add objective

    " + out += "Add objective

    " - out += "Announce objectives

    " + out += "Announce objectives

    " usr << browse(out, "window=edit_memory[src];size=400x500") diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 995c494dc14..6d8866640e4 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -95,9 +95,9 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown", html += "" html += "[capitalize(colour)]" html += "" - html += "[IsColourCut(colour) ? "Mend" : "Cut"]" - html += " Pulse" - html += " [IsAttached(colour) ? "Detach" : "Attach"] Signaller" + html += "[IsColourCut(colour) ? "Mend" : "Cut"]" + html += " Pulse" + html += " [IsAttached(colour) ? "Detach" : "Attach"] Signaller" html += "" html += "" diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm index 43f08584823..4a6b3a2bd2c 100644 --- a/code/game/gamemodes/changeling/evolution_menu.dm +++ b/code/game/gamemodes/changeling/evolution_menu.dm @@ -95,7 +95,7 @@ var/list/sting_paths if(!ownsthis) { - body += "Evolve" + body += "Evolve" } body += ""; @@ -211,7 +211,7 @@ var/list/sting_paths Hover over a power to see more information
    Current ability choices remaining: [changeling.geneticpoints]
    By rendering a lifeform to a husk, we gain enough power to alter and adapt our evolutions.
    - (Readapt)
    + (Readapt)

    diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 5e6f63ef2da..e60b7406675 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -289,16 +289,16 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", words[w] = w notedat = {"
    Word translation notes
    - [words[1]] is [words[words[1]]] Clear
    - [words[2]] is [words[words[2]]] Clear
    - [words[3]] is [words[words[3]]] Clear
    - [words[4]] is [words[words[4]]] Clear
    - [words[5]] is [words[words[5]]] Clear
    - [words[6]] is [words[words[6]]] Clear
    - [words[7]] is [words[words[7]]] Clear
    - [words[8]] is [words[words[8]]] Clear
    - [words[9]] is [words[words[9]]] Clear
    - [words[10]] is [words[words[10]]] Clear
    + [words[1]] is [words[words[1]]] Clear
    + [words[2]] is [words[words[2]]] Clear
    + [words[3]] is [words[words[3]]] Clear
    + [words[4]] is [words[words[4]]] Clear
    + [words[5]] is [words[words[5]]] Clear
    + [words[6]] is [words[words[6]]] Clear
    + [words[7]] is [words[words[7]]] Clear
    + [words[8]] is [words[words[8]]] Clear
    + [words[9]] is [words[words[9]]] Clear
    + [words[10]] is [words[words[10]]] Clear
    "} usr << browse("[notedat]", "window=notes") // call(/obj/item/weapon/tome/proc/edit_notes)() @@ -311,16 +311,16 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", // to_chat(world, "its been called! [usr]") // notedat = {" //
    Word translation notes
    -// [words[1]] is [words[words[1]]] Clear
    -// [words[2]] is [words[words[2]]] Clear
    -// [words[3]] is [words[words[3]]] Clear
    -// [words[4]] is [words[words[4]]] Clear
    -// [words[5]] is [words[words[5]]] Clear
    -// [words[6]] is [words[words[6]]] Clear
    -// [words[7]] is [words[words[7]]] Clear
    -// [words[8]] is [words[words[8]]] Clear
    -// [words[9]] is [words[words[9]]] Clear
    -// [words[10]] is [words[words[10]]] Clear
    +// [words[1]] is [words[words[1]]] Clear
    +// [words[2]] is [words[words[2]]] Clear
    +// [words[3]] is [words[words[3]]] Clear
    +// [words[4]] is [words[words[4]]] Clear
    +// [words[5]] is [words[words[5]]] Clear
    +// [words[6]] is [words[words[6]]] Clear
    +// [words[7]] is [words[words[7]]] Clear
    +// [words[8]] is [words[words[8]]] Clear
    +// [words[9]] is [words[words[9]]] Clear
    +// [words[10]] is [words[words[10]]] Clear
    // "} // to_chat(usr, "whatev") // usr << browse(null, "window=tank") @@ -394,16 +394,16 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", return notedat = {"
    Word translation notes
    - [words[1]] is [words[words[1]]] Clear
    - [words[2]] is [words[words[2]]] Clear
    - [words[3]] is [words[words[3]]] Clear
    - [words[4]] is [words[words[4]]] Clear
    - [words[5]] is [words[words[5]]] Clear
    - [words[6]] is [words[words[6]]] Clear
    - [words[7]] is [words[words[7]]] Clear
    - [words[8]] is [words[words[8]]] Clear
    - [words[9]] is [words[words[9]]] Clear
    - [words[10]] is [words[words[10]]] Clear
    + [words[1]] is [words[words[1]]] Clear
    + [words[2]] is [words[words[2]]] Clear
    + [words[3]] is [words[words[3]]] Clear
    + [words[4]] is [words[words[4]]] Clear
    + [words[5]] is [words[words[5]]] Clear
    + [words[6]] is [words[words[6]]] Clear
    + [words[7]] is [words[words[7]]] Clear
    + [words[8]] is [words[words[8]]] Clear
    + [words[9]] is [words[words[9]]] Clear
    + [words[10]] is [words[words[10]]] Clear
    "} // call(/obj/item/weapon/tome/proc/edit_notes)() user << browse("[notedat]", "window=notes") diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index af678813fae..4f4cd137b80 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -62,15 +62,15 @@ var/dat = "There are [src.uses] bloody runes on the parchment.
    " dat += "Please choose the chant to be imbued into the fabric of reality.
    " dat += "


    " - dat += "N'ath reth sh'yro eth d'raggathnor! - Allows you to summon a new arcane tome.
    " - dat += "Sas'so c'arta forbici! - Allows you to move to a rune with the same last word.
    " - dat += "Ta'gh fara'qha fel d'amar det! - Allows you to destroy technology in a short range.
    " - dat += "Kla'atu barada nikt'o! - Allows you to conceal the runes you placed on the floor.
    " - dat += "O bidai nabora se'sma! - Allows you to coordinate with others of your cult.
    " - dat += "Fuu ma'jin - Allows you to stun a person by attacking them with the talisman.
    " - dat += "Sa tatha najin - Allows you to summon armoured robes and an unholy blade
    " - dat += "Kal om neth - Summons a soul stone
    " - dat += "Da A'ig Osk - Summons a construct shell for use with captured souls. It is too large to carry on your person.
    " + dat += "N'ath reth sh'yro eth d'raggathnor! - Allows you to summon a new arcane tome.
    " + dat += "Sas'so c'arta forbici! - Allows you to move to a rune with the same last word.
    " + dat += "Ta'gh fara'qha fel d'amar det! - Allows you to destroy technology in a short range.
    " + dat += "Kla'atu barada nikt'o! - Allows you to conceal the runes you placed on the floor.
    " + dat += "O bidai nabora se'sma! - Allows you to coordinate with others of your cult.
    " + dat += "Fuu ma'jin - Allows you to stun a person by attacking them with the talisman.
    " + dat += "Sa tatha najin - Allows you to summon armoured robes and an unholy blade
    " + dat += "Kal om neth - Summons a soul stone
    " + dat += "Da A'ig Osk - Summons a construct shell for use with captured souls. It is too large to carry on your person.
    " usr << browse(dat, "window=id_com;size=350x200") return diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index c656826dfdb..9842757dc8c 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -570,9 +570,9 @@ Install Module:
    The number afterwards is the amount of processing time it consumes.
    "} for(var/datum/AI_Module/large/module in src.possible_modules) - dat += "[module.module_name]\[?\] ([module.cost])
    " + dat += "[module.module_name]\[?\] ([module.cost])
    " for(var/datum/AI_Module/small/module in src.possible_modules) - dat += "[module.module_name]\[?\] ([module.cost])
    " + dat += "[module.module_name]\[?\] ([module.cost])
    " dat += "
    " if(src.temp) dat += "[src.temp]" diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm index cce429c3635..ddac0731249 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm @@ -62,19 +62,19 @@ var/points = experiment.points dat += "Collected Samples : [points]
    " dat += "Transfer data in exchange for supplies:
    " - dat += "Advanced Baton
    " - dat += "Agent Helmet
    " - dat += "Radio Silencer
    " - dat += "Science Tool
    " + dat += "Advanced Baton
    " + dat += "Agent Helmet
    " + dat += "Radio Silencer
    " + dat += "Science Tool
    " else dat += "NO EXPERIMENT MACHINE DETECTED
    " if(pad!=null) dat += "Emergency Teleporter System." dat += "Consider using primary observation console first." - dat += "Activate Teleporter
    " + dat += "Activate Teleporter
    " if(gizmo!=null && gizmo.marked!=null) - dat += "Retrieve Mark
    " + dat += "Retrieve Mark
    " else dat += "Retrieve Mark
    " else @@ -84,14 +84,14 @@ dat += "

    Agent Vest Mode


    " var/mode = vest.mode if(mode == VEST_STEALTH) - dat += "Combat" + dat += "Combat" dat += "Stealth" else dat += "Combat" - dat += "Stealth" + dat += "Stealth" dat+="
    " - dat += "Select Agent Vest Disguise
    " + dat += "Select Agent Vest Disguise
    " else dat += "NO AGENT VEST DETECTED" var/datum/browser/popup = new(user, "computer", "Abductor Console", 400, 500) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm index 065d2a189fb..4ead0232a2f 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm @@ -47,7 +47,7 @@ item_count++ var/g_color = gland_colors[i] var/amount = amounts[i] - dat += "[amount]" + dat += "[amount]" if(item_count == 3) // Three boxes per line dat +="

    " item_count = 0 diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm index 8adf07a60ba..aea520a48cc 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm @@ -65,9 +65,9 @@ dat += "" else dat += "ERR: Unable to retrieve image data for occupant." - dat += "Probe
    " - dat += "Dissect
    " - dat += "Analyze
    " + dat += "Probe
    " + dat += "Dissect
    " + dat += "Analyze
    " dat += "" else dat += "Experiment " @@ -87,8 +87,8 @@ dat += "
    " dat += "[flash]" dat += "
    " - dat += "Scan" - dat += "Eject Occupant" : "unoccupied=1'>Unoccupied"]" + dat += "Scan" + dat += "Eject Occupant" : "unoccupied=1'>Unoccupied"]" var/datum/browser/popup = new(user, "experiment", "Probing Console", 300, 300) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) popup.set_content(dat) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index b2a4f56ec13..56bb4dd14c5 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -6,7 +6,7 @@ icon_state = "swarmer_unactivated" /obj/item/unactivated_swarmer/New() - notify_ghosts("An unactivated swarmer has been created in [get_area(src)]!", enter_link = "(Click to enter)", source = src, attack_not_jump = 1) + notify_ghosts("An unactivated swarmer has been created in [get_area(src)]!", enter_link = "(Click to enter)", source = src, attack_not_jump = 1) ..() /obj/item/unactivated_swarmer/Topic(href, href_list) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 1865b6db5d2..34886dde2e0 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -21,13 +21,13 @@ dat += "Using this contract, you may summon an apprentice to aid you on your mission.
    " dat += "If you are unable to establish contact with your apprentice, you can feed the contract back to the spellbook to refund your points.
    " dat += "Which school of magic is your apprentice studying?:
    " - dat += "Destruction
    " + dat += "Destruction
    " dat += "Your apprentice is skilled in offensive magic. They know Magic Missile and Fireball.
    " - dat += "Bluespace Manipulation
    " + dat += "Bluespace Manipulation
    " dat += "Your apprentice is able to defy physics, melting through solid objects and travelling great distances in the blink of an eye. They know Teleport and Ethereal Jaunt.
    " - dat += "Healing
    " + dat += "Healing
    " dat += "Your apprentice is training to cast spells that will aid your survival. They know Forcewall and Charge and come with a Staff of Healing.
    " - dat += "Robeless
    " + dat += "Robeless
    " dat += "Your apprentice is training to cast spells without their robes. They know Knock and Mindswap.
    " user << browse(dat, "window=radio") onclose(user, "radio") diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 8758d61fc1e..a6e973fc536 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -51,9 +51,9 @@ var/dat = "Soul Stone
    " for(var/mob/living/simple_animal/shade/A in src) dat += "Captured Soul: [A.name]
    " - dat += {"Summon Shade"} + dat += {"Summon Shade"} dat += "
    " - dat += {" Close"} + dat += {" Close"} user << browse(dat, "window=aicard") onclose(user, "aicard") return diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index b2d610b3fc6..08a580923f4 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -602,7 +602,7 @@ var/list/cat_dat = list() for(var/category in categories) cat_dat[category] = "
    " - dat += "
  • [category]
  • " + dat += "
  • [category]
  • " dat += "
  • Points remaining : [uses]
  • " dat += "" @@ -613,11 +613,11 @@ E = entries[i] spell_info += E.GetInfo() if(E.CanBuy(user,src)) - spell_info+= "[E.buy_word]
    " + spell_info+= "[E.buy_word]
    " else spell_info+= "Can't [E.buy_word]
    " if(E.CanRefund(user,src)) - spell_info+= "Refund
    " + spell_info+= "Refund
    " spell_info += "
    " if(cat_dat[E.category]) cat_dat[E.category] += spell_info diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 1be15bef9e9..17def02752f 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -76,7 +76,7 @@ t += "(Swipe ID card to unlock control panel.)
    " else t += text("Dispenser [] - []?
    \n", src.disabled?"deactivated":"activated", src, src.disabled?"Enable":"Disable") - t += text("Uses Left: [uses]. Activate the dispenser?
    \n") + t += text("Uses Left: [uses]. Activate the dispenser?
    \n") user << browse(t, "window=computer;size=575x450") onclose(user, "computer") diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index c006eda987f..f534a86f31c 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -33,15 +33,15 @@ obj/machinery/air_sensor return {" Main "} multitool_topic(var/mob/user, var/list/href_list, var/obj/O) @@ -274,13 +274,13 @@ legend { var/dat= {" Main Sensors: "} + dat += {"
  • [sensors[id_tag]]
  • "} + dat += {"
  • \[+\]
  • "} return dat multitool_topic(var/mob/user,var/list/href_list,var/obj/O) @@ -339,7 +339,7 @@ legend { var/dat="" if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter)) - dat += " \[New Sensor\] " + dat += " \[New Sensor\] " return dat canLink(var/obj/O, var/list/context) @@ -386,15 +386,15 @@ legend { multitool_menu(var/mob/user, var/obj/item/device/multitool/P) var/dat= {" Sensors: "} + dat += {"
  • [sensors[id_tag]]
  • "} + dat += {"
  • \[+\]
  • "} return dat @@ -433,9 +433,9 @@ legend { linkMenu(var/obj/O) var/dat="" if(canLink(O,list("slot"="input"))) - dat += " \[Link @ Input\] " + dat += " \[Link @ Input\] " if(canLink(O,list("slot"="output"))) - dat += " \[Link @ Output\] " + dat += " \[Link @ Output\] " return dat canLink(var/obj/O, var/list/context) @@ -468,11 +468,11 @@ legend { var/volume_rate = input_info["volume_rate"] output += {"
    - Input (Refresh) + Input (Refresh) - + @@ -483,28 +483,28 @@ legend { "} else - output += "ERROR: Can not find input portSearch
    " + output += "ERROR: Can not find input portSearch
    " if(output_tag) if(output_info) var/power = (output_info["power"]) var/output_pressure = output_info["internal"] output += {"
    - Output (Refresh) + Output (Refresh)
    State:[power?("Injecting"):("On Hold")][power?("Injecting"):("On Hold")]
    Rate:
    - + - +
    State:[power?("Open"):("On Hold")][power?("Open"):("On Hold")]
    Max Output Pressure:[output_pressure] kPa[output_pressure] kPa
    "} else - output += "ERROR: Can not find output port Search
    " + output += "ERROR: Can not find output port Search
    " return output @@ -628,7 +628,7 @@ legend { return_text() var/output = ..() - output += "
    Fuel Injection System (Refresh)" + output += "
    Fuel Injection System (Refresh)" if(device_info) var/power = device_info["power"] var/volume_rate = device_info["volume_rate"] @@ -643,13 +643,13 @@ legend { Automated Fuel Injection: - [automation?"Engaged":"Disengaged"] + [automation?"Engaged":"Disengaged"] "} if(automation) // AUTOFIXED BY fix_string_idiocy.py - // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:372: output += "Automated Fuel Injection: Engaged
    " + // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:372: output += "Automated Fuel Injection: Engaged
    " output += {" Injector Controls Locked Out @@ -658,16 +658,16 @@ legend { else // AUTOFIXED BY fix_string_idiocy.py - // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:375: output += "Automated Fuel Injection: Disengaged
    " + // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:375: output += "Automated Fuel Injection: Disengaged
    " output += {" Injector: - Toggle Power Inject (1 Cycle) + Toggle Power Inject (1 Cycle) "} // END AUTOFIX output += "" else - output += {"

    ERROR: Can not find device. Search

    "} + output += {"

    ERROR: Can not find device. Search

    "} output += "
    " return output diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm index 36b680f1ebc..79a2a514de5 100644 --- a/code/game/machinery/atmoalter/area_atmos_computer.dm +++ b/code/game/machinery/atmoalter/area_atmos_computer.dm @@ -71,13 +71,13 @@

    Area Air Control

    [status]
    - Scan + Scan "} for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in connectedscrubbers) dat += {" - + "} dat += {" diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index 2b575f15b65..51d4ebc595c 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -153,6 +153,6 @@ return {" Main"} diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index b44d51c9b30..d00cbb211b2 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -346,12 +346,12 @@ var/multiplier = L[2] var/list/LL = get_design_cost_as_list(D,multiplier) var/is_stack = (multiplier>1) - output += "[initial(D.name)][is_stack?" (x[multiplier])":null] - [i>1?"":null] [i↓":null] Remove" + output += "[initial(D.name)][is_stack?" (x[multiplier])":null] - [i>1?"":null] [i↓":null] Remove" temp_metal = max(temp_metal-LL[1],1) temp_glass = max(temp_glass-LL[2],1) output += "" - output += "Clear queue" + output += "Clear queue" output += "" return output @@ -402,7 +402,7 @@ dat += "Metal amount: [materials.amount(MAT_METAL)] cm3
    " dat += "Glass amount: [materials.amount(MAT_GLASS)] cm3
    " - dat += "
    \ + dat += " \ \ \ \ @@ -418,7 +418,7 @@ dat += "
    " line_length = 1 - dat += "" + dat += "" line_length++ dat += "
    [scrubber.name]Turn On Turn OffTurn On Turn Off
    [C][C]
    " @@ -430,7 +430,7 @@ /obj/machinery/autolathe/proc/category_win(mob/user,var/selected_category) var/dat = "
    " dat += "
    " - dat += "Return to main menu" + dat += "Return to main menu" dat += "

    Browsing [selected_category]:


    " dat += "Total amount: [materials.total_amount] / [materials.max_amount] cm3
    " dat += "Metal amount: [materials.amount(MAT_METAL)] cm3
    " @@ -443,16 +443,16 @@ if(disabled || !can_build(D)) dat += "[D.name]" else - dat += "[D.name]" + dat += "[D.name]" if(ispath(D.build_path, /obj/item/stack)) var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS]?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY) if(max_multiplier>10 && !disabled) - dat += " x10" + dat += " x10" if(max_multiplier>25 && !disabled) - dat += " x25" + dat += " x25" if(max_multiplier > 0 && !disabled) - dat += " x[max_multiplier]" + dat += " x[max_multiplier]" dat += "[get_design_cost(D)]
    " @@ -465,7 +465,7 @@ /obj/machinery/autolathe/proc/search_win(mob/user) var/dat = "
    " dat += "
    " - dat += "Return to main menu" + dat += "Return to main menu" dat += "

    Search results:


    " dat += "Total amount: [materials.total_amount] / [materials.max_amount] cm3
    " dat += "Metal amount: [materials.amount(MAT_METAL)] cm3
    " @@ -475,16 +475,16 @@ if(disabled || !can_build(D)) dat += "[D.name]" else - dat += "[D.name]" + dat += "[D.name]" if(ispath(D.build_path, /obj/item/stack)) var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS]?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY) if(max_multiplier>10 && !disabled) - dat += " x10" + dat += " x10" if(max_multiplier>25 && !disabled) - dat += " x25" + dat += " x25" if(max_multiplier > 0 && !disabled) - dat += " x[max_multiplier]" + dat += " x[max_multiplier]" dat += "[get_design_cost(D)]
    " diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index fed2328570a..fa285e5e457 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -157,44 +157,44 @@ menustat = "menu" if(beaker) dat += "
    Biomass: [points] units.

    " - dat += "ActivateDetach Container
    " - dat += "Put fertilizer in: [in_beaker ? "Beaker" : "Bottle"]" + dat += "ActivateDetach Container
    " + dat += "Put fertilizer in: [in_beaker ? "Beaker" : "Bottle"]" dat += "

    Food:

    " dat += "
    " - dat += "10 milk: Make ([20/efficiency])
    " - dat += "10 cream: Make ([30/efficiency])
    " - dat += "Monkey cube: Make ([250/efficiency])" + dat += "10 milk: Make ([20/efficiency])
    " + dat += "10 cream: Make ([30/efficiency])
    " + dat += "Monkey cube: Make ([250/efficiency])" dat += "
    " dat += "

    Nutrients:

    " dat += "
    " - dat += "E-Z-Nutrient: Makex5 ([10/efficiency])
    " - dat += "Left 4 Zed: Makex5 ([20/efficiency])
    " - dat += "Robust Harvest: Makex5 ([25/efficiency])
    " + dat += "E-Z-Nutrient: Makex5 ([10/efficiency])
    " + dat += "Left 4 Zed: Makex5 ([20/efficiency])
    " + dat += "Robust Harvest: Makex5 ([25/efficiency])
    " dat += "
    " dat += "

    Leather:

    " dat += "
    " - dat += "Wallet: Make ([100/efficiency])
    " - dat += "Book bag: Make ([200/efficiency])
    " - dat += "Plant bag: Make ([200/efficiency])
    " - dat += "Rag: Make ([200/efficiency])
    " - dat += "Mining satchel: Make ([200/efficiency])
    " - dat += "Chemistry bag: Make ([200/efficiency])
    " - dat += "Botanical gloves: Make ([250/efficiency])
    " - dat += "Leather Satchel: Make ([400/efficiency])
    " - dat += "Cash Bag: Make ([400/efficiency])
    " - dat += "Leather Jacket: Make ([500/efficiency])
    " + dat += "Wallet: Make ([100/efficiency])
    " + dat += "Book bag: Make ([200/efficiency])
    " + dat += "Plant bag: Make ([200/efficiency])
    " + dat += "Rag: Make ([200/efficiency])
    " + dat += "Mining satchel: Make ([200/efficiency])
    " + dat += "Chemistry bag: Make ([200/efficiency])
    " + dat += "Botanical gloves: Make ([250/efficiency])
    " + dat += "Leather Satchel: Make ([400/efficiency])
    " + dat += "Cash Bag: Make ([400/efficiency])
    " + dat += "Leather Jacket: Make ([500/efficiency])
    " dat += "
    " dat += "

    Belts

    " dat += "
    " - dat += "Utility belt: Make ([300/efficiency])
    " - dat += "Botanist belt: Make ([300/efficiency])
    " - dat += "Security belt: Make ([300/efficiency])
    " - dat += "Medical belt: Make ([300/efficiency])
    " - dat += "Janitor belt: Make ([300/efficiency])
    " - dat += "Bandolier: Make ([300/efficiency])
    " + dat += "Utility belt: Make ([300/efficiency])
    " + dat += "Botanist belt: Make ([300/efficiency])
    " + dat += "Security belt: Make ([300/efficiency])
    " + dat += "Medical belt: Make ([300/efficiency])
    " + dat += "Janitor belt: Make ([300/efficiency])
    " + dat += "Bandolier: Make ([300/efficiency])
    " dat += "
    " //dat += "

    Other:

    " - //dat += "Monkey: Make ([400/efficiency])
    " + //dat += "Monkey: Make ([400/efficiency])
    " else dat += "
    No container inside. Please insert a container.
    " diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 5bff1c651ec..a5c65f7cae7 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -78,7 +78,7 @@ return {" "} diff --git a/code/game/machinery/chiller.dm b/code/game/machinery/chiller.dm index 45ec0337fea..adf81a0aff6 100644 --- a/code/game/machinery/chiller.dm +++ b/code/game/machinery/chiller.dm @@ -80,20 +80,20 @@ var/dat dat = "Power cell: " if(cell) - dat += "Installed
    " + dat += "Installed
    " else - dat += "Removed
    " + dat += "Removed
    " // AUTOFIXED BY fix_string_idiocy.py // C:\Users\Rob\Documents\Projects\vgstation13\code\ATMOSPHERICS\chiller.dm:95: dat += "Power Level: [cell ? round(cell.percent(),1) : 0]%

    " dat += {"Power Level: [cell ? round(cell.percent(),1) : 0]%

    Set Temperature: - - - - + - + - [temp]°C - + - +
    "} + + + +
    "} // END AUTOFIX user.set_machine(src) user << browse("Air Conditioner Control Panel[dat]", "window=aircond") diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 56a1f151876..eafdbe893ab 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -26,35 +26,35 @@ dat += "Holodeck Control System
    " dat += "
    Current Loaded Programs:
    " - dat += "((Empty Court))
    " - dat += "((Boxing Court))
    " - dat += "((Basketball Court))
    " - dat += "((Thunderdome Court))
    " - dat += "((Beach))
    " - dat += "((Desert))
    " - dat += "((Space))
    " - dat += "((Picnic Area))
    " - dat += "((Snow Field))
    " - dat += "((Theatre))
    " - dat += "((Meeting Hall))
    " - dat += "((Knight Arena))
    " -// dat += "((Shutdown System))
    " + dat += "((Empty Court))
    " + dat += "((Boxing Court))
    " + dat += "((Basketball Court))
    " + dat += "((Thunderdome Court))
    " + dat += "((Beach))
    " + dat += "((Desert))
    " + dat += "((Space))
    " + dat += "((Picnic Area))
    " + dat += "((Snow Field))
    " + dat += "((Theatre))
    " + dat += "((Meeting Hall))
    " + dat += "((Knight Arena))
    " +// dat += "((Shutdown System))
    " dat += "Please ensure that only holographic weapons are used in the holodeck if a combat simulation has been loaded.
    " if(emagged) -/* dat += "(Begin Atmospheric Burn Simulation)
    " +/* dat += "(Begin Atmospheric Burn Simulation)
    " dat += "Ensure the holodeck is empty before testing.
    " dat += "
    "*/ - dat += "(Begin Wildlife Simulation)
    " + dat += "(Begin Wildlife Simulation)
    " dat += "Ensure the holodeck is empty before testing.
    " dat += "
    " if(issilicon(user)) - dat += "(Re-Enable Safety Protocols?)
    " + dat += "(Re-Enable Safety Protocols?)
    " dat += "Safety Protocols are DISABLED
    " else if(issilicon(user)) - dat += "(Override Safety Protocols?)
    " + dat += "(Override Safety Protocols?)
    " dat += "
    " dat += "Safety Protocols are ENABLED
    " diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 48b1dadc406..65a1730bacd 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -82,18 +82,18 @@ if(..()) return user.set_machine(src) - var/dat = "Close" + var/dat = "Close" dat += "

    [enemy_name]

    " dat += "

    [temp]

    " dat += "
    Health: [player_hp] | Magic: [player_mp] | Enemy Health: [enemy_hp]
    " if(gameover) - dat += "
    New Game" + dat += "
    New Game" else - dat += "
    Attack | " - dat += "Heal | " - dat += "Recharge Power" + dat += "
    Attack | " + dat += "Heal | " + dat += "Recharge Power" dat += "
    " @@ -376,7 +376,7 @@ M.adjust_fire_stacks(5) M.IgniteMob() //flew into a star, so you're on fire to_chat(user, "You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames.") - dat += "

    OK...

    " + dat += "

    OK...

    " if(emagged) to_chat(user, "You're never going to make it to Orion...") @@ -398,16 +398,16 @@ dat += "
    Food: [food] | Fuel: [fuel]" dat += "
    Engine Parts: [engine] | Hull Panels: [hull] | Electronics: [electronics]" if(turns == 7) - dat += "

    Go Around Continue

    " + dat += "

    Go Around Continue

    " else - dat += "

    Continue

    " - dat += "

    Kill a crewmember

    " - dat += "

    Close

    " + dat += "

    Continue

    " + dat += "

    Kill a crewmember

    " + dat += "

    Close

    " else dat = "

    The Orion Trail

    " dat += "

    Experience the journey of your ancestors!



    " - dat += "
    New Game
    " - dat += "

    Close

    " + dat += "
    New Game
    " + dat += "

    Close

    " var/datum/browser/popup = new(user, "arcade", "The Orion Trail",400,700) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) @@ -693,39 +693,39 @@ eventdat += "
    [deadname] tried to fight back but was killed." else eventdat += "
    Fortunately you fended them off without any trouble." - eventdat += "

    Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Continue

    " + eventdat += "

    Close

    " if(ORION_TRAIL_FLUX) eventdat += "This region of space is highly turbulent.
    If we go slowly we may avoid more damage, but if we keep our speed we won't waste supplies." eventdat += "
    What will you do?" - eventdat += "

    Slow Down Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Slow Down Continue

    " + eventdat += "

    Close

    " if(ORION_TRAIL_ILLNESS) eventdat += "A deadly illness has been contracted!" var/deadname = remove_crewmember() eventdat += "
    [deadname] was killed by the disease." - eventdat += "

    Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Continue

    " + eventdat += "

    Close

    " if(ORION_TRAIL_BREAKDOWN) eventdat += "Oh no! The engine has broken down!" eventdat += "
    You can repair it with an engine part, or you can make repairs for 3 days." if(engine >= 1) - eventdat += "

    Use PartWait

    " + eventdat += "

    Use PartWait

    " else - eventdat += "

    Wait

    " - eventdat += "

    Close

    " + eventdat += "

    Wait

    " + eventdat += "

    Close

    " if(ORION_TRAIL_MALFUNCTION) eventdat += "The ship's systems are malfunctioning!" eventdat += "
    You can replace the broken electronics with spares, or you can spend 3 days troubleshooting the AI." if(electronics >= 1) - eventdat += "

    Use PartWait

    " + eventdat += "

    Use PartWait

    " else - eventdat += "

    Wait

    " - eventdat += "

    Close

    " + eventdat += "

    Wait

    " + eventdat += "

    Close

    " if(ORION_TRAIL_COLLISION) eventdat += "Something hit us! Looks like there's some hull damage." @@ -740,23 +740,23 @@ eventdat += "
    [deadname] was killed by rapid depressurization." eventdat += "
    You can repair the damage with hull plates, or you can spend the next 3 days welding scrap together." if(hull >= 1) - eventdat += "

    Use PartWait

    " + eventdat += "

    Use PartWait

    " else - eventdat += "

    Wait

    " - eventdat += "

    Close

    " + eventdat += "

    Wait

    " + eventdat += "

    Close

    " if(ORION_TRAIL_BLACKHOLE) eventdat += "You were swept away into the black hole." - eventdat += "

    Oh...

    " - eventdat += "

    Close

    " + eventdat += "

    Oh...

    " + eventdat += "

    Close

    " settlers = list() if(ORION_TRAIL_LING) eventdat += "Strange reports warn of changelings infiltrating crews on trips to Orion..." if(settlers.len <= 2) eventdat += "
    Your crew's chance of reaching Orion is so slim the changelings likely avoided your ship..." - eventdat += "

    Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Continue

    " + eventdat += "

    Close

    " if(prob(10)) // "likely", I didn't say it was guaranteed! lings_aboard = min(++lings_aboard,2) else @@ -766,9 +766,9 @@ else if(prob(70)) lings_aboard = min(++lings_aboard,2) - eventdat += "

    Kill a crewmember

    " - eventdat += "

    Risk it

    " - eventdat += "

    Close

    " + eventdat += "

    Kill a crewmember

    " + eventdat += "

    Risk it

    " + eventdat += "

    Close

    " if(ORION_TRAIL_LING_ATTACK) if(lings_aboard <= 0) //shouldn't trigger, but hey. @@ -808,8 +808,8 @@ else lings_aboard = max(0,--lings_aboard) - eventdat += "

    Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Continue

    " + eventdat += "

    Close

    " if(ORION_TRAIL_SPACEPORT) @@ -817,8 +817,8 @@ eventdat += "The Spaceport is on high alert! they wont let you dock since you tried to attack them!" if(last_spaceport_action) eventdat += "
    Last Spaceport Action: [last_spaceport_action]" - eventdat += "

    Depart Spaceport

    " - eventdat += "

    Close

    " + eventdat += "

    Depart Spaceport

    " + eventdat += "

    Close

    " else eventdat += "You pull the ship up to dock at a nearby Spaceport, lucky find!" eventdat += "
    This Spaceport is home to travellers who failed to reach Orion, but managed to find a different home..." @@ -857,13 +857,13 @@ //Buy crew if(food >= 10 && fuel >= 10) - eventdat += "

    Hire a new Crewmember (-10FU,-10FO)

    " + eventdat += "

    Hire a new Crewmember (-10FU,-10FO)

    " else eventdat += "

    Cant afford a new Crewmember

    " //Sell crew if(settlers.len > 1) - eventdat += "

    Sell crew for Fuel and Food (+15FU,+15FO)

    " + eventdat += "

    Sell crew for Fuel and Food (+15FU,+15FO)

    " else eventdat += "

    Cant afford to sell a Crewmember

    " @@ -872,37 +872,37 @@ //Engine parts if(fuel > 5) - eventdat += "

    Buy Engine Parts (-5FU)

    " + eventdat += "

    Buy Engine Parts (-5FU)

    " else eventdat += "

    Cant afford to buy Engine Parts" //Hull plates if(fuel > 5) - eventdat += "

    Buy Hull Plates (-5FU)

    " + eventdat += "

    Buy Hull Plates (-5FU)

    " else eventdat += "

    Cant afford to buy Hull Plates" //Electronics if(fuel > 5) - eventdat += "

    Buy Spare Electronics (-5FU)

    " + eventdat += "

    Buy Spare Electronics (-5FU)

    " else eventdat += "

    Cant afford to buy Spare Electronics" //Trade if(fuel > 5) - eventdat += "

    Trade Fuel for Food (-5FU,+5FO)

    " + eventdat += "

    Trade Fuel for Food (-5FU,+5FO)

    " else eventdat += "

    Cant afford to Trade Fuel for Food 5) - eventdat += "

    Trade Food for Fuel (+5FU,-5FO)

    " + eventdat += "

    Trade Food for Fuel (+5FU,-5FO)

    " else eventdat += "

    Cant afford to Trade Food for FuelMain Menu | " : ""]Close \]" + dat += "
    \[ [(src.state != STATE_DEFAULT) ? "Main Menu | " : ""]Close \]" user << browse(dat, "window=honkputer;size=400x500") onclose(user, "honkputer") diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 780bdd55f8e..f305b2a2929 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -28,21 +28,21 @@ return var/dat if(src.temp) - dat = text("[src.temp]

    Clear Screen") + dat = text("[src.temp]

    Clear Screen") else dat = text("Confirm Identity: []


    ", src, (src.scan ? text("[]", src.scan.name) : "----------")) if(src.authenticated) switch(src.screen) if(1.0) dat += {" -Search Records -
    List Records +Search Records +
    List Records
    -
    Virus Database -
    Medbot Tracking +
    Virus Database +
    Medbot Tracking
    -
    Record Maintenance -
    {Log Out}
    +
    Record Maintenance +
    {Log Out}
    "} if(2.0) dat += "Record List:
    " @@ -58,11 +58,11 @@ if((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))) dat += "
    Name: [active1.fields["name"]] \ ID: [active1.fields["id"]]
    \n \ - Sex: [active1.fields["sex"]]
    \n \ - Age: [active1.fields["age"]]
    \n \ - Fingerprint: [active1.fields["fingerprint"]]
    \n \ - Physical Status: [active1.fields["p_stat"]]
    \n \ - Mental Status: [active1.fields["m_stat"]]
    \ + Sex: [active1.fields["sex"]]
    \n \ + Age: [active1.fields["age"]]
    \n \ + Fingerprint: [active1.fields["fingerprint"]]
    \n \ + Physical Status: [active1.fields["p_stat"]]
    \n \ + Mental Status: [active1.fields["m_stat"]]
    \ Photo:
    \
    " else @@ -77,7 +77,7 @@ dat += text("Delete Record (Medical Only)

    ", src) else dat += "Medical Record Lost!
    " - dat += text("New Record

    ") + dat += text("New Record

    ") dat += text("\nPrint Record
    \nBack
    ", src, src) if(5.0) dat += "
    Virus Database
    " @@ -87,11 +87,11 @@ continue // TODO (tm): Add advance diseases to the virus database which no one uses. if(!Dis.desc) continue - dat += "
    [Dis.name]" - dat += "
    Back" + dat += "
    [Dis.name]" + dat += "
    Back" if(6.0) dat += "
    Medical Robot Monitor
    " - dat += "Back" + dat += "Back" dat += "
    Medical Robots:" var/bdat = null for(var/mob/living/simple_animal/bot/medbot/M in world) diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 50dc9c19603..12e8acfcf95 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -103,10 +103,10 @@ dat += "

    " if(auth) - dat += "

    \[Authenticated\] /" - dat += " Server Power: [src.linkedServer && src.linkedServer.active ? "\[On\]":"\[Off\]"]

    " + dat += "

    \[Authenticated\] /" + dat += " Server Power: [src.linkedServer && src.linkedServer.active ? "\[On\]":"\[Off\]"]

    " else - dat += "

    \[Unauthenticated\] /" + dat += "

    \[Unauthenticated\] /" dat += " Server Power: [src.linkedServer && src.linkedServer.active ? "\[On\]":"\[Off\]"]

    " if(hacking || emag) @@ -120,24 +120,24 @@ if(0) // = TAB var/i = 0 - dat += "
    [++i]. Link To A Server
    " + dat += "
    [++i]. Link To A Server
    " if(auth) if(!linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) dat += "
    ERROR: Server not found!
    " else - dat += "
    [++i]. View Message Logs
    " - dat += "
    [++i]. View Request Console Logs
    " - dat += "
    [++i]. Clear Message Logs
    " - dat += "
    [++i]. Clear Request Console Logs
    " - dat += "
    [++i]. Set Custom Key
    " - dat += "
    [++i]. Send Admin Message
    " - dat += "
    [++i]. View Chatrooms
    " + dat += "
    [++i]. View Message Logs
    " + dat += "
    [++i]. View Request Console Logs
    " + dat += "
    [++i]. Clear Message Logs
    " + dat += "
    [++i]. Clear Request Console Logs
    " + dat += "
    [++i]. Set Custom Key
    " + dat += "
    [++i]. Send Admin Message
    " + dat += "
    [++i]. View Chatrooms
    " else for(var/n = ++i; n <= optioncount; n++) dat += "
    [n]. ---------------
    " if((istype(user, /mob/living/silicon/ai) || istype(user, /mob/living/silicon/robot)) && (user.mind.special_role && user.mind.original == user)) //Malf/Traitor AIs can bruteforce into the system to gain the Key. - dat += "
    *&@#. Bruteforce Key
    " + dat += "
    *&@#. Bruteforce Key
    " else dat += "
    " @@ -153,7 +153,7 @@ //var/recipient = "Unspecified" //name of the person //var/sender = "Unspecified" //name of the sender //var/message = "Blank" //transferred message - dat += "
    Back - Refresh

    " + dat += "
    Back - Refresh

    " dat += "" for(var/datum/data_pda_msg/pda in src.linkedServer.pda_msgs) index++ @@ -161,7 +161,7 @@ break // Del - Sender - Recepient - Message // X - Al Green - Your Mom - WHAT UP!? - dat += "" + dat += "" dat += "
    XSenderRecipientMessage
    X
    [pda.sender][pda.recipient][pda.message]
    X
    [pda.sender][pda.recipient][pda.message]
    " //Hacking screen. if(2) @@ -208,13 +208,13 @@ //Fake messages if(3) - dat += "
    Back - Reset

    " + dat += "
    Back - Reset

    " dat += {" - - - - "} + + + + "} //Sender - Sender's Job - Recepient - Message //Al Green- Your Dad - Your Mom - WHAT UP!? @@ -222,7 +222,7 @@ "} - dat += "
    SenderSender's JobRecipientMessage
    SenderSender's JobRecipientMessage
    [customjob] [customrecepient ? customrecepient.owner : "NONE"] [custommessage]

    Send" + dat += "


    Send" //Request Console Logs if(4) @@ -237,7 +237,7 @@ var/id_auth = "Unauthenticated" - 15% var/priority = "Normal" - 10% */ - dat += "
    Back - Refresh

    " + dat += "
    Back - Refresh

    " dat += {""} for(var/datum/data_rc_msg/rc in src.linkedServer.rc_msgs) @@ -246,12 +246,12 @@ break // Del - Sender - Recepient - Message // X - Al Green - Your Mom - WHAT UP!? - dat += {" + dat += {""} dat += "
    XSending Dep.Receiving Dep. MessageStampID Auth.Priority.
    X
    [rc.send_dpt]
    X
    [rc.send_dpt] [rc.rec_dpt][rc.message][rc.stamp][rc.id_auth][rc.priority]
    " //Chat room list if(5) - dat += "
    Back - Refresh

    " + dat += "
    Back - Refresh

    " dat += {" @@ -262,7 +262,7 @@ for(var/datum/chatroom/C in chatrooms) var/list/invites = (C.invites - C.users) dat += {" - + @@ -270,7 +270,7 @@ dat += "
    Room Name
    [C.name][C.name] [C.users.len] [invites.len] [C.logs.len]
    " //View chat room logs if(6) - dat += "
    Back - Refresh

    " + dat += "
    Back - Refresh

    " dat += {" @@ -495,7 +495,7 @@ //Sender isn't faking as someone who exists if(isnull(PDARec)) src.linkedServer.send_pda_message("[customrecepient.owner]", "[customsender]","[custommessage]") - recipient_messenger.notify("Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)") + recipient_messenger.notify("Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)") log_pda("[usr] (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]") //Sender is faking as someone who exists else diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 2619e25e4b8..aabcffc7b68 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -119,42 +119,42 @@ if(..()) return - var/dat = "[name](rename)" + var/dat = "[name](rename)" user.set_machine(src) - dat += "
    Reset Connections
    " + dat += "
    Reset Connections
    " if(synced.len) - dat += "
    Fire All Connected Drivers
    " + dat += "
    Fire All Connected Drivers
    " if(istype(src,/obj/machinery/computer/pod/deathsquad)) - dat += "
    Set Teleporter Destination Z-Level
    " + dat += "
    Set Teleporter Destination Z-Level
    " for(var/ident_tag in id_tags) if(!(ident_tag in door_only_tags)) - dat += "

    [ident_tag] remove" + dat += "

    [ident_tag] remove" if(ident_tag in synced) var/d2 = "" if(timings[ident_tag]) //door controls do not need timers. - d2 = "Stop Time Launch" + d2 = "Stop Time Launch" else - d2 = "Initiate Time Launch" + d2 = "Initiate Time Launch" var/second = times[ident_tag] % 60 var/minute = (times[ident_tag] - second) / 60 var/maxsecond = maxtimes[ident_tag] % 60 var/maxminute = (maxtimes[ident_tag] - maxsecond) / 60 - dat += "
    \nTimer System: [d2]\nTime Left: [minute ? "[minute]:" : null][second]/[maxminute ? "[maxminute]:" : null][maxsecond] - - + +" - dat += "
    Set timer to loop: [loopings[ident_tag] ? "Yes" : "No"]" + dat += "
    \nTimer System: [d2]\nTime Left: [minute ? "[minute]:" : null][second]/[maxminute ? "[maxminute]:" : null][maxsecond] - - + +" + dat += "
    Set timer to loop: [loopings[ident_tag] ? "Yes" : "No"]" var/temp = "" var/list/L = list( 0.25, 0.5, 1, 2, 4, 8, 16 ) for(var/t in L) if( powers[ident_tag] == t) - temp += "[t] " + temp += "[t] " else - temp += "[t] " - dat += "
    \nPower Level: [temp]
    \nFire Drive!
    \nToggle Pod Doors
    " + temp += "[t] " + dat += "
    \nPower Level: [temp]
    \nFire Drive!
    \nToggle Pod Doors
    " for(var/ident_tag in door_only_tags) - dat += "

    [ident_tag] remove" - dat += "
    \nToggle Pod Doors
    " + dat += "

    [ident_tag] remove" + dat += "
    \nToggle Pod Doors
    " - dat += "
    add another id_tag" + dat += "
    add another id_tag" dat += "

    Close
    " user << browse(dat, "window=computer;size=400x500") diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index fa1ba551728..be35a85b7a4 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -27,17 +27,17 @@ var/dat dat += "Prisoner Implant Manager System
    " if(screen == 0) - dat += "
    Unlock Console" + dat += "
    Unlock Console" else if(screen == 1) if(istype(inserted_id)) var/p = inserted_id:points var/g = inserted_id:goal - dat += text("[inserted_id]
    ") - dat += text("Collected points: [p]. Reset.
    ") - dat += text("Card goal: [g]. Set
    ") + dat += text("[inserted_id]
    ") + dat += text("Collected points: [p]. Reset.
    ") + dat += text("Card goal: [g]. Set
    ") dat += text("Space Law recommends sentences of 100 points per minute they would normally serve in the brig.
    ") else - dat += text("Insert Prisoner ID
    ") + dat += text("Insert Prisoner ID
    ") var/turf/Tr = null dat += "
    Chemical Implants
    " for(var/obj/item/weapon/implant/chem/C in tracked_implants) @@ -47,9 +47,9 @@ // AUTOFIXED BY fix_string_idiocy.py // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\computer\prisoner.dm:41: dat += "[C.imp_in.name] | Remaining Units: [C.reagents.total_volume] | Inject: " dat += {"[C.imp_in.name] | Remaining Units: [C.reagents.total_volume] | Inject: - ((1)) - ((5)) - ((10))
    + ((1)) + ((5)) + ((10))
    ********************************
    "} // END AUTOFIX dat += "
    Tracking Implants
    " @@ -68,9 +68,9 @@ if(is_station_level(M.z) && !istype(M.loc, /turf/space)) loc_display = "[get_area(M)]" dat += "ID: [T.id]
    Subject: [M]
    Location: [loc_display]
    Health: [health_display]
    " - dat += "(Message Holder) |
    " + dat += "(Message Holder) |
    " dat += "********************************
    " - dat += "
    Lock Console" + dat += "
    Lock Console" user << browse(dat, "window=computer;size=400x500") onclose(user, "computer") diff --git a/code/game/machinery/computer/salvage_ship.dm b/code/game/machinery/computer/salvage_ship.dm index c0693c810d3..f9e35c6e602 100644 --- a/code/game/machinery/computer/salvage_ship.dm +++ b/code/game/machinery/computer/salvage_ship.dm @@ -53,18 +53,18 @@ var/dat = {"Location: [curr_location]
    Ready to move[max(lastMove + SALVAGE_SHIP_COOLDOWN - world.time, 0) ? " in [max(round((lastMove + SALVAGE_SHIP_COOLDOWN - world.time) * 0.1), 0)] seconds" : ": now"]
    - Middle of Nowhere
    - Station Auxiliary Docking | - North of the Station | - East of the Station | - South of the Station
    - South-west of the Mining Asteroid | - Trading Post
    - Clown Asteroid | - Derelict Station | - Ruskie DJ Station
    - Communications Satellite | - Abandoned Ship
    + Middle of Nowhere
    + Station Auxiliary Docking | + North of the Station | + East of the Station | + South of the Station
    + South-west of the Mining Asteroid | + Trading Post
    + Clown Asteroid | + Derelict Station | + Ruskie DJ Station
    + Communications Satellite | + Abandoned Ship
    Close"} user << browse(dat, "window=computer;size=575x450") diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index c03ce8ee440..bf33b157706 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -114,10 +114,10 @@
    Name
    - - - - + + + +"} if(!isnull(data_core.general)) @@ -158,18 +158,18 @@ dat += text("{Log Out}",src) if(2.0) dat += "Records Maintenance
    " - dat += "
    Delete All Records

    Back" + dat += "
    Delete All Records

    Back" if(3.0) dat += "
    Security Record

    " if((istype(active1, /datum/data/record) && data_core.general.Find(active1))) dat += {"
    NameIDRankFingerprintsNameIDRankFingerprints Criminal Status
    @@ -177,7 +177,7 @@ Photo:

    - Print Photo + Print Photo
    - Name: [active1.fields["name"]]
    - ID: [active1.fields["id"]]
    - Sex: [active1.fields["sex"]]
    - Age: [active1.fields["age"]]
    - Rank: [active1.fields["rank"]]
    - Fingerprint: [active1.fields["fingerprint"]]
    + Name: [active1.fields["name"]]
    + ID: [active1.fields["id"]]
    + Sex: [active1.fields["sex"]]
    + Age: [active1.fields["age"]]
    + Rank: [active1.fields["rank"]]
    + Fingerprint: [active1.fields["fingerprint"]]
    Physical Status: [active1.fields["p_stat"]]
    Mental Status: [active1.fields["m_stat"]]
    "} else dat += "General Record Lost!
    " @@ -351,8 +351,8 @@ What a mess.*/ if("Delete All Records") temp = "" temp += "Are you sure you wish to delete all Security records?
    " - temp += "Yes
    " - temp += "No" + temp += "Yes
    " + temp += "No" if("Purge All Records") for(var/datum/data/record/R in data_core.security) @@ -374,14 +374,14 @@ What a mess.*/ if("Delete Record (ALL)") if(active1) temp = "
    Are you sure you wish to delete the record (ALL)?
    " - temp += "Yes
    " - temp += "No" + temp += "Yes
    " + temp += "No" if("Delete Record (Security)") if(active2) temp = "
    Are you sure you wish to delete the record (Security Portion Only)?
    " - temp += "Yes
    " - temp += "No" + temp += "Yes
    " + temp += "No" if("Delete Entry") if((istype(active2, /datum/data/record) && active2.fields[text("com_[]", href_list["del_c"])])) @@ -488,11 +488,11 @@ What a mess.*/ if(istype(active2, /datum/data/record)) temp = "
    Criminal Status:
    " temp += "" if("rank") var/list/L = list( "Head of Personnel", "Captain", "AI" ) @@ -501,7 +501,7 @@ What a mess.*/ temp = "
    Rank:
    " temp += "
      " for(var/rank in joblist) - temp += "
    • [rank]
    • " + temp += "
    • [rank]
    • " temp += "
    " else alert(usr, "You do not have the required rank to do this!") diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm index 81aa33109f0..32e54dc161b 100644 --- a/code/game/machinery/computer/skills.dm +++ b/code/game/machinery/computer/skills.dm @@ -66,10 +66,10 @@
    - - - - + + + +"} if(!isnull(data_core.general)) for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order)) @@ -84,17 +84,17 @@ dat += text("{Log Out}",src) if(2.0) dat += "Records Maintenance
    " - dat += "
    Delete All Records

    Back" + dat += "
    Delete All Records

    Back" if(3.0) dat += "
    Employment Record

    " if((istype(active1, /datum/data/record) && data_core.general.Find(active1))) dat += text("
    NameIDRankFingerprintsNameIDRankFingerprints
    \ @@ -267,8 +267,8 @@ What a mess.*/ if("Delete All Records") temp = "" temp += "Are you sure you wish to delete all Employment records?
    " - temp += "Yes
    " - temp += "No" + temp += "Yes
    " + temp += "No" if("Purge All Records") if(PDA_Manifest.len) @@ -280,8 +280,8 @@ What a mess.*/ if("Delete Record (ALL)") if(active1) temp = "
    Are you sure you wish to delete the record (ALL)?
    " - temp += "Yes
    " - temp += "No" + temp += "Yes
    " + temp += "No" //RECORD CREATE if("New Record (General)") @@ -342,7 +342,7 @@ What a mess.*/ temp = "
    Rank:
    " temp += "
      " for(var/rank in joblist) - temp += "
    • [rank]
    • " + temp += "
    • [rank]
    • " temp += "
    " else alert(usr, "You do not have the required rank to do this!") diff --git a/code/game/machinery/computer/specops_shuttle.dm b/code/game/machinery/computer/specops_shuttle.dm index a0386fe80c7..5cd8aa53dfd 100644 --- a/code/game/machinery/computer/specops_shuttle.dm +++ b/code/game/machinery/computer/specops_shuttle.dm @@ -276,7 +276,7 @@ var/specops_shuttle_timeleft = 0 else dat += {"
    Special Operations Shuttle
    \nLocation: [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "Departing for [station_name] in ([specops_shuttle_timeleft] seconds.)":specops_shuttle_at_station ? "Station":"Dock"]
    - [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "\n*The Special Ops. shuttle is already leaving.*
    \n
    ":specops_shuttle_at_station ? "\nShuttle standing by...
    \n
    ":"\nDepart to [station_name]
    \n
    "] + [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "\n*The Special Ops. shuttle is already leaving.*
    \n
    ":specops_shuttle_at_station ? "\nShuttle standing by...
    \n
    ":"\nDepart to [station_name]
    \n
    "] \nClose"} user << browse(dat, "window=computer;size=575x450") @@ -303,7 +303,7 @@ var/specops_shuttle_timeleft = 0 to_chat(usr, "\blue The Special Operations shuttle will arrive at Central Command in [(SPECOPS_MOVETIME/10)] seconds.") - temp += "Shuttle departing.

    OK" + temp += "Shuttle departing.

    OK" updateUsrDialog() specops_shuttle_moving_to_centcom = 1 @@ -320,7 +320,7 @@ var/specops_shuttle_timeleft = 0 to_chat(usr, "\blue The Special Operations shuttle will arrive on [station_name] in [(SPECOPS_MOVETIME/10)] seconds.") - temp += "Shuttle departing.

    OK" + temp += "Shuttle departing.

    OK" updateUsrDialog() var/area/centcom/specops/special_ops = locate() diff --git a/code/game/machinery/computer/store.dm b/code/game/machinery/computer/store.dm index 168ceb60e36..31cfb8bfa8c 100644 --- a/code/game/machinery/computer/store.dm +++ b/code/game/machinery/computer/store.dm @@ -79,7 +79,7 @@ td.cost.toomuch { -

    Refresh | Balance: $[balance]

    +

    Refresh | Balance: $[balance]

    [command_name()] Merchandise

    Doing your job and not getting any recognition at work? Well, welcome to the @@ -111,7 +111,7 @@ td.cost.toomuch {

    [item.desc]

    "} diff --git a/code/game/machinery/computer/syndicate_specops_shuttle.dm b/code/game/machinery/computer/syndicate_specops_shuttle.dm index f05a600b680..a0cced8a616 100644 --- a/code/game/machinery/computer/syndicate_specops_shuttle.dm +++ b/code/game/machinery/computer/syndicate_specops_shuttle.dm @@ -210,7 +210,7 @@ var/syndicate_elite_shuttle_timeleft = 0 else dat = {"
    Special Operations Shuttle
    \nLocation: [syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership ? "Departing for [station_name] in ([syndicate_elite_shuttle_timeleft] seconds.)":syndicate_elite_shuttle_at_station ? "Station":"Dock"]
    - [syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership ? "\n*The Syndicate Elite shuttle is already leaving.*
    \n
    ":syndicate_elite_shuttle_at_station ? "\nShuttle Offline
    \n
    ":"\nDepart to [station_name]
    \n
    "] + [syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership ? "\n*The Syndicate Elite shuttle is already leaving.*
    \n
    ":syndicate_elite_shuttle_at_station ? "\nShuttle Offline
    \n
    ":"\nDepart to [station_name]
    \n
    "] \nClose"} user << browse(dat, "window=computer;size=575x450") @@ -239,7 +239,7 @@ var/syndicate_elite_shuttle_timeleft = 0 to_chat(usr, "\blue The Syndicate Elite shuttle will arrive on [station_name] in [(SYNDICATE_ELITE_MOVETIME/10)] seconds.") - temp = "Shuttle departing.

    OK" + temp = "Shuttle departing.

    OK" updateUsrDialog() var/area/syndicate_mothership/elite_squad/elite_squad = locate() diff --git a/code/game/machinery/computer/telecrystalconsoles.dm b/code/game/machinery/computer/telecrystalconsoles.dm index cc5934d9808..e2119247409 100644 --- a/code/game/machinery/computer/telecrystalconsoles.dm +++ b/code/game/machinery/computer/telecrystalconsoles.dm @@ -96,8 +96,8 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F if(uplinkholder) dat += "[uplinkholder.hidden_uplink.uses] telecrystals remain in this uplink.
    " if(linkedboss) - dat += "Donate TC: 1 | 5" - dat += "
    Eject Uplink" + dat += "Donate TC: 1 | 5" + dat += "
    Eject Uplink" var/datum/browser/popup = new(user, "computer", "Telecrystal Upload/Recieve Station", 700, 500) @@ -168,7 +168,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F var/dat = "" - dat += "Scan for TC stations.
    " + dat += "Scan for TC stations.
    " dat += "This [src] has [storedcrystals] telecrystals available for distribution.
    " dat += "

    " @@ -178,11 +178,11 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F if(A.uplinkholder) dat += "[A.uplinkholder.hidden_uplink.uses] telecrystals." if(storedcrystals) - dat+= "
    Add TC: 1 | 5" + dat+= "
    Add TC: 1 | 5" dat += "
    " if(TCstations.len) - dat += "

    Evenly distribute remaining TC.

    " + dat += "

    Evenly distribute remaining TC.

    " for(var/entry in transferlog) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 38ac85621db..9ffec3cb02c 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -45,11 +45,11 @@ dat += "

    [storage_name]
    " dat += "Welcome, [user.real_name].


    " - dat += "View storage log.
    " + dat += "View storage log.
    " if(allow_items) - dat += "View objects.
    " - dat += "Recover object.
    " - dat += "Recover all objects.
    " + dat += "View objects.
    " + dat += "Recover object.
    " + dat += "Recover all objects.
    " user << browse(dat, "window=cryopod_console") onclose(user, "cryopod_console") diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index aca002f58c4..f9377d23494 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -29,14 +29,14 @@ t1 += "Operator: [last_configurator]
    " if(locked) - t1 += "Swipe ID
    " + t1 += "Swipe ID
    " else - t1 += "Block
    " + t1 += "Block
    " t1 += "Access requirement is set to " - t1 += one_access ? "ONE
    " : "ALL
    " + t1 += one_access ? "ONE
    " : "ALL
    " - t1 += conf_access == null ? "All
    " : "All
    " + t1 += conf_access == null ? "All
    " : "All
    " t1 += "
    " @@ -45,11 +45,11 @@ var/aname = get_access_desc(acc) if(!conf_access || !conf_access.len || !(acc in conf_access)) - t1 += "[aname]
    " + t1 += "[aname]
    " else if(one_access) - t1 += "[aname]
    " + t1 += "[aname]
    " else - t1 += "[aname]
    " + t1 += "[aname]
    " t1 += text("

    Close

    \n", src) diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 3d8e7d3e15b..ba40b4aa8a0 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -199,9 +199,9 @@ // Start/Stop timer if(timing) - dat += "Stop Timer and open door
    " + dat += "Stop Timer and open door
    " else - dat += "Activate Timer and close door
    " + dat += "Activate Timer and close door
    " // Time Left display (uses releasetime) dat += "Time Left: [(minute ? text("[minute]:") : null)][second]
    " @@ -209,19 +209,19 @@ // Set Timer display (uses timetoset) if(timing) - dat += "Set Timer: [(setminute ? text("[setminute]:") : null)][setsecond] Set
    " + dat += "Set Timer: [(setminute ? text("[setminute]:") : null)][setsecond] Set
    " else dat += "Set Timer: [(setminute ? text("[setminute]:") : null)][setsecond]
    " // Controls - dat += "--++
    " + dat += "--++
    " // Mounted flash controls for(var/obj/machinery/flasher/F in targets) if(F.last_flash && (F.last_flash + 150) > world.time) - dat += "
    Flash Charging" + dat += "
    Flash Charging" else - dat += "
    Activate Flash" + dat += "
    Activate Flash" dat += "

    Close" diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 3dffa7dda24..c0f48260305 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -191,7 +191,7 @@ FIRE ALARM d2 = text("Initiate Time Lock", src) var/second = round(src.time) % 60 var/minute = (round(src.time) - second) / 60 - var/dat = "Fire alarm [d1]\n
    The current alert level is: [get_security_level()]

    \nTimer System: [d2]
    \nTime Left: [(minute ? "[minute]:" : null)][second] - - + +\n
    " + var/dat = "Fire alarm [d1]\n
    The current alert level is: [get_security_level()]

    \nTimer System: [d2]
    \nTime Left: [(minute ? "[minute]:" : null)][second] - - + +\n
    " user << browse(dat, "window=firealarm") onclose(user, "firealarm") else @@ -206,7 +206,7 @@ FIRE ALARM d2 = text("[]", src, stars("Initiate Time Lock")) var/second = round(src.time) % 60 var/minute = (round(src.time) - second) / 60 - var/dat = "[stars("Fire alarm")] [d1]\n
    The current alert level is: [stars(get_security_level())]

    \nTimer System: [d2]
    \nTime Left: [(minute ? text("[]:", minute) : null)][second] - - + +\n
    " + var/dat = "[stars("Fire alarm")] [d1]\n
    The current alert level is: [stars(get_security_level())]

    \nTimer System: [d2]
    \nTime Left: [(minute ? text("[]:", minute) : null)][second] - - + +\n
    " user << browse(dat, "window=firealarm") onclose(user, "firealarm")*/ diff --git a/code/game/machinery/guestpass.dm b/code/game/machinery/guestpass.dm index 512ed47263a..a9e7fb72741 100644 --- a/code/game/machinery/guestpass.dm +++ b/code/game/machinery/guestpass.dm @@ -76,23 +76,23 @@ dat += "

    Activity log


    " for(var/entry in internal_log) dat += "[entry]

    " - dat += "Print
    " - dat += "Back
    " + dat += "Print
    " + dat += "Back
    " else dat += "

    Guest pass terminal #[uid]


    " - dat += "View activity log

    " - dat += "Issuing ID: [giver]
    " - dat += "Issued to: [giv_name]
    " - dat += "Reason: [reason]
    " - dat += "Duration (minutes): [duration] m
    " + dat += "View activity log

    " + dat += "Issuing ID: [giver]
    " + dat += "Issued to: [giv_name]
    " + dat += "Reason: [reason]
    " + dat += "Duration (minutes): [duration] m
    " dat += "Access to areas:
    " if(giver && giver.access) for(var/A in get_changeable_accesses()) var/area = get_access_desc(A) if(A in accesses) area = "[area]" - dat += "[area]
    " - dat += "
    Issue pass
    " + dat += "[area]
    " + dat += "
    Issue pass
    " var/datum/browser/popup = new(user, "guestpass", name, 400, 520) popup.set_content(dat) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 08e88b9c8c9..c73cac81669 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -161,8 +161,8 @@ /obj/machinery/light_switch/multitool_menu(var/mob/user, var/obj/item/device/multitool/P) return {" "} diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index 370ebb62713..362b9718b3a 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -253,9 +253,9 @@ var/dat = "Magnetic Control Console

    " if(!autolink) dat += {" - Frequency: [frequency]
    - Code: [code]
    - Probe Generators
    + Frequency: [frequency]
    + Code: [code]
    + Probe Generators
    "} if(magnets.len >= 1) @@ -264,11 +264,11 @@ var/i = 0 for(var/obj/machinery/magnetic_module/M in magnets) i++ - dat += "     < \[[i]\] ([M.on ? "On":"Off"]) | Electricity level: - [M.electricity_level] +; Magnetic field: - [M.magnetic_field] +
    " + dat += "     < \[[i]\] ([M.on ? "On":"Off"]) | Electricity level: - [M.electricity_level] +; Magnetic field: - [M.magnetic_field] +
    " - dat += "
    Speed: - [speed] +
    " - dat += "Path: {[path]}
    " - dat += "Moving: [moving ? "Enabled":"Disabled"]" + dat += "
    Speed: - [speed] +
    " + dat += "Path: {[path]}
    " + dat += "Moving: [moving ? "Enabled":"Disabled"]" user << browse(dat, "window=magnet;size=400x500") diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 162bb8589e5..16f7c047dd2 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -146,14 +146,14 @@ Transponder Codes:
      "} (swipe card to lock controls)

      -Location: [location ? location : "None"]
      +Location: [location ? location : "None"]
      Transponder Codes:
        "} for(var/key in codes) t += "
      • [key] ... [codes[key]]" - t += " Edit" - t += " Delete
        " - t += " Add New
        " + t += " Edit" + t += " Delete
        " + t += " Add New
        " t+= "
          " var/datum/browser/popup = new(user, "navbeacon", "Navigation Beacon", 300, 400) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index b96f42e4441..fab1fbf1aa8 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -200,16 +200,16 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat += {"Welcome to Newscasting Unit #[src.unit_no].
          Interface & News networks Operational.
          Property of Nanotrasen"} if(news_network.wanted_issue) - dat+= "
          Read Wanted Issue" - dat+= {"

          Create Feed Channel -
          View Feed Channels -
          Submit new Feed story -
          Print newspaper"} + dat+= "
          Read Wanted Issue" + dat+= {"

          Create Feed Channel +
          View Feed Channels +
          Submit new Feed story +
          Print newspaper"} if(!silence) - dat+= "
          Silence unit" + dat+= "
          Silence unit" else - dat+= "
          Unsilence unit" - dat+= {"
          Re-scan User + dat+= "
          Unsilence unit" + dat+= {"
          Re-scan User

          Exit"} if(src.securityCaster) var/wanted_already = 0 @@ -217,9 +217,9 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co wanted_already = 1 dat += {"
          Feed Security functions:
          -
          [(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue -
          Censor Feed Stories -
          Mark Feed Channel with Nanotrasen D-Notice +
          [(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue +
          Censor Feed Stories +
          Mark Feed Channel with Nanotrasen D-Notice

          The newscaster recognises you as: [src.scanned_user]"} if(1) dat+= "Station Feed Channels
          " @@ -228,9 +228,9 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co else for(var/datum/feed_channel/CHANNEL in news_network.network_channels) if(CHANNEL.is_admin_channel) - dat+="[CHANNEL.channel_name]
          " + dat+="[CHANNEL.channel_name]
          " else - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
          " + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
          " /*for(var/datum/feed_channel/CHANNEL in src.channel_list) dat+="[CHANNEL.channel_name]:
          \[created by: [CHANNEL.author]\]

          " if( isemptylist(CHANNEL.messages) ) @@ -239,27 +239,27 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co for(var/datum/feed_message/MESSAGE in CHANNEL.messages) dat+="-[MESSAGE.body]
          \[[MESSAGE.message_type] by [MESSAGE.author]\]
          "*/ - dat+="

          Refresh" - dat+="
          Back" + dat+="

          Refresh" + dat+="
          Back" if(2) dat+={"Creating new Feed Channel... -
          Channel Name: [src.channel_name]
          +
          Channel Name: [src.channel_name]
          Channel Author: [src.scanned_user]
          - Will Accept Public Feeds: [(src.c_locked) ? ("NO") : ("YES")]

          -
          Submit

          Cancel
          "} + Will Accept Public Feeds: [(src.c_locked) ? ("NO") : ("YES")]

          +
          Submit

          Cancel
          "} if(3) dat+={"Creating new Feed Message... -
          Receiving Channel: [src.channel_name]
          +
          Receiving Channel: [src.channel_name]
          Message Author: [src.scanned_user]
          - Message Body: [src.msg]
          - Attach Photo: [(src.photo ? "Photo Attached" : "No Photo")]
          -
          Submit

          Cancel
          "} + Message Body: [src.msg]
          + Attach Photo: [(src.photo ? "Photo Attached" : "No Photo")]
          +
          Submit

          Cancel
          "} if(4) dat+="Feed story successfully submitted to [src.channel_name].

          " - dat+="
          Return
          " + dat+="
          Return
          " if(5) dat+="Feed Channel [src.channel_name] created successfully.

          " - dat+="
          Return
          " + dat+="
          Return
          " if(6) dat+="ERROR: Could not submit Feed story to Network.

          " if(src.channel_name=="") @@ -269,7 +269,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if(src.msg == "" || src.msg == "\[REDACTED\]") dat+="Invalid message body.
          " - dat+="
          Return
          " + dat+="
          Return
          " if(7) dat+="ERROR: Could not submit Feed Channel to Network.

          " //var/list/existing_channels = list() //Let's get dem existing channels - OBSOLETE @@ -293,7 +293,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="Channel name already in use.
          " if(src.scanned_user=="Unknown") dat+="Channel author unverified.
          " - dat+="
          Return
          " + dat+="
          Return
          " if(8) var/total_num=length(news_network.network_channels) var/active_num=total_num @@ -305,8 +305,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co active_num-- dat+="Network currently serves a total of [total_num] Feed channels, [active_num] of which are active, and a total of [message_num] Feed Stories." //TODO: CONTINUE dat+="

          Liquid Paper remaining: [(src.paper_remaining) *100 ] cm^3" - dat+="

          Print Paper" - dat+="
          Cancel" + dat+="

          Print Paper" + dat+="
          Cancel" if(9) dat+="[src.viewing_channel.channel_name]: \[created by: [src.viewing_channel.author]\]
          " dat+="Feed view count: [viewing_channel.total_view_count]
          " @@ -328,8 +328,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="\[[MESSAGE.message_type] by [MESSAGE.author]\]
          " dat+="Message view count: [MESSAGE.view_count]
          " MESSAGE.view_count++ - dat+="

          Refresh" - dat+="
          Back" + dat+="

          Refresh" + dat+="
          Back" if(10) dat+="Nanotrasen Feed Censorship Tool
          " dat+="NOTE: Due to the nature of news Feeds, total deletion of a Feed Story is not possible.
          " @@ -339,8 +339,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="No feed channels found active...
          " else for(var/datum/feed_channel/CHANNEL in news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
          " - dat+="
          Cancel" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
          " + dat+="
          Cancel" if(11) dat+="Nanotrasen D-Notice Handler
          " dat+="A D-Notice is to be bestowed upon the channel if the handling Authority deems it as harmful for the station's" @@ -350,12 +350,12 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="No feed channels found active...
          " else for(var/datum/feed_channel/CHANNEL in news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
          " + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
          " - dat+="
          Back" + dat+="
          Back" if(12) dat+="[src.viewing_channel.channel_name]: \[ created by: [src.viewing_channel.author] \]
          " - dat+="[(src.viewing_channel.author=="\[REDACTED\]") ? ("Undo Author censorship") : ("Censor channel Author")]
          " + dat+="[(src.viewing_channel.author=="\[REDACTED\]") ? ("Undo Author censorship") : ("Censor channel Author")]
          " if( isemptylist(src.viewing_channel.messages) ) @@ -363,11 +363,11 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co else for(var/datum/feed_message/MESSAGE in src.viewing_channel.messages) dat+="-[MESSAGE.body]
          \[[MESSAGE.message_type] by [MESSAGE.author]\]
          " - dat+="[(MESSAGE.body == "\[REDACTED\]") ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.author == "\[REDACTED\]") ? ("Undo Author Censorship") : ("Censor message Author")]
          " - dat+="
          Back" + dat+="[(MESSAGE.body == "\[REDACTED\]") ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.author == "\[REDACTED\]") ? ("Undo Author Censorship") : ("Censor message Author")]
          " + dat+="
          Back" if(13) dat+="[src.viewing_channel.channel_name]: \[ created by: [src.viewing_channel.author] \]
          " - dat+="Channel messages listed below. If you deem them dangerous to the station, you can Bestow a D-Notice upon the channel.
          " + dat+="Channel messages listed below. If you deem them dangerous to the station, you can Bestow a D-Notice upon the channel.
          " if(src.viewing_channel.censored) dat+="ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.
          " dat+="No further feed story additions are allowed while the D-Notice is in effect.


          " @@ -378,7 +378,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co for(var/datum/feed_message/MESSAGE in src.viewing_channel.messages) dat+="-[MESSAGE.body]
          \[[MESSAGE.message_type] by [MESSAGE.author]\]
          " - dat+="
          Back" + dat+="
          Back" if(14) dat+="Wanted Issue Handler:" var/wanted_already = 0 @@ -390,20 +390,20 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if(wanted_already) dat+="
          A wanted issue is already in Feed Circulation. You can edit or cancel it below.
          " dat+="
          " - dat+="Criminal Name: [src.channel_name]
          " - dat+="Description: [src.msg]
          " - dat+="Attach Photo: [(src.photo ? "Photo Attached" : "No Photo")]
          " + dat+="Criminal Name: [src.channel_name]
          " + dat+="Description: [src.msg]
          " + dat+="Attach Photo: [(src.photo ? "Photo Attached" : "No Photo")]
          " if(wanted_already) dat+="Wanted Issue created by: [news_network.wanted_issue.backup_author]
          " else dat+="Wanted Issue will be created under prosecutor: [src.scanned_user]
          " - dat+="
          [(wanted_already) ? ("Edit Issue") : ("Submit")]" + dat+="
          [(wanted_already) ? ("Edit Issue") : ("Submit")]" if(wanted_already) - dat+="
          Take down Issue" - dat+="
          Cancel" + dat+="
          Take down Issue" + dat+="
          Cancel" if(15) dat+="Wanted issue for [src.channel_name] is now in Network Circulation.

          " - dat+="
          Return
          " + dat+="
          Return
          " if(16) dat+="ERROR: Wanted Issue rejected by Network.

          " if(src.channel_name=="" || src.channel_name == "\[REDACTED\]") @@ -412,10 +412,10 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="Issue author unverified.
          " if(src.msg == "" || src.msg == "\[REDACTED\]") dat+="Invalid description.
          " - dat+="
          Return
          " + dat+="
          Return
          " if(17) dat+="Wanted Issue successfully deleted from Circulation
          " - dat+="
          Return
          " + dat+="
          Return
          " if(18) dat+="-- STATIONWIDE WANTED ISSUE --
          \[Submitted by: [news_network.wanted_issue.backup_author]\]
          " dat+="Criminal: [news_network.wanted_issue.author]
          " @@ -426,16 +426,16 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="
          " else dat+="None" - dat+="

          Back
          " + dat+="

          Back
          " if(19) dat+="Wanted issue for [src.channel_name] successfully edited.

          " - dat+="
          Return
          " + dat+="
          Return
          " if(20) dat+="Printing successfull. Please receive your newspaper from the bottom of the machine.

          " - dat+="Return" + dat+="Return" if(21) dat+="Unable to print newspaper. Insufficient paper. Please notify maintenance personnell to refill machine storage.

          " - dat+="Return" + dat+="Return" else dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com" @@ -836,7 +836,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="
        " if(scribble_page==curr_page) dat+="
        There is a small scribble near the end of this page... It reads: \"[src.scribble]\"" - dat+= "
        " + dat+= "
        " if(1) // X channel pages inbetween. for(var/datum/feed_channel/NP in src.news_content) src.pages++ //Let's get it right again. @@ -860,7 +860,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="
      " if(scribble_page==curr_page) dat+="
      There is a small scribble near the end of this page... It reads: \"[src.scribble]\"" - dat+= "

      " + dat+= "

      " if(2) //Last page for(var/datum/feed_channel/NP in src.news_content) src.pages++ @@ -878,7 +878,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="Apart from some uninteresting Classified ads, there's nothing on this page..." if(scribble_page==curr_page) dat+="
      There is a small scribble near the end of this page... It reads: \"[src.scribble]\"" - dat+= "
      " + dat+= "
      " else dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com" diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 7a5ebc784b0..34f41e2a1b5 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -12,50 +12,50 @@ return var/dat = {" Regular pipes:
      -Pipe
      -Bent Pipe
      -Manifold
      -Manual Valve
      -Digital Valve
      -Pipe Cap
      -4-Way Manifold
      -Manual T-Valve
      -Digital T-Valve
      +Pipe
      +Bent Pipe
      +Manifold
      +Manual Valve
      +Digital Valve
      +Pipe Cap
      +4-Way Manifold
      +Manual T-Valve
      +Digital T-Valve
      Supply pipes:
      -Pipe
      -Bent Pipe
      -Manifold
      -Pipe Cap
      -4-Way Manifold
      +Pipe
      +Bent Pipe
      +Manifold
      +Pipe Cap
      +4-Way Manifold
      Scrubbers pipes:
      -Pipe
      -Bent Pipe
      -Manifold
      -Pipe Cap
      -4-Way Manifold
      +Pipe
      +Bent Pipe
      +Manifold
      +Pipe Cap
      +4-Way Manifold
      Devices:
      -Universal Pipe Adapter
      -Connector
      -Unary Vent
      -Gas Pump
      -Passive Gate
      -Volume Pump
      -Scrubber
      -Meter
      -Gas Sensor
      -Gas Filter
      -Gas Mixer
      -Air Injector
      -Dual-Port Vent Pump
      -Passive Vent
      +Universal Pipe Adapter
      +Connector
      +Unary Vent
      +Gas Pump
      +Passive Gate
      +Volume Pump
      +Scrubber
      +Meter
      +Gas Sensor
      +Gas Filter
      +Gas Mixer
      +Air Injector
      +Dual-Port Vent Pump
      +Passive Vent
      Heat exchange:
      -Pipe
      -Bent Pipe
      -Junction
      -Heat Exchanger
      +Pipe
      +Bent Pipe
      +Junction
      +Heat Exchanger
      Insulated pipes:
      -Pipe
      -Bent Pipe
      +Pipe
      +Bent Pipe
      "} //What number the make points to is in the define # at the top of construction.dm in same folder @@ -170,14 +170,14 @@ Nah return var/dat = {"Disposal Pipes

      -Pipe
      -Bent Pipe
      -Junction
      -Y-Junction
      -Trunk
      -Bin
      -Outlet
      -Chute
      +Pipe
      +Bent Pipe
      +Junction
      +Y-Junction
      +Trunk
      +Bin
      +Outlet
      +Chute
      "} var/datum/browser/popup = new(user, "pipedispenser", name, 400, 400) diff --git a/code/game/machinery/programmable_unloader.dm b/code/game/machinery/programmable_unloader.dm index a095d1cc93c..4cd09d6f8a4 100644 --- a/code/game/machinery/programmable_unloader.dm +++ b/code/game/machinery/programmable_unloader.dm @@ -113,19 +113,19 @@ /obj/machinery/programmable/proc/printlist(var/list/L) var/dat for(var/datum/cargoprofile/p in L) - dat += "[p.name]: [p.enabled?"YES":"NO"]
      " + dat += "[p.name]: [p.enabled?"YES":"NO"]
      " return dat /obj/machinery/programmable/proc/buildMenu() var/dat dat += "PROGRAMMABLE UNLOADER
      " - dat += "POWER: [on ? "ON" : "OFF"]
      " - dat += "INLET: [capitalize(dir2text(indir))] " - dat += "OUTLET: [capitalize(dir2text(outdir))]" - dat += " (SWAP)

      " + dat += "POWER: [on ? "ON" : "OFF"]
      " + dat += "INLET: [capitalize(dir2text(indir))] " + dat += "OUTLET: [capitalize(dir2text(outdir))]" + dat += " (SWAP)
      " if(default) dat += "MAIN PROGRAM: " - dat += "[default.name]: [default.enabled ? "YES" : "NO"]
      " + dat += "[default.name]: [default.enabled ? "YES" : "NO"]
      " if(profiles.len) if(!default || !default.enabled) dat += printlist(profiles) @@ -439,11 +439,11 @@ buildMenu() var/dat dat += "PROGRAMMABLE PROCESSOR
      " - dat += "POWER: [on ? "ON" : "OFF"]
      " - dat += "INLET: [capitalize(dir2text(indir))]
      " + dat += "POWER: [on ? "ON" : "OFF"]
      " + dat += "INLET: [capitalize(dir2text(indir))]
      " if(default) dat += "MAIN PROGRAM: " - dat += "[default.name]: [default.enabled ? "YES" : "NO"]
      " + dat += "[default.name]: [default.enabled ? "YES" : "NO"]
      " if(profiles.len) if(!default || !default.enabled) dat += printlist(profiles) @@ -608,10 +608,10 @@ return "NONE
      " var/dat = "[P.name]" if(level == 0 || (level == 1 && !default)) - dat += " PROMOTE" + dat += " PROMOTE" if(level > 0) - dat += " DEMOTE" - dat += " REMOVE" + dat += " DEMOTE" + dat += " REMOVE" dat += "
      " return dat @@ -619,20 +619,20 @@ var/dat dat = "MAIN FUNCTION
      " dat += format(default,2) - dat += "- CAUTION -
      \[DELETE NON-MAIN ALGORITHMS\]
      " - dat += "\[MASTER RESET\]
      " + dat += "
      - CAUTION -
      \[DELETE NON-MAIN ALGORITHMS\]
      " + dat += "\[MASTER RESET\]
      " dat += "OVERRIDES:
      " for(var/datum/cargoprofile/P in overrides) dat += format(P,1) dat += "
      " - dat += "- CAUTION -
      \[DELETE ALL OVERRIDES\]
      " + dat += "- CAUTION -
      \[DELETE ALL OVERRIDES\]
      " dat += "
      TERTIARY PROFILES:
      " for(var/datum/cargoprofile/P in profiles) dat += format(P,0) dat += "
      " - dat += "- CAUTION -
      \[DELETE TERTIARY PROFILES\]" + dat += "- CAUTION -
      \[DELETE TERTIARY PROFILES\]" user << browse("Circuit Reprogramming[dat]", "window=progcircuit") onclose(user, "progcircuit") diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index c0e8f7ac20d..7bf9b661a24 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -266,7 +266,7 @@ var/list/obj/machinery/requests_console/allConsoles = list() var/linkedSender if(istype(source, /obj/machinery/requests_console)) var/obj/machinery/requests_console/sender = source - linkedSender = "" + linkedSender = "" else capitalize(source) linkedSender = source diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm index 78b873e6ca1..70a623982af 100644 --- a/code/game/machinery/robot_fabricator.dm +++ b/code/game/machinery/robot_fabricator.dm @@ -55,13 +55,13 @@ Please wait until completion...
      dat = {" Metal Amount: [min(150000, src.metal_amount)] cm3 (MAX: 150,000)


      -
      Left Arm (25,000 cc metal.)
      -
      Right Arm (25,000 cc metal.)
      -
      Left Leg (25,000 cc metal.)
      -
      Right Leg (25,000 cc metal).
      -
      Chest (50,000 cc metal).
      -
      Head (50,000 cc metal).
      -
      Robot Frame (75,000 cc metal).
      +
      Left Arm (25,000 cc metal.)
      +
      Right Arm (25,000 cc metal.)
      +
      Left Leg (25,000 cc metal.)
      +
      Right Leg (25,000 cc metal).
      +
      Chest (50,000 cc metal).
      +
      Head (50,000 cc metal).
      +
      Robot Frame (75,000 cc metal).
      "} user << browse("Robotic Fabricator Control Panel[dat]", "window=robot_fabricator") diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 68c4ab10a34..91e60dfaec5 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -88,18 +88,18 @@ var/dat dat = "Power cell: " if(cell) - dat += "
      Installed
      " + dat += "Installed
      " else - dat += "Removed
      " + dat += "Removed
      " dat += "Power Level: [cell ? round(cell.percent(),1) : 0]%

      " dat += "Set Temperature: " - dat += "-" + dat += "-" dat += " [set_temperature]°C " - dat += "+
      " + dat += "+
      " user.set_machine(src) user << browse("Space Heater Control Panel[dat]", "window=spaceheater") diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 325977b44df..f3415f6896d 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -162,7 +162,7 @@ dat+=text("Dispense mask
      ",src) if(src.OCCUPANT) dat+= "
      WARNING: Biological entity detected inside the Unit's storage. Please remove.
      " - dat+= "Eject extra load" + dat+= "Eject extra load" dat+= text("
      Unit is: [] - [] Unit ",(src.isopen ? "Open" : "Closed"),src,(src.isopen ? "Close" : "Open")) if(src.isopen) dat+="
      " @@ -796,25 +796,25 @@ else if(locked) dat += "
      The [model_text ? "[model_text] " : ""]suit cycler is currently locked. Please contact your system administrator." if(src.allowed(usr)) - dat += "
      \[unlock unit\]" + dat += "
      \[unlock unit\]" else dat += "

      Suit cycler

      " - dat += "Welcome to the [model_text ? "[model_text] " : ""]suit cycler control panel. \[lock unit\]
      " + dat += "Welcome to the [model_text ? "[model_text] " : ""]suit cycler control panel. \[lock unit\]
      " dat += "

      Maintenance

      " - dat += "Helmet: [helmet ? "\the [helmet]" : "no helmet stored" ]. \[eject\]
      " - dat += "Suit: [suit ? "\the [suit]" : "no suit stored" ]. \[eject\]" + dat += "Helmet: [helmet ? "\the [helmet]" : "no helmet stored" ]. \[eject\]
      " + dat += "Suit: [suit ? "\the [suit]" : "no suit stored" ]. \[eject\]" if(suit && istype(suit)) - dat += "[(suit.damage ? " \[repair\]" : "")]" + dat += "[(suit.damage ? " \[repair\]" : "")]" dat += "
      UV decontamination systems: SYSTEM ERROR" : "green'>READY"]
      " dat += "Output level: [radiation_level]
      " - dat += "\[select power level\] \[begin decontamination cycle\]

      " + dat += "\[select power level\] \[begin decontamination cycle\]

      " dat += "

      Customisation

      " - dat += "Target product: [target_department], [target_species]." - dat += "
      \[apply customisation routine\]


      " + dat += "Target product: [target_department], [target_species]." + dat += "
      \[apply customisation routine\]


      " /* if(panel_open) var/list/vendwires = list( @@ -827,10 +827,10 @@ var/is_uncut = src.wires & APCWireColorToFlag[vendwires[wiredesc]] dat += "[wiredesc] wire: " if(!is_uncut) - dat += "Mend" + dat += "Mend" else - dat += "Cut " - dat += "Pulse " + dat += "Cut " + dat += "Pulse " dat += "
      " dat += "
      " diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 1a17dec0aed..45046b7473f 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -33,7 +33,7 @@ honorific = "Ms." dat += "Identity not found in operative database. What can the Syndicate do for you today, [honorific] [user.name]?
      " if(!selfdestructing) - dat += "

      \"[pick("I want to switch teams.", "I want to work for you.", "Let me join you.", "I can be of use to you.", "You want me working for you, and here's why...", "Give me an objective.", "How's the 401k over at the Syndicate?")]\"
      " + dat += "

      \"[pick("I want to switch teams.", "I want to work for you.", "Let me join you.", "I can be of use to you.", "You want me working for you, and here's why...", "Give me an objective.", "How's the 401k over at the Syndicate?")]\"
      " dat += temptext user << browse(dat, "window=syndbeacon") onclose(user, "syndbeacon") diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm index a97e5a7d4c2..ae0b2738d1b 100644 --- a/code/game/machinery/telecomms/logbrowser.dm +++ b/code/game/machinery/telecomms/logbrowser.dm @@ -33,23 +33,23 @@ if(0) dat += "
      [temp]
      " - dat += "
      Current Network: [network]
      " + dat += "
      Current Network: [network]
      " if(servers.len) dat += "
      Detected Telecommunication Servers:" - dat += "
      \[Flush Buffer\]" + dat += "
      \[Flush Buffer\]" else - dat += "
      No servers detected. Scan for servers: \[Scan\]" + dat += "
      No servers detected. Scan for servers: \[Scan\]" // --- Viewing Server --- if(1) dat += "
      [temp]
      " - dat += "
      \[Main Menu\] \[Refresh\]
      " + dat += "
      \[Main Menu\] \[Refresh\]
      " dat += "
      Current Network: [network]" dat += "
      Selected Server: [SelectedServer.id]" @@ -68,7 +68,7 @@ // If the log is a speech file if(C.input_type == "Speech File") - dat += "
    • [C.name] \[X\]
      " + dat += "
    • [C.name] \[X\]
      " // -- Determine race of orator -- @@ -127,7 +127,7 @@ else if(C.input_type == "Execution Error") - dat += "
    • [C.name] \[X\]
      " + dat += "
    • [C.name] \[X\]
      " dat += "Output: \"[C.parameters["message"]]\"
      " dat += "

    • " diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index 347f4ebc685..c1a10cacd48 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -94,7 +94,7 @@ var/value = vars[varname] if(!value || value=="") value="-----" - return "[label]: [value]" + return "[label]: [value]" /obj/machinery/telecomms/attack_ai(var/mob/user as mob) attack_hand(user) @@ -116,7 +116,7 @@ dat = {"

      [temp]

      -

      Power Status: [src.toggled ? "On" : "Off"]

      "} +

      Power Status: [src.toggled ? "On" : "Off"]

      "} if(on && toggled) dat += {"

      [formatInput("Identification String","id","id")]

      @@ -135,7 +135,7 @@ i++ if(T.hide && !src.hide) continue - dat += "
    • \ref[T] [T.name] ([T.id]) \[X\]
    • " + dat += "
    • \ref[T] [T.name] ([T.id]) \[X\]
    • " // AUTOFIXED BY fix_string_idiocy.py // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\telecomms\machine_interactions.dm:140: dat += "" @@ -146,15 +146,15 @@ if(length(freq_listening)) dat += "
        " for(var/x in freq_listening) - dat += "
      • [format_frequency(x)] GHz\[X\]
      • " + dat += "
      • [format_frequency(x)] GHz\[X\]
      • " dat += "
      " else dat += "
    • NONE
    • " // AUTOFIXED BY fix_string_idiocy.py - // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\telecomms\machine_interactions.dm:155: dat += "
      \[Add Filter\]" - dat += {"

      \[Add Filter\]

      + // C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\telecomms\machine_interactions.dm:155: dat += "
      \[Add Filter\]" + dat += {"

      \[Add Filter\]


      "} // END AUTOFIX @@ -214,7 +214,7 @@ /* // Add an option to the processor to switch processing mode. (COMPRESS -> UNCOMPRESS or UNCOMPRESS -> COMPRESS) /obj/machinery/telecomms/processor/Options_Menu() - var/dat = "
      Processing Mode: [process_mode ? "UNCOMPRESS" : "COMPRESS"]" + var/dat = "
      Processing Mode: [process_mode ? "UNCOMPRESS" : "COMPRESS"]" return dat */ // The topic for Additional Options. Use this for checking href links for your specific option. @@ -235,9 +235,9 @@ /obj/machinery/telecomms/relay/Options_Menu() var/dat = "" if(level_boosts_signal(src.z)) - dat += "
      Signal Locked to Station: [is_station_level(listening_level) ? "TRUE" : "FALSE"]" - dat += "
      Broadcasting: [broadcasting ? "YES" : "NO"]" - dat += "
      Receiving: [receiving ? "YES" : "NO"]" + dat += "
      Signal Locked to Station: [is_station_level(listening_level) ? "TRUE" : "FALSE"]" + dat += "
      Broadcasting: [broadcasting ? "YES" : "NO"]" + dat += "
      Receiving: [receiving ? "YES" : "NO"]" return dat /obj/machinery/telecomms/relay/Options_Topic(href, href_list) @@ -260,7 +260,7 @@ // BUS /obj/machinery/telecomms/bus/Options_Menu() - var/dat = "
      Change Signal Frequency: [change_frequency ? "YES ([change_frequency])" : "NO"]" + var/dat = "
      Change Signal Frequency: [change_frequency ? "YES ([change_frequency])" : "NO"]" return dat /obj/machinery/telecomms/bus/Options_Topic(href, href_list) diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm index 57136b46dc9..9baa2a1a12f 100644 --- a/code/game/machinery/telecomms/telemonitor.dm +++ b/code/game/machinery/telecomms/telemonitor.dm @@ -35,28 +35,28 @@ if(0) dat += "
      [temp]

      " - dat += "
      Current Network: [network]
      " + dat += "
      Current Network: [network]
      " if(machinelist.len) dat += "
      Detected Network Entities:" - dat += "
      \[Flush Buffer\]" + dat += "
      \[Flush Buffer\]" else - dat += "\[Probe Network\]" + dat += "\[Probe Network\]" // --- Viewing Machine --- if(1) dat += "
      [temp]
      " - dat += "
      \[Main Menu\]
      " + dat += "
      \[Main Menu\]
      " dat += "
      Current Network: [network]
      " dat += "Selected Network Entity: [SelectedMachine.name] ([SelectedMachine.id])
      " dat += "Linked Entities:
        " for(var/obj/machinery/telecomms/T in SelectedMachine.links) if(!T.hide) - dat += "
      1. \ref[T.id] [T.name] ([T.id])
      2. " + dat += "
      3. \ref[T.id] [T.name] ([T.id])
      4. " dat += "
      " diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm index dbbf6682e4e..3d065f2f753 100644 --- a/code/game/machinery/telecomms/traffic_control.dm +++ b/code/game/machinery/telecomms/traffic_control.dm @@ -39,44 +39,44 @@ if(screen == 0) //main menu dat += "
      [temp]
      " - dat += "
      Current Network: [network]
      " + dat += "
      Current Network: [network]
      " if(servers.len) dat += "
      Detected Telecommunication Servers:" - dat += "
      \[Flush Buffer\]" + dat += "
      \[Flush Buffer\]" else - dat += "
      No servers detected. Scan for servers: \[Scan\]" + dat += "
      No servers detected. Scan for servers: \[Scan\]" if(screen == 1) //server menu dat += "
      [temp]
      " - dat += "
      \[Main Menu\] \[Refresh\]
      " + dat += "
      \[Main Menu\] \[Refresh\]
      " dat += "
      Current Network: [network]" if(allservers) dat += "
      Selected Server: All Servers

      " else dat += "
      Selected Server: [SelectedServer.id]

      " - dat += "
      \[Edit Code\]" + dat += "
      \[Edit Code\]" dat += "
      Signal Execution: " if(allservers) - dat += "ALWAYS NEVER" + dat += "ALWAYS NEVER" else if(SelectedServer.autoruncode) - dat += "ALWAYS" + dat += "ALWAYS" else - dat += "NEVER" + dat += "NEVER" if(screen == 2) //code editor if(editingcode == user) dat += {"
      [temp]
      - \[Back\] - \[Main Menu\] - \[Refresh\] + \[Back\] + \[Main Menu\] + \[Refresh\]
      - [add_req_access?"Edit operation keycodes":null] - [maint_access?"Initiate maintenance protocol":null] - [(state>0) ?"Set Cabin Air Pressure":null] + [add_req_access?"Edit operation keycodes":null] + [maint_access?"Initiate maintenance protocol":null] + [(state>0) ?"Set Cabin Air Pressure":null] "} user << browse(output, "window=exosuit_maint_console") diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index c2ddd11d787..f26e34834fb 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -145,7 +145,7 @@ output += "Cargo Compartment Contents:
      " if(cargo.len) for(var/obj/O in cargo) - output += "Unload : [O]
      " + output += "Unload : [O]
      " else output += "Nothing" output += "
      " diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 5f46a2a5cb0..198c6ce45aa 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -29,7 +29,7 @@ switch(get_area_type()) if(AREA_SPACE) text += "

      According to the [src.name], you are now in outer space. Hold your breath.

      \ -

      Mark this place as new area.

      " +

      Mark this place as new area.

      " if(AREA_SPECIAL) text += "

      This place is not noted on the [src.name].

      " return text @@ -90,12 +90,12 @@ var/area/A = get_area() if(get_area_type() == AREA_STATION) . += "

      According to the [src], you are now in \"[sanitize(A.name)]\".

      " - . += "

      You may move an amendment to the drawing.

      " + . += "

      You may move an amendment to the drawing.

      " if(!viewing) - . += "

      View structural data

      " + . += "

      View structural data

      " else - . += "

      Refresh structural data

      " - . += "

      Hide structural data

      " + . += "

      Refresh structural data

      " + . += "

      Hide structural data

      " var/datum/browser/popup = new(user, "blueprints", "[src]", 700, 500) popup.set_content(.) popup.open() diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 9c03d164bb2..a91c4e2ebe3 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -34,21 +34,21 @@ /obj/item/toy/crayon/proc/update_window(mob/living/user as mob) dat += "

      Currently selected: [drawtype]


      " - dat += "Random letterPick letter" + dat += "Random letterPick letter" dat += "
      " dat += "

      Runes:


      " - dat += "Random rune" + dat += "Random rune" for(var/i = 1; i <= 10; i++) - dat += "Rune[i]" + dat += "Rune[i]" if(!((i + 1) % 3)) //3 buttons in a row dat += "
      " dat += "
      " graffiti.Find() dat += "

      Graffiti:


      " - dat += "Random graffiti" + dat += "Random graffiti" var/c = 1 for(var/T in graffiti) - dat += "[T]" + dat += "[T]" if(!((c + 1) % 3)) //3 buttons in a row dat += "
      " c++ @@ -156,7 +156,7 @@ update_window(user) /obj/item/toy/crayon/mime/update_window(mob/living/user as mob) - dat += "
         Change color
      " + dat += "
         Change color
      " ..() /obj/item/toy/crayon/mime/Topic(href,href_list) @@ -181,7 +181,7 @@ update_window(user) /obj/item/toy/crayon/rainbow/update_window(mob/living/user as mob) - dat += "
         Change color
      " + dat += "
         Change color
      " ..() /obj/item/toy/crayon/rainbow/Topic(href,href_list[]) diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index e50f26bcf4f..26078a6dc3e 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -90,15 +90,15 @@ var/html switch(track_mode) if(BUGMODE_LIST) - html = "

      Select a camera:

      \[Cancel camera view\]
    \ - Name: [active1.fields["name"]]
    \ - ID: [active1.fields["id"]]
    \n \ - Sex: [active1.fields["sex"]]
    \n \ - Age: [active1.fields["age"]]
    \n \ - Rank: [active1.fields["rank"]]
    \n \ - Fingerprint: [active1.fields["fingerprint"]]
    \n \ + Name: [active1.fields["name"]]
    \ + ID: [active1.fields["id"]]
    \n \ + Sex: [active1.fields["sex"]]
    \n \ + Age: [active1.fields["age"]]
    \n \ + Rank: [active1.fields["rank"]]
    \n \ + Fingerprint: [active1.fields["fingerprint"]]
    \n \ Physical Status: [active1.fields["p_stat"]]
    \n \ Mental Status: [active1.fields["m_stat"]]

    \n \ Employment/skills summary:
    [active1.fields["notes"]]
    - $[item.cost] + $[item.cost]
    " + html = "

    Select a camera:

    \[Cancel camera view\]
    " for(var/entry in cameras) var/obj/machinery/camera/C = cameras[entry] var/functions = "" if(C.bug == src) - functions = " - \[Monitor\] \[Disable\]" + functions = " - \[Monitor\] \[Disable\]" else - functions = " - \[Monitor\]" - html += "" + functions = " - \[Monitor\]" + html += "" if(BUGMODE_MONITOR) if(current) @@ -109,7 +109,7 @@ return .(cameras) if(BUGMODE_TRACK) if(tracking) - html = "Tracking '[tracked_name]' \[Cancel Tracking\] \[Cancel camera view\]
    " + html = "Tracking '[tracked_name]' \[Cancel Tracking\] \[Cancel camera view\]
    " if(last_found) var/time_diff = round((world.time - last_seen) / 150) var/obj/machinery/camera/C = bugged_cameras[last_found] @@ -127,7 +127,7 @@ if(!s) s = "00" html += "Last seen near [outstring] ([m]:[s] minute\s ago)
    " if( C && (C.bug == src)) //Checks to see if the camera has a bug - html += "\[Disable\]" + html += "\[Disable\]" else html += "Not yet seen." diff --git a/code/game/objects/items/devices/floor_painter.dm b/code/game/objects/items/devices/floor_painter.dm index 7fa9759e330..c278a1be72a 100644 --- a/code/game/objects/items/devices/floor_painter.dm +++ b/code/game/objects/items/devices/floor_painter.dm @@ -51,13 +51,13 @@ user << browse_rsc(floor_icon, "floor.png") var/dat = {"
    - <- + <- - -> + ->
    - Choose Style + Choose Style
    Style: [floor_state]
    - Choose Direction + Choose Direction
    Direction: [dir2text(floor_dir)]
    "} diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index f6f39504390..826299b2a01 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -155,7 +155,7 @@ dat += {"
    [entry][functions]
    [entry][functions]
    - Configure Directives + Configure Directives
    "} @@ -163,7 +163,7 @@ dat += {"
    - Imprint Master DNA + Imprint Master DNA
    "} @@ -174,13 +174,13 @@ - - @@ -192,7 +192,7 @@ dat += "Radio firmware not loaded. Please install a pAI personality to load firmware.
    " dat += {"
    Transmit:[radio.broadcasting ? "En" : "Dis" ]abled + [radio.broadcasting ? "En" : "Dis" ]abled
    Receive:[radio.listening ? "En" : "Dis" ]abled + [radio.listening ? "En" : "Dis" ]abled
    -
    Wipe current pAI personality + Wipe current pAI personality
    @@ -207,7 +207,7 @@
    - Refresh available personalities + Refresh available personalities

    @@ -218,7 +218,7 @@

    No personality is installed.

    -
    Request personality + Request personality
    diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index b838b05c3c0..0b38b3f9e18 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -118,8 +118,8 @@ effective or pretty fucking useless. var/cooldown = round(max(10,((intensity*8)-(wavelength/2))+(intensity*2))) var/dat = {" - Radiation Intensity: -- [intensity] ++
    - Radiation Wavelength: -- [(wavelength+(intensity*4))] ++
    + Radiation Intensity: -- [intensity] ++
    + Radiation Wavelength: -- [(wavelength+(intensity*4))] ++
    Laser Cooldown: [cooldown] Seconds
    "} diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index 7760df16dcd..b019e2a9d95 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -69,10 +69,10 @@ var/list/world_uplinks = list() if(I.job && I.job.len) if(!(I.job.Find(job))) continue - dat += "[I.name] ([I.cost])
    " + dat += "[I.name] ([I.cost])
    " category_items++ - dat += "Random Item (??)
    " + dat += "Random Item (??)
    " dat += "
    " return dat diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 753cc9f9de8..852be314b1c 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -61,7 +61,7 @@ if(istype(E, /datum/stack_recipe_list)) var/datum/stack_recipe_list/srl = E if(amount >= srl.req_amount) - t1 += "[srl.title] ([srl.req_amount] [singular_name]\s)" + t1 += "[srl.title] ([srl.req_amount] [singular_name]\s)" else t1 += "[srl.title] ([srl.req_amount] [singular_name]\s)
    " @@ -83,7 +83,7 @@ title += "[R.title]" title += " ([R.req_amount] [src.singular_name]\s)" if(can_build) - t1 += "[title] " + t1 += "[title] " else t1 += "[title]" continue @@ -93,9 +93,9 @@ var/list/multipliers = list(5,10,25) for(var/n in multipliers) if(max_multiplier>=n) - t1 += " [n * R.res_amount]x" + t1 += " [n * R.res_amount]x" if(!(max_multiplier in multipliers)) - t1 += " [max_multiplier * R.res_amount]x" + t1 += " [max_multiplier * R.res_amount]x" var/datum/browser/popup = new(user, "stack", name, 400, 400) popup.set_content(t1) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 7e38c7a6e4e..295a1538a65 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -560,7 +560,7 @@ obj/item/toy/cards/cardhand/attack_self(mob/user as mob) obj/item/toy/cards/cardhand/interact(mob/user) var/dat = "You have:
    " for(var/t in currenthand) - dat += "A [t].
    " + dat += "A [t].
    " dat += "Which card will you remove next?" var/datum/browser/popup = new(user, "cardhand", "Hand of Cards", 400, 240) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index bc8ab270ee2..71dafff99ff 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -129,7 +129,7 @@ if(!ptank) to_chat(user, "Attach a plasma tank first!") return - var/dat = text("Flamethrower ([lit ? "Lit" : "Unlit"])
    \n Tank Pressure: [ptank.air_contents.return_pressure()]
    \nAmount to throw: - - - [throw_amount] + + +
    \nRemove plasmatank - Close
    ") + var/dat = text("Flamethrower ([lit ? "Lit" : "Unlit"])
    \n Tank Pressure: [ptank.air_contents.return_pressure()]
    \nAmount to throw: - - - [throw_amount] + + +
    \nRemove plasmatank - Close
    ") user << browse(dat, "window=flamethrower;size=600x300") onclose(user, "flamethrower") return diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm index 92e58b5af82..a464e5914ef 100644 --- a/code/game/objects/items/weapons/implants/implantchair.dm +++ b/code/game/objects/items/weapons/implants/implantchair.dm @@ -45,9 +45,9 @@ var/dat ="Implanter Status
    " dat +="Current occupant: [src.occupant ? "
    Name: [src.occupant]
    Health: [health_text]
    " : "None"]
    " - dat += "Implants: [src.implant_list.len ? "[implant_list.len]" : "Replenish"]
    " + dat += "Implants: [src.implant_list.len ? "[implant_list.len]" : "Replenish"]
    " if(src.occupant) - dat += "[src.ready ? "Implant" : "Recharging"]
    " + dat += "[src.ready ? "Implant" : "Recharging"]
    " user.set_machine(src) user << browse(dat, "window=implant") onclose(user, "implant") diff --git a/code/game/objects/items/weapons/implants/implantpad.dm b/code/game/objects/items/weapons/implants/implantpad.dm index b9a84c8a6d5..cd988d6310e 100644 --- a/code/game/objects/items/weapons/implants/implantpad.dm +++ b/code/game/objects/items/weapons/implants/implantpad.dm @@ -73,15 +73,15 @@ if(case) if(case.imp) if(istype(case.imp, /obj/item/weapon/implant)) - dat += "Remove Case
    " + dat += "Remove Case
    " dat += case.imp.get_data() if(istype(case.imp, /obj/item/weapon/implant/tracking)) var/obj/item/weapon/implant/tracking/T = case.imp dat += {"ID (1-100): - - - - [T.id] - + - +
    "} + - + - [T.id] + + + +
    "} else dat += "The implant casing is empty." else diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index de419dc1b7d..0b45cd4a42e 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -22,7 +22,7 @@ dat += "Number of uses: [src.uses]
    " dat += "
    " dat += "Four uses use them wisely:
    " - dat += "Teleport
    " + dat += "Teleport
    " dat += "Kind regards,
    Wizards Federation

    P.S. Don't forget to bring your gear, you'll need it to cast most spells.
    " user << browse(dat, "window=scroll") onclose(user, "scroll") diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index 15650f188d9..87309c5927c 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -28,17 +28,17 @@ add_fingerprint(usr) var/dat if(temp) - dat = "[src.temp]

    Clear" + dat = "[src.temp]

    Clear" else dat = {" Persistent Signal Locator
    Frequency: -- -- [format_frequency(src.frequency)] -+ -+
    +- +- [format_frequency(src.frequency)] ++ ++
    -Refresh"} +Refresh"} user << browse(dat, "window=radio") onclose(user, "radio") return @@ -74,7 +74,7 @@ Frequency: temp += "[T.id]: [T.imp_in.x], [T.imp_in.y], [T.imp_in.z]
    " temp += "You are at \[[sr.x],[sr.y],[sr.z]\]." - temp += "

    Refresh
    " + temp += "

    Refresh
    " else temp += "Processing error: Unable to locate orbital position.
    " else diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 7c5fe09dd06..9a75e9e3950 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -203,14 +203,14 @@ /obj/proc/linkMenu(var/obj/O) var/dat="" if(canLink(O, list())) - dat += " \[Link\] " + dat += " \[Link\] " return dat /obj/proc/format_tag(var/label,var/varname, var/act="set_tag") var/value = vars[varname] if(!value || value=="") value="-----" - return "[label]: [value]" + return "[label]: [value]" /obj/proc/update_multitool_menu(mob/user as mob) @@ -253,10 +253,10 @@ a { dat += linkMenu(P.buffer) if(P.buffer) - dat += "\[Flush\]" + dat += "\[Flush\]" dat += "

    " else - dat += "

    MULTITOOL BUFFER: \[Add Machine\]

    " + dat += "

    MULTITOOL BUFFER: \[Add Machine\]

    " else dat += "ACCESS DENIED" dat += "" diff --git a/code/game/objects/structures/engicart.dm b/code/game/objects/structures/engicart.dm index cce6c1c1bdb..742664b68b0 100644 --- a/code/game/objects/structures/engicart.dm +++ b/code/game/objects/structures/engicart.dm @@ -101,21 +101,21 @@ user.set_machine(src) var/dat if(myglass) - dat += "[myglass.name]
    " + dat += "[myglass.name]
    " if(mymetal) - dat += "[mymetal.name]
    " + dat += "[mymetal.name]
    " if(myplasteel) - dat += "[myplasteel.name]
    " + dat += "[myplasteel.name]
    " if(myflashlight) - dat += "[myflashlight.name]
    " + dat += "[myflashlight.name]
    " if(mybluetoolbox) - dat += "[mybluetoolbox.name]
    " + dat += "[mybluetoolbox.name]
    " if(myredtoolbox) - dat += "[myredtoolbox.name]
    " + dat += "[myredtoolbox.name]
    " if(myyellowtoolbox) - dat += "[myyellowtoolbox.name]
    " + dat += "[myyellowtoolbox.name]
    " if(myengitape) - dat += "[myengitape.name]
    " + dat += "[myengitape.name]
    " var/datum/browser/popup = new(user, "engicart", name, 240, 160) popup.set_content(dat) popup.open() diff --git a/code/game/objects/structures/foodcart.dm b/code/game/objects/structures/foodcart.dm index 071200c8ca0..de103cc5d57 100644 --- a/code/game/objects/structures/foodcart.dm +++ b/code/game/objects/structures/foodcart.dm @@ -76,29 +76,29 @@ user.set_machine(src) var/dat if(food_slots[1]) - dat += "[food_slots[1]]
    " + dat += "[food_slots[1]]
    " if(food_slots[2]) - dat += "[food_slots[2]]
    " + dat += "[food_slots[2]]
    " if(food_slots[3]) - dat += "[food_slots[3]]
    " + dat += "[food_slots[3]]
    " if(food_slots[4]) - dat += "[food_slots[4]]
    " + dat += "[food_slots[4]]
    " if(food_slots[5]) - dat += "[food_slots[5]]
    " + dat += "[food_slots[5]]
    " if(food_slots[6]) - dat += "[food_slots[6]]
    " + dat += "[food_slots[6]]
    " if(drink_slots[1]) - dat += "[drink_slots[1]]
    " + dat += "[drink_slots[1]]
    " if(drink_slots[2]) - dat += "[drink_slots[2]]
    " + dat += "[drink_slots[2]]
    " if(drink_slots[3]) - dat += "[drink_slots[3]]
    " + dat += "[drink_slots[3]]
    " if(drink_slots[4]) - dat += "[drink_slots[4]]
    " + dat += "[drink_slots[4]]
    " if(drink_slots[5]) - dat += "[drink_slots[5]]
    " + dat += "[drink_slots[5]]
    " if(drink_slots[6]) - dat += "[drink_slots[6]]
    " + dat += "[drink_slots[6]]
    " var/datum/browser/popup = new(user, "foodcart", name, 240, 160) popup.set_content(dat) popup.open() diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index e51a7e3aac2..c5abbad1c96 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -113,15 +113,15 @@ user.set_machine(src) var/dat if(mybag) - dat += "[mybag.name]
    " + dat += "[mybag.name]
    " if(mymop) - dat += "[mymop.name]
    " + dat += "[mymop.name]
    " if(myspray) - dat += "[myspray.name]
    " + dat += "[myspray.name]
    " if(myreplacer) - dat += "[myreplacer.name]
    " + dat += "[myreplacer.name]
    " if(signs) - dat += "[signs] sign\s
    " + dat += "[signs] sign\s
    " var/datum/browser/popup = new(user, "janicart", name, 240, 160) popup.set_content(dat) popup.open() diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index adc6fa4a4fa..bbad94dd174 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -32,7 +32,7 @@ /obj/structure/noticeboard/attack_hand(user as mob) var/dat = "Noticeboard
    " for(var/obj/item/weapon/paper/P in src) - dat += "[P.name] Write Remove
    " + dat += "[P.name] Write Remove
    " user << browse("Notices[dat]","window=noticeboard") onclose(user, "noticeboard") diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index ec2ebc8848a..315728ddc16 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -75,12 +75,12 @@ FLOOR SAFES /obj/structure/safe/attack_hand(mob/user) user.set_machine(src) var/dat = "
    " - dat += "[open ? "Close" : "Open"] [src] | - [dial * 5] +" + dat += "[open ? "Close" : "Open"] [src] | - [dial * 5] +" if(open) dat += "" for(var/i = contents.len, i>=1, i--) var/obj/item/P = contents[i] - dat += "" + dat += "" dat += "
    [P.name]
    [P.name]
    " user << browse("[name][dat]", "window=safe;size=350x300") diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index ab1c2830933..8d0962857f5 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -35,8 +35,8 @@ /obj/structure/dispenser/attack_hand(mob/user as mob) user.set_machine(src) var/dat = "[src]

    " - dat += "Oxygen tanks: [oxygentanks] - [oxygentanks ? "Dispense" : "empty"]
    " - dat += "Plasma tanks: [plasmatanks] - [plasmatanks ? "Dispense" : "empty"]" + dat += "Oxygen tanks: [oxygentanks] - [oxygentanks ? "Dispense" : "empty"]
    " + dat += "Plasma tanks: [plasmatanks] - [plasmatanks ? "Dispense" : "empty"]" user << browse(dat, "window=dispenser") onclose(user, "dispenser") return diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index c22a019addb..6cd03894699 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -354,7 +354,7 @@ datum/admins/proc/DB_ban_unban_by_id(var/id) output += "" - output += "Add custom ban: (ONLY use this if you can't ban through any other method)" + output += "Add custom ban: (ONLY use this if you can't ban through any other method)" output += "" output += "" output += "" output += "
    Ban type:
    " - output += " @@ -377,16 +377,16 @@ dat += {" - + "} switch(is_special_character(M)) if(0) - dat += {""} + dat += {""} if(1) - dat += {""} + dat += {""} if(2) - dat += {""} + dat += {""} dat += "
    Search:" + output += "" output += "" output += "" @@ -512,7 +512,7 @@ datum/admins/proc/DB_ban_unban_by_id(var/id) if("PERMABAN") typedesc = "PERMABAN" if("TEMPBAN") - typedesc = "TEMPBAN
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]
    " + typedesc = "TEMPBAN
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]
    " if("JOB_PERMABAN") typedesc = "JOBBAN
    ([job])" if("JOB_TEMPBAN") @@ -522,21 +522,21 @@ datum/admins/proc/DB_ban_unban_by_id(var/id) if("ADMIN_PERMABAN") typedesc = "ADMIN PERMABAN" if("ADMIN_TEMPBAN") - typedesc = "ADMIN TEMPBAN
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]
    " + typedesc = "ADMIN TEMPBAN
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]
    " output += "
    " output += "" output += "" output += "" output += "" - output += "" + output += "" output += "" output += "" output += "" output += "" output += "" output += "" - output += "" + output += "" output += "" if(edits) output += "" diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 30b8c8bb8e9..67a06ec3787 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -257,11 +257,11 @@ var/global/nologevent = 0
    Note that this panel allows full freedom over the news network, there are no constrictions except the few basic ones. Don't break things!
    "} if(news_network.wanted_issue) - dat+= "
    Read Wanted Issue" + dat+= "
    Read Wanted Issue" - dat+= {"

    Create Feed Channel -
    View Feed Channels -
    Submit new Feed story + dat+= {"

    Create Feed Channel +
    View Feed Channels +
    Submit new Feed story

    Exit "} @@ -270,10 +270,10 @@ var/global/nologevent = 0 wanted_already = 1 dat+={"
    Feed Security functions:
    -
    [(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue -
    Censor Feed Stories -
    Mark Feed Channel with Nanotrasen D-Notice (disables and locks the channel. -

    The newscaster recognises you as:
    [src.admincaster_signature]
    +
    [(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue +
    Censor Feed Stories +
    Mark Feed Channel with Nanotrasen D-Notice (disables and locks the channel. +

    The newscaster recognises you as:
    [src.admincaster_signature]
    "} if(1) dat+= "Station Feed Channels
    " @@ -282,38 +282,38 @@ var/global/nologevent = 0 else for(var/datum/feed_channel/CHANNEL in news_network.network_channels) if(CHANNEL.is_admin_channel) - dat+="[CHANNEL.channel_name]
    " + dat+="[CHANNEL.channel_name]
    " else - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " - dat+={"

    Refresh -
    Back + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " + dat+={"

    Refresh +
    Back "} if(2) dat+={" Creating new Feed Channel... -
    Channel Name: [src.admincaster_feed_channel.channel_name]
    - Channel Author:[src.admincaster_signature]
    - Will Accept Public Feeds: [(src.admincaster_feed_channel.locked) ? ("NO") : ("YES")]

    -
    Submit

    Cancel
    +
    Channel Name: [src.admincaster_feed_channel.channel_name]
    + Channel Author:[src.admincaster_signature]
    + Will Accept Public Feeds: [(src.admincaster_feed_channel.locked) ? ("NO") : ("YES")]

    +
    Submit

    Cancel
    "} if(3) dat+={" Creating new Feed Message... -
    Receiving Channel: [src.admincaster_feed_channel.channel_name]
    +
    Receiving Channel: [src.admincaster_feed_channel.channel_name]
    Message Author:[src.admincaster_signature]
    - Message Body: [src.admincaster_feed_message.body]
    -
    Submit

    Cancel
    + Message Body: [src.admincaster_feed_message.body]
    +
    Submit

    Cancel
    "} if(4) dat+={" Feed story successfully submitted to [src.admincaster_feed_channel.channel_name].

    -
    Return
    +
    Return
    "} if(5) dat+={" Feed Channel [src.admincaster_feed_channel.channel_name] created successfully.

    -
    Return
    +
    Return
    "} if(6) dat+="ERROR: Could not submit Feed story to Network.

    " @@ -321,7 +321,7 @@ var/global/nologevent = 0 dat+="•Invalid receiving channel name.
    " if(src.admincaster_feed_message.body == "" || src.admincaster_feed_message.body == "\[REDACTED\]") dat+="•Invalid message body.
    " - dat+="
    Return
    " + 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\]") @@ -333,7 +333,7 @@ var/global/nologevent = 0 break if(check) dat+="•Channel name already in use.
    " - dat+="
    Return
    " + dat+="
    Return
    " if(9) dat+="[src.admincaster_feed_channel.channel_name]: \[created by: [src.admincaster_feed_channel.author]\]
    " if(src.admincaster_feed_channel.censored) @@ -354,8 +354,8 @@ var/global/nologevent = 0 dat+="

    " dat+="\[Story by [MESSAGE.author]\]
    " dat+={" -

    Refresh -
    Back +

    Refresh +
    Back "} if(10) dat+={" @@ -368,8 +368,8 @@ var/global/nologevent = 0 dat+="No feed channels found active...
    " else for(var/datum/feed_channel/CHANNEL in news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " - dat+="
    Cancel" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " + dat+="
    Cancel" if(11) dat+={" Nanotrasen D-Notice Handler
    @@ -381,13 +381,13 @@ var/global/nologevent = 0 dat+="No feed channels found active...
    " else for(var/datum/feed_channel/CHANNEL in news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " - dat+="
    Back" + dat+="
    Back" if(12) dat+={" [src.admincaster_feed_channel.channel_name]: \[ created by: [src.admincaster_feed_channel.author] \]
    - [(src.admincaster_feed_channel.author=="\[REDACTED\]") ? ("Undo Author censorship") : ("Censor channel Author")]
    + [(src.admincaster_feed_channel.author=="\[REDACTED\]") ? ("Undo Author censorship") : ("Censor channel Author")]
    "} if( isemptylist(src.admincaster_feed_channel.messages) ) dat+="No feed messages found in channel...
    " @@ -395,13 +395,13 @@ var/global/nologevent = 0 for(var/datum/feed_message/MESSAGE in src.admincaster_feed_channel.messages) dat+={" -[MESSAGE.body]
    \[Story by [MESSAGE.author]\]
    - [(MESSAGE.body == "\[REDACTED\]") ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.author == "\[REDACTED\]") ? ("Undo Author Censorship") : ("Censor message Author")]
    + [(MESSAGE.body == "\[REDACTED\]") ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.author == "\[REDACTED\]") ? ("Undo Author Censorship") : ("Censor message Author")]
    "} - dat+="
    Back" + dat+="
    Back" if(13) dat+={" [src.admincaster_feed_channel.channel_name]: \[ created by: [src.admincaster_feed_channel.author] \]
    - Channel messages listed below. If you deem them dangerous to the station, you can Bestow a D-Notice upon the channel.
    + Channel messages listed below. If you deem them dangerous to the station, you can Bestow a D-Notice upon the channel.
    "} if(src.admincaster_feed_channel.censored) dat+={" @@ -415,7 +415,7 @@ var/global/nologevent = 0 for(var/datum/feed_message/MESSAGE in src.admincaster_feed_channel.messages) dat+="-[MESSAGE.body]
    \[Story by [MESSAGE.author]\]
    " - dat+="
    Back" + dat+="
    Back" if(14) dat+="Wanted Issue Handler:" var/wanted_already = 0 @@ -427,21 +427,21 @@ var/global/nologevent = 0 dat+="
    A wanted issue is already in Feed Circulation. You can edit or cancel it below.
    " dat+={"
    - Criminal Name: [src.admincaster_feed_message.author]
    - Description: [src.admincaster_feed_message.body]
    + Criminal Name: [src.admincaster_feed_message.author]
    + Description: [src.admincaster_feed_message.body]
    "} if(wanted_already) dat+="Wanted Issue created by: [news_network.wanted_issue.backup_author]
    " else dat+="Wanted Issue will be created under prosecutor: [src.admincaster_signature]
    " - dat+="
    [(wanted_already) ? ("Edit Issue") : ("Submit")]" + dat+="
    [(wanted_already) ? ("Edit Issue") : ("Submit")]" if(wanted_already) - dat+="
    Take down Issue" - dat+="
    Cancel" + dat+="
    Take down Issue" + dat+="
    Cancel" if(15) dat+={" Wanted issue for [src.admincaster_feed_message.author] is now in Network Circulation.

    -
    Return
    +
    Return
    "} if(16) dat+="ERROR: Wanted Issue rejected by Network.

    " @@ -449,11 +449,11 @@ var/global/nologevent = 0 dat+="•Invalid name for person wanted.
    " if(src.admincaster_feed_message.body == "" || src.admincaster_feed_message.body == "\[REDACTED\]") dat+="•Invalid description.
    " - dat+="
    Return
    " + dat+="
    Return
    " if(17) dat+={" Wanted Issue successfully deleted from Circulation
    -
    Return
    +
    Return
    "} if(18) dat+={" @@ -467,11 +467,11 @@ var/global/nologevent = 0 dat+="
    " else dat+="None" - dat+="
    Back
    " + dat+="
    Back
    " if(19) dat+={" Wanted issue for [src.admincaster_feed_message.author] successfully edited.

    -
    Return
    +
    Return
    "} else dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com" @@ -490,7 +490,7 @@ var/global/nologevent = 0 var/r = t if( findtext(r,"##") ) r = copytext( r, 1, findtext(r,"##") )//removes the description - dat += text("") + dat += text("") dat += "
    Search:" output += "
    Ckey: Admin ckey:
    [typedesc][ckey][bantime][ackey][(unbanned) ? "" : "Unban"][(unbanned) ? "" : "Unban"]
    IP: [ip]CIP: [cid]
    Reason: [(unbanned) ? "" : "(Edit)"] \"[reason]\"Reason: [(unbanned) ? "" : "(Edit)"] \"[reason]\"
    [t] (unban)
    [t] (unban)
    " usr << browse(dat, "window=ban;size=400x400") @@ -500,17 +500,17 @@ var/global/nologevent = 0 var/dat = {"
    Game Panel

    \n - Change Game Mode
    + Change Game Mode
    "} if(master_mode == "secret") - dat += "(Force Secret Mode)
    " + dat += "(Force Secret Mode)
    " dat += {"
    - Create Object
    - Quick Create Object
    - Create Turf
    - Create Mob
    + Create Object
    + Quick Create Object
    + Create Turf
    + Create Mob
    "} usr << browse(dat, "window=admin2;size=210x280") diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index b840cad783d..f1232cd4e78 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -20,7 +20,7 @@
    - + "} @@ -32,15 +32,15 @@ var/rights = rights2text(D.rights," ") if(!rights) rights = "*none*" output += {" - - - + + +"} /*output += "" - output += "" - output += "" - output += "" + output += "" + output += "" + output += "" output += ""*/ output += {" diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 4234ea2773c..618f11cef2c 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -75,18 +75,18 @@ body += "
    CKEY \[+\]CKEY \[+\] RANKPERMISSIONS
    [adm_ckey] \[-\][rank][rights][adm_ckey] \[-\][rank][rights]
    [adm_ckey] \[-\][rank][rights][adm_ckey] \[-\][rank][rights]
    "; - body += "PP - " - body += "N - " + body += "PP - " + body += "N - " body += "VV - " - body += "TP - " + body += "TP - " body += "PM - " - body += "SM - " - body += "FLW" + body += "SM - " + body += "FLW" if(eyeref) - body += "|EYE" + body += "|EYE" body += "
    " if(antagonist > 0) - body += "Antagonist"; + body += "Antagonist"; body += "
    "; @@ -197,7 +197,7 @@
    Player panel
    - Hover over a line to see more information | [check_rights(R_ADMIN,0) ? "Check antagonists | Kick everyone/AFKers in lobby" : "" ] + Hover over a line to see more information | [check_rights(R_ADMIN,0) ? "Check antagonists | Kick everyone/AFKers in lobby" : "" ]

    [(M.client ? "[M.client]" : "No client")]XX PMTraitor?Traitor?Traitor?Traitor?Traitor?Traitor?
    " @@ -401,7 +401,7 @@ else logout_status = M.client ? "" : " (logged out)" - return {"[M.real_name][caption][logout_status][M.stat == 2 ? " (DEAD)" : ""] + return {"[M.real_name][caption][logout_status][M.stat == 2 ? " (DEAD)" : ""] PM[close ? "" : ""]"} /datum/admins/proc/check_antagonists() @@ -412,7 +412,7 @@ dat += "Round Duration: [round(ROUND_TIME / 36000)]:[add_zero(num2text(ROUND_TIME / 600 % 60), 2)]:[add_zero(num2text(ROUND_TIME / 10 % 60), 2)]
    " dat += "Emergency shuttle
    " if(shuttle_master.emergency.mode < SHUTTLE_CALL) - dat += "Call Shuttle
    " + dat += "Call Shuttle
    " else var/timeleft = shuttle_master.emergency.timeLeft() if(shuttle_master.emergency.mode < SHUTTLE_DOCKED) @@ -421,7 +421,7 @@ else dat += "ETA: [(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]
    " - dat += "[ticker.delay_end ? "End Round Normally" : "Delay Round End"]
    " + dat += "[ticker.delay_end ? "End Round Normally" : "Delay Round End"]
    " if(ticker.mode.syndicates.len) dat += "
    " for(var/datum/mind/N in ticker.mode.syndicates) @@ -437,7 +437,7 @@ while(!istype(disk_loc, /turf)) if(istype(disk_loc, /mob)) var/mob/M = disk_loc - dat += "carried by [M.real_name] " + dat += "carried by [M.real_name] " if(istype(disk_loc, /obj)) var/obj/O = disk_loc dat += "in \a [O.name] " @@ -551,7 +551,7 @@ if(show_objectives) txt += {" "} diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index 65721c2bb26..c5004b9dd12 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -7,9 +7,9 @@ if(!check_rights(0)) return var/dat = "
    " - dat += "Debug" - dat += "IC Events" - dat += "OOC Events" + dat += "Debug" + dat += "IC Events" + dat += "OOC Events" dat += "
    " dat += "
    " @@ -19,44 +19,44 @@ dat += {"

    Admin Secrets

    Game
    - Show AI Laws   - Show Game Mode   - Show Crew Manifest
    - Show current traitors and objectives
    + Show AI Laws   + Show Game Mode   + Show Crew Manifest
    + Show current traitors and objectives
    Bombs
    - Bombing List   - Remove all bombs currently in existence - [check_rights(R_SERVER, 0) ? "  Toggle bomb cap
    " : "
    "] + Bombing List   + Remove all bombs currently in existence + [check_rights(R_SERVER, 0) ? "  Toggle bomb cap
    " : "
    "] Lists
    - Show last [length(lastsignalers)] signalers   - Show last [length(lawchanges)] law changes
    - List DNA (Blood)   - List Fingerprints
    + Show last [length(lastsignalers)] signalers   + Show last [length(lawchanges)] law changes
    + List DNA (Blood)   + List Fingerprints
    Power
    - Break all lights   - Fix all lights
    - Make all areas powered   - Make all areas unpowered   - Power all SMES
    + Break all lights   + Fix all lights
    + Make all areas powered   + Make all areas unpowered   + Power all SMES
    "} else if(check_rights(R_SERVER,0)) //only add this if admin secrets are unavailiable; otherwise, it's added inline - dat += "
    Bomb cap: Toggle bomb cap
    " + dat += "
    Bomb cap: Toggle bomb cap
    " dat += "
    " if(check_rights(R_DEBUG,0)) dat += {"
    Security Level Elevated

    - Change all maintenance doors to engie/brig access only
    - Change all maintenance doors to brig access only
    - Remove cap on security officers   + Change all maintenance doors to engie/brig access only
    + Change all maintenance doors to brig access only
    + Remove cap on security officers  
    Coder Secrets

    - Show Job Debug   - Admin Log
    + Show Job Debug   + Admin Log

    "} @@ -67,20 +67,20 @@

    IC Events

    Teams
    - Send SIT - Syndicate Infiltration Team   -
    Send in the Deathsquad   - Send in a Syndie Strike Team   - Send in a HONKsquad
    + Send SIT - Syndicate Infiltration Team   +
    Send in the Deathsquad   + Send in a Syndie Strike Team   + Send in a HONKsquad
    Change Security Level
    - Security Level - Green   - Security Level - Blue   - Security Level - Red
    - Security Level - Gamma   - Security Level - Epsilon   - Security Level - Delta
    + Security Level - Green   + Security Level - Blue   + Security Level - Red
    + Security Level - Gamma   + Security Level - Epsilon   + Security Level - Delta
    Create Weather
    - Weather - Ash Storm   - Weather - Advanced Darkness   + Weather - Ash Storm   + Weather - Advanced Darkness  
    "} @@ -90,38 +90,38 @@

    OOC Events

    Thunderdome
    - Start a Thunderdome match   - Reset Thunderdome to default state

    + Start a Thunderdome match   + Reset Thunderdome to default state

    Clothing
    - Remove 'internal' clothing   - Remove ALL clothing
    + Remove 'internal' clothing   + Remove ALL clothing
    TDM
    - Everyone is the traitor   - There can only be one!   - There can only be me!   - Dodgeball (TDM)!
    + Everyone is the traitor   + There can only be one!   + There can only be me!   + Dodgeball (TDM)!
    Round-enders
    - The floor is lava! (DANGEROUS: extremely lame)
    - The floor is fake-lava! (non-harmful)
    - Turn all humans into monkeys
    - Make all items look like guns
    - Warp all Players to Prison
    - Make all players retarded
    + The floor is lava! (DANGEROUS: extremely lame)
    + The floor is fake-lava! (non-harmful)
    + Turn all humans into monkeys
    + Make all items look like guns
    + Warp all Players to Prison
    + Make all players retarded
    Misc
    - Remove firesuits, grilles, and pods   - Triple AI mode (needs to be used in the lobby)
    - Ghost Mode   - Japanese Animes Mode   - Egalitarian Station Mode
    - Summon Guns   - Summon Magic + Remove firesuits, grilles, and pods   + Triple AI mode (needs to be used in the lobby)
    + Ghost Mode   + Japanese Animes Mode   + Egalitarian Station Mode
    + Summon Guns   + Summon Magic
    - Roll the Dice
    + Roll the Dice


    - Move Ferry
    - Move Mining Shuttle
    - Move Labor Shuttle
    + Move Ferry
    + Move Mining Shuttle
    + Move Labor Shuttle

    "} dat += "" diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 0f971300225..f8cdfeb8596 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -488,17 +488,17 @@ //Regular jobs //Command (Blue) jobs += "
    Syndicates
    - Show Objective + Show Objective
    " - jobs += "" + jobs += "" for(var/jobPos in command_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue if(jobban_isbanned(M, job.title)) - jobs += "" + jobs += "" counter++ else - jobs += "" + jobs += "" counter++ if(counter >= 6) //So things dont get squiiiiished! @@ -509,17 +509,17 @@ //Security (Red) counter = 0 jobs += "
    Command Positions
    Command Positions
    [replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
    " - jobs += "" + jobs += "" for(var/jobPos in security_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue if(jobban_isbanned(M, job.title)) - jobs += "" + jobs += "" counter++ else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -530,17 +530,17 @@ //Engineering (Yellow) counter = 0 jobs += "
    Security Positions
    Security Positions
    [replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
    " - jobs += "" + jobs += "" for(var/jobPos in engineering_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue if(jobban_isbanned(M, job.title)) - jobs += "" + jobs += "" counter++ else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -551,17 +551,17 @@ //Medical (White) counter = 0 jobs += "
    Engineering Positions
    Engineering Positions
    [replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
    " - jobs += "" + jobs += "" for(var/jobPos in medical_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue if(jobban_isbanned(M, job.title)) - jobs += "" + jobs += "" counter++ else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -572,17 +572,17 @@ //Science (Purple) counter = 0 jobs += "
    Medical Positions
    Medical Positions
    [replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
    " - jobs += "" + jobs += "" for(var/jobPos in science_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue if(jobban_isbanned(M, job.title)) - jobs += "" + jobs += "" counter++ else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -593,17 +593,17 @@ //Support (Grey) counter = 0 jobs += "
    Science Positions
    Science Positions
    [replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
    " - jobs += "" + jobs += "" for(var/jobPos in support_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue if(jobban_isbanned(M, job.title)) - jobs += "" + jobs += "" counter++ else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -614,17 +614,17 @@ //Non-Human (Green) counter = 0 jobs += "
    Support Positions
    Support Positions
    [replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
    " - jobs += "" + jobs += "" for(var/jobPos in nonhuman_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue if(jobban_isbanned(M, job.title)) - jobs += "" + jobs += "" counter++ else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -633,29 +633,29 @@ //Drone if(jobban_isbanned(M, "Drone")) - jobs += "" + jobs += "" else - jobs += "" + jobs += "" //pAI if(jobban_isbanned(M, "pAI")) - jobs += "" + jobs += "" else - jobs += "" + jobs += "" jobs += "
    Non-human Positions
    Non-human Positions
    [replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]DroneDroneDroneDronepAIpAIpAIpAI
    " //Antagonist (Orange) var/isbanned_dept = jobban_isbanned(M, "Syndicate") jobs += "" - jobs += "" + jobs += "" counter = 0 for(var/role in antag_roles) if(jobban_isbanned(M, role) || isbanned_dept) - jobs += "" + jobs += "" else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -670,9 +670,9 @@ counter = 0 for(var/role in other_roles) if(jobban_isbanned(M, role) || isbanned_dept) - jobs += "" + jobs += "" else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -683,17 +683,17 @@ //Whitelisted positions counter = 0 jobs += "
    Antagonist Positions
    Antagonist Positions
    [replacetext(role, " ", " ")][replacetext(role, " ", " ")][replacetext(role, " ", " ")][replacetext(role, " ", " ")][replacetext(role, " ", " ")][replacetext(role, " ", " ")][replacetext(role, " ", " ")][replacetext(role, " ", " ")]
    " - jobs += "" + jobs += "" for(var/jobPos in whitelisted_positions) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue if(jobban_isbanned(M, job.title)) - jobs += "" + jobs += "" counter++ else - jobs += "" + jobs += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -1067,9 +1067,9 @@ return alert(usr, "The game has already started.", null, null, null, null) var/dat = {"What mode do you wish to play?
    "} for(var/mode in config.modes) - dat += {"[config.mode_names[mode]]
    "} - dat += {"Secret
    "} - dat += {"Random
    "} + dat += {"[config.mode_names[mode]]
    "} + dat += {"Secret
    "} + dat += {"Random
    "} dat += {"Now: [master_mode]"} usr << browse(dat, "window=c_mode") @@ -1082,8 +1082,8 @@ return alert(usr, "The game mode has to be secret!", null, null, null, null) var/dat = {"What game mode do you want to force secret to be? Use this if you want to change the game mode, but want the players to believe it's secret. This will only work if the current game mode is secret.
    "} for(var/mode in config.modes) - dat += {"[config.mode_names[mode]]
    "} - dat += {"Random (default)
    "} + dat += {"[config.mode_names[mode]]
    "} + dat += {"Random (default)
    "} dat += {"Now: [secret_force_mode]"} usr << browse(dat, "window=f_secret") @@ -1837,7 +1837,7 @@ for(var/page = 1, page <= B.amount + 1, page++) var/obj/pageobj = B.contents[page] - data += "Page [page] - [pageobj.name]
    " + data += "Page [page] - [pageobj.name]
    " usr << browse(data, "window=[B.name]") else diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 33c33c2ab6d..b8ab9c23853 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -13,14 +13,14 @@ client/proc/one_click_antag() /datum/admins/proc/one_click_antag() var/dat = {"One-click Antagonist
    - Make Traitors
    - Make Changelings
    - Make Revolutionaries
    - Make Cult
    - Make Wizard (Requires Ghosts)
    - Make Vampires
    - Make Vox Raiders (Requires Ghosts)
    - Make Abductor Team (Requires Ghosts)
    + Make Traitors
    + Make Changelings
    + Make Revolutionaries
    + Make Cult
    + Make Wizard (Requires Ghosts)
    + Make Vampires
    + Make Vox Raiders (Requires Ghosts)
    + Make Abductor Team (Requires Ghosts)
    "} usr << browse(dat, "window=oneclickantag;size=400x400") return diff --git a/code/modules/arcade/prize_counter.dm b/code/modules/arcade/prize_counter.dm index e45d3d1bfe0..e1636fa4e33 100644 --- a/code/modules/arcade/prize_counter.dm +++ b/code/modules/arcade/prize_counter.dm @@ -116,7 +116,7 @@ td.cost.toomuch { -

    Tickets: [tickets] | Eject Tickets

    +

    Tickets: [tickets] | Eject Tickets

    Arcade Ticket Exchange

    Exchange that pile of tickets for a pile of cool prizes! @@ -148,7 +148,7 @@ td.cost.toomuch { "} dat += {"

    "} diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index 5c67f780a5f..2598c1aae72 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -73,7 +73,7 @@ if(!secured) user.show_message("The [name] is unsecured!") return 0 - var/dat = text("Health Sensor [scanning?"On":"Off"]") + var/dat = text("Health Sensor [scanning?"On":"Off"]") if(scanning && health_scan) dat += "
    Health: [health_scan]" var/datum/browser/popup = new(user, "hscan", name, 400, 400) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index baf1a9a950d..7f9181ca937 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -133,12 +133,12 @@ if(!secured) return user.set_machine(src) var/dat = {"Infrared Laser - Status: [on ? "On" : "Off"]
    - Visibility: [visible ? "Visible" : "Invisible"]
    - Current Direction: [capitalize(dir2text(dir))]
    + Status: [on ? "On" : "Off"]
    + Visibility: [visible ? "Visible" : "Invisible"]
    + Current Direction: [capitalize(dir2text(dir))]
    -

    Refresh -

    Close"} +

    Refresh +

    Close"} var/datum/browser/popup = new(user, "infra", name, 400, 400) popup.set_content(dat) popup.open(0) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 3b1e5b3a6c7..da81b00683a 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -114,9 +114,9 @@ var/second = time % 60 var/minute = (time - second) / 60 var/dat = text("Proximity Sensor\n[] []:[]\n- - + +\n", (timing ? text("Arming", src) : text("Not Arming", src)), minute, second, src, src, src, src) - dat += "
    [scanning?"Armed":"Unarmed"] (Movement sensor active when armed!)" - dat += "

    Refresh" - dat += "

    Close" + dat += "
    [scanning?"Armed":"Unarmed"] (Movement sensor active when armed!)" + dat += "

    Refresh" + dat += "

    Close" var/datum/browser/popup = new(user, "prox", name, 400, 400) popup.set_content(dat) popup.open(0) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index c021fec7ef9..ca597bd1207 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -54,30 +54,30 @@ // if((src.b_stat && !( flag1 ))) // t1 = text("-------
    \nGreen Wire: []
    \nRed Wire: []
    \nBlue Wire: []
    \n", (src.wires & 4 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 2 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 1 ? text("Cut Wire", src) : text("Mend Wire", src))) // else -// t1 = "-------" Speaker: [src.listening ? "Engaged" : "Disengaged"]
    +// t1 = "-------" Speaker: [src.listening ? "Engaged" : "Disengaged"]
    var/dat = {" "} if(!flag1) dat += {" - Send Signal
    - Reciever is [receiving?"on":"off"]
    + Send Signal
    + Reciever is [receiving?"on":"off"]
    "} dat += {" Frequency/Code for signaler:
    Frequency: - - - - + - + - [format_frequency(src.frequency)] - + - +
    + + + +
    Code: - - - - + - + - [src.code] - + - +
    + + + +
    [t1]
    "} diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index b5a197d6dd4..179d7df2347 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -86,16 +86,16 @@ var/dat = {"

    Timing Unit

    - [minute]:[second] [timing?"Stop":"Start"] Reset
    - Repeat: [repeat?"On":"Off"]
    + [minute]:[second] [timing?"Stop":"Start"] Reset
    + Repeat: [repeat?"On":"Off"]
    Timer set for - - - [set_minute]:[set_second] + + + - - [set_minute]:[set_second] + +


    - Refresh + Refresh

    - Close"} + Close"} var/datum/browser/popup = new(user, "timer", name, 400, 400) popup.set_content(dat) popup.open(0) diff --git a/code/modules/atmos_automation/console.dm b/code/modules/atmos_automation/console.dm index 201a6f63e4d..2d361689eca 100644 --- a/code/modules/atmos_automation/console.dm +++ b/code/modules/atmos_automation/console.dm @@ -73,31 +73,31 @@ var/out=..() if(on) - out += "RUNNING" + out += "RUNNING" else - out += "STOPPED" + out += "STOPPED" out += {"

    Automations

    \[ - + Add | - + Reset All | - + Clear \]

    \[ - + Export | - + Import \]

    "} @@ -108,9 +108,9 @@ out += {"
    - [A.label] - (Reset | - ×) + [A.label] + (Reset | + ×) [A.GetText()]
    diff --git a/code/modules/atmos_automation/implementation/digital_valves.dm b/code/modules/atmos_automation/implementation/digital_valves.dm index ce778a58aa1..a143c0e9869 100644 --- a/code/modules/atmos_automation/implementation/digital_valves.dm +++ b/code/modules/atmos_automation/implementation/digital_valves.dm @@ -22,7 +22,7 @@ return 0 GetText() - return "Set digital valve [fmtString(valve)] to [state?"open":"closed"]." + return "Set digital valve [fmtString(valve)] to [state?"open":"closed"]." Topic(href,href_list) if(..()) diff --git a/code/modules/atmos_automation/implementation/emitters.dm b/code/modules/atmos_automation/implementation/emitters.dm index c0b04399385..10469de1db8 100644 --- a/code/modules/atmos_automation/implementation/emitters.dm +++ b/code/modules/atmos_automation/implementation/emitters.dm @@ -20,7 +20,7 @@ return 0 GetText() - return "Set emitter [fmtString(emitter)] to [on?"on":"off"]." + return "Set emitter [fmtString(emitter)] to [on?"on":"off"]." Topic(href,href_list) if(..()) diff --git a/code/modules/atmos_automation/implementation/injectors.dm b/code/modules/atmos_automation/implementation/injectors.dm index 32bc06551f0..fee6cf1e33c 100644 --- a/code/modules/atmos_automation/implementation/injectors.dm +++ b/code/modules/atmos_automation/implementation/injectors.dm @@ -24,7 +24,7 @@ return 0 GetText() - return "Set injector [fmtString(injector)] power to [state ? "on" : "off"]." + return "Set injector [fmtString(injector)] power to [state ? "on" : "off"]." Topic(href,href_list) if(..()) @@ -64,7 +64,7 @@ return 0 GetText() - return "Set injector [fmtString(injector)] transfer rate to [rate] L/s." + return "Set injector [fmtString(injector)] transfer rate to [rate] L/s." Topic(href,href_list) if(..()) diff --git a/code/modules/atmos_automation/implementation/scrubbers.dm b/code/modules/atmos_automation/implementation/scrubbers.dm index eb6f13f83bf..158ac1d835f 100644 --- a/code/modules/atmos_automation/implementation/scrubbers.dm +++ b/code/modules/atmos_automation/implementation/scrubbers.dm @@ -25,7 +25,7 @@ return 0 GetText() - return "Set Scrubber [fmtString(scrubber)] mode to [mode?"Scrubbing":"Syphoning"]." + return "Set Scrubber [fmtString(scrubber)] mode to [mode?"Scrubbing":"Syphoning"]." Topic(href,href_list) if(..()) return @@ -67,7 +67,7 @@ parent.send_signal(list ("tag" = scrubber, "sigtype"="command", "power"=state),filter = RADIO_FROM_AIRALARM) GetText() - return "Set Scrubber [fmtString(scrubber)] power to [state ? "on" : "off"]." + return "Set Scrubber [fmtString(scrubber)] power to [state ? "on" : "off"]." Topic(href,href_list) if(..()) return @@ -129,9 +129,9 @@ var/global/list/gas_labels=list( parent.send_signal(data,filter = RADIO_FROM_AIRALARM) GetText() - var/txt = "Set Scrubber [fmtString(scrubber)] to scrub " + var/txt = "Set Scrubber [fmtString(scrubber)] to scrub " for(var/gas in gasses) - txt += " [gas_labels[gas]] ([gasses[gas] ? "on" : "off"])," + txt += " [gas_labels[gas]] ([gasses[gas] ? "on" : "off"])," return txt Topic(href,href_list) diff --git a/code/modules/atmos_automation/implementation/sensors.dm b/code/modules/atmos_automation/implementation/sensors.dm index 57a36e2999b..8b3b1ece5b5 100644 --- a/code/modules/atmos_automation/implementation/sensors.dm +++ b/code/modules/atmos_automation/implementation/sensors.dm @@ -27,7 +27,7 @@ return 0 GetText() - return "[fmtString(field)] from sensor [fmtString(sensor)]" + return "[fmtString(field)] from sensor [fmtString(sensor)]" Topic(href,href_list) if(..()) diff --git a/code/modules/atmos_automation/implementation/vent_pump.dm b/code/modules/atmos_automation/implementation/vent_pump.dm index 7601d89f0c3..9a8949ccde2 100644 --- a/code/modules/atmos_automation/implementation/vent_pump.dm +++ b/code/modules/atmos_automation/implementation/vent_pump.dm @@ -27,7 +27,7 @@ return 0 GetText() - return "Set [vent_type ? "Dual-Port" : "Unary"] vent pump [fmtString(vent_pump)] mode to [mode]." + return "Set [vent_type ? "Dual-Port" : "Unary"] vent pump [fmtString(vent_pump)] mode to [mode]." Topic(href,href_list) if(..()) @@ -84,7 +84,7 @@ parent.send_signal(list ("tag" = vent_pump, "power" = state), filter = (mode ? RADIO_ATMOSIA : RADIO_FROM_AIRALARM)) GetText() - return "Set [mode ? "Dual-Port" : "Unary"] vent pump [fmtString(vent_pump)] power to [state ? "on" : "off"]." + return "Set [mode ? "Dual-Port" : "Unary"] vent pump [fmtString(vent_pump)] power to [state ? "on" : "off"]." Topic(href,href_list) if(..()) @@ -168,15 +168,15 @@ GetText() if(mode)//DP vent - return {"Set dual-port vent pump [fmtString(vent_pump)] - pressure bounds: internal outwards: [fmtString(intpressureout)] - internal inwards: [fmtString(intpressurein)] - external: [fmtString(extpressure)] + return {"Set dual-port vent pump [fmtString(vent_pump)] + pressure bounds: internal outwards: [fmtString(intpressureout)] + internal inwards: [fmtString(intpressurein)] + external: [fmtString(extpressure)] "}//well that was a lot to type else - return {"Set unary vent pump [fmtString(vent_pump)] - pressure bounds: internal: [fmtString(intpressureout)] - external: [fmtString(extpressure)] + return {"Set unary vent pump [fmtString(vent_pump)] + pressure bounds: internal: [fmtString(intpressureout)] + external: [fmtString(extpressure)] "}//copy paste FTW Topic(href, href_list) @@ -260,15 +260,15 @@ checks bitflags GetText() if(mode) - return {"Set dual-port vent pump [fmtString(vent_pump)] pressure checks to: - external [checks&1 ? "Enabled" : "Disabled"] - internal inwards [checks&2 ? "Enabled" : "Disabled"] - internal outwards [checks&4 ? "Enabled" : "Disabled"] + return {"Set dual-port vent pump [fmtString(vent_pump)] pressure checks to: + external [checks&1 ? "Enabled" : "Disabled"] + internal inwards [checks&2 ? "Enabled" : "Disabled"] + internal outwards [checks&4 ? "Enabled" : "Disabled"] "} else - return {"Set unary vent pump [fmtString(vent_pump)] pressure checks to: - external: [checks&1 ? "Enabled" : "Disabled"], - internal: [checks&2 ? "Enabled" : "Disabled"] + return {"Set unary vent pump [fmtString(vent_pump)] pressure checks to: + external: [checks&1 ? "Enabled" : "Disabled"], + internal: [checks&2 ? "Enabled" : "Disabled"] "} Topic(href, href_list) diff --git a/code/modules/atmos_automation/statements.dm b/code/modules/atmos_automation/statements.dm index 6cac14dc375..ddc9fc04834 100644 --- a/code/modules/atmos_automation/statements.dm +++ b/code/modules/atmos_automation/statements.dm @@ -159,13 +159,13 @@ var/global/automation_types = subtypesof(/datum/automation) return 1 GetText() - var/out="AND (Add)" + var/out="AND (Add)" if(children.len>0) out += "
      " for(var/datum/automation/stmt in children) out += {"
    • - \[Reset | - ×\] + \[Reset | + ×\] [stmt.GetText()]
    • "} out += "
    " @@ -190,13 +190,13 @@ var/global/automation_types = subtypesof(/datum/automation) return 0 GetText() - var/out="OR (Add)" + var/out="OR (Add)" if(children.len>0) out += "
      " for(var/datum/automation/stmt in children) out += {"
    • - \[Reset | - ×\] + \[Reset | + ×\] [stmt.GetText()]
    • "} out += "
    " @@ -244,31 +244,31 @@ var/global/automation_types = subtypesof(/datum/automation) condition = unpackChild(json["condition"]) GetText() - var/out="IF (SET):
    " + var/out="IF (SET):
    " if(condition) out += condition.GetText() else out += "Not set" out += "
    " - out += "THEN: (Add)" + out += "THEN: (Add)" if(children_then.len>0) out += "
      " for(var/datum/automation/stmt in children_then) out += {"
    • - \[Reset | - ×\] + \[Reset | + ×\] [stmt.GetText()]
    • "} out += "
    " else out += "
    (No statements to run)
    " - out += "ELSE: (Add)" + out += "ELSE: (Add)" if(children_then.len>0) out += "
      " for(var/datum/automation/stmt in children_else) out += {"
    • - \[Reset | - ×\] + \[Reset | + ×\] [stmt.GetText()]
    • "} out += "
    " @@ -395,13 +395,13 @@ var/global/automation_types = subtypesof(/datum/automation) var/datum/automation/left =children[1] var/datum/automation/right=children[2] - var/out = "(Set Left) (" + var/out = "(Set Left) (" if(left==null) out += "-----" else out += left.GetText() - out += ") is [comparator]: (Set Right) (" + out += ") is [comparator]: (Set Right) (" if(right==null) out += "-----" @@ -448,7 +448,7 @@ var/global/automation_types = subtypesof(/datum/automation) value = text2num(json["value"]) GetText() - return "[value]" + return "[value]" Topic(href,href_list) if(href_list["set_value"]) diff --git a/code/modules/computer3/NTOS.dm b/code/modules/computer3/NTOS.dm index bc70c49cbac..eed2163e0ac 100644 --- a/code/modules/computer3/NTOS.dm +++ b/code/modules/computer3/NTOS.dm @@ -32,7 +32,7 @@ continue dat += {"
    Whitelisted Positions
    Whitelisted Positions
    [replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")] - [item.cost] Tickets + [item.cost] Tickets
    -
    +

    [F.name]
    @@ -60,7 +60,7 @@ continue dat += {"
    - + [bicon(C)]
    [C.name]
    @@ -73,7 +73,7 @@ /datum/file/program/ntos/proc/window(var/title,var/buttonbar,var/content) return {"
    -
    [title]
    +
    [title]
    [buttonbar]
    [content]
    "} diff --git a/code/modules/computer3/computers/HolodeckControl.dm b/code/modules/computer3/computers/HolodeckControl.dm index 2b59985bc83..dc4c71a0f90 100644 --- a/code/modules/computer3/computers/HolodeckControl.dm +++ b/code/modules/computer3/computers/HolodeckControl.dm @@ -26,28 +26,28 @@ if(!interactable()) return var/dat = "

    Current Loaded Programs

    " - dat += "((Empty Court))
    " - dat += "((Boxing Court))
    " - dat += "((Basketball Court))
    " - dat += "((Thunderdome Court))
    " - dat += "((Beach))
    " -// dat += "((Shutdown System))
    " + dat += "((Empty Court))
    " + dat += "((Boxing Court))
    " + dat += "((Basketball Court))
    " + dat += "((Thunderdome Court))
    " + dat += "((Beach))
    " +// dat += "((Shutdown System))
    " dat += "Please ensure that only holographic weapons are used in the holodeck if a combat simulation has been loaded.
    " if(emagged) - dat += "(Begin Atmospheric Burn Simulation)
    " + dat += "(Begin Atmospheric Burn Simulation)
    " dat += "Ensure the holodeck is empty before testing.
    " dat += "
    " - dat += "(Begin Wildlife Simulation)
    " + dat += "(Begin Wildlife Simulation)
    " dat += "Ensure the holodeck is empty before testing.
    " dat += "
    " if(issilicon(usr)) - dat += "(Re-Enable Safety Protocols?)
    " + dat += "(Re-Enable Safety Protocols?)
    " dat += "Safety Protocols are DISABLED
    " else if(issilicon(usr)) - dat += "(Override Safety Protocols?)
    " + dat += "(Override Safety Protocols?)
    " dat += "
    " dat += "Safety Protocols are ENABLED
    " diff --git a/code/modules/computer3/computers/card.dm b/code/modules/computer3/computers/card.dm index 1a6fe38a46e..2e7af8bf27c 100644 --- a/code/modules/computer3/computers/card.dm +++ b/code/modules/computer3/computers/card.dm @@ -36,8 +36,8 @@ jobs_all += "" jobs_all += ""//Captain in special because he is head of heads ~Intercross21 - jobs_all += "" - jobs_all += "" + jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Red @@ -46,7 +46,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Orange @@ -55,7 +55,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Green @@ -64,7 +64,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Purple @@ -73,7 +73,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Grey @@ -82,7 +82,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" dat = {"
    "} - dat += text("Record Maintenance

    ", src) - dat += text("{Log Out}",src) + dat += "Record Maintenance

    " + dat += "{Log Out}" if(2.0) dat += "Records Maintenance
    " dat += "
    Delete All Records

    Back" @@ -187,15 +187,15 @@ while(active2.fields[text("com_[]", counter)]) dat += text("[]
    Delete Entry

    ", active2.fields[text("com_[]", counter)], src, counter) counter++ - dat += text("Add Entry

    ", src) - dat += text("Delete Record (Security Only)

    ", src) + dat += "Add Entry

    " + dat += "Delete Record (Security Only)

    " else dat += "Security Record Lost!
    " - dat += text("New Security Record

    ", src) - dat += text("\nDelete Record (ALL)

    \nPrint Record
    \nBack
    ", src, src, src) + dat += "New Security Record

    " + dat += "\nDelete Record (ALL)

    \nPrint Record
    \nBack
    " else else - dat += text("{Log In}", src) + dat += "{Log In}" var/datum/browser/popup = new(user, "secure_rec", name, 600, 400) popup.set_content(dat) popup.add_head_content(head_content) diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm index 32e54dc161b..98e7a93c316 100644 --- a/code/game/machinery/computer/skills.dm +++ b/code/game/machinery/computer/skills.dm @@ -55,8 +55,8 @@ if(1.0) dat += {"

    "} - dat += text("Search Records
    ", src) - dat += text("New Record
    ", src) + dat += "Search Records
    " + dat += "New Record
    " dat += {"

    Command
    SpecialCaptainCustomCaptainCustom
    Security
    [replacetext(job, " ", " ")][replacetext(job, " ", " ")]
    Engineering
    [replacetext(job, " ", " ")][replacetext(job, " ", " ")]
    Medical
    [replacetext(job, " ", " ")][replacetext(job, " ", " ")]
    Science
    [replacetext(job, " ", " ")][replacetext(job, " ", " ")]
    Support
    [replacetext(job, " ", " ")][replacetext(job, " ", " ")]
    @@ -80,8 +80,8 @@ dat += text("", R.fields["rank"]) dat += text("", R.fields["fingerprint"]) dat += "
    [][]

    " - dat += text("Record Maintenance

    ", src) - dat += text("{Log Out}",src) + dat += "Record Maintenance

    " + dat += "{Log Out}" if(2.0) dat += "Records Maintenance
    " dat += "
    Delete All Records

    Back" @@ -102,10 +102,10 @@
    ") else dat += "General Record Lost!
    " - dat += text("\nDelete Record (ALL)

    \nPrint Record
    \nBack
    ", src, src, src) + dat += "\nDelete Record (ALL)

    \nPrint Record
    \nBack
    " if(4.0) if(!Perp.len) - dat += text("ERROR. String could not be located.

    Back", src) + dat += "ERROR. String could not be located.

    Back" else dat += {" @@ -135,10 +135,10 @@ dat += text("", R.fields["fingerprint"]) dat += text("", crimstat) dat += "
    [][]

    " - dat += text("
    Return to index.", src) + dat += "
    Return to index." else else - dat += text("{Log In}", src) + dat += "{Log In}" user << browse(text("Employment Records[]", dat), "window=secure_rec;size=600x400") onclose(user, "secure_rec") return diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index f9377d23494..30e5cac609f 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -51,7 +51,7 @@ else t1 += "[aname]
    " - t1 += text("

    Close

    \n", src) + t1 += "

    Close

    \n" var/datum/browser/popup = new(user, "airlock_electronics", name, 400, 400) popup.set_content(t1) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index c0f48260305..7c8d14fe469 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -182,13 +182,13 @@ FIRE ALARM A = A.loc if(A.fire) - d1 = text("Reset - Lockdown", src) + d1 = "Reset - Lockdown" else - d1 = text("Alarm - Lockdown", src) + d1 = "Alarm - Lockdown" if(src.timing) - d2 = text("Stop Time Lock", src) + d2 = "Stop Time Lock" else - d2 = text("Initiate Time Lock", src) + d2 = "Initiate Time Lock" var/second = round(src.time) % 60 var/minute = (round(src.time) - second) / 60 var/dat = "Fire alarm [d1]\n
    The current alert level is: [get_security_level()]


    \nTimer System: [d2]
    \nTime Left: [(minute ? "[minute]:" : null)][second] - - + +\n
    " @@ -350,13 +350,13 @@ Just a object used in constructing fire alarms if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai)) if(A.party) - d1 = text("No Party :(", src) + d1 = "No Party :(" else - d1 = text("PARTY!!!", src) + d1 = "PARTY!!!" if(timing) - d2 = text("Stop Time Lock", src) + d2 = "Stop Time Lock" else - d2 = text("Initiate Time Lock", src) + d2 = "Initiate Time Lock" var/second = time % 60 var/minute = (time - second) / 60 var/dat = text("Party Button []\n
    \nTimer System: []
    \nTime Left: [][] - - + +\n
    ", d1, d2, (minute ? text("[]:", minute) : null), second, src, src, src, src) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index f3415f6896d..6f9e00778df 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -138,7 +138,7 @@ dat+= "The panel is ridden with controls, button and meters, labeled in strange signs and symbols that
    you cannot understand. Probably the manufactoring world's language.
    Among other things, a few controls catch your eye.

    " dat+= text("A small dial with a \"�\" symbol embroidded on it. It's pointing towards a gauge that reads [].
    Turn towards []
    ",(src.issuperUV ? "15nm" : "185nm"),src,(src.issuperUV ? "185nm" : "15nm") ) dat+= text("A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.
    Press button",(src.safetieson? "GREEN" : "RED"),src) - dat+= text("

    Close panel", user) + dat+= "

    Close panel" //user << browse(dat, "window=ssu_m_panel;size=400x500") //onclose(user, "ssu_m_panel") else if(src.isUV) //The thing is running its cauterisation cycle. You have to wait. @@ -153,13 +153,13 @@ dat+= "Welcome to the Unit control panel.
    " dat+= text("Helmet storage compartment: []
    ",(src.HELMET ? HELMET.name : "
    No helmet detected.") ) if(HELMET && src.isopen) - dat+=text("Dispense helmet
    ",src) + dat+="Dispense helmet
    " dat+= text("Suit storage compartment: []
    ",(src.SUIT ? SUIT.name : "
    No exosuit detected.") ) if(SUIT && src.isopen) - dat+=text("Dispense suit
    ",src) + dat+="Dispense suit
    " dat+= text("Breathmask storage compartment: []
    ",(src.MASK ? MASK.name : "
    No breathmask detected.") ) if(MASK && src.isopen) - dat+=text("Dispense mask
    ",src) + dat+="Dispense mask
    " if(src.OCCUPANT) dat+= "
    WARNING: Biological entity detected inside the Unit's storage. Please remove.
    " dat+= "Eject extra load" @@ -169,14 +169,14 @@ else dat+= text(" - *[] Unit*
    ",src,(src.islocked ? "Unlock" : "Lock") ) dat+= text("Unit status: []",(src.islocked? "**LOCKED**
    " : "**UNLOCKED**
    ") ) - dat+= text("Start Disinfection cycle
    ",src) - dat += text("

    Close control panel", user) + dat+= "Start Disinfection cycle
    " + dat += "

    Close control panel" //user << browse(dat, "window=Suit Storage Unit;size=400x500") //onclose(user, "Suit Storage Unit") else //Ohhhh shit it's dirty or broken! Let's inform the guy. dat+= "Suit storage unit" dat+= "Unit chamber is too contaminated to continue usage. Please call for a qualified individual to perform maintenance.

    " - dat+= text("
    Close control panel", user) + dat+= "
    Close control panel" //user << browse(dat, "window=suit_storage_unit;size=400x500") //onclose(user, "suit_storage_unit") diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index da81b00683a..2ba5f04019d 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -113,7 +113,7 @@ return 0 var/second = time % 60 var/minute = (time - second) / 60 - var/dat = text("Proximity Sensor\n[] []:[]\n- - + +\n", (timing ? text("Arming", src) : text("Not Arming", src)), minute, second, src, src, src, src) + var/dat = text("Proximity Sensor\n[] []:[]\n- - + +\n", (timing ? "Arming" : "Not Arming"), minute, second, src, src, src, src) dat += "
    [scanning?"Armed":"Unarmed"] (Movement sensor active when armed!)" dat += "

    Refresh" dat += "

    Close" diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index ca597bd1207..0ce52543909 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -52,7 +52,7 @@ /obj/item/device/assembly/signaler/interact(mob/user as mob, flag1) var/t1 = "-------" // if((src.b_stat && !( flag1 ))) -// t1 = text("-------
    \nGreen Wire: []
    \nRed Wire: []
    \nBlue Wire: []
    \n", (src.wires & 4 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 2 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 1 ? text("Cut Wire", src) : text("Mend Wire", src))) +// t1 = text("-------
    \nGreen Wire: []
    \nRed Wire: []
    \nBlue Wire: []
    \n", (src.wires & 4 ? "Cut Wire" : "Mend Wire"), (src.wires & 2 ? "Cut Wire" : "Mend Wire"), (src.wires & 1 ? "Cut Wire" : "Mend Wire")) // else // t1 = "-------" Speaker: [src.listening ? "Engaged" : "Disengaged"]
    var/dat = {" diff --git a/code/modules/computer3/computers/medical.dm b/code/modules/computer3/computers/medical.dm index fcb1a2d2dd8..e7b0e7e3130 100644 --- a/code/modules/computer3/computers/medical.dm +++ b/code/modules/computer3/computers/medical.dm @@ -82,9 +82,9 @@ for(var/datum/data/record/R in sortRecord(data_core.general)) dat += text("[]: []
    ", src, R, R.fields["id"], R.fields["name"]) //Foreach goto(132) - dat += text("
    Back", src) + dat += "
    Back" if(3.0) - dat += text("Records Maintenance
    \nBackup To Disk
    \nUpload From disk
    \nDelete All Records
    \n
    \nBack", src, src, src, src) + dat += "Records Maintenance
    \nBackup To Disk
    \nUpload From disk
    \nDelete All Records
    \n
    \nBack" if(4.0) dat += "
    Medical Record

    " if((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))) @@ -105,12 +105,12 @@ while(src.active2.fields[text("com_[]", counter)]) dat += text("[]
    Delete Entry

    ", src.active2.fields[text("com_[]", counter)], src, counter) counter++ - dat += text("Add Entry

    ", src) - dat += text("Delete Record (Medical Only)

    ", src) + dat += "Add Entry

    " + dat += "Delete Record (Medical Only)

    " else dat += "Medical Record Lost!
    " dat += text("New Record

    ") - dat += text("\nPrint Record
    \nBack
    ", src, src) + dat += "\nPrint Record
    \nBack
    " if(5.0) dat += "
    Virus Database
    " for(var/Dt in typesof(/datum/disease/)) @@ -143,7 +143,7 @@ else else - dat += text("{Log In}", src) + dat += "{Log In}" popup.width = 600 popup.height = 400 popup.set_content(dat) @@ -239,7 +239,7 @@ src.temp += "
    Details:
    [v.fields["description"]]" if(href_list["del_all"]) - src.temp = text("Are you sure you wish to delete all records?
    \n\tYes
    \n\tNo
    ", src, src) + src.temp = "Are you sure you wish to delete all records?
    \n\tYes
    \n\tNo
    " if(href_list["del_all2"]) for(var/datum/data/record/R in data_core.medical) @@ -326,10 +326,10 @@ src.active2.fields["notes"] = t1 if("p_stat") if(istype(src.active1, /datum/data/record)) - src.temp = text("Physical Condition:
    \n\t*Deceased*
    \n\t*SSD*
    \n\tActive
    \n\tPhysically Unfit
    \n\tDisabled
    ", src, src, src, src, src) + src.temp = "Physical Condition:
    \n\t*Deceased*
    \n\t*SSD*
    \n\tActive
    \n\tPhysically Unfit
    \n\tDisabled
    " if("m_stat") if(istype(src.active1, /datum/data/record)) - src.temp = text("Mental Condition:
    \n\t*Insane*
    \n\t*Unstable*
    \n\t*Watch*
    \n\tStable
    ", src, src, src, src) + src.temp = "Mental Condition:
    \n\t*Insane*
    \n\t*Unstable*
    \n\t*Watch*
    \n\tStable
    " if("b_type") if(istype(src.active2, /datum/data/record)) src.temp = text("Blood Type:
    \n\tA- A+
    \n\tB- B+
    \n\tAB- AB+
    \n\tO- O+
    ", src, src, src, src, src, src, src, src) @@ -405,7 +405,7 @@ if(href_list["del_r"]) if(src.active2) - src.temp = text("Are you sure you wish to delete the record (Medical Portion Only)?
    \n\tYes
    \n\tNo
    ", src, src) + src.temp = "Are you sure you wish to delete the record (Medical Portion Only)?
    \n\tYes
    \n\tNo
    " if(href_list["del_r2"]) if(src.active2) diff --git a/code/modules/computer3/computers/scanconsole.dm b/code/modules/computer3/computers/scanconsole.dm index 9166953ccf6..747ca4b1a61 100644 --- a/code/modules/computer3/computers/scanconsole.dm +++ b/code/modules/computer3/computers/scanconsole.dm @@ -1118,13 +1118,13 @@ if("mainmenu") temp_html += "

    Main Menu

    " if(viable_occupant) //is there REALLY someone in there who can be modified? - temp_html += text("Modify Unique Identifier
    ", src) - temp_html += text("Modify Structural Enzymes

    ", src) + temp_html += "Modify Unique Identifier
    " + temp_html += "Modify Structural Enzymes

    " else temp_html += "Modify Unique Identifier
    " temp_html += "Modify Structural Enzymes

    " - temp_html += text("Radiation Emitter Settings

    ", src) - temp_html += text("Transfer Buffer

    ", src) + temp_html += "Radiation Emitter Settings

    " + temp_html += "Transfer Buffer

    " if("unimenu") if(!viable_occupant) @@ -1159,7 +1159,7 @@ temp_html = "<< Main Menu
    " temp_html += "

    Radiation Emitter Settings

    " if(viable_occupant) - temp_html += text("Pulse Radiation", src) + temp_html += "Pulse Radiation" else temp_html += "Pulse Radiation" temp_html += "

    Radiation Duration: - [radduration] +
    " @@ -1175,12 +1175,12 @@ temp_html += text("Data: []
    ", buffer1) temp_html += text("By: []
    ", buffer1owner) temp_html += text("Label: []
    ", buffer1label) - if(viable_occupant) temp_html += text("Save : UI - UI+UE - SE
    ", src, src, src) - if(buffer1) temp_html += text("Transfer to: Occupant - Injector
    ", src, src) - //if(buffer1) temp_html += text("Isolate Block
    ", src) + if(viable_occupant) temp_html += "Save : UI - UI+UE - SE
    " + if(buffer1) temp_html += "Transfer to: Occupant - Injector
    " + //if(buffer1) temp_html += "Isolate Block
    " if(buffer1) temp_html += "Disk: Save To | Load From
    " - if(buffer1) temp_html += text("Edit Label
    ", src) - if(buffer1) temp_html += text("Clear Buffer

    ", src) + if(buffer1) temp_html += "Edit Label
    " + if(buffer1) temp_html += "Clear Buffer

    " if(!buffer1) temp_html += "
    " temp_html += "

    Buffer 2:

    " if(!(buffer2)) @@ -1189,12 +1189,12 @@ temp_html += text("Data: []
    ", buffer2) temp_html += text("By: []
    ", buffer2owner) temp_html += text("Label: []
    ", buffer2label) - if(viable_occupant) temp_html += text("Save : UI - UI+UE - SE
    ", src, src, src) - if(buffer2) temp_html += text("Transfer to: Occupant - Injector
    ", src, src) - //if(buffer2) temp_html += text("Isolate Block
    ", src) + if(viable_occupant) temp_html += "Save : UI - UI+UE - SE
    " + if(buffer2) temp_html += "Transfer to: Occupant - Injector
    " + //if(buffer2) temp_html += "Isolate Block
    " if(buffer2) temp_html += "Disk: Save To | Load From
    " - if(buffer2) temp_html += text("Edit Label
    ", src) - if(buffer2) temp_html += text("Clear Buffer

    ", src) + if(buffer2) temp_html += "Edit Label
    " + if(buffer2) temp_html += "Clear Buffer

    " if(!buffer2) temp_html += "
    " temp_html += "

    Buffer 3:

    " if(!(buffer3)) @@ -1203,12 +1203,12 @@ temp_html += text("Data: []
    ", buffer3) temp_html += text("By: []
    ", buffer3owner) temp_html += text("Label: []
    ", buffer3label) - if(viable_occupant) temp_html += text("Save : UI - UI+UE - SE
    ", src, src, src) - if(buffer3) temp_html += text("Transfer to: Occupant - Injector
    ", src, src) - //if(buffer3) temp_html += text("Isolate Block
    ", src) + if(viable_occupant) temp_html += "Save : UI - UI+UE - SE
    " + if(buffer3) temp_html += "Transfer to: Occupant - Injector
    " + //if(buffer3) temp_html += "Isolate Block
    " if(buffer3) temp_html += "Disk: Save To | Load From
    " - if(buffer3) temp_html += text("Edit Label
    ", src) - if(buffer3) temp_html += text("Clear Buffer

    ", src) + if(buffer3) temp_html += "Edit Label
    " + if(buffer3) temp_html += "Clear Buffer

    " if(!buffer3) temp_html += "
    " temp_html += temp_footer_html @@ -1262,7 +1262,7 @@ dat += "Inject Rejuvenators
    " if(!isnull(diskette)) - dat += text("Eject Disk
    ", src) + dat += "Eject Disk
    " dat += "
    " diff --git a/code/modules/computer3/computers/security.dm b/code/modules/computer3/computers/security.dm index c17998d4133..fa19f847a4c 100644 --- a/code/modules/computer3/computers/security.dm +++ b/code/modules/computer3/computers/security.dm @@ -75,8 +75,8 @@ if(1.0) dat += {"

    "} - dat += text("Search Records
    ", src) - dat += text("New Record
    ", src) + dat += "Search Records
    " + dat += "New Record
    " dat += {"

    @@ -119,8 +119,8 @@ dat += text("", R.fields["fingerprint"]) dat += text("", crimstat) dat += "
    [][]

    " - dat += text("Record Maintenance

    ", src) - dat += text("{Log Out}",src) + dat += "Record Maintenance

    " + dat += "{Log Out}" if(2.0) dat += "Records Maintenance
    " dat += "
    Delete All Records

    Back" @@ -146,15 +146,15 @@ while(active2.fields[text("com_[]", counter)]) dat += text("[]
    Delete Entry

    ", active2.fields[text("com_[]", counter)], src, counter) counter++ - dat += text("Add Entry

    ", src) - dat += text("Delete Record (Security Only)

    ", src) + dat += "Add Entry

    " + dat += "Delete Record (Security Only)

    " else dat += "Security Record Lost!
    " - dat += text("New Security Record

    ", src) - dat += text("\nDelete Record (ALL)

    \nPrint Record
    \nBack
    ", src, src, src) + dat += "New Security Record

    " + dat += "\nDelete Record (ALL)

    \nPrint Record
    \nBack
    " if(4.0) if(!Perp.len) - dat += text("ERROR. String could not be located.

    Back", src) + dat += "ERROR. String could not be located.

    Back" else dat += {" @@ -198,10 +198,10 @@ dat += text("", R.fields["fingerprint"]) dat += text("", crimstat) dat += "
    [][]

    " - dat += text("
    Return to index.", src) + dat += "
    Return to index." else else - dat += text("{Log In}", src) + dat += "{Log In}" popup.width = 600 popup.height = 400 popup.set_content(dat) From 5d43abe1dbe9b4239484471f47a99fac5c3a1403 Mon Sep 17 00:00:00 2001 From: FreeStylaLT Date: Wed, 7 Sep 2016 18:58:56 +0300 Subject: [PATCH 111/138] fixes missing scrubber, fixes non-functional atmos, turns the teleporter shutter to be vertical --- _maps/map_files/cyberiad/cyberiad.dmm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index b90b285e101..4876cb85dd2 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -7856,6 +7856,9 @@ "cVd" = (/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cVe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cVf" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating/airless/catwalk,/area/space) +"cVg" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{dir = 2; id_tag = "teledoor"; name = "AI Satellite Teleport Access"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) +"cVh" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"},/area/turret_protected/aisat_interior) +"cVi" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/aisat/entrance{name = "\improper AI Satellite Atmospherics"}) "cVj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/hatch{name = "MiniSat Foyer"; req_access_txt = "75"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) "cVk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/turret_protected/aisat_interior) "cVl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/wall,/area/turret_protected/aisat_interior) @@ -7869,7 +7872,8 @@ "cVt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/turret_protected/aisat_interior) "cVu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) "cVv" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/turret_protected/aisat_interior) -"cVx" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "teledoor"; name = "AI Satellite Teleport Access"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) +"cVw" = (/obj/effect/decal/warning_stripes/northwest,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/aisat/entrance{name = "\improper AI Satellite Atmospherics"}) +"cVx" = (/obj/machinery/light/small{dir = 8},/obj/machinery/camera{c_tag = "AI Satellite Antechamber South"; dir = 4},/obj/machinery/turretid/stun{control_area = "\improper AI Satellite Atmospherics"; name = "AI Satellite Atmospherics Turret Control"; pixel_x = -28; pixel_y = 0; req_access_txt = "75"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"},/area/turret_protected/aisat_interior) "cVy" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/turret_protected/aisat_interior) "cVz" = (/obj/effect/decal/warning_stripes/east,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "teledoor"; name = "AI Satellite Teleport Shutters Control"; pixel_x = 0; pixel_y = 25; req_access_txt = "17;75"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) "cVA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/hologram/holopad,/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/turret_protected/aisat_interior) @@ -7908,20 +7912,16 @@ "cWj" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix to MiniSat"},/turf/simulated/floor/plating,/area/aisat/entrance{name = "\improper AI Satellite Atmospherics"}) "cWk" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/plating,/area/aisat/entrance{name = "\improper AI Satellite Atmospherics"}) "cWl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) -"cWm" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"},/area/turret_protected/aisat_interior) "cWn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light_switch{pixel_y = 27},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkbluecorners"},/area/turret_protected/aisat_interior) "cWo" = (/turf/simulated/floor/plating,/area/aisat/maintenance{name = "\improper AI Satellite Service"}) "cWp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/navbeacon{codes_txt = "delivery"; dir = 4; location = "Engineering"},/obj/machinery/door/firedoor{dir = 8; name = "Firelock West"},/obj/machinery/door/window/westright{name = "Engineering Monitoring Station"; req_access = null; req_access_txt = "0"; req_one_access_txt = "11;24;34"},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/engine/controlroom) "cWq" = (/obj/machinery/cryopod/robot,/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/plating,/area/aisat/maintenance{name = "\improper AI Satellite Service"}) "cWr" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/mineral/plasma,/obj/item/clothing/head/welding,/turf/simulated/floor/plating,/area/aisat/maintenance{name = "\improper AI Satellite Service"}) "cWs" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/space_heater,/obj/machinery/camera{c_tag = "AI Satellite Atmospherics"; dir = 4; network = list("SS13","MiniSat")},/turf/simulated/floor/plating,/area/aisat/entrance{name = "\improper AI Satellite Atmospherics"}) -"cWt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/warning_stripes/north,/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/aisat/entrance{name = "\improper AI Satellite Atmospherics"}) "cWu" = (/turf/simulated/wall,/area/aisat) -"cWv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/aisat/entrance{name = "\improper AI Satellite Atmospherics"}) "cWw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/aisat_interior) "cWx" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/item/device/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkbluecorners"},/area/aisat/entrance{name = "\improper AI Satellite Atmospherics"}) "cWy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/aisat_interior) -"cWz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 8},/obj/machinery/camera{c_tag = "AI Satellite Antechamber South"; dir = 4},/obj/machinery/turretid/stun{control_area = "\improper AI Satellite Atmospherics"; name = "AI Satellite Atmospherics Turret Control"; pixel_x = -28; pixel_y = 0; req_access_txt = "75"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"},/area/turret_protected/aisat_interior) "cWA" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/turretid/stun{control_area = "\improper AI Satellite Service"; name = "AI Satellite Service Bay Turret Control"; pixel_x = 24; pixel_y = 0; req_access_txt = "75"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkbluecorners"},/area/turret_protected/aisat_interior) "cWB" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai) "cWC" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/aisat/maintenance{name = "\improper AI Satellite Service"}) @@ -9244,13 +9244,13 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikcECcECcSkcRScRScRScRScRScRScRScRScRScRScRScRScRScSjcECcECcECddtaHmcECbikbikbikbikbikbikbikbikbikbikbikcUOcULcUQcUPcUScURcUVcUTbikbikbikaabazyazyazyazyazyaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcxHdbhcxHbikbikbikbikaabbikbikaabbikagQbikcIYcIYcIYcIYcIYaabcIZaabcIYcIYcIYcIYcIYbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECcECbikcECcECaIpcECcECcECcECbikbikbikbikbikbikbikbikcVfcVJcVJcVJcVJcVjcVlcVkcVncVmaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcxHdbicxHbikbikbikbikbikbikbikaabbikagQaabcKccKdcKdcKdcKdcKecKfcKgcKhcKhcKhcKhcKiaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcMHcMHcUyaIraIrcUAbikbikbikbikbikbikbikbikcUDbikcVJcVJcVpcVocVqcVJcVJcVJcVJcVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabdbHdbjdbjbikbikbikbikbikbikbikaabbikagQaabcLrcLrcLrcLrcLrbikcIZbikcLrcLrcLrcLrcLraabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcTpcMHdlDcUBcUFcUEbikbikbikbikbikbikbikbikcUDbikcVJcVrcVtcVscVvcVucVxcVzcVycVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikaabbikagQbikaabbikaabaabaabbikcIZbikaabbikaabbikaabbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcTpcMHdlDcUBcUFcUEbikbikbikbikbikbikbikbikcUDbikcVJcVrcVtcVscVvcVucVgcVzcVycVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikaabbikagQbikaabbikaabaabaabbikcIZbikaabbikaabbikaabbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjebikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcECcUIcMHcUGaIraIrcUHbikbikbikbikbikbikbikbikcUDbikcVJcVKcVBcVAcVCcWhcVEcVDcVFcVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabbikbikbikbikbikbikbikagQbikcIYcIYcIYcIYcIYaabcIZaabcIYcIYcIYcIYcIYaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcNycECcECcECcECcECcECbikbikbikbikbikbikaabaabcUMaabcVJcVQcVNcVMcVPcVOcVRcVVcVScVJaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcKccKdcKdcKdcKdcKecKfcKgcKhcKhcKhcKhcObaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcVTcVUcVTcVWcVZcVYcVXcWacWFcVWcVWcVWcVWaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcLrcLrcLrcLrcLrbikcIZaabcLrcLrcLrcLrcLrbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcVTcWccWbcVTcVWcVWcVLcWdcVWcWfcWecWecWfcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaqZbikaabbikaabbikaabbikcPDbikaabbikaabaabaabaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWgcWjcWicWkcVWcWmcWlcWncVWcWqcWocWocWrcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikcIYcIYcIYcIYcIYaabcGEaabcIYcIYcIYcIYcIYaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWscWvcWtcWxcWwcWzcWycWAcWwcWDcWCcWGcWEcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcKccKdcKdcKdcKdcQQcQRcQQcKhcKhcKhcKhcObaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWgcWjcWicWkcVWcVhcWlcWncVWcWqcWocWocWrcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikcIYcIYcIYcIYcIYaabcGEaabcIYcIYcIYcIYcIYaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcWscVwcVicWxcWwcVxcWycWAcWwcWDcWCcWGcWEcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcKccKdcKdcKdcKdcQQcQRcQQcKhcKhcKhcKhcObaabagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikcVTcWHcWJcWIcWMcWKcWQcWNcWUcWScWXcWWcWZcWYcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQaabcLrcLrcLrcLrcLrbikcGEbikcLrcLrcLrcLrcLrbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcVTcVTcXbcXacXccVWcXecXddgYcVWcXgcXfcXhcWfcWfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQbikbikaabaabaabbikbikcGEaabbikbikaabaabbikbikagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcXicWucXjcXkcXicXicXmcXncXicXkcXocXkcXiaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagQagQagQagQagQbikbikbikcGEbikbikbikagQagQagQaqZagQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik From 6465d5b482350108f5e10791cbce4d63eb3c8202 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 7 Sep 2016 18:44:36 -0400 Subject: [PATCH 112/138] Automatic changelog generation for PR #5606 --- html/changelogs/AutoChangeLog-pr-5606.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5606.yml diff --git a/html/changelogs/AutoChangeLog-pr-5606.yml b/html/changelogs/AutoChangeLog-pr-5606.yml new file mode 100644 index 00000000000..7e278c54073 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5606.yml @@ -0,0 +1,4 @@ +author: FlattestGuitar +delete-after: True +changes: + - rscadd: "Added emergency nitrogen and plasma tanks, you can find two of each in the medical storage" From cd61399ba526e6dce37ed27ad05f1f8aedb00500 Mon Sep 17 00:00:00 2001 From: Isaac Erwin Date: Wed, 7 Sep 2016 22:09:11 -0400 Subject: [PATCH 113/138] Fixes space hotel runtime --- _maps/map_files/templates/spacehotel/s_01.dmm | 3 ++- _maps/map_files/templates/spacehotel/s_02.dmm | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/_maps/map_files/templates/spacehotel/s_01.dmm b/_maps/map_files/templates/spacehotel/s_01.dmm index 11ec761615a..d860df25c8f 100644 --- a/_maps/map_files/templates/spacehotel/s_01.dmm +++ b/_maps/map_files/templates/spacehotel/s_01.dmm @@ -2,7 +2,7 @@ "b" = (/turf/unsimulated/beach/water,/area/template_noop) "c" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) "d" = (/turf/unsimulated/floor/carpet,/area/template_noop) -"e" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/wizrobe/marisa/fake,/obj/effect/decal/cleanable/greenglow,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/suit/hooded/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/wizrobe/marisa/fake,/obj/effect/decal/cleanable/greenglow,/turf/unsimulated/floor/carpet,/area/template_noop) "f" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/wizard/marisa/fake,/obj/item/clothing/mask/gas/sexyclown,/turf/unsimulated/floor/carpet,/area/template_noop) "g" = (/obj/structure/rack,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/mask/muzzle,/obj/item/clothing/accessory/stethoscope,/turf/unsimulated/floor/carpet,/area/template_noop) "h" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) @@ -25,3 +25,4 @@ aopqdddddda aaaaaaaaaaa aaaaaaaaaaa "} + diff --git a/_maps/map_files/templates/spacehotel/s_02.dmm b/_maps/map_files/templates/spacehotel/s_02.dmm index 98eaa3b377b..779073bb298 100644 --- a/_maps/map_files/templates/spacehotel/s_02.dmm +++ b/_maps/map_files/templates/spacehotel/s_02.dmm @@ -2,7 +2,7 @@ "b" = (/turf/unsimulated/beach/water,/area/template_noop) "c" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) "d" = (/turf/unsimulated/floor/carpet,/area/template_noop) -"e" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/xenos,/obj/item/clothing/suit/wizrobe/marisa/fake,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/suit/hooded/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/xenos,/obj/item/clothing/suit/wizrobe/marisa/fake,/turf/unsimulated/floor/carpet,/area/template_noop) "f" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/xenos,/obj/item/clothing/head/wizard/marisa/fake,/obj/item/clothing/mask/gas/sexyclown,/turf/unsimulated/floor/carpet,/area/template_noop) "g" = (/obj/structure/rack,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/mask/muzzle,/obj/item/clothing/accessory/stethoscope,/turf/unsimulated/floor/carpet,/area/template_noop) "h" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) @@ -25,3 +25,4 @@ aopqdddddda aaaaaaaaaaa aaaaaaaaaaa "} + From c36b560776a8c08bf344490d0688888188de7c39 Mon Sep 17 00:00:00 2001 From: Jazzdoodle Date: Wed, 7 Sep 2016 21:14:56 -0500 Subject: [PATCH 114/138] Fixes the beekeeper suit and hat descriptions Just a minor text fix. --- code/modules/hydroponics/beekeeping/beekeeper_suit.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm index f4d47509292..ed3869223d8 100644 --- a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm +++ b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm @@ -1,7 +1,7 @@ /obj/item/clothing/head/beekeeper_head name = "beekeeper hat" - desc = "keeps the lil buzzing buggers out of your eyes" + desc = "Keeps the little buzzing buggers out of your eyes." icon_state = "beekeeper" item_state = "beekeeper" flags = THICKMATERIAL @@ -9,7 +9,7 @@ /obj/item/clothing/suit/beekeeper_suit name = "beekeeper suit" - desc = "keeps the lil buzzing buggers away from your squishy bits" + desc = "Keeps the little buzzing buggers away from your squishy bits." icon_state = "beekeeper" item_state = "beekeeper" flags = THICKMATERIAL From d64bf46f1263e572722cf9ff98683f5536581c81 Mon Sep 17 00:00:00 2001 From: Krausus Date: Thu, 8 Sep 2016 13:07:14 -0400 Subject: [PATCH 115/138] Topic UID finishing touches --- .../components/trinary_devices/filter.dm | 9 ---- code/_onclick/ai.dm | 24 ++++----- code/game/gamemodes/sandbox/h_sandbox.dm | 6 +-- code/game/machinery/ai_slipper.dm | 2 +- code/game/machinery/autolathe.dm | 2 +- code/game/machinery/computer/card.dm | 2 +- code/game/machinery/computer/hologram.dm | 14 +++++- code/game/machinery/computer/medical.dm | 10 ++-- code/game/machinery/computer/robot.dm | 2 +- code/game/machinery/computer/security.dm | 10 ++-- code/game/machinery/computer/skills.dm | 8 +-- code/game/machinery/firealarm.dm | 49 +++---------------- code/game/machinery/gameboard.dm | 2 +- code/game/machinery/suit_storage_unit.dm | 8 +-- .../machinery/telecomms/traffic_control.dm | 2 +- .../mecha/equipment/tools/medical_tools.dm | 2 +- code/game/objects/items/devices/camera_bug.dm | 12 ++--- code/game/objects/items/robot/robot_parts.dm | 12 ++--- .../objects/items/weapons/storage/secure.dm | 14 +++++- code/modules/admin/DB ban/functions.dm | 4 +- code/modules/admin/NewBan.dm | 2 +- code/modules/admin/create_mob.dm | 2 +- code/modules/admin/create_object.dm | 4 +- code/modules/admin/create_turf.dm | 2 +- code/modules/arcade/claw_game.dm | 2 +- code/modules/assembly/proximity.dm | 2 +- code/modules/computer3/computers/card.dm | 2 +- code/modules/computer3/computers/medical.dm | 12 ++--- code/modules/computer3/computers/security.dm | 14 +++--- code/modules/economy/ATM.dm | 6 +-- code/modules/economy/Accounts.dm | 2 +- code/modules/economy/Accounts_DB.dm | 2 +- code/modules/economy/POS.dm | 8 +-- code/modules/library/computers/checkout.dm | 2 +- code/modules/library/computers/public.dm | 2 +- code/modules/mob/new_player/poll.dm | 10 ++-- code/modules/nano/nanoui.dm | 2 +- code/modules/research/rdconsole.dm | 2 +- 38 files changed, 124 insertions(+), 148 deletions(-) diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index a2c1a80e7ea..021bec1cd24 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -186,16 +186,7 @@ Filter types:
    Desirable output pressure: [src.target_pressure]kPa | Change "} -/* - user << browse("[src.name] control[dat]","window=atmo_filter") - onclose(user, "atmo_filter") - return - if(src.temp) - dat = text("[]

    Clear Screen", src.temp, src) - //else - // src.on != src.on -*/ var/datum/browser/popup = new(user, "atmo_filter", name, 400, 400) popup.set_content(dat) popup.open(0) diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 2579005af3d..cdce17f6277 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -126,9 +126,9 @@ /obj/machinery/door/airlock/AIAltShiftClick() // Sets/Unsets Emergency Access Override if(density) - Topic(src, list("src"= "\ref[src]", "command"="emergency", "activate" = "1"), 1) // 1 meaning no window (consistency!) + Topic(src, list("src" = UID(), "command"="emergency", "activate" = "1"), 1) // 1 meaning no window (consistency!) else - Topic(src, list("src"= "\ref[src]", "command"="emergency", "activate" = "0"), 1) + Topic(src, list("src" = UID(), "command"="emergency", "activate" = "0"), 1) return /atom/proc/AIShiftClick(var/mob/user) @@ -138,9 +138,9 @@ /obj/machinery/door/airlock/AIShiftClick() // Opens and closes doors! if(density) - Topic(src, list("src"= "\ref[src]", "command"="open", "activate" = "1"), 1) // 1 meaning no window (consistency!) + Topic(src, list("src" = UID(), "command"="open", "activate" = "1"), 1) // 1 meaning no window (consistency!) else - Topic(src, list("src"= "\ref[src]", "command"="open", "activate" = "0"), 1) + Topic(src, list("src" = UID(), "command"="open", "activate" = "0"), 1) return /atom/proc/AICtrlClick(var/mob/living/silicon/ai/user) @@ -151,15 +151,15 @@ /obj/machinery/door/airlock/AICtrlClick() // Bolts doors if(locked) - Topic(src, list("src"= "\ref[src]", "command"="bolts", "activate" = "0"), 1)// 1 meaning no window (consistency!) + Topic(src, list("src" = UID(), "command"="bolts", "activate" = "0"), 1)// 1 meaning no window (consistency!) else - Topic(src, list("src"= "\ref[src]", "command"="bolts", "activate" = "1"), 1) + Topic(src, list("src" = UID(), "command"="bolts", "activate" = "1"), 1) /obj/machinery/power/apc/AICtrlClick() // turns off/on APCs. Topic("breaker=1", list("breaker"="1"), 0) // 0 meaning no window (consistency! wait...) /obj/machinery/turretid/AICtrlClick() //turns off/on Turrets - Topic(src, list("src"= "\ref[src]", "command"="enable", "value"="[!enabled]"), 1) // 1 meaning no window (consistency!) + Topic(src, list("src" = UID(), "command"="enable", "value"="[!enabled]"), 1) // 1 meaning no window (consistency!) /atom/proc/AIAltClick(var/atom/A) AltClick(A) @@ -167,23 +167,23 @@ /obj/machinery/door/airlock/AIAltClick() // Electrifies doors. if(!electrified_until) // permanent shock - Topic(src, list("src"= "\ref[src]", "command"="electrify_permanently", "activate" = "1"), 1) // 1 meaning no window (consistency!) + Topic(src, list("src" = UID(), "command"="electrify_permanently", "activate" = "1"), 1) // 1 meaning no window (consistency!) else // disable/6 is not in Topic; disable/5 disables both temporary and permanent shock - Topic(src, list("src"= "\ref[src]", "command"="electrify_permanently", "activate" = "0"), 1) + Topic(src, list("src" = UID(), "command"="electrify_permanently", "activate" = "0"), 1) return /obj/machinery/turretid/AIAltClick() //toggles lethal on turrets - Topic(src, list("src"= "\ref[src]", "command"="lethal", "value"="[!lethal]"), 1) // 1 meaning no window (consistency!) + Topic(src, list("src" = UID(), "command"="lethal", "value"="[!lethal]"), 1) // 1 meaning no window (consistency!) /atom/proc/AIMiddleClick() return /obj/machinery/door/airlock/AIMiddleClick() // Toggles door bolt lights. if(!src.lights) - Topic(src, list("src"= "\ref[src]", "command"="lights", "activate" = "1"), 1) // 1 meaning no window (consistency!) + Topic(src, list("src" = UID(), "command"="lights", "activate" = "1"), 1) // 1 meaning no window (consistency!) else - Topic(src, list("src"= "\ref[src]", "command"="lights", "activate" = "0"), 1) + Topic(src, list("src" = UID(), "command"="lights", "activate" = "0"), 1) return diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index c17a4d057c7..4fbbdbf339f 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -37,12 +37,12 @@ datum/hSB var/hsbpanel = "
    h_Sandbox Panel

    " if(admin) hsbpanel += "Administration Tools:
    " - hsbpanel += "- Toggle Object Spawning

    " + hsbpanel += "- Toggle Object Spawning

    " hsbpanel += "Regular Tools:
    " for(var/T in hrefs) - hsbpanel += "- [hrefs[T]]
    " + hsbpanel += "- [hrefs[T]]
    " if(hsboxspawn) - hsbpanel += "- Spawn Object

    " + hsbpanel += "- Spawn Object

    " usr << browse(hsbpanel, "window=hsbpanel") Topic(href, href_list) if(!(src.owner == usr.ckey)) return diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 17def02752f..a88abfc61b9 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -75,7 +75,7 @@ if(src.locked && (!istype(user, /mob/living/silicon))) t += "(Swipe ID card to unlock control panel.)
    " else - t += text("Dispenser [] - []?
    \n", src.disabled?"deactivated":"activated", src, src.disabled?"Enable":"Disable") + t += text("Dispenser [] - []?
    \n", src.disabled?"deactivated":"activated", src.disabled?"Enable":"Disable") t += text("Uses Left: [uses]. Activate the dispenser?
    \n") user << browse(t, "window=computer;size=575x450") diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index d00cbb211b2..6e80362e9ce 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -403,7 +403,7 @@ dat += "Glass amount: [materials.amount(MAT_GLASS)] cm3
    " dat += " \ - \ + \ \ \ \ diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index bb31fba787d..7e78232de4d 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -177,7 +177,7 @@ var/time_last_changed_position = 0 user.set_machine(src) var/data[0] - data["src"] = "\ref[src]" + data["src"] = UID() data["station_name"] = station_name() data["mode"] = mode data["printing"] = printing diff --git a/code/game/machinery/computer/hologram.dm b/code/game/machinery/computer/hologram.dm index 48dfaf36bf6..26b7fa17fa2 100644 --- a/code/game/machinery/computer/hologram.dm +++ b/code/game/machinery/computer/hologram.dm @@ -49,9 +49,19 @@ var/dat user.set_machine(src) if(src.temp) - dat = text("[]

    Clear", src.temp, src) + dat = text("[]

    Clear", src.temp) else - dat = text("Hologram Status:
    \nPower: []
    \nHologram Control:
    \nColor Luminosity: []/220 \[Reset\]
    \nLighten: 1 10
    \nDarken: 1 10
    \n
    \nHair Color: ([],[],[]) \[Reset\]
    \nRed (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    \nGreen (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    \nBlue (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    ", src, (src.projector.hologram ? "On" : "Off"), -src.lumens + 35, src, src, src, src, src, src.h_r, src.h_g, src.h_b, src, src, src, src, src.h_r, src, src, src, src, src, src, src.h_g, src, src, src, src, src, src, src.h_b, src, src, src) + dat = text({"Hologram Status:
    \n + Power: []
    \n + Hologram Control:
    \n + Color Luminosity: []/220 \[Reset\]
    \n + Lighten: 1 10
    \n + Darken: 1 10
    \n +
    \nHair Color: ([],[],[]) \[Reset\]
    \n + Red (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    \n + Green (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    \n + Blue (0-255): \[0\] -10 -1 [] 1 10 \[255\]
    + "}, (src.projector.hologram ? "On" : "Off"), -src.lumens + 35, src.h_r, src.h_g, src.h_b, src.h_r, src.h_g, src.h_b) user << browse(dat, "window=hologram_console") onclose(user, "hologram_console") return diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index e0df9662f44..1b8004f88cc 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -30,7 +30,7 @@ if(src.temp) dat = text("[src.temp]

    Clear Screen") else - dat = text("Confirm Identity: []
    ", src, (src.scan ? text("[]", src.scan.name) : "----------")) + dat = text("Confirm Identity: []
    ", (src.scan ? text("[]", src.scan.name) : "----------")) if(src.authenticated) switch(src.screen) if(1.0) @@ -48,7 +48,7 @@ dat += "Record List:
    " if(!isnull(data_core.general)) for(var/datum/data/record/R in sortRecord(data_core.general)) - dat += text("[]: []
    ", src, R, R.fields["id"], R.fields["name"]) + dat += text("[]: []
    ", R, R.fields["id"], R.fields["name"]) //Foreach goto(132) dat += "
    Back" if(3.0) @@ -68,10 +68,10 @@ else dat += "General Record Lost!
    " if((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))) - dat += text("
    \n
    Medical Data

    \nBlood Type: []
    \nDNA: []
    \n
    \nMinor Disabilities: []
    \nDetails: []
    \n
    \nMajor Disabilities: []
    \nDetails: []
    \n
    \nAllergies: []
    \nDetails: []
    \n
    \nCurrent Diseases: [] (per disease info placed in log/comment section)
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", src, src.active2.fields["b_type"], src, src.active2.fields["b_dna"], src, src.active2.fields["mi_dis"], src, src.active2.fields["mi_dis_d"], src, src.active2.fields["ma_dis"], src, src.active2.fields["ma_dis_d"], src, src.active2.fields["alg"], src, src.active2.fields["alg_d"], src, src.active2.fields["cdi"], src, src.active2.fields["cdi_d"], src, src.active2.fields["notes"]) + dat += text("
    \n
    Medical Data

    \nBlood Type: []
    \nDNA: []
    \n
    \nMinor Disabilities: []
    \nDetails: []
    \n
    \nMajor Disabilities: []
    \nDetails: []
    \n
    \nAllergies: []
    \nDetails: []
    \n
    \nCurrent Diseases: [] (per disease info placed in log/comment section)
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", src.active2.fields["b_type"], src.active2.fields["b_dna"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"]) var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) - dat += text("[]
    Delete Entry

    ", src.active2.fields[text("com_[]", counter)], src, counter) + dat += text("[]
    Delete Entry

    ", src.active2.fields[text("com_[]", counter)], counter) counter++ dat += "Add Entry

    " dat += "Delete Record (Medical Only)

    " @@ -308,7 +308,7 @@ src.temp = "Mental Condition:
    \n\t*Insane*
    \n\t*Unstable*
    \n\t*Watch*
    \n\tStable
    " if("b_type") if(istype(src.active2, /datum/data/record)) - src.temp = text("Blood Type:
    \n\tA- A+
    \n\tB- B+
    \n\tAB- AB+
    \n\tO- O+
    ", src, src, src, src, src, src, src, src) + src.temp = "Blood Type:
    \n\tA- A+
    \n\tB- B+
    \n\tAB- AB+
    \n\tO- O+
    " if("b_dna") if(istype(src.active1, /datum/data/record)) var/t1 = copytext(trim(sanitize(input("Please input DNA hash:", "Med. records", src.active1.fields["dna"], null) as text)),1,MAX_MESSAGE_LEN) diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 1f840bb5e08..58ae88dba27 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -120,7 +120,7 @@ target.lockcharge = !target.lockcharge to_chat(target, "[!target.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]") if(target.connected_ai) - to_chat(target.connected_ai, "[!target.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [target.name]
    ") + to_chat(target.connected_ai, "[!target.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [target.name]
    ") // Remotely hacks the cyborg. Only antag AIs can do this and only to linked cyborgs. else if(href_list["hack"]) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 80617ba53eb..1634ebdc4a0 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -80,9 +80,9 @@ "} if(temp) - dat = text("[]

    Clear Screen", temp, src) + dat = text("[]

    Clear Screen", temp) else - dat = text("Confirm Identity: []
    ", src, (scan ? text("[]", scan.name) : "----------")) + dat = text("Confirm Identity: []
    ", (scan ? text("[]", scan.name) : "----------")) if(authenticated) switch(screen) if(1.0) @@ -142,7 +142,7 @@ background = "''" crimstat = "No Record." dat += "" - dat += text("[]", R.fields["name"], R.fields["id"], R.fields["rank"], R.fields["fingerprint"], src, R, R.fields["name"]) + dat += text("[]", R.fields["name"], R.fields["id"], R.fields["rank"], R.fields["fingerprint"], R, R.fields["name"]) dat += text("[]", R.fields["id"]) dat += text("[]", R.fields["rank"]) dat += text("[]", R.fields["fingerprint"]) @@ -182,10 +182,10 @@ else dat += "General Record Lost!
    " if((istype(active2, /datum/data/record) && data_core.security.Find(active2))) - dat += text("
    \n
    Security Data

    \nCriminal Status: []
    \n
    \nMinor Crimes: []
    \nDetails: []
    \n
    \nMajor Crimes: []
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", src, active2.fields["criminal"], src, active2.fields["mi_crim"], src, active2.fields["mi_crim_d"], src, active2.fields["ma_crim"], src, active2.fields["ma_crim_d"], src, active2.fields["notes"]) + dat += text("
    \n
    Security Data

    \nCriminal Status: []
    \n
    \nMinor Crimes: []
    \nDetails: []
    \n
    \nMajor Crimes: []
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", active2.fields["criminal"], active2.fields["mi_crim"], active2.fields["mi_crim_d"], active2.fields["ma_crim"], active2.fields["ma_crim_d"], active2.fields["notes"]) var/counter = 1 while(active2.fields[text("com_[]", counter)]) - dat += text("[]
    Delete Entry

    ", active2.fields[text("com_[]", counter)], src, counter) + dat += text("[]
    Delete Entry

    ", active2.fields[text("com_[]", counter)], counter) counter++ dat += "Add Entry

    " dat += "Delete Record (Security Only)

    " diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm index 98e7a93c316..027b182e0c0 100644 --- a/code/game/machinery/computer/skills.dm +++ b/code/game/machinery/computer/skills.dm @@ -47,9 +47,9 @@ var/dat if(temp) - dat = text("[]

    Clear Screen", temp, src) + dat = "[temp]

    Clear Screen" else - dat = text("Confirm Identity: []
    ", src, (scan ? text("[]", scan.name) : "----------")) + dat = text("Confirm Identity: []
    ", (scan ? text("[]", scan.name) : "----------")) if(authenticated) switch(screen) if(1.0) @@ -75,7 +75,7 @@ for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order)) for(var/datum/data/record/E in data_core.security) var/background - dat += text("[]", background, src, R, R.fields["name"]) + dat += text("[]", background, R, R.fields["name"]) dat += text("[]", R.fields["id"]) dat += text("[]", R.fields["rank"]) dat += text("[]", R.fields["fingerprint"]) @@ -129,7 +129,7 @@ crimstat = E.fields["criminal"] var/background background = "'background-color:#00FF7F;'" - dat += text("[]", background, src, R, R.fields["name"]) + dat += text("[]", background, R, R.fields["name"]) dat += text("[]", R.fields["id"]) dat += text("[]", R.fields["rank"]) dat += text("[]", R.fields["fingerprint"]) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 7c8d14fe469..fcf9d56b355 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -173,43 +173,6 @@ FIRE ALARM ui_interact(user) -/* - user.set_machine(src) - var/area/A = src.loc - var/d1 - var/d2 - if(ishuman(user) || issilicon(user) || isobserver(user)) - A = A.loc - - if(A.fire) - d1 = "Reset - Lockdown" - else - d1 = "Alarm - Lockdown" - if(src.timing) - d2 = "Stop Time Lock" - else - d2 = "Initiate Time Lock" - var/second = round(src.time) % 60 - var/minute = (round(src.time) - second) / 60 - var/dat = "Fire alarm [d1]\n
    The current alert level is: [get_security_level()]


    \nTimer System: [d2]
    \nTime Left: [(minute ? "[minute]:" : null)][second] - - + +\n
    " - user << browse(dat, "window=firealarm") - onclose(user, "firealarm") - else - A = A.loc - if(A.fire) - d1 = text("[]", src, stars("Reset - Lockdown")) - else - d1 = text("[]", src, stars("Alarm - Lockdown")) - if(src.timing) - d2 = text("[]", src, stars("Stop Time Lock")) - else - d2 = text("[]", src, stars("Initiate Time Lock")) - var/second = round(src.time) % 60 - var/minute = (round(src.time) - second) / 60 - var/dat = "[stars("Fire alarm")] [d1]\n
    The current alert level is: [stars(get_security_level())]

    \nTimer System: [d2]
    \nTime Left: [(minute ? text("[]:", minute) : null)][second] - - + +\n
    " - user << browse(dat, "window=firealarm") - onclose(user, "firealarm")*/ - /obj/machinery/firealarm/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1, var/master_ui = null, var/datum/topic_state/state = default_state) var/data[0] @@ -359,21 +322,21 @@ Just a object used in constructing fire alarms d2 = "Initiate Time Lock" var/second = time % 60 var/minute = (time - second) / 60 - var/dat = text("Party Button []\n
    \nTimer System: []
    \nTime Left: [][] - - + +\n
    ", d1, d2, (minute ? text("[]:", minute) : null), second, src, src, src, src) + var/dat = text("Party Button []\n
    \nTimer System: []
    \nTime Left: [][] - - + +\n
    ", d1, d2, (minute ? text("[]:", minute) : null), second) user << browse(dat, "window=partyalarm") onclose(user, "partyalarm") else if(A.fire) - d1 = text("[]", src, stars("No Party :(")) + d1 = text("[]", stars("No Party :(")) else - d1 = text("[]", src, stars("PARTY!!!")) + d1 = text("[]", stars("PARTY!!!")) if(timing) - d2 = text("[]", src, stars("Stop Time Lock")) + d2 = text("[]", stars("Stop Time Lock")) else - d2 = text("[]", src, stars("Initiate Time Lock")) + d2 = text("[]", stars("Initiate Time Lock")) var/second = time % 60 var/minute = (time - second) / 60 - var/dat = text("[] []\n
    \nTimer System: []
    \nTime Left: [][] - - + +\n
    ", stars("Party Button"), d1, d2, (minute ? text("[]:", minute) : null), second, src, src, src, src) + var/dat = text("[] []\n
    \nTimer System: []
    \nTime Left: [][] - - + +\n
    ", stars("Party Button"), d1, d2, (minute ? text("[]:", minute) : null), second) user << browse(dat, "window=partyalarm") onclose(user, "partyalarm") return diff --git a/code/game/machinery/gameboard.dm b/code/game/machinery/gameboard.dm index a19f34af99b..0c5b8eeef56 100644 --- a/code/game/machinery/gameboard.dm +++ b/code/game/machinery/gameboard.dm @@ -50,7 +50,7 @@ return var/dat - dat = replacetext(file2text('html/chess.html'), "\[hsrc]", "\ref[src]") + dat = replacetext(file2text('html/chess.html'), "\[hsrc]", UID()) var/datum/asset/simple/chess/assets = get_asset_datum(/datum/asset/simple/chess) assets.send(user) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 6f9e00778df..d48a21709c0 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -136,8 +136,8 @@ dat+= "Suit storage unit: Maintenance panel" dat+= "Maintenance panel controls
    " dat+= "The panel is ridden with controls, button and meters, labeled in strange signs and symbols that
    you cannot understand. Probably the manufactoring world's language.
    Among other things, a few controls catch your eye.

    " - dat+= text("A small dial with a \"�\" symbol embroidded on it. It's pointing towards a gauge that reads [].
    Turn towards []
    ",(src.issuperUV ? "15nm" : "185nm"),src,(src.issuperUV ? "185nm" : "15nm") ) - dat+= text("A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.
    Press button",(src.safetieson? "GREEN" : "RED"),src) + dat+= text("A small dial with a \"�\" symbol embroidded on it. It's pointing towards a gauge that reads [].
    Turn towards []
    ",(src.issuperUV ? "15nm" : "185nm"),(src.issuperUV ? "185nm" : "15nm") ) + dat+= text("A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.
    Press button",(src.safetieson? "GREEN" : "RED")) dat+= "

    Close panel" //user << browse(dat, "window=ssu_m_panel;size=400x500") //onclose(user, "ssu_m_panel") @@ -163,11 +163,11 @@ if(src.OCCUPANT) dat+= "
    WARNING: Biological entity detected inside the Unit's storage. Please remove.
    " dat+= "Eject extra load" - dat+= text("
    Unit is: [] - [] Unit ",(src.isopen ? "Open" : "Closed"),src,(src.isopen ? "Close" : "Open")) + dat+= text("
    Unit is: [] - [] Unit ",(src.isopen ? "Open" : "Closed"),(src.isopen ? "Close" : "Open")) if(src.isopen) dat+="
    " else - dat+= text(" - *[] Unit*
    ",src,(src.islocked ? "Unlock" : "Lock") ) + dat+= text(" - *[] Unit*
    ",(src.islocked ? "Unlock" : "Lock") ) dat+= text("Unit status: []",(src.islocked? "**LOCKED**
    " : "**UNLOCKED**
    ") ) dat+= "Start Disinfection cycle
    " dat += "

    Close control panel" diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm index 3d065f2f753..001771b7efa 100644 --- a/code/game/machinery/telecomms/traffic_control.dm +++ b/code/game/machinery/telecomms/traffic_control.dm @@ -133,7 +133,7 @@ - + "} diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index a3739f21e91..23271355206 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -423,7 +423,7 @@ var/r_list = get_reagents_list() var/inputs if(r_list) - inputs += "" + inputs += "" inputs += "" inputs += "" var/output = {"
    diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 26078a6dc3e..7f2afb179e4 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -102,20 +102,20 @@ if(BUGMODE_MONITOR) if(current) - html = "Analyzing Camera '[current.c_tag]' \[Select Camera\]
    " + html = "Analyzing Camera '[current.c_tag]' \[Select Camera\]
    " html += camera_report() else track_mode = BUGMODE_LIST return .(cameras) if(BUGMODE_TRACK) if(tracking) - html = "Tracking '[tracked_name]' \[Cancel Tracking\] \[Cancel camera view\]
    " + html = "Tracking '[tracked_name]' \[Cancel Tracking\] \[Cancel camera view\]
    " if(last_found) var/time_diff = round((world.time - last_seen) / 150) var/obj/machinery/camera/C = bugged_cameras[last_found] var/outstring if(C) - outstring = "[last_found]" + outstring = "[last_found]" else outstring = last_found if(!time_diff) @@ -151,7 +151,7 @@ dat += "[S.name]" var/stage = round(S.current_size / 2)+1 dat += " (Stage [stage])" - dat += " \[Track\]
    " + dat += " \[Track\]
    " for(var/obj/mecha/M in seen) if(M.name in names) @@ -160,7 +160,7 @@ else names[M.name] = 1 dat += "[M.name]" - dat += " \[Track\]
    " + dat += " \[Track\]
    " for(var/mob/living/M in seen) @@ -174,7 +174,7 @@ dat += " (Sitting)" if(M.lying) dat += " (Laying down)" - dat += " \[Track\]
    " + dat += " \[Track\]
    " if(length(dat) == 0) dat += "No motion detected." return dat diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index a79350c4cd0..f8ca693bf9c 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -286,13 +286,13 @@ return /obj/item/robot_parts/robot_suit/proc/Interact(mob/user) - var/t1 = text("Designation: [(created_name ? "[created_name]" : "Default Cyborg")]
    \n",src) - t1 += text("Master AI: [(forced_ai ? "[forced_ai.name]" : "Automatic")]

    \n",src) + var/t1 = "Designation: [(created_name ? "[created_name]" : "Default Cyborg")]
    \n" + t1 += "Master AI: [(forced_ai ? "[forced_ai.name]" : "Automatic")]

    \n" - t1 += text("LawSync Port: [(lawsync ? "Open" : "Closed")]
    \n",src) - t1 += text("AI Connection Port: [(aisync ? "Open" : "Closed")]
    \n",src) - t1 += text("Servo Motor Functions: [(locomotion ? "Unlocked" : "Locked")]
    \n",src) - t1 += text("Panel Lock: [(panel_locked ? "Engaged" : "Disengaged")]
    \n",src) + t1 += "LawSync Port: [(lawsync ? "Open" : "Closed")]
    \n" + t1 += "AI Connection Port: [(aisync ? "Open" : "Closed")]
    \n" + t1 += "Servo Motor Functions: [(locomotion ? "Unlocked" : "Locked")]
    \n" + t1 += "Panel Lock: [(panel_locked ? "Engaged" : "Disengaged")]
    \n" var/datum/browser/popup = new(user, "robotdebug", "Cyborg Boot Debug", 310, 220) popup.set_content(t1) popup.open() diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index dad7b46a161..460498a874b 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -104,7 +104,19 @@ message = text("[]", src.code) if(!src.locked) message = "*****" - dat += text("
    \n>[]
    \n1-2-3
    \n4-5-6
    \n7-8-9
    \nR-0-E
    \n
    ", message, src, src, src, src, src, src, src, src, src, src, src, src) + dat += {"
    \n>[message]
    \n + 1- + 2- + 3
    \n + 4- + 5- + 6
    \n + 7- + 8- + 9
    \n + R- + 0- + E
    \n
    "} user << browse(dat, "window=caselock;size=300x280") Topic(href, href_list) diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index 6cd03894699..577d5d5de46 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -355,7 +355,7 @@ datum/admins/proc/DB_ban_unban_by_id(var/id) output += "" output += "Add custom ban: (ONLY use this if you can't ban through any other method)" - output += "" + output += "" output += "" output += "
    Ban type:
    " output += "" + output += "" output += "" output += "" output += "" diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index 172e826a0bb..9ba4ca4eeee 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -177,7 +177,7 @@ var/savefile/Banlist for(var/A in Banlist.dir) count++ Banlist.cd = "/base/[A]" - var/ref = "\ref[src]" + var/ref = UID() var/key = Banlist["key"] var/id = Banlist["id"] var/ip = Banlist["ip"] diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index af3853c1d05..fa105486654 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -6,4 +6,4 @@ create_mob_html = file2text('html/create_object.html') create_mob_html = replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"") - user << browse(replacetext(create_mob_html, "/* ref src */", "\ref[src]"), "window=create_mob;size=425x475") + user << browse(replacetext(create_mob_html, "/* ref src */", UID()), "window=create_mob;size=425x475") diff --git a/code/modules/admin/create_object.dm b/code/modules/admin/create_object.dm index bec74191121..f53b20da92c 100644 --- a/code/modules/admin/create_object.dm +++ b/code/modules/admin/create_object.dm @@ -8,7 +8,7 @@ var/list/create_object_forms = list(/obj, /obj/structure, /obj/machinery, /obj/e create_object_html = file2text('html/create_object.html') create_object_html = replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"") - user << browse(replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=425x475") + user << browse(replacetext(create_object_html, "/* ref src */", UID()), "window=create_object;size=425x475") /datum/admins/proc/quick_create_object(var/mob/user) var/path = input("Select the path of the object you wish to create.", "Path", /obj) in create_object_forms @@ -20,4 +20,4 @@ var/list/create_object_forms = list(/obj, /obj/structure, /obj/machinery, /obj/e html_form = replacetext(html_form, "null /* object types */", "\"[objectjs]\"") create_object_forms[path] = html_form - user << browse(replacetext(html_form, "/* ref src */", "\ref[src]"), "window=qco[path];size=425x475") \ No newline at end of file + user << browse(replacetext(html_form, "/* ref src */", UID()), "window=qco[path];size=425x475") \ No newline at end of file diff --git a/code/modules/admin/create_turf.dm b/code/modules/admin/create_turf.dm index 5edffa65cbf..8d1f126a7ec 100644 --- a/code/modules/admin/create_turf.dm +++ b/code/modules/admin/create_turf.dm @@ -6,4 +6,4 @@ create_turf_html = file2text('html/create_object.html') create_turf_html = replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"") - user << browse(replacetext(create_turf_html, "/* ref src */", "\ref[src]"), "window=create_turf;size=425x475") + user << browse(replacetext(create_turf_html, "/* ref src */", UID()), "window=create_turf;size=425x475") diff --git a/code/modules/arcade/claw_game.dm b/code/modules/arcade/claw_game.dm index e0fa547b5fc..305d01bbe86 100644 --- a/code/modules/arcade/claw_game.dm +++ b/code/modules/arcade/claw_game.dm @@ -67,7 +67,7 @@ user << browse_rsc('page.css') for(var/i=1, i<=img_resources.len, i++) user << browse_rsc(img_resources[i]) - var/my_game_html = replacetext(claw_game_html, "/* ref src */", "\ref[src]") + var/my_game_html = replacetext(claw_game_html, "/* ref src */", UID()) user << browse(my_game_html, "window=[window_name];size=700x600") /obj/machinery/arcade/claw/Topic(href, list/href_list) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 2ba5f04019d..e1078ed9caa 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -113,7 +113,7 @@ return 0 var/second = time % 60 var/minute = (time - second) / 60 - var/dat = text("Proximity Sensor\n[] []:[]\n- - + +\n", (timing ? "Arming" : "Not Arming"), minute, second, src, src, src, src) + var/dat = text("Proximity Sensor\n[] []:[]\n- - + +\n", (timing ? "Arming" : "Not Arming"), minute, second) dat += "
    [scanning?"Armed":"Unarmed"] (Movement sensor active when armed!)" dat += "

    Refresh" dat += "

    Close" diff --git a/code/modules/computer3/computers/card.dm b/code/modules/computer3/computers/card.dm index 2e7af8bf27c..69b74a0b067 100644 --- a/code/modules/computer3/computers/card.dm +++ b/code/modules/computer3/computers/card.dm @@ -145,7 +145,7 @@ // form for renaming the ID dat += "" - dat += "" + dat += "" dat += "registered_name:" dat += "" dat += "" diff --git a/code/modules/computer3/computers/medical.dm b/code/modules/computer3/computers/medical.dm index e7b0e7e3130..1931f183077 100644 --- a/code/modules/computer3/computers/medical.dm +++ b/code/modules/computer3/computers/medical.dm @@ -57,9 +57,9 @@ if(temp) dat = text("[src.temp]

    Clear Screen") else - dat = text("Confirm Identity (R): []
    ", src, (scan ? text("[]", scan.name) : "----------")) + dat = text("Confirm Identity (R): []
    ", (scan ? text("[]", scan.name) : "----------")) if(computer.cardslot.dualslot) - dat += text("Check Identity (W): []
    ", src, (scan2 ? text("[]", scan2.name) : "----------")) + dat += text("Check Identity (W): []
    ", (scan2 ? text("[]", scan2.name) : "----------")) if(scan2 && !scan) dat += text("
    Insert card into reader slot to log in.

    ") @@ -80,7 +80,7 @@ dat += "Record List:
    " if(!isnull(data_core.general)) for(var/datum/data/record/R in sortRecord(data_core.general)) - dat += text("[]: []
    ", src, R, R.fields["id"], R.fields["name"]) + dat += text("
    []: []
    ", R, R.fields["id"], R.fields["name"]) //Foreach goto(132) dat += "
    Back" if(3.0) @@ -100,10 +100,10 @@ else dat += "General Record Lost!
    " if((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))) - dat += text("
    \n
    Medical Data

    \nBlood Type: []
    \nDNA: []
    \n
    \nMinor Disabilities: []
    \nDetails: []
    \n
    \nMajor Disabilities: []
    \nDetails: []
    \n
    \nAllergies: []
    \nDetails: []
    \n
    \nCurrent Diseases: [] (per disease info placed in log/comment section)
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", src, src.active2.fields["b_type"], src, src.active2.fields["b_dna"], src, src.active2.fields["mi_dis"], src, src.active2.fields["mi_dis_d"], src, src.active2.fields["ma_dis"], src, src.active2.fields["ma_dis_d"], src, src.active2.fields["alg"], src, src.active2.fields["alg_d"], src, src.active2.fields["cdi"], src, src.active2.fields["cdi_d"], src, decode(src.active2.fields["notes"])) + dat += text("
    \n
    Medical Data

    \nBlood Type: []
    \nDNA: []
    \n
    \nMinor Disabilities: []
    \nDetails: []
    \n
    \nMajor Disabilities: []
    \nDetails: []
    \n
    \nAllergies: []
    \nDetails: []
    \n
    \nCurrent Diseases: [] (per disease info placed in log/comment section)
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", src.active2.fields["b_type"], src.active2.fields["b_dna"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], decode(src.active2.fields["notes"])) var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) - dat += text("[]
    Delete Entry

    ", src.active2.fields[text("com_[]", counter)], src, counter) + dat += text("[]
    Delete Entry

    ", src.active2.fields[text("com_[]", counter)], counter) counter++ dat += "Add Entry

    " dat += "Delete Record (Medical Only)

    " @@ -332,7 +332,7 @@ src.temp = "Mental Condition:
    \n\t*Insane*
    \n\t*Unstable*
    \n\t*Watch*
    \n\tStable
    " if("b_type") if(istype(src.active2, /datum/data/record)) - src.temp = text("Blood Type:
    \n\tA-A+
    \n\tB-B+
    \n\tAB-AB+
    \n\tO-O+
    ", src, src, src, src, src, src, src, src) + src.temp = "Blood Type:
    \n\tA-A+
    \n\tB-B+
    \n\tAB-AB+
    \n\tO-O+
    " if("b_dna") if(istype(src.active1, /datum/data/record)) var/t1 = sanitize(copytext(input("Please input DNA hash:", "Med. records", src.active1.fields["dna"], null) as text,1,MAX_MESSAGE_LEN)) diff --git a/code/modules/computer3/computers/security.dm b/code/modules/computer3/computers/security.dm index fa19f847a4c..249e49c6bce 100644 --- a/code/modules/computer3/computers/security.dm +++ b/code/modules/computer3/computers/security.dm @@ -63,11 +63,11 @@ var/dat if(temp) - dat = text("[]

    Clear Screen", temp, src) + dat = "[temp]

    Clear Screen" else - dat = text("Confirm Identity (R): []
    ", src, (scan ? text("[]", scan.name) : "----------")) + dat = text("Confirm Identity (R): []
    ", (scan ? text("[]", scan.name) : "----------")) if(computer.cardslot.dualslot) - dat += text("Check Identity (W): []
    ", src, (scan2 ? text("[]", scan2.name) : "----------")) + dat += text("Check Identity (W): []
    ", (scan2 ? text("[]", scan2.name) : "----------")) if(scan2 && !scan) dat += text("
    Insert card into reader slot to log in.

    ") if(authenticated) @@ -113,7 +113,7 @@ if("") background = "'background-color:#00FF7F;'" crimstat = "No Record." - dat += text("", background, src, R, R.fields["name"]) + dat += text("", background, R, R.fields["name"]) dat += text("", R.fields["id"]) dat += text("", R.fields["rank"]) dat += text("", R.fields["fingerprint"]) @@ -141,10 +141,10 @@ else dat += "General Record Lost!
    " if((istype(active2, /datum/data/record) && data_core.security.Find(active2))) - dat += text("
    \n
    Security Data

    \nCriminal Status: []
    \n
    \nMinor Crimes: []
    \nDetails: []
    \n
    \nMajor Crimes: []
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", src, active2.fields["criminal"], src, active2.fields["mi_crim"], src, active2.fields["mi_crim_d"], src, active2.fields["ma_crim"], src, active2.fields["ma_crim_d"], src, decode(active2.fields["notes"])) + dat += text("
    \n
    Security Data

    \nCriminal Status: []
    \n
    \nMinor Crimes: []
    \nDetails: []
    \n
    \nMajor Crimes: []
    \nDetails: []
    \n
    \nImportant Notes:
    \n\t[]
    \n
    \n
    Comments/Log

    ", active2.fields["criminal"], active2.fields["mi_crim"], active2.fields["mi_crim_d"], active2.fields["ma_crim"], active2.fields["ma_crim_d"], decode(active2.fields["notes"])) var/counter = 1 while(active2.fields[text("com_[]", counter)]) - dat += text("[]
    Delete Entry

    ", active2.fields[text("com_[]", counter)], src, counter) + dat += text("[]
    Delete Entry

    ", active2.fields[text("com_[]", counter)], counter) counter++ dat += "Add Entry

    " dat += "Delete Record (Security Only)

    " @@ -192,7 +192,7 @@ if("") background = "'background-color:#FFFFFF;'" crimstat = "No Record." - dat += text("", background, src, R, R.fields["name"]) + dat += text("", background, R, R.fields["name"]) dat += text("", R.fields["id"]) dat += text("", R.fields["rank"]) dat += text("", R.fields["fingerprint"]) diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index fc887375389..caca591b90b 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -178,7 +178,7 @@ log transactions dat += {"Account balance: $[authenticated_account.money]
    Back

    - + Target account number:
    Funds to transfer:
    @@ -189,7 +189,7 @@ log transactions dat += {"Welcome, [authenticated_account.owner_name].
    Account balance: $[authenticated_account.money] - +
    @@ -200,7 +200,7 @@ log transactions Logout
    "} else if(linked_db) dat += {" - + Account:
    PIN:
    diff --git a/code/modules/economy/Accounts.dm b/code/modules/economy/Accounts.dm index 34735fb4c0d..6079e62c54f 100644 --- a/code/modules/economy/Accounts.dm +++ b/code/modules/economy/Accounts.dm @@ -198,7 +198,7 @@ var/global/list/all_money_accounts = list() dat += {"
    Return to accounts list - + Holder name:
    Initial funds: (subtracted from station account)
    diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index 920ce488cb4..5a3a5814a70 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -80,7 +80,7 @@ user.set_machine(src) var/data[0] - data["src"] = "\ref[src]" + data["src"] = UID() data["id_inserted"] = !!held_card data["id_card"] = held_card ? text("[held_card.registered_name], [held_card.assignment]") : "-----" data["access_level"] = get_access_level(user) diff --git a/code/modules/economy/POS.dm b/code/modules/economy/POS.dm index 94dc2284f74..09c6bdcf205 100644 --- a/code/modules/economy/POS.dm +++ b/code/modules/economy/POS.dm @@ -225,7 +225,7 @@ var/const/POS_HEADER = {" receipt += "" receipt += {"
    Order Data - +
    Search:" - output += "
    Ckey: Admin ckey:
    IP:
    []
    [][][][]
    []
    [][][][]
    @@ -281,7 +281,7 @@ var/const/POS_HEADER = {" /obj/machinery/pos/proc/ProductsScreen() var/dat={"
    Product List - +
    Item
    @@ -322,7 +322,7 @@ var/const/POS_HEADER = {" var/dat={"
    Import Products as CSV - +

    Data must be in the form of a CSV, with no headers or quotation marks.

    First column must be product names, second must be prices as an unformatted number (####.##)

    @@ -337,7 +337,7 @@ var/const/POS_HEADER = {" /obj/machinery/pos/proc/SettingsScreen() var/dat={" - +
    Account Settings
    diff --git a/code/modules/library/computers/checkout.dm b/code/modules/library/computers/checkout.dm index 51cd5901c21..2c0932f1707 100644 --- a/code/modules/library/computers/checkout.dm +++ b/code/modules/library/computers/checkout.dm @@ -109,7 +109,7 @@ dat += pagelist dat += {" - + "} diff --git a/code/modules/library/computers/public.dm b/code/modules/library/computers/public.dm index bc46f90bf89..4e0decd4459 100644 --- a/code/modules/library/computers/public.dm +++ b/code/modules/library/computers/public.dm @@ -30,7 +30,7 @@ dat += pagelist dat += {"
    - + "} diff --git a/code/modules/mob/new_player/poll.dm b/code/modules/mob/new_player/poll.dm index bb9022d97f2..f85a8c9ded1 100644 --- a/code/modules/mob/new_player/poll.dm +++ b/code/modules/mob/new_player/poll.dm @@ -92,7 +92,7 @@ if(!voted) //Only make this a form if we have not voted yet output += "
    " - output += "" + output += "" output += "" output += "" @@ -136,7 +136,7 @@ if(!voted) //Only make this a form if we have not voted yet output += "" - output += "" + output += "" output += "" output += "" @@ -147,7 +147,7 @@ output += "" output += "
    " - output += "" + output += "" output += "" output += "" output += "" @@ -179,7 +179,7 @@ if(!voted) //Only make this a form if we have not voted yet output += "" - output += "" + output += "" output += "" output += "" @@ -265,7 +265,7 @@ if(!voted) //Only make this a form if we have not voted yet output += "" - output += "" + output += "" output += "" output += "" output += "" diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index 7451005d4b2..cd381a786de 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -358,7 +358,7 @@ nanoui is used to open and update nano browser uis var/list/send_data = get_send_data(initial_data) var/initial_data_json = replacetext(replacetext(json_encode(send_data), """, "&#34;"), "'", "'") - var/url_parameters_json = json_encode(list("src" = "\ref[src]")) + var/url_parameters_json = json_encode(list("src" = UID())) return {" diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 160cd6e62b2..d30d861f8f5 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -669,7 +669,7 @@ proc/CallMaterialName(ID) data["menu"] = menu data["submenu"] = submenu data["wait_message"] = wait_message - data["src_ref"] = "\ref[src]" + data["src_ref"] = UID() data["linked_destroy"] = linked_destroy ? 1 : 0 data["linked_lathe"] = linked_lathe ? 1 : 0 From b0ac4621661f44cadeffd0d0799466ff4bad5ef2 Mon Sep 17 00:00:00 2001 From: Krausus Date: Thu, 8 Sep 2016 19:04:50 -0400 Subject: [PATCH 116/138] Integrates UIDs into View Variables --- code/__HELPERS/mobs.dm | 2 +- code/__HELPERS/unique_ids.dm | 4 + code/datums/datumvars.dm | 210 ++++++++++-------- code/datums/diseases/advance/advance.dm | 2 +- code/game/gamemodes/nuclear/nuclearbomb.dm | 2 +- code/modules/admin/admin.dm | 2 +- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 2 +- code/modules/admin/verbs/adminhelp.dm | 4 +- code/modules/admin/verbs/pray.dm | 12 +- code/modules/client/client procs.dm | 3 +- code/modules/error_handler/error_viewer.dm | 12 +- code/modules/paperwork/faxmachine.dm | 2 +- .../modules/reagents/newchem/newchem_procs.dm | 2 +- 13 files changed, 143 insertions(+), 116 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 9423c486698..edde3f13142 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -324,7 +324,7 @@ proc/add_logs(mob/user, mob/target, what_done, var/object=null, var/addition=nul to_chat(user, "Name = [M.name]; Real_name = [M.real_name]; Mind_name = [M.mind?"[M.mind.name]":""]; Key = [M.key];") to_chat(user, "Location = [location_description];") to_chat(user, "[special_role_description]") - to_chat(user, "(PM) (PP) (VV) (SM) (FLW) (CA)") + to_chat(user, "(PM) (PP) (VV) (SM) (FLW) (CA)") // Gets the first mob contained in an atom, and warns the user if there's not exactly one /proc/get_mob_in_atom_with_warning(atom/A, mob/user = usr) diff --git a/code/__HELPERS/unique_ids.dm b/code/__HELPERS/unique_ids.dm index bd77c358aa8..9363df4252e 100644 --- a/code/__HELPERS/unique_ids.dm +++ b/code/__HELPERS/unique_ids.dm @@ -3,6 +3,10 @@ // Basically, a replacement for plain \refs that ensure the reference still // points to the exact same datum/client, but doesn't prevent GC like tags do. +// An unintended side effect of the way UIDs are formatted is that the locate() +// proc will ignore the number and attempt to locate the reference. I consider +// this a feature, since it means they're conveniently backwards compatible. + // Turns this: // var/myref = "\ref[mydatum]" // var/datum/D = locate(myref) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 7ce10664aee..6664c06dda0 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -170,27 +170,27 @@ if(istype(D,/atom)) var/atom/A = D if(isliving(A)) - body += "[D]" + body += "[D]" if(A.dir) - body += "
    << [dir2text(A.dir)] >>" + body += "
    << [dir2text(A.dir)] >>" var/mob/living/M = A - body += "
    [M.ckey ? M.ckey : "No ckey"] / [M.real_name ? M.real_name : "No real name"]" + body += "
    [M.ckey ? M.ckey : "No ckey"] / [M.real_name ? M.real_name : "No real name"]" body += {"
    - BRUTE:[M.getBruteLoss()] - FIRE:[M.getFireLoss()] - TOXIN:[M.getToxLoss()] - OXY:[M.getOxyLoss()] - CLONE:[M.getCloneLoss()] - BRAIN:[M.getBrainLoss()] + BRUTE:[M.getBruteLoss()] + FIRE:[M.getFireLoss()] + TOXIN:[M.getToxLoss()] + OXY:[M.getOxyLoss()] + CLONE:[M.getCloneLoss()] + BRAIN:[M.getBrainLoss()] "} else - body += "[D]" + body += "[D]" if(A.dir) - body += "
    << [dir2text(A.dir)] >>" + body += "
    << [dir2text(A.dir)] >>" else body += "[D]" @@ -216,7 +216,7 @@ body += "
    " - body += "
    Item
    Refresh" + body += "
    Refresh" body += {"