@eveshipfit/dogma-engine 10.3.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,15 +36,26 @@ All identifiers are those from the SDE.
36
36
  - `items`: everything fitted or carried. Each item has:
37
37
  - `type_id`: its type.
38
38
  - `slot`: where the item is.
39
- - `type`: `high`, `medium`, `low`, `rig`, `subsystem`, `service`, `fighter_tube`, `fighter_bay`, `drone_bay` or `cargo`.
40
- _`cargo` is carried, but not calculated._
41
- - `index`: position within that slot type, starting at 0. Absent for `fighter_bay`, `drone_bay` and `cargo`.
39
+ - `type`: `high`, `medium`, `low`, `rig`, `subsystem`, `service`, `fighter_tube`, `fighter_bay`, `implant`, `booster`, `drone_bay` or `cargo`.
40
+ - `index`: position within that slot type, starting at 0 (`implant` and `booster` starting at 1).
41
+ Absent for `fighter_bay`, `drone_bay` and `cargo`.
42
42
  - `quantity` (optional, default 1): stack size for drones, fighters and cargo. For fighters in a tube, the squadron size.
43
43
  - `state`: requested state; `offline`, `online`, `active` or `overload`.
44
44
  - `charge` (optional): the loaded charge, as `type_id`.
45
+ - `mutation` (optional): for mutated items (Abyssal modules, mutated drones, ...).
46
+ - `base`: type ID of the item before it was mutated.
47
+ - `attributes`: the rolled value per attribute ID.
45
48
  - `fighter_abilities` (optional): the abilities a fighter uses, as effect IDs. Absent means the fighter's default abilities.
49
+ - `booster_side_effects` (optional): the side effects a booster rolled, as effect IDs. Absent means none.
50
+ - `spool` (optional): for modules whose bonus grows every cycle, how far it has spooled.
51
+ Only per-second stats use it; volley is always unspooled. Absent means fully spooled.
52
+ - `multiplier_bonus`: the bonus reached so far; 0.0 is unspooled, 2.125 is +212.5%.
46
53
  - `character` (optional):
47
54
  - `skills`: level (0 to 5) per skill type ID. A missing skill gives no bonuses.
55
+ - `security_status` (optional, default 0.0): the pilot's security status, -10.0 to 5.0.
56
+ - `environment` (optional): where the fit is.
57
+ - `damage_profile` (optional, default 0.25 each): incoming damage for effective hitpoints, as `em`, `explosive`, `kinetic` and `thermal` (relative to each other).
58
+ - `security` (optional, default `high_sec`): `high_sec`, `low_sec`, `null_sec` or `wormhole`.
48
59
 
49
60
  ### Options
50
61
 
@@ -108,6 +119,15 @@ flatc --rust --gen-onefile -o crates/esf-data/src/sde/ node_modules/@eveshipfit/
108
119
  cargo run --release -p esf-cli
109
120
  ```
110
121
 
122
+ For example, some attributes of a fit with every skill at L0 except two:
123
+
124
+ ```bash
125
+ printf '[Nergal, Spool]\nLight Entropic Disintegrator II, Occult S\n' \
126
+ | cargo run --release -p esf-cli -- -l 0 --skill "Gunnery=4" --skill "Rapid Firing=2" -a damage -a speed
127
+ ```
128
+
129
+ It prints a table on a terminal and JSON otherwise; see `--help` for the rest.
130
+
111
131
  The regression suite reads the same paths; set `ESF_SDE` and `ESF_NAMES` to point it elsewhere.
112
132
 
113
133
  ## Regression
Binary file
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "EVEShipFit Team <info@eveship.fit>"
6
6
  ],
7
7
  "description": "Library to calculate statistics for EVE Online ship fits",
8
- "version": "10.3.0",
8
+ "version": "10.4.0",
9
9
  "license": "MIT",
10
10
  "repository": {
11
11
  "type": "git",