mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-15 09:03:23 +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)
|
||||
|
||||
Reference in New Issue
Block a user