英雄归元,被动技能战力增加
parent
3a8d9cc527
commit
a8a46da07b
|
@ -1,6 +1,7 @@
|
||||||
package com.ljsd.jieling.logic.fight.passiveSkillCal;
|
package com.ljsd.jieling.logic.fight.passiveSkillCal;
|
||||||
|
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
import config.SCHero;
|
||||||
import config.SPropertyConfig;
|
import config.SPropertyConfig;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -26,8 +27,8 @@ public enum PassiveskillCalEnum {
|
||||||
parm = value[1]*10000;
|
parm = value[1]*10000;
|
||||||
}
|
}
|
||||||
|
|
||||||
int extreeValue = (int) cal(optCode, parm);
|
int extraValue = (int) cal(optCode, parm);
|
||||||
heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(),0)+extreeValue);
|
heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(),0)+extraValue);
|
||||||
}),
|
}),
|
||||||
AllAdd(94,(config,hero,heroSkillAdMap)->{
|
AllAdd(94,(config,hero,heroSkillAdMap)->{
|
||||||
float[] value = config.getValue();
|
float[] value = config.getValue();
|
||||||
|
@ -47,8 +48,8 @@ public enum PassiveskillCalEnum {
|
||||||
parm = value[0]*10000;
|
parm = value[0]*10000;
|
||||||
}
|
}
|
||||||
|
|
||||||
int extreeValue = (int) cal(optCode, parm);
|
int extraValue = (int) cal(optCode, parm);
|
||||||
heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(),0)+extreeValue);
|
heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(),0)+extraValue);
|
||||||
}),
|
}),
|
||||||
HEROAFTER100ADD(171,(config,hero,heroSkillAdMap)->{
|
HEROAFTER100ADD(171,(config,hero,heroSkillAdMap)->{
|
||||||
float[] value = config.getValue();
|
float[] value = config.getValue();
|
||||||
|
@ -62,6 +63,30 @@ public enum PassiveskillCalEnum {
|
||||||
int parm = (int) value[1]*times;
|
int parm = (int) value[1]*times;
|
||||||
heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(),0)+parm);
|
heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(),0)+parm);
|
||||||
}),//武将100级后每升一级[c]额外增加[d]
|
}),//武将100级后每升一级[c]额外增加[d]
|
||||||
|
HERO_PROFESSION_ADD(129,(config,hero,heroSkillAdMap)->{
|
||||||
|
float[] value = config.getValue();
|
||||||
|
|
||||||
|
if(SCHero.getsCHero().get(hero.getTemplateId()).getProfession()!=value[0]){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
float parm = value[1];
|
||||||
|
int optCode = (int) value[3];
|
||||||
|
|
||||||
|
SPropertyConfig sPropertyConfig = SPropertyConfig.getsPropertyConfigByBattlePID((int)(value[2]));
|
||||||
|
|
||||||
|
if(optCode%2==0){
|
||||||
|
if( sPropertyConfig.getStyle()!= GlobalsDef.PERCENT_TYPE){
|
||||||
|
sPropertyConfig = SPropertyConfig.getsPropertyConfigByTargetPropertyId(sPropertyConfig.getPropertyId());
|
||||||
|
}
|
||||||
|
parm = value[0]*10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( sPropertyConfig.getStyle()== GlobalsDef.PERCENT_TYPE){
|
||||||
|
parm = value[0]*10000;
|
||||||
|
}
|
||||||
|
int extraValue = (int) cal(optCode, parm);
|
||||||
|
heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(),0)+extraValue);
|
||||||
|
}),
|
||||||
;
|
;
|
||||||
private int type;
|
private int type;
|
||||||
private PassiveSkillProcessor passiveSkillProcessor;
|
private PassiveSkillProcessor passiveSkillProcessor;
|
||||||
|
|
|
@ -2329,24 +2329,28 @@ public class HeroLogic{
|
||||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int star = hero.getStar();
|
int breakId = hero.getBreakId();
|
||||||
int templateId = hero.getTemplateId();
|
int templateId = hero.getTemplateId();
|
||||||
|
int star = hero.getStar();
|
||||||
Map<Integer, SHeroReturn> sHeroReturnMap = SHeroReturn.sheroReturnMap.get(templateId);
|
Map<Integer, SHeroReturn> sHeroReturnMap = SHeroReturn.sheroReturnMap.get(templateId);
|
||||||
if(sHeroReturnMap == null || !sHeroReturnMap.containsKey(star)){
|
if(sHeroReturnMap == null || !sHeroReturnMap.containsKey(breakId)){
|
||||||
throw new ErrorCodeException(ErrorCode.newDefineCode("not satisfy"));
|
throw new ErrorCodeException(ErrorCode.newDefineCode("not satisfy"));
|
||||||
}
|
}
|
||||||
SHeroReturn sHeroReturn = sHeroReturnMap.get(star);
|
SHeroReturn sHeroReturn = sHeroReturnMap.get(breakId);
|
||||||
boolean b = ItemUtil.itemCost(user, sHeroReturn.getReturnConsume(), BIReason.HERO_BACK_CONSUME, templateId * 100 + star);
|
boolean b = ItemUtil.itemCost(user, sHeroReturn.getReturnConsume(), BIReason.HERO_BACK_CONSUME, templateId * 100 + star);
|
||||||
if(!b){
|
if(!b){
|
||||||
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
|
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
heroManager.removeHero(uid,heroId);
|
heroManager.removeHero(uid,heroId);
|
||||||
int[] returnMaterials = sHeroReturn.getRankupReturn();
|
int[][] returnMaterials = sHeroReturn.getRankupReturn();
|
||||||
int returnHero = sHeroReturn.getHeroId();
|
int returnHero = sHeroReturn.getHeroId();
|
||||||
//进阶材料返还乘万分比
|
//进阶材料返还乘万分比
|
||||||
returnMaterials[1]*=(double)returnPercent/10000;
|
int[][] realReturnMaterials = new int[returnMaterials.length][];
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user,new int[][]{returnMaterials}, BIReason.HERO_BACK_REWARD);
|
for(int i = 0 ; i <realReturnMaterials.length;i++){
|
||||||
|
realReturnMaterials[i] = new int[]{returnMaterials[i][0],(int)(returnMaterials[i][1]/10000d*returnPercent)};
|
||||||
|
}
|
||||||
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user,realReturnMaterials, BIReason.HERO_BACK_REWARD);
|
||||||
ItemUtil.drop(user, new int[][]{{returnHero,1}},drop, BIReason.HERO_BACK_REWARD);
|
ItemUtil.drop(user, new int[][]{{returnHero,1}},drop, BIReason.HERO_BACK_REWARD);
|
||||||
CommonProto.Hero.Builder heroProto = drop.getHero(0).toBuilder();
|
CommonProto.Hero.Builder heroProto = drop.getHero(0).toBuilder();
|
||||||
String createHeroId = heroProto.getId();
|
String createHeroId = heroProto.getId();
|
||||||
|
|
|
@ -33,12 +33,6 @@ public class SHeroReturn implements BaseConfig {
|
||||||
for(SHeroReturn sHeroReturn : config.values()){
|
for(SHeroReturn sHeroReturn : config.values()){
|
||||||
int heroId = sHeroReturn.getHeroId();
|
int heroId = sHeroReturn.getHeroId();
|
||||||
int star = sHeroReturn.getStar();
|
int star = sHeroReturn.getStar();
|
||||||
int[][] rankUpReturn = sHeroReturn.getRankupReturn();
|
|
||||||
int[][] returnMaterialsTmp = new int[rankUpReturn.length][];
|
|
||||||
for(int i=0;i<rankUpReturn.length;i++){
|
|
||||||
returnMaterialsTmp[i]=rankUpReturn[i];
|
|
||||||
}
|
|
||||||
sHeroReturn.setReturnMaterials(returnMaterialsTmp);
|
|
||||||
sheroReturnMap.computeIfAbsent(heroId,v->new HashMap<>()).put(star,sHeroReturn);
|
sheroReturnMap.computeIfAbsent(heroId,v->new HashMap<>()).put(star,sHeroReturn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -71,8 +65,4 @@ public class SHeroReturn implements BaseConfig {
|
||||||
public int[][] getReturnMaterials() {
|
public int[][] getReturnMaterials() {
|
||||||
return returnMaterials;
|
return returnMaterials;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setReturnMaterials(int[][] returnMaterials) {
|
|
||||||
this.returnMaterials = returnMaterials;
|
|
||||||
}
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue