返回 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