Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

move death to living #12241

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion beestation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -3073,7 +3073,6 @@
#include "code\modules\mining\laborcamp\laborstacker.dm"
#include "code\modules\mining\lavaland\ash_flora.dm"
#include "code\modules\mining\lavaland\necropolis_chests.dm"
#include "code\modules\mob\death.dm"
#include "code\modules\mob\emote.dm"
#include "code\modules\mob\inventory.dm"
#include "code\modules\mob\login.dm"
Expand Down
3 changes: 2 additions & 1 deletion code/__DEFINES/dcs/signals/signals_global.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
#define COMSIG_GLOB_VAR_EDIT "!var_edit" //! called after a successful var edit somewhere in the world: (list/args)
#define COMSIG_GLOB_EXPLOSION "!explosion" //! called after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range)
#define COMSIG_GLOB_MOB_CREATED "!mob_created" //! mob was created somewhere : (mob)
#define COMSIG_GLOB_MOB_DEATH "!mob_death" //! mob died somewhere : (mob , gibbed)
/// mob died somewhere : (mob/living, gibbed)
#define COMSIG_GLOB_MOB_DEATH "!mob_death"
#define COMSIG_GLOB_LIVING_SAY_SPECIAL "!say_special" //! global living say plug - use sparingly: (mob/speaker , message)
#define COMSIG_GLOB_CARBON_THROW_THING "!throw_thing" //! a person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target)
#define COMSIG_GLOB_SOUND_PLAYED "!sound_played" //! a sound was played : (sound_player, sound_file)
Expand Down
1 change: 0 additions & 1 deletion code/__DEFINES/dcs/signals/signals_mob/signals_mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
// /mob signals
#define COMSIG_MOB_LOGIN "mob_login"
#define COMSIG_MOB_LOGOUT "mob_logout" ///from base of /mob/Logout(): ()
#define COMSIG_MOB_DEATH "mob_death" //! from base of mob/death(): (gibbed)
#define COMSIG_MOB_STATCHANGE "mob_statchange" //from base of mob/set_stat(): (new_stat)
#define COMSIG_MOB_CLICKON "mob_clickon" //! from base of mob/clickon(): (atom/A, params)
#define COMSIG_MOB_MIDDLECLICKON "mob_middleclickon" //from base of mob/MiddleClickOn(): (atom/A)
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ SUBSYSTEM_DEF(ticker)
/datum/controller/subsystem/ticker/proc/station_explosion_detonation(atom/bomb)
if(bomb) //BOOM
qdel(bomb)
for(var/mob/M in GLOB.mob_list)
for(var/mob/living/M in GLOB.mob_list)
var/turf/T = get_turf(M)
if(T && is_station_level(T.z) && !istype(M.loc, /obj/structure/closet/secure_closet/freezer)) //protip: freezers protect you from nukes
M.gib(TRUE)
Expand Down
4 changes: 2 additions & 2 deletions code/datums/ai/dog/dog_controller.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
RegisterSignal(new_pawn, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand))
RegisterSignal(new_pawn, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined))
RegisterSignal(new_pawn, COMSIG_CLICK_ALT, PROC_REF(check_altclicked))
RegisterSignals(new_pawn, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(on_death))
RegisterSignals(new_pawn, list(COMSIG_LIVING_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(on_death))
RegisterSignal(SSdcs, COMSIG_GLOB_CARBON_THROW_THING, PROC_REF(listened_throw))
return ..() //Run parent at end

Expand All @@ -39,7 +39,7 @@
pawn.visible_message(span_danger("[pawn] drops [carried_item]."))
carried_item.forceMove(pawn.drop_location())
blackboard[BB_SIMPLE_CARRY_ITEM] = null
UnregisterSignal(pawn, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT, COMSIG_MOB_DEATH, COMSIG_GLOB_CARBON_THROW_THING, COMSIG_PARENT_QDELETING))
UnregisterSignal(pawn, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT, COMSIG_LIVING_DEATH, COMSIG_GLOB_CARBON_THROW_THING, COMSIG_PARENT_QDELETING))
return ..() //Run parent at end

/datum/ai_controller/dog/able_to_run()
Expand Down
2 changes: 1 addition & 1 deletion code/datums/ai/tamed/tamed_controller.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
return ..()

