Merge pull request #15371 from DeltaFire15/unintended-devastation
Devastation level explosions no longer delete organs of gibbed humans
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
/obj/effect/dummy/phased_mob/slaughter/relaymove(mob/user, direction)
|
||||
forceMove(get_step(src,direction))
|
||||
|
||||
/obj/effect/dummy/phased_mob/slaughter/ex_act()
|
||||
/obj/effect/dummy/phased_mob/slaughter/ex_act(severity, target, origin)
|
||||
return
|
||||
|
||||
/obj/effect/dummy/phased_mob/slaughter/wave_ex_act(power, datum/wave_explosion/explosion, dir)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
/mob/living/brain/update_mobility()
|
||||
return ((mobility_flags = (container?.in_contents_of(/obj/mecha)? MOBILITY_FLAGS_DEFAULT : NONE)))
|
||||
|
||||
/mob/living/brain/ex_act() //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up.
|
||||
/mob/living/brain/ex_act(severity, target, origin) //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up.
|
||||
return
|
||||
|
||||
/mob/living/brain/wave_ex_act(power, datum/wave_explosion/explosion, dir)
|
||||
|
||||
@@ -319,7 +319,10 @@
|
||||
var/atom/A = I
|
||||
if(!QDELETED(A))
|
||||
A.ex_act(severity)
|
||||
gib()
|
||||
if(istype(origin, /datum/explosion))
|
||||
gib(was_explosion = origin)
|
||||
else
|
||||
gib()
|
||||
return
|
||||
else
|
||||
brute_loss = 500
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
if(2)
|
||||
SSshuttle.requestEvac(src,"ALERT: Energy surge detected in AI core! Station integrity may be compromised! Initiati--%m091#ar-BZZT")
|
||||
|
||||
/mob/living/silicon/ai/ex_act(severity, target)
|
||||
/mob/living/silicon/ai/ex_act(severity, target, origin)
|
||||
switch(severity)
|
||||
if(1)
|
||||
gib()
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
emitter_next_use = world.time + emitter_emp_cd
|
||||
//Need more effects that aren't instadeath or permanent law corruption.
|
||||
|
||||
/mob/living/silicon/pai/ex_act(severity, target)
|
||||
/mob/living/silicon/pai/ex_act(severity, target, origin)
|
||||
take_holo_damage(severity * 50)
|
||||
switch(severity)
|
||||
if(1) //RIP
|
||||
|
||||
@@ -184,7 +184,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
|
||||
gib()
|
||||
return TRUE
|
||||
|
||||
/mob/living/silicon/robot/ex_act(severity, target)
|
||||
/mob/living/silicon/robot/ex_act(severity, target, origin)
|
||||
switch(severity)
|
||||
if(1)
|
||||
gib()
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
GLOB.silicon_mobs -= src
|
||||
return ..()
|
||||
|
||||
/mob/living/silicon/contents_explosion(severity, target)
|
||||
/mob/living/silicon/contents_explosion(severity, target, origin)
|
||||
return
|
||||
|
||||
/mob/living/silicon/proc/cancelAlarm()
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
add_overlay(load)
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/bot/mulebot/ex_act(severity)
|
||||
/mob/living/simple_animal/bot/mulebot/ex_act(severity, target, origin)
|
||||
unload(0)
|
||||
switch(severity)
|
||||
if(1)
|
||||
|
||||
@@ -60,5 +60,5 @@
|
||||
else
|
||||
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
||||
|
||||
/mob/living/simple_animal/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach.
|
||||
/mob/living/simple_animal/cockroach/ex_act(severity, target, origin) //Explosions are a terrible way to handle a cockroach.
|
||||
return
|
||||
|
||||
@@ -273,10 +273,13 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
summoner.adjustCloneLoss(amount * 0.5) //dying hosts take 50% bonus damage as cloneloss
|
||||
update_health_hud()
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/ex_act(severity, target)
|
||||
/mob/living/simple_animal/hostile/guardian/ex_act(severity, target, origin)
|
||||
switch(severity)
|
||||
if(1)
|
||||
gib()
|
||||
if(istype(origin, /datum/explosion))
|
||||
gib(was_explosion = origin)
|
||||
else
|
||||
gib()
|
||||
return
|
||||
if(2)
|
||||
adjustBruteLoss(60)
|
||||
@@ -286,10 +289,10 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
/mob/living/simple_animal/hostile/guardian/wave_ex_act(power, datum/wave_explosion/explosion, dir)
|
||||
adjustBruteLoss(EXPLOSION_POWER_STANDARD_SCALE_MOB_DAMAGE(power, explosion.mob_damage_mod * 0.33))
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/gib()
|
||||
/mob/living/simple_animal/hostile/guardian/gib(no_brain, no_organs, no_bodyparts, datum/explosion/was_explosion)
|
||||
if(summoner)
|
||||
to_chat(summoner, "<span class='danger'><B>Your [src] was blown up!</span></B>")
|
||||
summoner.gib()
|
||||
summoner.gib(was_explosion = was_explosion)
|
||||
ghostize()
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
toggle_button_type = /atom/movable/screen/guardian/ToggleMode
|
||||
var/toggle = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/protector/ex_act(severity)
|
||||
/mob/living/simple_animal/hostile/guardian/protector/ex_act(severity, target, origin)
|
||||
if(severity == 1)
|
||||
adjustBruteLoss(400) //if in protector mode, will do 20 damage and not actually necessarily kill the summoner
|
||||
else
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
else
|
||||
visible_message("<span class='notice'>[src] avoids getting crushed.</span>")
|
||||
|
||||
/mob/living/simple_animal/banana_spider/ex_act()
|
||||
/mob/living/simple_animal/banana_spider/ex_act(severity, target, origin)
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/banana_spider/start_pulling()
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
user.transfer_ckey(src, FALSE)
|
||||
density = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/bread/ex_act()
|
||||
/mob/living/simple_animal/hostile/bread/ex_act(severity, target, origin)
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/hostile/bread/start_pulling()
|
||||
|
||||
@@ -132,7 +132,7 @@ Difficulty: Medium
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/ex_act(severity, target)
|
||||
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/ex_act(severity, target, origin)
|
||||
if(dash())
|
||||
return
|
||||
return ..()
|
||||
|
||||
@@ -154,7 +154,7 @@ Difficulty: Hard
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/bubblegum/ex_act(severity, target)
|
||||
/mob/living/simple_animal/hostile/megafauna/bubblegum/ex_act(severity, target, origin)
|
||||
if(severity >= EXPLODE_LIGHT)
|
||||
return
|
||||
severity = EXPLODE_LIGHT // puny mortals
|
||||
|
||||
@@ -421,7 +421,7 @@ Difficulty: Very Hard
|
||||
if(ismob(AM))
|
||||
ActivationReaction(AM, ACTIVATE_MOB_BUMP)
|
||||
|
||||
/obj/machinery/anomalous_crystal/ex_act()
|
||||
/obj/machinery/anomalous_crystal/ex_act(severity, target, origin)
|
||||
ActivationReaction(null, ACTIVATE_BOMB)
|
||||
|
||||
/obj/machinery/anomalous_crystal/honk //Strips and equips you as a clown. I apologize for nothing
|
||||
@@ -740,7 +740,7 @@ Difficulty: Very Hard
|
||||
/obj/structure/closet/stasis/emp_act()
|
||||
return
|
||||
|
||||
/obj/structure/closet/stasis/ex_act()
|
||||
/obj/structure/closet/stasis/ex_act(severity, target, origin)
|
||||
return
|
||||
|
||||
/obj/structure/closet/stasis/handle_lock_addition()
|
||||
|
||||
@@ -147,7 +147,7 @@ Difficulty: Extremely Hard
|
||||
if(isturf(target) || isobj(target))
|
||||
target.ex_act(EXPLODE_HEAVY)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/ex_act(severity, target)
|
||||
/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/ex_act(severity, target, origin)
|
||||
adjustBruteLoss(30 * severity - 120)
|
||||
visible_message("<span class='danger'>[src] absorbs the explosion!</span>", "<span class='userdanger'>You absorb the explosion!</span>")
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ Difficulty: Medium
|
||||
. = ..()
|
||||
internal = new/obj/item/gps/internal/dragon(src)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/ex_act(severity, target)
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/ex_act(severity, target, origin)
|
||||
if(severity == 3)
|
||||
return
|
||||
..()
|
||||
@@ -387,7 +387,7 @@ Difficulty: Medium
|
||||
light_range = 2
|
||||
duration = 13
|
||||
|
||||
/obj/effect/temp_visual/lava_warning/ex_act()
|
||||
/obj/effect/temp_visual/lava_warning/ex_act(severity, target, origin)
|
||||
return
|
||||
|
||||
/obj/effect/temp_visual/lava_warning/Initialize(mapload, var/reset_time = 10)
|
||||
|
||||
@@ -674,7 +674,7 @@ Difficulty: Normal
|
||||
layer = LOW_OBJ_LAYER
|
||||
anchored = TRUE
|
||||
|
||||
/obj/effect/hierophant/ex_act()
|
||||
/obj/effect/hierophant/ex_act(severity, target, origin)
|
||||
return
|
||||
|
||||
/obj/effect/hierophant/attackby(obj/item/I, mob/user, params)
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
adjustBruteLoss(-L.maxHealth/2)
|
||||
L.gib()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/ex_act(severity, target)
|
||||
/mob/living/simple_animal/hostile/megafauna/ex_act(severity, target, origin)
|
||||
switch (severity)
|
||||
if (EXPLODE_DEVASTATE)
|
||||
adjustBruteLoss(250)
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
if(isliving(target) && !target.Adjacent(targets_from) && ranged_cooldown <= world.time)//No more being shot at point blank or spammed with RNG beams
|
||||
OpenFire(target)
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/basilisk/ex_act(severity, target)
|
||||
/mob/living/simple_animal/hostile/asteroid/basilisk/ex_act(severity, target, origin)
|
||||
switch(severity)
|
||||
if(1)
|
||||
gib()
|
||||
|
||||
@@ -307,7 +307,7 @@
|
||||
if((bodytemperature < minbodytemp) || (bodytemperature > maxbodytemp))
|
||||
adjustHealth(unsuitable_atmos_damage)
|
||||
|
||||
/mob/living/simple_animal/gib()
|
||||
/mob/living/simple_animal/gib(no_brain, no_organs, no_bodyparts, datum/explosion/was_explosion)
|
||||
if(butcher_results)
|
||||
var/atom/Tsec = drop_location()
|
||||
for(var/path in butcher_results)
|
||||
|
||||
Reference in New Issue
Block a user