From 786242f9b232c4eb4dc528d24068afd84962cf38 Mon Sep 17 00:00:00 2001 From: "petethegoat@gmail.com" Date: Wed, 6 Mar 2013 17:44:49 +0000 Subject: [PATCH] Big text styling overhaul. Mostly affects reagent related stuff. Adds a new 'userdanger' class, which is bold and red. 'danger' is now just red. Adjusts all dangerous messages I could think of to use the appropriate class. Trash items can now be washed away in sinks. Removes the robodropper, on account of it being awful. Borgs get a normal dropper instead. Changes the probability of blood spatter from attacking someone from 33 to item.force * 2 Path changes: /obj/item/weapon/reagent_containers/ld50_syringe > /obj/item/weapon/reagent_containers/syringe/lethal /obj/item/weapon/reagent_containers/ld50_syringe/choral > /obj/item/weapon/reagent_containers/syringe/lethal/choral possibly some others? i think this is it. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5815 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/atoms.dm | 10 +- code/game/objects/items/trash.dm | 32 +- .../crates_lockers/closets/secure/security.dm | 31 +- code/game/objects/structures/watercloset.dm | 84 +-- code/modules/detectivework/detective_work.dm | 36 +- .../mob/living/carbon/human/human_defense.dm | 49 +- code/modules/mob/living/living_defense.dm | 19 +- .../mob/living/silicon/robot/robot_modules.dm | 174 +++--- code/modules/projectiles/gun.dm | 10 +- code/modules/projectiles/projectile.dm | 7 +- code/modules/reagents/grenade_launcher.dm | 9 +- .../reagents/reagent_containers/borghydro.dm | 28 +- .../reagents/reagent_containers/dropper.dm | 65 +- .../reagents/reagent_containers/food.dm | 6 +- .../reagent_containers/food/snacks.dm | 563 ++++++++---------- .../reagents/reagent_containers/glass.dm | 61 +- .../reagents/reagent_containers/hypospray.dm | 35 +- .../reagents/reagent_containers/pill.dm | 47 +- .../reagent_containers/robodropper.dm | 97 --- .../reagents/reagent_containers/syringes.dm | 208 ++----- code/modules/reagents/syringe_gun.dm | 114 ++-- code/stylesheet.dm | 3 +- maps/tgstation.2.1.2.dmm | 2 +- tgstation.dme | 1 - 24 files changed, 694 insertions(+), 997 deletions(-) delete mode 100644 code/modules/reagents/reagent_containers/robodropper.dm diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 7e47d0cc724..2def31fe178 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -299,12 +299,10 @@ its easier to just keep the beam vertical. /atom/proc/hitby(atom/movable/AM as mob|obj) return -/atom/proc/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (!(istype(W, /obj/item/weapon/grab) ) && !(istype(W, /obj/item/weapon/plastique)) && !(istype(W, /obj/item/weapon/reagent_containers/spray)) && !(istype(W, /obj/item/weapon/packageWrap)) && !istype(W, /obj/item/device/detective_scanner)) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O << "\red [src] has been hit by [user] with [W]" - return +/atom/proc/attackby(obj/item/weapon/W, mob/user) + if(isturf(src)) return + if(!istype(W, /obj/item/weapon/grab) && !istype(W, /obj/item/weapon/plastique) && !istype(W, /obj/item/weapon/reagent_containers/spray) && !istype(W, /obj/item/weapon/packageWrap) && !istype(W, /obj/item/device/detective_scanner)) + visible_message("[src] has been hit by [user] with [W].") diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 6762b28dcef..d642af88df0 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -1,54 +1,52 @@ -//Items labled as 'trash' for the trash bag. -//TODO: Make this an item var or something... - //Added by Jack Rost /obj/item/trash icon = 'icons/obj/trash.dmi' - w_class = 1.0 desc = "This is rubbish." + w_class = 1.0 + raisins name = "4no raisins" icon_state= "4no_raisins" candy - name = "Candy" + name = "candy" icon_state= "candy" cheesie - name = "Cheesie honkers" + name = "cheesie honkers" icon_state = "cheesie_honkers" chips - name = "Chips" + name = "chips" icon_state = "chips" popcorn - name = "Popcorn" + name = "popcorn" icon_state = "popcorn" sosjerky - name = "Scaredy's Private Reserve Beef Jerky" + name = "\improper Scaredy's Private Reserve Beef Jerky" icon_state = "sosjerky" syndi_cakes - name = "Syndi cakes" + name = "syndi-cakes" icon_state = "syndi_cakes" waffles - name = "Waffles" + name = "waffles" icon_state = "waffles" plate - name = "Plate" + name = "plate" icon_state = "plate" snack_bowl - name = "Snack bowl" + name = "snack bowl" icon_state = "snack_bowl" pistachios - name = "Pistachios pack" + name = "pistachios pack" icon_state = "pistachios_pack" semki - name = "Semki pack" + name = "semki pack" icon_state = "semki_pack" tray - name = "Tray" + name = "tray" icon_state = "tray" candle name = "candle" icon = 'icons/obj/candle.dmi' icon_state = "candle4" -/obj/item/trash/attack(mob/M as mob, mob/living/user as mob) +/obj/item/trash/attack(mob/M, mob/living/user) return \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index b1bf78bc36f..56fcdff234c 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -1,5 +1,5 @@ /obj/structure/closet/secure_closet/captains - name = "Captain's Locker" + name = "captain's locker" req_access = list(access_captain) icon_state = "capsecure1" icon_closed = "capsecure" @@ -30,7 +30,7 @@ /obj/structure/closet/secure_closet/hop - name = "Head of Personnel's Locker" + name = "head of personnel's locker" req_access = list(access_hop) icon_state = "hopsecure1" icon_closed = "hopsecure" @@ -58,7 +58,7 @@ /obj/structure/closet/secure_closet/hos - name = "Head of Security's Locker" + name = "head of security's locker" req_access = list(access_hos) icon_state = "hossecure1" icon_closed = "hossecure" @@ -93,7 +93,7 @@ /obj/structure/closet/secure_closet/warden - name = "Warden's Locker" + name = "warden's locker" req_access = list(access_armory) icon_state = "wardensecure1" icon_closed = "wardensecure" @@ -127,7 +127,7 @@ /obj/structure/closet/secure_closet/security - name = "Security Officer's Locker" + name = "security officer's locker" req_access = list(access_security) icon_state = "sec1" icon_closed = "sec" @@ -191,7 +191,7 @@ /obj/structure/closet/secure_closet/detective - name = "Detective's Cabinet" + name = "detective's cabinet" req_access = list(access_forensics_lockers) icon_state = "cabinetdetective_locked" icon_closed = "cabinetdetective" @@ -230,24 +230,21 @@ icon_state = icon_opened /obj/structure/closet/secure_closet/injection - name = "Lethal Injections" + name = "lethal injections" req_access = list(access_captain) - New() ..() sleep(2) - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) - return - + new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src) + new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src) + new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src) + new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src) + new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src) /obj/structure/closet/secure_closet/brig - name = "Brig Locker" + name = "brig locker" req_access = list(access_brig) anchored = 1 var/id = null @@ -260,7 +257,7 @@ /obj/structure/closet/secure_closet/courtroom - name = "Courtroom Locker" + name = "courtroom locker" req_access = list(access_court) New() diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 2ada25542eb..1cb52101c57 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -18,7 +18,7 @@ /obj/structure/toilet/attack_hand(mob/living/user as mob) if(swirlie) - usr.visible_message("[user] slams the toilet seat onto [swirlie.name]'s head!", "You slam the toilet seat onto [swirlie.name]'s head!", "You hear reverberating porcelain.") + usr.visible_message("[user] slams the toilet seat onto [swirlie]'s head!", "You slam the toilet seat onto [swirlie]'s head!", "You hear reverberating porcelain.") swirlie.adjustBruteLoss(8) return @@ -32,7 +32,7 @@ user.put_in_hands(I) else I.loc = get_turf(src) - user << "You find \an [I] in the cistern." + user << "You find [I] in the cistern." w_items -= I.w_class return @@ -58,15 +58,15 @@ if(isliving(G.affecting)) var/mob/living/GM = G.affecting - if(G.state>1) - if(!GM.loc == get_turf(src)) - user << "[GM.name] needs to be on the toilet." + if(G.state > 1) + if(GM.loc != get_turf(src)) + user << "[GM.name] needs to be on [src]." return if(open && !swirlie) - user.visible_message("[user] starts to give [GM.name] a swirlie!", "You start to give [GM.name] a swirlie!") + user.visible_message("[user] starts to give [GM] a swirlie!", "You start to give [GM] a swirlie!") swirlie = GM if(do_after(user, 30, 5, 0)) - user.visible_message("[user] gives [GM.name] a swirlie!", "You give [GM.name] a swirlie!", "You hear a toilet flushing.") + user.visible_message("[user] gives [GM] a swirlie!", "You give [GM] a swirlie!", "You hear a toilet flushing.") if(iscarbon(GM)) var/mob/living/carbon/C = GM if(!C.internal) @@ -75,14 +75,14 @@ GM.adjustOxyLoss(5) swirlie = null else - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM.name] into the [src]!") + user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM] into [src]!") GM.adjustBruteLoss(8) else user << "You need a tighter grip." if(cistern) if(I.w_class > 3) - user << "\The [I] does not fit." + user << "[I] does not fit." return if(w_items + I.w_class > 5) user << "The cistern is full." @@ -90,7 +90,7 @@ user.drop_item() I.loc = src w_items += I.w_class - user << "You carefully place \the [I] into the cistern." + user << "You carefully place [I] into the cistern." return @@ -103,16 +103,16 @@ density = 0 anchored = 1 -/obj/structure/urinal/attackby(obj/item/I as obj, mob/user as mob) +/obj/structure/urinal/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/grab)) var/obj/item/weapon/grab/G = I if(isliving(G.affecting)) var/mob/living/GM = G.affecting - if(G.state>1) - if(!GM.loc == get_turf(src)) - user << "[GM.name] needs to be on the urinal." + if(G.state > 1) + if(GM.loc != get_turf(src)) + user << "[GM.name] needs to on [src]." return - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM.name] into the [src]!") + user.visible_message("[user] slams [GM] into [src]!", "You slam [GM] into [src]!") GM.adjustBruteLoss(8) else user << "You need a tighter grip." @@ -143,17 +143,17 @@ anchored = 1 mouse_opacity = 0 -/obj/machinery/shower/attack_hand(mob/M as mob) +/obj/machinery/shower/attack_hand(mob/M) on = !on update_icon() if(on) if (M.loc == loc) wash(M) check_heat(M) - for (var/atom/movable/G in src.loc) + for (var/atom/movable/G in loc) G.clean_blood() -/obj/machinery/shower/attackby(obj/item/I as obj, mob/user as mob) +/obj/machinery/shower/attackby(obj/item/I, mob/user) if(I.type == /obj/item/device/analyzer) user << "The water temperature seems to be [watertemp]." if(istype(I, /obj/item/weapon/wrench)) @@ -206,7 +206,7 @@ ..() //Yes, showers are super powerful as far as washing goes. -/obj/machinery/shower/proc/wash(atom/movable/O as obj|mob) +/obj/machinery/shower/proc/wash(atom/movable/O) if(!on) return if(iscarbon(O)) @@ -287,7 +287,7 @@ for(var/mob/living/carbon/C in loc) check_heat(C) -/obj/machinery/shower/proc/check_heat(mob/M as mob) +/obj/machinery/shower/proc/check_heat(mob/M) if(!on || watertemp == "normal") return if(iscarbon(M)) var/mob/living/carbon/C = M @@ -321,42 +321,46 @@ anchored = 1 var/busy = 0 //Something's being washed at the moment -/obj/structure/sink/attack_hand(mob/M as mob) - if(isrobot(M) || isAI(M)) +/obj/structure/sink/attack_hand(mob/user) + if(isrobot(user) || isAI(user)) return if(busy) - M << "\red Someone's already washing here." + user << "Someone's already washing here." return - var/turf/location = M.loc + var/turf/location = user.loc if(!isturf(location)) return - usr << "\blue You start washing your hands." + user << "You start washing your hands." busy = 1 sleep(40) busy = 0 - if(M.loc != location) return //Person has moved away from the sink + if(user.loc != location) return //Person has moved away from the sink - M.clean_blood() - for(var/mob/V in viewers(src, null)) - V.show_message("\blue [M] washes their hands using \the [src].") + user.clean_blood() + user.visible_message("[user] washes their hands in [src].") -/obj/structure/sink/attackby(obj/item/O as obj, mob/user as mob) +/obj/structure/sink/attackby(obj/item/O, mob/user) if(busy) - user << "\red Someone's already washing here." + user << "Someone's already washing here." return - if (istype(O, /obj/item/weapon/reagent_containers)) + if(istype(O, /obj/item/trash)) + user.drop_item() + user << "You wash up [O]." //sims!!! + del(O) + + if(istype(O, /obj/item/weapon/reagent_containers)) var/obj/item/weapon/reagent_containers/RG = O RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - user.visible_message("\blue [user] fills the [RG] using \the [src].","\blue You fill the [RG] using \the [src].") + user << "You fill [RG] from [src]." return - else if (istype(O, /obj/item/weapon/melee/baton)) + else if(istype(O, /obj/item/weapon/melee/baton)) var/obj/item/weapon/melee/baton/B = O - if (B.charges > 0 && B.status == 1) + if(B.charges > 0 && B.status == 1) flick("baton_active", src) user.Stun(10) user.stuttering = 10 @@ -367,8 +371,8 @@ else B.charges-- user.visible_message( \ - "[user] was stunned by his wet [O].", \ - "\red You have wet \the [O], it shocks you!") + "[user] was stunned by \his wet [O]!", \ + "[user] was stunned by \his wet [O]!") return var/turf/location = user.loc @@ -377,7 +381,7 @@ var/obj/item/I = O if(!I || !istype(I,/obj/item)) return - usr << "\blue You start washing \the [I]." + usr << "You start washing [I]." busy = 1 sleep(40) @@ -389,8 +393,8 @@ O.clean_blood() user.visible_message( \ - "\blue [user] washes \a [I] using \the [src].", \ - "\blue You wash \a [I] using \the [src].") + "[user] washes [I] using [src].", \ + "You wash [I] using [src].") /obj/structure/sink/kitchen diff --git a/code/modules/detectivework/detective_work.dm b/code/modules/detectivework/detective_work.dm index 2d919b2f579..5bd530db1cc 100644 --- a/code/modules/detectivework/detective_work.dm +++ b/code/modules/detectivework/detective_work.dm @@ -50,35 +50,35 @@ atom/proc/add_fibers(mob/living/carbon/human/M) /atom/proc/add_hiddenprint(mob/living/M as mob) if(isnull(M)) return if(isnull(M.key)) return - if (!( src.flags ) & FPRINT) + if(!( flags ) & FPRINT) return - if (ishuman(M)) + if(ishuman(M)) var/mob/living/carbon/human/H = M - if (!istype(H.dna, /datum/dna)) + if(!istype(H.dna, /datum/dna)) return 0 - if (H.gloves) - if(src.fingerprintslast != H.key) - src.fingerprintshidden += text("\[[time_stamp()]\] (Wearing gloves). Real name: [], Key: []",H.real_name, H.key) - src.fingerprintslast = H.key + if(H.gloves) + if(fingerprintslast != H.key) + fingerprintshidden += text("\[[time_stamp()]\] (Wearing gloves). Real name: [], Key: []",H.real_name, H.key) + fingerprintslast = H.key return 0 - if (!( src.fingerprints )) - if(src.fingerprintslast != H.key) - src.fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",H.real_name, H.key) - src.fingerprintslast = H.key + if(!( fingerprints )) + if(fingerprintslast != H.key) + fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",H.real_name, H.key) + fingerprintslast = H.key return 1 else - if(src.fingerprintslast != M.key) - src.fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",M.real_name, M.key) - src.fingerprintslast = M.key + if(fingerprintslast != M.key) + fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",M.real_name, M.key) + fingerprintslast = M.key return //Set ignoregloves to add prints irrespective of the mob having gloves on. /atom/proc/add_fingerprint(mob/living/M as mob, ignoregloves = 0) if(isnull(M)) return if(isnull(M.key)) return - if (!( src.flags ) & FPRINT) + if(!(flags & FPRINT)) return - if (ishuman(M)) + if(ishuman(M)) //Add the list if it does not exist. if(!fingerprintshidden) fingerprintshidden = list() @@ -89,7 +89,7 @@ atom/proc/add_fibers(mob/living/carbon/human/M) //Now, lets get to the dirty work. //First, make sure their DNA makes sense. var/mob/living/carbon/human/H = M - if (!istype(H.dna, /datum/dna) || !H.dna.uni_identity || (length(H.dna.uni_identity) != 32)) + if(!istype(H.dna, /datum/dna) || !H.dna.uni_identity || (length(H.dna.uni_identity) != 32)) if(!istype(H.dna, /datum/dna)) H.dna = new /datum/dna(null) H.dna.real_name = H.real_name @@ -97,7 +97,7 @@ atom/proc/add_fibers(mob/living/carbon/human/M) //Now, deal with gloves. if(!ignoregloves) - if (H.gloves && H.gloves != src) + if(H.gloves && H.gloves != src) if(fingerprintslast != H.key) fingerprintshidden += text("\[[]\](Wearing gloves). Real name: [], Key: []",time_stamp(), H.real_name, H.key) fingerprintslast = H.key diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 879bf5e2682..2b8a20cf092 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -9,14 +9,14 @@ emp_act */ /mob/living/carbon/human/bullet_act(var/obj/item/projectile/P, var/def_zone) - if(wear_suit && istype(wear_suit, /obj/item/clothing/suit/armor/laserproof)) if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) var/reflectchance = 40 - round(P.damage/3) if(!(def_zone in list("chest", "groin"))) reflectchance /= 2 if(prob(reflectchance)) - visible_message("\red The [P.name] gets reflected by [src]'s [wear_suit.name]!") + visible_message("The [P.name] gets reflected by [src]'s [wear_suit.name]!", \ + "The [P.name] gets reflected by [src]'s [wear_suit.name]!") // Find a turf near or on the original location to bounce to if(P.starting) @@ -75,17 +75,20 @@ emp_act if(l_hand && istype(l_hand, /obj/item/weapon))//Current base is the prob(50-d/3) var/obj/item/weapon/I = l_hand if(I.IsShield() && (prob(50 - round(damage / 3)))) - visible_message("\red [src] blocks [attack_text] with the [l_hand.name]!") + visible_message("[src] blocks [attack_text] with [l_hand]!", \ + "[src] blocks [attack_text] with [l_hand]!") return 1 if(r_hand && istype(r_hand, /obj/item/weapon)) var/obj/item/weapon/I = r_hand if(I.IsShield() && (prob(50 - round(damage / 3)))) - visible_message("\red [src] blocks [attack_text] with the [r_hand.name]!") + visible_message("[src] blocks [attack_text] with [r_hand]!", \ + "[src] blocks [attack_text] with [r_hand]!") return 1 if(wear_suit && istype(wear_suit, /obj/item/)) var/obj/item/I = wear_suit if(I.IsShield() && (prob(35))) - visible_message("\red The reactive teleport system flings [src] clear of [attack_text]!") + visible_message("The reactive teleport system flings [src] clear of [attack_text]!", \ + "The reactive teleport system flings [src] clear of [attack_text]!") var/list/turfs = new/list() for(var/turf/T in orange(6)) if(istype(T,/turf/space)) continue @@ -118,11 +121,13 @@ emp_act return 0 if(I.attack_verb.len) - visible_message("\red [src] has been [pick(I.attack_verb)] in the [hit_area] with [I.name] by [user]!") + visible_message("[src] has been [pick(I.attack_verb)] in the [hit_area] with [I] by [user]!", \ + "[src] has been [pick(I.attack_verb)] in the [hit_area] with [I] by [user]!") else - visible_message("\red [src] has been attacked in the [hit_area] with [I.name] by [user]!") + visible_message("[src] has been attacked in the [hit_area] with [I] by [user]!", \ + "[src] has been attacked in the [hit_area] with [I] by [user]!") - var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].") + var/armor = run_armor_check(affecting, "melee", "Your armour has protected your [hit_area].", "Your armour has softened hit to your [hit_area].") if(armor >= 2) return 0 if(!I.force) return 0 @@ -131,16 +136,14 @@ emp_act var/bloody = 0 if(((I.damtype == BRUTE) || (I.damtype == HALLOSS)) && prob(25 + (I.force * 2))) I.add_blood(src) //Make the weapon bloody, not the person. -// if(user.hand) user.update_inv_l_hand() //updates the attacker's overlay for the (now bloodied) weapon -// else user.update_inv_r_hand() //removed because weapons don't have on-mob blood overlays - if(prob(33)) + if(prob(I.force * 2)) //blood spatter! bloody = 1 var/turf/location = loc if(istype(location, /turf/simulated)) location.add_blood(src) if(ishuman(user)) var/mob/living/carbon/human/H = user - if(get_dist(H, src) > 1) //people with TK won't get smeared with blood + if(get_dist(H, src) > 1) //people with TK won't get smeared with blood if(H.wear_suit) H.wear_suit.add_blood(src) H.update_inv_wear_suit(0) //updates mob overlays to show the new blood (no refresh) @@ -148,20 +151,22 @@ emp_act H.w_uniform.add_blood(src) H.update_inv_w_uniform(0) //updates mob overlays to show the new blood (no refresh) if (H.gloves) - H.gloves.add_blood(H) - H.gloves:transfer_blood = 2 - H.gloves:bloody_hands_mob = H + var/obj/item/clothing/gloves/G = H.gloves + G.add_blood(H) + G.transfer_blood = 2 + G.bloody_hands_mob = H else H.add_blood(H) H.bloody_hands = 2 H.bloody_hands_mob = H - H.update_inv_gloves() //updates on-mob overlays for bloody hands and/or bloody gloves + H.update_inv_gloves() //updates on-mob overlays for bloody hands and/or bloody gloves switch(hit_area) - if("head")//Harder to score a stun but if you do it lasts a bit longer + if("head") //Harder to score a stun but if you do it lasts a bit longer if(prob(I.force)) + visible_message("[src] has been knocked unconscious!", \ + "[src] has been knocked unconscious!") apply_effect(20, PARALYZE, armor) - visible_message("\red [src] has been knocked unconscious!") if(src != user && I.damtype == BRUTE) ticker.mode.remove_revolutionary(mind) @@ -176,13 +181,13 @@ emp_act glasses.add_blood(src) update_inv_glasses(0) - if("chest")//Easier to score a stun but lasts less time - if(prob((I.force + 10))) + if("chest") //Easier to score a stun but lasts less time + if(prob(I.force + 10)) + visible_message("[src] has been knocked down!", \ + "[src] has been knocked down!") apply_effect(5, WEAKEN, armor) - visible_message("\red [src] has been knocked down!") if(bloody) - if(wear_suit) wear_suit.add_blood(src) update_inv_wear_suit(0) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 29e0c6f7735..bf82f783097 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -10,7 +10,7 @@ 1 - halfblock 2 - fullblock */ -/mob/living/proc/run_armor_check(var/def_zone = null, var/attack_flag = "melee", var/absorb_text = null, var/soften_text = null) +/mob/living/proc/run_armor_check(def_zone = null, attack_flag = "melee", absorb_text = null, soften_text = null) var/armor = getarmor(def_zone, attack_flag) var/absorb = 0 if(prob(armor)) @@ -19,15 +19,15 @@ absorb += 1 if(absorb >= 2) if(absorb_text) - show_message("[absorb_text]") + src << "[absorb_text]" else - show_message("\red Your armor absorbs the blow!") + src << "Your armor absorbs the blow!" return 2 if(absorb == 1) if(absorb_text) show_message("[soften_text]",4) else - show_message("\red Your armor softens the blow!") + src << "Your armor softens the blow!" return 1 return 0 @@ -36,12 +36,12 @@ return 0 -/mob/living/bullet_act(var/obj/item/projectile/P, var/def_zone) +/mob/living/bullet_act(obj/item/projectile/P, def_zone) var/obj/item/weapon/cloaking_device/C = locate((/obj/item/weapon/cloaking_device) in src) if(C && C.active) C.attack_self(src)//Should shut it off update_icons() - src << "\blue Your [C.name] was disrupted!" + src << "Your [C] was disrupted!" Stun(2) var/absorb = run_armor_check(def_zone, P.flag) @@ -53,15 +53,16 @@ P.on_hit(src, absorb) return absorb -/mob/living/hitby(atom/movable/AM as mob|obj)//Standardization and logging -Sieve +/mob/living/hitby(atom/movable/AM)//Standardization and logging -Sieve if(istype(AM,/obj/)) var/obj/O = AM - var/zone = ran_zone("chest",75)//Hits a random part of the body, geared towards the chest + var/zone = ran_zone("chest", 65)//Hits a random part of the body, geared towards the chest var/dtype = BRUTE if(istype(O,/obj/item/weapon)) var/obj/item/weapon/W = O dtype = W.damtype - src.visible_message("\red [src] has been hit by [O].") + visible_message("[src] has been hit by [O].", \ + "[src] has been hit by [O].") var/armor = run_armor_check(zone, "melee", "Your armor has protected your [zone].", "Your armor has softened hit to your [zone].") if(armor < 2) apply_damage(O.throwforce, dtype, zone, armor, O) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index c51a0054c20..291aa397613 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -22,12 +22,12 @@ New() - src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/device/flash(src) - src.emag = new /obj/item/toy/sword(src) - src.emag.name = "Placeholder Emag Item" -// src.jetpack = new /obj/item/toy/sword(src) -// src.jetpack.name = "Placeholder Upgrade Item" + modules += new /obj/item/device/flashlight(src) + modules += new /obj/item/device/flash(src) + emag = new /obj/item/toy/sword(src) + emag.name = "Placeholder Emag Item" +// jetpack = new /obj/item/toy/sword(src) +// jetpack.name = "Placeholder Upgrade Item" return @@ -41,76 +41,69 @@ if(O) modules += O + /obj/item/weapon/robot_module/standard name = "standard robot module" - New() ..() - src.modules += new /obj/item/weapon/melee/baton(src) - src.modules += new /obj/item/weapon/extinguisher(src) - src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/weapon/crowbar(src) - src.modules += new /obj/item/device/healthanalyzer(src) - src.emag = new /obj/item/weapon/melee/energy/sword(src) - return - + modules += new /obj/item/weapon/melee/baton(src) + modules += new /obj/item/weapon/extinguisher(src) + modules += new /obj/item/weapon/wrench(src) + modules += new /obj/item/weapon/crowbar(src) + modules += new /obj/item/device/healthanalyzer(src) + emag = new /obj/item/weapon/melee/energy/sword(src) /obj/item/weapon/robot_module/medical name = "medical robot module" - New() ..() - src.modules += new /obj/item/borg/sight/hud/med(src) - src.modules += new /obj/item/device/healthanalyzer(src) - src.modules += new /obj/item/weapon/reagent_containers/borghypo(src) - src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src) - src.modules += new /obj/item/weapon/reagent_containers/robodropper(src) - src.modules += new /obj/item/weapon/reagent_containers/syringe(src) - src.modules += new /obj/item/weapon/extinguisher/mini(src) - src.emag = new /obj/item/weapon/reagent_containers/spray(src) + modules += new /obj/item/borg/sight/hud/med(src) + modules += new /obj/item/device/healthanalyzer(src) + modules += new /obj/item/weapon/reagent_containers/borghypo(src) + modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + modules += new /obj/item/weapon/reagent_containers/dropper(src) + modules += new /obj/item/weapon/reagent_containers/syringe(src) + modules += new /obj/item/weapon/extinguisher/mini(src) + emag = new /obj/item/weapon/reagent_containers/spray(src) - src.emag.reagents.add_reagent("pacid", 250) - src.emag.name = "Polyacid spray" - return + emag.reagents.add_reagent("pacid", 250) + emag.name = "polyacid spray" /obj/item/weapon/robot_module/engineering name = "engineering robot module" - New() ..() - src.modules += new /obj/item/borg/sight/meson(src) - src.emag = new /obj/item/borg/stun(src) - src.modules += new /obj/item/weapon/rcd/borg(src) - src.modules += new /obj/item/weapon/extinguisher(src) -// src.modules += new /obj/item/device/flashlight(src) - src.modules += new /obj/item/weapon/weldingtool/largetank(src) - src.modules += new /obj/item/weapon/screwdriver(src) - src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/weapon/crowbar(src) - src.modules += new /obj/item/weapon/wirecutters(src) - src.modules += new /obj/item/device/multitool(src) - src.modules += new /obj/item/device/t_scanner(src) - src.modules += new /obj/item/device/analyzer(src) + modules += new /obj/item/borg/sight/meson(src) + emag = new /obj/item/borg/stun(src) + modules += new /obj/item/weapon/rcd/borg(src) + modules += new /obj/item/weapon/extinguisher(src) +// modules += new /obj/item/device/flashlight(src) + modules += new /obj/item/weapon/weldingtool/largetank(src) + modules += new /obj/item/weapon/screwdriver(src) + modules += new /obj/item/weapon/wrench(src) + modules += new /obj/item/weapon/crowbar(src) + modules += new /obj/item/weapon/wirecutters(src) + modules += new /obj/item/device/multitool(src) + modules += new /obj/item/device/t_scanner(src) + modules += new /obj/item/device/analyzer(src) var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src) M.amount = 50 - src.modules += M + modules += M var/obj/item/stack/sheet/rglass/cyborg/G = new /obj/item/stack/sheet/rglass/cyborg(src) G.amount = 50 - src.modules += G + modules += G var/obj/item/weapon/cable_coil/W = new /obj/item/weapon/cable_coil(src) W.amount = 50 - src.modules += W - - return + modules += W respawn_consumable(var/mob/living/silicon/robot/R) @@ -119,103 +112,88 @@ /obj/item/stack/sheet/rglass, /obj/item/weapon/cable_coil, ) - for (var/T in what) - if (!(locate(T) in src.modules)) - src.modules -= null + for(var/T in what) + if(!(locate(T) in modules)) + modules -= null var/O = new T(src) - src.modules += O + modules += O O:amount = 1 - return - /obj/item/weapon/robot_module/security name = "security robot module" - New() ..() - src.modules += new /obj/item/borg/sight/hud/sec(src) - src.modules += new /obj/item/weapon/handcuffs/cyborg(src) - src.modules += new /obj/item/weapon/melee/baton(src) - src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src) - src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src) - return - + modules += new /obj/item/borg/sight/hud/sec(src) + modules += new /obj/item/weapon/handcuffs/cyborg(src) + modules += new /obj/item/weapon/melee/baton(src) + modules += new /obj/item/weapon/gun/energy/taser/cyborg(src) + emag = new /obj/item/weapon/gun/energy/laser/cyborg(src) /obj/item/weapon/robot_module/janitor name = "janitorial robot module" - New() ..() - src.modules += new /obj/item/weapon/soap/nanotrasen(src) - src.modules += new /obj/item/weapon/storage/bag/trash(src) - src.modules += new /obj/item/weapon/mop(src) - src.modules += new /obj/item/device/lightreplacer(src) - src.emag = new /obj/item/weapon/reagent_containers/spray(src) - - src.emag.reagents.add_reagent("lube", 250) - src.emag.name = "Lube spray" - return + modules += new /obj/item/weapon/soap/nanotrasen(src) + modules += new /obj/item/weapon/storage/bag/trash(src) + modules += new /obj/item/weapon/mop(src) + modules += new /obj/item/device/lightreplacer(src) + emag = new /obj/item/weapon/reagent_containers/spray(src) + emag.reagents.add_reagent("lube", 250) + emag.name = "lube spray" /obj/item/weapon/robot_module/butler name = "service robot module" - New() ..() - src.modules += new /obj/item/weapon/reagent_containers/food/drinks/beer(src) - src.modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src) - src.modules += new /obj/item/weapon/pen(src) + modules += new /obj/item/weapon/reagent_containers/food/drinks/beer(src) + modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src) + modules += new /obj/item/weapon/pen(src) var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src) M.matter = 30 - src.modules += M + modules += M - src.modules += new /obj/item/weapon/reagent_containers/robodropper(src) + modules += new /obj/item/weapon/reagent_containers/dropper(src) var/obj/item/weapon/lighter/zippo/L = new /obj/item/weapon/lighter/zippo(src) L.lit = 1 - src.modules += L + modules += L - src.modules += new /obj/item/weapon/tray(src) - src.modules += new /obj/item/weapon/reagent_containers/food/drinks/shaker(src) - src.emag = new /obj/item/weapon/reagent_containers/food/drinks/beer(src) + modules += new /obj/item/weapon/tray(src) + modules += new /obj/item/weapon/reagent_containers/food/drinks/shaker(src) + emag = new /obj/item/weapon/reagent_containers/food/drinks/beer(src) var/datum/reagents/R = new/datum/reagents(50) - src.emag.reagents = R - R.my_atom = src.emag + emag.reagents = R + R.my_atom = emag R.add_reagent("beer2", 50) - src.emag.name = "Mickey Finn's Special Brew" - return - + emag.name = "Mickey Finn's Special Brew" /obj/item/weapon/robot_module/miner name = "miner robot module" - New() ..() - src.modules += new /obj/item/borg/sight/meson(src) - src.emag = new /obj/item/borg/stun(src) - src.modules += new /obj/item/weapon/storage/bag/ore(src) - src.modules += new /obj/item/weapon/pickaxe/borgdrill(src) - src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) -// src.modules += new /obj/item/weapon/shovel(src) Uneeded due to buffed drill - return + modules += new /obj/item/borg/sight/meson(src) + emag = new /obj/item/borg/stun(src) + modules += new /obj/item/weapon/storage/bag/ore(src) + modules += new /obj/item/weapon/pickaxe/borgdrill(src) + modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) +// modules += new /obj/item/weapon/shovel(src) Uneeded due to buffed drill /obj/item/weapon/robot_module/syndicate name = "syndicate robot module" - New() - src.modules += new /obj/item/weapon/melee/energy/sword(src) - src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src) - src.modules += new /obj/item/weapon/card/emag(src) - return + modules += new /obj/item/weapon/melee/energy/sword(src) + modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src) + modules += new /obj/item/weapon/card/emag(src) \ No newline at end of file diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 0560cb25806..bcaf0243414 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -52,16 +52,16 @@ return if (!user.IsAdvancedToolUser()) - user << "\red You don't have the dexterity to do this!" + user << "You don't have the dexterity to do this!" return if(istype(user, /mob/living)) var/mob/living/M = user if (HULK in M.mutations) - M << "\red Your meaty finger is much too large for the trigger guard!" + M << "Your meaty finger is much too large for the trigger guard!" return if(ishuman(user)) if(user.dna && user.dna.mutantrace == "adamantine") - user << "\red Your metal fingers don't fit in the trigger guard!" + user << "Your metal fingers don't fit in the trigger guard!" return add_fingerprint(user) @@ -74,7 +74,7 @@ if(!special_check(user)) return if(!load_into_chamber()) - user << "\red *click*"; + user << "*click*" return if(!in_chamber) @@ -98,7 +98,7 @@ playsound(user, fire_sound, 10, 1) else playsound(user, fire_sound, 50, 1) - user.visible_message("[user] fires [src]!", "You fire [src]!", "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") + user.visible_message("[user] fires [src]!", "You fire [src]!", "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") in_chamber.original = target in_chamber.loc = get_turf(user) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index c40c6e6c71d..075946e719b 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -72,7 +72,7 @@ var/forcedodge = 0 // force the projectile to pass bumped = 1 - if(firer && istype(A, /mob)) + if(ismob(A)) var/mob/M = A if(!istype(A, /mob/living)) loc = A.loc @@ -81,9 +81,10 @@ var/distance = get_dist(original,loc) def_zone = ran_zone(def_zone, 100-(5*distance)) //Lower accurancy/longer range tradeoff. if(silenced) - M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" + M << "You've been shot in the [parse_zone(def_zone)] by [src]!" else - visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter + M.visible_message("[M] is hit by [src] in the [parse_zone(def_zone)]!", \ + "[M] is hit by [src] in the [parse_zone(def_zone)]!") //X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter if(istype(firer, /mob)) M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src]" diff --git a/code/modules/reagents/grenade_launcher.dm b/code/modules/reagents/grenade_launcher.dm index d5f1ca734df..22a535e5236 100644 --- a/code/modules/reagents/grenade_launcher.dm +++ b/code/modules/reagents/grenade_launcher.dm @@ -1,7 +1,6 @@ - - /obj/item/weapon/gun/grenadelauncher name = "grenade launcher" + desc = "a terrible, terrible thing. it's really awful!" icon = 'icons/obj/gun.dmi' icon_state = "riotgun" item_state = "riotgun" @@ -16,9 +15,9 @@ examine() set src in view() ..() - if (!(usr in view(2)) && usr!=src.loc) return - usr << "\icon [src] Grenade launcher:" - usr << "\blue [grenades] / [max_grenades] Grenades." + if(!(usr in view(2)) && usr != loc) + return + usr << "[grenades] / [max_grenades] grenades." attackby(obj/item/I as obj, mob/user as mob) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index c72663a6a78..2b1374e34bf 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -1,7 +1,5 @@ - - /obj/item/weapon/reagent_containers/borghypo - name = "Cyborg Hypospray" + name = "cyborg hypospray" desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment." icon = 'icons/obj/syringe.dmi' item_state = "hypo" @@ -19,6 +17,7 @@ var/list/reagent_ids = list("doctorsdelight", "inaprovaline", "spaceacillin") //var/list/reagent_ids = list("dexalin", "kelotane", "bicaridine", "anti_toxin", "inaprovaline", "spaceacillin") + /obj/item/weapon/reagent_containers/borghypo/New() ..() for(var/R in reagent_ids) @@ -31,6 +30,7 @@ processing_objects.Remove(src) ..() + /obj/item/weapon/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg charge_tick++ if(charge_tick < recharge_time) return 0 @@ -53,6 +53,7 @@ add_reagent("cyanide") */ + // Use this to add more chemicals for the borghypo to produce. /obj/item/weapon/reagent_containers/borghypo/proc/add_reagent(var/reagent) reagent_ids |= reagent @@ -66,43 +67,44 @@ /obj/item/weapon/reagent_containers/borghypo/attack(mob/M as mob, mob/user as mob) var/datum/reagents/R = reagent_list[mode] if(!R.total_volume) - user << "\red The injector is empty." + user << "The injector is empty." return if (!( istype(M, /mob) )) return if (R.total_volume) - user << "\blue You inject [M] with the injector." - M << "\red You feel a tiny prick!" + user << "You inject [M] with the injector." + M << "You feel a tiny prick!" R.reaction(M, INGEST) if(M.reagents) var/trans = R.trans_to(M, amount_per_transfer_from_this) - user << "\blue [trans] units injected. [R.total_volume] units remaining." + user << "[trans] unit\s injected. [R.total_volume] unit\s remaining." return -/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) - playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) //Change the mode +/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user) + playsound(loc, 'sound/effects/pop.ogg', 50, 0) //Change the mode mode++ if(mode > reagent_list.len) mode = 1 charge_tick = 0 //Prevents wasted chems/cell charge if you're cycling through modes. var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]] - user << "\blue Synthesizer is now producing '[R.name]'." + user << "Synthesizer is now producing '[R.name]'." return /obj/item/weapon/reagent_containers/borghypo/examine() set src in view() ..() - if (!(usr in view(2)) && usr!=src.loc) return + if(!(usr in view(2)) && usr != loc) + return var/empty = 1 for(var/datum/reagents/RS in reagent_list) var/datum/reagent/R = locate() in RS.reagent_list if(R) - usr << "\blue It currently has [R.volume] units of [R.name] stored." + usr << "It currently has [R.volume] unit\s of [R.name] stored." empty = 0 if(empty) - usr << "\blue It is currently empty. Allow some time for the internal syntheszier to produce more." \ No newline at end of file + usr << "It is currently empty. Allow some time for the internal syntheszier to produce more." \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 22ea087b13f..7a159a76505 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -1,13 +1,10 @@ -//////////////////////////////////////////////////////////////////////////////// -/// Droppers. -//////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/dropper - name = "Dropper" - desc = "A dropper. Transfers 5 units." + name = "dropper" + desc = "A dropper. Holds up to 5 units." icon = 'icons/obj/chemical.dmi' icon_state = "dropper0" amount_per_transfer_from_this = 5 - possible_transfer_amounts = list(1,2,3,4,5) + possible_transfer_amounts = list(1, 2, 3, 4, 5) volume = 5 var/filled = 0 @@ -15,13 +12,12 @@ if(!target.reagents) return if(filled) - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." + user << "[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. - user << "\red You cannot directly fill this object." + user << "You cannot directly fill [target]." return var/trans = 0 @@ -31,41 +27,38 @@ var/mob/living/carbon/human/victim = target var/obj/item/safe_thing = null - if( victim.wear_mask ) - if ( victim.wear_mask.flags & MASKCOVERSEYES ) + if(victim.wear_mask) + if(victim.wear_mask.flags & MASKCOVERSEYES) safe_thing = victim.wear_mask - if( victim.head ) - if ( victim.head.flags & MASKCOVERSEYES ) + if(victim.head) + if(victim.head.flags & MASKCOVERSEYES) safe_thing = victim.head if(victim.glasses) - if ( !safe_thing ) + if(!safe_thing) safe_thing = victim.glasses if(safe_thing) if(!safe_thing.reagents) safe_thing.create_reagents(100) - trans = src.reagents.trans_to(safe_thing, amount_per_transfer_from_this) + trans = reagents.trans_to(safe_thing, amount_per_transfer_from_this) - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] tries to squirt something into []'s eyes, but fails!", user, target), 1) + target.visible_message("[user] tries to squirt something into [target]'s eyes, but fails!", \ + "[user] tries to squirt something into [target]'s eyes, but fails!") spawn(5) - src.reagents.reaction(safe_thing, TOUCH) + reagents.reaction(safe_thing, TOUCH) - - - user << "\blue You transfer [trans] units of the solution." - if (src.reagents.total_volume<=0) + user << "You transfer [trans] unit\s of the solution." + if(reagents.total_volume<=0) filled = 0 icon_state = "dropper[filled]" return - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] squirts something into []'s eyes!", user, target), 1) - src.reagents.reaction(target, TOUCH) + target.visible_message("[user] squirts something into [target]'s eyes!", \ + "[user] squirts something into [target]'s eyes!") + reagents.reaction(target, TOUCH) var/mob/M = target var/R - if(src.reagents) + if(reagents) for(var/datum/reagent/A in src.reagents.reagent_list) R += A.id + " (" R += num2text(A.volume) + ")," @@ -74,30 +67,24 @@ log_attack("\[[time_stamp()]\] [user]/[user.ckey] squirted [M]/[M.ckey] with ([R])") trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the solution." - if (src.reagents.total_volume<=0) + user << "You transfer [trans] unit\s of the solution." + if(reagents.total_volume<=0) filled = 0 icon_state = "dropper[filled]" else if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - user << "\red You cannot directly remove reagents from [target]." + user << "You cannot directly remove reagents from [target]." return if(!target.reagents.total_volume) - user << "\red [target] is empty." + user << "[target] is empty." return var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) - user << "\blue You fill the dropper with [trans] units of the solution." + user << "You fill [src] with [trans] unit\s of the solution." filled = 1 - icon_state = "dropper[filled]" - - return - -//////////////////////////////////////////////////////////////////////////////// -/// Droppers. END -//////////////////////////////////////////////////////////////////////////////// \ No newline at end of file + icon_state = "dropper[filled]" \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food.dm b/code/modules/reagents/reagent_containers/food.dm index 4f14338886f..937f0a26ee5 100644 --- a/code/modules/reagents/reagent_containers/food.dm +++ b/code/modules/reagents/reagent_containers/food.dm @@ -3,9 +3,9 @@ //////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/food possible_transfer_amounts = null - volume = 50 //Sets the default container amount for all food items. + volume = 50 //Sets the default container amount for all food items. /obj/item/weapon/reagent_containers/food/New() ..() - src.pixel_x = rand(-5.0, 5) //Randomizes postion slightly. - src.pixel_y = rand(-5.0, 5) \ No newline at end of file + pixel_x = rand(-5, 5) //Randomizes postion slightly. + pixel_y = rand(-5, 5) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index d4bf8a61917..2353be5e924 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -1,4 +1,3 @@ -//Food items that are eaten normally and don't leave anything behind. /obj/item/weapon/reagent_containers/food/snacks name = "snack" desc = "yummy" @@ -10,11 +9,11 @@ var/slice_path var/slices_num + //Placeholder for effect that trigger on eating that aren't tied to reagents. /obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume() if(!usr) return if(!reagents.total_volume) - usr.visible_message("[usr] finishes eating [src].","You finish eating [src].") usr.drop_from_inventory(src) //so icons update :[ if(trash) @@ -26,39 +25,41 @@ del(src) return -/obj/item/weapon/reagent_containers/food/snacks/attack_self(mob/user as mob) + +/obj/item/weapon/reagent_containers/food/snacks/attack_self(mob/user) return -/obj/item/weapon/reagent_containers/food/snacks/attack(mob/M as mob, mob/user as mob, def_zone) + +/obj/item/weapon/reagent_containers/food/snacks/attack(mob/M, mob/user, def_zone) if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it. - user << "\red None of [src] left, oh no!" + user << "None of [src] left, oh no!" M.drop_from_inventory(src) //so icons update :[ del(src) return 0 if(istype(M, /mob/living/carbon)) if(M == user) //If you're eating it yourself. var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) - if (fullness <= 50) - M << "\red You hungrily chew out a piece of [src] and gobble it!" - if (fullness > 50 && fullness <= 150) - M << "\blue You hungrily begin to eat [src]." - if (fullness > 150 && fullness <= 350) - M << "\blue You take a bite of [src]." - if (fullness > 350 && fullness <= 550) - M << "\blue You unwillingly chew a bit of [src]." - 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." + if(fullness <= 50) + M << "You hungrily chew out a piece of [src] and gobble it down!" + else if(fullness > 50) + M << "You hungrily begin to eat [src]." + else if(fullness > 150) + M << "You take a bite of [src]." + else if(fullness > 350) + M << "You unwillingly chew a bit of [src]." + else if(fullness > (550 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat + M << "You cannot force any more of [src] to go down your throat." return 0 else if(!istype(M, /mob/living/carbon/slime)) //If you're feeding it to someone else. var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) - 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) + if(fullness <= (550 * (1 + M.overeatduration / 1000))) + M.visible_message("[user] attempts to feed [M] [src].", \ + "[user] attempts to feed [M] [src].") 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 + M.visible_message("[user] cannot force anymore of [src] down [M]'s throat!", \ + "[user] cannot force anymore of [src] down [M]'s throat!") + return 0 if(!do_mob(user, M)) return @@ -67,11 +68,11 @@ log_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] feeds [M] [src].", 1) + M.visible_message("[user] forces [M] to eat [src].", \ + "[user] feeds [M] to eat [src].") else - user << "This creature does not seem to have a mouth!" + user << "[M] doesn't seem to have a mouth!" return if(reagents) //Handle ingestion of the reagent. @@ -79,13 +80,7 @@ if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(5) - if(reagents.total_volume > bitesize) - /* - * I totally cannot understand what this code supposed to do. - * Right now every snack consumes in 2 bites, my popcorn does not work right, so I simplify it. -- rastaf0 - var/temp_bitesize = max(reagents.total_volume /2, bitesize) - reagents.trans_to(M, temp_bitesize) - */ + if(reagents.total_volume > bitesize) //pretty sure this is unnecessary reagents.trans_to(M, bitesize) else reagents.trans_to(M, reagents.total_volume) @@ -95,29 +90,27 @@ return 0 + /obj/item/weapon/reagent_containers/food/snacks/afterattack(obj/target, mob/user , flag) return - - - - - /obj/item/weapon/reagent_containers/food/snacks/examine() set src in view() ..() - if (!(usr in range(0)) && usr!=src.loc) return - if (bitecount==0) + if(!(usr in range(1)) && usr != loc) return - else if (bitecount==1) - usr << "\blue \The [src] was bitten by someone!" - else if (bitecount<=3) - usr << "\blue \The [src] was bitten [bitecount] times!" + if(bitecount == 0) + return + else if(bitecount == 1) + usr << "[src] was bitten by someone!" + else if(bitecount <= 3) + usr << "[src] was bitten [bitecount] times!" else - usr << "\blue \The [src] was bitten multiple times!" + usr << "[src] was bitten multiple times!" -/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W as obj, mob/user as mob) + +/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user) if(istype(W,/obj/item/weapon/storage)) ..() // -> item/attackby() if(istype(W,/obj/item/weapon/storage)) @@ -142,7 +135,7 @@ else if(W.w_class <= 2 && istype(src,/obj/item/weapon/reagent_containers/food/snacks/sliceable)) if(!iscarbon(user)) return 1 - user << "\red You slip [W] inside [src]." + user << "You slip [W] inside [src]." user.u_equip(W) if ((user.client && user.s_active != src)) user.client.screen -= W @@ -158,18 +151,18 @@ !(locate(/obj/structure/optable) in src.loc) && \ !(locate(/obj/item/weapon/tray) in src.loc) \ ) - user << "\red You cannot slice [src] here! You need a table or at least a tray to do it." + user << "You cannot slice [src] here! You need a table or at least a tray." return 1 var/slices_lost = 0 if (!inaccurate) user.visible_message( \ - "\blue [user] slices \the [src]!", \ - "\blue You slice \the [src]!" \ + "[user] slices [src].", \ + "You slice [src]." \ ) else user.visible_message( \ - "\blue [user] inaccurately slices \the [src] with [W]!", \ - "\blue You inaccurately slice \the [src] with your [W]!" \ + "[user] inaccurately slices [src] with [W]!", \ + "You inaccurately slice [src] with your [W]!" \ ) slices_lost = rand(1,min(1,round(slices_num/2))) var/reagents_per_slice = reagents.total_volume/slices_num @@ -177,7 +170,7 @@ var/obj/slice = new slice_path (src.loc) reagents.trans_to(slice,reagents_per_slice) del(src) - return + /obj/item/weapon/reagent_containers/food/snacks/Del() if(contents) @@ -185,7 +178,8 @@ something.loc = get_turf(src) ..() -/obj/item/weapon/reagent_containers/food/snacks/attack_animal(var/mob/M) + +/obj/item/weapon/reagent_containers/food/snacks/attack_animal(mob/M) if(isanimal(M)) if(iscorgi(M)) if(bitecount == 0 || prob(50)) @@ -198,20 +192,6 @@ del(src) -//////////////////////////////////////////////////////////////////////////////// -/// FOOD END -//////////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - ////////////////////////////////////////////////// ////////////////////////////////////////////Snacks ////////////////////////////////////////////////// @@ -243,7 +223,7 @@ /obj/item/weapon/reagent_containers/food/snacks/aesirsalad - name = "Aesir salad" + name = "\improper Aesir salad" desc = "Probably too incredible for mortal men to fully enjoy." icon_state = "aesirsalad" trash = /obj/item/trash/snack_bowl @@ -294,7 +274,7 @@ bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/chocolatebar - name = "Chocolate Bar" + name = "chocolate bar" desc = "Such, sweet, fattening food." icon_state = "chocolatebar" New() @@ -305,7 +285,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/chocolateegg - name = "Chocolate Egg" + name = "chocolate egg" desc = "Such, sweet, fattening food." icon_state = "chocolateegg" New() @@ -317,13 +297,10 @@ /obj/item/weapon/reagent_containers/food/snacks/donut name = "donut" - desc = "Goes great with Robust Coffee." icon_state = "donut1" /obj/item/weapon/reagent_containers/food/snacks/donut/normal - name = "donut" desc = "Goes great with Robust Coffee." - icon_state = "donut1" New() ..() reagents.add_reagent("nutriment", 3) @@ -335,9 +312,8 @@ reagents.add_reagent("sprinkles", 2) /obj/item/weapon/reagent_containers/food/snacks/donut/chaos - name = "Chaos Donut" + name = "chaos donut" desc = "Like life, it never quite tastes the same." - icon_state = "donut1" New() ..() reagents.add_reagent("nutriment", 2) @@ -366,30 +342,31 @@ if(10) reagents.add_reagent("tricordrazine", 3) if(prob(30)) - src.icon_state = "donut2" - src.name = "Frosted Chaos Donut" + icon_state = "donut2" + name = "frosted chaos donut" reagents.add_reagent("sprinkles", 2) /obj/item/weapon/reagent_containers/food/snacks/donut/jelly - name = "Jelly Donut" + name = "jelly donut" desc = "You jelly?" icon_state = "jdonut1" + bitesize = 5 New() ..() reagents.add_reagent("nutriment", 3) reagents.add_reagent("sprinkles", 1) reagents.add_reagent("berryjuice", 5) - bitesize = 5 if(prob(30)) - src.icon_state = "jdonut2" - src.name = "Frosted Jelly Donut" + icon_state = "jdonut2" + name = "Frosted Jelly Donut" reagents.add_reagent("sprinkles", 2) /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly - name = "Jelly Donut" + name = "jelly donut" desc = "You jelly?" icon_state = "jdonut1" + bitesize = 5 New() ..() reagents.add_reagent("nutriment", 3) @@ -397,23 +374,23 @@ reagents.add_reagent("slimejelly", 5) bitesize = 5 if(prob(30)) - src.icon_state = "jdonut2" - src.name = "Frosted Jelly Donut" + icon_state = "jdonut2" + name = "Frosted Jelly Donut" reagents.add_reagent("sprinkles", 2) /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly - name = "Jelly Donut" + name = "jelly donut" desc = "You jelly?" icon_state = "jdonut1" + bitesize = 5 New() ..() reagents.add_reagent("nutriment", 3) reagents.add_reagent("sprinkles", 1) reagents.add_reagent("cherryjelly", 5) - bitesize = 5 if(prob(30)) - src.icon_state = "jdonut2" - src.name = "Frosted Jelly Donut" + icon_state = "jdonut2" + name = "Frosted Jelly Donut" reagents.add_reagent("sprinkles", 2) /obj/item/weapon/reagent_containers/food/snacks/egg @@ -427,8 +404,7 @@ throw_impact(atom/hit_atom) ..() new/obj/effect/decal/cleanable/egg_smudge(src.loc) - src.reagents.reaction(hit_atom, TOUCH) - src.visible_message("\red [src.name] has been squashed.","\red You hear a smack.") + reagents.reaction(hit_atom, TOUCH) del(src) attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -436,11 +412,11 @@ var/obj/item/toy/crayon/C = W var/clr = C.colourName - if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow"))) - usr << "\blue The egg refuses to take on this color!" + if(!(clr in list("blue", "green", "mime", "orange", "purple", "rainbow", "red", "yellow"))) + usr << "[src] refuses to take on this colour!" return - usr << "\blue You color \the [src] [clr]" + usr << "You colour [src] [clr]." icon_state = "egg-[clr]" color = clr else @@ -479,7 +455,7 @@ color = "yellow" /obj/item/weapon/reagent_containers/food/snacks/friedegg - name = "Fried egg" + name = "fried egg" desc = "A fried egg, with a touch of salt and pepper." icon_state = "friedegg" New() @@ -490,7 +466,7 @@ bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/boiledegg - name = "Boiled egg" + name = "boiled egg" desc = "A hard boiled egg." icon_state = "egg" New() @@ -506,13 +482,13 @@ reagents.add_reagent("nutriment", 1)*/ /obj/item/weapon/reagent_containers/food/snacks/tofu - name = "Tofu" - icon_state = "tofu" + name = "tofu" desc = "We all love tofu." + icon_state = "tofu" New() ..() reagents.add_reagent("nutriment", 3) - src.bitesize = 3 + bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/carpmeat @@ -523,10 +499,10 @@ ..() reagents.add_reagent("nutriment", 3) reagents.add_reagent("carpotoxin", 3) - src.bitesize = 6 + bitesize = 6 /obj/item/weapon/reagent_containers/food/snacks/fishfingers - name = "Fish Fingers" + name = "fish fingers" desc = "A finger of fish." icon_state = "fishfingers" New() @@ -574,7 +550,7 @@ src.bitesize = 6 /obj/item/weapon/reagent_containers/food/snacks/faggot - name = "Faggot" + name = "faggot" desc = "A great meal all round. Not a cord of wood." icon_state = "faggot" New() @@ -583,7 +559,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sausage - name = "Sausage" + name = "sausage" desc = "A piece of mixed, long meat." icon_state = "sausage" New() @@ -592,7 +568,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/donkpocket - name = "Donk-pocket" + name = "\improper Donk-pocket" desc = "The food of choice for the seasoned traitor." icon_state = "donkpocket" New() @@ -601,11 +577,11 @@ var/warm = 0 proc/cooltime() //Not working, derp? - if (src.warm) - spawn( 4200 ) - src.warm = 0 - src.reagents.del_reagent("tricordrazine") - src.name = "donk-pocket" + if(warm) + spawn(4200) //ew + warm = 0 + reagents.del_reagent("tricordrazine") + name = initial(name) return /obj/item/weapon/reagent_containers/food/snacks/brainburger @@ -619,7 +595,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/ghostburger - name = "Ghost Burger" + name = "ghost burger" desc = "Spooky! It doesn't look very filling." icon_state = "ghostburger" New() @@ -651,7 +627,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/fishburger - name = "Fillet -o- Carp Sandwich" + name = "fillet -o- carp sandwich" desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp." icon_state = "fishburger" New() @@ -661,7 +637,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/tofuburger - name = "Tofu Burger" + name = "tofu burger" desc = "What.. is that meat?" icon_state = "tofuburger" New() @@ -698,7 +674,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/clownburger - name = "Clown Burger" + name = "clown burger" desc = "This tastes funny..." icon_state = "clownburger" New() @@ -712,7 +688,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/mimeburger - name = "Mime Burger" + name = "mime burger" desc = "Its taste defies language." icon_state = "mimeburger" New() @@ -720,46 +696,33 @@ reagents.add_reagent("nutriment", 6) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/omelette - name = "Omelette Du Fromage" +/obj/item/weapon/reagent_containers/food/snacks/omelette //FUCK THIS + name = "omelette du fromage" desc = "That's all you can say!" icon_state = "omelette" trash = /obj/item/trash/plate - //var/herp = 0 + New() ..() reagents.add_reagent("nutriment", 8) bitesize = 1 - attackby(obj/item/weapon/W as obj, mob/user as mob) + + attackby(obj/item/weapon/W, mob/user) if(istype(W,/obj/item/weapon/kitchen/utensil/fork)) - if (W.icon_state == "forkloaded") - user << "\red You already have omelette on your fork." + if(W.icon_state == "forkloaded") + user << "You already have omelette on your fork." return - //W.icon = 'icons/obj/kitchen.dmi' W.icon_state = "forkloaded" - /*if (herp) - world << "[user] takes a piece of omelette with his fork!"*/ - //Why this unecessary check? Oh I know, because I'm bad >:C - // Yes, you are. You griefing my badmin toys. --rastaf0 user.visible_message( \ - "[user] takes a piece of omelette with their fork!", \ - "\blue You take a piece of omelette with your fork!" \ + "[user] takes a piece of omelette with their fork!", \ + "You take a piece of omelette with your fork!" \ ) reagents.remove_reagent("nutriment", 1) - if (reagents.total_volume <= 0) + if(reagents.total_volume <= 0) del(src) -/* - * Unsused. -/obj/item/weapon/reagent_containers/food/snacks/omeletteforkload - name = "Omelette Du Fromage" - desc = "That's all you can say!" - New() - ..() - reagents.add_reagent("nutriment", 1) -*/ /obj/item/weapon/reagent_containers/food/snacks/muffin - name = "Muffin" + name = "muffin" desc = "A delicious and spongy little cake" icon_state = "muffin" New() @@ -768,7 +731,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/pie - name = "Banana Cream Pie" + name = "banana cream pie" desc = "Just like back home, on clown planet! HONK!" icon_state = "pie" trash = /obj/item/trash/plate @@ -782,11 +745,10 @@ /obj/item/weapon/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom) ..() new/obj/effect/decal/cleanable/pie_smudge(src.loc) - src.visible_message("\red [src.name] splats.","\red You hear a splat.") del(src) /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis - name = "Berry Clafoutis" + name = "berry clafoutis" desc = "No black birds, this is a good sign." icon_state = "berryclafoutis" trash = /obj/item/trash/plate @@ -807,7 +769,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/eggplantparm - name = "Eggplant Parmigiana" + name = "eggplant parmigiana" desc = "The only good recipe for eggplant." icon_state = "eggplantparm" trash = /obj/item/trash/plate @@ -817,7 +779,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/soylentgreen - name = "Soylent Green" + name = "\improper Soylent Green" desc = "Not made of people. Honest." //Totally people. icon_state = "soylent_green" trash = /obj/item/trash/waffles @@ -827,7 +789,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/soylenviridians - name = "Soylen Virdians" + name = "\improper Soylent Virdians" desc = "Not made of people. Honest." //Actually honest for once. icon_state = "soylent_yellow" trash = /obj/item/trash/waffles @@ -838,7 +800,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meatpie - name = "Meat-pie" + name = "meat-pie" icon_state = "meatpie" desc = "An old barber recipe, very delicious!" trash = /obj/item/trash/plate @@ -848,7 +810,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tofupie - name = "Tofu-pie" + name = "tofu-pie" icon_state = "meatpie" desc = "A delicious tofu pie." trash = /obj/item/trash/plate @@ -885,7 +847,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/xemeatpie - name = "Xeno-pie" + name = "xeno-pie" icon_state = "xenomeatpie" desc = "A delicious meatpie. Probably heretical." trash = /obj/item/trash/plate @@ -895,7 +857,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/wingfangchu - name = "Wing Fang Chu" + name = "wing fang chu" desc = "A savory dish of alien wing wang in soy." icon_state = "wingfangchu" trash = /obj/item/trash/snack_bowl @@ -916,7 +878,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/monkeykabob - name = "Meat-kabob" + name = "meat-kabob" icon_state = "kabob" desc = "Delicious meat, on a stick." trash = /obj/item/stack/rods @@ -926,7 +888,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tofukabob - name = "Tofu-kabob" + name = "tofu-kabob" icon_state = "kabob" desc = "Vegan meat, on a stick." trash = /obj/item/stack/rods @@ -936,7 +898,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cubancarp - name = "Cuban Carp" + name = "\improper Cuban carp" desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!" icon_state = "cubancarp" trash = /obj/item/trash/plate @@ -948,7 +910,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/popcorn - name = "Popcorn" + name = "popcorn" desc = "Now let's find some cinema." icon_state = "popcorn" trash = /obj/item/trash/popcorn @@ -966,7 +928,7 @@ /obj/item/weapon/reagent_containers/food/snacks/sosjerky - name = "Scaredy's Private Reserve Beef Jerky" + name = "\improper Scaredy's Private Reserve Beef Jerky" icon_state = "sosjerky" desc = "Beef jerky made from the finest space cows." trash = /obj/item/trash/sosjerky @@ -976,7 +938,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/no_raisin - name = "4no Raisins" + name = "4no raisins" icon_state = "4no_raisins" desc = "Best raisins in the universe. Not sure why." trash = /obj/item/trash/raisins @@ -985,7 +947,7 @@ reagents.add_reagent("nutriment", 6) /obj/item/weapon/reagent_containers/food/snacks/spacetwinkie - name = "Space Twinkie" + name = "space twinkie" icon_state = "space_twinkie" desc = "Guaranteed to survive longer then you will." New() @@ -994,9 +956,9 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers - name = "Cheesie Honkers" + name = "cheesie honkers" + desc = "Bite sized cheesie snacks that will honk all over your mouth." icon_state = "cheesie_honkers" - desc = "Bite sized cheesie snacks that will honk all over your mouth" trash = /obj/item/trash/cheesie New() ..() @@ -1004,7 +966,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/syndicake - name = "Syndi-Cakes" + name = "syndi-cakes" icon_state = "syndi_cakes" desc = "An extremely moist snack cake that tastes just as good after being nuked." trash = /obj/item/trash/syndi_cakes @@ -1015,7 +977,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato - name = "Loaded Baked Potato" + name = "loaded baked potato" desc = "Totally baked." icon_state = "loadedbakedpotato" New() @@ -1024,7 +986,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/fries - name = "Space Fries" + name = "space fries" desc = "AKA: French Fries, Freedom Fries, etc" icon_state = "fries" trash = /obj/item/trash/plate @@ -1034,7 +996,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/soydope - name = "Soy Dope" + name = "soy dope" desc = "Dope from a soy." icon_state = "soydope" trash = /obj/item/trash/plate @@ -1044,7 +1006,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/spagetti - name = "Spagetti" + name = "spagetti" desc = "Now thats a nice pasta!" icon_state = "spagetti" New() @@ -1053,7 +1015,7 @@ bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/cheesyfries - name = "Cheesy Fries" + name = "cheesy fries" desc = "Fries. Covered in cheese. Duh." icon_state = "cheesyfries" trash = /obj/item/trash/plate @@ -1063,7 +1025,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/fortunecookie - name = "Fortune cookie" + name = "fortune cookie" desc = "A true prophecy in each cookie!" icon_state = "fortune_cookie" New() @@ -1072,7 +1034,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/badrecipe - name = "Burned mess" + name = "burned mess" desc = "Someone should be demoted from chef for this." icon_state = "badrecipe" New() @@ -1082,7 +1044,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/meatsteak - name = "Meat steak" + name = "meat steak" desc = "A piece of hot spicy meat." icon_state = "meatstake" trash = /obj/item/trash/plate @@ -1094,7 +1056,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff - name = "Spacy Liberty Duff" + name = "spacy liberty duff" desc = "Jello gelatin, from Alfred Hubbard's cookbook" icon_state = "spacylibertyduff" trash = /obj/item/trash/snack_bowl @@ -1105,7 +1067,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/amanitajelly - name = "Amanita Jelly" + name = "amanita jelly" desc = "Looks curiously toxic" icon_state = "amanitajelly" trash = /obj/item/trash/snack_bowl @@ -1117,7 +1079,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/poppypretzel - name = "Poppy pretzel" + name = "poppy pretzel" desc = "It's all twisted up!" icon_state = "poppypretzel" bitesize = 2 @@ -1128,7 +1090,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meatballsoup - name = "Meatball soup" + name = "meatball soup" desc = "You've got balls kid, BALLS!" icon_state = "meatballsoup" trash = /obj/item/trash/snack_bowl @@ -1149,7 +1111,7 @@ bitesize = 5 /obj/item/weapon/reagent_containers/food/snacks/bloodsoup - name = "Tomato soup" + name = "tomato soup" desc = "Smells like copper" icon_state = "tomatosoup" New() @@ -1160,7 +1122,7 @@ bitesize = 5 /obj/item/weapon/reagent_containers/food/snacks/clownstears - name = "Clown's Tears" + name = "clown's tears" desc = "Not very funny." icon_state = "clownstears" New() @@ -1171,7 +1133,7 @@ bitesize = 5 /obj/item/weapon/reagent_containers/food/snacks/vegetablesoup - name = "Vegetable soup" + name = "vegetable soup" desc = "A true vegan meal" //TODO icon_state = "vegetablesoup" trash = /obj/item/trash/snack_bowl @@ -1182,7 +1144,7 @@ bitesize = 5 /obj/item/weapon/reagent_containers/food/snacks/nettlesoup - name = "Nettle soup" + name = "nettle soup" desc = "To think, the botanist would've beat you to death with one of these." icon_state = "nettlesoup" trash = /obj/item/trash/snack_bowl @@ -1194,7 +1156,7 @@ bitesize = 5 /obj/item/weapon/reagent_containers/food/snacks/mysterysoup - name = "Mystery soup" + name = "mystery soup" desc = "The mystery is, why aren't you eating it?" icon_state = "mysterysoup" trash = /obj/item/trash/snack_bowl @@ -1239,7 +1201,7 @@ bitesize = 5 /obj/item/weapon/reagent_containers/food/snacks/wishsoup - name = "Wish Soup" + name = "wish soup" desc = "I wish this was soup." icon_state = "wishsoup" trash = /obj/item/trash/snack_bowl @@ -1248,11 +1210,11 @@ reagents.add_reagent("water", 10) bitesize = 5 if(prob(25)) - src.desc = "A wish come true!" + desc = "A wish come true!" reagents.add_reagent("nutriment", 8) /obj/item/weapon/reagent_containers/food/snacks/hotchili - name = "Hot Chili" + name = "hot chili" desc = "A five alarm Texan Chili!" icon_state = "hotchili" trash = /obj/item/trash/snack_bowl @@ -1265,7 +1227,7 @@ /obj/item/weapon/reagent_containers/food/snacks/coldchili - name = "Cold Chili" + name = "cold chili" desc = "This slush is barely a liquid!" icon_state = "coldchili" trash = /obj/item/trash/snack_bowl @@ -1278,7 +1240,7 @@ /* No more of this /obj/item/weapon/reagent_containers/food/snacks/telebacon - name = "Tele Bacon" + name = "tele bacon" desc = "It tastes a little odd but it is still delicious." icon_state = "bacon" var/obj/item/device/radio/beacon/bacon/baconbeacon @@ -1304,29 +1266,29 @@ ..() reagents.add_reagent("nutriment",10) - afterattack(obj/O as obj, mob/user as mob) + afterattack(obj/O, mob/user) if(istype(O,/obj/structure/sink) && !wrapped) - user << "You place [name] under a stream of water..." + user << "You place [src] under a stream of water..." + user.drop_item() loc = get_turf(O) return Expand() ..() - attack_self(mob/user as mob) + attack_self(mob/user) if(wrapped) Unwrap(user) proc/Expand() - for(var/mob/M in viewers(src,7)) - M << "\red The monkey cube expands!" + visible_message("[src] expands!") new /mob/living/carbon/monkey(get_turf(src)) del(src) - proc/Unwrap(mob/user as mob) + proc/Unwrap(mob/user) icon_state = "monkeycube" desc = "Just add water!" - user << "You unwrap the cube." + user << "You unwrap the cube." wrapped = 0 - return + /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped desc = "Still wrapped in some paper." @@ -1335,7 +1297,7 @@ /obj/item/weapon/reagent_containers/food/snacks/spellburger - name = "Spell Burger" + name = "spell burger" desc = "This is absolutely Ei Nath." icon_state = "spellburger" New() @@ -1344,7 +1306,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger - name = "Big Bite Burger" + name = "big bite burger" desc = "Forget the Big Mac. THIS is the future!" icon_state = "bigbiteburger" New() @@ -1353,7 +1315,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/enchiladas - name = "Enchiladas" + name = "enchiladas" desc = "Viva La Mexico!" icon_state = "enchiladas" trash = /obj/item/trash/tray @@ -1364,7 +1326,7 @@ bitesize = 4 /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight - name = "monkey's Delight" + name = "monkey's delight" desc = "Eeee Eee!" icon_state = "monkeysdelight" trash = /obj/item/trash/tray @@ -1377,7 +1339,7 @@ bitesize = 6 /obj/item/weapon/reagent_containers/food/snacks/baguette - name = "Baguette" + name = "baguette" desc = "Bon appetit!" icon_state = "baguette" New() @@ -1388,7 +1350,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/fishandchips - name = "Fish and Chips" + name = "fish and chips" desc = "I do say so myself chap." icon_state = "fishandchips" New() @@ -1398,7 +1360,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/sandwich - name = "Sandwich" + name = "sandwich" desc = "A grand creation of meat, cheese, bread, and several leaves of lettuce! Arthur Dent would be proud." icon_state = "sandwich" trash = /obj/item/trash/plate @@ -1408,7 +1370,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich - name = "Toasted Sandwich" + name = "toasted sandwich" desc = "Now if you only had a pepper bar." icon_state = "toastedsandwich" trash = /obj/item/trash/plate @@ -1419,7 +1381,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/grilledcheese - name = "Grilled Cheese Sandwich" + name = "grilled cheese sandwich" desc = "Goes great with Tomato soup!" icon_state = "toastedsandwich" trash = /obj/item/trash/plate @@ -1429,7 +1391,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tomatosoup - name = "Tomato Soup" + name = "tomato soup" desc = "Drinking this feels like being a vampire! A tomato vampire..." icon_state = "tomatosoup" trash = /obj/item/trash/snack_bowl @@ -1440,7 +1402,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles - name = "Roffle Waffles" + name = "roffle waffles" desc = "Waffles from Roffle. Co." icon_state = "rofflewaffles" trash = /obj/item/trash/waffles @@ -1451,7 +1413,7 @@ bitesize = 4 /obj/item/weapon/reagent_containers/food/snacks/stew - name = "Stew" + name = "stew" desc = "A nice and warm stew. Healthy and strong." icon_state = "stew" New() @@ -1463,7 +1425,7 @@ bitesize = 10 /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast - name = "Jellied Toast" + name = "jellied toast" desc = "A slice of bread covered with delicious jam." icon_state = "jellytoast" trash = /obj/item/trash/plate @@ -1483,7 +1445,7 @@ reagents.add_reagent("slimejelly", 5) /obj/item/weapon/reagent_containers/food/snacks/jellyburger - name = "Jelly Burger" + name = "jelly burger" desc = "Culinary delight..?" icon_state = "jellyburger" New() @@ -1502,7 +1464,7 @@ reagents.add_reagent("cherryjelly", 5) /obj/item/weapon/reagent_containers/food/snacks/milosoup - name = "Milosoup" + name = "milosoup" desc = "The universes best soup! Yum!!!" icon_state = "milosoup" trash = /obj/item/trash/snack_bowl @@ -1513,7 +1475,7 @@ bitesize = 4 /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat - name = "Stewed Soy Meat" + name = "stewed soy meat" desc = "Even non-vegetarians will LOVE this!" icon_state = "stewedsoymeat" trash = /obj/item/trash/plate @@ -1523,7 +1485,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/boiledspagetti - name = "Boiled Spagetti" + name = "boiled spagetti" desc = "A plain dish of noodles, this sucks." icon_state = "spagettiboiled" trash = /obj/item/trash/plate @@ -1533,7 +1495,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/pastatomato - name = "Spagetti" + name = "spagetti" desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!" icon_state = "pastatomato" trash = /obj/item/trash/plate @@ -1544,7 +1506,7 @@ bitesize = 4 /obj/item/weapon/reagent_containers/food/snacks/meatballspagetti - name = "Spagetti & Meatballs" + name = "spagetti and meatballs" desc = "Now thats a nic'e meatball!" icon_state = "meatballspagetti" trash = /obj/item/trash/plate @@ -1554,7 +1516,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/spesslaw - name = "Spesslaw" + name = "spesslaw" desc = "A lawyers favourite" icon_state = "spesslaw" New() @@ -1562,17 +1524,8 @@ reagents.add_reagent("nutriment", 8) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/poppypretzel - name = "Poppy Pretzel" - desc = "A large soft pretzel full of POP!" - icon_state = "poppypretzel" - New() - ..() - reagents.add_reagent("nutriment", 5) - bitesize = 2 - /obj/item/weapon/reagent_containers/food/snacks/carrotfries - name = "Carrot Fries" + name = "carrot fries" desc = "Tasty fries from fresh Carrots." icon_state = "carrotfries" trash = /obj/item/trash/plate @@ -1583,7 +1536,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/superbiteburger - name = "Super Bite Burger" + name = "super bite burger" desc = "This is a mountain of a burger. FOOD!" icon_state = "superbiteburger" New() @@ -1592,7 +1545,7 @@ bitesize = 10 /obj/item/weapon/reagent_containers/food/snacks/candiedapple - name = "Candied Apple" + name = "candied apple" desc = "An apple coated in sugary sweetness." icon_state = "candiedapple" New() @@ -1601,7 +1554,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/applepie - name = "Apple Pie" + name = "apple pie" desc = "A pie containing sweet sweet love...or apple." icon_state = "applepie" New() @@ -1611,7 +1564,7 @@ /obj/item/weapon/reagent_containers/food/snacks/cherrypie - name = "Cherry Pie" + name = "cherry pie" desc = "Taste so good, make a grown man cry." icon_state = "cherrypie" New() @@ -1620,8 +1573,8 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/twobread - name = "Two Bread" - desc = "It is very bitter and winy." + name = "two bread" + desc = "This seems awfully bitter." icon_state = "twobread" New() ..() @@ -1629,7 +1582,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/jellysandwich - name = "Jelly Sandwich" + name = "jelly sandwich" desc = "You wish you had some peanut butter to go with this..." icon_state = "jellysandwich" trash = /obj/item/trash/plate @@ -1799,7 +1752,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread - name = "Banana-nut bread" + name = "banana-nut bread" desc = "A heavenly and filling treat." icon_state = "bananabread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/bananabreadslice @@ -1811,7 +1764,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/bananabreadslice - name = "Banana-nut bread slice" + name = "banana-nut bread slice" desc = "A slice of delicious banana bread." icon_state = "bananabreadslice" trash = /obj/item/trash/plate @@ -1829,7 +1782,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tofubreadslice - name = "Tofubread slice" + name = "tofubread slice" desc = "A slice of delicious tofubread." icon_state = "tofubreadslice" trash = /obj/item/trash/plate @@ -1837,7 +1790,7 @@ /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake - name = "Carrot Cake" + name = "carrot cake" desc = "A favorite desert of a certain wascally wabbit. Not a lie." icon_state = "carrotcake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice @@ -1849,14 +1802,14 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice - name = "Carrot Cake slice" + name = "carrot cake slice" desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." icon_state = "carrotcake_slice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake - name = "Brain Cake" + name = "brain cake" desc = "A squishy cake-thing." icon_state = "braincake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/braincakeslice @@ -1868,14 +1821,14 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/braincakeslice - name = "Brain Cake slice" + name = "brain cake slice" desc = "Lemme tell you something about prions. THEY'RE DELICIOUS." icon_state = "braincakeslice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake - name = "Cheese Cake" + name = "cheese cake" desc = "DANGEROUSLY cheesy." icon_state = "cheesecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice @@ -1886,14 +1839,14 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice - name = "Cheese Cake slice" + name = "cheese cake slice" desc = "Slice of pure cheestisfaction" icon_state = "cheesecake_slice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake - name = "Vanilla Cake" + name = "vanilla cake" desc = "A plain cake, not a lie." icon_state = "plaincake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/plaincakeslice @@ -1903,14 +1856,14 @@ reagents.add_reagent("nutriment", 20) /obj/item/weapon/reagent_containers/food/snacks/plaincakeslice - name = "Vanilla Cake slice" + name = "vanilla cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "plaincake_slice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake - name = "Orange Cake" + name = "orange cake" desc = "A cake with added orange." icon_state = "orangecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/orangecakeslice @@ -1920,14 +1873,14 @@ reagents.add_reagent("nutriment", 20) /obj/item/weapon/reagent_containers/food/snacks/orangecakeslice - name = "Orange Cake slice" + name = "orange cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "orangecake_slice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake - name = "Lime Cake" + name = "lime cake" desc = "A cake with added lime." icon_state = "limecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/limecakeslice @@ -1937,14 +1890,14 @@ reagents.add_reagent("nutriment", 20) /obj/item/weapon/reagent_containers/food/snacks/limecakeslice - name = "Lime Cake slice" + name = "lime cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "limecake_slice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake - name = "Lemon Cake" + name = "lemon cake" desc = "A cake with added lemon." icon_state = "lemoncake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice @@ -1954,14 +1907,14 @@ reagents.add_reagent("nutriment", 20) /obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice - name = "Lemon Cake slice" + name = "lemon cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "lemoncake_slice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake - name = "Chocolate Cake" + name = "chocolate cake" desc = "A cake with added chocolate" icon_state = "chocolatecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice @@ -1971,14 +1924,14 @@ reagents.add_reagent("nutriment", 20) /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice - name = "Chocolate Cake slice" + name = "chocolate cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "chocolatecake_slice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel - name = "Cheese wheel" + name = "cheese wheel" desc = "A big wheel of delcious Cheddar." icon_state = "cheesewheel" slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesewedge @@ -1989,13 +1942,13 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cheesewedge - name = "Cheese wedge" + name = "cheese wedge" desc = "A wedge of delicious Cheddar. The cheese wheel it was cut from can't have gone far." icon_state = "cheesewedge" bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake - name = "Birthday Cake" + name = "birthday cake" desc = "Happy Birthday little clown..." icon_state = "birthdaycake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice @@ -2007,14 +1960,14 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice - name = "Birthday Cake slice" - desc = "A slice of your birthday" + name = "birthday cake slice" + desc = "A slice of your birthday." icon_state = "birthdaycakeslice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/bread - name = "Bread" + name = "bread" icon_state = "Some plain old Earthen bread." icon_state = "bread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice @@ -2025,7 +1978,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/breadslice - name = "Bread slice" + name = "bread slice" desc = "A slice of home." icon_state = "breadslice" trash = /obj/item/trash/plate @@ -2033,7 +1986,7 @@ /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread - name = "Cream Cheese Bread" + name = "cream cheese bread" desc = "Yum yum yum!" icon_state = "creamcheesebread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice @@ -2044,7 +1997,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice - name = "Cream Cheese Bread slice" + name = "cream cheese bread slice" desc = "A slice of yum!" icon_state = "creamcheesebreadslice" trash = /obj/item/trash/plate @@ -2052,14 +2005,14 @@ /obj/item/weapon/reagent_containers/food/snacks/watermelonslice - name = "Watermelon Slice" + name = "watermelon slice" desc = "A slice of watery goodness." icon_state = "watermelonslice" bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake - name = "Apple Cake" + name = "apple cake" desc = "A cake centred with Apple" icon_state = "applecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/applecakeslice @@ -2069,14 +2022,14 @@ reagents.add_reagent("nutriment", 15) /obj/item/weapon/reagent_containers/food/snacks/applecakeslice - name = "Apple Cake slice" + name = "apple cake slice" desc = "A slice of heavenly cake." icon_state = "applecakeslice" trash = /obj/item/trash/plate bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie - name = "Pumpkin Pie" + name = "pumpkin pie" desc = "A delicious treat for the autumn months." icon_state = "pumpkinpie" slice_path = /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice @@ -2086,7 +2039,7 @@ reagents.add_reagent("nutriment", 15) /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice - name = "Pumpkin Pie slice" + name = "pumpkin pie slice" desc = "A slice of pumpkin pie, with whipped cream on top. Perfection." icon_state = "pumpkinpieslice" trash = /obj/item/trash/plate @@ -2100,7 +2053,7 @@ slices_num = 6 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita - name = "Margherita" + name = "margherita" desc = "The most cheezy pizza in galaxy" icon_state = "pizzamargherita" slice_path = /obj/item/weapon/reagent_containers/food/snacks/margheritaslice @@ -2112,13 +2065,13 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/margheritaslice - name = "Margherita slice" + name = "margherita slice" desc = "A slice of the most cheezy pizza in galaxy" icon_state = "pizzamargheritaslice" bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza - name = "Meatpizza" + name = "meatpizza" desc = "" //TODO: icon_state = "meatpizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice @@ -2130,13 +2083,13 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice - name = "Meatpizza slice" + name = "meatpizza slice" desc = "A slice of " //TODO: icon_state = "meatpizzaslice" bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza - name = "Mushroompizza" + name = "mushroom pizza" desc = "Very special pizza" icon_state = "mushroompizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice @@ -2147,13 +2100,13 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice - name = "Mushroompizza slice" + name = "mushroom pizza slice" desc = "Maybe it is the last slice of pizza in your life." icon_state = "mushroompizzaslice" bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza - name = "Vegetable pizza" + name = "vegetable pizza" desc = "No one of Tomatos Sapiens were harmed during making this pizza" icon_state = "vegetablepizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice @@ -2166,7 +2119,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice - name = "Vegetable pizza slice" + name = "vegetable pizza slice" desc = "A slice of the most green pizza of all pizzas not containing green ingredients " icon_state = "vegetablepizzaslice" bitesize = 2 @@ -2176,7 +2129,6 @@ desc = "A box suited for pizzas." icon = 'icons/obj/food.dmi' icon_state = "pizzabox1" - var/open = 0 // Is the box open? var/ismessy = 0 // Fancy mess on the lid var/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pizza // Content pizza @@ -2184,33 +2136,32 @@ var/boxtag = "" /obj/item/pizzabox/update_icon() - overlays = list() // Set appropriate description - if( open && pizza ) - desc = "A box suited for pizzas. It appears to have a [pizza.name] inside." - else if( boxes.len > 0 ) + if(open && pizza) + desc = "A box suited for pizzas. It appears to have [pizza] inside." + else if(boxes.len > 0) desc = "A pile of boxes suited for pizzas. There appears to be [boxes.len + 1] boxes in the pile." var/obj/item/pizzabox/topbox = boxes[boxes.len] var/toptag = topbox.boxtag - if( toptag != "" ) + if(toptag != "") desc = "[desc] The box on top has a tag, it reads: '[toptag]'." else desc = "A box suited for pizzas." - if( boxtag != "" ) + if(boxtag != "") desc = "[desc] The box has a tag, it reads: '[boxtag]'." // Icon states and overlays - if( open ) - if( ismessy ) + if(open) + if(ismessy) icon_state = "pizzabox_messy" else icon_state = "pizzabox_open" - if( pizza ) + if(pizza) var/image/pizzaimg = image("food.dmi", icon_state = pizza.icon_state) pizzaimg.pixel_y = -3 overlays += pizzaimg @@ -2219,110 +2170,108 @@ else // Stupid code because byondcode sucks var/doimgtag = 0 - if( boxes.len > 0 ) + if(boxes.len > 0) var/obj/item/pizzabox/topbox = boxes[boxes.len] if( topbox.boxtag != "" ) doimgtag = 1 else - if( boxtag != "" ) + if(boxtag != "") doimgtag = 1 - if( doimgtag ) + if(doimgtag) var/image/tagimg = image("food.dmi", icon_state = "pizzabox_tag") tagimg.pixel_y = boxes.len * 3 overlays += tagimg icon_state = "pizzabox[boxes.len+1]" -/obj/item/pizzabox/attack_hand( mob/user as mob ) - if( open && pizza ) +/obj/item/pizzabox/attack_hand(mob/user) + if(open && pizza) user.put_in_hands( pizza ) - user << "\red You take the [src.pizza] out of the [src]." - src.pizza = null + user << "You take the [pizza] out of [src]." + pizza = null update_icon() return - if( boxes.len > 0 ) - if( user.get_inactive_hand() != src ) + if(boxes.len > 0) + if(user.get_inactive_hand() != src) ..() return var/obj/item/pizzabox/box = boxes[boxes.len] boxes -= box - user.put_in_hands( box ) - user << "\red You remove the topmost [src] from your hand." + user.put_in_hands(box) + user << "You remove the topmost [src.name] from your hand." box.update_icon() update_icon() return ..() -/obj/item/pizzabox/attack_self( mob/user as mob ) - - if( boxes.len > 0 ) +/obj/item/pizzabox/attack_self(mob/user) + if(boxes.len > 0 ) return open = !open - if( open && pizza ) + if(open && pizza) ismessy = 1 update_icon() -/obj/item/pizzabox/attackby( obj/item/I as obj, mob/user as mob ) + +/obj/item/pizzabox/attackby(obj/item/I, mob/user) if( istype(I, /obj/item/pizzabox/) ) var/obj/item/pizzabox/box = I - if( !box.open && !src.open ) + if(!box.open && !open) // Make a list of all boxes to be added var/list/boxestoadd = list() boxestoadd += box for(var/obj/item/pizzabox/i in box.boxes) boxestoadd += i - if( (boxes.len+1) + boxestoadd.len <= 5 ) + if((boxes.len+1) + boxestoadd.len <= 5) user.drop_item() box.loc = src box.boxes = list() // Clear the box boxes so we don't have boxes inside boxes. - Xzibit - src.boxes.Add( boxestoadd ) + boxes.Add( boxestoadd ) box.update_icon() update_icon() - user << "\red You put the [box] ontop of the [src]!" + user << "You put [box] on top of [src]!" else - user << "\red The stack is too high!" + user << "The stack is dangerously high!" else - user << "\red Close the [box] first!" + user << "Close [box] first!" return - if( istype(I, /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/) ) // Long ass fucking object name - - if( src.open ) + if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/)) // Long ass fucking object name + if(open) user.drop_item() I.loc = src - src.pizza = I + pizza = I update_icon() - user << "\red You put the [I] in the [src]!" + user << "You put [I] in [src]." else - user << "\red You try to push the [I] through the lid but it doesn't work!" + user << "You try to push [I] through the lid but it doesn't work!" return - if( istype(I, /obj/item/weapon/pen/) ) - - if( src.open ) + if(istype(I, /obj/item/weapon/pen/)) + if(open ) return var/t = input("Enter what you want to add to the tag:", "Write", null, null) as text var/obj/item/pizzabox/boxtotagto = src - if( boxes.len > 0 ) + if(boxes.len > 0) boxtotagto = boxes[boxes.len] boxtotagto.boxtag = copytext("[boxtotagto.boxtag][t]", 1, 30) @@ -2332,7 +2281,7 @@ ..() /obj/item/weapon/reagent_containers/food/snacks/cracker - name = "Cracker" + name = "cracker" desc = "It's a salted cracker." icon_state = "cracker" diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index f28669c5651..faeb79687dd 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -3,13 +3,12 @@ /// (Mixing)Glass. //////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/glass - name = " " - desc = " " + name = "glass" icon = 'icons/obj/chemical.dmi' icon_state = "null" item_state = "null" amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30,50) + possible_transfer_amounts = list(5, 10, 15, 25, 30, 50) volume = 50 flags = FPRINT | TABLEPASS | OPENCONTAINER @@ -34,73 +33,73 @@ examine() set src in view() ..() - if (!(usr in view(2)) && usr!=src.loc) return - usr << "\blue It contains:" + if(!(usr in view(2)) && usr != loc) + return if(reagents && reagents.reagent_list.len) + usr << "It contains:" for(var/datum/reagent/R in reagents.reagent_list) - usr << "\blue [R.volume] units of [R.name]" - else - usr << "\blue Nothing." + usr << "[R.volume] units of [R.name]" afterattack(obj/target, mob/user , flag) - for(var/type in src.can_be_placed_into) + for(var/type in can_be_placed_into) if(istype(target, type)) return if(ismob(target) && target.reagents && reagents.total_volume) var/mob/M = target - user << "\blue You splash the solution onto [target]." var/R - if(src.reagents) - for(var/datum/reagent/A in src.reagents.reagent_list) + target.visible_message("[target] has been splashed with something by [user]!", \ + "[target] has been splashed with something by [user]!") + if(reagents) + for(var/datum/reagent/A in reagents.reagent_list) R += A.id + " (" R += num2text(A.volume) + ")," user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] splashed [M]/[M.ckey] with ([R])" M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] splashed [M]/[M.ckey] with ([R])" log_attack("\[[time_stamp()]\] [user]/[user.ckey] splashed [M]/[M.ckey] with ([R])") - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] has been splashed with something by []!", target, user), 1) - src.reagents.reaction(target, TOUCH) - spawn(5) src.reagents.clear_reagents() + reagents.reaction(target, TOUCH) + spawn(5) reagents.clear_reagents() return + else if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. if(!target.reagents.total_volume && target.reagents) - user << "\red [target] is empty." + user << "[target] is empty." return if(reagents.total_volume >= reagents.maximum_volume) - user << "\red [src] is full." + user << "[src] is full." return var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - user << "\blue You fill [src] with [trans] units of the contents of [target]." + user << "You fill [src] with [trans] unit\s 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) - user << "\red [src] is empty." + user << "[src] is empty." return if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." + user << "[target] is full." return - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the solution to [target]." + var/trans = reagents.trans_to(target, amount_per_transfer_from_this) + user << "You transfer [trans] unit\s of the solution to [target]." - //Safety for dumping stuff into a ninja suit. It handles everything through attackby() and this is unnecessary. + //Safety for dumping stuff into a ninja suit. It handles everything through attackby() and this is unnecessary. //gee thanks noize else if(istype(target, /obj/item/clothing/suit/space/space_ninja)) return else if(reagents.total_volume) - user << "\blue You splash the solution onto [target]." - src.reagents.reaction(target, TOUCH) - spawn(5) src.reagents.clear_reagents() - return + user << "You splash the solution onto [target]." + reagents.reaction(target, TOUCH) + spawn(5) + reagents.clear_reagents() + /obj/item/weapon/reagent_containers/glass/beaker name = "beaker" - desc = "A beaker. Can hold up to 50 units." + desc = "A beaker. It can hold up to 50 units." icon = 'icons/obj/chemical.dmi' icon_state = "beaker" item_state = "beaker" @@ -170,8 +169,8 @@ update_icon() /obj/item/weapon/reagent_containers/glass/bucket - desc = "It's a bucket." name = "bucket" + desc = "It's a bucket." icon = 'icons/obj/janitor.dmi' icon_state = "bucket" item_state = "bucket" @@ -185,7 +184,7 @@ attackby(var/obj/D, mob/user as mob) if(isprox(D)) - user << "You add [D] to [src]." + user << "You add [D] to [src]." del(D) user.put_in_hands(new /obj/item/weapon/bucket_sensor) user.drop_from_inventory(src) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 56e76bcbf77..04fce99ba89 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -1,7 +1,3 @@ -//////////////////////////////////////////////////////////////////////////////// -/// HYPOSPRAY -//////////////////////////////////////////////////////////////////////////////// - /obj/item/weapon/reagent_containers/hypospray name = "hypospray" desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." @@ -14,39 +10,36 @@ flags = FPRINT | TABLEPASS | OPENCONTAINER slot_flags = SLOT_BELT -/obj/item/weapon/reagent_containers/hypospray/attack_paw(mob/user as mob) - return src.attack_hand(user) +/obj/item/weapon/reagent_containers/hypospray/attack_paw(mob/user) + return attack_hand(user) -/obj/item/weapon/reagent_containers/hypospray/New() //comment this to make hypos start off empty +/obj/item/weapon/reagent_containers/hypospray/New() //comment this to make hypos start off empty ..() reagents.add_reagent("doctorsdelight", 30) - return -/obj/item/weapon/reagent_containers/hypospray/attack(mob/M as mob, mob/user as mob) + +/obj/item/weapon/reagent_containers/hypospray/attack(mob/M, mob/user) if(!reagents.total_volume) - user << "\red The hypospray is empty." + user << "[src] is empty." return - if (!( istype(M, /mob) )) + if(!ismob(M)) return - if (reagents.total_volume) - user << "\blue You inject [M] with the hypospray." - M << "\red You feel a tiny prick!" + if(reagents.total_volume) + user << "You inject [M] with [src]." + M << "You feel a tiny prick!" - src.reagents.reaction(M, INGEST) + reagents.reaction(M, INGEST) if(M.reagents) - var/list/injected = list() - for(var/datum/reagent/R in src.reagents.reagent_list) + for(var/datum/reagent/R in reagents.reagent_list) injected += R.name var/trans = reagents.trans_to(M, amount_per_transfer_from_this) - user << "\blue [trans] units injected. [reagents.total_volume] units remaining in the hypospray." + user << "[trans] unit\s injected. [reagents.total_volume] unit\s remaining in [src]." var/contained = english_list(injected) log_attack("[user.name] ([user.ckey]) injected [M.name] ([M.ckey]) with [src.name], which had [contained] (INTENT: [uppertext(user.a_intent)])") M.attack_log += text("\[[time_stamp()]\] Has been injected ([contained]) with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to inject [M.name] ([M.ckey]) with [contained]") - - return \ No newline at end of file + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to inject [M.name] ([M.ckey]) with [contained]") \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 897cdec528d..1dcd171b764 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -3,7 +3,7 @@ //////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/pill name = "pill" - desc = "a pill." + desc = "A tablet or capsule." icon = 'icons/obj/chemical.dmi' icon_state = null item_state = "pill" @@ -15,11 +15,12 @@ if(!icon_state) icon_state = "pill[rand(1,20)]" - attack_self(mob/user as mob) + attack_self(mob/user) return - attack(mob/M as mob, mob/user as mob, def_zone) + + attack(mob/M, mob/user, def_zone) if(M == user) - M << "\blue You swallow [src]." + M << "You swallow [src]." M.drop_from_inventory(src) //icon update if(reagents.total_volume) reagents.reaction(M, INGEST) @@ -31,15 +32,15 @@ return 1 else if(istype(M, /mob/living/carbon/human) ) - - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] attempts to force [M] to swallow [src].", 1) + M.visible_message("[user] attempts to force [M] to swallow [src].", \ + "[user] attempts to force [M] to swallow [src].") if(!do_mob(user, M)) return user.drop_from_inventory(src) //icon update - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] forces [M] to swallow [src].", 1) + M.visible_message("[user] forces [M] to swallow [src].", \ + "[user] forces [M] to swallow [src].") + M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") user.attack_log += text("\[[time_stamp()]\] Fed [src.name] to [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") @@ -60,19 +61,17 @@ return 0 afterattack(obj/target, mob/user , flag) - if(target.is_open_container() != 0 && target.reagents) if(!target.reagents.total_volume) - user << "\red [target] is empty. Cant dissolve pill." + user << "[target] is empty. There's nothing to dissolve [src] in." return - user << "\blue You dissolve the pill in [target]" + user << "You dissolve [src] in [target]." + for(var/mob/O in viewers(2, user)) //viewers is necessary here because of the small radius + O << "[user] slips something into [target]." reagents.trans_to(target, reagents.total_volume) - for(var/mob/O in viewers(2, user)) - O.show_message("\red [user] puts something in [target].", 1) spawn(5) del(src) - return //////////////////////////////////////////////////////////////////////////////// /// Pills. END @@ -80,7 +79,7 @@ //Pills /obj/item/weapon/reagent_containers/pill/antitox - name = "Anti-toxins pill" + name = "anti-toxins pill" desc = "Neutralizes many common toxins." icon_state = "pill17" New() @@ -88,7 +87,7 @@ reagents.add_reagent("anti_toxin", 50) /obj/item/weapon/reagent_containers/pill/tox - name = "Toxins pill" + name = "toxins pill" desc = "Highly toxic." icon_state = "pill5" New() @@ -96,7 +95,7 @@ reagents.add_reagent("toxin", 50) /obj/item/weapon/reagent_containers/pill/cyanide - name = "Cyanide pill" + name = "cyanide pill" desc = "Don't swallow this." icon_state = "pill5" New() @@ -104,7 +103,7 @@ reagents.add_reagent("cyanide", 50) /obj/item/weapon/reagent_containers/pill/adminordrazine - name = "Adminordrazine pill" + name = "adminordrazine pill" desc = "It's magic. We don't have to explain it." icon_state = "pill16" New() @@ -112,7 +111,7 @@ reagents.add_reagent("adminordrazine", 50) /obj/item/weapon/reagent_containers/pill/stox - name = "Sleeping pill" + name = "sleeping pill" desc = "Commonly used to treat insomnia." icon_state = "pill8" New() @@ -120,7 +119,7 @@ reagents.add_reagent("stoxin", 30) /obj/item/weapon/reagent_containers/pill/kelotane - name = "Kelotane pill" + name = "kelotane pill" desc = "Used to treat burns." icon_state = "pill11" New() @@ -128,7 +127,7 @@ reagents.add_reagent("kelotane", 30) /obj/item/weapon/reagent_containers/pill/inaprovaline - name = "Inaprovaline pill" + name = "inaprovaline pill" desc = "Used to stabilize patients." icon_state = "pill20" New() @@ -136,7 +135,7 @@ reagents.add_reagent("inaprovaline", 30) /obj/item/weapon/reagent_containers/pill/dexalin - name = "Dexalin pill" + name = "dexalin pill" desc = "Used to treat oxygen deprivation." icon_state = "pill16" New() @@ -144,7 +143,7 @@ reagents.add_reagent("dexalin", 30) /obj/item/weapon/reagent_containers/pill/bicaridine - name = "Bicaridine pill" + name = "bicaridine pill" desc = "Used to treat physical injuries." icon_state = "pill18" New() diff --git a/code/modules/reagents/reagent_containers/robodropper.dm b/code/modules/reagents/reagent_containers/robodropper.dm deleted file mode 100644 index a42d588f4ba..00000000000 --- a/code/modules/reagents/reagent_containers/robodropper.dm +++ /dev/null @@ -1,97 +0,0 @@ - -/obj/item/weapon/reagent_containers/robodropper - name = "Industrial Dropper" - desc = "A larger dropper. Transfers 10 units." - icon = 'icons/obj/chemical.dmi' - icon_state = "dropper0" - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(1,2,3,4,5,6,7,8,9,10) - volume = 10 - var/filled = 0 - - afterattack(obj/target, mob/user , flag) - if(!target.reagents) return - - if(filled) - - if(target.reagents.total_volume >= target.reagents.maximum_volume) - 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. - user << "\red You cannot directly fill this object." - return - - - var/trans = 0 - - if(ismob(target)) - if(istype(target , /mob/living/carbon/human)) - var/mob/living/carbon/human/victim = target - - var/obj/item/safe_thing = null - if( victim.wear_mask ) - if ( victim.wear_mask.flags & MASKCOVERSEYES ) - safe_thing = victim.wear_mask - if( victim.head ) - if ( victim.head.flags & MASKCOVERSEYES ) - safe_thing = victim.head - if(victim.glasses) - if ( !safe_thing ) - safe_thing = victim.glasses - - if(safe_thing) - if(!safe_thing.reagents) - safe_thing.create_reagents(100) - trans = src.reagents.trans_to(safe_thing, amount_per_transfer_from_this) - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] tries to squirt something into []'s eyes, but fails!", user, target), 1) - spawn(5) - src.reagents.reaction(safe_thing, TOUCH) - - - user << "\blue You transfer [trans] units of the solution." - if (src.reagents.total_volume<=0) - filled = 0 - icon_state = "dropper[filled]" - return - - - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] squirts something into []'s eyes!", user, target), 1) - src.reagents.reaction(target, TOUCH) - var/mob/M = target - var/R - if(src.reagents) - for(var/datum/reagent/A in src.reagents.reagent_list) - R += A.id + " (" - R += num2text(A.volume) + ")," - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] squirted [M]/[M.ckey] with ([R])" - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] squirted [M]/[M.ckey] with ([R])" - log_attack("\[[time_stamp()]\] [user]/[user.ckey] squirted [M]/[M.ckey] with ([R])") - - trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "\blue You transfer [trans] units of the solution." - if (src.reagents.total_volume<=0) - filled = 0 - icon_state = "dropper[filled]" - - else - - if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - user << "\red You cannot directly remove reagents from [target]." - return - - if(!target.reagents.total_volume) - user << "\red [target] is empty." - return - - var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) - - user << "\blue You fill the dropper with [trans] units of the solution." - - filled = 1 - icon_state = "dropper[filled]" - - return \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 41ec2eeb655..5099be31fb7 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -5,13 +5,13 @@ #define SYRINGE_INJECT 1 /obj/item/weapon/reagent_containers/syringe - name = "Syringe" - desc = "A syringe." + name = "syringe" + desc = "A syringe that can hold up to 15 units." icon = 'icons/obj/syringe.dmi' item_state = "syringe_0" icon_state = "0" amount_per_transfer_from_this = 5 - possible_transfer_amounts = null //list(5,10,15) + possible_transfer_amounts = null //list(5, 10, 15) volume = 15 var/mode = SYRINGE_DRAW @@ -26,14 +26,7 @@ ..() update_icon() - attack_self(mob/user as mob) -/* - switch(mode) - if(SYRINGE_DRAW) - mode = SYRINGE_INJECT - if(SYRINGE_INJECT) - mode = SYRINGE_DRAW -*/ + attack_self(mob/user) mode = !mode update_icon() @@ -44,8 +37,7 @@ attack_paw() return attack_hand() - attackby(obj/item/I as obj, mob/user as mob) - + attackby(obj/item/I, mob/user) return afterattack(obj/target, mob/user , flag) @@ -55,45 +47,42 @@ if(SYRINGE_DRAW) if(reagents.total_volume >= reagents.maximum_volume) - user << "\red The syringe is full." + user << "The syringe is full." return - if(ismob(target))//Blood! + if(ismob(target)) //Blood! if(istype(target, /mob/living/carbon/slime)) - user << "\red You are unable to locate any blood." + user << "You are unable to locate any blood." return - if(src.reagents.has_reagent("blood")) - user << "\red There is already a blood sample in this syringe" + if(reagents.has_reagent("blood")) + user << "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. + 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/amount = src.reagents.maximum_volume - src.reagents.total_volume var/mob/living/carbon/T = target var/datum/reagent/B = new /datum/reagent/blood if(!T.dna) - usr << "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)" + user << "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum- report this to an admin.)" return - if(NOCLONE in T.mutations) //target done been et, no more blood in him - user << "\red You are unable to locate any blood." + if(NOCLONE in T.mutations) //target done been et, no more blood in him + user << "You are unable to locate any blood." return B.holder = src B.volume = amount //set reagent data B.data["donor"] = T + /* if(T.virus && T.virus.spread_type != SPECIAL) B.data["virus"] = new T.virus.type(0) */ - - for(var/datum/disease/D in T.viruses) if(!B.data["viruses"]) B.data["viruses"] = list() - B.data["viruses"] += new D.type(0, D, 1) - B.data["blood_DNA"] = copytext(T.dna.unique_enzymes,1,0) if(T.resistances&&T.resistances.len) B.data["resistances"] = T.resistances.Copy() @@ -106,61 +95,58 @@ temp_chem[R.name] = R.volume B.data["trace_chem"] = list2params(temp_chem) - src.reagents.reagent_list += B - src.reagents.update_total() - src.on_reagent_change() - src.reagents.handle_reactions() - 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) + reagents.reagent_list += B + reagents.update_total() + on_reagent_change() + reagents.handle_reactions() + user.visible_message("[user] takes a blood sample from [target].") else //if not mob if(!target.reagents.total_volume) - user << "\red [target] is empty." + user << "[target] is empty." return if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers) && !istype(target,/obj/item/slime_extract)) - user << "\red You cannot directly remove reagents from this object." + user << "You cannot directly remove reagents from [target]." return var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? - user << "\blue You fill the syringe with [trans] units of the solution." + user << "You fill [src] with [trans] units of the solution." if (reagents.total_volume >= reagents.maximum_volume) mode=!mode update_icon() if(SYRINGE_INJECT) if(!reagents.total_volume) - user << "\red The Syringe is empty." + user << "[src] 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)) - user << "\red You cannot directly fill this object." + user << "You cannot directly fill [target]." return if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." + user << "[target] is full." return if(ismob(target) && target != user) - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] is trying to inject []!", user, target), 1) + target.visible_message("[user] is trying to inject [target]!", \ + "[user] is trying to inject [target]!") if(!do_mob(user, target)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] injects [] with the syringe!", user, target), 1) - src.reagents.reaction(target, INGEST) + target.visible_message("[user] injects [target] with the syringe!", \ + "[user] injects [target] with the syringe!") + reagents.reaction(target, INGEST) if(ismob(target) && target == user) - src.reagents.reaction(target, INGEST) + reagents.reaction(target, INGEST) spawn(5) var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - 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) + user << "You inject [trans] unit\s of the solution. [src] now contains [reagents.total_volume] unit\s." + if(reagents.total_volume <= 0 && mode == SYRINGE_INJECT) mode = SYRINGE_DRAW update_icon() - return update_icon() var/rounded_vol = round(reagents.total_volume,5) @@ -188,117 +174,11 @@ overlays += filling -/obj/item/weapon/reagent_containers/ld50_syringe - name = "Lethal Injection Syringe" - desc = "A syringe used for lethal injections." - icon = 'icons/obj/syringe.dmi' - item_state = "syringe_0" - icon_state = "0" +/obj/item/weapon/reagent_containers/syringe/lethal + name = "lethal injection syringe" + desc = "A syringe used for lethal injections. It can hold up to 50 units." amount_per_transfer_from_this = 50 - possible_transfer_amounts = null //list(5,10,15) volume = 50 - var/mode = SYRINGE_DRAW - - on_reagent_change() - update_icon() - - pickup(mob/user) - ..() - update_icon() - - dropped(mob/user) - ..() - update_icon() - - attack_self(mob/user as mob) - mode = !mode - update_icon() - - attack_hand() - ..() - update_icon() - - attack_paw() - return attack_hand() - - attackby(obj/item/I as obj, mob/user as mob) - - return - - afterattack(obj/target, mob/user , flag) - if(!target.reagents) return - - switch(mode) - if(SYRINGE_DRAW) - - if(reagents.total_volume >= reagents.maximum_volume) - 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 - usr << "This needle isn't designed for drawing blood." - return - else //if not mob - if(!target.reagents.total_volume) - user << "\red [target] is empty." - return - - if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers)) - 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? - - user << "\blue You fill the syringe with [trans] units of the solution." - if (reagents.total_volume >= reagents.maximum_volume) - mode=!mode - update_icon() - - if(SYRINGE_INJECT) - if(!reagents.total_volume) - 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)) - user << "\red You cannot directly fill this object." - return - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "\red [target] is full." - return - - if(ismob(target) && target != user) - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] is trying to inject [] with a giant syringe!", user, target), 1) - if(!do_mob(user, target, 300)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message(text("\red [] injects [] with a giant syringe!", user, target), 1) - src.reagents.reaction(target, INGEST) - if(ismob(target) && target == user) - src.reagents.reaction(target, INGEST) - spawn(5) - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - 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() - - return - - update_icon() - var/rounded_vol = round(reagents.total_volume,50) - if(ismob(loc)) - var/mode_t - switch(mode) - if (SYRINGE_DRAW) - mode_t = "d" - if (SYRINGE_INJECT) - mode_t = "i" - icon_state = "[mode_t][rounded_vol]" - else - icon_state = "[rounded_vol]" - item_state = "syringe_[rounded_vol]" //////////////////////////////////////////////////////////////////////////////// /// Syringes. END @@ -307,7 +187,7 @@ /obj/item/weapon/reagent_containers/syringe/inaprovaline - name = "Syringe (inaprovaline)" + name = "syringe (inaprovaline)" desc = "Contains inaprovaline - used to stabilize patients." New() ..() @@ -316,7 +196,7 @@ update_icon() /obj/item/weapon/reagent_containers/syringe/antitoxin - name = "Syringe (anti-toxin)" + name = "syringe (anti-toxin)" desc = "Contains anti-toxins." New() ..() @@ -325,7 +205,7 @@ update_icon() /obj/item/weapon/reagent_containers/syringe/antiviral - name = "Syringe (spaceacillin)" + name = "syringe (spaceacillin)" desc = "Contains antiviral agents." New() ..() @@ -333,7 +213,7 @@ mode = SYRINGE_INJECT update_icon() -/obj/item/weapon/reagent_containers/ld50_syringe/choral +/obj/item/weapon/reagent_containers/syringe/lethal/choral New() ..() reagents.add_reagent("chloralhydrate", 50) @@ -344,7 +224,7 @@ //Robot syringes //Not special in any way, code wise. They don't have added variables or procs. /obj/item/weapon/reagent_containers/syringe/robot/antitoxin - name = "Syringe (anti-toxin)" + name = "syringe (anti-toxin)" desc = "Contains anti-toxins." New() ..() @@ -353,7 +233,7 @@ update_icon() /obj/item/weapon/reagent_containers/syringe/robot/inoprovaline - name = "Syringe (inoprovaline)" + name = "syringe (inoprovaline)" desc = "Contains inaprovaline - used to stabilize patients." New() ..() @@ -362,7 +242,7 @@ update_icon() /obj/item/weapon/reagent_containers/syringe/robot/mixed - name = "Syringe (mixed)" + name = "syringe (mixed)" desc = "Contains inaprovaline & anti-toxins." New() ..() diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/reagents/syringe_gun.dm index b7ad9488cd9..915e1899ffc 100644 --- a/code/modules/reagents/syringe_gun.dm +++ b/code/modules/reagents/syringe_gun.dm @@ -18,20 +18,22 @@ examine() set src in view() ..() - if (!(usr in view(2)) && usr!=src.loc) return - usr << "\blue [syringes.len] / [max_syringes] syringes." + if(!(usr in view(2)) && usr != loc) + return + usr << "[syringes.len] / [max_syringes] syringes." - attackby(obj/item/I as obj, mob/user as mob) + attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/reagent_containers/syringe)) if(syringes.len < max_syringes) user.drop_item() I.loc = src syringes += I - user << "\blue You put the syringe in [src]." - user << "\blue [syringes.len] / [max_syringes] syringes." + user << "You put [I] in [src]." + user << "[syringes.len] / [max_syringes] syringes." else - usr << "\red [src] cannot hold more syringes." + usr << "[src] cannot hold more syringes." + afterattack(obj/target, mob/user , flag) if(!isturf(target.loc) || target == user) return @@ -39,63 +41,65 @@ if(syringes.len) spawn(0) fire_syringe(target,user) else - usr << "\red [src] is empty." + usr << "[src] is empty." - proc - fire_syringe(atom/target, mob/user) - if (locate (/obj/structure/table, src.loc)) + + proc/fire_syringe(atom/target, mob/user) + if(locate (/obj/structure/table, src.loc)) + return + else + var/turf/trg = get_turf(target) + var/obj/effect/syringe_gun_dummy/D = new /obj/effect/syringe_gun_dummy(get_turf(src)) + var/obj/item/weapon/reagent_containers/syringe/S = syringes[1] + if(!S || !S.reagents) //ho boy! wot runtimes! //haha i love finding my old comments return - else - var/turf/trg = get_turf(target) - var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src)) - var/obj/item/weapon/reagent_containers/syringe/S = syringes[1] - if((!S) || (!S.reagents)) //ho boy! wot runtimes! - return - S.reagents.trans_to(D, S.reagents.total_volume) - syringes -= S - del(S) - D.icon_state = "syringeproj" - D.name = "syringe" - playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) + S.reagents.trans_to(D, S.reagents.total_volume) + syringes -= S + del(S) + D.icon_state = "syringeproj" + D.name = "syringe" + playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) - for(var/i=0, i<6, i++) - if(!D) break - if(D.loc == trg) break - step_towards(D,trg) + for(var/i=0, i<6, i++) + if(!D) break + if(D.loc == trg) break + step_towards(D,trg) - if(D) - for(var/mob/living/carbon/M in D.loc) - if(!istype(M,/mob/living/carbon)) continue - if(M == user) continue - //Syringe gun attack logging by Yvarov - var/R - if(D.reagents) - for(var/datum/reagent/A in D.reagents.reagent_list) - R += A.id + " (" - R += num2text(A.volume) + ")," - if (istype(M, /mob)) - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - log_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a syringegun ([R])") - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a syringegun ([R])" - log_attack("UNKNOWN shot [M] ([M.ckey]) with a syringegun ([R])") - if(D.reagents) - D.reagents.trans_to(M, 15) - M.visible_message("[M] is hit by the syringe!") + if(D) + for(var/mob/living/carbon/M in D.loc) + if(!istype(M,/mob/living/carbon)) continue + if(M == user) continue + //Syringe gun attack logging by Yvarov + var/R + if(D.reagents) + for(var/datum/reagent/A in D.reagents.reagent_list) + R += A.id + " (" + R += num2text(A.volume) + ")," + if(ismob(M)) + M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" + user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" + log_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a syringegun ([R])") + else + M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a syringegun ([R])" + log_attack("UNKNOWN shot [M] ([M.ckey]) with a syringegun ([R])") + if(D.reagents) + D.reagents.trans_to(M, 15) + M.visible_message("[M] is hit by the syringe!", \ + "[M] is hit by the syringe!") - del(D) - break - if(D) - for(var/atom/A in D.loc) - if(A == user) continue - if(A.density) del(D) + del(D) + break + if(D) + for(var/atom/A in D.loc) + if(A == user) continue + if(A.density) del(D) - sleep(1) + sleep(1) - if (D) spawn(10) del(D) + if(D) + spawn(10) + del(D) - return /obj/item/weapon/gun/syringe/rapidsyringe name = "rapid syringe gun" diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 9c3f8c7b659..77a54d46282 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -41,7 +41,8 @@ h1.alert, h2.alert {color: #000000;} .disarm {color: #990000;} .passive {color: #660000;} -.danger {color: #ff0000; font-weight: bold;} +.userdanger {color: #ff0000; font-weight: bold;} +.danger {color: #ff0000;} .warning {color: #ff0000; font-style: italic;} .rose {color: #ff5050;} .info {color: #0000CC;} diff --git a/maps/tgstation.2.1.2.dmm b/maps/tgstation.2.1.2.dmm index a649abd1435..4d091db1ade 100644 --- a/maps/tgstation.2.1.2.dmm +++ b/maps/tgstation.2.1.2.dmm @@ -7154,7 +7154,7 @@ "cHD" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/tcommsat/chamber) "cHE" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber) "cHF" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/airless{tag = "icon-dark"; icon_state = "dark"},/area/tcommsat/chamber) -"cHG" = (/obj/structure/table,/obj/item/weapon/reagent_containers/ld50_syringe/choral,/obj/item/weapon/reagent_containers/ld50_syringe{pixel_y = 4},/turf/simulated/floor/airless{tag = "icon-dark"; icon_state = "dark"},/area/tcommsat/chamber) +"cHG" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/lethal/choral,/obj/item/weapon/reagent_containers/syringe/lethal{pixel_y = 4},/turf/simulated/floor/airless{tag = "icon-dark"; icon_state = "dark"},/area/tcommsat/chamber) "cHH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/tcommsat/chamber) "cHI" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/tcommsat/chamber) "cHJ" = (/obj/structure/table,/obj/item/weapon/hemostat,/turf/simulated/floor/airless{tag = "icon-dark"; icon_state = "dark"},/area/tcommsat/chamber) diff --git a/tgstation.dme b/tgstation.dme index 3227a3c8373..bd9dd1f007a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1071,7 +1071,6 @@ #include "code\modules\reagents\reagent_containers\glass.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" #include "code\modules\reagents\reagent_containers\pill.dm" -#include "code\modules\reagents\reagent_containers\robodropper.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" #include "code\modules\reagents\reagent_containers\food\condiment.dm"