猎妖bug

back_recharge
zhangshanxue 2020-06-23 15:19:45 +08:00
parent 95abc6698d
commit 84cfe0d238
4 changed files with 53 additions and 14 deletions

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.handler.Expedition; package com.ljsd.jieling.handler.Expedition;
import afu.org.checkerframework.checker.igj.qual.I;
import com.ljsd.fight.CheckFight; import com.ljsd.fight.CheckFight;
import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.db.redis.RedisUtil;
@ -22,10 +23,7 @@ import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.util.FightDataUtil; import com.ljsd.jieling.util.FightDataUtil;
import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.MessageUtil;
import config.SExpeditionFloorConfig; import config.*;
import config.SExpeditionHolyConfig;
import config.SExpeditionNodeConfig;
import config.SExpeditionSetting;
import manager.STableManager; import manager.STableManager;
import org.luaj.vm2.LuaValue; import org.luaj.vm2.LuaValue;
@ -101,9 +99,17 @@ public class EndConfirmExpeditionBattleRequestHandler extends BaseHandler<Expedi
passiveSkillResult.append(String.valueOf(config.getPassiveSkillId())).append("|"); passiveSkillResult.append(String.valueOf(config.getPassiveSkillId())).append("|");
} }
String holySkill = passiveSkillResult.length()!=0?passiveSkillResult.substring(0,passiveSkillResult.length()-1):""; String holySkill = passiveSkillResult.length()!=0?passiveSkillResult.substring(0,passiveSkillResult.length()-1):"";
CommonProto.FightTeamInfo deffightTeamInfo = FightUtil.makeFightBySnapDataWithDouble(new DefFightSnapData(deffightInfo.getHeroAttribute(),deffightInfo.getHeroSkills(),deffightInfo.getPokenmonSkills(),deffightInfo.getPassiveSkills()+holySkill),nodeInfo.getBossHP());
LuaValue getFightData = FightDataUtil.getFinalPlayerFightData(fightTeamInfo, deffightTeamInfo); LuaValue getFightData;
if(ExpeditionLogic.isHardNode(nodeInfo.getType())){
int tid = deffightInfo.getUid();
List<CommonProto.FightTeamInfo> gropFightTeamInfoWithDouble = ExpeditionLogic.getGropFightTeamInfoWithDouble(tid, nodeInfo.getBossHP());
getFightData = FightDataUtil.getFinalFightData(fightTeamInfo, gropFightTeamInfoWithDouble);
}else {
CommonProto.FightTeamInfo deffightTeamInfo = FightUtil.makeFightBySnapDataWithDouble(new DefFightSnapData(deffightInfo.getHeroAttribute(),deffightInfo.getHeroSkills(),deffightInfo.getPokenmonSkills(),deffightInfo.getPassiveSkills()+holySkill),nodeInfo.getBossHP());
getFightData = FightDataUtil.getFinalPlayerFightData(fightTeamInfo, deffightTeamInfo);
}
LuaValue getOptionData = FightDataUtil.getOptionData(""); LuaValue getOptionData = FightDataUtil.getOptionData("");
int[] checkResult = CheckFight.getInstance().checkFight(seed, maxTime, getFightData, getOptionData, GameFightType.Expediton.getFightType()); int[] checkResult = CheckFight.getInstance().checkFight(seed, maxTime, getFightData, getOptionData, GameFightType.Expediton.getFightType());
@ -140,10 +146,28 @@ public class EndConfirmExpeditionBattleRequestHandler extends BaseHandler<Expedi
//出队伍 //出队伍
user.getTeamPosManager().updateTeamPosByTeamId(1001,new LinkedList<>()); user.getTeamPosManager().updateTeamPosByTeamId(1001,new LinkedList<>());
//节点血量更新
nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->
nodeInfo.getBossHP().put(s, (double) remainHp.remove(0) / (double) familyHeroInfo.getAttribute().get(HeroAttributeEnum.CurHP.getPropertyId())) if(ExpeditionLogic.isHardNode(nodeInfo.getType())){
); //节点血量更新
nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->{
SMonsterConfig sMonsterConfig = STableManager.getConfig(SMonsterConfig.class).get(Integer.valueOf(s));
if(sMonsterConfig!=null){
nodeInfo.getBossHP().put(s, (double) remainHp.remove(0) / (double)sMonsterConfig.getHp());
}
}
);
}else {
//节点血量更新
nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->
nodeInfo.getBossHP().put(s, (double) remainHp.remove(0) / (double) familyHeroInfo.getAttribute().get(HeroAttributeEnum.CurHP.getPropertyId()))
);
}
// //节点血量更新
// nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->
// nodeInfo.getBossHP().put(s, (double) remainHp.remove(0) / (double) familyHeroInfo.getAttribute().get(HeroAttributeEnum.CurHP.getPropertyId()))
// );
//更新节点 //更新节点
Expedition.ExpeditionNodeInfoIndication.Builder builder = Expedition.ExpeditionNodeInfoIndication.newBuilder(); Expedition.ExpeditionNodeInfoIndication.Builder builder = Expedition.ExpeditionNodeInfoIndication.newBuilder();

