diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 6d43d91ce7..59814f6834 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -1,367 +1,3 @@
-<<<<<<< HEAD
-/obj/structure/displaycase
- name = "display case"
- icon = 'icons/obj/stationobjs.dmi'
- icon_state = "glassbox0"
- desc = "A display case for prized possessions."
- density = TRUE
- anchored = TRUE
- resistance_flags = ACID_PROOF
- armor = list(melee = 30, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0, fire = 70, acid = 100)
- max_integrity = 200
- integrity_failure = 50
- var/obj/item/showpiece = null
- var/alert = TRUE
- var/open = FALSE
- var/openable = TRUE
- var/obj/item/electronics/airlock/electronics
- var/start_showpiece_type = null //add type for items on display
-
-/obj/structure/displaycase/Initialize()
- . = ..()
- if(start_showpiece_type)
- showpiece = new start_showpiece_type (src)
- update_icon()
-
-/obj/structure/displaycase/Destroy()
- if(electronics)
- QDEL_NULL(electronics)
- if(showpiece)
- QDEL_NULL(showpiece)
- return ..()
-
-/obj/structure/displaycase/examine(mob/user)
- ..()
- if(alert)
- to_chat(user, "Hooked up with an anti-theft system.")
- if(showpiece)
- to_chat(user, "There's [showpiece] inside.")
-
-
-/obj/structure/displaycase/proc/dump()
- if (showpiece)
- showpiece.forceMove(loc)
- showpiece = null
-
-/obj/structure/displaycase/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
- switch(damage_type)
- if(BRUTE)
- playsound(src.loc, 'sound/effects/glasshit.ogg', 75, 1)
- if(BURN)
- playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
-
-/obj/structure/displaycase/deconstruct(disassembled = TRUE)
- if(!(flags_1 & NODECONSTRUCT_1))
- dump()
- if(!disassembled)
- new /obj/item/shard( src.loc )
- trigger_alarm()
- qdel(src)
-
-/obj/structure/displaycase/obj_break(damage_flag)
- if(!broken && !(flags_1 & NODECONSTRUCT_1))
- density = FALSE
- broken = 1
- new /obj/item/shard( src.loc )
- playsound(src, "shatter", 70, 1)
- update_icon()
- trigger_alarm()
-
-/obj/structure/displaycase/proc/trigger_alarm()
- //Activate Anti-theft
- if(alert)
- var/area/alarmed = get_area(src)
- alarmed.burglaralert(src)
- playsound(src, 'sound/effects/alert.ogg', 50, 1)
-
-/*
-
-*/
-
-/obj/structure/displaycase/proc/is_directional(atom/A)
- try
- getFlatIcon(A,defdir=4)
- catch
- return 0
- return 1
-
-/obj/structure/displaycase/proc/get_flat_icon_directional(atom/A)
- //Get flatIcon even if dir is mismatched for directionless icons
- //SLOW
- var/icon/I
- if(is_directional(A))
- I = getFlatIcon(A)
- else
- var/old_dir = A.dir
- A.setDir(2)
- I = getFlatIcon(A)
- A.setDir(old_dir)
- return I
-
-/obj/structure/displaycase/update_icon()
- var/icon/I
- if(open)
- I = icon('icons/obj/stationobjs.dmi',"glassbox_open")
- else
- I = icon('icons/obj/stationobjs.dmi',"glassbox0")
- if(broken)
- I = icon('icons/obj/stationobjs.dmi',"glassboxb0")
- if(showpiece)
- var/icon/S = get_flat_icon_directional(showpiece)
- S.Scale(17,17)
- I.Blend(S,ICON_UNDERLAY,8,8)
- src.icon = I
- return
-
-/obj/structure/displaycase/attackby(obj/item/W, mob/user, params)
- if(W.GetID() && !broken && openable)
- if(allowed(user))
- to_chat(user, "You [open ? "close":"open"] the [src]")
- toggle_lock(user)
- else
- to_chat(user, "Access denied.")
- else if(istype(W, /obj/item/weldingtool) && user.a_intent == INTENT_HELP && !broken)
- var/obj/item/weldingtool/WT = W
- if(obj_integrity < max_integrity && WT.remove_fuel(5, user))
- to_chat(user, "You begin repairing [src].")
- playsound(loc, WT.usesound, 40, 1)
- if(do_after(user, 40*W.toolspeed, target = src))
- obj_integrity = max_integrity
- playsound(loc, 'sound/items/welder2.ogg', 50, 1)
- update_icon()
- to_chat(user, "You repair [src].")
- else
- to_chat(user, "[src] is already in good condition!")
- return
- else if(!alert && istype(W, /obj/item/crowbar) && openable) //Only applies to the lab cage and player made display cases
- if(broken)
- if(showpiece)
- to_chat(user, "Remove the displayed object first.")
- else
- to_chat(user, "You remove the destroyed case")
- qdel(src)
- else
- to_chat(user, "You start to [open ? "close":"open"] the [src]")
- if(do_after(user, 20*W.toolspeed, target = src))
- to_chat(user, "You [open ? "close":"open"] the [src]")
- toggle_lock(user)
- else if(open && !showpiece)
- if(user.transferItemToLoc(W, src))
- showpiece = W
- to_chat(user, "You put [W] on display")
- update_icon()
- else if(istype(W, /obj/item/stack/sheet/glass) && broken)
- var/obj/item/stack/sheet/glass/G = W
- if(G.get_amount() < 2)
- to_chat(user, "You need two glass sheets to fix the case!")
- return
- to_chat(user, "You start fixing [src]...")
- if(do_after(user, 20, target = src))
- G.use(2)
- broken = 0
- obj_integrity = max_integrity
- update_icon()
- else
- return ..()
-
-/obj/structure/displaycase/proc/toggle_lock(mob/user)
- open = !open
- update_icon()
-
-/obj/structure/displaycase/attack_paw(mob/user)
- return src.attack_hand(user)
-
-/obj/structure/displaycase/attack_hand(mob/user)
- user.changeNext_move(CLICK_CD_MELEE)
- if (showpiece && (broken || open))
- to_chat(user, "You deactivate the hover field built into the case.")
- dump()
- src.add_fingerprint(user)
- update_icon()
- return
- else
- //prevents remote "kicks" with TK
- if (!Adjacent(user))
- return
- user.visible_message("[user] kicks the display case.", null, null, COMBAT_MESSAGE_RANGE)
- user.do_attack_animation(src, ATTACK_EFFECT_KICK)
- take_damage(2)
-
-
-
-/obj/structure/displaycase_chassis
- anchored = TRUE
- density = FALSE
- name = "display case chassis"
- desc = "wooden base of display case"
- icon = 'icons/obj/stationobjs.dmi'
- icon_state = "glassbox_chassis"
- var/obj/item/electronics/airlock/electronics
-
-
-/obj/structure/displaycase_chassis/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/wrench)) //The player can only deconstruct the wooden frame
- to_chat(user, "You start disassembling [src]...")
- playsound(src.loc, I.usesound, 50, 1)
- if(do_after(user, 30*I.toolspeed, target = src))
- playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
- new /obj/item/stack/sheet/mineral/wood(get_turf(src), 5)
- qdel(src)
-
- else if(istype(I, /obj/item/electronics/airlock))
- to_chat(user, "You start installing the electronics into [src]...")
- playsound(src.loc, I.usesound, 50, 1)
- if(do_after(user, 30, target = src) && user.transferItemToLoc(I,src))
- electronics = I
- to_chat(user, "You install the airlock electronics.")
-
- else if(istype(I, /obj/item/stack/sheet/glass))
- var/obj/item/stack/sheet/glass/G = I
- if(G.get_amount() < 10)
- to_chat(user, "You need ten glass sheets to do this!")
- return
- to_chat(user, "You start adding [G] to [src]...")
- if(do_after(user, 20, target = src))
- G.use(10)
- var/obj/structure/displaycase/display = new(src.loc)
- if(electronics)
- electronics.loc = display
- display.electronics = electronics
- if(electronics.one_access)
- display.req_one_access = electronics.accesses
- else
- display.req_access = electronics.accesses
- qdel(src)
- else
- return ..()
-
-//The captains display case requiring specops ID access is intentional.
-//The lab cage and captains display case do not spawn with electronics, which is why req_access is needed.
-/obj/structure/displaycase/captain
- alert = 1
- start_showpiece_type = /obj/item/gun/energy/laser/captain
- req_access = list(ACCESS_CENT_SPECOPS)
-
-/obj/structure/displaycase/labcage
- name = "lab cage"
- desc = "A glass lab container for storing interesting creatures."
- start_showpiece_type = /obj/item/clothing/mask/facehugger/lamarr
- req_access = list(ACCESS_RD)
-
-
-
-/obj/structure/displaycase/trophy
- name = "trophy display case"
- desc = "Store your trophies of accomplishment in here, and they will stay forever."
- var/trophy_message = ""
- var/placer_key = ""
- var/added_roundstart = TRUE
- var/is_locked = TRUE
-
- alert = TRUE
- integrity_failure = 0
- openable = FALSE
-
-/obj/structure/displaycase/trophy/Initialize()
- . = ..()
- GLOB.trophy_cases += src
-
-/obj/structure/displaycase/trophy/Destroy()
- GLOB.trophy_cases -= src
- return ..()
-
-/obj/structure/displaycase/trophy/examine(mob/user)
- ..()
- if(trophy_message)
- to_chat(user, "The plaque reads:")
- to_chat(user, trophy_message)
-
-/obj/structure/displaycase/trophy/attackby(obj/item/W, mob/user, params)
-
- if(!user.Adjacent(src)) //no TK museology
- return
- if(user.a_intent == INTENT_HARM)
- return ..()
-
- if(user.is_holding_item_of_type(/obj/item/key/displaycase))
- if(added_roundstart)
- is_locked = !is_locked
- to_chat(user, "You [!is_locked ? "un" : ""]lock the case.")
- else
- to_chat(user, "The lock is stuck shut!")
- return
-
- if(is_locked)
- to_chat(user, "The case is shut tight with an old fashioned physical lock. Maybe you should ask the curator for the key?")
- return
-
- if(!added_roundstart)
- to_chat(user, "You've already put something new in this case.")
- return
-
- if(is_type_in_typecache(W, GLOB.blacklisted_cargo_types))
- to_chat(user, "The case rejects the [W].")
- return
-
- for(var/a in W.GetAllContents())
- if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types))
- to_chat(user, "The case rejects the [W].")
- return
-
- if(user.transferItemToLoc(W, src))
-
- if(showpiece)
- to_chat(user, "You press a button, and [showpiece] descends into the floor of the case.")
- QDEL_NULL(showpiece)
-
- to_chat(user, "You insert [W] into the case.")
- showpiece = W
- added_roundstart = FALSE
- update_icon()
-
- placer_key = user.ckey
-
- trophy_message = W.desc //default value
-
- var/chosen_plaque = stripped_input(user, "What would you like the plaque to say? Default value is item's description.", "Trophy Plaque")
- if(chosen_plaque)
- if(user.Adjacent(src))
- trophy_message = chosen_plaque
- to_chat(user, "You set the plaque's text.")
- else
- to_chat(user, "You are too far to set the plaque's text.")
-
- SSpersistence.SaveTrophy(src)
- return TRUE
-
- else
- to_chat(user, "\The [W] is stuck to your hand, you can't put it in the [src.name]!")
-
- return
-
-/obj/structure/displaycase/trophy/dump()
- if (showpiece)
- if(added_roundstart)
- visible_message("The [showpiece] crumbles to dust!")
- new /obj/effect/decal/cleanable/ash(loc)
- QDEL_NULL(showpiece)
- else
- ..()
-
-/obj/item/key/displaycase
- name = "display case key"
- desc = "The key to the curator's display cases."
-
-/obj/item/showpiece_dummy
- name = "Cheap replica"
-
-/obj/item/showpiece_dummy/Initialize(mapload, path)
- . = ..()
- var/obj/item/I = path
- name = initial(I.name)
- icon = initial(I.icon)
- icon_state = initial(I.icon_state)
-=======
/obj/structure/displaycase
name = "display case"
icon = 'icons/obj/stationobjs.dmi'
@@ -724,4 +360,3 @@
name = initial(I.name)
icon = initial(I.icon)
icon_state = initial(I.icon_state)
->>>>>>> 7998a3c... Merge pull request #31601 from AutomaticFrenzy/patch/thethe