From 4c5665d4fd51b03fbc6d62c32a8b2210ffd306a8 Mon Sep 17 00:00:00 2001 From: Akai Alonkai Date: Wed, 1 Oct 2014 06:16:29 -0400 Subject: [PATCH 01/10] Add round start check to Declare Ready Added a check to 'declare ready' to prevent readying up after the round started. Allowing this to happen caused a bug where the player would be unable to change their character setup if they declared ready after the round started, such as to look at the manifest to see which character would be best to play, until after reconnecting. --- code/modules/mob/new_player/new_player.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 From dbff9248495fc9ae4893f4bbdfb64c8bfa1c5f29 Mon Sep 17 00:00:00 2001 From: Mloc Date: Wed, 1 Oct 2014 12:11:32 +0100 Subject: [PATCH 02/10] fixes #6562 fixes #6571 Signed-off-by: Mloc --- code/game/objects/items/weapons/storage/storage.dm | 3 +-- code/modules/clothing/under/ties.dm | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) 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/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) From 58953a3d3141e94aa2176a9036d32e5dd0386213 Mon Sep 17 00:00:00 2001 From: Mloc Date: Wed, 1 Oct 2014 12:41:23 +0100 Subject: [PATCH 03/10] fixes #6499 Signed-off-by: Mloc --- code/modules/paperwork/paper.dm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 3b3f6c154e..f13daaa083 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\]", "") if(!iscrayon) @@ -216,7 +222,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\]", "") @@ -230,7 +236,7 @@ t = replacetext(t, "\[cell\]", "") t = replacetext(t, "\[logo\]", "") - t = "[t]" + t = "[t]" // t = replacetext(t, "#", "") // Junk converted to nothing! From 2c750e49fd6f5e10f4dd348297e2c8857ed7ef67 Mon Sep 17 00:00:00 2001 From: Mloc Date: Wed, 1 Oct 2014 19:57:14 +0100 Subject: [PATCH 04/10] fixes #6572 Signed-off-by: Mloc --- code/game/machinery/ai_slipper.dm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) 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 From 2b16022ee09a4beffaa83eb897f4a068696e0129 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 1 Oct 2014 22:32:45 +0100 Subject: [PATCH 05/10] Changes Alden-Saraspova counter behaviour to wait for new results before outputting --- .../xenoarchaeology/tools/tools_anoscanner.dm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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 From 37b5aa1c5046a7490f33414841a0844c095a116c Mon Sep 17 00:00:00 2001 From: Mloc Date: Thu, 2 Oct 2014 13:26:28 +0100 Subject: [PATCH 06/10] fixes #6035 Signed-off-by: Mloc --- code/game/jobs/job_controller.dm | 11 +++++++++++ code/modules/client/preferences.dm | 11 ----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 580d4f0fac..6ed6188558 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." if(job.req_admin_notify) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6dda3060a0..e5a96e246a 100755 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1570,17 +1570,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 From d721673d8d6370aa3044443f856613c3c3e468b0 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 4 Oct 2014 02:11:51 -0400 Subject: [PATCH 07/10] Fixes #6592 --- code/modules/detectivework/forensics.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/detectivework/forensics.dm b/code/modules/detectivework/forensics.dm index d04fe83f46..2610a5c24a 100644 --- a/code/modules/detectivework/forensics.dm +++ b/code/modules/detectivework/forensics.dm @@ -31,7 +31,7 @@ atom/proc/add_fibers(mob/living/carbon/human/M) if(prob(15*item_multiplier) && !(fibertext in suit_fibers)) suit_fibers += fibertext - if(M.gloves && (M.w_uniform.body_parts_covered & ~suit_coverage)) + if(M.gloves && (M.gloves.body_parts_covered & ~suit_coverage)) fibertext = "Material from a pair of [M.gloves.name]." if(prob(20*item_multiplier) && !(fibertext in suit_fibers)) suit_fibers += "Material from a pair of [M.gloves.name]." From 9ac8f3ccefa1039be6cae9646acc1ad159f90a60 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 4 Oct 2014 17:57:37 +0100 Subject: [PATCH 08/10] Fixes #6587 and #6590 --- code/modules/mob/living/silicon/pai/pai.dm | 1 + code/modules/mob/living/silicon/pai/software.dm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 6015ab1302..a49f76061a 100755 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -435,6 +435,7 @@ src.forceMove(card) card.forceMove(card.loc) canmove = 0 + icon_state = "[chassis]" /mob/living/silicon/pai/start_pulling(var/atom/movable/AM) diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index cbfc68a3b5..35e3d861f4 100755 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -670,7 +670,7 @@ dat += "
    " if(!pda.toff) for (var/obj/item/device/pda/P in sortAtom(PDAs)) - if (!P.owner||P.toff||P == src.pda) continue + if (!P.owner||P.toff||P == src.pda||P.hidden) continue dat += "
  • [P]" dat += "
  • " dat += "
" From 24d43ef5096479cf06ce5793295b9cb965917e74 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 4 Oct 2014 18:15:13 +0100 Subject: [PATCH 09/10] Fixes #6597 --- code/modules/mob/living/silicon/pai/software.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 35e3d861f4..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) From a1c12bdaab9e47d57038660cc6a8a66464449007 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 4 Oct 2014 18:23:29 +0100 Subject: [PATCH 10/10] Fixes #6591 --- code/game/machinery/doors/windowdoor.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 44d374b85c..a94535327e 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)