diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 2459b01cb2..0400d58689 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -492,6 +492,17 @@ var/global/datum/controller/occupations/job_master H.internal = H.l_hand H.internals.icon_state = "internal1" + if(istype(H)) //give humans wheelchairs, if they need them. + var/datum/organ/external/l_foot = H.get_organ("l_foot") + var/datum/organ/external/r_foot = H.get_organ("r_foot") + if((!l_foot || l_foot.status & ORGAN_DESTROYED) && (!r_foot || r_foot.status & ORGAN_DESTROYED)) + var/obj/structure/stool/bed/chair/wheelchair/W = new /obj/structure/stool/bed/chair/wheelchair(H.loc) + H.buckled = W + H.update_canmove() + W.dir = H.dir + W.buckled_mob = H + W.add_fingerprint(H) + H << "You are the [alt_title ? alt_title : rank]." H << "As the [alt_title ? alt_title : rank] you answer directly to [job.supervisors]. Special circumstances may change this." H << "To speak on your department's radio channel use :h. For the use of other channels, examine your headset." diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index ca51a51982..3f2b1dc3bb 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -1,7 +1,7 @@ /obj/machinery/ai_slipper - name = "AI Liquid Dispenser" + name = "\improper AI Liquid Dispenser" icon = 'icons/obj/device.dmi' - icon_state = "motion3" + icon_state = "motion0" layer = 3 anchored = 1.0 var/uses = 20 @@ -13,15 +13,19 @@ var/cooldown_on = 0 req_access = list(access_ai_upload) +/obj/machinery/ai_slipper/New() + ..() + update_icon() + /obj/machinery/ai_slipper/power_change() ..() - if(stat & BROKEN) - return + update_icon() + +/obj/machinery/ai_slipper/update_icon() + if (stat & NOPOWER || stat & BROKEN) + icon_state = "motion0" else - if (stat & NOPOWER) - icon_state = "motion0" - else - icon_state = initial(icon_state) + icon_state = disabled ? "motion0" : "motion3" /obj/machinery/ai_slipper/proc/setState(var/enabled, var/uses) src.disabled = disabled @@ -90,7 +94,7 @@ return if (href_list["toggleOn"]) src.disabled = !src.disabled - icon_state = src.disabled? "motion0":"motion3" + update_icon() if (href_list["toggleUse"]) if(cooldown_on || disabled) return diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 473bd973ed..89a36e8dc0 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -51,11 +51,12 @@ sleep(50) close() return + var/mob/M = AM // we've returned by here if M is not a mob if (!( ticker )) return if (src.operating) return - if (src.density && src.allowed(AM)) + if (src.density && !M.small && src.allowed(AM)) open() if(src.check_access(null)) sleep(50) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 6864e6aad3..f43667cab4 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -336,8 +336,7 @@ user << "\red God damnit!" W.add_fingerprint(user) - handle_item_insertion(W) - return + return handle_item_insertion(W) /obj/item/weapon/storage/dropped(mob/user as mob) return diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 119076e6a8..ae333eb8dd 100755 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1596,17 +1596,6 @@ datum/preferences else continue - // Wheelchair necessary? - var/datum/organ/external/l_foot = character.get_organ("l_foot") - var/datum/organ/external/r_foot = character.get_organ("r_foot") - if((!l_foot || l_foot.status & ORGAN_DESTROYED) && (!r_foot || r_foot.status & ORGAN_DESTROYED)) - var/obj/structure/stool/bed/chair/wheelchair/W = new /obj/structure/stool/bed/chair/wheelchair (character.loc) - character.buckled = W - character.update_canmove() - W.dir = character.dir - W.buckled_mob = character - W.add_fingerprint(character) - if(underwear > underwear_m.len || underwear < 1) underwear = 0 //I'm sure this is 100% unnecessary, but I'm paranoid... sue me. //HAH NOW NO MORE MAGIC CLONING UNDIES character.underwear = underwear diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index d8b1bdf70b..98162788e4 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -342,7 +342,7 @@ ..(over_object) /obj/item/clothing/tie/storage/attackby(obj/item/W as obj, mob/user as mob) - hold.attackby(W, user) + return hold.attackby(W, user) /obj/item/clothing/tie/storage/emp_act(severity) hold.emp_act(severity) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 6c6904e310..a4eba937e1 100755 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -400,6 +400,7 @@ src.forceMove(card) card.forceMove(card.loc) canmove = 0 + icon_state = "[chassis]" /mob/living/silicon/pai/start_pulling(var/atom/movable/AM) @@ -439,4 +440,4 @@ // No binary for pAIs. /mob/living/silicon/pai/binarycheck() - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index cbfc68a3b5..e5b273c060 100755 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -122,6 +122,8 @@ return var/soft = href_list["software"] var/sub = href_list["sub"] + if(!soft && !sub) + return if(soft) src.screen = soft if(sub) @@ -670,7 +672,7 @@ dat += "" diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 9071e3193b..fa147113b4 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -95,7 +95,10 @@ return 1 if(href_list["ready"]) - ready = !ready + if(!ticker || ticker.current_state <= GAME_STATE_PREGAME) // Make sure we don't ready up after the round has started + ready = !ready + else + ready = 0 if(href_list["refresh"]) src << browse(null, "window=playersetup") //closes the player setup window diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index aca3f5669b..83df89ee85 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -40,6 +40,12 @@ pixel_y = rand(-8, 8) pixel_x = rand(-9, 9) stamps = "" + + if(info != initial(info)) + info = html_encode(info) + info = replacetext(info, "\n", "
") + info = parsepencode(info) + spawn(2) update_icon() updateinfolinks() @@ -198,7 +204,7 @@ t = replacetext(t, "\[/u\]", "") t = replacetext(t, "\[large\]", "") t = replacetext(t, "\[/large\]", "") - t = replacetext(t, "\[sign\]", "[user.real_name]") + t = replacetext(t, "\[sign\]", "[user ? user.real_name : "Anonymous"]") t = replacetext(t, "\[field\]", "") t = replacetext(t, "\[h1\]", "

") @@ -223,7 +229,7 @@ t = replacetext(t, "\[cell\]", "") t = replacetext(t, "\[logo\]", "") - t = "[t]" + t = "[t]" else // If it is a crayon, and he still tries to use these, make them empty! t = replacetext(t, "\[*\]", "") t = replacetext(t, "\[hr\]", "") @@ -237,7 +243,7 @@ t = replacetext(t, "\[cell\]", "") t = replacetext(t, "\[logo\]", "") - t = "[t]" + t = "[t]" // t = replacetext(t, "#", "") // Junk converted to nothing! diff --git a/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm index acc6d56a73..38fab6221f 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm @@ -20,16 +20,18 @@ return src.interact(user) /obj/item/device/ano_scanner/interact(var/mob/user as mob) - var/message = "Background radiation levels detected." if(world.time - last_scan_time >= scan_delay) spawn(0) scan() - if(nearest_artifact_distance >= 0) - message = "Exotic energy detected on wavelength '[nearest_artifact_id]' in a radius of [nearest_artifact_distance]m" - else - message = "Scanning array is recharging." - user << "[message]" + if(!user) return + + if(nearest_artifact_distance >= 0) + user << "Exotic energy detected on wavelength '[nearest_artifact_id]' in a radius of [nearest_artifact_distance]m" + else + user << "Background radiation levels detected." + else + user << "Scanning array is recharging." /obj/item/device/ano_scanner/proc/scan() set background = 1