/datum/ai_controller/tamed/UnpossessPawn(destroy)
UnregisterSignal(pawn, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT, COMSIG_MOB_DEATH, COMSIG_GLOB_CARBON_THROW_THING, COMSIG_PARENT_QDELETING))
UnregisterSignal(pawn, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT, COMSIG_LIVING_DEATH, COMSIG_GLOB_CARBON_THROW_THING, COMSIG_PARENT_QDELETING))
return ..()

/datum/ai_controller/tamed/able_to_run()
Expand Down
4 changes: 2 additions & 2 deletions code/datums/components/manual_blinking.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,14 @@
RegisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN, PROC_REF(check_added_organ))
RegisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(check_removed_organ))
RegisterSignal(parent, COMSIG_LIVING_REVIVE, PROC_REF(restart))
RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(pause))
RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(pause))

/datum/component/manual_blinking/UnregisterFromParent()
UnregisterSignal(parent, COMSIG_MOB_EMOTE)
UnregisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN)
UnregisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN)
UnregisterSignal(parent, COMSIG_LIVING_REVIVE)
UnregisterSignal(parent, COMSIG_MOB_DEATH)
UnregisterSignal(parent, COMSIG_LIVING_DEATH)

/datum/component/manual_blinking/proc/restart()
SIGNAL_HANDLER
Expand Down
4 changes: 2 additions & 2 deletions code/datums/components/manual_breathing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,14 @@
RegisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN, PROC_REF(check_added_organ))
RegisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(check_removed_organ))
RegisterSignal(parent, COMSIG_LIVING_REVIVE, PROC_REF(restart))
RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(pause))
RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(pause))

/datum/component/manual_breathing/UnregisterFromParent()
UnregisterSignal(parent, COMSIG_MOB_EMOTE)
UnregisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN)
UnregisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN)
UnregisterSignal(parent, COMSIG_LIVING_REVIVE)
UnregisterSignal(parent, COMSIG_MOB_DEATH)
UnregisterSignal(parent, COMSIG_LIVING_DEATH)

/datum/component/manual_breathing/proc/restart()
SIGNAL_HANDLER
Expand Down
4 changes: 2 additions & 2 deletions code/datums/components/nanites.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@

if(isliving(parent))
RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp))
RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(on_death))
RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(on_death))
RegisterSignal(parent, COMSIG_MOB_ALLOWED, PROC_REF(check_access))
RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, PROC_REF(on_shock))
RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, PROC_REF(on_minor_shock))
Expand All @@ -83,7 +83,7 @@
COMSIG_NANITE_SCAN,
COMSIG_NANITE_SYNC,
COMSIG_ATOM_EMP_ACT,
COMSIG_MOB_DEATH,
COMSIG_LIVING_DEATH,
COMSIG_MOB_ALLOWED,
COMSIG_LIVING_ELECTROCUTE_ACT,
COMSIG_LIVING_MINOR_SHOCK,
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/riding.dm
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@
if(istype(parent, /mob/living/simple_animal))
var/mob/living/simple_animal/S = parent
override_allow_spacemove = S.spacewalk
RegisterSignal(parent, COMSIG_MOB_DEATH, PROC_REF(handle_mortality))
RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(handle_mortality))

/datum/component/riding/tamed/proc/handle_mortality()
qdel(src)
Expand Down
4 changes: 2 additions & 2 deletions code/datums/diseases/advance/advance.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
/datum/disease/advance/Destroy()
if(affected_mob)
SEND_SIGNAL(affected_mob, COMSIG_DISEASE_END, GetDiseaseID())
UnregisterSignal(affected_mob, COMSIG_MOB_DEATH)
UnregisterSignal(affected_mob, COMSIG_LIVING_DEATH)
if(processing)
for(var/datum/symptom/S in symptoms)
S.End(src)
Expand Down Expand Up @@ -107,7 +107,7 @@

/datum/disease/advance/after_add()
if(affected_mob)
RegisterSignal(affected_mob, COMSIG_MOB_DEATH, PROC_REF(on_mob_death))
RegisterSignal(affected_mob, COMSIG_LIVING_DEATH, PROC_REF(on_mob_death))

