jmegner / KT21Calculator

Specialized calculator for analyzying shooting and fighting in Kill Team 2021 edition ("KT21").

Home Page:https://jmegner.github.io/KT21Calculator/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kill Team 2021 Calculator ("ktcalc")

Calculator for helping analyze shooting and fighting attacks in Kill Team (2021 edition). Heavily inspired by kt2.doit-cms.ru (now offline).

Live at jmegner.github.io/KT21Calculator.

For reference, here's ktcalc's announcement reddit thread and follow-up thread for fight support. Check out Kill Team Resources repo for other calculators/simulators and more.

Future Work

See issues, but to comment on the big ones ...

  • I would love to do a mass analysis tab, but it will take a lot of work.
  • FNP for melee is painful and I don't have any short term or medium term plans to do it.
  • Option for user to select a relevant operative profile (ex: Necron Immortal with Gauss Blaster) instead of individually selecting parameters. Low priority because it is high effort and moderate benefit.

Dev Stuff

Basically, this is a React SPA web app mostly written in TypeScript. There is some Rust compiled down to wasm for some stuff where I needed more performance. I use GitHub Actions to test, build, and deploy the web app upon every git-push to main branch. I do my development in vscode.

List of notable technologies/libs/whatever used...

Dev setup...

  • You'll need to install NodeJS+npm for building and running.
  • Install rust and wasm-pack to build rust into wasm.
    • Might have to do rustup target add wasm32-unknown-unknown as well.
  • For debugging and otherwise having a nice experience, this project is set up for vscode as the IDE.
  • Initially, you'll have to do a npm ci to install npm packages with exact versions of previous development.
  • Do a npm run build to build the wasm and React stuff.
  • Do a npm start to build the TypeScript stuff and run.
  • For debugging non-tests with vscode, be sure to do npm start before launching the debugger. For debugging tests, you can just launch one of vscode's test-oriented debug profiles.
  • To run tests, do npm test for normal watch-mode testing that sticks around. Do npm run testq that does a single run of tests (like doing test and then hitting q to quit).

Thanks

My thanks to Daniel Espinoza-Hernandez for UI improvements, like Accordions and SwipableViews.

My thanks to Dave/veddermatic for the nav bar and icons at top.

My thanks to Redux maintainer Mark Erikson for his advice and help. I decided not to use Redux just yet, but look forward to using it.

About

Specialized calculator for analyzying shooting and fighting in Kill Team 2021 edition ("KT21").

https://jmegner.github.io/KT21Calculator/

License:The Unlicense


Languages

Language:TypeScript 92.4%Language:Rust 5.4%Language:CSS 1.9%Language:HTML 0.3%