parent
e0e64e46b3
commit
0b580e8ce3
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.config.clazzStaticCfg;
|
||||
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import config.SArenaRobotConfig;
|
||||
import config.SCHero;
|
||||
|
@ -7,6 +8,7 @@ import config.SWorkShopTechnology;
|
|||
import manager.AbstractClassStaticConfig;
|
||||
import manager.STableManager;
|
||||
import manager.Table;
|
||||
import rpc.protocols.CommonProto;
|
||||
import util.MathUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
@ -25,17 +27,28 @@ public class SArenaRobotStaticConfig extends AbstractClassStaticConfig {
|
|||
|
||||
for(SArenaRobotConfig sArenaRobotConfig : integerSArenaRobotConfigMap.values()){
|
||||
List<Integer> heroList = sArenaRobotConfig.getHeroList();
|
||||
int heroLevel = sArenaRobotConfig.getRobotLevel();
|
||||
Map<Integer,Integer> starHeroMap = new HashMap<>();
|
||||
int heroLevel = sArenaRobotConfig.getRoleLv();
|
||||
|
||||
Map<Integer, CommonProto.Hero> heroMap = new HashMap<>();
|
||||
for(Integer heroTid :heroList){
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
if(null ==scHero){
|
||||
throw new IllegalArgumentException("sArenaRobotConfig id "+sArenaRobotConfig.getId()+"机器人英雄模板id找不到 heroTid:"+heroTid);
|
||||
}
|
||||
int heroBreakId = HeroLogic.getInstance().calRobotStarByLevel(heroTid, heroLevel,starHeroMap);
|
||||
sArenaRobotConfig.setBreakId(heroBreakId);
|
||||
sArenaRobotConfig.setStarOfHeroMap(starHeroMap);
|
||||
|
||||
CommonProto.Hero.Builder heroBuilder = CommonProto.Hero.newBuilder();
|
||||
|
||||
int heroStarBreakId = HeroLogic.getInstance().calRobotStarByLevel(heroTid,heroLevel,heroBuilder);
|
||||
int heroBreakId = HeroLogic.getInstance().calRobotBreaByLevel(heroTid,heroLevel,heroBuilder);
|
||||
|
||||
heroBuilder.setId(String.valueOf(scHero.getId()));
|
||||
heroBuilder.setHeroId(scHero.getId());
|
||||
heroBuilder.setLevel(heroLevel);
|
||||
heroBuilder.setStarBreakId(heroStarBreakId);
|
||||
heroBuilder.setBreakId(heroBreakId);
|
||||
heroMap.put(heroTid,heroBuilder.build());
|
||||
}
|
||||
sArenaRobotConfig.setHeroMapList(heroMap);
|
||||
int totleForce = HeroLogic.getInstance().calRobotTotalForce(sArenaRobotConfig);
|
||||
sArenaRobotConfig.setTotalForce(totleForce);
|
||||
LinkedList<Integer> integers = force2robotId.get(totleForce);
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
package com.ljsd.jieling.handler;
|
||||
|
||||
import com.google.protobuf.GeneratedMessage;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import config.SFloodConfig;
|
||||
import manager.STableManager;
|
||||
import org.springframework.stereotype.Component;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.MapInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 心魔试炼领取奖励
|
||||
*/
|
||||
@Component
|
||||
public class GetDemonsTrialRewardHandler extends BaseHandler<MapInfoProto.DemonsTrialRewardRequest> {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.DemonsTrialRewardRequest;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeneratedMessage processWithProto(int uid, MapInfoProto.DemonsTrialRewardRequest proto) throws Exception {
|
||||
|
||||
// 用户信息
|
||||
User user = UserManager.getUser(uid);
|
||||
if (user == null) {
|
||||
throw new ErrorCodeException(ErrorCode.UNKNOWN);
|
||||
}
|
||||
// 层id
|
||||
int layerId = proto.getLayerId();
|
||||
// 奖励是否已经领取
|
||||
Set<Integer> rewardInfo = user.getMapManager().getDemonsTrialRewardInfo();
|
||||
if (rewardInfo.contains(layerId)) {
|
||||
throw new ErrorCodeException(ErrorCode.HAD_TAKE_REWARD);
|
||||
}
|
||||
// 表里是否有配置
|
||||
SFloodConfig sFloodConfig = STableManager.getConfig(SFloodConfig.class).get(layerId);
|
||||
int[][] reward = sFloodConfig.getSpecialReward();
|
||||
if (reward == null || reward.length <= 0) {
|
||||
throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE);
|
||||
}
|
||||
|
||||
// 道具逻辑,封装好的
|
||||
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
|
||||
// 领取奖励
|
||||
ItemUtil.drop(user, reward, drop, BIReason.MONSTERATTACK_REWARD);
|
||||
|
||||
user.getMapManager().addDemonsTrialRewardInfo(layerId);
|
||||
|
||||
return MapInfoProto.DemonsTrialRewardResponse.newBuilder().setDrop(drop).build();
|
||||
}
|
||||
}
|
|
@ -27,7 +27,6 @@ import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
|||
import com.ljsd.jieling.network.session.ISession;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.thread.task.RPCServerTask;
|
||||
import com.ljsd.jieling.util.CBean2Proto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
|
@ -37,6 +36,7 @@ import manager.STableManager;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
@ -220,6 +220,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
.setHadLuckTime( user.getPlayerInfoManager().getLuckWheelLimitTime())
|
||||
.setHadAdvanceLuckTime(user.getPlayerInfoManager().getLuckAdvanceWheelLimitTime())
|
||||
.setWorldLeve(GlobleSystemLogic.getGloableWorldLeveCache())
|
||||
.addAllDemonsTrialRewardInfo(user.getMapManager().getDemonsTrialRewardInfo())
|
||||
.build();
|
||||
ReportUtil.onReportEvent(user, ReportEventEnum.APP_LOGIN.getType());
|
||||
try {
|
||||
|
|
|
@ -107,6 +107,8 @@ public class MapManager extends MongoBase {
|
|||
|
||||
private int lastMonsterAttack =1;//兽潮来袭波数
|
||||
|
||||
private Set<Integer> demonsTrialRewardInfo;// 心魔试炼已领取奖励
|
||||
|
||||
private Set<Integer> playedMapType = new HashSet<>();
|
||||
|
||||
private TrialInfo trialInfo = new TrialInfo();
|
||||
|
@ -860,7 +862,26 @@ public class MapManager extends MongoBase {
|
|||
public void setCurrentJourneyId(int currentJourneyId) {
|
||||
this.currentJourneyId = currentJourneyId;
|
||||
updateString("currentJourneyId",currentJourneyId);
|
||||
}
|
||||
|
||||
public Set<Integer> getDemonsTrialRewardInfo() {
|
||||
if (demonsTrialRewardInfo == null){
|
||||
return new TreeSet<>();
|
||||
}
|
||||
return demonsTrialRewardInfo;
|
||||
}
|
||||
|
||||
public void setDemonsTrialRewardInfo(Set<Integer> demonsTrialRewardInfos) {
|
||||
demonsTrialRewardInfo = demonsTrialRewardInfos;
|
||||
updateString("demonsTrialRewardInfo",demonsTrialRewardInfo);
|
||||
}
|
||||
|
||||
public void addDemonsTrialRewardInfo(int layerId) {
|
||||
if (demonsTrialRewardInfo == null){
|
||||
demonsTrialRewardInfo = new TreeSet<>();
|
||||
}
|
||||
demonsTrialRewardInfo.add(layerId);
|
||||
updateString("demonsTrialRewardInfo",demonsTrialRewardInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ import com.ljsd.jieling.logic.dao.*;
|
|||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.expedition.ExpeditionLogic;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.Expedition;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
|
@ -156,14 +157,14 @@ public class Cmd_role_gm extends GmRoleAbstract {
|
|||
SnapFightInfo fightInfo = new SnapFightInfo();
|
||||
int force = sArenaRobotConfig.getTotalForce();
|
||||
Map<String, FamilyHeroInfo> heroAllAttribute = new HashMap<>();
|
||||
Map<Integer, Integer> heroStarsMap = sArenaRobotConfig.getStarOfHeroMap();
|
||||
Map<Integer, CommonProto.Hero> heroMapList = sArenaRobotConfig.getHeroMapList();
|
||||
Map<String, Double> bossHP = new HashMap<>();
|
||||
|
||||
int inner=1;
|
||||
for (Map.Entry<Integer, Integer> item : heroStarsMap.entrySet()) {
|
||||
for (Map.Entry<Integer, CommonProto.Hero> item : heroMapList.entrySet()) {
|
||||
StringBuilder skillSb = new StringBuilder();
|
||||
Integer heroTid = item.getKey();
|
||||
Integer heroStar = item.getValue();
|
||||
Integer heroStar = item.getValue().getStar();
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
|
||||
List<Integer> skillIds = scHero.getSkillListByStar(heroStar);
|
||||
|
@ -175,7 +176,7 @@ public class Cmd_role_gm extends GmRoleAbstract {
|
|||
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
|
||||
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
|
||||
int robotLevel = sArenaRobotConfig.getRoleLv();
|
||||
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv, false);
|
||||
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv, false);
|
||||
heroAllAttribute.put(heroTid.toString(), new FamilyHeroInfo(heroTid, robotLevel, heroStar, robotHeroAttribute,inner++));
|
||||
// String property = HeroLogic.getInstance().getRobotHeroProperty(sArenaRobotConfig,scHero,propertySb,robotHeroAttribute).toString();
|
||||
}
|
||||
|
|
|
@ -525,14 +525,14 @@ public class ExpeditionLogic {
|
|||
SnapFightInfo fightInfo = new SnapFightInfo();
|
||||
int force = sArenaRobotConfig.getTotalForce();
|
||||
Map<String, FamilyHeroInfo> heroAllAttribute = new HashMap<>();
|
||||
Map<Integer, Integer> heroStarsMap = sArenaRobotConfig.getStarOfHeroMap();
|
||||
Map<Integer, CommonProto.Hero> heroMapList = sArenaRobotConfig.getHeroMapList();
|
||||
Map<String, Double> bossHP = new HashMap<>();
|
||||
|
||||
int innerPosition= 1;
|
||||
for (Map.Entry<Integer, Integer> item : heroStarsMap.entrySet()) {
|
||||
for (Map.Entry<Integer, CommonProto.Hero> item : heroMapList.entrySet()) {
|
||||
StringBuilder skillSb = new StringBuilder();
|
||||
Integer heroTid = item.getKey();
|
||||
Integer heroStar = item.getValue();
|
||||
Integer heroStar = item.getValue().getStar();
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
|
||||
List<Integer> skillIds = scHero.getSkillListByStar(heroStar);
|
||||
|
@ -544,7 +544,7 @@ public class ExpeditionLogic {
|
|||
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
|
||||
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
|
||||
int robotLevel = sArenaRobotConfig.getRoleLv();
|
||||
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv, false);
|
||||
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv, false);
|
||||
heroAllAttribute.put(heroTid.toString(), new FamilyHeroInfo(heroTid, robotLevel, heroStar, robotHeroAttribute,innerPosition++));
|
||||
// String property = HeroLogic.getInstance().getRobotHeroProperty(sArenaRobotConfig,scHero,propertySb,robotHeroAttribute).toString();
|
||||
}
|
||||
|
|
|
@ -418,13 +418,13 @@ public class FightUtil {
|
|||
}
|
||||
private static CommonProto.FightTeamInfo getRobotFightTeamInfo(SArenaRobotConfig sArenaRobotConfig,Map<String,Double> remainHp) {
|
||||
List<CommonProto.FightUnitInfo> heroFightInfos = new ArrayList<>();
|
||||
Map<Integer,Integer> heroStarsMap = sArenaRobotConfig.getStarOfHeroMap();
|
||||
Map<Integer, CommonProto.Hero> heroMapList = sArenaRobotConfig.getHeroMapList();
|
||||
int i=0;
|
||||
for(Map.Entry<Integer,Integer> item : heroStarsMap.entrySet()){
|
||||
for(Map.Entry<Integer,CommonProto.Hero> item : heroMapList.entrySet()){
|
||||
StringBuilder skillSb = new StringBuilder();
|
||||
StringBuilder propertySb = new StringBuilder();
|
||||
Integer heroTid = item.getKey();
|
||||
Integer heroStar = item.getValue();
|
||||
Integer heroStar = item.getValue().getStar();
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
List<Integer> skillIds = scHero.getSkillListByStar(heroStar);
|
||||
String heroSkill = HeroLogic.getInstance().getRobotHeroSkills(skillIds,skillSb).toString();
|
||||
|
@ -432,7 +432,7 @@ public class FightUtil {
|
|||
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
|
||||
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
|
||||
int robotLevel = sArenaRobotConfig.getRoleLv();
|
||||
Map<Integer, Integer> robotHeroAttribute =HeroLogic.getInstance(). calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv,false);
|
||||
Map<Integer, Integer> robotHeroAttribute =HeroLogic.getInstance(). calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv,false);
|
||||
|
||||
if(remainHp!=null&&remainHp.containsKey(heroTid.toString())){
|
||||
robotHeroAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),(int)(remainHp.getOrDefault(heroTid.toString(),1d)*robotHeroAttribute.get(HeroAttributeEnum.Hp.getPropertyId())));
|
||||
|
|
|
@ -1185,21 +1185,55 @@ public class HeroLogic{
|
|||
return result;
|
||||
}
|
||||
|
||||
//根据英雄等级计算出brealId,从而也可以获取星级
|
||||
public int calRobotStarByLevel(int heroTid,int heroLevel,Map<Integer,Integer> starHeroMap){
|
||||
/**
|
||||
* 根据英雄等级计算出starBrealId
|
||||
* @param heroTid
|
||||
* @param heroLevel
|
||||
* @param heroBuilder
|
||||
* @return
|
||||
*/
|
||||
public int calRobotStarByLevel(int heroTid,int heroLevel,CommonProto.Hero.Builder heroBuilder){
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
int star = scHero.getStar();
|
||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
|
||||
if(scHeroRankUpConfigByType == null){
|
||||
scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
|
||||
return 0;
|
||||
}
|
||||
// 无奈方式,代码写死验证机器人等级小于100级为未升星
|
||||
if (heroLevel <= 100){
|
||||
return 0;
|
||||
}
|
||||
for(SCHeroRankUpConfig scHeroRankUpConfig : scHeroRankUpConfigByType.values()){
|
||||
if (heroLevel>=scHeroRankUpConfig.getLimitLevel() && heroLevel <= scHeroRankUpConfig.getOpenLevel()){
|
||||
starHeroMap.put(heroTid,scHeroRankUpConfig.getOpenStar());
|
||||
if (heroLevel <= scHeroRankUpConfig.getOpenLevel()){
|
||||
heroBuilder.setStar(scHeroRankUpConfig.getOpenStar());
|
||||
return scHeroRankUpConfig.getId();
|
||||
}
|
||||
}
|
||||
starHeroMap.put(heroTid,star);
|
||||
heroBuilder.setStar(star);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据英雄等级计算出BrealId
|
||||
* @param heroTid
|
||||
* @param heroLevel
|
||||
* @param heroBuilder
|
||||
* @return
|
||||
*/
|
||||
public int calRobotBreaByLevel(int heroTid,int heroLevel,CommonProto.Hero.Builder heroBuilder){
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
int star = scHero.getStar();
|
||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
|
||||
if(scHeroRankUpConfigByType == null){
|
||||
return 0;
|
||||
}
|
||||
for(SCHeroRankUpConfig scHeroRankUpConfig : scHeroRankUpConfigByType.values()){
|
||||
if (heroLevel >= scHeroRankUpConfig.getLimitLevel() && heroLevel <= scHeroRankUpConfig.getOpenLevel()){
|
||||
heroBuilder.setStar(scHeroRankUpConfig.getOpenStar());
|
||||
return scHeroRankUpConfig.getId();
|
||||
}
|
||||
}
|
||||
heroBuilder.setStar(star);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1860,7 +1894,16 @@ public class HeroLogic{
|
|||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算机器人英雄熟悉
|
||||
* @param scHero
|
||||
* @param heroLevel
|
||||
* @param heroBrekId 调用方法calRobotHeroAllAttribute未使用该参数,所以可以传0
|
||||
* @param pokemonIds
|
||||
* @param pokemonLevel
|
||||
* @param isForce
|
||||
* @return
|
||||
*/
|
||||
public Map<Integer,Integer> calRobotHeroAttribute(SCHero scHero,int heroLevel,int heroBrekId,int[] pokemonIds,int pokemonLevel,boolean isForce){
|
||||
Map<Integer, Integer> heroAllAttribute = calRobotHeroAllAttribute(scHero.getId(),heroLevel,heroBrekId,isForce);
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE));
|
||||
|
@ -2297,9 +2340,8 @@ public class HeroLogic{
|
|||
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
|
||||
int heroLevel = sArenaRobotConfig.getRoleLv();
|
||||
for(Integer heroTid :heroList){
|
||||
int heroBreakId = sArenaRobotConfig.getBreakId();
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
Map<Integer, Integer> robotHeroAttribute = calRobotHeroAttribute(scHero, heroLevel, heroBreakId, differDemonsId, differDemonsLv,true);
|
||||
Map<Integer, Integer> robotHeroAttribute = calRobotHeroAttribute(scHero, heroLevel, 0, differDemonsId, differDemonsLv,true);
|
||||
totalForce+=calForce(robotHeroAttribute);
|
||||
}
|
||||
return totalForce;
|
||||
|
|
|
@ -612,9 +612,9 @@ public class PlayerLogic {
|
|||
}
|
||||
teamInfo.setTotalForce(sArenaRobotConfig.getTotalForce());
|
||||
int position = 1;
|
||||
for(Map.Entry<Integer,Integer> item : sArenaRobotConfig.getStarOfHeroMap().entrySet()){
|
||||
for(Map.Entry<Integer,CommonProto.Hero> item : sArenaRobotConfig.getHeroMapList().entrySet()){
|
||||
Integer heroTid = item.getKey();
|
||||
Integer heroStar = item.getValue();
|
||||
Integer heroStar = item.getValue().getStar();
|
||||
teamInfo.addTeam(CommonProto.TeamSimpleInfo.newBuilder().setHeroid(String.valueOf(heroTid)).setHeroTid(heroTid).setLevel(sArenaRobotConfig.getRoleLv()).setStar(heroStar).setPosition(position++).build());
|
||||
}
|
||||
oneInfo.setTeam(teamInfo);
|
||||
|
@ -648,16 +648,15 @@ public class PlayerLogic {
|
|||
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
|
||||
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
|
||||
int heroLevel = sArenaRobotConfig.getRoleLv();
|
||||
int heroBreakId = sArenaRobotConfig.getBreakId();
|
||||
|
||||
SCHero scHero = SCHero.getsCHero().get(Integer.parseInt(robotHeroId));
|
||||
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, heroLevel, heroBreakId, differDemonsId, differDemonsLv,true);
|
||||
Map<Integer, Integer> robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, heroLevel, 0, differDemonsId, differDemonsLv,true);
|
||||
|
||||
for(Map.Entry<Integer,Integer> item : robotHeroAttribute.entrySet()){
|
||||
builder.addSpecialEffects(CommonProto.SpecialEffects.newBuilder().setPropertyId(item.getKey()).setPropertyValue(item.getValue()).build());
|
||||
}
|
||||
builder.setForce(HeroLogic.getInstance().calForce(robotHeroAttribute));
|
||||
builder.setHero(CBean2Proto.getRobotHero(scHero,sArenaRobotConfig));
|
||||
builder.setHero(sArenaRobotConfig.getHeroMapList().get(scHero.getId()));
|
||||
|
||||
int resMsgId = MessageTypeProto.MessageType.VIEW_HERO_INFO_RESPONSE_VALUE;
|
||||
MessageUtil.sendMessage(session,1,resMsgId,builder.build(),true);
|
||||
|
|
|
@ -6,10 +6,10 @@ import com.ljsd.jieling.logic.dao.UserManager;
|
|||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.rank.IRank;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
@ -34,7 +34,7 @@ public abstract class AbstractRank implements IRank {
|
|||
* @return 当前排行榜数据
|
||||
* @throws Exception
|
||||
*/
|
||||
public PlayerInfoProto.RankResponse getRank(int uid,String rkey,int page,int rankEndLine) throws Exception {
|
||||
public PlayerInfoProto.RankResponse getRank(int uid, String rkey, int page, int rankEndLine) throws Exception {
|
||||
if(rankEndLine==-1){
|
||||
rankEndLine = 100;
|
||||
}
|
||||
|
@ -102,6 +102,9 @@ public abstract class AbstractRank implements IRank {
|
|||
}
|
||||
ZSetOperations.TypedTuple<String> data = rankByKey.iterator().next();
|
||||
User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
|
||||
if (everyUser == null){
|
||||
return builder;
|
||||
}
|
||||
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
|
||||
.setRank(1)
|
||||
.setParam1(getParam1(data.getScore()))
|
||||
|
@ -121,9 +124,12 @@ public abstract class AbstractRank implements IRank {
|
|||
});
|
||||
return builder;
|
||||
}
|
||||
protected void getOptional(int index,ZSetOperations.TypedTuple<String> data,PlayerInfoProto.RankResponse.Builder builder) throws Exception {
|
||||
|
||||
protected void getOptional(int index,ZSetOperations.TypedTuple<String> data,PlayerInfoProto.RankResponse.Builder builder) throws Exception {
|
||||
User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
|
||||
if (everyUser == null){
|
||||
return;
|
||||
}
|
||||
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
|
||||
.setRank(index)
|
||||
.setParam1(getParam1(data.getScore()))
|
||||
|
|
|
@ -110,7 +110,7 @@ public class CBean2Proto {
|
|||
.build();
|
||||
}
|
||||
|
||||
public static CommonProto.Hero getRobotHero(SCHero scHero, SArenaRobotConfig sArenaRobotConfig) throws Exception {
|
||||
/* public static CommonProto.Hero getRobotHero(SCHero scHero, SArenaRobotConfig sArenaRobotConfig) throws Exception {
|
||||
return CommonProto.Hero
|
||||
.newBuilder()
|
||||
.setId(String.valueOf(scHero.getId()))
|
||||
|
@ -118,8 +118,9 @@ public class CBean2Proto {
|
|||
.setLevel(sArenaRobotConfig.getRoleLv())
|
||||
.setStar(sArenaRobotConfig.getStarOfHeroMap().get(scHero.getId()))
|
||||
.setBreakId(sArenaRobotConfig.getBreakId())
|
||||
.setStarBreakId(sArenaRobotConfig.getStarBreakId())
|
||||
.build();
|
||||
}
|
||||
}*/
|
||||
|
||||
public static CommonProto.Mail getMail(Mail mail){
|
||||
CommonProto.Mail.Builder mailProto = CommonProto.Mail
|
||||
|
|
|
@ -2,6 +2,7 @@ package config;
|
|||
|
||||
import manager.STableManager;
|
||||
import manager.Table;
|
||||
import rpc.protocols.CommonProto;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
@ -34,11 +35,15 @@ public class SArenaRobotConfig implements BaseConfig {
|
|||
|
||||
private int breakId;
|
||||
|
||||
private int starBreakId;
|
||||
|
||||
private Map<Integer,Integer> starOfHeroMap;
|
||||
|
||||
private Map<Integer, CommonProto.Hero> heroMapList;
|
||||
|
||||
private static Map<Integer, List<SArenaRobotConfig>> sArenaRobotConfigByPoolMap;
|
||||
|
||||
private static Map<Integer, SArenaRobotConfig> sArenaRobotConfigMap;
|
||||
private static Map<Integer, SArenaRobotConfig> sArenaRobotConfigMap;
|
||||
|
||||
|
||||
@Override
|
||||
|
@ -123,23 +128,15 @@ public class SArenaRobotConfig implements BaseConfig {
|
|||
this.totalForce = totalForce;
|
||||
}
|
||||
|
||||
public Map<Integer, Integer> getStarOfHeroMap() {
|
||||
return starOfHeroMap;
|
||||
}
|
||||
|
||||
public int getBreakId() {
|
||||
return breakId;
|
||||
}
|
||||
|
||||
public void setBreakId(int breakId) {
|
||||
this.breakId = breakId;
|
||||
}
|
||||
|
||||
public void setStarOfHeroMap(Map<Integer, Integer> starOfHeroMap) {
|
||||
this.starOfHeroMap = starOfHeroMap;
|
||||
}
|
||||
|
||||
public int getRobotLevel() {
|
||||
return robotLevel;
|
||||
}
|
||||
|
||||
public Map<Integer, CommonProto.Hero> getHeroMapList() {
|
||||
return heroMapList;
|
||||
}
|
||||
|
||||
public void setHeroMapList(Map<Integer, CommonProto.Hero> heroMapList) {
|
||||
this.heroMapList = heroMapList;
|
||||
}
|
||||
}
|
|
@ -13,6 +13,10 @@ public class SFloodConfig implements BaseConfig {
|
|||
|
||||
private int battleTime;
|
||||
|
||||
private int force;
|
||||
|
||||
private int[][] specialReward;
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
}
|
||||
|
@ -34,5 +38,11 @@ public class SFloodConfig implements BaseConfig {
|
|||
return battleTime;
|
||||
}
|
||||
|
||||
public int getForce() {
|
||||
return force;
|
||||
}
|
||||
|
||||
public int[][] getSpecialReward() {
|
||||
return specialReward;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue