鸿蒙阵合并后修改

back_recharge
duhui 2021-02-19 11:29:56 +08:00
parent 32b5f8d8fd
commit b1cc76ed6a
1 changed files with 21 additions and 20 deletions

View File

@ -28,7 +28,6 @@ import com.ljsd.jieling.logic.fight.passiveSkillCal.PassiveskillCalEnum;
import com.ljsd.jieling.logic.hero.HeroAttributeEnum;
import com.ljsd.jieling.logic.item.ItemLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.network.server.ProtocolsManager;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.*;
@ -190,8 +189,9 @@ public class HeroLogic {
if(type==4){
Map<String, PropertyItem> equipMap = user.getEquipManager().getEquipMap();
for(PropertyItem equipInfo: equipMap.values()){
if(equipInfo instanceof Jewel)
if(equipInfo instanceof Jewel) {
equipList.add(CBean2Proto.getEquipProto(equipInfo));
}
}
}else {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
@ -630,7 +630,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;
@ -653,7 +653,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++){
@ -702,7 +702,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);
}
@ -737,7 +737,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);
@ -780,7 +780,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) {
@ -841,8 +841,9 @@ public class HeroLogic {
rankUpHeroExecute(targetHero);
Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar()));
if(targetHero.getStar()>=5&&targetHero.getStar()!=15){
if(SItem.getsItemMap().get(scHero.getId()).getQuantity()>=5)
Poster.getPoster().dispatchEvent(new HeroFiveStarGetEvent(user.getId(),targetHero.getStar()));
if(SItem.getsItemMap().get(scHero.getId()).getQuantity()>=5) {
Poster.getPoster().dispatchEvent(new HeroFiveStarGetEvent(user.getId(), targetHero.getStar()));
}
}
// if(targetHero.getStar()==5){
@ -885,13 +886,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));
@ -1013,9 +1014,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.getBreakIdByHongMeng(user.getHeroManager()));
}
//todo
@ -1137,7 +1138,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){
@ -1285,7 +1286,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();
@ -1410,8 +1411,9 @@ public class HeroLogic {
for (String jewel: jewelInfo) {
PropertyItem propertyItem = equipMap.get(jewel);
if(propertyItem==null)
if(propertyItem==null) {
continue;
}
Jewel j = (Jewel)propertyItem;
SJewelConfig config = STableManager.getConfig(SJewelConfig.class).get(j.getEquipId());
Map<Integer, Map<Integer, SJewelRankupConfig>> rankPoolMap = SJewelRankupConfig.rankupMap.get(config.getRankupPool());
@ -2352,7 +2354,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();
@ -2429,7 +2431,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++){
@ -3041,7 +3043,6 @@ public class HeroLogic {
*
* @param session
* @param pokemonId
* @param level
* @param messageType
* @throws Exception
*/