mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-22 04:24:20 +01:00
Nerfs gaseous decomposition (#25716)
This commit is contained in:
@@ -125,3 +125,24 @@
|
||||
var/mob/living/carbon/C = A
|
||||
if(C.can_breathe_gas())
|
||||
chemholder.reagents.copy_to(C, chemholder.reagents.total_volume)
|
||||
|
||||
/datum/effect_system/smoke_spread/chem/plant
|
||||
|
||||
/datum/effect_system/smoke_spread/chem/plant/SmokeEm(effect_range)
|
||||
var/list/mobs_to_smoke = list()
|
||||
for(var/atom/A in view(effect_range, get_turf(location)))
|
||||
if(istype(A, /obj/effect/particle_effect)) // Don't impact particle effects, as there can be hundreds of them in a small area. Also, we don't want smoke particles adding themselves to this list. Major performance issue.
|
||||
continue
|
||||
if(A in smoked_atoms)
|
||||
continue
|
||||
smoked_atoms += A
|
||||
chemholder.reagents.reaction(A)
|
||||
SEND_SIGNAL(A, COMSIG_ATOM_EXPOSE_REAGENTS, chemholder.reagents, chemholder, chemholder.reagents.total_volume)
|
||||
if(iscarbon(A))
|
||||
mobs_to_smoke += A
|
||||
|
||||
var/percentage_to_add = chemholder.reagents.total_volume / length(mobs_to_smoke)
|
||||
|
||||
for(var/mob/living/carbon/smoker as anything in mobs_to_smoke)
|
||||
if(smoker.can_breathe_gas())
|
||||
chemholder.reagents.copy_to(smoker, percentage_to_add)
|
||||
|
||||
@@ -444,7 +444,7 @@
|
||||
dangerous = TRUE
|
||||
|
||||
/datum/plant_gene/trait/smoke/on_squash(obj/item/food/snacks/grown/G, atom/target)
|
||||
var/datum/effect_system/smoke_spread/chem/S = new
|
||||
var/datum/effect_system/smoke_spread/chem/plant/S = new()
|
||||
var/splat_location = get_turf(target)
|
||||
var/smoke_amount = round(sqrt(G.seed.potency * 0.1), 1)
|
||||
S.set_up(G.reagents, splat_location)
|
||||
|
||||
Reference in New Issue
Block a user