@eveshipfit/dogma-engine 10.2.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 +27 -4
- package/esf_dogma_engine_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,18 +31,31 @@ All identifiers are those from the SDE.
|
|
|
31
31
|
- `name` (optional): name of the fit.
|
|
32
32
|
- `ship`: the ship being fitted.
|
|
33
33
|
- `type_id`: its type.
|
|
34
|
+
- `mode` (optional): type ID of the active mode, for ships that have modes.
|
|
35
|
+
_Whether the mode belongs to the ship is not checked._
|
|
34
36
|
- `items`: everything fitted or carried. Each item has:
|
|
35
37
|
- `type_id`: its type.
|
|
36
38
|
- `slot`: where the item is.
|
|
37
|
-
- `type`: `high`, `medium`, `low`, `rig`, `subsystem`, `service`, `fighter_tube`, `fighter_bay`, `drone_bay` or `cargo`.
|
|
38
|
-
|
|
39
|
-
|
|
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`.
|
|
40
42
|
- `quantity` (optional, default 1): stack size for drones, fighters and cargo. For fighters in a tube, the squadron size.
|
|
41
43
|
- `state`: requested state; `offline`, `online`, `active` or `overload`.
|
|
42
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.
|
|
43
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%.
|
|
44
53
|
- `character` (optional):
|
|
45
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`.
|
|
46
59
|
|
|
47
60
|
### Options
|
|
48
61
|
|
|
@@ -52,6 +65,7 @@ All identifiers are those from the SDE.
|
|
|
52
65
|
### Calculation
|
|
53
66
|
|
|
54
67
|
- `ship`: result for the ship.
|
|
68
|
+
- `mode`: result for the mode; absent when the fit has no mode.
|
|
55
69
|
- `items`: one result per item of the fit, in the same order.
|
|
56
70
|
- `character`: result for the character.
|
|
57
71
|
|
|
@@ -59,7 +73,7 @@ Each result has:
|
|
|
59
73
|
|
|
60
74
|
- `attributes`: per attribute ID, its `base` value before effects and its final `value`.
|
|
61
75
|
With the `sources` option, also `sources`: every modifier on it, in the order they were applied. Each has:
|
|
62
|
-
- `from`: where it comes from; `type` is `ship`, `character`, `item` or `charge` (with the `index` into `items`), or `skill` (with its `type_id`).
|
|
76
|
+
- `from`: where it comes from; `type` is `ship`, `mode`, `character`, `item` or `charge` (with the `index` into `items`), or `skill` (with its `type_id`).
|
|
63
77
|
- `effect_id`: the effect that modifies.
|
|
64
78
|
- `source_attribute_id`: the attribute on the source that holds `value`.
|
|
65
79
|
- `operator`: `pre_assign`, `pre_mul`, `pre_div`, `mod_add`, `mod_sub`, `post_mul`, `post_div`, `post_percent` or `post_assign`.
|
|
@@ -105,6 +119,15 @@ flatc --rust --gen-onefile -o crates/esf-data/src/sde/ node_modules/@eveshipfit/
|
|
|
105
119
|
cargo run --release -p esf-cli
|
|
106
120
|
```
|
|
107
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
|
+
|
|
108
131
|
The regression suite reads the same paths; set `ESF_SDE` and `ESF_NAMES` to point it elsewhere.
|
|
109
132
|
|
|
110
133
|
## Regression
|
package/esf_dogma_engine_bg.wasm
CHANGED
|
Binary file
|