Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify charcoal recipe a little #18657

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
42 changes: 5 additions & 37 deletions code/modules/chemistry/Chemistry-Recipes.dm
Expand Up @@ -2967,53 +2967,21 @@
mix_phrase = "The mixture yields a fine black powder."
mix_sound = 'sound/misc/fuse.ogg'

on_reaction(datum/reagents/holder, created_volume)
holder.add_reagent("steam", created_volume)

charcoal_steam //higher quality activated charcoal can be made irl with steam so this kinda fits
name = "Steam Activated Charcoal"
id = "charcoal_steam"
result = "charcoal"
required_reagents = list("carbon" = 1, "ash" = 1, "steam" = 4) //steam and ash are awkward things to add since hot water + ash is potash, can use condensers/smart reagent ordering
min_temperature = T0C + 140
result_amount = 5 //no 'quality' system, so instead you get much more yield
required_reagents = list("carbon" = 1, "ash" = 1, "steam" = 2)
result_amount = 4 //no 'quality' system, so instead you get more yield
instant = FALSE
reaction_speed = 10
temperature_change = -10
mix_phrase = "The mixture yields a fine black powder."
mix_sound = 'sound/misc/fuse.ogg'

charcoal_burning
name = "Charcoal burning"
id = "charcoal_burning"
required_reagents = list("charcoal" = 0) //removed in on_reaction()
min_temperature = T0C + 140 //over boiling so you can boil away any excess water without wasting your charcoal in a big barrel or something
result_amount = 1
instant = FALSE
reaction_speed = 3
temperature_change = 5 //cancels out the charcoal production reaction, so you don't have to provide constant/a lot of heat if you choose to mix it in an open container
mix_phrase = "The solution produces flames and smoke."
reaction_icon_state = list("reaction_fire-1", "reaction_fire-2")
reaction_icon_color = "#ffffff"
//would benefit from a good 'burn-y' mix sound

does_react(var/datum/reagents/holder)
if(holder.has_reagent("oxygen") || holder?.my_atom?.is_open_container() || istype(holder,/datum/reagents/fluid_group))
return TRUE
else
return FALSE

on_reaction(var/datum/reagents/holder, var/created_volume)
holder.remove_reagent("charcoal", created_volume)
holder.remove_reagent("oxygen", created_volume)
if (holder.my_atom && holder.my_atom.is_open_container() || istype(holder,/datum/reagents/fluid_group))
var/list/covered = holder.covered_turf()
if (covered.len < 5)
for(var/turf/t in covered)
if(prob(20)) //quite low prob but this is an over time reaction, less spammy
var/datum/effects/system/harmless_smoke_spread/smoke = new /datum/effects/system/harmless_smoke_spread()
smoke.set_up(1, 0, t)
smoke.start()
else
holder.add_reagent("ash", created_volume * 3, temp_new = holder.total_temperature, chemical_reaction = TRUE) //a way to make more ash with ash if you want to make lots and lots of charcoal

teporone // COGWERKS CHEM REVISION PROJECT: marked for revision - magic drug
name = "Teporone"
id = "teporone"
Expand Down