diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 2ec63bd19d..fb14cab18f 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -837,10 +837,11 @@ cached_reagents += R R.holder = src R.volume = amount + R.loc = get_turf(my_atom) if(data) R.data = data - R.on_new(data) - R.loc = holder.loc + R.on_new(data) + if(isliving(my_atom)) R.on_mob_add(my_atom) //Must occur befor it could posibly run on_mob_delete diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 578904c096..1bf862bd5e 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -36,6 +36,7 @@ //Fermichem vars: var/purity = 1 var/impureChem = "toxin" + var/loc = null /datum/reagent/Destroy() // This should only be called by the holder, so it's already handled clearing its references . = ..()