View File

@ -144,9 +144,18 @@ public class EndExpeditionBattleRequest extends BaseHandler<Expedition.EndExpedi
if(ExpeditionLogic.isHardNode(nodeInfo.getType())){ if(ExpeditionLogic.isHardNode(nodeInfo.getType())){
//节点血量更新 //节点血量更新
nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->
nodeInfo.getBossHP().put(s, (double) remainHp.remove(0) / (double) familyHeroInfo.getAttribute().get(HeroAttributeEnum.CurHP.getPropertyId())) // nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->
// nodeInfo.getBossHP().put(s, (double) remainHp.remove(0) / (double) familyHeroInfo.getAttribute().get(HeroAttributeEnum.CurHP.getPropertyId()))
// );
nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->{
SMonsterConfig sMonsterConfig = STableManager.getConfig(SMonsterConfig.class).get(Integer.valueOf(s));
if(sMonsterConfig!=null){
nodeInfo.getBossHP().put(s, (double) remainHp.remove(0) / (double)sMonsterConfig.getHp());
}
}
); );
}else { }else {
//节点血量更新 //节点血量更新
nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) -> nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->

View File

@ -93,7 +93,7 @@ public class GetExpeditionRequestHandler extends BaseHandler<Expedition.GetExped
if(equipInfo instanceof Jewel) if(equipInfo instanceof Jewel)
soulEquipList.add(CBean2Proto.getEquipProto(equipInfo)); soulEquipList.add(CBean2Proto.getEquipProto(equipInfo));
} }
builder.addAllEquip(soulEquipList); builder.addAllSoulEquip(soulEquipList);
TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.Expedition); TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.Expedition);

View File

@ -78,10 +78,16 @@ public class TakeHolyEquipRequest extends BaseHandler<Expedition.TakeHolyEquipRe
} }
Map<Integer,SExpeditionHolyConfig> effectItems = expeditionManager.getEffectItems(); Map<Integer,SExpeditionHolyConfig> effectItems = expeditionManager.getEffectItems();
SExpeditionHolyConfig orDefault = effectItems.getOrDefault(sExpeditionHolyConfig.geteffect(), null); SExpeditionHolyConfig orDefault = effectItems.getOrDefault(sExpeditionHolyConfig.geteffect(), null);
if(null!=orDefault&&sExpeditionHolyConfig.gettype()>orDefault.gettype()){
if(orDefault==null){
effectItems.put(sExpeditionHolyConfig.geteffect(),sExpeditionHolyConfig); effectItems.put(sExpeditionHolyConfig.geteffect(),sExpeditionHolyConfig);
}else {
if(sExpeditionHolyConfig.gettype()>orDefault.gettype()){
effectItems.put(sExpeditionHolyConfig.geteffect(),sExpeditionHolyConfig);
}
} }
//notify client //notify client
Expedition.ExpeditionEquipIndication.Builder indication = Expedition.ExpeditionEquipIndication.newBuilder(); Expedition.ExpeditionEquipIndication.Builder indication = Expedition.ExpeditionEquipIndication.newBuilder();
indication.addEquipIds(CommonProto.ExpeditionEquip.newBuilder().setId(expeditionItem.getId()).setEquiptId(expeditionItem.getEquipId()).build()); indication.addEquipIds(CommonProto.ExpeditionEquip.newBuilder().setId(expeditionItem.getId()).setEquiptId(expeditionItem.getEquipId()).build());