diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index 39d23d03fd..44a112cab5 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -8,7 +8,7 @@ obj/machinery/recharger
idle_power_usage = 4
active_power_usage = 40000 //40 kW
var/obj/item/charging = null
- var/list/allowed_devices = list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/device/laptop, /obj/item/weapon/cell, /obj/item/device/flashlight, /obj/item/device/electronic_assembly, /obj/item/weapon/weldingtool/electric)
+ var/list/allowed_devices = list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/device/laptop, /obj/item/weapon/cell, /obj/item/device/flashlight, /obj/item/device/electronic_assembly, /obj/item/weapon/weldingtool/electric, /obj/item/ammo_casing/nsfw_batt) //VOREStation Add - NSFW Batteries
var/icon_state_charged = "recharger2"
var/icon_state_charging = "recharger1"
var/icon_state_idle = "recharger0" //also when unpowered
@@ -187,6 +187,19 @@ obj/machinery/recharger
update_use_power(1)
return
+ //VOREStation Add - NSFW Batteries
+ if(istype(charging, /obj/item/ammo_casing/nsfw_batt))
+ var/obj/item/ammo_casing/nsfw_batt/batt = charging
+ if(batt.shots_left >= initial(batt.shots_left))
+ icon_state = icon_state_charged
+ update_use_power(1)
+ else
+ icon_state = icon_state_charging
+ batt.shots_left++
+ update_use_power(2)
+ return
+ //VOREStation Add End
+
/obj/machinery/recharger/emp_act(severity)
if(stat & (NOPOWER|BROKEN) || !anchored)
..(severity)
diff --git a/code/modules/vore/fluffstuff/custom_boxes_vr.dm b/code/modules/vore/fluffstuff/custom_boxes_vr.dm
index 3923b8ba98..2a0275a01b 100644
--- a/code/modules/vore/fluffstuff/custom_boxes_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_boxes_vr.dm
@@ -163,19 +163,15 @@
New()
..() //Might look like a lot... but all small items.
- /*
- new /obj/item/weapon/reagent_containers/hypospray/vr/fluff/aronai(src)
- new /obj/item/weapon/reagent_containers/glass/beaker/vial/vr/fluff/aro_st(src)
- new /obj/item/weapon/reagent_containers/glass/beaker/vial/vr/fluff/aro_bt(src)
- new /obj/item/weapon/reagent_containers/glass/beaker/vial/vr/fluff/aro_bu(src)
- new /obj/item/weapon/reagent_containers/glass/beaker/vial/vr/fluff/aro_tx(src)
- */
//Centcom stuff and permit
new /obj/item/weapon/card/id/centcom/fluff/aronai(src)
new /obj/item/fluff/permit/aronai_kadigan(src)
- //new /obj/item/clothing/glasses/omnihud/med/fluff/aronai(src)
//Gun and holster
- new /obj/item/weapon/gun/energy/netgun(src)
+ new /obj/item/weapon/gun/projectile/nsfw(src)
+ new /obj/item/ammo_magazine/nsfw_mag(src)
+ new /obj/item/ammo_casing/nsfw_batt/stun(src)
+ new /obj/item/ammo_casing/nsfw_batt/stun(src)
+ new /obj/item/ammo_casing/nsfw_batt/net(src)
new /obj/item/clothing/accessory/holster(src)
//Aerowing:Sebastian Aji
diff --git a/code/modules/vore/fluffstuff/custom_permits_vr.dm b/code/modules/vore/fluffstuff/custom_permits_vr.dm
index 0576eced52..97625e85ca 100644
--- a/code/modules/vore/fluffstuff/custom_permits_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_permits_vr.dm
@@ -77,7 +77,7 @@
DOB: 12/Jul/2530 | HEIGHT: 188cm | SEX: Male
The individual named above is licensed by the Nanotrasen Department of Civil Protection
- to carry one KIN (foreign) personal defense weapon, non-lethal only.
+ to carry one KHI (foreign) personal defense weapon, non-lethal only.
This license expires on 16/Feb/2562 and must be renewed by CentCom prior to this date."}
// joanrisu:Joan Risu
diff --git a/code/modules/vore/fluffstuff/guns/nsfw.dm b/code/modules/vore/fluffstuff/guns/nsfw.dm
new file mode 100644
index 0000000000..7ef25c4e22
--- /dev/null
+++ b/code/modules/vore/fluffstuff/guns/nsfw.dm
@@ -0,0 +1,383 @@
+// -------------- NSFW -------------
+/obj/item/weapon/gun/projectile/nsfw
+ name = "KHI-102b \'NSFW\'"
+ desc = "Variety is the spice of life! The 'Nanotech Selectable-Fire Weapon' is an unholy hybrid of an ammo-driven \
+ energy weapon that allows the user to mix and match their own fire modes. Up to three combinations of \
+ energy beams can be configured at once. Ammo not included."
+
+ description_info = "This gun is an energy weapon that uses interchangable microbatteries in a magazine. Each battery is a different beam type, and up to three can be loaded in the magazine. Each battery usually provides four discharges of that beam type, and multiple from the same type may be loaded to increase the number of shots for that type."
+ description_fluff = "The Kitsuhana 'Nanotech Selectable Fire Weapon' allows one to customize their loadout in the field, or before deploying, to achieve various results in a weapon they are already familiar with wielding."
+ description_antag = ""
+
+ icon = 'icons/vore/custom_guns_vr.dmi'
+ icon_state = "nsfw"
+
+ icon_override = 'icons/vore/custom_guns_vr.dmi'
+ item_state = "gun"
+
+ caliber = "nsfw"
+
+ origin_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 6, TECH_MAGNETS = 4)
+
+ fire_sound = 'sound/weapons/Taser.ogg'
+
+ load_method = MAGAZINE //Nyeh heh hehhh.
+ magazine_type = null
+ allowed_magazines = list(/obj/item/ammo_magazine/nsfw_mag)
+ handle_casings = HOLD_CASINGS //Don't eject batteries!
+ recoil = 0
+ var/charge_left = 0
+ var/max_charge = 0
+ charge_sections = 5
+
+/obj/item/weapon/gun/projectile/nsfw/consume_next_projectile()
+ if(chambered && ammo_magazine)
+ var/obj/item/ammo_casing/nsfw_batt/batt = chambered
+ if(batt.shots_left)
+ return new chambered.projectile_type()
+ else
+ for(var/B in ammo_magazine.stored_ammo)
+ var/obj/item/ammo_casing/nsfw_batt/other_batt = B
+ if(istype(other_batt,chambered.type) && other_batt.shots_left)
+ switch_to(other_batt)
+ return new chambered.projectile_type()
+ break
+
+ return null
+
+/obj/item/weapon/gun/projectile/nsfw/proc/update_charge()
+ charge_left = 0
+ max_charge = 0
+
+ if(!chambered)
+ return
+
+ var/obj/item/ammo_casing/nsfw_batt/batt = chambered
+
+ charge_left = batt.shots_left
+ max_charge = initial(batt.shots_left)
+ if(ammo_magazine) //Crawl to find more
+ for(var/B in ammo_magazine.stored_ammo)
+ var/obj/item/ammo_casing/nsfw_batt/bullet = B
+ if(istype(bullet,batt.type))
+ charge_left += bullet.shots_left
+ max_charge += initial(bullet.shots_left)
+
+/obj/item/weapon/gun/projectile/nsfw/proc/switch_to(obj/item/ammo_casing/nsfw_batt/new_batt)
+ if(ishuman(loc))
+ if(chambered && new_batt.type == chambered.type)
+ to_chat(loc,"\The [src] is now using the next [new_batt.type_name] power cell.")
+ else
+ to_chat(loc,"\The [src] is now firing [new_batt.type_name].")
+
+ chambered = new_batt
+ update_charge()
+ update_icon()
+
+/obj/item/weapon/gun/projectile/nsfw/attack_self(mob/user)
+ if(!chambered)
+ return
+
+ var/list/stored_ammo = ammo_magazine.stored_ammo
+
+ if(stored_ammo.len == 1)
+ return //silly you.
+
+ //Find an ammotype that ISN'T the same, or exhaust the list and don't change.
+ var/our_slot = stored_ammo.Find(chambered)
+ var/index = our_slot + 1
+ var/obj/item/ammo_casing/nsfw_batt/new_choice
+
+ while((index != our_slot) && !new_choice)
+ if(index > stored_ammo.len)
+ index = 1
+ var/obj/item/ammo_casing/nsfw_batt/next_batt = stored_ammo[index]
+ if(!istype(next_batt,chambered.type))
+ new_choice = next_batt
+ index++
+
+ if(new_choice)
+ switch_to(new_choice)
+/*
+/obj/item/weapon/gun/projectile/nsfw/special_check(mob/user)
+ if(!chambered)
+ return
+
+ var/obj/item/ammo_casing/nsfw_batt/batt = chambered
+ if(!batt.shots_left)
+ return FALSE
+
+ return TRUE
+*/
+/obj/item/weapon/gun/projectile/nsfw/load_ammo(var/obj/item/A, mob/user)
+ . = ..()
+ if(ammo_magazine && ammo_magazine.stored_ammo.len)
+ switch_to(ammo_magazine.stored_ammo[1])
+
+/obj/item/weapon/gun/projectile/nsfw/unload_ammo(mob/user, var/allow_dump=1)
+ chambered = null
+ return ..()
+
+/obj/item/weapon/gun/projectile/nsfw/update_icon()
+ var/mutable_appearance/ma = new(src)
+ update_charge()
+
+ if(!chambered)
+ ma.overlays = list()
+ appearance = ma
+ return
+
+ var/obj/item/ammo_casing/nsfw_batt/batt = chambered
+ var/batt_color = batt.type_color //Used many times
+ var/list/newverlays = list()
+
+ //Mode bar
+ var/mutable_appearance/mode_bar = mutable_appearance(icon, "[initial(icon_state)]_type")
+ mode_bar.color = batt_color
+ newverlays += mode_bar
+
+ //Barrel color
+ var/mutable_appearance/barrel_color = mutable_appearance(icon, "[initial(icon_state)]_barrel")
+ barrel_color.alpha = 150
+ barrel_color.color = batt_color
+ newverlays += barrel_color
+
+ //Charge bar
+ var/ratio = Ceiling((charge_left / max_charge) * charge_sections)
+ for(var/i = 0, i < ratio, i++)
+ var/mutable_appearance/charge_bar = mutable_appearance(icon, "[initial(icon_state)]_charge")
+ charge_bar.pixel_x = i
+ charge_bar.color = batt_color
+ newverlays += charge_bar
+
+ ma.overlays = newverlays
+ if(ma.overlays.len != newverlays.len) //PANIC!
+ del(ma)
+ spawn(5)
+ update_icon()
+ return
+
+ appearance = ma
+
+// The Magazine //
+/obj/item/ammo_magazine/nsfw_mag
+ name = "microbattery magazine"
+ desc = "A microbattery holder for the \'NSFW\'"
+
+ description_info = "This magazine holds NSFW microbatteries to power the NSFW handgun. Up to three can be loaded at once, and each provides four shots of their respective energy type. Loading multiple of the same type will provide additional shots of that type. The batteries can be recharged in a normal recharger."
+
+ icon = 'icons/obj/ammo_vr.dmi'
+ icon_state = "nsfw_mag"
+ caliber = "nsfw"
+ matter = list(DEFAULT_WALL_MATERIAL = 1680, "glass" = 2000)
+ ammo_type = /obj/item/ammo_casing/nsfw_batt
+ initial_ammo = 0
+ max_ammo = 3
+ mag_type = MAGAZINE
+
+ var/list/modes
+
+/obj/item/ammo_magazine/nsfw_mag/New()
+ ..()
+ modes = list()
+
+/obj/item/ammo_magazine/nsfw_mag/update_icon()
+ var/mutable_appearance/ma = new(src)
+
+ if(!stored_ammo.len)
+ ma.overlays = list()
+ appearance = ma
+ return //Why bother
+
+ var/x_offset = 5
+ var/list/newverlays = list()
+
+ var/current = 0
+ for(var/B in stored_ammo)
+ var/obj/item/ammo_casing/nsfw_batt/batt = B
+ var/mutable_appearance/cap = mutable_appearance(icon,"[initial(icon_state)]_cap")
+ cap.color = batt.type_color
+ cap.pixel_x = current * x_offset //Caps don't need a pixel_y offset
+ newverlays += cap
+
+ if(batt.shots_left)
+ var/ratio = Ceiling((batt.shots_left / initial(batt.shots_left)) * 4) //4 is how many lights we have a sprite for
+ var/mutable_appearance/charge = mutable_appearance(icon,"[initial(icon_state)]_charge-[ratio]")
+ charge.color = "#29EAF4" //Could use battery color but eh.
+ charge.pixel_x = current * x_offset
+ newverlays += charge
+
+ current++ //Increment for offsets
+
+ ma.overlays = newverlays
+ if(ma.overlays.len != newverlays.len) //PANIC!
+ del(ma)
+ spawn(5)
+ update_icon()
+ return
+
+ appearance = ma
+
+// The Casing //
+/obj/item/ammo_casing/nsfw_batt
+ name = "\'NSFW\' microbattery - LETHAL"
+ desc = "A miniature battery for an energy weapon."
+ icon = 'icons/obj/ammo_vr.dmi'
+ icon_state = "nsfw_batt"
+ flags = CONDUCT
+ slot_flags = SLOT_BELT | SLOT_EARS
+ throwforce = 1
+ w_class = ITEMSIZE_TINY
+
+ leaves_residue = 0
+ caliber = "nsfw"
+ var/shots_left = 4
+ var/type_color = "#bf3d3d"
+ var/type_name = "LETHAL"
+ projectile_type = /obj/item/projectile/beam
+
+/obj/item/ammo_casing/nsfw_batt/New()
+ pixel_x = rand(-10, 10)
+ pixel_y = rand(-10, 10)
+ update_icon()
+
+/obj/item/ammo_casing/nsfw_batt/update_icon()
+ var/mutable_appearance/ma = new(src)
+ ma.overlays.Cut()
+
+ var/mutable_appearance/ends = mutable_appearance(icon,"[initial(icon_state)]_ends")
+ ends.color = type_color
+ ma.overlays += ends
+
+ appearance = ma
+
+/obj/item/ammo_casing/nsfw_batt/expend()
+ shots_left--
+
+// Specific batteries //
+/obj/item/ammo_casing/nsfw_batt/stun
+ name = "\'NSFW\' microbattery - STUN"
+ type_color = "#0f81bc"
+ type_name = "STUN"
+ projectile_type = /obj/item/projectile/beam/stun/blue
+
+/obj/item/ammo_casing/nsfw_batt/net
+ name = "\'NSFW\' microbattery - NET"
+ type_color = "#43f136"
+ type_name = "NET"
+ projectile_type = /obj/item/projectile/beam/energy_net
+
+/obj/item/ammo_casing/nsfw_batt/xray
+ name = "\'NSFW\' microbattery - XRAY"
+ type_color = "#32c025"
+ type_name = "XRAY"
+ projectile_type = /obj/item/projectile/beam/xray
+
+/obj/item/ammo_casing/nsfw_batt/shotstun
+ name = "\'NSFW\' microbattery - SCATTERSTUN"
+ type_color = "#88ffff"
+ type_name = "SCATTERSTUN"
+ projectile_type = /obj/item/projectile/bullet/pellet/e_shot_stun
+
+/obj/item/projectile/bullet/pellet/e_shot_stun
+ icon_state = "spell"
+ damage = 2
+ agony = 20
+ pellets = 6 //number of pellets
+ range_step = 2 //projectile will lose a fragment each time it travels this distance. Can be a non-integer.
+ base_spread = 90 //lower means the pellets spread more across body parts. If zero then this is considered a shrapnel explosion instead of a shrapnel cone
+ spread_step = 10
+ embed_chance = 0
+ sharp = 0
+ check_armour = "melee"
+
+/obj/item/ammo_casing/nsfw_batt/ion
+ name = "\'NSFW\' microbattery - ION"
+ type_color = "#d084d6"
+ type_name = "ION"
+ projectile_type = /obj/item/projectile/ion/small
+
+/obj/item/ammo_casing/nsfw_batt/stripper
+ name = "\'NSFW\' microbattery - STRIPPER"
+ type_color = "#fc8d0f"
+ type_name = "STRIPPER"
+ projectile_type = /obj/item/projectile/bullet/stripper
+
+/obj/item/projectile/bullet/stripper
+ icon_state = "magicm"
+ nodamage = 1
+ agony = 5
+ embed_chance = 0
+ sharp = 0
+ check_armour = "melee"
+
+/obj/item/projectile/bullet/stripper/on_hit(var/atom/stripped)
+ if(ishuman(stripped))
+ var/mob/living/carbon/human/H = stripped
+ if(H.wear_suit)
+ H.unEquip(H.wear_suit)
+ if(H.w_uniform)
+ H.unEquip(H.w_uniform)
+ if(H.back)
+ H.unEquip(H.back)
+ if(H.shoes)
+ H.unEquip(H.shoes)
+ if(H.gloves)
+ H.unEquip(H.gloves)
+ //Hats can stay! Most other things fall off with removing these.
+ ..()
+
+/obj/item/ammo_casing/nsfw_batt/final
+ name = "\'NSFW\' microbattery - FINAL OPTION"
+ type_color = "#fcfc0f"
+ type_name = "FINAL OPTION" //Doesn't look good in yellow in chat
+ projectile_type = /obj/item/projectile/beam/final_option
+
+/obj/item/projectile/beam/final_option
+ name = "final option beam"
+ icon_state = "omnilaser"
+ nodamage = 1
+ agony = 5
+ damage_type = HALLOSS
+ light_color = "#00CC33"
+
+ muzzle_type = /obj/effect/projectile/laser_omni/muzzle
+ tracer_type = /obj/effect/projectile/laser_omni/tracer
+ impact_type = /obj/effect/projectile/laser_omni/impact
+
+/obj/item/projectile/beam/final_option/on_hit(var/atom/impacted)
+ if(isliving(impacted))
+ var/mob/living/L = impacted
+ if(L.mind)
+ var/nif
+ if(ishuman(L))
+ var/mob/living/carbon/human/H = L
+ nif = H.nif
+ SStranscore.m_backup(L.mind,nif,one_time = TRUE)
+ L.gib()
+
+ ..()
+
+/obj/item/ammo_casing/nsfw_batt/shrink
+ name = "\'NSFW\' microbattery - SHRINK"
+ type_color = "#910ffc"
+ type_name = "SHRINK"
+ projectile_type = /obj/item/projectile/beam/shrinklaser
+
+/obj/item/ammo_casing/nsfw_batt/grow
+ name = "\'NSFW\' microbattery - GROW"
+ type_color = "#fc0fdc"
+ type_name = "GROW"
+ projectile_type = /obj/item/projectile/beam/growlaser
+
+/obj/item/weapon/storage/secure/briefcase/nsfw_pack
+ name = "\improper KHI-102b \'NSFW\' gun kit"
+ desc = "A storage case for a multi-purpose handgun. Variety hour!"
+ max_w_class = ITEMSIZE_NORMAL
+
+/obj/item/weapon/storage/secure/briefcase/nsfw_pack/New()
+ ..()
+ new /obj/item/weapon/gun/projectile/nsfw(src)
+ new /obj/item/ammo_magazine/nsfw_mag(src)
+ for(var/path in typesof(/obj/item/ammo_casing/nsfw_batt))
+ new path(src)
diff --git a/code/modules/vore/fluffstuff/guns/protector.dm b/code/modules/vore/fluffstuff/guns/protector.dm
index 16bc56ee59..173c00b637 100644
--- a/code/modules/vore/fluffstuff/guns/protector.dm
+++ b/code/modules/vore/fluffstuff/guns/protector.dm
@@ -2,8 +2,11 @@
/obj/item/weapon/gun/energy/protector
name = "\improper KHI-98a \'Protector\'"
desc = "The KHI-98a is the first firearm custom-designed for Nanotrasen by KHI. It features a powerful stun mode, and \
- an alert-level-locked lethal mode, only usable on code blue and higher. It also features an integrated flashlight! \
- (CtrlClick to toggle flashlight)"
+ an alert-level-locked lethal mode, only usable on code blue and higher. It also features an integrated flashlight!"
+
+ description_info = "This gun can only be fired in lethal mode while on higher security alert levels. It is legal for sec to carry for this reason, since it cannot be used for lethal force until SOP allows it, in essence."
+ description_fluff = "The first 'commission' from a Kitsuhana citizen for NanoTrasen, this gun has a wireless connection to the computer's datacore to ensure it can't be used without authorization from heads of staff who have raised the alert level. Until then, *click*!"
+ description_antag = "The gun can be emagged to remove the lethal security level restriction, allowing it to be fired on lethal mode at all times."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "prot"
diff --git a/code/modules/vore/fluffstuff/guns/pummeler.dm b/code/modules/vore/fluffstuff/guns/pummeler.dm
index 21a9013c16..b12ce223e8 100644
--- a/code/modules/vore/fluffstuff/guns/pummeler.dm
+++ b/code/modules/vore/fluffstuff/guns/pummeler.dm
@@ -5,6 +5,10 @@
sonic blast in the direction of fire, throwing the target away from you at high speed. Now you can REALLY \
turn up the bass to max."
+ description_info = "This gun punts people away and has a chance of knocking them down briefly. It may also throw them over railings in the process!"
+ description_fluff = ""
+ description_antag = ""
+
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "pum"
diff --git a/code/modules/vore/fluffstuff/guns/sickshot.dm b/code/modules/vore/fluffstuff/guns/sickshot.dm
index 87d289e8e7..8733e4aadf 100644
--- a/code/modules/vore/fluffstuff/guns/sickshot.dm
+++ b/code/modules/vore/fluffstuff/guns/sickshot.dm
@@ -5,6 +5,10 @@
Using a short-range concentrated blast of disruptive sound, the Sickshot will nauseate and confuse the target for several seconds. NOTE: Not suitable \
for use in vacuum, or on animals. May cause contraction and release of various 'things' from various 'orifices'."
+ description_info = "This gun causes nausea in targets, stunning them briefly and causing vomiting. It will also cause them to vomit up prey, sometimes. Repeated shots may help in that case."
+ description_fluff = ""
+ description_antag = ""
+
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "sickshot"
diff --git a/icons/obj/ammo_vr.dmi b/icons/obj/ammo_vr.dmi
index 066d95333e..fe871d3e66 100644
Binary files a/icons/obj/ammo_vr.dmi and b/icons/obj/ammo_vr.dmi differ
diff --git a/icons/vore/custom_guns_vr.dmi b/icons/vore/custom_guns_vr.dmi
index 6b59709463..c869884958 100644
Binary files a/icons/vore/custom_guns_vr.dmi and b/icons/vore/custom_guns_vr.dmi differ
diff --git a/maps/tether/tether-06-colony.dmm b/maps/tether/tether-06-colony.dmm
index 9ef0c13a94..b274e497ef 100644
--- a/maps/tether/tether-06-colony.dmm
+++ b/maps/tether/tether-06-colony.dmm
@@ -533,7 +533,7 @@
"km" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/unsimulated/floor/steel{icon_state = "white"},/area/centcom/medical)
"kn" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/unsimulated/floor/steel{icon_state = "white"},/area/centcom/medical)
"ko" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"kp" = (/turf/unsimulated/wall{icon = 'icons/turf/transit_vr.dmi'},/area/centcom/specops)
+"kp" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/storage/secure/briefcase/nsfw_pack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"kq" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/medical)
"kr" = (/obj/structure/table/steel,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/cautery,/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/medical)
"ks" = (/obj/machinery/optable,/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/medical)
@@ -1399,7 +1399,7 @@
"AU" = (/obj/machinery/computer/prisoner{tag = "icon-computer (NORTH)"; name = "Implant Management"; icon_state = "computer"; dir = 1},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/shuttle/specops/centcom)
"AV" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_port"; name = "port docking hatch controller"; pixel_x = 0; pixel_y = -25; tag_door = "specops_shuttle_port_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/shuttle/specops/centcom)
"AW" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/shuttle/specops/centcom)
-"AX" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"AX" = (/obj/structure/sign/nanotrasen,/turf/unsimulated/wall,/area/centcom/specops)
"AY" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
"AZ" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
"Ba" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/weapon/rig/ert/medical,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
@@ -1444,7 +1444,7 @@
"BN" = (/obj/structure/closet/wardrobe/ert,/turf/unsimulated/floor/steel{icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood"},/area/centcom/specops)
"BO" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor/steel{icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood"},/area/centcom/specops)
"BP" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = 25; req_one_access = list(103); tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
-"BQ" = (/obj/structure/sign/nanotrasen,/turf/unsimulated/wall{icon = 'icons/turf/transit_vr.dmi'},/area/centcom/specops)
+"BQ" = (/obj/structure/table/reinforced,/obj/item/ammo_casing/nsfw_batt/stun,/obj/item/ammo_casing/nsfw_batt/stun,/obj/item/ammo_casing/nsfw_batt/stun,/obj/item/ammo_casing/nsfw_batt,/obj/item/ammo_casing/nsfw_batt,/obj/item/ammo_casing/nsfw_batt,/obj/item/ammo_casing/nsfw_batt/net,/obj/item/ammo_casing/nsfw_batt/net,/obj/item/ammo_magazine/nsfw_mag,/obj/item/weapon/gun/projectile/nsfw,/turf/unsimulated/floor/steel{icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood"},/area/centcom/specops)
"BR" = (/obj/machinery/door/blast/regular{name = "When Everything else fails."},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"BS" = (/obj/effect/floor_decal/corner/white{tag = "icon-corner_white (SOUTHWEST)"; icon_state = "corner_white"; dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
"BT" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
@@ -1459,7 +1459,6 @@
"Cc" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor/steel,/area/centcom/specops)
"Cd" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/weapon/pinpointer/advpinpointer,/obj/item/weapon/stamp/centcomm,/turf/unsimulated/floor/steel{icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood"},/area/centcom/specops)
"Ce" = (/obj/machinery/door/airlock/centcom{name = "Commander"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor/steel{icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood"},/area/centcom/specops)
-"Cf" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/deagle/camo,/obj/item/ammo_magazine/m50,/obj/item/ammo_magazine/m50,/obj/item/ammo_magazine/m50,/obj/item/ammo_magazine/m50,/turf/unsimulated/floor/steel{icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood"},/area/centcom/specops)
"Cg" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"; pixel_y = -32},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
"Ch" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor/steel{icon = 'icons/turf/floors_vr.dmi'; icon_state = "wood"},/area/centcom/specops)
"Ci" = (/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
@@ -1556,22 +1555,22 @@ aaababababababababababababababababababababababababababababababababababababababab
aaabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaa
aaabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaceZeZeZeZeZeZeZeZeZeZeZeZeZeZeZ
aaabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaceZjyjTjTjTjTjTjTjTjTjTjTkokoeZ
-aaabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacackpkpkpkpkpkpkpkpkpkpkpkpkpkpkXkZkYnunununununNApnOjTkoeZ
-aaabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacackpkpkpkpkpkpkpkpkpkpkpkpkpAqAsArAuAtAwAvAyAxAAAzACABkpkXAEADAFAFAFAFAFAFAFAGAHkoeZ
-aaababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacackpAIkokpAKAJAMALAOANAQAPARAqkokokokokokokokokokokokokpkXAEASAUATATAVAFAFAWnOjTkoeZ
-aaababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacackpAXkokpAZAYAYAYAYAYAYAYBaAqBbkokoBcBeBdBgBfBhkokoBikpBjjTjTjTjTjTjTBkBkjTjTkokoeZ
-aaababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacackpBlkoAqBmAYBoBnBqBpBrAYBskpkokokoBtBvBuBxBwBykokoBzkpkpkpkpkpkpkpkpBABAkpkokokoeZ
-aaababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacackpBBkoAqBCAYBEBDBGBFBHAYBIkpBKBJkokokokokokokokokoBLkpBMBNBNBNBOkpBPAYAYkpkpkpkpeZ
-aaababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacackpBQBRAqAqBSBSBSBSBSBSBSAqkpkpkpBTBTBTBTBTBTBTBTkpkpkpBUBVBVBVBUkpAYAYAYkpBWBYBXeZ
+aaabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAqAqAqAqAqAqAqAqAqAqAqAqAqkXkZkYnunununununNApnOjTkoeZ
+aaabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAqAqAqAqAqAqAqAqAqAqAqAqAqAsArAuAtAwAvAyAxAAAzACABAqkXAEADAFAFAFAFAFAFAFAGAHkoeZ
+aaababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAIkoAqAKAJAMALAOANAQAPARAqkokokokokokokokokokokokoAqkXAEASAUATATAVAFAFAWnOjTkoeZ
+aaababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqkpkoAqAZAYAYAYAYAYAYAYBaAqBbkokoBcBeBdBgBfBhkokoBiAqBjjTjTjTjTjTjTBkBkjTjTkokoeZ
+aaababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqBlkoAqBmAYBoBnBqBpBrAYBsAqkokokoBtBvBuBxBwBykokoBzAqAqAqAqAqAqAqAqBABAAqkokokoeZ
+aaababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqBBkoAqBCAYBEBDBGBFBHAYBIAqBKBJkokokokokokokokokoBLAqBMBNBNBNBOAqBPAYAYAqAqAqAqeZ
+aaababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAXBRAqAqBSBSBSBSBSBSBSAqAqAqAqBTBTBTBTBTBTBTBTAqAqAqBUBVBVBVBUAqAYAYAYAqBWBYBQeZ
aaababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAYBZAYAYAYAYAYAYAYBZAYAYCaAYAYAYAYAYAYAYAYCaAYBUBUCbCbCbBUBUAYAYAYCcBUBUCdeZ
-aaababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYBUBUBUBUBUBUBUAYAYAYCeBUBUCfeZ
+aaababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYBUBUBUBUBUBUBUAYAYAYCeBUBUBXeZ
aaababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAYCgAYAYAYAYAYAYAYCgAYAYAYAYAYAYAYAYAYAYAYAYAYBUBUCbCbCbBUBUAYAYAYCcBUBUCheZ
-aaabababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAqAqCiCiCiCiCiCiCiAqAqAqAqCjCjClCkCnCmCjCjAqAqAqBUBVBVBVBUkpAYAYAYkpCoCqCpeZ
-aaabababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAqCrkokokokokokokokokpkokokokoCtCsCvCukokokokoAqCwBNBNBNCxkpAYAYAYkpkpkpkpeZ
-aaabababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAqCykokokoCACzCCCBCBkpCDkokokokokokokokokokoCEAqkpkpkpkpkpkpAYAYAYkpCFCHCGeZ
-aaabababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAqCIkokokoCKCJCMCLCNkpCOkokokokokokokokokokoCPAqacacacacackpAYAYAYCQkokokoeZ
-aaababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadadadadAqacacacacacAqAYAYAqCSCRCUCTCWCVCMCLCNkpCYCXDaCZDcDbDeDdDgDfDiDhAqacacacacackpAYAYAYDjkokokoeZ
-aaababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacadadadadadadadadadadadadadadadadadadadagahagAqkpkpkpkpkpBQDkDkAqaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaf
+aaabababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAqAqCiCiCiCiCiCiCiAqAqAqAqCjCjClCkCnCmCjCjAqAqAqBUBVBVBVBUAqAYAYAYAqCoCqCpeZ
+aaabababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAqCrkokokokokokokokoAqkokokokoCtCsCvCukokokokoAqCwBNBNBNCxAqAYAYAYAqAqAqAqeZ
+aaabababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAqCykokokoCACzCCCBCBAqCDkokokokokokokokokokoCEAqAqAqAqAqAqAqAYAYAYAqCFCHCGeZ
+aaabababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacAqAYAYAqCIkokokoCKCJCMCLCNAqCOkokokokokokokokokokoCPAqacacacacacAqAYAYAYCQkokokoeZ
+aaababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadadadadAqacacacacacAqAYAYAqCSCRCUCTCWCVCMCLCNAqCYCXDaCZDcDbDeDdDgDfDiDhAqacacacacacAqAYAYAYDjkokokoeZ
+aaababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacadadadadadadadadadadadadadadadadadadadagahagAqAqAqAqAqAqAXDkDkAqaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaf
aaababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacadagahahahaiahahahahahahahahahahaiahahahahahDmDlDlDlDlDlDlDlDlDnaeajakakakalamanaoapapaeaqarasatauavawaxayaeazaAaBaCaDaEaFaeaGaHaIaJaKaLaf
aaababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacadahahahahahahahahahahahahahahahahahahahahahDmDlDlDlDlDlDlDlDlDnaeajakakakakakakakakakaeaMaraNaNaraMaMaMaMaeaOaPaQaQaQaRaSaTaUaVaWaXaYaYaf
aaabababababababababababababababababababababababababababababababababababacacaZaZaZaZaZaZaZaZacacacacacadahahahahahahahahahahahahahahahahahahahahahAqaeaeaeaeaeaeaeaeaeaeaeaeaeaeaebaaeaeakakaeaMaMaMaMaMaMaMaMaMaeaObbbcbdbebfbgaTbdbdbdbdbdbdaf
diff --git a/maps/tether/tether-08-ships.dmm b/maps/tether/tether-08-ships.dmm
index 76968962df..fd41acbeda 100644
--- a/maps/tether/tether-08-ships.dmm
+++ b/maps/tether/tether-08-ships.dmm
@@ -259,6 +259,7 @@
"eY" = (/obj/effect/floor_decal/techfloor,/obj/structure/table/steel_reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/tiled/techfloor,/area/houseboat/cargo)
"eZ" = (/obj/effect/floor_decal/techfloor,/obj/structure/table/steel_reinforced,/obj/item/stack/material/plasteel,/obj/item/stack/material/plasteel,/turf/simulated/floor/tiled/techfloor,/area/houseboat/cargo)
"fa" = (/obj/effect/floor_decal/techfloor{dir = 6},/obj/structure/table/steel_reinforced,/obj/item/stack/material/plastic,/obj/item/stack/material/plastic,/turf/simulated/floor/tiled/techfloor,/area/houseboat/cargo)
+"fb" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/secure/briefcase/nsfw_pack,/turf/simulated/floor/tiled/techfloor,/area/houseboat/bridge)
(1,1,1) = {"
aaabababababaaabababababaaabababababaaabababababaaabababababaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
@@ -286,7 +287,7 @@ acacacacacacacacacacacacacacacacacacacacacacacblbnbobpbqbrbsblblacacacacacblbmbm
acacacacacacacacacacacacacacacacacblbmbmbmbmbmblbtbubvbwbxbyblbnbmbmbmbnblbnbzbAbBbCbDacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
acacacacacacacacacacacacacacacacblblbEbFbGbHbIblbJbKbLbLbLbMblbNbObPbQbRbSbTbUbUbVbCbDacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
acacacacacacacblblbnbmbmbmbmbmbmblblbWbXbXbXbYblbZcacbcccacdblcecfcgchblcicjckclcmbCbDacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
-acacacacacacblblcnblcocpcpcqcrcrcsblctcucvcwcxblblbRcyblblblblcecgcgczcAclclclcBbnblblacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
+acacacacacacblblfbblcocpcpcqcrcrcsblctcucvcwcxblblbRcyblblblblcecgcgczcAclclclcBbnblblacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
acacacacacblblcCcDblcEcpcpcpcFcFcGblblbRcybRblblcHcIcJcIcKcLcMcNcgcgcOblcPcQcRcSblbCbDacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
acacacacaccTcUcVcVblcWcpcpcXcYcYcsblcZcZcZcZcZbldadbdcdddedfdgdhcgcgdiblblblblblbnbCbDacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
acacacacaccTdjdkdlbnblblcyblblblblbncZcZcZcZcZcAdmdbdndodpdpbRdqcgcgdrbldsdtdudvdwbCbDacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
diff --git a/vorestation.dme b/vorestation.dme
index 40a1283418..a66bcda17c 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2404,6 +2404,7 @@
#include "code\modules\vore\fluffstuff\custom_permits_vr.dm"
#include "code\modules\vore\fluffstuff\guns\bsharpoon.dm"
#include "code\modules\vore\fluffstuff\guns\dominator.dm"
+#include "code\modules\vore\fluffstuff\guns\nsfw.dm"
#include "code\modules\vore\fluffstuff\guns\protector.dm"
#include "code\modules\vore\fluffstuff\guns\pummeler.dm"
#include "code\modules\vore\fluffstuff\guns\sickshot.dm"