diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index f381a96fed..4658b1e7f3 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -1092,4 +1092,17 @@ steam.start() -- spawns the effect for(var/mob/M in viewers(8, location)) M << "\red The solution violently explodes." - explosion(location, devastation, heavy, light, flash) \ No newline at end of file + explosion(location, devastation, heavy, light, flash) + + proc/holder_damage(var/atom/holder) + if(holder) + var/dmglevel = 4 + + if (round(amount/8) > 0) + dmglevel = 1 + else if (round(amount/4) > 0) + dmglevel = 2 + else if (round(amount/2) > 0) + dmglevel = 3 + + if(dmglevel<4) holder.ex_act(dmglevel) diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 8aec88c09f..b1e972b502 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -27,9 +27,14 @@ datum required_reagents = list("water" = 1, "potassium" = 1) result_amount = 2 on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) var/datum/effect/effect/system/reagents_explosion/e = new() - e.set_up(round (created_volume/10, 1), location, 0, 0) + e.set_up(round (created_volume/10, 1), holder.my_atom, 0, 0) + e.holder_damage(holder.my_atom) + if(isliving(holder.my_atom)) + e.amount *= 0.5 + var/mob/living/L = holder.my_atom + if(L.stat!=DEAD) + e.amount *= 0.5 e.start() holder.clear_reagents() return @@ -317,9 +322,14 @@ datum required_reagents = list("glycerol" = 1, "pacid" = 1, "sacid" = 1) result_amount = 2 on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) var/datum/effect/effect/system/reagents_explosion/e = new() - e.set_up(round (created_volume/2, 1), location, 0, 0) + e.set_up(round (created_volume/2, 1), holder.my_atom, 0, 0) + e.holder_damage(holder.my_atom) + if(isliving(holder.my_atom)) + e.amount *= 0.5 + var/mob/living/L = holder.my_atom + if(L.stat!=DEAD) + e.amount *= 0.5 e.start() holder.clear_reagents() diff --git a/html/changelog.html b/html/changelog.html index d27dfac9c0..f65c1ea974 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,14 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit though. Thanks. --> +
+

November 9th

+

AterIgnis updated:

+ +
+

6.11.2012

Chinsky updated: