You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
AdLike2048/docs/方案-atk_type12与13.md

4.6 KiB

方案:atk_type 12 穿透散射箭 / 13 连发箭 / 17 不穿透散射箭

状态:已按确认规则落地
日期:2026-09-02
关联:方案-战斗技能逻辑层.md、方案-战斗表现数据驱动.md

1. 配表

atk_type 名称 atk_para
12 穿透散射箭 散射箭数量, 邻箭夹角(度), 伤害系数(万分比)
13 连发箭 连发数量, 间隔时间(秒), 伤害系数(万分比)
17 不穿透散射箭 散射箭数量, 邻箭夹角(度), 伤害系数(万分比)
  • 灵宝弓 12,5,12,10000:5 箭、夹角 12°、100% 攻击
  • 射日弓 13,3,0.2,10000:3 发、间隔 0.2s、100% 攻击
  • 试作 17,2,12,10000 / 17,3,12,10000:2/3 箭、夹角 12°、100% 攻击(400002/400003)

被动 result 10 把上述形态写到宿主普攻。

2. 已确认规则

12 散射

  • 一支沿施法点→主目标连线;其余按夹角向左右对称增加。
  • 只配奇数;若偶数,多出的一支补在世界 +Y 更大的一侧。
  • 直线飞行,无限穿透,每箭每敌只伤一次。
  • 飞行距离 = 出手时塔射程 × 2。
  • 开战只锁主目标当瞄准;伤害由体盒 tick,不是 ctx.hit()。
  • 体盒与表现箭同在 Cocos 世界(Y 向上),对怪腰点做 OBB,占地按半格放大;worldToCell 仅用于候选查询(先把箭位映回逻辑格)。不可把格子逻辑坐标(Y 向下)拿去跟画面箭比。

17 不穿透散射

  • 扇出、瞄准、飞行距离、体盒判定与 12 完全一致(atk_para 同构)。
  • 首中即消耗:每支箭只伤碰到的第一只怪,结算后逻辑弹道移除;表现箭若已飞出可见距离当场回收,出手瞬间命中(近距首中)则保底再飞 0.08s 再回收,避免像没发射;未碰怪则飞满全程消失。
  • 其余规则(奇偶补支、开战只锁主目标当瞄准、伤害可暴击走 atk_buff)同 12。
  • 弓字形塔(Gong)宿主:武器通道未挂载(useWeapon=false),通用散射箭模板缺失,故 12/17 注册 BowScatterAtkPresenter——宿主为 Gong 时用其自身「英雄弓-攻击/投掷物」扇出(拉满时刻发射,直线飞行);普攻行被被动 result 10 覆盖形态时(skillId 仍 10041~10045),Gong.presentNormAttack 按 atkType 头分流到同一散射出手。

13 连发

  • 每发只打首次锁定的那个目标,不重新索敌。
  • 配表发数打满:目标中途死亡也继续发射,箭飞向最后瞄准点;落地时目标已死则不结算。
  • 伤害在箭落地时结算(与 atk_type=4 普攻落地结算相同)。
  • 固定 3 条弹道循环(发次 i % 3),与配表连发数无关:
    • 第 1 路:武器→目标直线
    • 第 2 路:左侧向外弯的抛物线(同落点)
    • 第 3 路:右侧向外弯的抛物线(同落点)
    • 例:3 连发 = 中、左、右;4 连发则第 4 发再走中间直线
  • 落地:目标可伤则结算;已死不结算,但仍回收表现箭(VolleyShot.onLand)。
  • 施法锁:持续到最后一发射出且攻击动画结束(取较晚者);holdCasting 避免拉弓结束提前收招丢后几发;在飞箭不挡下一击。

3. 实现

层 位置
Ability SkillAbilityBuilder:12/13/17 索敌单体;timeline 仅 PlayPresentation
逻辑弹道 BowAtkRuntime(对标直线火龙 OBB;12 穿透 / 17 首中消耗)
表现 SkillVisualChannel.launchScatterArrows / launchVolleyShot
播控 ScatterPierceAtkPresenter(12/17)/ VolleyArrowAtkPresenter;Skill.scheduleBowShapeLaunch

速度与普通弓箭相同:1280 px/s。

4. 修订

日期 说明
2026-09-08 射日弓间隔改为 0.2s;连发三箭落点同目标、弧线按发次区分
2026-09-08 修复连发提前收招只见两发;holdCasting + 弦中点高低/左右弧
2026-09-11 连发改为中/左/右三弹道循环:中间直线,左右向外弯抛物线
2026-09-11 射日弓飞出投掷物缩放 0.6,其它弓保持 1
2026-09-30 atk_type=17 不穿透散射箭:首中即消耗(伤害+回收表现箭),扇出/瞄准/体盒同 12(400002/400003)
2026-09-30 弓字形塔宿主散射:12/17 注册 BowScatterAtkPresenter,Gong 用自身「英雄弓-攻击/投掷物」扇出;普攻被 result 10 覆盖为 12/17 时 presentNormAttack 同步分流
2026-09-30 修复散射箭出发点偏移(重挂 flyLayer 丢世界坐标)与近距首中箭秒删像没发射(消耗保底可视飞行 0.08s)