robotlevel
parent
a33d66e0e7
commit
204e2ef785
|
@ -110,20 +110,20 @@ public class MapLogic {
|
|||
return;
|
||||
}
|
||||
// TODO 可进入地图条件判断
|
||||
// int[][] openRule = sChallengeConfig.getOpenRule();
|
||||
// if (openRule != null && openRule.length > 0) {
|
||||
// if (user.getPlayerInfoManager().getLevel() < openRule[0][1]) {
|
||||
// MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要等级:" + openRule[0][1]);
|
||||
// return;
|
||||
// }
|
||||
// LevelDifficulty levelDifficulty = user.getLevelDifficultyManager().getLevelDifficultyInfosMap().get(openRule[0][0]);
|
||||
// if (levelDifficulty == null && levelDifficulty.getState() != 4) {
|
||||
// if (user.getPlayerInfoManager().getLevel() < openRule[0][1]) {
|
||||
// MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要通关:" + openRule[0][0]);
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
int[][] openRule = sChallengeConfig.getOpenRule();
|
||||
if (openRule != null && openRule.length > 0) {
|
||||
if (user.getPlayerInfoManager().getLevel() < openRule[0][1]) {
|
||||
MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要等级:" + openRule[0][1]);
|
||||
return;
|
||||
}
|
||||
LevelDifficulty levelDifficulty = user.getLevelDifficultyManager().getLevelDifficultyInfosMap().get(openRule[0][0]);
|
||||
if (levelDifficulty == null || levelDifficulty.getState() != 4) {
|
||||
if (user.getPlayerInfoManager().getLevel() < openRule[0][1]) {
|
||||
MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要通关:" + openRule[0][0]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
SChallengeSetting sChallengeSetting = SChallengeSetting.challengeSetting;
|
||||
if (mapManager.getDayFightCount() >= sChallengeSetting.getLimit() + mapManager.getBuyFightCount()) {
|
||||
LOGGER.info("enterMap() uid=>{} max fight count =>{} ", uid, mapManager.getDayFightCount());
|
||||
|
|
|
@ -185,7 +185,7 @@ public class BehaviorUtil {
|
|||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
List<Integer> skillIds = scHero.getSkillListByStar().get(heroStar);
|
||||
String heroSkill = HeroLogic.getInstance().getRobotHeroSkills(skillIds,skillSb).toString();
|
||||
String property = HeroLogic.getInstance().getRobotHeroProperty(sArenaRobotConfig,heroTid,propertySb).toString();
|
||||
String property = HeroLogic.getInstance().getRobotHeroProperty(sArenaRobotConfig,scHero,propertySb).toString();
|
||||
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo
|
||||
.newBuilder()
|
||||
.setUnitId(Integer.toString(heroTid))
|
||||
|
|
|
@ -776,24 +776,28 @@ public class HeroLogic {
|
|||
return sb;
|
||||
}
|
||||
|
||||
public StringBuilder getRobotHeroProperty(SArenaRobotConfig sArenaRobotConfig,int heroTid, StringBuilder sb){
|
||||
public StringBuilder getRobotHeroProperty(SArenaRobotConfig sArenaRobotConfig,SCHero scHero, StringBuilder sb){
|
||||
|
||||
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
|
||||
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
|
||||
int robotLevel = sArenaRobotConfig.getRobotLevel();
|
||||
Map<Integer, Integer> robotHeroAttribute = calRobotHeroAttribute(heroTid, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv);
|
||||
int robotLevel = sArenaRobotConfig.getRoleLv();
|
||||
Map<Integer, Integer> robotHeroAttribute = calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv);
|
||||
sb.append(robotLevel).append(DIVISION);
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
List<Integer> templatePropetyIds = transTemplateByHeroPropertyName.get(scHero.getPropertyName());
|
||||
for(Integer templatePropetyId:templatePropetyIds){
|
||||
Integer propertyValue = robotHeroAttribute.get(templatePropetyId);
|
||||
if(propertyValue == null){
|
||||
propertyValue =0;
|
||||
}
|
||||
if(templatePropetyId>100){
|
||||
sb.append(propertyValue*0.1/(robotLevel+10)).append(DIVISION);
|
||||
SPropertyConfig sPropertyConfig = SPropertyConfig.getsPropertyConfigByPID(templatePropetyId);
|
||||
if(sPropertyConfig.getIfFormula() == 1){
|
||||
sb.append(propertyValue*0.1/(sArenaRobotConfig.getRoleLv()+10)/100).append(DIVISION);
|
||||
}else{
|
||||
sb.append(propertyValue).append(DIVISION);
|
||||
if(sPropertyConfig.getStyle() == GlobalsDef.PERCENT_TYPE){
|
||||
sb.append(propertyValue/10000f).append(DIVISION);
|
||||
}else{
|
||||
sb.append(propertyValue).append(DIVISION);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -872,15 +876,21 @@ public class HeroLogic {
|
|||
}
|
||||
|
||||
|
||||
public Map<Integer,Integer> calRobotHeroAttribute(int template,int heroLevel,int heroBrekId,int[] pokemonIds,int pokemonLevel){
|
||||
Map<Integer, Integer> heroAllAttribute = calRobotHeroAllAttribute(template,heroLevel,heroBrekId);
|
||||
public Map<Integer,Integer> calRobotHeroAttribute(SCHero scHero,int heroLevel,int heroBrekId,int[] pokemonIds,int pokemonLevel){
|
||||
Map<Integer, Integer> heroAllAttribute = calRobotHeroAllAttribute(scHero.getId(),heroLevel,heroBrekId);
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE));
|
||||
if(pokemonIds!=null){
|
||||
int profession = scHero.getProfession();
|
||||
for(Integer pokemonId : pokemonIds){
|
||||
int[] comonpentList = SDifferDemonsConfig.getsDifferDemonsConfigByPokenID(pokemonId).getComonpentList();
|
||||
for(Integer comonpentId : comonpentList){
|
||||
Map<Integer, SDifferDemonsComonpentsConfig> sDifferDemonsComonpentsConfigMap = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(comonpentId);
|
||||
SDifferDemonsComonpentsConfig sDifferDemonsComonpentsConfig = sDifferDemonsComonpentsConfigMap.get(pokemonLevel);
|
||||
Map<Integer, Map<Integer, Integer>> extraAddMap = sDifferDemonsComonpentsConfig.getExtraAddMap();
|
||||
if(extraAddMap!=null&&extraAddMap.containsKey(profession)){
|
||||
Map<Integer, Integer> professionAddMap = extraAddMap.get(profession);
|
||||
combinedAttribute(professionAddMap,heroAllAttribute);
|
||||
}
|
||||
combinedAttribute(sDifferDemonsComonpentsConfig.getBaseAttribute(),heroAllAttribute);
|
||||
}
|
||||
}
|
||||
|
@ -1257,10 +1267,11 @@ public class HeroLogic {
|
|||
List<Integer> heroList = sArenaRobotConfig.getHeroList();
|
||||
int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId();
|
||||
int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv();
|
||||
int robotLevel = sArenaRobotConfig.getRobotLevel();
|
||||
int heroLevel = sArenaRobotConfig.getRoleLv();
|
||||
for(Integer heroTid :heroList){
|
||||
int heroBreakId = sArenaRobotConfig.getBreakId();
|
||||
Map<Integer, Integer> robotHeroAttribute = calRobotHeroAttribute(heroTid, robotLevel, heroBreakId, differDemonsId, differDemonsLv);
|
||||
SCHero scHero = SCHero.getsCHero().get(heroTid);
|
||||
Map<Integer, Integer> robotHeroAttribute = calRobotHeroAttribute(scHero, heroLevel, heroBreakId, differDemonsId, differDemonsLv);
|
||||
totalForce+=calForce(robotHeroAttribute);
|
||||
}
|
||||
return totalForce;
|
||||
|
@ -1270,10 +1281,10 @@ public class HeroLogic {
|
|||
Map<Integer, SArenaRobotConfig> integerSArenaRobotConfigMap = SArenaRobotConfig.getsArenaRobotConfigMap();
|
||||
for(SArenaRobotConfig sArenaRobotConfig : integerSArenaRobotConfigMap.values()){
|
||||
List<Integer> heroList = sArenaRobotConfig.getHeroList();
|
||||
int robotLevel = sArenaRobotConfig.getRobotLevel();
|
||||
int heroLevel = sArenaRobotConfig.getRobotLevel();
|
||||
Map<Integer,Integer> starHeroMap = new HashMap<>();
|
||||
for(Integer heroTid :heroList){
|
||||
int heroBreakId = calRobotStarByLevel(heroTid, robotLevel,starHeroMap);
|
||||
int heroBreakId = calRobotStarByLevel(heroTid, heroLevel,starHeroMap);
|
||||
sArenaRobotConfig.setBreakId(heroBreakId);
|
||||
sArenaRobotConfig.setStarOfHeroMap(starHeroMap);
|
||||
}
|
||||
|
@ -1285,8 +1296,10 @@ public class HeroLogic {
|
|||
Map<Integer, List<TeamPosHeroInfo>> teamPosForHero = user.getTeamPosManager().getTeamPosForHero();
|
||||
for (Map.Entry<Integer, List<TeamPosHeroInfo>> entry: teamPosForHero.entrySet() ){
|
||||
List<TeamPosHeroInfo> values = entry.getValue();
|
||||
if (values.contains(heroId)){
|
||||
return true;
|
||||
for(TeamPosHeroInfo teamPosHeroInfo : values){
|
||||
if(heroId.equals(teamPosHeroInfo.getHeroId())){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
Loading…
Reference in New Issue