diff --git a/src/dux/index.js b/src/dux/index.js
index 86acdde..2c234ca 100644
--- a/src/dux/index.js
+++ b/src/dux/index.js
@@ -129,18 +129,6 @@ dux.addSubscription((store) =>
)
);
-const calc_firecons_reqs = (nbr) => ({
- cost: 4 * nbr,
- mass: nbr,
-});
-
-const set_firecons = action("set_firecons", payload());
-dux.addMutation(set_firecons, (nbr) =>
- u.updateIn("weaponry.firecons", {
- nbr,
- ...calc_firecons_reqs(nbr),
- })
-);
export default dux.asDux;
diff --git a/src/lib/components/ShipEdit/Weaponry/Firecons.svelte b/src/lib/components/ShipEdit/Weaponry/Firecons.svelte
new file mode 100644
index 0000000..24ffc9c
--- /dev/null
+++ b/src/lib/components/ShipEdit/Weaponry/Firecons.svelte
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/lib/components/ShipEdit/Weaponry/Weaponry.stories.svelte b/src/lib/components/ShipEdit/Weaponry/Weaponry.stories.svelte
new file mode 100644
index 0000000..35be883
--- /dev/null
+++ b/src/lib/components/ShipEdit/Weaponry/Weaponry.stories.svelte
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/lib/components/ShipEdit/Weaponry/index.svelte b/src/lib/components/ShipEdit/Weaponry/index.svelte
new file mode 100644
index 0000000..18bd2c5
--- /dev/null
+++ b/src/lib/components/ShipEdit/Weaponry/index.svelte
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/src/lib/shipDux/weaponry/index.js b/src/lib/shipDux/weaponry/index.js
new file mode 100644
index 0000000..7c97c15
--- /dev/null
+++ b/src/lib/shipDux/weaponry/index.js
@@ -0,0 +1,30 @@
+import { Updux } from "updux";
+import u from "updeep";
+
+const reqs = { cost: 0, mass: 0 };
+
+const dux = new Updux({
+ initial: {
+ firecons: {
+ stations: 0,
+ reqs,
+ },
+ },
+ actions: {
+ setFirecons: null,
+ },
+});
+
+dux.setMutation("setFirecons", (stations) =>
+ u({
+ firecons: {
+ stations,
+ reqs: {
+ cost: 4 * stations,
+ mass: stations,
+ },
+ },
+ })
+);
+
+export default dux;