Revenant Respawn Timer Fix (#11018)

This commit is contained in:
Geeves
2021-01-20 14:37:14 +01:00
committed by GitHub
parent 14ec3264d2
commit 404706cb02
9 changed files with 32 additions and 8 deletions
+4 -6
View File
@@ -87,12 +87,7 @@
healths.icon_state = "health7"
timeofdeath = world.time
if (isanimal(src))
set_death_time(ANIMAL, world.time)
else if (ispAI(src) || isDrone(src))
set_death_time(MINISYNTH, world.time)
else if (isliving(src))
set_death_time(CREW, world.time)//Crew is the fallback
set_respawn_time()
if(mind)
mind.store_memory("Time of death: [worldtime2text()]", 0)
living_mob_list -= src
@@ -105,6 +100,9 @@
return 1
/mob/proc/set_respawn_time()
return
/mob/proc/exit_vr()
// If we have a remotely controlled mob, we come back to our body to die properly
if(vr_mob)
@@ -266,4 +266,10 @@
return
var/datum/D = mind.antag_datums[antag_role]
if(D)
return D
return D
/mob/living/carbon/human/set_respawn_time()
if(species?.respawn_type)
set_death_time(species.respawn_type, world.time)
else
set_death_time(CREW, world.time)
@@ -55,6 +55,7 @@
blood_color = "#0084b8"
flesh_color = "#0071db"
respawn_type = ANIMAL
remains_type = /obj/effect/decal/cleanable/ash
death_message = "dissolves into ash..."
death_message_range = 7
@@ -90,6 +90,7 @@
var/natural_climbing = FALSE //If true, the species always succeeds at climbing.
var/climb_coeff = 1.25 //The coefficient to the climbing speed of the individual = 60 SECONDS * climb_coeff
// Death vars.
var/respawn_type = CREW
var/meat_type = /obj/item/reagent_containers/food/snacks/meat/human
var/gibber_type = /obj/effect/gibspawner/human
var/single_gib_type = /obj/effect/decal/cleanable/blood/gibs
+3
View File
@@ -1012,3 +1012,6 @@ default behaviour is:
/mob/living/proc/add_hallucinate(var/amount)
hallucination += amount
hallucination += amount
/mob/living/set_respawn_time()
set_death_time(CREW, world.time)
@@ -539,5 +539,8 @@
var/selection = input(src, "Choose an icon for you card.") in pai_emotions
card.setEmotion(pai_emotions[selection])
/mob/living/silicon/pai/set_respawn_time()
set_death_time(MINISYNTH, world.time)
/obj/item/device/radio/pai
canhear_range = 0 // only people on their tile
@@ -467,6 +467,9 @@
return dat
/mob/living/silicon/robot/drone/set_respawn_time()
set_death_time(MINISYNTH, world.time)
/mob/living/silicon/robot/drone/construction/Initialize()
. = ..()
var/turf/T = get_turf(src)
@@ -502,4 +505,4 @@
for(var/mob/living/silicon/robot/drone/D in mob_list)
if(D.key && D.client)
drones++
return drones >= config.max_maint_drones
return drones >= config.max_maint_drones
@@ -825,6 +825,9 @@ mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj)
else
return /obj/effect/gibspawner/generic
/mob/living/simple_animal/set_respawn_time()
set_death_time(ANIMAL, world.time)
#undef BLOOD_NONE
#undef BLOOD_LIGHT
#undef BLOOD_MEDIUM