diff --git a/luafight/Modules/Battle/Logic/Buff/Brand.lua b/luafight/Modules/Battle/Logic/Buff/Brand.lua index b88973adc..34f274ebe 100644 --- a/luafight/Modules/Battle/Logic/Buff/Brand.lua +++ b/luafight/Modules/Battle/Logic/Buff/Brand.lua @@ -41,9 +41,9 @@ function Brand:OnCover(newBuff) else newBuff.layer = math.min(self.layer + 1, newBuff.maxLayer) end - end - if newBuff.coverFunc then - newBuff.coverFunc(self) + if newBuff.coverFunc then + newBuff.coverFunc(self) + end end return b end diff --git a/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua b/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua index 6bacb5a91..4bad4b8f7 100644 --- a/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -192,8 +192,8 @@ function BattleUtil.ApplyDamage(atkRole, defRole, damage, bCrit, damageType, isD end end - atkRole.Event:DispatchEvent(BattleEventName.RoleDamage, defRole, damage, bCrit, finalDmg, damageType) - defRole.Event:DispatchEvent(BattleEventName.RoleBeDamaged, atkRole, damage, bCrit, finalDmg, damageType) + atkRole.Event:DispatchEvent(BattleEventName.RoleDamage, defRole, damage, bCrit, finalDmg, damageType, isDot) + defRole.Event:DispatchEvent(BattleEventName.RoleBeDamaged, atkRole, damage, bCrit, finalDmg, damageType, isDot) if bCrit then atkRole.Event:DispatchEvent(BattleEventName.RoleCrit, defRole, damage, bCrit, finalDmg, damageType) defRole.Event:DispatchEvent(BattleEventName.RoleBeCrit, atkRole, damage, bCrit, finalDmg, damageType) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 1f30a7dfb..2d4383ae1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -1293,7 +1293,7 @@ public class MapLogic { Map heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); int per = (int)(checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000); mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per); - if(heroAllAttribute.get(HeroAttributeEnum.CurHP)==0){ + if(heroAllAttribute.get(HeroAttributeEnum.CurHP.getPropertyId())==0){ mapManager.removeOneHeroAttribute(hero.getId()); }else{ mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); @@ -1304,7 +1304,20 @@ public class MapLogic { if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) { endlessRefreshMonster(session,destoryXY); } - + //删点之前进行查找 + if (sChallengeConfig.getType() == 2) { + STrialConfig sTrialConfig = STrialConfig.sTrialConfigMap.get(mapManager.getTower()); + int[][] randomMonsterType = sTrialConfig.getRandomMonsterType(); + if(cell.getCellId()!=mapManager.getBossXY()){ + if(mapManager.getEssenceValue()!=-1){ + if (randomMonsterType[0][1] == cell.getPointId()) { + mapManager.setEssenceValue(mapManager.getEssenceValue() + sTrialConfig.getNormalEnergy()); + } else { + mapManager.setEssenceValue(mapManager.getEssenceValue() + sTrialConfig.getEliteEnergy()); + } + } + } + } BehaviorUtil.destoryApointXY(user, destoryXY); SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(groupId); CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, 1, BIReason.MAP_FAST_FIGHT_REWARD); @@ -1319,19 +1332,7 @@ public class MapLogic { fastFightResponse.addAllRemainHpList(remainHp); fastFightResponse.setEssenceValue(mapManager.getEssenceValue()); fastFightResponse.build(); - if (sChallengeConfig.getType() == 2) { - STrialConfig sTrialConfig = STrialConfig.sTrialConfigMap.get(mapManager.getTower()); - int[][] randomMonsterType = sTrialConfig.getRandomMonsterType(); - if(cell.getCellId()!=mapManager.getBossXY()){ - if(mapManager.getEssenceValue()!=-1){ - if (randomMonsterType[0][1] == cell.getPointId()) { - mapManager.setEssenceValue(mapManager.getEssenceValue() + sTrialConfig.getNormalEnergy()); - } else { - mapManager.setEssenceValue(mapManager.getEssenceValue() + sTrialConfig.getEliteEnergy()); - } - } - } - } + fastFightResponse.setEssenceValue(mapManager.getEssenceValue()); // LOGGER.info("endFight() uid=>{},nextEventId=>{}", uid, nextEventId); @@ -1542,7 +1543,7 @@ public class MapLogic { Map heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000); mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per); - if(heroAllAttribute.get(HeroAttributeEnum.CurHP)==0){ + if(heroAllAttribute.get(HeroAttributeEnum.CurHP.getPropertyId())==0){ mapManager.removeOneHeroAttribute(hero.getId()); }else{ mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index 332755092..745610504 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -857,7 +857,8 @@ public class ItemUtil { private static void addEquip(User user,int equipId ,List equipList,List especialEquipList) throws Exception { EquipManager equipManager = user.getEquipManager(); - int itemType = SItem.getsItemMap().get(equipId).getItemType(); + SItem item = SItem.getsItemMap().get(equipId); + int itemType = item.getItemType(); if(itemType==GlobalItemType.EQUIP){ Equip equip = new Equip(user.getId(),equipId); equipManager.addEquip(user,equip); @@ -865,11 +866,12 @@ public class ItemUtil { SEquipConfig sEquipConfig = SEquipConfig.getsEquipConfigById(equipId); if (sEquipConfig.getQuality() >= 5) { String nickName = user.getPlayerInfoManager().getNickName(); - String message = SErrorCodeEerverConfig.getI18NMessage("lamp_lottery_equip_content", new Object[]{nickName, equipQulityNameMap.get(sEquipConfig.getQuality()),SItem.getsItemMap().get(equipId).getName()}); + String message = SErrorCodeEerverConfig.getI18NMessage("lamp_lottery_equip_content", new Object[]{nickName, equipQulityNameMap.get(sEquipConfig.getQuality()), item.getName()}); ChatLogic.getInstance().sendSysChatMessage(message,Global.LUCKY_LUCK,equipId,0,0,0,0,0); } }else if(itemType==GlobalItemType.ESPECIAL_EQUIP){ EspecialEquip especialEquip = new EspecialEquip(user.getId(),equipId); + especialEquip.setStar(item.getQuantity()); especialEquipList.add(CBean2Proto.getEquipProto(especialEquip)); equipManager.addEspecialEquip(user,especialEquip); }else if(itemType==GlobalItemType.SOUL_MARK){