Fixed hopefully last respawn issues.

This commit is contained in:
ZomgPonies
2013-11-29 15:31:37 -05:00
parent b982bba1e6
commit c0d9391b74
6 changed files with 17 additions and 9 deletions
+4 -4
View File
@@ -99,20 +99,20 @@ Growing it to term with nothing injected will grab a ghost from the observers. *
/obj/item/seeds/replicapod/proc/request_player()
for(var/mob/O in respawnable_list)
if(O.client)
message_admins("Found client for nymph")
// message_admins("Found client for nymph")
if(O.client.prefs.be_special & BE_PLANT)
message_admins("Questioning client for nymph")
// message_admins("Questioning client for nymph")
question(O.client)
/obj/item/seeds/replicapod/proc/question(var/client/C)
spawn(0)
if(!C) return
message_admins("Sending popup for nymph")
// message_admins("Sending popup for nymph")
var/response = alert(C, "Someone is harvesting a replica pod. Would you like to play as a Dionaea?", "Replica pod harvest", "Yes", "No", "Never for this round.")
if(!C || ckey)
return
if(response == "Yes")
message_admins("Transferring personality for nymph")
// message_admins("Transferring personality for nymph")
transfer_personality(C)
else if (response == "Never for this round")
C.prefs.be_special ^= BE_PLANT
+3 -3
View File
@@ -17,7 +17,7 @@
gibs(loc, viruses, dna)
dead_mob_list -= src
if(client)
if(client && !src in respawnable_list)
respawnable_list += src
spawn(15)
if(animation) del(animation)
@@ -44,7 +44,7 @@
new /obj/effect/decal/cleanable/ash(loc)
dead_mob_list -= src
if(client)
if(client && !src in respawnable_list)
respawnable_list += src
spawn(15)
if(animation) del(animation)
@@ -56,6 +56,6 @@
living_mob_list -= src
dead_mob_list += src
if(client)
if(client && !src in respawnable_list)
respawnable_list += src
return ..(gibbed)
+2 -1
View File
@@ -28,12 +28,12 @@
return
for(var/mob/V in viewers(src, null))
V.show_message(text("\blue [user] sticks \a [O] into \the [src]."))
brainmob = O:brainmob
O:brainmob = null
brainmob.loc = src
brainmob.container = src
brainmob.stat = 0
respawnable_list -= brainmob
dead_mob_list -= brainmob//Update dem lists
living_mob_list += brainmob
@@ -104,6 +104,7 @@
dropbrain(var/obj/item/brain/brain, var/turf/dropspot)
brainmob.container = null//Reset brainmob mmi var.
brainmob.loc = brain//Throw mob into brain.
respawnable_list += brainmob
living_mob_list -= brainmob//Get outta here
brain.brainmob = brainmob//Set the brain to use the brainmob
brain.brainmob.cancel_camera()
@@ -32,6 +32,7 @@
brainmob.timeofhostdeath = H.timeofdeath
if(H.mind)
H.mind.transfer_to(brainmob)
respawnable_list += brainmob
brainmob << "\blue You feel slightly disoriented. That's normal when you're just a brain."
return
@@ -86,6 +87,7 @@
M.ghostize()
if(brainmob.mind)
respawnable_list -= brainmob
brainmob.mind.transfer_to(M)
else
M.key = brainmob.key
+5 -1
View File
@@ -938,13 +938,17 @@ mob/verb/yank_out_object()
var/picked = input("Please select a creature to respawn as", "Respawn as Mindless Creature") as null|anything in creatures
switch(picked)
if("Mouse")
respawnable_list -= usr
become_mouse()
respawnable_list += usr
else
var/mob/living/simple_animal/picked_animal = picked
if(istype(picked_animal) && !picked_animal.key)
respawnable_list -= usr
picked_animal.key = key
respawnable_list += usr
else
message_admins("Failed to check type")
// message_admins("Failed to check type")
else
usr << "You are not dead or you have given up your right to be respawned!"
return
+1
View File
@@ -873,6 +873,7 @@ obj/item/weapon/organ/head/proc/transfer_identity(var/mob/living/carbon/human/H)
brainmob.dna = H.dna
if(H.mind)
H.mind.transfer_to(brainmob)
respawnable_list += brainmob
brainmob.container = src
obj/item/weapon/organ/head/attackby(obj/item/weapon/W as obj, mob/user as mob)