法宝重写
parent
85526fac97
commit
c3c9d51e7f
|
|
@ -1,40 +1,30 @@
|
|||
package com.ljsd;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.handler.GetPlayerInfoHandler;
|
||||
import com.ljsd.jieling.ktbeans.KtEventUtils;
|
||||
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.family.GuildCrossHandler.BaseCrossHandler;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.logic.store.BuyGoodsNewLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.thrift.idl.Pokemon;
|
||||
import com.ljsd.jieling.thrift.idl.PropertyItem;
|
||||
import com.ljsd.jieling.thrift.idl.PurpleMansionSeal;
|
||||
import com.ljsd.jieling.thrift.idl.TeamPosHeroInfo;
|
||||
import com.ljsd.jieling.thrift.idl.*;
|
||||
import com.ljsd.jieling.util.CBean2Proto;
|
||||
import com.ljsd.jieling.thrift.idl.CrossArenaManager;
|
||||
import com.ljsd.jieling.thrift.idl.RPCRequestIFace;
|
||||
import com.ljsd.jieling.thrift.idl.RechargeResult;
|
||||
import com.ljsd.jieling.thrift.idl.Result;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import config.SChangingCard;
|
||||
import manager.STableManager;
|
||||
import org.apache.thrift.TException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import rpc.protocols.ArenaInfoProto;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import rpc.protocols.RoomProto;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Set;
|
||||
|
||||
public class CoreService implements RPCRequestIFace.Iface {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(CoreService.class);
|
||||
|
|
@ -88,111 +78,111 @@ public class CoreService implements RPCRequestIFace.Iface {
|
|||
|
||||
@Override
|
||||
public CrossArenaManager getHeroManagerInfo(int uid) {
|
||||
long start = TimeUtils.now();
|
||||
try{
|
||||
// 编队列表
|
||||
User user = UserManager.getUserNotCache(uid);
|
||||
if (user == null){
|
||||
return null;
|
||||
}
|
||||
// 编队数据处理
|
||||
Map<Integer,List<TeamPosHeroInfo>> teams = new HashMap<>();
|
||||
TeamPosManager teamPosManager = user.getTeamPosManager();
|
||||
Map<Integer, List<com.ljsd.jieling.logic.dao.TeamPosHeroInfo>> listMap = teamPosManager.getTeamPosForHero();
|
||||
for (Map.Entry<Integer, List<com.ljsd.jieling.logic.dao.TeamPosHeroInfo>> entry : listMap.entrySet()) {
|
||||
// 跨服编队
|
||||
if (TeamEnum.isCrossTeam(entry.getKey())){
|
||||
List<TeamPosHeroInfo> list = new ArrayList<>();
|
||||
entry.getValue().forEach(n->list.add(new TeamPosHeroInfo().setHeroId(n.getHeroId()).setPosition(n.getPosition())));
|
||||
teams.put(entry.getKey(),list);
|
||||
}
|
||||
}
|
||||
// 英雄数据处理
|
||||
Map<String,ArenaOfHero> heroes = new HashMap<>();
|
||||
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
for (List<TeamPosHeroInfo> value : teams.values()) {
|
||||
for (TeamPosHeroInfo info : value) {
|
||||
Hero hero = heroMap.get(info.getHeroId());
|
||||
heroes.put(info.getHeroId(),buildArenaOfHero(user,hero,teams));
|
||||
}
|
||||
}
|
||||
// 魂宝灵宝
|
||||
Map<String,PropertyItem> jewels = new HashMap<>();
|
||||
Map<String, com.ljsd.jieling.logic.dao.PropertyItem> equipMap = user.getEquipManager().getEquipMap();
|
||||
for (Hero hero : heroMap.values()) {
|
||||
for (String info : hero.getJewelInfo()) {
|
||||
jewels.put(info,buildrprcPropertyItem(equipMap.get(info),user,hero));
|
||||
}
|
||||
}
|
||||
// 编队战力
|
||||
HashMap<Integer, Long> map = new HashMap<>();
|
||||
teams.forEach((k,v)->{
|
||||
long totalForce = teamPosManager.getTeamForce(k);
|
||||
map.put(k,totalForce);
|
||||
});
|
||||
long force1 = teamPosManager.getTeamForce(TeamEnum.CROSS_YU_XU_LUN_DAO_ONE.getTeamId());
|
||||
long force2 = teamPosManager.getTeamForce(TeamEnum.CROSS_YU_XU_LUN_DAO_TWO.getTeamId());
|
||||
long force3 = teamPosManager.getTeamForce(TeamEnum.CROSS_YU_XU_LUN_DAO_THREE.getTeamId());
|
||||
CrossArenaManager rpcArenaManager = new CrossArenaManager();
|
||||
rpcArenaManager.setTeams(teams);
|
||||
rpcArenaManager.setHeros(heroes);
|
||||
rpcArenaManager.setJewels(jewels);
|
||||
rpcArenaManager.setTotalForceByTeam(map);
|
||||
rpcArenaManager.setTotalForce(force1+force2+force3);
|
||||
|
||||
// 紫府神印
|
||||
Map<Integer,PurpleMansionSeal> rpdSealMap = new HashMap<>();
|
||||
Map<Integer, com.ljsd.jieling.logic.dao.PurpleMansionSeal> sealMap= user.getHeroManager().getPurpleMansionSeal();
|
||||
sealMap.forEach((m,n)->{
|
||||
PurpleMansionSeal reseal = new PurpleMansionSeal().setSealId(n.getSealId()).setType(n.getType()).setSubId(n.getSubId()).setState(n.getState());
|
||||
rpdSealMap.put(m,reseal);
|
||||
});
|
||||
rpcArenaManager.setSeals(rpdSealMap);
|
||||
|
||||
// 灵兽
|
||||
Map<String, com.ljsd.jieling.logic.dao.Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
Map<String,Pokemon> pokemonMapRpc = new HashMap<>();
|
||||
pokemonMap.forEach((n,m)->{
|
||||
Pokemon rpcPokemon = new Pokemon().setTmpId(m.getTmpId()).setId(m.getId()).setLevel(m.getLevel()).setStar(m.getStar());
|
||||
pokemonMapRpc.put(n,rpcPokemon);
|
||||
});
|
||||
rpcArenaManager.setPokemons(pokemonMapRpc);
|
||||
|
||||
Map<Integer, String> teamMap = user.getPokemonManager().getPokemonTeamMap();
|
||||
rpcArenaManager.setPokemonTeamMap(teamMap);
|
||||
rpcArenaManager.setGuildSkill(new HashMap<>(user.getGuildMyInfo().getGuildSkill()));
|
||||
//坐骑技能
|
||||
rpcArenaManager.setSkill(Arrays.asList(user.getPlayerInfoManager().getUserMountValidTime().keySet().toArray(new Integer[0])));
|
||||
rpcArenaManager.setFourSpirit(user.getPlayerInfoManager().getFourChallengeTotal());
|
||||
///修行技能数据
|
||||
rpcArenaManager.setPracticeSkillMap(user.getHeroManager().getPracticeSkillMap());
|
||||
rpcArenaManager.setFaBaoGongMingSkillMap(user.getHeroManager().getFaBaoGongMingSkillMap());
|
||||
rpcArenaManager.setMaxHistoryForce(user.getPlayerInfoManager().getMaxForce());
|
||||
// 身外化身数据
|
||||
List<Integer> list = new ArrayList<>();
|
||||
user.getHeroManager().getTransformationList().values().stream().filter(v -> v.getStatus() == 1).forEach(n->{
|
||||
Map<Integer, SChangingCard> cardMap = STableManager.getConfig(SChangingCard.class);
|
||||
SChangingCard changingCard = cardMap.get(n.getCardId());
|
||||
if(changingCard!= null){
|
||||
if(changingCard.getSkill().length >= n.getStar()+1){
|
||||
list.add(changingCard.getSkill()[n.getStar()]);
|
||||
}
|
||||
}
|
||||
});
|
||||
rpcArenaManager.setTfInfoList(list);
|
||||
//四象心法数据
|
||||
rpcArenaManager.setSixiangInfos(sixiangData2RpcData(user));
|
||||
//命格
|
||||
rpcArenaManager.setLifeGridInfos(getUserMinggeList(user));
|
||||
//玩家坐骑信息
|
||||
rpcArenaManager.setUserMountValidTime(getUserMountList(user));
|
||||
//身外化身
|
||||
rpcArenaManager.setTransformationList(getTransformationInfoList(user));
|
||||
LOGGER.info("跨服,获取玩家英雄信息耗时:{}ms",TimeUtils.now()-start);
|
||||
return rpcArenaManager;
|
||||
}catch (Exception e){
|
||||
LOGGER.error("跨服,获取玩家英雄信息报错,uid:{},error:{}",uid,e.getMessage());
|
||||
}
|
||||
// long start = TimeUtils.now();
|
||||
// try{
|
||||
// // 编队列表
|
||||
// User user = UserManager.getUserNotCache(uid);
|
||||
// if (user == null){
|
||||
// return null;
|
||||
// }
|
||||
// // 编队数据处理
|
||||
// Map<Integer,List<TeamPosHeroInfo>> teams = new HashMap<>();
|
||||
// TeamPosManager teamPosManager = user.getTeamPosManager();
|
||||
// Map<Integer, List<com.ljsd.jieling.logic.dao.TeamPosHeroInfo>> listMap = teamPosManager.getTeamPosForHero();
|
||||
// for (Map.Entry<Integer, List<com.ljsd.jieling.logic.dao.TeamPosHeroInfo>> entry : listMap.entrySet()) {
|
||||
// // 跨服编队
|
||||
// if (TeamEnum.isCrossTeam(entry.getKey())){
|
||||
// List<TeamPosHeroInfo> list = new ArrayList<>();
|
||||
// entry.getValue().forEach(n->list.add(new TeamPosHeroInfo().setHeroId(n.getHeroId()).setPosition(n.getPosition())));
|
||||
// teams.put(entry.getKey(),list);
|
||||
// }
|
||||
// }
|
||||
// // 英雄数据处理
|
||||
// Map<String,ArenaOfHero> heroes = new HashMap<>();
|
||||
// Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
// for (List<TeamPosHeroInfo> value : teams.values()) {
|
||||
// for (TeamPosHeroInfo info : value) {
|
||||
// Hero hero = heroMap.get(info.getHeroId());
|
||||
// heroes.put(info.getHeroId(),buildArenaOfHero(user,hero,teams));
|
||||
// }
|
||||
// }
|
||||
// // 魂宝灵宝
|
||||
// Map<String,PropertyItem> jewels = new HashMap<>();
|
||||
// Map<String, com.ljsd.jieling.logic.dao.PropertyItem> equipMap = user.getEquipManager().getEquipMap();
|
||||
// for (Hero hero : heroMap.values()) {
|
||||
// for (String info : hero.getJewelInfo()) {
|
||||
// jewels.put(info,buildrprcPropertyItem(equipMap.get(info),user,hero));
|
||||
// }
|
||||
// }
|
||||
// // 编队战力
|
||||
// HashMap<Integer, Long> map = new HashMap<>();
|
||||
// teams.forEach((k,v)->{
|
||||
// long totalForce = teamPosManager.getTeamForce(k);
|
||||
// map.put(k,totalForce);
|
||||
// });
|
||||
// long force1 = teamPosManager.getTeamForce(TeamEnum.CROSS_YU_XU_LUN_DAO_ONE.getTeamId());
|
||||
// long force2 = teamPosManager.getTeamForce(TeamEnum.CROSS_YU_XU_LUN_DAO_TWO.getTeamId());
|
||||
// long force3 = teamPosManager.getTeamForce(TeamEnum.CROSS_YU_XU_LUN_DAO_THREE.getTeamId());
|
||||
// CrossArenaManager rpcArenaManager = new CrossArenaManager();
|
||||
// rpcArenaManager.setTeams(teams);
|
||||
// rpcArenaManager.setHeros(heroes);
|
||||
// rpcArenaManager.setJewels(jewels);
|
||||
// rpcArenaManager.setTotalForceByTeam(map);
|
||||
// rpcArenaManager.setTotalForce(force1+force2+force3);
|
||||
//
|
||||
// // 紫府神印
|
||||
// Map<Integer,PurpleMansionSeal> rpdSealMap = new HashMap<>();
|
||||
// Map<Integer, com.ljsd.jieling.logic.dao.PurpleMansionSeal> sealMap= user.getHeroManager().getPurpleMansionSeal();
|
||||
// sealMap.forEach((m,n)->{
|
||||
// PurpleMansionSeal reseal = new PurpleMansionSeal().setSealId(n.getSealId()).setType(n.getType()).setSubId(n.getSubId()).setState(n.getState());
|
||||
// rpdSealMap.put(m,reseal);
|
||||
// });
|
||||
// rpcArenaManager.setSeals(rpdSealMap);
|
||||
//
|
||||
// // 灵兽
|
||||
// Map<String, com.ljsd.jieling.logic.dao.Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
// Map<String,Pokemon> pokemonMapRpc = new HashMap<>();
|
||||
// pokemonMap.forEach((n,m)->{
|
||||
// Pokemon rpcPokemon = new Pokemon().setTmpId(m.getTmpId()).setId(m.getId()).setLevel(m.getLevel()).setStar(m.getStar());
|
||||
// pokemonMapRpc.put(n,rpcPokemon);
|
||||
// });
|
||||
// rpcArenaManager.setPokemons(pokemonMapRpc);
|
||||
//
|
||||
// Map<Integer, String> teamMap = user.getPokemonManager().getPokemonTeamMap();
|
||||
// rpcArenaManager.setPokemonTeamMap(teamMap);
|
||||
// rpcArenaManager.setGuildSkill(new HashMap<>(user.getGuildMyInfo().getGuildSkill()));
|
||||
// //坐骑技能
|
||||
// rpcArenaManager.setSkill(Arrays.asList(user.getPlayerInfoManager().getUserMountValidTime().keySet().toArray(new Integer[0])));
|
||||
// rpcArenaManager.setFourSpirit(user.getPlayerInfoManager().getFourChallengeTotal());
|
||||
// ///修行技能数据
|
||||
// rpcArenaManager.setPracticeSkillMap(user.getHeroManager().getPracticeSkillMap());
|
||||
// rpcArenaManager.setFaBaoGongMingSkillMap(user.getHeroManager().getFaBaoGongMingSkillMap());
|
||||
// rpcArenaManager.setMaxHistoryForce(user.getPlayerInfoManager().getMaxForce());
|
||||
// // 身外化身数据
|
||||
// List<Integer> list = new ArrayList<>();
|
||||
// user.getHeroManager().getTransformationList().values().stream().filter(v -> v.getStatus() == 1).forEach(n->{
|
||||
// Map<Integer, SChangingCard> cardMap = STableManager.getConfig(SChangingCard.class);
|
||||
// SChangingCard changingCard = cardMap.get(n.getCardId());
|
||||
// if(changingCard!= null){
|
||||
// if(changingCard.getSkill().length >= n.getStar()+1){
|
||||
// list.add(changingCard.getSkill()[n.getStar()]);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// rpcArenaManager.setTfInfoList(list);
|
||||
// //四象心法数据
|
||||
// rpcArenaManager.setSixiangInfos(sixiangData2RpcData(user));
|
||||
// //命格
|
||||
// rpcArenaManager.setLifeGridInfos(getUserMinggeList(user));
|
||||
// //玩家坐骑信息
|
||||
// rpcArenaManager.setUserMountValidTime(getUserMountList(user));
|
||||
// //身外化身
|
||||
// rpcArenaManager.setTransformationList(getTransformationInfoList(user));
|
||||
// LOGGER.info("跨服,获取玩家英雄信息耗时:{}ms",TimeUtils.now()-start);
|
||||
// return rpcArenaManager;
|
||||
// }catch (Exception e){
|
||||
// LOGGER.error("跨服,获取玩家英雄信息报错,uid:{},error:{}",uid,e.getMessage());
|
||||
// }
|
||||
return null;
|
||||
|
||||
}
|
||||
|
|
@ -200,70 +190,70 @@ public class CoreService implements RPCRequestIFace.Iface {
|
|||
/**
|
||||
* 获取变身卡列表信息过滤
|
||||
*/
|
||||
public static List<TransformationCardInfo> getTransformationInfoList(User user){
|
||||
List<TransformationCardInfo> list = new ArrayList<>();
|
||||
for (TransformationInfo value : user.getHeroManager().getTransformationList().values().stream().filter(v -> v.getStatus() == 1).collect(Collectors.toList())) {
|
||||
TransformationCardInfo builder = new TransformationCardInfo();
|
||||
builder.setId(value.getCardId());
|
||||
builder.setIndex(value.getIndex());
|
||||
builder.setStatus(value.getStatus());
|
||||
builder.setLevel(value.getLevel());
|
||||
builder.setStar(value.getStar());
|
||||
list.add(builder);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
// public static List<TransformationCardInfo> getTransformationInfoList(User user){
|
||||
// List<TransformationCardInfo> list = new ArrayList<>();
|
||||
// for (TransformationInfo value : user.getHeroManager().getTransformationList().values().stream().filter(v -> v.getStatus() == 1).collect(Collectors.toList())) {
|
||||
// TransformationCardInfo builder = new TransformationCardInfo();
|
||||
// builder.setId(value.getCardId());
|
||||
// builder.setIndex(value.getIndex());
|
||||
// builder.setStatus(value.getStatus());
|
||||
// builder.setLevel(value.getLevel());
|
||||
// builder.setStar(value.getStar());
|
||||
// list.add(builder);
|
||||
// }
|
||||
// return list;
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
* 获取玩家命格信息
|
||||
*/
|
||||
public static List<com.ljsd.jieling.thrift.idl.LifeGridInfo> getUserMinggeList(User user) {
|
||||
List<CommonProto.LifeGridInfo> data = GetPlayerInfoHandler.getLifeGridInfos(user.getHeroManager());
|
||||
List<LifeGridInfo>rpcData = new ArrayList<>();
|
||||
for(CommonProto.LifeGridInfo perData:data){
|
||||
LifeGridInfo perRpcData = new LifeGridInfo();
|
||||
perRpcData.setGridId(perData.getGridId());
|
||||
perRpcData.setGridIndex(perData.getGridIndex());
|
||||
perRpcData.setItemId(perData.getItemId());
|
||||
rpcData.add(perRpcData);
|
||||
}
|
||||
return rpcData;
|
||||
}
|
||||
// public static List<com.ljsd.jieling.thrift.idl.LifeGridInfo> getUserMinggeList(User user) {
|
||||
// List<CommonProto.LifeGridInfo> data = GetPlayerInfoHandler.getLifeGridInfos(user.getHeroManager());
|
||||
// List<LifeGridInfo>rpcData = new ArrayList<>();
|
||||
// for(CommonProto.LifeGridInfo perData:data){
|
||||
// LifeGridInfo perRpcData = new LifeGridInfo();
|
||||
// perRpcData.setGridId(perData.getGridId());
|
||||
// perRpcData.setGridIndex(perData.getGridIndex());
|
||||
// perRpcData.setItemId(perData.getItemId());
|
||||
// rpcData.add(perRpcData);
|
||||
// }
|
||||
// return rpcData;
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
* 获取玩家坐骑信息
|
||||
*/
|
||||
public static List<com.ljsd.jieling.thrift.idl.UserMountInfo> getUserMountList(User user) {
|
||||
List<CommonProto.UserMountInfo> data = CBean2Proto.getUserMountList(user);
|
||||
List<UserMountInfo>rpcData = new ArrayList<>();
|
||||
for(CommonProto.UserMountInfo perData :data){
|
||||
UserMountInfo rpc = new UserMountInfo();
|
||||
rpc.setMountId(perData.getMountId());
|
||||
rpc.setOverTime(perData.getOverTime());
|
||||
rpcData.add(rpc);
|
||||
}
|
||||
return rpcData;
|
||||
}
|
||||
// public static List<com.ljsd.jieling.thrift.idl.UserMountInfo> getUserMountList(User user) {
|
||||
// List<CommonProto.UserMountInfo> data = CBean2Proto.getUserMountList(user);
|
||||
// List<UserMountInfo>rpcData = new ArrayList<>();
|
||||
// for(CommonProto.UserMountInfo perData :data){
|
||||
// UserMountInfo rpc = new UserMountInfo();
|
||||
// rpc.setMountId(perData.getMountId());
|
||||
// rpc.setOverTime(perData.getOverTime());
|
||||
// rpcData.add(rpc);
|
||||
// }
|
||||
// return rpcData;
|
||||
// }
|
||||
//四象心法数据转换
|
||||
public static List<com.ljsd.jieling.thrift.idl.SixiangxinfaInfo> sixiangData2RpcData(User user){
|
||||
List<CommonProto.SixiangxinfaInfo> sixiangxinfaInfo = GetPlayerInfoHandler.getSixiangxinfaInfos(user.getHeroManager());
|
||||
List<SixiangxinfaInfo> rpcInfo = new ArrayList<>();
|
||||
for(CommonProto.SixiangxinfaInfo data:sixiangxinfaInfo){
|
||||
SixiangxinfaInfo perRpcInfo = new SixiangxinfaInfo();
|
||||
perRpcInfo.setProfessionId(data.getProfessionId());
|
||||
perRpcInfo.setLevel(data.getLevel());
|
||||
for(CommonProto.SixiangxinfaPropertyInfo property:data.getPropertyInfoListList()){
|
||||
SixiangxinfaPropertyInfo rpcSixiangxinfaPropertyInfo = new SixiangxinfaPropertyInfo();
|
||||
rpcSixiangxinfaPropertyInfo.setPropertyId(property.getPropertyId());
|
||||
rpcSixiangxinfaPropertyInfo.setPropertyNum(property.getPropertyNum());
|
||||
perRpcInfo.addToPropertyInfoList(rpcSixiangxinfaPropertyInfo);
|
||||
}
|
||||
rpcInfo.add(perRpcInfo);
|
||||
}
|
||||
return rpcInfo;
|
||||
}
|
||||
// public static List<com.ljsd.jieling.thrift.idl.SixiangxinfaInfo> sixiangData2RpcData(User user){
|
||||
// List<CommonProto.SixiangxinfaInfo> sixiangxinfaInfo = GetPlayerInfoHandler.getSixiangxinfaInfos(user.getHeroManager());
|
||||
// List<SixiangxinfaInfo> rpcInfo = new ArrayList<>();
|
||||
// for(CommonProto.SixiangxinfaInfo data:sixiangxinfaInfo){
|
||||
// SixiangxinfaInfo perRpcInfo = new SixiangxinfaInfo();
|
||||
// perRpcInfo.setProfessionId(data.getProfessionId());
|
||||
// perRpcInfo.setLevel(data.getLevel());
|
||||
// for(CommonProto.SixiangxinfaPropertyInfo property:data.getPropertyInfoListList()){
|
||||
// SixiangxinfaPropertyInfo rpcSixiangxinfaPropertyInfo = new SixiangxinfaPropertyInfo();
|
||||
// rpcSixiangxinfaPropertyInfo.setPropertyId(property.getPropertyId());
|
||||
// rpcSixiangxinfaPropertyInfo.setPropertyNum(property.getPropertyNum());
|
||||
// perRpcInfo.addToPropertyInfoList(rpcSixiangxinfaPropertyInfo);
|
||||
// }
|
||||
// rpcInfo.add(perRpcInfo);
|
||||
// }
|
||||
// return rpcInfo;
|
||||
// }
|
||||
@Override
|
||||
public boolean sendCrossLingmaiHongdian(int uid){
|
||||
ISession sess = OnlineUserManager.sessionMap.get(uid);
|
||||
|
|
@ -274,68 +264,67 @@ public class CoreService implements RPCRequestIFace.Iface {
|
|||
return false;
|
||||
}
|
||||
|
||||
private PropertyItem buildrprcPropertyItem(com.ljsd.jieling.logic.dao.PropertyItem propertyItem,User user,Hero hero){
|
||||
PropertyItem rpcPropertyItem = new PropertyItem();
|
||||
rpcPropertyItem.setId(propertyItem.getId());
|
||||
rpcPropertyItem.setEquipId(propertyItem.getEquipId());
|
||||
rpcPropertyItem.setHeroId(propertyItem.getHeroId());
|
||||
rpcPropertyItem.setRebuildLevel(propertyItem.getBuildLevel());
|
||||
rpcPropertyItem.setLevel(propertyItem.getLevel());
|
||||
return rpcPropertyItem;
|
||||
}
|
||||
// private PropertyItem buildrprcPropertyItem(com.ljsd.jieling.logic.dao.PropertyItem propertyItem,User user,Hero hero){
|
||||
// PropertyItem rpcPropertyItem = new PropertyItem();
|
||||
// rpcPropertyItem.setId(propertyItem.getId());
|
||||
// rpcPropertyItem.setEquipId(propertyItem.getEquipId());
|
||||
// rpcPropertyItem.setHeroId(propertyItem.getHeroId());
|
||||
// rpcPropertyItem.setRebuildLevel(propertyItem.getBuildLevel());
|
||||
// rpcPropertyItem.setLevel(propertyItem.getLevel());
|
||||
// return rpcPropertyItem;
|
||||
// }
|
||||
|
||||
private ArenaOfHero buildArenaOfHero(User user,Hero hero, Map<Integer,List<TeamPosHeroInfo>> teamMap){
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
ArenaOfHero arenaOfHero = new ArenaOfHero();
|
||||
arenaOfHero.setId(hero.getId());
|
||||
arenaOfHero.setTemplateId(hero.getTemplateId());
|
||||
arenaOfHero.setLevel(hero.getLevel(heroManager));
|
||||
arenaOfHero.setStar(hero.getStar());
|
||||
arenaOfHero.setEquipByPositionMap(new HashMap<>(hero.getEquipByPositionMap()));
|
||||
arenaOfHero.setSoulEquipByPositionMap(new HashMap<>(hero.getSoulEquipByPositionMap()));
|
||||
arenaOfHero.setGodSealByPositionMap(new HashMap<>(hero.getGodSealByPositionMap()));
|
||||
arenaOfHero.setBreakId(hero.getBreakIdByHongMeng(heroManager));
|
||||
arenaOfHero.setStarBreakId(hero.getStarBreakId());
|
||||
arenaOfHero.setCreateTime(hero.getCreateTime());
|
||||
// todo 法宝重写
|
||||
arenaOfHero.setEspecialEquipLevel(0);
|
||||
arenaOfHero.setJewelInfo(new HashSet<>(hero.getJewelInfo()));
|
||||
arenaOfHero.setCreateTime(hero.getCreateType());
|
||||
arenaOfHero.setChangeId(hero.getChangeId());
|
||||
arenaOfHero.setSkin(hero.getSkin());
|
||||
arenaOfHero.setGodSoulLv(hero.getGodSoulLv());
|
||||
arenaOfHero.setEquipAdvanceLv(hero.getEquipAdvanceLv());
|
||||
// 摘星阁装备强化
|
||||
for (HeroEquipStrong strong : hero.getEquipStrongMap().values()) {
|
||||
equipStrongInfo strongInfo = new equipStrongInfo();
|
||||
strongInfo.setPosition(strong.getPosition());
|
||||
strongInfo.setStrongLv(strong.getStrongLv());
|
||||
arenaOfHero.putToEquipStrongMap(strongInfo.getPosition(),strongInfo);
|
||||
}
|
||||
arenaOfHero.setPropertyId(hero.getPropertyId());
|
||||
for (Map.Entry<Integer, List<TeamPosHeroInfo>> entry : teamMap.entrySet()) {
|
||||
Integer teamId = entry.getKey();
|
||||
List<TeamPosHeroInfo> teamList = entry.getValue();
|
||||
List<TeamPosHeroInfo> collect = teamList.stream().filter(v -> v.getHeroId().equals(hero.getId())).collect(Collectors.toList());
|
||||
if (collect.isEmpty()){
|
||||
continue;
|
||||
}
|
||||
Map<Integer, Long> attributeShow;
|
||||
attributeShow = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero, true, teamId);
|
||||
if(arenaOfHero.getAttributeMapByTeam() == null){
|
||||
arenaOfHero.setAttributeMapByTeam(new HashMap<>());
|
||||
}
|
||||
arenaOfHero.getAttributeMapByTeam().put(teamId,attributeShow);
|
||||
|
||||
Map<Integer, Long> attributeBattle;
|
||||
attributeBattle = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero, false, teamId);
|
||||
if(arenaOfHero.getAttributeMapByTeamBattle() == null){
|
||||
arenaOfHero.setAttributeMapByTeamBattle(new HashMap<>());
|
||||
}
|
||||
arenaOfHero.getAttributeMapByTeamBattle().put(teamId,attributeBattle);
|
||||
}
|
||||
return arenaOfHero;
|
||||
}
|
||||
// private ArenaOfHero buildArenaOfHero(User user,Hero hero, Map<Integer,List<TeamPosHeroInfo>> teamMap){
|
||||
// HeroManager heroManager = user.getHeroManager();
|
||||
// ArenaOfHero arenaOfHero = new ArenaOfHero();
|
||||
// arenaOfHero.setId(hero.getId());
|
||||
// arenaOfHero.setTemplateId(hero.getTemplateId());
|
||||
// arenaOfHero.setLevel(hero.getLevel(heroManager));
|
||||
// arenaOfHero.setStar(hero.getStar());
|
||||
// arenaOfHero.setEquipByPositionMap(new HashMap<>(hero.getEquipByPositionMap()));
|
||||
// arenaOfHero.setSoulEquipByPositionMap(new HashMap<>(hero.getSoulEquipByPositionMap()));
|
||||
// arenaOfHero.setGodSealByPositionMap(new HashMap<>(hero.getGodSealByPositionMap()));
|
||||
// arenaOfHero.setBreakId(hero.getBreakIdByHongMeng(heroManager));
|
||||
// arenaOfHero.setStarBreakId(hero.getStarBreakId());
|
||||
// arenaOfHero.setCreateTime(hero.getCreateTime());
|
||||
// arenaOfHero.setEspecialEquipLevel(0);
|
||||
// arenaOfHero.setJewelInfo(new HashSet<>(hero.getJewelInfo()));
|
||||
// arenaOfHero.setCreateTime(hero.getCreateType());
|
||||
// arenaOfHero.setChangeId(hero.getChangeId());
|
||||
// arenaOfHero.setSkin(hero.getSkin());
|
||||
// arenaOfHero.setGodSoulLv(hero.getGodSoulLv());
|
||||
// arenaOfHero.setEquipAdvanceLv(hero.getEquipAdvanceLv());
|
||||
// // 摘星阁装备强化
|
||||
// for (HeroEquipStrong strong : hero.getEquipStrongMap().values()) {
|
||||
// equipStrongInfo strongInfo = new equipStrongInfo();
|
||||
// strongInfo.setPosition(strong.getPosition());
|
||||
// strongInfo.setStrongLv(strong.getStrongLv());
|
||||
// arenaOfHero.putToEquipStrongMap(strongInfo.getPosition(),strongInfo);
|
||||
// }
|
||||
// arenaOfHero.setPropertyId(hero.getPropertyId());
|
||||
// for (Map.Entry<Integer, List<TeamPosHeroInfo>> entry : teamMap.entrySet()) {
|
||||
// Integer teamId = entry.getKey();
|
||||
// List<TeamPosHeroInfo> teamList = entry.getValue();
|
||||
// List<TeamPosHeroInfo> collect = teamList.stream().filter(v -> v.getHeroId().equals(hero.getId())).collect(Collectors.toList());
|
||||
// if (collect.isEmpty()){
|
||||
// continue;
|
||||
// }
|
||||
// Map<Integer, Long> attributeShow;
|
||||
// attributeShow = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero, true, teamId);
|
||||
// if(arenaOfHero.getAttributeMapByTeam() == null){
|
||||
// arenaOfHero.setAttributeMapByTeam(new HashMap<>());
|
||||
// }
|
||||
// arenaOfHero.getAttributeMapByTeam().put(teamId,attributeShow);
|
||||
//
|
||||
// Map<Integer, Long> attributeBattle;
|
||||
// attributeBattle = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero, false, teamId);
|
||||
// if(arenaOfHero.getAttributeMapByTeamBattle() == null){
|
||||
// arenaOfHero.setAttributeMapByTeamBattle(new HashMap<>());
|
||||
// }
|
||||
// arenaOfHero.getAttributeMapByTeamBattle().put(teamId,attributeBattle);
|
||||
// }
|
||||
// return arenaOfHero;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean isContaintSensitiveWord(String txt, int matchType) throws TException {
|
||||
|
|
|
|||
|
|
@ -4,11 +4,10 @@ import com.ljsd.jieling.exception.ErrorCode;
|
|||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.logic.hero.HongMengFunctionEnum;
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import org.springframework.stereotype.Component;
|
||||
import rpc.protocols.HeroInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -51,13 +50,6 @@ public class UpHeroStarHandler extends BaseHandler<HeroInfoProto.UpHeroStarReque
|
|||
}
|
||||
}
|
||||
HeroLogic.getInstance().upHeroStar(iSession,heroId,consumeMaterialsList);
|
||||
}else{
|
||||
// 验证是否可以使用功能,法宝强化
|
||||
boolean useFunction = HeroLogic.getInstance().isUseFunction(iSession.getUid(), HongMengFunctionEnum.MIRACLE_WEAPON_INTENSIFY.getPropertyId(), heroId);
|
||||
if (!useFunction){
|
||||
throw new ErrorCodeException(ErrorCode.HONGMENG_ING);
|
||||
}
|
||||
ItemLogic.getInstance().especialEquipUpStar(iSession,heroId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.help;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.Baubles;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.PropertyItem;
|
||||
|
||||
|
|
@ -41,11 +42,6 @@ public class HelpHero {
|
|||
* 魂宝灵宝
|
||||
*/
|
||||
private List<PropertyItem> jewels;
|
||||
/**
|
||||
* 神树
|
||||
* todo 20220902 建木神树跟随魂灵宝走,不再单独展示,为了兼容redis缓存,这里不做删除,但是也不用了
|
||||
*/
|
||||
private int treeLevel;
|
||||
/**
|
||||
* 四灵种族塔总数
|
||||
*/
|
||||
|
|
@ -58,6 +54,8 @@ public class HelpHero {
|
|||
|
||||
private List<PropertyItem> faxiangs = new ArrayList<>();
|
||||
|
||||
private Baubles baubles;
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
|
@ -129,4 +127,12 @@ public class HelpHero {
|
|||
public void setFaxiangs(List<PropertyItem> faxiangs) {
|
||||
this.faxiangs = faxiangs;
|
||||
}
|
||||
|
||||
public Baubles getBaubles() {
|
||||
return baubles;
|
||||
}
|
||||
|
||||
public void setBaubles(Baubles baubles) {
|
||||
this.baubles = baubles;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4229,8 +4229,6 @@ public class HeroLogic {
|
|||
* @throws Exception
|
||||
*/
|
||||
public void especialEquipBack(ISession session, List<String> heroIdList) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
// todo 法宝归元重写
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.ESPECIAL_EQUIP_BACK_RESPONSE_VALUE, null, true);
|
||||
}
|
||||
|
||||
|
|
@ -4365,16 +4363,6 @@ public class HeroLogic {
|
|||
for (int[] ints : levelReturn) {
|
||||
returnItemMap.put(ints[0], returnItemMap.getOrDefault(ints[0], 0) + ints[1]);
|
||||
}
|
||||
if (!isAddEspecial) {
|
||||
continue;
|
||||
}
|
||||
//返还法宝修炼材料
|
||||
Map<Integer, Integer> especialEquipReturnItem = ItemLogic.getInstance().heroEspecialEquipReturnItem(hero);
|
||||
if (especialEquipReturnItem != null && !especialEquipReturnItem.isEmpty()) {
|
||||
for (Map.Entry<Integer, Integer> entry : especialEquipReturnItem.entrySet()) {
|
||||
returnItemMap.put(entry.getKey(), returnItemMap.getOrDefault(entry.getKey(), 0) + entry.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
int[][] resultDrop = new int[returnItemMap.size()][];
|
||||
int index = 0;
|
||||
|
|
@ -6380,7 +6368,7 @@ public class HeroLogic {
|
|||
List<Integer> skillList = new ArrayList<>();
|
||||
SCHero tempHero = SCHero.getsCHero().get(hero.getTemplateId());
|
||||
//英雄技能取统一的玉虚配置英雄
|
||||
List<Integer> skillListByStar = tempHero.getSkillListByStar(yuxuHero.getStar());
|
||||
List<Integer > skillListByStar = tempHero.getSkillListByStar(yuxuHero.getStar());
|
||||
if (skillListByStar != null) {
|
||||
skillList.addAll(skillListByStar);
|
||||
}
|
||||
|
|
@ -6411,7 +6399,7 @@ public class HeroLogic {
|
|||
Map<Integer, Integer> godSealByPositionMap = yuxuHero.getGodSealByPositionMap();
|
||||
godSealByPositionMap.values().forEach(e -> Arrays.stream(config.get(e).getPassiveSkill()).forEach(skillList::add));
|
||||
|
||||
//法宝技能继承真实技能 todo 玉虚法宝处理
|
||||
//法宝技能继承真实技能 todo 玉虚法宝重写
|
||||
int[] equipTalismana = tempHero.getEquipTalismana();
|
||||
|
||||
return skillList;
|
||||
|
|
|
|||
|
|
@ -570,12 +570,6 @@ public class ItemLogic {
|
|||
baseItemMap.put(item[0], baseItemMap.getOrDefault(item[0], 0L) + item[1]);
|
||||
}
|
||||
|
||||
//法宝获得
|
||||
Map<Integer, Integer> especialReturn = heroEspecialEquipReturnItem(hero);
|
||||
if (especialReturn != null) {
|
||||
especialReturn.forEach((k, v) -> baseItemMap.put(k, baseItemMap.getOrDefault(k, 0L) + v));
|
||||
}
|
||||
|
||||
// 潜能
|
||||
HeroLogic.getInstance().potentialBackDrop(hero, baseItemMap);
|
||||
}
|
||||
|
|
@ -600,28 +594,6 @@ public class ItemLogic {
|
|||
ItemLogic.sendUseAndPriceItemMessage(iSession, MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE, drop);
|
||||
}
|
||||
|
||||
/**
|
||||
* 法宝归元所得
|
||||
* todo 法宝重写
|
||||
*/
|
||||
public Map<Integer, Integer> heroEspecialEquipReturnItem(Hero hero) {
|
||||
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
|
||||
int[] equipTalismana = scHero.getEquipTalismana();
|
||||
if (equipTalismana == null || equipTalismana.length < 2) {
|
||||
return null;
|
||||
}
|
||||
Map<Integer, Integer> baseItemMap = new HashMap<>();
|
||||
TreeMap<Integer, SEquipTalismana> levelMap = (TreeMap<Integer, SEquipTalismana>) (SEquipTalismana.equipTalismanaStarMap.get(equipTalismana[1]));
|
||||
Map<Integer, SEquipTalismana> returnMap = levelMap.subMap(1, 0);
|
||||
for (Map.Entry<Integer, SEquipTalismana> entry : returnMap.entrySet()) {
|
||||
int[][] rankupBasicMaterial = entry.getValue().getRankupBasicMaterial();
|
||||
for (int[] rankUpConsume : rankupBasicMaterial) {
|
||||
baseItemMap.put(rankUpConsume[0], baseItemMap.getOrDefault(rankUpConsume[0], 0) + rankUpConsume[1]);
|
||||
}
|
||||
}
|
||||
return baseItemMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回数量乘比值
|
||||
*
|
||||
|
|
@ -701,7 +673,7 @@ public class ItemLogic {
|
|||
}
|
||||
PlayerInfoProto.RefreshItemNumResponse.Builder builder = PlayerInfoProto.RefreshItemNumResponse.newBuilder();
|
||||
List<CommonProto.ItemInfo> itemInfos = new ArrayList<>();
|
||||
if (itemList.size() != 0) {
|
||||
if (!itemList.isEmpty()) {
|
||||
for (Item item : itemList) {
|
||||
itemInfos.add(CBean2Proto.getItemInfo(item));
|
||||
}
|
||||
|
|
@ -710,59 +682,6 @@ public class ItemLogic {
|
|||
MessageUtil.sendMessage(iSession, 1, msgId, builder.build(), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 法宝进阶 todo 法宝重写
|
||||
*/
|
||||
public void especialEquipUpStar(ISession session, String heroId) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
Hero hero = user.getHeroManager().getHero(heroId);
|
||||
if (hero == null) {
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("当前法宝不存在"));
|
||||
}
|
||||
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
|
||||
if (scHero.getEquipTalismana() == null && hero.getStar() < scHero.getEquipTalismana()[0]) {
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("当前英雄无法升级法宝"));
|
||||
}
|
||||
|
||||
int especialEquipId = scHero.getEquipTalismana()[1];
|
||||
int maxLimit = SSpecialConfig.getIntegerValue(SSpecialConfig.EquipTalismanaUpperLimit);
|
||||
// if (hero.getEspecialEquipLevel() >= maxLimit){
|
||||
// throw new ErrorCodeException(ErrorCode.newDefineCode("法宝已最大限制等级"));
|
||||
// }
|
||||
// SEquipTalismana sEquipTalismana = SEquipTalismana.equipTalismanaStarMap.get(especialEquipId).get(hero.getEspecialEquipLevel());
|
||||
// if (sEquipTalismana == null || sEquipTalismana.getRankupBasicMaterial() == null|| sEquipTalismana.getRankupBasicMaterial().length==0) {
|
||||
// throw new ErrorCodeException(ErrorCode.newDefineCode("法宝已最大等级"));
|
||||
// }
|
||||
// boolean check = ItemUtil.itemCost(user, sEquipTalismana.getRankupBasicMaterial(), BIReason.ESPECIAL_EQUIP_UP_LEVEL_CONSUME, 1);
|
||||
// if (!check){
|
||||
// throw new ErrorCodeException(ErrorCode.ITEM_ESPECIAL_EQUIP_UP_ITEM_NOT);
|
||||
// }
|
||||
// hero.updateEspecial(hero.getEspecialEquipLevel() + 1);
|
||||
// Poster.getPoster().dispatchEvent(new EspecialEquipUpEvent(user.getId(), especialEquipId, hero.getEspecialEquipLevel()));
|
||||
// user.getUserMissionManager().onGameEvent(user, GameEvent.ESPECIAL_EQUIP, hero.getEspecialEquipLevel(), heroId);
|
||||
// MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE, null, true);
|
||||
// int[] value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.lamp_rankup_equiptalisman_content_parm);
|
||||
// if (hero.getEspecialEquipLevel() >= value[0]) {
|
||||
// SItem sItem = SItem.getsItemMap().get(especialEquipId);
|
||||
// if (sItem.getQuantity() < 5) {
|
||||
// return;
|
||||
// }
|
||||
// // 每5级发送一次公告
|
||||
// if (hero.getEspecialEquipLevel() % value[1] != 0) {
|
||||
// return;
|
||||
// }
|
||||
// String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
// String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("lamp_rankup_equiptalisman_content",
|
||||
// new Object[]{nameColor, user.getPlayerInfoManager().getNickName(), sItem.getName(), hero.getEspecialEquipLevel()},
|
||||
// new int[]{0,0,1,0});
|
||||
// ChatLogic.getInstance().sendSysChatMessage(message, Global.DILIGENT, String.valueOf(sItem.getId()), 0, 0, 0, 0, 0);
|
||||
// }
|
||||
// 更新战力
|
||||
Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId));
|
||||
//鸿蒙阵
|
||||
HeroLogic.getInstance().addOrUpdateHongmeng(session);
|
||||
}
|
||||
|
||||
public void addItemLog(ItemLog itemLog) {
|
||||
ItemLogUtil.addLogQueue(itemLog);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.TeamPosHeroInfo;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
|
|
@ -28,27 +26,24 @@ public class UpJewlDataManager extends AbstractDataManager{
|
|||
|
||||
@Override
|
||||
public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) {
|
||||
// if(parm.length==1&&(int)parm[0]!=6){
|
||||
// return false;
|
||||
// }
|
||||
// if(parm.length==2&&(int)parm[0]!=cfgValue[1][0]){
|
||||
// return false;
|
||||
// }
|
||||
if( data.jewl_all_leve==cfgValue[1][0]){
|
||||
if(data.jewl_all_leve==cfgValue[1][0]){
|
||||
return true;
|
||||
}
|
||||
for (Map.Entry<Integer, List<TeamPosHeroInfo>> entry:user.getTeamPosManager().getTeamPosForHero().entrySet()){
|
||||
Map<Integer, List<TeamPosHeroInfo>> teamPosForHero = user.getTeamPosManager().getTeamPosForHero();
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
EquipManager equipManager = user.getEquipManager();
|
||||
for (Map.Entry<Integer, List<TeamPosHeroInfo>> entry:teamPosForHero.entrySet()){
|
||||
List<TeamPosHeroInfo> teamPosHeroInfos =entry.getValue();
|
||||
if(teamPosHeroInfos.size()!=6){
|
||||
continue;
|
||||
}
|
||||
boolean isAll =true;
|
||||
for (TeamPosHeroInfo info:teamPosHeroInfos){
|
||||
Hero hero = user.getHeroManager().getHero(info.getHeroId());
|
||||
// todo 法宝重写
|
||||
// if(hero.getEspecialEquipLevel() < cfgValue[1][0]){
|
||||
// isAll = false;
|
||||
// }
|
||||
Hero hero = heroManager.getHero(info.getHeroId());
|
||||
Baubles baubles = equipManager.getBaubles(hero.getBauBlesId());
|
||||
if (baubles != null && baubles.getLevel() < cfgValue[1][0]){
|
||||
isAll = false;
|
||||
}
|
||||
}
|
||||
if(isAll){
|
||||
data.jewl_all_leve=cfgValue[1][0];
|
||||
|
|
|
|||
|
|
@ -1387,7 +1387,7 @@ public class PlayerLogic {
|
|||
builder.addSpecialEffects(CommonProto.SpecialEffects.newBuilder().setPropertyId(item.getKey()).setPropertyValue(item.getValue().intValue()).build());
|
||||
}
|
||||
builder.setForce(HeroLogic.getInstance().calForce(heroAttributeMap));
|
||||
builder.setHero(CBean2Proto.getYuxuHero(yuxuHero,hero));
|
||||
builder.setHero(CBean2Proto.getYuxuHero(yuxuHero));
|
||||
//公会等级统一为0
|
||||
builder.setGuildSkill(0);
|
||||
return builder.build();
|
||||
|
|
|
|||
|
|
@ -283,7 +283,6 @@ public class CBean2Proto {
|
|||
/**
|
||||
* 助战,hero对象转redis类型
|
||||
* 存入redis时调用
|
||||
* todo 法宝重写
|
||||
*/
|
||||
public static HelpHero heroToHelpHero(User user,Hero hero) throws Exception {
|
||||
// 获取神将类型
|
||||
|
|
@ -306,6 +305,7 @@ public class CBean2Proto {
|
|||
helpHero.setJewels(jewels);
|
||||
helpHero.setFaxiangs(faxiangs);
|
||||
helpHero.setFourTotalTier(user.getPlayerInfoManager().getFourChallengeTotal());
|
||||
helpHero.setBaubles(equipManager.getBaubles(hero.getBauBlesId()));
|
||||
return helpHero;
|
||||
}
|
||||
|
||||
|
|
@ -1202,13 +1202,13 @@ public class CBean2Proto {
|
|||
/***
|
||||
* 获取玉虚英雄属性
|
||||
*/
|
||||
public static CommonProto.Hero getYuxuHero(Hero yuxuHero,Hero hero){
|
||||
public static CommonProto.Hero getYuxuHero(Hero yuxuHero){
|
||||
CommonProto.Hero hero1 = getHero(yuxuHero);
|
||||
CommonProto.Hero.Builder builder = hero1.toBuilder();
|
||||
builder.setLevel(yuxuHero.getYuXuLevel());
|
||||
builder.setBreakId(yuxuHero.getBreakId());
|
||||
builder.setStarBreakId(yuxuHero.getStarBreakId());
|
||||
//显示真实的法宝等级 todo 法宝重写
|
||||
builder.setBaublesId(yuxuHero.getBauBlesId());
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue