鸿蒙碑等级

back_recharge
jiahuiwen 2020-12-08 18:08:45 +08:00
parent d3a11d5305
commit ed1e5e1233
15 changed files with 63 additions and 43 deletions

View File

@ -150,7 +150,7 @@ public class GMRequestHandler extends BaseHandler{
scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
int breakId = 0;
for(SCHeroRankUpConfig scHeroRankUpConfigBreak :scHeroRankUpConfigByType.values()){
if(hero.getLevel()>scHeroRankUpConfigBreak.getLimitLevel()){
if(hero.getOriginalLevel()>scHeroRankUpConfigBreak.getLimitLevel()){
breakId++;
}
}
@ -353,7 +353,7 @@ public class GMRequestHandler extends BaseHandler{
heroTmp.setStarBreakId(scHeroRankUpConfig.getId());
scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
for(SCHeroRankUpConfig scHeroRankUpConfigBreak :scHeroRankUpConfigByType.values()){
if(heroTmp.getLevel()>scHeroRankUpConfigBreak.getLimitLevel()){
if(heroTmp.getOriginalLevel()>scHeroRankUpConfigBreak.getLimitLevel()){
heroTmp.setBreakId(scHeroRankUpConfigBreak.getId());
}
}

View File

@ -153,7 +153,7 @@ public class GetCarChallengeListHandler extends BaseHandler {
.setRank(rank);
for (TeamPosHeroInfo heroInfo:challenegeUser.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.CAR_DELAY_TEAM)) {
Hero hero = challenegeUser.getHeroManager().getHero(heroInfo.getHeroId());
builder1.addTeamInfo(CBean2Proto.getSimpleTeamInfoByHero(hero,heroInfo.getPosition()));
builder1.addTeamInfo(CBean2Proto.getSimpleTeamInfoByHero(user, hero,heroInfo.getPosition()));
}
if(challengeGuildId!=0){
GuildInfo challenegeGuildInfo = GuilidManager.guildInfoMap.get(challenegeUser.getPlayerInfoManager().getGuildId());

View File

@ -65,7 +65,7 @@ public class DoHeroChangeRequestHandler extends BaseHandler<HeroInfoProto.DoHer
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
//random tempid
Hero newHero = new Hero(uid,hero.getChangeId(),hero.getLevel(),hero);
Hero newHero = new Hero(uid,hero.getChangeId(),hero.getOriginalLevel(),hero);
newHero.setCreateType(0);
newHero.setEquipByPositionMap(hero.getEquipByPositionMap());
newHero.setJewelInfo(hero.getJewelInfo());

View File

@ -2679,7 +2679,7 @@ public class MapLogic {
response.addOpenMapId(map);
}
for(Map.Entry<String,Hero> heroEntry : heroManager.getHeroMap().entrySet()) {
if(heroEntry.getValue().getLevel()<20){
if(heroEntry.getValue().getLevel(user.getHeroManager())<20){
continue;
}
if(endlessHeroInfo.get(heroEntry.getKey())==null){
@ -3227,7 +3227,7 @@ public class MapLogic {
skinId = 0;
skinTime = 0;
}
TrailHero trailHero = new TrailHero(hero.getTemplateId(),HeroLogic.getInstance().calHeroNotBufferAttribute(user,hero,false,0),hero.getStar(),heroSkill,hero.getLevel());
TrailHero trailHero = new TrailHero(hero.getTemplateId(),HeroLogic.getInstance().calHeroNotBufferAttribute(user,hero,false,0),hero.getStar(),heroSkill,hero.getLevel(user.getHeroManager()));
trailHero.setSkinId(skinId);
trailHero.setSkinTime(skinTime);
heroInfo.put(id,trailHero);

View File

@ -58,7 +58,7 @@ public class Cmd_addhero extends GmRoleAbstract{
scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
int breakId = 0;
for(SCHeroRankUpConfig scHeroRankUpConfigBreak :scHeroRankUpConfigByType.values()){
if(hero.getLevel()>scHeroRankUpConfigBreak.getLimitLevel()){
if(hero.getOriginalLevel()>scHeroRankUpConfigBreak.getLimitLevel()){
breakId++;
}
}

View File

@ -72,7 +72,7 @@ public class BloodLogic {
}
}
int position = heroInfo.getPosition();
heroAllAttribute.put(heroInfo.getHeroId(), new FamilyHeroInfo(hero.getTemplateId(), hero.getLevel(),hero.getStar(), heroAttributeMap,position));
heroAllAttribute.put(heroInfo.getHeroId(), new FamilyHeroInfo(hero.getTemplateId(), hero.getLevel(user.getHeroManager()),hero.getStar(), heroAttributeMap,position));
}
return heroAllAttribute;
}

View File

@ -4,6 +4,7 @@ import com.ljsd.common.mogodb.MongoBase;
import com.ljsd.jieling.config.clazzStaticCfg.HeroStaticConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HongMengAttributeEnum;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.util.KeyGenUtils;
import com.ljsd.jieling.util.UUIDEnum;
@ -154,7 +155,26 @@ public class Hero extends MongoBase {
return templateId;
}
public int getLevel() {
/**
* 鸿鸿
* @param heroManager
* @return
*/
public int getLevel(HeroManager heroManager) {
if (heroManager.getResonances().values().contains(id)) {
HongMengAddAttribute hongMengAddAttribute = heroManager.getResonanceAddition().get(HongMengAttributeEnum.LEVEL);
if (hongMengAddAttribute != null) {
return hongMengAddAttribute.value;
}
}
return level;
}
/**
*
* @return
*/
public int getOriginalLevel (){
return level;
}

View File

@ -237,9 +237,9 @@ public class ExpeditionLogic {
//移除已经删除的hero
Set<String> removeId = heroHP.keySet().stream().filter(k -> {
if(heroMap.keySet().contains(k))
return heroMap.get(k).getLevel()<20;
return heroMap.get(k).getLevel(user.getHeroManager())<20;
if(heroMapTemp.keySet().contains(k))
return heroMapTemp.get(k).getLevel()<20;
return heroMapTemp.get(k).getLevel(user.getHeroManager())<20;
return !heroMap.keySet().contains(k) && !heroMapTemp.keySet().contains(k);
}).collect(Collectors.toSet());
removeId.forEach(heroHP::remove);
@ -817,7 +817,7 @@ public class ExpeditionLogic {
*/
public static Hero createHero(int tempid,int uid,Hero hero,int nodeId)throws Exception{
boolean isTemp = nodeId != -1;
int star = hero.getLevel();
int star = hero.getOriginalLevel();
User user = UserManager.getUser(uid);
SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1);
if (sExpeditionSetting == null) {
@ -1016,7 +1016,7 @@ public class ExpeditionLogic {
}
}
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(),hero.getLevel(), heroAttributeMap).toString();
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(),hero.getLevel(user.getHeroManager()), heroAttributeMap).toString();
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo
.newBuilder()
.setUnitId(Integer.toString(hero.getTemplateId()))

View File

@ -151,7 +151,7 @@ public class GuildFightLogic {
}
for(TeamPosHeroInfo heroInfo:teamPosHeroInfos){
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId());
oneInfo.addTeam(CBean2Proto.getSimpleTeamInfoByHero(hero,heroInfo.getPosition()));
oneInfo.addTeam(CBean2Proto.getSimpleTeamInfoByHero(user, hero,heroInfo.getPosition()));
}
int force = HeroLogic.getInstance().calTeamTotalForce(user, 501, false);
if(force==0){

View File

@ -285,7 +285,7 @@ public class FightUtil {
StringBuilder skillSb = new StringBuilder();
StringBuilder propertySb = new StringBuilder();
String heroSkill = HeroLogic.getInstance().getHeroSkills(user,hero,skillSb).toString();
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(),hero.getLevel(), heroAttributeMap).toString();
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(),hero.getLevel(user.getHeroManager()), heroAttributeMap).toString();
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo
.newBuilder()
.setUnitId(Integer.toString(hero.getTemplateId()))
@ -322,7 +322,7 @@ public class FightUtil {
StringBuilder skillSb = new StringBuilder();
StringBuilder propertySb = new StringBuilder();
String heroSkill = HeroLogic.getInstance().getHeroSkills(user,hero,skillSb).toString();
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(),hero.getLevel(), heroAttributeMap).toString();
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(),hero.getLevel(user.getHeroManager()), heroAttributeMap).toString();
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo
.newBuilder()
.setUnitId(Integer.toString(hero.getTemplateId()))
@ -365,7 +365,7 @@ public class FightUtil {
StringBuilder skillSb = new StringBuilder();
StringBuilder propertySb = new StringBuilder();
String heroSkill = HeroLogic.getInstance().getHeroSkills(user,hero,skillSb).toString();
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(),hero.getLevel(), heroAttributeMap).toString();
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(),hero.getLevel(user.getHeroManager()), heroAttributeMap).toString();
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo
.newBuilder()
.setUnitId(Integer.toString(hero.getTemplateId()))

View File

@ -55,7 +55,7 @@ public enum PassiveskillCalEnum {
float[] value = config.getValue();
int battlePropertyId = (int) value[0];
SPropertyConfig sPropertyConfig = SPropertyConfig.getsPropertyConfigByBattlePID(battlePropertyId);
int level = hero.getLevel();
int level = hero.getOriginalLevel();
int times=level-100;
if(times<=0){
return;

View File

@ -847,7 +847,7 @@ public class HeroLogic{
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
int oldLevel = hero.getLevel();
int oldLevel = hero.getLevel(user.getHeroManager());
//判断需要进行升级还是进行突破
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
SCHeroRankUpConfig scHeroRankUpConfig = null;
@ -870,7 +870,7 @@ public class HeroLogic{
combinedAttribute(consume,consumeMap);
breakId = scHeroRankUpConfig.getId();
}else{
if(hero.getLevel()>targetLevel){
if(hero.getLevel(user.getHeroManager())>targetLevel){
throw new ErrorCodeException(ErrorCode.newDefineCode("level wrong"));
}
for(;oldLevel<targetLevel;oldLevel++){
@ -899,7 +899,7 @@ public class HeroLogic{
//校验消耗
boolean result = ItemUtil.itemCost(user, consumeMap,BIReason.UP_HERO_LEVEL_CONSUME,hero.getTemplateId());
if(!result){
int heroLevel = hero.getLevel();
int heroLevel = hero.getLevel(user.getHeroManager());
for(;oldLevel<targetLevel;oldLevel++){
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsCHero().get(oldLevel);
if (!ItemUtil.itemCost(user, sHeroLevlConfig.getConsume(),BIReason.UP_HERO_LEVEL_CONSUME,hero.getTemplateId())){
@ -919,7 +919,7 @@ public class HeroLogic{
if(isInTeam(user,heroId,1)){
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid()));
}
HeroInfoProto.UpHeroLevelResponse build = HeroInfoProto.UpHeroLevelResponse.newBuilder().setHeroId(heroId).setTargetLevel(hero.getLevel()).build();
HeroInfoProto.UpHeroLevelResponse build = HeroInfoProto.UpHeroLevelResponse.newBuilder().setHeroId(heroId).setTargetLevel(hero.getLevel(user.getHeroManager())).build();
//发送成功消息
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_LEVEL_RESPONSE_VALUE,build,true);
}
@ -954,7 +954,7 @@ public class HeroLogic{
}
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByType.get(oldStar);
if( targetHero.getLevel() < scHeroRankUpConfig.getLimitLevel()){
if( targetHero.getLevel(user.getHeroManager()) < scHeroRankUpConfig.getLimitLevel()){
throw new ErrorCodeException(ErrorCode.HERO_LEVE_DOWN);
}
Map<Integer,SCHero.ConsumeMaterialInfo> consumeMaterialInfoByPosition = scHero.getConsumeMaterialInfoOfPositionByStar(oldStar + 1);
@ -997,7 +997,7 @@ public class HeroLogic{
if(reportConsumeHero.length()>0){
reportConsumeHero.append("|");
}
reportConsumeHero.append(hero.getTemplateId()).append("-").append(hero.getStar()).append("-").append(hero.getLevel());
reportConsumeHero.append(hero.getTemplateId()).append("-").append(hero.getStar()).append("-").append(hero.getLevel(user.getHeroManager()));
if( 1 == isSame) {
@ -1102,13 +1102,13 @@ public class HeroLogic{
//初始属性*1+化境增长)*等级系数 + 初始属性*突破系数
private Map<Integer,Integer> calHeroAllAttribute(Hero hero,boolean isForce){
private Map<Integer,Integer> calHeroAllAttribute(User user, Hero hero,boolean isForce){
Map<Integer,Integer> result = new HashMap<>();
int templateId = hero.getTemplateId();
SCHero scHero = SCHero.getsCHero().get(templateId);
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsCHero().get(hero.getLevel());
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsCHero().get(hero.getLevel(user.getHeroManager()));
int[][] characterLevelPara = sHeroLevlConfig.getCharacterLevelPara();
Map<Integer, Object> paraForHero = getParaForHero(hero);
Map<Integer, Object> paraForHero = getParaForHero(user, hero);
Map<Integer,Float> baseValueMap = new HashMap<>();
baseValueMap.put(GlobalsDef.HP_TYPE,getBaseValueByType(scHero,GlobalsDef.HP_TYPE));
baseValueMap.put(GlobalsDef.ATTACK_TYPE,getBaseValueByType(scHero,GlobalsDef.ATTACK_TYPE));
@ -1230,9 +1230,9 @@ public class HeroLogic{
return result;
}
private Map<Integer,Object> getParaForHero(Hero hero){
private Map<Integer,Object> getParaForHero(User user, Hero hero){
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
return getParaRate(scHero, hero.getStar(), hero.getLevel(), hero.getBreakId());
return getParaRate(scHero, hero.getStar(), hero.getLevel(user.getHeroManager()), hero.getBreakId());
}
//todo
@ -1354,7 +1354,7 @@ public class HeroLogic{
}else {
heroAttributeMap=calHeroFinalAttributeWhenInMap(user, hero,false,teamId);
}
return getHeroPropertyBuilder(sb,hero.getTemplateId(),hero.getLevel(),heroAttributeMap);
return getHeroPropertyBuilder(sb,hero.getTemplateId(),hero.getLevel(user.getHeroManager()),heroAttributeMap);
}
public StringBuilder getHeroPropertyBuilder(StringBuilder sb,int tempId,int heroLevel,Map<Integer, Integer> heroAttributeMap){
@ -1502,7 +1502,7 @@ public class HeroLogic{
}
public Map<Integer,Integer> calHeroNotBufferAttribute(User user, Hero hero,boolean isForce,int teamId){
Map<Integer, Integer> heroAllAttribute = calHeroAllAttribute(hero,isForce);
Map<Integer, Integer> heroAllAttribute = calHeroAllAttribute(user, hero,isForce);
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE));
Map<String, PropertyItem> equipMap = hero.getCreateType()==1?user.getExpeditionManager().getEquipMap():user.getEquipManager().getEquipMap();
@ -2577,7 +2577,7 @@ public class HeroLogic{
itemId.add(item.getItemId());
itemNum.add(item.getItemNum());
});
ReportUtil.onReportEvent(user,ReportEventEnum.HERO_COMPOSITION.getType(),String.valueOf(hero.getTemplateId()),hero.getLevel(),hero.getStar(),itemId,itemNum);
ReportUtil.onReportEvent(user,ReportEventEnum.HERO_COMPOSITION.getType(),String.valueOf(hero.getTemplateId()),hero.getLevel(user.getHeroManager()),hero.getStar(),itemId,itemNum);
hero.setLevel(user,1);
hero.setBreakId(0);
HeroInfoProto.HeroReturnResponse build = HeroInfoProto.HeroReturnResponse.newBuilder().setDrop(drop).build();
@ -2654,7 +2654,7 @@ public class HeroLogic{
SHeroReturn sHeroReturn = sHeroReturnMap.get(breakFloor);
int[][] returnMaterials = sHeroReturn.getRankupReturn();
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel(user.getHeroManager()));
int[][] levelReturn = ItemLogic.getInstance().itemReturnPercent(sHeroLevlConfig.getSumConsume(), returnPercent);
//进阶材料返还乘万分比
for(int i = 0 ; i <returnMaterials.length;i++){
@ -3416,7 +3416,7 @@ public class HeroLogic{
Collections.sort(heroes, new Comparator<Hero>() {
@Override
public int compare(Hero hero1, Hero hero2) {
int compareValue = hero2.getLevel() - hero1.getLevel();
int compareValue = hero2.getOriginalLevel() - hero1.getOriginalLevel();
if (compareValue != 0) {
return compareValue;
}
@ -3454,7 +3454,7 @@ public class HeroLogic{
// 法宝
especialAdd(especialEquipLevel, hero);
// 是否开启鸿蒙碑
if (hero.getLevel() < Integer.parseInt(openLevel[1])) {
if (hero.getOriginalLevel() < Integer.parseInt(openLevel[1])) {
tablet = 0;
}
// 等级
@ -3511,8 +3511,8 @@ public class HeroLogic{
* @param hero
*/
public void hongmengLevel(HongMengAddAttribute resonanceLevel, Hero hero) {
if (hero.getLevel() < resonanceLevel.value) {
resonanceLevel.value = hero.getLevel();
if (hero.getOriginalLevel() < resonanceLevel.value) {
resonanceLevel.value = hero.getOriginalLevel();
resonanceLevel.heroTid = hero.getTemplateId();
}
}

View File

@ -484,11 +484,11 @@ public class ItemLogic {
}
heroIdReport.add(hero.getTemplateId());
heroLevelReport.add(hero.getLevel());
heroLevelReport.add(hero.getOriginalLevel());
heroStarReport.add(hero.getStar());
heroManager.removeHero(uid,heroId);
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getOriginalLevel()).getSumConsume();
SHeroSacrifice starSHeroSacrifice = STableManager.getFigureConfig(HeroStaticConfig.class).getsHeroSacrificeMap(1, hero.getStar());
int breakFloor = hero.getBreakId()==0?0:STableManager.getConfig(SCHeroRankUpConfig.class).get(hero.getBreakId()).getPhase()[1];

View File

@ -576,7 +576,7 @@ public class PlayerLogic {
if(teamPosManager.getTeamPosForHero().containsKey(teamId)){
for (TeamPosHeroInfo heroInfo:teamPosManager.getTeamPosForHero().get(teamId)) {
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId());
teamInfo.addTeam(CBean2Proto.getSimpleTeamInfoByHero(hero,heroInfo.getPosition()));
teamInfo.addTeam(CBean2Proto.getSimpleTeamInfoByHero(user, hero,heroInfo.getPosition()));
}
}
//加入灵兽信息

View File

@ -94,7 +94,7 @@ public class CBean2Proto {
.newBuilder()
.setId(hero.getId())
.setHeroId(hero.getTemplateId())
.setLevel(hero.getLevel())
.setLevel(hero.getOriginalLevel())
.setStar(hero.getStar())
.setBreakId(hero.getBreakId())
.setStarBreakId(hero.getStarBreakId())
@ -553,8 +553,8 @@ public class CBean2Proto {
}
public static CommonProto.TeamSimpleInfo getSimpleTeamInfoByHero(Hero hero,int position){
return CommonProto.TeamSimpleInfo.newBuilder().setHeroid(hero.getId()).setHeroTid(hero.getTemplateId()).setLevel(hero.getLevel()).setStar(hero.getStar()).setPosition(position).setSkinId(hero.getSkin()).build();
public static CommonProto.TeamSimpleInfo getSimpleTeamInfoByHero(User user, Hero hero,int position){
return CommonProto.TeamSimpleInfo.newBuilder().setHeroid(hero.getId()).setHeroTid(hero.getTemplateId()).setLevel(hero.getLevel(user.getHeroManager())).setStar(hero.getStar()).setPosition(position).setSkinId(hero.getSkin()).build();
}
public static CommonProto.TeamSimpleInfo getSimpleTeamInfoByPokeMon(Pokemon pokemon,int position){
return CommonProto.TeamSimpleInfo.newBuilder().setHeroid(pokemon.getId()).setHeroTid(pokemon.getTmpId()).setLevel(pokemon.getLevel()).setStar(pokemon.getStar()).setPosition(position).build();