Merge branch 'master_test_gn' of http://60.1.1.230/backend/jieling_server into master_test_gn
commit
d56b0b6a08
|
@ -3,6 +3,7 @@ package com.ljsd.jieling.handler;
|
||||||
import com.ljsd.jieling.exception.ErrorCode;
|
import com.ljsd.jieling.exception.ErrorCode;
|
||||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
import com.ljsd.jieling.globals.BIReason;
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
|
import com.ljsd.jieling.logic.dao.Item;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||||
|
@ -11,6 +12,7 @@ import com.ljsd.jieling.logic.item.ItemLogic;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
import com.ljsd.jieling.util.ItemMap;
|
import com.ljsd.jieling.util.ItemMap;
|
||||||
import com.ljsd.jieling.util.ItemUtil;
|
import com.ljsd.jieling.util.ItemUtil;
|
||||||
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
import com.sun.javafx.collections.MappingChange;
|
import com.sun.javafx.collections.MappingChange;
|
||||||
import config.SItem;
|
import config.SItem;
|
||||||
import config.SMainLevelConfig;
|
import config.SMainLevelConfig;
|
||||||
|
@ -67,13 +69,28 @@ public class UseAndPriceItemHandler extends BaseHandler<PlayerInfoProto.UseAndPr
|
||||||
}else if(type==6){
|
}else if(type==6){
|
||||||
ItemLogic.getInstance().useItem(iSession,itemList,useAndPriceItemRequest.getItemId());
|
ItemLogic.getInstance().useItem(iSession,itemList,useAndPriceItemRequest.getItemId());
|
||||||
}else if (type==7){//资源包 可以获取指定挂机奖励
|
}else if (type==7){//资源包 可以获取指定挂机奖励
|
||||||
int itemId=useAndPriceItemRequest.getItemsList().get(0).getItemId();
|
|
||||||
long useNum=useAndPriceItemRequest.getItemsList().get(0).getItemNum();
|
|
||||||
int[][]rewardArr=SItem.getsItemMap().get(itemId).getUseGain();
|
|
||||||
int uid = iSession.getUid();
|
int uid = iSession.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
|
int itemId=useAndPriceItemRequest.getItemsList().get(0).getItemId();
|
||||||
|
SItem sItem=SItem.getsItemMap().get(itemId);
|
||||||
|
if (user.getPlayerInfoManager().getLevel()<sItem.getUseLevel()){
|
||||||
|
LOGGER.error("等级不足");
|
||||||
|
throw new ErrorCodeException(ErrorCode.HANDLE_FAILED);
|
||||||
|
}
|
||||||
|
int useNum=(int)useAndPriceItemRequest.getItemsList().get(0).getItemNum();
|
||||||
|
Map<Integer,Integer>costMap=new HashMap<>();
|
||||||
|
costMap.put(itemId,useNum);
|
||||||
|
int[][]rewardArr=sItem.getUseGain();
|
||||||
|
|
||||||
|
boolean isCost= ItemUtil.itemCost(user, costMap, BIReason.USER_ITEM, 0);
|
||||||
|
if (!isCost){
|
||||||
|
LOGGER.error("资源包道具消耗失败");
|
||||||
|
throw new ErrorCodeException(ErrorCode.HANDLE_FAILED);
|
||||||
|
}
|
||||||
long[][]dropArr=useItemGetHookReward(user,rewardArr,useNum);
|
long[][]dropArr=useItemGetHookReward(user,rewardArr,useNum);
|
||||||
ItemUtil.drop(user,dropArr,BIReason.USER_ITEM);
|
ItemUtil.drop(user,dropArr,BIReason.USER_ITEM);
|
||||||
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropArr, BIReason.USER_ITEM);
|
||||||
|
ItemLogic.sendUseAndPriceItemMessage(iSession, MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE, drop);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
|
@ -96,15 +113,12 @@ public class UseAndPriceItemHandler extends BaseHandler<PlayerInfoProto.UseAndPr
|
||||||
ItemMap itemObj=new ItemMap();
|
ItemMap itemObj=new ItemMap();
|
||||||
int fightId = user.getMainLevelManager().getFightId();
|
int fightId = user.getMainLevelManager().getFightId();
|
||||||
SMainLevelConfig targetMainLevelConfig = SMainLevelConfig.config.get(fightId);
|
SMainLevelConfig targetMainLevelConfig = SMainLevelConfig.config.get(fightId);
|
||||||
|
|
||||||
int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin();
|
int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin();
|
||||||
for (int dropGroupId : randomRewardMin) {
|
int[] randomReward = targetMainLevelConfig.getRandomReward();
|
||||||
SRewardGroup sRewardGroup = SRewardGroup.getsRewardItemMap().get(dropGroupId);
|
|
||||||
if (sRewardGroup == null) {
|
ItemUtil.combineRewardByMainLine(user,false, true, randomRewardMin, dropRatio,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||||
continue;
|
ItemUtil.combineRewardByMainLine(user,true, false,randomReward, dropRatio,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||||
}
|
|
||||||
ItemUtil.selectDrop(user, sRewardGroup, itemObj, dropRatio);
|
|
||||||
}
|
|
||||||
ItemUtil.extraAddItem(user,itemObj.getItemMap(), BIReason.ADVENTURE_BASE_REWARD);
|
|
||||||
if (itemObj.getItemMap().containsKey(itemId)){
|
if (itemObj.getItemMap().containsKey(itemId)){
|
||||||
dropArr[index][0]=itemId;
|
dropArr[index][0]=itemId;
|
||||||
dropArr[index][1]=itemObj.getItemMap().get(itemId)*useNum;
|
dropArr[index][1]=itemObj.getItemMap().get(itemId)*useNum;
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class SItem implements BaseConfig {
|
||||||
|
|
||||||
private int recycle;
|
private int recycle;
|
||||||
private int[][] useGain;
|
private int[][] useGain;
|
||||||
|
private int useLevel;
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -128,4 +128,8 @@ public class SItem implements BaseConfig {
|
||||||
public int[][] getUseGain() {
|
public int[][] getUseGain() {
|
||||||
return useGain;
|
return useGain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getUseLevel() {
|
||||||
|
return useLevel;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue