diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index 928da0542c..d335eb1f27 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -342,7 +342,7 @@ Turf and target are seperate in case you want to teleport some distance from a t //Picks a string of symbols to display as the law number for hacked or ion laws /proc/ionnum() - return "[pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]" + return "[pick("1","2","3","4","5","6","7","8","9","0")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]" //When an AI is activated, it can choose from a list of non-slaved borgs to have as a slave. /proc/freeborg() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index ec31e06290..bc99d77e49 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -27,7 +27,7 @@ var/obj/item/I for(I in src.loc) if(I.density || I.anchored || I == src) continue - I.loc = src + I.forceMove(src) // adjust locker size to hold all items with 5 units of free store room var/content_size = 0 for(I in src.contents) @@ -76,13 +76,13 @@ /obj/structure/closet/proc/dump_contents() //Cham Projector Exception for(var/obj/effect/dummy/chameleon/AD in src) - AD.loc = src.loc + AD.forceMove(src.loc) for(var/obj/I in src) - I.loc = src.loc + I.forceMove(src.loc) for(var/mob/M in src) - M.loc = src.loc + M.forceMove(src.loc) if(M.client) M.client.eye = M.client.mob M.client.perspective = MOB_PERSPECTIVE @@ -130,7 +130,7 @@ for(var/obj/effect/dummy/chameleon/AD in src.loc) if((stored_units + added_units) > storage_capacity) break - AD.loc = src + AD.forceMove(src) added_units++ return added_units @@ -141,7 +141,7 @@ if(stored_units + added_units + item_size > storage_capacity) continue if(!I.anchored) - I.loc = src + I.forceMove(src) added_units += item_size return added_units @@ -156,7 +156,7 @@ if(M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src - M.loc = src + M.forceMove(src) added_units += current_mob_size return added_units @@ -171,19 +171,19 @@ switch(severity) if(1) for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion - A.loc = src.loc + A.forceMove(src.loc) A.ex_act(severity++) qdel(src) if(2) if(prob(50)) for (var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) A.ex_act(severity++) qdel(src) if(3) if(prob(5)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) A.ex_act(severity++) qdel(src) @@ -191,7 +191,7 @@ health -= damage if(health <= 0) for(var/atom/movable/A in src) - A.loc = src.loc + A.forceMove(src.loc) qdel(src) /obj/structure/closet/bullet_act(var/obj/item/projectile/Proj) @@ -207,7 +207,7 @@ /obj/structure/closet/blob_act() if(prob(75)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) qdel(src) /obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -237,7 +237,7 @@ return usr.drop_item() if(W) - W.loc = src.loc + W.forceMove(src.loc) else if(istype(W, /obj/item/weapon/packageWrap)) return else if(istype(W, /obj/item/weapon/weldingtool)) diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm index 5b315654d5..e93721c53f 100644 --- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm +++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm @@ -146,7 +146,7 @@ attack_tk(mob/user as mob) if(localopened && fireaxe) - fireaxe.loc = loc + fireaxe.forceMove(loc) user << "You telekinetically remove the fire axe." fireaxe = null update_icon() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index c732faeeea..8c49fc0d9f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -65,7 +65,7 @@ if (istype(W, /obj/item/weapon/grab)) src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet user.drop_item() - if (W) W.loc = src.loc + if (W) W.forceMove(src.loc) else if(istype(W, /obj/item/weapon/card/id)) if(src.broken) user << "It appears to be broken." diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index 3bc5dfc393..7401aac67b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -77,7 +77,7 @@ return user.drop_item() if(W) - W.loc = src.loc + W.forceMove(src.loc) else if(istype(W, /obj/item/weapon/melee/energy/blade)) if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with \an [W]!", "You hear metal being sliced and sparks flying.")) var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 23892a0550..d3e795edc3 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -35,7 +35,7 @@ playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3) for(var/obj/O in src) - O.loc = get_turf(src) + O.forceMove(get_turf(src)) icon_state = icon_opened src.opened = 1 @@ -60,7 +60,7 @@ var/obj/structure/bed/B = O if(B.buckled_mob) continue - O.loc = src + O.forceMove(src) itemcount++ icon_state = icon_closed @@ -75,7 +75,7 @@ return user.drop_item() if(W) - W.loc = src.loc + W.forceMove(src.loc) else if(istype(W, /obj/item/weapon/packageWrap)) return else if(istype(W, /obj/item/stack/cable_coil)) @@ -91,7 +91,7 @@ if(rigged) user << "You attach [W] to [src]." user.drop_item() - W.loc = src + W.forceMove(src) return else if(istype(W, /obj/item/weapon/wirecutters)) if(rigged) @@ -160,7 +160,7 @@ /obj/structure/closet/crate/secure/proc/set_locked(var/newlocked, mob/user = null) if(locked == newlocked) return - + locked = newlocked if(user) for(var/mob/O in viewers(user, 3)) @@ -437,12 +437,12 @@ continue if(!S.anchored) found = 1 - S.loc = src + S.forceMove(src) break if(!found) for(var/obj/machinery/M in src.loc) if(!M.anchored) - M.loc = src + M.forceMove(src) break return @@ -465,12 +465,12 @@ continue if(!S.anchored) found = 1 - S.loc = src + S.forceMove(src) break if(!found) for(var/obj/machinery/M in src.loc) if(!M.anchored) - M.loc = src + M.forceMove(src) break return diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index dbe76e4f91..fac0035e94 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -141,6 +141,8 @@ Works together with spawning an observer, noted above. var/client/C = U.client for(var/mob/living/carbon/human/target in target_list) C.images += target.hud_list[SPECIALROLE_HUD] + for(var/mob/living/silicon/target in target_list) + C.images += target.hud_list[SPECIALROLE_HUD] return 1 /mob/proc/ghostize(var/can_reenter_corpse = 1)