-
-
Notifications
You must be signed in to change notification settings - Fork 444
/
Copy pathdrinks.dm
662 lines (568 loc) · 23.5 KB
/
drinks.dm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
////////////////////////////////////////////////////////////////////////////////
/// Drinks.
////////////////////////////////////////////////////////////////////////////////
/obj/item/reagent_containers/food/drinks
name = "drink"
desc = "Yummy."
icon = 'icons/obj/drinks.dmi'
icon_state = "pineapplejuice" // Shouldn't see this anyways.
lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
reagent_flags = OPENCONTAINER
var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it.
possible_transfer_amounts = list(5,10,15,20,25,30,50)
volume = 50
resistance_flags = NONE
var/isGlass = TRUE //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it
/obj/item/reagent_containers/food/drinks/on_reagent_change(changetype)
. = ..()
if (gulp_size < 5)
gulp_size = 5
else
gulp_size = max(round(reagents.total_volume / 5), 5)
/obj/item/reagent_containers/food/drinks/attack(mob/living/M, mob/user, def_zone)
if(!reagents || !reagents.total_volume)
to_chat(user, span_warning("[src] is empty!"))
return 0
if(iscarbon(M))
var/mob/living/carbon/C = M
if(!canconsume(M, user))
return 0
if (!is_drainable())
to_chat(user, span_warning("[src]'s lid hasn't been opened!"))
return 0
if(M == user)
if(HAS_TRAIT(M, TRAIT_VORACIOUS))
M.changeNext_move(CLICK_CD_MELEE * 0.5) //chug! chug! chug!
else
if(!C.force_drink_text(src, C, user))
return
if(!do_after(user, 3 SECONDS, M))
return
if(!reagents || !reagents.total_volume)
return // The drink might be empty after the delay, such as by spam-feeding
log_combat(user, M, "fed", reagents.log_list())
if(!C.drink_text(src, C, user))
return
var/fraction = min(gulp_size/reagents.total_volume, 1)
checkLiked(fraction, M)
reagents.reaction(M, INGEST, fraction)
reagents.trans_to(M, gulp_size, transfered_by = user)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
/obj/item/reagent_containers/food/drinks/afterattack(obj/target, mob/user , proximity)
. = ..()
if(!proximity)
return
if(target.is_refillable() && is_drainable()) //Something like a glass. Player probably wants to transfer TO it.
if(!reagents.total_volume)
to_chat(user, span_warning("[src] is empty."))
return
if(target.reagents.holder_full())
to_chat(user, span_warning("[target] is full."))
return
var/refill = reagents.get_master_reagent_id()
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user)
to_chat(user, span_notice("You transfer [trans] units of the solution to [target]."))
if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
var/mob/living/silicon/robot/bro = user
bro.cell.use(30)
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, add_reagent), refill, trans), 600)
else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us.
if (!is_refillable())
to_chat(user, span_warning("[src]'s tab isn't open!"))
return
if(!target.reagents.total_volume)
to_chat(user, span_warning("[target] is empty."))
return
if(reagents.holder_full())
to_chat(user, span_warning("[src] is full."))
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user)
to_chat(user, span_notice("You fill [src] with [trans] units of the contents of [target]."))
/obj/item/reagent_containers/food/drinks/attackby(obj/item/I, mob/user, params)
var/hotness = I.is_hot()
if(hotness && reagents)
reagents.expose_temperature(hotness)
to_chat(user, span_notice("You heat [name] with [I]!"))
..()
/obj/item/reagent_containers/food/drinks/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
. = ..()
if(!.) //if the bottle wasn't caught
smash(hit_atom, throwingdatum?.thrower, TRUE)
/obj/item/reagent_containers/food/drinks/proc/smash(atom/target, mob/thrower, ranged = FALSE)
if(!isGlass)
return
if(QDELING(src) || !target) //Invalid loc
return
if(bartender_check(target) && ranged)
return
var/obj/item/broken_bottle/B = new (loc)
B.icon_state = icon_state
var/icon/I = new('icons/obj/drinks.dmi', src.icon_state)
I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1)
I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0))
B.icon = I
B.name = "broken [name]"
if(ranged)
var/matrix/M = matrix(B.transform)
M.Turn(rand(-170, 170))
B.transform = M
B.pixel_x = rand(-12, 12)
B.pixel_y = rand(-12, 12)
if(prob(33))
var/obj/item/shard/S = new(drop_location())
target.Bumped(S)
playsound(src, "shatter", 70, 1)
transfer_fingerprints_to(B)
qdel(src)
target.Bumped(B)
////////////////////////////////////////////////////////////////////////////////
/// Drinks. END
////////////////////////////////////////////////////////////////////////////////
/obj/item/reagent_containers/food/drinks/trophy
name = "pewter cup"
desc = "Everyone gets a trophy."
icon_state = "pewter_cup"
w_class = WEIGHT_CLASS_TINY
force = 1
throwforce = 1
amount_per_transfer_from_this = 5
materials = list(/datum/material/iron=100)
possible_transfer_amounts = list()
volume = 5
flags_1 = CONDUCT_1
resistance_flags = FIRE_PROOF
isGlass = FALSE
/obj/item/reagent_containers/food/drinks/trophy/gold_cup
name = "gold cup"
desc = "You're winner!"
icon_state = "golden_cup"
w_class = WEIGHT_CLASS_BULKY
force = 14
throwforce = 10
amount_per_transfer_from_this = 20
materials = list(/datum/material/gold=1000)
volume = 150
/obj/item/reagent_containers/food/drinks/trophy/silver_cup
name = "silver cup"
desc = "Best loser!"
icon_state = "silver_cup"
w_class = WEIGHT_CLASS_NORMAL
force = 10
throwforce = 8
amount_per_transfer_from_this = 15
materials = list(/datum/material/silver=800)
volume = 100
/obj/item/reagent_containers/food/drinks/trophy/bronze_cup
name = "bronze cup"
desc = "At least you ranked!"
icon_state = "bronze_cup"
w_class = WEIGHT_CLASS_SMALL
force = 5
throwforce = 4
amount_per_transfer_from_this = 10
materials = list(/datum/material/iron=400)
volume = 25
///////////////////////////////////////////////Drinks
//Notes by Darem: Drinks are simply containers that start preloaded. Unlike condiments, the contents can be ingested directly
// rather then having to add it to something else first. They should only contain liquids. They have a default container size of 50.
// Formatting is the same as food.
/obj/item/reagent_containers/food/drinks/coffee
name = "robust coffee"
desc = "Careful, the beverage you're about to enjoy is extremely hot."
icon = 'icons/obj/food/containers.dmi'
icon_state = "coffee"
list_reagents = list(/datum/reagent/consumable/coffee/hot = 30)
resistance_flags = FREEZE_PROOF
isGlass = FALSE
foodtype = BREAKFAST | COFFEE
var/lid_open = 0
/obj/item/reagent_containers/food/drinks/coffee/no_lid
icon_state = "coffee_empty"
list_reagents = null
/obj/item/reagent_containers/food/drinks/coffee/update_icon_state()
if(lid_open)
icon_state = reagents.total_volume ? "[base_icon_state]_full" : "[base_icon_state]_empty"
else
icon_state = base_icon_state
return ..()
/obj/item/reagent_containers/food/drinks/ice
name = "ice cup"
desc = "Careful, cold ice, do not chew."
custom_price = 5
icon_state = "coffee"
list_reagents = list(/datum/reagent/consumable/ice = 30)
isGlass = FALSE
/obj/item/reagent_containers/food/drinks/ice/prison
name = "dirty ice cup"
desc = "Either Nanotrasen's water supply is contaminated, or this machine actually vends lemon, chocolate, and cherry snow cones."
list_reagents = list(/datum/reagent/consumable/ice = 25, /datum/reagent/liquidgibs = 5)
/obj/item/reagent_containers/food/drinks/mug/ // parent type is literally just so empty mug sprites are a thing
name = "mug"
desc = "A drink served in a classy mug."
icon_state = "tea"
item_state = "coffee"
/obj/item/reagent_containers/food/drinks/mug/on_reagent_change(changetype)
if(reagents.total_volume)
icon_state = "tea"
else
icon_state = "tea_empty"
/obj/item/reagent_containers/food/drinks/mug/tea
name = "Duke Purple tea"
desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea."
list_reagents = list(/datum/reagent/consumable/tea/hot = 30)
/obj/item/reagent_containers/food/drinks/mug/coco
name = "Dutch hot coco"
desc = "Made in Space South America."
list_reagents = list(/datum/reagent/consumable/hot_coco = 15, /datum/reagent/consumable/sugar = 5)
foodtype = SUGAR
resistance_flags = FREEZE_PROOF
/obj/item/reagent_containers/food/drinks/dry_ramen
name = "cup ramen"
desc = "Just add 5ml of water, self heats! A taste that reminds you of your school years. Now new with salty flavour!"
lefthand_file = 'yogstation/icons/mob/inhands/lefthand.dmi'
righthand_file = 'yogstation/icons/mob/inhands/righthand.dmi'
icon_state = "ramen"
item_state = "ramen"
list_reagents = list(/datum/reagent/consumable/dry_ramen = 15, /datum/reagent/consumable/sodiumchloride = 3)
foodtype = GRAIN
isGlass = FALSE
/obj/item/reagent_containers/food/drinks/beer
name = "space beer"
desc = "Beer. In space."
icon_state = "beer"
list_reagents = list(/datum/reagent/consumable/ethanol/beer = 30)
foodtype = GRAIN | ALCOHOL
age_restricted = TRUE
/obj/item/reagent_containers/food/drinks/beer/light
name = "Carp Lite"
desc = "Brewed with \"Pure Ice Asteroid Spring Water\"."
list_reagents = list(/datum/reagent/consumable/ethanol/beer/light = 30)
/obj/item/reagent_containers/food/drinks/beer/light/plastic
list_reagents = list(/datum/reagent/consumable/ethanol/beer/light = 15)
isGlass = FALSE
/obj/item/reagent_containers/food/drinks/ale
name = "Magm-Ale"
desc = "A true dorf's drink of choice."
icon_state = "alebottle"
item_state = "beer"
list_reagents = list(/datum/reagent/consumable/ethanol/ale = 30)
foodtype = GRAIN | ALCOHOL
/obj/item/reagent_containers/food/drinks/sillycup
name = "paper cup"
desc = "A paper water cup."
icon_state = "water_cup_e"
possible_transfer_amounts = list()
volume = 10
isGlass = FALSE
/obj/item/reagent_containers/food/drinks/sillycup/on_reagent_change(changetype)
if(reagents.total_volume)
icon_state = "water_cup"
else
icon_state = "water_cup_e"
/obj/item/reagent_containers/food/drinks/sillycup/smallcarton
name = "small carton"
desc = "A small carton, intended for holding drinks."
icon_state = "juicebox"
icon_state_preview = "juicebox"
volume = 15 //I figure if you have to craft these it should at least be slightly better than something you can get for free from a watercooler
/obj/item/reagent_containers/food/drinks/sillycup/smallcarton/smash(atom/target, mob/thrower, ranged = FALSE)
if(bartender_check(target) && ranged)
return
var/obj/item/broken_bottle/B = new (loc)
B.icon_state = icon_state
var/icon/I = new('icons/obj/drinks.dmi', src.icon_state)
I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1)
I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0))
B.icon = I
B.name = "broken [name]"
B.force = 0
B.throwforce = 0
B.desc = "A carton with the bottom half burst open. Might give you a papercut."
if(ranged)
var/matrix/M = matrix(B.transform)
M.Turn(rand(-170, 170))
B.transform = M
B.pixel_x = rand(-12, 12)
B.pixel_y = rand(-12, 12)
transfer_fingerprints_to(B)
qdel(src)
target.Bumped(B)
/obj/item/reagent_containers/food/drinks/sillycup/smallcarton/on_reagent_change(changetype)
if (reagents.reagent_list.len)
switch(reagents.get_master_reagent_id())
if(/datum/reagent/consumable/orangejuice)
icon_state = "orangebox"
name = "orange juice box"
desc = "A great source of vitamins. Stay healthy!"
foodtype = FRUIT | BREAKFAST
if(/datum/reagent/consumable/milk)
icon_state = "milkbox"
name = "carton of milk"
desc = "An excellent source of calcium for growing space explorers."
foodtype = DAIRY | BREAKFAST
if(/datum/reagent/consumable/applejuice)
icon_state = "juicebox"
name = "apple juice box"
desc = "Sweet apple juice. Don't be late for school!"
foodtype = FRUIT
if(/datum/reagent/consumable/grapejuice)
icon_state = "grapebox"
name = "grape juice box"
desc = "Tasty grape juice in a fun little container. Non-alcoholic!"
foodtype = FRUIT
if(/datum/reagent/consumable/pineapplejuice)
icon_state = "pineapplebox"
name = "pineapple juice box"
desc = "Why would you even want this?"
foodtype = FRUIT | PINEAPPLE
if(/datum/reagent/consumable/milk/chocolate_milk)
icon_state = "chocolatebox"
name = "carton of chocolate milk"
desc = "Milk for cool kids!"
foodtype = SUGAR
if(/datum/reagent/consumable/ethanol/eggnog)
icon_state = "nog2"
name = "carton of eggnog"
desc = "For enjoying the most wonderful time of the year."
foodtype = MEAT
else
icon_state = "juicebox"
name = "small carton"
desc = "A small carton, intended for holding drinks."
//////////////////////////drinkingglass and shaker//
//Note by Darem: This code handles the mixing of drinks. New drinks go in three places: In Chemistry-Reagents.dm (for the drink
// itself), in Chemistry-Recipes.dm (for the reaction that changes the components into the drink), and here (for the drinking glass
// icon states.
/obj/item/reagent_containers/food/drinks/shaker
name = "shaker"
desc = "A metal shaker to mix drinks in."
icon_state = "shaker"
materials = list(/datum/material/iron=1500)
amount_per_transfer_from_this = 10
volume = 100
isGlass = FALSE
/obj/item/reagent_containers/food/drinks/flask
name = "flask"
desc = "Every good spaceman knows it's a good idea to bring along a couple of pints of whiskey wherever they go."
custom_price = 30
icon_state = "flask"
materials = list(/datum/material/iron=250)
volume = 60
isGlass = FALSE
/obj/item/reagent_containers/food/drinks/flask/gold
name = "captain's flask"
desc = "A gold flask belonging to the captain."
icon_state = "flask_gold"
materials = list(/datum/material/gold=500)
/obj/item/reagent_containers/food/drinks/flask/det
name = "detective's flask"
desc = "The detective's only true friend."
icon_state = "detflask"
list_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 30)
/obj/item/reagent_containers/food/drinks/britcup
name = "cup"
desc = "A cup with the british flag emblazoned on it."
icon_state = "britcup"
volume = 30
//////////////////////////soda_cans//
//These are in their own group to be used as IED's in /obj/item/grenade/ghettobomb.dm
/obj/item/reagent_containers/food/drinks/soda_cans
name = "soda can"
icon_state_preview = "cola"
lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
reagent_flags = NONE
isGlass = FALSE
/obj/item/reagent_containers/food/drinks/soda_cans/suicide_act(mob/living/carbon/human/H)
if(!reagents.total_volume)
H.visible_message(span_warning("[H] is trying to take a big sip from [src]... The can is empty!"))
return SHAME
if(!is_drainable())
open_soda()
sleep(1 SECONDS)
H.visible_message(span_suicide("[H] takes a big sip from [src]! It looks like [H.p_theyre()] trying to commit suicide!"))
playsound(H,'sound/items/drink.ogg', 80, 1)
reagents.trans_to(H, src.reagents.total_volume, transfered_by = H) //a big sip
sleep(0.5 SECONDS)
H.say(pick("Now, Outbomb Cuban Pete, THAT was a game.", "All these new fangled arcade games are too slow. I prefer the classics.", "They don't make 'em like Orion Trail anymore.", "You know what they say. Worst day of spess carp fishing is better than the best day at work.", "They don't make 'em like good old fashioned singularity engines anymore."))
if(H.age >= 30)
H.Stun(5 SECONDS)
sleep(5 SECONDS)
playsound(H,'sound/items/drink.ogg', 80, 1)
H.say(pick("Another day, another dollar.", "I wonder if I should hold?", "Diversifying is for young'ns.", "Yeap, times were good back then."))
return MANUAL_SUICIDE_NONLETHAL
sleep(2 SECONDS) //dramatic pause
return TOXLOSS
/obj/item/reagent_containers/food/drinks/soda_cans/attack(mob/M, mob/living/user)
if(M == user && !src.reagents.total_volume && user.combat_mode && user.zone_selected == BODY_ZONE_HEAD)
user.visible_message(span_warning("[user] crushes the can of [src] on [user.p_their()] forehead!"), span_notice("You crush the can of [src] on your forehead."))
playsound(user.loc,'sound/weapons/pierce.ogg', rand(10,50), 1)
var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(user.loc)
crushed_can.icon_state = icon_state
qdel(src)
..()
/obj/item/reagent_containers/food/drinks/soda_cans/proc/open_soda(mob/user)
to_chat(user, "You pull back the tab of \the [src] with a satisfying pop.") //Ahhhhhhhh
ENABLE_BITFIELD(reagents.flags, OPENCONTAINER)
playsound(src, "can_open", 50, 1)
/obj/item/reagent_containers/food/drinks/soda_cans/attack_self(mob/user)
if(!is_drainable())
open_soda(user)
return ..()
/obj/item/reagent_containers/food/drinks/soda_cans/cola
name = "Space Cola"
desc = "Cola. in space."
custom_price = 10
icon_state = "cola"
list_reagents = list(/datum/reagent/consumable/space_cola = 30)
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/rootbeer
name = "Root Beer"
desc = "A soft drink made from roots. Non-Alcoholic."
custom_price = 10
icon_state = "Rootbeer_Mug"
list_reagents = list(/datum/reagent/consumable/space_cola/rootbeer = 30)
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/rootbeer/Initialize(mapload)
icon_state = pick("Rootbeer_Mug","Rootbeer_AW","Rootbeer_Barq")
. = ..()
/obj/item/reagent_containers/food/drinks/soda_cans/tonic
name = "T-Borg's tonic water"
desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
custom_price = 10
icon_state = "tonic"
list_reagents = list(/datum/reagent/consumable/tonic = 50)
foodtype = ALCOHOL
/obj/item/reagent_containers/food/drinks/soda_cans/sodawater
name = "soda water"
desc = "A can of soda water. Why not make a scotch and soda?"
custom_price = 10
icon_state = "sodawater"
list_reagents = list(/datum/reagent/consumable/sodawater = 50)
/obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime
name = "orange soda"
desc = "You wanted ORANGE. It gave you Lemon Lime."
icon_state = "lemon-lime"
list_reagents = list(/datum/reagent/consumable/lemon_lime = 30)
foodtype = FRUIT
/obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime/Initialize(mapload)
. = ..()
name = "lemon-lime soda"
/obj/item/reagent_containers/food/drinks/soda_cans/sol_dry
name = "Sol Dry"
desc = "Maybe this will help your tummy feel better. Maybe not."
icon_state = "sol_dry"
list_reagents = list(/datum/reagent/consumable/sol_dry = 30)
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/space_up
name = "Space-Up!"
desc = "Tastes like a hull breach in your mouth."
icon_state = "space-up"
list_reagents = list(/datum/reagent/consumable/space_up = 30)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/starkist
name = "Star-kist"
desc = "The taste of a star in liquid form. And, a bit of tuna...?"
icon_state = "starkist"
list_reagents = list(/datum/reagent/consumable/space_cola = 15, /datum/reagent/consumable/orangejuice = 15)
foodtype = SUGAR | FRUIT | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/space_mountain_wind
name = "Space Mountain Wind"
desc = "Blows right through you like a space wind."
icon_state = "space_mountain_wind"
list_reagents = list(/datum/reagent/consumable/space_cola/spacemountainwind = 30)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko
name = "Thirteen Loko"
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkenness, or even death. Please Drink Responsibly."
icon_state = "thirteen_loko"
list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 30)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb
name = "Dr. Gibb"
desc = "A delicious mixture of 42 different flavors."
icon_state = "dr_gibb"
list_reagents = list(/datum/reagent/consumable/space_cola/dr_gibb = 30)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/pwr_game
name = "Pwr Game"
desc = "The only drink with the PWR that true gamers crave."
icon_state = "purple_can"
list_reagents = list(/datum/reagent/consumable/pwr_game = 30)
/obj/item/reagent_containers/food/drinks/soda_cans/shamblers
name = "Shambler's juice"
desc = "~Shake me up some of that Shambler's Juice!~"
icon_state = "shamblers"
list_reagents = list(/datum/reagent/consumable/shamblers = 30)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/grey_bull
name = "Grey Bull"
desc = "Grey Bull, it gives you gloves!"
icon_state = "energy_drink"
list_reagents = list(/datum/reagent/consumable/energy_drink/grey_bull = 20)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy
name = "Monkey Energy"
desc = "Unleash the ape!"
icon_state = "monkey_energy"
list_reagents = list(/datum/reagent/consumable/energy_drink/monkey_energy = 50)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/icedcoffee
name = "cold fusion"
desc = "Not theoretically possible to be this good."
icon_state = "icedcoffeecan"
list_reagents = list(/datum/reagent/consumable/coffee/ice = 30)
foodtype = DAIRY | COFFEE
/obj/item/reagent_containers/food/drinks/soda_cans/sprited_cranberry
name = "Sprited Cranberry"
desc = "A limited edition winter spiced cranberry drink."
icon_state = "sprited_cranberry"
list_reagents = list(/datum/reagent/consumable/sprited_cranberry = 30)
/obj/item/reagent_containers/food/drinks/soda_cans/air
name = "canned air"
desc = "There is no air shortage. Do not drink."
icon_state = "air"
list_reagents = list(/datum/reagent/gas/nitrogen = 24, /datum/reagent/gas/oxygen = 6)
/obj/item/reagent_containers/food/drinks/soda_cans/buzz_fuzz
name = "Buzz Fuzz"
desc = "The sister drink of Shambler's Juice! Uses real honey, making it a sweet tooth's dream drink. The slogan reads 'A Hive of Flavour', there's also a label about how it is adddicting."
icon_state = "honeysoda_can"
list_reagents = list(/datum/reagent/consumable/buzz_fuzz = 25, /datum/reagent/consumable/honey = 5)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/mystery
name = "Mystery Fizz"
desc = "Delicious soda with the added flair of mystery flavor! Note, Fizzfazz Inc. not liable for any damages caused by drinking this product."
icon_state = "mysterysoda"
var/static/list/descs = list(
"The entire label seems to just be a legal disclaimer.",
"The label reads off over 200 possible flavors.",
"The date on the cap reads off that the bottle expired a decade ago..."
)
/obj/item/reagent_containers/food/drinks/soda_cans/mystery/Initialize(mapload)
list_reagents = list(get_random_reagent_id() = 30)
. = ..()
if(prob(20))
desc = pick(descs)
/obj/item/reagent_containers/food/drinks/colocup
name = "colo cup"
desc = "A cheap, mass produced style of cup, typically used at parties. They never seem to come out red, for some reason..."
icon = 'icons/obj/drinks.dmi'
icon_state = "colocup"
lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
item_state = "colocup"
custom_materials = list(/datum/material/plastic = 1000)
possible_transfer_amounts = list(5, 10, 15, 20)
volume = 20
amount_per_transfer_from_this = 5
isGlass = FALSE
/// Allows the lean sprite to display upon crafting
var/random_sprite = TRUE
/obj/item/reagent_containers/food/drinks/colocup/Initialize(mapload)
.=..()
pixel_x = rand(-4,4)
pixel_y = rand(-4,4)
if (random_sprite)
icon_state = "colocup[rand(0, 6)]"