aotds-docks/src/dux/engine/index.js

28 lines
727 B
JavaScript
Raw Normal View History

2020-07-19 20:21:28 +00:00
import Updux from 'updux';
import { action, payload } from 'ts-action';
2021-05-17 13:48:31 +00:00
import u from "@yanick/updeep";
2020-07-19 20:21:28 +00:00
import { createSelector } from 'reselect';
const set_engine = action('set_engine',payload());
const set_drive_reqs = action('set_drive_reqs',payload());
const dux = new Updux({
initial: {
mass: 1,
cost: 2,
rating: 1,
}
});
2021-05-17 13:48:31 +00:00
dux.addMutation(set_engine, engine => u.update(engine));
dux.addMutation(set_drive_reqs, rate => u.update(rate));
2020-07-19 20:21:28 +00:00
export function calc_drive_reqs(ship_mass,rating,advanced=false) {
const mass = Math.ceil(rating * 0.05 * ship_mass);
const cost = mass * ( advanced ? 3 : 2 );
return { mass, cost };
}
export default dux.asDux;