/datum/disease/advance/proc/on_mob_death()
SIGNAL_HANDLER
Expand Down
2 changes: 1 addition & 1 deletion code/datums/diseases/advance/symptoms/necropolis.dm
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@
to_chat(M, span_danger("Your soul is ripped from your body!"))
M.visible_message(span_danger("An unearthly roar shakes the ground as [M] explodes into a shower of gore, leaving behind an ominous, fleshy chest."))
playsound(M.loc,'sound/effects/tendril_destroyed.ogg', 200, 0, 50, 1, 1)
addtimer(CALLBACK(M, TYPE_PROC_REF(/mob, gib)), 0.5 SECONDS) //we can't gib mob while it's already dying
addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living, gib)), 0.5 SECONDS) //we can't gib mob while it's already dying
if(!ishuman(M) || HAS_TRAIT(M, TRAIT_NONECRODISEASE)) //We don't NEED them to be human. However, I want to avoid people making teratoma-farms for necrochests
return
new /obj/structure/closet/crate/necropolis/tendril(M.loc)
Expand Down
4 changes: 2 additions & 2 deletions code/datums/mind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@
/datum/mind/proc/transfer_to(mob/new_character, var/force_key_move = 0)
if(current) // remove ourself from our old body's mind variable
current.mind = null
UnregisterSignal(current, COMSIG_MOB_DEATH)
UnregisterSignal(current, COMSIG_LIVING_DEATH)
SStgui.on_transfer(current, new_character)

if(key)
Expand Down Expand Up @@ -162,7 +162,7 @@
C.last_mind = src
transfer_antag_huds(hud_to_transfer) //Inherit the antag HUD
transfer_martial_arts(new_character) //Todo: Port this proc
RegisterSignal(new_character, COMSIG_MOB_DEATH, PROC_REF(set_death_time))
RegisterSignal(new_character, COMSIG_LIVING_DEATH, PROC_REF(set_death_time))
if(active || force_key_move)
new_character.key = key //now transfer the key to link the client to our new body

Expand Down
24 changes: 14 additions & 10 deletions code/game/machinery/computer/arcade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
updateUsrDialog()
return

/obj/machinery/computer/arcade/battle/proc/arcade_action(mob/user)
/obj/machinery/computer/arcade/battle/proc/arcade_action(mob/living/user)
if ((enemy_mp <= 0) || (enemy_hp <= 0))
if(!gameover)
gameover = TRUE
Expand All @@ -282,8 +282,8 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
bomb_cooldown = initial(bomb_cooldown)
new /obj/effect/spawner/newbomb/plasma(loc, /obj/item/assembly/timer)
new /obj/item/clothing/head/collectable/petehat(loc)
message_admins("[ADMIN_LOOKUPFLW(usr)] has outbombed Cuban Pete and been awarded a bomb.")
log_game("[key_name(usr)] has outbombed Cuban Pete and been awarded a bomb.")
message_admins("[ADMIN_LOOKUPFLW(user)] has outbombed Cuban Pete and been awarded a bomb.")
log_game("[key_name(user)] has outbombed Cuban Pete and been awarded a bomb.")
Reset()
obj_flags &= ~EMAGGED
else
Expand All @@ -310,7 +310,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
temp = "You have been drained! GAME OVER"
playsound(loc, 'sound/arcade/lose.ogg', 50, 1, extrarange = -3, falloff_exponent = 10)
if(obj_flags & EMAGGED)
usr.gib()
user.gib()
SSblackbox.record_feedback("nested tally", "arcade_results", 1, list("loss", "mana", (obj_flags & EMAGGED ? "emagged":"normal")))

else if ((enemy_hp <= 10) && (enemy_mp > 4))
Expand All @@ -330,8 +330,8 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
temp = "You have been crushed! GAME OVER"
playsound(loc, 'sound/arcade/lose.ogg', 50, 1, extrarange = -3, falloff_exponent = 10)
if(obj_flags & EMAGGED)
usr.investigate_log("has been gibbed by an emagged Orion Trail game.", INVESTIGATE_DEATHS)
usr.gib()
user.investigate_log("has been gibbed by an emagged Orion Trail game.", INVESTIGATE_DEATHS)
user.gib()
SSblackbox.record_feedback("nested tally", "arcade_results", 1, list("loss", "hp", (obj_flags & EMAGGED ? "emagged":"normal")))

blocked = FALSE
Expand Down Expand Up @@ -493,8 +493,11 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
gamers[gamer] = -1


