diff --git a/code/datums/uplink/devices and tools.dm b/code/datums/uplink/devices and tools.dm index c49011d12f9..dbe5cc8b940 100644 --- a/code/datums/uplink/devices and tools.dm +++ b/code/datums/uplink/devices and tools.dm @@ -9,6 +9,12 @@ item_cost = 2 path = /obj/item/weapon/storage/toolbox/syndicate +/datum/uplink_item/item/tools/advancedpinpointer + name = "Advanced pinpointer" + item_cost = 15 + path = /obj/item/weapon/pinpointer/advpinpointer + desc = "An advanced pinpointer that can find any target with DNA along with various other items." + /datum/uplink_item/item/tools/money name = "Operations Funding" item_cost = 2 diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm index a8c5db43057..05a1f0f3bba 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -141,13 +141,13 @@ return 1 else if(istype(O,/obj/item/weapon/crowbar)) user.visible_message( \ - "\The [user] begins [src.anchored ? "securing" : "unsecuring"] the microwave.", \ - "You attempt to [src.anchored ? "secure" : "unsecure"] the microwave." + "\The [user] begins [src.anchored ? "unsecuring" : "securing"] the microwave.", \ + "You attempt to [src.anchored ? "unsecure" : "secure"] the microwave." ) if (do_after(user,20)) user.visible_message( \ - "\The [user] [src.anchored ? "secures" : "unsecures"] the microwave.", \ - "You [src.anchored ? "secure" : "unsecure"] the microwave." + "\The [user] [src.anchored ? "unsecures" : "secures"] the microwave.", \ + "You [src.anchored ? "unsecure" : "secure"] the microwave." ) src.anchored = !src.anchored else diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm index 354e2551955..36f49a4c63c 100644 --- a/code/game/machinery/nuclear_bomb.dm +++ b/code/game/machinery/nuclear_bomb.dm @@ -11,6 +11,7 @@ var/bomb_set var/lighthack = 0 var/timeleft = 120 var/timing = 0 + var/alerted = 0 var/r_code = "ADMIN" var/code = "" var/yes_code = 0 @@ -290,6 +291,10 @@ var/bomb_set update_icon() else secure_device() + + if(alerted == 0) + set_security_level(SEC_LEVEL_DELTA) + alerted = 1 if (href_list["safety"]) if (wires.IsIndexCut(NUCLEARBOMB_WIRE_SAFETY)) usr << "Nothing happens, something might be wrong with the wiring." diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index ce11af8ccbc..a7c8f69e32d 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -346,6 +346,26 @@ the implant may become unstable and either pre-maturely inject the subject or si H << "You feel a surge of loyalty towards [company_name]." return 1 + emp_act(severity) + if (malfunction) + return + malfunction = MALFUNCTION_TEMPORARY + + activate("emp") + if(severity == 1) + if(prob(50)) + meltdown() + else if (prob(50)) + malfunction = MALFUNCTION_PERMANENT + processing_objects.Remove(src) + return + spawn(20) + malfunction-- + + implanted(mob/source as mob) + //mobname = source.real_name + processing_objects.Add(src) + return 1 /obj/item/weapon/implant/adrenalin name = "adrenalin" diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 692d40897c3..e5409eef9c2 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -99,3 +99,36 @@ New() ..() new /obj/item/weapon/gun/energy/lawgiver(src) + +/obj/item/weapon/storage/lockbox/medal + name = "medal box" + desc = "A locked box used to store medals." + icon_state = "medalbox+l" + item_state = "syringe_kit" + w_class = 3 + max_w_class = 2 + req_access = list(access_captain) + icon_locked = "medalbox+l" + icon_closed = "medalbox" + icon_broken = "medalbox+b" + +/obj/item/weapon/storage/lockbox/medal/New() + ..() + new /obj/item/clothing/accessory/medal + new /obj/item/clothing/accessory/medal + new /obj/item/clothing/accessory/medal/conduct + new /obj/item/clothing/accessory/medal/conduct + new /obj/item/clothing/accessory/medal/conduct + new /obj/item/clothing/accessory/medal/conduct + new /obj/item/clothing/accessory/medal/bronze_heart + new /obj/item/clothing/accessory/medal/bronze_heart + new /obj/item/clothing/accessory/medal/nobel_science + new /obj/item/clothing/accessory/medal/nobel_science + new /obj/item/clothing/accessory/medal/silver + new /obj/item/clothing/accessory/medal/iron/merit + new /obj/item/clothing/accessory/medal/silver/valor + new /obj/item/clothing/accessory/medal/silver/security + new /obj/item/clothing/accessory/medal/silver/security + new /obj/item/clothing/accessory/medal/gold + + diff --git a/html/changelogs/Printer16- SmallChanges.yml b/html/changelogs/Printer16- SmallChanges.yml new file mode 100644 index 00000000000..16088b65880 --- /dev/null +++ b/html/changelogs/Printer16- SmallChanges.yml @@ -0,0 +1,10 @@ +author: Printer16 + +delete-after: True + +changes: + - rscadd: "Arming a nuclear device to explode (Saftey off and timer counting down) now raises the code to delta." + - rscadd: "Traitors can now buy an advanced pinpointer." + - rscadd: "Added the medal box back." + - tweak: "Loyalty implants now have a chance to melt when exposed to EMP's." + - bugfix: "Microwaves now display a proper message when crowbared." diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 44546067a03..6b22cffe5ee 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index b0c818c045a..97c3273762c 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3923,7 +3923,7 @@ "bxw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/lab) "bxx" = (/obj/item/device/radio/intercom/locked{frequency = 1343; locked_frequency = 1343; name = "Private AI Channel"; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled/dark{name = "cooled dark floor"; temperature = 278},/area/turret_protected/ai_upload) "bxy" = (/obj/machinery/light{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/porta_turret{dir = 8},/turf/simulated/floor/bluegrid{name = "cooled mainframe floor"; temperature = 278},/area/turret_protected/ai_upload) -"bxz" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/crew_quarters/captain) +"bxz" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/item/weapon/storage/lockbox/medal,/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bxA" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/camera/network/command{c_tag = "Bridge - Captain's Quarters"; dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bxB" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "bxC" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/machinery/light_switch{pixel_x = 27},/obj/structure/reagent_dispensers/acid{density = 0; pixel_y = -32},/turf/simulated/floor/tiled/white,/area/rnd/lab)