mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-22 05:25:15 +01:00
Reverts #68155 (Fix simple mob deaths causing deadchat notifications), Fixes living level mobs being able to die while dead (#70103)
This commit is contained in:
@@ -45,7 +45,6 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/morph/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_ALERT_GHOSTS_ON_DEATH, INNATE_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
|
||||
AddElement(/datum/element/content_barfer)
|
||||
|
||||
|
||||
@@ -71,7 +71,6 @@
|
||||
AddElement(/datum/element/simple_flying)
|
||||
ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_SIXTHSENSE, INNATE_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_ALERT_GHOSTS_ON_DEATH, INNATE_TRAIT)
|
||||
|
||||
// Starting spells
|
||||
var/datum/action/cooldown/spell/night_vision/revenant/vision = new(src)
|
||||
|
||||
@@ -69,14 +69,21 @@
|
||||
* * gibbed - Was the mob gibbed?
|
||||
*/
|
||||
/mob/living/proc/death(gibbed)
|
||||
if(stat == DEAD)
|
||||
return FALSE
|
||||
|
||||
set_stat(DEAD)
|
||||
unset_machine()
|
||||
timeofdeath = world.time
|
||||
tod = station_time_timestamp()
|
||||
var/turf/T = get_turf(src)
|
||||
if(mind && mind.name && mind.active && !istype(T.loc, /area/centcom/ctf))
|
||||
if(!isanimal_or_basicmob(src) || HAS_TRAIT(src, TRAIT_ALERT_GHOSTS_ON_DEATH))
|
||||
deadchat_broadcast(" has died at <b>[get_area_name(T)]</b>.", "<b>[mind.name]</b>", follow_target = src, turf_target = T, message_type=DEADCHAT_DEATHRATTLE)
|
||||
var/turf/death_turf = get_turf(src)
|
||||
var/area/death_area = get_area(src)
|
||||
// Display a death message if the mob is a player mob (has an active mind)
|
||||
var/player_mob_check = mind && mind.name && mind.active
|
||||
// and, display a death message if the area allows it (or if they're in nullspace)
|
||||
var/valid_area_check = !death_area || !(death_area.area_flags & NO_DEATH_MESSAGE)
|
||||
if(player_mob_check && valid_area_check)
|
||||
deadchat_broadcast(" has died at <b>[get_area_name(death_turf)]</b>.", "<b>[mind.name]</b>", follow_target = src, turf_target = death_turf, message_type=DEADCHAT_DEATHRATTLE)
|
||||
if(SSlag_switch.measures[DISABLE_DEAD_KEYLOOP] && !client?.holder)
|
||||
to_chat(src, span_deadsay(span_big("Observer freelook is disabled.\nPlease use Orbit, Teleport, and Jump to look around.")))
|
||||
ghostize(TRUE)
|
||||
@@ -91,7 +98,6 @@
|
||||
med_hud_set_status()
|
||||
stop_pulling()
|
||||
|
||||
|
||||
SEND_SIGNAL(src, COMSIG_LIVING_DEATH, gibbed)
|
||||
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MOB_DEATH, src, gibbed)
|
||||
|
||||
|
||||
@@ -300,8 +300,6 @@
|
||||
var/datum/action/innate/spider/comm/not_hivemind_talk = new(src)
|
||||
not_hivemind_talk.Grant(src)
|
||||
|
||||
ADD_TRAIT(src, TRAIT_ALERT_GHOSTS_ON_DEATH, INNATE_TRAIT)
|
||||
|
||||
/datum/action/innate/spider
|
||||
icon_icon = 'icons/mob/actions/actions_animal.dmi'
|
||||
background_icon_state = "bg_alien"
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
//Gives player-controlled variants the ability to swap attacks
|
||||
/mob/living/simple_animal/hostile/asteroid/elite/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_ALERT_GHOSTS_ON_DEATH, INNATE_TRAIT)
|
||||
for(var/action_type in attack_action_types)
|
||||
var/datum/action/innate/elite_attack/attack_action = new action_type()
|
||||
attack_action.Grant(src)
|
||||
|
||||
@@ -88,7 +88,6 @@
|
||||
ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_NO_FLOATING_ANIM, INNATE_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_HEALS_FROM_CARP_RIFTS, INNATE_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_ALERT_GHOSTS_ON_DEATH, INNATE_TRAIT)
|
||||
AddElement(/datum/element/content_barfer)
|
||||
small_sprite = new
|
||||
small_sprite.Grant(src)
|
||||
|
||||
Reference in New Issue
Block a user