Browse Source

取消AI音效

woso_javan 2 months ago
parent
commit
d1ae286741

+ 5 - 2
assets/module_storm_sunder/Script/Component/PropComponent.ts

@@ -48,7 +48,7 @@ export class PropComponent extends Component {
     }
 
     //受伤
-    async hurt(damage: number) {
+    async hurt(damage: number, ai: boolean) {
         if (this.status == PropStatus.DIE) return;
 
         this.currentHp -= damage;
@@ -62,7 +62,10 @@ export class PropComponent extends Component {
 
         //小于0时死亡
         if (this.currentHp <= 0) {
-            StormSunderAudioMgr.playOneShot(StormSunderAudioMgr.getMusicIdName(4), 1.0);
+            if (!ai) {
+                StormSunderAudioMgr.playOneShot(StormSunderAudioMgr.getMusicIdName(4), 1.0);
+            }
+
             this.currentHp = 0;
             this.status = PropStatus.DIE;
             Effect2DUIMgr.Instance.removeBlood(this.node);

+ 5 - 29
assets/module_storm_sunder/Script/Component/TornadoComponent.ts

@@ -135,7 +135,10 @@ export class TornadoComponent extends Component {
     }
 
     protected onKilledHandler(targetTornado: TornadoComponent) {
-        StormSunderAudioMgr.playOneShot(StormSunderAudioMgr.getMusicIdName(5), 1.0);
+        if (!this.ai) {
+            StormSunderAudioMgr.playOneShot(StormSunderAudioMgr.getMusicIdName(5), 1.0);
+        }
+
         this.curHitObj = targetTornado.node;
         this.addExpByKill();
         this.killed(targetTornado.node);
@@ -202,7 +205,7 @@ export class TornadoComponent extends Component {
 
                 if (propComponent.status == PropStatus.DIE) return
                 // 造成伤害
-                propComponent.hurt(this.attack);
+                propComponent.hurt(this.attack, this.ai);
 
                 // 检查道具是否被摧毁
                 if (propComponent.currentHp <= 0) {
@@ -233,33 +236,6 @@ export class TornadoComponent extends Component {
                     this.addExpByKill();
                 }
             }
-        } else if (otherCollider.getGroup() == 1 << 3) {
-            const targetTornado = otherCollider.node.parent.getComponent(TornadoComponent);
-            if (!targetTornado) return;
-
-            if (event.selfCollider.node.name == 'RigibodyStorm') {
-                if (event.otherCollider.node.name == 'RigibodyStorm') {
-                    const distance = Vec3.distance(event.selfCollider.node.worldPosition, otherCollider.node.worldPosition);
-
-                    // 增加碰撞检测的容差范围
-                    const collisionThreshold = 3;  // 增加检测范围
-                    if (distance <= collisionThreshold) {
-                        // 添加额外的速度检查,确保不会因为速度太快而错过碰撞
-                        const relativeSpeed = Math.abs(this.speed - targetTornado.speed);
-                        const minSpeedThreshold = 5;  // 最小速度阈值
-
-                        if (relativeSpeed >= minSpeedThreshold || distance <= 1.5) {  // 如果速度差够大或距离非常近
-                            if (this.currentLv > targetTornado.currentLv) {
-                                StormSunderAudioMgr.playOneShot(StormSunderAudioMgr.getMusicIdName(5), 1.0);
-                                this.curHitObj = targetTornado.node;
-                                this.addExpByKill();
-                                this.killed(targetTornado.node);
-                                Effect2DUIMgr.inst.addPKInfo(this.nickName, targetTornado.nickName);
-                            }
-                        }
-                    }
-                }
-            }
         } else if (otherCollider.getGroup() === 1 << 2) { // 处理障碍物持续碰撞
             // 如果正在碰撞中,直接返回
             if (this.isColliding) return;