yyl
2026-01-29 83ff2cfc367d3227449fa8414a25541374929ecb
Main/System/Battle/SkillEffect/BulletSkillEffect.cs
@@ -146,9 +146,9 @@
                    continue;
                }
                minimumIndex = Mathf.Min(target.teamHero.positionNum, minimumIndex);
                minimumIndex = Mathf.Min(target.GetPositionNum(), minimumIndex);
                if (target.Camp == battleCamp && target.teamHero.positionNum < 3)
                if (target.Camp == battleCamp && target.GetPositionNum() < 3)
                {
                    targetIndex = 1;
                    break;
@@ -172,7 +172,7 @@
    private void ShotToIndex(BattleCamp camp, int targetIndex, int bulletIndex)
    {
        RectTransform targetTransform = caster.battleField.GetTeamNode(camp, targetIndex);
        BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.BulletEffectId, caster.GetRectTransform(), caster.Camp, caster.teamHero.modelScale);
        BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.BulletEffectId, caster.GetRectTransform(), caster.Camp, caster.GetModelScale());
        RectTransform effectTrans = effectPlayer.transform as RectTransform;
@@ -198,8 +198,8 @@
                    continue;
                }
                PlayExplosionEffect(skillConfig.ExplosionEffect3, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                PlayExplosionEffect(skillConfig.ExplosionEffect4, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                PlayExplosionEffect(skillConfig.ExplosionEffect3, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                PlayExplosionEffect(skillConfig.ExplosionEffect4, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
            }
            // 表现子弹飞行到目标位置
@@ -238,13 +238,13 @@
                    continue;
                }
                if (target.Camp == battleCamp && target.teamHero.positionNum > 3)
                if (target.Camp == battleCamp && target.GetPositionNum() > 3)
                {
                    targetIndex = 4;
                    break;
                }
                maxinumIndex = Mathf.Max(target.teamHero.positionNum, maxinumIndex);
                maxinumIndex = Mathf.Max(target.GetPositionNum(), maxinumIndex);
            }
            if (targetIndex == int.MaxValue)
@@ -276,7 +276,7 @@
                continue;
            }
            minimumIndex = Mathf.Min(target.teamHero.positionNum, minimumIndex);
            minimumIndex = Mathf.Min(target.GetPositionNum(), minimumIndex);
        }
        if (minimumIndex != int.MaxValue)
@@ -296,7 +296,7 @@
    private void SelfShoting(int index)
    {
        // 默认只选自己,自己为主目标
        ShotToIndex(caster.Camp, caster.teamHero.positionNum, index);
        ShotToIndex(caster.Camp, caster.GetPositionNum(), index);
    }
    //  散射
@@ -328,7 +328,7 @@
    private void ScatterShot(BattleObject target, HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, int bulletIndex, int order)
    {
        BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.BulletEffectId, caster.GetRectTransform(), caster.Camp, caster.teamHero.modelScale);
        BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.BulletEffectId, caster.GetRectTransform(), caster.Camp, caster.GetModelScale());
        bool shotToSelf = target.ObjID == caster.ObjID;
@@ -348,10 +348,10 @@
                    continue;
                }
                PlayExplosionEffect(skillConfig.ExplosionEffectId, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                PlayExplosionEffect(skillConfig.ExplosionEffect2, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                PlayExplosionEffect(skillConfig.ExplosionEffect3, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                PlayExplosionEffect(skillConfig.ExplosionEffect4, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                PlayExplosionEffect(skillConfig.ExplosionEffectId, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                PlayExplosionEffect(skillConfig.ExplosionEffect2, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                PlayExplosionEffect(skillConfig.ExplosionEffect3, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                PlayExplosionEffect(skillConfig.ExplosionEffect4, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
            }
            // 表现子弹飞行到目标位置
@@ -374,7 +374,7 @@
    protected void ShotToTarget(BattleObject target, int bulletIndex)
    {
        BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.BulletEffectId, caster.GetRectTransform(), caster.Camp, caster.teamHero.modelScale);
        BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.BulletEffectId, caster.GetRectTransform(), caster.Camp, caster.GetModelScale());
        bool shotToSelf = target.ObjID == caster.ObjID;
@@ -396,10 +396,10 @@
                BattleObject targetObj = caster.battleField.battleObjMgr.GetBattleObject((int)hurt.ObjID);
                if (targetObj != null)
                {
                    PlayExplosionEffect(skillConfig.ExplosionEffectId, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                    PlayExplosionEffect(skillConfig.ExplosionEffect2, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                    PlayExplosionEffect(skillConfig.ExplosionEffect3, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                    PlayExplosionEffect(skillConfig.ExplosionEffect4, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                    PlayExplosionEffect(skillConfig.ExplosionEffectId, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                    PlayExplosionEffect(skillConfig.ExplosionEffect2, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                    PlayExplosionEffect(skillConfig.ExplosionEffect3, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                    PlayExplosionEffect(skillConfig.ExplosionEffect4, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                }
                else
                {
@@ -433,10 +433,10 @@
                        continue;
                    }
                    PlayExplosionEffect(skillConfig.ExplosionEffectId, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                    PlayExplosionEffect(skillConfig.ExplosionEffect2, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                    PlayExplosionEffect(skillConfig.ExplosionEffect3, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                    PlayExplosionEffect(skillConfig.ExplosionEffect4, targetObj.GetTransform(), caster.Camp, targetObj.teamHero.modelScale);
                    PlayExplosionEffect(skillConfig.ExplosionEffectId, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                    PlayExplosionEffect(skillConfig.ExplosionEffect2, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                    PlayExplosionEffect(skillConfig.ExplosionEffect3, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                    PlayExplosionEffect(skillConfig.ExplosionEffect4, targetObj.GetTransform(), caster.Camp, targetObj.GetModelScale());
                }
                // 表现子弹飞行到目标位置