Files
AlexisandGitHub 944e84b0ec Fixes dried weed not being deleted after being ground (#4465)
## About The Pull Request
Does as the title says.
## Why It's Good For The Game
Fixes https://github.com/Bubberstation/Bubberstation/issues/4386
## Proof Of Testing
It worked fully on my end.
## Changelog
🆑
fix: fixed dried cannabis not being removed from grinders after being
ground
/🆑
2025-08-16 15:50:22 -07:00

91 lines
3.5 KiB
Plaintext

/obj/item/food/grown/cannabis/on_grind()
. = ..()
if(HAS_TRAIT(src, TRAIT_DRIED))
reagents.clear_reagents()
reagents.add_reagent(/datum/reagent/drug/thc/hash, 0.15 * seed.potency)
return TRUE
/datum/chemical_reaction/hash
required_reagents = list(/datum/reagent/drug/thc/hash = 10)
reaction_flags = REACTION_INSTANT
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_CHEMICAL
/datum/chemical_reaction/hash/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
var/location = get_turf(holder.my_atom)
for(var/i in 1 to created_volume)
new /obj/item/reagent_containers/hash(location)
/datum/chemical_reaction/dabs
required_reagents = list(/datum/reagent/drug/thc = 20)
required_temp = 420 //haha very funny
reaction_flags = REACTION_INSTANT
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_CHEMICAL
/datum/chemical_reaction/dabs/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
var/location = get_turf(holder.my_atom)
for(var/i in 1 to created_volume)
new /obj/item/reagent_containers/hash/dabs(location)
//shit for effects
/datum/mood_event/stoned
description = span_nicegreen("You're totally baked right now...\n")
mood_change = 6
timeout = 3 MINUTES
/atom/movable/screen/alert/stoned
name = "Stoned"
desc = "You're stoned out of your mind! Woaaahh..."
icon_state = "high"
//the reagent itself
/datum/reagent/drug/thc
name = "THC"
description = "A chemical found in cannabis that serves as its main psychoactive component."
color = "#cfa40c"
overdose_threshold = 30 //just gives funny effects, but doesnt hurt you; thc has no actual known overdose
ph = 6
taste_description = "skunk"
/datum/reagent/drug/thc/concentrated
name = "Concentrated THC"
description = "TCH in pure concentrated form"
/datum/reagent/drug/thc/on_mob_life(mob/living/carbon/M, seconds_per_tick, times_fired)
var/high_message = pick("You feel relaxed.", "You feel fucked up.", "You feel totally wrecked...")
if(M.hud_used!=null)
var/atom/movable/plane_master_controller/game_plane_master_controller = M.hud_used.plane_master_controllers[PLANE_MASTERS_GAME]
game_plane_master_controller.add_filter("weed_blur", 10, angular_blur_filter(0, 0, 0.45))
if(SPT_PROB(2.5, seconds_per_tick))
to_chat(M, span_notice("[high_message]"))
M.add_mood_event("stoned", /datum/mood_event/stoned, name)
M.throw_alert("stoned", /atom/movable/screen/alert/stoned)
M.sound_environment_override = SOUND_ENVIRONMENT_DRUGGED
M.set_dizzy_if_lower(5 * REM * seconds_per_tick * 2 SECONDS)
M.adjust_nutrition(-1 * REM * seconds_per_tick) //munchies
if(SPT_PROB(3.5, seconds_per_tick))
M.emote(pick("laugh","giggle"))
..()
/datum/reagent/drug/thc/on_mob_end_metabolize(mob/living/carbon/M)
. = ..()
if(M.hud_used!=null)
var/atom/movable/plane_master_controller/game_plane_master_controller = M.hud_used.plane_master_controllers[PLANE_MASTERS_GAME]
game_plane_master_controller.remove_filter("weed_blur")
M.clear_alert("stoned")
M.sound_environment_override = SOUND_ENVIRONMENT_NONE
/datum/reagent/drug/thc/overdose_process(mob/living/M, seconds_per_tick, times_fired)
var/cg420_message = pick("It's major...", "Oh my goodness...",)
if(SPT_PROB(1.5, seconds_per_tick))
M.say("[cg420_message]")
M.adjust_drowsiness(0.2 SECONDS * REM * normalise_creation_purity() * seconds_per_tick)
if(SPT_PROB(3.5, seconds_per_tick))
M.emote("cough")
..()
. = TRUE
/datum/reagent/drug/thc/hash //only exists to generate hash object
name = "hashish"
description = "Concentrated cannabis extract. Delivers a much better high when used in a bong."
color = "#cfa40c"