/obj/machinery/computer/arcade/orion_trail/ui_interact(mob/user)
/obj/machinery/computer/arcade/orion_trail/ui_interact(mob/_user)
. = ..()
if (!isliving(_user))
return
var/mob/living/user = _user
if(fuel <= 0 || food <=0 || settlers.len == 0)
gameStatus = ORION_STATUS_GAMEOVER
event = null
Expand Down Expand Up @@ -725,12 +728,13 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
playsound(loc,'sound/weapons/gunshot.ogg', 100, 1)
killed_crew++

var/mob/living/user = usr

if(settlers.len == 0 || alive == 0)
say("The last crewmember [sheriff], shot themselves, GAME OVER!")
if(obj_flags & EMAGGED)
usr.investigate_log("has been killed by an emagged Orion Trail game.", INVESTIGATE_DEATHS)
usr.death(0)
obj_flags &= EMAGGED
user.death()
gameStatus = ORION_STATUS_GAMEOVER
event = null

Expand All @@ -742,7 +746,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
if(usr.name == sheriff)
say("The crew of the ship chose to kill [usr.name]!")
usr.investigate_log("has been killed by an emagged Orion Trail game.", INVESTIGATE_DEATHS)
usr.death(0)
user.death()

if(event == ORION_TRAIL_LING) //only ends the ORION_TRAIL_LING event, since you can do this action in multiple places
event = null
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/food/pizza.dm
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@
user.visible_message(span_warning("\The [src] breaks off [user]'s arm!"), span_warning("\The [src] breaks off your arm!"))
playsound(user,pick('sound/misc/desecration-01.ogg','sound/misc/desecration-02.ogg','sound/misc/desecration-01.ogg') ,50, TRUE, -1)

/obj/item/food/proc/i_kill_you(obj/item/I, mob/user)
/obj/item/food/proc/i_kill_you(obj/item/I, mob/living/user)
if(istype(I, /obj/item/food/pineappleslice))
to_chat(user, "<font color='red' size='7'>If you want something crazy like pineapple, I'll kill you.</font>") //this is in bigger text because it's hard to spam something that gibs you, and so that you're perfectly aware of the reason why you died
user.investigate_log("has been gibbed by putting pineapple on an arnold pizza.", INVESTIGATE_DEATHS)
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/grenades/plastic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@
explosion(get_step(T, aim_dir), boom_sizes[1], boom_sizes[2], boom_sizes[3])
else
explosion(location, boom_sizes[1], boom_sizes[2], boom_sizes[3])
if(ismob(target))
var/mob/M = target
if(isliving(target))
var/mob/living/M = target
M.gib()
qdel(src)

Expand Down
6 changes: 3 additions & 3 deletions code/game/objects/items/implants/implant_exile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
/obj/item/implant/exile/hotel/on_implanted(mob/user)
user.AddComponent(/datum/component/stationloving/hotelloving)

/obj/item/implant/exile/hotel/removed(mob/unimplanted) // Incase they try self surgery
/obj/item/implant/exile/hotel/removed(mob/living/unimplanted) // Incase they try self surgery
visible_message(span_danger("The implant's anti-removal mechanisms activate!"))
unimplanted.dust()
message_admins("[ADMIN_LOOKUPFLW(unimplanted)] tried to remove their hotel staff implant to enter the station and was dusted.")
Expand All @@ -51,8 +51,8 @@
//Override to plop the disk back to a syndie crew spawn rather than somewhere on the station.

/datum/component/stationloving/hotelloving/relocate()
var/mob/hotelstaff = parent
if(ismob(hotelstaff))
var/mob/living/hotelstaff = parent
if(isliving(hotelstaff))
if(!QDELETED(src)) // if you don't do this the body gets continuously dusted forever. While this is funny, an infinitely large pile of remains that crashes clients on right click isn't.
qdel(src)
to_chat(hotelstaff,span_danger("The implant's anti-escape mechanisms activate!"))
Expand Down
8 changes: 4 additions & 4 deletions code/game/objects/items/theft_tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
..()
if(!iscarbon(user))
return FALSE
var/mob/victim = user
var/mob/living/victim = user
user.visible_message(span_danger("[victim] reaches out and tries to pick up [src]. [victim.p_their()] body starts to glow and bursts into flames before flashing into dust!"),\
span_userdanger("You reach for [src] with your hands. That was dumb."),\
span_italics("Everything suddenly goes silent."))
Expand Down Expand Up @@ -248,9 +248,9 @@
update_icon()
..()

