| | |
| | | { |
| | | BattleDebug.LogError($"SkillBase.HandleDead: 找到死亡包,maxDeathPackUID = {maxDeathPackUID},开始收集死亡后的包"); |
| | | |
| | | // 1. 收集 packList 中 packUID 大于死亡包的包 |
| | | // 1. 收集 packList 中 packUID 大于死亡包的包(排除经验包和掉落包,它们需要在当前技能中处理) |
| | | List<GameNetPackBasic> packsToRemove = new List<GameNetPackBasic>(); |
| | | foreach (var pack in packList) |
| | | { |
| | | ulong packUID = GetPackUID(pack); |
| | | if (packUID > maxDeathPackUID) |
| | | { |
| | | // 排除经验包和掉落包,它们属于当前死亡事件的一部分,不是"死亡后"的包 |
| | | if (pack is HB405_tagMCAddExp || |
| | | (pack is H0704_tagRolePackRefresh h0704 && h0704.PackType == (byte)PackType.DropItem && h0704.IsBind == 1)) |
| | | { |
| | | continue; // 跳过经验包和掉落包,让 CheckAfterDeadhPack() 处理它们 |
| | | } |
| | | |
| | | BattleDebug.LogError($"SkillBase.HandleDead: 从packList收集死亡后的包 - Type: {pack.GetType().Name}, UID: {packUID}"); |
| | | foreach (var deadPack in deadPackList) |
| | | { |