From 7c809d9742c99c97c60a4608c637c7ffc744482b Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Fri, 7 Dec 2018 00:20:51 -0800 Subject: [PATCH 01/16] Add read only sec hud --- code/game/jobs/job/supervisor.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 1 + code/modules/clothing/glasses/hud.dm | 4 ++++ code/modules/mob/living/carbon/human/examine.dm | 11 ++++++++--- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 28e81b33792..ce5fbd847bc 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -257,7 +257,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) suit = /obj/item/clothing/suit/storage/internalaffairs shoes = /obj/item/clothing/shoes/brown l_ear = /obj/item/radio/headset/headset_sec/alt - glasses = /obj/item/clothing/glasses/hud/security/sunglasses + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/read_only id = /obj/item/card/id/security l_pocket = /obj/item/laser_pointer r_pocket = /obj/item/flash diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 03fca152fa9..663b3cbf160 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -245,6 +245,7 @@ new /obj/item/restraints/handcuffs(src) new /obj/item/melee/baton/loaded(src) new /obj/item/clothing/glasses/sunglasses(src) + new /obj/item/clothing/glasses/hud/security/sunglasses/read_only(src) new /obj/item/clothing/glasses/hud/health/health_advanced new /obj/item/clothing/head/beret/centcom/officer(src) new /obj/item/clothing/head/beret/centcom/officer/navy(src) diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index ff8de1a6a82..fb4f3736d6c 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -83,6 +83,7 @@ origin_tech = "magnets=3;combat=2" var/global/list/jobs[0] HUDType = DATA_HUD_SECURITY_ADVANCED + var/read_only = FALSE species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi', @@ -114,6 +115,9 @@ invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these prescription_upgradable = 0 +/obj/item/clothing/glasses/hud/security/sunglasses/read_only + read_only = TRUE + /obj/item/clothing/glasses/hud/security/sunglasses name = "HUDSunglasses" desc = "Sunglasses with a HUD." diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index be2b3506e67..03726353022 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -363,8 +363,8 @@ for(var/datum/data/record/R in data_core.security) if(R.fields["id"] == E.fields["id"]) criminal = R.fields["criminal"] - - msg += "Criminal status: \[[criminal]\]\n" + var/criminal_status = hasHUD(user, "read_only_security") ? "\[[criminal]\]" : "\[[criminal]\]" + msg += "Criminal status: [criminal_status]\n" msg += "Security records: \[View\] \[Add comment\]\n" if(hasHUD(user,"medical")) @@ -408,7 +408,12 @@ var/obj/item/organ/internal/cyberimp/eyes/hud/CIH = H.get_int_organ(/obj/item/organ/internal/cyberimp/eyes/hud) switch(hudtype) if("security") - return istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/hud/security/sunglasses) || istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/security) + return istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/security) + if("read_only_security") + var/obj/item/clothing/glasses/hud/security/S + if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + S = H.glasses + return !istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/security) && S && S.read_only if("medical") return istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(H.glasses, /obj/item/clothing/glasses/hud/health/health_advanced) || istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/medical) else From e71696df8fff2d2842fcdfd80acda034702ae231 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Fri, 7 Dec 2018 20:18:05 -0800 Subject: [PATCH 02/16] Replace IA bowman headset with normal headset --- code/game/jobs/job/supervisor.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index ce5fbd847bc..7c7d7b4d340 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -256,7 +256,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) uniform = /obj/item/clothing/under/rank/internalaffairs suit = /obj/item/clothing/suit/storage/internalaffairs shoes = /obj/item/clothing/shoes/brown - l_ear = /obj/item/radio/headset/headset_sec/alt + l_ear = /obj/item/radio/headset/headset_sec glasses = /obj/item/clothing/glasses/hud/security/sunglasses/read_only id = /obj/item/card/id/security l_pocket = /obj/item/laser_pointer From 87f3a7c1b3a4d06ac11616fb2defa358e14db169 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Mon, 10 Dec 2018 21:52:10 -0500 Subject: [PATCH 03/16] Caseing --- code/game/machinery/computer/arcade.dm | 2 +- code/game/machinery/dance_machine.dm | 2 +- code/game/machinery/doors/door.dm | 2 +- code/game/machinery/doors/firedoor.dm | 2 +- code/game/mecha/equipment/weapons/weapons.dm | 2 +- code/game/objects/items/weapons/clown_items.dm | 2 +- code/game/objects/structures/window.dm | 2 +- code/modules/mob/living/simple_animal/bot/ed209bot.dm | 2 +- code/modules/mob/living/simple_animal/hostile/pirate.dm | 2 +- code/modules/projectiles/guns/energy/special.dm | 2 +- code/modules/projectiles/guns/magic/staff.dm | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index b0ad5a23b1d..bd66901c4ab 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -998,7 +998,7 @@ to_chat(user, "You flip the switch on the underside of [src].") active = 1 visible_message("[src] softly beeps and whirs to life!") - playsound(src.loc, 'sound/machines/defib_SaftyOn.ogg', 25, 1) + playsound(src.loc, 'sound/machines/defib_saftyOn.ogg', 25, 1) atom_say("This is ship ID #[rand(1,1000)] to Orion Port Authority. We're coming in for landing, over.") sleep(20) visible_message("[src] begins to vibrate...") diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 36dae285e57..f4db8075e8a 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -148,7 +148,7 @@ selection = available[selected] updateUsrDialog() if("horn") - deejay('sound/items/airhorn2.ogg') + deejay('sound/items/Airhorn2.ogg') if("alert") deejay('sound/misc/notice1.ogg') if("siren") diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 6f838319040..adf22a06850 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -1,7 +1,7 @@ /obj/machinery/door name = "door" desc = "It opens and closes." - icon = 'icons/obj/doors/Doorint.dmi' + icon = 'icons/obj/doors/doorint.dmi' icon_state = "door1" anchored = TRUE opacity = 1 diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 3770a311ed0..48561914a16 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -80,7 +80,7 @@ else if(glass) user.visible_message("[user] bangs on \the [src].", "You bang on \the [src].") - playsound(get_turf(src), 'sound/effects/Glassknock.ogg', 10, 1) + playsound(get_turf(src), 'sound/effects/glassknock.ogg', 10, 1) /obj/machinery/door/firedoor/attackby(obj/item/C, mob/user, params) add_fingerprint(user) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 011b2c6fab8..f5fdecea3f6 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -516,7 +516,7 @@ energy_drain = 30 origin_tech = "materials=3;plasmatech=4;engineering=3" projectile = /obj/item/projectile/plasma/adv/mech - fire_sound = 'sound/weapons/laser.ogg' + fire_sound = 'sound/weapons/Laser.ogg' /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma/can_attach(obj/mecha/M as obj) if(istype(M, /obj/mecha/working)) diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 1143954faef..4573545f969 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -32,7 +32,7 @@ desc = "Damn son, where'd you find this?" icon_state = "air_horn" origin_tech = "materials=4;engineering=4" - honk_sounds = list('sound/items/airhorn2.ogg' = 1) + honk_sounds = list('sound/items/Airhorn2.ogg' = 1) /obj/item/bikehorn/golden name = "golden bike horn" diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 28114f46a8c..25314db064c 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -174,7 +174,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f user.changeNext_move(CLICK_CD_MELEE) user.visible_message("Something knocks on [src].") add_fingerprint(user) - playsound(src, 'sound/effects/Glassknock.ogg', 50, 1) + playsound(src, 'sound/effects/glassknock.ogg', 50, 1) /obj/structure/window/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) if(!can_be_reached(user)) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 5969d7a6d40..0e7ba61d1f2 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -412,7 +412,7 @@ ..() /mob/living/simple_animal/bot/ed209/proc/set_weapon() //used to update the projectile type and firing sound - shoot_sound = 'sound/weapons/laser.ogg' + shoot_sound = 'sound/weapons/Laser.ogg' if(emagged == 2) if(lasercolor) projectile = /obj/item/projectile/beam/disabler diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index 108daa031df..cab8dc8fcde 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -34,7 +34,7 @@ icon_state = "pirateranged" icon_living = "pirateranged" icon_dead = "piratemelee_dead" - projectilesound = 'sound/weapons/laser.ogg' + projectilesound = 'sound/weapons/Laser.ogg' ranged = 1 rapid = 1 retreat_distance = 5 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index fa010a69e49..c1e24a9badd 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -140,7 +140,7 @@ modifystate = -1 origin_tech = "combat=1;materials=3;magnets=2;plasmatech=3;engineering=1" ammo_type = list(/obj/item/ammo_casing/energy/plasma) - fire_sound = 'sound/weapons/laser.ogg' + fire_sound = 'sound/weapons/Laser.ogg' usesound = 'sound/items/Welder.ogg' toolspeed = 1 container_type = OPENCONTAINER diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index 2ee7edb075a..a8455d45fc5 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -60,7 +60,7 @@ item_state = "honker" max_charges = 4 recharge_rate = 8 - fire_sound = 'sound/items/airhorn.ogg' + fire_sound = 'sound/items/Airhorn.ogg' /obj/item/gun/magic/staff/focus name = "mental focus" From 0b5c7d8c2ebdde153145af7a8e75f31d9dcf1087 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 11 Dec 2018 00:08:31 -0500 Subject: [PATCH 04/16] well this did not push the first time --- .../{defib_SaftyOn.ogg => defib_saftyOn.ogg} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename sound/machines/{defib_SaftyOn.ogg => defib_saftyOn.ogg} (100%) diff --git a/sound/machines/defib_SaftyOn.ogg b/sound/machines/defib_saftyOn.ogg similarity index 100% rename from sound/machines/defib_SaftyOn.ogg rename to sound/machines/defib_saftyOn.ogg From 713519d1c22eef64b2a6e021eef03021d4140719 Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 11 Dec 2018 14:41:28 -0800 Subject: [PATCH 05/16] initial --- code/modules/mob/living/silicon/pai/recruit.dm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index 1797fc8b4bd..932abe5e1eb 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -23,6 +23,16 @@ var/datum/paiController/paiController // Global handler for pAI candidates var/askDelay = 10 * 60 * 1 // One minute [ms * sec * min] /datum/paiController/Topic(href, href_list[]) + + var/datum/paiCandidate/candidate = locate(href_list["candidate"]) + if(candidate) + if(!istype(candidate)) + return + + if(candidate.key && usr.key && candidate.key != usr.key) + return + + if("signup" in href_list) var/mob/dead/observer/O = locate(href_list["signup"]) if(!O) return @@ -34,7 +44,6 @@ var/datum/paiController/paiController // Global handler for pAI candidates return if(href_list["download"]) - var/datum/paiCandidate/candidate = locate(href_list["candidate"]) var/obj/item/paicard/card = locate(href_list["device"]) if(card.pai) return @@ -59,7 +68,6 @@ var/datum/paiController/paiController // Global handler for pAI candidates usr << browse(null, "window=findPai") if(href_list["new"]) - var/datum/paiCandidate/candidate = locate(href_list["candidate"]) var/option = href_list["option"] var/t = "" From 412a4e0e784903c1e43cb112794cccf4e4e0f715 Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 11 Dec 2018 14:48:55 -0800 Subject: [PATCH 06/16] warnings --- code/modules/mob/living/silicon/pai/recruit.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index 932abe5e1eb..0baad2befbb 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -27,19 +27,23 @@ var/datum/paiController/paiController // Global handler for pAI candidates var/datum/paiCandidate/candidate = locate(href_list["candidate"]) if(candidate) if(!istype(candidate)) + message_admins("Warning: possible href exploit by [key_name(usr)] (paiController/Topic, candidate is not a pAI)") return if(candidate.key && usr.key && candidate.key != usr.key) + message_admins("Warning: possible href exploit by [key_name(usr)] (paiController/Topic, candidate and usr are different mobs)") return if("signup" in href_list) var/mob/dead/observer/O = locate(href_list["signup"]) - if(!O) return + if(!O) + return if(!(O in GLOB.respawnable_list)) to_chat(O, "You've given up your ability to respawn!") return - if(!check_recruit(O)) return + if(!check_recruit(O)) + return recruitWindow(O) return From f5c677299aaab51473d73ca995bea228089c8f7f Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 11 Dec 2018 16:19:15 -0800 Subject: [PATCH 07/16] law manager, mecha control --- code/modules/mob/living/silicon/ai/ai.dm | 15 ++++++++++++++- code/modules/nano/modules/law_manager.dm | 4 ++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index a6400142086..fb1f930e6fb 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -656,7 +656,20 @@ var/list/ai_verbs_default = list( return if(href_list["ai_take_control"]) //Mech domination + var/obj/mecha/M = locate(href_list["ai_take_control"]) + + if(!M) + return + + var/mech_has_controlbeacon = FALSE + for(var/obj/item/mecha_parts/mecha_tracking/ai_control/A in M.trackers) + mech_has_controlbeacon = TRUE + break + if(!can_dominate_mechs && !mech_has_controlbeacon) + message_admins("Warning: [key_name(usr)] attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.") + return + if(controlled_mech) to_chat(src, "You are already loaded into an onboard computer!") return @@ -670,7 +683,7 @@ var/list/ai_verbs_default = list( to_chat(src, "You aren't in your core!") return if(M) - M.transfer_ai(AI_MECH_HACK,src, usr) //Called om the mech itself. + M.transfer_ai(AI_MECH_HACK, src, usr) //Called om the mech itself. else if(href_list["faketrack"]) var/mob/target = locate(href_list["track"]) in GLOB.mob_list diff --git a/code/modules/nano/modules/law_manager.dm b/code/modules/nano/modules/law_manager.dm index 04a98aa25a9..6294d22e99a 100644 --- a/code/modules/nano/modules/law_manager.dm +++ b/code/modules/nano/modules/law_manager.dm @@ -31,6 +31,10 @@ if(..()) return 1 + if(!can_still_topic()) + message_admins("Warning: [key_name(usr)] failed initial can_still_topic in nano_module/law_manager/Topic") + return 1 + if(href_list["set_view"]) current_view = text2num(href_list["set_view"]) return 1 From 8284c56c5475b8cc3d5b7f8038aea89c9e248716 Mon Sep 17 00:00:00 2001 From: AzuleUtama <44248086+AzuleUtama@users.noreply.github.com> Date: Wed, 12 Dec 2018 00:28:45 +0000 Subject: [PATCH 08/16] Fixes bulldog and c20's low ammo alarms only going off once --- code/modules/projectiles/guns/projectile/automatic.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index f886c5e5e53..ecaf8d801b2 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -22,6 +22,8 @@ /obj/item/gun/projectile/automatic/attackby(var/obj/item/A as obj, mob/user as mob, params) . = ..() if(.) + if(alarmed) // Did the empty clip alarm go off already? + alarmed = 0 // Reset the alarm once a magazine is loaded return if(istype(A, /obj/item/ammo_box/magazine)) var/obj/item/ammo_box/magazine/AM = A @@ -33,6 +35,8 @@ magazine = null else to_chat(user, "You insert the magazine into \the [src].") + if(alarmed) + alarmed = 0 user.remove_from_mob(AM) magazine = AM magazine.loc = src From 3e5824c37c5cb1b84f02093cf852a9890e63ddf8 Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 11 Dec 2018 17:32:45 -0800 Subject: [PATCH 09/16] more logging --- code/modules/mob/living/silicon/ai/ai.dm | 3 ++- code/modules/mob/living/silicon/pai/recruit.dm | 4 +++- code/modules/nano/modules/law_manager.dm | 5 +++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index fb1f930e6fb..2f9ad47399b 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -667,7 +667,8 @@ var/list/ai_verbs_default = list( mech_has_controlbeacon = TRUE break if(!can_dominate_mechs && !mech_has_controlbeacon) - message_admins("Warning: [key_name(usr)] attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.") + message_admins("Warning: possible href exploit by [key_name(usr)] - attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.") + log_debug("Warning: possible href exploit by [key_name(usr)] - attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.") return if(controlled_mech) diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index 0baad2befbb..cdc54833e24 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -25,16 +25,18 @@ var/datum/paiController/paiController // Global handler for pAI candidates /datum/paiController/Topic(href, href_list[]) var/datum/paiCandidate/candidate = locate(href_list["candidate"]) + if(candidate) if(!istype(candidate)) message_admins("Warning: possible href exploit by [key_name(usr)] (paiController/Topic, candidate is not a pAI)") + log_debug("Warning: possible href exploit by [key_name(usr)] (paiController/Topic, candidate is not a pAI)") return if(candidate.key && usr.key && candidate.key != usr.key) message_admins("Warning: possible href exploit by [key_name(usr)] (paiController/Topic, candidate and usr are different mobs)") + log_debug("Warning: possible href exploit by [key_name(usr)] (paiController/Topic, candidate and usr are different mobs)") return - if("signup" in href_list) var/mob/dead/observer/O = locate(href_list["signup"]) if(!O) diff --git a/code/modules/nano/modules/law_manager.dm b/code/modules/nano/modules/law_manager.dm index 6294d22e99a..a8a8d5e688a 100644 --- a/code/modules/nano/modules/law_manager.dm +++ b/code/modules/nano/modules/law_manager.dm @@ -31,8 +31,9 @@ if(..()) return 1 - if(!can_still_topic()) - message_admins("Warning: [key_name(usr)] failed initial can_still_topic in nano_module/law_manager/Topic") + if(usr != owner && !check_rights(R_ADMIN)) + message_admins("Warning: possible href exploit by [key_name(usr)] - failed permissions check in nano_module/law_manager/Topic") + log_debug("Warning: possible href exploit by [key_name(usr)] - failed permissions check in nano_module/law_manager/Topic") return 1 if(href_list["set_view"]) From 4e344509ea952b7052e1578a9e52ac3bcd402b61 Mon Sep 17 00:00:00 2001 From: Kyep Date: Tue, 11 Dec 2018 17:53:09 -0800 Subject: [PATCH 10/16] locateUID --- code/modules/mob/living/silicon/pai/recruit.dm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index cdc54833e24..c834aa3c382 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -24,7 +24,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates /datum/paiController/Topic(href, href_list[]) - var/datum/paiCandidate/candidate = locate(href_list["candidate"]) + var/datum/paiCandidate/candidate = locateUID(href_list["candidate"]) if(candidate) if(!istype(candidate)) @@ -197,28 +197,28 @@ var/datum/paiController/paiController // Global handler for pAI candidates - + - + - + - + @@ -229,17 +229,17 @@ var/datum/paiController/paiController // Global handler for pAI candidates
Name:Name: [candidate.name] 
What you plan to call yourself. Suggestions: Any character name you would choose for a station character OR an AI.
Description:Description: [candidate.description] 
What sort of pAI you typically play; your mannerisms, your quirks, etc. This can be as sparse or as detailed as you like.
Preferred Role:Preferred Role: [candidate.role] 
Do you like to partner with sneaky social ninjas? Like to help security hunt down thugs? Enjoy watching an engineer's back while he saves the station yet again? This doesn't have to be limited to just station jobs. Pretty much any general descriptor for what you'd like to be doing works here.
OOC Comments:OOC Comments: [candidate.comments] 
- Save Personality + Save Personality
- Load Personality + Load Personality

