mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-16 02:17:06 +01:00
Super Dismemberment (#11086)
This commit is contained in:
@@ -606,3 +606,16 @@
|
||||
// It receives the curent mob of the player s argument and MUST return the mob the player has been assigned.
|
||||
/atom/proc/assign_player(var/mob/user)
|
||||
return
|
||||
|
||||
/atom/proc/get_contained_external_atoms()
|
||||
. = contents
|
||||
|
||||
/atom/proc/dump_contents()
|
||||
for(var/thing in get_contained_external_atoms())
|
||||
var/atom/movable/AM = thing
|
||||
AM.dropInto(loc)
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
if(M.client)
|
||||
M.client.eye = M.client.mob
|
||||
M.client.perspective = MOB_PERSPECTIVE
|
||||
@@ -106,17 +106,15 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/structure/closet/proc/dump_contents()
|
||||
/obj/structure/closet/dump_contents()
|
||||
//Cham Projector Exception
|
||||
for(var/obj/effect/dummy/chameleon/AD in src)
|
||||
for(var/obj/effect/dummy/chameleon/AD in contents)
|
||||
AD.forceMove(loc)
|
||||
|
||||
for(var/obj/I in src)
|
||||
if(linked_teleporter && I == linked_teleporter)
|
||||
continue
|
||||
for(var/obj/I in contents - linked_teleporter)
|
||||
I.forceMove(loc)
|
||||
|
||||
for(var/mob/M in src)
|
||||
for(var/mob/M in contents)
|
||||
M.forceMove(loc)
|
||||
if(M.client)
|
||||
M.client.eye = M.client.mob
|
||||
|
||||
@@ -492,4 +492,7 @@
|
||||
|
||||
/mob/living/carbon/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /obj/screen/fullscreen/flash)
|
||||
if(eyecheck() < intensity || override_blindness_check)
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/get_contained_external_atoms()
|
||||
. = contents - internal_organs
|
||||
@@ -131,4 +131,15 @@
|
||||
/mob/living/carbon/human/proc/vr_disconnect()
|
||||
if(remote_network)
|
||||
SSvirtualreality.remove_robot(src, remote_network)
|
||||
remote_network = null
|
||||
remote_network = null
|
||||
|
||||
/mob/living/carbon/human/proc/drop_all_limbs(var/droplimb_type = DROPLIMB_BLUNT)
|
||||
for(var/thing in organs)
|
||||
var/obj/item/organ/external/limb = thing
|
||||
var/limb_can_amputate = (limb.limb_flags & ORGAN_CAN_AMPUTATE)
|
||||
limb.limb_flags |= ORGAN_CAN_AMPUTATE
|
||||
limb.droplimb(TRUE, droplimb_type, TRUE, TRUE)
|
||||
if(!QDELETED(limb) && !limb_can_amputate)
|
||||
limb.limb_flags &= ~ORGAN_CAN_AMPUTATE
|
||||
dump_contents()
|
||||
qdel(src)
|
||||
@@ -272,4 +272,7 @@
|
||||
if(species?.respawn_type)
|
||||
set_death_time(species.respawn_type, world.time)
|
||||
else
|
||||
set_death_time(CREW, world.time)
|
||||
set_death_time(CREW, world.time)
|
||||
|
||||
/mob/living/carbon/human/get_contained_external_atoms()
|
||||
. = ..() - organs
|
||||
@@ -1207,6 +1207,16 @@ proc/is_blind(A)
|
||||
/mob/proc/get_antag_datum(var/antag_role)
|
||||
return
|
||||
|
||||
/mob/dump_contents()
|
||||
for(var/thing in get_contained_external_atoms())
|
||||
var/atom/movable/AM = thing
|
||||
drop_from_inventory(AM, loc)
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
if(M.client)
|
||||
M.client.eye = M.client.mob
|
||||
M.client.perspective = MOB_PERSPECTIVE
|
||||
|
||||
/mob/proc/in_neck_grab()
|
||||
for(var/thing in grabbed_by)
|
||||
var/obj/item/grab/G = thing
|
||||
|
||||
@@ -901,7 +901,10 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
victim.shock_stage += min_broken_damage
|
||||
victim.flash_strong_pain()
|
||||
|
||||
var/mob/living/carbon/human/last_owner = owner
|
||||
removed(null, ignore_children)
|
||||
if(istype(last_owner) && !QDELETED(last_owner) && length(last_owner.organs) <= 1)
|
||||
last_owner.drop_all_limbs(disintegrate) // drops the last remaining part, usually the torso, as an item
|
||||
|
||||
if(parent_organ)
|
||||
var/datum/wound/lost_limb/W = new(src, disintegrate, clean)
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
author: Geeves
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "You can now completely get rid of bodies by dismembering all their limbs, including the lower body."
|
||||
Reference in New Issue
Block a user