返回 Bug 清单
BUG-0667project-57高已修复backend-logic
子弹归属链路打通 — CollisionSystem→game_loop→CombatSystem→handle_player_death
发现:2026-10-09验证:2026-10-09置信度:70%
症状
commit 2b3f3cb3f64e (2026-09-12) fix: 子弹归属链路打通 — CollisionSystem→game_loop→CombatSystem→handle_player_death
根因
commit message 描述: fix: 子弹归属链路打通 — CollisionSystem→game_loop→CombatSystem→handle_player_death
修复方案
修复 86 行,删除 24 行。改动文件: src/core/collision.py, src/server/game_server.py
错误签名
fix: 子弹归属链路打通 — CollisionSystem→game_loop→CombatSystem→handle_player_death [collision.py] Bullet 归属权威化
- 新增 Bullet dataclass: shooter_id / weapon / origin_x / origin_y / speed
- add_bullet(x, y, direction, shooter_id, weapon) 加归属参数,origin 记录发射起点
- update() 子弹位置更新时保留全部归属字段(不再是三元组 tuple 丢数据)
- check_collisions() bullet_hit dict 新增 shooter_id / weapon / flight_distance
- 自伤过滤: bullet_hit 跳过 player_id == shooter_id 的情况
[game_server.py] game_loop bullet_hit 路径接入完整链路
- 消除硬编码 player.health技术信息
来源项目
project-57
涉及文件
src/core/collision.py, src/server/game_server.py
标签
git-sweep, auto-ingested, project-57, mcp-reported, source-agent