From ce61604e79e9bb75942dd28bbeb6857b9c675dd0 Mon Sep 17 00:00:00 2001 From: "quartz235@gmail.com" Date: Sat, 14 Jan 2012 05:54:51 +0000 Subject: [PATCH] - Walls, Rwalls, etc. now leave hidden prints when constructed - Biosuits can now hold pens and penlights in suit storage - Syringe draw/inject icons are now overlay-based - Syringes now use the same coloring overlay system as beakers (see: blood samples are now red, etc. etc.) git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2953 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/objects/structures.dm | 6 ++++ code/modules/chemical/Chemistry-Tools.dm | 41 +++++++++++++++++++---- code/modules/clothing/suits/bio.dm | 2 +- icons/obj/syringe.dmi | Bin 947 -> 6660 bytes icons/obj/syringefilling.dmi | Bin 0 -> 2689 bytes 5 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 icons/obj/syringefilling.dmi diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 6e4cab7b728..31c9b79f44e 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -33,12 +33,14 @@ obj/structure W:use(2) user << "\blue You create a false wall! Push on it to open or close the passage." new /obj/structure/falsewall (src.loc) + add_hiddenprint(usr) del(src) else if(istype(W, /obj/item/stack/sheet/plasteel) && istype(src,/obj/structure/girder/displaced)) W:use(2) user << "\blue You create a false r wall! Push on it to open or close the passage." new /obj/structure/falserwall (src.loc) + add_hiddenprint(usr) del(src) else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced)) @@ -80,6 +82,8 @@ obj/structure Tsrc.ReplaceWithWall() for(var/obj/machinery/atmospherics/pipe/P in Tsrc) P.layer = 1 + for(var/turf/simulated/wall/X in Tsrc.loc) + if(X) X.add_hiddenprint(usr) if (W) W:use(2) del(src) return @@ -93,6 +97,8 @@ obj/structure Tsrc.ReplaceWithRWall() for(var/obj/machinery/atmospherics/pipe/P in Tsrc) P.layer = 1 + for(var/turf/simulated/wall/r_wall/X in Tsrc.loc) + if(X) X.add_hiddenprint(usr) if (W) W:use(1) del(src) diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index 8fba59a1160..bdc681748f9 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -1075,17 +1075,46 @@ update_icon() var/rounded_vol = round(reagents.total_volume,5) + overlays = null if(ismob(loc)) - var/mode_t + var/injoverlay switch(mode) if (SYRINGE_DRAW) - mode_t = "d" + injoverlay = "draw" if (SYRINGE_INJECT) - mode_t = "i" - icon_state = "[mode_t][rounded_vol]" - else - icon_state = "[rounded_vol]" + injoverlay = "inject" + overlays += injoverlay + icon_state = "[rounded_vol]" item_state = "syringe_[rounded_vol]" + if(reagents.total_volume) + var/obj/effect/overlay = new/obj + overlay.icon = 'syringefilling.dmi' + switch(rounded_vol) + if(5) overlay.icon_state = "5" + if(10) overlay.icon_state = "10" + if(15) overlay.icon_state = "15" + + var/list/rgbcolor = list(0,0,0) + var/finalcolor + for(var/datum/reagent/re in reagents.reagent_list) // natural color mixing bullshit/algorithm + if(!finalcolor) + rgbcolor = GetColors(re.color) + finalcolor = re.color + else + var/newcolor[3] + var/prergbcolor[3] + prergbcolor = rgbcolor + newcolor = GetColors(re.color) + + rgbcolor[1] = (prergbcolor[1]+newcolor[1])/2 + rgbcolor[2] = (prergbcolor[2]+newcolor[2])/2 + rgbcolor[3] = (prergbcolor[3]+newcolor[3])/2 + + finalcolor = rgb(rgbcolor[1], rgbcolor[2], rgbcolor[3]) + + overlay.icon += finalcolor + if(!istype(src.loc, /turf)) overlay.layer = 30 + overlays += overlay /obj/item/weapon/reagent_containers/ld50_syringe diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 43c2374d350..a6f39841e9e 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -18,7 +18,7 @@ flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 1.0 - allowed = list(/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index 08d86cb7e5d587eca6737deee362ff519926a74c..7dcc0e479e89ffbdfcf53d171cb1a18f0fa05dfc 100644 GIT binary patch literal 6660 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 literal 0 HcmV?d00001