From b40efe242ea8405efad60c47363297f0155f5724 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 6 Mar 2022 17:36:50 -0500 Subject: [PATCH] new weapon --- src/dux/weapons/rules.js | 65 -------------- .../ShipEdit/Weaponry/AddWeapon.svelte | 22 +++++ .../components/ShipEdit/Weaponry/index.svelte | 5 ++ src/lib/shipDux/weaponry/index.js | 3 + src/lib/shipDux/weaponry/weapons.js | 84 +++++++++++++++++++ 5 files changed, 114 insertions(+), 65 deletions(-) create mode 100644 src/lib/components/ShipEdit/Weaponry/AddWeapon.svelte create mode 100644 src/lib/shipDux/weaponry/weapons.js diff --git a/src/dux/weapons/rules.js b/src/dux/weapons/rules.js index 77d5c4d..52d0633 100644 --- a/src/dux/weapons/rules.js +++ b/src/dux/weapons/rules.js @@ -1,30 +1,4 @@ -export function weapon_cost_mass(weapon){ - let cost = 0; - let mass = 0; - - if( weapon.weapon_type === 'beam' ) { - return beam_cost_mass(weapon); - } - - if( weapon.weapon_type == 'submunition' ) { - return { mass: 1, cost: 3 }; - } - - if( weapon.weapon_type === 'pds' ) { - return { mass: 1, cost: 3 }; - } - - if( weapon.weapon_type === 'scattergun' ) { - return { mass: 1, cost: 4 }; - } - - if( weapon.weapon_type === 'needle' ) { - return { mass: 2, cost: 6 }; - } - - return { cost, mass }; -} const is_broadside = arcs => { if( arcs.length !== 4 ) return false; @@ -33,42 +7,3 @@ const is_broadside = arcs => { return !arcs.some( a => a.length === 1 ); } -function beam_cost_mass({weapon_class, arcs}) { - let mass; - if( weapon_class === 1 ) { - mass = 1; - } - - if( weapon_class == 2 ) { - mass = 2 + (arcs.length > 3 ? 1 : 0); - } - - - if( weapon_class == 3 ) { - mass = 4; - - if( is_broadside(arcs) ) { - mass += 2; - } - else { - mass += arcs.length - 1; - } - } - - if( weapon_class == 4 ) { - mass = 8; - - if( is_broadside(arcs) ) { - mass += 4; - } - else { - mass += 2*(arcs.length - 1); - } - } - - return { - mass, cost: 3 * mass - } - - -} diff --git a/src/lib/components/ShipEdit/Weaponry/AddWeapon.svelte b/src/lib/components/ShipEdit/Weaponry/AddWeapon.svelte new file mode 100644 index 0000000..b84e43a --- /dev/null +++ b/src/lib/components/ShipEdit/Weaponry/AddWeapon.svelte @@ -0,0 +1,22 @@ + + + + + + + diff --git a/src/lib/components/ShipEdit/Weaponry/index.svelte b/src/lib/components/ShipEdit/Weaponry/index.svelte index 5167466..2e5af0b 100644 --- a/src/lib/components/ShipEdit/Weaponry/index.svelte +++ b/src/lib/components/ShipEdit/Weaponry/index.svelte @@ -2,6 +2,8 @@ + +