- Slightly rewrote the diseases. Spreading, stage updates, etc. Check the diffs if you want details.

- Fixed wizarditis teleport lagggggg

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@339 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
panurgomatic
2010-10-21 03:23:10 +00:00
parent fa12986b97
commit c0c940db6a
27 changed files with 369 additions and 301 deletions
+2
View File
@@ -10,10 +10,12 @@
name = "Unidentified Foreign Body"
max_stages = 5
spread = "None"
spread_type = SPECIAL
cure = "Unknown"
cure_id = list("lexorin","toxin","gargleblaster")
cure_chance = 20
affected_species = list("Human", "Monkey")
permeability_mod = 3//likely to infect
/datum/disease/alien_embryo/stage_act()
..()
+5 -2
View File
@@ -1,13 +1,16 @@
/datum/disease/brainrot
name = "Brainrot"
max_stages = 4
spread = "Airborne"
spread = "On contact"
spread_type = CONTACT_GENERAL
cure = "Spaceacillin & Alkysine"
cure_id = list("alkysine","spaceacillin")
agent = "Cryptococcus Cosmosis"
affected_species = list("Human")
curable = 0
cure_chance = 10
cure_chance = 15//higher chance to cure, since two reagents are required
desc = "This disease destroys the braincells, causing brain fever, brain necrosis and general intoxication."
severity = "Major"
/datum/disease/brainrot/stage_act() //Removed toxloss because damaging diseases are pretty horrible. Last round it killed the entire station because the cure didn't work -- Urist
..()
+12 -12
View File
@@ -2,11 +2,13 @@
name = "The Cold"
max_stages = 3
spread = "Airborne"
cure = "Rest"
cure = "spaceacillin"
cure = "Rest & Spaceacillin"
cure_id = "spaceacillin"
agent = "XY-rhinovirus"
affected_species = list("Human", "Monkey")
permeability_mod = -10
permeability_mod = 0.5
desc = "If left untreated the subject will contract the flu."
severity = "Minor"
/datum/disease/cold/stage_act()
..()
@@ -14,13 +16,11 @@
if(2)
if(affected_mob.sleeping && prob(40))
affected_mob << "\blue You feel better."
affected_mob.resistances += affected_mob.virus.type
affected_mob.virus = null
affected_mob.virus.cure()
return
if(prob(1) && prob(10))
affected_mob << "\blue You feel better."
affected_mob.resistances += affected_mob.virus.type
affected_mob.virus = null
affected_mob.virus.cure()
return
if(prob(1))
affected_mob.emote("sneeze")
@@ -33,13 +33,11 @@
if(3)
if(affected_mob.sleeping && prob(25))
affected_mob << "\blue You feel better."
affected_mob.resistances += affected_mob.virus.type
affected_mob.virus = null
affected_mob.virus.cure()
return
if(prob(1) && prob(10))
affected_mob << "\blue You feel better."
affected_mob.resistances += affected_mob.virus.type
affected_mob.virus = null
affected_mob.virus.cure()
if(prob(1))
affected_mob.emote("sneeze")
if(prob(1))
@@ -49,4 +47,6 @@
if(prob(1))
affected_mob << "\red Mucous runs down the back of your throat."
if(prob(1) && prob(50))
affected_mob.contract_disease(new /datum/disease/flu)
var/datum/disease/Flu = new /datum/disease/flu
affected_mob.contract_disease(Flu,1)
del(Flu)
+5 -2
View File
@@ -1,7 +1,8 @@
/datum/disease/dnaspread
name = "Space Retrovirus"
max_stages = 4
spread = "Airborne"
spread = "On contact"
spread_type = CONTACT_GENERAL
cure = "Ryetalin"
cure = "ryetalyn"
curable = 0
@@ -9,6 +10,8 @@
affected_species = list("Human")
var/list/original_dna = list()
var/transformed = 0
desc = "This disease transplants the genetic code of the intial vector into new hosts."
severity = "Medium"
/datum/disease/dnaspread/stage_act()
@@ -32,7 +35,7 @@
if(4)
if(!src.transformed)
if ((!strain_data["name"]) || (!strain_data["UI"]) || (!strain_data["SE"]))
affected_mob.virus = null
del(affected_mob.virus)
return
//Save original dna for when the disease is cured.
+4 -1
View File
@@ -1,11 +1,14 @@
/datum/disease/fake_gbs
name = "GBS"
max_stages = 5
spread = "Airborne"
spread = "On contact"
spread_type = CONTACT_GENERAL
cure = "Synaptizine & Sulfur"
cure_id = list("synaptizine","sulfur")
agent = "Gravitokinetic Bipotential SADS-"
affected_species = list("Human")
desc = "If left untreated death will occur."
severity = "Major"
/datum/disease/fake_gbs/stage_act()
..()
+4 -2
View File
@@ -4,10 +4,12 @@
spread = "Airborne"
cure = "Spaceacillin"
cure_id = "spaceacillin"
cure_chance = 10
agent = "H13N1 flu virion"
affected_species = list("Human")
curable = 0
permeability_mod = -5
permeability_mod = 0.75
desc = "If left untreated the subject will feel quite unwell."
severity = "Medium"
/datum/disease/flu/stage_act()
..()
+2 -1
View File
@@ -1,7 +1,8 @@
/datum/disease/gbs
name = "GBS"
max_stages = 5
spread = "Airborne"
spread = "On contact"
spread_type = CONTACT_GENERAL
cure = "Synaptizine & Sulfur"
cure_id = list("synaptizine","sulfur")
agent = "Gravitokinetic Bipotential SADS+"
+5 -2
View File
@@ -2,6 +2,9 @@
name = "Jungle Fever"
max_stages = 1
cure = "None"
spread = "Airborne"
spread = "Bites"
spread_type = SPECIAL
affected_species = list("Monkey")
curable = 0
curable = 0
desc = "Monkies with this disease will bite humans, causing humans to spontaneously mutate into a monkey."
severity = "Medium"
+3
View File
@@ -7,6 +7,9 @@
agent = "Fukkos Miracos"
affected_species = list("Human")
curable = 0
permeability_mod = 0.75
desc = "This disease disrupts the magnetic field of your body, making it act as if a powerful magnet. Injections of iron help stabilize the field."
severity = "Medium"
/datum/disease/magnitis/stage_act()
..()
@@ -4,9 +4,12 @@
name = "Robotic Transformation"
max_stages = 5
spread = "Syringe"
spread_type = SPECIAL
cure = "None"
agent = "R2D2 Nanomachines"
affected_species = list("Human")
desc = "This disease, actually acute nanomachine infection, converts the victim into a cyborg."
severity = "Major"
/datum/disease/robotic_transformation/stage_act()
..()
+82 -62
View File
@@ -7,7 +7,9 @@
agent = "Rincewindus Vulgaris"
affected_species = list("Human")
curable = 0
permeability_mod = -5
permeability_mod = 0.75
desc = "Some speculate, that this virus is the cause of Wizard Federation existance. Subjects affected show the signs of mental retardation, yelling obscure sentences or total gibberish. On late stages subjects sometime express the feelings of inner power, and, cite, 'the ability to control the forces of cosmos themselves!' A gulp of strong, manly spirits usually reverts them to normal, humanlike, condition."
severity = "Minor"
/*
BIRUZ BENNAR
@@ -24,7 +26,7 @@ STI KALY - blind
switch(stage)
if(2)
if(prob(4))
affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", ""))
affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!"))
if(prob(2))
affected_mob << "\red You feel [pick("that you don't have enough mana.", "that the winds of magic are gone.", "an urge to summon familiar.")]"
@@ -43,70 +45,88 @@ STI KALY - blind
return
if(prob(2))
affected_mob << "\red You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")]."
/* if(prob(5))
if(prob(5))
teleport()
var/list/theareas = new/list()
for(var/area/AR in world)
if(theareas.Find(AR)) continue
var/turf/picked = pick(get_area_turfs(AR.type))
if (picked.z == affected_mob.z)
theareas += AR
var/area/thearea = pick(theareas)
affected_mob.say("SCYAR NILA [uppertext(thearea.name)]")
var/datum/effects/system/harmless_smoke_spread/smoke = new /datum/effects/system/harmless_smoke_spread()
smoke.set_up(5, 0, affected_mob.loc)
smoke.attach(affected_mob)
smoke.start()
var/list/L = list()
for(var/turf/T in get_area_turfs(thearea.type))
if(T.z != affected_mob.z) continue
if(!T.density)
var/clear = 1
for(var/obj/O in T)
if(O.density)
clear = 0
break
if(clear)
L+=T
affected_mob.loc = pick(L)
smoke.start()
//Apparently it created a lagspike every time it was called -- Urist
return */
return
/datum/disease/wizarditis/proc/spawn_wizard_clothes(var/chance=5)
var/mob/living/carbon/human/H = affected_mob
if(prob(chance))
if(!istype(H.head, /obj/item/clothing/head/wizard))
if(H.head)
H.drop_from_slot(H.head)
H.head = new /obj/item/clothing/head/wizard(H)
H.head.layer = 20
return
if(prob(chance))
if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe))
if(H.wear_suit)
H.drop_from_slot(H.wear_suit)
H.wear_suit = new /obj/item/clothing/suit/wizrobe(H)
H.wear_suit.layer = 20
return
if(prob(chance))
if(!istype(H.shoes, /obj/item/clothing/shoes/sandal))
if(H.shoes)
H.drop_from_slot(H.shoes)
H.shoes = new /obj/item/clothing/shoes/sandal(H)
H.shoes.layer = 20
return
if(prob(chance))
if(!istype(H.r_hand, /obj/item/weapon/staff))
if(H.r_hand)
H.drop_from_slot(H.r_hand)
H.r_hand = new /obj/item/weapon/staff(H)
H.r_hand.layer = 20
return
if(istype(affected_mob, /mob/living/carbon/human))
var/mob/living/carbon/human/H = affected_mob
if(prob(chance))
if(!istype(H.head, /obj/item/clothing/head/wizard))
if(H.head)
H.drop_from_slot(H.head)
H.head = new /obj/item/clothing/head/wizard(H)
H.head.layer = 20
return
if(prob(chance))
if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe))
if(H.wear_suit)
H.drop_from_slot(H.wear_suit)
H.wear_suit = new /obj/item/clothing/suit/wizrobe(H)
H.wear_suit.layer = 20
return
if(prob(chance))
if(!istype(H.shoes, /obj/item/clothing/shoes/sandal))
if(H.shoes)
H.drop_from_slot(H.shoes)
H.shoes = new /obj/item/clothing/shoes/sandal(H)
H.shoes.layer = 20
return
else
var/mob/living/carbon/H = affected_mob
if(prob(chance))
if(!istype(H.r_hand, /obj/item/weapon/staff))
if(H.r_hand)
H.drop_from_slot(H.r_hand)
H.r_hand = new /obj/item/weapon/staff(H)
H.r_hand.layer = 20
return
return
/datum/disease/wizarditis/proc/teleport()
/*
var/list/theareas = new/list()
for(var/area/AR in world)
if(theareas.Find(AR)) continue
var/turf/picked = pick(get_area_turfs(AR.type)
if (picked && picked.z == affected_mob.z)
theareas += AR
var/area/thearea = pick(theareas)
*/
var/list/theareas = new/list()
for(var/area/AR in orange(80, affected_mob))
if(theareas.Find(AR)) continue
theareas += AR
var/area/thearea = pick(theareas)
var/datum/effects/system/harmless_smoke_spread/smoke = new /datum/effects/system/harmless_smoke_spread()
smoke.set_up(5, 0, affected_mob.loc)
smoke.attach(affected_mob)
smoke.start()
var/list/L = list()
for(var/turf/T in get_area_turfs(thearea.type))
if(T.z != affected_mob.z) continue
if(!T.density)
var/clear = 1
for(var/obj/O in T)
if(O.density)
clear = 0
break
if(clear)
L+=T
affected_mob.say("SCYAR NILA [uppertext(thearea.name)]!")
affected_mob.loc = pick(L)
smoke.start()
//Apparently it created a lagspike every time it was called -- Urist
return
@@ -4,6 +4,7 @@
name = "Xenomorph Transformation"
max_stages = 5
spread = "Syringe"
spread_type = SPECIAL
cure = "None"
agent = "Rip-LEY Alien Microbes"
affected_species = list("Human")