yyl
1 天以前 c8863bce7831a4648a39faa69408a888d939cdb4
125 战斗 调整闪避幻影细节
3个文件已修改
37 ■■■■■ 已修改文件
Main/Component/UI/Common/SkeletonIllusionShadow.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleObject/BattleObject.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/Skill/SkillBase.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Component/UI/Common/SkeletonIllusionShadow.cs
@@ -16,7 +16,7 @@
    private bool createSwitch = false;
    private int curFrame = 0;
    private int frameInteral = 2;
    private int frameInteral = 4;
    public void SetSkeletonAnimation(SkeletonAnimation _skeletonAnimation)
    {
@@ -97,11 +97,11 @@
        sa.skeleton.A = skeletonAnimation.skeleton.A;
        // 使用DoTween做alpha淡出,Tween与objTest绑定,便于统一Kill
        DOTween.To(() => sa.skeleton.A, x => { sa.skeleton.A = x; sa.LateUpdate(); }, 0f, 0.5f)
        DOTween.To(() => sa.skeleton.A, x => { sa.skeleton.A = x; sa.LateUpdate(); }, 0f, 1f)
            .SetTarget(objTest);
        // 安全销毁,移除引用
        _ = DestroyIllusionShadowAfterAsync(objTest, 0.5f);
        _ = DestroyIllusionShadowAfterAsync(objTest, 1f);
    }
Main/System/Battle/BattleObject/BattleObject.cs
@@ -269,10 +269,27 @@
    }
    public virtual void Hurt(List<long> damageValues, long _totalDamage,
        HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, SkillConfig skillConfig, bool isLastHit,
        HB427_tagSCUseSkill.tagSCUseSkillHurt hurt, SkillConfig skillConfig, int hitIndex,
        BattleDrops battleDrops, HB422_tagMCTurnFightObjDead deadPack)
    {
        BattleDmgInfo dmgInfo = PopDamage(damageValues, _totalDamage, hurt, skillConfig);
        bool isLastHit = hitIndex >= skillConfig.DamageDivide.Length - 1;
        bool firstHit = hitIndex == 0;
        //  这里
        if (dmgInfo.IsType(DamageType.Dodge))
        {
            if (isLastHit)
            {
                DodgeFinishAction dodgeFinish = new DodgeFinishAction(battleField, this);
                battleField.recordPlayer.InsertRecord(dodgeFinish);
            }
            if (firstHit)
            {
                OnDodgeBegin();
            }
        }
        bool isFatalAttack = (null != deadPack) && isLastHit;
@@ -307,7 +324,7 @@
    }
    const float pingpongTime = 0.2f;
    const float pingpongTime = 0.4f;
    //  闪避开始
    public virtual void OnDodgeBegin()
    {
@@ -372,12 +389,7 @@
    {
        BattleDmgInfo battleDmgInfo = new BattleDmgInfo(battleField.guid, damageValues, this, hurt, skillConfig);
        if (battleDmgInfo.IsType(DamageType.Dodge))
        {
            OnDodgeBegin();
            DodgeFinishAction dodgeFinish = new DodgeFinishAction(battleField, this);
            battleField.recordPlayer.InsertRecord(dodgeFinish);
        }
        int currentHurtHp = 0;
        for (int i = 0; i < damageValues.Count; i++)
Main/System/Battle/Skill/SkillBase.cs
@@ -443,7 +443,6 @@
    {
        // 伤害分布 (万分比)
        // Debug.LogError("skillConfig.DamageDivide.Count " + skillConfig.DamageDivide.Length + " _hitIndex " + _hitIndex);
        bool isLastHit = _hitIndex >= skillConfig.DamageDivide.Length - 1;
        int[] damageDivide = skillConfig.DamageDivide[_hitIndex];
        long totalDamage = GeneralDefine.GetFactValue(hurt.HurtHP, hurt.HurtHPEx);
@@ -466,7 +465,7 @@
        int objID = (int)target.ObjID;
        tempDropList.TryGetValue(objID, out BattleDrops battleDrops);
        tempDeadPackList.TryGetValue(objID, out HB422_tagMCTurnFightObjDead deadPack);
        target.Hurt(damageList, totalDamage, hurt, skillConfig, isLastHit, battleDrops, deadPack);
        target.Hurt(damageList, totalDamage, hurt, skillConfig, _hitIndex, battleDrops, deadPack);
        //    TODO YYL 这里是要做统一计算后再hurt跟suckhp还是怎样
        caster.SuckHp(hurt.SuckHP, skillConfig);//    吸血