- +
Submit PersonalitySubmit Personality

@@ -350,7 +350,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates -
Download [c.name] + Download [c.name]

From a0f2a9ce9db2b8714723dba02d18ef24b3c8036c Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Tue, 11 Dec 2018 21:05:05 -0500 Subject: [PATCH 11/16] Automatic changelog generation for PR #10445 [ci skip] --- html/changelogs/AutoChangeLog-pr-10445.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10445.yml diff --git a/html/changelogs/AutoChangeLog-pr-10445.yml b/html/changelogs/AutoChangeLog-pr-10445.yml new file mode 100644 index 00000000000..70666db5054 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10445.yml @@ -0,0 +1,4 @@ +author: "Kyep" +delete-after: True +changes: + - bugfix: "Fixed a few things that should not be possible with pAIs and AIs." From 1aceb6b4501f0e41d2828fa3bbdde23a178f954a Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Tue, 11 Dec 2018 21:28:04 -0500 Subject: [PATCH 12/16] Automatic changelog generation for PR #10444 [ci skip] --- html/changelogs/AutoChangeLog-pr-10444.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10444.yml diff --git a/html/changelogs/AutoChangeLog-pr-10444.yml b/html/changelogs/AutoChangeLog-pr-10444.yml new file mode 100644 index 00000000000..c412f0bbafd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10444.yml @@ -0,0 +1,4 @@ +author: "name here" +delete-after: True +changes: + - bugfix: "Fixed Bulldog and C20 having their ammo alarms only go off once per gun." From bd191846edefb59d3c270f3b9872c71cae915cce Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 12 Dec 2018 02:36:36 +0000 Subject: [PATCH 13/16] Automatic changelog compile, [ci skip] --- html/changelog.html | 10 ++++++++++ html/changelogs/.all_changelog.yml | 5 +++++ html/changelogs/AutoChangeLog-pr-10444.yml | 4 ---- html/changelogs/AutoChangeLog-pr-10445.yml | 4 ---- 4 files changed, 15 insertions(+), 8 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-10444.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-10445.yml diff --git a/html/changelog.html b/html/changelog.html index 83681d46332..05ecd7afe03 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,16 @@ -->
+

