回溯、分解英雄
parent
23489baf4a
commit
1588a437b1
|
@ -2174,6 +2174,7 @@ public class HeroLogic{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void heroBack(ISession session,String heroId) throws Exception {
|
public void heroBack(ISession session,String heroId) throws Exception {
|
||||||
|
int returnPercent = SSpecialConfig.getIntegerValue(SSpecialConfig.HERO_RETURN_PERCENT);
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
int responseMsgId = MessageTypeProto.MessageType.HERO_RETURN_RESPONSE_VALUE;
|
int responseMsgId = MessageTypeProto.MessageType.HERO_RETURN_RESPONSE_VALUE;
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
|
@ -2205,10 +2206,17 @@ public class HeroLogic{
|
||||||
}
|
}
|
||||||
|
|
||||||
heroManager.removeHero(uid,heroId);
|
heroManager.removeHero(uid,heroId);
|
||||||
int[][] returnMaterials = sHeroReturn.getReturnMaterials();
|
int[] returnMaterials = sHeroReturn.getRankupReturn();
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, returnMaterials, BIReason.HERO_BACK_REWARD);
|
int[][] returnHero = sHeroReturn.getReturnHero();
|
||||||
|
//进阶材料返还乘万分比
|
||||||
|
returnMaterials[1]*=(double)returnPercent/10000;
|
||||||
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user,new int[][]{returnMaterials}, BIReason.HERO_BACK_REWARD);
|
||||||
|
ItemUtil.drop(user, returnHero,drop, BIReason.HERO_BACK_REWARD);
|
||||||
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
|
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
|
||||||
ItemUtil.drop(user, sHeroLevlConfig.getRankupReturn(),drop, BIReason.HERO_BACK_REWARD);
|
int[][] levelUpReturn = sHeroLevlConfig.getSumConsume();
|
||||||
|
//升级材料返还乘万分比
|
||||||
|
Arrays.stream(levelUpReturn).forEach(i->i[1]*=((double)returnPercent/10000));
|
||||||
|
ItemUtil.drop(user, levelUpReturn,drop, BIReason.HERO_BACK_REWARD);
|
||||||
HeroInfoProto.HeroReturnResponse build = HeroInfoProto.HeroReturnResponse.newBuilder().setDrop(drop).build();
|
HeroInfoProto.HeroReturnResponse build = HeroInfoProto.HeroReturnResponse.newBuilder().setDrop(drop).build();
|
||||||
MessageUtil.sendMessage(session,1,responseMsgId,build,true);
|
MessageUtil.sendMessage(session,1,responseMsgId,build,true);
|
||||||
|
|
||||||
|
|
|
@ -301,10 +301,12 @@ public class ItemLogic {
|
||||||
Map<Integer, Integer> baseCardMap = new HashMap<>();
|
Map<Integer, Integer> baseCardMap = new HashMap<>();
|
||||||
Map<Integer, Integer> baseEquipMap = new HashMap<>();
|
Map<Integer, Integer> baseEquipMap = new HashMap<>();
|
||||||
Map<Integer,Integer> baseRandomMap = new HashMap<>();
|
Map<Integer,Integer> baseRandomMap = new HashMap<>();
|
||||||
|
int rankUpReturnPercent= SSpecialConfig.getIntegerValue(SSpecialConfig.HERO_SACRIFICE_PERCENT);
|
||||||
for (String heroId : heroIdsList) {
|
for (String heroId : heroIdsList) {
|
||||||
Hero hero = heroManager.getHeroMap().get(heroId);
|
Hero hero = heroManager.getHeroMap().get(heroId);
|
||||||
heroManager.removeHero(uid,heroId);
|
heroManager.removeHero(uid,heroId);
|
||||||
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
|
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
|
||||||
|
Arrays.stream(sumConsume).forEach(i->i[1]*=((double)rankUpReturnPercent/10000));
|
||||||
ItemUtil.combineReward(sumConsume,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
ItemUtil.combineReward(sumConsume,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
||||||
int breakId = hero.getBreakId();
|
int breakId = hero.getBreakId();
|
||||||
int starBreakId = hero.getStarBreakId();
|
int starBreakId = hero.getStarBreakId();
|
||||||
|
|
|
@ -52,6 +52,8 @@ public class SSpecialConfig implements BaseConfig {
|
||||||
public static final String LAMP_TEXT_SPEED = "lamp_text_speed";//跑马灯速度
|
public static final String LAMP_TEXT_SPEED = "lamp_text_speed";//跑马灯速度
|
||||||
public static final String TIME_LIMIT_RECRUITMENT_INTEGRAL = "time_limit_recruitment_integral";//限时抽卡一次积分
|
public static final String TIME_LIMIT_RECRUITMENT_INTEGRAL = "time_limit_recruitment_integral";//限时抽卡一次积分
|
||||||
public static final String TIME_LIMIT_RECRUITMENT_FREEINTEGRAL = "time_limit_recruitment_FreeIntegral";//东海寻仙每获得150分赠送一次免费招募
|
public static final String TIME_LIMIT_RECRUITMENT_FREEINTEGRAL = "time_limit_recruitment_FreeIntegral";//东海寻仙每获得150分赠送一次免费招募
|
||||||
|
public static final String HERO_RETURN_PERCENT = "hero_return_percent";//回溯返还材料比例 实际百分比为填写数值/10000
|
||||||
|
public static final String HERO_SACRIFICE_PERCENT = "hero_sacrifice_percent";//献祭返还材料比例 实际百分比为填写数值/10000
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue