ServerPack/HB4_FightDefine/UseSkill.h
@@ -1,15 +1,28 @@
// B4 27 使用技能 #tagSCUseSkill
struct   tagSCUseSkillHurtEx
{
   DWORD      ObjID;      // 额外目标,如溅射伤害、平摊伤害目标,非技能自身的主要目标
   DWORD      AttackTypes;   // 飘血类型汇总,支持多种类型并存,如无视防御且暴击同时被格挡,二进制或运算最终值;0-失败;1-普通;2-回血;4-免疫;5-格挡;6-无视防御;7-暴击;8-击晕;9-闪避
   DWORD      HurtHP;      // 飘血值,求余亿部分
   DWORD      HurtHPEx;   // 飘血值,整除亿部分
   DWORD      CurHP;      // 更新剩余血量,求余亿部分
   DWORD      CurHPEx;      // 更新剩余血量,整除亿部分
   DWORD      SuckHP;      // 本次伤害转化的吸血量
};
struct   tagSCUseSkillHurt
{
   DWORD      ObjID;
   DWORD      AttackTypes;   // 飘血类型汇总,支持多种类型并存,如无视防御且暴击同时被格挡,二进制或运算最终值;0-失败;1-普通;2-回血;5-格挡;6-无视防御;7-暴击;9-闪避
   DWORD      ObjID;      // 技能自身目标ID
   DWORD      AttackTypes;   // 飘血类型汇总,支持多种类型并存,如无视防御且暴击同时被格挡,二进制或运算最终值;0-失败;1-普通;2-回血;4-免疫;5-格挡;6-无视防御;7-暴击;8-击晕;9-闪避
   DWORD      HurtHP;      // 飘血值,求余亿部分
   DWORD      HurtHPEx;   // 飘血值,整除亿部分
   DWORD      CurHP;      // 更新剩余血量,求余亿部分
   DWORD      CurHPEx;      // 更新剩余血量,整除亿部分
   DWORD      SuckHP;      // 本次伤害转化的吸血量
   DWORD      BounceHP;   // 本次伤害反弹的伤害量
   BYTE      HurtCountEx;
   tagSCUseSkillHurtEx      HurtListEx[HurtCountEx];   // 额外伤害目标列表,仅后端多次伤害的有效,如弹射的平摊伤害
};
struct   tagSCUseSkill
@@ -17,11 +30,13 @@
   tagHead      Head;
   DWORD      ObjID;
   BYTE      PMType;      // 物法类型 0或1-物理;2-法术
   BYTE      BattleType;   // 战斗类型 0-常规;1-连击;2-反击;3-追击;4-子技能;5-被动触发的
   BYTE      BattleType;   // 战斗类型 0-常规;1-连击;2-反击;3-追击;4-子技能;5-被动触发的;6-dot结算;7-持续治疗结算
   DWORD      CurHP;      // 释放技能后剩余血量,吸血、反弹可能引起变化,求余亿部分
   DWORD      CurHPEx;      // 释放技能后剩余血量,吸血、反弹可能引起变化,整除亿部分
   DWORD      SkillID;
   DWORD      RelatedSkillID;   // 关联的技能ID,一般是主技能ID或由于某个技能释放引起的
   BYTE      HurtCount;      //伤害数目
   tagSCUseSkillHurt      HurtList[HurtCount];      //size = HurtCount
   BYTE      HurtCount;
   tagSCUseSkillHurt      HurtList[HurtCount];      // 主要伤害目标列表
   BYTE      HurtCountEx;
   tagSCUseSkillHurtEx      HurtListEx[HurtCountEx];   // 额外伤害目标列表,仅后端单次伤害的有效,如平摊或溅射伤害
};