(resolves) Fixes #1633

This commit is contained in:
D3athrow
2015-02-17 15:05:18 -06:00
parent ed809127dc
commit 9dd8c5cafd
4 changed files with 46 additions and 1 deletions

View File

@@ -167,6 +167,7 @@ var/list/admin_verbs_debug = list(
/client/proc/make_invulnerable, /client/proc/make_invulnerable,
/client/proc/cmd_admin_dump_delprofile, /client/proc/cmd_admin_dump_delprofile,
/client/proc/mob_list, /client/proc/mob_list,
/client/proc/cure_disease,
#ifdef PROFILE_MACHINES #ifdef PROFILE_MACHINES
/client/proc/cmd_admin_dump_macprofile, /client/proc/cmd_admin_dump_macprofile,
#endif #endif

View File

@@ -1310,4 +1310,42 @@ client/proc/mob_list()
usr << msg usr << msg
if(foundnull) if(foundnull)
usr << "Found [foundnull] null entries in the mob list, running null clearer." usr << "Found [foundnull] null entries in the mob list, running null clearer."
listclearnulls(mob_list) listclearnulls(mob_list)
client/proc/cure_disease()
set name = "Cure Disease"
set category = "Debug"
if(!holder) return
var/list/disease_by_name = list("-Cure All-" = null) + disease2_list + active_diseases
var/disease_name = input(src, "Disease to cure?") as null|anything in sortTim(disease_by_name, /proc/cmp_text_asc)
if(!disease_name) return
var/count = 0
if(disease_name == "-Cure All-")
for(var/mob/living/carbon/C in mob_list)
for(var/ID in C.virus2)
if(ID && C.virus2[ID])
var/datum/disease2/disease/DD = C.virus2[ID]
DD.cure(C)
count++
for(var/datum/disease/D in C.viruses)
if(D)
D.cure(1)
count++
active_diseases -= D
else
for(var/mob/living/carbon/C in mob_list)
for(var/ID in C.virus2)
if(ID == disease_name)
var/datum/disease2/disease/DD = C.virus2[ID]
DD.cure(C)
count++
for(var/datum/disease/D in C.viruses)
if(D && D.name == disease_name)
D.cure(1)
count++
active_diseases -= D
src << "<span class='notice'>Cured [count] mob\s of [disease_name == "-Cure All-" ? "all diseases." : "[disease_name]"]</span>"
log_admin("[src]/([ckey(src.key)] Cured all mobs of [disease_name == "-Cure All-" ? "all diseases." : "[disease_name]"]")
message_admins("[src]/([ckey(src.key)] Cured all mobs of [disease_name == "-Cure All-" ? "all diseases." : "[disease_name]"]")

View File

@@ -1,3 +1,4 @@
var/global/list/disease2_list = list()
/datum/disease2/disease /datum/disease2/disease
var/infectionchance = 70 var/infectionchance = 70
var/speed = 1 var/speed = 1
@@ -17,6 +18,7 @@
/datum/disease2/disease/New(var/notes="No notes.") /datum/disease2/disease/New(var/notes="No notes.")
uniqueID = rand(0,10000) uniqueID = rand(0,10000)
log += "<br />[timestamp()] CREATED - [notes]<br>" log += "<br />[timestamp()] CREATED - [notes]<br>"
disease2_list["[uniqueID]"] = src
..() ..()
/datum/disease2/disease/proc/makerandom(var/greater=0) /datum/disease2/disease/proc/makerandom(var/greater=0)
@@ -29,6 +31,7 @@
holder.getrandomeffect() holder.getrandomeffect()
effects += holder effects += holder
uniqueID = rand(0,10000) uniqueID = rand(0,10000)
disease2_list["[uniqueID]"] = src
infectionchance = rand(60,90) infectionchance = rand(60,90)
antigen |= text2num(pick(ANTIGENS)) antigen |= text2num(pick(ANTIGENS))
antigen |= text2num(pick(ANTIGENS)) antigen |= text2num(pick(ANTIGENS))
@@ -55,7 +58,9 @@
D.log += "[f.name] [holder.chance]%<br>" D.log += "[f.name] [holder.chance]%<br>"
D.effects += holder // add the holder to the disease D.effects += holder // add the holder to the disease
disease2_list -= D.uniqueID
D.uniqueID = rand(0, 10000) D.uniqueID = rand(0, 10000)
disease2_list["[D.uniqueID]"] = D
D.infectionchance = input(C, "Choose an infection rate percent", "Infection Rate") as num D.infectionchance = input(C, "Choose an infection rate percent", "Infection Rate") as num
if(D.infectionchance > 100 || D.infectionchance < 0) if(D.infectionchance > 100 || D.infectionchance < 0)
return 0 return 0

View File

@@ -39,6 +39,7 @@
M.virus2 = disease.getcopy() M.virus2 = disease.getcopy()
M.virus2.minormutate() M.virus2.minormutate()
M.virus2.uniqueID = disease.uniqueID
for(var/datum/disease2/resistance/res in M.resistances) for(var/datum/disease2/resistance/res in M.resistances)
if(res.resistsdisease(M.virus2)) if(res.resistsdisease(M.virus2))