12 December 2018

+

Kyep updated:

+
    +
  • Fixed a few things that should not be possible with pAIs and AIs.
  • +
+

name here updated:

+
    +
  • Fixed Bulldog and C20 having their ammo alarms only go off once per gun.
  • +
+

11 December 2018

Alonefromhell updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 5549f1857d9..131d8748811 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -8343,3 +8343,8 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - tweak: Display case burglar alarm no longer triggered if there's no power to equipment gangelwaefre: - tweak: Aesthetic changes to Lumi's custom sprites +2018-12-12: + Kyep: + - bugfix: Fixed a few things that should not be possible with pAIs and AIs. + name here: + - bugfix: Fixed Bulldog and C20 having their ammo alarms only go off once per gun. diff --git a/html/changelogs/AutoChangeLog-pr-10444.yml b/html/changelogs/AutoChangeLog-pr-10444.yml deleted file mode 100644 index c412f0bbafd..00000000000 --- a/html/changelogs/AutoChangeLog-pr-10444.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "name here" -delete-after: True -changes: - - bugfix: "Fixed Bulldog and C20 having their ammo alarms only go off once per gun." diff --git a/html/changelogs/AutoChangeLog-pr-10445.yml b/html/changelogs/AutoChangeLog-pr-10445.yml deleted file mode 100644 index 70666db5054..00000000000 --- a/html/changelogs/AutoChangeLog-pr-10445.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - bugfix: "Fixed a few things that should not be possible with pAIs and AIs." From 90453ee42af6b6c58095efb48fb6d5af5888efb5 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Tue, 11 Dec 2018 22:31:19 -0800 Subject: [PATCH 14/16] Revert "Replace IA bowman headset with normal headset" This reverts commit e71696df8fff2d2842fcdfd80acda034702ae231. --- code/game/jobs/job/supervisor.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 7c7d7b4d340..ce5fbd847bc 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -256,7 +256,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) uniform = /obj/item/clothing/under/rank/internalaffairs suit = /obj/item/clothing/suit/storage/internalaffairs shoes = /obj/item/clothing/shoes/brown - l_ear = /obj/item/radio/headset/headset_sec + l_ear = /obj/item/radio/headset/headset_sec/alt glasses = /obj/item/clothing/glasses/hud/security/sunglasses/read_only id = /obj/item/card/id/security l_pocket = /obj/item/laser_pointer From b0bf57adb123bf930d083949f37b6bd9c007f4f4 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 12 Dec 2018 02:10:05 -0500 Subject: [PATCH 15/16] Automatic changelog generation for PR #10421 [ci skip] --- html/changelogs/AutoChangeLog-pr-10421.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10421.yml diff --git a/html/changelogs/AutoChangeLog-pr-10421.yml b/html/changelogs/AutoChangeLog-pr-10421.yml new file mode 100644 index 00000000000..e3a8cbbd5cb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10421.yml @@ -0,0 +1,4 @@ +author: "Tayyyyyyy" +delete-after: True +changes: + - rscadd: "Read only sec hud for IAA and blueshield" From 905ea4efc10fd47c037c5ac254370c9c8005e721 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 12 Dec 2018 07:27:19 +0000 Subject: [PATCH 16/16] Automatic changelog compile, [ci skip] --- html/changelog.html | 4 ++++ html/changelogs/.all_changelog.yml | 2 ++ html/changelogs/AutoChangeLog-pr-10421.yml | 4 ---- 3 files changed, 6 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-10421.yml diff --git a/html/changelog.html b/html/changelog.html index 05ecd7afe03..42534cb41a0 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -61,6 +61,10 @@
    • Fixed a few things that should not be possible with pAIs and AIs.
    +

    Tayyyyyyy updated:

    +
      +
    • Read only sec hud for IAA and blueshield
    • +

    name here updated:

    • Fixed Bulldog and C20 having their ammo alarms only go off once per gun.
    • diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 131d8748811..4a41687073e 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -8346,5 +8346,7 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. 2018-12-12: Kyep: - bugfix: Fixed a few things that should not be possible with pAIs and AIs. + Tayyyyyyy: + - rscadd: Read only sec hud for IAA and blueshield name here: - bugfix: Fixed Bulldog and C20 having their ammo alarms only go off once per gun. diff --git a/html/changelogs/AutoChangeLog-pr-10421.yml b/html/changelogs/AutoChangeLog-pr-10421.yml deleted file mode 100644 index e3a8cbbd5cb..00000000000 --- a/html/changelogs/AutoChangeLog-pr-10421.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Tayyyyyyy" -delete-after: True -changes: - - rscadd: "Read only sec hud for IAA and blueshield"