From 8c92c1b25b5ff7134aec87fcf47c32bc8f9a262f Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 02:15:10 -0400 Subject: [PATCH 01/10] Adds in "slime core" reactions to xenobiology --- .../modules/reagents/Chemistry-Reagents_vr.dm | 14 + code/modules/reagents/Chemistry-Recipes_vr.dm | 388 ++++++++++++++++++ vorestation.dme | 1 + 3 files changed, 403 insertions(+) create mode 100644 code/modules/reagents/Chemistry-Reagents_vr.dm diff --git a/code/modules/reagents/Chemistry-Reagents_vr.dm b/code/modules/reagents/Chemistry-Reagents_vr.dm new file mode 100644 index 00000000000..e6bb908bb73 --- /dev/null +++ b/code/modules/reagents/Chemistry-Reagents_vr.dm @@ -0,0 +1,14 @@ +/datum/reagent/advmutationtoxin + name = "Advanced Mutation Toxin" + id = "advmutationtoxin" + description = "A corruptive toxin produced by slimes. Turns the subject of the chemical into a Promethean." + reagent_state = LIQUID + color = "#13BC5E" + +/datum/reagent/advmutationtoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species.name != "Promethean") + M << "Your flesh rapidly mutates!" + H.set_species("Promethean") + H.shapeshifter_set_colour("#05FF9B") //They can still change their color. \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index ec8d8ceb87e..8766a467fa8 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -63,3 +63,391 @@ result = "unsorbitol" required_reagents = list("mutagen" = 3, "lipozine" = 2) result_amount = 5 + + + + + + + +/////////////////////////////// +//SLIME CORES BELOW HERE/////// +/////////////////////////////// + + + +/datum/chemical_reaction/slime_food + name = "Slime Bork" + id = "m_tele2" + result = null + required_reagents = list("phoron" = 10, "slimejelly" = 10, "nutriment" = 10) + result_amount = 1 + on_reaction(var/datum/reagents/holder) + + var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/snacks) - /obj/item/weapon/reagent_containers/food/snacks // BORK BORK BORK + + playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) + + for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) + if(M:eyecheck() <= 0) + flick("e_flash", M.flash) + + for(var/i = 1, i <= 4 + rand(1,2), i++) + var/chosen = pick(borks) + var/obj/B = new chosen + if(B) + B.loc = get_turf(holder.my_atom) + if(prob(50)) + for(var/j = 1, j <= rand(1, 3), j++) + step(B, pick(NORTH,SOUTH,EAST,WEST)) + + + + +/datum/chemical_reaction/materials + name = "Slime materials" + id = "slimematerial" + result = null + required_reagents = list("phoron" = 20, "slimejelly" = 40, "aluminum" = 20) //Woah there! You have the possibility of making diamonds! 8 ground up slimes required for one of these, and you still have a 10% chance for it to fail. + result_amount = 1 + on_reaction(var/datum/reagents/holder) + var/fail_chance = rand(1,1000) + if(fail_chance == 1) // 0.1% chance of exploding, so scientists don't exclusively abuse this to obtain materials. + for(var/mob/O in viewers(get_turf(holder.my_atom), null)) + O.show_message(text("\red The solution begins to vibrate violently!"), 1) // It was at this moment, the Xenobiologist knew... he fucked up. + sleep(30) + playsound(get_turf(holder.my_atom), 'sound/items/Welder2.ogg', 100, 1) + for(var/mob/O in viewers(get_turf(holder.my_atom), null)) + O.show_message(text("\red The reaction begins to rapidly sizzle and swell outwards!!"), 1) + sleep(20) + explosion(get_turf(holder.my_atom), 0 ,4, 8) //Enough to cause severe damage in the area, but not so much that it'll instantly gib the person. + empulse(get_turf(holder.my_atom), 3, 7) //Uh oh, it produced some uranium, too! EMP blast! + return + + if(fail_chance < 101) // 10% chance of it not working at all. + playsound(get_turf(holder.my_atom), 'sound/items/Welder.ogg', 100, 1) + for(var/mob/O in viewers(get_turf(holder.my_atom), null)) + O.show_message(text("\red The slime core fizzles disappointingly."), 1) + return + + var/blocked = list(/obj/item/stack/material, /obj/item/stack/material/cyborg, /obj/item/stack/material/cyborg/plastic, /obj/item/stack/material/cyborg/plasteel, /obj/item/stack/material/cyborg/glass/reinforced, /obj/item/stack/material/cyborg/wood, /obj/item/stack/material/animalhide/human, /obj/item/stack/material/animalhide/corgi, /obj/item/stack/material/animalhide/cat, /obj/item/stack/material/animalhide/monkey, /obj/item/stack/material/animalhide/lizard , /obj/item/stack/material/animalhide/xeno, /obj/item/stack/material/cyborg, /obj/item/stack/material/cyborg/glass/reinforced) + var/list/material = typesof(/obj/item/stack/material) - blocked + + playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) + + for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) + if(M:eyecheck() <= 0) + flick("e_flash", M.flash) + + var/spawn_amount = rand(1,50) + var/chosen = pick(material) + var/obj/item/stack/material/C = new chosen + C.amount = spawn_amount + C.loc = get_turf(holder.my_atom) + + +/datum/chemical_reaction/slimelight + name = "Slime Glow" + id = "m_glow" + result = null + required_reagents = list("phoron" = 5, "slimejelly" = 5, "water" = 10) //Takes 10 water so it doesn't mess with the frost oil. + result_amount = 1 + on_reaction(var/datum/reagents/holder) + for(var/mob/O in viewers(get_turf(holder.my_atom), null)) + O.show_message(text("\red The contents of the slime core harden and begin to emit a warm, bright light."), 1) + var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime + F.loc = get_turf(holder.my_atom) + + +/datum/chemical_reaction/slimephoron + name = "Slime Phoron" + id = "m_plasma" + result = null + required_reagents = list("phoron" = 20, "uranium" = 20, "slimejelly" = 20) + result_amount = 1 + on_reaction(var/datum/reagents/holder) + var/obj/item/stack/material/phoron/P = new /obj/item/stack/material/phoron + P.amount = 10 + P.loc = get_turf(holder.my_atom) + +/datum/chemical_reaction/slimefreeze + name = "Slime Freeze" + id = "m_freeze" + result = null + required_reagents = list("phoron" = 10, "coolant" = 10, "slimejelly" = 10) + result_amount = 1 + on_reaction(var/datum/reagents/holder) + for(var/mob/O in viewers(get_turf(holder.my_atom), null)) + O.show_message(text("\red The slime extract begins to vibrate violently!"), 1) + sleep(50) + playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) + for(var/mob/living/M in range (get_turf(holder.my_atom), 7)) + M.bodytemperature -= 140 + M << "\blue You suddenly feel a chill!" + + + + +/datum/chemical_reaction/slimefrost + name = "Slime Frost Oil" + id = "m_frostoil" + result = "frostoil" + required_reagents = list("phoron" = 5, "slimejelly" = 5, "water" = 5, "coolant" = 5) + result_amount = 10 + + + + +/datum/chemical_reaction/slimefire + name = "Slime fire" + id = "m_fire" + result = null + required_reagents = list("phoron" = 15, "slimejelly" = 15, "potassium" = 15) + result_amount = 1 + on_reaction(var/datum/reagents/holder) + for(var/mob/O in viewers(get_turf(holder.my_atom), null)) + O.show_message(text("\red The slime extract begins to vibrate violently!"), 1) + sleep(50) + var/turf/location = get_turf(holder.my_atom.loc) + for(var/turf/simulated/floor/target_tile in range(0,location)) + target_tile.assume_gas("phoron", 25, 1400) + spawn (0) target_tile.hotspot_expose(700, 400) + + +/datum/chemical_reaction/slimeify + name = "Advanced Mutation Toxin" + id = "advmutationtoxin2" + result = "advmutationtoxin" + required_reagents = list("phoron" = 15, "slimejelly" = 15, "mutationtoxin" = 15) //In case a xenobiologist wants to become a fully fledged slime person. + result_amount = 1 + + + + + +/datum/chemical_reaction/slimeheal //A slime healing mixture. Why not. + name = "Slime Health" + id = "slimeheal" + result = "null" + required_reagents = list("phoron" = 10, "bicaridine" = 10, "kelotane" = 10, "inaprovaline" = 10, "slimejelly" = 10) + on_reaction(var/datum/reagents/holder, var/created_volume) + for (var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null)) + C << "\blue A wave of energy suddenly invigorates you." + C.adjustBruteLoss(-25) + C.adjustFireLoss(-25) + C.adjustToxLoss(-25) + C.adjustOxyLoss(-25) + C.adjustBrainLoss(-25) + C.adjustCloneLoss(-25) + C.updatehealth() + +/datum/chemical_reaction/slimejelly + name = "Slime Jam" + id = "m_jam" + result = "slimejelly" + required_reagents = list("phoron" = 20, "sugar" = 50, "lithium" = 50) //In case a xenobiologist is impatient and is willing to drain their dispenser resources, along with plasma! + result_amount = 5 + + + + + +/datum/chemical_reaction/slimevore + name = "Slime Vore" // Hostile vore mobs only + id = "m_tele" + result = null + required_reagents = list("phoron" = 20, "nutriment" = 20, "sugar" = 20, "mutationtoxin" = 20) //Can't do slime jelly as it'll conflict with another, but mutation toxin will do. + result_amount = 1 + on_reaction(var/datum/reagents/holder) + + var/blocked = list( + /mob/living/simple_animal/hostile/vore/mimic, + /mob/living/simple_animal/hostile/vore/mimic/copy, + /mob/living/simple_animal/hostile/vore/mimic/crate, + /mob/living/simple_animal/hostile/vore/alien/queen/large + )//exclusion list for things you don't want the reaction to create. + var/list/critters = typesof(/mob/living/simple_animal/hostile/vore) - blocked // list of possible hostile mobs + + playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) + + for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) + if(M:eyecheck() <= 0) + flick("e_flash", M.flash) + + var/spawn_count = rand(1,3) + for(var/i = 1, i <= spawn_count, i++) + var/chosen = pick(critters) + var/mob/living/simple_animal/hostile/C = new chosen + C.faction = "slimesummon" + C.loc = get_turf(holder.my_atom) + if(prob(50)) + for(var/j = 1, j <= rand(1, 3), j++) + step(C, pick(NORTH,SOUTH,EAST,WEST)) + + + + + + + + + + +//Someone can work on this at a later time. +/* +/datum/chemical_reaction/slimehostile + name = "Slime Crit" // Hostile mobs + id = "m_tele" + result = null + required_reagents = list("phoron" = 20, "mutationtoxin" = 20, "docilitytoxin" = 20, "slimejelly" = 20) + result_amount = 1 + on_reaction(var/datum/reagents/holder) + for(var/mob/O in viewers(get_turf(holder.my_atom), null)) + O.show_message(text("\red The slime extract begins to pulsate ferociously!"), 1) + sleep(50) + message_admins("[key_name(usr)] triggered a hostile gold slime reaction ([usr ? "JMP" : "null"])") // In case of slime griff. Should check if it happened outside Xenobio. I'll do that later maybe. + var/blocked = list( + /mob/living/simple_animal/hostile, + /mob/living/simple_animal/hostile/pirate, + /mob/living/simple_animal/hostile/pirate/ranged, + /mob/living/simple_animal/hostile/russian, + /mob/living/simple_animal/hostile/russian/ranged, + /mob/living/simple_animal/hostile/syndicate, + /mob/living/simple_animal/hostile/syndicate/melee, + /mob/living/simple_animal/hostile/syndicate/melee/space, + /mob/living/simple_animal/hostile/syndicate/ranged, + /mob/living/simple_animal/hostile/syndicate/ranged/space, + /mob/living/simple_animal/hostile/vore/alien/queen/large, + /mob/living/simple_animal/hostile/carp/holodeck, + /mob/living/simple_animal/hostile/carp, // old + /mob/living/simple_animal/hostile/vore/large/carp, + /mob/living/simple_animal/hostile/retaliate, + /mob/living/simple_animal/hostile/retaliate/clown, + /mob/living/simple_animal/hostile/retaliate/malf_drone, + /mob/living/simple_animal/hostile/viscerator, + /mob/living/simple_animal/hostile/tunnelclown, + /mob/living/simple_animal/hostile/tunnelclown/sentinel, + /mob/living/simple_animal/hostile/giant_spider/nurse, // fuck that + /mob/living/simple_animal/hostile/tree, // Holiday events only. + /mob/living/simple_animal/hostile/vore/mimic, + /mob/living/simple_animal/hostile/vore/mimic/copy, + /mob/living/simple_animal/hostile/vore/mimic/crate, + /mob/living/simple_animal/hostile/mimic, + /mob/living/simple_animal/hostile/mimic/copy, + /mob/living/simple_animal/hostile/mimic/crate, + /mob/living/simple_animal/hostile/bear, // old + /mob/living/simple_animal/hostile/bear/Hudson, // old + /mob/living/simple_animal/hostile/vore/bear/Hudson, + /mob/living/simple_animal/hostile/hivebot/tele, // old + /mob/living/simple_animal/hostile/creature // old + )//exclusion list for things you don't want the reaction to create. + var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs + + playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) + + for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) + if(M:eyecheck() <= 0) + flick("e_flash", M.flash) + + var/spawn_count = rand(1,3) + for(var/i = 1, i <= spawn_count, i++) + var/chosen = pick(critters) + var/mob/living/simple_animal/hostile/C = new chosen + C.faction = "slimesummon" + C.loc = get_turf(holder.my_atom) + if(prob(50)) + for(var/j = 1, j <= rand(1, 3), j++) + step(C, pick(NORTH,SOUTH,EAST,WEST)) +*/ + +/* //Someone can fix this, too. +/datum/chemical_reaction/slimenonhostile + name = "Slime Non-Crit" + id = "m_tele" + result = null + required_reagents = list("phoron" = 20, "silicon" = 20, "docilitytoxin" = 20, "slimejelly" = 20, ") + result_amount = 1 + on_reaction(var/datum/reagents/holder) + + var/blocked = list( + /mob/living/simple_animal, + /mob/living/simple_animal/hostile, + /mob/living/simple_animal/hostile/pirate, + /mob/living/simple_animal/hostile/pirate/ranged, + /mob/living/simple_animal/hostile/russian, + /mob/living/simple_animal/hostile/russian/ranged, + /mob/living/simple_animal/hostile/syndicate, + /mob/living/simple_animal/hostile/syndicate/melee, + /mob/living/simple_animal/hostile/syndicate/melee/space, + /mob/living/simple_animal/hostile/syndicate/ranged, + /mob/living/simple_animal/hostile/syndicate/ranged/space, + /mob/living/simple_animal/hostile/vore, // Not a true mob. + /mob/living/simple_animal/hostile/vore/alien, + /mob/living/simple_animal/hostile/vore/alien/drone, + /mob/living/simple_animal/hostile/vore/alien/sentinel, + /mob/living/simple_animal/hostile/vore/alien/queen, + /mob/living/simple_animal/hostile/vore/alien/queen/large, + /mob/living/simple_animal/hostile/carp/holodeck, + /mob/living/simple_animal/hostile/carp, + /mob/living/simple_animal/hostile/vore/carp, + /mob/living/simple_animal/hostile/vore/large/carp, + /mob/living/simple_animal/hostile/retaliate, + /mob/living/simple_animal/hostile/retaliate/clown, + /mob/living/simple_animal/hostile/retaliate/malf_drone, + /mob/living/simple_animal/hostile/bear, + /mob/living/simple_animal/hostile/bear/Hudson, + /mob/living/simple_animal/hostile/vore/bear, + /mob/living/simple_animal/hostile/vore/bear/Hudson, + /mob/living/simple_animal/hostile/hivebot/tele, // bugged + /mob/living/simple_animal/hostile/viscerator, + /mob/living/simple_animal/hostile/tunnelclown, + /mob/living/simple_animal/hostile/tunnelclown/sentinel, + /mob/living/simple_animal/hostile/giant_spider/nurse, // because fuck that shit + /mob/living/simple_animal/hostile/tree, + /mob/living/simple_animal/hostile/vore/mimic, + /mob/living/simple_animal/hostile/vore/mimic/copy, + /mob/living/simple_animal/hostile/vore/mimic/crate, + /mob/living/simple_animal/hostile/mimic, // old + /mob/living/simple_animal/hostile/mimic/copy, // old + /mob/living/simple_animal/hostile/mimic/crate, // old + /mob/living/simple_animal/hostile/creature, // old + /mob/living/simple_animal/bee, + /mob/living/simple_animal/borer, + /mob/living/simple_animal/borer/roundstart, + /mob/living/simple_animal/cat/fluff/bones, + /mob/living/simple_animal/cat/fluff/Runtime, + /mob/living/simple_animal/cat/fluff, + /mob/living/simple_animal/construct, + /mob/living/simple_animal/construct/armoured, + /mob/living/simple_animal/construct/behemoth, + /mob/living/simple_animal/construct/builder, + /mob/living/simple_animal/construct/wraith, + /mob/living/simple_animal/corgi/Ian, + /mob/living/simple_animal/corgi/Lisa, + /mob/living/simple_animal/crab/Coffee, + /mob/living/simple_animal/parrot/Poly, + /mob/living/simple_animal/mouse/brown/Tom, + /mob/living/simple_animal/snake/Noodle, + /mob/living/simple_animal/shade, + /mob/living/simple_animal/space_worm, // broken + /mob/living/simple_animal/space_worm/head, // broken + /mob/living/simple_animal/spiderbot + ) + var/list/critters = typesof(/mob/living/simple_animal) - blocked // list of possible hostile mobs + + playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) + + for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) + if(M:eyecheck() <= 0) + flick("e_flash", M.flash) + + var/spawn_count = rand(1,3) + for(var/i = 1, i <= spawn_count, i++) + var/chosen = pick(critters) + var/mob/living/simple_animal/hostile/C = new chosen + C.faction = "neutral" // So they don't fucking murder everyone. Xenopets! + C.loc = get_turf(holder.my_atom) + if(prob(50)) + for(var/j = 1, j <= rand(1, 3), j++) + step(C, pick(NORTH,SOUTH,EAST,WEST)) +*/ diff --git a/vorestation.dme b/vorestation.dme index bc1f4bdd670..f4fa3542d6f 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1767,6 +1767,7 @@ #include "code\modules\reagents\Chemistry-Metabolism.dm" #include "code\modules\reagents\Chemistry-Readme.dm" #include "code\modules\reagents\Chemistry-Reagents.dm" +#include "code\modules\reagents\Chemistry-Reagents_vr.dm" #include "code\modules\reagents\Chemistry-Recipes.dm" #include "code\modules\reagents\Chemistry-Recipes_vr.dm" #include "code\modules\reagents\reagent_containers.dm" From 2b380da2ae9b404adf467097142d102becf63828 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 02:22:30 -0400 Subject: [PATCH 02/10] Looking back, fire should cost more. --- code/modules/reagents/Chemistry-Recipes_vr.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index 8766a467fa8..2638aa665ef 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -202,7 +202,7 @@ name = "Slime fire" id = "m_fire" result = null - required_reagents = list("phoron" = 15, "slimejelly" = 15, "potassium" = 15) + required_reagents = list("phoron" = 60, "slimejelly" = 30, "potassium" = 30) result_amount = 1 on_reaction(var/datum/reagents/holder) for(var/mob/O in viewers(get_turf(holder.my_atom), null)) From 6d3f9be055dc33c565bae5a04f09ab98fcb8acc2 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 02:44:31 -0400 Subject: [PATCH 03/10] Makes the code a bit better --- code/modules/reagents/Chemistry-Recipes_vr.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index 2638aa665ef..1594b4496b7 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -259,14 +259,14 @@ required_reagents = list("phoron" = 20, "nutriment" = 20, "sugar" = 20, "mutationtoxin" = 20) //Can't do slime jelly as it'll conflict with another, but mutation toxin will do. result_amount = 1 on_reaction(var/datum/reagents/holder) - + var/mob_path = /mob/living/simple_animal/hostile/vore var/blocked = list( /mob/living/simple_animal/hostile/vore/mimic, /mob/living/simple_animal/hostile/vore/mimic/copy, /mob/living/simple_animal/hostile/vore/mimic/crate, /mob/living/simple_animal/hostile/vore/alien/queen/large )//exclusion list for things you don't want the reaction to create. - var/list/critters = typesof(/mob/living/simple_animal/hostile/vore) - blocked // list of possible hostile mobs + var/list/voremobs = typesof(mob_path) - mob_path - blocked // list of possible hostile mobs playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) @@ -276,7 +276,7 @@ var/spawn_count = rand(1,3) for(var/i = 1, i <= spawn_count, i++) - var/chosen = pick(critters) + var/chosen = pick(voremobs) var/mob/living/simple_animal/hostile/C = new chosen C.faction = "slimesummon" C.loc = get_turf(holder.my_atom) From fbec152c6acc8d3c2260fca0c1365666c8f1be3f Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 02:51:50 -0400 Subject: [PATCH 04/10] Travis should work, now. --- code/modules/reagents/Chemistry-Recipes_vr.dm | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index 1594b4496b7..2f3aaa95456 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -320,7 +320,6 @@ /mob/living/simple_animal/hostile/vore/alien/queen/large, /mob/living/simple_animal/hostile/carp/holodeck, /mob/living/simple_animal/hostile/carp, // old - /mob/living/simple_animal/hostile/vore/large/carp, /mob/living/simple_animal/hostile/retaliate, /mob/living/simple_animal/hostile/retaliate/clown, /mob/living/simple_animal/hostile/retaliate/malf_drone, @@ -328,18 +327,13 @@ /mob/living/simple_animal/hostile/tunnelclown, /mob/living/simple_animal/hostile/tunnelclown/sentinel, /mob/living/simple_animal/hostile/giant_spider/nurse, // fuck that - /mob/living/simple_animal/hostile/tree, // Holiday events only. - /mob/living/simple_animal/hostile/vore/mimic, /mob/living/simple_animal/hostile/vore/mimic/copy, /mob/living/simple_animal/hostile/vore/mimic/crate, /mob/living/simple_animal/hostile/mimic, /mob/living/simple_animal/hostile/mimic/copy, /mob/living/simple_animal/hostile/mimic/crate, /mob/living/simple_animal/hostile/bear, // old - /mob/living/simple_animal/hostile/bear/Hudson, // old - /mob/living/simple_animal/hostile/vore/bear/Hudson, /mob/living/simple_animal/hostile/hivebot/tele, // old - /mob/living/simple_animal/hostile/creature // old )//exclusion list for things you don't want the reaction to create. var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs @@ -382,7 +376,6 @@ /mob/living/simple_animal/hostile/syndicate/ranged, /mob/living/simple_animal/hostile/syndicate/ranged/space, /mob/living/simple_animal/hostile/vore, // Not a true mob. - /mob/living/simple_animal/hostile/vore/alien, /mob/living/simple_animal/hostile/vore/alien/drone, /mob/living/simple_animal/hostile/vore/alien/sentinel, /mob/living/simple_animal/hostile/vore/alien/queen, @@ -399,19 +392,13 @@ /mob/living/simple_animal/hostile/vore/bear, /mob/living/simple_animal/hostile/vore/bear/Hudson, /mob/living/simple_animal/hostile/hivebot/tele, // bugged - /mob/living/simple_animal/hostile/viscerator, /mob/living/simple_animal/hostile/tunnelclown, /mob/living/simple_animal/hostile/tunnelclown/sentinel, /mob/living/simple_animal/hostile/giant_spider/nurse, // because fuck that shit - /mob/living/simple_animal/hostile/tree, /mob/living/simple_animal/hostile/vore/mimic, /mob/living/simple_animal/hostile/vore/mimic/copy, /mob/living/simple_animal/hostile/vore/mimic/crate, /mob/living/simple_animal/hostile/mimic, // old - /mob/living/simple_animal/hostile/mimic/copy, // old - /mob/living/simple_animal/hostile/mimic/crate, // old - /mob/living/simple_animal/hostile/creature, // old - /mob/living/simple_animal/bee, /mob/living/simple_animal/borer, /mob/living/simple_animal/borer/roundstart, /mob/living/simple_animal/cat/fluff/bones, @@ -430,8 +417,6 @@ /mob/living/simple_animal/snake/Noodle, /mob/living/simple_animal/shade, /mob/living/simple_animal/space_worm, // broken - /mob/living/simple_animal/space_worm/head, // broken - /mob/living/simple_animal/spiderbot ) var/list/critters = typesof(/mob/living/simple_animal) - blocked // list of possible hostile mobs From 92e1f0856f00ff4567d7145c2b5b7bce23bdef1e Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 02:54:58 -0400 Subject: [PATCH 05/10] Travis, please. --- code/modules/reagents/Chemistry-Recipes_vr.dm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index 2f3aaa95456..d3b9e84df31 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -319,21 +319,18 @@ /mob/living/simple_animal/hostile/syndicate/ranged/space, /mob/living/simple_animal/hostile/vore/alien/queen/large, /mob/living/simple_animal/hostile/carp/holodeck, - /mob/living/simple_animal/hostile/carp, // old - /mob/living/simple_animal/hostile/retaliate, + /mob/living/simple_animal/hostile/carp, // old, /mob/living/simple_animal/hostile/retaliate/clown, /mob/living/simple_animal/hostile/retaliate/malf_drone, /mob/living/simple_animal/hostile/viscerator, /mob/living/simple_animal/hostile/tunnelclown, /mob/living/simple_animal/hostile/tunnelclown/sentinel, /mob/living/simple_animal/hostile/giant_spider/nurse, // fuck that - /mob/living/simple_animal/hostile/vore/mimic/copy, /mob/living/simple_animal/hostile/vore/mimic/crate, /mob/living/simple_animal/hostile/mimic, /mob/living/simple_animal/hostile/mimic/copy, /mob/living/simple_animal/hostile/mimic/crate, /mob/living/simple_animal/hostile/bear, // old - /mob/living/simple_animal/hostile/hivebot/tele, // old )//exclusion list for things you don't want the reaction to create. var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs @@ -376,7 +373,6 @@ /mob/living/simple_animal/hostile/syndicate/ranged, /mob/living/simple_animal/hostile/syndicate/ranged/space, /mob/living/simple_animal/hostile/vore, // Not a true mob. - /mob/living/simple_animal/hostile/vore/alien/drone, /mob/living/simple_animal/hostile/vore/alien/sentinel, /mob/living/simple_animal/hostile/vore/alien/queen, /mob/living/simple_animal/hostile/vore/alien/queen/large, @@ -392,14 +388,11 @@ /mob/living/simple_animal/hostile/vore/bear, /mob/living/simple_animal/hostile/vore/bear/Hudson, /mob/living/simple_animal/hostile/hivebot/tele, // bugged - /mob/living/simple_animal/hostile/tunnelclown, /mob/living/simple_animal/hostile/tunnelclown/sentinel, /mob/living/simple_animal/hostile/giant_spider/nurse, // because fuck that shit - /mob/living/simple_animal/hostile/vore/mimic, /mob/living/simple_animal/hostile/vore/mimic/copy, /mob/living/simple_animal/hostile/vore/mimic/crate, /mob/living/simple_animal/hostile/mimic, // old - /mob/living/simple_animal/borer, /mob/living/simple_animal/borer/roundstart, /mob/living/simple_animal/cat/fluff/bones, /mob/living/simple_animal/cat/fluff/Runtime, From 700222f40ae65a716ddab46022d4196544322f75 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 02:57:16 -0400 Subject: [PATCH 06/10] Travis refused to work while these were in, so I Had to remove them. I can possibly bring them back sooner or later, but not right now. --- code/modules/reagents/Chemistry-Recipes_vr.dm | 146 ------------------ 1 file changed, 146 deletions(-) diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index d3b9e84df31..652013e6489 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -283,149 +283,3 @@ if(prob(50)) for(var/j = 1, j <= rand(1, 3), j++) step(C, pick(NORTH,SOUTH,EAST,WEST)) - - - - - - - - - - -//Someone can work on this at a later time. -/* -/datum/chemical_reaction/slimehostile - name = "Slime Crit" // Hostile mobs - id = "m_tele" - result = null - required_reagents = list("phoron" = 20, "mutationtoxin" = 20, "docilitytoxin" = 20, "slimejelly" = 20) - result_amount = 1 - on_reaction(var/datum/reagents/holder) - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The slime extract begins to pulsate ferociously!"), 1) - sleep(50) - message_admins("[key_name(usr)] triggered a hostile gold slime reaction ([usr ? "JMP" : "null"])") // In case of slime griff. Should check if it happened outside Xenobio. I'll do that later maybe. - var/blocked = list( - /mob/living/simple_animal/hostile, - /mob/living/simple_animal/hostile/pirate, - /mob/living/simple_animal/hostile/pirate/ranged, - /mob/living/simple_animal/hostile/russian, - /mob/living/simple_animal/hostile/russian/ranged, - /mob/living/simple_animal/hostile/syndicate, - /mob/living/simple_animal/hostile/syndicate/melee, - /mob/living/simple_animal/hostile/syndicate/melee/space, - /mob/living/simple_animal/hostile/syndicate/ranged, - /mob/living/simple_animal/hostile/syndicate/ranged/space, - /mob/living/simple_animal/hostile/vore/alien/queen/large, - /mob/living/simple_animal/hostile/carp/holodeck, - /mob/living/simple_animal/hostile/carp, // old, - /mob/living/simple_animal/hostile/retaliate/clown, - /mob/living/simple_animal/hostile/retaliate/malf_drone, - /mob/living/simple_animal/hostile/viscerator, - /mob/living/simple_animal/hostile/tunnelclown, - /mob/living/simple_animal/hostile/tunnelclown/sentinel, - /mob/living/simple_animal/hostile/giant_spider/nurse, // fuck that - /mob/living/simple_animal/hostile/vore/mimic/crate, - /mob/living/simple_animal/hostile/mimic, - /mob/living/simple_animal/hostile/mimic/copy, - /mob/living/simple_animal/hostile/mimic/crate, - /mob/living/simple_animal/hostile/bear, // old - )//exclusion list for things you don't want the reaction to create. - var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs - - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) - - for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) - if(M:eyecheck() <= 0) - flick("e_flash", M.flash) - - var/spawn_count = rand(1,3) - for(var/i = 1, i <= spawn_count, i++) - var/chosen = pick(critters) - var/mob/living/simple_animal/hostile/C = new chosen - C.faction = "slimesummon" - C.loc = get_turf(holder.my_atom) - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(C, pick(NORTH,SOUTH,EAST,WEST)) -*/ - -/* //Someone can fix this, too. -/datum/chemical_reaction/slimenonhostile - name = "Slime Non-Crit" - id = "m_tele" - result = null - required_reagents = list("phoron" = 20, "silicon" = 20, "docilitytoxin" = 20, "slimejelly" = 20, ") - result_amount = 1 - on_reaction(var/datum/reagents/holder) - - var/blocked = list( - /mob/living/simple_animal, - /mob/living/simple_animal/hostile, - /mob/living/simple_animal/hostile/pirate, - /mob/living/simple_animal/hostile/pirate/ranged, - /mob/living/simple_animal/hostile/russian, - /mob/living/simple_animal/hostile/russian/ranged, - /mob/living/simple_animal/hostile/syndicate, - /mob/living/simple_animal/hostile/syndicate/melee, - /mob/living/simple_animal/hostile/syndicate/melee/space, - /mob/living/simple_animal/hostile/syndicate/ranged, - /mob/living/simple_animal/hostile/syndicate/ranged/space, - /mob/living/simple_animal/hostile/vore, // Not a true mob. - /mob/living/simple_animal/hostile/vore/alien/sentinel, - /mob/living/simple_animal/hostile/vore/alien/queen, - /mob/living/simple_animal/hostile/vore/alien/queen/large, - /mob/living/simple_animal/hostile/carp/holodeck, - /mob/living/simple_animal/hostile/carp, - /mob/living/simple_animal/hostile/vore/carp, - /mob/living/simple_animal/hostile/vore/large/carp, - /mob/living/simple_animal/hostile/retaliate, - /mob/living/simple_animal/hostile/retaliate/clown, - /mob/living/simple_animal/hostile/retaliate/malf_drone, - /mob/living/simple_animal/hostile/bear, - /mob/living/simple_animal/hostile/bear/Hudson, - /mob/living/simple_animal/hostile/vore/bear, - /mob/living/simple_animal/hostile/vore/bear/Hudson, - /mob/living/simple_animal/hostile/hivebot/tele, // bugged - /mob/living/simple_animal/hostile/tunnelclown/sentinel, - /mob/living/simple_animal/hostile/giant_spider/nurse, // because fuck that shit - /mob/living/simple_animal/hostile/vore/mimic/copy, - /mob/living/simple_animal/hostile/vore/mimic/crate, - /mob/living/simple_animal/hostile/mimic, // old - /mob/living/simple_animal/borer/roundstart, - /mob/living/simple_animal/cat/fluff/bones, - /mob/living/simple_animal/cat/fluff/Runtime, - /mob/living/simple_animal/cat/fluff, - /mob/living/simple_animal/construct, - /mob/living/simple_animal/construct/armoured, - /mob/living/simple_animal/construct/behemoth, - /mob/living/simple_animal/construct/builder, - /mob/living/simple_animal/construct/wraith, - /mob/living/simple_animal/corgi/Ian, - /mob/living/simple_animal/corgi/Lisa, - /mob/living/simple_animal/crab/Coffee, - /mob/living/simple_animal/parrot/Poly, - /mob/living/simple_animal/mouse/brown/Tom, - /mob/living/simple_animal/snake/Noodle, - /mob/living/simple_animal/shade, - /mob/living/simple_animal/space_worm, // broken - ) - var/list/critters = typesof(/mob/living/simple_animal) - blocked // list of possible hostile mobs - - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) - - for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null)) - if(M:eyecheck() <= 0) - flick("e_flash", M.flash) - - var/spawn_count = rand(1,3) - for(var/i = 1, i <= spawn_count, i++) - var/chosen = pick(critters) - var/mob/living/simple_animal/hostile/C = new chosen - C.faction = "neutral" // So they don't fucking murder everyone. Xenopets! - C.loc = get_turf(holder.my_atom) - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(C, pick(NORTH,SOUTH,EAST,WEST)) -*/ From 203d2944001fb557506f8364843f06670cc2e183 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 08:37:02 -0400 Subject: [PATCH 07/10] Gives slimes a greater chemical pool --- code/modules/xenobio2/_xeno_setup_vr.dm | 64 +++++++++++++++++++++++++ vorestation.dme | 1 + 2 files changed, 65 insertions(+) create mode 100644 code/modules/xenobio2/_xeno_setup_vr.dm diff --git a/code/modules/xenobio2/_xeno_setup_vr.dm b/code/modules/xenobio2/_xeno_setup_vr.dm new file mode 100644 index 00000000000..96829720a14 --- /dev/null +++ b/code/modules/xenobio2/_xeno_setup_vr.dm @@ -0,0 +1,64 @@ +/hook/startup/proc/xenochems_vr() //A chemical whitelist. Adds on to the other chemical whitelist. This is required, as you don't want users getting certain chemicals (See: Adminordizine) and also don't want them to just get pure stock chemicals, as that'd be boring for the player. + xenoChemList += "inaprovaline" + xenoChemList += "bicaridine" + xenoChemList += "dylovene" + xenoChemList += "dexalinp" + xenoChemList += "tricordrazine" + xenoChemList += "cryoxadone" + xenoChemList += "clonexadone" + xenoChemList += "paracetamol" + xenoChemList += "tramadol" + xenoChemList += "oxycodone" + xenoChemList += "ryetalyn" + xenoChemList += "hyperzine" + xenoChemList += "ethylredoxrazine" + xenoChemList += "hyronalin" + xenoChemList += "arithrazine" + xenoChemList += "spaceacillin" + xenoChemList += "sterilizine" + xenoChemList += "leporazine" + xenoChemList += "methylphenidate" + xenoChemList += "citalopram" + xenoChemList += "paroxetine" + xenoChemList += "macrocillin" + xenoChemList += "microcillin" + xenoChemList += "normalcillin" + xenoChemList += "sizeoxadone" + xenoChemList += "ickypak" + xenoChemList += "unsorbitol" + xenoChemList += "toxin" + xenoChemList += "carpotoxin" + xenoChemList += "potassium_chloride" + xenoChemList += "potassium_chlorophoride" + xenoChemList += "zombiepowder" + xenoChemList += "fertilizer" + xenoChemList += "eznutrient" + xenoChemList += "left4zed" + xenoChemList += "robustharvest" + xenoChemList += "plantbgone" + xenoChemList += "serotrotium" + xenoChemList += "nicotine" + xenoChemList += "uranium" + xenoChemList += "silver" + xenoChemList += "gold" + xenoChemList += "adrenaline" + xenoChemList += "holywater" + xenoChemList += "ammonia" + xenoChemList += "diethylamine" + xenoChemList += "fluorosurfactant" + xenoChemList += "foaming_agent" + xenoChemList += "thermite" + xenoChemList += "cleaner" + xenoChemList += "lube" + xenoChemList += "silicate" + xenoChemList += "glycerol" + xenoChemList += "coolant" + xenoChemList += "luminol" + xenoChemList += "nutriment" + xenoChemList += "cornoil" + xenoChemList += "lipozine" + xenoChemList += "sodiumchloride" + xenoChemList += "frostoil" + xenoChemList += "capsaicin" + xenoChemList += "condensedcapsaicin" + xenoChemList += "neurotoxin" \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index f4fa3542d6f..0be785f66bc 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2016,6 +2016,7 @@ #include "code\modules\vore\resizing\sizegun_vr.dm" #include "code\modules\vore\weight\fitness_machines_vr.dm" #include "code\modules\xenobio2\_xeno_setup.dm" +#include "code\modules\xenobio2\_xeno_setup_vr.dm" #include "code\modules\xenobio2\controller.dm" #include "code\modules\xenobio2\machinery\core_extractor.dm" #include "code\modules\xenobio2\machinery\gene_manipulators.dm" From 1a11d26ae26a4bac2c57a062c31cb86c6b53baf6 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 18:42:00 -0400 Subject: [PATCH 08/10] Fixes \red --- code/modules/reagents/Chemistry-Recipes_vr.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index 652013e6489..707678a2e01 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -114,11 +114,11 @@ var/fail_chance = rand(1,1000) if(fail_chance == 1) // 0.1% chance of exploding, so scientists don't exclusively abuse this to obtain materials. for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The solution begins to vibrate violently!"), 1) // It was at this moment, the Xenobiologist knew... he fucked up. + O.show_message(text("The solution begins to vibrate violently!"), 1) // It was at this moment, the Xenobiologist knew... he fucked up. sleep(30) playsound(get_turf(holder.my_atom), 'sound/items/Welder2.ogg', 100, 1) for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The reaction begins to rapidly sizzle and swell outwards!!"), 1) + O.show_message(text("The reaction begins to rapidly sizzle and swell outwards!"), 1) sleep(20) explosion(get_turf(holder.my_atom), 0 ,4, 8) //Enough to cause severe damage in the area, but not so much that it'll instantly gib the person. empulse(get_turf(holder.my_atom), 3, 7) //Uh oh, it produced some uranium, too! EMP blast! @@ -127,7 +127,7 @@ if(fail_chance < 101) // 10% chance of it not working at all. playsound(get_turf(holder.my_atom), 'sound/items/Welder.ogg', 100, 1) for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The slime core fizzles disappointingly."), 1) + O.show_message(text("The slime core fizzles disappointingly."), 1) return var/blocked = list(/obj/item/stack/material, /obj/item/stack/material/cyborg, /obj/item/stack/material/cyborg/plastic, /obj/item/stack/material/cyborg/plasteel, /obj/item/stack/material/cyborg/glass/reinforced, /obj/item/stack/material/cyborg/wood, /obj/item/stack/material/animalhide/human, /obj/item/stack/material/animalhide/corgi, /obj/item/stack/material/animalhide/cat, /obj/item/stack/material/animalhide/monkey, /obj/item/stack/material/animalhide/lizard , /obj/item/stack/material/animalhide/xeno, /obj/item/stack/material/cyborg, /obj/item/stack/material/cyborg/glass/reinforced) @@ -154,7 +154,7 @@ result_amount = 1 on_reaction(var/datum/reagents/holder) for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The contents of the slime core harden and begin to emit a warm, bright light."), 1) + O.show_message(text(" The contents of the slime core harden and begin to emit a warm, bright light."), 1) var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime F.loc = get_turf(holder.my_atom) @@ -178,7 +178,7 @@ result_amount = 1 on_reaction(var/datum/reagents/holder) for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The slime extract begins to vibrate violently!"), 1) + O.show_message(text("The slime extract begins to vibrate violently!"), 1) sleep(50) playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) for(var/mob/living/M in range (get_turf(holder.my_atom), 7)) @@ -206,7 +206,7 @@ result_amount = 1 on_reaction(var/datum/reagents/holder) for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("\red The slime extract begins to vibrate violently!"), 1) + O.show_message(text("The slime extract begins to vibrate violently!"), 1) sleep(50) var/turf/location = get_turf(holder.my_atom.loc) for(var/turf/simulated/floor/target_tile in range(0,location)) From 91d024288e1e0828ea1cfcaacf71d49fb27553b3 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 18:46:35 -0400 Subject: [PATCH 09/10] This should fix \blue --- code/modules/reagents/Chemistry-Recipes_vr.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index 707678a2e01..5d516b67719 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -183,7 +183,7 @@ playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) for(var/mob/living/M in range (get_turf(holder.my_atom), 7)) M.bodytemperature -= 140 - M << "\blue You suddenly feel a chill!" + M << " You suddenly feel a chill!" @@ -232,7 +232,7 @@ required_reagents = list("phoron" = 10, "bicaridine" = 10, "kelotane" = 10, "inaprovaline" = 10, "slimejelly" = 10) on_reaction(var/datum/reagents/holder, var/created_volume) for (var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null)) - C << "\blue A wave of energy suddenly invigorates you." + C << "A wave of energy suddenly invigorates you." C.adjustBruteLoss(-25) C.adjustFireLoss(-25) C.adjustToxLoss(-25) From dd1223392592a9994a56b5668b47d22f56789df2 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Wed, 8 Jun 2016 19:02:27 -0400 Subject: [PATCH 10/10] Update Chemistry-Recipes_vr.dm --- code/modules/reagents/Chemistry-Recipes_vr.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm index 5d516b67719..e0c982c5b3a 100644 --- a/code/modules/reagents/Chemistry-Recipes_vr.dm +++ b/code/modules/reagents/Chemistry-Recipes_vr.dm @@ -118,7 +118,7 @@ sleep(30) playsound(get_turf(holder.my_atom), 'sound/items/Welder2.ogg', 100, 1) for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("The reaction begins to rapidly sizzle and swell outwards!"), 1) + O.show_message(text("The reaction begins to rapidly sizzle and swell outwards!"), 1) sleep(20) explosion(get_turf(holder.my_atom), 0 ,4, 8) //Enough to cause severe damage in the area, but not so much that it'll instantly gib the person. empulse(get_turf(holder.my_atom), 3, 7) //Uh oh, it produced some uranium, too! EMP blast!