diff --git a/code/modules/food/glass/bottle_potion.dm b/code/modules/food/glass/bottle_potion.dm
index 486a2a158e7..a5d62db130e 100644
--- a/code/modules/food/glass/bottle_potion.dm
+++ b/code/modules/food/glass/bottle_potion.dm
@@ -112,6 +112,11 @@
desc = "A small green bottle containing some strange purple liquid that claims to transform the drinker."
prefill = list("polymorph" = 1)
+/obj/item/weapon/reagent_containers/glass/bottle/potion/glamour
+ name = "glamour potion"
+ desc = "A small white potion, the perfectly white liquid inside moves in an almost gaseous manner, yet appears to produce reflections perfectly."
+ prefill = list("glamour" = 1)
+
//Failed potions
/obj/item/weapon/reagent_containers/glass/bottle/potion/plain
diff --git a/code/modules/reagents/machinery/alembic.dm b/code/modules/reagents/machinery/alembic.dm
index 8c0aeb3c143..99f38aa049c 100644
--- a/code/modules/reagents/machinery/alembic.dm
+++ b/code/modules/reagents/machinery/alembic.dm
@@ -291,6 +291,14 @@
base_reagent = /obj/item/weapon/potion_base/ichor
product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/truepolymorph
+/obj/item/weapon/potion_material/glamour_shard
+ name = "glamour_shard"
+ desc = "A shard of hardened white crystal that seems to change shapes as you hold it."
+ icon = 'icons/obj/chemical_potionreagents.dmi'
+ icon_state = "glamour_shard"
+ base_reagent = /obj/item/weapon/potion_base/aqua_regia
+ product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/glamour
+
//base ingredients
/obj/item/weapon/potion_base/aqua_regia
diff --git a/code/modules/reagents/reagents/medicine_vr.dm b/code/modules/reagents/reagents/medicine_vr.dm
index 4edc2ecdbb0..010103e640d 100644
--- a/code/modules/reagents/reagents/medicine_vr.dm
+++ b/code/modules/reagents/reagents/medicine_vr.dm
@@ -313,3 +313,18 @@
log_debug("polymorph tf_type pass")
var/new_mob = new tf_type(get_turf(target))
return new_mob
+
+/datum/reagent/glamour
+ name = "Glamour"
+ id = "glamour"
+ description = "This material is from somewhere else, just being near produces changes."
+ taste_description = "change"
+ reagent_state = LIQUID
+ color = "#ffffff"
+ scannable = 1
+
+/datum/reagent/glamour/affect_blood(var/mob/living/carbon/target, var/removed)
+ target.verbs |= /mob/living/carbon/human/proc/enter_cocoon
+ target.bloodstr.clear_reagents() //instantly clears reagents afterwards
+ target.ingested.clear_reagents()
+ target.touching.clear_reagents()
diff --git a/icons/mob/vore128x64.dmi b/icons/mob/vore128x64.dmi
index c69ec831237..a7bdfe97545 100644
Binary files a/icons/mob/vore128x64.dmi and b/icons/mob/vore128x64.dmi differ
diff --git a/icons/obj/32x64.dmi b/icons/obj/32x64.dmi
index 493b337ad67..a29685f4b0b 100644
Binary files a/icons/obj/32x64.dmi and b/icons/obj/32x64.dmi differ
diff --git a/icons/obj/card_new_vr.dmi b/icons/obj/card_new_vr.dmi
index 496b1fda27a..b10ebc83881 100644
Binary files a/icons/obj/card_new_vr.dmi and b/icons/obj/card_new_vr.dmi differ
diff --git a/icons/obj/chemical_potionreagents.dmi b/icons/obj/chemical_potionreagents.dmi
index d9da43bf294..2a2fb61435a 100644
Binary files a/icons/obj/chemical_potionreagents.dmi and b/icons/obj/chemical_potionreagents.dmi differ
diff --git a/icons/obj/items_vr.dmi b/icons/obj/items_vr.dmi
index 1833ff15146..c5ecf41b1ac 100644
Binary files a/icons/obj/items_vr.dmi and b/icons/obj/items_vr.dmi differ
diff --git a/icons/turf/flooring/glamour.dmi b/icons/turf/flooring/glamour.dmi
new file mode 100644
index 00000000000..74ee6430659
Binary files /dev/null and b/icons/turf/flooring/glamour.dmi differ
diff --git a/maps/redgate/facility_items.dm b/maps/redgate/facility_items.dm
new file mode 100644
index 00000000000..939f5bfed12
--- /dev/null
+++ b/maps/redgate/facility_items.dm
@@ -0,0 +1,117 @@
+/obj/item/weapon/card/id/keycard
+ name = "keycard"
+ desc = "Allows access to certain doors."
+ icon_state = "keycard-red"
+ initial_sprite_stack = list()
+ light_color = "#0099ff"
+ access = list(801)
+
+/obj/item/weapon/card/id/keycard/update_icon()
+ return
+
+/obj/item/weapon/card/id/keycard/read()
+ to_chat(usr, "It is a red keycard, it must unlock something.")
+
+/obj/item/weapon/card/id/keycard/attack_self(mob/living/user as mob)
+ return
+
+/obj/item/weapon/card/id/keycard/blue
+ icon_state = "keycard-blue"
+ access = list(802)
+
+/obj/item/weapon/card/id/keycard/green
+ icon_state = "keycard-green"
+ access = list(803)
+
+/obj/item/glamourcrystal
+ name = "white crytal"
+ desc = "A large white, highly reflective crystal with a slight glow to it."
+ icon = 'icons/obj/items_vr.dmi'
+ icon_state = "glamourcrystal"
+
+/obj/structure/crystalholder
+ name = "material cart"
+ desc = "A cart designed to fit and carry one large carefully cut crystal."
+ icon = 'icons/obj/items_vr.dmi'
+ icon_state = "crystalholder"
+ var/crystal = 0
+ density = 1
+ anchored = 0
+
+/obj/structure/crystalholder/attackby(obj/item/W as obj, mob/living/user as mob)
+ if(istype(W,/obj/item/glamourcrystal) && !crystal)
+ icon_state = "crystalholder_full"
+ update_icon()
+ crystal = 1
+ user.drop_item()
+ qdel(W)
+ to_chat(usr, "You insert the crystal into the receptacle.")
+ else
+ to_chat(usr, "There isn't a slot for that.")
+
+/obj/machinery/crystalexperimenter
+ name = "crystal experimenter"
+ desc = "A cart designed to fit and carry one large carefully cut crystal."
+ icon = 'icons/obj/32x64.dmi'
+ icon_state = "crystalexperimenter"
+ var/used_up = 0
+ density = 0
+ anchored = 1
+ layer = 5
+ var/id = "glamour"
+
+/obj/machinery/crystalexperimenter/proc/experiment()
+ if(used_up)
+ return
+ var/crystal_found = 0
+ for(var/obj/structure/crystalholder/C in get_turf(src))
+ if(C.crystal)
+ used_up = 1
+ crystal_found = 1
+ continue
+
+ if(!crystal_found)
+ return
+
+ for(var/obj/machinery/light/L in machines)
+ if(L.z != src.z || get_dist(src,L) > 10)
+ continue
+ else
+ L.flicker(10)
+
+ for(var/obj/machinery/door/blast/M in machines)
+ if(M.id == id)
+ if(M.density)
+ spawn(0)
+ M.open()
+ return
+ else
+ spawn(0)
+ M.close()
+ return
+
+
+/obj/machinery/button/remote/experimenter
+ name = "experimentation switch"
+ desc = "A switch tied to nearby machinery."
+
+/obj/machinery/button/remote/experimenter/trigger()
+ for(var/obj/machinery/crystalexperimenter/E in machines)
+ E.experiment()
+
+/turf/unsimulated/wall/glamour
+ name = "glamour"
+ desc = "A blindingly white light that appears to cast your reflection."
+ icon = 'icons/turf/flooring/glamour.dmi'
+ icon_state = "glamour"
+
+/turf/simulated/floor/glamour
+ name = "glamour"
+ desc = "A blindingly white light that appears to cast your reflection."
+ icon = 'icons/turf/flooring/glamour.dmi'
+ icon_state = "glamour"
+ light_range = 7
+ light_power = 1
+ light_color = "#ffffff"
+ light_on = TRUE
+
diff --git a/vorestation.dme b/vorestation.dme
index 55ce8346e38..03742be14ac 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -4288,6 +4288,7 @@
#include "maps\expedition_vr\beach\submaps\mountains.dm"
#include "maps\expedition_vr\beach\submaps\mountains_areas.dm"
#include "maps\gateway_archive_vr\blackmarketpackers.dm"
+#include "maps\redgate\facility_items.dm"
#include "maps\redgate\fantasy_items.dm"
#include "maps\redgate\falls\atoll_decals.dm"
#include "maps\redgate\falls\atoll_objs.dm"