钢琴Boss大激光修复:idx从2改4+判断逻辑仿泰伦触手

- 根因:b.idx===2对应歼灭者,激光钢琴实际索引是4
- 判断逻辑仿泰伦触手重写:直接计算炮塔绝对坐标,Math.abs(p.x-炮塔x)<14
- 增加p.y<b.y+130垂直范围限制,避免全屏检测
This commit is contained in:
JOJO 2026-08-06 14:39:12 +08:00
parent e2e1baf35d
commit bc9f54df53

View File

@ -351,15 +351,16 @@ function updateBoss(){
} }
const lck=(b.laserT||0)>0; // 巨宽核心激光期间压制其他攻击 const lck=(b.laserT||0)>0; // 巨宽核心激光期间压制其他攻击
// 钢琴大炮塔惩罚激光——玩家站在炮塔正下方蓄力1秒后发射99999伤害大激光 // 钢琴大炮塔惩罚激光——玩家站在炮塔正下方蓄力1秒后发射99999伤害大激光
if(b.idx===2&&!lck){ if(b.idx===4&&!lck){
const off0=b.phase>=1?16:0,p=G.p,warnW=14; const off0=b.phase>=1?16:0,p=G.p;
if(p.dead<=0&&Math.abs(p.x-b.x+(112+off0))<warnW&&p.y>b.y){ const leftX=b.x-(112+off0),rightX=b.x+(112+off0);
if(p.dead<=0&&Math.abs(p.x-leftX)<14&&p.y>b.y&&p.y<b.y+130){
b.pedLasL=(b.pedLasL||0)+1; b.pedLasL=(b.pedLasL||0)+1;
if(b.pedLasL>=60){bossBeam(b.x-(112+off0),b.y+10,b.x-(112+off0),H+8,6,"#ff3355",10,40,99999,{b,ox:-(112+off0),oy:10,followX2:true});b.pedLasL=0;SFX.warn();} if(b.pedLasL>=60){bossBeam(leftX,b.y+10,leftX,H+8,6,"#ff3355",10,40,99999,{b,ox:-(112+off0),oy:10,followX2:true});b.pedLasL=0;SFX.warn();}
}else b.pedLasL=0; }else b.pedLasL=0;
if(p.dead<=0&&Math.abs(p.x-b.x-(112+off0))<warnW&&p.y>b.y){ if(p.dead<=0&&Math.abs(p.x-rightX)<14&&p.y>b.y&&p.y<b.y+130){
b.pedLasR=(b.pedLasR||0)+1; b.pedLasR=(b.pedLasR||0)+1;
if(b.pedLasR>=60){bossBeam(b.x+(112+off0),b.y+10,b.x+(112+off0),H+8,6,"#ff3355",10,40,99999,{b,ox:(112+off0),oy:10,followX2:true});b.pedLasR=0;SFX.warn();} if(b.pedLasR>=60){bossBeam(rightX,b.y+10,rightX,H+8,6,"#ff3355",10,40,99999,{b,ox:(112+off0),oy:10,followX2:true});b.pedLasR=0;SFX.warn();}
}else b.pedLasR=0; }else b.pedLasR=0;
} }
// —— 主攻击 —— // —— 主攻击 ——