From c8b1fd08deca54edfea07b277bc1e188b8de495c Mon Sep 17 00:00:00 2001 From: cloroxygen Date: Fri, 16 May 2014 11:36:23 -0400 Subject: [PATCH] 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 --- .../effects/decals/Cleanable/humans.dm | 14 + code/game/objects/items/toys.dm | 33 ++ code/modules/clothing/glasses/glasses.dm | 9 + code/modules/clothing/masks/gasmask.dm | 8 + code/modules/virus2/effect.dm | 461 +++++++++++++++++- 5 files changed, 513 insertions(+), 12 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index d8ab92f3d53..e9b602043bc 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -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) + ..() + + diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 31e8e7dc6eb..7655de69577 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -406,6 +406,39 @@ viewers(user) << "[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide." 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 */ diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 9a74f545e96..1b777e0f24f 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -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." diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 47362ed8a2e..708e0e977fe 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -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." diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 2a4eb67cec0..d0e793a3882 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -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 << " Your body burns as your cells break down." + 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 << "A chunk of meat falls off you!" + 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 << " Your necrotic skin ruptures!" + + + 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 << " A massive amount of flesh sloughs off your bones!" + 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 << " A toxic gas emanates from your pores!" + 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,iYou feel a little horse!" + + +/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 << "Your clothing fits a little tighter!!" + 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 << "Your chin and neck itch!." + 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 << "[pick("Your stomach rumbles strangely.", "You feel like you're going shit your pants any second now!")]" + + else + mob.visible_message("[mob] 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 << "You are glowing!" + + + ////////////////////////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 << " Mucous runs down the back of your throat." /datum/disease2/effect/drool name = "Saliva Effect" @@ -432,17 +852,34 @@ activate(var/mob/living/carbon/mob,var/multiplier) mob << " Your head hurts a bit" -/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 << "[pick("Your stomach rumbles strangely.", "You feel like you're going shit your pants any second now!")]" + mob << "Your skin itches!" - else - mob.visible_message("[mob] 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 << "You feel drained." + +/datum/disease2/effect/eyewater + name = "Watery Eyes" + stage = 1 + activate(var/mob/living/carbon/mob,var/multiplier) + mob << "" + +/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 << " You feel optimistic!" + mob.reagents.add_reagent("tricordazine", 1)