mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
Merge pull request #1881 from AterIgnis/gib_by_internal_explosion
Internal explosions
This commit is contained in:
@@ -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)
|
||||
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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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. -->
|
||||
|
||||
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">November 9th</h2>
|
||||
<h3 class="author">AterIgnis updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Chemistry explosions try to damage their holder first - potassium-water mixes and nitroglycerol tend to gib human if injected instead of creating crater around them</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">6.11.2012</h2>
|
||||
<h3 class="author">Chinsky updated:</h3>
|
||||
|
||||
Reference in New Issue
Block a user