diff --git a/src/lib/components/ShipEdit/Weaponry/Weapon/Beam/index.svelte b/src/lib/components/ShipEdit/Weaponry/Weapon/Beam/index.svelte
index 3e69191..b7dc8cc 100644
--- a/src/lib/components/ShipEdit/Weaponry/Weapon/Beam/index.svelte
+++ b/src/lib/components/ShipEdit/Weaponry/Weapon/Beam/index.svelte
@@ -60,7 +60,6 @@
const broadside = ["FS", "FP", "AP", "AS"];
function setArcs(firstArc) {
- console.log(firstArc);
let newArcs;
if (nbrArcs === "broadside") {
newArcs = broadside;
diff --git a/src/lib/components/ShipEdit/Weaponry/Weapon/Graser/index.story.svelte b/src/lib/components/ShipEdit/Weaponry/Weapon/Graser/index.story.svelte
new file mode 100644
index 0000000..ccd9b7d
--- /dev/null
+++ b/src/lib/components/ShipEdit/Weaponry/Weapon/Graser/index.story.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/src/lib/components/ShipEdit/Weaponry/Weapon/Graser/index.svelte b/src/lib/components/ShipEdit/Weaponry/Weapon/Graser/index.svelte
new file mode 100644
index 0000000..3535d8e
--- /dev/null
+++ b/src/lib/components/ShipEdit/Weaponry/Weapon/Graser/index.svelte
@@ -0,0 +1,100 @@
+graser
+
+
+
+ arrow_drop_down
+
+
+
+
+ arrow_drop_down
+
+
+
+
setFirstArc(detail)}
+ />
+
+
+
+
+
diff --git a/src/lib/components/ShipEdit/Weaponry/Weapon/index.svelte b/src/lib/components/ShipEdit/Weaponry/Weapon/index.svelte
index b8bf316..77fbb26 100644
--- a/src/lib/components/ShipEdit/Weaponry/Weapon/index.svelte
+++ b/src/lib/components/ShipEdit/Weaponry/Weapon/index.svelte
@@ -17,6 +17,7 @@
import PointDefenceSystem from "./PDS.svelte";
import Scattergun from "./Scattergun.svelte";
import Needle from "./Needle.svelte";
+ import Graser from "./Graser/index.svelte";
const component = {
beam: Beam,
@@ -24,6 +25,7 @@
pds: PointDefenceSystem,
scattergun: Scattergun,
needle: Needle,
+ graser: Graser,
};
export let reqs = {};
diff --git a/src/lib/store/ship/weaponry/rules.ts b/src/lib/store/ship/weaponry/rules.ts
index 3403c69..3c3d024 100644
--- a/src/lib/store/ship/weaponry/rules.ts
+++ b/src/lib/store/ship/weaponry/rules.ts
@@ -2,6 +2,8 @@ import type { Reqs } from "$lib/shipDux/reqs";
export const arcs = ["FS", "F", "FP", "AP", "A", "AS"] as const;
+export const broadsideArcs = ["FP", "AP", "AS", "FS"];
+
export type Arc = (typeof arcs)[number];
export type WeaponType = "beam";
@@ -34,30 +36,6 @@ type Graser = {
export type Weapon = Beam | Submunition | PDS | Scattergun | Needle | Graser;
export const weaponTypes = [
- {
- type: "graser",
- name: "graser",
- reqs: graserReqs,
- initial: {
- type: "graser",
- weaponClass: 1,
- arcs: ["F"],
- } as any as Graser,
- options: {
- 1: {
- nbrArcs: [1, 3, 6],
- broadside: true,
- },
- 2: {
- nbrArcs: [1, 2, 3, 4, 5, 6],
- broadside: true,
- },
- 3: {
- nbrArcs: [1, 2, 3, 4, 5, 6],
- broadside: true,
- },
- },
- },
{
type: "beam",
name: "beam",
@@ -68,6 +46,27 @@ export const weaponTypes = [
arcs,
} as any as Beam,
},
+ {
+ type: "graser",
+ name: "graser",
+ reqs: graserReqs,
+ initial: {
+ type: "graser",
+ weaponClass: 1,
+ arcs: ["F"],
+ } as any as Graser,
+ options: [
+ { weaponClass: 1, nbrArcs: [1, 3, 6, "broadside"] },
+ {
+ weaponClass: 2,
+ nbrArcs: [1, 2, 3, 4, 5, 6, "broadside"],
+ },
+ {
+ weaponClass: 3,
+ nbrArcs: [1, 2, 3, 4, 5, 6, "broadside"],
+ },
+ ],
+ },
{
type: "submunition",
name: "submunition pack",
@@ -110,7 +109,7 @@ export function weaponReqs(weapon): Reqs {
return reqs;
}
-const isBroadside = (arcs: Arc[]) => {
+export const isBroadside = (arcs: Arc[]) => {
if (arcs.length !== 4) return false;
// that'd be A or F