Merge branch 'master' into upstream-merge-32311

This commit is contained in:
LetterJay
2017-12-29 18:38:50 -06:00
committed by GitHub
302 changed files with 4918 additions and 20468 deletions
@@ -222,7 +222,7 @@
if(beaker && beaker.reagents)
beaker.reagents.remove_all()
cell.use(total/powerefficiency)
cell.emp_act()
cell.emp_act(severity)
visible_message("<span class='danger'>[src] malfunctions, spraying chemicals everywhere!</span>")
..()
@@ -400,4 +400,4 @@
"cryoxadone",
"ammonia",
"ash",
"diethylamine")
"diethylamine")
@@ -51,9 +51,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(reac_volume >= 5)
var/obj/item/book/affectedbook = O
affectedbook.dat = null
to_chat(usr, "<span class='notice'>Through thorough application, you wash away [affectedbook]'s writing.</span>")
O.visible_message("<span class='notice'>[O]'s writing is washed away by [name]!</span>")
else
to_chat(usr, "<span class='warning'>The ink smears, but doesn't wash away!</span>")
O.visible_message("<span class='warning'>[O]'s ink is smeared by [name], but doesn't wash away!</span>")
return
/datum/reagent/consumable/ethanol/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel.
@@ -70,7 +70,7 @@
//nothing
if(21 to INFINITY)
if(prob(current_cycle-10))
M.cure_nearsighted(list(EYE_DAMAGE))
M.cure_nearsighted()
..()
return
@@ -172,22 +172,6 @@
M.emote("laugh")
..()
/datum/reagent/consumable/superlaughter
name = "Super Laughter"
id = "superlaughter"
description = "Funny until you're the one laughing."
metabolization_rate = 1.5 * REAGENTS_METABOLISM
color = "#FF4DD2"
taste_description = "laughter"
/datum/reagent/consumable/superlaughter/on_mob_life(mob/living/carbon/M)
if(!iscarbon(M))
return
if(prob(30))
M.visible_message("<span class='danger'>[M] bursts out into a fit of uncontrollable laughter!</span>", "<span class='userdanger'>You burst out in a fit of uncontrollable laughter!</span>")
M.Stun(5)
..()
/datum/reagent/consumable/potato_juice
name = "Potato Juice"
id = "potato"
@@ -44,7 +44,7 @@
M.adjustToxLoss(-5, 0)
M.hallucination = 0
M.setBrainLoss(0)
M.remove_all_disabilities()
M.disabilities = 0
M.set_blurriness(0)
M.set_blindness(0)
M.SetKnockdown(0, 0)
@@ -667,16 +667,16 @@
var/obj/item/organ/eyes/eyes = M.getorganslot(ORGAN_SLOT_EYES)
if (!eyes)
return
if(M.has_disability(BLIND, EYE_DAMAGE))
if(M.has_disability(DISABILITY_BLIND, EYE_DAMAGE))
if(prob(20))
to_chat(M, "<span class='warning'>Your vision slowly returns...</span>")
M.cure_blind(EYE_DAMAGE)
M.cure_nearsighted(EYE_DAMAGE)
M.cure_blind()
M.cure_nearsighted()
M.blur_eyes(35)
else if(M.has_disability(NEARSIGHT, EYE_DAMAGE))
else if(M.has_disability(DISABILITY_NEARSIGHT, EYE_DAMAGE))
to_chat(M, "<span class='warning'>The blackness in your peripheral vision fades.</span>")
M.cure_nearsighted(EYE_DAMAGE)
M.cure_nearsighted()
M.blur_eyes(10)
else if(M.eye_blind || M.eye_blurry)
M.set_blindness(0)
@@ -765,7 +765,7 @@
M.visible_message("<span class='warning'>[M]'s body convulses a bit, and then falls still once more.</span>")
return
M.visible_message("<span class='warning'>[M]'s body convulses a bit.</span>")
if(!M.suiciding && !(M.has_disability(NOCLONE)) && !M.hellbound)
if(!M.suiciding && !(M.has_disability(DISABILITY_NOCLONE)) && !M.hellbound)
if(!M)
return
if(M.notify_ghost_cloning(source = M))
@@ -141,7 +141,7 @@
taste_description = "mint"
/datum/reagent/toxin/minttoxin/on_mob_life(mob/living/M)
if(M.has_disability(FAT))
if(M.has_disability(DISABILITY_FAT))
M.gib()
return ..()
@@ -130,18 +130,6 @@ Borg Hypospray
reagent_ids = list ("facid", "mutetoxin", "cyanide", "sodium_thiopental", "heparin", "lexorin")
accepts_reagent_upgrades = FALSE
/obj/item/reagent_containers/borghypo/clown
name = "laughter injector"
desc = "Keeps the crew happy and productive!"
reagent_ids = list("laughter")
accepts_reagent_upgrades = FALSE
/obj/item/reagent_containers/borghypo/clown/hacked
name = "laughter injector"
desc = "Keeps the crew so happy they don't work!"
reagent_ids = list("superlaughter")
accepts_reagent_upgrades = FALSE
/obj/item/reagent_containers/borghypo/syndicate
name = "syndicate cyborg hypospray"
desc = "An experimental piece of Syndicate technology used to produce powerful restorative nanites used to very quickly restore injuries of all types. Also metabolizes potassium iodide, for radiation poisoning, and morphine, for offense."
@@ -18,16 +18,16 @@
var/spray_range = 3 //the range of tiles the sprayer will reach when in spray mode.
var/stream_range = 1 //the range of tiles the sprayer will reach when in stream mode.
var/stream_amount = 10 //the amount of reagents transfered when in stream mode.
var/can_fill_from_container = TRUE
amount_per_transfer_from_this = 5
volume = 250
possible_transfer_amounts = list(5,10,15,20,25,30,50,100)
/obj/item/reagent_containers/spray/afterattack(atom/A, mob/user)
if(istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/hydroponics))
return
if((A.is_drainable() && !A.is_refillable()) && get_dist(src,A) <= 1 && can_fill_from_container)
if((A.is_drainable() && !A.is_refillable()) && get_dist(src,A) <= 1)
if(!A.reagents.total_volume)
to_chat(user, "<span class='warning'>[A] is empty.</span>")
return
@@ -205,46 +205,6 @@
/obj/item/reagent_containers/spray/waterflower/attack_self(mob/user) //Don't allow changing how much the flower sprays
return
/obj/item/reagent_containers/spray/waterflower/cyborg
container_type = NONE
volume = 100
list_reagents = list("water" = 100)
var/generate_amount = 5
var/generate_type = "water"
var/last_generate = 0
var/generate_delay = 10 //deciseconds
can_fill_from_container = FALSE
/obj/item/reagent_containers/spray/waterflower/cyborg/hacked
name = "nova flower"
desc = "This doesn't look safe at all..."
list_reagents = list("clf3" = 3)
volume = 3
generate_type = "clf3"
generate_amount = 1
generate_delay = 40 //deciseconds
/obj/item/reagent_containers/spray/waterflower/cyborg/Initialize()
. = ..()
START_PROCESSING(SSfastprocess, src)
/obj/item/reagent_containers/spray/waterflower/cyborg/Destroy()
STOP_PROCESSING(SSfastprocess, src)
return ..()
/obj/item/reagent_containers/spray/waterflower/cyborg/process()
if(world.time > last_generate + generate_delay)
return
last_generate = world.time
generate_reagents()
/obj/item/reagent_containers/spray/waterflower/cyborg/empty()
to_chat(usr, "<span class='warning'>You can not empty this!</span>")
return
/obj/item/reagent_containers/spray/waterflower/cyborg/proc/generate_reagents()
reagents.add_reagent(generate_type, generate_amount)
//chemsprayer
/obj/item/reagent_containers/spray/chemsprayer
name = "chem sprayer"