diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 37f136b4618..b5a65b25ddf 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -12,6 +12,13 @@ var/alert = 0 var/open = 0 var/obj/item/weapon/electronics/airlock/electronics + var/start_showpiece_type = null //add type for items on display + +/obj/structure/displaycase/New() + ..() + if(start_showpiece_type) + showpiece = new start_showpiece_type (src) + update_icon() /obj/structure/displaycase/ex_act(severity, target) switch(severity) @@ -129,6 +136,17 @@ showpiece = W user << "You put [W] on display" update_icon() + else if(istype(W, /obj/item/stack/sheet/glass) && destroyed) + var/obj/item/stack/sheet/glass/G = W + if(G.get_amount() < 2) + user << "You need two glass sheets to fix the case!" + return + user << "You start fixing the [src]..." + if(do_after(user, 20, target = src)) + G.use(2) + destroyed = 0 + health = initial(health) + update_icon() else user.changeNext_move(CLICK_CD_MELEE) src.health -= W.force @@ -205,11 +223,7 @@ /obj/structure/displaycase/captain alert = 1 - -/obj/structure/displaycase/captain/New() - ..() - showpiece = new /obj/item/weapon/gun/energy/laser/captain (src) - update_icon() + start_showpiece_type = /obj/item/weapon/gun/energy/laser/captain /obj/structure/displaycase/labcage name = "lab cage" diff --git a/html/changelogs/cases.yml b/html/changelogs/cases.yml new file mode 100644 index 00000000000..c06e606b78f --- /dev/null +++ b/html/changelogs/cases.yml @@ -0,0 +1,9 @@ +author: AnturK + +delete-after: True + +changes: + - rscadd: "Display cases can now be built using 5 wood planks and 10 glass sheets." + - rscadd: "Add airlock electronics to open it with id later, otherwise you'll have to use crowbar" + - tweak: "Broken display cases can be fixed with glass sheets or removed using crowbar" + - tweak: "Added start_showpiece_type variable for mappers to create custom displays"