From bc5d660fe06971e2b72e6414dbac987771b5209d Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 1 Oct 2015 00:38:29 +0200 Subject: [PATCH 1/3] Adds support for custom showcases on the map --- code/game/objects/structures/displaycase.dm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 37f136b4618..63d04861c19 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) @@ -205,11 +212,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" From b7a1ee7cfab614a4782301690739f1690b2da857 Mon Sep 17 00:00:00 2001 From: AnturK Date: Mon, 5 Oct 2015 13:07:58 +0200 Subject: [PATCH 2/3] Adds display case repair --- code/game/objects/structures/displaycase.dm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 63d04861c19..b5a65b25ddf 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -136,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 From 4e2fa78335bd1b5d85152d5539a46abc885965ab Mon Sep 17 00:00:00 2001 From: AnturK Date: Mon, 5 Oct 2015 21:23:40 +0200 Subject: [PATCH 3/3] Changelog --- html/changelogs/cases.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/cases.yml 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"