diff --git a/nano/templates/turret_control.tmpl b/nano/templates/turret_control.tmpl
index af506ea1b24..25e3c2a592c 100644
--- a/nano/templates/turret_control.tmpl
+++ b/nano/templates/turret_control.tmpl
@@ -1,41 +1,72 @@
-
- Behaviour controls are {{:data.locked ? "locked" : "unlocked"}}.
-
+ Behaviour controls are {{:data.locked ? "locked" : "unlocked"}}.
-
- Turret Status:
+ {{if !data.screen}}
+
+
+ Turret Status:
+
+
+ {{:helper.link('Enabled', null, {'command' : 'enable', 'value' : 1}, data.enabled ?'redButton' : null)}}
+ {{:helper.link('Disabled',null, {'command' : 'enable', 'value' : 0}, !data.enabled ? 'selected' : null)}}
+
+
+ {{if data.accesses}}
+
+
+ Required Access:
+
+
+ {{:helper.link('Modify', null, {'command' : 'screen', 'value' : 1})}}
+
+
+ {{/if}}
+ {{if data.is_lethal}}
+
+
+ Lethal Mode:
+
+
+ {{:helper.link('On', null, {'command' : 'lethal', 'value' : 1}, data.lethal ?'redButton' : null)}}
+ {{:helper.link('Off',null, {'command' : 'lethal', 'value' : 0}, !data.lethal ? 'selected' : null)}}
+
+
+ {{/if}}
+
+ {{for data.settings}}
+
+
+ {{:value.category}}
+
+
+ {{:helper.link('On', null, {'command' : value.setting, 'value' : 1}, value.value ? 'selected' : null)}}
+ {{:helper.link('Off',null, {'command' : value.setting, 'value' : 0}, !value.value ? 'selected' : null)}}
+
+
+ {{/for}}
+ {{else}}
+
+
+ Turret Settings:
+
+
+ {{:helper.link('Modify', null, {'command' : 'screen', 'value' : 0})}}
+
-
- {{:helper.link('Enabled', null, {'command' : 'enable', 'value' : 1}, data.enabled ?'redButton' : null)}}
- {{:helper.link('Disabled',null, {'command' : 'enable', 'value' : 0}, !data.enabled ? 'selected' : null)}}
-
-
-
- {{if data.is_lethal}}
-
-
- Lethal Mode:
-
-
- {{:helper.link('On', null, {'command' : 'lethal', 'value' : 1}, data.lethal ?'redButton' : null)}}
- {{:helper.link('Off',null, {'command' : 'lethal', 'value' : 0}, !data.lethal ? 'selected' : null)}}
-
-
- {{/if}}
-
- {{for data.settings}}
-
-
- {{:value.category}}
-
-
- {{:helper.link('On', null, {'command' : value.setting, 'value' : 1}, value.value ? 'selected' : null)}}
- {{:helper.link('Off',null, {'command' : value.setting, 'value' : 0}, !value.value ? 'selected' : null)}}
-
-
- {{/for}}
+
+
+ Access Type:
+
+
+ {{:helper.link('All', null, {'one_access' : 0}, !data.one_access ? 'selected' : null)}}
+ {{:helper.link('One', null, {'one_access' : 1}, data.one_access ? 'selected' : null)}}
+
+
+
Select Access
+ {{for data.accesses}}
+ {{:helper.link(value.name, null, {'access' : value.number}, null, value.active ? 'selected' : null)}}
+ {{/for}}
+ {{/if}}
{{/if}}
diff --git a/paradise.dme b/paradise.dme
index 9c403b2d803..ccbdd95af88 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -905,6 +905,7 @@
#include "code\modules\admin\create_turf.dm"
#include "code\modules\admin\holder2.dm"
#include "code\modules\admin\IsBanned.dm"
+#include "code\modules\admin\machine_upgrade.dm"
#include "code\modules\admin\NewBan.dm"
#include "code\modules\admin\newbanjob.dm"
#include "code\modules\admin\player_notes.dm"
@@ -1657,6 +1658,7 @@
#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm"
#include "code\modules\reagents\reagent_containers\food\snacks\candy.dm"
#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm"
+#include "code\modules\reagents\reagent_containers\food\snacks\seafood.dm"
#include "code\modules\reagents\reagent_containers\glass\bottle.dm"
#include "code\modules\reagents\reagent_containers\glass\bottle\robot.dm"
#include "code\modules\recycling\conveyor2.dm"
diff --git a/sound/items/PSHOOM.ogg b/sound/items/PSHOOM.ogg
new file mode 100644
index 00000000000..5628842f534
Binary files /dev/null and b/sound/items/PSHOOM.ogg differ
diff --git a/sound/items/PSHOOM_2.ogg b/sound/items/PSHOOM_2.ogg
new file mode 100644
index 00000000000..480b302fad8
Binary files /dev/null and b/sound/items/PSHOOM_2.ogg differ