weapon damage: confirm Damage*DataComponents absent from item/ammo bundles (runtime/server-only); rank routes to base numbers
This commit is contained in:
@@ -12,6 +12,25 @@ and the formula function (RVAs below); the literal constants need a different me
|
|||||||
end). This corrects an earlier draft that wrongly concluded "no value exists" — the values
|
end). This corrects an earlier draft that wrongly concluded "no value exists" — the values
|
||||||
**are** live at runtime; they just aren't statically anchorable constants.
|
**are** live at runtime; they just aren't statically anchorable constants.
|
||||||
|
|
||||||
|
**Confirmed 2026-06-16 (offline, `bundle/dump_blueprint.py`): the `Damage*DataComponent`s are
|
||||||
|
NOT authored on the item/ammo EntityBlueprints in the bundles.** Decoded `item_grenadeContact`,
|
||||||
|
`item_shotgunAmmo`, `item_pistolAmmo`, `item_shotgun`, `item_revolverSmall_dusters` — every one
|
||||||
|
has only generic components (InteractActions, Count, ItemName, ItemType, NiceName, View,
|
||||||
|
ViewSize, colliders, Physics); **zero** `Damage{Physical,…}DataComponent` / `MeleeDataComponent`
|
||||||
|
/ AoE. The only `.value` floats present are `ViewSizeDataComponent` (~0.3–0.97), not damage. So
|
||||||
|
`GetDamage`'s `DamageXxxDataComponent.value` reads are populated **at runtime (server-authoritative)**
|
||||||
|
— there is no per-weapon damage constant in the bundles *or* as a static anchor in the DLL.
|
||||||
|
|
||||||
|
**Ways to get actual base numbers, ranked:**
|
||||||
|
- ✅ **In-game empirical measurement** (controlled damage tests) — the only clean route.
|
||||||
|
- ⚠️ Live-client runtime memory (the components hold real values once spawned) — but that's
|
||||||
|
process inspection → **BattlEye / no injection** → off-limits.
|
||||||
|
- ❌ Static extraction (bundles) — values absent (proven above).
|
||||||
|
- ❌ Static decompile constant — none exists (generic Entitas dispatch).
|
||||||
|
- ❌ Master-server query — no damage field / no stats endpoint (see [MASTER_SERVER.md](MASTER_SERVER.md)).
|
||||||
|
- ❓ Game-server (not master) entity-snapshot capture *might* carry component values, but unverified
|
||||||
|
and the server may only transmit results, not per-weapon stats.
|
||||||
|
|
||||||
## Damage model (all static, all in `il2cpp/dump.cs` + verified by disasm)
|
## Damage model (all static, all in `il2cpp/dump.cs` + verified by disasm)
|
||||||
|
|
||||||
Per-type damage lives as a `float value` (object offset **+0x10**) on 8 components on the
|
Per-type damage lives as a `float value` (object offset **+0x10**) on 8 components on the
|
||||||
|
|||||||
Reference in New Issue
Block a user