diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index a546f68dc01..13c0cc5bfd0 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -390,7 +390,7 @@ var/obj/item/reagent_containers/food/snacks/L switch(mode) if(DISPENSE_LOLLIPOP_MODE) - L = new /obj/item/reagent_containers/food/snacks/lollipop(T) + L = new /obj/item/reagent_containers/food/snacks/chewable/lollipop(T) if(DISPENSE_ICECREAM_MODE) L = new /obj/item/reagent_containers/food/snacks/icecream(T) var/obj/item/reagent_containers/food/snacks/icecream/I = L @@ -517,13 +517,13 @@ name = "lollipop" desc = "Oh noes! A fast-moving lollipop!" icon_state = "lollipop_1" - ammo_type = /obj/item/reagent_containers/food/snacks/lollipop/cyborg + ammo_type = /obj/item/reagent_containers/food/snacks/chewable/lollipop/cyborg var/color2 = rgb(0, 0, 0) nodamage = TRUE /obj/projectile/bullet/reusable/lollipop/Initialize() . = ..() - var/obj/item/reagent_containers/food/snacks/lollipop/S = new ammo_type(src) + var/obj/item/reagent_containers/food/snacks/chewable/lollipop/S = new ammo_type(src) color2 = S.headcolor var/mutable_appearance/head = mutable_appearance('icons/obj/projectiles.dmi', "lollipop_2") head.color = color2 @@ -532,7 +532,7 @@ /obj/projectile/bullet/reusable/lollipop/handle_drop() if(!dropped) var/turf/T = get_turf(src) - var/obj/item/reagent_containers/food/snacks/lollipop/S = new ammo_type(T) + var/obj/item/reagent_containers/food/snacks/chewable/lollipop/S = new ammo_type(T) S.change_head_color(color2) dropped = TRUE diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index 8e93b8b4782..50cf0faf252 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -420,29 +420,14 @@ tastes = list("cherry" = 1, "crepe" = 1) foodtype = GRAIN | FRUIT | SUGAR -/obj/item/reagent_containers/food/snacks/lollipop - name = "lollipop" - desc = "A delicious lollipop. Makes for a great Valentine's present." - icon = 'icons/obj/lollipop.dmi' - icon_state = "lollipop_stick" - item_state = "lollipop_stick" +/obj/item/reagent_containers/food/snacks/chewable slot_flags = ITEM_SLOT_MASK - list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1, /datum/reagent/iron = 10, /datum/reagent/consumable/sugar = 5, /datum/reagent/medicine/omnizine = 2) //Honk - var/mutable_appearance/head - var/headcolor = rgb(0, 0, 0) var/succ_dur = 180 var/succ_int = 100 var/next_succ = 0 - tastes = list("candy" = 1) - foodtype = JUNKFOOD | SUGAR -/obj/item/reagent_containers/food/snacks/lollipop/Initialize() - . = ..() - head = mutable_appearance('icons/obj/lollipop.dmi', "lollipop_head") - change_head_color(rgb(rand(0, 255), rand(0, 255), rand(0, 255))) - - //makes lollipops actually wearable as masks and still edible the old fashioned way. -/obj/item/reagent_containers/food/snacks/lollipop/proc/handle_reagents() + //makes snacks actually wearable as masks and still edible the old fashioned way. +/obj/item/reagent_containers/food/snacks/chewable/proc/handle_reagents() if(reagents.total_volume) if(iscarbon(loc)) var/mob/living/carbon/C = loc @@ -454,7 +439,7 @@ return reagents.remove_any(REAGENTS_METABOLISM) -/obj/item/reagent_containers/food/snacks/lollipop/process() +/obj/item/reagent_containers/food/snacks/chewable/process() if(iscarbon(loc)) if(succ_dur < 1) qdel(src) @@ -464,43 +449,80 @@ handle_reagents() next_succ = world.time + succ_int -/obj/item/reagent_containers/food/snacks/lollipop/equipped(mob/user, slot) +/obj/item/reagent_containers/food/snacks/chewable/equipped(mob/user, slot) . = ..() if(slot == ITEM_SLOT_MASK) START_PROCESSING(SSobj, src) else STOP_PROCESSING(SSobj, src) -/obj/item/reagent_containers/food/snacks/lollipop/Destroy() +/obj/item/reagent_containers/food/snacks/chewable/lollipop/Destroy() STOP_PROCESSING(SSobj, src) . = ..() -/obj/item/reagent_containers/food/snacks/lollipop/proc/change_head_color(C) +/obj/item/reagent_containers/food/snacks/chewable/lollipop + name = "lollipop" + desc = "A delicious lollipop. Makes for a great Valentine's present." + icon = 'icons/obj/lollipop.dmi' + icon_state = "lollipop_stick" + item_state = "lollipop_stick" + list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1, /datum/reagent/iron = 10, /datum/reagent/consumable/sugar = 5, /datum/reagent/medicine/omnizine = 2) //Honk + var/mutable_appearance/head + var/headcolor = rgb(0, 0, 0) + succ_dur = 180 + succ_int = 100 + next_succ = 0 + tastes = list("candy" = 1) + foodtype = JUNKFOOD | SUGAR + +/obj/item/reagent_containers/food/snacks/chewable/lollipop/Initialize() + . = ..() + head = mutable_appearance('icons/obj/lollipop.dmi', "lollipop_head") + change_head_color(rgb(rand(0, 255), rand(0, 255), rand(0, 255))) + +/obj/item/reagent_containers/food/snacks/chewable/lollipop/proc/change_head_color(C) headcolor = C cut_overlay(head) head.color = C add_overlay(head) -/obj/item/reagent_containers/food/snacks/lollipop/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) +/obj/item/reagent_containers/food/snacks/chewable/lollipop/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) ..(hit_atom) throw_speed = 1 throwforce = 0 -/obj/item/reagent_containers/food/snacks/lollipop/cyborg +/obj/item/reagent_containers/food/snacks/chewable/lollipop/cyborg var/spamchecking = TRUE -/obj/item/reagent_containers/food/snacks/lollipop/cyborg/Initialize() +/obj/item/reagent_containers/food/snacks/chewable/lollipop/cyborg/Initialize() . = ..() addtimer(CALLBACK(src, .proc/spamcheck), 1200) -/obj/item/reagent_containers/food/snacks/lollipop/cyborg/equipped(mob/living/user, slot) +/obj/item/reagent_containers/food/snacks/chewable/lollipop/cyborg/equipped(mob/living/user, slot) . = ..(user, slot) spamchecking = FALSE -/obj/item/reagent_containers/food/snacks/lollipop/cyborg/proc/spamcheck() +/obj/item/reagent_containers/food/snacks/chewable/lollipop/cyborg/proc/spamcheck() if(spamchecking) qdel(src) +/obj/item/reagent_containers/food/snacks/chewable/chewinggum + name = "chewing gum" + desc = "A rubbery strip of gum. Not exactly filling, but it keeps you busy." + icon = 'icons/obj/lollipop.dmi' + icon_state = "chewinggum" + item_state = "chewinggum" + color = "#FFFFFF" // craftable custom gums someday, maybe? + list_reagents = list(/datum/reagent/consumable/sugar = 5) + tastes = list("candy" = 1) + +/obj/item/reagent_containers/food/snacks/chewable/chewinggum/happiness + name = "smile! gum" + desc = "A rubbery strip of gum. The color and smell isn't very inviting." + list_reagents = list(/datum/reagent/drug/happiness = 15, /datum/reagent/consumable/sugar = 5) + tastes = list("paint thinner" = 1) + color = "#EE35FF" + /obj/item/reagent_containers/food/snacks/gumball name = "gumball" desc = "A colorful, sugary gumball." diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 87c1fe954a0..a3d36e28455 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -369,9 +369,10 @@ name = "Happiness" description = "Fills you with ecstasic numbness and causes minor brain damage. Highly addictive. If overdosed causes sudden mood swings." reagent_state = LIQUID - color = "#FFF378" + color = "#EE35FF" addiction_threshold = 10 overdose_threshold = 20 + taste_description = "paint thinner" /datum/reagent/drug/happiness/on_mob_metabolize(mob/living/L) ..()