diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 64af3bc94d..67eb33277a 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -109,6 +109,7 @@ A.symptoms += S.Copy() A.properties = properties.Copy() A.id = id + A.mutable = mutable //this is a new disease starting over at stage 1, so processing is not copied return A @@ -166,13 +167,10 @@ var/the_id = GetDiseaseID() if(!SSdisease.archive_diseases[the_id]) - if(new_name) - AssignName() SSdisease.archive_diseases[the_id] = src // So we don't infinite loop SSdisease.archive_diseases[the_id] = Copy() - - var/datum/disease/advance/A = SSdisease.archive_diseases[the_id] - name = A.name + if(new_name) + AssignName() //Generate disease properties based on the effects. Returns an associated list. /datum/disease/advance/proc/GenerateProperties() diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 032e828aad..1f818b442e 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -826,7 +826,7 @@ //returns 1 to let the dragdrop code know we are trapping this event //returns 0 if we don't plan to trap the event -/datum/admins/proc/cmd_ghost_drag(mob/dead/observer/frommob, mob/living/tomob) +/datum/admins/proc/cmd_ghost_drag(mob/dead/observer/frommob, mob/tomob) //this is the exact two check rights checks required to edit a ckey with vv. if (!check_rights(R_VAREDIT,0) || !check_rights(R_SPAWN|R_DEBUG,0)) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 07e7fe826c..f03ca135d1 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -288,8 +288,16 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(response != "Ghost") return //didn't want to ghost after-all ghostize(0) //0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3 - return +/mob/camera/verb/ghost() + set category = "OOC" + set name = "Ghost" + set desc = "Relinquish your life and enter the land of the dead." + + var/response = alert(src, "Are you -sure- you want to ghost?\n(You are alive. If you ghost whilst still alive you may not play again this round! You can't change your mind so choose wisely!!)","Are you sure you want to ghost?","Ghost","Stay in body") + if(response != "Ghost") + return + ghostize(0) /mob/dead/observer/Move(NewLoc, direct) if(updatedir) @@ -634,7 +642,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/MouseDrop(atom/over) if(!usr || !over) return - if (isobserver(usr) && usr.client.holder && isliving(over)) + if (isobserver(usr) && usr.client.holder && (isliving(over) || iscameramob(over)) ) if (usr.client.holder.cmd_ghost_drag(src,over)) return diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 00a3f0effd..c6ca72ad4a 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -57,7 +57,7 @@ if(istype(D, /datum/disease/advance)) var/datum/disease/advance/A = D var/disease_name = SSdisease.get_disease_name(A.GetDiseaseID()) - if(disease_name == "Unknown" && A.mutable) + if((disease_name == "Unknown") && A.mutable) this["can_rename"] = TRUE this["name"] = disease_name this["is_adv"] = TRUE