mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 02:54:41 +01:00
Reduce lines by removing blank lines added by PJ's script
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user