From 45fc5352031c8901f6f4348abd410c6281c5588b Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 5 May 2016 00:46:04 -0400 Subject: [PATCH 1/6] A Few More Disease and Reagents --- code/datums/diseases/gbs.dm | 14 ++++- code/datums/diseases/kuru.dm | 51 +++++++++++++++++++ code/datums/diseases/vampire.dm | 34 +++++++++++++ code/datums/uplink_item.dm | 2 +- code/game/gamemodes/vampire/vampire_powers.dm | 6 +-- .../mob/living/carbon/human/human_movement.dm | 2 + code/modules/mob/living/life.dm | 6 ++- code/modules/mob/living/living.dm | 4 +- code/modules/mob/mob_defines.dm | 1 + code/modules/reagents/newchem/disease.dm | 43 +++++++++++++++- code/modules/reagents/newchem/medicine.dm | 1 + .../reagent_containers/food/snacks.dm | 2 +- .../reagent_containers/glass/bottle.dm | 2 +- paradise.dme | 2 + 14 files changed, 159 insertions(+), 11 deletions(-) create mode 100644 code/datums/diseases/kuru.dm create mode 100644 code/datums/diseases/vampire.dm diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm index 64079f0fddc..8ba67750c06 100644 --- a/code/datums/diseases/gbs.dm +++ b/code/datums/diseases/gbs.dm @@ -38,4 +38,16 @@ if(prob(50)) affected_mob.gib() else - return \ No newline at end of file + return + +/datum/disease/gbs/curable + name = "Non-Contagious GBS" + stage_prob = 5 + spread_text = "Non-Contagious" + spread_flags = SPECIAL + cure_text = "Cryoxadone" + cures = list("cryoxadone") + cure_chance = 10 + agent = "gibbis" + spread_flags = NON_CONTAGIOUS + disease_flags = CURABLE \ No newline at end of file diff --git a/code/datums/diseases/kuru.dm b/code/datums/diseases/kuru.dm new file mode 100644 index 00000000000..67cfd3e8693 --- /dev/null +++ b/code/datums/diseases/kuru.dm @@ -0,0 +1,51 @@ +/datum/disease/kuru + name = "Space Kuru" + max_stages = 4 + stage_prob = 5 + spread_text = "Non-Contagious" + spread_flags = SPECIAL + cure_text = "Incurable" + agent = "Prions" + viable_mobtypes = list(/mob/living/carbon/human) + desc = "Uncontrollable laughing." + severity = BIOHAZARD + spread_flags = NON_CONTAGIOUS + +/datum/disease/kuru/stage_act() + ..() + switch(stage) + if(1) + if(prob(50)) + affected_mob.emote("laugh") + if(prob(50)) + affected_mob.Jitter(25) + if(2) + if (prob(50)) + affected_mob.visible_message("[affected_mob] laughs uncontrollably!") + affected_mob.Stun(10) + affected_mob.Weaken(10) + affected_mob.Jitter(250) + affected_mob.drop_l_hand() + affected_mob.drop_r_hand() + if(3) + if(prob(25)) + to_chat(affected_mob, "You feel like you are about to drop dead!") + to_chat(affected_mob, "Your body convulses painfully!") + affected_mob.drop_l_hand() + affected_mob.drop_r_hand() + affected_mob.adjustBruteLoss(5) + affected_mob.adjustOxyLoss(5) + affected_mob.Stun(10) + affected_mob.Weaken(10) + affected_mob.Jitter(250) + affected_mob.visible_message("[affected_mob] laughs uncontrollably!") + if(4) + if(prob(25)) + to_chat(affected_mob, "You feel like you are going to die!") + affected_mob.adjustOxyLoss(75) + affected_mob.adjustBruteLoss(75) + affected_mob.drop_l_hand() + affected_mob.drop_r_hand() + affected_mob.Stun(10) + affected_mob.Weaken(10) + affected_mob.visible_message("[affected_mob] laughs uncontrollably!") \ No newline at end of file diff --git a/code/datums/diseases/vampire.dm b/code/datums/diseases/vampire.dm new file mode 100644 index 00000000000..dbcc9bbb3c0 --- /dev/null +++ b/code/datums/diseases/vampire.dm @@ -0,0 +1,34 @@ +/datum/disease/vampire + name = "Grave Fever" + max_stages = 3 + stage_prob = 5 + spread_text = "Non-Contagious" + spread_flags = SPECIAL + cure_text = "Antibiotics" + cures = list("spaceacillin") + agent = "Grave Dust" + cure_chance = 20 + viable_mobtypes = list(/mob/living/carbon/human) + severity = DANGEROUS + disease_flags = CURABLE + spread_flags = NON_CONTAGIOUS + +/datum/disease/vampire/stage_act() + ..() + var/toxdamage = stage * 2 + var/stuntime = stage * 2 + + if(prob(10)) + affected_mob.emote(pick("cough","groan", "gasp")) + affected_mob.losebreath++ + + if(prob(15)) + if(prob(33)) + to_chat(affected_mob, "You feel sickly and weak.") + affected_mob.slowed += 3 + affected_mob.adjustToxLoss(toxdamage) + + if(prob(5)) + to_chat(affected_mob, "Your joints ache horribly!") + affected_mob.Weaken(stuntime) + affected_mob.Stun(stuntime) \ No newline at end of file diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index f6295599199..cc3c176ec17 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -302,7 +302,7 @@ var/list/uplink_items = list() reference = "TPB" item = /obj/item/weapon/reagent_containers/glass/bottle/traitor cost = 2 - job = list("Scientist","Research Director","Chief Medical Officer","Medical Doctor","Psychiatrist","Chemist","Paramedic","Virologist","Bartender") + job = list("Research Director","Chief Medical Officer","Medical Doctor","Psychiatrist","Paramedic","Virologist","Bartender") // DANGEROUS WEAPONS diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index a7e470ef056..bc7ba9276f5 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -192,8 +192,8 @@ /obj/effect/proc_holder/spell/vampire/targetted/disease name = "Diseased Touch (100)" - desc = "Touches your victim with infected blood giving them appendicitis, which will, left untreated, cause a slow death by poison." - gain_desc = "You have gained the Diseased Touch ability which causes those you touch to die unless treated medically." + desc = "Touches your victim with infected blood giving them Grave Fever, which will, left untreated, causes toxic building and frequent collapsing." + gain_desc = "You have gained the Diseased Touch ability which causes those you touch to become weak unless treated medically." action_icon_state = "vampire_disease" required_blood = 100 @@ -204,7 +204,7 @@ if(!affects(target)) to_chat(usr, "They seem to be unaffected.") continue - var/datum/disease/D = new /datum/disease/appendicitis //someone should probably make a better virus for this + var/datum/disease/D = new /datum/disease/vampire target.ForceContractDisease(D) /obj/effect/proc_holder/spell/vampire/mob_aoe/glare diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 5278f0cc723..d44bfbbb27f 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -12,6 +12,8 @@ if(embedded_flag) handle_embedded_objects() //Moving with objects stuck in you can cause bad times. + if(slowed) + tally += 10 var/health_deficiency = (maxHealth - health + staminaloss) if(reagents) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 7e70e3a613f..c3c64c1c696 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -111,6 +111,7 @@ handle_slurring() handle_paralysed() handle_sleeping() + handle_slowed() /mob/living/proc/handle_stunned() @@ -160,7 +161,10 @@ clear_alert("asleep") return sleeping - +/mob/living/proc/handle_slowed() + if(slowed) + slowed = max(slowed-1, 0) + return slowed /mob/living/proc/handle_disabilities() //Eyes diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index dd47a9cbcb6..e9647d0e82a 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -333,7 +333,7 @@ C.unEquip(C.legcuffed) C.legcuffed = initial(C.legcuffed) C.update_inv_legcuffed() - + if(C.reagents) for(var/datum/reagent/R in C.reagents.reagent_list) C.reagents.clear_reagents() @@ -358,12 +358,14 @@ SetParalysis(0) SetStunned(0) SetWeakened(0) + slowed = 0 losebreath = 0 dizziness = 0 jitteriness = 0 confused = 0 drowsyness = 0 radiation = 0 + druggy = 0 nutrition = 400 bodytemperature = 310 sdisabilities = 0 diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 8b4b39e006a..bc09aa11a1b 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -98,6 +98,7 @@ var/paralysis = 0.0 var/stunned = 0.0 var/weakened = 0.0 + var/slowed = 0 var/losebreath = 0.0//Carbon var/intent = null//Living var/shakecamera = 0 diff --git a/code/modules/reagents/newchem/disease.dm b/code/modules/reagents/newchem/disease.dm index be1672434e4..edc6d4487fd 100644 --- a/code/modules/reagents/newchem/disease.dm +++ b/code/modules/reagents/newchem/disease.dm @@ -63,8 +63,8 @@ ..() /datum/reagent/salmonella - name = "Salmonella " - id = "salmonella " + name = "Salmonella" + id = "salmonella" description = "A nasty bacteria found in spoiled food." reagent_state = LIQUID color = "#1E4600" @@ -74,6 +74,45 @@ M.ForceContractDisease(new /datum/disease/food_poisoning(0)) ..() +/datum/reagent/gibbis + name = "Gibbis" + id = "gibbis" + description = "Liquid gibbis." + reagent_state = LIQUID + color = "#FF0000" + +/datum/reagent/gibbis/on_mob_life(var/mob/living/carbon/M as mob) + if(!M) M = holder.my_atom + if(volume > 2.5) + M.ForceContractDisease(new /datum/disease/gbs/curable(0)) + ..() + +/datum/reagent/prions + name = "Prions" + id = "prions" + description = "A disease-causing agent that is neither bacterial nor fungal nor viral and contains no genetic material." + reagent_state = LIQUID + color = "#FFFFFF" + +/datum/reagent/prions/on_mob_life(var/mob/living/carbon/M as mob) + if(!M) M = holder.my_atom + if(volume > 4.5) + M.ForceContractDisease(new /datum/disease/kuru(0)) + ..() + +/datum/reagent/grave_dust + name = "Grave Dust" + id = "grave_dust" + description = "Moldy old dust taken from a grave site." + reagent_state = LIQUID + color = "#465046" + +/datum/reagent/grave_dust/on_mob_life(var/mob/living/carbon/M as mob) + if(!M) M = holder.my_atom + if(volume > 4.5) + M.ForceContractDisease(new /datum/disease/vampire(0)) + ..() + /datum/reagent/spore name = "Blob Spores" id = "spore" diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm index bc319a9b6bd..aca5897735c 100644 --- a/code/modules/reagents/newchem/medicine.dm +++ b/code/modules/reagents/newchem/medicine.dm @@ -800,6 +800,7 @@ datum/reagent/stimulants/on_mob_life(var/mob/living/M as mob) M.adjustBruteLoss(-10*REM) M.adjustFireLoss(-10*REM) M.setStaminaLoss(0) + M.slowed = 0 M.dizziness = max(0,M.dizziness-10) M.drowsyness = max(0,M.drowsyness-10) M.confused = 0 diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index e2c8b5f0670..c72cc0a41f8 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -787,7 +787,7 @@ New() ..() reagents.add_reagent("nutriment", 6) - reagents.add_reagent("mannitol", 6) + reagents.add_reagent("prions", 10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/ghostburger diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index 3079a5286ec..b6d28e41276 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -299,7 +299,7 @@ New() ..() - reagents.add_reagent(pick("polonium","initropidril","concentrated_initro","pancuronium","sodium_thiopental","ketamine","sulfonal","amanitin","coniine","curare","sarin","histamine","venom","cyanide","spidereggs","nanomachines"), 40) + reagents.add_reagent(pick("polonium","initropidril","concentrated_initro","pancuronium","sodium_thiopental","ketamine","sulfonal","amanitin","coniine","curare","sarin","histamine","venom","cyanide","spidereggs","nanomachines","gibbis","prions"), 40) /obj/item/weapon/reagent_containers/glass/bottle/plasma name = "plasma dust bottle" diff --git a/paradise.dme b/paradise.dme index 11e0b205f71..ea5ff12f619 100644 --- a/paradise.dme +++ b/paradise.dme @@ -223,12 +223,14 @@ #include "code\datums\diseases\fluspanish.dm" #include "code\datums\diseases\food_poisoning.dm" #include "code\datums\diseases\gbs.dm" +#include "code\datums\diseases\kuru.dm" #include "code\datums\diseases\magnitis.dm" #include "code\datums\diseases\pierrot_throat.dm" #include "code\datums\diseases\retrovirus.dm" #include "code\datums\diseases\rhumba_beat.dm" #include "code\datums\diseases\transformation.dm" #include "code\datums\diseases\tuberculosis.dm" +#include "code\datums\diseases\vampire.dm" #include "code\datums\diseases\wizarditis.dm" #include "code\datums\diseases\advance\advance.dm" #include "code\datums\diseases\advance\presets.dm" From d8375f09f2d2da8fb5dda0ca482c5308fa6ec208 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 5 May 2016 07:13:25 -0400 Subject: [PATCH 2/6] initro, why not --- code/modules/reagents/newchem/toxins.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm index 4c7f75829e0..ae8b80ac1cd 100644 --- a/code/modules/reagents/newchem/toxins.dm +++ b/code/modules/reagents/newchem/toxins.dm @@ -397,6 +397,15 @@ ..() return +/datum/chemical_reaction/initropidril + name = "Initropidril" + id = "initropidril" + result = "initropidril" + required_reagents = list("crank" = 1, "histamine" = 1, "krokodil" = 1, "bath_salts" = 1, "atropine" = 1, "nicotine" = 1, "morphine" = 1) + result_amount = 4 + mix_message = "A sweet and sugary scent drifts from the unpleasant milky substance." + + /datum/reagent/concentrated_initro name = "Concentrated Initropidril" id = "concentrated_initro" From 1facb7a397777aa35de58974786f19209167a224 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 5 May 2016 19:50:29 -0400 Subject: [PATCH 3/6] love and hugs --- code/game/objects/items/toys.dm | 3 ++ code/modules/reagents/newchem/other.dm | 46 ++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 6a863bcc60f..25ade73eb38 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -949,6 +949,9 @@ obj/item/toy/cards/deck/syndicate/black /obj/item/toy/plushie/attack(mob/M as mob, mob/user as mob) playsound(loc, poof_sound, 20, 1) // Play the whoosh sound in local area + if(iscarbon(M)) + if(prob(10)) + M.reagents.add_reagent("hugs", 10) return ..() /obj/item/toy/plushie/attack_self(mob/user as mob) diff --git a/code/modules/reagents/newchem/other.dm b/code/modules/reagents/newchem/other.dm index c26d8bbe983..7ef7dff6ff5 100644 --- a/code/modules/reagents/newchem/other.dm +++ b/code/modules/reagents/newchem/other.dm @@ -351,6 +351,52 @@ datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob) required_reagents = list("sodium" = 1, "hydrogen" = 1, "oxygen" = 1) result_amount = 3 +/datum/reagent/hugs + name = "Pure hugs" + id = "hugs" + description = "Hugs, in liquid form. Yes, the concept of a hug. As a liquid. This makes sense in the future." + reagent_state = LIQUID + color = "#FF97B9" + +/datum/reagent/love + name = "Pure love" + id = "love" + description = "What is this emotion you humans call \"love?\" Oh, it's this? This is it? Huh, well okay then, thanks." + reagent_state = LIQUID + color = "#FF83A5" + +/datum/reagent/love/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) + to_chat(M, "You feel loved!") + +/datum/reagent/love/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + + if(M.a_intent == I_HARM) + M.a_intent = I_HELP + + if(prob(8)) + var/lovely_phrase = pick("appreciated", "loved", "pretty good", "really nice", "pretty happy with yourself, even though things haven't always gone as well as they could") + to_chat(M, "You feel [lovely_phrase].") + + else if(!M.restrained()) + for(var/mob/living/carbon/C in orange(1, M)) + if(C) + if(C == M) + continue + if(!C.stat) + M.visible_message("[M] gives [C] a [pick("hug","warm embrace")].") + playsound(get_turf(M), 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + break + ..() + +/datum/chemical_reaction/love + name = "pure love" + id = "love" + result = "love" + required_reagents = list("hugs" = 1, "chocolate" = 1) + result_amount = 2 + mix_message = "The substance gives off a lovely scent!" + ///Alchemical Reagents datum/reagent/eyenewt From 38278e2f58d200e74633f5a2cd8dc37022d1ce61 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 5 May 2016 22:50:46 -0400 Subject: [PATCH 4/6] random drugs --- code/game/objects/items/contraband.dm | 30 +- .../reagent_containers/glass/bottle.dm | 2 +- strings/chemistry_tools.json | 473 ++++++++++++++++++ 3 files changed, 489 insertions(+), 16 deletions(-) create mode 100644 strings/chemistry_tools.json diff --git a/code/game/objects/items/contraband.dm b/code/game/objects/items/contraband.dm index 22eb55e150e..8bc5b265466 100644 --- a/code/game/objects/items/contraband.dm +++ b/code/game/objects/items/contraband.dm @@ -29,35 +29,35 @@ new /obj/item/weapon/reagent_containers/food/pill/zoom( src ) new /obj/item/weapon/reagent_containers/food/pill/zoom( src ) - /obj/item/weapon/reagent_containers/food/pill/random_drugs name = "pill" - desc = "" + desc = "A cocktail of illicit designer drugs, who knows what might be in here." /obj/item/weapon/reagent_containers/food/pill/random_drugs/New() ..() icon_state = "pill" + pick("2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20") - name = pick("lunar","vorpal","hardcore","willow", "void","loopy","electro", "cyber","heavy", "ninja", "hydro", "blue", "red", "green", "purple", "strong", "divine","carp" ,"deadly","dead","vicious" ,"wild" ,"demon", "chill", "solid", "liquid", "crazy", "super", "hyper", "space", "wizard", "rainbow", "star", "turbo", "prism", "sticky") + " " + pick("jack","zero","null","beat","nip","bubbles" ,"ice","medicine","venom","shock","solar" ,"spice" ,"shredder", "heart" , "heat", "pill","hopper","scum","fruit", "bolt", "deck", "butter", "runoff", "grease", "flair", "sweat", "zone", "blast") + name = "[pick_list("chemistry_tools.json", "CYBERPUNK_drug_prefixes")] [pick_list("chemistry_tools.json", "CYBERPUNK_drug_suffixes")]" - reagents.add_reagent(pick("pancuronium","neurotoxin","frostoil", "toxin","morphine", "carpotoxin", "hippiesdelight","methamphetamine","haloperidol" , "hydrocodone", "psilocybin", "lsd", "capsaicin", "space_drugs" , "epinephrine", "serotrotium"), pick(5,7,10,13,15)) - reagents.add_reagent(pick("pancuronium","neurotoxin","frostoil", "toxin","morphine", "carpotoxin", "hippiesdelight","methamphetamine","haloperidol" ,"hydrocodone", "psilocybin", "lsd", "capsaicin", "space_drugs" , "epinephrine", "serotrotium"), pick(5,7,10,13,15)) - reagents.add_reagent(pick("pancuronium","neurotoxin","frostoil", "toxin","morphine", "carpotoxin", "hippiesdelight","methamphetamine","haloperidol" , "hydrocodone", "psilocybin", "lsd", "capsaicin", "space_drugs" , "epinephrine", "serotrotium"), pick(5,7,10,13,15)) + var/primaries = rand(1,3) + var/adulterants = rand(2,4) + + while(primaries > 0) + primaries-- + reagents.add_reagent(pick_list("chemistry_tools.json", "CYBERPUNK_drug_primaries"), 6) + while(adulterants > 0) + adulterants-- + reagents.add_reagent(pick_list("chemistry_tools.json", "CYBERPUNK_drug_adulterants"), 3) /obj/item/weapon/storage/pill_bottle/random_drug_bottle - name = "odd pill bottle" - desc = "You're not sure if you trust the contents of this bottle..." + name = "pill bottle (???)" + desc = "Huh." /obj/item/weapon/storage/pill_bottle/random_drug_bottle/New() ..() - new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src ) - new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src ) - new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src ) - new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src ) - new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src ) - new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src ) - new /obj/item/weapon/reagent_containers/food/pill/random_drugs( src ) + for(var/i in 1 to 5) + new /obj/item/weapon/reagent_containers/food/pill/random_drugs(src) diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index b6d28e41276..ca4b15fc211 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -299,7 +299,7 @@ New() ..() - reagents.add_reagent(pick("polonium","initropidril","concentrated_initro","pancuronium","sodium_thiopental","ketamine","sulfonal","amanitin","coniine","curare","sarin","histamine","venom","cyanide","spidereggs","nanomachines","gibbis","prions"), 40) + reagents.add_reagent(pick_list("chemistry_tools.json", "traitor_poison_bottle"), 40) /obj/item/weapon/reagent_containers/glass/bottle/plasma name = "plasma dust bottle" diff --git a/strings/chemistry_tools.json b/strings/chemistry_tools.json new file mode 100644 index 00000000000..fa154959992 --- /dev/null +++ b/strings/chemistry_tools.json @@ -0,0 +1,473 @@ +{ + "CYBERPUNK_drug_prefixes": [ + "ace", + "acid", + "android", + "angel", + "arse", + "astro", + "atomic", + "azimuth", + "bandit", + "base", + "bear", + "big", + "bit", + "blood", + "blue", + "bog", + "borg", + "bronx", + "buffalo", + "butterfly", + "cactus", + "cancer", + "cat", + "chaos", + "cherub", + "cloud", + "crazy", + "creamy", + "crispy", + "cryo", + "crypto", + "crystal", + "cyber", + "dad's", + "dank", + "dapper", + "dead", + "death", + "deep", + "demon", + "desert", + "devil", + "discharge", + "disco", + "dog", + "dragon", + "duck", + "electro", + "evil", + "exo", + "exotic", + "farty", + "flux", + "flying", + "freak", + "freckle", + "fusion", + "gentlemen's", + "george", + "ghost", + "giga", + "glow", + "goon", + "grandma's", + "hardcore", + "harlem", + "heather", + "heavenly", + "hell", + "hungry", + "hydro", + "ice", + "india", + "iron", + "jazz", + "jelly", + "jersey", + "jungle", + "knockout", + "liquid", + "loony", + "loopy", + "lucky", + "lunar", + "macro", + "mad", + "magic", + "mama's", + "mars", + "marsh", + "mega", + "meteor", + "micro", + "monday", + "monkey", + "moon", + "motor", + "mountain", + "murder", + "naughty", + "necro", + "neon", + "nice", + "night", + "ninja", + "nuke", + "omega", + "omni", + "pain", + "paranoid", + "plasma", + "prism", + "puffer", + "puffy", + "quirky", + "racist", + "rainbow", + "red", + "rift", + "rock", + "rough", + "samurai", + "scan", + "secret", + "shitty", + "sick", + "sicknasty", + "silver", + "sine", + "skull", + "sky", + "slime", + "slimy", + "smooth", + "solar", + "solid", + "space", + "special", + "spotty", + "star", + "sticky", + "stray", + "swamp", + "tachyon", + "tech", + "techno", + "troll", + "turbo", + "turkey", + "uber", + "ultra", + "uncle's", + "uncle", + "unicorn", + "vacuum", + "vampire", + "vile", + "viral", + "void", + "volcano", + "vorpal", + "watt", + "wicked", + "willow", + "wizard", + "wobbly", + "yellow", + "zesty", + "zeta", + "zip", + "zone", + "parrot" + ], + "CYBERPUNK_drug_suffixes": [ + "2000", + "420", + "9", + "99", + "aftershave", + "balls", + "bang", + "bass", + "beans", + "beat", + "beep", + "bees", + "biscuits", + "bit", + "blit", + "blot", + "blue", + "bones", + "boop", + "booster", + "brawn", + "bread", + "bright", + "bubbles", + "bullet", + "burgers", + "butter", + "buttons", + "buzz", + "byte", + "ceramique", + "chasers", + "cheese", + "chill", + "chizz", + "clap", + "coins", + "cooking", + "crack", + "crush", + "dark", + "data", + "diablo", + "dreck", + "drool", + "drugs", + "dust", + "eels", + "eggs", + "fire", + "flash", + "flux", + "giblets", + "goblins", + "gold", + "goop", + "grease", + "green", + "grinder", + "gunge", + "hammer", + "hash", + "hog", + "hook", + "hounds", + "ice", + "ink", + "itch", + "jack", + "jane", + "jerks", + "jones", + "junk", + "kick", + "lasagne", + "lightning", + "lock", + "max", + "meat", + "medicine", + "melons", + "milk", + "mollies", + "mondays", + "music", + "nine", + "nip", + "nuggets", + "nugs", + "null", + "particulars", + "pepper", + "pies", + "ping", + "poofs", + "pot", + "powder", + "puffs", + "punch", + "quake", + "quarks", + "red", + "reef", + "riot", + "ripper", + "runoff", + "saliva", + "sass", + "saturdays", + "sauce", + "scum", + "shaker", + "shank", + "shit", + "shock", + "shredder", + "slurm", + "smash", + "smoke", + "smokes", + "smuds", + "snap", + "snow", + "spank", + "spice", + "spit", + "stank", + "stealth", + "sticks", + "sting", + "stink", + "sundays", + "sushi", + "tango", + "tears", + "theta", + "torpedo", + "tuber", + "turbo", + "volts", + "wafers", + "wave", + "weed", + "white", + "wiggle", + "wisps", + "zap", + "zero", + "zeta", + "zip" + ], + "CYBERPUNK_drug_primaries": [ + "bath_salts", + "crank", + "krokodil", + "methamphetamine", + "lsd", + "psilocybin", + "space_drugs", + "thc", + "jenkem", + "nicotine", + "haloperidol", + "ephedrine", + "epinephrine", + "omnizine", + "morphine", + "ketamine", + "diphenhydramine" + ], + "CYBERPUNK_drug_adulterants": [ + "mercury", + "lithium", + "plasma", + "fuel", + "itching_powder", + "capsaicin", + "histamine", + "ethanol", + "diethylamine", + "atrazine", + "clf3", + "aluminum", + "sugar", + "soybeanoil", + "hydrogenated_soybeanoil", + "phlogiston", + "cryostylane", + "toxin", + "neurotoxin2", + "sulfur", + "saltpetre", + "cyanide", + "formaldehyde", + "sacid", + "facid", + "lipolicide", + "mutagen", + "pancuronium", + "radium", + "uranium", + "polonium", + "sodium_thiopental", + "triplepiss", + "hairgrownium", + "iron", + "sulfonal", + "glowing_slurry", + "toxic_slurry", + "carpet", + "oil", + "ammonia", + "acetone", + "ectoplasm", + "fungus", + "cleaner", + "blood", + "ash", + "synthflesh", + "toiletwater", + "porktonium", + "corn_starch", + "corn_syrup", + "vhfcs", + "gravy", + "msg", + "egg", + "????", + "suicider", + "moonshine", + "prions", + "grave_dust", + "nanomachines", + "chlorine", + "fluorine" + ], + "CYBERPUNK_drug_adulterants_safe": [ + "mercury", + "lithium", + "plasma", + "fuel", + "capsaicin", + "ethanol", + "diethylamine", + "atrazine", + "aluminum", + "sugar", + "soybeanoil", + "phlogiston", + "cryostylane", + "sulfur", + "saltpetre", + "lipolicide", + "triplepiss", + "hairgrownium", + "iron", + "sulfonal", + "carpet", + "oil", + "ammonia", + "acetone", + "ectoplasm", + "fungus", + "cleaner", + "blood", + "ash", + "synthflesh", + "toiletwater", + "corn_starch", + "corn_syrup", + "gravy", + "msg", + "egg", + "????", + "chlorine", + "fluorine" + ], + "traitor_poison_bottle": [ + "sarin", + "cyanide", + "sulfonal", + "initropidril", + "coniine", + "venom", + "ketamine", + "amanitin", + "polonium", + "curare", + "pancuronium", + "sodium_thiopental", + "gibbis", + "nanomachines", + "prions", + "spidereggs", + "concentrated_initro" + ] +} \ No newline at end of file From 52bc145c17e748736e737805cb0be0150d88d9b3 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 6 May 2016 03:43:31 -0400 Subject: [PATCH 5/6] botany and more reagents --- code/modules/hydroponics/seed_datums.dm | 2 +- code/modules/reagents/newchem/disease.dm | 18 +++++++++ code/modules/reagents/newchem/drinks.dm | 50 ++++++++++++++++++++++++ code/modules/reagents/newchem/food.dm | 41 +++++++++++++++++++ strings/chemistry_tools.json | 3 +- 5 files changed, 112 insertions(+), 2 deletions(-) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index beadb53c4af..59f54e52d65 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -40,7 +40,7 @@ seed_name = "ghost pepper" display_name = "ghost pepper plants" mutants = null - chems = list("capsaicin" = list(8,2), "condensedcapsaicin" = list(4,4), "plantmatter" = list(1,50)) + chems = list("capsaicin" = list(8,2), "condensedcapsaicin" = list(4,4), "ghostchilijuice" = list(4,4), "plantmatter" = list(1,50)) kitchen_tag = "ghostchili" preset_icon = "ghostchilipepper" diff --git a/code/modules/reagents/newchem/disease.dm b/code/modules/reagents/newchem/disease.dm index edc6d4487fd..aa0a2db6ae0 100644 --- a/code/modules/reagents/newchem/disease.dm +++ b/code/modules/reagents/newchem/disease.dm @@ -113,6 +113,24 @@ M.ForceContractDisease(new /datum/disease/vampire(0)) ..() +/datum/reagent/heartworms + name = "Space heartworms" + id = "heartworms" + description = "Aww, gross! These things can't be good for your heart. They're gunna eat it!" + reagent_state = SOLID + color = "#925D6C" + +/datum/reagent/heartworms/on_mob_life(var/mob/living/carbon/M as mob) + if(!M) M = holder.my_atom + if(volume > 4.5) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + var/obj/item/organ/internal/heart/ate_heart = H.get_int_organ(/obj/item/organ/internal/heart) + if(ate_heart) + ate_heart.remove(H) + qdel(ate_heart) + ..() + /datum/reagent/spore name = "Blob Spores" id = "spore" diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index 323bb24e832..01920c617c3 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -67,6 +67,56 @@ mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' +/datum/reagent/ethanol/dragons_breath + name = "Dragon's Breath" + id = "dragonsbreath" + description = "Possessing this stuff probably breaks the Geneva convention." + reagent_state = LIQUID + color = "#DC0000" + alcohol_perc = 1 + +/datum/reagent/ethanol/dragons_breath/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) + if(method == INGEST && prob(20)) + if(M.on_fire) + M.adjust_fire_stacks(3) + +/datum/reagent/ethanol/dragons_breath/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(M.reagents.has_reagent("milk")) + to_chat(M, "The milk stops the burning. Ahhh.") + M.reagents.del_reagent("milk") + M.reagents.del_reagent("dragonsbreath") + return + if(prob(8)) + to_chat(M, "Oh god! Oh GODD!!") + if(prob(50)) + to_chat(M, "Your throat burns terribly!") + M.emote(pick("scream","cry","choke","gasp")) + M.Stun(1) + if(prob(8)) + to_chat(M, "Why!? WHY!?") + if(prob(8)) + to_chat(M, "ARGHHHH!") + if(prob(2 * volume)) + to_chat(M, "OH GOD OH GOD PLEASE NO!!") + if(M.on_fire) + M.adjust_fire_stacks(5) + if(prob(50)) + to_chat(M, "IT BURNS!!!!") + M.visible_message("[M] is consumed in flames!") + M.dust() + return + ..() + +/datum/chemical_reaction/dragons_breath + name = "Dragon's Breath" + id = "dragonsbreath" + result = "dragonsbreath" + required_reagents = list("whiskey" = 1, "phlogiston" = 1, "pyrosium" = 1, "fuel" = 1, "ghostchilijuice"= 1) + result_amount = 1 + mix_message = "A tiny mushroom cloud erupts from the container. That's not worrying at all!" + mix_sound = 'sound/effects/meteorimpact.ogg' + // ROBOT ALCOHOL PAST THIS POINT // WOOO! diff --git a/code/modules/reagents/newchem/food.dm b/code/modules/reagents/newchem/food.dm index e86ed8a2b11..e8b5ed3f681 100644 --- a/code/modules/reagents/newchem/food.dm +++ b/code/modules/reagents/newchem/food.dm @@ -601,3 +601,44 @@ datum/reagent/pepperoni/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vol if(!H.heart_attack) H.heart_attack = 1 ..() + +/datum/reagent/ghost_chili_juice + name = "Ghost chili juice" + id = "ghostchilijuice" + description = "Juice from the universe's hottest chilli. Do not consume." + reagent_state = LIQUID + color = "#FF7F32" + +/datum/reagent/ghost_chili_juice/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + if(M.reagents.has_reagent("milk")) + to_chat(M, "The milk stops the burning. Ahhh.") + M.reagents.del_reagent("milk") + M.reagents.del_reagent("ghostchilijuice") + return + if(prob(8)) + to_chat(M, "Oh god! Oh GODD!!") + if(prob(50)) + to_chat(M, "Your throat burns furiously!") + M.emote(pick("scream","cry","choke","gasp")) + M.Stun(1) + if(prob(8)) + to_chat(M, "Why!? WHY!?") + if(prob(8)) + to_chat(M, "ARGHHHH!") + if(prob(33)) + M.visible_message("[M] suddenly and violently vomits!") + M.fakevomit(no_text = 1) + to_chat(M, "Thank goodness. You're not sure how long you could have held out with heat that intense!") + M.reagents.del_reagent("ghostchilijuice") + return + if(prob(10)) + to_chat(M, "OH GOD OH GOD PLEASE NO!!") + if(M.on_fire) + M.adjust_fire_stacks(5) + if(prob(50)) + to_chat(M, "IT BURNS!!!!") + M.visible_message("[M] is consumed in flames!") + M.dust() + return + ..() \ No newline at end of file diff --git a/strings/chemistry_tools.json b/strings/chemistry_tools.json index fa154959992..28bfe60010b 100644 --- a/strings/chemistry_tools.json +++ b/strings/chemistry_tools.json @@ -468,6 +468,7 @@ "nanomachines", "prions", "spidereggs", - "concentrated_initro" + "concentrated_initro", + "heartworms" ] } \ No newline at end of file From 7838d1b1476b5603b849b2fcf0a135b917dc8e3e Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 6 May 2016 18:02:09 -0400 Subject: [PATCH 6/6] living slowed --- code/modules/mob/living/living.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index e9647d0e82a..175f3d186c4 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -828,3 +828,11 @@ butcher_results.Remove(path) //In case you want to have things like simple_animals drop their butcher results on gib, so it won't double up below. visible_message("[user] butchers [src].") gib() + +/mob/living/movement_delay() + var/tally = 0 + + if(slowed) + tally += 10 + + return tally \ No newline at end of file