2022-03-02 00:14:01 +00:00
|
|
|
import { Updux } from "updux";
|
2022-03-02 16:14:31 +00:00
|
|
|
import u from 'updeep';
|
2022-03-01 22:13:05 +00:00
|
|
|
|
2022-03-02 18:42:42 +00:00
|
|
|
import propulsion from "./propulsion/index.js";
|
2022-03-02 00:14:01 +00:00
|
|
|
import identification from "./identification.js";
|
2022-03-02 19:00:18 +00:00
|
|
|
import { calculateDriveReqs } from './propulsion/drive.js';
|
2022-03-03 16:06:51 +00:00
|
|
|
import { ftlReqsReaction } from './propulsion/ftl.js';
|
2022-03-04 00:45:47 +00:00
|
|
|
import structure from './structure/index.js';
|
2022-03-01 22:13:05 +00:00
|
|
|
|
|
|
|
const dux = new Updux({
|
2022-03-02 00:14:01 +00:00
|
|
|
subduxes: {
|
|
|
|
identification,
|
2022-03-04 00:45:47 +00:00
|
|
|
propulsion,
|
|
|
|
structure
|
2022-03-02 00:14:01 +00:00
|
|
|
},
|
|
|
|
initial: {
|
2022-03-02 16:14:31 +00:00
|
|
|
reqs: { cost: 0, mass: 10, usedMass: 0 },
|
2022-03-02 00:14:01 +00:00
|
|
|
},
|
2022-03-02 16:14:31 +00:00
|
|
|
actions: {
|
|
|
|
}
|
2022-03-01 22:13:05 +00:00
|
|
|
});
|
|
|
|
|
2022-03-02 16:14:31 +00:00
|
|
|
dux.setMutation( 'setShipMass', mass => u({reqs: {mass}}) );
|
|
|
|
|
2022-03-02 19:00:18 +00:00
|
|
|
dux.addReaction( calculateDriveReqs );
|
2022-03-03 16:06:51 +00:00
|
|
|
dux.addReaction( ftlReqsReaction );
|
2022-03-02 19:00:18 +00:00
|
|
|
|
2022-03-01 22:13:05 +00:00
|
|
|
export default dux;
|