分解妖灵师
parent
7667d21b8f
commit
fe567310c5
|
@ -34,6 +34,7 @@ public class SCHeroRankUpConfig implements BaseConfig{
|
||||||
private int show;
|
private int show;
|
||||||
|
|
||||||
private int[][] sumConsume;
|
private int[][] sumConsume;
|
||||||
|
public static Map<Integer,SCHeroRankUpConfig> scHeroRankUpConfigMap ;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
|
@ -74,6 +75,7 @@ public class SCHeroRankUpConfig implements BaseConfig{
|
||||||
}
|
}
|
||||||
scHeroRankUpConfigByShow = result;
|
scHeroRankUpConfigByShow = result;
|
||||||
scHeroRankUpConfigByType = calc;
|
scHeroRankUpConfigByType = calc;
|
||||||
|
scHeroRankUpConfigMap =config;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Map<Integer, SCHeroRankUpConfig> getScHeroRankUpConfigByShow(int show, int heroInitStar) {
|
public static Map<Integer, SCHeroRankUpConfig> getScHeroRankUpConfigByShow(int show, int heroInitStar) {
|
||||||
|
@ -123,4 +125,9 @@ public class SCHeroRankUpConfig implements BaseConfig{
|
||||||
public int getShow() {
|
public int getShow() {
|
||||||
return show;
|
return show;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int[][] getSumConsume() {
|
||||||
|
return sumConsume;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ import com.sun.org.apache.regexp.internal.RE;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
@ -187,8 +188,20 @@ public class ItemLogic {
|
||||||
}
|
}
|
||||||
//1裸角色卡(没有突破过的角色卡)熔炼后返还的材料=当前等级返还升级材料+item表返还材料
|
//1裸角色卡(没有突破过的角色卡)熔炼后返还的材料=当前等级返还升级材料+item表返还材料
|
||||||
//2有过突破的卡 =当前等级返还升级材料+突破表返还材料
|
//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) {
|
for (String heroId : heroIdsList) {
|
||||||
Hero hero = heroManager.getHeroMap().get(heroId);
|
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());
|
SItem sItem = SItem.getsItemMap().get(hero.getTemplateId());
|
||||||
heroManager.removeHero(heroId);
|
heroManager.removeHero(heroId);
|
||||||
if (reward.length() == 0) {
|
if (reward.length() == 0) {
|
||||||
|
@ -197,8 +210,10 @@ public class ItemLogic {
|
||||||
reward.append("#").append(sItem.getResolveReward());
|
reward.append("#").append(sItem.getResolveReward());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user,StringUtil.parseFiledInt(reward.toString()),1,0);
|
ItemUtil.combineReward(StringUtil.parseFiledInt(reward.toString()),1,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
||||||
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
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){
|
private String checkHeroResolve(List<String> heroIdsList,User user){
|
||||||
|
|
|
@ -76,7 +76,9 @@ public class MissionLoigc {
|
||||||
}else{
|
}else{
|
||||||
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"mission can not get reward");
|
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){
|
public static int getDoingProgress(User user,CumulationData cumulationData, int missionTypeId, int missionSubType){
|
||||||
|
|
|
@ -171,15 +171,10 @@ public class PlayerLogic {
|
||||||
SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(playerInfoManager.getVipLevel());
|
SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(playerInfoManager.getVipLevel());
|
||||||
int[][] rewards=null;
|
int[][] rewards=null;
|
||||||
if(type == 1){
|
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");
|
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.VIP_TAKE_REWARD_RESPONSE_VALUE,"had taked the vip level reward");
|
||||||
return;
|
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);
|
playerInfoManager.setHadTakeLevelBoxVip(1);
|
||||||
rewards = sVipLevelConfig.getVipBoxReward();
|
rewards = sVipLevelConfig.getVipBoxReward();
|
||||||
}else if(type == 2){
|
}else if(type == 2){
|
||||||
|
|
|
@ -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 {
|
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);
|
useRandomItem(user, randomMap);
|
||||||
addItem(user, itemMap, dropBuilder);
|
addItem(user, itemMap, dropBuilder);
|
||||||
|
|
Loading…
Reference in New Issue