回溯、分解英雄
parent
23489baf4a
commit
1588a437b1
|
@ -2174,6 +2174,7 @@ public class HeroLogic{
|
|||
}
|
||||
|
||||
public void heroBack(ISession session,String heroId) throws Exception {
|
||||
int returnPercent = SSpecialConfig.getIntegerValue(SSpecialConfig.HERO_RETURN_PERCENT);
|
||||
int uid = session.getUid();
|
||||
int responseMsgId = MessageTypeProto.MessageType.HERO_RETURN_RESPONSE_VALUE;
|
||||
User user = UserManager.getUser(uid);
|
||||
|
@ -2205,10 +2206,17 @@ public class HeroLogic{
|
|||
}
|
||||
|
||||
heroManager.removeHero(uid,heroId);
|
||||
int[][] returnMaterials = sHeroReturn.getReturnMaterials();
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, returnMaterials, BIReason.HERO_BACK_REWARD);
|
||||
int[] returnMaterials = sHeroReturn.getRankupReturn();
|
||||
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());
|
||||
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();
|
||||
MessageUtil.sendMessage(session,1,responseMsgId,build,true);
|
||||
|
||||
|
|
|
@ -301,10 +301,12 @@ public class ItemLogic {
|
|||
Map<Integer, Integer> baseCardMap = new HashMap<>();
|
||||
Map<Integer, Integer> baseEquipMap = new HashMap<>();
|
||||
Map<Integer,Integer> baseRandomMap = new HashMap<>();
|
||||
int rankUpReturnPercent= SSpecialConfig.getIntegerValue(SSpecialConfig.HERO_SACRIFICE_PERCENT);
|
||||
for (String heroId : heroIdsList) {
|
||||
Hero hero = heroManager.getHeroMap().get(heroId);
|
||||
heroManager.removeHero(uid,heroId);
|
||||
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);
|
||||
int breakId = hero.getBreakId();
|
||||
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 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 HERO_RETURN_PERCENT = "hero_return_percent";//回溯返还材料比例 实际百分比为填写数值/10000
|
||||
public static final String HERO_SACRIFICE_PERCENT = "hero_sacrifice_percent";//献祭返还材料比例 实际百分比为填写数值/10000
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
||||
|
|
Loading…
Reference in New Issue