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)