猎妖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;
import afu.org.checkerframework.checker.igj.qual.I;
import com.ljsd.fight.CheckFight;
import com.ljsd.jieling.db.redis.RedisKey;
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.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import config.SExpeditionFloorConfig;
import config.SExpeditionHolyConfig;
import config.SExpeditionNodeConfig;
import config.SExpeditionSetting;
import config.*;
import manager.STableManager;
import org.luaj.vm2.LuaValue;
@ -101,9 +99,17 @@ public class EndConfirmExpeditionBattleRequestHandler extends BaseHandler<Expedi
passiveSkillResult.append(String.valueOf(config.getPassiveSkillId())).append("|");
}
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("");
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<>());
//节点血量更新
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();

View File

@ -144,9 +144,18 @@ public class EndExpeditionBattleRequest extends BaseHandler<Expedition.EndExpedi
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 {
//节点血量更新
nodeInfo.getSnapFightInfo().getHeroAttribute().forEach((s, familyHeroInfo) ->

View File

@ -93,7 +93,7 @@ public class GetExpeditionRequestHandler extends BaseHandler<Expedition.GetExped
if(equipInfo instanceof Jewel)
soulEquipList.add(CBean2Proto.getEquipProto(equipInfo));
}
builder.addAllEquip(soulEquipList);
builder.addAllSoulEquip(soulEquipList);
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();
SExpeditionHolyConfig orDefault = effectItems.getOrDefault(sExpeditionHolyConfig.geteffect(), null);
if(null!=orDefault&&sExpeditionHolyConfig.gettype()>orDefault.gettype()){
if(orDefault==null){
effectItems.put(sExpeditionHolyConfig.geteffect(),sExpeditionHolyConfig);
}else {
if(sExpeditionHolyConfig.gettype()>orDefault.gettype()){
effectItems.put(sExpeditionHolyConfig.geteffect(),sExpeditionHolyConfig);
}
}
//notify client
Expedition.ExpeditionEquipIndication.Builder indication = Expedition.ExpeditionEquipIndication.newBuilder();
indication.addEquipIds(CommonProto.ExpeditionEquip.newBuilder().setId(expeditionItem.getId()).setEquiptId(expeditionItem.getEquipId()).build());