From 68a8340b2324f704d5f51559bd370b46a741e8c6 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 7 Apr 2015 01:03:15 -0400 Subject: [PATCH] [Goonchem] More Reagents --- code/modules/reagents/Chemistry-Recipes.dm | 1 + code/modules/reagents/newchem/drinks.dm | 32 ++++++++ code/modules/reagents/newchem/drugs.dm | 70 ++++++++++++++++++ code/modules/reagents/newchem/food.dm | 26 ++++++- code/modules/reagents/newchem/other.dm | 55 ++++++++++++++ .../food/drinks/drinkingglass.dm | 4 + .../reagent_containers/food/snacks.dm | 3 + icons/obj/drinks.dmi | Bin 60811 -> 60972 bytes paradise.dme | 1 + 9 files changed, 191 insertions(+), 1 deletion(-) create mode 100644 code/modules/reagents/newchem/drinks.dm diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 85905a0f24a..ce728e632c0 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1143,6 +1143,7 @@ datum result = "gintonic" required_reagents = list("gin" = 2, "tonic" = 1) result_amount = 3 + mix_message = "The tonic water and gin mix together perfectly." cuba_libre name = "Cuba Libre" diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm new file mode 100644 index 00000000000..b126d460184 --- /dev/null +++ b/code/modules/reagents/newchem/drinks.dm @@ -0,0 +1,32 @@ +datum/reagent/ginsonic + name = "Gin and sonic" + id = "ginsonic" + description = "GOTTA GET CRUNK FAST BUT LIQUOR TOO SLOW" + reagent_state = LIQUID + color = "#1111CF" + +/datum/chemical_reaction/ginsonic + name = "ginsonic" + id = "ginsonic" + result = "ginsonic" + required_reagents = list("gintonic" = 1, "methamphetamine" = 1) + result_amount = 2 + mix_message = "The drink turns electric blue and starts quivering violently." + +datum/reagent/ginsonic/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(prob(10)) + M.reagents.add_reagent("methamphetamine",1.2) + M.reagents.add_reagent("ethanol",1.4) + if(prob(8)) + M.say(pick("Gotta go fast!", "Let's juice.", "I feel a need for speed!", "Way Past Cool!")) + if(prob(8)) + switch(pick(1, 2, 3)) + if(1) + M << "Time to speed, keed!" + if(2) + M << "Let's juice." + if(3) + M << "Way Past Cool!" + ..() + return diff --git a/code/modules/reagents/newchem/drugs.dm b/code/modules/reagents/newchem/drugs.dm index 83b68f7a69f..a7e29207591 100644 --- a/code/modules/reagents/newchem/drugs.dm +++ b/code/modules/reagents/newchem/drugs.dm @@ -387,4 +387,74 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob) if(prob(50)) M.stuttering += 2 ..() + return + +/datum/reagent/fliptonium + name = "Fliptonium" + id = "fliptonium" + description = "Do some flips!" + reagent_state = LIQUID + color = "#A42964" + metabolization_rate = 0.2 + overdose_threshold = 15 + +/datum/chemical_reaction/fliptonium + name = "fliptonium" + id = "fliptonium" + result = "fliptonium" + required_reagents = list("ephedrine" = 1, "liquid_dark_matter" = 1, "chocolate" = 1, "ginsonic" = 1) + result_amount = 4 + mix_message = "The mixture swirls around excitedly!" + +datum/reagent/fliptonium/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) + if(!istype(M, /mob/living)) + return + if(method == INGEST || method == TOUCH) + M.SpinAnimation(speed = 12, loops = -1) + +/datum/reagent/fliptonium/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(current_cycle == 5) + M.SpinAnimation(speed = 11, loops = -1) + if(current_cycle == 10) + M.SpinAnimation(speed = 10, loops = -1) + if(current_cycle == 15) + M.SpinAnimation(speed = 9, loops = -1) + if(current_cycle == 20) + M.SpinAnimation(speed = 8, loops = -1) + if(current_cycle == 25) + M.SpinAnimation(speed = 7, loops = -1) + if(current_cycle == 30) + M.SpinAnimation(speed = 6, loops = -1) + if(current_cycle == 40) + M.SpinAnimation(speed = 5, loops = -1) + if(current_cycle == 50) + M.SpinAnimation(speed = 4, loops = -1) + M.AdjustParalysis(-2) + M.AdjustStunned(-2) + M.AdjustWeakened(-2) + M.adjustStaminaLoss(-2) + ..() + return + +datum/reagent/fliptonium/reagent_deleted(var/mob/living/M as mob) + M.SpinAnimation(speed = 12, loops = -1) + +datum/reagent/fliptonium/overdose_process(var/mob/living/M as mob) + if(volume > 15) + if(prob(5)) + switch(pick(1, 2, 3)) + if(1) + M.emote("laugh") + M.adjustToxLoss(1) + if(2) + M << "[M] can't seem to control their legs!" + M.Weaken(8) + M.adjustToxLoss(1) + if(3) + M << "[M]'s hands flip out and flail everywhere!" + M.drop_l_hand() + M.drop_r_hand() + M.adjustToxLoss(1) + ..() return \ No newline at end of file diff --git a/code/modules/reagents/newchem/food.dm b/code/modules/reagents/newchem/food.dm index 5a8c8c520f6..8add8de4b76 100644 --- a/code/modules/reagents/newchem/food.dm +++ b/code/modules/reagents/newchem/food.dm @@ -218,4 +218,28 @@ datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) M.Stun(rand(4,10)) M << "A horrible migraine overpowers you." ..() - return \ No newline at end of file + return + +/datum/reagent/fake_cheese + name = "Cheese substitute" + id = "fake_cheese" + description = "A cheese-like substance derived loosely from actual cheese." + reagent_state = LIQUID + color = "#B2B139" + +datum/reagent/beans + name = "Refried beans" + id = "beans" + description = "A dish made of mashed beans cooked with lard." + reagent_state = LIQUID + color = "#684435" + +datum/reagent/beans/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(prob(8)) + M.emote("fart") + ..() + return + + + diff --git a/code/modules/reagents/newchem/other.dm b/code/modules/reagents/newchem/other.dm index 40bde42fd87..d20416d2418 100644 --- a/code/modules/reagents/newchem/other.dm +++ b/code/modules/reagents/newchem/other.dm @@ -149,6 +149,22 @@ datum/reagent/corgium ..() return + +/datum/chemical_reaction/flaptonium + name = "Flaptonium" + id = "flaptonium" + result = null + required_reagents = list("egg" = 1, "colorful_reagent" = 1, "chicken_soup" = 1, "strange_reagent" = 1, "blood" = 1) + result_amount = 5 + required_temp = 374 + +/datum/chemical_reaction/flaptonium/on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + new /mob/living/simple_animal/parrot(location) + ..() + return + + datum/reagent/hair_dye name = "Quantum Hair Dye" id = "hair_dye" @@ -232,4 +248,43 @@ datum/reagent/super_hairgrownium/on_mob_life(var/mob/living/M as mob) H.equip_to_slot(fakemoustache, slot_wear_mask) H << "Hair bursts forth from your every follicle!" ..() + return + +datum/reagent/fartonium + name = "Fartonium" + id = "fartonium" + description = "Oh god it never ends, IT NEVER STOPS!" + reagent_state = GAS + color = "#D06E27" + +/datum/chemical_reaction/fartonium + name = "Fartonium" + id = "fartonium" + result = "fartonium" + required_reagents = list("fake_cheese" = 1, "beans" = 1, "????" = 1, "egg" = 1) + result_amount = 2 + mix_message = "The substance makes a little 'toot' noise and starts to smell pretty bad." + +datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + M.emote("fart") + if(holder.has_reagent("simethicone")) + if(prob(30)) + switch(pick(1,2)) + if(1) + M << "Something isn't right!" + M.adjustBruteLoss(1) + if(2) + M.emote("me",1,"strains, but nothing happens.") + M.adjustBruteLoss(2) + if(3) + M.emote("scream") + M.adjustBruteLoss(2) + if(4) + M << "Oh gosh, the pain!" + M.adjustBruteLoss(1) + if(5) + M << "THE PAIN!" + M.adjustBruteLoss(1) + ..() return \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm index 1b912dba4fc..18a7a486fbe 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm @@ -204,6 +204,10 @@ icon_state = "gintonicglass" name = "Gin and Tonic" desc = "A mild but still great cocktail. Drink up, like a true Englishman." + if("ginsonic") + icon_state = "ginsonic" + name = "Gin and Sonic" + desc = "An extremely high amperage drink. Absolutely not for the true Englishman." if("whiskeycola") icon_state = "whiskeycolaglass" name = "Whiskey Cola" diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 3885055c8d9..4b2c250b4ee 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -2566,6 +2566,7 @@ New() ..() reagents.add_reagent("nutriment", 20) + reagents.add_reagent("fake_cheese", 5) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cheesewedge @@ -2976,6 +2977,7 @@ New() ..() reagents.add_reagent("nutriment", 10) + reagents.add_reagent("beans",10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/benedict @@ -2985,6 +2987,7 @@ New() ..() reagents.add_reagent("nutriment", 3) + reagents.add_reagent("egg", 3) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/hotdog diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index d2e691b633a54ec3293671eca590937d3039a0c2..9a4d2d3c8e4a549b73e74bb6417b093fb834c976 100644 GIT binary patch delta 4574 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 EUuM|vlmGw# delta 4413 zcmaJ^c{r5c-+sne2FciEn;NtXSt5!o$y&CF2w4(FS^HMD@E}`cPbgc;Qr03v%#4yO zVQ8{tnaElgyTO?GjraGv-s`=t_r2cp-#Pbl&i%PR_wziT%LCXPZ=Wgw(?vTdxw zZ4KLh70HyLZ8E-!4qZ=`Nfn$g#?-R0y%+-h1u)?pE0n6bboU(|=|gMW?3bz}51)gY zTvo_gE*aZURqwrTUzKG#?;r}xGmX42_H#^?1Xhun8gG=EFg#)YeYX|HdTuOhs0WF~ zJWIT=WcDlJn8?amR@krMGs9n36Xi!jMwSq3Tz1bs@$b35q+nt{rPtt___runqIL+V zhCmC>9@-a2(;_QIb{Y*F7(b`xI)%z|`J;j^LL<8UG{Wk7il%r0k}KDPt6KV5+yZHw zup$`vm&??YJX9(!(h-R|7KK;lxT+(v@-5?1(1L>;-0#^ho4CSH)V9E{Rbk1pUVi~# ze}5kq*Sa9Rf5aTK+kTxPqkHBI4+KOONqd;aUM^x08h$_dt!%~mQl_={?wak*84OT) zawA|`aYF!7Z%Tjh()XMOg-G>dOqi3x=~h)J4xqvb$MrbqP^TOJ;ZC-=Q7HPKW3uPq zIoV$<$x2^+os~nS@RlF=bu>2-Iin{ma$EW;`GA&WM=;^hJ z*k#18X*v2xE2D%6If-#D&lPs{!&P7VIDSuo`v%PjAn9Lh!4xc!Zt%|v`-$hDK$IuY z#zWQ4M|?5n2RFui>*P0IHh$o=tqM&zMLy}W7IokLas=EiIg@ZcLiWM8nuWW(C60F+ zJ~$Z5KD%VOcZhg@;I+;;985A?rT$L2wLaT(9qTLUJJFo8)0S~MK$G1zNnBJN4{2xy zIbyY?bU!b!jb*^wP(OYQObv=)quf~5F>(BBKynv8Xv)lX?Tn~6y3pOE~vKWo%>&)^_gn%3zCdZ*B#+0%` z@;`1_3TRz2CvJg5Cms!I)v@;T-80uSe2Yqjr^kQMDvO8qzD1vNo?m9jLWf^up}TLO0&VjG23`10`f}iyPTeAwf%P`q|H%nt%TRFq?U~j-BRFGTD@hVPhfCZ zm;pheAV8n#0rx}yh>Z71D8LS%K;be|C7$1+OlS?>NdJD^L-nXPAk2prR7wps_UHa~ z>^S@6{R=WMS7@Ev&AIv{ra^a1^P+^!J~?Aqq$*jggaqKqNgY8fS-wu6pUuoB0jj%i zm3}!ugffiZpd^X_^!=8F`=4dsmQ^YTOpU(-p&T(H$@sE2k7X`gLERnHB<+KI@Np!a zgAk1>ix8m_7Rpn{7D#NQv~$Ul=RAW%;9~b*2D*x!HRlm}Wyf}QYRVPtgkFJkKBhhm#@H80^TFQwNpw(3Nla; zVVW8%KM({r`z`0@&8+8`+p@LrnFJJ+I^NmEaWiPt*zIS&wtx7+=Fkjhq3|RznSed8+ zI|&5?Y(5-Y5hPTc3~$1= zDkLEHgbWnO`&mK+B$>SD`~#+oH}SU-#oxr z)pHDR$83?G`DCBMzf=%+dKkR5=e(#U-vF7HFpc33o=Rqqd+F5+s*opWZ8D4ZY|7Q3aGv9SoK4t*yIY{(mM0;~-DMAtT9J=bRr3sK3Kl z3f+I)agNQA`&UlA9CyC|N^f7*Aq0PCFF9(iKj~7f6cJDCriG3)E)IjW>&(#Y+i#W6 zfwV`7_C}9d(|0&`l2som3#wkeS}~b-2Ixl7ZT6-Du{}F>%^Q`ZXFQjZ8Q>&^TCgM@ zx*T+`RT&7X_giWF)#k-;xrWbkGgu`|B(Dghl=vYykKw(9?BT3B8EzDHI_r zRy-7Pe^q;Ly>gfmI_h$*zV>HgFRw!H-ia_)&#Gx^4FYi6sjkD%2AtmW+gDa8F0_FL zCg`O4!eRrva@wWbcD1EM^K`8;=Y}KuA9oMU)G$I;$qyAG%|H$eoi##Qj!*5OVR*nQ zF$2L`)4%A`mk9dOCo}bi7mw_WwCPxc!&?kV*qbF(VyB-0H5@aoC?l?NupYwT9*bo= z3qXk0zttaM#IWAMc=2q9(0}~Ed-L59X#!FItUp+nWFx3-$U3am8X+pWh&^i3I-^*u z&XeT!L2zy#I<_wu$yZl_A;0qwpTLK30V`VrR<%+piPQc-g9=wF6@eX4d zMcL=F&CcXQM=_Z+j3q`nVa%XGa0>^h3e|+#E*oJ8d}3gP5AZE(bDBR^UKSF9#SexjKa71>_B{!maR2Ldp)Vc zc_onh`JX3APUH%5uWjg=?Kh`doioR1JIVOUE}}M@vKRSu7dC_;f(lxFE^F4Z_=*9d z7q44kYy^8=z3F-ceI+n&Tb!)hKvoMgI8&&TTe`hW?LOd>tfN50HC%T@Tc)JKxVyW=_%B`;}%jwigj?OWPy(+;CI^}w;&#Wq7 z=X1&3%!oXxsfn5S8$)JBVRW^JW>|wl7*iP4KOWUD67v0K=!)8L z5#3&XW6P$xb{Mj^`hljGk@4@9@v}3%U3^}MWQR}E7`nclQ#*GYLNmQ zJm?CF%$_|z5|x^O`r==<{*{HwCPz@xi$D)QYsWf^`>sy zdb)swB2_6n*&h4*cWf0+ond9nI+iNLwx^^2s{?f^JHxMY6VQ8E1u^Is!<9$d?Gc)W zXfYArN6t9WEV+YhIcvATz-o_!ha6u*W}3gx`{eD@DR>A;goW!t47;G+r^GqFmHOUr zMj%-iJp?^T^;|8_T#eNuv>SJ0)fu2K^LvEUxSF_xQ5ikCdmUWr=~K6XAlk0dZr-24 z4Ik{00v6U(P!Py|r~v?mhK3vMrZ0eDAugW9t53gE?kfs6GH*(E&%0>O zR8cYQGZ9Nqo2CjDvY^LV773zoG~TfA2A57+ns=U(VR4*6{^D0x3%4gl3hesKQJlmB z@bRIKxI%UH^{r#UVF1p@mw8MLU}Em^|He>zDG*eG>-KRbWS1=cKcW9@`#*Oru(xRV5DV zc+aAOjf{_M$H!l`>n{a1r2U(Q^DLOeT~uXVX0&JSJ7)k(Zh`-GOcTWtlLqMu3^) zGsgtEglJ|=5h-=Z+%R&LxY7e2Fk;ag5XT5JI(vBmYFVF;rC?i2r8Ki!