分解妖灵师

back_recharge
wangyuan 2019-05-29 17:58:02 +08:00
parent 7667d21b8f
commit fe567310c5
5 changed files with 32 additions and 9 deletions

View File

@ -34,6 +34,7 @@ public class SCHeroRankUpConfig implements BaseConfig{
private int show;
private int[][] sumConsume;
public static Map<Integer,SCHeroRankUpConfig> scHeroRankUpConfigMap ;
@Override
public void init() throws Exception {
@ -74,6 +75,7 @@ public class SCHeroRankUpConfig implements BaseConfig{
}
scHeroRankUpConfigByShow = result;
scHeroRankUpConfigByType = calc;
scHeroRankUpConfigMap =config;
}
public static Map<Integer, SCHeroRankUpConfig> getScHeroRankUpConfigByShow(int show, int heroInitStar) {
@ -123,4 +125,9 @@ public class SCHeroRankUpConfig implements BaseConfig{
public int getShow() {
return show;
}
public int[][] getSumConsume() {
return sumConsume;
}
}

View File

@ -13,6 +13,7 @@ import com.sun.org.apache.regexp.internal.RE;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ -187,8 +188,20 @@ public class ItemLogic {
}
//1裸角色卡没有突破过的角色卡熔炼后返还的材料=当前等级返还升级材料+item表返还材料
//2有过突破的卡 =当前等级返还升级材料+突破表返还材料
Map<Integer, Integer> baseItemMap = new HashMap<>();
Map<Integer, Integer> baseCardMap = new HashMap<>();
Map<Integer, Integer> baseEquipMap = new HashMap<>();
Map<Integer,Integer> baseRandomMap = new HashMap<>();
for (String heroId : heroIdsList) {
Hero hero = heroManager.getHeroMap().get(heroId);
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
ItemUtil.combineReward(sumConsume,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
int breakId = hero.getBreakId();
if(breakId!=0){
SCHeroRankUpConfig scHeroRankUpConfig = SCHeroRankUpConfig.scHeroRankUpConfigMap.get(breakId);
ItemUtil.combineReward(scHeroRankUpConfig.getSumConsume(),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
continue;
}
SItem sItem = SItem.getsItemMap().get(hero.getTemplateId());
heroManager.removeHero(heroId);
if (reward.length() == 0) {
@ -197,8 +210,10 @@ public class ItemLogic {
reward.append("#").append(sItem.getResolveReward());
}
}
CommonProto.Drop.Builder drop = ItemUtil.drop(user,StringUtil.parseFiledInt(reward.toString()),1,0);
sendUseAndPriceItemMessage(iSession, msgId, drop);
ItemUtil.combineReward(StringUtil.parseFiledInt(reward.toString()),1,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
sendUseAndPriceItemMessage(iSession, msgId, baseBuilder);
}
private String checkHeroResolve(List<String> heroIdsList,User user){

View File

@ -76,7 +76,9 @@ public class MissionLoigc {
}else{
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"mission can not get reward");
}
return;
}
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"parm is wrong");
}
public static int getDoingProgress(User user,CumulationData cumulationData, int missionTypeId, int missionSubType){

View File

@ -171,15 +171,10 @@ public class PlayerLogic {
SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(playerInfoManager.getVipLevel());
int[][] rewards=null;
if(type == 1){
if(playerInfoManager.getHadTakeDailyBoxVip() == 0 || playerInfoManager.getHadTakeLevelBoxVip() == 1 ){
if(playerInfoManager.getHadTakeLevelBoxVip() == 1 ){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.VIP_TAKE_REWARD_RESPONSE_VALUE,"had taked the vip level reward");
return;
}
VipMissionIdsType vipMissionIdsType = user.getUserMissionManager().getVipMissionIdsType();
if(!vipMissionIdsType.getDoingMissionIds().isEmpty() || !vipMissionIdsType.getFinishMissionIds().isEmpty()){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.VIP_TAKE_REWARD_RESPONSE_VALUE,"mission not finish");
return;
}
playerInfoManager.setHadTakeLevelBoxVip(1);
rewards = sVipLevelConfig.getVipBoxReward();
}else if(type == 2){

View File

@ -155,6 +155,10 @@ public class ItemUtil {
}
}
public static void combineReward(int[][] itemArr, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap){
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
}
public static void drop(User user,CommonProto.Drop.Builder dropBuilder,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap) throws Exception {
useRandomItem(user, randomMap);
addItem(user, itemMap, dropBuilder);