diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/mimic_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/mimic_vr.dm
deleted file mode 100644
index c75560534fa..00000000000
--- a/code/modules/mob/living/simple_mob/subtypes/animal/space/mimic_vr.dm
+++ /dev/null
@@ -1,244 +0,0 @@
-//
-// Abstract Class
-//
-
-/mob/living/simple_mob/animal/space/mimic
- name = "crate"
- desc = "A rectangular steel crate."
-
- icon_state = "crate"
- icon_living = "crate"
- icon = 'icons/obj/storage.dmi'
-
- faction = "mimic"
-
- maxHealth = 250
- health = 250
- //speed = 4 no idea what this is, conflicts with new AI update.
- movement_cooldown = 10 //slow crate.
-
- response_help = "touches"
- response_disarm = "pushes"
- response_harm = "hits"
-
- harm_intent_damage = 5
- melee_damage_lower = 4
- melee_damage_upper = 6
- attacktext = list("attacked")
- attack_sound = 'sound/weapons/bite.ogg'
-
- min_oxy = 0
- max_oxy = 0
- min_tox = 0
- max_tox = 0
- min_co2 = 0
- max_co2 = 0
- min_n2 = 0
- max_n2 = 0
- minbodytemp = 0
-
- meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat
-
- say_list_type = /datum/say_list/mimic
- ai_holder_type = /datum/ai_holder/mimic
-
- var/knockdown_chance = 15 //Stubbing your toe on furniture hurts.
-
- showvoreprefs = 0 //VOREStation Edit - Hides mechanical vore prefs for mimics. You can't see their gaping maws when they're just sitting idle.
-
-/datum/say_list/mimic
- say_got_target = list("growls")
-
-/datum/ai_holder/mimic
- wander = FALSE
- hostile = TRUE
- threaten = TRUE
- threaten_timeout = 5 SECONDS
- threaten_delay = 1 SECONDS //not a threat, more of a delay.
-
-/mob/living/simple_mob/animal/space/carp/apply_melee_effects(var/atom/A)
- if(isliving(A))
- var/mob/living/L = A
- if(prob(knockdown_chance))
- L.Weaken(3)
- L.visible_message(span("danger", "\The [src] knocks down \the [L]!"))
-
-/* should be covered by my "growls" say thing, but keeping it just in case.
-/mob/living/simple_mob/animal/space/mimic/set_target()
- . = ..()
- if(.)
- audible_emote("growls at [.]")
-*/
-/mob/living/simple_mob/animal/space/mimic/death()
- ..()
- qdel(src)
-
-/mob/living/simple_mob/animal/space/mimic/will_show_tooltip()
- return FALSE
-
-/mob/living/simple_mob/animal/space/mimic/death()
- var/obj/structure/closet/crate/C = new(get_turf(src))
- // Put loot in crate
- for(var/obj/O in src)
- if(isbelly(O)) //VOREStation edit
- continue
- O.forceMove(C)
- ..()
-
-/mob/living/simple_mob/animal/space/mimic/Initialize()
- . = ..()
- for(var/obj/item/I in loc)
- I.forceMove(src)
-/* I honestly have no idea what's happening down there so I'm just taking the essentials and yeeting.
-//
-// Crate Mimic
-//
-
-// Aggro when you try to open them. Will also pickup loot when spawns and drop it when dies.
-/mob/living/simple_mob/animal/space/mimic/crate
-
- attacktext = list("bitten")
-
-// stop_automated_movement = 1 we don't need these
-// wander = 0
- var/attempt_open = 0
-
-// Pickup loot
-/mob/living/simple_mob/animal/space/mimic/crate/Initialize()
- . = ..()
- for(var/obj/item/I in loc)
- I.forceMove(src)
-/* I can't find an equivilant to this, don't know why we really have it even so...
-/mob/living/simple_mob/animal/space/mimic/crate/DestroySurroundings()
- ..()
- if(prob(90))
- icon_state = "[initial(icon_state)]open"
- else
- icon_state = initial(icon_state)
-*/
-/mob/living/simple_mob/animal/space/mimic/crate/ListTargets()
- if(attempt_open)
- return ..()
- else
- return ..(1)
-
-/mob/living/simple_mob/animal/space/mimic/crate/set_target()
- . = ..()
- if(.)
- trigger()
-
-/mob/living/simple_mob/animal/space/mimic/crate/PunchTarget()
- . = ..()
- if(.)
- icon_state = initial(icon_state)
-
-/mob/living/simple_mob/animal/space/mimic/crate/proc/trigger()
- if(!attempt_open)
- visible_message("[src] starts to move!")
- attempt_open = 1
-
-/mob/living/simple_mob/animal/space/mimic/crate/adjustBruteLoss(var/damage)
- trigger()
- ..(damage)
-
-/mob/living/simple_mob/animal/space/mimic/crate/LoseTarget()
- ..()
- icon_state = initial(icon_state)
-
-/mob/living/simple_mob/animal/space/mimic/crate/LostTarget()
- ..()
- icon_state = initial(icon_state)
-
-/mob/living/simple_mob/animal/space/mimic/crate/death()
- var/obj/structure/closet/crate/C = new(get_turf(src))
- // Put loot in crate
- for(var/obj/O in src)
- if(isbelly(O)) //VOREStation edit
- continue
- O.forceMove(C)
- ..()
-
-/mob/living/simple_mob/animal/space/mimic/crate/PunchTarget()
- . =..()
- var/mob/living/L = .
- if(istype(L))
- if(prob(15))
- L.Weaken(2)
- L.visible_message("\the [src] knocks down \the [L]!")
-
-//
-// Copy Mimic
-//
-
-var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/cable, /obj/structure/window, /obj/item/projectile/animate)
-
-/mob/living/simple_mob/animal/space/mimic/copy
-
- health = 100
- maxHealth = 100
- var/mob/living/creator = null // the creator
- var/destroy_objects = 0
- var/knockdown_people = 0
-
-/mob/living/simple_mob/animal/space/mimic/copy/New(loc, var/obj/copy, var/mob/living/creator)
- ..(loc)
- CopyObject(copy, creator)
-
-/mob/living/simple_mob/animal/space/mimic/copy/death()
-
- for(var/atom/movable/M in src)
- if(isbelly(M)) //VOREStation edit
- continue
- M.forceMove(get_turf(src))
- ..()
-
-/mob/living/simple_mob/animal/space/mimic/copy/ListTargets()
- // Return a list of targets that isn't the creator
- . = ..()
- return . - creator
-
-/mob/living/simple_mob/animal/space/mimic/copy/proc/CopyObject(var/obj/O, var/mob/living/creator)
-
- if((istype(O, /obj/item) || istype(O, /obj/structure)) && !is_type_in_list(O, protected_objects))
-
- O.forceMove(src)
- name = O.name
- desc = O.desc
- icon = O.icon
- icon_state = O.icon_state
- icon_living = icon_state
-
- if(istype(O, /obj/structure))
- health = (anchored * 50) + 50
- destroy_objects = 1
- if(O.density && O.anchored)
- knockdown_people = 1
- melee_damage_lower *= 2
- melee_damage_upper *= 2
- else if(istype(O, /obj/item))
- var/obj/item/I = O
- health = 15 * I.w_class
- melee_damage_lower = 2 + I.force
- melee_damage_upper = 2 + I.force
- move_to_delay = 2 * I.w_class
-
- maxHealth = health
- if(creator)
- src.creator = creator
- faction = "\ref[creator]" // very unique
- return 1
- return
-
-/mob/living/simple_mob/animal/space/mimic/copy/DestroySurroundings()
- if(destroy_objects)
- ..()
-
-/mob/living/simple_mob/animal/space/mimic/copy/PunchTarget()
- . =..()
- if(knockdown_people)
- var/mob/living/L = .
- if(istype(L))
- if(prob(15))
- L.Weaken(1)
- L.visible_message("\the [src] knocks down \the [L]!")
-*/
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm
new file mode 100644
index 00000000000..9c69e7d6216
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm
@@ -0,0 +1,85 @@
+/obj/structure/closet/crate/mimic
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/mob/living/simple_mob/vore/aggressive/mimic
+ name = "crate"
+ desc = "A rectangular steel crate."
+
+ icon_state = "crate"
+ icon_living = "crate"
+ icon = 'icons/obj/storage.dmi'
+
+ faction = "mimic"
+
+ maxHealth = 250
+ health = 250
+ movement_cooldown = 5
+
+ response_help = "touches"
+ response_disarm = "pushes"
+ response_harm = "hits"
+
+ harm_intent_damage = 5
+ melee_damage_lower = 4
+ melee_damage_upper = 6
+ attacktext = list("attacked")
+ attack_sound = 'sound/weapons/bite.ogg'
+
+ min_oxy = 0
+ max_oxy = 0
+ min_tox = 0
+ max_tox = 0
+ min_co2 = 0
+ max_co2 = 0
+ min_n2 = 0
+ max_n2 = 0
+ minbodytemp = 0
+
+ say_list_type = /datum/say_list/mimic
+ ai_holder_type = /datum/ai_holder/mimic
+
+ var/obj/structure/closet/crate/real_crate
+
+ var/knockdown_chance = 15 //Stubbing your toe on furniture hurts.
+
+ showvoreprefs = 0 //Hides mechanical vore prefs for mimics. You can't see their gaping maws when they're just sitting idle.
+
+/datum/say_list/mimic
+ say_got_target = list("Grrowl!")
+
+/datum/ai_holder/mimic
+ wander = FALSE
+ hostile = TRUE
+ threaten = TRUE
+ threaten_timeout = 5 SECONDS
+ threaten_delay = 1 SECONDS //not a threat, more of a delay.
+
+/mob/living/simple_mob/vore/aggressive/mimic/apply_melee_effects(var/atom/A)
+ if(isliving(A))
+ var/mob/living/L = A
+ if(prob(knockdown_chance))
+ L.Weaken(3)
+ L.visible_message(span("danger", "\The [src] knocks down \the [L]!"))
+
+/mob/living/simple_mob/vore/aggressive/mimic/will_show_tooltip()
+ return FALSE
+
+/mob/living/simple_mob/vore/aggressive/mimic/death()
+ ..()
+ real_crate.forceMove(loc)
+ real_crate = null
+ qdel(src)
\ No newline at end of file
diff --git a/maps/tether/submaps/underdark_pois/_templates.dm b/maps/tether/submaps/underdark_pois/_templates.dm
index cc1f8bfa696..1b8c5432ed8 100644
--- a/maps/tether/submaps/underdark_pois/_templates.dm
+++ b/maps/tether/submaps/underdark_pois/_templates.dm
@@ -12,6 +12,13 @@
name = "Underdark Hard Mob Spawn"
mappath = 'hard_mob.dmm'
cost = 15
+
+/datum/map_template/underdark/underhall
+ name = "Underdark Golden Hall"
+ mappath = 'goldhall.dmm'
+ cost = 15
+ allow_duplicates = FALSE
+
/*
/datum/map_template/underdark/boss_mob
name = "Underdark Boss Mob Spawn"
diff --git a/maps/tether/submaps/underdark_pois/goldhall.dmm b/maps/tether/submaps/underdark_pois/goldhall.dmm
new file mode 100644
index 00000000000..80296395a2d
--- /dev/null
+++ b/maps/tether/submaps/underdark_pois/goldhall.dmm
@@ -0,0 +1,20 @@
+"a" = (/turf/simulated/wall/gold,/area/mine/explored/underdark)
+"b" = (/turf/template_noop,/area/mine/explored/underdark)
+"c" = (/obj/structure/window/basic/full,/turf/simulated/floor/tiled/kafel_full/yellow/virgo3b,/area/mine/explored/underdark)
+"d" = (/turf/simulated/floor/tiled/kafel_full/yellow/virgo3b,/area/mine/explored/underdark)
+"e" = (/obj/item/weapon/reagent_containers/food/condiment/ketchup,/turf/simulated/floor/tiled/kafel_full/yellow/virgo3b,/area/mine/explored/underdark)
+"f" = (/obj/item/clothing/suit/storage/toggle/hoodie/blue,/obj/item/clothing/shoes/slippers_worn,/turf/simulated/floor/tiled/kafel_full/yellow/virgo3b,/area/mine/explored/underdark)
+"g" = (/obj/effect/decal/remains,/obj/item/weapon/ore/bluespace_crystal,/turf/simulated/floor/tiled/kafel_full/yellow/virgo3b,/area/mine/explored/underdark)
+
+(1,1,1) = {"
+aabbaaaccaaabba
+bbbbbbddddbbbbb
+abbbdaddddadbbb
+bbbbdddddddddbb
+bbbddddddedddbb
+bbbdddddfgdddbb
+bbddddbbddddddb
+bddddabbbdadddd
+bbdddddbbdddddb
+bbbbaaabbaaabbb
+"}
diff --git a/maps/tether/submaps/underdark_pois/underdark_things.dm b/maps/tether/submaps/underdark_pois/underdark_things.dm
index e3ef6ec09c4..9d4e2cba061 100644
--- a/maps/tether/submaps/underdark_pois/underdark_things.dm
+++ b/maps/tether/submaps/underdark_pois/underdark_things.dm
@@ -9,8 +9,6 @@
poison_chance = 20
-
-
// Underdark mob spawners
/obj/tether_away_spawner/underdark_normal
name = "Underdark Normal Spawner"
@@ -46,4 +44,17 @@
//guard = 70
mobs_to_pick_from = list(
/mob/living/simple_mob/vore/aggressive/dragon = 1
- )
\ No newline at end of file
+ )
+
+
+
+//POI STUFF
+
+//Goldhall
+VIRGO3B_TURF_CREATE(/turf/simulated/floor/tiled/kafel_full/yellow)
+
+/obj/item/weapon/reagent_containers/food/condiment/ketchup/Initialize()
+ . = ..()
+ reagents.add_reagent("ketchup", 50)
+
+//
\ No newline at end of file
diff --git a/maps/tether/submaps/underdark_pois/vault1.dmm b/maps/tether/submaps/underdark_pois/vault1.dmm
index c8e88764435..cbd9840121f 100644
--- a/maps/tether/submaps/underdark_pois/vault1.dmm
+++ b/maps/tether/submaps/underdark_pois/vault1.dmm
@@ -1,15 +1,13 @@
-"a" = (/turf/template_noop,/area/template_noop)
+"a" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/virgo3b,/area/mine/explored/underdark)
"b" = (/turf/simulated/wall/iron,/area/mine/explored/underdark)
"c" = (/turf/template_noop,/area/mine/explored/underdark)
"d" = (/turf/simulated/mineral/floor/virgo3b,/area/mine/explored/underdark)
(1,1,1) = {"
-aaaaaaaa
-abbbbcca
-abdddcca
-abddddca
-abddddba
-abddddba
-abbbbbba
-aaaaaaaa
+bbbbcc
+baddcc
+badddc
+baaddb
+baaadb
+bbbbbb
"}
diff --git a/vorestation.dme b/vorestation.dme
index df0bbee3415..821407c711c 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2361,7 +2361,6 @@
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\gaslamp_vr.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\goose.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\goose_vr.dm"
-#include "code\modules\mob\living\simple_mob\subtypes\animal\space\mimic_vr.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\snake_vr.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\space.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\worm.dm"
@@ -2426,6 +2425,7 @@
#include "code\modules\mob\living\simple_mob\subtypes\vore\hippo.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\horse.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\jelly.dm"
+#include "code\modules\mob\living\simple_mob\subtypes\vore\mimic.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\panther.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\rat.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\redpanda.dm"