Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /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"
- 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()
- if(reagents.total_volume)
- if(iscarbon(loc))
- var/mob/living/carbon/C = loc
- if (src == C.wear_mask) // if it's in the human/monkey mouth, transfer reagents to the mob
- var/fraction = min(REAGENTS_METABOLISM/reagents.total_volume, 1)
- reagents.reaction(C, INGEST, fraction)
- if(!reagents.trans_to(C, REAGENTS_METABOLISM))
- reagents.remove_any(REAGENTS_METABOLISM)
- return
- reagents.remove_any(REAGENTS_METABOLISM)
- /obj/item/reagent_containers/food/snacks/lollipop/process()
- if(iscarbon(loc))
- if(succ_dur < 1)
- qdel(src)
- return
- succ_dur--
- if((reagents && reagents.total_volume) && (next_succ <= world.time))
- handle_reagents()
- next_succ = world.time + succ_int
- /obj/item/reagent_containers/food/snacks/lollipop/equipped(mob/user, slot)
- . = ..()
- if(slot == SLOT_WEAR_MASK)
- START_PROCESSING(SSobj, src)
- else
- STOP_PROCESSING(SSobj, src)
- /obj/item/reagent_containers/food/snacks/lollipop/Destroy()
- STOP_PROCESSING(SSobj, src)
- . = ..()
- /obj/item/reagent_containers/food/snacks/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)
- ..(hit_atom)
- throw_speed = 1
- throwforce = 0
- /obj/item/reagent_containers/food/snacks/lollipop/cyborg
- var/spamchecking = TRUE
- /obj/item/reagent_containers/food/snacks/lollipop/cyborg/Initialize()
- . = ..()
- addtimer(CALLBACK(src, .proc/spamcheck), 1200)
- /obj/item/reagent_containers/food/snacks/lollipop/cyborg/equipped(mob/living/user, slot)
- . = ..(user, slot)
- spamchecking = FALSE
- /obj/item/reagent_containers/food/snacks/lollipop/cyborg/proc/spamcheck()
- if(spamchecking)
- qdel(src)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement