21 viro symptoms

Im an idiot that cant use github edition

Conflicts:
	code/game/objects/effects/decals/Cleanable/humans.dm
	code/modules/virus2/effect.dm
This commit is contained in:
cloroxygen
2014-05-16 11:36:23 -04:00
committed by ZomgPonies
parent e7d4c1db14
commit c8b1fd08de
5 changed files with 513 additions and 12 deletions

View File

@@ -384,3 +384,17 @@
spawn(DRYING_TIME * 2)
dry=1
/obj/effect/decal/cleanable/blood/viralsputum
name = "viral sputum"
desc = "It's black and nasty."
// basecolor="#030303"
icon = 'icons/mob/robots.dmi'
icon_state = "floor1"
random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7")
Del()
for(var/datum/disease/D in viruses)
D.cure(0)
..()

View File

@@ -406,6 +406,39 @@
viewers(user) << "<span class='suicide'>[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide.</span>"
return (BRUTELOSS|OXYLOSS)
/*
* Snap pops viral shit
*/
/obj/item/toy/snappop/virus
name = "unstable goo"
desc = "Your palm is oozing this stuff!"
icon = 'icons/mob/slimes.dmi'
icon_state = "red slime extract"
throwforce = 30.0
throw_speed = 10
throw_range = 30
w_class = 1
throw_impact(atom/hit_atom)
..()
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
new /obj/effect/decal/cleanable/ash(src.loc)
src.visible_message("\red The [src.name] explodes!","\red You hear a bang!")
playsound(src, 'sound/effects/snap.ogg', 50, 1)
del(src)
/*
* Snap pops
*/

View File

@@ -90,6 +90,15 @@
item_state = "sunglasses"
darkness_view = -1
/obj/item/clothing/glasses/virussunglasses
desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes."
name = "sunglasses"
icon_state = "sun"
item_state = "sunglasses"
darkness_view = -1
/obj/item/clothing/glasses/welding
name = "welding goggles"
desc = "Protects the eyes from welders, approved by the mad scientist association."

View File

@@ -105,6 +105,14 @@
M << "Your Clown Mask has now morphed into [choice], all praise the Honk Mother!"
return 1
/obj/item/clothing/mask/gas/virusclown_hat
name = "clown wig and mask"
desc = "A true prankster's facial attire. A clown is incomplete without his wig and mask."
icon_state = "clown"
item_state = "clown_hat"
/obj/item/clothing/mask/gas/sexyclown
name = "sexy-clown wig and mask"
desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."

View File

@@ -72,6 +72,8 @@
activate(var/mob/living/carbon/mob,var/multiplier)
return
////////////////////////STAGE 4/////////////////////////////////
/datum/disease2/effect/gibbingtons
@@ -158,6 +160,9 @@
for (var/datum/organ/external/C in E.children)
C.status &= ~ORGAN_DEAD
/datum/disease2/effect/immortal
name = "Longevity Syndrome"
stage = 4
@@ -223,6 +228,182 @@
for (var/datum/organ/external/E in H.organs)
E.min_broken_damage = initial(E.min_broken_damage)
/datum/disease2/effect/scc
name = "Spontaneous Cellular Collapse"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
//
var/mob/living/carbon/human/H = mob
mob.reagents.add_reagent("pacid", 10)
mob << "<span class = 'warning'> Your body burns as your cells break down.</span>"
shake_camera(mob,5*multiplier)
for (var/datum/organ/external/E in H.organs)
if(pick(1,0))
//
E.createwound(CUT, pick(2,4,6,8,10))
E.fracture()
/datum/disease2/effect/necrosis
name = "Necrosis"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
//
var/mob/living/carbon/human/H = mob
//
var/inst = pick(1,2,3)
switch(inst)
if(1)
mob << "<span class = 'warning'>A chunk of meat falls off you!</span>"
var/totalslabs = 1
var/obj/item/weapon/reagent_containers/food/snacks/meat/allmeat[totalslabs]
if( istype(mob, /mob/living/carbon/human/) )
//
var/sourcename = mob.real_name
var/sourcejob = mob.job
var/sourcenutriment = mob.nutrition / 15
//var/sourcetotalreagents = mob.reagents.total_volume
for(var/i=1 to totalslabs)
var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat = new
newmeat.name = sourcename + newmeat.name
newmeat.subjectname = sourcename
newmeat.subjectjob = sourcejob
newmeat.reagents.add_reagent("nutriment", sourcenutriment / totalslabs) // Thehehe. Fat guys go first
//src.occupant.reagents.trans_to(newmeat, round (sourcetotalreagents / totalslabs, 1)) // Transfer all the reagents from the
allmeat[i] = newmeat
var/obj/item/meatslab = allmeat[i]
var/turf/Tx = locate(mob.x, mob.y, mob.z)
meatslab.loc = mob.loc
meatslab.throw_at(Tx,i,3)
if (!Tx.density)
new /obj/effect/decal/cleanable/blood/gibs(Tx,i)
if(2)
//mob << "\red i dont think i need this here"
for (var/datum/organ/external/E in H.organs)
if(pick(1,0))
E.droplimb(1)
if(3)
if(H.species.name != "Skellington")
mob << "<span class = 'warning'> Your necrotic skin ruptures!</span>"
for (var/datum/organ/external/E in H.organs)
if(pick(1,0))
E.createwound(CUT, pick(2,4,6,8,10))
if(prob(30))
//
if(H.species.name != "Skellington")
if(H.set_species("Skellington"))
mob << "<span class = 'warning'> A massive amount of flesh sloughs off your bones!</span>"
H.regenerate_icons()
else
return
/datum/disease2/effect/fizzle
name = "Fizzle Effect"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
mob.emote("me",1,pick("sniffles...", "clears their throat..."))
/datum/disease2/effect/spawn
name = "Arachnogenesis Effect"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
//var/mob/living/carbon/human/H = mob
var/placemob = locate(mob.x + pick(1,-1), mob.y, mob.z)
playsound(mob.loc, 'sound/effects/splat.ogg', 50, 1)
new /mob/living/simple_animal/hostile/giant_spider/hunter(placemob)
mob.emote("me",1,"vomits up a live spider!")
/datum/disease2/effect/orbweapon
name = "Biolobulin Effect"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
//
var/obj/item/toy/snappop/virus = new /obj/item/toy/snappop/virus
mob.equip_to_slot(virus, slot_l_hand)
/obj/item/clothing/mask/gas/virusclown_hat
dropped(mob/user as mob)
canremove = 1
..()
equipped(var/mob/user, var/slot)
if (slot == slot_l_hand)
canremove = 1 //curses!
..()
/datum/disease2/effect/plasma
name = "Toxin Sublimation"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
//var/src = mob
var/hack = mob.loc
var/turf/simulated/T = get_turf(hack)
if(!T)
return
var/datum/gas_mixture/GM = new
if(prob(10))
GM.toxins += 100
//GM.temperature = 1500+T0C //should be enough to start a fire
mob << "\red You exhale a large plume of toxic gas!"
else
GM.toxins += 10
GM.temperature = istype(T) ? T.air.temperature : T20C
mob << "<span class = 'warning'> A toxic gas emanates from your pores!</span>"
T.assume_air(GM)
return
////////////////////////STAGE 3/////////////////////////////////
/datum/disease2/effect/toxins
name = "Hyperacidity"
stage = 3
@@ -311,6 +492,161 @@
var/iter = rand(1,2)
for(i=0,i<iter,i++)
step_towards(S,mob)
/datum/disease2/effect/sweat
name = "Hyper-perspiration Effect"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
if(prob(30))
mob.emote("me",1,"is sweating profusely!")
if(istype(mob.loc,/turf/simulated))
var/turf/simulated/T = mob.loc
if(T.wet < 1)
T.wet = 1
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor")
T.overlays += T.wet_overlay
spawn(800)
if (istype(T) && T.wet < 2)
T.wet = 0
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
/datum/disease2/effect/elvis
name = "Elvisism"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
//
var/obj/item/clothing/glasses/virussunglasses = new /obj/item/clothing/glasses/virussunglasses
mob.equip_to_slot(virussunglasses, slot_glasses)
mob.confused += 10
if(pick(0,1))
mob.say(pick("Uh HUH!", "Thank you, Thank you very much...", "I ain't nothin' but a hound dog!", "Swing low, sweet chariot!"))
else
mob.emote("me",1,pick("curls his lip!", "gyrates his hips!", "thrusts his hips!"))
if(istype(mob, /mob/living/carbon/human))
var/mob/living/carbon/human/H = mob
if(H.species.name == "Human" && !(H.f_style == "Pompadour"))
spawn(50)
H.h_style = "Pompadour"
H.update_hair()
if(H.species.name == "Human" && !(H.f_style == "Elvis Sideburns"))
spawn(50)
H.f_style = "Elvis Sideburns"
H.update_hair()
/obj/item/clothing/glasses/virussunglasses
dropped(mob/user as mob)
canremove = 1
..()
equipped(var/mob/user, var/slot)
if (slot == slot_glasses)
canremove = 0 //curses!
..()
/datum/disease2/effect/pthroat
name = "Pierrot's Throat"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
//
var/obj/item/clothing/mask/gas/virusclown_hat = new /obj/item/clothing/mask/gas/virusclown_hat
mob.equip_to_slot(virusclown_hat, slot_wear_mask)
mob.reagents.add_reagent("psilocybin", 20)
mob.say(pick("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk..."))
/obj/item/clothing/mask/gas/virusclown_hat
dropped(mob/user as mob)
canremove = 1
..()
equipped(var/mob/user, var/slot)
if (slot == slot_wear_mask)
canremove = 0 //curses!
..()
var/list/compatible_mobs = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
/datum/disease2/effect/horsethroat
name = "Horse Throat"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
if(!(mob.type in compatible_mobs))
return
var/obj/item/clothing/mask/horsehead/magic/magichead = new /obj/item/clothing/mask/horsehead/magic
mob.equip_to_slot(magichead, slot_wear_mask)
mob << "<span class='warning'>You feel a little horse!</span>"
/obj/item/clothing/mask/horsehead/magic
//flags_inv = null //so you can still see their face... no. How can you recognize someone when their face is completely different?
voicechange = 1 //NEEEEIIGHH
dropped(mob/user as mob)
canremove = 1
..()
equipped(var/mob/user, var/slot)
if (slot == slot_wear_mask)
canremove = 0 //curses!
..()
/datum/disease2/effect/spaceadapt
name = "Space Adaptation Effect"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
var/mob/living/carbon/human/H = mob
mob.reagents.add_reagent("dexalinp", 200)
mob.reagents.add_reagent("leporazine", 200)
mob.reagents.add_reagent("bicaridine", 200)
mob.reagents.add_reagent("dermaline", 200)
mob.emote("me",1,"exhales slowly.")
var/datum/organ/external/chest/chest = H.get_organ("chest")
for(var/datum/organ/internal/I in chest.internal_organs)
I.damage = 0
////////////////////////STAGE 2/////////////////////////////////
/datum/disease2/effect/scream
@@ -387,6 +723,90 @@
if (mob.reagents.get_reagent_amount("ethanol") < 325)
mob.reagents.add_reagent("ethanol", 5*multiplier)
/datum/disease2/effect/gaben
name = "Gaben Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
mob << "<span class='notice'>Your clothing fits a little tighter!!</span>"
if (prob(10))
mob.reagents.add_reagent("nutriment", 1000)
mob.overeatduration = 1000
/datum/disease2/effect/beard
name = "Bearding"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
if(istype(mob, /mob/living/carbon/human))
var/mob/living/carbon/human/H = mob
if(H.species.name == "Human" && !(H.f_style == "Full Beard"))
H << "<span class='warning'>Your chin and neck itch!.</span>"
spawn(50)
H.f_style = "Full Beard"
H.update_hair()
/datum/disease2/effect/poop
name = "Uncontrollable Bowel Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
if (prob(50))
mob << "<span class='notice'>[pick("Your stomach rumbles strangely.", "You feel like you're going shit your pants any second now!")]</span>"
else
mob.visible_message("<B>[mob]</B> has explosive diarrhea all over the floor!")
mob.nutrition -= 20
mob.adjustToxLoss(-3)
var/obj/effect/decal/cleanable/poop/P = new(get_turf(mob))
P.virus2 = virus_copylist(mob.virus2)
playsound(P.loc, 'sound/effects/splat.ogg', 50, 1)
/datum/disease2/effect/bloodynose
name = "Intranasal Hemorrhage"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
if (prob(30))
var/obj/effect/decal/cleanable/blood/D= locate(/obj/effect/decal/cleanable/blood) in get_turf(mob)
if(D==null)
D = new(get_turf(mob))
D.virus2 |= virus_copylist(mob.virus2)
/datum/disease2/effect/viralsputum
name = "Respiratory Putrification"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
if (prob(30))
mob.say("*cough")
var/obj/effect/decal/cleanable/blood/viralsputum/D= locate(/obj/effect/decal/cleanable/blood/viralsputum) in get_turf(mob)
if(D==null)
D = new(get_turf(mob))
D.virus2 |= virus_copylist(mob.virus2)
/datum/disease2/effect/lantern
name = "Lantern Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
mob.SetLuminosity(4)
mob << "<span class = 'notice'>You are glowing!</span>"
////////////////////////STAGE 1/////////////////////////////////
/datum/disease2/effect/sneeze
@@ -412,7 +832,7 @@
name = "Flemmingtons"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
mob << "\red Mucous runs down the back of your throat."
mob << "<span class = 'notice'> Mucous runs down the back of your throat.</span>"
/datum/disease2/effect/drool
name = "Saliva Effect"
@@ -432,17 +852,34 @@
activate(var/mob/living/carbon/mob,var/multiplier)
mob << "<span class = 'notice'> Your head hurts a bit</span>"
/datum/disease2/effect/poop
name = "Uncontrollable Bowel Syndrome"
/datum/disease2/effect/itching
name = "Itching"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
if (prob(50))
mob << "<span class='notice'>[pick("Your stomach rumbles strangely.", "You feel like you're going shit your pants any second now!")]</span>"
mob << "<span class='warning'>Your skin itches!</span>"
else
mob.visible_message("<B>[mob]</B> has explosive diarrhea all over the floor!")
mob.nutrition -= 20
mob.adjustToxLoss(-3)
var/obj/effect/decal/cleanable/poop/P = new(get_turf(mob))
P.virus2 = virus_copylist(mob.virus2)
playsound(P.loc, 'sound/effects/splat.ogg', 50, 1)
/datum/disease2/effect/drained
name = "Drained Feeling"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
mob << "<span class='warning'>You feel drained.</span>"
/datum/disease2/effect/eyewater
name = "Watery Eyes"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
mob << "<span class='warning'Your eyes sting and water!</span>"
/datum/disease2/effect/wheeze
name = "Wheezing"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
mob.emote("me",1,"wheezes.")
/datum/disease2/effect/optimistic
name = "Full Glass Syndrome"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
mob << "<span class = 'notice'> You feel optimistic!</span>"
mob.reagents.add_reagent("tricordazine", 1)