/obj/item/hemostat/supermatter/proc/Consume(atom/movable/AM, mob/user)
if(ismob(AM))
var/mob/victim = AM
/obj/item/hemostat/supermatter/proc/Consume(atom/movable/AM, mob/living/user)
if(isliving(AM))
var/mob/living/victim = AM
victim.investigate_log("has been dusted by [src].", INVESTIGATE_DEATHS)
victim.dust()
message_admins("[src] has consumed [key_name_admin(victim)] [ADMIN_JMP(src)].")
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/ghost_role_spawners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ CREATION_TEST_IGNORE_SUBTYPES(/obj/effect/mob_spawn/human/golem)
I.registered_name = new_spawn.name
I.update_label()

/obj/effect/mob_spawn/human/golem/attack_hand(mob/user)
/obj/effect/mob_spawn/human/golem/attack_hand(mob/living/user)
. = ..()
if(.)
return
Expand Down
4 changes: 2 additions & 2 deletions code/game/turfs/closed/indestructible.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen)
. = ..()
if(isobserver(AM))
return
if(ismob(AM))
var/mob/interloper = AM
if(isliving(AM))
var/mob/living/interloper = AM
interloper.death()
if(ismecha(AM))
var/obj/vehicle/sealed/mecha/fuckphazons = AM
Expand Down
29 changes: 18 additions & 11 deletions code/modules/admin/verbs/randomverbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
else
return

/client/proc/cmd_admin_gib(mob/M in GLOB.mob_list)
/client/proc/cmd_admin_gib(mob/victim in GLOB.mob_list)
set category = "Adminbus"
set name = "Gib"

Expand All @@ -687,19 +687,23 @@ Traitors and the like can also be revived with the previous role mostly intact.
if(confirm == "Cancel" || !confirm)
return
//Due to the delay here its easy for something to have happened to the mob
if(!M)
if(!victim)
return

log_admin("[key_name(usr)] has gibbed [key_name(M)]")
message_admins("[key_name_admin(usr)] has gibbed [key_name_admin(M)]")
log_admin("[key_name(usr)] has gibbed [key_name(victim)]")
message_admins("[key_name_admin(usr)] has gibbed [key_name_admin(victim)]")

if(isobserver(M))
new /obj/effect/gibspawner/generic(get_turf(M))
if(isobserver(victim))
new /obj/effect/gibspawner/generic(get_turf(victim))
return
if(confirm == "Yes")
M.gib()
else
M.gib(1)

var/mob/living/living_victim = victim
if (istype(living_victim))
if(confirm == "Yes")
living_victim.gib()
else
living_victim.gib(TRUE)

SSblackbox.record_feedback("tally", "admin_verb", 1, "Gib") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

/client/proc/cmd_admin_gib_self()
Expand All @@ -711,7 +715,10 @@ Traitors and the like can also be revived with the previous role mostly intact.
log_admin("[key_name(usr)] used gibself.")
message_admins(span_adminnotice("[key_name_admin(usr)] used gibself."))
SSblackbox.record_feedback("tally", "admin_verb", 1, "Gib Self") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
mob.gib(1, 1, 1)

var/mob/living/ourself = mob
if (istype(ourself))
ourself.gib(TRUE, TRUE, TRUE)

/client/proc/cmd_admin_check_contents(mob/living/M in GLOB.mob_list)
set category = "Adminbus"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/antagonists/blob/blob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
button_icon_state = "blob"

/datum/action/innate/blobpop/on_activate()
var/mob/old_body = owner
var/mob/living/old_body = owner
var/datum/antagonist/blob/blobtag = owner.mind.has_antag_datum(/datum/antagonist/blob)
if(!blobtag)
Remove()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/antagonists/changeling/powers/absorb.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@



/datum/action/changeling/absorbDNA/sting_action(mob/user)
/datum/action/changeling/absorbDNA/sting_action(mob/living/user)
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
var/mob/living/carbon/human/target = user.pulling
changeling.isabsorbing = 1
Expand Down
Loading
Loading