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