From 23d33051fb28e3ca4fd99ab55c83d9f9d459e6ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Sun, 21 Feb 2016 13:19:18 +0100 Subject: [PATCH 01/14] Beep Boop IPC booze --- code/modules/reagents/newchem/drinks.dm | 114 ++++++++++++++++++ .../reagents/reagent_containers/food/cans.dm | 10 +- .../reagent_containers/food/drinks.dm | 13 +- .../food/drinks/drinkingglass.dm | 18 +++ icons/obj/drinks.dmi | Bin 66265 -> 67286 bytes 5 files changed, 149 insertions(+), 6 deletions(-) diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index 637b101f32d..6ac0f02b94a 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -62,3 +62,117 @@ result = "jackrose" required_reagents = list("applejack" = 4, "lemonjuice" = 1) result_amount = 5 + + +// ROBOT ALCOHOL PAST THIS POINT +// WOOO! + + +/datum/reagent/alkasine //Gloriously copied over from ethanol + name = "Alkasine" + id = "alkasine" + description = "A runny liquid with conductive capacities. Its effects on synthetics are similar to those of alcohol on organics." + reagent_state = LIQUID + color = "#1BB1FF" + process_flags = SYNTHETIC + metabolization_rate = 0.4 + can_grow_in_plants = 0 //Alcoholic drinks won't be grown in plants (would "water down" random seed chems too much) + var/datum/martial_art/drunk_brawling/F = new + var/dizzy_adj = 3 + var/slurr_adj = 3 + var/confused_adj = 2 + var/slur_start = 65 //amount absorbed after which mob starts slurring + var/brawl_start = 75 + var/confused_start = 130 //amount absorbed after which mob starts confusing directions and sparking + var/collapse_start = 200 //amount absorbed after wich mob starts collapsing + var/braindamage_start = 300 //amount absorbed after which mob starts taking small amount of brain damage + + +/datum/chemical_reaction/alkasine + name = "Alkasine" + id = "alkasine" + result = "alkasine" + required_reagents = list("lube" = 1, "plasma" = 1, "fuel" = 1) + result_amount = 3 + mix_message = "The chemicals mix to create shiny, blue substance." + +/datum/reagent/alkasine/on_mob_life(var/mob/living/M as mob, var/alien) + if(!src.data) data = 1 + src.data++ + + var/d = data + + // make all the alkasine children work together + for(var/datum/reagent/alkasine/A in holder.reagent_list) + if(isnum(A.data)) d += A.data + + M.dizziness += dizzy_adj. + if(d >= slur_start) + if (!M:slurring) M:slurring = 1 + M:slurring += slurr_adj + if(d >= brawl_start && ishuman(M)) + var/mob/living/carbon/human/H = M + F.teach(H,1) + if(src.volume < 3) + if(H.martial_art == F) + F.remove(H) + if(d >= confused_start && prob(33)) + if (!M:confused) M:confused = 1 + M.confused = max(M:confused+confused_adj,0) + if (prob(20)) + var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread + s.set_up(3, 1, M) + s.start() + if(d >= collapse_start && prob(10)) + M.emote("collapse") + if(d >= braindamage_start && prob(33)) + M.adjustBrainLoss(1) + ..() + return + +/datum/reagent/alkasine/robottears + name = "Robot Tears" + id = "robottears" + description = "An oily substance that an IPC could technically consider a 'drink'." + reagent_state = LIQUID + color = "#363636" + +/datum/chemical_reaction/alkasine/robottears + name = "Robot Tears" + id = "robottears" + result = "robottears" + required_reagents = list("alkasine" = 1, "oil" = 1, "sodawater" = 1) + result_amount = 3 + mix_message = "The ingredients combine into a stiff, dark goo." + +/datum/reagent/alkasine/trinary + name = "Trinary" + id = "trinary" + description = "A fruit drink meant only for synthetics, however that works." + reagent_state = LIQUID + color = "#adb21f" + +/datum/chemical_reaction/alkasine/trinary + name = "Trinary" + id = "trinary" + result = "trinary" + required_reagents = list("alkasine" = 1, "limejuice" = 1, "orangejuice" = 1) + result_amount = 3 + mix_message = "The ingredients mix into a colorful substance." + +/datum/reagent/alkasine/servo + name = "Servo" + id = "servo" + description = "A drink containing some organic ingredients, but meant only for synthetics." + reagent_state = LIQUID + color = "#5b3210" + +/datum/chemical_reaction/alkasine/servo + name = "Servo" + id = "servo" + result = "servo" + required_reagents = list("alkasine" = 2, "cream" = 1, "hot_coco" = 1) + result_amount = 4 + mix_message = "The ingredients mix into a dark brown substance." + +// ROBOT ALCOHOL ENDS \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/cans.dm b/code/modules/reagents/reagent_containers/food/cans.dm index f22392fe2aa..b8c742dd73c 100644 --- a/code/modules/reagents/reagent_containers/food/cans.dm +++ b/code/modules/reagents/reagent_containers/food/cans.dm @@ -223,4 +223,12 @@ icon_state = "sodawater" New() ..() - reagents.add_reagent("sodawater", 50) \ No newline at end of file + reagents.add_reagent("sodawater", 50) + +/obj/item/weapon/reagent_containers/food/drinks/cans/alkasine + name = "Beep's Classic Alkasine" + desc = "A can of IPC booze, however that works." + icon_state = "alkasinecan" + New() + ..() + reagents.add_reagent("alkasine", 50) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 663158d0757..7597dfe1058 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -31,10 +31,13 @@ if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(!H.check_has_mouth()) - user << "Where do you intend to put \the [src]? You don't have a mouth!" - return - - M << "\blue You swallow a gulp of [src]." + if(!H.get_species() == "Machine") + user << "Where do you intend to put \the [src]? You don't have a mouth!" + return + else + M << "\blue You pour a bit of liquid from [src] into your connection port." + else + M << "\blue You swallow a gulp of [src]." if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(0) @@ -45,7 +48,7 @@ else if( istype(M, /mob/living/carbon/human) ) var/mob/living/carbon/human/H = M - if(!H.check_has_mouth()) + if(!H.check_has_mouth() && !H.get_species() == "Machine") user << "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!" return diff --git a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm index caab1e519c1..904619950da 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm @@ -564,6 +564,24 @@ icon_state = "patronglass" name = "Jack Rose" desc = "Drinking this makes you feel like you belong in a luxury hotel bar during the 1920s." + if("alkasine") + icon_state = "alkasineglass" + name = "Glass of Alkasine" + desc = "The equivalent of alcohol for synthetic crewmembers. They'd find it awful if they had tastebuds too." + if("robottears") + icon_state = "robottearsglass" + name = "Glass of Robot Tears" + desc = "No robots were hurt in the making of this drink." + if("trinary") + icon_state = "trinaryglass" + name = "Glass of Trinary" + desc = "Colorful drink made for synthetic crewmembers. It doesn't seem like it would taste well." + if("servo") + icon_state = "servoglass" + name = "Glass of Servo" + desc = "Chocolate - based drink made for IPCs. Not sure if anyone's actually tried out the recipe." + + else icon_state ="glass_brown" name = "Glass of ..what?" diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 5bb37da57df25ed3d312dc805502c8530a5b6b4e..1089fa7430f85fcf7c3bcfb7b7bf3b77852c57f4 100644 GIT binary patch delta 10036 zcmaiaWl$VlwC&(7!QI`1yOTh0f_s7o53W6UfM9_@kl+r%gTtT!g1ZeCWN>#G9^bw1 z$NTqIbys(Fb=5v+%c-;0*^3d#b8*OtObA@H%m^p~-m4}cJS`|fX~W0J+^K%jF94zh+DY0;=@;o za;SI7I;g{d#!JEqfbYJdUIyR&M}yO(8Ih6}Ar1GZ(B4uPA00{>Zf~-Z*d?$4{lFfU zq|bl=1C*v`9-m$Ofy)mkhq?L#Y{AxB^V2pX408MO#li*{ZVUPBge%d=^mf3G(4kG~ znR!1jzhk_y@mQUGbbORviu-%RS8QR|CFr(cYB2CTNy}zP4wmjiQ3-hz>EtU{HXJU94PqO~vepX{ViIHG*CWHjG|t=984F4RcFbTJ#*#Bp*>Ol$wn zQgM0$CqTbPO*6KzFoB8Kd5={epriXcJWS{u7SaEqWp7+2t!jj6Y2UbJkvMCQ2OpCT zBMM;fa4~6@{)XCOzq~s5FZ0(bMCoL)2@NwKATJoOUMboo^R(;P;KNZ@_jPQmQk|F< zY$(bxd}Lfn=0JyUKiii(RmhiSX4pkqC!WeDAJ&%aV;PLZFK zRg!2Wj1hM5Q~mtWJt2LN<)mXIu?5+Japz2uy##?08~#?kCMU*S(2I3BGCJplS%d&A zLu{>16Tzei-e6QXKvH$LK|I5}lxxn<*T(a9u;w4u!&#~3A=%&$o9HfcK!#O9;*bt=&*uZ9;`_%2Gc6gG#hkqO~=rXi({kD>h>FmpJsO0G&A<>HG z=X`Y)^b?>xf);+LFq1XBneTJfPkOWb$uYJdHp8`oP0CRau*(j{KA5l6Xb|hz`GN=z zISwcAgGb}aqu#G|3Y&7TFiK&Qps4-j{5QvYLgh9#RD~iNKG~b6n29KRcK_D;?9a=6 z{}vUx*2BOxYD?c>T)z*j5B#h1PoA(Bdt}I+&=FNolox=S`m^IPmrK%`Hg$d zIZ&{Zj=xcndbGP|cxps(!~94+FCOx7A#yImiEup7B&ncND#UBS?GN zLG0LJDIWfJi%fpg{T|D0GF9l3@PeU0rysk z)Vke8ym)Zk!<%oqCTf(S{5jJPmP7L920$+eLh({Og=DByzBAE7H78Mqr6@+p-sw>9|({Pbh$FT>0!zlWo} zrdj)JYnoecsqnahxx2U2CuqhRX-Ds|5-mF!82}1DKN;tB3Xf`XVDx z?r5g*M1?XSI>FDe8mn@m@iB!#M87s=XbuA}Q z_*Xsg8JqJnXbD z-pKfx!EXM}xnx^NAHv>3PXUrNQq{k)dCghp|IVcem5GRm27{=9l-=tx6y^FXH#xZw z==|B+XqUD61c&*`5m<_hlnoKy(cM$ew;^{7MB}gC{J)6~rDe(~6!B2BJSC>I(Afwm zIq>_6(Widaa-;Hlpx4YJ$j;m$p>#;SarG*wCL|6#Jn-Gz1HZ4%+5?Ur#b0%tl;T8- z0)933$L|u|Ir@fZvg0O*wdjmIrbw=>l#%+i#I7ZJlT1EV82mejt?4yRy(I4zIq|Gl zEN&C9xHRf9N`Yx4cHlkta9GGW+I&QlB^ys-Ju~8Xw;v7BBK`dBCfiSy@vX_7#q<3< zx{_oGx?7u6Lt`W85D?*-c~7%y&csW`{lW9nrxoh{EY!^K0YOer@B0s9aF)y?HHgLa znI6Q62I*Qc89P`QP2U1T=0|efycyH6i!&X7gKH zwn|O?1-F=VSAWy3Q z>-Ge#c+90lDYESdSSjFf1AG1Zt+HL~6gmbiodb?i{!{KNmco7a$>;ph*R<<}TU{&e zuMQQn8HU`^0OkIWWV%MFWr*Lkk`peQ+mAMmeCTGva-r;dXKPk52WRJQm_(qJk0{Tx zLDJ*sY?Sm^FR>DTk{swiZ&<-keGJ8JBjTM!f+eZI&lIM_B2Q^C*Qp=+Q~@t9sVx4O zo}(nl`>Skc<^rkW{qmTt9~gv276tErdrMgW9T7lu$yZn}F{jwx?W8p+)j+BHz`Dra zMg6;1Ei4OK{`(7l==4dEpb$Y%1Ue$6ce3b3jD|X!uAEzG#>rMR!Am`QkCL9@EPn%I>f^{GG4E$;mqauKqb*AOaS zqnQHwDc#XSQ)l;9$>ELbG(qa)qZmvN%l3GC@gccu5v3P7uaQKZN<@pT{mu;^fSl=e zhOY6|#j*3(8l9rt#INN-+;{9T9qc>*l&c(MP>elPLz7 zG>9&f#e>GjP_RAkanJ?X8mKwx6p{3^xY?dis|{ffO5vu8}7 z)Nx_GdHm2^0&6W}ih^;e@04~H3YjU7Fg#v*D&d+kVZ;qvqS;6WwN`BT!K>d#0$xDW zu$O%6?N6=WxKV2+{WK_`4AyiNa`uRXc2g4DVRE zK3C0)rTLmk{*|&qzP)^n(=0gQ zx)UuFJ}P2R^J!F)<>&2dO5wnS*H-XuLQSIdstUGmvV31hS;#-DA@Bzw=R5+B8pUw9 z1L74WhOpl&`2pF1ygqO5Ab3J?PT>4Mnd)?}`#!sQWbcB=z)I&=(Emq$_be2X^-?tgovU{K=!=!VlOIUD_R|bwUV8*{HIO?!$A-<{ZH`yAC=G=v@ zN{)e;$l3r@4ok@)bWyeqpr}H3)FT=Q_ng&cDQl5v%lEQ=ov4fUae_|oo|?azhDXG_ zpH8Ir_+HWUAhwO49^$Lx?o`2Me3II`wzxQnl>nhKapYhi}ln?K_Yy=X8RjwT7F?wlQcq!l6qW>kKMAw_oymEH=38}G>RBIoa%h&q9KCln{$%u zoBDEc9lf3cn#Z6fijZtO5VXq!FoYxLVf0TF=|;Hh?`LBsx!-=~j??L= zwR(66;72It?SZf&t!p78=oJ+eq3GzS)Ggv(bRT=X)B_ha)C)bgCIJO`()>2{0+qS& zTw42{Fw*)pGiOv$KrjUV6mO{KaN})MFT&ItV`KghR|^29iF0I{c(Rq_^{tUvwfVe# zlkd@QSErk0WEUO%?wXS~@+c2ihfg!L~>N_N>WJ8pPk`o&i|$e-%db zj-{A+0QmhGtdUZOjL!X&cxNty+mgmCiU|1P_bW292FU8QQ?LI z#kKqSI%9K`YP?8s8b~v`I1XgZraT#8^nvdV`9V)M=ya1F$Aoz@ACyVFjKm(C1tgFx z2bBkmQI|39M9#0*4i<F=iZ^T(_*oZjw}-H{;a72LExYW?{ll~q+RSXazFHArpf??#imAsXGHLobl{fg(db zusuKIJO=n@kH5uaSL?COlad0uW7G}J!!IArqM*uS^N(}>l852Y>=bz#6|NPY=q;-J%At^J)AS1lXG?4#I5n)N=y3>wu|>hc2cF@CU@cJMU%yxL_NeNC*u`@&yI^`q*7}V_i!*W@-zjX z?b;y0sN-+NEo^ooDd%o=KLGk**p#qXfi2rk z8K}B8b)xFzSV7+)G4gxfY+7`UW~5x zC+N3KM*e9Lo?h+*i(bl>u9lv#$iSG`P1NPH?6#ee-#;JD)szPp0TYq+`B$yo55w~{ zRs$p~8d-xSInL`3%m8W4X@r58%Ox3$S{7LS)va3AH{*YpTL|sqKB>(gkL59HK5hK| zI8{l?IA4f1Mq5b%!iuG-uf21O%$EGx?xj$+bc*8@hm#e!&m>$_y;6cv9U9wCxxPV2E z_$^{E|CDK#U{!d6bfu+Xu<+5ZwxMC_ocs*gcO{+J%|tJvU`;%_M_;ppBgJoTUP!F-O? zm!ev0(s;N1AEH1E55xn#OtI3T7E!6iD-DO`fQ@n_A#sEjo1(ctkB-O$PT2mD1iFy$ z^paD}v;0&L;r|*8^Rap5bXE(`5n>CbmY`rT>lb=sW&O8QG1HC*m-HnC4U?OtI2wsq zg-tlhwO(U~1s^`M^YW1NKR-=;m@eDy?|-`G;`Ud1PkG@1L|E_|yha$uKV~KNMEhwkZnwXn8-A#FFYUV2q zru%+D3DxY_Mhs`wE0HzN-y>rh+YJI^Thp2b`E0pgbUO{N#55(JV8KD~RF5W6e2w%z z9#`~)1=Sy^ebOdvi}y?nP?^ zx?Y^--|udev^NFI2HyOSk*Az_BRKp)@~$mHH@K4mEYo=#DoPOsW(K&^NG+yhb^w^& z_p#Kg;p{`wMq@)m1h7)I^0>_RmSMBU+r1sdO#XFWw=t?kD6}so2D4aQBC{u&aPaT& zX1AC}yf|zvJ(ic9M4zOqhr!!W2~5)QZ_?^-HySPRYO?)%RBUau=an+M({ViMf466> z6ALw&hwWUTx{Eqx6&0HeE3B=`Wxz#>!$0rg8vZ+3^MldP&OOVAG}{Ws(T0-JQbR;t z-INobpv~C_UfwksbdE-SzJ^_t6p=8k+%suSsr7reYjIf zd0mxx{1iS*n3Ga@RF=ufrjI-9Z~Ef>sW4dKge9MHaImypwjT?pK~+jJtETW3#aA+c)V7lV@ZAlth9zt4kLs{TE+~9> zykK|#ecI@3kz?BFO9KicuIRDVpQ{t-LsN?!Wdi8%QBm`xqmtHAJKdj2VNFP1ATpd+Yz#u*jRNO#7f-tNtGr<&}g#S zWTMltud`p%b7?Jb%W&+~IgTj6&e1wbsmYpU|HNn=MUM8Xbw8lat7I#Wixg7&>*Ldd z9?{~mQD9KnOK7@Wtfq1sq9OhV1!36+k`&L1Iwl5T*s8~!CkVzFnGP3C8;;O}M>7ZV z!I~C@trtRR!#P(>btolJ4Z#n!j&g2(n7#qMp|Yn1h5+Ks(W&ZEHqy^;Y6I^HNqO~} z4{PRVf_Tfy#Hyu)ivEl^^36*`wQOGuj*r{jU+%R(o)4?#NdLs46kfmbKl6uyh+ogE zTcb_%nELA?Y5l)CpOoM$80FLAin5@$h(-PtBb9~-yO0!X>-hA%MXHtliA6XQJ%Ca7 z>bMbyUJq=tK{x7tm`L!AsxehzC9Jj$cF)qX=r`lr@p5f#!!}h^@`{st(>_E)euuQn zkvshoVumB-`fVA_qAg`>Lq30T$Oq$F?y5(v4JmSP{OuRcnSPNS`&NE71sn%&wWQwp zK+PJxF9Pcu?7C=JW$>!!Rn5%-n#rh^(W|i!kt(gx`yk^VnmJsETpXW$GJf(UOPB}z zc*~Q6A^Rd^Op2(fqOlqS5GyZ6M2pH8xyc}sijNa@;wvfWkKT49kl-DbF^M3G49@7d zXL!~cG?;a?Kr{ZgE@?RUG+sPmv-5#gdRM~$p1Y#UNTB9yh694np{4*Oq;f|Z?J^x` z7Q@Fp53`5RpxlIkc=_BZ(`Y0{tr>-CX?8VSP(IPK6bwEFfqiYN-8@NH1zDbh|n4(a}-h)vQ4v{0`={ z*7A97xaKXsi(+l=fWLlNuPk_01yZIfu)ETnYkjBXS~7a3DSW!bNFGplzA^@Sp68Z=6>$iQF+`xKB>ra<{yAliGey^H z@3m#^Ctv{ZJ5gwY$^gfkH!Dx4+&AMnj{3+|3q(%d-;>AT>^zx->YvDvRml0F*e$p` z<8;9BKF0|Z?PU1wvFhRG0#UX4QLb%KZx@sxea|*KJKO$rz3jBo`u!E-8@CrH)O+sf z)E6PRwN9Tk3A;g?qnlS;Zg+tpYJNn(QDFd(c5ujUULbI7oo>O~i~Ox2`*jbBkj1XJ zF#}XqsrWb?-WJ;)qcv#`X5R1aQ-D3wcJ8L}G`#SF{yk;*29k2eXT4}fqe7YS76z=@ z*b+jSD{Dl?^M8_24$OZoYWY6#fnR@*Z9+`cqY6+(2v0n4T(;ZCO*;tpJd?=#L~Q|F zH-|rA%%tTt_Gm91_W%tzJ@h>wWE>;$Idb;F&W*H-g&opyX|ZQv%lUfQ(e8w~0AxfY zVx@(gwv^vAgbIIkcJ% zS;w9r9Sc(sjyiU*t@QVzX^A>eral0W8wC7|#7CcO3eEJrf=e(;;9S2gVgB2rOzG)G zbt%&vByVm~PuYdz0vF!=+D`jqWAnf%L!F6yENW=^iqoG66nF`Dyh3?!s-Or^q5;25 zzx?IJyt~!F>e%-j5PaHdBYE~4t(<0+ZeyvT6xyXFq>#y?F$)KY0J6MxmYFIx*VLXOx&poZ;nYzvH5TvcmM1b!xKWa1Ke?diJz!f6* z&kbhiqJiPbetyU4Jn91X9o=GbOU@#Ic*$|aXStyLw@w5b0s6H!ZCBgfW6L*Qx6dOS zjRUQ6(r4SS_Em2or{$Je_T;&pe3)K8VLk@wsd+n6DK-dGuJsUflIsU zHensQW;?25_UBl#G7W^&zP|aEmUDhGDw7~^BcDVe(_6d)Maf^g$`V-{r7M}CHQo7q zLJJ?uI@9V|fvj<=9Rc@u7@6&)8$=rC7w1M08!4eobrtc$w=cBvxrromzN!qv9Ujdj zj=UadD=jFft)&HW^%_N_`b`d!eaG30_h5&x^>xscxgKBn=#5Ir zIFyVRj6Z*UIqER}L`n z74{_}s=q3gr%O@R%H^;u%qHURy+c}<-7Sk)XguQ#mx!bH^9%QK9IIYboPI958A047 zyWnMG16iJiL2}R0M5un(gFr;|qFVQBJ*J@rJS*!rin zlAVbHQ0`0d@NR}HjJ*}%WH$MC4#1v+9$Rp%<~t8i%fyAKEwqSf0t_2bgcfOZ6u(LJ z#aQuvl3qimd^xmywAkXY_bt7iQ?3ZWhXHm+n-b$bnfW;ef1+1sW?i?vE+1d9$u?Z@ zA|Fy17$@I#TMcN5bI!4V@G;-??Nb_y{^H|5a!&Rk%(D!9U;mDFALCEhJ&=*X!}%1% zcT~>v{yEkPIkWFq zv%sf2e&YzVaDh~Um5+4s$PW}gJ|m#r!^aP_ZD8<&g8KW5I%tCz_z$J^>xEBn&={ylPb-)N5PNDm$?9*c}p?MymkSCNtgh=N!TZ+1KewTFF2@st5PHE+3Y46 zjQO~mIuHh`^@hI^lw1rms^3xI7l>!QS=gw&w`X7DeHvd-rN$IH#q2S4Ait&XIhlV* zAozvBCxE2&a+nCDegCC4I1S2kwFbS!IPlN&wCdJD<8uHD0S+QKUSp79#0Rd8YCL%~ zsR6V!yOWbiK3yCAnsK zofR`hSwSK~{)wURCC#tz2W16G?!Zl`eqL69UJ{si5Xsl;n9IE%8bM$=+vC_@XvF&l z8lp1RRJ|wTGqC;FE1})?u*8+0(zPY>zS~EJ%faU7$~<#Gt~po&CodYt9E^Za_L^ig$e#+CgtyD0@hc`z?4h*?lr#13RyuFuvIbTeAv+bWjZ|(BF&}7eY3;!I0I7v?U=_5d zCtq{g6$upEw_dB_&8ZO@@}}n#YP>$Jy7#i|c|XQx90bA+;^|n=4?_){4Ej$gz>Rw8 z6T19zE-qnWf>>xzP|}H{UZ1q|k6`hNf>-lgpT delta 9008 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 Date: Sun, 21 Feb 2016 13:39:10 +0100 Subject: [PATCH 02/14] Added files via upload --- code/game/machinery/vending.dm | 121 ++++++++++++++++++++------------- 1 file changed, 75 insertions(+), 46 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index fbc80b869ad..51af34bfb8c 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -323,9 +323,7 @@ */ /obj/machinery/vending/proc/pay_with_card(var/obj/item/weapon/card/id/I) visible_message("[usr] swipes a card through [src].") - return pay_with_account(get_card_account(I)) - -/obj/machinery/vending/proc/pay_with_account(var/datum/money_account/customer_account) + var/datum/money_account/customer_account = attempt_account_access_nosec(I.associated_account_number) if (!customer_account) src.status_message = "Error: Unable to access account. Please contact technical support if problem persists." src.status_error = 1 @@ -340,7 +338,7 @@ // empty at high security levels if(customer_account.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2) var/attempt_pin = input("Enter pin code", "Vendor transaction") as num - customer_account = attempt_account_access(customer_account, attempt_pin, 2) + customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2) if(!customer_account) src.status_message = "Unable to access account: incorrect credentials." @@ -353,18 +351,28 @@ return 0 else // Okay to move the money at this point - var/paid = customer_account.charge(currently_vending.price, - transaction_purpose = "Purchase of [currently_vending.product_name]", - terminal_name = name, - terminal_id = name, - dest_name = vendor_account.owner_name) - if(paid) - // Give the vendor the money. We use the account owner name, which means - // that purchases made with stolen/borrowed card will look like the card - // owner made them - credit_purchase(customer_account.owner_name) - return paid + // debit money from the purchaser's account + customer_account.money -= currently_vending.price + + // create entry in the purchaser's account log + var/datum/transaction/T = new() + T.target_name = "[vendor_account.owner_name] (via [src.name])" + T.purpose = "Purchase of [currently_vending.product_name]" + if(currently_vending.price > 0) + T.amount = "([currently_vending.price])" + else + T.amount = "[currently_vending.price]" + T.source_terminal = src.name + T.date = current_date_string + T.time = worldtime2text() + customer_account.transaction_log.Add(T) + + // Give the vendor the money. We use the account owner name, which means + // that purchases made with stolen/borrowed card will look like the card + // owner made them + credit_purchase(customer_account.owner_name) + return 1 /** * Add money for current purchase to the vendor account. @@ -463,28 +471,38 @@ if (href_list["pay"]) if(currently_vending && vendor_account && !vendor_account.suspended) - var/paid = 0 - var/handled = 0 - var/datum/money_account/A = usr.get_worn_id_account() - if(A) - paid = pay_with_account(A) - handled = 1 - else if(istype(usr.get_active_hand(), /obj/item/weapon/card)) - paid = pay_with_card(usr.get_active_hand()) - handled = 1 - if(paid) - src.vend(currently_vending, usr) - return - else if(handled) - nanomanager.update_uis(src) - return // don't smack that machine with your 2 credits + if(istype(usr, /mob/living/carbon/human)) + var/paid = 0 + var/handled = 0 + var/mob/living/carbon/human/H = usr + var/obj/item/weapon/card/card = null + if(istype(H.wear_id,/obj/item/weapon/card)) + card = H.wear_id + paid = pay_with_card(card) + handled = 1 + else if(istype(H.get_active_hand(), /obj/item/weapon/card)) + card = H.get_active_hand() + paid = pay_with_card(card) + handled = 1 + if(paid) + src.vend(currently_vending, usr) + return + else if(handled) + nanomanager.update_uis(src) + return // don't smack that machine with your 2 credits if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)))) if ((href_list["vend"]) && (src.vend_ready) && (!currently_vending)) - if(issilicon(usr) && !isrobot(usr)) - usr << "The vending machine refuses to interface with you, as you are not in its target demographic!" - return + if(istype(usr,/mob/living/silicon)) + if(istype(usr,/mob/living/silicon/robot)) + var/mob/living/silicon/robot/R = usr + if(!(R.module && istype(R.module,/obj/item/weapon/robot_module/butler) )) + usr << "\red The vending machine refuses to interface with you, as you are not in its target demographic!" + return + else + usr << "\red The vending machine refuses to interface with you, as you are not in its target demographic!" + return if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH usr << "Access denied." //Unless emagged of course @@ -693,16 +711,27 @@ desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." icon_state = "boozeomat" //////////////18 drink entities below, plus the glasses, in case someone wants to edit the number of bottles icon_deny = "boozeomat-deny" - products = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/gin = 5,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey = 5, - /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla = 5,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka = 5, - /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth = 5,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum = 5, - /obj/item/weapon/reagent_containers/food/drinks/bottle/wine = 5,/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac = 5, - /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua = 5,/obj/item/weapon/reagent_containers/food/drinks/cans/beer = 6, - /obj/item/weapon/reagent_containers/food/drinks/cans/ale = 6,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice = 4, - /obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice = 4,/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice = 4, - /obj/item/weapon/reagent_containers/food/drinks/bottle/cream = 4,/obj/item/weapon/reagent_containers/food/drinks/cans/tonic = 8, - /obj/item/weapon/reagent_containers/food/drinks/cans/cola = 8, /obj/item/weapon/reagent_containers/food/drinks/cans/sodawater = 15, - /obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 30,/obj/item/weapon/reagent_containers/food/drinks/ice = 9) + products = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/gin = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/rum = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/wine = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua = 5, + /obj/item/weapon/reagent_containers/food/drinks/cans/beer = 6, + /obj/item/weapon/reagent_containers/food/drinks/cans/ale = 6, + /obj/item/weapon/reagent_containers/food/drinks/cans/alkasine = 15, + /obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice = 4, + /obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice = 4, + /obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice = 4, + /obj/item/weapon/reagent_containers/food/drinks/bottle/cream = 4, + /obj/item/weapon/reagent_containers/food/drinks/cans/tonic = 8, + /obj/item/weapon/reagent_containers/food/drinks/cans/cola = 8, + /obj/item/weapon/reagent_containers/food/drinks/cans/sodawater = 15, + /obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 30, + /obj/item/weapon/reagent_containers/food/drinks/ice = 9) contraband = list(/obj/item/weapon/reagent_containers/food/drinks/tea = 10) vend_delay = 15 product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?" @@ -818,11 +847,11 @@ icon_deny = "cart-deny" products = list(/obj/item/device/pda =10,/obj/item/weapon/cartridge/medical = 10,/obj/item/weapon/cartridge/chemistry = 10, /obj/item/weapon/cartridge/engineering = 10,/obj/item/weapon/cartridge/atmos = 10,/obj/item/weapon/cartridge/janitor = 10, - /obj/item/weapon/cartridge/signal/toxins = 10,/obj/item/weapon/cartridge/signal = 10) + /obj/item/weapon/cartridge/signal/toxins = 10,/obj/item/weapon/cartridge/signal = 10,/obj/item/weapon/cartridge = 10) contraband = list(/obj/item/weapon/cartridge/clown = 1,/obj/item/weapon/cartridge/mime = 1) prices = list(/obj/item/device/pda =300,/obj/item/weapon/cartridge/medical = 200,/obj/item/weapon/cartridge/chemistry = 150,/obj/item/weapon/cartridge/engineering = 100, /obj/item/weapon/cartridge/atmos = 75,/obj/item/weapon/cartridge/janitor = 100,/obj/item/weapon/cartridge/signal/toxins = 150, - /obj/item/weapon/cartridge/signal = 75) + /obj/item/weapon/cartridge/signal = 75,/obj/item/weapon/cartridge = 50) /obj/machinery/vending/liberationstation @@ -1078,7 +1107,7 @@ icon_state = "engivend" icon_deny = "engivend-deny" req_access_txt = "11" //Engineering Equipment access - products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/firealarm_electronics = 10,/obj/item/weapon/apc_electronics = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10,/obj/item/weapon/camera_assembly = 10) + products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/firealarm_electronics = 10,/obj/item/weapon/apc_electronics = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10) contraband = list(/obj/item/weapon/stock_parts/cell/potato = 3) premium = list(/obj/item/weapon/storage/belt/utility = 3) From 905fb6863ccc4161d85d31990d8d4e513531c415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Sun, 21 Feb 2016 13:39:36 +0100 Subject: [PATCH 03/14] Added files via upload --- icons/obj/drinks.dmi | Bin 67286 -> 67288 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 1089fa7430f85fcf7c3bcfb7b7bf3b77852c57f4..41b76bd18c27257c1032721e4ffc27769def9b95 100644 GIT binary patch delta 9977 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 From 2c2217a10b4b7118fe6eb549c8ba67014b6e7152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Sun, 21 Feb 2016 13:43:48 +0100 Subject: [PATCH 04/14] Adds canned alkasine to the vendor --- code/game/machinery/vending.dm | 90 ++++++++++++++-------------------- 1 file changed, 36 insertions(+), 54 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 51af34bfb8c..b97007d627b 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -323,7 +323,9 @@ */ /obj/machinery/vending/proc/pay_with_card(var/obj/item/weapon/card/id/I) visible_message("[usr] swipes a card through [src].") - var/datum/money_account/customer_account = attempt_account_access_nosec(I.associated_account_number) + return pay_with_account(get_card_account(I)) + +/obj/machinery/vending/proc/pay_with_account(var/datum/money_account/customer_account) if (!customer_account) src.status_message = "Error: Unable to access account. Please contact technical support if problem persists." src.status_error = 1 @@ -338,7 +340,7 @@ // empty at high security levels if(customer_account.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2) var/attempt_pin = input("Enter pin code", "Vendor transaction") as num - customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2) + customer_account = attempt_account_access(customer_account, attempt_pin, 2) if(!customer_account) src.status_message = "Unable to access account: incorrect credentials." @@ -351,28 +353,18 @@ return 0 else // Okay to move the money at this point + var/paid = customer_account.charge(currently_vending.price, + transaction_purpose = "Purchase of [currently_vending.product_name]", + terminal_name = name, + terminal_id = name, + dest_name = vendor_account.owner_name) - // debit money from the purchaser's account - customer_account.money -= currently_vending.price - - // create entry in the purchaser's account log - var/datum/transaction/T = new() - T.target_name = "[vendor_account.owner_name] (via [src.name])" - T.purpose = "Purchase of [currently_vending.product_name]" - if(currently_vending.price > 0) - T.amount = "([currently_vending.price])" - else - T.amount = "[currently_vending.price]" - T.source_terminal = src.name - T.date = current_date_string - T.time = worldtime2text() - customer_account.transaction_log.Add(T) - - // Give the vendor the money. We use the account owner name, which means - // that purchases made with stolen/borrowed card will look like the card - // owner made them - credit_purchase(customer_account.owner_name) - return 1 + if(paid) + // Give the vendor the money. We use the account owner name, which means + // that purchases made with stolen/borrowed card will look like the card + // owner made them + credit_purchase(customer_account.owner_name) + return paid /** * Add money for current purchase to the vendor account. @@ -471,38 +463,28 @@ if (href_list["pay"]) if(currently_vending && vendor_account && !vendor_account.suspended) - if(istype(usr, /mob/living/carbon/human)) - var/paid = 0 - var/handled = 0 - var/mob/living/carbon/human/H = usr - var/obj/item/weapon/card/card = null - if(istype(H.wear_id,/obj/item/weapon/card)) - card = H.wear_id - paid = pay_with_card(card) - handled = 1 - else if(istype(H.get_active_hand(), /obj/item/weapon/card)) - card = H.get_active_hand() - paid = pay_with_card(card) - handled = 1 - if(paid) - src.vend(currently_vending, usr) - return - else if(handled) - nanomanager.update_uis(src) - return // don't smack that machine with your 2 credits + var/paid = 0 + var/handled = 0 + var/datum/money_account/A = usr.get_worn_id_account() + if(A) + paid = pay_with_account(A) + handled = 1 + else if(istype(usr.get_active_hand(), /obj/item/weapon/card)) + paid = pay_with_card(usr.get_active_hand()) + handled = 1 + if(paid) + src.vend(currently_vending, usr) + return + else if(handled) + nanomanager.update_uis(src) + return // don't smack that machine with your 2 credits if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)))) if ((href_list["vend"]) && (src.vend_ready) && (!currently_vending)) - if(istype(usr,/mob/living/silicon)) - if(istype(usr,/mob/living/silicon/robot)) - var/mob/living/silicon/robot/R = usr - if(!(R.module && istype(R.module,/obj/item/weapon/robot_module/butler) )) - usr << "\red The vending machine refuses to interface with you, as you are not in its target demographic!" - return - else - usr << "\red The vending machine refuses to interface with you, as you are not in its target demographic!" - return + if(issilicon(usr) && !isrobot(usr)) + usr << "The vending machine refuses to interface with you, as you are not in its target demographic!" + return if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH usr << "Access denied." //Unless emagged of course @@ -847,11 +829,11 @@ icon_deny = "cart-deny" products = list(/obj/item/device/pda =10,/obj/item/weapon/cartridge/medical = 10,/obj/item/weapon/cartridge/chemistry = 10, /obj/item/weapon/cartridge/engineering = 10,/obj/item/weapon/cartridge/atmos = 10,/obj/item/weapon/cartridge/janitor = 10, - /obj/item/weapon/cartridge/signal/toxins = 10,/obj/item/weapon/cartridge/signal = 10,/obj/item/weapon/cartridge = 10) + /obj/item/weapon/cartridge/signal/toxins = 10,/obj/item/weapon/cartridge/signal = 10) contraband = list(/obj/item/weapon/cartridge/clown = 1,/obj/item/weapon/cartridge/mime = 1) prices = list(/obj/item/device/pda =300,/obj/item/weapon/cartridge/medical = 200,/obj/item/weapon/cartridge/chemistry = 150,/obj/item/weapon/cartridge/engineering = 100, /obj/item/weapon/cartridge/atmos = 75,/obj/item/weapon/cartridge/janitor = 100,/obj/item/weapon/cartridge/signal/toxins = 150, - /obj/item/weapon/cartridge/signal = 75,/obj/item/weapon/cartridge = 50) + /obj/item/weapon/cartridge/signal = 75) /obj/machinery/vending/liberationstation @@ -1107,7 +1089,7 @@ icon_state = "engivend" icon_deny = "engivend-deny" req_access_txt = "11" //Engineering Equipment access - products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/firealarm_electronics = 10,/obj/item/weapon/apc_electronics = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10) + products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/firealarm_electronics = 10,/obj/item/weapon/apc_electronics = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10,/obj/item/weapon/camera_assembly = 10) contraband = list(/obj/item/weapon/stock_parts/cell/potato = 3) premium = list(/obj/item/weapon/storage/belt/utility = 3) From a95ea9589345c1cedf7c39cd240eefad264f3541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Sun, 21 Feb 2016 14:19:24 +0100 Subject: [PATCH 05/14] Update drinks.dm --- code/modules/reagents/newchem/drinks.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index 6ac0f02b94a..20a996120d4 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -94,7 +94,7 @@ result = "alkasine" required_reagents = list("lube" = 1, "plasma" = 1, "fuel" = 1) result_amount = 3 - mix_message = "The chemicals mix to create shiny, blue substance." + mix_message = "The chemicals mix to create a shiny, blue substance." /datum/reagent/alkasine/on_mob_life(var/mob/living/M as mob, var/alien) if(!src.data) data = 1 @@ -175,4 +175,4 @@ result_amount = 4 mix_message = "The ingredients mix into a dark brown substance." -// ROBOT ALCOHOL ENDS \ No newline at end of file +// ROBOT ALCOHOL ENDS From 90d90f357162d283b232da1aa32fd8d552b95e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Sun, 21 Feb 2016 18:48:54 +0100 Subject: [PATCH 06/14] Added files via upload --- code/modules/reagents/newchem/drinks.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index 20a996120d4..eeadd48a815 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -94,7 +94,7 @@ result = "alkasine" required_reagents = list("lube" = 1, "plasma" = 1, "fuel" = 1) result_amount = 3 - mix_message = "The chemicals mix to create a shiny, blue substance." + mix_message = "The chemicals mix to create shiny, blue substance." /datum/reagent/alkasine/on_mob_life(var/mob/living/M as mob, var/alien) if(!src.data) data = 1 @@ -108,8 +108,8 @@ M.dizziness += dizzy_adj. if(d >= slur_start) - if (!M:slurring) M:slurring = 1 - M:slurring += slurr_adj + if (!M.slurring) M.slurring = 1 + M.slurring += slurr_adj if(d >= brawl_start && ishuman(M)) var/mob/living/carbon/human/H = M F.teach(H,1) @@ -117,8 +117,8 @@ if(H.martial_art == F) F.remove(H) if(d >= confused_start && prob(33)) - if (!M:confused) M:confused = 1 - M.confused = max(M:confused+confused_adj,0) + if (!M.confused) M.confused = 1 + M.confused = max(M.confused+confused_adj,0) if (prob(20)) var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(3, 1, M) @@ -175,4 +175,4 @@ result_amount = 4 mix_message = "The ingredients mix into a dark brown substance." -// ROBOT ALCOHOL ENDS +// ROBOT ALCOHOL ENDS \ No newline at end of file From 3aa923b7dac5fc5f13cbd4ed063238822793b33d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Mon, 22 Feb 2016 16:29:55 +0100 Subject: [PATCH 07/14] Fixed spans when drinking/feeding --- .../reagent_containers/food/drinks.dm | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 7597dfe1058..46a9d43b9df 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -23,7 +23,7 @@ var/fillevel = gulp_size if(!R.total_volume || !R) - user << "\red None of [src] left, oh no!" + user << " None of [src] left, oh no!" return 0 if(M == user) @@ -35,9 +35,9 @@ user << "Where do you intend to put \the [src]? You don't have a mouth!" return else - M << "\blue You pour a bit of liquid from [src] into your connection port." + M << " You pour a bit of liquid from [src] into your connection port." else - M << "\blue You swallow a gulp of [src]." + M << " You swallow a gulp of [src]." if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(0) @@ -53,10 +53,10 @@ return for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] attempts to feed [M] [src].", 1) + O.show_message(" [user] attempts to feed [M] [src].", 1) if(!do_mob(user, M)) return for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] feeds [M] [src].", 1) + O.show_message(" [user] feeds [M] [src].", 1) M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [key_name(user)] Reagents: [reagentlist(src)]") user.attack_log += text("\[[time_stamp()]\] Fed [M.name] by [key_name(M)] Reagents: [reagentlist(src)]") @@ -98,23 +98,23 @@ if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. if(!target.reagents.total_volume) - user << "\red [target] is empty." + user << " [target] is empty." return if(reagents.total_volume >= reagents.maximum_volume) - user << "\red [src] is full." + user << " [src] is full." return var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - user << "\blue You fill [src] with [trans] units of the contents of [target]." + user << " You fill [src] with [trans] units of the contents of [target]." else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it. if(!reagents.total_volume) - user << "\red [src] is empty." + user << " [src] is empty." return if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." + user << " [target] is full." return @@ -126,7 +126,7 @@ refillName = reagents.get_master_reagent_name() var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the solution to [target]." + user << " You transfer [trans] units of the solution to [target]." if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell if(refill in drinks) // Only synthesize drinks @@ -155,15 +155,15 @@ if(!..(user, 1)) return if(!reagents || reagents.total_volume==0) - user << "\blue \The [src] is empty!" + user << " \The [src] is empty!" else if (reagents.total_volume<=src.volume/4) - user << "\blue \The [src] is almost empty!" + user << " \The [src] is almost empty!" else if (reagents.total_volume<=src.volume*0.66) - user << "\blue \The [src] is half empty!" // Pessimism is the real order of the day. + user << " \The [src] is half full!" // We're all optimistic, right?! else if (reagents.total_volume<=src.volume*0.90) - user << "\blue \The [src] is almost full!" + user << " \The [src] is almost full!" else - user << "\blue \The [src] is full!" + user << " \The [src] is full!" //////////////////////////////////////////////////////////////////////////////// From 10202ac78d8819470bae8dc2c8635cdc0262eb31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Mon, 22 Feb 2016 23:19:00 +0100 Subject: [PATCH 08/14] Made it child of ethanol Synthanol is now a child of ethanol. Cheers! --- code/modules/reagents/newchem/drinks.dm | 70 +++++++++---------------- 1 file changed, 25 insertions(+), 45 deletions(-) diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index eeadd48a815..09c09ceba14 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -68,110 +68,90 @@ // WOOO! -/datum/reagent/alkasine //Gloriously copied over from ethanol - name = "Alkasine" - id = "alkasine" +/datum/reagent/ethanol/synthanol + name = "Synthanol" + id = "synthanol" description = "A runny liquid with conductive capacities. Its effects on synthetics are similar to those of alcohol on organics." reagent_state = LIQUID color = "#1BB1FF" process_flags = SYNTHETIC metabolization_rate = 0.4 - can_grow_in_plants = 0 //Alcoholic drinks won't be grown in plants (would "water down" random seed chems too much) - var/datum/martial_art/drunk_brawling/F = new - var/dizzy_adj = 3 - var/slurr_adj = 3 - var/confused_adj = 2 - var/slur_start = 65 //amount absorbed after which mob starts slurring - var/brawl_start = 75 - var/confused_start = 130 //amount absorbed after which mob starts confusing directions and sparking + vomit_start = INFINITY // + blur_start = INFINITY // + pass_out = INFINITY //INFINITY, so that IPCs don't puke and stuff var/collapse_start = 200 //amount absorbed after wich mob starts collapsing var/braindamage_start = 300 //amount absorbed after which mob starts taking small amount of brain damage -/datum/chemical_reaction/alkasine - name = "Alkasine" - id = "alkasine" - result = "alkasine" +/datum/chemical_reaction/synthanol + name = "Synthanol" + id = "synthanol" + result = "synthanol" required_reagents = list("lube" = 1, "plasma" = 1, "fuel" = 1) result_amount = 3 mix_message = "The chemicals mix to create shiny, blue substance." -/datum/reagent/alkasine/on_mob_life(var/mob/living/M as mob, var/alien) +/datum/reagent/ethanol/synthanol/on_mob_life(var/mob/living/M as mob, var/alien) if(!src.data) data = 1 src.data++ var/d = data - // make all the alkasine children work together - for(var/datum/reagent/alkasine/A in holder.reagent_list) + // make all the synthanol children work together + for(var/datum/reagent/ethanol/synthanol/A in holder.reagent_list) if(isnum(A.data)) d += A.data - M.dizziness += dizzy_adj. - if(d >= slur_start) - if (!M.slurring) M.slurring = 1 - M.slurring += slurr_adj - if(d >= brawl_start && ishuman(M)) - var/mob/living/carbon/human/H = M - F.teach(H,1) - if(src.volume < 3) - if(H.martial_art == F) - F.remove(H) - if(d >= confused_start && prob(33)) - if (!M.confused) M.confused = 1 - M.confused = max(M.confused+confused_adj,0) - if (prob(20)) - var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread - s.set_up(3, 1, M) - s.start() if(d >= collapse_start && prob(10)) M.emote("collapse") + var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread + s.set_up(3, 1, M) + s.start() if(d >= braindamage_start && prob(33)) M.adjustBrainLoss(1) ..() - return -/datum/reagent/alkasine/robottears +/datum/reagent/ethanol/synthanol/robottears name = "Robot Tears" id = "robottears" description = "An oily substance that an IPC could technically consider a 'drink'." reagent_state = LIQUID color = "#363636" -/datum/chemical_reaction/alkasine/robottears +/datum/chemical_reaction/synthanol/robottears name = "Robot Tears" id = "robottears" result = "robottears" - required_reagents = list("alkasine" = 1, "oil" = 1, "sodawater" = 1) + required_reagents = list("synthanol" = 1, "oil" = 1, "sodawater" = 1) result_amount = 3 mix_message = "The ingredients combine into a stiff, dark goo." -/datum/reagent/alkasine/trinary +/datum/reagent/ethanol/synthanol/trinary name = "Trinary" id = "trinary" description = "A fruit drink meant only for synthetics, however that works." reagent_state = LIQUID color = "#adb21f" -/datum/chemical_reaction/alkasine/trinary +/datum/chemical_reaction/synthanol/trinary name = "Trinary" id = "trinary" result = "trinary" - required_reagents = list("alkasine" = 1, "limejuice" = 1, "orangejuice" = 1) + required_reagents = list("synthanol" = 1, "limejuice" = 1, "orangejuice" = 1) result_amount = 3 mix_message = "The ingredients mix into a colorful substance." -/datum/reagent/alkasine/servo +/datum/reagent/ethanol/synthanol/servo name = "Servo" id = "servo" description = "A drink containing some organic ingredients, but meant only for synthetics." reagent_state = LIQUID color = "#5b3210" -/datum/chemical_reaction/alkasine/servo +/datum/chemical_reaction/synthanol/servo name = "Servo" id = "servo" result = "servo" - required_reagents = list("alkasine" = 2, "cream" = 1, "hot_coco" = 1) + required_reagents = list("synthanol" = 2, "cream" = 1, "hot_coco" = 1) result_amount = 4 mix_message = "The ingredients mix into a dark brown substance." From 2de6d5fbdd9c2c4b9596b39170731176a62f1d8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Tue, 23 Feb 2016 00:02:21 +0100 Subject: [PATCH 09/14] Name to synthanol, again. --- code/modules/reagents/reagent_containers/food/cans.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/reagents/reagent_containers/food/cans.dm b/code/modules/reagents/reagent_containers/food/cans.dm index b8c742dd73c..4a4479c8b1e 100644 --- a/code/modules/reagents/reagent_containers/food/cans.dm +++ b/code/modules/reagents/reagent_containers/food/cans.dm @@ -225,10 +225,10 @@ ..() reagents.add_reagent("sodawater", 50) -/obj/item/weapon/reagent_containers/food/drinks/cans/alkasine - name = "Beep's Classic Alkasine" +/obj/item/weapon/reagent_containers/food/drinks/cans/synthanol + name = "Beep's Classic Synthanol" desc = "A can of IPC booze, however that works." - icon_state = "alkasinecan" + icon_state = "synthanolcan" New() ..() - reagents.add_reagent("alkasine", 50) \ No newline at end of file + reagents.add_reagent("synthanol", 50) From 8fd46ab5661868dd40a98aebf67339e47eb13815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Tue, 23 Feb 2016 00:03:15 +0100 Subject: [PATCH 10/14] Synthanol can sprite --- icons/obj/drinks.dmi | Bin 67288 -> 67291 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 41b76bd18c27257c1032721e4ffc27769def9b95..4ec1ce7cc3be68794db065e30ac900ab77d79d9c 100644 GIT binary patch delta 1252 zcmVFFOelAe@v#`+guhc7Cp3=eE@@&7@K2C^ip(O_v!cGooU)> zB4&{s65x|eQPi(r^4sm7AOHIFW&7dtr_B+ykmT*-_TBGyo12-U_1nko!+vwqBXzy4 ze~N+O_Hp~>?-2qvNv3Q-xtS@)rei4O&E_VOmhI#AesgnBNVxufX$ftie{4OrV#Zj< z1I03uUFiH_a}$wa** zgWLv2P#=nEw8e*ZikN+SSL`kHkf2GB z>d9##L-u05+~$!V%4l}f$veA97Y zC_^J$_dXqH$JjCyyQu3AKh4ESlYasxe<$qT3H#jf%KGf_%KH5A%8Ekn9COD|O5<_U zE9tY-E4v`GoUvvbW=+X=@KdWH_wTh%8`oK>aL`N$sm%!#0; z+&zsWp+{v;+6XT`ed)!TAVI1i1#AqV2~e*`3K$!|y`+F~-P+x}8#Ju%*rZhYe*oG_ zs&6?fd`+}Ur4NdbeEgF`NS;8Ogr-9ERs00n%sp5Y9H8e3oNHx;eIpu3p^O*^&MbjT z$4AB_`IafwV`5B_Av!@{>`V!Lo|q+fR2XukfYH#IoCGmZPQYg-=$sTL$UT^OPgw~v zFH!X1#kB(^a}VMQPn8g&lO(PyNLV5sN)JPQhLSvy)s-&eq+;@wE~WNFwIA+w53gn0 zd+yBB08J3Sl<7Dw40bCKy$o8czvd8k6e-GJm2zN4v5K z9b3_gsS} zIB$xIEG}g(BLuv4c=cz{d5$lyU((du80bL7QF;>vik^HeIZ^;amu)lz&#A@mpNW{g zF6FERiK7e0u1o$LV6!q(u{C554$G<*(S%3KaX>~*`BzgU~e)s#s>TafJ{rYje->vR?q^`H+ zPcblDKd#^WJwm`H$&?K!H#6nfbPT1uS=~j_vVL4|S9b@6gv;;mEuk%xf33$>%oyu< zpjbw-E1mCGcM%y*>&Nx}VYA(AS9gjt<@i%iF;Q+szFm0e?ngK8H~X`89OS;`$q_3D zxett>J`~evCm-4=V)mhm(Fe{wnP*V$sbX}N05f3;5(Wce2QH3>Cny-4&(9HfDg+MF z=%9#~YUUg@NfcU1?Uf+jfBmSj?Pj~#Zq7Pre;cb0Y2WXBLu{97SDbGv_7-|b&?HFp zd$C^f;0;|53}vW;h+`Q}B|+(ZIp1w|o84yjqKo=kZ4uQOI;x(YCJOa(X&J(x zQz-=5**S~EQvy9Xd6CXDIx%CELl)~PcXeLji0#Dej6%u6>kN9nndbAvkln zz~1L`T^E8Pq&hXVz|^X9zc8sD#B5s8J?g6U?aHsfkLto;p+-piDX{m3ra%rsKd+ zhDNyVeLB#Nv1KTBRoC}F&Ba-hfC46eXY9@i``q!u`t0$-`uy?2ibC!jbH`9h<8jjq z>9f-ddqQTpV9j2@GE?p@yOc{dt`m-!8_&ku3C9w8h7Q$R)n`qdRi)DT$R7E^iJ+$3 zJ&hxwM`h322%miV(u*}gf>c2Y*cd_+pk9v@FgAXBNde=swYzyYXjtE|NvZUI0koA= z-*OiCmS~kq9~2?^_$P;uJb^X|O@->K_zAR`d$1}vK+h96*UAF>Ml_H@88HxCSOV9M zkBmw3JyWX3#F!*Qbb`LvnG*UuF-z{KFyu%9qoFf731Xt0fG1*p_+4X%TI)bTqJ>CNQCTbKal5e;s7*(DcPYGWelk5XBf1o}`yRZoz zThW55wDr}xpgxmYdKet@ReEvytU`=AxbsT6oA}a@cCRY^=g(PBS!U;uCBh7zDlKwy z-V_x%xsKLwz;ApqsuAKdY LTm`pW1p$8n)YEKp From 7efbab93e841a1bde7f8eb8a85d082aa31097343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Tue, 23 Feb 2016 00:22:33 +0100 Subject: [PATCH 11/14] names. Changed can to synthanol. --- code/game/machinery/vending.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index b97007d627b..83cf9225bab 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -704,7 +704,7 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua = 5, /obj/item/weapon/reagent_containers/food/drinks/cans/beer = 6, /obj/item/weapon/reagent_containers/food/drinks/cans/ale = 6, - /obj/item/weapon/reagent_containers/food/drinks/cans/alkasine = 15, + /obj/item/weapon/reagent_containers/food/drinks/cans/synthanol = 15, /obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice = 4, /obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice = 4, /obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice = 4, From d3573135d2121e8fc4b54eff18ecfb92898fd301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Tue, 23 Feb 2016 00:27:05 +0100 Subject: [PATCH 12/14] Fixed fixed spans. Turns out they weren't fixed afterall... --- .../reagent_containers/food/drinks.dm | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 46a9d43b9df..589ae649256 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -23,7 +23,7 @@ var/fillevel = gulp_size if(!R.total_volume || !R) - user << " None of [src] left, oh no!" + user << " None of [src] left, oh no!" return 0 if(M == user) @@ -35,9 +35,9 @@ user << "Where do you intend to put \the [src]? You don't have a mouth!" return else - M << " You pour a bit of liquid from [src] into your connection port." + M << " You pour a bit of liquid from [src] into your connection port." else - M << " You swallow a gulp of [src]." + M << " You swallow a gulp of [src]." if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(0) @@ -53,10 +53,10 @@ return for(var/mob/O in viewers(world.view, user)) - O.show_message(" [user] attempts to feed [M] [src].", 1) + O.show_message(" [user] attempts to feed [M] [src].", 1) if(!do_mob(user, M)) return for(var/mob/O in viewers(world.view, user)) - O.show_message(" [user] feeds [M] [src].", 1) + O.show_message(" [user] feeds [M] [src].", 1) M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [key_name(user)] Reagents: [reagentlist(src)]") user.attack_log += text("\[[time_stamp()]\] Fed [M.name] by [key_name(M)] Reagents: [reagentlist(src)]") @@ -98,23 +98,23 @@ if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. if(!target.reagents.total_volume) - user << " [target] is empty." + user << " [target] is empty." return if(reagents.total_volume >= reagents.maximum_volume) - user << " [src] is full." + user << " [src] is full." return var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - user << " You fill [src] with [trans] units of the contents of [target]." + user << " You fill [src] with [trans] units of the contents of [target]." else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it. if(!reagents.total_volume) - user << " [src] is empty." + user << " [src] is empty." return if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << " [target] is full." + user << " [target] is full." return @@ -126,7 +126,7 @@ refillName = reagents.get_master_reagent_name() var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << " You transfer [trans] units of the solution to [target]." + user << " You transfer [trans] units of the solution to [target]." if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell if(refill in drinks) // Only synthesize drinks @@ -155,15 +155,15 @@ if(!..(user, 1)) return if(!reagents || reagents.total_volume==0) - user << " \The [src] is empty!" + user << " \The [src] is empty!" else if (reagents.total_volume<=src.volume/4) - user << " \The [src] is almost empty!" + user << " \The [src] is almost empty!" else if (reagents.total_volume<=src.volume*0.66) - user << " \The [src] is half full!" // We're all optimistic, right?! + user << " \The [src] is half full!" // We're all optimistic, right?! else if (reagents.total_volume<=src.volume*0.90) - user << " \The [src] is almost full!" + user << " \The [src] is almost full!" else - user << " \The [src] is full!" + user << " \The [src] is full!" //////////////////////////////////////////////////////////////////////////////// @@ -407,4 +407,4 @@ desc = "A flask with a Lithium Atom symbol on it." icon = 'icons/obj/custom_items.dmi' icon_state = "lithiumflask" - volume = 50 \ No newline at end of file + volume = 50 From c184c6a65a9233a557108535e53837de1b8abb6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Tue, 23 Feb 2016 00:41:26 +0100 Subject: [PATCH 13/14] Names. Again. --- .../reagent_containers/food/drinks/drinkingglass.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm index 904619950da..1ce5be29367 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm @@ -564,9 +564,9 @@ icon_state = "patronglass" name = "Jack Rose" desc = "Drinking this makes you feel like you belong in a luxury hotel bar during the 1920s." - if("alkasine") - icon_state = "alkasineglass" - name = "Glass of Alkasine" + if("synthanol") + icon_state = "synthanolglass" + name = "Glass of Synthanol" desc = "The equivalent of alcohol for synthetic crewmembers. They'd find it awful if they had tastebuds too." if("robottears") icon_state = "robottearsglass" From 2812daf59b37345264dec4f907a3e15934be895f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Tue, 23 Feb 2016 00:55:46 +0100 Subject: [PATCH 14/14] Removed some redundant code that was already under ethanol --- code/modules/reagents/newchem/drinks.dm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index 09c09ceba14..28237207995 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -92,14 +92,8 @@ mix_message = "The chemicals mix to create shiny, blue substance." /datum/reagent/ethanol/synthanol/on_mob_life(var/mob/living/M as mob, var/alien) - if(!src.data) data = 1 - src.data++ - var/d = data - - // make all the synthanol children work together - for(var/datum/reagent/ethanol/synthanol/A in holder.reagent_list) - if(isnum(A.data)) d += A.data + var/d = data if(d >= collapse_start && prob(10)) M.emote("collapse") @@ -155,4 +149,4 @@ result_amount = 4 mix_message = "The ingredients mix into a dark brown substance." -// ROBOT ALCOHOL ENDS \ No newline at end of file +// ROBOT ALCOHOL ENDS