urt-rs / docs /research /QVM_DAMAGE_PROTECTION.md
nmarshall's picture
qvm: damage protection and armor gates
d24d8b9
|
Raw History Blame Contribute Delete
1.12 kB

Damage protection and armor location selection

RE-703. Reproduce with python3 scripts/analyze_qvm_damage_protection.py; check with python3 scripts/test_qvm_damage_protection.py. The machine report retains source identity and bounded fixtures.

The source range289595–289761 uses signed millisecond arithmetic: time minus client4140 must be at least protection_seconds×1000. Mode9 returns zero first; active protection captures278003(attacker,110,targetID). Accepted inputs copy context68 to the location output. Locations1/2 resolve to1 without item22 or2 with it;3/4 resolve to3 without item17 or4 with it. Actual inventory routines require positive client208 and search exactly16 slots using the low byte. Slot16 is excluded. Clock, client presence and inventory inputs are explicit fixtures. Notification effects and damage continuation remain open.

No original executable/full QVM/native collision/physics/rendering executes. Native responses and legal input domains are supplied or unverified where stated; full runtime/macOS/Linux Rust/Bevy/Solari gameplay remains open.