GamingDiver / WoWS Legends Data Lab / Ship Data Object Codex
Ship Data Object Codex
A cross-catalog map of every in-game data entity: each state[i]
slot, what we know it means (or that we don't yet), and a live example value. Pick any
ship to swap the example column. Generated 2026-07-06.
What this is. Each ship is described by a tree of typed objects
(a
Ship that references a Hull, an Artillery that
references ArtilleryGuns and their Ammo, and so on). Every object
is a flat list of state[i] slots whose meaning isn't labeled in the data, so
we recover it by correlating values across the whole catalog and checking them against the
in-game UI. The Example value column shows the picked ship's value for each
slot; greyed values are catalog constants or references that are the same on every ship.
mapped semantics confirmed, read by the extractor
constant same value catalog-wide (a default)
visual particle / asset path, no gameplay effect
sub-entity a reference to another object
needs ID varies across ships, meaning not yet pinned
Coverage at a glance
Across all classes: 272 of 1298 slots mapped (21%); 223 still need identifying.
| Entity class | Slots | Mapped | Constant | Visual | Sub-entity | Need ID |
|---|---|---|---|---|---|---|
| Ship | 42 | 14 | 10 | 0 | 9 | 9 |
| GameParamData | 3 | 3 | 0 | 0 | 0 | 0 |
| ShipAbilities | 4 | 4 | 0 | 0 | 0 | 0 |
| ShipUpgradeInfo | 7 | 7 | 0 | 0 | 0 | 0 |
| Ability | 6 | 1 | 0 | 0 | 1 | 4 |
| AbilitySlot | 2 | 0 | 0 | 0 | 0 | 2 |
| SectionCollection | 1 | 0 | 0 | 0 | 1 | 0 |
| Hull | 91 | 26 | 30 | 4 | 6 | 25 |
| HitLocation | 29 | 6 | 14 | 1 | 1 | 7 |
| HitLocationPowderMagazine | 31 | 5 | 22 | 1 | 0 | 3 |
| HitLocationLandingStrip | 30 | 0 | 25 | 1 | 1 | 3 |
| Artillery | 23 | 9 | 14 | 0 | 0 | 0 |
| ArtilleryGun | 48 | 18 | 18 | 0 | 2 | 10 |
| Ammo(AP) | 59 | 27 | 21 | 8 | 0 | 3 |
| Ammo(HE) | 59 | 27 | 17 | 3 | 0 | 12 |
| Ammo(CS) | 59 | 27 | 20 | 10 | 0 | 2 |
| ATBA | 19 | 4 | 14 | 0 | 0 | 1 |
| ATBAGun | 33 | 13 | 9 | 0 | 2 | 9 |
| Torpedoes | 2 | 0 | 0 | 0 | 1 | 1 |
| Torpedo | 49 | 14 | 16 | 7 | 0 | 12 |
| AirDefense | 9 | 3 | 5 | 0 | 0 | 1 |
| AirDefenseAura | 54 | 19 | 12 | 17 | 0 | 6 |
| Radars | 2 | 0 | 1 | 0 | 1 | 0 |
| Engine | 15 | 13 | 0 | 0 | 2 | 0 |
| AirArmament | 7 | 5 | 0 | 0 | 0 | 2 |
| AirSupport | 13 | 0 | 5 | 0 | 1 | 7 |
| FlightControl | 10 | 0 | 6 | 0 | 3 | 1 |
| AircraftType | 1 | 0 | 0 | 0 | 0 | 1 |
| DiveBomber | 277 | 6 | 172 | 17 | 19 | 63 |
| Plane | 274 | 5 | 207 | 17 | 19 | 26 |
| Catapult | 5 | 3 | 0 | 0 | 0 | 2 |
| ModelWithGunNode | 4 | 0 | 1 | 0 | 0 | 3 |
| Cap | 2 | 0 | 1 | 0 | 0 | 1 |
| TorpedoTube | 28 | 13 | 7 | 0 | 1 | 7 |
| TOTAL | 1298 | 272 | 647 | 86 | 70 | 223 |
Ship & top-level
Ship
42 slots · 14 mapped (33%) · 10 constant · 0 visual · 9 sub-entity · 9 need ID
example: Ship - PGSB108_Bismarck.state[0]
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | const = {'_class': 'Placeholder', '_repr': '<ext… |
| 1 | reference to another entity | sub-entity | → sub-entity | 604 distinct |
| 2 | reference to another entity | sub-entity | → sub-entity | const = {'_class': 'CombatCamera', '_repr': '<ex… |
| 3 | reference to another entity | sub-entity | → sub-entity | 142 distinct |
| 4 | reference to another entity | sub-entity | → sub-entity | const = {'_class': 'SectionCollection', '_repr':… |
| 5 | ShipAbilities (consumable slots container) | mapped | → sub-entity | 604 distinct |
| 6 | ShipUpgradeInfo (module / upgrade graph) | mapped | → sub-entity | 604 distinct |
| 7 | Destroyer-class physics flag. 0.0 on every non-DD ship (BB / CL / CA / CV / BC); 0.10 on every DD subclass (destroyer / gunboatdestroyer / torpedodestroyer / universaldestroyer). PERFECT class correlation. Likely a DD-specific physics tweak (torpedo-protection floor, water-spray damping, or similar). | mapped | 0 | [0 – 0.1], med 0 · 2 distinct · tracks caliber (r=0.57) · tracks class (r=1.00) · tracks nation (r=0.98) |
| 8 | game-logic constant | constant | – | const = None |
| 9 | battle_tiers dict (PVP/ARCADE/COOPERATIVE pair (matchmaker_top, matchmaker_bottom)) | mapped | → sub-entity | 23 distinct |
| 10 | needs identifying | needs ID | False | 2 distinct |
| 11 | nation_hint (e.g. 'usastartbb') | mapped | gertankbb | 55 distinct · tracks nation (r=1.00) |
| 12 | class_key (battleship/cruiser/destroyer/aircarrier) | mapped | battleship | 10 distinct · tracks class (r=0.92) · tracks nation (r=0.89) |
| 13 | game-logic constant | constant | True | const = True |
| 14 | Airstrike / air-support flag. Empty string '' on 1248 ships; 'airSupportFarStates' on exactly 4 Japanese hybrid-BB ships: Aki, Dewa, Ise, Suwo. These are the IJN BB-CV hybrids with airstrike consumables. VERIFIED 2026-05-30. | mapped | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.92) · tracks nation (r=1.00) | |
| 15 | needs identifying | needs ID | 1 | [0.4 – 1], med 1 · 3 distinct · tracks caliber (r=0.71) · tracks class (r=0.92) · tracks nation (r=0.96) |
| 16 | game-logic constant | constant | – | const = None |
| 17 | reference to another entity | sub-entity | → sub-entity | const = {} |
| 18 | needs identifying | needs ID | 0.8 | [0.28 – 1], med 0.6 · 26 distinct |
| 19 | needs identifying | needs ID | upgradeable | 9 distinct |
| 20 | reference to another entity | sub-entity | → sub-entity | const = {} |
| 21 | isLegendary flag. True on every Tier 9 (Legendary) ship - Bourgogne, C-Colombo, Castilla, Conqueror, Daring, Des-Moines, Gdansk, Gearing, Gouden-Leeuw, Grosser-Kurfurst, Hakuryu, Halland, Henri-IV, Jinan, Khabarovsk, Kleber, Louisiana, M-Richthofen, Midway, etc. False on every tier 1-8 ship. PERFECT tier-9 correlation. VERIFIED 2026-05-30. | mapped | False | 2 distinct |
| 22 | game-logic constant | constant | True | const = True |
| 23 | needs identifying | needs ID | False | 2 distinct |
| 24 | tier (1-7 in Legends) | mapped | 7 | [1 – 9], med 6 · 9 distinct |
| 25 | level cap / progression slot count (typically 8) | mapped | 8 | [4 – 8], med 8 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=1.00) · tracks nation (r=0.98) |
| 26 | needs identifying | needs ID | 1.9 | [0.45 – 1.9], med 1.3 · 19 distinct |
| 27 | needs identifying | needs ID | 40 distinct · tracks class (r=0.69) · tracks nation (r=0.98) | |
| 28 | Default-True flag. True on every ship in the catalog EXCEPT Kirisame (Japanese DD premium). Probably an availability / build-pipeline marker; the single False is a legacy or test-only entry. | mapped | True | 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.92) · tracks nation (r=0.98) |
| 29 | game-logic constant | constant | default | const = default |
| 30 | reference to another entity | sub-entity | → sub-entity | const = {} |
| 31 | game-logic constant | constant | const = | |
| 32 | reference to another entity | sub-entity | → sub-entity | const = {} |
| 33 | permanent_exterior_ids (list of camo / permo IDs) | mapped | PGES600_BISMARCK_MEGATRON, PGES308_Bismarck_Ve… | 255 distinct |
| 34 | Tier-related progression count. 2 / 3 / 4 distribution: tier 1-3 mostly 2, tier 4-8 mix of 2 and 3, tier 9 (Legendary) ALWAYS 4. The 4-value is exclusive to Legendaries. Possibly module-slot count or progression-tier marker. | mapped | 2 | [2 – 4], med 3 · 3 distinct |
| 35 | game-logic constant | constant | const = | |
| 36 | game-logic constant | constant | True | const = True |
| 37 | game-logic constant | constant | False | const = False |
| 38 | needs identifying | needs ID | – | 9 distinct · tracks class (r=0.54) · tracks nation (r=0.96) |
| 39 | game-logic constant | constant | const = [] | |
| 40 | needs identifying | needs ID | 5171 | [1000 – 9018], med 3932 · 21 distinct |
| 41 | modules dict (Hull / Artillery / ATBA / AirDefense / Engine / FireControl / etc.) | mapped | → sub-entity | 600 distinct |
GameParamData
3 slots · 3 mapped (100%) · 0 constant · 0 visual · 0 sub-entity · 0 need ID
example: PGSB108_Bismarck (top-level GameParamData)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | the wrapped entity (Ship at the top level; ArtilleryGun / ATBAGun / etc. inside module mount dicts) | mapped | → sub-entity | 24049 distinct |
| 1 | GameParamMetaData - numeric id, ship/gun code, and full WG-ID string. At the top level the WG-ID (e.g. PASB006_New_York_1934) is the primary key used in the GamingDiver data export | mapped | → sub-entity | 24049 distinct |
| 2 | metadata dict (type / nation / class info) | mapped | → sub-entity | 600 distinct |
ShipAbilities
4 slots · 4 mapped (100%) · 0 constant · 0 visual · 0 sub-entity · 0 need ID
example: ShipAbilities (state[5]) - consumable slots container
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | AbilitySlot[0] (typically Damage Control Party slot) | mapped | → sub-entity | 604 distinct |
| 1 | AbilitySlot[1] | mapped | → sub-entity | 601 distinct |
| 2 | AbilitySlot[2] | mapped | → sub-entity | 594 distinct |
| 3 | AbilitySlot[3] | mapped | → sub-entity | 530 distinct |
ShipUpgradeInfo
7 slots · 7 mapped (100%) · 0 constant · 0 visual · 0 sub-entity · 0 need ID
example: ShipUpgradeInfo (state[6])
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | costCR - credit cost / price | mapped | 18000000 | [0 – 4.875e+07], med 13000 · 13 distinct |
| 1 | costGold - doubloon cost | mapped | 0 | [0 – 25000], med 0 · 9 distinct · tracks class (r=0.69) · tracks nation (r=0.98) |
| 2 | costSaleGold - sale doubloon cost | mapped | 0 | const = 0 |
| 3 | costXP - research XP (xp_to_elite) | mapped | 210000 | [0 – 750000], med 0 · 17 distinct |
| 4 | lockedConfig - list of locked upgrade configs | mapped | const = [] | |
| 5 | value | mapped | 1 | const = 1 |
| 6 | components dict (per-upgrade-slot ShipUpgradeInfo rows) | mapped | → sub-entity | 604 distinct |
Ability
6 slots · 1 mapped (17%) · 0 constant · 0 visual · 1 sub-entity · 4 need ID
example: PCY001_CrashCrew (Ability)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | False | 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.92) · tracks nation (r=0.98) |
| 1 | reference to another entity | sub-entity | → sub-entity | const = {} |
| 2 | needs identifying | needs ID | -1 | [-1 – 22500], med -1 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.92) · tracks nation (r=0.98) |
| 3 | needs identifying | needs ID | -1 | [-1 – 15], med -1 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.92) · tracks nation (r=0.98) |
| 4 | needs identifying | needs ID | True | 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.92) · tracks nation (r=0.98) |
| 5 | variants dict {variant_id : variant_object}. The ability's per-upgrade-level variant table. Read by the spec reader:366 (ability_variant_object). | mapped | → sub-entity | 18 distinct |
AbilitySlot
2 slots · 0 mapped (0%) · 0 constant · 0 visual · 0 sub-entity · 2 need ID
example: ShipAbilities.state[0] - AbilitySlot
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | – | 395 distinct |
| 1 | needs identifying | needs ID | 0 | [0 – 3], med 2 · 4 distinct |
SectionCollection
1 slots · 0 mapped (0%) · 0 constant · 0 visual · 1 sub-entity · 0 need ID
example: Module AB_Directors (SectionCollection)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | 737 distinct |
Survivability (hull, hit zones, magazine)
Hull
91 slots · 26 mapped (29%) · 30 constant · 4 visual · 6 sub-entity · 25 need ID
example: Module B_Hull (Hull)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | armor dict {raw_key=(model_index<<16)|material_id : thickness_mm} | mapped | → sub-entity | 533 distinct |
| 1 | game-logic constant | constant | -1, -1 | const = [-1, -1] |
| 2 | game-logic constant | constant | -1, -1 | const = [-1, -1] |
| 3 | game-logic constant | constant | -1, -1 | const = [-1, -1] |
| 4 | game-logic constant | constant | -1, -1 | const = [-1, -1] |
| 5 | Hull-physics class (close to historical propeller-shaft count). DDs = 2.0 (or 3.0 for late-war designs), CLs/CAs = 3.0 (or 4.0 for a few), BBs = 3.0 (34 hulls, mostly older designs) or 4.0 (127 hulls), CVs = 3.0 or 4.0. Strongly class-correlated; likely a manoeuvring / hydrodynamics tier rather than literal shaft count. | mapped | 4 | [2 – 4], med 3 · 3 distinct · tracks nation (r=0.75) |
| 6 | reference to another entity | sub-entity | → sub-entity | 109 distinct · tracks class (r=0.54) |
| 7 | needs identifying | needs ID | particles/NF_BB_boiler_explosion_post_death.xm… | 5 distinct |
| 8 | game-logic constant | constant | 200000 | const = 200000.0 |
| 9 | fire-protection coefficient triplets (1-x[0][0] => fire resistance %) | mapped | → sub-entity | 37 distinct |
| 10 | game-logic constant | constant | 1 | const = 1.0 |
| 11 | game-logic constant | constant | 1 | const = 1.0 |
| 12 | game-logic constant | constant | const = | |
| 13 | reference to another entity | sub-entity | → sub-entity | const = {'scout': '', 'fighter': ''} |
| 14 | reference to another entity | sub-entity | → sub-entity | 65 distinct |
| 15 | needs identifying | needs ID | particles/NF_BB_seething_bubbles_post_death.xm… | 4 distinct |
| 16 | needs identifying | needs ID | particles/NF_BB_death_explosion_of_art_cellar.… | 5 distinct |
| 17 | needs identifying | needs ID | particles/NF_BB_fuming_at_fault_post_death.xml | 5 distinct |
| 18 | needs identifying | needs ID | particles/NF_BB_fire_death.xml | 5 distinct |
| 19 | needs identifying | needs ID | particles/NF_XL_foam_post_death.xml | 5 distinct |
| 20 | needs identifying | needs ID | particles/NF_BB_water_fountains_post_death.xml | 4 distinct |
| 21 | needs identifying | needs ID | particles/NF_BB_fuming_at_flooding_post_death.… | 4 distinct |
| 22 | death_hardpoints list | mapped | HP_Ship_death_1, HP_Ship_death_2, HP_Ship_deat… | const = ['HP_Ship_death_1', 'HP_Ship_death_2', '… |
| 23 | asset / particle path | visual | particles/NF_AA_death_catapult_ships.xml | const = particles/NF_AA_death_catapult_ships.xml |
| 24 | needs identifying | needs ID | particles/NF_BB_fuming_post_fire.xml | 4 distinct |
| 25 | needs identifying | needs ID | particles/NF_BB_death_bomb.xml | 5 distinct |
| 26 | asset / particle path | visual | particles/NF_death_torpedo.xml | const = particles/NF_death_torpedo.xml |
| 27 | Decal / fragMarker dict {'frag': ..., 'unic': ..., 'unknown': ...}. Visual-only - kill-counter and unique-decal definitions per hull. | mapped | → sub-entity | 4 distinct · tracks nation (r=0.75) |
| 28 | needs identifying | needs ID | 0.5 | [0.5 – 3.22], med 0.5 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.92) · tracks nation (r=0.98) |
| 29 | Camo render type. 'camo_color_tint' (1762 hulls) or 'camo_permanent_flag' (40 hulls). Visual-only. | mapped | camo_color_tint | 2 distinct · tracks class (r=0.69) · tracks nation (r=0.98) |
| 30 | needs identifying | needs ID | 0 | [-0.23 – 0.11], med 0 · 108 distinct |
| 31 | draft (m) - PC-aligned 2026-05 | mapped | 11 | [2.3 – 11], med 11 · 22 distinct · tracks nation (r=0.80) |
| 32 | asset / particle path | visual | particles/vehicles/Albany_fire_01.xml | const = particles/vehicles/Albany_fire_01.xml |
| 33 | needs identifying | needs ID | particles/vehicles/Battleship_death.xml | 4 distinct |
| 34 | asset / particle path | visual | particles/simple_death.xml | const = particles/simple_death.xml |
| 35 | needs identifying | needs ID | particles/vehicles/BB_post_death.xml | 5 distinct |
| 36 | reference to another entity | sub-entity | → sub-entity | 54 distinct |
| 37 | needs identifying | needs ID | particles/vehicles/BB_RunSmoke.xml | 6 distinct |
| 38 | enginePower (hp, hull-level) - PC-aligned 2026-05 | mapped | 163000 | [5500 – 305000], med 80000 · 196 distinct |
| 39 | Camouflage mesh asset (e.g. 'content/gameplay/common/misc/CM500/CM500.model'). Visual-only. | mapped | content/gameplay/common/misc/CM500/CM500.model | 2 distinct · tracks nation (r=0.82) |
| 40 | torpedo-protection coefficient list (1-x[0] is post-protection damage coeff; round((1-x[0]/0.333)*100) => torp reduction %) | mapped | 0.25999999046325684, 0.5, 40.0 | 75 distinct |
| 41 | game-logic constant | constant | 0.05 | const = 0.05000000074505806 |
| 42 | max hit points | mapped | 69200 | [6800 – 105800], med 32200 · 479 distinct |
| 43 | Ship mass in KILOGRAMS (= displacement tonnes * 1000). Used by the in-game physics engine. Kremlin 82,149,000 kg, Yamato 72,800,000 kg, Bismarck 49,406,000 kg, Tachibana 830,000 kg, Smith 900,000 kg. Always exactly state[76]*1000, EXCEPT for Iowa (state[43]=57,540,000 = full-load, state[76]=50,000 = standard) - i.e. state[43] is the physics mass and state[76] is the displayed displacement, usually the same number in different units. VERIFIED 2026-05-30. | mapped | 49406000 | [830000 – 8.2149e+07], med 1.185e+07 · 473 distinct |
| 44 | game-logic constant | constant | 30 | const = 30.0 |
| 45 | max speed (knots) | mapped | 31 | [17 – 60], med 33 · 86 distinct |
| 46 | hull model path | mapped | content/gameplay/germany/ship/battleship/GSB00… | 620 distinct |
| 47 | needs identifying | needs ID | germany | 25 distinct · tracks nation (r=0.91) |
| 48 | game-logic constant | constant | 0 | const = 0 |
| 49 | game-logic constant | constant | 1 | const = 1.0 |
| 50 | game-logic constant | constant | False | const = False |
| 51 | game-logic constant | constant | False | const = False |
| 52 | game-logic constant | constant | 16 | const = 16.0 |
| 53 | game-logic constant | constant | 1 | const = 1.0 |
| 54 | game-logic constant | constant | 0 | const = 0.0 |
| 55 | game-logic constant | constant | 0 | const = 0.0 |
| 56 | needs identifying | needs ID | 74 | [0.5 – 123], med 18 · 157 distinct |
| 57 | needs identifying | needs ID | 83000000 | [7.115e+06 – 1.3e+08], med 4.5e+07 · 205 distinct |
| 58 | rudder shift time (seconds) | mapped | 20.86 | [2.44 – 35.75], med 11.84 · 578 distinct |
| 59 | needs identifying | needs ID | 2 | [2 – 20], med 2 · 10 distinct · tracks nation (r=0.78) |
| 60 | needs identifying | needs ID | 1 | [1 – 3], med 1 · 7 distinct · tracks nation (r=0.80) |
| 61 | needs identifying | needs ID | 2.2 | [2.2 – 20], med 2.2 · 9 distinct · tracks nation (r=0.78) |
| 62 | needs identifying | needs ID | 2.2 | [2 – 3], med 2.2 · 4 distinct · tracks nation (r=0.78) |
| 63 | game-logic constant | constant | False | const = False |
| 64 | needs identifying | needs ID | 1500000 | [16000 – 3.7e+06], med 325000 · 235 distinct |
| 65 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 4, '_repr': '((4.0, 10.0),… |
| 66 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 4, '_repr': '((45.0, 130.0… |
| 67 | needs identifying | needs ID | PCXS000_Battleship | 10 distinct · tracks nation (r=0.55) |
| 68 | (length_m, beam_m, height_m) tuple | mapped | 260.0, 20.0, 37.0 | 281 distinct |
| 69 | game-logic constant | constant | 27 | const = 27.0 |
| 70 | game-logic constant | constant | const = | |
| 71 | game-logic constant | constant | 1 | const = 1.0 |
| 72 | needs identifying | needs ID | particles/vehicles/WaterEffectsBismarck.xml | 365 distinct |
| 73 | game-logic constant | constant | 3 | const = 3.0 |
| 74 | game-logic constant | constant | 4 | const = 4.0 |
| 75 | game-logic constant | constant | 0.2 | const = 0.20000000298023224 |
| 76 | Ship displacement in METRIC TONNES (= state[43] / 1000 for nearly every ship). The number the in-game stat panel displays. VERIFIED 2026-05-30. | mapped | 49406 | [780 – 82149], med 11760 · 573 distinct |
| 77 | game-logic constant | constant | 0.5 | const = 0.5 |
| 78 | turning circle radius (m) | mapped | 850 | [300 – 1250], med 680 · 80 distinct |
| 79 | game-logic constant | constant | 0 | const = 9.999999974752427e-07 |
| 80 | game-logic constant | constant | 0 | const = 9.999999974752427e-07 |
| 81 | guaranteed detection range (km) - fixed at 2.0 across every ship | mapped | 2 | const = 2.0 |
| 82 | torpedo guaranteed detection range (km) - fixed at 3.0 | mapped | 3 | const = 3.0 |
| 83 | game-logic constant | constant | 0 | const = 9.999999974752427e-07 |
| 84 | gun-firing visibility BONUS (km, additive on top of base detect) | mapped | 7.6 | [1e-06 – 10.16], med 3.04 · 52 distinct |
| 85 | smoke-firing penalty (km) | mapped | 14.12 | [0 – 16], med 5.68 · 391 distinct |
| 86 | gun-firing visibility duration (s) - fixed at 20.0 | mapped | 20 | [0.0001 – 20], med 20 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=1.00) · tracks nation (r=0.98) |
| 87 | surface detectability (km) | mapped | 15.44 | [5.21 – 16.2], med 11.86 · 392 distinct |
| 88 | air detectability (km) | mapped | 12.35 | [2.53 – 13.04], med 7.16 · 374 distinct |
| 89 | game-logic constant | constant | 0 | const = 9.999999974752427e-07 |
| 90 | hitlocations dict (turret/citadel/etc. collision/HP entries) | mapped | → sub-entity | 871 distinct |
HitLocation
29 slots · 6 mapped (21%) · 14 constant · 1 visual · 1 sub-entity · 7 need ID
example: ↳ B_Hull.state[90]['SS'] - HitLocation
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | 0 | [0 – 0.8], med 0 · 6 distinct |
| 1 | Few-values: 10.0 (10588 zones, default), 30.0 (64), 40.0 (1736). Likely armor-thickness band or damage tier per zone. | mapped | 10 | [10 – 40], med 10 · 3 distinct |
| 2 | needs identifying | needs ID | 5 | [5 – 40], med 5 · 4 distinct |
| 3 | game-logic constant | constant | 0 | const = 0.0 |
| 4 | game-logic constant | constant | const = | |
| 5 | game-logic constant | constant | False | const = False |
| 6 | needs identifying | needs ID | 0.0, 0.0 | 5 distinct |
| 7 | game-logic constant | constant | 1.0, 0.0 | const = [1.0, 0.0] |
| 8 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 3, '_repr': "((0.1, ''), (… |
| 9 | game-logic constant | constant | /, / | const = ['/', '/'] |
| 10 | asset / particle path | visual | particles/NF_BB_death_explosion_of_art_cellar.… | const = particles/NF_BB_death_explosion_of_art_c… |
| 11 | game-logic constant | constant | False | const = False |
| 12 | game-logic constant | constant | 0.0, 0.0 | const = [0.0, 0.0] |
| 13 | game-logic constant | constant | 0.0, 0.0 | const = [0.0, 0.0] |
| 14 | hlType - hit-zone class ('citadel_hitlocation', 'engine_hitlocation', 'casemate_hitlocation', 'turret_hitlocation', etc.). PC-aligned 2026-05. 7 distinct types in catalog. | mapped | supersctructure_hitlocation | 7 distinct |
| 15 | game-logic constant | constant | 0 | const = 0.0 |
| 16 | maxHP - hit-zone hit points. PC-aligned 2026-05. Range 10 (small turret) to 165500 (Yamato turret). | mapped | 4700 | [10 – 165500], med 4800 · 490 distinct |
| 17 | needs identifying | needs ID | 0 | [0 – 1], med 0 · 2 distinct · tracks caliber (r=0.57) · tracks class (r=0.69) · tracks nation (r=0.85) |
| 18 | needs identifying | needs ID | 0 | [0 – 1], med 0 · 2 distinct · tracks caliber (r=0.57) · tracks class (r=0.69) · tracks nation (r=0.85) |
| 19 | Parent classification (string|None). 6914 zones = 'Hull' (hull-bound zone); 5474 = None (standalone zone like turret/magazine). | mapped | Hull | 2 distinct |
| 20 | needs identifying | needs ID | 0.5 | [0.1 – 0.75], med 0.5 · 10 distinct |
| 21 | game-logic constant | constant | 0 | const = 0.0 |
| 22 | Collision-mesh ID list (e.g. ['CM_SB_cit_1']). Per-zone collision-volume references in the ship model. | mapped | CM_SB_ss_1_1, CM_SB_ss_1_2, CM_SB_ss_1_3, CM_S… | 320 distinct |
| 23 | game-logic constant | constant | 0 | const = 0.0 |
| 24 | game-logic constant | constant | 0 | const = 0.0 |
| 25 | game-logic constant | constant | 1 | const = 1.0 |
| 26 | game-logic constant | constant | 1 | const = 1.0 |
| 27 | needs identifying | needs ID | 3.76 | [0.02 – 27.23], med 1 · 692 distinct |
| 28 | Damage-cap fraction per zone (PC field 'alphaDamageCutoff' candidate). Three values: 0.165 (16.5%, 8714 zones - default damage cap), 0.33 (33%, 546 zones), 0.5 (50%, smaller set). Higher value = bigger fraction of alphaDamage that can be inflicted on this zone per hit. | mapped | 0.165 | [0.165 – 1], med 0.165 · 3 distinct |
HitLocationPowderMagazine
31 slots · 5 mapped (16%) · 22 constant · 1 visual · 0 sub-entity · 3 need ID
example: ↳ B_Hull.state[90]['Ammo_1'] - HitLocationPowderMagazine
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | 0 | [0 – 0.8], med 0 · 5 distinct · tracks nation (r=0.50) |
| 1 | game-logic constant | constant | 40 | const = 40.0 |
| 2 | game-logic constant | constant | 5 | const = 5.0 |
| 3 | game-logic constant | constant | 0 | const = 0.0 |
| 4 | game-logic constant | constant | const = | |
| 5 | game-logic constant | constant | True | const = True |
| 6 | game-logic constant | constant | 1 | const = 1.0 |
| 7 | game-logic constant | constant | 0.0, 0.0 | const = [0.0, 0.0] |
| 8 | critProbHP - magazine critical-hit probability term keyed to HP. | mapped | 1.0, 0.0 | const = [1.0, 0.0] |
| 9 | damageEffects - refs to the visual/damage effects fired on a magazine hit. | mapped | → sub-entity | const = {'_list_len': 3, '_repr': "((0.1, ''), (… |
| 10 | game-logic constant | constant | /, / | const = ['/', '/'] |
| 11 | asset / particle path | visual | particles/NF_BB_death_explosion_of_art_cellar.… | const = particles/NF_BB_death_explosion_of_art_c… |
| 12 | game-logic constant | constant | False | const = False |
| 13 | game-logic constant | constant | const = [] | |
| 14 | hitDetonationMaxProbAtDamage - the MAX detonation chance, reached at full magazine damage. ~0.30 (the 30% ceiling) on every ship; pairs with [15] min. | mapped | 0.10000000149011612, 1.0 | const = [0.10000000149011612, 1.0] |
| 15 | hitDetonationMinProbAtDamage - the MIN detonation chance, at 0 magazine damage. ~0.01 (the 1% floor) on every ship; pairs with [14] max. The displayed '1-30% detonation' range is [15]..[14]. | mapped | 0.009999999776482582, 0.30000001192092896 | const = [0.009999999776482582, 0.300000011920928… |
| 16 | game-logic constant | constant | powdermagazine_hitlocation | const = powdermagazine_hitlocation |
| 17 | game-logic constant | constant | 0 | const = 0.0 |
| 18 | magazine max HP - the turret/magazine durability pool (separate from ship HP). | mapped | 34600 | [2500 – 54200], med 15700 · 307 distinct |
| 19 | game-logic constant | constant | 1 | const = 1.0 |
| 20 | game-logic constant | constant | 1 | const = 1.0 |
| 21 | game-logic constant | constant | – | const = None |
| 22 | needs identifying | needs ID | 0.5 | [0.5 – 0.75], med 0.5 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.89) · tracks nation (r=0.98) |
| 23 | game-logic constant | constant | 0 | const = 0.0 |
| 24 | needs identifying | needs ID | CM_SB_cit_ammo1_1, CM_SB_cit_ammo1_2 | 71 distinct |
| 25 | game-logic constant | constant | 0 | const = 0.0 |
| 26 | game-logic constant | constant | 0 | const = 0.0 |
| 27 | game-logic constant | constant | 1 | const = 1.0 |
| 28 | game-logic constant | constant | 1 | const = 1.0 |
| 29 | game-logic constant | constant | 1 | const = 1.0 |
| 30 | game-logic constant | constant | 1 | const = 1.0 |
HitLocationLandingStrip 30 slots · 0 mapped (0%) · 25 constant · 1 visual · 1 sub-entity · 3 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | – | [0 – 0.6], med 0 · 2 distinct · tracks caliber (r=0.67) · tracks class (r=0.50) · tracks nation (r=0.75) |
| 1 | game-logic constant | constant | 10 | const = 10.0 |
| 2 | game-logic constant | constant | 5 | const = 5.0 |
| 3 | game-logic constant | constant | 0 | const = 0.0 |
| 4 | game-logic constant | constant | const = | |
| 5 | game-logic constant | constant | False | const = False |
| 6 | game-logic constant | constant | 1 | const = 1.0 |
| 7 | game-logic constant | constant | 0.0, 0.0 | const = [0.0, 0.0] |
| 8 | game-logic constant | constant | 1.0, 0.0 | const = [1.0, 0.0] |
| 9 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 3, '_repr': "((0.1, ''), (… |
| 10 | game-logic constant | constant | /, / | const = ['/', '/'] |
| 11 | asset / particle path | visual | particles/NF_BB_death_explosion_of_art_cellar.… | const = particles/NF_BB_death_explosion_of_art_c… |
| 12 | game-logic constant | constant | False | const = False |
| 13 | game-logic constant | constant | 0.0, 0.0 | const = [0.0, 0.0] |
| 14 | game-logic constant | constant | 0.0, 0.0 | const = [0.0, 0.0] |
| 15 | game-logic constant | constant | landingstrip_hitlocation | const = landingstrip_hitlocation |
| 16 | game-logic constant | constant | 0 | const = 0.0 |
| 17 | needs identifying | needs ID | – | [15850 – 47350], med 26300 · 27 distinct |
| 18 | game-logic constant | constant | 1 | const = 1.0 |
| 19 | game-logic constant | constant | 1 | const = 1.0 |
| 20 | game-logic constant | constant | – | const = None |
| 21 | game-logic constant | constant | 0.5 | const = 0.5 |
| 22 | game-logic constant | constant | 0 | const = 0.0 |
| 23 | needs identifying | needs ID | – | 8 distinct |
| 24 | game-logic constant | constant | 0 | const = 0.0 |
| 25 | game-logic constant | constant | 0 | const = 0.0 |
| 26 | game-logic constant | constant | 1 | const = 1.0 |
| 27 | game-logic constant | constant | 1 | const = 1.0 |
| 28 | game-logic constant | constant | 1 | const = 1.0 |
| 29 | game-logic constant | constant | 1 | const = 1.0 |
Main battery
Artillery
23 slots · 9 mapped (39%) · 14 constant · 0 visual · 0 sub-entity · 0 need ID
example: Module B1_Artillery (Artillery)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | shell-mag dict {'AP':9999,'HE':9999,'CS':9999} ammo capacity | mapped | → sub-entity | const = {'CS': 9999, 'AP': 9999, 'HE': 9999} |
| 1 | useReadyRack flag (bool). True only on the 9 Spanish ready-rack ships: Andalucia, Asturias, Baleares, Canarias, Castilla, Cataluna, Mendez-Nunez, Numancia, Victoria. The Spanish nation_hint is literally 'spareadyrackcr' (Spanish ready-rack cruiser). Companion to ArtilleryGun state[9] (reload-per-shell) and state[10] (shells-in-rack). VERIFIED 2026-05-30. | mapped | False | 2 distinct · tracks class (r=0.67) · tracks nation (r=0.98) |
| 2 | maxDist - base firing range (m); the range the in-game 'max dispersion' stat is evaluated at | mapped | 15771 | [7730 – 18180], med 13610 · 505 distinct |
| 3 | UNKNOWN (166 on New York) - was misread as max horizontal dispersion; the real dispersion fields live on the ArtilleryGun. Needs new identification. | mapped | 148 | [3 – 174], med 68 · 111 distinct |
| 4 | UNKNOWN (450 on New York) - was misread as a vertical dispersion parameter. Needs new identification. | mapped | 577 | [6 – 703], med 402 · 280 distinct |
| 5 | game-logic constant | constant | True | const = True |
| 6 | sigma (shell grouping) | mapped | 1.95 | [1.4 – 2.4], med 2 · 17 distinct |
| 7 | taperDist - dispersion taper distance (m), 4000 on most hulls, 3500 on a few. Input to the WoWS dispersion formula. | mapped | 4000 | [3000 – 5000], med 4000 · 5 distinct · tracks caliber (r=0.57) · tracks class (r=0.78) · tracks nation (r=0.84) |
| 8 | game-logic constant | constant | const = [] | |
| 9 | game-logic constant | constant | 1 | const = 1.0 |
| 10 | game-logic constant | constant | 1 | const = 1.0 |
| 11 | game-logic constant | constant | 1 | const = 1.0 |
| 12 | game-logic constant | constant | 10 | const = 10.0 |
| 13 | game-logic constant | constant | 2 | const = 2.0 |
| 14 | game-logic constant | constant | 1 | const = 1.0 |
| 15 | game-logic constant | constant | 10 | const = 10.0 |
| 16 | game-logic constant | constant | 5 | const = 5.0 |
| 17 | game-logic constant | constant | 1 | const = 1.0 |
| 18 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 19 | game-logic constant | constant | 1 | const = 1.0 |
| 20 | per-target-class dispersion multipliers {AirCarrier:(...), Battleship:(...), Cruiser:(...), Destroyer:(...)} | mapped | → sub-entity | const = {'AirCarrier': [6.0, 6.0, 6.0], 'Battles… |
| 21 | game-logic constant | constant | 1 | const = 1.0 |
| 22 | gun mounts dict {HP_AGM_N : GameParamData wrapping ArtilleryGun} | mapped | → sub-entity | 773 distinct |
ArtilleryGun
48 slots · 18 mapped (38%) · 18 constant · 0 visual · 2 sub-entity · 10 need ID
example: ↳ B1_Artillery.state[22]['HP_GGM_4'].state[0] - ArtilleryGun
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | 2124 distinct |
| 1 | game-logic constant | constant | 4 | const = 4.0 |
| 2 | game-logic constant | constant | 3.7 | const = 3.700000047683716 |
| 3 | game-logic constant | constant | 3.5 | const = 3.5 |
| 4 | shell ID list (AP/HE/CS shell entity IDs) | mapped | PGPA102_380MM_HE_HE_L_4_6_BISMARCK, PGPA101_38… | 505 distinct |
| 5 | deadZone candidate - per-turret superstructure-blocked firing arc (degrees). 0.0 on most mounts (no dead zone) plus per-ship specific values: 150 (64 mounts), 167 (454), 173 (156), 200 (182). The non-zero values represent turret azimuths the turret cannot rotate through (typically aiming into the ship's own superstructure). PC field name 'deadZone' from mackbot data_prep.py MAIN_KEYS. | mapped | 0 | [0 – 200], med 0 · 5 distinct · tracks caliber (r=0.71) · tracks nation (r=0.66) |
| 6 | needs identifying | needs ID | 0 | [0 – 0.612], med 0 · 43 distinct · tracks caliber (r=0.71) · tracks nation (r=0.66) |
| 7 | reference to another entity | sub-entity | → sub-entity | 577 distinct |
| 8 | barrelDiameter - main battery caliber (mm). | mapped | 0.38 | [0.076 – 0.508], med 0.152 · 47 distinct |
| 9 | Ready-rack reload time per shell (seconds). 1.0 sentinel on every non-Spanish mount (no ready rack); 1.5-4.0 on the 9 Spanish ready-rack ships (Castilla 2.5, Mendez-Nunez 1.5, Numancia 4.0, Victoria 3.0, etc.). The PC field is the 'Reload time for each shell in the ready rack' label. VERIFIED 2026-05-26 via the spec reader; the extractor only emits the ready_rack block when this slot > 1.4 and state[10] > 1. | mapped | 1 | [1 – 4], med 1 · 6 distinct · tracks class (r=0.67) · tracks nation (r=0.98) |
| 10 | Shells in the ready rack (int). 1 sentinel on every non-Spanish mount (no rack); 2 or 3 on the 9 Spanish ready-rack ships (matches per-ship main_battery.ready_rack.shells_in_rack in the existing extractor). Companion to state[9] and the Artillery[1] useReadyRack flag. VERIFIED 2026-05-26. | mapped | 1 | [1 – 3], med 1 · 3 distinct · tracks class (r=0.67) · tracks nation (r=0.98) |
| 11 | game-logic constant | constant | 0.3 | const = 0.30000001192092896 |
| 12 | game-logic constant | constant | – | const = None |
| 13 | dead-mesh model path | mapped | content/gameplay/germany/gun/main/GGM059_380mm… | 486 distinct |
| 14 | needs identifying | needs ID | 130 distinct | |
| 15 | delim - dispersion vertical-taper delimiter (fraction of max range). Input to the WoWS dispersion formula. | mapped | 0.5 | [0.5 – 0.7], med 0.5 · 3 distinct · tracks caliber (r=0.57) · tracks class (r=0.78) · tracks nation (r=0.98) |
| 16 | game-logic constant | constant | 250 | const = 250.0 |
| 17 | game-logic constant | constant | 50 | const = 50.0 |
| 18 | horizontal traverse arc (degrees) | mapped | -145.0, 145.0 | 301 distinct |
| 19 | idealDistance - dispersion reference distance (typically 1000). Input to the WoWS dispersion formula. | mapped | 1000 | const = 1000.0 |
| 20 | idealRadius - horizontal dispersion coefficient (BB ~12, cruiser/DD ~8). VERIFIED 2026-05: drives the in-game dispersion formula, reproduced to within 0.1 m across 6 ships. The 'class-bound 8/10/12' value is just idealRadius scaling with ship class. | mapped | 12 | [4 – 13], med 8 · 11 distinct · tracks nation (r=0.90) |
| 21 | needs identifying | needs ID | particles/guns/GK_Lens_Big.xml | 3 distinct |
| 22 | game-logic constant | constant | 1.003 | const = 1.003000020980835 |
| 23 | game-logic constant | constant | 1.002 | const = 1.0019999742507935 |
| 24 | game-logic constant | constant | 1.001 | const = 1.0010000467300415 |
| 25 | minRadius - close-range horizontal dispersion floor (typically 2). Input to the WoWS dispersion formula. | mapped | 2.2 | [0.5 – 2.8], med 1.1 · 12 distinct · tracks class (r=0.56) · tracks nation (r=0.86) |
| 26 | needs identifying | needs ID | 564 distinct | |
| 27 | needs identifying | needs ID | False | 2 distinct · tracks caliber (r=0.57) · tracks nation (r=0.90) |
| 28 | turret model path | mapped | content/gameplay/germany/gun/main/GGM059_380mm… | 486 distinct |
| 29 | barrel count | mapped | 2 | [1 – 4], med 2 · 4 distinct |
| 30 | game-logic constant | constant | 1.001 | const = 1.0010000467300415 |
| 31 | game-logic constant | constant | 1.002 | const = 1.0019999742507935 |
| 32 | game-logic constant | constant | 1 | const = 1.0 |
| 33 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 34 | needs identifying | needs ID | 111 distinct · tracks nation (r=0.50) | |
| 35 | needs identifying | needs ID | 5.0, 1.0 | 133 distinct |
| 36 | needs identifying | needs ID | particles/guns/Purging_Big.xml | 3 distinct |
| 37 | radiusOnDelim - vertical dispersion coefficient at the delim point. | mapped | 0.5 | [0.4 – 0.6], med 0.5 · 4 distinct · tracks caliber (r=0.57) · tracks class (r=0.78) · tracks nation (r=0.96) |
| 38 | radiusOnMax - vertical dispersion coefficient at max range (= the in-game vertical/horizontal ratio at max range). | mapped | 0.6 | [0.575 – 0.95], med 0.6 · 6 distinct · tracks caliber (r=0.57) · tracks class (r=0.78) · tracks nation (r=0.96) |
| 39 | radiusOnZero - vertical dispersion coefficient at close range. | mapped | 0.2 | [0.2 – 0.25], med 0.2 · 3 distinct · tracks caliber (r=0.57) · tracks class (r=0.78) · tracks nation (r=0.96) |
| 40 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 41 | (stock_hull_dps, top_hull_dps) - turret traverse degrees/second. VERIFIED 2026-05; the in-game 'Turret traverse speed' uses [0] for stock hull, [1] for top hull. 180-degree turn time = 180 / value. | mapped | 5.0, 6.0 | 156 distinct |
| 42 | reload time (s) - VERIFIED 2026-05 against in-game stat panels across 13 ships (Bismarck 26s, Yamato 30s, Iowa 30s, New York 34.3s, Atlanta 5s, Fletcher 3s, Shimakaze 6.5s, Des Moines 6s, etc.). 180-degree turn time = 180 / state[41][hull]. | mapped | 26 | [1.7 – 37], med 9 · 105 distinct |
| 43 | needs identifying | needs ID | particles/guns/Gk_DoubleShot_400.xml | 9 distinct |
| 44 | game-logic constant | constant | – | const = None |
| 45 | game-logic constant | constant | 0.0001 | const = 9.999999747378752e-05 |
| 46 | game-logic constant | constant | – | const = None |
| 47 | needs identifying | needs ID | 0.0, 30.0 | 178 distinct |
Ammo(AP)
59 slots · 27 mapped (46%) · 21 constant · 8 visual · 0 sub-entity · 3 need ID
example: PGPA101_380MM_AP_APC_L_4_4_BISMARCK (Ammo)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | alphaDamage - maximum shell damage | mapped | 11600 | [1000 – 19500], med 4100 · 124 distinct |
| 1 | alphaPiercingCS - SAP shell penetration (mm). 0 on AP/HE shells. Verified 2026-05 in the spec reader across all 16 SAP-equipped ships: state[1]/caliber stays ~0.28 for Italian CL/DD SAP (135mm->38, 120mm->34.2) and ~0.25 for heavier Italian BB SAP (Ruggiero 457mm->114). | mapped | 0 | const = 0.0 |
| 2 | alphaPiercingHE - HE penetration (mm); 0 for AP/SAP shells | mapped | 0 | const = 0.0 |
| 3 | ammoType - shell type ('AP' / 'HE' / 'CS') | mapped | AP | const = AP |
| 4 | game-logic constant | constant | False | const = False |
| 5 | bulletAirDrag - ballistic drag coefficient | mapped | 0.2763 | [0.2 – 0.5962], med 0.3297 · 165 distinct |
| 6 | bulletAlwaysRicochetAt - guaranteed ricochet angle (deg) | mapped | 65 | [60 – 80], med 60 · 6 distinct · tracks nation (r=0.83) |
| 7 | game-logic constant | constant | 1 | const = 1.0 |
| 8 | Caliber-band coefficient on AP (10.0 DD <130mm, 8.5 CL 130-180mm, 7.0 CA 180-220mm, 6.0 large CA + BB 220mm+). On HE shells, this slot stores the HE penetration max value (caliber × 0.167 standard, × 0.25 improved). Not pen-related on AP, purely a category/visual scale. | mapped | 6 | [6 – 10], med 7 · 4 distinct · tracks caliber (r=0.50) · tracks nation (r=0.75) |
| 9 | bulletDetonator - AP fuse timer (s) | mapped | 0.033 | [0.004 – 0.033], med 0.025 · 8 distinct · tracks nation (r=0.58) |
| 10 | game-logic constant | constant | 0 | const = 0.0 |
| 11 | bulletDetonatorThreshold - AP fuse arming threshold (mm) | mapped | 63 | [12 – 85], med 30 · 35 distinct |
| 12 | bulletDiametr - caliber (metres; *1000 => mm) | mapped | 0.38 | [0.076 – 0.508], med 0.18 · 43 distinct |
| 13 | bulletKrupp - AP penetration Krupp coefficient | mapped | 2550 | [1373 – 3000], med 2400 · 130 distinct |
| 14 | bulletMass - shell mass (kg) | mapped | 800 | [5.9 – 2053], med 97.5 · 148 distinct |
| 15 | game-logic constant | constant | 0 | const = 0.0 |
| 16 | bulletRicochetAt - minimum ricochet angle (deg) | mapped | 45 | [45 – 91], med 45 · 6 distinct · tracks nation (r=0.88) |
| 17 | bulletSpeed - muzzle velocity (m/s) | mapped | 820 | [660 – 1000], med 831 · 80 distinct |
| 18 | game-logic constant | constant | 0.8 | const = 0.800000011920929 |
| 19 | AP fuse special-behavior multiplier. 0.6 ONLY on Japanese cruiser AP shells (Mogami/Atago/Aoba/Myoko/Ibuki/Zao tech-tree line + IJN cruiser premiums Yahagi/Agano/E-Dragon/S-Dragon/Desert-Falcon). Default 0.9 on every other ship. Matches WoWs PC 'IJN cruiser improved AP' feature. | mapped | 0.9 | [0.6 – 0.9], med 0.9 · 2 distinct · tracks caliber (r=0.67) · tracks class (r=0.67) · tracks nation (r=0.96) |
| 20 | game-logic constant | constant | 10 | const = 10.0 |
| 21 | burnProb - fire chance (fraction); negative on AP | mapped | -0.5 | const = -0.5 |
| 22 | AP shell AOE/splash radius (scales with shell mass). Wickes 102mm 15kg → 3; Yamato 460mm 1460kg → 400; Incomparable → 550 (cohort max). Affects overpenetration splash damage radius. On SAP (CS) shells the SAME slot is the SAP fragment/splash radius: scales with mass (90mm → 5, 203mm → 20-30, 320mm 485kg → 175, 406mm → 250, 457mm 1814kg → 400) but is ALSO a per-ship balance lever (135mm 32.7kg → 5/12/16/24 across Andrea Doria / Paolo Emilio / F. Gonzaga / R. Lauria). 0 on HE. Verified 2026-06-27 across all 54 SAP shells. | mapped | 120 | [0 – 550], med 20 · 44 distinct |
| 23 | asset / particle path | visual | particles/trails/Trail_smoke_commander_R.dds | const = particles/trails/Trail_smoke_commander_R… |
| 24 | game-logic constant | constant | const = | |
| 25 | game-logic constant | constant | 0 | const = 0.0 |
| 26 | game-logic constant | constant | 0 | const = 0.0 |
| 27 | game-logic constant | constant | const = | |
| 28 | needs identifying | needs ID | particles/onGroundExplosion360mm.xml | 3 distinct |
| 29 | asset / particle path | visual | particles/trails/Trail_Shell_Hat_Enemy.dds | const = particles/trails/Trail_Shell_Hat_Enemy.d… |
| 30 | Sub-classifier within state[8] bucket. 10 distinct values 0.20-0.53 across catalog. Joint distribution with state[8] suggests particle/visual-effect tuning, not gameplay. | mapped | 0.53 | [0.2 – 0.53], med 0.33 · 10 distinct |
| 31 | asset / particle path | visual | particles/trails/Trail_Shell_Hat.dds | const = particles/trails/Trail_Shell_Hat.dds |
| 32 | game-logic constant | constant | const = | |
| 33 | asset / particle path | visual | particles/trails/Trail_Gk.dds | const = particles/trails/Trail_Gk.dds |
| 34 | needs identifying | needs ID | particles/Explosion_360_AP_Void.xml | 3 distinct |
| 35 | Shell-effect category (3 values). 10.0 on most ships; 2.5 on a subset; 2.3 ONLY on Japanese BB AP (Amagi/Ashitaka/Daisen/Dewa/Hizen). Likely audio/visual cue per shell family. | mapped | 10 | [2.3 – 10], med 10 · 3 distinct · tracks caliber (r=0.50) · tracks class (r=0.56) · tracks nation (r=0.75) |
| 36 | HE-shell / HE-bomb category coefficient. On Ammo(HE): 3.5 on 505 standard ship-fired HE shells (every class with HE), 3.4 on 74 BB-caliber HE shells (343-431mm guns - Bismarck, Alabama, Queen Elizabeth, Borodino, etc.), 1.05 on 35 air-dropped HE bombs (CV/hybrid-CV payloads). On Ammo(CS): 3.0/2.05/1.6. On Ammo(AP): always constant 3.0. VERIFIED 2026-05-30. | mapped | 2.72 | const = 2.7200000286102295 |
| 37 | Air-drop-vs-ship-fire partition (HE). 0.11 on 579 ship-fired HE shells; 0.06 on 35 air-dropped HE bombs. | mapped | 0.1 | const = 0.10000000149011612 |
| 38 | game-logic constant | constant | 1 | const = 1.0 |
| 39 | asset / particle path | visual | particles/onWaterExplosion127mm.xml | const = particles/onWaterExplosion127mm.xml |
| 40 | asset / particle path | visual | GameLogic.Shot.GK.IncomingShell | const = GameLogic.Shot.GK.IncomingShell |
| 41 | Air-drop-vs-ship-fire partition (HE). 70 on 721 ship-fired HE shells; 20 on 395 air-dropped HE bombs / fighter ammo. Bundled with state[44/49/50/52] - all flip together between ship-fired and air-dropped HE. | mapped | 70 | const = 70.0 |
| 42 | HE-shell-size category. 0.37 on 204 small-caliber HE (76-152mm DD/CL shells); 0.80 on 375 larger-caliber HE (100-508mm CL/CA/BB shells); 0.65 on 35 air-dropped HE bombs. Caliber-band tiered scalar, partition matches main-battery caliber. | mapped | 0.37 | const = 0.3700000047683716 |
| 43 | asset / particle path | visual | particles/trails/Trail_smoke.dds | const = particles/trails/Trail_smoke.dds |
| 44 | Air-drop-vs-ship-fire partition (HE). 0.2 on ship-fired HE; 0.1 on air-dropped HE. | mapped | 0.2 | const = 0.20000000298023224 |
| 45 | game-logic constant | constant | 22 | const = 22.0 |
| 46 | game-logic constant | constant | 0 | const = 0.0 |
| 47 | game-logic constant | constant | 0 | const = 0.0 |
| 48 | game-logic constant | constant | const = | |
| 49 | Air-drop-vs-ship-fire partition (HE). 75 on ship-fired HE; 22 on air-dropped HE. | mapped | 75 | const = 75.0 |
| 50 | Air-drop-vs-ship-fire partition (HE). 1.0 on ship-fired HE; 0.8 on air-dropped HE. | mapped | 1 | const = 1.0 |
| 51 | asset / particle path | visual | particles/trails/Trail_Gk_Enemy.dds | const = particles/trails/Trail_Gk_Enemy.dds |
| 52 | Air-drop-vs-ship-fire partition (HE). 0.11 on ship-fired HE; 0.035 on air-dropped HE. | mapped | 0.088 | const = 0.08799999952316284 |
| 53 | game-logic constant | constant | False | const = False |
| 54 | game-logic constant | constant | False | const = False |
| 55 | game-logic constant | constant | 0 | const = 0.0 |
| 56 | game-logic constant | constant | 0 | const = 0.0 |
| 57 | needs identifying | needs ID | particles/onWaterExplosion360mm.xml | 3 distinct |
| 58 | game-logic constant | constant | 2.0, 6.0 | const = [2.0, 6.0] |
Ammo(HE)
59 slots · 27 mapped (46%) · 17 constant · 3 visual · 0 sub-entity · 12 need ID
example: PGPA102_380MM_HE_HE_L_4_6_BISMARCK (Ammo)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | alphaDamage - maximum shell damage | mapped | 4400 | [800 – 8200], med 1900 · 94 distinct |
| 1 | alphaPiercingCS - SAP shell penetration (mm). 0 on AP/HE shells. Verified 2026-05 in the spec reader across all 16 SAP-equipped ships: state[1]/caliber stays ~0.28 for Italian CL/DD SAP (135mm->38, 120mm->34.2) and ~0.25 for heavier Italian BB SAP (Ruggiero 457mm->114). | mapped | 0 | const = 0.0 |
| 2 | alphaPiercingHE - HE penetration (mm); 0 for AP/SAP shells | mapped | 95 | [13 – 115], med 23 · 51 distinct |
| 3 | ammoType - shell type ('AP' / 'HE' / 'CS') | mapped | HE | const = HE |
| 4 | game-logic constant | constant | False | const = False |
| 5 | bulletAirDrag - ballistic drag coefficient | mapped | 0.2763 | [0.21 – 0.6898], med 0.331 · 188 distinct |
| 6 | bulletAlwaysRicochetAt - guaranteed ricochet angle (deg) | mapped | 60 | const = 60.0 |
| 7 | game-logic constant | constant | 1 | const = 1.0 |
| 8 | Caliber-band coefficient on AP (10.0 DD <130mm, 8.5 CL 130-180mm, 7.0 CA 180-220mm, 6.0 large CA + BB 220mm+). On HE shells, this slot stores the HE penetration max value (caliber × 0.167 standard, × 0.25 improved). Not pen-related on AP, purely a category/visual scale. | mapped | 45 | [8 – 68], med 68 · 3 distinct |
| 9 | bulletDetonator - AP fuse timer (s) | mapped | 0.03 | [0.001 – 0.03], med 0.001 · 3 distinct · tracks caliber (r=0.57) · tracks nation (r=0.62) |
| 10 | game-logic constant | constant | 0 | const = 0.0 |
| 11 | bulletDetonatorThreshold - AP fuse arming threshold (mm) | mapped | 2 | const = 2.0 |
| 12 | bulletDiametr - caliber (metres; *1000 => mm) | mapped | 0.381 | [0.075 – 0.508], med 0.13 · 52 distinct |
| 13 | bulletKrupp - AP penetration Krupp coefficient | mapped | 32 | [1 – 1350], med 250 · 31 distinct |
| 14 | bulletMass - shell mass (kg) | mapped | 800 | [4.91 – 2053], med 33.4 · 150 distinct |
| 15 | game-logic constant | constant | 0 | const = 0.0 |
| 16 | bulletRicochetAt - minimum ricochet angle (deg) | mapped | 45 | [45 – 91], med 91 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.77) · tracks nation (r=0.91) |
| 17 | bulletSpeed - muzzle velocity (m/s) | mapped | 820 | [657 – 1000], med 840 · 85 distinct |
| 18 | game-logic constant | constant | 0.8 | const = 0.800000011920929 |
| 19 | AP fuse special-behavior multiplier. 0.6 ONLY on Japanese cruiser AP shells (Mogami/Atago/Aoba/Myoko/Ibuki/Zao tech-tree line + IJN cruiser premiums Yahagi/Agano/E-Dragon/S-Dragon/Desert-Falcon). Default 0.9 on every other ship. Matches WoWs PC 'IJN cruiser improved AP' feature. | mapped | 0.9 | const = 0.8999999761581421 |
| 20 | game-logic constant | constant | 10 | const = 10.0 |
| 21 | burnProb - fire chance (fraction); negative on AP | mapped | 0.34 | [0.04 – 0.63], med 0.08 · 47 distinct |
| 22 | AP shell AOE/splash radius (scales with shell mass). Wickes 102mm 15kg → 3; Yamato 460mm 1460kg → 400; Incomparable → 550 (cohort max). Affects overpenetration splash damage radius. On SAP (CS) shells the SAME slot is the SAP fragment/splash radius: scales with mass (90mm → 5, 203mm → 20-30, 320mm 485kg → 175, 406mm → 250, 457mm 1814kg → 400) but is ALSO a per-ship balance lever (135mm 32.7kg → 5/12/16/24 across Andrea Doria / Paolo Emilio / F. Gonzaga / R. Lauria). 0 on HE. Verified 2026-06-27 across all 54 SAP shells. | mapped | 120 | [0 – 550], med 10 · 43 distinct |
| 23 | needs identifying | needs ID | particles/trails/Trail_smoke_commander_R.dds | 2 distinct |
| 24 | game-logic constant | constant | const = | |
| 25 | needs identifying | needs ID | 4230 | [150 – 9230], med 560 · 127 distinct |
| 26 | game-logic constant | constant | 0 | const = 0.0 |
| 27 | game-logic constant | constant | const = | |
| 28 | needs identifying | needs ID | particles/onGroundExplosion360mm.xml | 3 distinct |
| 29 | needs identifying | needs ID | particles/trails/Trail_Shell_Hat_HE_Enemy.dds | 2 distinct |
| 30 | Sub-classifier within state[8] bucket. 10 distinct values 0.20-0.53 across catalog. Joint distribution with state[8] suggests particle/visual-effect tuning, not gameplay. | mapped | 0.56 | [0.2 – 0.56], med 0.27 · 11 distinct |
| 31 | needs identifying | needs ID | particles/trails/Trail_Shell_Hat_HE.dds | 2 distinct |
| 32 | game-logic constant | constant | const = | |
| 33 | needs identifying | needs ID | particles/trails/Trail_Gk_HE.dds | 2 distinct |
| 34 | needs identifying | needs ID | particles/Explosion_360_HE_Void.xml | 3 distinct |
| 35 | Shell-effect category (3 values). 10.0 on most ships; 2.5 on a subset; 2.3 ONLY on Japanese BB AP (Amagi/Ashitaka/Daisen/Dewa/Hizen). Likely audio/visual cue per shell family. | mapped | 10 | [2.3 – 10], med 10 · 3 distinct |
| 36 | HE-shell / HE-bomb category coefficient. On Ammo(HE): 3.5 on 505 standard ship-fired HE shells (every class with HE), 3.4 on 74 BB-caliber HE shells (343-431mm guns - Bismarck, Alabama, Queen Elizabeth, Borodino, etc.), 1.05 on 35 air-dropped HE bombs (CV/hybrid-CV payloads). On Ammo(CS): 3.0/2.05/1.6. On Ammo(AP): always constant 3.0. VERIFIED 2026-05-30. | mapped | 3.4 | [1.05 – 3.5], med 3.5 · 3 distinct |
| 37 | Air-drop-vs-ship-fire partition (HE). 0.11 on 579 ship-fired HE shells; 0.06 on 35 air-dropped HE bombs. | mapped | 0.11 | [0.06 – 0.11], med 0.11 · 2 distinct |
| 38 | game-logic constant | constant | 1 | const = 1.0 |
| 39 | asset / particle path | visual | particles/onWaterExplosion127mm.xml | const = particles/onWaterExplosion127mm.xml |
| 40 | asset / particle path | visual | GameLogic.Shot.GK.IncomingShell | const = GameLogic.Shot.GK.IncomingShell |
| 41 | Air-drop-vs-ship-fire partition (HE). 70 on 721 ship-fired HE shells; 20 on 395 air-dropped HE bombs / fighter ammo. Bundled with state[44/49/50/52] - all flip together between ship-fired and air-dropped HE. | mapped | 70 | [20 – 70], med 70 · 2 distinct |
| 42 | HE-shell-size category. 0.37 on 204 small-caliber HE (76-152mm DD/CL shells); 0.80 on 375 larger-caliber HE (100-508mm CL/CA/BB shells); 0.65 on 35 air-dropped HE bombs. Caliber-band tiered scalar, partition matches main-battery caliber. | mapped | 0.8 | [0.37 – 0.8], med 0.65 · 3 distinct |
| 43 | asset / particle path | visual | particles/trails/Trail_smoke.dds | const = particles/trails/Trail_smoke.dds |
| 44 | Air-drop-vs-ship-fire partition (HE). 0.2 on ship-fired HE; 0.1 on air-dropped HE. | mapped | 0.2 | [0.1 – 0.2], med 0.2 · 2 distinct |
| 45 | game-logic constant | constant | 22 | const = 22.0 |
| 46 | needs identifying | needs ID | -0.12 | [-0.4 – 0], med -0.245 · 26 distinct |
| 47 | needs identifying | needs ID | 2.26 | [0.18 – 3.56], med 0.46 · 101 distinct |
| 48 | game-logic constant | constant | const = | |
| 49 | Air-drop-vs-ship-fire partition (HE). 75 on ship-fired HE; 22 on air-dropped HE. | mapped | 75 | [22 – 75], med 75 · 2 distinct |
| 50 | Air-drop-vs-ship-fire partition (HE). 1.0 on ship-fired HE; 0.8 on air-dropped HE. | mapped | 1 | [0.8 – 1], med 1 · 2 distinct |
| 51 | needs identifying | needs ID | particles/trails/Trail_Gk_HE_Enemy.dds | 2 distinct |
| 52 | Air-drop-vs-ship-fire partition (HE). 0.11 on ship-fired HE; 0.035 on air-dropped HE. | mapped | 0.11 | [0.035 – 0.11], med 0.11 · 2 distinct |
| 53 | game-logic constant | constant | False | const = False |
| 54 | game-logic constant | constant | False | const = False |
| 55 | game-logic constant | constant | 0 | const = 0.0 |
| 56 | needs identifying | needs ID | 5.82 | [0.23 – 10.46], med 0.81 · 128 distinct |
| 57 | needs identifying | needs ID | particles/onWaterExplosion360mm.xml | 3 distinct |
| 58 | game-logic constant | constant | 2.0, 6.0 | const = [2.0, 6.0] |
Ammo(CS) 59 slots · 27 mapped (46%) · 20 constant · 10 visual · 0 sub-entity · 2 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | alphaDamage - maximum shell damage | mapped | – | [1900 – 16600], med 3050 · 21 distinct |
| 1 | alphaPiercingCS - SAP shell penetration (mm). 0 on AP/HE shells. Verified 2026-05 in the spec reader across all 16 SAP-equipped ships: state[1]/caliber stays ~0.28 for Italian CL/DD SAP (135mm->38, 120mm->34.2) and ~0.25 for heavier Italian BB SAP (Ruggiero 457mm->114). | mapped | – | [26 – 114], med 38 · 12 distinct |
| 2 | alphaPiercingHE - HE penetration (mm); 0 for AP/SAP shells | mapped | 0 | const = 0.0 |
| 3 | ammoType - shell type ('AP' / 'HE' / 'CS') | mapped | CS | const = CS |
| 4 | game-logic constant | constant | False | const = False |
| 5 | bulletAirDrag - ballistic drag coefficient | mapped | – | [0.2 – 0.414], med 0.3246 · 17 distinct |
| 6 | bulletAlwaysRicochetAt - guaranteed ricochet angle (deg) | mapped | – | [75 – 90], med 80 · 4 distinct · tracks class (r=0.67) · tracks nation (r=0.75) |
| 7 | game-logic constant | constant | 1 | const = 1.0 |
| 8 | Caliber-band coefficient on AP (10.0 DD <130mm, 8.5 CL 130-180mm, 7.0 CA 180-220mm, 6.0 large CA + BB 220mm+). On HE shells, this slot stores the HE penetration max value (caliber × 0.167 standard, × 0.25 improved). Not pen-related on AP, purely a category/visual scale. | mapped | 45 | const = 45.0 |
| 9 | bulletDetonator - AP fuse timer (s) | mapped | 0.03 | const = 0.029999999329447746 |
| 10 | game-logic constant | constant | 0 | const = 0.0 |
| 11 | bulletDetonatorThreshold - AP fuse arming threshold (mm) | mapped | 25 | const = 25.0 |
| 12 | bulletDiametr - caliber (metres; *1000 => mm) | mapped | – | [0.09 – 0.457], med 0.135 · 11 distinct |
| 13 | bulletKrupp - AP penetration Krupp coefficient | mapped | 3 | const = 3.0 |
| 14 | bulletMass - shell mass (kg) | mapped | – | [10.1 – 1814], med 32.7 · 16 distinct |
| 15 | game-logic constant | constant | 0 | const = 0.0 |
| 16 | bulletRicochetAt - minimum ricochet angle (deg) | mapped | – | [60 – 80], med 70 · 3 distinct · tracks class (r=0.67) · tracks nation (r=0.75) |
| 17 | bulletSpeed - muzzle velocity (m/s) | mapped | – | [700 – 995], med 875 · 17 distinct |
| 18 | game-logic constant | constant | 0.8 | const = 0.800000011920929 |
| 19 | AP fuse special-behavior multiplier. 0.6 ONLY on Japanese cruiser AP shells (Mogami/Atago/Aoba/Myoko/Ibuki/Zao tech-tree line + IJN cruiser premiums Yahagi/Agano/E-Dragon/S-Dragon/Desert-Falcon). Default 0.9 on every other ship. Matches WoWs PC 'IJN cruiser improved AP' feature. | mapped | 0.9 | const = 0.8999999761581421 |
| 20 | game-logic constant | constant | 10 | const = 10.0 |
| 21 | burnProb - fire chance (fraction); negative on AP | mapped | -0.5 | const = -0.5 |
| 22 | AP shell AOE/splash radius (scales with shell mass). Wickes 102mm 15kg → 3; Yamato 460mm 1460kg → 400; Incomparable → 550 (cohort max). Affects overpenetration splash damage radius. On SAP (CS) shells the SAME slot is the SAP fragment/splash radius: scales with mass (90mm → 5, 203mm → 20-30, 320mm 485kg → 175, 406mm → 250, 457mm 1814kg → 400) but is ALSO a per-ship balance lever (135mm 32.7kg → 5/12/16/24 across Andrea Doria / Paolo Emilio / F. Gonzaga / R. Lauria). 0 on HE. Verified 2026-06-27 across all 54 SAP shells. | mapped | – | [3 – 400], med 9 · 13 distinct |
| 23 | asset / particle path | visual | particles/trails/Trail_smoke_commander_R.dds | const = particles/trails/Trail_smoke_commander_R… |
| 24 | game-logic constant | constant | const = | |
| 25 | game-logic constant | constant | 0 | const = 0.0 |
| 26 | game-logic constant | constant | 0 | const = 0.0 |
| 27 | game-logic constant | constant | const = | |
| 28 | asset / particle path | visual | particles/onGroundExplosion127mm.xml | const = particles/onGroundExplosion127mm.xml |
| 29 | asset / particle path | visual | particles/trails/Trail_Shell_Hat_CS_Enemy.dds | const = particles/trails/Trail_Shell_Hat_CS_Enem… |
| 30 | Sub-classifier within state[8] bucket. 10 distinct values 0.20-0.53 across catalog. Joint distribution with state[8] suggests particle/visual-effect tuning, not gameplay. | mapped | – | [0.23 – 0.4], med 0.3 · 4 distinct |
| 31 | asset / particle path | visual | particles/trails/Trail_Shell_Hat_CS.dds | const = particles/trails/Trail_Shell_Hat_CS.dds |
| 32 | game-logic constant | constant | const = | |
| 33 | asset / particle path | visual | particles/trails/Trail_Gk_CS.dds | const = particles/trails/Trail_Gk_CS.dds |
| 34 | asset / particle path | visual | particles/Explosion_127_AP_void.xml | const = particles/Explosion_127_AP_void.xml |
| 35 | Shell-effect category (3 values). 10.0 on most ships; 2.5 on a subset; 2.3 ONLY on Japanese BB AP (Amagi/Ashitaka/Daisen/Dewa/Hizen). Likely audio/visual cue per shell family. | mapped | – | [3.4 – 10], med 3.4 · 2 distinct |
| 36 | HE-shell / HE-bomb category coefficient. On Ammo(HE): 3.5 on 505 standard ship-fired HE shells (every class with HE), 3.4 on 74 BB-caliber HE shells (343-431mm guns - Bismarck, Alabama, Queen Elizabeth, Borodino, etc.), 1.05 on 35 air-dropped HE bombs (CV/hybrid-CV payloads). On Ammo(CS): 3.0/2.05/1.6. On Ammo(AP): always constant 3.0. VERIFIED 2026-05-30. | mapped | – | [1.6 – 3], med 3 · 3 distinct · tracks nation (r=0.50) |
| 37 | Air-drop-vs-ship-fire partition (HE). 0.11 on 579 ship-fired HE shells; 0.06 on 35 air-dropped HE bombs. | mapped | – | [0.06 – 0.11], med 0.06 · 3 distinct · tracks caliber (r=0.71) · tracks class (r=0.50) |
| 38 | game-logic constant | constant | 1 | const = 1.0 |
| 39 | asset / particle path | visual | particles/onWaterExplosion127mm.xml | const = particles/onWaterExplosion127mm.xml |
| 40 | asset / particle path | visual | GameLogic.Shot.GK.IncomingShell | const = GameLogic.Shot.GK.IncomingShell |
| 41 | Air-drop-vs-ship-fire partition (HE). 70 on 721 ship-fired HE shells; 20 on 395 air-dropped HE bombs / fighter ammo. Bundled with state[44/49/50/52] - all flip together between ship-fired and air-dropped HE. | mapped | – | [45 – 70], med 45 · 2 distinct |
| 42 | HE-shell-size category. 0.37 on 204 small-caliber HE (76-152mm DD/CL shells); 0.80 on 375 larger-caliber HE (100-508mm CL/CA/BB shells); 0.65 on 35 air-dropped HE bombs. Caliber-band tiered scalar, partition matches main-battery caliber. | mapped | – | [0.37 – 0.8], med 0.72 · 3 distinct |
| 43 | needs identifying | needs ID | – | 2 distinct |
| 44 | Air-drop-vs-ship-fire partition (HE). 0.2 on ship-fired HE; 0.1 on air-dropped HE. | mapped | – | [0.15 – 0.2], med 0.15 · 2 distinct |
| 45 | needs identifying | needs ID | – | [2 – 22], med 22 · 2 distinct · tracks class (r=0.67) · tracks nation (r=0.50) |
| 46 | game-logic constant | constant | 0 | const = 0.0 |
| 47 | game-logic constant | constant | 0 | const = 0.0 |
| 48 | game-logic constant | constant | const = | |
| 49 | Air-drop-vs-ship-fire partition (HE). 75 on ship-fired HE; 22 on air-dropped HE. | mapped | – | [48 – 75], med 48 · 2 distinct |
| 50 | Air-drop-vs-ship-fire partition (HE). 1.0 on ship-fired HE; 0.8 on air-dropped HE. | mapped | – | [0.9 – 1], med 0.9 · 2 distinct |
| 51 | asset / particle path | visual | particles/trails/Trail_Gk_CS_Enemy.dds | const = particles/trails/Trail_Gk_CS_Enemy.dds |
| 52 | Air-drop-vs-ship-fire partition (HE). 0.11 on ship-fired HE; 0.035 on air-dropped HE. | mapped | – | [0.077 – 0.097], med 0.097 · 2 distinct · tracks nation (r=0.50) |
| 53 | game-logic constant | constant | False | const = False |
| 54 | game-logic constant | constant | False | const = False |
| 55 | game-logic constant | constant | 0 | const = 0.0 |
| 56 | game-logic constant | constant | 0 | const = 0.0 |
| 57 | asset / particle path | visual | particles/onWaterExplosion127mm.xml | const = particles/onWaterExplosion127mm.xml |
| 58 | game-logic constant | constant | 2.0, 6.0 | const = [2.0, 6.0] |
Secondary battery
ATBA
19 slots · 4 mapped (21%) · 14 constant · 0 visual · 0 sub-entity · 1 need ID
example: Module A_ATBA (ATBA)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | secondary battery range (m) | mapped | 7500 | [2000 – 8000], med 5000 · 27 distinct |
| 1 | secondary dispersion (m) - candidate | mapped | 172 | [3 – 178], med 134 · 94 distinct |
| 2 | needs identifying | needs ID | 602 | [6 – 703], med 478 · 171 distinct |
| 3 | game-logic constant | constant | 1 | const = 1.0 |
| 4 | game-logic constant | constant | 0 | const = 0.0 |
| 5 | game-logic constant | constant | 1 | const = 1.0 |
| 6 | game-logic constant | constant | 1 | const = 1.0 |
| 7 | game-logic constant | constant | 1 | const = 1.0 |
| 8 | game-logic constant | constant | 10 | const = 10.0 |
| 9 | game-logic constant | constant | 2 | const = 2.0 |
| 10 | game-logic constant | constant | 1 | const = 1.0 |
| 11 | game-logic constant | constant | 10 | const = 10.0 |
| 12 | game-logic constant | constant | 5 | const = 5.0 |
| 13 | game-logic constant | constant | 1 | const = 1.0 |
| 14 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 15 | game-logic constant | constant | 1 | const = 1.0 |
| 16 | per-target-class secondary dispersion multipliers | mapped | → sub-entity | const = {'AirCarrier': [1.0, 1.0, 1.0], 'Battles… |
| 17 | game-logic constant | constant | 1 | const = 1.0 |
| 18 | ATBA mount dict {HP_AGS_N : GameParamData wrapping ATBAGun} | mapped | → sub-entity | 434 distinct |
ATBAGun
33 slots · 13 mapped (39%) · 9 constant · 0 visual · 2 sub-entity · 9 need ID
example: ↳ A_ATBA.state[18]['HP_GGS_5'].state[0] - ATBAGun
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | 260 distinct |
| 1 | barrel or salvo count candidate | mapped | 3 | const = 3.0 |
| 2 | shell ID list | mapped | PGPA003_150mm_HE_HE_N_F | 112 distinct |
| 3 | needs identifying | needs ID | 0 | [-1 – 190], med 133 · 11 distinct |
| 4 | needs identifying | needs ID | 0 | [-1 – 0.279], med 0.073 · 58 distinct |
| 5 | reference to another entity | sub-entity | → sub-entity | 53 distinct |
| 6 | barrelDiameter - caliber (metres; *1000 => mm). PC-aligned 2026-05. | mapped | 0.15 | [0.075 – 0.234], med 0.127 · 25 distinct |
| 7 | game-logic constant | constant | 0 | const = 0 |
| 8 | game-logic constant | constant | – | const = None |
| 9 | dead-mesh model | mapped | content/gameplay/germany/gun/secondary/GGS002_… | 188 distinct |
| 10 | needs identifying | needs ID | – | 111 distinct |
| 11 | Mount rotation/timing tier coefficient. 0.6 on standard ATBA mounts (8926 mounts); 0.5 on the 70 outlier mounts that belong to Graf Zeppelin + Arkansas-FE (CV-style secondary mounts). Bundled with state[13/16/25] - all four switch together. NOT the secondary radiusOnMax/vertical-dispersion coefficient (ruled out 2026-06-23: independent of state[14] dispersion, and secondaries are circles in-game (V = H on Bismarck/Massachusetts/Tallinn/Scharnhorst/Agincourt) - secondary dispersion has no V/H ratio because there is no ellipse. | mapped | 0.6 | [0.5 – 0.6], med 0.6 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.82) · tracks nation (r=0.97) |
| 12 | horizSector - horizontal traverse arc (degrees) | mapped | -165.0, 0.0 | 695 distinct |
| 13 | Mount rotation/timing tier coefficient. 333.33 on standard mounts; 1000.0 on Graf Zeppelin / Arkansas-FE outlier mounts. 333.33 = 1000/3 - mathematical pair with the alternate value. | mapped | 333.333 | [333.333 – 1000], med 333.333 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.82) · tracks nation (r=0.97) |
| 14 | needs identifying | needs ID | 20 | [8 – 20], med 20 · 9 distinct · tracks nation (r=0.70) |
| 15 | game-logic constant | constant | const = | |
| 16 | Mount rotation/timing tier coefficient. 1.0 on standard mounts; 1.6 on Graf Zeppelin / Arkansas-FE outlier mounts. | mapped | 1 | [1 – 1.6], med 1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.82) · tracks nation (r=0.97) |
| 17 | needs identifying | needs ID | 64 distinct · tracks nation (r=0.57) | |
| 18 | game-logic constant | constant | False | const = False |
| 19 | mount model path | mapped | content/gameplay/germany/gun/secondary/GGS002_… | 188 distinct |
| 20 | needs identifying | needs ID | 2 | [1 – 4], med 2 · 4 distinct |
| 21 | needs identifying | needs ID | 56 distinct · tracks class (r=0.55) · tracks nation (r=0.85) | |
| 22 | needs identifying | needs ID | 2 distinct | |
| 23 | game-logic constant | constant | 0.8 | const = 0.800000011920929 |
| 24 | game-logic constant | constant | 1 | const = 1.0 |
| 25 | Mount rotation/timing tier coefficient. 0.1 on standard mounts; 0.4 on Graf Zeppelin / Arkansas-FE outlier mounts. | mapped | 0.1 | [0.1 – 0.4], med 0.1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.82) · tracks nation (r=0.97) |
| 26 | rotationSpeed - (horizontal, vertical) traverse speed deg/s. PC-aligned 2026-05. | mapped | 60.0, 1.0 | 5 distinct · tracks class (r=0.64) · tracks nation (r=0.85) |
| 27 | shotDelay - secondary reload (s). PC-aligned 2026-05. | mapped | 7.5 | [2 – 15], med 5.5 · 40 distinct |
| 28 | needs identifying | needs ID | particles/guns/Gk_OwnShot_100.xml | 6 distinct |
| 29 | game-logic constant | constant | True | const = True |
| 30 | game-logic constant | constant | 0.0001 | const = 9.999999747378752e-05 |
| 31 | game-logic constant | constant | – | const = None |
| 32 | vertSector - vertical aiming arc (degrees). PC-aligned 2026-05. | mapped | -1.0, 40.0 | 69 distinct |
Torpedoes
Torpedoes 2 slots · 0 mapped (0%) · 0 constant · 0 visual · 1 sub-entity · 1 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | – | 2 distinct · tracks nation (r=0.97) |
| 1 | reference to another entity | sub-entity | → sub-entity | 497 distinct |
Torpedo 49 slots · 14 mapped (29%) · 16 constant · 7 visual · 0 sub-entity · 12 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | game-logic constant | constant | const = [] | |
| 1 | Constant 100.0 across every torpedo projectile (kept for parity with the PC projectile schema). | mapped | 100 | const = 100.0 |
| 2 | Raw damage parameter (PC `alphaDamage` candidate). Reliable ratio ~2.78x the displayed torpedo damage on every sampled ship (Shima 66800/23767=2.81, Halland 30870/11290=2.73, Khaba 54900/19500=2.81, Fubuki 44900/16267=2.76, Fletcher 46600/16633=2.80, Shenyang 33000/12000=2.75, Le-Hardi 36000/13100=2.75, Duchaffault 35000/12667=2.76). Display damage = state[2] / ~2.78 (or display_damage is the balance-adjusted value derived from a PC raw alphaDamage that uses different units). | mapped | – | [15100 – 83600], med 40200 · 83 distinct |
| 3 | Constant 1000.0 across every torpedo projectile. | mapped | 1000 | const = 1000.0 |
| 4 | game-logic constant | constant | torpedo | const = torpedo |
| 5 | Constant 1.0 across every ship-launched torpedo projectile in the catalog. the spec reader:454 labels this as `armingTime` based on a Zuiho/Hakuryu reading, but those values are on a DIFFERENT entity (Plane / DiveBomber carrying an airstrike-torpedo payload); the Torpedo class itself reads 1.0 everywhere. Likely the 1.0 is a multiplier/sentinel. | mapped | 1 | const = 1.0 |
| 6 | game-logic constant | constant | False | const = False |
| 7 | Torpedo diameter (m; *1000 => mm). 533mm most common (USN Mk15/Mk16, IJN Type 8, RN Mk IX, etc.); 610mm IJN long-lance line; 550mm French; 450mm older or interwar; plus a handful of one-off calibers. VERIFIED 2026-05-30. | mapped | – | [0.3 – 0.7], med 0.533 · 10 distinct · tracks nation (r=0.74) |
| 8 | needs identifying | needs ID | – | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.78) · tracks nation (r=0.97) |
| 9 | game-logic constant | constant | 0 | const = 0.0 |
| 10 | Arming distance candidate (metres). 2026-05-28 by the spec reader:446 with the examples: 50 (Mk-11 short fuse), 200 (IJN Type 90), 250 (German G7a), 400 (RN Plymouth super-deep). HOWEVER the in-game spec-card 'Torp Arming (m)' value does NOT match state[10] directly: Halland state[10]=400 but in-game arming=261m, Castilla state[10]=300 but in-game=196m. The displayed value is per-ship 5.9-6.5s of travel at base torp speed; state[10] likely represents a related but distinct fuse parameter (max-effective arming distance, or arming-distance-at-PC-reference-speed). Needs reconciliation against per-tier captures. | mapped | – | [0 – 600], med 200 · 22 distinct |
| 11 | game-logic constant | constant | const = | |
| 12 | Torpedo AoE / splash damage addend. 2026-05-28 by the spec reader:462 against WG patch notes (Hakuryu 'Torpedo AoE damage' bump 1000 -> 1100 matches state[12] value). | mapped | – | [500 – 10000], med 1000 · 14 distinct |
| 13 | needs identifying | needs ID | – | [0.14 – 0.41], med 0.14 · 8 distinct · tracks caliber (r=0.57) · tracks nation (r=0.91) |
| 14 | game-logic constant | constant | 0 | const = 0.0 |
| 15 | asset / particle path | visual | particles/airplanes/Air_torpedo_ground_1.xml | const = particles/airplanes/Air_torpedo_ground_1… |
| 16 | game-logic constant | constant | 20 | const = 20.0 |
| 17 | game-logic constant | constant | 20 | const = 20.0 |
| 18 | game-logic constant | constant | 1 | const = 1.0 |
| 19 | asset / particle path | visual | particles/airplanes/Air_state_3_fire.xml | const = particles/airplanes/Air_state_3_fire.xml |
| 20 | asset / particle path | visual | particles/onGroundExplosionTorpedo.xml | const = particles/onGroundExplosionTorpedo.xml |
| 21 | game-logic constant | constant | 0 | const = 0.0 |
| 22 | ignoreClasses - target classes the torpedo IGNORES (BLACKLIST; PC field name confirmed via FilteredShip Data2Json/filters/Projectile.py). 348 standard torps = [] (hit everything); 21 deep-water torps = ['Destroyer'] (every Pan-Asian DD with deep-water torps - Shenyang/Chumphon/Harbin/Chungking/Siliwangi/Fenyang/Huanghe/Jianwei/Jinan/Phra-Ruang/Lushun/Irian/Sejong/Hsienyang/Rahmat/Chung-Mu/Gadjah-Mada/Anshan/Longjiang/Fushun plus Tsurugi). Deep-water torps cannot hit destroyers - exactly the PC behavior. | mapped | – | 2 distinct · tracks caliber (r=0.57) · tracks nation (r=0.97) |
| 23 | isDeepWater bool (PC field name confirmed). False on 348 standard torps; True on the same 21 deep-water torps that have state[22]=['Destroyer']. Perfect 1:1 correlation with state[22]. | mapped | – | 2 distinct · tracks caliber (r=0.57) · tracks nation (r=0.97) |
| 24 | needs identifying | needs ID | – | [0 – 20], med 0 · 3 distinct · tracks nation (r=0.91) |
| 25 | uwSplashCoeff - flooding chance percentage (per-hit flooding %). Matches in-game/PC values across every spot-checked torp: Shimakaze Type93 mod3 = 367 (367%), Halland Torped M1947 mod1 = 500, Khabarovsk ET-46 = 200, Fubuki 610 8mod2 = 333, Fletcher Mk15 mod3 = 305, Shenyang Mk11 D = 244. VERIFIED 2026-05-30. | mapped | – | [130 – 666.67], med 267 · 58 distinct |
| 26 | Two-element kinematic constant. [40.0, 120.0] on 361 ships (standard). [55.0, 90.0] on 3 French interwar DDs (Duchaffault / L-Adroit / Ladroit). [60.0, 95.0] on 5 French interwar DDs (Le Hardi / L-Aventurier / Cassard / Orage / Laventurier). Pattern isolates the French interwar / Le Hardi class destroyer torpedoes; meaning is unknown but consistent (likely arming-distance pair or some kinematic envelope). | mapped | – | 3 distinct · tracks caliber (r=0.71) · tracks class (r=0.78) · tracks nation (r=0.94) |
| 27 | needs identifying | needs ID | – | 32 distinct |
| 28 | asset / particle path | visual | particles/tracerTorpedo_avatar.xml | const = particles/tracerTorpedo_avatar.xml |
| 29 | game-logic constant | constant | 0.75 | const = 0.75 |
| 30 | asset / particle path | visual | content/location/misc/gameplay/LMY052_Parachut… | const = content/location/misc/gameplay/LMY052_Pa… |
| 31 | game-logic constant | constant | 0.95 | const = 0.949999988079071 |
| 32 | game-logic constant | constant | torpedo | const = torpedo |
| 33 | needs identifying | needs ID | – | 3 distinct |
| 34 | game-logic constant | constant | 1 | const = 1.0 |
| 35 | asset / particle path | visual | particles/onWaterExplosion127mm.xml | const = particles/onWaterExplosion127mm.xml |
| 36 | Torpedo speed (knots). Matches in-game across every spot-checked torp: Shimakaze Type93 mod3 = 67kt, Halland M1947 mod1 = 86kt, Khabarovsk ET-46 = 58kt, Fubuki 8mod2 = 59kt, Fletcher Mk15 mod3 = 55kt, Shenyang Mk11 D = 60kt. VERIFIED 2026-05-30. | mapped | – | [40 – 86], med 61 · 32 distinct |
| 37 | needs identifying | needs ID | – | [60 – 340], med 60 · 6 distinct · tracks caliber (r=0.71) · tracks class (r=0.78) · tracks nation (r=0.94) |
| 38 | needs identifying | needs ID | – | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.78) · tracks nation (r=0.97) |
| 39 | needs identifying | needs ID | – | [0.1 – 2], med 0.3 · 7 distinct |
| 40 | needs identifying | needs ID | – | [0.6 – 1.8], med 1.1 · 9 distinct |
| 41 | asset / particle path | visual | particles/tracerTorpedo.xml | const = particles/tracerTorpedo.xml |
| 42 | game-logic constant | constant | True | const = True |
| 43 | needs identifying | needs ID | – | [0.63 – 4.36], med 2.4 · 60 distinct |
| 44 | Torpedo visibility-from-sea distance (km). Shimakaze Type93 mod3 = 1.7km matches in-game; other ships' values consistent with the visibility-from-sea spec (Khabarovsk ET-46 = 0.6km, Halland M1947 mod1 = 1.8km, etc.). VERIFIED on Shimakaze 2026-05-30. | mapped | – | [0.6 – 2.5], med 1.3 · 16 distinct |
| 45 | Constant [1.3, 1.9] across every projectile. | mapped | – | 3 distinct · tracks caliber (r=0.71) · tracks class (r=0.78) · tracks nation (r=0.94) |
| 46 | needs identifying | needs ID | – | [0.5 – 1.1], med 0.8 · 8 distinct |
| 47 | needs identifying | needs ID | – | 2 distinct |
| 48 | game-logic constant | constant | False | const = False |
Anti-aircraft & spotting
AirDefense
9 slots · 3 mapped (33%) · 5 constant · 0 visual · 0 sub-entity · 1 need ID
example: Module A_AirDefense (AirDefense)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | game-logic constant | constant | 1 | const = 1.0 |
| 1 | game-logic constant | constant | 2 | const = 2.0 |
| 2 | game-logic constant | constant | 3 | const = 3.0 |
| 3 | game-logic constant | constant | 0.2 | const = 0.20000000298023224 |
| 4 | game-logic constant | constant | 1 | const = 1.0 |
| 5 | needs identifying | needs ID | 15 | [0 – 15], med 10 · 4 distinct · tracks caliber (r=0.57) · tracks class (r=1.00) · tracks nation (r=0.98) |
| 6 | (altitude breakpoint, decay_type, ...) tuples - aircraft accuracy decay curve | mapped | → sub-entity | 4 distinct |
| 7 | flak burst angular arcs | mapped | → sub-entity | const = {'_list_len': 2, '_repr': '[(0.0, 180.0)… |
| 8 | aura dict {AuraNear/AuraMedium/AuraFar/... : AirDefenseAura} and per-mount AntiAircraftGun rows | mapped | → sub-entity | 825 distinct |
AirDefenseAura
54 slots · 19 mapped (35%) · 12 constant · 17 visual · 0 sub-entity · 6 need ID
example: ↳ A_AirDefense.state[8]['AuraMedium'] - AirDefenseAura
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | continuous damage per second (DPS for this aura) | mapped | 11 | [0 – 263], med 18 · 160 distinct |
| 1 | areaDamagePeriod - AA damage tick interval (s). PC-aligned 2026-05. | mapped | 0.2857 | const = 0.2857142984867096 |
| 2 | needs identifying | needs ID | particles/airplanes/Air_defense_explosion_3.xm… | 2 distinct |
| 3 | asset / particle path | visual | particles/trails/Trail_Barrage_DPS.dds | const = particles/trails/Trail_Barrage_DPS.dds |
| 4 | needs identifying | needs ID | 0 | [0 – 290], med 0 · 23 distinct |
| 5 | Aura-band timing constant. 3.0 on every 'far' aura; 4.75 on every 'near' and 'medium' aura. Likely a burst-spawn or kinematic coefficient that differs between long-range flak and short-range continuous AA. | mapped | 4.75 | [3 – 4.75], med 4.75 · 2 distinct |
| 6 | game-logic constant | constant | const = | |
| 7 | asset / particle path | visual | particles/trails/Trail_Aura_NonPrior_Bubble_en… | const = particles/trails/Trail_Aura_NonPrior_Bub… |
| 8 | asset / particle path | visual | particles/trails/Trail_Aura_Prior_Bubble_en.dd… | const = particles/trails/Trail_Aura_Prior_Bubble… |
| 9 | needs identifying | needs ID | 1 | [0 – 2.75], med 1 · 11 distinct |
| 10 | game-logic constant | constant | 20 | const = 20.0 |
| 11 | game-logic constant | constant | 1 | const = 1.0 |
| 12 | asset / particle path | visual | particles/trails/Trail_Aura_Bubble_en.dds | const = particles/trails/Trail_Aura_Bubble_en.dd… |
| 13 | game-logic constant | constant | 0.028 | const = 0.02800000086426735 |
| 14 | needs identifying | needs ID | particles/airplanes/Air_defense_explosion_2.xm… | 3 distinct |
| 15 | game-logic constant | constant | True | const = True |
| 16 | game-logic constant | constant | False | const = False |
| 17 | explosionCount - flak burst count. PC-aligned 2026-05. | mapped | 15 | [0 – 15], med 15 · 4 distinct |
| 18 | asset / particle path | visual | particles/Empty_FX.xml | const = particles/Empty_FX.xml |
| 19 | asset / particle path | visual | particles/Empty_FX.xml | const = particles/Empty_FX.xml |
| 20 | list of mount hardpoint names this aura is bound to | mapped | HP_GGA_11, HP_GGA_12, HP_GGA_19, HP_GGA_20, HP… | 1179 distinct |
| 21 | Aura-band coefficient. 50 on every 'far' aura; 60 on every 'near' and 'medium' aura. Differs by aura band - exact field name TBD. | mapped | 60 | [50 – 60], med 60 · 2 distinct |
| 22 | hitChance - AA hit probability. PC-aligned 2026-05. | mapped | 0.75 | [0.1 – 1], med 0.9 · 7 distinct |
| 23 | innerBubbleCount - number of inner flak bursts (0-6). PC field name from mackbot. 4158 auras = 0 (no flak); the rest are tiered per-ship. | mapped | 0 | [0 – 6], med 0 · 7 distinct |
| 24 | Aura-band kinematic pair. [2.65, 3.15] on 'far' auras; [3.30, 3.80] on 'near'/'medium'. Two-element tuple, partition matches aura type. | mapped | 3.299999952316284, 3.799999952316284 | 2 distinct |
| 25 | game-logic constant | constant | 20 | const = 20.0 |
| 26 | game-logic constant | constant | True | const = True |
| 27 | Aura-band coefficient. 0.4 on 'far'; 0.5 on 'near'/'medium'. | mapped | 0.5 | [0.4 – 0.5], med 0.5 · 2 distinct |
| 28 | aura range (m) | mapped | 3500 | [800 – 6000], med 3500 · 21 distinct |
| 29 | Aura-band coefficient. 0.1 on 'far'; 0.2 on 'near'/'medium'. | mapped | 0.2 | [0.1 – 0.2], med 0.2 · 2 distinct |
| 30 | minDistance - aura inner range (m). PC-aligned 2026-05. | mapped | 100 | [100 – 3500], med 100 · 4 distinct |
| 31 | needs identifying | needs ID | particles/airplanes/Air_defense_explosion_fake… | 2 distinct |
| 32 | asset / particle path | visual | particles/trails/Trail_Aura_NonPrior_DPS_en.dd… | const = particles/trails/Trail_Aura_NonPrior_DPS… |
| 33 | outerBubbleCount - number of outer flak bursts (0/1/2). PC field name from mackbot. | mapped | 0 | [0 – 2], med 0 · 3 distinct |
| 34 | Aura-band kinematic pair. [2.45, 2.65] on 'far'; [2.50, 3.00] on 'near'/'medium'. | mapped | 2.5, 3.0 | 2 distinct |
| 35 | asset / particle path | visual | particles/trails/Trail_Barrage_DPS.dds | const = particles/trails/Trail_Barrage_DPS.dds |
| 36 | asset / particle path | visual | particles/trails/Trail_Aura_NonPrior_Bubble.dd… | const = particles/trails/Trail_Aura_NonPrior_Bub… |
| 37 | asset / particle path | visual | particles/trails/Trail_Aura_Prior_Bubble.dds | const = particles/trails/Trail_Aura_Prior_Bubble… |
| 38 | asset / particle path | visual | particles/trails/Trail_Aura_Bubble.dds | const = particles/trails/Trail_Aura_Bubble.dds |
| 39 | asset / particle path | visual | particles/trails/Trail_Aura_NonPrior_DPS.dds | const = particles/trails/Trail_Aura_NonPrior_DPS… |
| 40 | asset / particle path | visual | particles/trails/Trail_Aura_Prior_DPS.dds | const = particles/trails/Trail_Aura_Prior_DPS.dd… |
| 41 | asset / particle path | visual | particles/trails/Trail_Aura_DPS.dds | const = particles/trails/Trail_Aura_DPS.dds |
| 42 | asset / particle path | visual | particles/trails/Trail_Aura_Prior_DPS_en.dds | const = particles/trails/Trail_Aura_Prior_DPS_en… |
| 43 | areaDamageMultiplier / bubbleDamageMultiplier candidate. 5 discrete values 0.1 / 0.5 / 1.0 / 3.0 / 5.0; default 5.0 on standard auras. PC field name candidate from mackbot CONSUMABLE_KEYS. | mapped | 0.5 | [0.1 – 5], med 0.5 · 5 distinct |
| 44 | needs identifying | needs ID | 1.5 | [0.78 – 1.56], med 1.3 · 14 distinct |
| 45 | game-logic constant | constant | 0 | const = 0.0 |
| 46 | game-logic constant | constant | 0 | const = 0.0 |
| 47 | bubbleDamage - flak burst damage. 3 discrete values: 12, 21, 31. PC field name from mackbot. Higher value = more damage per flak burst. | mapped | 21 | [12 – 31], med 21 · 3 distinct |
| 48 | game-logic constant | constant | 1 | const = 1.0 |
| 49 | asset / particle path | visual | particles/trails/Trail_Aura_DPS_en.dds | const = particles/trails/Trail_Aura_DPS_en.dds |
| 50 | attackerDamageTakenMultiplier - per-second damage scalar applied to incoming aircraft. 3 discrete values: 0.020, 0.028, 0.035. PC field name candidate from FilteredShip Data2Json/filters/Aircraft.py:AIRCRAFT_KEYS. | mapped | 0.028 | [0.02 – 0.035], med 0.028 · 3 distinct |
| 51 | game-logic constant | constant | 50 | const = 50.0 |
| 52 | aura type ('near' / 'medium' / 'far') | mapped | medium | 3 distinct |
| 53 | asset / particle path | visual | particles/Empty_FX.xml | const = particles/Empty_FX.xml |
Radars 2 slots · 0 mapped (0%) · 1 constant · 0 visual · 1 sub-entity · 0 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | game-logic constant | constant | 1 | const = 1.0 |
| 1 | reference to another entity | sub-entity | → sub-entity | 191 distinct |
Mobility
Engine
15 slots · 13 mapped (87%) · 0 constant · 0 visual · 2 sub-entity · 0 need ID
example: Module AB2_Engine (Engine)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | 661 distinct |
| 1 | forwardEngineForsag - forward engine boost constant (~2.5). PC-aligned 2026-05. | mapped | 2.5 | const = 2.5 |
| 2 | UNKNOWN - was guessed as forward spool-up time; PC alignment puts forwardEngineUpTime at state[9] instead. Needs identification. | mapped | 9 | [5 – 15.05], med 9.7 · 115 distinct |
| 3 | backwardEngineUpTime - reverse engine spool-up time (raw; the in-game displayed reverse spool-up is derived from it). PC-aligned 2026-05. | mapped | 30 | [5 – 30], med 20 · 4 distinct · tracks class (r=0.77) · tracks nation (r=0.96) |
| 4 | deceleration / drag coefficient A | mapped | -0.2 | [-0.5 – -0.15], med -0.2 · 4 distinct · tracks class (r=0.69) · tracks nation (r=0.96) |
| 5 | deceleration / drag coefficient B | mapped | -0.325 | [-0.325 – 0.5], med -0.26 · 4 distinct · tracks class (r=0.92) · tracks nation (r=0.98) |
| 6 | backwardEngineForsag - reverse engine boost constant (PC counterpart to state[1] forwardEngineForsag). PERFECT class correlation: 5.5 = every cruiser (240 hulls), 6.5 = every BB + every DD (361 hulls), 7.0 = every CV (26 hulls). Class-tied because reverse boost is balanced per ship class. VERIFIED 2026-05-30. | mapped | 6.5 | [5.5 – 7], med 6.5 · 3 distinct · tracks class (r=1.00) · tracks nation (r=0.98) |
| 7 | Engine kinematic coefficient. 2.0 on 1256 ships (default); 1.75 on 112 ships - every UK destroyer (ukclassicdd), every UK light cruiser (uklightcr), every UK battlecruiser (ukbatlcr) except 1, every Pan-Am start-CL line (panamstartcl), every EU gunboat-DD (eugunboatdd), plus a few outliers. Clean partition: 1.75 marks the UK / newer-line engine spec. | mapped | 2 | [1.75 – 2.5], med 2 · 3 distinct · tracks nation (r=0.93) |
| 8 | powerThresholdKt - engine power-multiplier speed threshold (kt). VERIFIED 2026-05 in-game. | mapped | 7 | [2.5 – 40.85], med 7 · 32 distinct · tracks nation (r=0.85) |
| 9 | forwardEngineUpTime - forward engine spool-up time (raw; the in-game displayed spool-up is derived from it). PC-aligned 2026-05. | mapped | 60 | [5 – 60], med 40 · 4 distinct · tracks class (r=0.69) · tracks nation (r=0.95) |
| 10 | Drag / deceleration coefficient. -0.20 on 1004 ships (default); -0.15 on 348 ships; -0.50 on 8 specific premiums: California, Jean-Bart, Kleber, Lenin, Oland, Paolo-Emilio, Stalingrad, Z-35. The -0.50 outliers are mostly speed-boost-having premiums + the Kleber/Paolo-Emilio fast-DD line - likely a 'high-power engine' variant marker. | mapped | -0.2 | [-0.5 – -0.15], med -0.2 · 4 distinct · tracks class (r=0.62) · tracks nation (r=0.95) |
| 11 | histEnginePower - engine power (hp). PC-aligned 2026-05. | mapped | 163000 | [5 – 305000], med 80000 · 199 distinct |
| 12 | engine logic class label | mapped | GameLogic.Engines.Battleship.Turbine.Type_1 | 26 distinct · tracks nation (r=0.76) |
| 13 | speedCoef - speed coefficient. PC-aligned 2026-05. | mapped | 0 | [-0.17 – 0], med 0 · 16 distinct · tracks class (r=0.69) · tracks nation (r=0.75) |
| 14 | reference to another entity | sub-entity | → sub-entity | const = {} |
Carrier aviation
AirArmament
7 slots · 5 mapped (71%) · 0 constant · 0 visual · 0 sub-entity · 2 need ID
example: Module AB_AirArmament (AirArmament)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | Constant 1.0 sentinel across every ship that has an AirArmament module. | mapped | 1 | const = 1.0 |
| 1 | needs identifying | needs ID | 0 | [0 – 36], med 0 · 19 distinct · tracks caliber (r=0.57) · tracks nation (r=0.77) |
| 2 | Constant False sentinel across every ship. | mapped | False | const = False |
| 3 | Airstrike-specific flag. 0 on 532 ships (most); 2 on exactly 3 ships - Marblehead, Marblehead-FE, Yahagi - which have unique airstrike configurations. Likely an 'attackCount' or 'airstrike payload-tier' marker. | mapped | 0 | [0 – 2], med 0 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.86) · tracks nation (r=0.97) |
| 4 | Launch-platform type (string). 'catapult' (227 ships, traditional catapult-launched aircraft, mostly CA/BB); 'deck' (24 ships, flight-deck launch on CVs - Ark Royal, Enterprise, Furious, etc.); 'deckWithCatapult' (10 ships, hybrid CVs - Aki, Dewa, Ise, Graf Zeppelin); 'fake' (5 ships, Dutch cruisers de-7-provincien / de-zeven-provincien / gouden-leeuw / haarlem / vrijheid - they use the call-down AIRSTRIKE consumable instead of a physical catapult, so the module is virtual). VERIFIED 2026-05-31. | mapped | catapult | 4 distinct · tracks nation (r=0.91) |
| 5 | needs identifying | needs ID | 0 | [0 – 116], med 0 · 16 distinct · tracks nation (r=0.80) |
| 6 | Mount dict {HP_JC_N : GameParamData wrapping Catapult / airstrike mount}. Per-mount entity is the Catapult class. | mapped | → sub-entity | 254 distinct |
AirSupport 13 slots · 0 mapped (0%) · 5 constant · 0 visual · 1 sub-entity · 7 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | – | [1 – 3], med 1 · 3 distinct · tracks caliber (r=0.83) · tracks class (r=0.75) · tracks nation (r=0.50) |
| 1 | game-logic constant | constant | 30 | const = 30.0 |
| 2 | game-logic constant | constant | 4 | const = 4.0 |
| 3 | needs identifying | needs ID | – | 3 distinct · tracks caliber (r=0.67) · tracks class (r=0.75) · tracks nation (r=1.00) |
| 4 | needs identifying | needs ID | – | [10000 – 14500], med 12500 · 12 distinct |
| 5 | needs identifying | needs ID | – | [2500 – 4000], med 3500 · 4 distinct · tracks caliber (r=0.50) · tracks class (r=0.75) · tracks nation (r=1.00) |
| 6 | needs identifying | needs ID | – | [1000 – 1500], med 1500 · 2 distinct · tracks caliber (r=1.00) · tracks class (r=0.75) · tracks nation (r=0.75) |
| 7 | needs identifying | needs ID | – | 25 distinct |
| 8 | needs identifying | needs ID | – | [54 – 120], med 90 · 9 distinct |
| 9 | game-logic constant | constant | 5 | const = 5.0 |
| 10 | game-logic constant | constant | 4 | const = 4.0 |
| 11 | game-logic constant | constant | 0.0, 90.0 | const = [0.0, 90.0] |
| 12 | reference to another entity | sub-entity | → sub-entity | const = {} |
FlightControl 10 slots · 0 mapped (0%) · 6 constant · 0 visual · 3 sub-entity · 1 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | const = {'Skip': 0, 'Dive': 0, 'Bomber': 0, 'Fig… |
| 1 | game-logic constant | constant | const = [] | |
| 2 | reference to another entity | sub-entity | → sub-entity | const = {'Scout': 0, 'Fighter': 1} |
| 3 | game-logic constant | constant | const = [] | |
| 4 | game-logic constant | constant | False | const = False |
| 5 | game-logic constant | constant | False | const = False |
| 6 | game-logic constant | constant | False | const = False |
| 7 | reference to another entity | sub-entity | → sub-entity | const = {'Fighter': 1, 'Auxiliary': 0, 'Skip': 1… |
| 8 | game-logic constant | constant | 1 | const = 1.0 |
| 9 | needs identifying | needs ID | – | 3 distinct · tracks nation (r=0.67) |
AircraftType 1 slots · 0 mapped (0%) · 0 constant · 0 visual · 0 sub-entity · 1 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | – | 64 distinct |
DiveBomber
277 slots · 6 mapped (2%) · 172 constant · 17 visual · 19 sub-entity · 63 need ID
example: PGAF904_BF109G_HIDE (DiveBomber)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | const = {'_class': 'SectionCollection', '_repr':… |
| 1 | reference to another entity | sub-entity | → sub-entity | const = {'_class': 'PlaneAbilities', '_repr': '<… |
| 2 | needs identifying | needs ID | 180 | [40.7 – 180], med 180 · 4 distinct · tracks caliber (r=0.86) · tracks class (r=0.71) · tracks nation (r=0.97) |
| 3 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.001, 0.005, 1.5, 1.75], 'pitc… |
| 4 | needs identifying | needs ID | 1.4 | [1.2625 – 1.4], med 1.4 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 5 | game-logic constant | constant | 1 | const = 1.0 |
| 6 | game-logic constant | constant | 1 | const = 1.0 |
| 7 | game-logic constant | constant | 1 | const = 1.0 |
| 8 | needs identifying | needs ID | -0.2 | [-0.2 – -0.15], med -0.2 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 9 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 10 | needs identifying | needs ID | 2.0, 0.5 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 11 | needs identifying | needs ID | 1.0, 0.5 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 12 | needs identifying | needs ID | 2.0, 0.5 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 13 | needs identifying | needs ID | 0.0, 1.0 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 14 | needs identifying | needs ID | 0.0, -1.5, 0.0, 1.0 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 15 | game-logic constant | constant | 0.5, 0.5 | const = [0.5, 0.5] |
| 16 | needs identifying | needs ID | 0.0, 2.0, 1.0 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 17 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('WARD_forma… |
| 18 | needs identifying | needs ID | 1000 | [7.5 – 1000], med 1000 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 19 | game-logic constant | constant | 0.5 | const = 0.5 |
| 20 | needs identifying | needs ID | 0.5, 1.5 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 21 | needs identifying | needs ID | 15 | [5 – 15], med 15 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 22 | needs identifying | needs ID | 1 | [0.4 – 1], med 1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 23 | needs identifying | needs ID | 0.3 | [0.3 – 0.4], med 0.3 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 24 | game-logic constant | constant | 1 | const = 1.0 |
| 25 | asset / particle path | visual | particles/airplanes/Air_break.xml | const = particles/airplanes/Air_break.xml |
| 26 | asset / particle path | visual | particles/airplanes/Air_brokenParts.xml | const = particles/airplanes/Air_brokenParts.xml |
| 27 | game-logic constant | constant | particles/airplanes/Air_death_1.xml, particles… | const = ['particles/airplanes/Air_death_1.xml', … |
| 28 | game-logic constant | constant | particles/airplanes/Air_explosion_1.xml, parti… | const = ['particles/airplanes/Air_explosion_1.xm… |
| 29 | game-logic constant | constant | particles/airplanes/Air_explosion_1.xml, parti… | const = ['particles/airplanes/Air_explosion_1.xm… |
| 30 | asset / particle path | visual | particles/airplanes/Air_state_4_fire.xml | const = particles/airplanes/Air_state_4_fire.xml |
| 31 | asset / particle path | visual | particles/airplanes/Air_gunfire.xml | const = particles/airplanes/Air_gunfire.xml |
| 32 | asset / particle path | visual | particles/airplanes/Air_hit_1.xml | const = particles/airplanes/Air_hit_1.xml |
| 33 | game-logic constant | constant | particles/airplanes/Air_state_1_smoke.xml, par… | const = ['particles/airplanes/Air_state_1_smoke.… |
| 34 | needs identifying | needs ID | 45 | [35 – 45], med 45 · 2 distinct · tracks caliber (r=0.71) · tracks nation (r=0.94) |
| 35 | game-logic constant | constant | -45 | const = -45.0 |
| 36 | needs identifying | needs ID | 17.5 | [17.5 – 20], med 17.5 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 37 | game-logic constant | constant | 0 | const = 0.0 |
| 38 | game-logic constant | constant | 5 | const = 5.0 |
| 39 | needs identifying | needs ID | 1 | [1 – 4], med 1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 40 | game-logic constant | constant | 1 | const = 1.0 |
| 41 | needs identifying | needs ID | 1 | [0.03 – 1], med 1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 42 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('WARD_forma… |
| 43 | game-logic constant | constant | 1 | const = 1.0 |
| 44 | game-logic constant | constant | 1 | const = 1.0 |
| 45 | needs identifying | needs ID | 1 | [1 – 3], med 1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 46 | game-logic constant | constant | 0.3 | const = 0.30000001192092896 |
| 47 | game-logic constant | constant | 0.3 | const = 0.30000001192092896 |
| 48 | game-logic constant | constant | PAPB104_Langley_stock | const = PAPB104_Langley_stock |
| 49 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 50 | game-logic constant | constant | 2.75, 2.75 | const = [2.75, 2.75] |
| 51 | game-logic constant | constant | 0.6000000238418579, 0.6000000238418579 | const = [0.6000000238418579, 0.6000000238418579] |
| 52 | game-logic constant | constant | 2.75, 2.75 | const = [2.75, 2.75] |
| 53 | game-logic constant | constant | 70 | const = 70.0 |
| 54 | game-logic constant | constant | 70 | const = 70.0 |
| 55 | needs identifying | needs ID | 20 | [20 – 34], med 20 · 7 distinct · tracks nation (r=0.74) |
| 56 | needs identifying | needs ID | 20 | [20 – 34], med 20 · 7 distinct · tracks nation (r=0.74) |
| 57 | game-logic constant | constant | 30 | const = 30.0 |
| 58 | game-logic constant | constant | 30 | const = 30.0 |
| 59 | game-logic constant | constant | 0.01 | const = 0.009999999776482582 |
| 60 | game-logic constant | constant | 0.01 | const = 0.009999999776482582 |
| 61 | game-logic constant | constant | 20 | const = 20.0 |
| 62 | game-logic constant | constant | 0.7 | const = 0.699999988079071 |
| 63 | game-logic constant | constant | 0.7 | const = 0.699999988079071 |
| 64 | game-logic constant | constant | 20 | const = 20.0 |
| 65 | game-logic constant | constant | 20 | const = 20.0 |
| 66 | game-logic constant | constant | 30 | const = 30.0 |
| 67 | game-logic constant | constant | 30 | const = 30.0 |
| 68 | game-logic constant | constant | 40 | const = 40.0 |
| 69 | game-logic constant | constant | 40 | const = 40.0 |
| 70 | game-logic constant | constant | 30 | const = 30.0 |
| 71 | game-logic constant | constant | 30 | const = 30.0 |
| 72 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 73 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 74 | game-logic constant | constant | 0.7 | const = 0.699999988079071 |
| 75 | game-logic constant | constant | 1 | const = 1.0 |
| 76 | game-logic constant | constant | 1 | const = 1.0 |
| 77 | game-logic constant | constant | 0 | const = 0 |
| 78 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 3, '_repr': "[('stub', 'py… |
| 79 | game-logic constant | constant | -0 | const = -0.0 |
| 80 | game-logic constant | constant | 0 | const = 0.0 |
| 81 | game-logic constant | constant | 120 | const = 120.0 |
| 82 | game-logic constant | constant | 3 | const = 3.0 |
| 83 | needs identifying | needs ID | 1 | [1 – 3], med 1 · 3 distinct · tracks nation (r=0.97) |
| 84 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.001, 0.005, 1.0, 1.25], 'pitc… |
| 85 | game-logic constant | constant | 0.8 | const = 0.800000011920929 |
| 86 | game-logic constant | constant | 0.30000001192092896, 1.0 | const = [0.30000001192092896, 1.0] |
| 87 | game-logic constant | constant | 1.0, 0.5 | const = [1.0, 0.5] |
| 88 | game-logic constant | constant | 0.30000001192092896, 1.0 | const = [0.30000001192092896, 1.0] |
| 89 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |
| 90 | game-logic constant | constant | 0.0, -0.5, 0.0, 1.0 | const = [0.0, -0.5, 0.0, 1.0] |
| 91 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 92 | game-logic constant | constant | 0.0, 3.5, 0.5 | const = [0.0, 3.5, 0.5] |
| 93 | game-logic constant | constant | const = | |
| 94 | game-logic constant | constant | 0.25 | const = 0.25 |
| 95 | game-logic constant | constant | 0.75 | const = 0.75 |
| 96 | game-logic constant | constant | 0.0, 1.5 | const = [0.0, 1.5] |
| 97 | game-logic constant | constant | 1.25, 3.0 | const = [1.25, 3.0] |
| 98 | game-logic constant | constant | -2.0, 1.5 | const = [-2.0, 1.5] |
| 99 | game-logic constant | constant | 2.5, 2.0 | const = [2.5, 2.0] |
| 100 | game-logic constant | constant | 0.0, -10.0, 10.0, 0.5 | const = [0.0, -10.0, 10.0, 0.5] |
| 101 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 102 | game-logic constant | constant | 0.0, 3.5, 0.5 | const = [0.0, 3.5, 0.5] |
| 103 | game-logic constant | constant | 1 | const = 1.0 |
| 104 | game-logic constant | constant | 1.2 | const = 1.2000000476837158 |
| 105 | game-logic constant | constant | 0.66 | const = 0.6600000262260437 |
| 106 | game-logic constant | constant | 0.66 | const = 0.6600000262260437 |
| 107 | game-logic constant | constant | 1 | const = 1.0 |
| 108 | asset / particle path | visual | particles/airplanes/Air_state_3_fire.xml | const = particles/airplanes/Air_state_3_fire.xml |
| 109 | asset / particle path | visual | particles/airplanes/Air_enginelight.xml | const = particles/airplanes/Air_enginelight.xml |
| 110 | game-logic constant | constant | Standard | const = Standard |
| 111 | game-logic constant | constant | 90 | const = 90.0 |
| 112 | game-logic constant | constant | 90 | const = 90.0 |
| 113 | game-logic constant | constant | 50 | const = 50.0 |
| 114 | game-logic constant | constant | 100 | const = 100.0 |
| 115 | game-logic constant | constant | 30 | const = 30.0 |
| 116 | needs identifying | needs ID | 120 | [100 – 120], med 120 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.71) · tracks nation (r=0.97) |
| 117 | game-logic constant | constant | 130 | const = 130.0 |
| 118 | needs identifying | needs ID | 108 | [100 – 108], med 108 · 2 distinct · tracks caliber (r=0.57) · tracks class (r=0.71) · tracks nation (r=1.00) |
| 119 | game-logic constant | constant | PCPP002_Default_Fighter | const = PCPP002_Default_Fighter |
| 120 | game-logic constant | constant | PCPP001_Default_Storming | const = PCPP001_Default_Storming |
| 121 | needs identifying | needs ID | 45 | [35 – 45], med 45 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.71) · tracks nation (r=0.94) |
| 122 | needs identifying | needs ID | 30 | [20 – 30], med 30 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.71) · tracks nation (r=0.94) |
| 123 | needs identifying | needs ID | 10 | [10 – 30], med 10 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.71) · tracks nation (r=0.94) |
| 124 | game-logic constant | constant | 120 | const = 120.0 |
| 125 | needs identifying | needs ID | 11 | [11 – 20], med 11 · 2 distinct · tracks nation (r=0.94) |
| 126 | game-logic constant | constant | 40 | const = 40.0 |
| 127 | asset / particle path | visual | particles/airplanes/Air_screen_fly.xml | const = particles/airplanes/Air_screen_fly.xml |
| 128 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('FightingRi… |
| 129 | reference to another entity | sub-entity | → sub-entity | 2 distinct |
| 130 | game-logic constant | constant | 0 | const = 0.0 |
| 131 | game-logic constant | constant | 0 | const = 0.0 |
| 132 | asset / particle path | visual | particles/airplanes/Air_forsage.xml | const = particles/airplanes/Air_forsage.xml |
| 133 | game-logic constant | constant | 0.5 | const = 0.5 |
| 134 | game-logic constant | constant | 0.5 | const = 0.5 |
| 135 | asset / particle path | visual | particles/airplanes/Air_forsage_screen.xml | const = particles/airplanes/Air_forsage_screen.x… |
| 136 | game-logic constant | constant | 10 | const = 10.0 |
| 137 | needs identifying | needs ID | 90 | [90 – 150], med 90 · 2 distinct · tracks nation (r=0.97) |
| 138 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 5, '_repr': '[(0.0, 0.0), … |
| 139 | game-logic constant | constant | particles/airplane_ground_destroy.xml, particl… | const = ['particles/airplane_ground_destroy.xml'… |
| 140 | reference to another entity | sub-entity | → sub-entity | const = {'restoreAmount': 1, 'timeToRestore': 0.… |
| 141 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.04, 0.06, 0.1, 0.2], 'duratio… |
| 142 | game-logic constant | constant | 10 | const = 10.0 |
| 143 | game-logic constant | constant | 19 | const = 19.0 |
| 144 | needs identifying | needs ID | 33.33 | [33.33 – 75], med 33.33 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 145 | needs identifying | needs ID | 1.5, 2.5 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 146 | game-logic constant | constant | False | const = False |
| 147 | game-logic constant | constant | True | const = True |
| 148 | game-logic constant | constant | True | const = True |
| 149 | game-logic constant | constant | const = | |
| 150 | game-logic constant | constant | 0 | const = 0.0 |
| 151 | asset / particle path | visual | particles/airplanes/Air_jato_smoke.xml | const = particles/airplanes/Air_jato_smoke.xml |
| 152 | game-logic constant | constant | 0 | const = 0.0 |
| 153 | asset / particle path | visual | particles/airplanes/Air_jato_falling.xml | const = particles/airplanes/Air_jato_falling.xml |
| 154 | asset / particle path | visual | particles/airplanes/Air_torpedo_ground_1.xml | const = particles/airplanes/Air_torpedo_ground_1… |
| 155 | game-logic constant | constant | 2 | const = 2.0 |
| 156 | asset / particle path | visual | particles/airplanes/Air_torpedo_ground_1.xml | const = particles/airplanes/Air_torpedo_ground_1… |
| 157 | asset / particle path | visual | particles/airplanes/Air_torpedo_drop.xml | const = particles/airplanes/Air_torpedo_drop.xml |
| 158 | game-logic constant | constant | 0.5 | const = 0.5 |
| 159 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('Landing_fo… |
| 160 | game-logic constant | constant | -4.0, 1.0 | const = [-4.0, 1.0] |
| 161 | game-logic constant | constant | 1.0, 0.5 | const = [1.0, 0.5] |
| 162 | game-logic constant | constant | 0.30000001192092896, 1.0 | const = [0.30000001192092896, 1.0] |
| 163 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |
| 164 | game-logic constant | constant | -0.20000000298023224, -0.5, 0.0, 1.0 | const = [-0.20000000298023224, -0.5, 0.0, 1.0] |
| 165 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 166 | game-logic constant | constant | 0.0, 3.5, 0.5 | const = [0.0, 3.5, 0.5] |
| 167 | needs identifying | needs ID | -0.4 | [-0.4 – 0], med -0.4 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 168 | needs identifying | needs ID | 0.0001 | [0.0001 – 1.1], med 0.7 · 4 distinct · tracks caliber (r=0.57) · tracks class (r=0.57) · tracks nation (r=0.91) |
| 169 | needs identifying | needs ID | 7 | [2 – 7], med 7 · 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.71) · tracks nation (r=0.94) |
| 170 | needs identifying | needs ID | 0.001 | [0.001 – 4], med 4 · 5 distinct · tracks nation (r=0.91) |
| 171 | needs identifying | needs ID | 8 | [4 – 10], med 8 · 7 distinct |
| 172 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.04, 0.06, 0.1, 0.2], 'duratio… |
| 173 | game-logic constant | constant | 210 | const = 210.0 |
| 174 | game-logic constant | constant | 1.4 | const = 1.399999976158142 |
| 175 | game-logic constant | constant | 5 | const = 5.0 |
| 176 | maxHealth - per-aircraft HP in the squadron. | mapped | 1000 | [355 – 1000], med 1000 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 177 | needs identifying | needs ID | 2 | [0.6 – 2], med 2 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 178 | game-logic constant | constant | 1 | const = 1.0 |
| 179 | game-logic constant | constant | 1 | const = 1.0 |
| 180 | game-logic constant | constant | 3, 3 | const = [3, 3] |
| 181 | game-logic constant | constant | 10 | const = 10.0 |
| 182 | game-logic constant | constant | 10 | const = 10.0 |
| 183 | needs identifying | needs ID | 0.1 | [0.1 – 0.6], med 0.1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 184 | game-logic constant | constant | 1, 1 | const = [1, 1] |
| 185 | game-logic constant | constant | 10 | const = 10.0 |
| 186 | game-logic constant | constant | 10 | const = 10.0 |
| 187 | needs identifying | needs ID | content/gameplay/germany/aircraft/fighter/GAF0… | 59 distinct |
| 188 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 15, '_repr': '[(1, 0.2), (… |
| 189 | game-logic constant | constant | 0 | const = 0.0 |
| 190 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 191 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 192 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.005, 0.01, 0.25, 0.5], 'pitch… |
| 193 | game-logic constant | constant | 190 | const = 190.0 |
| 194 | needs identifying | needs ID | 2 | [0 – 2], med 1 · 3 distinct · tracks nation (r=0.85) |
| 195 | game-logic constant | constant | 1 | const = 1.0 |
| 196 | numPlanesInSquadron - aircraft per squadron. | mapped | 1 | [1 – 6], med 1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 197 | game-logic constant | constant | 8 | const = 8.0 |
| 198 | game-logic constant | constant | 1 | const = 1.0 |
| 199 | game-logic constant | constant | 4 | const = 4.0 |
| 200 | needs identifying | needs ID | 6.0, 15.0 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 201 | game-logic constant | constant | 5 | const = 5.0 |
| 202 | game-logic constant | constant | 200 | const = 200.0 |
| 203 | game-logic constant | constant | 1 | const = 1.0 |
| 204 | game-logic constant | constant | 0.5 | const = 0.5 |
| 205 | game-logic constant | constant | 1.3 | const = 1.2999999523162842 |
| 206 | game-logic constant | constant | const = [] | |
| 207 | needs identifying | needs ID | 4 | [2.66 – 4.83], med 4 · 11 distinct · tracks nation (r=0.74) |
| 208 | needs identifying | needs ID | 3 | [1.5 – 3], med 3 · 2 distinct · tracks caliber (r=0.71) · tracks nation (r=0.94) |
| 209 | game-logic constant | constant | 3.5 | const = 3.5 |
| 210 | game-logic constant | constant | 1 | const = 1.0 |
| 211 | needs identifying | needs ID | -0.2 | [-0.2 – -0.18], med -0.2 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 212 | needs identifying | needs ID | 0.1 | [0.1 – 0.35], med 0.1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 213 | needs identifying | needs ID | 3.0, 1.0 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 214 | needs identifying | needs ID | 1.0, 0.5 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 215 | needs identifying | needs ID | 3.0, 1.0 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 216 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |
| 217 | needs identifying | needs ID | 0.0, -1.0, 0.0, 1.0 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 218 | game-logic constant | constant | 0.75, 0.75 | const = [0.75, 0.75] |
| 219 | needs identifying | needs ID | 0.0, 1.0, 1.0 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 220 | needs identifying | needs ID | 30 | [7.5 – 30], med 30 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 221 | game-logic constant | constant | 1.25 | const = 1.25 |
| 222 | needs identifying | needs ID | 0.5, 1.5 | 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 223 | needs identifying | needs ID | 1 | [1 – 2.5], med 1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 224 | needs identifying | needs ID | 1 | [0.75 – 1], med 1 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 225 | needs identifying | needs ID | 0.3 | [0.3 – 0.75], med 0.3 · 2 distinct · tracks caliber (r=0.71) · tracks class (r=0.86) · tracks nation (r=0.94) |
| 226 | game-logic constant | constant | 1 | const = 1 |
| 227 | game-logic constant | constant | 9999999 | const = 9999999.0 |
| 228 | game-logic constant | constant | 100 | const = 100.0 |
| 229 | game-logic constant | constant | 9999 | const = 9999.0 |
| 230 | game-logic constant | constant | 9999 | const = 9999.0 |
| 231 | game-logic constant | constant | 1.5 | const = 1.5 |
| 232 | game-logic constant | constant | 0.25 | const = 0.25 |
| 233 | game-logic constant | constant | 2 | const = 2.0 |
| 234 | game-logic constant | constant | 1 | const = 1.0 |
| 235 | game-logic constant | constant | 1000 | const = 1000.0 |
| 236 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 237 | game-logic constant | constant | 360 | const = 360.0 |
| 238 | game-logic constant | constant | 0.5 | const = 0.5 |
| 239 | needs identifying | needs ID | 170 | [90 – 235], med 148 · 33 distinct |
| 240 | needs identifying | needs ID | 170 | [90 – 235], med 148 · 33 distinct |
| 241 | game-logic constant | constant | 1 | const = 1.0 |
| 242 | needs identifying | needs ID | 170 | [74 – 235], med 148 · 33 distinct |
| 243 | game-logic constant | constant | 80 | const = 80.0 |
| 244 | speedMax - squadron max speed. | mapped | 1.5 | const = 1.5 |
| 245 | speedMin - squadron min speed. | mapped | 0.8 | const = 0.800000011920929 |
| 246 | needs identifying | needs ID | 170 | [90 – 235], med 148 · 33 distinct |
| 247 | speedMoveWithBomb - speed while carrying ordnance. | mapped | 245 | [136 – 260], med 222 · 34 distinct |
| 248 | needs identifying | needs ID | 170 | [60 – 235], med 147 · 30 distinct |
| 249 | game-logic constant | constant | 4 | const = 4.0 |
| 250 | game-logic constant | constant | 1.5 | const = 1.5 |
| 251 | needs identifying | needs ID | 1 | [1 – 9.66], med 1 · 11 distinct · tracks nation (r=0.74) |
| 252 | needs identifying | needs ID | 0 | [-16.5 – 0], med 0 · 4 distinct · tracks caliber (r=0.86) · tracks class (r=0.71) · tracks nation (r=0.97) |
| 253 | game-logic constant | constant | 4 | const = 4.0 |
| 254 | game-logic constant | constant | 40.0, 40.0, 50.0 | const = [40.0, 40.0, 50.0] |
| 255 | game-logic constant | constant | 10 | const = 10.0 |
| 256 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('WARD_forma… |
| 257 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('USFighters… |
| 258 | needs identifying | needs ID | 600 | [132 – 600], med 600 · 14 distinct · tracks nation (r=0.74) |
| 259 | attackCooldown - delay between attack runs (s). | mapped | 500 | [4.9 – 500], med 500 · 4 distinct · tracks caliber (r=0.86) · tracks class (r=0.71) · tracks nation (r=0.97) |
| 260 | game-logic constant | constant | PCPP001_Default_Storming | const = PCPP001_Default_Storming |
| 261 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 262 | game-logic constant | constant | 0.5 | const = 0.5 |
| 263 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 264 | game-logic constant | constant | 100 | const = 100.0 |
| 265 | game-logic constant | constant | 45 | const = 45.0 |
| 266 | game-logic constant | constant | 98 | const = 98.0 |
| 267 | game-logic constant | constant | 14 | const = 14.0 |
| 268 | game-logic constant | constant | 98 | const = 98.0 |
| 269 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 9, '_repr': '[(0.01, 0.0, … |
| 270 | game-logic constant | constant | 5 | const = 5.0 |
| 271 | game-logic constant | constant | 8 | const = 8.0 |
| 272 | game-logic constant | constant | 20 | const = 20.0 |
| 273 | game-logic constant | constant | 3 | const = 3.0 |
| 274 | game-logic constant | constant | particles/airplanes/Air_water_explosion_1.xml,… | const = ['particles/airplanes/Air_water_explosio… |
| 275 | asset / particle path | visual | particles/airplane_water_effect.xml | const = particles/airplane_water_effect.xml |
| 276 | asset / particle path | visual | particles/airplanes/Air_waterstep.xml | const = particles/airplanes/Air_waterstep.xml |
Plane
274 slots · 5 mapped (2%) · 207 constant · 17 visual · 19 sub-entity · 26 need ID
example: PGAS955_BF109G_HIDE_spotter (Plane)
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | const = {'_class': 'SectionCollection', '_repr':… |
| 1 | reference to another entity | sub-entity | → sub-entity | const = {'_class': 'PlaneAbilities', '_repr': '<… |
| 2 | game-logic constant | constant | 180 | const = 180.0 |
| 3 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.001, 0.005, 1.5, 1.75], 'pitc… |
| 4 | game-logic constant | constant | 1.4 | const = 1.399999976158142 |
| 5 | game-logic constant | constant | 1 | const = 1.0 |
| 6 | game-logic constant | constant | 1 | const = 1.0 |
| 7 | game-logic constant | constant | 1 | const = 1.0 |
| 8 | game-logic constant | constant | -0.2 | const = -0.20000000298023224 |
| 9 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 10 | game-logic constant | constant | 2.0, 0.5 | const = [2.0, 0.5] |
| 11 | game-logic constant | constant | 1.0, 0.5 | const = [1.0, 0.5] |
| 12 | game-logic constant | constant | 2.0, 0.5 | const = [2.0, 0.5] |
| 13 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |
| 14 | game-logic constant | constant | 0.0, -1.5, 0.0, 1.0 | const = [0.0, -1.5, 0.0, 1.0] |
| 15 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 16 | game-logic constant | constant | 0.0, 2.0, 1.0 | const = [0.0, 2.0, 1.0] |
| 17 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('WARD_forma… |
| 18 | game-logic constant | constant | 1000 | const = 1000.0 |
| 19 | game-logic constant | constant | 2 | const = 2.0 |
| 20 | game-logic constant | constant | 0.5, 1.5 | const = [0.5, 1.5] |
| 21 | game-logic constant | constant | 15 | const = 15.0 |
| 22 | game-logic constant | constant | 1 | const = 1.0 |
| 23 | game-logic constant | constant | 0.3 | const = 0.30000001192092896 |
| 24 | game-logic constant | constant | 1 | const = 1.0 |
| 25 | asset / particle path | visual | particles/airplanes/Air_break.xml | const = particles/airplanes/Air_break.xml |
| 26 | asset / particle path | visual | particles/airplanes/Air_brokenParts.xml | const = particles/airplanes/Air_brokenParts.xml |
| 27 | game-logic constant | constant | particles/airplanes/Air_death_1.xml, particles… | const = ['particles/airplanes/Air_death_1.xml', … |
| 28 | game-logic constant | constant | particles/airplanes/Air_explosion_1.xml, parti… | const = ['particles/airplanes/Air_explosion_1.xm… |
| 29 | game-logic constant | constant | particles/airplanes/Air_explosion_1.xml, parti… | const = ['particles/airplanes/Air_explosion_1.xm… |
| 30 | asset / particle path | visual | particles/airplanes/Air_state_4_fire.xml | const = particles/airplanes/Air_state_4_fire.xml |
| 31 | asset / particle path | visual | particles/airplanes/Air_gunfire.xml | const = particles/airplanes/Air_gunfire.xml |
| 32 | asset / particle path | visual | particles/airplanes/Air_hit_1.xml | const = particles/airplanes/Air_hit_1.xml |
| 33 | game-logic constant | constant | particles/airplanes/Air_state_1_smoke.xml, par… | const = ['particles/airplanes/Air_state_1_smoke.… |
| 34 | needs identifying | needs ID | 35 | [35 – 45], med 35 · 2 distinct · tracks caliber (r=0.60) · tracks class (r=0.50) · tracks nation (r=0.93) |
| 35 | game-logic constant | constant | -45 | const = -45.0 |
| 36 | game-logic constant | constant | – | const = None |
| 37 | game-logic constant | constant | 0 | const = 0.0 |
| 38 | attackCooldown - delay between attack runs (s). | mapped | 5 | const = 5.0 |
| 39 | game-logic constant | constant | 1 | const = 1 |
| 40 | game-logic constant | constant | 0 | const = 0.0 |
| 41 | game-logic constant | constant | 1 | const = 1.0 |
| 42 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('WARD_forma… |
| 43 | game-logic constant | constant | 2.5 | const = 2.5 |
| 44 | game-logic constant | constant | 1 | const = 1.0 |
| 45 | game-logic constant | constant | 1 | const = 1 |
| 46 | game-logic constant | constant | 0.3 | const = 0.30000001192092896 |
| 47 | game-logic constant | constant | 0.3 | const = 0.30000001192092896 |
| 48 | Aircraft payload ID - the Bomb / Torpedo / Rocket entity this aircraft drops. Read by the spec reader:1168 to resolve airstrike / CV-squadron payloads. PC field name candidate: `bombName` or `payload`. | mapped | const = | |
| 49 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 50 | game-logic constant | constant | 2.75, 2.75 | const = [2.75, 2.75] |
| 51 | game-logic constant | constant | 0.6000000238418579, 0.6000000238418579 | const = [0.6000000238418579, 0.6000000238418579] |
| 52 | game-logic constant | constant | 2.75, 2.75 | const = [2.75, 2.75] |
| 53 | game-logic constant | constant | 70 | const = 70.0 |
| 54 | game-logic constant | constant | 70 | const = 70.0 |
| 55 | game-logic constant | constant | 20 | const = 20.0 |
| 56 | game-logic constant | constant | 20 | const = 20.0 |
| 57 | game-logic constant | constant | 30 | const = 30.0 |
| 58 | game-logic constant | constant | 30 | const = 30.0 |
| 59 | game-logic constant | constant | 0.01 | const = 0.009999999776482582 |
| 60 | game-logic constant | constant | 0.01 | const = 0.009999999776482582 |
| 61 | game-logic constant | constant | 20 | const = 20.0 |
| 62 | game-logic constant | constant | 0.7 | const = 0.699999988079071 |
| 63 | game-logic constant | constant | 0.7 | const = 0.699999988079071 |
| 64 | game-logic constant | constant | 20 | const = 20.0 |
| 65 | game-logic constant | constant | 20 | const = 20.0 |
| 66 | game-logic constant | constant | 30 | const = 30.0 |
| 67 | game-logic constant | constant | 30 | const = 30.0 |
| 68 | game-logic constant | constant | 40 | const = 40.0 |
| 69 | game-logic constant | constant | 40 | const = 40.0 |
| 70 | game-logic constant | constant | 30 | const = 30.0 |
| 71 | game-logic constant | constant | 30 | const = 30.0 |
| 72 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 73 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 74 | game-logic constant | constant | 0.7 | const = 0.699999988079071 |
| 75 | game-logic constant | constant | 1 | const = 1.0 |
| 76 | game-logic constant | constant | 1 | const = 1.0 |
| 77 | game-logic constant | constant | 0 | const = 0 |
| 78 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 3, '_repr': "[('stub', 'py… |
| 79 | game-logic constant | constant | -0 | const = -0.0 |
| 80 | game-logic constant | constant | 0 | const = 0.0 |
| 81 | game-logic constant | constant | 120 | const = 120.0 |
| 82 | game-logic constant | constant | 3 | const = 3.0 |
| 83 | game-logic constant | constant | 2.5 | const = 2.5 |
| 84 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.001, 0.005, 1.0, 1.25], 'pitc… |
| 85 | game-logic constant | constant | 0.8 | const = 0.800000011920929 |
| 86 | game-logic constant | constant | 0.30000001192092896, 1.0 | const = [0.30000001192092896, 1.0] |
| 87 | game-logic constant | constant | 1.0, 0.5 | const = [1.0, 0.5] |
| 88 | game-logic constant | constant | 0.30000001192092896, 1.0 | const = [0.30000001192092896, 1.0] |
| 89 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |
| 90 | game-logic constant | constant | 0.0, -0.5, 0.0, 1.0 | const = [0.0, -0.5, 0.0, 1.0] |
| 91 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 92 | game-logic constant | constant | 0.0, 3.5, 0.5 | const = [0.0, 3.5, 0.5] |
| 93 | game-logic constant | constant | const = | |
| 94 | game-logic constant | constant | 0.25 | const = 0.25 |
| 95 | game-logic constant | constant | 0.75 | const = 0.75 |
| 96 | game-logic constant | constant | 1.0, 2.0 | const = [1.0, 2.0] |
| 97 | game-logic constant | constant | 1.0, 0.5 | const = [1.0, 0.5] |
| 98 | game-logic constant | constant | 1.0, 2.0 | const = [1.0, 2.0] |
| 99 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |
| 100 | game-logic constant | constant | 0.0, -10.0, 10.0, 0.5 | const = [0.0, -10.0, 10.0, 0.5] |
| 101 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 102 | game-logic constant | constant | 0.0, 3.5, 0.5 | const = [0.0, 3.5, 0.5] |
| 103 | game-logic constant | constant | 1 | const = 1.0 |
| 104 | game-logic constant | constant | 1.2 | const = 1.2000000476837158 |
| 105 | game-logic constant | constant | 0.66 | const = 0.6600000262260437 |
| 106 | game-logic constant | constant | 0.66 | const = 0.6600000262260437 |
| 107 | game-logic constant | constant | 1 | const = 1.0 |
| 108 | asset / particle path | visual | particles/airplanes/Air_state_3_fire.xml | const = particles/airplanes/Air_state_3_fire.xml |
| 109 | asset / particle path | visual | particles/airplanes/Air_enginelight.xml | const = particles/airplanes/Air_enginelight.xml |
| 110 | needs identifying | needs ID | Standard | 2 distinct · tracks caliber (r=0.80) · tracks class (r=0.75) · tracks nation (r=0.86) |
| 111 | game-logic constant | constant | 90 | const = 90.0 |
| 112 | game-logic constant | constant | 90 | const = 90.0 |
| 113 | game-logic constant | constant | 50 | const = 50.0 |
| 114 | game-logic constant | constant | 100 | const = 100.0 |
| 115 | game-logic constant | constant | 30 | const = 30.0 |
| 116 | game-logic constant | constant | 120 | const = 120.0 |
| 117 | game-logic constant | constant | 130 | const = 130.0 |
| 118 | needs identifying | needs ID | 100 | [100 – 141], med 141 · 2 distinct · tracks nation (r=0.86) |
| 119 | game-logic constant | constant | const = | |
| 120 | game-logic constant | constant | PCPP001_Default_Storming | const = PCPP001_Default_Storming |
| 121 | game-logic constant | constant | 45 | const = 45.0 |
| 122 | game-logic constant | constant | 30 | const = 30.0 |
| 123 | game-logic constant | constant | 10 | const = 10.0 |
| 124 | game-logic constant | constant | 120 | const = 120.0 |
| 125 | needs identifying | needs ID | 30 | [14 – 30], med 14 · 2 distinct · tracks class (r=0.50) · tracks nation (r=0.86) |
| 126 | needs identifying | needs ID | 100 | [40 – 100], med 100 · 2 distinct · tracks class (r=0.50) · tracks nation (r=0.93) |
| 127 | asset / particle path | visual | particles/airplanes/Air_screen_fly.xml | const = particles/airplanes/Air_screen_fly.xml |
| 128 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('WARD_forma… |
| 129 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('DveTroiki'… |
| 130 | game-logic constant | constant | 0 | const = 0.0 |
| 131 | game-logic constant | constant | 0 | const = 0.0 |
| 132 | asset / particle path | visual | particles/airplanes/Air_forsage.xml | const = particles/airplanes/Air_forsage.xml |
| 133 | game-logic constant | constant | 0.5 | const = 0.5 |
| 134 | game-logic constant | constant | 0.5 | const = 0.5 |
| 135 | asset / particle path | visual | particles/airplanes/Air_forsage_screen.xml | const = particles/airplanes/Air_forsage_screen.x… |
| 136 | game-logic constant | constant | 10 | const = 10.0 |
| 137 | needs identifying | needs ID | 90 | [90 – 180], med 90 · 2 distinct · tracks caliber (r=0.60) · tracks class (r=0.75) · tracks nation (r=0.93) |
| 138 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 5, '_repr': '[(0.0, 0.0), … |
| 139 | game-logic constant | constant | particles/airplane_ground_destroy.xml, particl… | const = ['particles/airplane_ground_destroy.xml'… |
| 140 | reference to another entity | sub-entity | → sub-entity | const = {'restoreAmount': 1, 'timeToRestore': 0.… |
| 141 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.04, 0.06, 0.1, 0.2], 'duratio… |
| 142 | game-logic constant | constant | 10 | const = 10.0 |
| 143 | game-logic constant | constant | 19 | const = 19.0 |
| 144 | game-logic constant | constant | False | const = False |
| 145 | game-logic constant | constant | True | const = True |
| 146 | game-logic constant | constant | True | const = True |
| 147 | game-logic constant | constant | const = | |
| 148 | game-logic constant | constant | 0 | const = 0.0 |
| 149 | asset / particle path | visual | particles/airplanes/Air_jato_smoke.xml | const = particles/airplanes/Air_jato_smoke.xml |
| 150 | game-logic constant | constant | 0 | const = 0.0 |
| 151 | asset / particle path | visual | particles/airplanes/Air_jato_falling.xml | const = particles/airplanes/Air_jato_falling.xml |
| 152 | asset / particle path | visual | particles/airplanes/Air_torpedo_ground_1.xml | const = particles/airplanes/Air_torpedo_ground_1… |
| 153 | game-logic constant | constant | 2 | const = 2.0 |
| 154 | asset / particle path | visual | particles/airplanes/Air_torpedo_ground_1.xml | const = particles/airplanes/Air_torpedo_ground_1… |
| 155 | asset / particle path | visual | particles/airplanes/Air_torpedo_drop.xml | const = particles/airplanes/Air_torpedo_drop.xml |
| 156 | game-logic constant | constant | 0.5 | const = 0.5 |
| 157 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('Landing_fo… |
| 158 | game-logic constant | constant | -4.0, 1.0 | const = [-4.0, 1.0] |
| 159 | game-logic constant | constant | 1.0, 0.5 | const = [1.0, 0.5] |
| 160 | game-logic constant | constant | 0.30000001192092896, 1.0 | const = [0.30000001192092896, 1.0] |
| 161 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |
| 162 | game-logic constant | constant | -0.20000000298023224, -0.5, 0.0, 1.0 | const = [-0.20000000298023224, -0.5, 0.0, 1.0] |
| 163 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 164 | game-logic constant | constant | 0.0, 3.5, 0.5 | const = [0.0, 3.5, 0.5] |
| 165 | game-logic constant | constant | -0.4 | const = -0.4000000059604645 |
| 166 | needs identifying | needs ID | 0.0001 | [0.0001 – 0.7], med 0.1 · 3 distinct · tracks class (r=0.50) · tracks nation (r=0.79) |
| 167 | needs identifying | needs ID | 7 | [2 – 7], med 2 · 2 distinct · tracks class (r=0.50) · tracks nation (r=0.86) |
| 168 | needs identifying | needs ID | 0.001 | [0.001 – 4], med 4 · 3 distinct · tracks caliber (r=0.60) · tracks class (r=0.75) · tracks nation (r=0.86) |
| 169 | needs identifying | needs ID | 7 | [5 – 9], med 7 · 5 distinct · tracks class (r=0.50) · tracks nation (r=0.71) |
| 170 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.04, 0.06, 0.1, 0.2], 'duratio… |
| 171 | game-logic constant | constant | 210 | const = 210.0 |
| 172 | game-logic constant | constant | 1.4 | const = 1.399999976158142 |
| 173 | game-logic constant | constant | 20 | const = 20.0 |
| 174 | needs identifying | needs ID | 950 | [950 – 1000], med 1000 · 2 distinct · tracks nation (r=0.86) |
| 175 | needs identifying | needs ID | 0.1 | [0.1 – 2], med 2 · 2 distinct · tracks nation (r=0.86) |
| 176 | game-logic constant | constant | 1 | const = 1.0 |
| 177 | game-logic constant | constant | 1 | const = 1.0 |
| 178 | game-logic constant | constant | 0 | const = 0 |
| 179 | game-logic constant | constant | 10 | const = 10.0 |
| 180 | game-logic constant | constant | 10 | const = 10.0 |
| 181 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 182 | game-logic constant | constant | 0 | const = 0 |
| 183 | game-logic constant | constant | 10 | const = 10.0 |
| 184 | game-logic constant | constant | 10 | const = 10.0 |
| 185 | needs identifying | needs ID | content/gameplay/germany/aircraft/fighter/GAF0… | 27 distinct |
| 186 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 15, '_repr': '[(1, 0.2), (… |
| 187 | game-logic constant | constant | 0 | const = 0.0 |
| 188 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 189 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 190 | reference to another entity | sub-entity | → sub-entity | const = {'yaw': [0.005, 0.01, 0.25, 0.5], 'pitch… |
| 191 | game-logic constant | constant | 190 | const = 190.0 |
| 192 | needs identifying | needs ID | 2 | [1 – 2], med 1 · 2 distinct · tracks caliber (r=0.60) · tracks class (r=0.75) · tracks nation (r=0.79) |
| 193 | game-logic constant | constant | 1 | const = 1.0 |
| 194 | numPlanesInSquadron - aircraft per squadron. | mapped | 1 | const = 1 |
| 195 | game-logic constant | constant | 8 | const = 8.0 |
| 196 | game-logic constant | constant | 1 | const = 1.0 |
| 197 | game-logic constant | constant | 4 | const = 4.0 |
| 198 | game-logic constant | constant | 5 | const = 5.0 |
| 199 | game-logic constant | constant | 100 | const = 100.0 |
| 200 | game-logic constant | constant | 1 | const = 1.0 |
| 201 | game-logic constant | constant | 0.5 | const = 0.5 |
| 202 | game-logic constant | constant | 1.3 | const = 1.2999999523162842 |
| 203 | game-logic constant | constant | const = [] | |
| 204 | needs identifying | needs ID | 4 | [2.85 – 4], med 3.28 · 11 distinct · tracks nation (r=0.71) |
| 205 | game-logic constant | constant | 3 | const = 3.0 |
| 206 | game-logic constant | constant | 3.5 | const = 3.5 |
| 207 | game-logic constant | constant | 1 | const = 1.0 |
| 208 | game-logic constant | constant | -0.2 | const = -0.20000000298023224 |
| 209 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 210 | game-logic constant | constant | 3.0, 1.0 | const = [3.0, 1.0] |
| 211 | game-logic constant | constant | 1.0, 0.5 | const = [1.0, 0.5] |
| 212 | game-logic constant | constant | 3.0, 1.0 | const = [3.0, 1.0] |
| 213 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |
| 214 | game-logic constant | constant | 0.0, -1.0, 0.0, 1.0 | const = [0.0, -1.0, 0.0, 1.0] |
| 215 | game-logic constant | constant | 1.0, 1.0 | const = [1.0, 1.0] |
| 216 | game-logic constant | constant | 0.0, 1.0, 1.0 | const = [0.0, 1.0, 1.0] |
| 217 | game-logic constant | constant | 30 | const = 30.0 |
| 218 | game-logic constant | constant | 1.5 | const = 1.5 |
| 219 | game-logic constant | constant | 0.5, 1.5 | const = [0.5, 1.5] |
| 220 | game-logic constant | constant | 1 | const = 1.0 |
| 221 | game-logic constant | constant | 1 | const = 1.0 |
| 222 | game-logic constant | constant | 0.3 | const = 0.30000001192092896 |
| 223 | game-logic constant | constant | 1 | const = 1 |
| 224 | game-logic constant | constant | 9999999 | const = 9999999.0 |
| 225 | game-logic constant | constant | 100 | const = 100.0 |
| 226 | game-logic constant | constant | 9999 | const = 9999.0 |
| 227 | game-logic constant | constant | 9999 | const = 9999.0 |
| 228 | game-logic constant | constant | 1.5 | const = 1.5 |
| 229 | game-logic constant | constant | 0.25 | const = 0.25 |
| 230 | game-logic constant | constant | 2 | const = 2.0 |
| 231 | game-logic constant | constant | 1 | const = 1.0 |
| 232 | game-logic constant | constant | 1000 | const = 1000.0 |
| 233 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 234 | game-logic constant | constant | 360 | const = 360.0 |
| 235 | game-logic constant | constant | 0.5 | const = 0.5 |
| 236 | needs identifying | needs ID | 170 | [90 – 175], med 143 · 20 distinct · tracks nation (r=0.50) |
| 237 | needs identifying | needs ID | 170 | [90 – 175], med 143 · 21 distinct · tracks nation (r=0.50) |
| 238 | needs identifying | needs ID | 90 | [68 – 100], med 90 · 11 distinct · tracks nation (r=0.64) |
| 239 | needs identifying | needs ID | 170 | [90 – 170], med 143 · 19 distinct · tracks nation (r=0.50) |
| 240 | game-logic constant | constant | 80 | const = 80.0 |
| 241 | speedMax - squadron max speed. | mapped | 1.5 | const = 1.5 |
| 242 | speedMin - squadron min speed. | mapped | 0.8 | const = 0.800000011920929 |
| 243 | needs identifying | needs ID | 170 | [90 – 170], med 144 · 17 distinct · tracks nation (r=0.50) |
| 244 | needs identifying | needs ID | 170 | [90 – 242], med 144 · 19 distinct · tracks nation (r=0.50) |
| 245 | needs identifying | needs ID | 90 | [90 – 161], med 115 · 14 distinct · tracks nation (r=0.57) |
| 246 | game-logic constant | constant | 4 | const = 4.0 |
| 247 | game-logic constant | constant | 1.25 | const = 1.25 |
| 248 | needs identifying | needs ID | 7.96 | [5.7 – 7.96], med 6.56 · 12 distinct · tracks nation (r=0.71) |
| 249 | game-logic constant | constant | 0 | const = 0.0 |
| 250 | game-logic constant | constant | 4 | const = 4.0 |
| 251 | game-logic constant | constant | 40.0, 40.0, 50.0 | const = [40.0, 40.0, 50.0] |
| 252 | game-logic constant | constant | 10 | const = 10.0 |
| 253 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('WARD_forma… |
| 254 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 2, '_repr': "(('USFighters… |
| 255 | game-logic constant | constant | 600 | const = 600.0 |
| 256 | game-logic constant | constant | 500 | const = 500.0 |
| 257 | game-logic constant | constant | const = | |
| 258 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 259 | game-logic constant | constant | 0.5 | const = 0.5 |
| 260 | game-logic constant | constant | 0.1 | const = 0.10000000149011612 |
| 261 | game-logic constant | constant | 100 | const = 100.0 |
| 262 | game-logic constant | constant | 45 | const = 45.0 |
| 263 | game-logic constant | constant | 98 | const = 98.0 |
| 264 | game-logic constant | constant | 14 | const = 14.0 |
| 265 | game-logic constant | constant | 98 | const = 98.0 |
| 266 | reference to another entity | sub-entity | → sub-entity | const = {'_list_len': 9, '_repr': '[(0.01, 0.0, … |
| 267 | game-logic constant | constant | 5 | const = 5.0 |
| 268 | needs identifying | needs ID | 8 | [8 – 10], med 10 · 2 distinct · tracks class (r=0.50) · tracks nation (r=0.86) |
| 269 | needs identifying | needs ID | 20 | [15 – 20], med 15 · 2 distinct · tracks class (r=0.50) · tracks nation (r=0.86) |
| 270 | needs identifying | needs ID | 3 | [3 – 4], med 4 · 2 distinct · tracks class (r=0.50) · tracks nation (r=0.86) |
| 271 | game-logic constant | constant | particles/airplanes/Air_water_explosion_1.xml,… | const = ['particles/airplanes/Air_water_explosio… |
| 272 | asset / particle path | visual | particles/airplane_water_effect.xml | const = particles/airplane_water_effect.xml |
| 273 | asset / particle path | visual | particles/airplanes/Air_waterstep.xml | const = particles/airplanes/Air_waterstep.xml |
Catapult
5 slots · 3 mapped (60%) · 0 constant · 0 visual · 0 sub-entity · 2 need ID
example: ↳ AB_AirArmament.state[6]['HP_GC_2'].state[0] - Catapult
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | Catapult launch angle (degrees). 90 = perpendicular to ship's heading; varies by ship/mount. | mapped | 0 | [-160 – 160], med 0 · 61 distinct |
| 1 | needs identifying | needs ID | 0 | [0 – 0.66], med 0 · 9 distinct · tracks nation (r=0.87) |
| 2 | Catapult active flag (bool). True on the 44 ships whose catapult is actively usable (typically ships with catapult-fighter / spotter consumables); False on the 604 mounts where the catapult is decorative-only. | mapped | True | 2 distinct · tracks nation (r=0.83) |
| 3 | Catapult model asset path. Per-nation distinct models (e.g. 'content/gameplay/japan/catapult/JC001_Catapult_Shiki2/JC001_Catapult_Shiki2.model' for IJN). | mapped | content/gameplay/germany/catapult/GC001_Catapu… | 70 distinct |
| 4 | needs identifying | needs ID | 0.1 | [0 – 12], med 1.25 · 13 distinct |
ModelWithGunNode 4 slots · 0 mapped (0%) · 1 constant · 0 visual · 0 sub-entity · 3 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | needs identifying | needs ID | – | 14 distinct · tracks class (r=0.50) · tracks nation (r=0.83) |
| 1 | needs identifying | needs ID | – | 13 distinct · tracks class (r=0.50) · tracks nation (r=0.77) |
| 2 | game-logic constant | constant | False | const = False |
| 3 | needs identifying | needs ID | – | 224 distinct |
Other entities
Cap
2 slots · 0 mapped (0%) · 1 constant · 0 visual · 0 sub-entity · 1 need ID
example: ↳ B_Hull.state[90]['HP_GGS_12_HP_GGA_1'] - Cap
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | game-logic constant | constant | True | const = True |
| 1 | needs identifying | needs ID | 14 distinct · tracks nation (r=0.84) |
TorpedoTube 28 slots · 13 mapped (46%) · 7 constant · 0 visual · 1 sub-entity · 7 need ID not on this ship
| # | Field / what we know | Status | Bismarck value | Catalog range · notes |
|---|---|---|---|---|
| 0 | reference to another entity | sub-entity | → sub-entity | 148 distinct |
| 1 | needs identifying | needs ID | – | 20 distinct · tracks nation (r=0.86) |
| 2 | ammoList - torpedo projectile entity IDs this tube fires (PC field name confirmed via FilteredShip Data2Json/filters/Gun.py:TORPEDO_KEYS). Read by the spec reader as 'projectiles'. | mapped | – | 320 distinct |
| 3 | Arming-time map {hitLocationId : armingTime_s}. Constant {'65580': 6.0} across every captured ship - 6.0 seconds is the base arming time. The in-game spec-card 'Torp Arming (m)' display approximates `6.0 * torp_speed_mps` (Halland 86kt -> 265m vs displayed 261m; Brisbane 69kt -> 213m vs 215m; Castilla 62kt -> 191m vs 196m; residual +/-5m per-ship correction not yet isolated). 2026-05-31 after fixing the dumper's launcher-recursion gap. | mapped | → sub-entity | 7 distinct · tracks nation (r=0.69) |
| 4 | barrelDiameter (m; *1000 => mm) | mapped | – | [0.45 – 0.7], med 0.533 · 9 distinct · tracks nation (r=0.71) |
| 5 | game-logic constant | constant | – | const = None |
| 6 | dead-mesh model path (destroyed launcher visual). | mapped | – | 148 distinct |
| 7 | needs identifying | needs ID | – | 158 distinct |
| 8 | torpedoAngles - launch direction angles per tube (PC field name confirmed; read by extractor as 'launch_angles'). | mapped | – | 150 distinct |
| 9 | game-logic constant | constant | const = | |
| 10 | rotationSpeed - horizontal traverse arc / rotation in deg (PC field name confirmed; read by extractor as 'traverse_arc_deg'). | mapped | – | 3 distinct · tracks caliber (r=0.86) · tracks class (r=0.89) · tracks nation (r=0.97) |
| 11 | needs identifying | needs ID | – | 24 distinct |
| 12 | needs identifying | needs ID | – | 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.89) · tracks nation (r=0.97) |
| 13 | mount model path (intact launcher visual). | mapped | – | 148 distinct |
| 14 | needs identifying | needs ID | – | 2 distinct · tracks caliber (r=0.86) · tracks class (r=0.89) · tracks nation (r=0.97) |
| 15 | numAmmos (ready-rack torpedo count) | mapped | 1000 | const = 1000 |
| 16 | numBarrels (tubes on this launcher) | mapped | – | [1 – 6], med 3 · 6 distinct |
| 17 | needs identifying | needs ID | – | 102 distinct |
| 18 | Constant [25.0, 25.0] across every captured launcher. | mapped | – | 3 distinct · tracks nation (r=0.91) |
| 19 | reload time (s) | mapped | – | [12 – 171], med 88 · 86 distinct |
| 20 | needs identifying | needs ID | – | 2 distinct |
| 21 | game-logic constant | constant | – | const = None |
| 22 | timeBetweenShots (s, intra-salvo) | mapped | 0.2 | const = 0.20000000298023224 |
| 23 | game-logic constant | constant | 1 | const = 1 |
| 24 | game-logic constant | constant | 1 | const = 1 |
| 25 | Two-element spread/timing pair: [narrow_mode_t, wide_mode_t] candidate. Per ship: Halland [3.0, 6.0] (5-tube DD launcher), Brisbane [2.4, 6.0] (5-tube), Castilla [6.0, 20.0] (5-tube CA), Jinan [6.0, 20.0] (5-tube CL), Venezia [3.6, 12.0] (3-tube CA), Vampire-II [3.6, 6.0] (5-tube). Second element always >= first; the spread between values likely controls narrow-vs-wide torpedo aiming-arc behavior. | mapped | – | 19 distinct |
| 26 | game-logic constant | constant | – | const = None |
| 27 | game-logic constant | constant | 0.0, 1.0 | const = [0.0, 1.0] |