From d39472ead9e79d48b1571f6cc07176b08e359f47 Mon Sep 17 00:00:00 2001 From: Ian Turk Date: Mon, 5 Mar 2018 18:47:44 -0600 Subject: [PATCH 1/2] Fixed new diseases getting their old name Gave camera mobs the ghost verb --- code/datums/diseases/advance/advance.dm | 7 ++----- code/modules/mob/dead/observer/observer.dm | 10 +++++++++- code/modules/reagents/chemistry/machinery/pandemic.dm | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 64af3bc94d5..3659577c168 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -166,13 +166,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/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 96128a7f6f0..54fe67a1ed6 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -279,8 +279,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) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 00a3f0effdd..c6ca72ad4a0 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 From 276c7c86d0f5dd2021d36cecbcffad50d405d54e Mon Sep 17 00:00:00 2001 From: Ian Turk Date: Tue, 6 Mar 2018 21:05:15 -0600 Subject: [PATCH 2/2] Admins can now drag ghosts onto camera mobs like they can onto living mobs to place the ghost's client in the camera Fixed mutable var not being copied from advanced viruses --- code/datums/diseases/advance/advance.dm | 1 + code/modules/admin/admin.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 3659577c168..67eb33277ac 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 diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 5ada38bee74..8e6809d229d 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -821,7 +821,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 54fe67a1ed6..d07eee736fc 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -633,7 +633,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