diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index f250f350f21..f75d128fe9a 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -433,7 +433,7 @@ if(willing) - visible_message("[user] starts putting [G:affecting:name] into \the [src].", 3) + visible_message("[user] starts putting [G:affecting:name] into \the [name].", 3) if(do_after(user, 20)) if(!M || !G || !G:affecting) return @@ -476,7 +476,7 @@ var/mob/living/L = O if(L.stat == DEAD) - user << "Dead people can not be put into cryo." + user << "Dead people can not be put into stasis." return for(var/mob/living/carbon/slime/M in range(1,L)) @@ -487,7 +487,7 @@ var/willing = null //We don't want to allow people to be forced into despawning. if(L.client) - if(alert(L,"Would you like to enter cryosleep?",,"Yes","No") == "Yes") + if(alert(L,"Would you like to enter stasis?",,"Yes","No") == "Yes") if(!L) return willing = 1 else @@ -495,9 +495,9 @@ if(willing) if(L == user) - visible_message("[user] starts climbing into the cryo pod.", 3) + visible_message("[user] starts climbing into \the [name].", 3) else - visible_message("[user] starts putting [L] into the cryo pod.", 3) + visible_message("[user] starts putting [L] into \the [name].", 3) if(do_after(user, 20)) if(!L) return @@ -508,7 +508,7 @@ L.client.perspective = EYE_PERSPECTIVE L.client.eye = src else - user << "You stop [L == user ? "climbing into the cryo pod." : "putting [L] into the cryo pod."]" + user << "You stop [L == user ? "climbing into" : "putting [L] into"] \the [name]." return if(orient_right) diff --git a/code/game/objects/items/devices/floor_painter.dm b/code/game/objects/items/devices/floor_painter.dm index 415a5ec2003..b5b19e4f672 100644 --- a/code/game/objects/items/devices/floor_painter.dm +++ b/code/game/objects/items/devices/floor_painter.dm @@ -21,7 +21,7 @@ if(istype(A, /turf/simulated/floor)) var/turf/simulated/floor/F = A - if(F.is_steel_floor()) // only tiled floors + if(!is_type_in_list(F, subtypesof(/turf/simulated/floor))) // only tiled floors if(tile_dir_mode) var/D = get_dir(usr, F) if(usr.loc == F) diff --git a/code/game/objects/items/devices/magnetic_lock.dm b/code/game/objects/items/devices/magnetic_lock.dm index c6765569211..48bc3aafc19 100644 --- a/code/game/objects/items/devices/magnetic_lock.dm +++ b/code/game/objects/items/devices/magnetic_lock.dm @@ -13,7 +13,7 @@ //icon_state = "inactive" w_class = 3 req_access = list(access_cent_specops) - health = 90 + health = 150 var/department = "CENTCOM" var/status = 0 @@ -107,13 +107,17 @@ user << "You cannot swipe your [I] through [src] with it partially dismantled!" return - if (istype(I, /obj/item/weapon) && user.a_intent == "hurt") - if (I.force >= 8) + if (istype(I, /obj/item/weapon) && user.a_intent == "harm") + if (I.force >= 18) user.visible_message("[user] bashes [src] with [I]!", "You strike [src] with [I], damaging it!") takedamage(I.force) + playsound(loc, "sound/weapons/genhit[rand(1,3)].ogg", I.force*3, 1) + spawn(3) + playsound(loc, "sound/effects/sparks[rand(1,4)].ogg", 30, 1) return else - user.visible_message("[user] hits [src] with [I] to no visible effect.", "You hit [src] with [I], but it appears to have no effect.") + user.visible_message("[user] hits [src] with [I] but fails to damage it.", "You hit [src] with [I], [I.force >= 10 ? "and it almost makes a dent!" : "but it appears to have no visible effect."]") + playsound(loc, "sound/weapons/Genhit.ogg", I.force*2.5, 1) return switch (constructionstate) @@ -402,13 +406,14 @@ overlays += "overlay_deconstruct_[constructionstate]" /obj/item/device/magnetic_lock/proc/takedamage(var/damage) - health -= damage + health -= rand(damage/2, damage) if (damage >= 40 && prob(50)) health = 0 if (health <= 0) visible_message("[src] sparks[target ? " and falls off of \the [target]!" : "!"] It is now completely unusable!") + detach(0) status = STATUS_BROKEN update_icon() return diff --git a/code/modules/ventcrawl/ventcrawl.dm b/code/modules/ventcrawl/ventcrawl.dm index 84d5b1d30cd..3366340ea8d 100644 --- a/code/modules/ventcrawl/ventcrawl.dm +++ b/code/modules/ventcrawl/ventcrawl.dm @@ -5,6 +5,7 @@ var/list/ventcrawl_machinery = list( // Vent crawling whitelisted items, whoo /mob/living/var/list/can_enter_vent_with = list( + /obj/item/device/mmi, /obj/item/weapon/implant, /obj/item/device/radio/borg, /obj/item/weapon/holder, diff --git a/code/modules/ventcrawl/ventcrawl_atmospherics.dm b/code/modules/ventcrawl/ventcrawl_atmospherics.dm index 4a9901952c6..32f32452381 100644 --- a/code/modules/ventcrawl/ventcrawl_atmospherics.dm +++ b/code/modules/ventcrawl/ventcrawl_atmospherics.dm @@ -51,10 +51,10 @@ else if((direction & initialize_directions) || is_type_in_list(src, ventcrawl_machinery) && src.can_crawl_through()) //if we move in a way the pipe can connect, but doesn't - or we're in a vent user.remove_ventcrawl() - user.forceMove(src.loc) + user.forceMove(check_neighbor_density(get_turf(src.loc), direction) ? src.loc : get_step(src, direction)) user.sight &= ~(SEE_TURFS|BLIND) user.visible_message("You hear something squeezing through the pipes.", "You climb out the ventilation system.") - user.vent_trap_check("arriving", target_move) + user.vent_trap_check("arriving", user.loc) user.canmove = 0 spawn(1) user.canmove = 1 diff --git a/html/changelogs/Bedshaped-PR-1146.yml b/html/changelogs/Bedshaped-PR-1146.yml new file mode 100644 index 00000000000..8c0a395aa2c --- /dev/null +++ b/html/changelogs/Bedshaped-PR-1146.yml @@ -0,0 +1,11 @@ +author: Bedshaped + +delete-after: True + +changes: + - bugfix: "Fixed Spider-bots unable to vent-crawl." + - bugfix: "Fixed a runtime error when exiting through a pipe after vent-crawling." + - bugfix: "Fixed incorrect message when putting robots in storage." + - bugfix: "Fixed floor painters being able to be used on non-valid tiles." + - bugfix: "Fixed magnetic locks unable to be damaged and increased their health." + - tweak: "Quietened Bosun's whistle." diff --git a/sound/misc/bosuns_whistle.ogg b/sound/misc/bosuns_whistle.ogg index c767cb6fde4..1cc7bce4417 100644 Binary files a/sound/misc/bosuns_whistle.ogg and b/sound/misc/bosuns_whistle.ogg differ