Merge branch 'dev' into ofChemistryAndStuff

Conflicts:
	code/game/objects/effects/chem/chemsmoke.dm
	code/modules/customitems/item_defines.dm
	code/modules/projectiles/guns/launcher/syringe_gun.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
	code/modules/reagents/reagent_containers/food/drinks.dm
	code/modules/reagents/reagent_containers/pill.dm
	maps/exodus-1.dmm
This commit is contained in:
Kelenius
2015-05-15 11:28:05 +03:00
468 changed files with 7273 additions and 9076 deletions

View File

@@ -16,10 +16,10 @@
attack_self(mob/user as mob)
return
attack(mob/M as mob, mob/user as mob, def_zone)
attack(mob/M as mob, mob/user as mob, def_zone)
if(standard_feed_mob(user, M))
robot_refill(user)
return
return
return 0
@@ -189,6 +189,15 @@
volume = 120
center_of_mass = list("x"=17, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/teapot
name = "teapot"
desc = "An elegant teapot. It simply oozes class."
icon_state = "teapot"
item_state = "teapot"
amount_per_transfer_from_this = 10
volume = 120
center_of_mass = list("x"=17, "y"=7)
/obj/item/weapon/reagent_containers/food/drinks/flask
name = "Captain's Flask"
desc = "A metal flask belonging to the captain"
@@ -196,6 +205,16 @@
volume = 60
center_of_mass = list("x"=17, "y"=7)
/obj/item/weapon/reagent_containers/food/drinks/flask/shiny
name = "shiny flask"
desc = "A shiny metal flask. It appears to have a Greek symbol inscribed on it."
icon_state = "shinyflask"
/obj/item/weapon/reagent_containers/food/drinks/flask/lithium
name = "lithium flask"
desc = "A flask with a Lithium Atom symbol on it."
icon_state = "lithiumflask"
/obj/item/weapon/reagent_containers/food/drinks/flask/detflask
name = "Detective's Flask"
desc = "A metal flask with a leather band and golden badge belonging to the detective."

View File

@@ -46,35 +46,44 @@
if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(H.species.flags & IS_SYNTHETIC)
H << "\red You have a monitor for a head, where do you think you're going to put that?"
H << "<span class='danger'>You have a monitor for a head, where do you think you're going to put that?</span>"
return
var/obj/item/blocked = H.check_mouth_coverage()
if(blocked)
user << "<span class='warning'>\The [blocked] is in the way!</span>"
return
if (fullness <= 50)
M << "\red You hungrily chew out a piece of [src] and gobble it!"
M << "<span class='danger'>You hungrily chew out a piece of [src] and gobble it!</span>"
if (fullness > 50 && fullness <= 150)
M << "\blue You hungrily begin to eat [src]."
M << "<span class='notice'>You hungrily begin to eat [src].</span>"
if (fullness > 150 && fullness <= 350)
M << "\blue You take a bite of [src]."
M << "<span class='notice'>You take a bite of [src].</span>"
if (fullness > 350 && fullness <= 550)
M << "\blue You unwillingly chew a bit of [src]."
M << "<span class='notice'>You unwillingly chew a bit of [src].</span>"
if (fullness > (550 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat
M << "\red You cannot force any more of [src] to go down your throat."
M << "<span class='danger'>You cannot force any more of [src] to go down your throat.</span>"
return 0
else
if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(H.species.flags & IS_SYNTHETIC)
H << "\red They have a monitor for a head, where do you think you're going to put that?"
user << "<span class='danger'>They have a monitor for a head, where do you think you're going to put that?</span>"
return
var/obj/item/blocked = H.check_mouth_coverage()
if(blocked)
user << "<span class='warning'>\The [blocked] is in the way!</span>"
return
if(!istype(M, /mob/living/carbon/slime)) //If you're feeding it to someone else.
if (fullness <= (550 * (1 + M.overeatduration / 1000)))
for(var/mob/O in viewers(world.view, user))
O.show_message("\red [user] attempts to feed [M] [src].", 1)
user.visible_message("<span class='danger'>[user] attempts to feed [M] [src].</span>")
else
for(var/mob/O in viewers(world.view, user))
O.show_message("\red [user] cannot force anymore of [src] down [M]'s throat.", 1)
return 0
user.visible_message("<span class='danger'>[user] cannot force anymore of [src] down [M]'s throat.</span>")
return 0
if(!do_mob(user, M)) return
@@ -82,8 +91,7 @@
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Fed [src.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]</font>")
msg_admin_attack("[key_name(user)] fed [key_name(M)] with [src.name] Reagents: [reagentlist(src)] (INTENT: [uppertext(user.a_intent)])")
for(var/mob/O in viewers(world.view, user))
O.show_message("\red [user] feeds [M] [src].", 1)
user.visible_message("<span class='danger'>[user] feeds [M] [src].</span>")
else
user << "This creature does not seem to have a mouth!"
@@ -154,7 +162,7 @@
var/hide_item = !has_edge(W) || !can_slice_here
if (hide_item)
if (W.w_class >= src.w_class || W.is_robot_module())
if (W.w_class >= src.w_class || is_robot_module(W))
return
user << "\red You slip [W] inside [src]."
@@ -480,8 +488,8 @@
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/egg/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype( W, /obj/item/toy/crayon ))
var/obj/item/toy/crayon/C = W
if(istype( W, /obj/item/weapon/pen/crayon ))
var/obj/item/weapon/pen/crayon/C = W
var/clr = C.colourName
if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow")))

View File

@@ -214,7 +214,7 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "bucket"
item_state = "bucket"
matter = list("metal" = 200)
matter = list(DEFAULT_WALL_MATERIAL = 200)
w_class = 3.0
amount_per_transfer_from_this = 20
possible_transfer_amounts = list(10,20,30,60,120)

View File

@@ -25,7 +25,12 @@
H << "<span class='notice'>You have a monitor for a head, where do you think you're going to put that?</span>"
return
M << "<span class='notice'>You swallow \the [src].</span>"
var/obj/item/blocked = H.check_mouth_coverage()
if(blocked)
user << "<span class='warning'>\The [blocked] is in the way!</span>"
return
M << "<span class='notice'>You swallow \the [src].</span>"
M.drop_from_inventory(src) //icon update
if(reagents.total_volume)
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
@@ -38,14 +43,19 @@
if(H.species.flags & IS_SYNTHETIC)
H << "<span class='notice'>They have a monitor for a head, where do you think you're going to put that?</span>"
return
var/obj/item/blocked = H.check_mouth_coverage()
user.visible_message("<span class='warning'>[user] attempts to force [M] to swallow \the [src].</span>")
if(blocked)
user << "<span class='warning'>\The [blocked] is in the way!</span>"
return
user.visible_message("<span class='warning'>[user] attempts to force [M] to swallow \the [src].</span>")
if(!do_mob(user, M))
return
user.drop_from_inventory(src) //icon update
user.visible_message("<span class='warning'>[user] forces [M] to swallow \the [src].</span>")
user.drop_from_inventory(src) //icon update
user.visible_message("<span class='warning'>[user] forces [M] to swallow \the [src].</span>")
var/contained = reagentlist()
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [user.name] ([user.ckey]) Reagents: [contained]</font>")