From 7171cd252b3878ac68e470b763755510303fa7dc Mon Sep 17 00:00:00 2001 From: phil235 Date: Thu, 26 Feb 2015 19:31:55 +0100 Subject: [PATCH] Fixes no blood dna on Mulebot and its blood tracks. Fixes putting buckled mobs onto morgue trays. Fixes mob pixel offset when unbuckled from roller bed. Fixes blood trail appearing when pulling a patient on a roller bed. Fixes other minor stuff. --- code/game/machinery/bots/mulebot.dm | 10 ++++++---- code/game/objects/structures/morgue.dm | 17 ++++++++++------- .../structures/stool_bed_chair_nest/bed.dm | 7 +++---- code/modules/mob/living/living.dm | 2 +- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index eb580f5795c..a574b24ccbc 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -24,6 +24,7 @@ var/global/mulebot_count = 0 control_freq = 1447 bot_type = MULE_BOT bot_filter = RADIO_MULEBOT + blood_DNA = list() suffix = "" @@ -240,7 +241,7 @@ obj/machinery/bot/mulebot/bot_reset() //user << browse("M.U.L.E. Mk. III [suffix ? "([suffix])" : ""][dat]", "window=mulebot;size=350x500") //onclose(user, "mulebot") - var/datum/browser/popup = new(user, "mulebot", "M.U.L.E. Mk. V [suffix ? "([suffix])" : ""]", 350, 500) + var/datum/browser/popup = new(user, "mulebot", "M.U.L.E. Mk. V [suffix ? "([suffix])" : ""]", 350, 550) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) popup.open() @@ -554,6 +555,7 @@ obj/machinery/bot/mulebot/bot_reset() if(bloodiness) var/obj/effect/decal/cleanable/blood/tracks/B = new(loc) + B.blood_DNA |= blood_DNA.Copy() var/newdir = get_dir(next, loc) if(newdir == dir) B.dir = newdir @@ -747,7 +749,8 @@ obj/machinery/bot/mulebot/bot_reset() // called from mob/living/carbon/human/Crossed() // when mulebot is in the same loc /obj/machinery/bot/mulebot/proc/RunOver(var/mob/living/carbon/human/H) - visible_message("[src] drives over [H]!") + H.visible_message("[src] drives over [H]!", \ + "[src] drives over you!") playsound(loc, 'sound/effects/splat.ogg', 50, 1) var/damage = rand(5,15) @@ -759,9 +762,8 @@ obj/machinery/bot/mulebot/bot_reset() H.apply_damage(0.5*damage, BRUTE, "r_arm") var/obj/effect/decal/cleanable/blood/B = new(loc) - B.blood_DNA = list() B.blood_DNA[H.dna.unique_enzymes] = H.dna.blood_type - + blood_DNA[H.dna.unique_enzymes] = H.dna.blood_type bloodiness += 4 // player on mulebot attempted to move diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 0de4c76e488..623cb4c6c5b 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -246,17 +246,20 @@ Crematorium Switch user << "That's not connected to anything." /obj/structure/tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) - if ((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src) || user.contents.Find(O))) + if(!istype(O, /atom/movable) || O.anchored || !Adjacent(user) || !user.Adjacent(O) || O.loc == user) return - if (!ismob(O) && !istype(O, /obj/structure/closet/body_bag)) - return - if (!ismob(user) || user.stat || user.lying || user.stunned) + if(!ismob(O)) + if(!istype(O, /obj/structure/closet/body_bag)) + return + else + var/mob/M = O + if(M.buckled) + return + if(!ismob(user) || user.lying || user.incapacitated()) return O.loc = src.loc if (user != O) - for(var/mob/B in viewers(user, 3)) - B.show_message("[user] stuffs [O] into [src]!", 1) - //Foreach goto(99) + visible_message("[user] stuffs [O] into [src]!") return /* diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index a16153e32e2..b81baa63d7b 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -70,10 +70,9 @@ else density = 0 icon_state = "down" - if(buckled_mob) - buckled_mob.pixel_y = initial(buckled_mob.pixel_y) - if(buckled_mob.lying) - buckled_mob.pixel_y -= buckled_pixel_y_offset + M.pixel_y = initial(M.pixel_y) + if(M.lying) + M.pixel_y -= buckled_pixel_y_offset /obj/item/roller diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9a4f7f5fb39..2a41fddbc2f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -495,7 +495,7 @@ Sorry Giacom. Please don't be mad :( M.stop_pulling() //this is the gay blood on floor shit -- Added back -- Skie - if(M.lying && (prob(M.getBruteLoss() / 2))) + if(M.lying && !M.buckled && (prob(M.getBruteLoss() / 2))) makeTrail(T, M) pulling.Move(T, get_dir(pulling, T)) if(M)