mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 02:54:41 +01:00
Adds more reasons to explosion logging (#28812)
* explos * yeah good enough * shorten that * use ckey * forgot this cause * unfuck it
This commit is contained in:
@@ -702,11 +702,11 @@ GLOBAL_LIST_INIT(view_runtimes_verbs, list(
|
||||
if(null)
|
||||
return 0
|
||||
if("Small Bomb")
|
||||
explosion(epicenter, 1, 2, 3, 3)
|
||||
explosion(epicenter, 1, 2, 3, 3, cause = "[ckey]: Drop Bomb command")
|
||||
if("Medium Bomb")
|
||||
explosion(epicenter, 2, 3, 4, 4)
|
||||
explosion(epicenter, 2, 3, 4, 4, cause = "[ckey]: Drop Bomb command")
|
||||
if("Big Bomb")
|
||||
explosion(epicenter, 3, 5, 7, 5)
|
||||
explosion(epicenter, 3, 5, 7, 5, cause = "[ckey]: Drop Bomb command")
|
||||
if("Custom Bomb")
|
||||
var/devastation_range = tgui_input_number(src, "Devastation range (in tiles):", "Custom Bomb", max_value = 255)
|
||||
if(isnull(devastation_range))
|
||||
@@ -720,7 +720,7 @@ GLOBAL_LIST_INIT(view_runtimes_verbs, list(
|
||||
var/flash_range = tgui_input_number(src, "Flash range (in tiles):", "Custom Bomb", max_value = 255)
|
||||
if(isnull(flash_range))
|
||||
return
|
||||
explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, 1, 1)
|
||||
explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, 1, 1, cause = "[ckey]: Drop Bomb command")
|
||||
log_admin("[key_name(usr)] created an admin explosion at [epicenter.loc]")
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] created an admin explosion at [epicenter.loc]</span>")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Drop Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -737,7 +737,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(alert(src, "Are you sure you want to do this? It will laaag.", "Confirmation", "Yes", "No") == "No")
|
||||
return
|
||||
|
||||
explosion(O, devastation, heavy, light, flash, null, null,flames)
|
||||
explosion(O, devastation, heavy, light, flash, null, null,flames, cause = "[ckey]: Explosion command")
|
||||
log_admin("[key_name(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])")
|
||||
message_admins("[key_name_admin(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])")
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "EXPL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
for(var/obj/item/organ/internal/I in organs)
|
||||
I.remove(user, TRUE)
|
||||
|
||||
explosion(get_turf(user), 0, 0, 2, 0, silent = TRUE)
|
||||
explosion(get_turf(user), 0, 0, 2, 0, silent = TRUE, cause = "Headslug explosion")
|
||||
for(var/mob/living/carbon/human/H in range(2, user))
|
||||
to_chat(H, "<span class='userdanger'>You are blinded by a shower of blood!</span>")
|
||||
H.KnockDown(4 SECONDS)
|
||||
|
||||
@@ -134,11 +134,11 @@
|
||||
strength = (fuel_moles / 15)
|
||||
|
||||
if(strength >=1)
|
||||
explosion(ground_zero, round(strength,1), round(strength*2,1), round(strength*3,1), round(strength*4,1))
|
||||
explosion(ground_zero, round(strength,1), round(strength*2,1), round(strength*3,1), round(strength*4,1), cause = "Toxins Tank Explosion")
|
||||
else if(strength >=0.5)
|
||||
explosion(ground_zero, 0, 1, 2, 4)
|
||||
explosion(ground_zero, 0, 1, 2, 4, cause = "Toxins Tank Explosion")
|
||||
else if(strength >=0.2)
|
||||
explosion(ground_zero, -1, 0, 1, 2)
|
||||
explosion(ground_zero, -1, 0, 1, 2, cause = "Toxins Tank Explosion")
|
||||
else
|
||||
ground_zero.blind_release_air(air_contents)
|
||||
ground_zero.hotspot_expose(1000, 125)
|
||||
@@ -147,9 +147,9 @@
|
||||
strength = (fuel_moles/20)
|
||||
|
||||
if(strength >=1)
|
||||
explosion(ground_zero, 0, round(strength, 1), round(strength * 2, 1), round(strength * 3, 1))
|
||||
explosion(ground_zero, 0, round(strength, 1), round(strength * 2, 1), round(strength * 3, 1), cause = "Toxins Tank Explosion")
|
||||
else if(strength >=0.5)
|
||||
explosion(ground_zero, -1, 0, 1, 2)
|
||||
explosion(ground_zero, -1, 0, 1, 2, cause = "Toxins Tank Explosion")
|
||||
else
|
||||
ground_zero.blind_release_air(air_contents)
|
||||
ground_zero.hotspot_expose(1000, 125)
|
||||
@@ -158,7 +158,7 @@
|
||||
strength = (fuel_moles / 25)
|
||||
|
||||
if(strength >= 1)
|
||||
explosion(ground_zero, -1, 0, round(strength, 1), round(strength * 3, 1))
|
||||
explosion(ground_zero, -1, 0, round(strength, 1), round(strength * 3, 1), cause = "Toxins Tank Explosion")
|
||||
else
|
||||
ground_zero.blind_release_air(air_contents)
|
||||
ground_zero.hotspot_expose(1000, 125)
|
||||
|
||||
@@ -41,7 +41,7 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank)
|
||||
var/your_doom = get_turf(src)
|
||||
new /obj/item/grenade/frag(your_doom)
|
||||
internal_tank.forceMove(your_doom)
|
||||
explosion(your_doom, 1, 0, 0, 6, FALSE, 6)
|
||||
explosion(your_doom, 1, 0, 0, 6, FALSE, 6, cause = "DVORAK Doomba")
|
||||
qdel(decorative_eye)
|
||||
qdel(src)
|
||||
|
||||
@@ -187,7 +187,7 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank)
|
||||
explode()
|
||||
|
||||
/obj/structure/telecomms_trap_tank/proc/explode()
|
||||
explosion(loc, 1, 4, 6, flame_range = 6)
|
||||
explosion(loc, 1, 4, 6, flame_range = 6, cause = "Telecomms trap tank")
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/telecomms_doomsday_device
|
||||
@@ -286,7 +286,7 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank)
|
||||
loc.invisibility = 90
|
||||
for(var/turf/simulated/wall/indestructible/riveted/R in urange(25, get_turf(src)))
|
||||
R.ChangeTurf(/turf/space)
|
||||
explosion(get_turf(src), 30, 40, 50, 60, 1, 1, 65, 0)
|
||||
explosion(get_turf(src), 30, 40, 50, 60, 1, 1, 65, 0, cause = "DVORAK Doomsday Device")
|
||||
sleep(3 SECONDS)
|
||||
var/obj/singularity/S = new /obj/singularity(get_turf(src))
|
||||
S.consumedSupermatter = TRUE // woe large supermatter to eat the remains apon thee
|
||||
@@ -426,7 +426,7 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank)
|
||||
addtimer(CALLBACK(src, PROC_REF(prime)), 5 SECONDS)
|
||||
|
||||
/obj/item/remote_ai_upload/proc/prime()
|
||||
explosion(loc, -1, -1, 2, 4, flame_range = 4)
|
||||
explosion(loc, -1, -1, 2, 4, flame_range = 4, cause = "Remote AI Upload explosion")
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/spawner/random/telecomms_core_table
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
flash = tgui_input_number(user, "Range of Flash", "Flash", -1, min_value = -1)
|
||||
flames = tgui_input_number(user, "Range of Flames", "Flames", -1, min_value = -1)
|
||||
|
||||
/datum/buildmode_mode/boom/handle_click(user, params, obj/object)
|
||||
/datum/buildmode_mode/boom/handle_click(mob/user, params, obj/object)
|
||||
var/list/pa = params2list(params)
|
||||
var/left_click = pa.Find("left")
|
||||
|
||||
if(left_click)
|
||||
log_admin("Build Mode: [key_name(user)] created an explosion at ([object.x],[object.y],[object.z])")
|
||||
explosion(object, devastation, heavy, light, flash, null, TRUE, flames)
|
||||
explosion(object, devastation, heavy, light, flash, null, TRUE, flames, cause = "[user.ckey]: Buildmode boom")
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
M.speak = rampant_speeches.Copy()
|
||||
M.speak_chance = 15
|
||||
else
|
||||
explosion(upriser.loc, -1, 1, 2, 4, 0)
|
||||
explosion(upriser.loc, -1, 1, 2, 4, 0, cause = "Brand Intelligence Uprising")
|
||||
qdel(upriser)
|
||||
|
||||
log_debug("Brand intelligence: The last vendor has been infected.")
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
if(prob(45))
|
||||
new /obj/item/food/meat(where)
|
||||
else if(prob(10))
|
||||
explosion(where, 0, pick(0,1), pick(2,3), 0)
|
||||
explosion(where, 0, pick(0,1), pick(2,3), 0, cause = "Meaty space dust")
|
||||
else
|
||||
new /mob/living/simple_animal/cow(where)
|
||||
|
||||
|
||||
@@ -217,7 +217,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/spacevine_mutation/explosive/on_death(obj/structure/spacevine/holder, mob/hitter, obj/item/I)
|
||||
explosion(holder.loc, 0, 0, severity, 0, 0)
|
||||
explosion(holder.loc, 0, 0, severity, 0, 0, cause = "Explosive Spacevines")
|
||||
|
||||
/datum/spacevine_mutation/fire_proof
|
||||
name = "fire proof"
|
||||
|
||||
@@ -1144,7 +1144,7 @@
|
||||
if(do_after_once(user, 4 SECONDS, target = src))
|
||||
visible_message("<span class='danger'>[src] suddenly combust!</span>")
|
||||
to_chat(user, "<span class='warning'>You combust [src] with your mind!</span>")
|
||||
explosion(get_turf(src), light_impact_range = 2, flash_range = 2)
|
||||
explosion(get_turf(src), light_impact_range = 2, flash_range = 2, cause = "[user.ckey]: blows up pancakes with mind")
|
||||
add_attack_logs(user, src, "blew up [src] with TK", ATKLOG_ALL)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -580,7 +580,7 @@
|
||||
visible_message("<span class='userdanger'>[src] violently explodes!</span>")
|
||||
message_admins("A pizza bomb set by [key_name_admin(armer)] and opened by [key_name_admin(opener)] has detonated at [ADMIN_JMP(loc)].")
|
||||
log_game("Pizza bomb set by [key_name(armer)] and opened by [key_name(opener)]) detonated at ([loc.x],[loc.y],[loc.z]).")
|
||||
explosion(loc, 1, 2, 4, flame_range = 2) //Identical to a minibomb
|
||||
explosion(loc, 1, 2, 4, flame_range = 2, cause = "Pizza bomb") //Identical to a minibomb
|
||||
qdel(src)
|
||||
|
||||
/obj/item/pizzabox/pizza_bomb/cmag_act(mob/user)
|
||||
|
||||
@@ -143,21 +143,21 @@
|
||||
switch(seed.potency) //Combustible lemons are alot like IEDs, lots of flame, very little bang.
|
||||
if(0 to 30)
|
||||
update_mob()
|
||||
explosion(loc,-1,-1,2, flame_range = 1)
|
||||
explosion(loc,-1,-1,2, flame_range = 1, cause = name)
|
||||
qdel(src)
|
||||
if(31 to 50)
|
||||
update_mob()
|
||||
explosion(loc,-1,-1,2, flame_range = 2)
|
||||
explosion(loc,-1,-1,2, flame_range = 2, cause = name)
|
||||
qdel(src)
|
||||
if(51 to 70)
|
||||
update_mob()
|
||||
explosion(loc,-1,-1,2, flame_range = 3)
|
||||
explosion(loc,-1,-1,2, flame_range = 3, cause = name)
|
||||
qdel(src)
|
||||
if(71 to 90)
|
||||
update_mob()
|
||||
explosion(loc,-1,-1,2, flame_range = 4)
|
||||
explosion(loc,-1,-1,2, flame_range = 4, cause = name)
|
||||
qdel(src)
|
||||
else
|
||||
update_mob()
|
||||
explosion(loc,-1,-1,2, flame_range = 5)
|
||||
explosion(loc,-1,-1,2, flame_range = 5, cause = name)
|
||||
qdel(src)
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
else
|
||||
location = get_atom_on_turf(src)
|
||||
if(location)
|
||||
explosion(location, boom_sizes[1], boom_sizes[2], boom_sizes[3], cause = src)
|
||||
explosion(location, boom_sizes[1], boom_sizes[2], boom_sizes[3], cause = name)
|
||||
location.ex_act(EXPLODE_HEAVY, target)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
"<span class='danger'>A thunderbolt strikes [target]!</span>",
|
||||
"<span class='danger'>A thundercrack fills the air!</span>"
|
||||
)
|
||||
explosion(target, -1, -1, light_impact_range = (boosted ? 1 : 0), flame_range = (boosted ? 2 : 1), silent = TRUE)
|
||||
explosion(target, -1, -1, light_impact_range = (boosted ? 1 : 0), flame_range = (boosted ? 2 : 1), silent = TRUE, cause = name)
|
||||
|
||||
|
||||
/obj/effect/temp_visual/thunderbolt_targeting
|
||||
|
||||
@@ -361,11 +361,11 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
spawn(det_time)
|
||||
if(primed)
|
||||
if(quality == GIBTONITE_QUALITY_HIGH)
|
||||
explosion(loc, 2, 4, 9, adminlog = notify_admins)
|
||||
explosion(loc, 2, 4, 9, adminlog = notify_admins, cause = "Movable Gibtonite")
|
||||
if(quality == GIBTONITE_QUALITY_MEDIUM)
|
||||
explosion(loc, 1, 2, 5, adminlog = notify_admins)
|
||||
explosion(loc, 1, 2, 5, adminlog = notify_admins, cause = "Movable Gibtonite")
|
||||
if(quality == GIBTONITE_QUALITY_LOW)
|
||||
explosion(loc, -1, 1, 3, adminlog = notify_admins)
|
||||
explosion(loc, -1, 1, 3, adminlog = notify_admins, cause = "Movable Gibtonite")
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
boom_warning = FALSE
|
||||
|
||||
if(H.bodytemperature > 850 && H.on_fire && prob(25))
|
||||
explosion(get_turf(H), 1, 2, 4, flame_range = 5)
|
||||
explosion(get_turf(H), 1, 2, 4, flame_range = 5, cause = "Burning Plasma golem")
|
||||
msg_admin_attack("Plasma Golem ([H.name]) exploded with radius 1, 2, 4 (flame_range: 5) at ([H.x],[H.y],[H.z]). User Ckey: [key_name_admin(H)]", ATKLOG_FEW)
|
||||
log_game("Plasma Golem ([H.name]) exploded with radius 1, 2, 4 (flame_range: 5) at ([H.x],[H.y],[H.z]). User Ckey: [key_name_admin(H)]", ATKLOG_FEW)
|
||||
if(H)
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
"<span class='userdanger'>\The [source] arc flashes and electrocutes you!</span>",
|
||||
"<span class='italics'>You hear a lightning-like crack!</span>")
|
||||
playsound(loc, 'sound/effects/eleczap.ogg', 50, TRUE, -1)
|
||||
explosion(loc, -1, 0, 2, 2)
|
||||
explosion(loc, -1, 0, 2, 2, cause = "Extreme Electrocution from [source]")
|
||||
else
|
||||
apply_damage(shock_damage, STAMINA)
|
||||
visible_message(
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
if(explosive)
|
||||
spawn(10) // REEEEEEEE
|
||||
explosion(src.loc, 3, 6, 12, 15)
|
||||
explosion(src.loc, 3, 6, 12, 15, cause = "Adminbus explosive AI")
|
||||
|
||||
for(var/obj/machinery/ai_status_display/O as anything in GLOB.ai_displays) //change status
|
||||
O.mode = AI_DISPLAY_MODE_BSOD
|
||||
|
||||
@@ -1422,9 +1422,9 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
|
||||
/mob/living/silicon/robot/proc/self_destruct()
|
||||
if(emagged)
|
||||
explosion(src.loc,1,2,4,flame_range = 2)
|
||||
explosion(src.loc,1,2,4,flame_range = 2, cause = "Self-destruct emagged cyborg")
|
||||
else
|
||||
explosion(src.loc,-1,0,2)
|
||||
explosion(src.loc,-1,0,2, cause = "Self-destruct cyborg")
|
||||
gib()
|
||||
return
|
||||
|
||||
|
||||
@@ -608,7 +608,7 @@
|
||||
|
||||
/mob/living/simple_animal/pet/dog/corgi/borgi/proc/explode()
|
||||
visible_message("<span class='warning'>[src] makes an odd whining noise.</span>")
|
||||
explosion(get_turf(src), 0, 1, 4, 7)
|
||||
explosion(get_turf(src), 0, 1, 4, 7, cause = "Emagged E-N explosion")
|
||||
death()
|
||||
|
||||
/mob/living/simple_animal/pet/dog/corgi/borgi/proc/shootAt(atom/movable/target)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
/mob/living/simple_animal/spiderbot/Destroy()
|
||||
if(emagged)
|
||||
QDEL_NULL(mmi)
|
||||
explosion(get_turf(src), -1, -1, 3, 5)
|
||||
explosion(get_turf(src), -1, -1, 3, 5, cause = "Emagged spiderbot destruction")
|
||||
else
|
||||
eject_brain()
|
||||
return ..()
|
||||
|
||||
@@ -494,7 +494,7 @@ Difficulty: Hard
|
||||
addtimer(CALLBACK(src, PROC_REF(kaboom)), 10 SECONDS)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/ancient_robot/proc/kaboom()
|
||||
explosion(get_turf(src), -1, 7, 15, 20)
|
||||
explosion(get_turf(src), -1, 7, 15, 20, cause = "[name] death")
|
||||
health = 0
|
||||
death(allowed = TRUE)
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
if(!QDELETED(mother))
|
||||
mother.children_list -= src
|
||||
visible_message("<span class='warning'>[src] explodes!</span>")
|
||||
explosion(src, flame_range = 3, adminlog = FALSE)
|
||||
explosion(src, flame_range = 3, adminlog = FALSE, cause = "[name] death")
|
||||
new /obj/item/stack/sheet/animalhide/goliath_hide(loc)
|
||||
new /obj/effect/gibspawner/human(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
@@ -325,7 +325,7 @@
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space/death()
|
||||
visible_message("<span class='warning'>[src] explodes!</span>")
|
||||
playsound(loc, 'sound/items/timer.ogg', 30, FALSE)
|
||||
explosion(src, 0, 4, 4, flame_range = 2, adminlog = FALSE)
|
||||
explosion(src, 0, 4, 4, flame_range = 2, adminlog = FALSE, cause = "[name] autogib")
|
||||
qdel(src)
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/space
|
||||
|
||||
@@ -359,7 +359,7 @@ GLOBAL_LIST_EMPTY(PDAs)
|
||||
if(T)
|
||||
T.hotspot_expose(700,125)
|
||||
|
||||
explosion(T, -1, -1, 2, 3)
|
||||
explosion(T, -1, -1, 2, 3, cause = "Exploding PDA")
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
log_admin("LOG: Rigged power cell explosion, last touched by [fingerprintslast]")
|
||||
message_admins("LOG: Rigged power cell explosion, last touched by [fingerprintslast]")
|
||||
|
||||
explosion(T, devastation_range, heavy_impact_range, light_impact_range, flash_range)
|
||||
explosion(T, devastation_range, heavy_impact_range, light_impact_range, flash_range, cause = "Powercell explosion")
|
||||
charge = 0 //Extra safety in the event the cell does not QDEL right
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -511,7 +511,7 @@ GLOBAL_VAR_INIT(global_singulo_id, 1)
|
||||
/obj/singularity/singularity_act()
|
||||
var/gain = (energy/2)
|
||||
var/dist = max((current_size - 2), 1)
|
||||
explosion(loc, (dist), (dist * 2), (dist * 4))
|
||||
explosion(loc, (dist), (dist * 2), (dist * 4), cause = "singularity on singularity violence")
|
||||
qdel(src)
|
||||
return(gain)
|
||||
|
||||
|
||||
@@ -410,7 +410,7 @@
|
||||
//Dear mappers, balance the sm max explosion radius to 17.5, 37, 39, 41
|
||||
if(forced_gasmix_power_ratio)
|
||||
gasmix_power_ratio = forced_gasmix_power_ratio
|
||||
explosion(get_turf(T), explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , explosion_power * max(gasmix_power_ratio, 0.205) + 2, explosion_power * max(gasmix_power_ratio, 0.205) + 4 , explosion_power * max(gasmix_power_ratio, 0.205) + 6, 1, 1)
|
||||
explosion(get_turf(T), explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , explosion_power * max(gasmix_power_ratio, 0.205) + 2, explosion_power * max(gasmix_power_ratio, 0.205) + 4 , explosion_power * max(gasmix_power_ratio, 0.205) + 6, 1, 1, cause = "Exploding Supermatter")
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/atmospherics/supermatter_crystal/process_atmos()
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
/obj/machinery/power/port_gen/pacman/super/explode()
|
||||
//a nice burst of radiation
|
||||
radiation_pulse(get_turf(src), 2000, ALPHA_RAD)
|
||||
explosion(loc, 3, 3, 5, 3)
|
||||
explosion(loc, 3, 3, 5, 3, cause = "Exploding [name]")
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/mrs
|
||||
@@ -372,7 +372,7 @@
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/mrs/explode()
|
||||
//no special effects, but the explosion is pretty big (same as a supermatter shard).
|
||||
explosion(loc, 3, 6, 12, 16, 1)
|
||||
explosion(loc, 3, 6, 12, 16, 1, cause = "Exploding [name]")
|
||||
qdel(src)
|
||||
|
||||
#undef SHEET_VOLUME
|
||||
|
||||
@@ -78,5 +78,5 @@
|
||||
stat &= ~EMPED
|
||||
|
||||
/obj/machinery/power/port_gen/proc/explode()
|
||||
explosion(loc, -1, 3, 5, -1)
|
||||
explosion(loc, -1, 3, 5, -1, cause = "Exploding [name]")
|
||||
qdel(src)
|
||||
|
||||
@@ -936,7 +936,7 @@
|
||||
zap_flags &= ~(ZAP_MACHINE_EXPLOSIVE | ZAP_OBJ_DAMAGE)
|
||||
. = ..()
|
||||
if(explosive)
|
||||
explosion(src, 0, 0, 0, flame_range = 5, adminlog = FALSE)
|
||||
explosion(src, 0, 0, 0, flame_range = 5, cause = "Exploding light")
|
||||
qdel(src)
|
||||
|
||||
// timed process
|
||||
@@ -963,7 +963,7 @@
|
||||
|
||||
/obj/machinery/light/proc/actually_explode()
|
||||
var/turf/T = get_turf(loc)
|
||||
explosion(T, 0, 0, 2, 2)
|
||||
explosion(T, 0, 0, 2, 2, cause = "exploding light")
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/light/extinguish_light(force = FALSE)
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
qdel(H)
|
||||
if("exploded")
|
||||
H.visible_message("<span class='chaosverybad'>[H] explodes!</span>", "<span class='chaosverybad'>Boom!</span>")
|
||||
explosion(get_turf(H), 1, 1, 1, cause = "staff of chaos lethal explosion effect")
|
||||
explosion(get_turf(H), 1, 1, 1, cause = "staff of chaos lethal explosion effect, fired by [key_name(firer)]")
|
||||
if("cheese morphed")
|
||||
H.visible_message("<span class='chaosverybad'>[H] transforms into cheese!</span>", "<span class='chaosverybad'>You've been transformed into cheese!</span>")
|
||||
new /obj/item/food/sliced/cheesewedge(get_turf(H))
|
||||
@@ -192,7 +192,7 @@
|
||||
if("fireballed")
|
||||
H.visible_message("<span class='chaosbad'>[H] is hit by a fireball! </span>", "<span class='chaosverybad'>You get hit by a fireball!</span>")
|
||||
H.apply_damage(CHAOS_STAFF_DAMAGE / 3, BRUTE)
|
||||
explosion(get_turf(H), -1, 0, 2, 3, flame_range = 2, cause = "staff of chaos fireball effect")
|
||||
explosion(get_turf(H), -1, 0, 2, 3, flame_range = 2, cause = "staff of chaos fireball effect, fired by [key_name(firer)]")
|
||||
if("ice spiked")
|
||||
H.visible_message("<span class='chaosbad'>[H]'s chest get pierced by an ice spike!</span>", "<span class='chaosverybad'>An ice spike pierces your chest!</span>")
|
||||
H.apply_damage(CHAOS_STAFF_DAMAGE, BRUTE, "chest")
|
||||
|
||||
@@ -188,7 +188,7 @@ CONTENTS:
|
||||
max_charges = 8 //8, 4, 4, 3
|
||||
|
||||
/obj/item/gun/magic/wand/fireball/zap_self(mob/living/user)
|
||||
explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2)
|
||||
explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2, cause = "Self-fireball")
|
||||
charges--
|
||||
..()
|
||||
|
||||
@@ -234,7 +234,7 @@ CONTENTS:
|
||||
"<span class='userdanger'>Unsure which end of [src] is which, you accidentally zap yourself with a fireball!</span>",
|
||||
"<span class='userdanger'>You hear a firey explosion!</span>"
|
||||
)
|
||||
explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2)
|
||||
explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2, cause = "Fireball to the face from failed cigarette lighting")
|
||||
charges--
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
for(var/obj/effect/ebeam/medical/B in turf)// Don't cross the str-beams!
|
||||
if(B.owner != current_beam)
|
||||
turf.visible_message("<span class='userdanger'>The medbeams cross and EXPLODE!</span>")
|
||||
explosion(B.loc,0,3,5,8)
|
||||
explosion(B.loc,0,3,5,8, cause = "Crossed beams")
|
||||
qdel(dummy)
|
||||
return FALSE
|
||||
qdel(dummy)
|
||||
|
||||
@@ -68,6 +68,6 @@
|
||||
|
||||
/obj/item/projectile/homing/magic/homing_fireball/on_hit(mob/living/target)
|
||||
. = ..()
|
||||
explosion(get_turf(target), explosion_devastate, explosion_heavy, explosion_light, explosion_flash, 0, flame_range = explosion_fire)
|
||||
explosion(get_turf(target), explosion_devastate, explosion_heavy, explosion_light, explosion_flash, 0, flame_range = explosion_fire, cause = "Homing Fireball")
|
||||
if(istype(target)) //multiple flavors of pain
|
||||
target.adjustFireLoss(10) // does 20 brute, and 10 burn + explosion. Pretty brutal.
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
if(!.)
|
||||
return .
|
||||
var/turf/T = get_turf(target)
|
||||
explosion(T, exp_devastate, exp_heavy, exp_light, exp_flash, 0, flame_range = exp_fire)
|
||||
explosion(T, exp_devastate, exp_heavy, exp_light, exp_flash, 0, flame_range = exp_fire, cause = name)
|
||||
if(ismob(target)) //multiple flavors of pain
|
||||
var/mob/living/M = target
|
||||
M.take_overall_damage(0,10) //between this 10 burn, the 10 brute, the explosion brute, and the onfire burn, your at about 65 damage if you stop drop and roll immediately
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
|
||||
/obj/item/projectile/bullet/frag12/on_hit(atom/target, blocked = 0)
|
||||
..()
|
||||
explosion(target, -1, 0, 1)
|
||||
explosion(target, -1, 0, 1, cause = "frag 12 fired by [key_name(firer)]")
|
||||
return TRUE
|
||||
|
||||
/obj/item/projectile/bullet/confetti
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
fireflash_sm(T, radius, 2200 + radius * 250, radius * 50)
|
||||
if(will_explode)
|
||||
var/boomrange = min(max(min_explosion_radius, round(volume * volume_explosion_radius_multiplier + volume_explosion_radius_modifier)), max_explosion_radius)
|
||||
explosion(T, -1, -1, boomrange, 1)
|
||||
explosion(T, -1, -1, boomrange, 1, cause = "Hot Welding Fuel Reagent")
|
||||
|
||||
/datum/reagent/fuel/reaction_turf(turf/T, volume) //Don't spill the fuel, or you'll regret it
|
||||
if(isspaceturf(T))
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
/datum/chemical_reaction/crank/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
fireflash(holder.my_atom, 1)
|
||||
explosion(T, 0, 0, 2)
|
||||
explosion(T, 0, 0, 2, cause = "Crank reaction")
|
||||
|
||||
/datum/chemical_reaction/krokodil
|
||||
name = "Krokodil"
|
||||
@@ -81,7 +81,7 @@
|
||||
/datum/chemical_reaction/mephedrone/on_reaction(datum/reagents/holder) //Will make it harder for botany, need a chem heater or will suffer, and mixing in plants wont work
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
fireflash(holder.my_atom, 3, 500)
|
||||
explosion(T, 0, 0, 2, 2, flame_range = 2)
|
||||
explosion(T, 0, 0, 2, 2, flame_range = 2, cause = "Mephedrone reaction")
|
||||
|
||||
/datum/chemical_reaction/jenkem
|
||||
name = "Jenkem"
|
||||
|
||||
@@ -172,9 +172,9 @@
|
||||
var/ex_light = round(created_volume / 20)
|
||||
var/ex_flash = round(created_volume / 8)
|
||||
if(istype(holder.my_atom)) //ensures the explosion happens at the container, not where its primed at
|
||||
explosion(holder.my_atom.loc, ex_severe, ex_heavy,ex_light, ex_flash, 1)
|
||||
explosion(holder.my_atom.loc, ex_severe, ex_heavy,ex_light, ex_flash, 1, cause = "Blackpowder Explosion")
|
||||
else
|
||||
explosion(prime_location, ex_severe, ex_heavy,ex_light, ex_flash, 1)
|
||||
explosion(prime_location, ex_severe, ex_heavy,ex_light, ex_flash, 1, cause = "Blackpowder Explosion")
|
||||
// If this black powder is in a decal, remove the decal, because it just exploded
|
||||
if(istype(holder.my_atom, /obj/effect/decal/cleanable/dirt/blackpowder))
|
||||
qdel(holder.my_atom)
|
||||
@@ -342,7 +342,7 @@
|
||||
|
||||
/datum/chemical_reaction/azide/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
explosion(location, 0, 1, 4)
|
||||
explosion(location, 0, 1, 4, cause = "Azide reaction")
|
||||
|
||||
/datum/chemical_reaction/firefighting_foam
|
||||
name = "firefighting_foam"
|
||||
@@ -364,7 +364,7 @@
|
||||
|
||||
/datum/chemical_reaction/clf3_firefighting/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
explosion(location, -1, 0, 2)
|
||||
explosion(location, -1, 0, 2, cause = "CLF3 reaction")
|
||||
|
||||
/datum/chemical_reaction/shock_explosion
|
||||
name = "shock_explosion"
|
||||
|
||||
@@ -536,7 +536,7 @@
|
||||
var/turf/extract_turf = get_turf(extract)
|
||||
message_admins("[who] triggered an oil slime explosion at [COORD(extract_turf)].")
|
||||
log_game("[who] triggered an oil slime explosion at [COORD(extract_turf)].")
|
||||
explosion(extract_turf, 1, 3, 6)
|
||||
explosion(extract_turf, 1, 3, 6, cause = "Oil Slime explosion")
|
||||
|
||||
/datum/chemical_reaction/oil_slick
|
||||
name = "Oil Potion"
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
reagent_id = "beer"
|
||||
|
||||
/obj/structure/reagent_dispensers/beerkeg/blob_act(obj/structure/blob/B)
|
||||
explosion(loc, 0, 3, 5, 7, 10)
|
||||
explosion(loc, 0, 3, 5, 7, 10, cause = "Blob caused [src] to explode.")
|
||||
if(!QDELETED(src))
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
/obj/item/relic/proc/explode_callback(mob/user)
|
||||
if(loc == user)
|
||||
visible_message("<span class='notice'>[src]'s top opens, releasing a powerful blast!</span>")
|
||||
explosion(user.loc, -1, rand(1,5), rand(1,5), rand(1,5), rand(1,5), flame_range = 2)
|
||||
explosion(user.loc, -1, rand(1,5), rand(1,5), rand(1,5), rand(1,5), flame_range = 2, cause = "Exploding relic")
|
||||
warn_admins(user, "Explosion")
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -230,7 +230,7 @@
|
||||
var/turf/T = get_turf(loc)
|
||||
if(T)
|
||||
T.hotspot_expose(700, 125)
|
||||
explosion(T, -1, -1, 2, 3)
|
||||
explosion(T, -1, -1, 2, 3, cause = "Repeated Sentience Potion")
|
||||
qdel(src)
|
||||
return
|
||||
var/reason_text = tgui_input_text(user, "Enter reason for giving sentience", "Reason for sentience potion")
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
message_admins("[key_name_admin(user)] has launched an artillery strike.")//Admin BSA firing, just targets a room, which the explosion says
|
||||
|
||||
log_admin("[key_name(user)] has launched an artillery strike.") // Line below handles logging the explosion to disk
|
||||
explosion(bullseye,ex_power,ex_power*2,ex_power*4)
|
||||
explosion(bullseye,ex_power,ex_power*2,ex_power*4, cause = "BSA strike")
|
||||
|
||||
reload()
|
||||
|
||||
|
||||
@@ -933,7 +933,7 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
"<span class='danger'>\The [victim]'s [name] explodes violently!</span>",\
|
||||
"<span class='userdanger'>Your [name] explodes!</span>",\
|
||||
"<span class='danger'>You hear an explosion!</span>")
|
||||
explosion(get_turf(victim), -1, -1, 2, 3)
|
||||
explosion(get_turf(victim), -1, -1, 2, 3, cause = "Sabotaged robotic limb")
|
||||
do_sparks(5, 0, victim)
|
||||
qdel(src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user