From beedf1bfb00ae12ad6db03b2c13d23a09141651e Mon Sep 17 00:00:00 2001 From: Nodrak Date: Tue, 12 Mar 2013 19:36:15 -0400 Subject: [PATCH 1/8] Airlock painters! Commit for Ricotez - Adds a new device that will paint airlock assemblies. This works on both solid and glass airlock. - Click on the sprite of the painter to set it. - Uses toner as 'ammo' http://forums.nanotrasen.com/viewtopic.php?f=16&t=12053 Featuring Teh_Wolf's paint sprayer sprite complete with inhands! --- code/game/objects/structures/door_assembly.dm | 116 +++++++++++++++++- code/modules/paperwork/photocopier.dm | 4 +- icons/mob/items_lefthand.dmi | Bin 134489 -> 134876 bytes icons/mob/items_righthand.dmi | Bin 136110 -> 136577 bytes icons/obj/objects.dmi | Bin 114728 -> 115223 bytes tgstation.dme | 2 + 6 files changed, 117 insertions(+), 5 deletions(-) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index dcf8a36c987..bb6d0537337 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -7,6 +7,8 @@ obj/structure/door_assembly density = 1 var/state = 0 var/mineral = null + var/typetext = null + var/icontext = null var/base_icon_state = "door_as_0" var/glass_base_icon_state = "door_as_g0" var/obj/item/weapon/airlock_electronics/electronics = null @@ -31,6 +33,8 @@ obj/structure/door_assembly name = "Command Airlock Assembly" icon_state = "door_as_com1" glass_base_icon_state = "door_as_gcom" + typetext = "command" + icontext = "com" glass_type = /obj/machinery/door/airlock/glass_command airlock_type = /obj/machinery/door/airlock/command anchored = 1 @@ -46,6 +50,8 @@ obj/structure/door_assembly name = "Security Airlock Assembly" icon_state = "door_as_sec1" glass_base_icon_state = "door_as_gsec" + typetext = "security" + icontext = "sec" glass_type = /obj/machinery/door/airlock/glass_security airlock_type = /obj/machinery/door/airlock/security anchored = 1 @@ -61,6 +67,8 @@ obj/structure/door_assembly name = "Engineering Airlock Assembly" icon_state = "door_as_eng1" glass_base_icon_state = "door_as_geng" + typetext = "engineering" + icontext = "eng" glass_type = /obj/machinery/door/airlock/glass_engineering airlock_type = /obj/machinery/door/airlock/engineering anchored = 1 @@ -76,6 +84,8 @@ obj/structure/door_assembly name = "Mining Airlock Assembly" icon_state = "door_as_min1" glass_base_icon_state = "door_as_gmin" + typetext = "mining" + icontext = "min" glass_type = /obj/machinery/door/airlock/glass_mining airlock_type = /obj/machinery/door/airlock/mining anchored = 1 @@ -91,6 +101,8 @@ obj/structure/door_assembly name = "Atmospherics Airlock Assembly" icon_state = "door_as_atmo1" glass_base_icon_state = "door_as_gatmo" + typetext = "atmos" + icontext = "atmo" glass_type = /obj/machinery/door/airlock/glass_atmos airlock_type = /obj/machinery/door/airlock/atmos anchored = 1 @@ -106,6 +118,8 @@ obj/structure/door_assembly name = "Research Airlock Assembly" icon_state = "door_as_res1" glass_base_icon_state = "door_as_gres" + typetext = "research" + icontext = "res" glass_type = /obj/machinery/door/airlock/glass_research airlock_type = /obj/machinery/door/airlock/research anchored = 1 @@ -121,6 +135,8 @@ obj/structure/door_assembly name = "Science Airlock Assembly" icon_state = "door_as_sci1" glass_base_icon_state = "door_as_gsci" + typetext = "science" + icontext = "sci" glass_type = /obj/machinery/door/airlock/glass_science airlock_type = /obj/machinery/door/airlock/science anchored = 1 @@ -135,6 +151,8 @@ obj/structure/door_assembly door_assembly_med name = "Medical Airlock Assembly" icon_state = "door_as_med1" + typetext = "medical" + icontext = "med" airlock_type = /obj/machinery/door/airlock/medical anchored = 1 density = 1 @@ -147,6 +165,8 @@ obj/structure/door_assembly door_assembly_mai name = "Maintenance Airlock Assembly" icon_state = "door_as_mai1" + typetext = "maintenance" + icontext = "mai" airlock_type = /obj/machinery/door/airlock/maintenance anchored = 1 density = 1 @@ -156,6 +176,8 @@ obj/structure/door_assembly door_assembly_ext name = "External Airlock Assembly" icon_state = "door_as_ext1" + typetext = "external" + icontext = "ext" airlock_type = /obj/machinery/door/airlock/external anchored = 1 density = 1 @@ -165,6 +187,8 @@ obj/structure/door_assembly door_assembly_fre name = "Freezer Airlock Assembly" icon_state = "door_as_fre1" + typetext = "freezer" + icontext = "fre" airlock_type = /obj/machinery/door/airlock/freezer anchored = 1 density = 1 @@ -174,6 +198,8 @@ obj/structure/door_assembly door_assembly_hatch name = "Airtight Hatch Assembly" icon_state = "door_as_hatch1" + typetext = "hatch" + icontext = "hatch" airlock_type = /obj/machinery/door/airlock/hatch anchored = 1 density = 1 @@ -183,6 +209,8 @@ obj/structure/door_assembly door_assembly_mhatch name = "Maintenance Hatch Assembly" icon_state = "door_as_mhatch1" + typetext = "maintenance_hatch" + icontext = "mhatch" airlock_type = /obj/machinery/door/airlock/maintenance_hatch anchored = 1 density = 1 @@ -274,6 +302,8 @@ obj/structure/door_assembly door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly name = "High Tech Security Assembly" icon_state = "door_as_highsec1" + typetext = "highsecurity" + icontext = "highsec" airlock_type = /obj/machinery/door/airlock/highsecurity anchored = 1 density = 1 @@ -288,7 +318,69 @@ obj/structure/door_assembly created_name = t return - if(istype(W, /obj/item/weapon/weldingtool) && !anchored ) + else if(istype(W, /obj/item/weapon/airlock_painter)) // |- Ricotez + var/obj/item/weapon/airlock_painter/WT = W + if(WT.ink && WT.ink.charges > 0) + var/icontype + var/glasstext = "" + var/gicontext = "" + if(src.mineral) + if(src.mineral == "glass") + gicontext = "g" + glasstext = "glass_" + icontype = WT.glass_setting + else + user << "The painter does not work on airlocks coated in minerals!" + return + else + icontype = WT.solid_setting + + if(!in_range(src, usr) && src.loc != usr) return + switch(icontype) + if("Default") + if(src.mineral == "glass") + glasstext = "glass" + typetext = "" + icontext = "" + if("Engineering") + typetext = "engineering" + icontext = "eng" + if("Atmospherics") + typetext = "atmos" + icontext = "atmo" + if("Security") + typetext = "security" + icontext = "sec" + if("Command") + typetext = "command" + icontext = "com" + if("Medical") + typetext = "medical" + icontext = "med" + if("Research") + typetext = "research" + icontext = "res" + if("Mining") + typetext = "mining" + icontext = "min" + if("Maintenance") + typetext = "maintenance" + icontext = "mai" + if("External") + typetext = "external" + icontext = "ext" + if("High Security") + typetext = "highsecurity" + icontext = "highsec" + src.airlock_type = text2path("/obj/machinery/door/airlock/[glasstext][typetext]") + src.base_icon_state = "door_as_[gicontext][icontext]" + user << "\blue You change the paintjob on the airlock assembly." + WT.use() + else + user << "\blue You're out of toner!" + return + + else if(istype(W, /obj/item/weapon/weldingtool) && !anchored ) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0,user)) user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.") @@ -395,8 +487,14 @@ obj/structure/door_assembly G.use(1) src.mineral = "glass" src.name = "Near finished Window Airlock Assembly" - src.airlock_type = /obj/machinery/door/airlock/glass - src.base_icon_state = "door_as_g" //this will be applied to the icon_state with the correct state number at the proc's end. + if(icontext in list("eng", "atmo", "sec", "com", "med", "res", "min")) //Make sure this airlock actually has a glass version. + src.airlock_type = text2path("/obj/machinery/door/airlock/glass_[typetext]") + else + //This airlock is default or does not have a glass version, so we revert to the default glass airlock. |- Ricotez + src.airlock_type = /obj/machinery/door/airlock/glass + typetext = "" + icontext = "" + src.base_icon_state = "door_as_g[icontext]" //this will be applied to the icon_state with the correct state number at the proc's end. else if(istype(G, /obj/item/stack/sheet/mineral)) var/M = G.sheettype if(G.amount>=2) @@ -418,8 +516,18 @@ obj/structure/door_assembly if(!src) return user << "\blue You finish the airlock!" var/obj/machinery/door/airlock/door + //The below cluster of if-else-statements is a result of the differences between normal + // and mineral doors. |- Ricotez if (mineral) - airlock_type = text2path("/obj/machinery/door/airlock/[mineral]") + if(mineral == "glass") + if(typetext == "") + airlock_type = /obj/machinery/door/airlock/glass + else + airlock_type = text2path("/obj/machinery/door/airlock/glass_[typetext]") + else + airlock_type = text2path("/obj/machinery/door/airlock/[mineral]") + else + airlock_type = text2path("/obj/machinery/door/airlock/[typetext]") door = new src.airlock_type( src.loc ) //door.req_access = src.req_access door.electronics = src.electronics diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 525293054b9..2d429326933 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -185,4 +185,6 @@ */ /obj/item/device/toner name = "toner cartridge" - icon_state = "tonercartridge" \ No newline at end of file + icon_state = "tonercartridge" + var/charges = 5 + var/max_charges = 5 \ No newline at end of file diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index fb1431420453412872fc951f5bfefd2c6c422596..388941d681e7d29c49ef319b2de214efa1ca165e 100644 GIT binary patch delta 14555 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 delta 14165 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 E5Bz-GYybcN diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index ea619db6a056519e08b329857078f2b54da8ba0b..2f4745effcd5b27ef54af1c8de9e4c0fefa96f3a 100644 GIT binary patch delta 17684 zcmch8XH*nj6XuWwL`0I3lYo*$az>G)0s@l5AUO{iBsGc(C>hB~L~0 zWMJ{y%Mk6WC0Ve6rxL^xiom=+-9=(ARtD!_fPa0!qVbcZomZ#p%*-$tP5Ib1lNVwZ zIWL|tH8zr|Rd4{_(jML57?7Kr*YCDEExYjW6S5*P_9Aa=6f<6lme$$9y>}yiF)OO~ zkvp>vNysnei`K%yTYz%O*y*YGjU3hO9}iU-Jl7YcyI>sdDwgLBcakp(@7TaKjL*e? zeJ_}n9SS!03G>n-cj@z85I0*~*1ajqBE*qlt1A!&dcn^5jPg zf9P3Mi{jm}-?qaUzx1cva^ZL`QDwIw(3hdsPm(^*kxUd=dTR~fY{!{N;t=wE#YdRN zk@z&oHSLXGygr_C+HuQ9<cao z;KsKk_dUd!m5#@)Yej`_4`^29s%bNKS(4&iPxkku>Sl&Qo_TNKwdy=Rpeo85K4pwD z&T?3{6Mh;r6$DoYS|cTdp*e*oG7tQ5j#1)xgnn3AcFmfL zDQ%pS^`uQs$Azbt?sBh$y7X67m|`5WB>P%7NXNblUgN#-6JQN&VyOI?91`{5;D%CQ z$7^SOrZr#4GF;e~5N1ogFs!2^w;@C|kx{OE!laT>v+VRNSJ-U8y_-P|ncLdBaIM8R zF0XaW%0wJ*{Pf0+Br~=)xU3U*r)|6Z9hA^%?c>3wiZ>TC^t~C8jUjWFA)k7_t0e8v zaF;&tFjKBZ`~vjMphnpr_QOb{Zz#r|b>-q7huXtGw27ID1Uz$H8TO~$oeUwvSF$)h z&{NPdiKxyeiqZI7g%c(RgWA*8sx*z?SlCnL4XEPZNV@=;bvHtL_`b0BF2oJG%So-i zZc&yGK>j#Hlj5Gg3p$5kQL66?6&rjWv=2O|b{{ZJY)PksKYOQ+dB>}cQ{?xO)&hY6 zO%^Rab;M{Un(+8f9=`=8ERN&bgB!XyN`*msw-t%{sU~*MrMSJq)IFQHFBx2%FZq;w zV=yMTr?~)W^q;p@KVF%)o-TjatdftE66b9F+A0)UX{J*6h?H9}f4MlQX(0uQH`;8$ ze4>A6Kf;y=;}p}JbDiUGS8w|1@??mN4|YCZlv4cU6?y%oSW3j+#NBAN-z#)8d$3QA zvXcmf*x`p+tn=xte6x{uY+pFC7NtS}dx#(+HFTcz++tXslUdFp_^!lL8>0{HWX zjgr#0sB{w*D+!(oe6nr~>~S!F83@B|JoE}mllF8PM%@f~B8xfKGPX#%^Sn8jcVvwT zQ$kmG&6aC|j&V+Cx=E*u2Iw8A5(*l=+g_t8F@Lo$CLDeJgM~;C-{8hJ6kUs=0PSSk4C>oDzzddTnJ39XL~{3{D``ai`ZT(VIhF16tM18O(9x^%hn_e)e&L;x6G2F%oYChYAedaja*D%dfTj+*j;_ zjB{2%;F?3ab=J5YFF4{qmPzALucr%a@jX0Gl5UqApu4dDc>TDXSKE`N=G${+%Y4Ya z6dc5-5l$KrE!Wl?`3vevZ|6t23cqx}ynfldy@adqhTvI?gx7WB)P8U&{IhB0_nsfj zXkUL1vT0|VTrPMiI4CbZA#N46$%m!StL6Yoz-c+xNq*{`nCsZYPm!v2VtHeQuvM;ly%M81S+=_6d0X#ACl7iN#&2$58A@5S_e*Sr?gA)^z>)a|$M2&xjT z(1#X|JyqdOLfN@Ir)f{Lcvntw&5wg)VED&Psx$ppv3*0g+j+{clj%mjV2{n(?=Jz@ zx}Gw1Gqk*BoJh|JqC8dad&9mwNse0;T5elfcJE_2j?JpLRu$DnvTi@P3}2SP9I0=! zJnWw+W{+k{UFA7q{9xB&T7Wcp!oGVeHm18SCg}ChMDoIA99s@IfvoTCDVmU@(Sc{d zmw0jaA`0ab3h!Kt;VWOc?jfdTp%T{)SiUWOr=@CHws&%!Fhr01mW|7J>FwY8W1F)A zDXN}FdYj0+))w63pIw{|qb!6j3kh~7vxu*E1+6%`1D5s0AGhIfaeKWuWsa%mk|gYx zultc}RiNC*u3gBX|C46&BP;nU36~6sl$HR0#TyK37}C`O7MypsiUXA|Q#jMZgMsOS z%IDPkXNr7$@9-s$r^A0*r3GMr?~H(#jg{+q2PlV8bD#X@a!&_h4*eM%6ONLDAiChePwa@pjR9-bmRU?a54FNFK+~_Xr<7hDkHd~ zIk8MO+55fZfmUgx40Nu>qSOyB0BBU1icGl>Te;3~uE9)Kg;+dc(AxIPoNOAD=UvIC zBa;4VAw=|Ni6}%OpG6aM=!ZmByDmGXNc8|dBobFu3J-K3vVY8mRPhmxO>qzk#vN;bQ24m9b? z?#4#8I9--4@ocYeIDHGebu6E3et`e;CtT-y09NrUgD`nA*Wl&R0M@>VrUvI4$t65R z+`Nl&B3~SO{etd0jQco~_zU1xC80|+TBH7Z=}{B%ZS!taE#i$F>^FLlFKt)W`4!pY zXHFDWM)se|_@6paj4KxK{b=B>Ry3x~VY8U;?+ay87ndjEVqw7&U+W6QWpm4nHqp0l zf#`9HKyOEjgQuHUr)V+oL?I?Z9&YjSewT$_feYccl9%Fm!@6qs({Su~s0Tu;sP8|P zc7L+Aq4A=xw_*zNZYDqP@ij$a{D9{)Ok)?^t#%nPtdZ$6wW$k@SJOjPDgshgSf^hIv)vPWtH4;xg(6tJ+0QAh*JN6; zSWi&r@*5Yza_?R@Ft4hr`W1=@6!$yfEi5c718-{5vulbsRARS2BqFQ&EPz!D@=#<+ z+8QE?P}J71f#htS$e67Rr?j|Zd%da3r&()!v^WE;^78ZN&!MdCK)VmNw6ScrRSsf% z_*F|I*4N|l!lmnypk+VwMTJ+%Z>;+E3?N^7{=I^D)y&FjGWniJhk-cORdWCeziQ+h zM(cITV~VoV5KPCxR+QJTl!g`1>YlFt0LRr?fxo_FnZoaXj}pSF90L*BxO zewk#YG-X9HJ6B3fOK|g;3K-V~O-~!%+jF=)KUQ#adkE@e!A1Nz_Ef=6H$+I+Gh1qs z#0;W;G)f7X*2N1k>I@epW4g;!JkS3Ad^Y@up%S28%jUU}s^(FHEl!@h2zvJIy2_E5 zd1E7AaGN!y6>|dX-dm?EwDXFzCTiu88r^T3!ST?*%kxyX7Apf92?>c8bm2NWI{5_! zf|qe}?LWi#%bkp7^tseM!e#=6>Exy~Kfo%1_lqLHo0)CVWocvn#6L)c+y`htg!OSm z*9QRQ5R6hLI*ba}Qm}jQ^D#!s>+>sLs>6xG7K*7e`_QrW_SnJ?+8fHR0MYIg*#(#w^I{! zoiT)>FZ8HspY_x$R+K!>w{~9GXE(6}7`7Q24EH5BescE~`{>Zs#e`RbyVR)+2 zCgx(#61^iPp?`2hc{T@giw1u~T45NAFsi~wj*6*-QMWd*MDxx{SsjJ#NhRXUbHCCr zZE%v@=tI4cyz!s;?(YP&-c_3Q;A@f5pIfQ9ZesG8Z^*qeK_yI8^#z>wMj}vlBzR&a|9+F2jbdZ~KW0{{w0DK$X@ewpjy7tBV{0X@BDlKTWMr_ga z&oHN@mum>$eyAg8K0uWH*G;W5g{NBjF( zUCB)EJF(8Auv%PwJ31wc6`1e_omx?Rt1lz+x`apdqUUIsCPofHd&&ekEb(EK_9=To zHz_|uGUuYVR!HB~6Nq>-kRh{)^%WQC%dhOnHPCC`kg(`vykV*>|-% zL!-(5Og)|TV|EF9C3gMMGwo+lr|9aB29?%f*~(Go%O$mo?Tk{2guk4iPin z`p*mu46c+hzBLm9jiQeV@I$l?Whsrf0z#{NDD zD0f?VssQL#+8bn|P8kl#;TZks-A&UpMY)0`;f*W;T`CHoi~wc$W7po_XS4{;9QOL+s4NOb3|XGj23Wt(v}NREkA=E9r2vEV#LTZ^Ya zKB(yVxnn#&D`ai)&q)qr$8`u6^&N@RM=8_a*>m`dQP=dcNZ1A;qaPvmu?nd8x^=I3 z41@61u4((TuHX4B=hbPc31k77tvUb~sE_eHIjV7-C~Ud_vYFn(AJFh9(L#ngCLvyL z3Ssxa5i%M|xC+al`*qVCLnbA_w{g{q-E(N7XhfwJ1`hGDT&I8ac~dDhV~ugZ>!x*A zR!)v0x7uKOqnz?_0cBkU@bLUdUEU;^D9@hXY%g99g}A{|s5U6aw=p^Dw~nfzP7aC8 zfIwz}-9eE%4!}I+6fPt~z?T|a!P~Bu962sp(3&|Sg05Iix(p!cf;-Z5t~^=tXwO(% zv;hmM=(f~q2y3S_u%5ZUOX9@EbRWkS$^8uZwy{Hs$WZjJC6Q_${Lp^P$uaEY{4ftw14 z6bj+?m_Wa>X|0G+G6BRr8ELL(?;396n6hcKj4dMT5fr5ec5nspwn(=RLuXWM=0K#3*0+WcWFEUw0eR7%so(gP2iys23fW#{7-P^agTtS?W z$$EFLS?5~TL*CvBO8Gd=W9~Ze4pESG>mHgBl9CK~P*YJ&;#5ICtigzeexS39zI^;Q(8J5I`(zWvI8MU$Rbz`d8 zl>l1|TkDp*F1E=*IfOZs1$S>+&zZ|<~yrn`Ih?hjD) zDp7f2to)b2;*&&uy$ao~3db`aIHMr$ojZ5*YjqLleF*kdfEe^t>4248zI*rf8;tqk zyFT-wgr(U*=;qC*<25}Mv-U^grHq1)d%C)!$4kcGEwK>-*c$?F{-_zY?oXhzuX{i= zZR!!uC`B`2>`umMqpqaxRb$7DeN(f#wcOWTcfL{N8Swq3`&Yty_wLB}-A+JIabU-<7}Nvj2QWTRG3b^~bnvh+wv4V7bY}Gb!5$&O@r-&+w&hw}TwFw% z7=IBEkB~whZ6?KVR9~)*WYV&8NzLq?6Y=o4ngLi@f8VIU6GW^dISnm~8YG0QK|1<}Gh2UsuP;yjs`b;6#;rU?9*k zIp0V;(VvPlh;Q&b;~*#@g#2FFdKY>|`v5TOu?*j3|KxD!?lB1XGaEb~5SGU32BC!3bdHtM3^i2Kk|c~%%1 zXGkK5lopp1T=cdtCcPKryLP4Y4eofc%NNAdxiOqDo)JMT=7$-GRb?buqtAwYr~oml z&8JVVWBa>XE{Qyfn0Zsp*m{BVv#qrvz6?b8;EqAC=Us>F&j{J$V8Dv<`L|Q7emBC> z$>VUMA+XHx?JLYf*+!d)msjwM$L1xTp2urj1fiII%8GzHedCb|;yzbB*>S6rK__noK$(6|SyXd2UBtk|-e(>SZCU;Mx|^lEqBUS1T)f{^_X<{)V(g3T;B zn-&a2U-hZ^s!tsVkeU}*kLpSlA~a>iJtPMlE*K3GwiypK+CK4MY+W#kDUrH;a-|EQ zCV8ul(h#3!)3uq@`47E9>_-c05C{uI^~s}`c+B$^H@+@i%FTLv&y1q{-nU}sE0{_@ z+?i~8RjHJB(=a4ATX7c~X@xE03%z(hlqInVfxssm0KcV~q?efR<&2Z2SVRen90Jfu zSkXnE5X*4(RxI}-QxRtbKCCZ9o$hgN2P#d2+;#@PCj*JX{fHUzTNS*do`qRX_la{51+OkIBaVVA=JV(>KsHhw(ImAReL{j&*Je^3qrUeMojQbf(FbH1MH0 zeg+@!&k;(mg`tkd^1TzN+3)SRACj1_GhDBJGseBB-*@JX_BM0@`m9>Vg@1^w-J`gnw=Si8g2zdb%! zLE__drfwpCoWgrMDhK7@78t}&Bl`JaA*_08B${`zS*ejur+`(<^JXGm|0s>e z*JgH8vD(+`E}PVPS9u}E5-wjR5)rhxHMN+AJJ8%?%{7>j&xHU7*+C*rm(<=C_#$Q= zu%_x)m1Y=|3S&&{%=XSfs^#Ax0XG=;V2^VCjyhcXC3crUIg&}y-Mx}ipl=iqah7Qy zSi`l4tOnv-JA>m!I?YUXB*(|!J`}(2+9XPjrz?zb)#K54*t* z2XSv7g6xnSdO^3lFpF|8j{%S^lTsWXQ4TK!TZmxK-LA3CYibIIi;ivYUgKUvWh` z>GuD84uE_Uf8Cu{b~?((&Hab$3)9WXWDn+!@s{8?F7?IJXNiyHSpe1*zdE)7`V-@H zy9(mL`dtWw^kBx#wy2UI=-X@dFOH@$3M#hFiP$Fp>kPK_SMJZu3b4UJ!?zxd&^CR@ zwI$<8NsHevCT#mHBo(()Nze^7rdT7pkTBpvk;=y=0WP|I2qUtEf3f=FcnrJd$?uRl z&t;V~Ie^JwqI8V+W==;J*sP=TzUAIM@jO?6jJ;X}J3a8~Y)sDrIp2I+(t}&K)Yz^I zWoz(XSe9Xdc{N^ltoxEtmcarA4gMG3xA(;JklC5r|K~yan228jlE+`Y-F0I!Gk4J( z_nL{ZlC;Ch0t+hLZPB|;c;3hWF~V)R_w?|3Ts(KC4cBxau6?sTFha;i^ZuQ03s ziiBN&B99+-LC+4vjs>vPzG8oghPhPN=hY8r|B=XlK)aI%6hFJshp?&Y0T8_~9}tPh zBqR_*#Eo^{7ln`oF(i^Sj%i^7?C@I^Dmquhd%E zLvr#%^2!geV#A3Ch8HL~e2B`kXK@*6BE8W(Q}#OlDv&;=zkBi69Ql=P>ns!dUFdK% zYil>t%tlMnWeqUi+KO{dro}>D=<83iybGO~;$o~5V$S54i>g5E{sjGQ|1-H=3+&>G zxIvR_#kNnz%*t%MKQQtGNGJ6_Qbu=SWHC+V5;Ot^Z%=DroqBmi`zzn~_*0HnzK@(0 zuHMG1HJ_IGbl+-fLMw(>Ajm-)Ui3tLbmmMB3IPQK6M*cSKMLG2ktW@zVnV>-JzieN zTaU#(29Pa0C=AUiOcrz%`5s?u96-%@-9;jO@2tSWR+%AGG&H{NZ`Py-3_GzNB&yTE zqy9*ILC^9R(4S(^L>=x&J>^%zP-O5n+2x5c?rLkp>JSoh1RMPnHz(OphD~ z3W*_~WPNdhR6Ym&#A1%Li~aW%#naS%-aM%ac*njYPDjb8&ZXOO##RHI+)1FOQVCKq zKKn&V5hay$yBAu!S`4Jz$Kn&KT@b*oAO;_sJOuX``}#-QfUiJ|845uX)`GWSw(apGwoA z4C+rrnBZ>Vpk^pAfm1b0wpB#k$emv3;TpUTu~yZCFanI^Z(hMcy8=gy+ZvJ04GDyT zMF2AJaws14CQF z#7ts7?gL44H|Jtfl&8=uk>mpmZvG)k8uFNyZ7SY)1fG1Q02UvLVbZ}6gF9iil-414 zDu9^9d{0(5*&Xr`WC4&~Bndsp8(-QJfhGa$r$Y2n07^{J``fCfC{Vv0EEM91%qo}o z&vS%d#u5=Di9qFjAWr~Wb_$6Su{unA#+)X>5fIWb9)u2n<<-8tLQw($2-kFVFkVp1 zhbGECk|f}$>>r2>{KeN)*}Rptg#U%b6vx;9p9AlIaX0W6?EilN`u_)H^sJ9*2jU`&9s z|1}cHa~JCcMlAA*ZlbmP~H><8o#6H z4F{k4t4-^sAHZo#3hon)oZznf+8A0Rmb*H!yiLScgS@WWGVXN zh3B(1S$`7QSCQ`$fy?b8a@l!Ks)X-a(Yl`+$5j{KD`{*QN+RK-}N^zMO(v zO__9g7dA||%)C!SmUW<95AmW;k{f#K)^=EHzySbpqAb`@J)9J7>^S$b0N9eFN}B}y zENZnfIPr=_aP(Ga?&9tN53vhLa#thYKrxZ55Cqo*5ZLbyofB~3$NMmpdh2!ta|TGhkw`^6hnfP{I32 zvwr0)#)mrSje&}-=?=Be)al!vV##G-DdNl=?PGG7xz}mT07P>j1#rT<0W5pe0+IIh zW`UY7#%7&Vn=1lb>#5jqJvSWHAAF_)mZ@q;G*_2-{mn^i7kf}Ss`epv2t}&;V`I*= z%fe#-nn2J)VBKWzgE9TIyi3*vjg9N5ZIC;Y|0L6J7mC?#fEA*h4sIJ2&1{c5$+@f| zC060hv9Y%RuAtoQnOckO>FR`;P5nFAD!Y;E^nSX!x-iJ`mAi0MTI4MYhE;Ar`e_D` zIA5j~(3BA2+n*7oC@_Nv2BGxD0jVIG;KN;lRtwNiSk>0jGRGUT|BZHn7?KUhG0A5? zLT#pKsH%qHw>Ab`c$I^p^Bw%^f_VgMBlrrExq?Jo&B&zjWrUyvMNrj;w>dHhbc>`q@RDiXAy za&fcwQc8K=j7hwF>0hE8HsopZ*#gV%6u}S4ZCNmBMDI3`UNFCYf<^OOAHX``9RjB! zjCqK~LFDK~JkhG$QoQnB``LcO8eq2i{PHkUGxD;&zGD?G%*ek2+aR4MSe3hsS7tf= zC58obUz&9|2zdr@1)T@pZbuXJ1$;NWr-BiMVp58SW-Dzp8V~gjGBMN7&1xrdC!W6W zywNAeu?jB-)h$NG$FHQOMrO(r0dlhX~Ku%=<}okY{y+uN6&YhG>=_9{P{sfEG9-lOx> zg@l2qSj7Al<^H}AnD`kT9Tlca0z&+SWm_h^{kyNic`Q`y7%~tC5n{*KO7c4O82xk<@4Nr!6*Nq#4^& zl|)M&5ub|k^W_!WCqe=9muWQpcaWd3;s({^Fav`-Jv}`O`@&{arfpX<=^iqBow2;B zX*N?qK>-iE2UJP>tAHFaXf@!w5EL`;@gvDg|4Wf`-rFmq4}iSl=@7BiL(oWwdJnAF zCBdLSO6oHjNx(q2x*M%?v3Gt53;m8BQ|o+&N7H$+JeBZNKaY`6Lh=;|hP$-3cV#rVh|FANRuTjllUnnJ$3 zNP(>L4DZ!e2`@89m|IewJ;nKBDyA=M$c)v~QFgglvWw;bFn^ysKwSP3o<#vq=qe)m z5ps~(EcZDxly$PqwDJTchwCv=f5?mxSrxJP(FQp^*z&Sm~p z(t*0VL+E}qsTslyML&tJj>EqK*8`dS@%K0KYT#vEV5{S_)J|yyXFj3mo4BBi736RA z>OUu{`aYc;FP)o=3|V%8*2-rYoo{|M?~i}z|5{e|;uP{$gb_4M`0VBbUT|iCY3qc* z^N~!^Y^Q3sS>}PyA`U}os`%0Q&OyBuytB^Ul{eX(!Q9QB58aDei~BuZpR<~bQzNE( zdV3W?^KbOze$C3l*_?n+Z1tR&j8*$!_-u_zwv0W>iWP&=lmLVypMIeQZS?M@`YP;3 zA=>Cyjp39aytr5=7`=q^v*_>5_ctSx`sBW>+m@r7L25^=yFs#E@M@;P z#$tQL03;Z{?QvXLSxJ$e;uR2}wQ?3SZCU5^ncl%RI14Spd(n6%x~QVmPuSw(QFMEb zCP^Z{Q_D(%(PFqGZel`0MrkdX3Oct!tCq8D9#tiUdGu@z>DJp{D^50mectROzYD|I zy}(E=XFKy7p)p9`L-5v)&ukqO_cKTh6oKUV;`#+M0yswl%5%mwKA8DbSVMcMw~%Q` zRn^gBkOll>aD2n%E%{yl(S9U2_DD!qVR%75a-OyKi_MuIu9&G%)>TzimClQ@n5F}I zYG&QrUfy;4&*Rj51_Fp6`q7zxQG2@T=_|)=8XT2a(+IN_MH|I-vD<)*?`N!H9&fKY zL`_K=hb#o4z}AXDEg6t0aZ_B6_Td($Hf7VZygU zE|>vA@1n3nJuJXht+R%n8Pmet)J6e^WJ*zVIl}3V6}-=C zWZ}auzznW7hmlM&l3(MWzp4H#hri6M$+(IX>Vwi7jO2!GWh?JP?d2Ah)mwjhjU-M==RYMJYO?;+IJM#?fg@}p1(@UCx^-(0*65Yx^XG*XOkQSl zBC{^(n#_h*eAImBpn4*sLrv0YdeGFmn*fB*p{C9VEaAYDKLm3pELnQE7^hlR6c@yH zZw>Bh(ssZcN2p;jgx>xy4MWhlh|z2be`4>AFDqcSBKl@#5WpkGfi;ClW6&a{z>JQp zAtM&dspOLfVrxsL%;&vv&*yU%Oe)*AJ?o7{Ate)$x8KMT6Q3muMq&3Mbn)owQjmy( zS+0F;{7QfYRJCs6YD?TU+ z+eF&7L%(snonE4MDGs5H2hcj63aiL09RCWR=Cg_l!cNS})27pTKNsN0`+E8b2$5lL zuqO9sHL&`LIcMoI>qlXgKSXa<@a93p^IFt;Y1axR2S!I$et^QT(Tp1of_p$VqpZ-x0*5_L9az!+e`hDt#}!7$iQ zLxp7laOH~1Eb;_m5Nh!2NkG)*&zBfVE_Esp9RHk275%+5*BFzO6zUydB$rgbPXE-a zVN3j1(rqH*W6$H`I*Y#Bv)F}T{W=%c8mF0D8%nd*u#PA4Kko5uZlp(H&tT4v*JW%3 zEvH;p&T^g4KP>hlap~_cn^8*enkGe1?t|%~SYoG_t>rU+1%A5*AB3L)$ zG;{vFPYwB^V#MkKWGcmBT+CC{$ru$Ocpux+a)CAYE5i+4J3sqQ06Gl7wv3qa3KHsl$?mY!);8b~FbFs;jH@ zYaElE$qhkEzk0t4f1I#l+JY8w`iBn)p*jw0js6Od7)V6q_D`7|92_h{jKlZQPP(?3 z`~HZuH{<`bGC)!+q=9ade!2H>3G$Lu_wUOqD^rjv08A>HVPw|a>fdpw-gfO5sq@)q zGktxmqg{HkQxM)4J|7SlyScQur1|>K&389HG?hrO3t7k`zb$JUj*UrW-X1{cA-`E_ zP#qw?!nE8X?jFJ#LiJ3;lF>`&xg5}Ncd*>bPjrn(UHqc@hsL`{AcmB%62CGOVO zC+?#FF0MR|%!$I%dDKsPOmgy_ns1+%LBN9K0w1U;YWOZXUdyPQz3d`sqz8sk47Ie% zioeLmX3kg{f$A<9dd0p9mUH~ZT&nk6F$9rr^bgF}_LNVntwlG}rP_>W|@E6KD_Jw0#D zHFWBgH5?oq1PGUrQfW)7u~Z2AvBFP51qZdy4{7U;eBu)mfwkhIB8PDaY(i6$w2hOK zle;`-|2Kn1EXP`*PEiVu_6jU{mDy!|*TK{@qq(%SR0Pa=^siM|^)`WhIhmfG2ICxU z4YsiyswX-{y47GB(6~>IH|%lfc`(iVsbEqBy{M?Ar8VccuHM9jGs))b*S9@2Y%Hx! z4U9|zdc1*=y=&wJ-m=7xuW4LgMJB~0C%-T<+1{U{8b3UEu#wT-)wcyTGBH_dv{QK( zGAfnn!}_!Rb|2y%yO2=J$>ZvS(z3FQ#1PF>V3qD=g@}i`Pz8NUnC2b%o`;{O7oj1CsiSXRi&Cc}L;CFey6L3051PQPi z%m`@t#JnAIPdoQW)@w^&Cg>+PI9?5;NsyUfUR+aDR2(QVs+GhUr7z!|KUnGYBW4Ap z1yg`V>V_6{ob_OaNuE{u6|tn(RuYl?TLEl`OO(#bm&=n4o<(>;onO#P?{3ms2xGl? zJOWUs88Ut~dH>4$$tdNu#TMiP#i;!&>I4)ujbkj#4TRkMDxq`;t9?9?2%y20ziogk z36vrp$tX1rTyI?mqw3HUYHI4K8s|Ct;71pw0??LO&UdyEztA%!Lq{vSNuZ!y#AwPx ztB>20=f%!WM*Ig{8n7JvQ^g+ zE`7YUvlg9VkpwYXqSBN~-Ogj68Jjo^@_cwDO;9eyd0{hzaZ)7#s z`u(T4J8Dr9n#`S!YG$6 zuYLVP>__0D3aEy?)Y4+BsHkW%ywR1vw5fIn5hGGrQLzX%y`%6f$%vx9Joqlb=oYZJ zZ}X&Vro_4ZWBT^My2=<>Nhg%euESh&VcaWd+VW~#mBe)?HGI6RFN=mJo!gi&)_k~79dIB6Epfd-#un)hE3W-t1N$8SKbxl z>f7`b$qJKX3t+IsPfyM;d?e3-Be6HX1?2en0FG0T44BPBkvY6Ba>lxbSIi9Nbnm3LXx2R z1bFn4p-RHh3hLidFb8IXPK?$+4T`aHT}OE+D-5G{szdDVMSYXpK}na_Tr_XLAz&fyyc_=GClTx#kS;lEr#J za&mG~cJ4B4olUJ*;J1Fpa_3K0jI3M%ijx^;wO}>e$d<}p(W92)aj>3bn{ZSE_l4iu zlAZYZ06!Q=d{)e3P=rcbPnR1S-}4X9)@&@7+dmWfx^qN;KkrQVH25S3>kX7s`84V- zZIAH~Ye-|lU)V2OVhuSsII{HM9HYPA(%gN{&dOTQ=5%>Z_SnM0iAssG#cVBWrMy_2 z>&X)t>TSYrckYOArTMu(EM#@ITr#oaB@`WLtR#_`9Q4RzHGsO)gk4_X*c$OQVUF}3 zf3gnDcV7?l>OZ}JUB47TPQ(K<=a^oy-wD?Zr1YE3kj&0bK(=PW`x&QFPM7=+572Fl zWZon&_=rgg7Re6){_IbJ8TFeJES@jeBbnt&_f^8Ur+sJZw8gL(1A}`{pFI-^XdSsY zBP_#_|2>?uxSHx*UM*q~H5sl?Y;0&~s0X9J33V;I)zXjx#}{Q|E&@utbUHToJsf}9 z3C=@h#g(t$et5ezhqJ5!MGC?Da9wn+>B*0!f_ClK0%wD3F|+Y*!*?JIz;jYjw>%)d_8gfX3JPGyP9{_X(wR)xAoG{J_Swj|`vsr6>%vJ*NgD zBb3Ir(*xd}C!eQOngFFrIxSqIpEzr1v({ z5h=reUdoa?`lP7AO;uG?RP0Z^&|FM_lC8x22vT?HsCF!0Dga0B>~}DD{SFuvYw9-2 z#-G0RxxY&g^I7=I+_rW6XW>>kYxzv-R^8M%m!_DDBp=`DHq6Cv5bE_Jy+-poeFom@ z8mja3s44__pRg3Mn#Nr{ww9OpeX4%Z0`iIWavr*w6R&8#{}uTu>eUYC-ZP$0Xp0fI zrmR)Vv%ObC?&_Z#+Cs?Nz~<`?_-m`HA8mIf={vwh{6s&LpByh$@P&dGc7`ji88c(^CQ@$t9o9cXv_{jY-_l~by?>sRNCmC~t2XWVG~H{XI9lEhujpSb6FV@Qfh zyZ|x=_%Ob%7{JcByP5itBd6Q%vg_CF2bK@+w*=CH1F++mT^Y~T;YO;f!}YH&{!0a& z?g1CS*X_tZ<>krnS~JN+teu~HBV>R)p}J-QwU4{T$nzfi32&X&jJpQE3>48YvQJa8z@ zf|L0gHWq!zp5m{nVbP#TPEIy|l<~SF$0pcN0_vpn^ocbKm<)3c$nIUa70Us<`YAH; zrF@;uG(d4i=KGOsV3nn{^<=D8tdXC@zo6@ZxzQ&OiOF`~>#jB&6S>cvlT~OscAhOI zw70HIf0@Yx6;o&%>Dn($?Ft~|$lf{12>|*Z&>Cu;_{~@EB4X0g!a-Ee;E$ly4(kxz+ss$>B>|)Cwx0I;DnqCE{Jr; zKPE9K=>WC5UR-MG4tMtG_|Z~nn5I$OPaG4o3OAnKkuU(tK3ICUgd9;$LRuWC_698q z>YRsMr5lS&%Iy+J+X4ikG%yqV0pa<#SRo9=G=Ph`Gm05DLn_`=WEKC~Fq(_h3L`t~ zZkK7U64D?dYmo5XO%{xDbT#jab4q`?eBE79e9Rh_pXytY^Va0r8*p&?ieN!4zjT}| z`{noBA1DEEO7$6S38vBM7sp*!(nFY{`gVm-+|=o&+ITD z;UbqDVQJkW2_);ZCW6L_*JdE?`$Z-Mj78M_h$9$1{wj}!#c`FZfJ z_=`GDvNU7EPAu+z{j+gGV#da9;8a~SzeG0sn9U`=T-P)7>-N>;Ar4bL`_e*#1T<8B zo)K|nJC0a`b1TH{V)xnngB9elm>V;tZ@5^B`>o=WF}d_FGiZ%&|E^lVi|zbK^$8Yp zsj00U+|c0b<3D49_H6UjUX{D(hLXx$nVVS08}*S^q=b4iV!&l!(B3^ZHI=9MfjZkm z+T(G2XYUK@;z52Pjl)`=9#MdpUeqykBMEO!z$H-X!hn774Np+m*Ul|ko$THuQ2iS+ z^Rjrcf@WQ2px+X%AvZm_C#Tz+X0omSZVoN=|1;*XEVHN;FI z0Korv?CM)HU^CKFjuC@YQmNB z3<^*VoNo^E`kcVMw=PkD0>>EVIj3dySgBIPDY*ar_UOn4eS_;v9x{bdI$z4mY5MzV z_j`&4Q>|q~tG*bks7>vjc&`nlc&)%6HxrdH{jU5UqY1*@q*7X#c@ zLk@uYWcpU^hs?KpBg70rWtS!kv9Pf@Jm@W)>U}e{n(|i}(U-PizJ-H9mPZ@$?>agR zvG#f^?#Cx2)~|m0OfBd1c7sNXrqRf}w|AL}&QyM_Vq&;u_wKJc&K$sInqt!&zd6ua z97pu;789Y-ZcG;?`9)H2?{0z6b(wkFepNFQg^#x=G@lDS6FP8ft>cpKq^ARUV$-Q8W13#`P# zvipDVeZS{Dzw>|2@p;&pxifd}ow;*A_l|)jx62D|$1q?mer4nZB*~tj8`z=OH18uf zXRVL-lZ z-KDAweE9YYtWp_Oh!I4)`m8fy+FENV~TU_NC3IkNSKz>an;iF%4p?yX9mQ4a3g`?c7y z6Y7GsDs#~@SeNe+#E%KyrtWh6ps+C4ihWfeAh#Bk75=*lP`K01k0&2ts2z=kFW-3A z__5{65<_Ar{gAiOzK*G$+xUV-QM{B&KoU*-2USWbpDcy;K80~nrmeci**lT(&7mLW z-^frx92A6bIGjXHn~5H@mUN8Zy+jT`q?p(PpY0suR{m`l#?m)WO)zzipKn|LO61C( z;B9#;ndD;k4KTy4q7nX}rVc-tGh2*Sw%u5zvfOXV()jAaB3Aox?Q|xAGmPhHCtLeE zAM0kQ#LNAeqJ@C~1jFqgQgvzgy`5IxWm z6n4rUTlxdAR+g15<)cG+V(z?-z33^2oPJrW2<{ND;Rh6*H^+P_XtfJSZVj2LAxoYW zm3PJ}z1kof)C~Ncu>;YUD|mCSvEd~46IPpqVJwz;z-vQnV<7qgE_XohoX%ULMXWEv zk0+nu{q_tmweVlA3hCbM)~NNxhsNsOkt2WINRN96kR{zwYs7cmp!7ZQva{?KjXJ+w zc%bL`7nj$~QA4#21+pxM4Is&du$&v>$llIX@tlH?JmEAbuf4`INI^YZ~GP3PMa% z#+QCB4A6TIXTj=4T_x1r$DOh!U4jV|58euNo0D?DL|V|J+z7tQc{X!I7+`i zkaK;|Yrlk)$eu`Q4qKZ={^Cg(5lUkUTdJ(Qpr(?;>#h=PPn3PTjJ4xI?za~7G$E0` z0Jwwbt}y;R@4HFV@Kcb$|`@NgiPej1!)mB}jFg2b7XNtrge6!u4 z@|N^TC_^3D_`aNFcKT8-^}D-P^G*j}0P>ahIP&Ro0izM^2L)ZYG^ zRai?C8s#5Y&g+#*D2?lt=Gni%iOj{yB?Rz-T0)-V9IXuFZIq@g(jdrQQr(phq@32g zo}LePI$vFcN1|SDo!VnA4e*xl;w0VMV3-Cx~IE^{>QsC(9;VIgTxv ze899-b!sC6c9-h=AzTwLJgPAfBW;RoD-RZ!QXYlXF;V%{^e=5KhD}c8#Pf{26UGvdN%Ep)6#r;n z$*}U}L3b5Vyyzp(wHf&wyVZ>7(SAI1c#EAex>%$~jES<@)}ZRVNh+Yi@13^gZTGJf z#GaaLA2Sj@+&d=@a!J@`aBkfM$VxYW*}g*)kMrY>>%}}4ky=L6nqGy&7}D5mH94C1 z#JF$Z43ZUSwnK^GfEuE+popw&)CUOhc*zxQDuA4~VQHgD3bxl~sGnae(lci6$35{ABS1@1G`)7Zp! z8;corNWXWN+XS|CIBE1JTrR%mJ>j6+Nzwm9kc{t_L9hg+R1bT(k{gogcSla;poMn^ z>J+-QMBJm!jzw3^e3l+?m|sF{{Ss)Fj!76vxBQ^(>4W#FqXa*cUeGov!-*}Qzb@QD z9s62i{@mJ>T|$hzT9MrTKE9ySFz<`{3aiYN`>`A19|j(OTMZz4AX0c0-LpXUgjrFd z;a52mi|hdXxV~KF7kg9As0Y7Jep_$+nL9gvIP3g)o-kx`^zW2!Af^jDowbtvK zEKljH-8&=Qq*yMhani_PxILhCl^IuY2oYQmY&%_Z=6&>9aH$}!m3ry`+K)5gbNPXav=u@K@>L)hu()!xL+fae=QpLAhozeC>v^OS>ugt5*- z3aaA)CxQLmGuOy74E0NjVkQY4t^0qj;7&$+)JTQYqV0)teBaMep+XKBhJs|whOAiv z@;+sH(ESSqpC)hWqO9K!p1&nlka&aAeYj9>#GnwD$8ns!pbY=3RggHVBB5Fcn;W<% zmDwQEfi#_&zU?nngn0u25^@)-Ze`cG5z><8G~xOz(>MY+z|t>dmY(3U-@-4dpe=R! zKK>*s6N3$P`qFTHn;^HZijfT*A6|8}lu+LjOLq#mqbwnTCc7JReM@>noGz`h(FU)4 zK%bB2>G93$=;j3nU(XKpA3o}S9{;twTy^V~oZfR6?CJ@~j(_o}blFEpkN)XJ*X$X2cf1_F)*)S__pdR1b;M0Imwj;XVkK*7 z{oXecCv!dr$L+jHcv5wN<@uK0TF#Fj?}#}8mY+WLi@~i|m^%__6bat36S-vAaHaI1 z)e=n57@sXM#={2QcHJ~dnxrI%UtF9s^rnb=^cPYk!UgU9udr$h)`y3z2m^ml+%y`< zLh@js@_DvXkJ<>|CBU{$JKmG=Q)~^R%z9xPGfoSd=QL-B%cSk5NSuZ;;LtDrF?C>V zUY@fT8gA{^yLT#s`aXu@DaN9nv-=^nP64sl-U{1j^TP^SzLQh%jL(by33SfFrNu>6 zvn3N0jGLRA`k!q);zt1!6Yt(>X?1LVNI`E)S!>GjXu9Q!ED#z)wExb~L*}$_Wc9iu z`0r4&9+u6rzrLJ_`1`m9c(|P_!Vx0nT8k-7x&BKNEk_;y*zWh4s~%ob2VEcZx$Ga@ z`De(%Fx;G71WqdNui^Bfhd6k|yqmuL)odSJT)y!>Dk&*Z)6=uPjDvP=^wLzh*4@?Mo(E}G|d zHl)D#lL23D%%4JA-(eXfz&V7pRf9F#{diQbZl)n0`aoTZaKmx#+GvtV#eud!7^6{w z+2|P@1l%4~G21nu%*vLP_)|B2p=wQbP&k9j+_L=h>qyw;-LA)8)QsISPdzLiXJUL* zVI73VdDf4j6JW=Mw!CGU*n4iiJRAR&ARY$o@T(azP`~CjQ)wb;ZH#lk>Y8hiQR48F z_3AoU*k$X@5n^3cCz}($M+R~wg;;-;2kX+ z(PAN}o2KW}x?Q0$kisMTSm?toGl!OY!;Z^Q>D*>cXA455I%W%P9lCu(L*&=vW0l@; zL)3>ghW$kZrA)-5z=y)9<_Zr#`f3yOR@pGhCmNYn5&Sh7hO~La@(UIIkX7>$P@SsL ze>ng5f}@iO|%3xR?P2*mR#(D!FykYXHmS7cISige+Kxy7Sfw&OL)ze@>Qc zagHE}D$K=PqZ@YWs8>r6DQ!sVgBJ&~+XMG@c6J~EyHX)B+#eVq+GiW24T5J8U+LBS z{yc>|6%%_BP4%OoP4nMANvjt}MBhOOXp!V{11^(XxsIIrRwk5X>oSQd3^ZjIJGksDrw(vyk zgWwq8>+$b@e>9}QAnM4w}V@e8nL@K)|jGS_3#-x-uuO7EJ= zxEHdu-cy&C(M1fw9HW;ZY6Z(E?o{ly$6;> z`PKrFX$3N((#b%_VG{Xi3h*}>_{(Ql?}*MXrgbN}-68X6yXiQ8`#Q=(xJD_*uW>*C>+Qk zdPjwq60k+n3t>Yt+5K@rv(ui!W2wr;NeZdl@0_gjL_H@NULFMQ%9j6Gc=N>Bs*Qzu z5zzi2@#Ycc`iq&r?+)#;WBu~Np0l2t_`WiHt8_9I7Qom2M*8M)ExKI}u|Q0FdN0A3 z%6a(}?`Y~B3!9+MMHb1Mu(eC7#Pv{w5a3o?+wS~+j$f2y9q$Eyfa4lZX5r@uq0}u- z<6LCrz1&oo5p7}BJ9@WkMMt^w;ePVb@>@*L{yo>O+E{PS-Y0H3IO@1{mQ*v_4)&fs zY}bvft*zCFpyDG$dd*%;!Z^R)s8#!{j|x1U=GT5X+5mo*xsU+*nnXNDfckjX7t+oS zZJmxk*BIv3a~9v1TTGuco5zPFUvJ?2(%P1Caf!>LYL~b|F);jnrLJ&aQ~bI*uS@yg zEZNPVWjp{|zHO;iHfB zCf|JXVTC4DNeT)nHS|l-~B+=lX zdWz;M^r zRGM|)@oY7e+R{lh7YMM(-Bt4hYd9e60jtPn$PX^e#S1nzS8OX>;^Ae2>;z=DmWjzX z90_V;PxKv#{Qv-MBP1eXg!n^ds?0);yjz3QZTqU(u#R{z7h}ShWU6)=6`v0Jzwa@{ zqq%&*J>xTqhjGk4zyGkx=I$D6=y%^^A)~kD#$1@7kAI>#P0`2e$DSyNs%Abw_A&+r zD=i%;Y7>hA^!^-FO_`z>Yu=(2#+`o!5kLZRa-NNE0i=({)5W~jq!Cgsv|Z(}gR#pI z1NE0&v16`3RMAZWmMWQoqaO%1;kQO?zMD9dq)B|q!;@EQ`?sXxJy{QIJUm?j9i@F@3cAjU zXo;)vC;~F3l|I&r-xH-pJ%hd62M8!IvXq{Y%J)!9-}!SnXR=N7^fPvLl4nO!_1rFX zGs!}FNsVez2JhZYY>aSf2D~ zShn&P$we+`9&TrK{gZQ?0ciXs5;)eX>GS{yEqBltMyN?UZa&-M|MXbcx4gd%#J&Is zMhb+e2Y|VEJH0_!NZ4D!{;D#^n%wMciE-g#)DsmZ)BqHuqEj;7TIOR%z};{fK-d9# z{896}OC3wsSM>gifyKpz)L06U8xP5 zCI~_HUu+Cbs_&%o1y`i2ZB}?)bIk?~eg;8`)yusJ*MZcqVeuLATF9(8%n_WW)&TX_2!Wh+yE zwO*omRd%K712+FVlD8Ll;M}NIPfGr4BuV6<g1W+GwK`*vKm)awtCZR-YwXXS{)meA<-b*!AOdq=(`-$_K?j*I%tF0D#~L zOWNOre6Sbr;2S_abK0AFS+r~Xunu(mZ~ln`NKXNW5+7O+Sj!d#I^t_>6<&_eDeY0G zVYnD7lHVVrSYuFY4B&Qsri`SW_~Gv{D@`TqXj^LFQ}xsC`eub#5-7MWMA5zLM%9)q z8}NVa8l9)g%gaN@Q2km%iYQFCILx?1Oirf1|Dz2_g2el_L zxq4+^?2$qwzXaW*U$&;aRKuXpQPmPPTWk=0eov=$^H2EevzA%*K@z|6Nz#rxMstr{ z)$V0B_=((cXuu(IL{pM4i827I#<-5w%*1(U!n=Wue6y={qZH1!aIEll zMBLq9$McDpyPq7yw@0e~!~Z_%20SESeGuySYkTK<0x3eigyNC^gvw*yJn;1Ht(k$A zb1vz_0C_HqgANA(Mh4ukUV|GBw9PjL1Vm`-3ym&+vJ!(kWTUe4@?OVLSnN^>(9A~E z(D6ZBV31oMwXnLU$_~~C{=uV5v*9nzF(Q9$<4a$RUKeN3M9VfTIz&9?e#RA2H4W#W z-dc`A%2t>~);pgq==f|b!=Pux(PjXeY67erJjoIw%R*gf{1EpuYv_h?t^Lxhy1l_! z=U`83>4U~u@m_no@HZ*tISb3NPphGU(Qnrw=-K7s`&@aB0V8V70hsTrDm^(X^mFn}t(Un`q- zwDO}B^8J=qZ%g6%1UnnsK2bK--I=c+D3~T%Bgwi|R_Ya#Bqg4*9L!&6euVBe3NP;8 zZL3*^Kr-2^hQGBASwLd9A_GovJ2~jSE52)R5fH%~mUtaf5By=2-yzQ08~{I7GI zcFSB;hNPrzHwqx)_B=8!x$!UNxG{0sKiiYLb0rHB~o0`49nD!vQ?OK*UI@Y;>F4d5Yeuvz_AnfdlYd4Iw(qot=;t@ACt7a+J2HHwz`HNjL z%xjMavt))=n`$_gc}FY!z6MqCdr2(I8LFWj>ja`2zGQ5G& zW}%Yj&!0O1@v);3Knm$j$F@_$U;m!^rH>+q4LDNg8NX|_{E0rf!1vrT$Qbv2Z)?;F zUaBOmE_y6~KJS2;{EnCo&;v+N!|I+{7nTMeD%H?U{FV=KadFF|)nDo+!y5lArfWQS z@IVl%&}(Im-pcWC(Nt4aUAcJ9n0o-+?*SzxaLS2!=q>P%YD|`e63uZ!@t+YLPAHa` z(K<dxioA92_lz@m9^1Yy7 zeN@PW*o(E{|AENS)iTDVy3<^`-AL$dh@6TF=zre;W!706jsHrJ`s-k5teYu3$J7o3 z$8^0VBF{!S(wfLB;5qI2?*Br{s^Ti5m zxudPK-#O>Kf!+MEXw7&l&*|aTXUt35i=*?4K!h0T`17WA%X@;Q#X1tBbfEa>HhxaC z)z~(^@@n{8?giXqxpR$C@o4O1n|lgLbF>PtIx^al^0z41!uZd!VVLNG^tMq3B5&ai zVBF&^$Ol`H(@r|f#d3GCY+%_Jbb)n0-&M{)cd3Wrg--6$U>8cyNU97`8X zB`{XG>H?9jzQurCL<|ERo9-Q?47t}Ty!WHNvCM9|-;|ooGiMp=n0&kSW#cog zI0d4iqe=(e#AiAA4#_Mpp)QA(x5AK-oOAOse(r^aB0W@ww@OoAV5AA;hJ}e{&(3Ut$h-X45s^Zo(5G9&%_0X_!$H;!)~?$%#id3n1?gSQM;Mj72794(jk> z31TBf7~3ghVPvE5qyxcVCd*`0Mj(n03Yeo?3pCJTbJ!nmaGspvW;CY<47kj`qUPoM zOUnf*v$nqQGx^2LN6z+SnIbdE%5_YCj5;#eg@Za?)(M~FeJoH9g0YAlCVuKr~C zF4hMdkHNS2fi92lTWaWw57So#q)lzF;y4*F?e2t$eapDnj4^=vQy}XF=DP%1>G(;J zS3I!R5@0wI zdQSn5rxr0iIPVuYY2&_fbv`{J9qlXx*F zKLkOf2~P5VA?}wiJ^5@k^?3i_@W0pToj9)2lsL|Pb)XWrr+PopT&Jg+P0}%XI=M%% znyvZS20ZLPe~Qp=z$54KRF~Ad5*Ob9s`t+^F4P53Ag}K5`+rG ziB1x2uRD=FgPU6QQ*AZ%$AQE+!o;@Nsov|5L(#|4B8!0k;29puc#7kZAm^YN;sx=G zNo8wc-KQAiIDQ69vet}jA4bH8@WIt}*CyvT^F}Uy?7SVTK-4Ftxfqn$QVyLuy6|p0 z2Mz*XSIq~()kZmrLhoBh4H!65{BoWbG4;$F}K{K87UWb3z0OG$z zOM_s327p12l0S8?YC-S{S>c?k9MjR(wrY$RWQyBZF#$TwPy5$DYdQ+ukxew`=C8np-mQReaS;))_g`ak z;u@-^fYPmKCC^ey{cek{$B2_&F|r&fLd<}Z<@0u&izQwu+VHZ%yEEd0-pGEI%Pr{M zrl>@$)2C(9+0_vN%)EJ({_TCA6|D9d)O<3qf%?o~GRXnmI2PXK?8knHU1P{C3cy~U zoQHsBktJ@f1rDp|q*+vdin+5Wpn<;Q)sj27ce-0gD~NzoA*Kz%NCLG4qRxIEsI(ZQ z>OXKRjR3kLD1#%#L`0f71A=c3Qt#`r|qb`*d{YEh+QlJK@@t%Qesg@9yO(K##WATZTWx>6$_ z=Q<2v_Gd4*p(WT?CnphuM%Kdm1IrT>EkuLBRzIo4VSytWQ&{@DRLgSjQW+fGh@R_n1cFwdA?w8M$?ch{_5wv6}Gc$Uyu2$4n`bioP z^%JE8{H&2cAA)Lp=Z|E(6cd^%GeJ9my;K|^NO_;Ynl3H`u5pL4ko~=3UhaM>k zX8nxD7?1CmqVvU(_#crX@hEP9{0@7nOCah=wau~?BPPE~X29ExKaps)un=U}<$dSj z;?M4Hqr;d1*t)Yb!Dd!Q2K$FQv|SiQ6?_Posg@U_tS+K}JdbCR=px#=Q1ll5KuXJB zP2igXajgLLR~C&4-|c8XuDZ&pa{+HTA*#=j%P3=E2S0`;4Z{rw9%o#_lGF@ z`rI;ncQC{mA@v0GFR>w?g)x8^!xPyhaXZja$Ah$&k?!f;sG9~VB4UTOK;t^8HlRrC zunVv#5Yr`KC$8dc^vqI;cR$?IC;RYR$r#-EIBD%H67UoF-)vo1!~?b#bHZZ&1v)Vn z$L?{(%uY1m?039%sgzS#D0dF|#rFhMOyt5I*NbKkc<}UIg8$!K+S+Wt+7G|r%1QNB zBkA&ZF{KUxV5+sn&@ue(Gn2(8w<9E#8q80)uRbX^M=~vP?!}82(xCcx`wMcbs_yMg zm5uNBoh?q*dZNp$jLP;6U9(#>KB3|u3`Nu{fdESH^IeB6$2-NS`H?o=+1l)u7Nt)p zGAxE-uog8RbeBVKixv#6YNP#sRA{=Rt6CN+Ub#$>w3j&q;Gdim(WQeUe5z2}Mo|+F zK;MiPwX`gZ5E;IfN`O`CPOh?ZQc&@3r$f?<@d_FGtC#mq3F(5QdNFx>72RhCn^8bm z7@?9fKP$*{<8*jZdGnpNvu;@Ve8jE2ml)Ngcj(=%HE3}$FW_t)pOdGk=g_bke2YG< z-Q3)~fa>w5SXgoKSQ$a7hxn5ypnVKkzvOgH;_wLpU0iuIab5yEiih1n7N+%+1E_if z;F_ddkB0v+2?A1EQiIelNP%}dXNr(kgqlDSdnOEXx#!@tyBMLx%E~IT40cg)B9Y(# zyEP(0>xMX|)zJ6_u3AX8)sDLJwVQw-w$P)oTO6#cC5}$S3h%a;4al@lyjwFIME{31 zpSQ2{b9RGpj_aF44TM3yLZ6RZHG*1z|03rt@Gk~WuPl*!?@`t>L1mr9&c8e3 zRV6vt)B1jVOv>qBoY%WLU1=q4S%5}(+m))CTA*!tBh!{Jg-hY@2Iuuk@RVQK{yUHz zjxvDgzDb99yGe!*Aw3H7P@P*y5v(7ng23r+kY)w~uBwO(A4GUStazN!yGGyZcG7_m zK)27xE&-!uWU??*r7+$L2BB`XJFcN7*H1uTs*)vcFjwm%P>wwG;C5b<#()Ew>h?a+ zRYZbbBKM>Ty0rsU`&G;=xChL|Vp1~iWDSRak>3WT6e(H=-ehB&UV{IWYJ>xB5UW7TqjVAOOx z6NWqm_r0bgKV0M|cF9EN?x5l7u_prreUldWki~#HjTYfPDZhtqUz+uv1Rc&-y+#@W zrsxcSs-0P3Ds;HS#`$j+M@KWfjR+nBbbO(#z^X@6U1a6`y7~>>t9}40i5m*I#cGE` z*Z+Ykpk{aehp%&a@jA`R_g{SejC>=xzC4uzH+{ZJR@C?J47cejZ6=Egm8Z;g$ZISH zu>)56VBqQft*wm)G%Qo>pJ+DVb-(z*a4m3-qgv3WRDd#&3MO_Yc_KVvX^d_%ANhnb z(44`OOq^HwHCewC4|C~>p&R-p6=KN61uVY&^9rr}kCy|??Gndv7N9$ZPU^8#$Q^s` zf7MJtU{uLdB}Jrp!X-a@noF_p7}(%DNMHB5$H=pF$uO(LEe6GiBDDZ%V&mvUq6HX5=vF2Dyl@=6tXkBN z=cJv+= zxZ1WImx-9IBHD}n)GgpPE)bhetOGK^_6m@k_d6w-5ik*bnZI-+fv_^Y`rWz=aMBB$ zF@S;GVkOeU29gAA)Ax10eB@r6{yT?Ju@WAqa%7a{`*G18`sSgXZy1ah#`@LtB*}h!fbkVZ|a%Lz@<_xiO>SqU6uqomEW?XcX$}wLzW0s zhNczz#d{s)+Zz?uF8t{z6zUd)!Y&iM5;AD?dL@Zxq)CWc+26m7NCGrFNu?vGx3^Le zU?Ig#A(&7^2#{_8%RXS-Q7$%URLd}wh=OBfQ_GNh(+0lOH_*2~4`r;SqvO7(fln%V z+oWecm8a$<{;7(*SdoT7E27F7?RQ!5{cU zt8*1avD};1YP7H-B(`Cd3c7sa$3&ud*LGHFYN9uwT+-ydZ8nXnsebu{#k$Dexd&!s zqibW};nrba3I`E=@1}cwnJ3!oM}D3O7+?Sa`*_t+$M#%yhs?m+{5Lb4tiQJcuFHyXdwY9&fa?&94+>p20NJ`93z+hD$1(J_g1nHozeDQfBk}c7UW3EK z9$>%qpL>mJkT;793KHmm1mv;6I|`*(hTcYy08E|9h9hMeb#9M3wg0*j53Vt}4(=K# zE!}8JO$}~WQp-q^RXcxYp*dyl#>dBuBM=#O9ODga$1wyQ&2nM#!Is~fQmKqq@(YLh za|?Zhd01_Y4V0AZSMpc6Y1HAq_dnmI027HW7Mhx-i%66Mdf+x}XnO-48(O~Tq5i%h{TW~iA7<52Z z7{PvKr6g>Y3K`}8k!NC$7X-h`9n!wyV>f_ zKXJ;7pUX#D_sW|g*%&bHKJ11lYkg@y_oGcVn#LXyBWm9FU?5GPqH5kTEW4p$rq#Tk zTp$3C{%ldN&DV>TE@(I(>7o4%pzeX1A1*YW>Q1Hb+v{fK%0^#87;sM{y6yb)9|d&}3=WRxx9DqI@g|L*ef7_1E(L@E@5J%&EbZBI4i0w*kUxTz zkFSu;L3i2t2f_WgD1i=j*&d1%&T`6EO4}0l{%b`90V6ww0AQ`DufIQ2Z61z;chKDC zi~JCBH)rtQK$Jbpd>)7TN>P5_7<_ur?{%Wi?|%8hA+I0z zbYJ_ydloM*uV+hUTxr_dK`sh6Q5mDSn9>Kpdm;U*Ih`LarnQawms7ThR2BD3GsuQm zKyF(b*Tf(<_f~QagZNo$Ua+q7Js2OcQLcW$T7}*%5qS(x&@%jL`Z$v#vF$YV5x+I| z%@@ps4J!%Buj0V1*V6s(#>NCa$c5zMAAR6-GT&a4ig6AQs+!Y(5vlN6 z33*3b~@Ro&=PVMoR^xCmZTeQuKcU)F`6zw zhdg;W&#{&15;M;CGkW;&>Lk`tTSkOAT`>%wKOpqW+9wj@n>kbmIr&VcR>@m`*WUhZ zd1X5#8u|D9sMx2XZswoQ#a#w&Cn4`oGDZfZ(b?v>(xS8@qH@6;{_Tryg9Q<6sEGp6;>?u>p*w)9lQ~ev-rD%fbSx)9n zaPSTMGljeMn)FzYv#z=FmoKK18o3B{dpuhqW&=N%PHOwNNM+nKSkXAtlgC=?;X`DgG1jsSg918D!6Lw54ra4T~d< zBw#|JuBDy=f%JUBgTMb+6fL=!CNVi_k@R+Ju|3=!24_5LFhR0nKVOH`64Uf{|Q&cA!L#Y*6HBj?u$rP!&=A27FE{EyFL@}9_DzTsc2rC2IQLrleqC*zZ93kB3YMzJ zUdN8$$(eEl(7>t(UPj18rtf4xN0yF!?aiD+s-P!FZ*$NSUO`I^cnY7+Ix#icgslc8 z$7efnA8!=&obQ8+KTB+^`bdEa;jXh``2GB^@$q9jbyzsTIYmVrcXC4w8?L@>R+S1e zOG~#tgyVguq~v2x_i=eyOy}@^-N2eHn19@-notN>IRE>dZdTO?uNMa&Vr9hM0&Wb+ za0~zMS7X#qQsEv()JT`WVb=OnOo439MGfdC>c*G>7yiT9FJ9TGVeX0ZKUTlu0sO}1&V^v7ez2D8nr4T9F2!pxr9nHI9Ie3S9; zKMPjx7MCWoIbQ5h`!#I-JYzbF zpyYA2$KHP5Ly)^TN#QF_`_7HqtczI5uw^F$mOA$5o%kJlz%x}TOPobcL1E{}9d)By zE1{*gM$;=3(|m_#o)fWmQx6NN*_6Pu41+f}LSfk2 zEr05N0=k^#&&k6nt~F5)w;Zrx4LO2>{9sdSWtm7S023pvYER{c>|SfPc15p zDAzYbNdf{85*iP?_7_6+XlbGwUABdpR5DBF{To4~oQCyX;wj^I4zT3$_yQ=@U*NKm z>Mr38oE%)%?!KDqGL^SJF%+|Sj7LHn+{d~66I@tMr^(KcxwH<81*%WasQ@D+)zKRa zmZxdg^%^Lq@L5^q)f6<&Q9=dXlGNVVK7GMQvnlVE<8-pTvwiwYSYb0+`(Cb0PSYh9 zIp<}Wr}OJ7LBA%N$;pu8%fhb>Z_n>Z!~gDF8rSIdA9vX*Pq?XMm3J!%7*xE?3*VpG zm{>#4*ef^X>MsoR{b&nF1)gj%7bC`d3@c~K30lEri$JUkTyg|u?3#bh_2bgwm>rsSyuts1N+M&B z8N9pO@pCwm3gEjx**(0PzZbk3r-F`(o!kixyX;B&(FT}&r&UF_Dg97T1!I1m$Heu>>2&Gh5_}PU;mLFQRE-w*bh2mk*A7Fz^4H9B6?C945>8VAVR{)m zso4zdiY<+>Ge~Mt+G>P6U&>5&hBb%@;lc$bR-5H}lU?EO;vE-)Kv}CgVC;AH@=-c~ z7@Y1~x97SL^Qw)}aqhfZ8pc}Z9QSNkSqA3c`$*8~=}j`iXc=N;+#C+AFtY4JZHr$j z-jMJyf8FH(R=t#LXIn=p2d``9(t(Z5O#;@4xGw{NtT*0L$3BHdu3|FC8OWIbCv|SC z3oh{B4U2{@jI5eH6Y+w5<7n7*owTjM)oN;6R;7S{bCVxF?s8FQkl~Fkf=X<+h(VVa)qs8D$Pv#*Cl=OUk|?|e z?XDGIQ%qFut|6}JSYb>q6Op83*c6Yd`|DB%$(W1!p%je#^mO|#2PIEyH+2QL;ZNAd*KRu zwnUm9*1M3KD_t&W{PF(-1(grw diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 51cf8812722de9a221afd72f89e6477b488f5750..0ab279a3c06b05294499bb8240cc9b524f5144db 100644 GIT binary patch delta 20316 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 XOybTB%Acg}fWX7i&gme<);Hl_Up<$> delta 19817 zcmZ^~bzD?m_cnZn7#aovNeKbz2I&+L1pz^&8!4qb&(K|hG=d-~BCT|{(jna-L&HeR zz`VovzVBZ=@AI5L_?*~#?b&;;xYo57X`y(Z;dqH`kfB>?`k{c8?fGHu27n>f{3&2dOU^iVweN5a?Z2 z4oZElK6abxRup8vdfT000cP6L)LVV(e_t(1Vt<%xQh2p_^~@#bsi_d!*zZ`$E?e87 zYEVdvpk}&~L!#qz0j0rush9kf?+1o`h}fN(- zEdBF@`)xmKz4ji<%SO?hFQ!+5HKv)9-u2vO=Ndf~@~` zITsp!glnt3sKQy;|GwrHmO!=Jv#F9dSycMW{vYT}@+hRFF4q^xoQ9d2OVJ-Z+*W?R z^F>sZDlDJ5!AG|=yn_6nzb2&<7$t_1cAugcad-c;OhvEg*4ladMc$S!PITOf-@bjk z9dm2Gucv3=!n9bJ{-Ty$5k zH^O3`n3-fbz!^4id<+GXtOW%fb3(H8Dk5=f&uNf>wu&n08H)1*#H-fUf*r)fof9!n z*bjR=y4HGD+MWnJwg0}I)j2WDqxj%T1_m^Ru|tB-V$PqGJPUu0^;Sb)gj3CP-7j^? zCQLjGm;0{p`rI2gsb}{|$`Oh-yLH`Ddn$rokWb>D2qnInZ$fnZ?tArmBvE$Csp#4E zDvjS$MpMSV&Lf?_)G|Vpuhetc@j}|LYTK|NFgI{nBL2waxVDXd+Pms8yzP+1m0j-J zJqLofoJnul)x?w5bZtdsQ8Fq*p($1Cu1I^uGN`ogZvafLPb(=}qfPqLrt|Vo@ z;>C*!NLxBn;N}Ru#G@FyUlkwEMI48=#lWW}YuUO3Ee9#1tYzfv-iiw8L)?-GLGoc>h4 z&c7!+qjPgHEpj4_YSK-#$;ru|%gR*(0%T1b9ihOvzud&HU#}Wk4I*v5+I~{86{%%y zF}5y|=_nlQ4`aihdKa?~7){`*g6aEq+>=`+gKny&w0d0YX1Crso1p%|%ojc<94Fp~%J!Cv1Rp@tBPLs!^}SU(#QW>C2Zd%SRW2va)dnj}kfz z^`p{zLpC<7W8SLXU5zPnp~B^2zg@Qd^i3MFt7;@NiGH=?f}jwfF3hI_x1ZFH_LrvW8=r|{cP7* z9k1Jbeu_QCFJ@yCV`UG0nW2W=q&Ov6iE|r>{2hi_ujs-is7MER;)HM^OxyD(Vh}7L zn8ZrI7b*;gYioB);;noPg5M&9lP?(jhMLn}~KUoS59A%4Mj8Qxp~sRl-Lm1Mbx+0ztG^1i<7G2Rvg-3!6DkJj*fWfS2{- zm~T;so6alQPf##YEEFqIZL?qO5^sQ6`BQ|V3M~J%Sxm=jo0B~1^Cyruyo|_NrN77$ z-Tcwt0k{6Ve`#JwU~P1*nT(!p!RB{ZhhXeCTd-5m`Jnl1weRxEdsT_)@8xCT;q)_O zYroXs%2=kRFC#Q3rtU5uS;!={<@^F))HT-7F_oJHKjR@XM0nS6t96;etoM=*uUq9Z%!q$+|fpnax2R( z^LZu|xAbo4`L54NX3-0Mk)0<)l2}1N`eS=NMBASybt3v1z&&;H@QX`Ft;+lD&j_kb zG^ixbT-d;{F}%E=f7sY;1~;nkH0csI&O{4X)`^GKtRKnzuw<~_vN+`KsT=kbkOO|D z*ye@$MtvU?8W;?0Dl*@2L|Fy=O@%OHaRzif+ttOs1kF-LZ#gfoFwvA{>@csU^ zM<)2t$CmTv4X1?jaNOKtxL$AtQEQGa19kb(4!Dpf1H>>acwLKY*6v+3d8)8PwW0>^ z^fbhYL%c1A>bDNhT((f+S_TY(o`=d+dehkbq zCvVgbLb=w16clKvpor7+kXIiB6r2wY-8?)i1vP6QJ2d9! zV+k}L-}2{+JI{%*c;zO-Z&U}5jwWQgRsFg|x!@UttS@EB%TgsLCxQ2Yf9=*vOt0*F zz><7QK^B|?QSmh^nfNbXxM50%`#;}#Q!B_YJ}RAxq2STI2OiSB=~2NvhYd$?1L38b zVq#*|=e$YT=296O3S#)HV742w(H5qIO#L{yvJlpJZ}zk%&Ph5)Q&NH;wtpP`>b5BHu?Ix{%SQ-8x|Ko zOnBW-8M-M-_-8M|0E-iHv=^M~bR8Cd;o44g9BM;Nmchfja2i1D=xyNJD3?oia&j^v ze}WWMEd8oJ^%zHFzf~M@L7e_3YVA1XaEZ(KgQU zD573BUQTgS(GOL`!^^GN-pU$X3yr;n)gKLe$RY1C`9r&@Q##(IRhp6>(ap4b#p+_@rr#{ z?X>s}zyUh_72;{>;Lw(+ueW5CK#&_x`P8J7)=o4Q74 zUeVuf#Ge(p)np>T&BK#yky%U%ApF5>ZMsR1=CCZozmvdY7j>9hziG*xYP#HXyV?B3 zwRerE)s0p4=L)dj(-gEZ)<+f`Eug)h}$-vnW`d! zhQ+EYiBHguz?G)0PVY4tG-NINND$G4%bXmV*F&7SmY1SCJ$|_x9zI_2B+425A}YYb zW*sGI=F9l?vbPTQMyXGNg>8W5^-8v;tA_noDL@2JY4ZtAp96G15)%llvM^SgCJ+ z$6H=R&pXXu=3d4{aG-rntbM0IDYR0zl1uxi`NJtv^h#&M=-61Ww@kbqZ#V`e9G{)B zGA67Qe|p~`-hzz#=GsxkJYS80YmbMOA3nsjf2|`woskOASdyn_ox$DY?!_D4y@iLT ziHlve?xpb8_nU*Y{kwH`A*F#x-;(@m8V=&@ibPV`TgqD5OrsvvqI`v*JMr>Hk6b7g zSFLQ9`lQ_W_cNZ15Hh$nAJ!p_O>vEAew=<#AWK`ei(&Qp`W1yz4-Pd1Vky%usn$c4 z?h;kR(e)({|EWmHA;ECicNC!XIQG^pOdR94w08a=zkYVfY9W9FkPrFv37ZVe0>uca z&H|FjRV|ckM ziXuHTqeI!B@F~wr00_K3%C-FU<0(qleS9qXvfLyt2}~k~DLG@zf6#zG5#kr$ z+G}q*5MG4~F~}F{k(}ZxB;J_)W`_e;5P9gJJkCjti1Byhc}jYBDpxy`In-IH4_3&= zYrX!GsYmo_)~IOQvnL);wrDJggA@RuM*<;*hz&}j6%c`9=_Plj(&&S14Vr}^cZlsQ%!J4!=lU)DyY;)%wiQQA`+e}v>_x5 zDFzhH@u#;*^?J3{m{Z>36tZ=Eb?pi@M5PEn9d}2@mIA$Ott#JWgHy;Ynl(B_wQrqf z;%(gTT1{ZbW)d6xlC26T2|iFS@27#&D)mJc*#&?pW9EkHN-CRw6%0sQ(r4znO&GjP zI6AYd#3%uP8F;L$_#ANl)7b7XnJa+KH^ut*S`+-l1wD@B58JS5=;=GvdBfRXyijGk zMZ?H=lLKIE9Eyhr0iHg6`r~yfuMkO<>$+OZa{K7$vyt%d^#qH6fPhJM`042>sB`De zozm;$3l^z@Bv zdW+jnIfd|9%++`sA)yk83Ib;y>29UvP3zdDc1bd~Ln)XyZ>>kyd@?{4oTg23%I>5z zP)O)@ci<5|dw7QQaNbTsdmUpDNQe8m{uS2u*oX*5-_7S3i{8GLtjESNC!HWyl9|l( zSDMlfgT3^FFlW)r&rtW9MQuvO=s}ZLIIf-HHNg~J1dZfH1w9$(Y3>;8UCw=lbSV(Rthy~sYa@kIQksNu5 ze*wTN{m%BkW+`JL94reUAWOz%nBal(cEf5Mz#)&&sZM3vtw6W_OlxJsHft#up+a{I zVCix4dsDa;EK{{c{rvfa*SJBno;(r1LxdRngBE^VTwI;|)-8)ln#r&F$wo0YvF{39 zGmYU*H6$^+2i3;(#843LDiDn;k1WSlB!WOgjGQJVsQPiBEHodU)30RFMoc0R# zNwz8|Oa&$1CJji0jj7{DiS+bBCUz9>T*Kw-=Yck}SoW{#VRiLJ9hU88&Trl1>`v|g z&=47k@h7zroZpCyzrG$}lpl$HiBm6!zl_Dv=1Wio$+py5n{e>9tjUBvjb(2Vd+2mP}-$66=T#dtn!Lh##aS4VS!6sZ>icl~ z8_Uyi715{kA5w-s-Y3SY)4wG#AjyRLXkHWR(-qqxq)^mlxh-gd-#wevIaeM+!ld;C z)WnW-8+znnOlIhKf@7KeOi7M8<=8%RvRCrJGS=8yYG>TzJ|!{K#@#ppFGMk0>Q`8q zjREm5qA$-)*svANoNspg z{qvn(l@);uBbmE#Z|?P0ZtB(2rjw};d%c4T26B6Nc&H%3i?;sKv)TnPIvB1amCrhj z$;f|agOqI*8Pw(F@E72y28~>%%35a8Q`h*%Iv-2_9v4TILfmdk|CGSSmS)Tga#Y$> zHN4#a#%Fur)QF}8a6;N&zK+Vf-S&vqvJ+U1t)xoPN*GFqbXWpWxL6R(=M+Te#x2Bh z-g6PGypU8DY^6SASy`E*QlDxj(p-_1E`F!?5%3XdSba$afCNG5YIN;pf{OT+(YTf0 z;v&K!HJ6$T374ao>nF|5#)cd&Q(-76MWO`f zOXnWhSRvcz*tJ!}G?s^#S0kb%q31e{cZEqwX|k&ot+`wi@e=TCmyO`x;sZ;sK4h<= zZ`S|F3IU!GlN*jrOr+beO@SOh+fArA5wL=6%%=Dk35x zNtLa_dXNq%p1JPo!nvD-k3p+7dvF(U?h5=A_$N8{o6@7)vK^Dxrwt341e#j;V!?;L zD-HKUmfc4_^1L@7-(tYAiVcZ?3^)&A(BvAhNc6{S>2z|B_R4_W7D0s&$;Iu z5^HhUhrZUo&$EIeMfEKep3hYO6<2`^;#-?-Aep8-u4JE%|E*d;CoMcOfUsR$b+v+b z+BorY&CKE|Jh>@RpEPo?3Mn)1)vVwGq=Lddl4M?$Wwhxc2bdwTM-XS1F6akm!@>%0 zRR8FV>;Wo@f{FtqDciJ`%qa>5)&W6fWhtqjw%HSfp4g@!1Z~&Cw3n8 z*?R6o(;pMyV)S@le!E)>Z~UUUW_pF(B0Efo?7tT{-R$R8a^fjg=$@R5?6niilBv)gK%s-(r?=h zq?mBG!H^Z)v}64g95)!ideo2rPe)O{=;F>Dph?KWjqPK@pe~s314T%pR$Acpx8EoT;smDYqeUp`OpO!wVnpn`Y3i@aM14!X102ae2zjap-yBPSRfvZCu*%x>kA|>bw<<6NoI^k&I&s0x!})yH~~x zv6ZhB7d^n7BD)=~!Yp^=PoY_cq!dpNkyggQC>c*qWtLlDkl-Ih>K!_WD?O9ObO|I? z4eo}V`t^&wnLy)O{fd0aMedy&fyL-22sbAuXJ0668-wUx_Dp|<^5HBiQSXcm*!$Sx zjI`C6>~UO6NE9i;KBR;bu&^jaYDf^c#48T@bbzV*Y1A0x^+88~$-DktP+YdfCl#(j zmewUuams^_hPVc>o$zReSm4Pg+9^HmBCI3I5X1H6q#-6U03us zq00akHYKh-M7HUOM}Qc7{YvLa7`53g>-T|rQztNl(G;f=Kue5+ifTM)Y0SGsqY(07 zuK)Ei4K57JIS7_do_JenL>1p|Ia^mBNj)Bm#7D>wSNA128jDOnF{F^bl1_HH9i}w( z;K!d9tWyh_)0z5l&I)_!ccC+C_(Lb?;@G9%)u=q;8zsP{c6WErp1o0b)1wF)1k2FH zrQq4y@~{k)Q@8$G+9BGA3__X}5Cdq3Zs5x2R!&D2z1Eqltd~PR_(gexs~n-h+QJVw zSFA;4Vj}Is16!GLoi01`Lx&sCWf(=q0f^hwjfq`{(y%@kSnrwVQlZ2AS39xh_dC7mEbvW2&2m1VXNaznyqM5bRq&qF#)Qm_0i3 zwF<6rB{{zCcMIGzLYA=qqslTPi;Ii)0^&sJb2GQnvu5$Np76}g&MtE6GVPvR8Ghfh zzJu)u?TjkKzjW>F$1`!n)jH;-0Z18TXv|_?Y&Yz)hkEa}!&iMia+5>fR(tE)IypHN zrgV_WO8_dzR$`#S%3tbNQIPfK`6QyH>(g2i;C!z2YA$&GyxT;43iT7v`sb>HR(?Li z`q#Y{C+UB`{_wBW#tnN7`|p=YVkCz@h7Jl}9CH^IA&v4GuC9LxkWoEX`m+Wew&i=j zoLO!{bh~Q)-UQD?&gIX$JAQ8RD@z>sRL<*2{=FKw#_C0nb|b%5wfhXm{C@v) z^k5-^@bXIjylwTobU+_ZVcg)YA%on^g{(YyUPWN`;KZ2)QZt2vl`wHz?v#h;}uZtOpZAfETJX`kYSvMNwv{iIOBp(=ZdPyW2_er47DGf6^S zAp-+fFt-{%DGh?5(m0xd7~Ij#x{1@pB*A2(uOoQj)H#rkWW;I?2kD_1>lP1NTh58| z0%gx6!{P#qyyA`i)mO`pMT9^bN0Chc z^;=$rqp0qC*YFve3>Affe%8-Uf~LK9!Rpp=cA^n~i~sZ+QMG0&5l3HIzBvWK%_>}5 z#>(j~Cc#VIU--6fvIE|1X&-sGyPtY}7)yJP!1{@;g|*v}J4lllbV022oDuMv4wKIk zV#YqA4gD+w>{k$h_bnBm8zT76d;sA#e$-4Xgn&~QW}$(tpaNSkDgZwrEc9pD#a=8^ zj8}IB@^^tP!LV02ql025{#(lWv!zagxQkq;ZYy+2J4 zhn)}W!t!I88|r%me1A?HjujTQNq1w!w5lscN|L}aB-(mv#DfPb!BRq|oVvMT=h9(| zj`%74`03@e-pf56;E&5~DK9&dzgnC>f7!5HYka7s$NDXdwecF-^2%+yWhgr*SB^5; z^+Z3iRcCWAT%kS|evujEWT(C`mC=nnGHsC~LV6K4FTgmH$+gOuyP8sg>`Mj#_vtg+ zRFZ$4T3N`2!1hcMy5X*L7LHf~GQjUHe<;grGh+dq~93#%}jtU?A6@Ho}IpD0{YIltyHG{H9g*lW3!}glo z?!;(uG9}LF=y1D6nbj-f35LLOI_~Q#MtUyR$3NsuA?w>M=Ax=su6UD=ErLJF^~Q}V z)E1GmqX&j6UBCz4XTDAPpJzZyFpI@;-=R+cklz;%SQg~D7w^~@GjSGsk0j?TiEM9g z=h+QP*5mm4@&_MrP5khqMYmPP>YJ!QFW*blgZunJ)TUBFNl8Lq zzq&-t@?qsy3<$)hm;E-vDDBiB+SX=k=THOb*282a4DIrBX^z!{SG>}UzAKHju+UcY zbU!!Yj=&zR%u)41coD?Qad?pZFoxCI^py{NK*5B~q61jS7sCfy0z zCpQ}xJ{#`+tL6tC-d%FA{oatA8acMW(tJy zC|?E-58e4zxmk7uQqLU`(ZX6gN{50D0?&m?qP}|&OTd!%UP%q0I zm2J&v+Vdp8Qx03qRQ+8Sa`DG3ZGY-7OU%<-S@QfV^(k{%XU19! zd7I1ARooGiQ4O5$GZ?KD0gc3wc-j_xtjr?^;?0B$3mY~rxpDnEyiMvv#9#y{}A;ywpAZ&_gay`BHTq_T;-^W!q_38zJ{$zru5AZ z+o+2P=sKDCn^+5Bp5GeEYf#5B{c=b|*~uYot@ts8>aMl$*vS0YfiNzMR2){u6^sF} z#{Kom_g+;hbM#8`ooZ(7pM>Nhw05?RTV5H#upE`3fk1pxGfyq!BAdIf3G!*=W`sbZ zyMxY5T==7QlzqDq%YZfBe@kMl#*81fe%k*T8%8)t`kxbz-AC<;@Vgyy z-qpd4k{9TO$r025}j;5^Q z_ECFQ^7PKu8f!fa4Ji7GW9}ULa6sR$I2>M7xXJ|IZMwT{+9Tqu*4%GH00=%*qs-^( zCQ208wa|_K?$nqUjen`GPtdVUlXc%_uaFMQz=8W30`?8@co-iyNpDaRdC`u7m16UfK+q*8Qfkjf6q#{A&KtYW(Hh4;X%iK zs?ywI@TrT_YR0te?W#D~jpRF3#4L@=5@Eyqo

