Reduce lines by removing blank lines added by PJ's script

This commit is contained in:
Tigercat2000
2016-04-05 08:25:57 -07:00
parent 9d430844c3
commit 78f53553f8
1049 changed files with 3 additions and 8630 deletions
@@ -304,14 +304,12 @@ var/const/INGEST = 2
if(!C.no_message)
to_chat(M, "\blue \icon[my_atom] [C.mix_message]")
if(istype(my_atom, /obj/item/slime_extract))
var/obj/item/slime_extract/ME2 = my_atom
ME2.Uses--
if(ME2.Uses <= 0) // give the notification that the slime core is dead
for(var/mob/M in seen)
to_chat(M, "\blue \icon[my_atom] The [my_atom]'s power is consumed in the reaction.")
ME2.name = "used slime extract"
ME2.desc = "This extract has been used up."
@@ -555,14 +553,12 @@ var/const/INGEST = 2
for(var/datum/reagent/D in reagent_list)
if(D.id == reagent_id)
// to_chat(world, "proffering a data-carrying reagent ([reagent_id])")
return D.data
/datum/reagents/proc/set_data(var/reagent_id, var/new_data)
for(var/datum/reagent/D in reagent_list)
if(D.id == reagent_id)
// to_chat(world, "reagent data set ([reagent_id])")
D.data = new_data
/datum/reagents/proc/copy_data(var/datum/reagent/current_reagent)
@@ -111,7 +111,6 @@
/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main",var/datum/nanoui/ui = null, var/force_open = 1)
if(broken_requirements.len)
to_chat(user, "<span class='warning'>[src] is broken. [broken_requirements[broken_requirements[1]]]</span>")
return
@@ -209,28 +208,23 @@
else
if(!user.drop_item())
to_chat(user, "<span class='warning'>\The [B] is stuck to you!</span>")
return
qdel(B)
broken_requirements -= broken_requirements[1]
to_chat(user, "<span class='notice'>You fix [src].</span>")
return
if(src.beaker)
to_chat(user, "<span class='warning'>Something is already loaded into the machine.</span>")
return
if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food/drinks))
src.beaker = B
if(!user.drop_item())
to_chat(user, "<span class='warning'>\The [B] is stuck to you!</span>")
return
B.forceMove(src)
to_chat(user, "<span class='notice'>You set [B] on the machine.</span>")
nanomanager.update_uis(src) // update all UIs attached to src
if(!icon_beaker)
icon_beaker = image('icons/obj/chemical.dmi', src, "disp_beaker") //randomize beaker overlay position.
@@ -243,14 +237,12 @@
if(istype(B, /obj/item/device/multitool))
if(hackedcheck == 0)
to_chat(user, hack_message)
dispensable_reagents += hacked_reagents
hackedcheck = 1
return
else
to_chat(user, unhack_message)
dispensable_reagents -= hacked_reagents
hackedcheck = 0
return
@@ -353,7 +345,6 @@
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(panel_open)
to_chat(user, "<span class='notice'>Close the maintenance panel first.</span>")
return
..()
else
@@ -370,12 +361,10 @@
if(anchored)
anchored = 0
to_chat(user, "<span class='caution'>\The [src] can now be moved.</span>")
else if(!anchored)
anchored = 1
to_chat(user, "<span class='caution'>\The [src] is now secured.</span>")
if(panel_open)
if(istype(I, /obj/item/weapon/crowbar))
if(beaker)
@@ -441,16 +430,13 @@
if(src.beaker)
to_chat(user, "<span class='warning'>A beaker is already loaded into the machine.</span>")
return
if(!user.drop_item())
to_chat(user, "<span class='warning'>\The [B] is stuck to you!</span>")
return
src.beaker = B
B.forceMove(src)
to_chat(user, "<span class='notice'>You add the beaker to the machine!</span>")
src.updateUsrDialog()
icon_state = "mixer1"
@@ -458,17 +444,14 @@
if(src.loaded_pill_bottle)
to_chat(user, "<span class='warning'>A pill bottle is already loaded into the machine.</span>")
return
if(!user.drop_item())
to_chat(user, "<span class='warning'>\The [B] is stuck to you!</span>")
return
src.loaded_pill_bottle = B
B.forceMove(src)
to_chat(user, "<span class='notice'>You add the pill bottle into the dispenser slot!</span>")
src.updateUsrDialog()
return
@@ -811,7 +794,6 @@
return 1
else
to_chat(user, "<span class='warning'>You can't use the [src.name] while it's panel is opened!</span>")
return 1
else
..()
@@ -902,7 +884,6 @@
else
if(!user.drop_item())
to_chat(user, "<span class='warning'>\The [O] is stuck to you!</span>")
return
src.beaker = O
O.forceMove(src)
@@ -912,7 +893,6 @@
if(holdingitems && holdingitems.len >= limit)
to_chat(usr, "<span class='warning'>The machine cannot hold anymore items.</span>")
return 1
//Fill machine with the plantbag!
@@ -924,20 +904,17 @@
holdingitems += G
if(holdingitems && holdingitems.len >= limit) //Sanity checking so the blender doesn't overfill
to_chat(user, "<span class='notice>You fill the All-In-One grinder to the brim.</span>")
break
if(!O.contents.len)
to_chat(user, "<span class='notice'>You empty the plant bag into the All-In-One grinder.</span>")
src.updateUsrDialog()
return 0
if (!is_type_in_list(O, blend_items) && !is_type_in_list(O, juice_items))
to_chat(user, "<span class='warning'>Cannot refine into a reagent.</span>")
return 1
user.unEquip(O)
@@ -228,12 +228,9 @@ About the Tools:
system you'll need to add something like this in its new proc:
to_chat(var/datum/reagents/R = new/datum/reagents(100), <<< create a new datum , 100 is the maximum_volume of the new holder datum.)
to_chat(reagents = R, <<< assign the new datum to the objects reagents var)
to_chat(R.my_atom = src, <<< set the holders my_atom to src so that we know where we are.)
This can also be done by calling a convenience proc:
atom/proc/create_reagents(var/max_volume)
-15
View File
@@ -61,13 +61,11 @@
if(..(user, 2))
if(beakers.len)
to_chat(user, "<span class='notice>[src] contains:</span>")
for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers)
if(B.reagents && B.reagents.reagent_list.len)
for(var/datum/reagent/R in B.reagents.reagent_list)
to_chat(user, "<span class='notice>[R.volume] units of [R.name]</span>")
/obj/item/weapon/gun/dartgun/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/dart_cartridge))
@@ -75,7 +73,6 @@
if(!D.darts)
to_chat(user, "<span class='warning'>[D] is empty.</span>")
return 0
if(cartridge)
@@ -83,34 +80,28 @@
src.remove_cartridge()
else
to_chat(user, "<span class='warning'>There's already a cartridge in [src].</span>")
return 0
user.drop_item()
cartridge = D
D.forceMove(src)
to_chat(user, "<span class='notice'>You slot [D] into [src].</span>")
update_icon()
return
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(!istype(I, container_type))
to_chat(user, "<span class='warning'>[I] doesn't seem to fit into [src].</span>")
return
if(beakers.len >= max_beakers)
to_chat(user, "<span class='warning'>[src] already has [max_beakers] beakers in it - another one isn't going to fit!</span>")
return
var/obj/item/weapon/reagent_containers/glass/beaker/B = I
if(!user.drop_item())
to_chat(user, "<span class='warning'>\The [B] is stuck to you!</span>")
return
B.forceMove(src)
beakers += B
to_chat(user, "<span class='notice>You slot [B] into [src].</span>")
src.updateUsrDialog()
/obj/item/weapon/gun/dartgun/can_fire()
@@ -125,7 +116,6 @@
/obj/item/weapon/gun/dartgun/proc/remove_cartridge()
if(cartridge)
to_chat(usr, "<span class='notice'>You pop the cartridge out of [src].</span>")
var/obj/item/weapon/dart_cartridge/C = cartridge
C.forceMove(get_turf(src))
C.update_icon()
@@ -156,11 +146,9 @@
var/obj/item/weapon/reagent_containers/syringe/S = get_mixed_syringe()
if(!S)
to_chat(user, "<span class='warning'>There are no darts in [src]!</span>")
return
if(!S.reagents)
to_chat(user, "<span class='warning'>There are no reagents available!</span>")
return
cartridge.darts--
src.update_icon()
@@ -204,7 +192,6 @@
D.reagents.trans_to(M, 15)
to_chat(M, "<span class='danger'>You feel a slight prick.</span>")
qdel(D)
break
if(D)
@@ -285,7 +272,6 @@
if(beakers[index])
var/obj/item/weapon/reagent_containers/glass/beaker/B = beakers[index]
to_chat(usr, "<span class='notice'>You remove [B] from [src].</span>")
mixing -= B
beakers -= B
B.forceMove(get_turf(src))
@@ -301,7 +287,6 @@
to_chat(usr, "<span class='warning'>[src] is empty.</span>")
/obj/item/weapon/gun/dartgun/vox
name = "alien dart gun"
desc = "A small gas-powered dartgun, fitted for nonhuman hands."
-10
View File
@@ -21,7 +21,6 @@
if(..(user, 2))
to_chat(user, "\blue [grenades.len] / [max_grenades] [ammo_name]s.")
/obj/item/weapon/gun/grenadelauncher/attackby(obj/item/I as obj, mob/user as mob, params)
if((istype(I, ammo_type)))
@@ -30,13 +29,10 @@
I.loc = src
grenades += I
to_chat(user, "\blue You put the [ammo_name] in the [name].")
to_chat(user, "\blue [grenades.len] / [max_grenades] [ammo_name]s.")
else
to_chat(usr, "\red The grenade launcher cannot hold more [ammo_name]s.")
/obj/item/weapon/gun/grenadelauncher/afterattack(obj/target, mob/user , flag)
if (istype(target, /obj/item/weapon/storage/backpack ))
@@ -53,12 +49,10 @@
else
to_chat(usr, "\red The [name] is empty.")
/obj/item/weapon/gun/grenadelauncher/proc/fire_grenade(atom/target, mob/user)
for(var/mob/O in viewers(world.view, user))
O.show_message(text("\red [] fired a [ammo_name]!", user), 1)
to_chat(user, "\red You fire the [name]!")
var/obj/item/weapon/grenade/chem_grenade/F = grenades[1] //Now with less copypasta!
grenades -= F
F.loc = user.loc
@@ -100,19 +94,15 @@
I.loc = src
grenades += I
to_chat(user, "\blue You put the [ammo_name] in the [name].")
to_chat(user, "\blue [grenades.len] / [max_grenades] [ammo_name]s.")
icon_state = "piecannon1"
else
to_chat(usr, "\red The grenade launcher cannot hold more [ammo_name]s.")
/obj/item/weapon/gun/grenadelauncher/piecannon/fire_grenade(atom/target, mob/user)
for(var/mob/O in viewers(world.view, user))
O.show_message(text("\red [] fired a [ammo_name]!", user), 1)
to_chat(user, "\red You fire the [name]!")
var/obj/item/weapon/reagent_containers/food/snacks/pie/P = grenades[1] //Now with less copypasta!
grenades -= P
P.loc = user.loc
@@ -151,4 +151,3 @@
totalmessage += message_living
totalmessage += "!"
to_chat(M, "<span class='userdanger'>[totalmessage]</span>")
@@ -75,14 +75,12 @@
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(beaker)
to_chat(user, "<span class='notice'>A beaker is already loaded into the machine.</span>")
return
if(user.drop_item())
beaker = I
I.forceMove(src)
to_chat(user, "<span class='notice'>You add the beaker to the machine!</span>")
icon_state = "mixer1b"
nanomanager.update_uis(src)
-1
View File
@@ -65,7 +65,6 @@
holder.del_reagent("spore") //apparently this never metabolizes and stays in forever unless you have 45 units of atrazine in you or some stupid thing like that.
if(prob(1))
to_chat(M, "<span class='danger'>Your mouth tastes funny.</span>")
if(prob(1) && prob(25))
if(iscarbon(M))
var/mob/living/carbon/C = M
-2
View File
@@ -28,7 +28,6 @@
M.say("[sonic_message]")
else
to_chat(M, "<span class='notice'>[sonic_message ]</span>")
..()
return
@@ -133,7 +132,6 @@ datum/reagent/ethanol/synthanol/reaction_mob(var/mob/M, var/method=TOUCH, var/vo
if(method == INGEST)
to_chat(M, pick("<span class = 'danger'>That was awful!</span>", "<span class = 'danger'>Yuck!</span>"))
/datum/reagent/ethanol/synthanol/robottears
name = "Robot Tears"
id = "robottears"
-16
View File
@@ -18,7 +18,6 @@
var/smoke_message = pick("You feel relaxed.", "You feel calmed.", "You feel less stressed.", "You feel more placid.", "You feel more undivided.")
if(prob(5))
to_chat(M, "<span class='notice'>[smoke_message]</span>")
if(prob(50))
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
@@ -51,16 +50,13 @@
M.emote(pick("twitch", "twitch_s", "grumble", "laugh"))
if(prob(8))
to_chat(M, "<span class='notice'>You feel great!</span>")
M.reagents.add_reagent("methamphetamine", rand(1,2))
M.emote(pick("laugh", "giggle"))
if(prob(6))
to_chat(M, "<span class='notice'>You feel warm.</span>")
M.bodytemperature += rand(1,10)
if(prob(4))
to_chat(M, "<span class='notice'>You feel kinda awful!</span>")
M.adjustToxLoss(1)
M.jitteriness += 30
M.emote(pick("groan", "moan"))
@@ -109,12 +105,10 @@
M.emote(pick("smile", "grin", "yawn", "laugh", "drool"))
if(prob(10))
to_chat(M, "<span class='notice'>You feel pretty chill.</span>")
M.bodytemperature--
M.emote("smile")
if(prob(5))
to_chat(M, "<span class='notice'>You feel too chill!</span>")
M.emote(pick("yawn", "drool"))
M.Stun(1)
M.adjustToxLoss(1)
@@ -122,7 +116,6 @@
M.bodytemperature -= 20
if(prob(2))
to_chat(M, "<span class='warning'>Your skin feels all rough and dry.</span>")
M.adjustBruteLoss(2)
..()
return
@@ -239,7 +232,6 @@
var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.")
if(prob(5))
to_chat(M, "<span class='notice'>[high_message]</span>")
M.AdjustParalysis(-5)
M.AdjustStunned(-5)
M.AdjustWeakened(-5)
@@ -301,10 +293,8 @@
var/high_message = pick("really buff", "on top of the world","like you're made of steel", "energized", "invigorated", "full of energy")
if(prob(8))
to_chat(M, "<span class='notice'>[high_message]!</span>")
if(prob(5))
to_chat(M, "<span class='danger'>You cannot breathe!</span>")
M.adjustOxyLoss(15)
M.Stun(1)
M.losebreath++
@@ -326,7 +316,6 @@
M.emote(pick("laugh","giggle","smile"))
if(prob(5))
to_chat(M, "[pick("You feel hungry.","Your stomach rumbles.","You feel cold.","You feel warm.")]")
if(prob(4))
M.confused = max(M.confused, 10)
if(volume >= 50 && prob(25))
@@ -401,12 +390,10 @@
M.adjustToxLoss(1)
if(2)
to_chat(M, "<span class='danger'>[M] can't seem to control their legs!</span>")
M.Weaken(8)
M.adjustToxLoss(1)
if(3)
to_chat(M, "<span class='danger'>[M]'s hands flip out and flail everywhere!</span>")
M.drop_l_hand()
M.drop_r_hand()
M.adjustToxLoss(1)
@@ -446,7 +433,6 @@
high_message = "0100011101001111010101000101010001000001010001110100111101000110010000010101001101010100!"
if(prob(5))
to_chat(M, "<span class='notice'>[high_message]</span>")
M.AdjustParalysis(-2)
M.AdjustStunned(-2)
M.AdjustWeakened(-2)
@@ -495,7 +481,6 @@
high_message = "01010100010100100100000101001110010100110100001101000101010011100100010001000101010011100100001101000101."
if(prob(5))
to_chat(M, "<span class='notice'>[high_message]</span>")
..()
return
@@ -507,7 +492,6 @@
M.apply_effect(STUTTER, 5)
if(prob(10))
to_chat(M, "<span class='danger'>You experience a violent electrical discharge!</span>")
playsound(get_turf(M), 'sound/effects/eleczap.ogg', 75, 1)
//Lightning effect for electrical discharge visualization
var/icon/I=new('icons/obj/zap.dmi',"lightningend")
-20
View File
@@ -13,7 +13,6 @@ datum/reagent/questionmark/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
M.Weaken(2)
to_chat(M, "<span class='danger'>Ugh! Eating that was a terrible idea!</span>")
datum/reagent/egg
name = "Egg"
id = "egg"
@@ -203,15 +202,12 @@ datum/reagent/fungus/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
var/ranchance = rand(1,10)
if(ranchance == 1)
to_chat(M, "<span class='warning'>You feel very sick.</span>")
M.reagents.add_reagent("toxin", rand(1,5))
else if(ranchance <= 5)
to_chat(M, "<span class='warning'>That tasted absolutely FOUL.</span>")
else
to_chat(M, "<span class='warning'>Yuck!</span>")
/datum/reagent/chicken_soup
name = "Chicken soup"
id = "chicken_soup"
@@ -240,14 +236,12 @@ datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
to_chat(M, "<span class='notice'>That tasted amazing!</span>")
/datum/reagent/msg/on_mob_life(var/mob/living/M as mob)
if(prob(5))
if(prob(10))
M.adjustToxLoss(rand(2.4))
if(prob(7))
to_chat(M, "<span class='warning'>A horrible migraine overpowers you.</span>")
M.Stun(rand(2,5))
..()
return
@@ -295,7 +289,6 @@ datum/reagent/cheese/reaction_turf(var/turf/T, var/volume)
/datum/reagent/fake_cheese/overdose_process(var/mob/living/M as mob)
if(prob(8))
to_chat(M, "<span class='warning'>You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat.</span>")
M.adjustToxLoss(rand(1,2))
..()
@@ -403,12 +396,10 @@ datum/reagent/ectoplasm/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
var/spooky_eat = pick("Ugh, why did you eat that? Your mouth feels haunted. Haunted with bad flavors.", "Ugh, why did you eat that? It has the texture of ham aspic. From the 1950s. Left out in the sun.", "Ugh, why did you eat that? It tastes like a ghost fart.", "Ugh, why did you eat that? It tastes like flavor died.")
to_chat(M, "<span class='warning'>[spooky_eat]</span>")
/datum/reagent/ectoplasm/on_mob_life(var/mob/living/M as mob)
var/spooky_message = pick("You notice something moving out of the corner of your eye, but nothing is there...", "Your eyes twitch, you feel like something you can't see is here...", "You've got the heebie-jeebies.", "You feel uneasy.", "You shudder as if cold...", "You feel something gliding across your back...")
if(prob(8))
to_chat(M, "<span class='warning'>[spooky_message]</span>")
..()
return
@@ -457,14 +448,11 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume)
/datum/reagent/hydrogenated_soybeanoil/overdose_process(var/mob/living/M as mob)
if(prob(33))
to_chat(M, "<span class='warning'>You feel horribly weak.</span>")
if(prob(10))
to_chat(M, "<span class='warning'>You cannot breathe!</span>")
M.adjustOxyLoss(5)
if(prob(5))
to_chat(M, "<span class='warning'>You feel a sharp pain in your chest!</span>")
M.adjustOxyLoss(25)
M.Stun(5)
M.Paralyse(10)
@@ -543,7 +531,6 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume)
M.reagents.add_reagent(pick("blood", "corn_syrup", "synthflesh", "hydrogenated_soybeanoil", "porktonium", "toxic_slurry"), 0.8)
else if(prob(6))
to_chat(M, "<span class='warning'>[pick("You feel ill.","Your stomach churns.","You feel queasy.","You feel sick.")]</span>")
M.emote(pick("groan","moan"))
..()
return
@@ -571,25 +558,21 @@ datum/reagent/pepperoni/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vol
if(H.wear_mask)
to_chat(H, "<span class='warning'>The pepperoni bounces off your mask!</span>")
return
if(H.head)
to_chat(H, "<span class='warning'>Your mask protects you from the errant pepperoni!</span>")
return
if(prob(50))
M.adjustBruteLoss(1)
playsound(M, 'sound/effects/woodhit.ogg', 50, 1)
to_chat(M, "<span class='warning'>A slice of pepperoni slaps you!</span>")
else
M.emote("burp")
to_chat(M, "<span class='warning'>My goodness, that was tasty!</span>")
/datum/chemical_reaction/pepperoni
name = "Pepperoni"
id = "pepperoni"
@@ -609,16 +592,13 @@ datum/reagent/pepperoni/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vol
/datum/reagent/cholesterol/on_mob_life(var/mob/living/M as mob)
if(volume >= 25 && prob(volume*0.15))
to_chat(M, "<span class='warning'>Your chest feels [pick("weird","uncomfortable","nasty","gross","odd","unusual","warm")]!</span>")
M.adjustToxLoss(rand(1,2))
else if(volume >= 45 && prob(volume*0.08))
to_chat(M, "<span class='warning'>Your chest [pick("hurts","stings","aches","burns")]!</span>")
M.adjustToxLoss(rand(2,4))
M.Stun(1)
else if(volume >= 150 && prob(volume*0.01))
to_chat(M, "<span class='warning'>Your chest is burning with pain!</span>")
M.Stun(1)
M.Weaken(1)
if(ishuman(M))
@@ -18,12 +18,10 @@ datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/meth
M.adjustFireLoss(-volume)
if(show_message)
to_chat(M, "<span class='notice'>The silver sulfadiazine soothes your burns.</span>")
if(method == INGEST)
M.adjustToxLoss(0.5*volume)
if(show_message)
to_chat(M, "<span class='warning'>You feel sick...</span>")
..()
return
@@ -47,13 +45,11 @@ datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TO
M.adjustBruteLoss(-volume)
if(show_message)
to_chat(M, "<span class='notice'>The styptic powder stings like hell as it closes some of your wounds!</span>")
M.emote("scream")
if(method == INGEST)
M.adjustToxLoss(0.5*volume)
if(show_message)
to_chat(M, "<span class='warning'>You feel gross!</span>")
..()
return
@@ -94,7 +90,6 @@ datum/reagent/synthflesh/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vo
M.adjustFireLoss(-1.5*volume)
if(show_message)
to_chat(M, "<span class='notice'>The synthetic flesh integrates itself into your wounds, healing you.</span>")
..()
return
@@ -637,9 +632,7 @@ datum/reagent/strange_reagent/reaction_mob(var/mob/living/M as mob, var/method=T
var/mob/dead/observer/ghost = M.get_ghost()
if(ghost)
to_chat(ghost, "<span class='ghostalert'>Your are attempting to be revived with Strange Reagent. Return to your body if you want to be revived!</span> (Verbs -> Ghost -> Re-enter corpse)")
to_chat(ghost, sound('sound/effects/genetics.ogg'))
M.visible_message("<span class='notice'>[M] doesn't appear to respond, perhaps try again later?</span>")
if(!M.suiciding && !ghost && !(NOCLONE in M.mutations))
M.visible_message("<span class='warning'>[M] seems to rise from the dead!</span>")
@@ -78,7 +78,6 @@
R.addiction_act_stage5(M)
if(prob(20) && (world.timeofday > (R.last_addiction_dose + ADDICTION_TIME))) //Each addiction lasts 8 minutes before it can end
to_chat(M, "<span class='notice'>You no longer feel reliant on [R.name]!</span>")
addiction_list.Remove(R)
update_total()
@@ -135,7 +134,6 @@
if(prob(4))
to_chat(M, "<span class='notice'>You feel a dull headache.</span>")
/datum/reagent/proc/addiction_act_stage3(var/mob/living/M as mob)
if(prob(8))
M.emote("twitch_s")
@@ -144,33 +142,27 @@
if(prob(4))
to_chat(M, "<span class='warning'>You begin craving [name]!</span>")
/datum/reagent/proc/addiction_act_stage4(var/mob/living/M as mob)
if(prob(8))
M.emote("twitch")
if(prob(4))
to_chat(M, "<span class='warning'>You have the strong urge for some [name]!</span>")
if(prob(4))
to_chat(M, "<span class='warning'>You REALLY crave some [name]!</span>")
/datum/reagent/proc/addiction_act_stage5(var/mob/living/M as mob)
if(prob(8))
M.emote("twitch")
if(prob(6))
to_chat(M, "<span class='warning'>Your stomach lurches painfully!</span>")
M.visible_message("<span class='warning'>[M] gags and retches!</span>")
M.Stun(rand(2,4))
M.Weaken(rand(2,4))
if(prob(5))
to_chat(M, "<span class='warning'>You feel like you can't live without [name]!</span>")
if(prob(5))
to_chat(M, "<span class='warning'>You would DIE for some [name] right now!</span>")
/datum/reagent/proc/reagent_deleted()
return
-2
View File
@@ -266,7 +266,6 @@ datum/reagent/super_hairgrownium/on_mob_life(var/mob/living/M as mob)
var/obj/item/clothing/mask/fakemoustache = new /obj/item/clothing/mask/fakemoustache
H.equip_to_slot(fakemoustache, slot_wear_mask)
to_chat(H, "<span class='notice'>Hair bursts forth from your every follicle!")
..()
return
@@ -294,7 +293,6 @@ datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob)
if(holder.has_reagent("simethicone"))
if(prob(25))
to_chat(M, "<span class='danger'>[pick("Oh god, something doesn't feel right!", "IT HURTS!", "FUCK!", "Something is seriously wrong!", "THE PAIN!", "You feel like you're gonna die!")]</span>")
M.adjustBruteLoss(1)
if(prob(10))
M.custom_emote(1,"strains, but nothing happens.")
-8
View File
@@ -363,7 +363,6 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit
if((H.r_ear && (H.r_ear.flags & EARBANGPROTECT)) || (H.l_ear && (H.l_ear.flags & EARBANGPROTECT)) || (H.head && (H.head.flags & HEADBANGPROTECT)))
ear_safety++
to_chat(M, "<span class='warning'>BANG</span>")
if(!ear_safety)
M.Stun(max(10/distance, 3))
M.Weaken(max(10/distance, 3))
@@ -371,16 +370,13 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit
M.ear_deaf = max(M.ear_deaf,15)
if (M.ear_damage >= 15)
to_chat(M, "<span class='warning'>Your ears start to ring badly!</span>")
if(prob(M.ear_damage - 10 + 5))
to_chat(M, "<span class='warning'>You can't hear anything!</span>")
M.disabilities |= DEAF
else
if (M.ear_damage >= 5)
to_chat(M, "<span class='warning'>Your ears start to ring!</span>")
/datum/chemical_reaction/sonic_powder/on_reaction(var/datum/reagents/holder, var/created_volume)
if(holder.has_reagent("stabilizing_agent"))
return
@@ -396,7 +392,6 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit
if((H.r_ear && (H.r_ear.flags & EARBANGPROTECT)) || (H.l_ear && (H.l_ear.flags & EARBANGPROTECT)) || (H.head && (H.head.flags & HEADBANGPROTECT)))
ear_safety++
to_chat(C, "<span class='warning'>BANG</span>")
if(!ear_safety)
M.Stun(max(10/distance, 3))
M.Weaken(max(10/distance, 3))
@@ -404,15 +399,12 @@ datum/reagent/blackpowder/reaction_turf(var/turf/T, var/volume) //oh shit
M.ear_deaf = max(M.ear_deaf,15)
if (M.ear_damage >= 15)
to_chat(M, "<span class='warning'>Your ears start to ring badly!</span>")
if(prob(M.ear_damage - 10 + 5))
to_chat(M, "<span class='warning'>You can't hear anything!</span>")
M.disabilities |= DEAF
else
if (M.ear_damage >= 5)
to_chat(M, "<span class='warning'>Your ears start to ring!</span>")
holder.remove_reagent("sonic_powder", created_volume)
/datum/reagent/phlogiston
-29
View File
@@ -35,7 +35,6 @@
M.reagents.add_reagent("histamine",10)
else
to_chat(M, "<span class='danger'>You feel a burning sensation in your throat...</span>")
M.emote("drool")
/datum/reagent/histamine/on_mob_life(var/mob/living/M as mob)
@@ -44,7 +43,6 @@
M.emote(pick("twitch", "grumble", "sneeze", "cough"))
if(prob(10))
to_chat(M, "<span class='notice'>Your eyes itch.</span>")
M.emote(pick("blink", "sneeze"))
M.eye_blurry += 3
if(prob(10))
@@ -53,7 +51,6 @@
M.emote("grumble")
if(prob(5))
to_chat(M, "<span class='danger'>You're getting a rash!</span>")
M.adjustBruteLoss(2)
..()
return
@@ -61,7 +58,6 @@
/datum/reagent/histamine/overdose_process(var/mob/living/M as mob)
if(prob(2))
to_chat(M, "<span class='danger'>You feel mucus running down the back of your throat.</span>")
M.adjustToxLoss(1)
M.jitteriness += 4
M.emote("sneeze", "cough")
@@ -72,7 +68,6 @@
M.adjustOxyLoss(5)
else if(prob(7))
to_chat(M, "<span class='danger'>Your chest hurts!</span>")
M.emote(pick("cough","gasp"))
M.adjustOxyLoss(3)
..()
@@ -202,12 +197,10 @@
M.emote("drool")
if(prob(10))
to_chat(M, "<span class='danger'>You cannot breathe!</span>")
M.losebreath += 1
M.emote("gasp")
if(prob(8))
to_chat(M, "<span class='danger'>You feel horrendously weak!</span>")
M.Stun(2)
M.adjustToxLoss(2)
..()
@@ -245,7 +238,6 @@
M.emote(pick("twitch", "laugh", "sneeze", "cry"))
if(prob(20))
to_chat(M, "<span class='notice'>Something tickles!</span>")
M.emote(pick("laugh", "giggle"))
if(prob(15))
M.visible_message("<span class='danger'>[M] scratches at an itch.</span>")
@@ -254,13 +246,11 @@
M.emote("grumble")
if(prob(10))
to_chat(M, "<span class='danger'>So itchy!</span>")
M.adjustBruteLoss(2)
if(prob(6))
M.reagents.add_reagent("histamine", rand(1,3))
if(prob(2))
to_chat(M, "<span class='danger'>AHHHHHH!</span>")
M.adjustBruteLoss(5)
M.Weaken(5)
M.jitteriness += 6
@@ -303,7 +293,6 @@
if(volume < 5)
to_chat(M, "<span class='danger'>The blueish acidic substance stings you, but isn't concentrated enough to harm you!</span>")
if(volume >=5 && volume <=10)
if(!H.unacidable)
M.take_organ_damage(0,max(volume-5,2)*4)
@@ -318,10 +307,8 @@
qdel(H.wear_mask)
H.update_inv_wear_mask()
to_chat(H, "\red Your mask melts away but protects you from the acid!")
else
to_chat(H, "\red Your mask protects you from the acid!")
return
if(H.head)
@@ -329,10 +316,8 @@
qdel(H.head)
H.update_inv_head()
to_chat(H, "\red Your helmet melts away but protects you from the acid")
else
to_chat(H, "\red Your helmet protects you from the acid!")
return
if(!H.unacidable)
@@ -349,7 +334,6 @@
I.desc = "Looks like this was \an [O] some time ago."
for(var/mob/M in viewers(5, O))
to_chat(M, "\red \the [O] melts.")
qdel(O)
/datum/chemical_reaction/facid
@@ -375,16 +359,13 @@
M.adjustToxLoss(rand(5,25))
if(prob(33))
to_chat(M, "<span class='danger'>You feel horribly weak.</span>")
M.Stun(2)
if(prob(10))
to_chat(M, "<span class='danger'>You cannot breathe!</span>")
M.adjustOxyLoss(10)
M.losebreath++
if(prob(10))
to_chat(M, "<span class='danger'>Your chest is burning with pain!</span>")
M.adjustOxyLoss(10)
M.losebreath++
M.Stun(3)
@@ -429,7 +410,6 @@
if(6 to 10)
if(prob(8))
to_chat(M, "<span class='danger'>You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].</span>")
M.Stun(1)
else if(prob(8))
M.emote(pick("drool", "tremble"))
@@ -441,10 +421,8 @@
M.losebreath++
if(prob(9))
to_chat(M, "<span class='danger'>You can't [pick("move", "feel your legs", "feel your face", "feel anything")]!</span>")
if(prob(7))
to_chat(M, "<span class='danger'>You can't breathe!</span>")
M.losebreath += 3
..()
return
@@ -580,11 +558,9 @@
switch(rand(1,3))
if(1)
to_chat(M, "<span class='warning'>You feel hungry...</span>")
if(2)
M.adjustToxLoss(1)
to_chat(M, "<span class='warning'>Your stomach grumbles painfully!</span>")
else
if(prob(60))
var/fat_to_burn = max(round(M.nutrition/100,1), 5)
@@ -629,7 +605,6 @@
M.eye_blurry += 5
if(prob(8))
to_chat(M, "<span class='danger'>You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].</span>")
M.Stun(1)
else if(prob(8))
M.emote(pick("drool","pale", "gasp"))
@@ -640,7 +615,6 @@
M.emote(pick("drool", "faint", "pale", "gasp", "collapse"))
else if(prob(8))
to_chat(M, "<span class='danger'>You can't [pick("breathe", "move", "feel your legs", "feel your face", "feel anything")]!</span>")
M.losebreath++
..()
return
@@ -702,7 +676,6 @@
M.jitteriness = 1000
if(prob(5))
to_chat(M, "<span class='warning'>You can't breathe!</span>")
M.emote(pick("gasp", "choke", "cough"))
M.losebreath++
if(61 to INFINITY)
@@ -850,7 +823,6 @@
M.adjustToxLoss(rand(2.4))
if(prob(7))
to_chat(M, "<span class='danger'>A horrible migraine overpowers you.</span>")
M.Stun(rand(2,5))
if(prob(7))
M.fakevomit(1)
@@ -898,7 +870,6 @@
if(iscarbon(M))
if(method == TOUCH || method==INGEST)
to_chat(M, "<span class='warning'>OH SHIT ANTS!!!!</span>")
M.emote("scream")
M.adjustBruteLoss(4)
@@ -221,7 +221,6 @@
to_chat(M, "\blue You feel a chill!")
slimefireproof
name = "Slime Fireproof"
id = "m_fireproof"
@@ -40,13 +40,11 @@
if(can_become_addicted)
if(prob(self.addiction_chance) && !is_type_in_list(self, M.reagents.addiction_list))
to_chat(M, "<span class='danger'>You suddenly feel invigorated and guilty...</span>")
var/datum/reagent/new_reagent = new self.type()
new_reagent.last_addiction_dose = world.timeofday
M.reagents.addiction_list.Add(new_reagent)
else if(is_type_in_list(self, M.reagents.addiction_list))
to_chat(M, "<span class='notice'>You feel slightly better, but for how long?</span>")
for(var/A in M.reagents.addiction_list)
var/datum/reagent/AD = A
if(AD && istype(AD, self))
@@ -75,16 +75,13 @@
var/obj/item/weapon/paper/paperaffected = O
paperaffected.clearpaper()
to_chat(usr, "The solution melts away the ink on the paper.")
if(istype(O,/obj/item/weapon/book))
if(volume >= 5)
var/obj/item/weapon/book/affectedbook = O
affectedbook.dat = null
to_chat(usr, "The solution melts away the ink on the book.")
else
to_chat(usr, "It wasn't enough...")
return
/datum/reagent/ethanol/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with ethanol isn't quite as good as fuel.
@@ -451,7 +451,6 @@
/datum/reagent/sugar/overdose_start(var/mob/living/M as mob)
to_chat(M, "<span class='danger'>You pass out from hyperglycemic shock!</span>")
M.emote("collapse")
..()
@@ -65,7 +65,6 @@
/datum/reagent/slimejelly/on_mob_life(var/mob/living/M as mob)
if(prob(10))
to_chat(M, "\red Your insides are burning!")
M.adjustToxLoss(rand(20,60)*REM)
else if(prob(40))
M.adjustBruteLoss(-5*REM)
@@ -85,13 +84,9 @@
var/mob/living/carbon/human/human = M
if(human.species.name != "Shadow")
to_chat(M, "\red Your flesh rapidly mutates!")
to_chat(M, "<b>You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.</b>")
to_chat(M, "\red Your body reacts violently to light. \green However, it naturally heals in darkness.")
to_chat(M, "Aside from your new traits, you are mentally unchanged and retain your prior obligations.")
human.set_species("Shadow")
..()
return
@@ -270,12 +265,10 @@
if(H.wear_mask)
to_chat(H, "\red Your mask protects you from the acid!")
return
if(H.head)
to_chat(H, "\red Your helmet protects you from the acid!")
return
if(!M.unacidable)
@@ -297,7 +290,6 @@
if(volume < 10)
to_chat(M, "<span class='danger'>The greenish acidic substance stings you, but isn't concentrated enough to harm you!</span>")
if(volume >=10 && volume <=25)
if(!H.unacidable)
M.take_organ_damage(0,min(max(volume-10,2)*2,20))
@@ -322,7 +314,6 @@
I.desc = "Looks like this was \an [O] some time ago."
for(var/mob/M in viewers(5, O))
to_chat(M, "\red \the [O] melts.")
qdel(O)
@@ -441,11 +432,9 @@
safe_thing = victim.glasses
if ( eyes_covered && mouth_covered )
to_chat(victim, "\red Your [safe_thing] protects you from the pepperspray!")
return
else if ( mouth_covered ) // Reduced effects if partially protected
to_chat(victim, "\red Your [safe_thing] protect you from most of the pepperspray!")
if(prob(5))
victim.emote("scream")
victim.eye_blurry = max(M.eye_blurry, 3)
@@ -457,7 +446,6 @@
return
else if ( eyes_covered ) // Eye cover is better than mouth cover
to_chat(victim, "\red Your [safe_thing] protects your eyes from the pepperspray!")
victim.eye_blurry = max(M.eye_blurry, 3)
victim.damageoverlaytemp = 30
return
@@ -465,7 +453,6 @@
if(prob(5))
victim.emote("scream")
to_chat(victim, "\red You're sprayed directly in the eyes with pepperspray!")
victim.eye_blurry = max(M.eye_blurry, 5)
victim.eye_blind = max(M.eye_blind, 2)
victim.confused = max(M.confused, 6)
@@ -256,7 +256,6 @@
if(method == INGEST)
to_chat(M, "Oh god, why did you drink that?")
/datum/reagent/fishwater/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(30)) // Nasty, you drank this stuff? 30% chance of the fakevomit (non-stunning version)
@@ -309,16 +308,13 @@
switch(data)
if(1 to 4)
to_chat(M, "<span class = 'warning'>Something sizzles in your veins!</span>")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
if(5 to 12)
to_chat(M, "<span class = 'danger'>You feel an intense burning inside of you!</span>")
M.adjustFireLoss(1)
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
if(13 to INFINITY)
to_chat(M, "<span class = 'danger'>You suddenly ignite in a holy fire!</span>")
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class = 'danger'>[] suddenly bursts into flames!<span>", M), 1)
M.fire_stacks = min(5,M.fire_stacks + 3)
@@ -335,15 +331,12 @@
if(method == TOUCH)
if(H.wear_mask)
to_chat(H, "\red Your mask protects you from the holy water!")
return
else if(H.head)
to_chat(H, "\red Your helmet protects you from the holy water!")
return
else
to_chat(M, "<span class='warning'>Something holy interferes with your powers!</span>")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
-2
View File
@@ -275,7 +275,6 @@
if(stat & (NOPOWER|BROKEN)) return
if(beaker)
to_chat(user, "<span class='warning'>A beaker is already loaded into the machine!</span>")
return
if(!user.drop_item())
return
@@ -283,7 +282,6 @@
beaker = I
beaker.loc = src
to_chat(user, "<span class='notice'>You add the beaker to the machine.</span>")
src.updateUsrDialog()
icon_state = "mixer1"
@@ -81,11 +81,9 @@
if(is_open_container())
if(reagents.total_volume >= volume)
to_chat(user, "span class='warning'>\The [src] is full.</span>")
return
else
reagents.add_reagent("water", min(volume - reagents.total_volume, amount_per_transfer_from_this))
to_chat(user, "<span class='notice'>You fill [src] from [source].</span>")
return
..()
@@ -73,16 +73,13 @@
var/datum/reagents/R = reagent_list[mode]
if(!R.total_volume)
to_chat(user, "<span class='warning'>The injector is empty.</span>")
return
if (!istype(M))
return
if (R.total_volume && M.can_inject(user, 1, penetrate_thick = bypass_protection))
to_chat(user, "<span class='notice'>You inject [M] with the injector.</span>")
to_chat(M, "<span class='notice'>You feel a tiny prick!</span>")
R.add_reagent(M)
if(M.reagents)
var/datum/reagent/injected = chemical_reagents_list[reagent_ids[mode]]
@@ -95,7 +92,6 @@
var/trans = R.trans_to(M, amount_per_transfer_from_this)
to_chat(user, "<span class='notice'>[trans] units injected. [R.total_volume] units remaining.</span>")
return
/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob)
@@ -107,7 +103,6 @@
charge_tick = 0 //Prevents wasted chems/cell charge if you're cycling through modes.
var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]]
to_chat(user, "<span class='notice'>Synthesizer is now producing '[R.name]'.</span>")
return
/obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
@@ -120,9 +115,7 @@
var/datum/reagent/R = locate() in RS.reagent_list
if(R)
to_chat(user, "<span class='notice'>It currently has [R.volume] units of [R.name] stored.</span>")
empty = 0
if(empty)
to_chat(user, "<span class='notice'>It is currently empty. Allow some time for the internal syntheszier to produce more.</span>")
@@ -18,12 +18,10 @@
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "\red [target] is full.")
return
if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/cigarette)) //You can inject humans and food but you cant remove the shit.
to_chat(user, "\red You cannot directly fill this object.")
return
var/trans = 0
@@ -56,7 +54,6 @@
to_chat(user, "\blue You transfer [trans] units of the solution.")
if (src.reagents.total_volume<=0)
filled = 0
icon_state = "[initial(icon_state)]"
@@ -96,7 +93,6 @@
trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "\blue You transfer [trans] units of the solution.")
if (src.reagents.total_volume<=0)
filled = 0
icon_state = "[initial(icon_state)]"
@@ -105,19 +101,16 @@
if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers))
to_chat(user, "\red You cannot directly remove reagents from [target].")
return
if(!target.reagents.total_volume)
to_chat(user, "\red [target] is empty.")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
to_chat(user, "\blue You fill the [src] with [trans] units of the solution.")
filled = 1
icon_state = "[initial(icon_state)][filled]"
@@ -25,33 +25,27 @@
if(!target.reagents.total_volume && target.reagents)
to_chat(user, "\red [target] is empty.")
return
if(reagents.total_volume >= reagents.maximum_volume)
to_chat(user, "\red [src] is full.")
return
for(var/datum/reagent/A in target.reagents.reagent_list)
if(A.reagent_state != 1)
to_chat(user, "\red You can only put powders in [src].")
return
var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this)
to_chat(user, "\blue You fill [src] with [trans] units of the contents of [target].")
else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it.
if(!reagents.total_volume)
to_chat(user, "\red [src] is empty.")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "\red [target] is full.")
return
// /vg/: Logging transfers of bad things
@@ -68,7 +62,6 @@
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "\blue You transfer [trans] units of the solution to [target].")
//Safety for dumping stuff into a ninja suit. It handles everything through attackby() and this is unnecessary.
/*else if(istype(target, /obj/machinery/bunsen_burner))
@@ -83,10 +76,8 @@
var/tmp_label = sanitize(input(user, "Enter a label for [src.name]","Label",src.label_text))
if(length(tmp_label) > 10)
to_chat(user, "\red The label can be at most 10 characters long.")
else
to_chat(user, "\blue You set the label to \"[tmp_label]\".")
src.label_text = tmp_label
src.update_name_label()
@@ -9,7 +9,6 @@
if (canopened == 0)
playsound(src.loc,'sound/effects/canopen.ogg', rand(10,50), 1)
to_chat(user, "<span class='notice'>You open the drink with an audible pop!</span>")
canopened = 1
flags |= OPENCONTAINER
else
@@ -18,7 +17,6 @@
attack(mob/M as mob, mob/user as mob, def_zone)
if (canopened == 0)
to_chat(user, "<span class='notice'>You need to open the drink!</span>")
return
return ..(M, user, def_zone)
@@ -27,11 +25,9 @@
if(!proximity) return
if(istype(target, /obj/structure/reagent_dispensers) && (canopened == 0))
to_chat(user, "<span class='notice'>You need to open the drink!</span>")
return
else if(target.is_open_container() && (canopened == 0))
to_chat(user, "<span class='notice'>You need to open the drink!</span>")
return
else
return ..(target, user, proximity)
@@ -41,21 +37,16 @@
return
if(!reagents || reagents.total_volume==0)
to_chat(user, "\blue \The [src] is empty!")
else if (reagents.total_volume<=src.volume/4)
to_chat(user, "\blue \The [src] is almost empty!")
else if (reagents.total_volume<=src.volume*0.66)
to_chat(user, "\blue \The [src] is half full!")
else if (reagents.total_volume<=src.volume*0.90)
to_chat(user, "\blue \The [src] is almost full!")
else
to_chat(user, "\blue \The [src] is full!")*/
//DRINKS
/obj/item/weapon/reagent_containers/food/drinks/cans/cola
@@ -40,12 +40,10 @@
if(!R || !R.total_volume)
to_chat(user, "\red None of [src] left, oh no!")
return 0
if(M == user)
to_chat(M, "\blue You swallow some of contents of the [src].")
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(0)
@@ -88,32 +86,26 @@
if(!target.reagents.total_volume)
to_chat(user, "\red [target] is empty.")
return
if(reagents.total_volume >= reagents.maximum_volume)
to_chat(user, "\red [src] is full.")
return
var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this)
to_chat(user, "\blue You fill [src] with [trans] units of the contents of [target].")
//Something like a glass or a food item. Player probably wants to transfer TO it.
else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks))
if(!reagents.total_volume)
to_chat(user, "\red [src] is empty.")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "\red you can't add anymore to [target].")
return
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "\blue You transfer [trans] units of the condiment to [target].")
/obj/item/weapon/reagent_containers/food/condiment/on_reagent_change()
if(!possible_states.len)
return
@@ -239,18 +231,15 @@
if(istype(target, /obj/item/weapon/reagent_containers/food/snacks))
if(!reagents.total_volume)
to_chat(user, "<span class='warning'>You tear open [src], but there's nothing in it.</span>")
qdel(src)
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "<span class='warning'>You tear open [src], but [target] is stacked so high that it just drips off!</span>")//Not sure if food can ever be full, but better safe than sorry.
qdel(src)
return
else
to_chat(user, "<span class='notice'>You tear open [src] above [target] and the condiments drip onto it.</span>")
src.reagents.trans_to(target, amount_per_transfer_from_this)
qdel(src)
@@ -23,7 +23,6 @@
/obj/item/weapon/reagent_containers/food/drinks/attack(mob/M as mob, mob/user as mob, def_zone)
if(!reagents || !reagents.total_volume)
to_chat(user, "<span class='warning'> None of [src] left, oh no!</span>")
return 0
if(istype(M, /mob/living/carbon))
@@ -47,34 +46,28 @@
var/obj/item/weapon/reagent_containers/food/drinks/cans/cantarget = target
if(cantarget.canopened == 0)
to_chat(user, "<span class='notice'>You need to open the drink you want to pour into!</span>")
return
if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
if(!target.reagents.total_volume)
to_chat(user, "<span class='warning'> [target] is empty.</span>")
return
if(reagents.total_volume >= reagents.maximum_volume)
to_chat(user, "<span class='warning'> [src] is full.</span>")
return
var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this)
to_chat(user, "<span class='notice'> You fill [src] with [trans] units of the contents of [target].</span>")
else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it.
if(!reagents.total_volume)
to_chat(user, "<span class='warning'> [src] is empty.</span>")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "<span class='warning'> [target] is full.</span>")
return
@@ -88,7 +81,6 @@
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "<span class='notice'> You transfer [trans] units of the solution to [target].</span>")
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
if(refill in drinks) // Only synthesize drinks
var/mob/living/silicon/robot/bro = user
@@ -97,12 +89,10 @@
to_chat(user, "Now synthesizing [trans] units of [refillName]...")
spawn(300)
reagents.add_reagent(refill, trans)
to_chat(user, "Cyborg [src] refilled.")
return
/obj/item/weapon/reagent_containers/food/drinks/attackby(var/obj/item/I, mob/user as mob, params)
@@ -112,7 +102,6 @@
if(src.reagents)
src.reagents.chem_temp += 15
to_chat(user, "<span class='notice'>You heat [src] with [I].</span>")
src.reagents.handle_reactions()
/obj/item/weapon/reagent_containers/food/drinks/examine(mob/user)
@@ -120,21 +109,16 @@
return
if(!reagents || reagents.total_volume==0)
to_chat(user, "<span class='notice'> \The [src] is empty!</span>")
else if (reagents.total_volume<=src.volume/4)
to_chat(user, "<span class='notice'> \The [src] is almost empty!</span>")
else if (reagents.total_volume<=src.volume*0.66)
to_chat(user, "<span class='notice'> \The [src] is half full!</span>")// We're all optimistic, right?!
else if (reagents.total_volume<=src.volume*0.90)
to_chat(user, "<span class='notice'> \The [src] is almost full!</span>")
else
to_chat(user, "<span class='notice'> \The [src] is full!</span>")
////////////////////////////////////////////////////////////////////////////////
/// Drinks. END
////////////////////////////////////////////////////////////////////////////////
@@ -26,18 +26,15 @@
if(src.contents.len > sandwich_limit)
to_chat(user, "\red If you put anything else on \the [src] it's going to collapse.")
return
else if(istype(W,/obj/item/weapon/shard))
to_chat(user, "\blue You hide [W] in \the [src].")
user.drop_item()
W.loc = src
update()
return
else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks))
to_chat(user, "\blue You layer [W] over \the [src].")
var/obj/item/weapon/reagent_containers/F = W
F.reagents.trans_to(src, F.reagents.total_volume)
user.drop_item()
@@ -88,7 +85,6 @@
var/obj/item/O = pick(contents)
to_chat(user, "\blue You think you can see [O.name] in there.")
/obj/item/weapon/reagent_containers/food/snacks/csandwich/attack(mob/M as mob, mob/user as mob, def_zone)
var/obj/item/shard
@@ -103,7 +99,6 @@
if(H && shard && M == user) //This needs a check for feeding the food to other people, but that could be abusable.
to_chat(H, "\red You lacerate your mouth on a [shard.name] in the sandwich!")
H.adjustBruteLoss(5) //TODO: Target head if human.
..()
*/
@@ -22,7 +22,6 @@
if(!reagents.total_volume)
if(M == usr)
to_chat(usr, "<span class='notice'>You finish eating \the [src].</span>")
usr.visible_message("<span class='notice'>[usr] finishes eating \the [src].</span>")
usr.unEquip(src) //so icons update :[
@@ -41,7 +40,6 @@
/obj/item/weapon/reagent_containers/food/snacks/attack(mob/M as mob, mob/user as mob, def_zone)
if(reagents && !reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it.
to_chat(user, "<span class='warning'>None of [src] left, oh no!</span>")
M.unEquip(src) //so icons update :[
qdel(src)
return 0
@@ -63,15 +61,12 @@
return
else if (bitecount==1)
to_chat(user, "\blue \The [src] was bitten by someone!")
else if (bitecount<=3)
to_chat(user, "\blue \The [src] was bitten [bitecount] times!")
else
to_chat(user, "\blue \The [src] was bitten multiple times!")
/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W,/obj/item/weapon/pen))
var/n_name = sanitize(copytext(input(usr, "What would you like to name this dish?", "Food Renaming", null) as text, 1, MAX_NAME_LEN))
@@ -87,7 +82,6 @@
if(U.contents.len >= U.max_contents)
to_chat(user, "<span class='warning'>You cannot fit anything else on your [U].")
return
user.visible_message( \
@@ -139,7 +133,6 @@
if(!iscarbon(user))
return 1
to_chat(user, "\red You slip [W] inside [src].")
user.unEquip(W)
if ((user.client && user.s_active != src))
user.client.screen -= W
@@ -156,7 +149,6 @@
!(locate(/obj/item/weapon/storage/bag/tray) in src.loc) \
)
to_chat(user, "\red You cannot slice [src] here! You need a table or at least a tray to do it.")
return 1
var/slices_lost = 0
if (!inaccurate)
@@ -202,7 +194,6 @@
else if(ismouse(M))
var/mob/living/simple_animal/mouse/N = M
to_chat(N, text("\blue You nibble away at [src]."))
if(prob(50))
N.visible_message("[N] nibbles away at [src].", "")
//N.emote("nibbles away at the [src]")
@@ -519,11 +510,9 @@
if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow")))
to_chat(usr, "\blue The egg refuses to take on this color!")
return
to_chat(usr, "\blue You color \the [src] [clr]")
icon_state = "egg-[clr]"
item_color = clr
else
@@ -1153,7 +1142,6 @@
On_Consume()
if(prob(unpopped)) //lol ...what's the point?
to_chat(usr, "\red You bite down on an un-popped kernel!")
unpopped = max(0, unpopped-1)
..()
@@ -1615,7 +1603,6 @@
if(!proximity) return
if(istype(O,/obj/structure/sink) && !wrapped)
to_chat(user, "<span class='notice'>You place [src] under a stream of water...</span>")
user.drop_item()
forceMove(get_turf(O))
return Expand()
@@ -1623,7 +1610,6 @@
var/obj/machinery/computer/camera_advanced/xenobio/X = O
X.monkeys++
to_chat(user, "<span class='notice'>You feed [src] to the [X]. It now has [X.monkeys] monkey cubes stored.</span>")
qdel(src)
return
..()
@@ -1653,7 +1639,6 @@
icon_state = "monkeycube"
desc = "Just add water!"
to_chat(user, "<span class='notice'>You unwrap the cube.</span>")
wrapped = 0
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped
@@ -2843,7 +2828,6 @@
user.put_in_hands( pizza )
to_chat(user, "\red You take the [src.pizza] out of the [src].")
src.pizza = null
update_icon()
return
@@ -2858,7 +2842,6 @@
user.put_in_hands( box )
to_chat(user, "\red You remove the topmost [src] from your hand.")
box.update_icon()
update_icon()
return
@@ -2898,14 +2881,11 @@
update_icon()
to_chat(user, "\red You put the [box] ontop of the [src]!")
else
to_chat(user, "\red The stack is too high!")
else
to_chat(user, "\red Close the [box] first!")
return
if( istype(I, /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/) ) // Long ass fucking object name
@@ -2918,10 +2898,8 @@
update_icon()
to_chat(user, "\red You put the [I] in the [src]!")
else
to_chat(user, "\red You try to push the [I] through the lid but it doesn't work!")
return
if( istype(I, /obj/item/weapon/pen/) )
@@ -3225,11 +3203,9 @@
if(isturf(loc))
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough(loc)
to_chat(user, "<span class='notice'>You flatten [src].</span>")
qdel(src)
else
to_chat(user, "<span class='notice'>You need to put [src] on a surface to roll it out!</span>")
else
..()
@@ -18,7 +18,6 @@
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
to_chat(user, "You cut the meat in thin strips.")
qdel(src)
else
..()
@@ -52,16 +52,13 @@
if (!is_open_container())
to_chat(user, "<span class='notice'>Airtight lid seals it completely.</span>")
/obj/item/weapon/reagent_containers/glass/attack_self()
..()
if (is_open_container())
to_chat(usr, "<span class='notice'>You put the lid on \the [src].</span>")
flags ^= OPENCONTAINER
else
to_chat(usr, "<span class='notice'>You take the lid off \the [src].</span>")
flags |= OPENCONTAINER
update_icon()
@@ -77,7 +74,6 @@
if(ismob(target) && target.reagents && reagents.total_volume)
to_chat(user, "<span class='notice'>You splash the solution onto [target].</span>")
var/mob/living/M = target
var/list/injected = list()
for(var/datum/reagent/R in reagents.reagent_list)
@@ -101,27 +97,22 @@
if(!target.reagents.total_volume && target.reagents)
to_chat(user, "<span class='warning'>[target] is empty.</span>")
return
if(reagents.total_volume >= reagents.maximum_volume)
to_chat(user, "<span class='warning'>[src] is full.</span>")
return
var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this)
to_chat(user, "<span class='notice'>You fill [src] with [trans] units of the contents of [target].</span>")
else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it.
if(!reagents.total_volume)
to_chat(user, "<span class='warning'>[src] is empty.</span>")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "<span class='warning'>[target] is full.</span>")
return
// /vg/: Logging transfers of bad things
@@ -138,10 +129,8 @@
var/trans = reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "<span class='notice'>You transfer [trans] units of the solution to [target].</span>")
else if(istype(target, /obj/item/weapon/reagent_containers/glass) && !target.is_open_container())
to_chat(user, "<span class='warning'>You cannot fill [target] while it is sealed.</span>")
return
/*else if(istype(target, /obj/machinery/bunsen_burner))
@@ -155,7 +144,6 @@
else if(reagents.total_volume)
to_chat(user, "<span class='notice'>You splash the solution onto [target].</span>")
reagents.reaction(target, TOUCH)
spawn(5) reagents.clear_reagents()
return
@@ -168,16 +156,13 @@
if(reagents)
reagents.chem_temp += 15
to_chat(user, "<span class='notice'>You heat [src] with [I].</span>")
reagents.handle_reactions()
if(istype(I, /obj/item/weapon/pen) || istype(I, /obj/item/device/flashlight/pen))
var/tmp_label = sanitize(input(user, "Enter a label for [name]","Label",label_text))
if(length(tmp_label) > MAX_NAME_LEN)
to_chat(user, "<span class='warning'>The label can be at most [MAX_NAME_LEN] characters long.</span>")
else
to_chat(user, "<span class='notice'>You set the label to \"[tmp_label]\".</span>")
label_text = tmp_label
update_name_label()
if(istype(I,/obj/item/weapon/storage/bag))
@@ -246,14 +231,12 @@
return
if (assembly)
to_chat(usr, "<span class='notice'>You detach [assembly] from \the [src]</span>")
usr.put_in_hands(assembly)
assembly = null
update_icon()
else
to_chat(usr, "<span class='notice'>There is no assembly to remove.</span>")
/obj/item/weapon/reagent_containers/glass/beaker/proc/heat_beaker()
if(reagents)
reagents.chem_temp += 30
@@ -263,7 +246,6 @@
if (istype(W,/obj/item/device/assembly_holder))
if (assembly)
to_chat(usr, "<span class='warning'>The [src] already has an assembly.</span>")
return ..()
assembly = W
user.drop_item()
@@ -362,7 +344,6 @@
/obj/item/weapon/reagent_containers/glass/bucket/attackby(var/obj/D, mob/user as mob, params)
if(isprox(D))
to_chat(user, "You add [D] to [src].")
qdel(D)
user.put_in_hands(new /obj/item/weapon/bucket_sensor)
user.unEquip(src)
@@ -18,16 +18,13 @@
/obj/item/weapon/reagent_containers/hypospray/attack(mob/living/M, mob/user)
if(!reagents.total_volume)
to_chat(user, "\red [src] is empty.")
return
if(!istype(M))
return
if(reagents.total_volume && (ignore_flags || M.can_inject(user, 1)))
to_chat(user, "\blue You inject [M] with [src].")
to_chat(M, "\red You feel a tiny prick!")
src.reagents.add_reagent(M)
if(M.reagents)
var/list/injected = list()
@@ -46,7 +43,6 @@
var/trans = reagents.trans_to(M, amount_per_transfer_from_this)
to_chat(user, "\blue [trans] units injected. [reagents.total_volume] units remaining in [src].")
return
/obj/item/weapon/reagent_containers/hypospray/CMO/New()
@@ -107,11 +103,9 @@
..(user)
if(reagents && reagents.reagent_list.len)
to_chat(user, "\blue It is currently loaded.")
else
to_chat(user, "\blue It is spent.")
/obj/item/weapon/reagent_containers/hypospray/autoinjector/teporone //basilisks
name = "teporone autoinjector"
desc = "A rapid way to regulate your body's temperature in the event of a hardsuit malfunction at the cost of some shortness of breath."
@@ -34,7 +34,6 @@
if(target.is_open_container() != 0 && target.reagents)
if(!target.reagents.total_volume)
to_chat(user, "<span class='warning'>[target] is empty. Cant dissolve [src].</span>")
return
// /vg/: Logging transfers of bad things
@@ -49,7 +48,6 @@
log_game("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].")
to_chat(user, "<span class='notify'>You dissolve [src] in [target].</span>")
reagents.trans_to(target, reagents.total_volume)
for(var/mob/O in viewers(2, user))
O.show_message("<span class='warning'>[user] puts something in [target].</span>", 1)
@@ -16,12 +16,10 @@
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "\red [target] is full.")
return
if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food)) //You can inject humans and food but you cant remove the shit.
to_chat(user, "\red You cannot directly fill this object.")
return
@@ -65,7 +63,6 @@
to_chat(user, "\blue You transfer [trans] units of the solution.")
if (src.reagents.total_volume<=0)
filled = 0
icon_state = "[initial(icon_state)]"
@@ -92,7 +89,6 @@
trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "\blue You transfer [trans] units of the solution.")
if (src.reagents.total_volume<=0)
filled = 0
icon_state = "[initial(icon_state)]"
@@ -101,19 +97,16 @@
if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers))
to_chat(user, "\red You cannot directly remove reagents from [target].")
return
if(!target.reagents.total_volume)
to_chat(user, "\red [target] is empty.")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
to_chat(user, "\blue You fill the dropper with [trans] units of the solution.")
filled = 1
icon_state = "[initial(icon_state)][filled]"
@@ -28,22 +28,18 @@
if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) //this block copypasted from reagent_containers/glass, for lack of a better solution
if(!A.reagents.total_volume && A.reagents)
to_chat(user, "<span class='notice'>\The [A] is empty.</span>")
return
if(reagents.total_volume >= reagents.maximum_volume)
to_chat(user, "<span class='notice'>\The [src] is full.</span>")
return
var/trans = A.reagents.trans_to(src, A:amount_per_transfer_from_this)
to_chat(user, "<span class='notice'>You fill \the [src] with [trans] units of the contents of \the [A].</span>")
return
if(reagents.total_volume < amount_per_transfer_from_this)
to_chat(user, "<span class='notice'>\The [src] is empty!</span>")
return
spray(A)
@@ -85,12 +81,10 @@
spray_currentrange = (spray_currentrange == 1 ? spray_maxrange : 1)
to_chat(user, "<span class='notice'>You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray.</span>")
/obj/item/weapon/reagent_containers/spray/examine(mob/user)
if(..(user, 0) && user==src.loc)
to_chat(user, "[round(src.reagents.total_volume)] units left.")
/obj/item/weapon/reagent_containers/spray/verb/empty()
set name = "Empty Spray Bottle"
@@ -102,7 +96,6 @@
return
if(isturf(usr.loc) && src.loc == usr)
to_chat(usr, "<span class='notice'>You empty \the [src] onto the floor.</span>")
reagents.reaction(usr.loc)
src.reagents.clear_reagents()
@@ -217,7 +210,6 @@
to_chat(user, "<span class='notice'>You adjust the output switch. You'll now use [amount_per_transfer_from_this] units per spray.</span>")
// Plant-B-Gone
/obj/item/weapon/reagent_containers/spray/plantbgone // -- Skie
name = "Plant-B-Gone"
@@ -63,7 +63,6 @@
if(mode == SYRINGE_BROKEN)
to_chat(user, "\red This syringe is broken!")
return
/* if (user.a_intent == I_HARM && ismob(target))
@@ -78,27 +77,22 @@
if(reagents.total_volume >= reagents.maximum_volume)
to_chat(user, "\red The syringe is full.")
return
if(ismob(target))//Blood!
if(istype(target, /mob/living/carbon/slime))
to_chat(user, "\red You are unable to locate any blood.")
return
if(src.reagents.has_reagent("blood"))
to_chat(user, "\red There is already a blood sample in this syringe")
return
if(istype(target, /mob/living/carbon))//maybe just add a blood reagent to all mobs. Then you can suck them dry...With hundreds of syringes. Jolly good idea.
var/mob/living/carbon/T = target
if(!T.dna)
to_chat(usr, "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)")
return
if(NOCLONE in T.mutations) //target done been et, no more blood in him
to_chat(user, "\red You are unable to locate any blood.")
return
@@ -107,7 +101,6 @@
var/mob/living/carbon/human/H = T
if(H.species.flags & NO_BLOOD)
to_chat(usr, "<span class='warning'>You are unable to locate any blood.</span>")
return
if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space))
time = 60
@@ -122,7 +115,6 @@
var/amount = src.reagents.maximum_volume - src.reagents.total_volume
if(amount == 0)
to_chat(usr, "<span class='warning'>The syringe is full!</span>")
return
var/datum/reagent/B
@@ -142,7 +134,6 @@
src.reagents.handle_reactions()
to_chat(user, "\blue You take a blood sample from [target]")
for(var/mob/O in viewers(4, user))
O.show_message("\red [user] takes a blood sample from [target].", 1)
else
@@ -151,18 +142,15 @@
else //if not mob
if(!target.reagents.total_volume)
to_chat(user, "\red [target] is empty.")
return
if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers) && !istype(target,/obj/item/slime_extract))
to_chat(user, "\red You cannot directly remove reagents from this object.")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares?
to_chat(user, "\blue You fill the syringe with [trans] units of the solution.")
if (reagents.total_volume >= reagents.maximum_volume)
mode=!mode
update_icon()
@@ -170,24 +158,20 @@
if(SYRINGE_INJECT)
if(!reagents.total_volume)
to_chat(user, "\red The Syringe is empty.")
return
if(istype(target, /obj/item/weapon/implantcase/chem))
return
if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes))
to_chat(user, "\red You cannot directly fill this object.")
return
if(istype(target, /obj/item/clothing/mask/cigarette))
var/obj/item/clothing/mask/cigarette/C = target
if(istype(C.loc, /obj/item/weapon/storage/fancy/cigarettes))
to_chat(user, "\red You cannot inject a cigarette while it's still in the pack.")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "\red [target] is full.")
return
var/mob/living/carbon/human/H = target
@@ -195,11 +179,9 @@
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
if(!affected)
to_chat(user, "<span class='danger'>\The [H] is missing that limb!</span>")
return
/* else if(affected.status & ORGAN_ROBOT)
to_chat(user, "<span class='danger'>You cannot inject a robotic limb.</span>")
return */
if(ismob(target) && target != user)
@@ -275,7 +257,6 @@
else
trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "\blue You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.")
if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT)
mode = SYRINGE_DRAW
update_icon()
@@ -327,7 +308,6 @@
if (!affecting || (affecting.status & ORGAN_DESTROYED) || affecting.is_stump())
to_chat(user, "<span class='danger'>They are missing that limb!</span>")
return
var/hit_area = affecting.name
@@ -406,29 +386,24 @@
if(reagents.total_volume >= reagents.maximum_volume)
to_chat(user, "\red The syringe is full.")
return
if(ismob(target))
if(istype(target, /mob/living/carbon))//I Do not want it to suck 50 units out of people
to_chat(usr, "This needle isn't designed for drawing blood.")
return
else //if not mob
if(!target.reagents.total_volume)
to_chat(user, "\red [target] is empty.")
return
if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers))
to_chat(user, "\red You cannot directly remove reagents from this object.")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares?
to_chat(user, "\blue You fill the syringe with [trans] units of the solution.")
if (reagents.total_volume >= reagents.maximum_volume)
mode=!mode
update_icon()
@@ -436,17 +411,14 @@
if(SYRINGE_INJECT)
if(!reagents.total_volume)
to_chat(user, "\red The Syringe is empty.")
return
if(istype(target, /obj/item/weapon/implantcase/chem))
return
if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food))
to_chat(user, "\red You cannot directly fill this object.")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "\red [target] is full.")
return
if(ismob(target) && target != user)
@@ -461,7 +433,6 @@
spawn(5)
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "\blue You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.")
if (reagents.total_volume >= reagents.maximum_volume && mode==SYRINGE_INJECT)
mode = SYRINGE_DRAW
update_icon()
@@ -27,15 +27,12 @@
if(!..(user, 2))
return
to_chat(user, "\blue It contains:")
if(reagents && reagents.reagent_list.len)
for(var/datum/reagent/R in reagents.reagent_list)
to_chat(user, "\blue [R.volume] units of [R.name]")
else
to_chat(user, "\blue Nothing.")
/obj/structure/reagent_dispensers/verb/set_APTFT() //set amount_per_transfer_from_this
set name = "Set transfer amount"
set category = "Object"
@@ -120,7 +117,6 @@
if(rig)
to_chat(usr, "<span class='notice'>There is some kind of device rigged to the tank.")
/obj/structure/reagent_dispensers/fueltank/attack_hand()
if (rig)
usr.visible_message("[usr] begins to detach [rig] from \the [src].", "You begin to detach [rig] from \the [src]")
@@ -134,7 +130,6 @@
if (istype(W,/obj/item/device/assembly_holder) && accepts_rig)
if (rig)
to_chat(user, "\red There is another device in the way.")
return ..()
user.visible_message("[user] begins rigging [W] to \the [src].", "You begin rigging [W] to \the [src]")
if(do_after(user, 20, target = src))