s(wox?n4cESIMnB#h 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 Date: Fri, 15 Mar 2013 10:39:57 +1100 Subject: [PATCH 2/8] *Unbuggered the buggered up code. I swear, I'll get better at this. It works now. --- .../reagent_containers/food/snacks.dm | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index ef55c3e5b59..e23dabd2d3c 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -235,10 +235,10 @@ name = "\improper Aesir salad" desc = "Probably too incredible for mortal men to fully enjoy." icon_state = "aesirsalad" - eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp") reagents.add_reagent("nutriment", 8) reagents.add_reagent("tricordrazine", 8) bitesize = 3 @@ -524,9 +524,9 @@ name = "carp fillet" desc = "A fillet of spess carp meat" icon_state = "fishfillet" - eatverb = pick("bite","chew","choke down","gnaw","swallow","chomp") New() ..() + eatverb = pick("bite","chew","choke down","gnaw","swallow","chomp") reagents.add_reagent("nutriment", 3) reagents.add_reagent("carpotoxin", 3) bitesize = 6 @@ -592,9 +592,9 @@ name = "sausage" desc = "A piece of mixed, long meat." icon_state = "sausage" - eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp") New() ..() + eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp") reagents.add_reagent("nutriment", 6) bitesize = 2 @@ -943,11 +943,11 @@ name = "popcorn" desc = "Now let's find some cinema." icon_state = "popcorn" - eatverb = pick("bite","crunch","nibble","gnaw","gobble","chomp") trash = /obj/item/trash/popcorn var/unpopped = 0 New() ..() + eatverb = pick("bite","crunch","nibble","gnaw","gobble","chomp") unpopped = rand(1,10) reagents.add_reagent("nutriment", 2) bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0 @@ -1069,9 +1069,9 @@ name = "burned mess" desc = "Someone should be demoted from chef for this." icon_state = "badrecipe" - eatverb = pick("choke down","nibble","gnaw","chomp") New() ..() + eatverb = pick("choke down","nibble","gnaw","chomp") reagents.add_reagent("toxin", 1) reagents.add_reagent("carbon", 3) bitesize = 2 @@ -1126,10 +1126,10 @@ name = "meatball soup" desc = "You've got balls kid, BALLS!" icon_state = "meatballsoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 8) reagents.add_reagent("water", 5) bitesize = 5 @@ -1138,9 +1138,9 @@ name = "slime soup" desc = "If no water is available, you may substitute tears." icon_state = "slimesoup" - eatverb = pick("slurp","sip","suck","inhale","drink") New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("slimejelly", 5) reagents.add_reagent("water", 10) bitesize = 5 @@ -1149,9 +1149,9 @@ name = "tomato soup" desc = "Smells like copper" icon_state = "tomatosoup" - eatverb = pick("slurp","sip","suck","inhale","drink") New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 2) reagents.add_reagent("blood", 10) reagents.add_reagent("water", 5) @@ -1161,9 +1161,9 @@ name = "clown's tears" desc = "Not very funny." icon_state = "clownstears" - eatverb = pick("slurp","sip","suck","inhale","drink") New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 4) reagents.add_reagent("banana", 5) reagents.add_reagent("water", 10) @@ -1173,10 +1173,10 @@ name = "vegetable soup" desc = "A true vegan meal" //TODO icon_state = "vegetablesoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 8) reagents.add_reagent("water", 5) bitesize = 5 @@ -1185,10 +1185,10 @@ name = "nettle soup" desc = "To think, the botanist would've beat you to death with one of these." icon_state = "nettlesoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 8) reagents.add_reagent("water", 5) reagents.add_reagent("tricordrazine", 5) @@ -1198,10 +1198,10 @@ name = "mystery soup" desc = "The mystery is, why aren't you eating it?" icon_state = "mysterysoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") var/mysteryselect = pick(1,2,3,4,5,6,7,8,9,10) switch(mysteryselect) if(1) @@ -1244,10 +1244,10 @@ name = "wish soup" desc = "I wish this was soup." icon_state = "wishsoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("water", 10) bitesize = 5 if(prob(25)) @@ -1258,10 +1258,10 @@ name = "hot chili" desc = "A five alarm Texan Chili!" icon_state = "hotchili" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 6) reagents.add_reagent("capsaicin", 3) reagents.add_reagent("tomatojuice", 2) @@ -1272,10 +1272,10 @@ name = "cold chili" desc = "This slush is barely a liquid!" icon_state = "coldchili" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 6) reagents.add_reagent("frostoil", 3) reagents.add_reagent("tomatojuice", 2) @@ -1437,10 +1437,10 @@ name = "tomato soup" desc = "Drinking this feels like being a vampire! A tomato vampire..." icon_state = "tomatosoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 5) reagents.add_reagent("tomatojuice", 10) bitesize = 3 @@ -1460,9 +1460,9 @@ name = "stew" desc = "A nice and warm stew. Healthy and strong." icon_state = "stew" - eatverb = pick("slurp","sip","suck","inhale","drink") New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 10) reagents.add_reagent("tomatojuice", 5) reagents.add_reagent("imidazoline", 5) @@ -1512,10 +1512,10 @@ name = "milosoup" desc = "The universes best soup! Yum!!!" icon_state = "milosoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 8) reagents.add_reagent("water", 5) bitesize = 4 @@ -1524,10 +1524,10 @@ name = "stewed soy meat" desc = "Even non-vegetarians will LOVE this!" icon_state = "stewedsoymeat" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/plate New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 8) bitesize = 2 @@ -1670,10 +1670,10 @@ name = "chantrelle soup" desc = "A delicious and hearty mushroom soup." icon_state = "mushroomsoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") reagents.add_reagent("nutriment", 8) bitesize = 3 @@ -1707,10 +1707,10 @@ name = "beet soup" desc = "Wait, how do you spell it again..?" icon_state = "beetsoup" - eatverb = pick("slurp","sip","suck","inhale","drink") trash = /obj/item/trash/snack_bowl New() ..() + eatverb = pick("slurp","sip","suck","inhale","drink") name = pick("borsch","bortsch","borstch","borsh","borshch","borscht") reagents.add_reagent("nutriment", 8) bitesize = 2 From dcfa1fcfabf0a740d425c309d975f2834667e343 Mon Sep 17 00:00:00 2001 From: Aranclanos Date: Fri, 15 Mar 2013 06:08:48 -0300 Subject: [PATCH 3/8] Fixed items not appearing on the HUD if they are given to a mob by another player with the strip panel. This should also swap under the carpet (kinda ugh because the problem is still there and it might affect some other things) the problems with the roundstart problems with player's icons on high populated servers. This should be the first step to reduce the amount of calls on the different icon update procs, but for the moment I'm focusing on more CPU expensive procs. --- .../mob/living/carbon/human/update_icons.dm | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index ebd7d3127fc..870bbafe1b9 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -399,6 +399,7 @@ Please contact me on #coderbus IRC. ~Carn x if(w_uniform && istype(w_uniform, /obj/item/clothing/under) ) if(hud_used && hud_used.hud_shown && hud_used.inventory_shown) w_uniform.screen_loc = ui_iclothing + client.screen += w_uniform overlays -= overlays_lying[UNIFORM_LAYER] overlays -= overlays_standing[UNIFORM_LAYER] var/t_color = w_uniform.color @@ -456,6 +457,7 @@ Please contact me on #coderbus IRC. ~Carn x if(wear_id) if(hud_used && hud_used.hud_shown) wear_id.screen_loc = ui_id //TODO + client.screen += wear_id overlays -= overlays_lying[ID_LAYER] overlays -= overlays_standing[ID_LAYER] overlays_lying[ID_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "id2", "layer" = -ID_LAYER) @@ -475,6 +477,7 @@ Please contact me on #coderbus IRC. ~Carn x if(gloves) if(hud_used && hud_used.hud_shown && hud_used.inventory_shown) gloves.screen_loc = ui_gloves + client.screen += gloves overlays -= overlays_lying[GLOVES_LAYER] overlays -= overlays_standing[GLOVES_LAYER] var/t_state = gloves.item_state @@ -506,6 +509,7 @@ Please contact me on #coderbus IRC. ~Carn x if(glasses) if(hud_used && hud_used.hud_shown && hud_used.inventory_shown) glasses.screen_loc = ui_glasses + client.screen += glasses overlays -= overlays_lying[GLASSES_LAYER] overlays -= overlays_standing[GLASSES_LAYER] overlays_lying[GLASSES_LAYER] = image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]2", "layer" = -GLASSES_LAYER) @@ -525,6 +529,7 @@ Please contact me on #coderbus IRC. ~Carn x if(ears) if(hud_used && hud_used.hud_shown && hud_used.inventory_shown) ears.screen_loc = ui_ears + client.screen += ears overlays -= overlays_lying[EARS_LAYER] overlays -= overlays_standing[EARS_LAYER] overlays_lying[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[ears.icon_state]2", "layer" = -EARS_LAYER) @@ -544,6 +549,7 @@ Please contact me on #coderbus IRC. ~Carn x if(shoes) if(hud_used && hud_used.hud_shown && hud_used.inventory_shown) shoes.screen_loc = ui_shoes + client.screen += shoes var/image/lying = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]2", "layer" = -SHOES_LAYER) var/image/standing = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]", "layer" = -SHOES_LAYER) if(shoes.blood_DNA) @@ -568,6 +574,7 @@ Please contact me on #coderbus IRC. ~Carn x if(s_store) if(hud_used && hud_used.hud_shown) s_store.screen_loc = ui_sstore1 //TODO + client.screen += s_store overlays -= overlays_lying[SUIT_STORE_LAYER] overlays -= overlays_standing[SUIT_STORE_LAYER] var/t_state = s_store.item_state @@ -590,6 +597,7 @@ Please contact me on #coderbus IRC. ~Carn x if(head) if(hud_used && hud_used.hud_shown && hud_used.inventory_shown) head.screen_loc = ui_head //TODO + client.screen += head overlays -= overlays_lying[HEAD_LAYER] overlays -= overlays_standing[HEAD_LAYER] var/image/lying @@ -620,6 +628,7 @@ Please contact me on #coderbus IRC. ~Carn x if(belt) if(hud_used && hud_used.hud_shown) belt.screen_loc = ui_belt //TODO + client.screen += belt overlays -= overlays_lying[BELT_LAYER] overlays -= overlays_standing[BELT_LAYER] var/t_state = belt.item_state @@ -642,6 +651,7 @@ Please contact me on #coderbus IRC. ~Carn x if( wear_suit && istype(wear_suit, /obj/item/clothing/suit) ) //TODO check this if(hud_used && hud_used.hud_shown && hud_used.inventory_shown) wear_suit.screen_loc = ui_oclothing //TODO + client.screen += wear_suit overlays -= overlays_lying[SUIT_LAYER] overlays -= overlays_standing[SUIT_LAYER] var/image/lying = image("icon" = 'icons/mob/suit.dmi', "icon_state" = "[wear_suit.icon_state]2", "layer" = -SUIT_LAYER) @@ -685,8 +695,14 @@ Please contact me on #coderbus IRC. ~Carn x if(update_icons) update_icons() /mob/living/carbon/human/update_inv_pockets(var/update_icons=1) - if(l_store) l_store.screen_loc = ui_storage1 //TODO - if(r_store) r_store.screen_loc = ui_storage2 //TODO + if(l_store) + if(hud_used && hud_used.hud_shown) + l_store.screen_loc = ui_storage1 //TODO + client.screen += l_store + if(r_store) + if(hud_used && hud_used.hud_shown) + r_store.screen_loc = ui_storage2 //TODO + client.screen += r_store if(update_icons) update_icons() @@ -694,6 +710,7 @@ Please contact me on #coderbus IRC. ~Carn x if( wear_mask && istype(wear_mask, /obj/item/clothing/mask) ) if(hud_used && hud_used.hud_shown && hud_used.inventory_shown) wear_mask.screen_loc = ui_mask //TODO + client.screen += wear_mask overlays -= overlays_lying[FACEMASK_LAYER] overlays -= overlays_standing[FACEMASK_LAYER] var/image/lying = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state]2", "layer" = -FACEMASK_LAYER) @@ -719,6 +736,7 @@ Please contact me on #coderbus IRC. ~Carn x if(back) if(hud_used && hud_used.hud_shown) back.screen_loc = ui_back //TODO + client.screen += back overlays -= overlays_lying[BACK_LAYER] overlays -= overlays_standing[BACK_LAYER] overlays_lying[BACK_LAYER] = image("icon" = 'icons/mob/back.dmi', "icon_state" = "[back.icon_state]2", "layer" = -BACK_LAYER) @@ -796,6 +814,7 @@ Please contact me on #coderbus IRC. ~Carn x /mob/living/carbon/human/update_inv_r_hand(var/update_icons=1) if(r_hand) r_hand.screen_loc = ui_rhand //TODO + client.screen += r_hand var/t_state = r_hand.item_state if(!t_state) t_state = r_hand.icon_state overlays -= overlays_standing[R_HAND_LAYER] @@ -810,6 +829,7 @@ Please contact me on #coderbus IRC. ~Carn x /mob/living/carbon/human/update_inv_l_hand(var/update_icons=1) if(l_hand) l_hand.screen_loc = ui_lhand //TODO + client.screen += l_hand var/t_state = l_hand.item_state if(!t_state) t_state = l_hand.icon_state overlays -= overlays_standing[L_HAND_LAYER] From eeb0e1dbe34651f6aef8b59183ac7e9ad2eeec50 Mon Sep 17 00:00:00 2001 From: Aranclanos Date: Fri, 15 Mar 2013 06:39:46 -0300 Subject: [PATCH 4/8] Same change here, but with monkeys. --- code/modules/mob/living/carbon/monkey/update_icons.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm index eac1d124812..05be068b3e0 100644 --- a/code/modules/mob/living/carbon/monkey/update_icons.dm +++ b/code/modules/mob/living/carbon/monkey/update_icons.dm @@ -41,6 +41,8 @@ /mob/living/carbon/monkey/update_inv_wear_mask(var/update_icons=1) if( wear_mask && istype(wear_mask, /obj/item/clothing/mask) ) wear_mask.screen_loc = ui_monkey_mask + if(hud_used) + client.screen += wear_mask overlays -= overlays_lying[M_MASK_LAYER] overlays -= overlays_standing[M_MASK_LAYER] var/image/lying = image("icon" = 'icons/mob/monkey.dmi', "icon_state" = "[wear_mask.icon_state]2", "layer" = -M_MASK_LAYER) @@ -65,6 +67,8 @@ /mob/living/carbon/monkey/update_inv_r_hand(var/update_icons=1) if(r_hand) r_hand.screen_loc = ui_rhand + if(hud_used) + client.screen += r_hand var/t_state = r_hand.item_state if(!t_state) t_state = r_hand.icon_state overlays -= overlays_standing[M_R_HAND_LAYER] @@ -79,6 +83,8 @@ /mob/living/carbon/monkey/update_inv_l_hand(var/update_icons=1) if(l_hand) l_hand.screen_loc = ui_lhand + if(hud_used) + client.screen += l_hand var/t_state = l_hand.item_state if(!t_state) t_state = l_hand.icon_state overlays -= overlays_standing[M_L_HAND_LAYER] @@ -93,6 +99,8 @@ /mob/living/carbon/monkey/update_inv_back(var/update_icons=1) if(back) back.screen_loc = ui_monkey_back + if(hud_used) + client.screen += back overlays -= overlays_lying[M_BACK_LAYER] overlays -= overlays_standing[M_BACK_LAYER] overlays_lying[M_BACK_LAYER] = image("icon" = 'icons/mob/back.dmi', "icon_state" = "[back.icon_state]2", "layer" = -M_BACK_LAYER) From 8b906530fe97032f7ffce7325e9ed90beba62826 Mon Sep 17 00:00:00 2001 From: Nodrak Date: Sat, 16 Mar 2013 13:05:50 -0400 Subject: [PATCH 5/8] Changed the airlock_painter stuff back to how Ricotez had them coded. Instead of clicking on the painter and setting the airlock type that way, you do it when you click on the door with the painter. Cheridan fixed the inhand sprites being off, thanks Cheridan! --- .../objects/items/weapons/airlock_painter.dm | 40 ++++++++++++++++++ code/game/objects/structures/door_assembly.dm | 26 ++++++++++-- icons/mob/items_lefthand.dmi | Bin 134876 -> 134761 bytes icons/mob/items_righthand.dmi | Bin 136577 -> 136531 bytes 4 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 code/game/objects/items/weapons/airlock_painter.dm diff --git a/code/game/objects/items/weapons/airlock_painter.dm b/code/game/objects/items/weapons/airlock_painter.dm new file mode 100644 index 00000000000..12a902de928 --- /dev/null +++ b/code/game/objects/items/weapons/airlock_painter.dm @@ -0,0 +1,40 @@ +/obj/item/weapon/airlock_painter + name = "airlock painter" + desc = "This device can change the paintjob of an airlock assembly." + icon = 'icons/obj/objects.dmi' + icon_state = "paint sprayer" + item_state = "paint sprayer" + + w_class = 2.0 + + m_amt = 50 + g_amt = 50 + origin_tech = "engineering=1" + + flags = FPRINT | TABLEPASS| CONDUCT + slot_flags = SLOT_BELT + + var/obj/item/device/toner/ink = null + + New() + ink = new /obj/item/device/toner(src) + + proc/use() + if(!ink || ink.charges < 1) + return 0 + else + ink.charges-- + return 1 + + examine() + set src in usr + var/ink_level = "high" + if(!ink || ink.charges < 1) + ink_level = "empty" + else if((ink.charges/ink.max_charges) <= 0.25) //25% + ink_level = "low" + else if((ink.charges/ink.max_charges) > 1) //Over 100% (admin var edit) + ink_level = "dangerously high" + usr << "\icon[src] [src.name] is a small but effective airlock painting tool. Its ink levels look [ink_level]." + return + diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index bb6d0537337..3da595321e0 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -319,22 +319,40 @@ obj/structure/door_assembly return else if(istype(W, /obj/item/weapon/airlock_painter)) // |- Ricotez + //INFORMATION ABOUT ADDING A NEW AIRLOCK TO THE PAINT LIST: + //If your airlock has a regular version, add it to the list with regular versions. + //If your airlock has a glass version, add it to the list with glass versions. + //Do NOT add your airlock to a list if it does not have a version for that list, + // or you will get broken icons. + //If you do this properly, you can just add the typetext and icontext of your airlock + // to the big switch without having to make exceptions for glass airlocks, it will + // simply be unavailable if the painter is used on an airlock of the wrong type. + //If your airlock has both a regular and a glass version, remember to also add the + // icontext as exception in the part of the code that deals with turning a regular + // airlock into a glass airlock, else your airlock can't transition from regular to + // glass and will instead revert back to the white sprite. + // |- Ricotez var/obj/item/weapon/airlock_painter/WT = W - if(WT.ink && WT.ink.charges > 0) + if(WT.ink.charges) var/icontype + var/optionlist var/glasstext = "" var/gicontext = "" if(src.mineral) if(src.mineral == "glass") gicontext = "g" glasstext = "glass_" - icontype = WT.glass_setting + //These airlocks have a glass version. + optionlist = list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining") else user << "The painter does not work on airlocks coated in minerals!" return else - icontype = WT.solid_setting + //These airlocks have a regular version. + optionlist = list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance", "External", "High Security") + + icontype = input(user, "Please select a paintjob for this glass airlock.") in optionlist if(!in_range(src, usr) && src.loc != usr) return switch(icontype) if("Default") @@ -377,7 +395,7 @@ obj/structure/door_assembly user << "\blue You change the paintjob on the airlock assembly." WT.use() else - user << "\blue You're out of toner!" + user << "\blue There aren't any charges left!" return else if(istype(W, /obj/item/weapon/weldingtool) && !anchored ) diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 388941d681e7d29c49ef319b2de214efa1ca165e..332a4907d0a9bd9b870561183455aca2e9238e05 100644 GIT binary patch delta 13650 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 delta 13786 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 cJ0Ng^3(351{iccymF6oD{@KC2vw;;9)f0do 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%0A%JaM{Pq&84w{0l0Si_%S}Rp5F7GZPMB_K5n0Y^ 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 Wxt-uJ7ajs$50xJ)6)9M}{=Wcn!I6zRQ} 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 af*dc|cSZd-t=}QwrTkR&N%3RjPyYii)0}4j From 4dec21688731ab640130b4fcab609ec1ea3d65a8 Mon Sep 17 00:00:00 2001 From: Cheridan Date: Sat, 16 Mar 2013 19:40:44 -0500 Subject: [PATCH 6/8] -Adds a confirmation message to the Empty Spray Bottle verb. -Reorganizes all the copy-pasted reagents in Chemistry-Reagents.dm. Cuts out about a THOUSAND lines. -Sleep toxin is made more subtle. No blurry screen, but you might yawn some. Chloral no longer has an instant KO effect, but your vision will become blurry and you'll be unable to run once injected. It is metabolized faster as well. --- code/modules/reagents/Chemistry-Reagents.dm | 2041 +++++------------ .../reagents/reagent_containers/spray.dm | 2 + 2 files changed, 606 insertions(+), 1437 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 2f760c59954..25881fb1aae 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -428,7 +428,9 @@ datum if(!M) M = holder.my_atom if(!data) data = 1 switch(data) - if(1 to 15) + if(1 to 12) + if(prob(5)) M.emote("yawn") + if(12 to 15) M.eye_blurry = max(M.eye_blurry, 10) if(15 to 25) M.drowsyness = max(M.drowsyness, 20) @@ -1691,40 +1693,6 @@ datum reagent_state = LIQUID color = "#181818" // rgb: 24, 24, 24 - ethanol - name = "Ethanol" - id = "ethanol" - description = "A well-known alcohol with a variety of applications." - reagent_state = LIQUID - color = "#404030" // rgb: 64, 64, 48 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.make_dizzy(5) - M.jitteriness = max(M.jitteriness-5,0) - if(data >= 25) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 4 - if(data >= 40 && prob(33)) - if (!M.confused) M.confused = 1 - M.confused += 3 - ..() - return - reaction_obj(var/obj/O, var/volume) - if(istype(O,/obj/item/weapon/paper)) - var/obj/item/weapon/paper/paperaffected = O - paperaffected.clearpaper() - usr << "The solution melts away the ink on the paper." - if(istype(O,/obj/item/weapon/book)) - if(volume >= 5) - var/obj/item/weapon/book/affectedbook = O - affectedbook.dat = null - usr << "The solution melts away the ink on the book." - else - usr << "It wasn't enough..." - return - ammonia name = "Ammonia" id = "ammonia" @@ -1773,14 +1741,15 @@ datum if(!data) data = 1 data++ switch(data) - if(1) + if(1 to 10) M.confused += 2 M.drowsyness += 2 - if(2 to 50) + if(10 to 50) M.sleeping += 1 if(51 to INFINITY) M.sleeping += 1 M.adjustToxLoss((data - 50)*REM) + holder.remove_reagent(src.id, 0.5 * REAGENTS_METABOLISM) ..() return @@ -2586,31 +2555,6 @@ datum ..() return - thirteenloko - name = "Thirteen Loko" - id = "thirteenloko" - description = "A potent mixture of caffeine and alcohol." - reagent_state = LIQUID - color = "#102000" // rgb: 16, 32, 0 - - on_mob_life(var/mob/living/M as mob) - M.drowsyness = max(0,M.drowsyness-7) - M.sleeping = max(0,M.sleeping-2) - if (M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) - M.make_jittery(5) - M.nutrition += 1 - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 45 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - dr_gibb name = "Dr. Gibb" id = "dr_gibb" @@ -2654,203 +2598,18 @@ datum ..() return - beer - name = "Beer" - id = "beer" - description = "An alcoholic beverage made from malted grains, hops, yeast, and water." + sodawater + name = "Soda Water" + id = "sodawater" + description = "A can of club soda. Why not make a scotch and soda?" reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 + color = "#619494" // rgb: 97, 148, 148 on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.make_dizzy(3) - M.jitteriness = max(M.jitteriness-3,0) - M.nutrition += 2 - if(data >= 25) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - if(data >= 40 && prob(33)) - if (!M.confused) M.confused = 1 - M.confused += 2 - - ..() - return - - whiskey - name = "Whiskey" - id = "whiskey" - description = "A superb and well-aged single-malt whiskey. Damn." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - specialwhiskey - name = "Special Blend Whiskey" - id = "specialwhiskey" - description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - - gin - name = "Gin" - id = "gin" - description = "It's gin. In space. I say, good sir." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - rum - name = "Rum" - id = "rum" - description = "Yohoho and all that." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - vodka - name = "Vodka" - id = "vodka" - description = "Number one drink AND fueling choice for Russians worldwide." - reagent_state = LIQUID - color = "#0064C8" // rgb: 0, 100, 200 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - M.radiation = max(M.radiation-2,0) - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - holywater - name = "Holy Water" - id = "holywater" - description = "Water blessed by some deity." - reagent_state = LIQUID - color = "#E0E8EF" // rgb: 224, 232, 239 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=8 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 8 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+8,8) - ..() - return - - reaction_turf(var/turf/simulated/T, var/volume) - if(!istype(T)) return - T.Bless() - - tequilla - name = "Tequila" - id = "tequilla" - description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?" - reagent_state = LIQUID - color = "#FFFF91" // rgb: 255, 255, 145 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - vermouth - name = "Vermouth" - id = "vermouth" - description = "You suddenly feel a craving for a martini..." - reagent_state = LIQUID - color = "#91FF91" // rgb: 145, 255, 145 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - wine - name = "Wine" - id = "wine" - description = "An premium alchoholic beverage made from distilled grape juice." - reagent_state = LIQUID - color = "#7E4043" // rgb: 126, 64, 67 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=2 - if(data >= 65 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 145 && prob(33)) - M.confused = max(M.confused+2,0) + M.dizziness = max(0,M.dizziness-5) + M.drowsyness = max(0,M.drowsyness-3) + if (M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) ..() return @@ -2870,94 +2629,6 @@ datum ..() return - kahlua - name = "Kahlua" - id = "kahlua" - description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - M.dizziness = max(0,M.dizziness-5) - M.drowsyness = max(0,M.drowsyness-3) - M.sleeping = max(0,M.sleeping-2)//Copy-paste from Coffee, derp - M.make_jittery(5) - ..() - return - - - cognac - name = "Cognac" - id = "cognac" - description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication." - reagent_state = LIQUID - color = "#AB3C05" // rgb: 171, 60, 5 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 45 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - hooch - name = "Hooch" - id = "hooch" - description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=6 - if(data >= 35 && data <90) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 5 - else if(data >= 90 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - ale - name = "Ale" - id = "ale" - description = "A dark alchoholic beverage made by malted barley and yeast." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - sodawater - name = "Soda Water" - id = "sodawater" - description = "A can of club soda. Why not make a scotch and soda?" - reagent_state = LIQUID - color = "#619494" // rgb: 97, 148, 148 - - on_mob_life(var/mob/living/M as mob) - M.dizziness = max(0,M.dizziness-5) - M.drowsyness = max(0,M.drowsyness-3) - if (M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) - ..() - return - ice name = "Ice" id = "ice" @@ -2971,948 +2642,6 @@ datum ..() return -/////////////////////////////////////////////////////////////////cocktail entities////////////////////////////////////////////// - - bilk - name = "Bilk" - id = "bilk" - description = "This appears to be beer mixed with milk. Disgusting." - reagent_state = LIQUID - color = "#895C4C" // rgb: 137, 92, 76 - - on_mob_life(var/mob/living/M as mob) - if(M.getBruteLoss() && prob(10)) M.heal_organ_damage(1,0) - M.nutrition += 2 - if(!data) data = 1 - data++ - M.make_dizzy(3) - M.jitteriness = max(M.jitteriness-3,0) - if(data >= 25) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - if(data >= 40 && prob(33)) - if (!M.confused) M.confused = 1 - M.confused += 2 - ..() - return - - atomicbomb - name = "Atomic Bomb" - id = "atomicbomb" - description = "Nuclear proliferation never tasted so good." - reagent_state = LIQUID - color = "#666300" // rgb: 102, 99, 0 - - on_mob_life(var/mob/living/M as mob) - M.druggy = max(M.druggy, 50) - M.confused = max(M.confused+2,0) - M.make_dizzy(10) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - if(!data) data = 1 - data++ - switch(data) - if(51 to INFINITY) - M.sleeping += 1 - ..() - return - - threemileisland - name = "THree Mile Island Iced Tea" - id = "threemileisland" - description = "Made for a woman, strong enough for a man." - reagent_state = LIQUID - color = "#666340" // rgb: 102, 99, 64 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - M.druggy = max(M.druggy, 50) - if(data >= 35 && data <90) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 90) - M.confused = max(M.confused+2,0) - ..() - return - - goldschlager - name = "Goldschlager" - id = "goldschlager" - description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." - reagent_state = LIQUID - color = "#FFFF91" // rgb: 255, 255, 145 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - patron - name = "Patron" - id = "patron" - description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." - reagent_state = LIQUID - color = "#585840" // rgb: 88, 88, 64 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - gintonic - name = "Gin and Tonic" - id = "gintonic" - description = "An all time classic, mild cocktail." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <135) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 135 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - cuba_libre - name = "Cuba Libre" - id = "cubalibre" - description = "Rum, mixed with cola. Viva la revolution." - reagent_state = LIQUID - color = "#3E1B00" // rgb: 62, 27, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <135) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 135 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - whiskey_cola - name = "Whiskey Cola" - id = "whiskeycola" - description = "Whiskey, mixed with cola. Surprisingly refreshing." - reagent_state = LIQUID - color = "#3E1B00" // rgb: 62, 27, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - martini - name = "Classic Martini" - id = "martini" - description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 135 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - vodkamartini - name = "Vodka Martini" - id = "vodkamartini" - description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 135 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - white_russian - name = "White Russian" - id = "whiterussian" - description = "That's just, like, your opinion, man..." - reagent_state = LIQUID - color = "#A68340" // rgb: 166, 131, 64 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - screwdrivercocktail - name = "Screwdriver" - id = "screwdrivercocktail" - description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." - reagent_state = LIQUID - color = "#A68310" // rgb: 166, 131, 16 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - booger - name = "Booger" - id = "booger" - description = "Ewww..." - reagent_state = LIQUID - color = "#8CFF8C" // rgb: 140, 255, 140 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 4 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+4,0) - ..() - return - - bloody_mary - name = "Bloody Mary" - id = "bloodymary" - description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - gargle_blaster - name = "Pan-Galactic Gargle Blaster" - id = "gargleblaster" - description = "Whoah, this stuff looks volatile!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=6 - if(data >= 15 && data <45) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 45 && prob(50) && data <55) - M.confused = max(M.confused+3,0) - else if(data >=55) - M.druggy = max(M.druggy, 55) - ..() - return - - brave_bull - name = "Brave Bull" - id = "bravebull" - description = "It's just as effective as Dutch-Courage!." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <145) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 145 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - tequilla_sunrise - name = "Tequila Sunrise" - id = "tequillasunrise" - description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" - reagent_state = LIQUID - color = "#FFE48C" // rgb: 255, 228, 140 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - toxins_special - name = "Toxins Special" - id = "toxinsspecial" - description = "This thing is ON FIRE!. CALL THE DAMN SHUTTLE!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if (M.bodytemperature < 330) - M.bodytemperature = min(330, M.bodytemperature + (15 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - beepsky_smash - name = "Beepsky Smash" - id = "beepskysmash" - description = "Deny drinking this and prepare for THE LAW." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - M.Stun(2) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - doctor_delight - name = "The Doctor's Delight" - id = "doctorsdelight" - description = "A gulp a day keeps the MediBot away. That's probably for the best." - reagent_state = LIQUID - color = "#FF8CFF" // rgb: 255, 140, 255 - - on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(M.getOxyLoss() && prob(80)) M.adjustOxyLoss(-2) - if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(2,0) - if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,2) - if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-2) - if(M.dizziness !=0) M.dizziness = max(0,M.dizziness-15) - if(M.confused !=0) M.confused = max(0,M.confused - 5) - ..() - return - - irish_cream - name = "Irish Cream" - id = "irishcream" - description = "Whiskey-imbued cream, what else would you expect from the Irish." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 45 && data <145) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 145 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - manly_dorf - name = "The Manly Dorf" - id = "manlydorf" - description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=5 - if(data >= 35 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - longislandicedtea - name = "Long Island Iced Tea" - id = "longislandicedtea" - description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - moonshine - name = "Moonshine" - id = "moonshine" - description = "You've really hit rock bottom now... your liver packed its bags and left last night." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=5 - if(data >= 30 && data <60) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 4 - else if(data >= 60 && prob(40)) - M.confused = max(M.confused+5,0) - ..() - return - - b52 - name = "B-52" - id = "b52" - description = "Coffee, Irish Cream, and cognac. You will get bombed." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 25 && data <90) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 90 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - irishcoffee - name = "Irish Coffee" - id = "irishcoffee" - description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <150) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 150 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - margarita - name = "Margarita" - id = "margarita" - description = "On the rocks with salt on the rim. Arriba~!" - reagent_state = LIQUID - color = "#8CFF8C" // rgb: 140, 255, 140 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 55 && data <150) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 150 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - black_russian - name = "Black Russian" - id = "blackrussian" - description = "For the lactose-intolerant. Still as classy as a White Russian." - reagent_state = LIQUID - color = "#360000" // rgb: 54, 0, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - manhattan - name = "Manhattan" - id = "manhattan" - description = "The Detective's undercover drink of choice. He never could stomach gin..." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - manhattan_proj - name = "Manhattan Project" - id = "manhattan_proj" - description = "A scientist's drink of choice, for pondering ways to blow up the station." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - M.druggy = max(M.druggy, 30) - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - whiskeysoda - name = "Whiskey Soda" - id = "whiskeysoda" - description = "For the more refined griffon." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - antifreeze - name = "Anti-freeze" - id = "antifreeze" - description = "Ultimate refreshment." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if (M.bodytemperature < 330) - M.bodytemperature = min(330, M.bodytemperature + (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - barefoot - name = "Barefoot" - id = "barefoot" - description = "Barefoot and pregnant" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=5 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 5 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+5,0) - ..() - return - - snowwhite - name = "Snow White" - id = "snowwhite" - description = "A cold refreshment" - reagent_state = LIQUID - color = "#FFFFFF" // rgb: 255, 255, 255 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 4 - else if(data >= 115 && prob(30)) - M.confused = max(M.confused+4,0) - ..() - return - - demonsblood - name = "Demons Blood" - id = "demonsblood" - description = "AHHHH!!!!" - reagent_state = LIQUID - color = "#820000" // rgb: 130, 0, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=10 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 10 - else if(data >= 115 && prob(90)) - M.confused = max(M.confused+10,10) - ..() - return - - vodkatonic - name = "Vodka and Tonic" - id = "vodkatonic" - description = "For when a gin and tonic isn't russian enough." - reagent_state = LIQUID - color = "#0064C8" // rgb: 0, 100, 200 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - ginfizz - name = "Gin Fizz" - id = "ginfizz" - description = "Refreshingly lemony, deliciously dry." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - bahama_mama - name = "Bahama mama" - id = "bahama_mama" - description = "Tropical cocktail." - reagent_state = LIQUID - color = "#FF7F3B" // rgb: 255, 127, 59 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=3 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+2,0) - if (M.bodytemperature > 310) - M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) - ..() - return - - singulo - name = "Singulo" - id = "singulo" - description = "A blue-space beverage!" - reagent_state = LIQUID - color = "#2E6671" // rgb: 46, 102, 113 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=15 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 15 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+15,15) - ..() - return - - sbiten - name = "Sbiten" - id = "sbiten" - description = "A spicy Vodka! Might be a little hot for the little guys!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if (M.bodytemperature < 360) - M.bodytemperature = min(360, M.bodytemperature + (50 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 - if(!data) data = 1 - data++ - M.dizziness +=6 - if(data >= 45 && data <125) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 6 - else if(data >= 125 && prob(33)) - M.confused = max(M.confused+5,5) - ..() - return - - devilskiss - name = "Devils Kiss" - id = "devilskiss" - description = "Creepy time!" - reagent_state = LIQUID - color = "#A68310" // rgb: 166, 131, 16 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 4 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+4,0) - ..() - return - - red_mead - name = "Red Mead" - id = "red_mead" - description = "The true Viking drink! Even though it has a strange red color." - reagent_state = LIQUID - color = "#C73C00" // rgb: 199, 60, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=5 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 4 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+4,4) - ..() - return - - mead - name = "Mead" - id = "mead" - description = "A Vikings drink, though a cheap one." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.make_dizzy(3) - M.jitteriness = max(M.jitteriness-3,0) - M.nutrition += 2 - if(data >= 25) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - if(data >= 40 && prob(33)) - if (!M.confused) M.confused = 1 - M.confused += 2 - - ..() - return - - iced_beer - name = "Iced Beer" - id = "iced_beer" - description = "A beer which is so cold the air around it freezes." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(M.bodytemperature > 270) - M.bodytemperature = max(270, M.bodytemperature - (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 - if(!data) data = 1 - data++ - M.make_dizzy(3) - M.jitteriness = max(M.jitteriness-3,0) - M.nutrition += 2 - if(data >= 25) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 3 - if(data >= 40 && prob(33)) - if (!M.confused) M.confused = 1 - M.confused += 2 - - ..() - return - - grog - name = "Grog" - id = "grog" - description = "Watered down rum, Nanotrasen approves!" - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=2 - if(data >= 90 && data <250) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 2 - else if(data >= 250 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - aloe - name = "Aloe" - id = "aloe" - description = "So very, very, very good." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=2 - if(data >= 90 && data <250) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 2 - else if(data >= 250 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - andalusia - name = "Andalusia" - id = "andalusia" - description = "A nice, strange named drink." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=8 - if(data >= 90 && data <250) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 1 - else if(data >= 250 && prob(33)) - M.confused = max(M.confused+2,0) - ..() - return - - alliescocktail - name = "Allies Cocktail" - id = "alliescocktail" - description = "A drink made from your allies, not as sweet as when made from your enemies." - reagent_state = LIQUID - color = "#664300" // rgb: 102, 67, 0 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=4 - if(data >= 90 && data <250) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 7 - else if(data >= 250 && prob(60)) - M.confused = max(M.confused+8,0) - ..() - return - soy_latte name = "Soy Latte" id = "soy_latte" @@ -3953,42 +2682,65 @@ datum ..() return - acid_spit - name = "Acid Spit" - id = "acidspit" - description = "A drink for the daring, can be deadly if incorrectly prepared!" + doctor_delight + name = "The Doctor's Delight" + id = "doctorsdelight" + description = "A gulp a day keeps the MediBot away. That's probably for the best." reagent_state = LIQUID - color = "#365000" // rgb: 54, 80, 0 + color = "#FF8CFF" // rgb: 255, 140, 255 on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=10 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 10 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+10,0) + if(!M) M = holder.my_atom + if(M.getOxyLoss() && prob(80)) M.adjustOxyLoss(-2) + if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(2,0) + if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,2) + if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-2) + if(M.dizziness !=0) M.dizziness = max(0,M.dizziness-15) + if(M.confused !=0) M.confused = max(0,M.confused - 5) ..() return - amasec - name = "Amasec" - id = "amasec" - description = "Official drink of the Nanotrasen Gun-Club!" +//////////////////////////////////////////////The ten friggen million reagents that get you drunk////////////////////////////////////////////// + + atomicbomb + name = "Atomic Bomb" + id = "atomicbomb" + description = "Nuclear proliferation never tasted so good." + reagent_state = LIQUID + color = "#666300" // rgb: 102, 99, 0 + + on_mob_life(var/mob/living/M as mob) + M.druggy = max(M.druggy, 50) + M.confused = max(M.confused+2,0) + M.make_dizzy(10) + if (!M.stuttering) M.stuttering = 1 + M.stuttering += 3 + if(!data) data = 1 + data++ + switch(data) + if(51 to INFINITY) + M.sleeping += 1 + ..() + return + + gargle_blaster + name = "Pan-Galactic Gargle Blaster" + id = "gargleblaster" + description = "Whoah, this stuff looks volatile!" reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 on_mob_life(var/mob/living/M as mob) - M.stunned = 1 if(!data) data = 1 data++ - M.dizziness +=4 - if(data >= 55 && data <165) + M.dizziness +=6 + if(data >= 15 && data <45) if (!M.stuttering) M.stuttering = 1 - M.stuttering += 4 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+5,0) + M.stuttering += 3 + else if(data >= 45 && prob(50) && data <55) + M.confused = max(M.confused+3,0) + else if(data >=55) + M.druggy = max(M.druggy, 55) ..() return @@ -4013,10 +2765,8 @@ datum else if(data >=55) M.druggy = max(M.druggy, 55) ..() - return - hippies_delight name = "Hippie's Delight" id = "hippiesdelight" @@ -4028,6 +2778,7 @@ datum if(!M) M = holder.my_atom M.druggy = max(M.druggy, 50) if(!data) data = 1 + data++ switch(data) if(1 to 5) if (!M.stuttering) M.stuttering = 1 @@ -4046,11 +2797,549 @@ datum M.druggy = max(M.druggy, 60) if(prob(30)) M.emote(pick("twitch","giggle")) holder.remove_reagent(src.id, 0.2) - data++ ..() return - bananahonk + ethanol + name = "Ethanol" + id = "ethanol" + description = "A well-known alcohol with a variety of applications." + reagent_state = LIQUID + color = "#404030" // rgb: 64, 64, 48 + var/boozepwr = 45 //lower numbers mean the booze will have an effect faster. + + on_mob_life(var/mob/living/M as mob) + if(!data) data = 1 + data++ + M.jitteriness = max(M.jitteriness-5,0) + if(data >= boozepwr) + if (!M.stuttering) M.stuttering = 1 + M.stuttering += 4 + M.make_dizzy(5) + if(data >= boozepwr*2.5 && prob(33)) + if (!M.confused) M.confused = 1 + M.confused += 3 + ..() + return + reaction_obj(var/obj/O, var/volume) + if(istype(O,/obj/item/weapon/paper)) + var/obj/item/weapon/paper/paperaffected = O + paperaffected.clearpaper() + usr << "The solution melts away the ink on the paper." + if(istype(O,/obj/item/weapon/book)) + if(volume >= 5) + var/obj/item/weapon/book/affectedbook = O + affectedbook.dat = null + usr << "The solution melts away the ink on the book." + else + usr << "It wasn't enough..." + return + + ethanol/beer + name = "Beer" + id = "beer" + description = "An alcoholic beverage made from malted grains, hops, yeast, and water." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 55 + + on_mob_life(var/mob/living/M as mob) + M.nutrition += 1 + ..() + return + + ethanol/kahlua + name = "Kahlua" + id = "kahlua" + description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!" + color = "#664300" // rgb: 102, 67, 0 + + on_mob_life(var/mob/living/M as mob) + M.dizziness = max(0,M.dizziness-5) + M.drowsyness = max(0,M.drowsyness-3) + M.sleeping = max(0,M.sleeping-2) + M.make_jittery(5) + ..() + return + + ethanol/whiskey + name = "Whiskey" + id = "whiskey" + description = "A superb and well-aged single-malt whiskey. Damn." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/thirteenloko + name = "Thirteen Loko" + id = "thirteenloko" + description = "A potent mixture of caffeine and alcohol." + color = "#102000" // rgb: 16, 32, 0 + + on_mob_life(var/mob/living/M as mob) + M.drowsyness = max(0,M.drowsyness-7) + M.sleeping = max(0,M.sleeping-2) + if (M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) + M.make_jittery(5) + M.nutrition += 1 + ..() + return + + ethanol/vodka + name = "Vodka" + id = "vodka" + description = "Number one drink AND fueling choice for Russians worldwide." + color = "#0064C8" // rgb: 0, 100, 200 + + on_mob_life(var/mob/living/M as mob) + M.radiation = max(M.radiation-2,0) + ..() + return + + ethanol/holywater + name = "Holy Water" + id = "holywater" + description = "Water blessed by some deity." + color = "#E0E8EF" // rgb: 224, 232, 239 + boozepwr = 15 + + reaction_turf(var/turf/simulated/T, var/volume) + if(!istype(T)) return + T.Bless() + + ethanol/bilk + name = "Bilk" + id = "bilk" + description = "This appears to be beer mixed with milk. Disgusting." + color = "#895C4C" // rgb: 137, 92, 76 + + on_mob_life(var/mob/living/M as mob) + if(M.getBruteLoss() && prob(10)) M.heal_organ_damage(1,0) + M.nutrition += 2 + ..() + return + + ethanol/threemileisland + name = "Three Mile Island Iced Tea" + id = "threemileisland" + description = "Made for a woman, strong enough for a man." + color = "#666340" // rgb: 102, 99, 64 + + on_mob_life(var/mob/living/M as mob) + M.druggy = max(M.druggy, 50) + ..() + return + + ethanol/gin + name = "Gin" + id = "gin" + description = "It's gin. In space. I say, good sir." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/rum + name = "Rum" + id = "rum" + description = "Yohoho and all that." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/tequilla + name = "Tequila" + id = "tequilla" + description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?" + color = "#FFFF91" // rgb: 255, 255, 145 + + ethanol/vermouth + name = "Vermouth" + id = "vermouth" + description = "You suddenly feel a craving for a martini..." + color = "#91FF91" // rgb: 145, 255, 145 + + ethanol/wine + name = "Wine" + id = "wine" + description = "An premium alchoholic beverage made from distilled grape juice." + color = "#7E4043" // rgb: 126, 64, 67 + + ethanol/cognac + name = "Cognac" + id = "cognac" + description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication." + color = "#AB3C05" // rgb: 171, 60, 5 + + ethanol/hooch + name = "Hooch" + id = "hooch" + description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?" + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 35 + + ethanol/ale + name = "Ale" + id = "ale" + description = "A dark alchoholic beverage made by malted barley and yeast." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/goldschlager + name = "Goldschlager" + id = "goldschlager" + description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." + color = "#FFFF91" // rgb: 255, 255, 145 + + ethanol/patron + name = "Patron" + id = "patron" + description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." + color = "#585840" // rgb: 88, 88, 64 + + ethanol/gintonic + name = "Gin and Tonic" + id = "gintonic" + description = "An all time classic, mild cocktail." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 65 + + ethanol/cuba_libre + name = "Cuba Libre" + id = "cubalibre" + description = "Rum, mixed with cola. Viva la revolution." + color = "#3E1B00" // rgb: 62, 27, 0 + + ethanol/whiskey_cola + name = "Whiskey Cola" + id = "whiskeycola" + description = "Whiskey, mixed with cola. Surprisingly refreshing." + color = "#3E1B00" // rgb: 62, 27, 0 + boozepwr = 65 + + ethanol/martini + name = "Classic Martini" + id = "martini" + description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/vodkamartini + name = "Vodka Martini" + id = "vodkamartini" + description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/white_russian + name = "White Russian" + id = "whiterussian" + description = "That's just, like, your opinion, man..." + color = "#A68340" // rgb: 166, 131, 64 + boozepwr = 55 + + ethanol/screwdrivercocktail + name = "Screwdriver" + id = "screwdrivercocktail" + description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." + color = "#A68310" // rgb: 166, 131, 16 + boozepwr = 55 + + ethanol/booger + name = "Booger" + id = "booger" + description = "Ewww..." + color = "#8CFF8C" // rgb: 140, 255, 140 + boozepwr = 55 + + ethanol/bloody_mary + name = "Bloody Mary" + id = "bloodymary" + description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 55 + + ethanol/brave_bull + name = "Brave Bull" + id = "bravebull" + description = "It's just as effective as Dutch-Courage!." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/tequilla_sunrise + name = "Tequila Sunrise" + id = "tequillasunrise" + description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" + color = "#FFE48C" // rgb: 255, 228, 140 + boozepwr = 55 + + ethanol/toxins_special + name = "Toxins Special" + id = "toxinsspecial" + description = "This thing is ON FIRE!. CALL THE DAMN SHUTTLE!" + reagent_state = LIQUID + color = "#664300" // rgb: 102, 67, 0 + + on_mob_life(var/mob/living/M as mob) + if (M.bodytemperature < 330) + M.bodytemperature = min(330, M.bodytemperature + (15 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 + ..() + return + + ethanol/beepsky_smash + name = "Beepsky Smash" + id = "beepskysmash" + description = "Deny drinking this and prepare for THE LAW." + reagent_state = LIQUID + color = "#664300" // rgb: 102, 67, 0 + + on_mob_life(var/mob/living/M as mob) + M.Stun(2) + ..() + return + + ethanol/irish_cream + name = "Irish Cream" + id = "irishcream" + description = "Whiskey-imbued cream, what else would you expect from the Irish." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/manly_dorf + name = "The Manly Dorf" + id = "manlydorf" + description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 10 + + ethanol/longislandicedtea + name = "Long Island Iced Tea" + id = "longislandicedtea" + description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 55 + + ethanol/moonshine + name = "Moonshine" + id = "moonshine" + description = "You've really hit rock bottom now... your liver packed its bags and left last night." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 25 + + ethanol/b52 + name = "B-52" + id = "b52" + description = "Coffee, Irish Cream, and cognac. You will get bombed." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 25 + + ethanol/irishcoffee + name = "Irish Coffee" + id = "irishcoffee" + description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 55 + + ethanol/margarita + name = "Margarita" + id = "margarita" + description = "On the rocks with salt on the rim. Arriba~!" + color = "#8CFF8C" // rgb: 140, 255, 140 + boozepwr = 55 + + ethanol/black_russian + name = "Black Russian" + id = "blackrussian" + description = "For the lactose-intolerant. Still as classy as a White Russian." + color = "#360000" // rgb: 54, 0, 0 + boozepwr = 55 + + ethanol/manhattan + name = "Manhattan" + id = "manhattan" + description = "The Detective's undercover drink of choice. He never could stomach gin..." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 55 + + ethanol/manhattan_proj + name = "Manhattan Project" + id = "manhattan_proj" + description = "A scientist's drink of choice, for pondering ways to blow up the station." + color = "#664300" // rgb: 102, 67, 0 + + on_mob_life(var/mob/living/M as mob) + M.druggy = max(M.druggy, 30) + ..() + return + + ethanol/whiskeysoda + name = "Whiskey Soda" + id = "whiskeysoda" + description = "For the more refined griffon." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/antifreeze + name = "Anti-freeze" + id = "antifreeze" + description = "Ultimate refreshment." + color = "#664300" // rgb: 102, 67, 0 + + on_mob_life(var/mob/living/M as mob) + if (M.bodytemperature < 330) + M.bodytemperature = min(330, M.bodytemperature + (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 + ..() + return + + ethanol/barefoot + name = "Barefoot" + id = "barefoot" + description = "Barefoot and pregnant" + color = "#664300" // rgb: 102, 67, 0 + + ethanol/snowwhite + name = "Snow White" + id = "snowwhite" + description = "A cold refreshment" + color = "#FFFFFF" // rgb: 255, 255, 255 + + ethanol/demonsblood + name = "Demons Blood" + id = "demonsblood" + description = "AHHHH!!!!" + color = "#820000" // rgb: 130, 0, 0 + + ethanol/vodkatonic + name = "Vodka and Tonic" + id = "vodkatonic" + description = "For when a gin and tonic isn't russian enough." + color = "#0064C8" // rgb: 0, 100, 200 + + ethanol/ginfizz + name = "Gin Fizz" + id = "ginfizz" + description = "Refreshingly lemony, deliciously dry." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/bahama_mama + name = "Bahama mama" + id = "bahama_mama" + description = "Tropical cocktail." + color = "#FF7F3B" // rgb: 255, 127, 59 + + ethanol/singulo + name = "Singulo" + id = "singulo" + description = "A blue-space beverage!" + color = "#2E6671" // rgb: 46, 102, 113 + + ethanol/sbiten + name = "Sbiten" + id = "sbiten" + description = "A spicy Vodka! Might be a little hot for the little guys!" + color = "#664300" // rgb: 102, 67, 0 + + on_mob_life(var/mob/living/M as mob) + if (M.bodytemperature < 360) + M.bodytemperature = min(360, M.bodytemperature + (50 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 + ..() + return + + ethanol/devilskiss + name = "Devils Kiss" + id = "devilskiss" + description = "Creepy time!" + color = "#A68310" // rgb: 166, 131, 16 + + ethanol/red_mead + name = "Red Mead" + id = "red_mead" + description = "The true Viking drink! Even though it has a strange red color." + color = "#C73C00" // rgb: 199, 60, 0 + + ethanol/mead + name = "Mead" + id = "mead" + description = "A Vikings drink, though a cheap one." + reagent_state = LIQUID + color = "#664300" // rgb: 102, 67, 0 + + on_mob_life(var/mob/living/M as mob) + M.nutrition += 1 + ..() + return + + ethanol/iced_beer + name = "Iced Beer" + id = "iced_beer" + description = "A beer which is so cold the air around it freezes." + color = "#664300" // rgb: 102, 67, 0 + + on_mob_life(var/mob/living/M as mob) + if(M.bodytemperature > 270) + M.bodytemperature = max(270, M.bodytemperature - (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055 + ..() + return + + ethanol/grog + name = "Grog" + id = "grog" + description = "Watered down rum, Nanotrasen approves!" + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 90 + + ethanol/aloe + name = "Aloe" + id = "aloe" + description = "So very, very, very good." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/andalusia + name = "Andalusia" + id = "andalusia" + description = "A nice, strange named drink." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/alliescocktail + name = "Allies Cocktail" + id = "alliescocktail" + description = "A drink made from your allies, not as sweet as when made from your enemies." + color = "#664300" // rgb: 102, 67, 0 + + ethanol/acid_spit + name = "Acid Spit" + id = "acidspit" + description = "A drink for the daring, can be deadly if incorrectly prepared!" + reagent_state = LIQUID + color = "#365000" // rgb: 54, 80, 0 + + ethanol/amasec + name = "Amasec" + id = "amasec" + description = "Official drink of the Nanotrasen Gun-Club!" + reagent_state = LIQUID + color = "#664300" // rgb: 102, 67, 0 + + ethanol/changelingsting + name = "Changeling Sting" + id = "changelingsting" + description = "You take a tiny sip and feel a burning sensation..." + color = "#2E6671" // rgb: 46, 102, 113 + + ethanol/irishcarbomb + name = "Irish Car Bomb" + id = "irishcarbomb" + description = "Mmm, tastes like chocolate cake..." + color = "#2E6671" // rgb: 46, 102, 113 + + ethanol/syndicatebomb + name = "Syndicate Bomb" + id = "syndicatebomb" + description = "Tastes like terrorism!" + color = "#2E6671" // rgb: 46, 102, 113 + + ethanol/erikasurprise + name = "Erika Surprise" + id = "erikasurprise" + description = "The surprise is, it's green!" + color = "#2E6671" // rgb: 46, 102, 113 + + ethanol/driestmartini + name = "Driest Martini" + id = "driestmartini" + description = "Only for the experienced. You think you see sand floating in the glass." + nutriment_factor = 1 * REAGENTS_METABOLISM + color = "#2E6671" // rgb: 46, 102, 113 + boozepwr = 25 + + ethanol/bananahonk name = "Banana Mama" id = "bananahonk" description = "A drink from Clown Heaven." @@ -4059,32 +3348,13 @@ datum on_mob_life(var/mob/living/M as mob) M.nutrition += nutriment_factor - if(!data) data = 1 - data++ - if(istype(M, /mob/living/carbon/human) && M.job in list("Clown")) + if(istype(M, /mob/living/carbon/human) && M.job in list("Clown") || istype(M, /mob/living/carbon/monkey)) if(!M) M = holder.my_atom M.heal_organ_damage(1,1) - M.dizziness +=5 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 5 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+5,0) - ..() - return - if(istype(M, /mob/living/carbon/monkey)) - if(!M) M = holder.my_atom - M.heal_organ_damage(1,1) - M.dizziness +=5 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 5 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+5,0) ..() return - silencer + ethanol/silencer name = "Silencer" id = "silencer" description = "A drink from Mime Heaven." @@ -4093,114 +3363,11 @@ datum on_mob_life(var/mob/living/M as mob) M.nutrition += nutriment_factor - if(!data) data = 1 - data++ if(istype(M, /mob/living/carbon/human) && M.job in list("Mime")) if(!M) M = holder.my_atom M.heal_organ_damage(1,1) - M.dizziness +=5 - if(data >= 55 && data <165) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 5 - else if(data >= 165 && prob(33)) - M.confused = max(M.confused+5,0) ..() return - - changelingsting - name = "Changeling Sting" - id = "changelingsting" - description = "You take a tiny sip and feel a burning sensation..." - reagent_state = LIQUID - color = "#2E6671" // rgb: 46, 102, 113 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=5 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 5 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+15,15) - ..() - return - - irishcarbomb - name = "Irish Car Bomb" - id = "irishcarbomb" - description = "Mmm, tastes like chocolate cake..." - reagent_state = LIQUID - color = "#2E6671" // rgb: 46, 102, 113 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=5 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 5 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+15,15) - ..() - return - - syndicatebomb - name = "Syndicate Bomb" - id = "syndicatebomb" - description = "Tastes like terrorism!" - reagent_state = LIQUID - color = "#2E6671" // rgb: 46, 102, 113 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=10 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 10 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+15,15) - ..() - return - - erikasurprise - name = "Erika Surprise" - id = "erikasurprise" - description = "The surprise is, it's green!" - reagent_state = LIQUID - color = "#2E6671" // rgb: 46, 102, 113 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=30 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 30 - else if(data >= 115 && prob(60)) - M.confused = max(M.confused+15,15) - ..() - return - - driestmartini - name = "Driest Martini" - id = "driestmartini" - description = "Only for the experienced. You think you see sand floating in the glass." - nutriment_factor = 1 * REAGENTS_METABOLISM - color = "#2E6671" // rgb: 46, 102, 113 - - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=10 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 10 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+15,15) - ..() - return // Undefine the alias for REAGENTS_EFFECT_MULTIPLER #undef REM diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index da78e252a3a..cd7c6c90887 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -90,6 +90,8 @@ set category = "Object" set src in usr + if (alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", "Yes", "No") != "Yes") + return if(isturf(usr.loc)) usr << "You empty the [src] onto the floor." reagents.reaction(usr.loc) From 8152283edcdcae0c6312b8caeb66713170bd9d20 Mon Sep 17 00:00:00 2001 From: carnie Date: Mon, 18 Mar 2013 05:33:31 +0000 Subject: [PATCH 7/8] Disables the code for fetching SVN-revision info. Obviously, this is because we have emigrated to github. --- code/datums/helper_datums/getrev.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index e9c1bd70d0a..d9ccc2e5b7e 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -4,7 +4,7 @@ * */ -var/global/datum/getrev/revdata = new("config/svndir.txt") +var/global/datum/getrev/revdata // = new("config/svndir.txt") //commented out until the git revcount stuff is ready //Oh yeah, I'm an OOP fag, lalala /datum/getrev @@ -90,11 +90,11 @@ var/global/datum/getrev/revdata = new("config/svndir.txt") client/verb/showrevinfo() set category = "OOC" set name = "Show Server Revision" - var/output = "Sorry, the revision info is unavailable." + var/output = "Sorry, the revision info is unavailable.
" if(revdata) output = revdata.showInfo() - output += "Current Infomational Settings:
" - output += "Protect Authority Roles From Tratior: [config.protect_roles_from_antagonist]
" + output += "Current Infomational Settings:
" + output += "Protect Authority Roles From Tratior: [config.protect_roles_from_antagonist]
" usr << browse(output,"window=revdata"); return From 48fafe66bb5b205d2d9e068348c9232501672786 Mon Sep 17 00:00:00 2001 From: Uristqwerty Date: Tue, 19 Mar 2013 08:59:39 -0400 Subject: [PATCH 8/8] Pathing optimization + Added Distance_cardinal proc. Should result in slightly more CPU-efficient pathing when used with CardinalTurfsWithAccess, or other adjacent turf procs that do not return diagonals. + Changed calls to AStar that used CardinalTurfsWithAccess to use Distance_cardinal instead of Distance Overall effect: A bit less CPU used during pathing, if a bot has to path around corners. If a bot doesn't have to path around corners, it should be about as fast as before. --- code/game/machinery/bots/cleanbot.dm | 2 +- code/game/machinery/bots/ed209bot.dm | 2 +- code/game/machinery/bots/medbot.dm | 2 +- code/game/machinery/bots/mulebot.dm | 2 +- code/game/machinery/bots/secbot.dm | 2 +- code/game/turfs/turf.dm | 7 +++++++ 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index ad64713c8df..f1995865c6e 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -224,7 +224,7 @@ text("
[src.oddbutton ? "Yes" : "No" if (!next_dest_loc) next_dest_loc = closest_loc if (next_dest_loc) - src.patrol_path = AStar(src.loc, next_dest_loc, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=null) + src.patrol_path = AStar(src.loc, next_dest_loc, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=null) if(!patrol_path) patrol_path = list() else diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index a07da54e0c1..c8ccb1c924b 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -614,7 +614,7 @@ Auto Patrol: []"}, // calculates a path to the current destination // given an optional turf to avoid /obj/machinery/bot/ed209/proc/calc_path(var/turf/avoid = null) - src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=avoid) + src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=avoid) if(!src.path) src.path = list() diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index 807d8cb57d8..e91a2b42bde 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -299,7 +299,7 @@ if(src.patient && src.path.len == 0 && (get_dist(src,src.patient) > 1)) spawn(0) - src.path = AStar(src.loc, get_turf(src.patient), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 30,id=botcard) + src.path = AStar(src.loc, get_turf(src.patient), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 30,id=botcard) if(!src.path) src.path = list() if(src.path.len == 0) diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index b28be073d3e..8f56a805db5 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -646,7 +646,7 @@ var/global/mulebot_count = 0 // calculates a path to the current destination // given an optional turf to avoid /obj/machinery/bot/mulebot/proc/calc_path(var/turf/avoid = null) - src.path = AStar(src.loc, src.target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 250, id=botcard, exclude=avoid) + src.path = AStar(src.loc, src.target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 250, id=botcard, exclude=avoid) if(!src.path) src.path = list() diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 4dcc2d60601..23a0a245c88 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -552,7 +552,7 @@ Auto Patrol: []"}, // calculates a path to the current destination // given an optional turf to avoid /obj/machinery/bot/secbot/proc/calc_path(var/turf/avoid = null) - src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=avoid) + src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=avoid) if(!src.path) src.path = list() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 5eff3e3bc1c..870278d08ae 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -293,6 +293,13 @@ return cost else return get_dist(src,t) + +// This Distance proc assumes that only cardinal movement is +// possible. It results in more efficient (CPU-wise) pathing +// for bots and anything else that only moves in cardinal dirs. +/turf/proc/Distance_cardinal(turf/t) + return abs(src.x - t.x) + abs(src.y - t.y) + /turf/proc/AdjacentTurfsSpace() var/L[] = new() for(var/turf/t in oview(src,1))