挂机奖励回滚

master_dev
grimm 2024-04-26 18:43:06 +08:00
parent b4934dafe5
commit 477f22e7c5
8 changed files with 174 additions and 164 deletions

View File

@ -8,7 +8,6 @@ import rpc.protocols.FightInfoProto;
import rpc.protocols.MessageTypeProto; import rpc.protocols.MessageTypeProto;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Deprecated
@Component @Component
public class TakeAdventureRewardHandler extends BaseHandler { public class TakeAdventureRewardHandler extends BaseHandler {
@Override @Override
@ -18,7 +17,7 @@ public class TakeAdventureRewardHandler extends BaseHandler {
@Override @Override
public void process(ISession iSession, PacketNetData netData) throws Exception { public void process(ISession iSession, PacketNetData netData) throws Exception {
// FightInfoProto.TakeAventureRewardRequest takeAventureRewardRequest = FightInfoProto.TakeAventureRewardRequest.parseFrom(netData.parseClientProtoNetData()); FightInfoProto.TakeAventureRewardRequest takeAventureRewardRequest = FightInfoProto.TakeAventureRewardRequest.parseFrom(netData.parseClientProtoNetData());
// CombatLogic.getInstance().takeNewAdventureReward(iSession,takeAventureRewardRequest.getType(),takeAventureRewardRequest.getPosition()); CombatLogic.getInstance().takeNewAdventureReward(iSession,takeAventureRewardRequest.getType(),takeAventureRewardRequest.getPosition());
} }
} }

View File

@ -603,7 +603,7 @@ public class Hero extends MongoBase implements Comparable<Hero>,Cloneable {
public void setBauBlesId(String bauBles) { public void setBauBlesId(String bauBles) {
this.bauBlesId = bauBles; this.bauBlesId = bauBles;
updateString("bauBlesId", bauBlesId); updateString("bauBlesId", bauBles);
} }
public String getBauBlesId() { public String getBauBlesId() {

View File

@ -296,15 +296,17 @@ public class HeroManager extends MongoBase {
updateString("randomPoolByType." + type, map); updateString("randomPoolByType." + type, map);
} }
public Map<String, Hero> getItemMap() { public void setHeroMap(Map<String, Hero> heroMap) {
return heroMap;
}
public void setItemMap(Map<String, Hero> heroMap) {
this.heroMap = heroMap; this.heroMap = heroMap;
updateString("heroMap", heroMap);
} }
public void addHero(Hero hero) throws Exception { public void updateHero(Hero hero) {
this.heroMap.put(hero.getId(), hero);
updateString("heroMap", heroMap);
}
public void addHero(Hero hero) {
//绑定关系 //绑定关系
hero.init(this.getRootId(),getMongoKey() + ".heroMap." + hero.getId()); hero.init(this.getRootId(),getMongoKey() + ".heroMap." + hero.getId());
updateString("heroMap." + hero.getId(), hero); updateString("heroMap." + hero.getId(), hero);

View File

@ -630,16 +630,21 @@ public class EquipLogic {
if (config == null){ if (config == null){
throw new ErrorCodeException(ErrorCode.CFG_NULL); throw new ErrorCodeException(ErrorCode.CFG_NULL);
} }
int[][] formula = config.getFormula();
int[][] resource = config.getResource();
if (formula == null || formula.length == 0){
throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE);
}
// 消耗道具
ArrayList<int[][]> costList = new ArrayList<>(); ArrayList<int[][]> costList = new ArrayList<>();
costList.add(config.getFormula()); costList.add(formula);
costList.add(config.getResource()); costList.add(resource);
boolean cost = ItemUtil.checkCost(user, costList); boolean cost = ItemUtil.itemCost(user, costList, BIReason.GIFT_UP_STAR_COST, 0);;
if (!cost){ if (!cost){
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
} }
// 掉落道具
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[][]{{giftId, 1}}, BIReason.GIFT_UP_STAR_GET); CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[]{giftId, 1}, 1, BIReason.GIFT_UP_STAR_GET);
ItemUtil.itemCost(user, costList, BIReason.GIFT_UP_STAR_COST, 0);
HeroInfoProto.GiftEquipUpStarResponse.Builder builder = HeroInfoProto.GiftEquipUpStarResponse.newBuilder().setDrop(drop); HeroInfoProto.GiftEquipUpStarResponse.Builder builder = HeroInfoProto.GiftEquipUpStarResponse.newBuilder().setDrop(drop);
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GiftEquipUpStarResponse_VALUE, builder.build(), true); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GiftEquipUpStarResponse_VALUE, builder.build(), true);
} }
@ -833,17 +838,17 @@ public class EquipLogic {
User user = UserManager.getUser(session.getUid()); User user = UserManager.getUser(session.getUid());
EquipManager equipManager = user.getEquipManager(); EquipManager equipManager = user.getEquipManager();
HeroManager heroManager = user.getHeroManager(); HeroManager heroManager = user.getHeroManager();
String baublesId = proto.getBaublesId();
String heroId = proto.getHeroId(); String heroId = proto.getHeroId();
String baublesId = proto.getBaublesId();
Hero hero = heroManager.getHero(heroId); Hero hero = heroManager.getHero(heroId);
if (hero == null){ if (hero == null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE, "英雄不存在"); throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE, "英雄不存在");
} }
String heroBauBlesId = hero.getBauBlesId();
if (baublesId.isEmpty()){ if (StringUtil.isEmpty(baublesId)){
// 卸下 // 卸下
Baubles baubles = equipManager.getBaubles(heroBauBlesId); Baubles baubles = equipManager.getBaubles(hero.getBauBlesId());
hero.setBauBlesId(""); hero.setBauBlesId("");
baubles.setHeroId(""); baubles.setHeroId("");
} }
@ -854,6 +859,7 @@ public class EquipLogic {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE, "法宝不存在或者处于庇佑状态"); throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE, "法宝不存在或者处于庇佑状态");
} }
// 检查英雄和法宝是否各有装备 // 检查英雄和法宝是否各有装备
String heroBauBlesId = hero.getBauBlesId();
if (!StringUtil.isEmpty(heroBauBlesId)){ if (!StringUtil.isEmpty(heroBauBlesId)){
hero.setBauBlesId(""); hero.setBauBlesId("");
Baubles heroBauBles = equipManager.getBaubles(heroBauBlesId); Baubles heroBauBles = equipManager.getBaubles(heroBauBlesId);
@ -873,7 +879,6 @@ public class EquipLogic {
hero.setBauBlesId(baublesId); hero.setBauBlesId(baublesId);
baubles.setHeroId(heroId); baubles.setHeroId(heroId);
} }
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.BaublesWearResponse_VALUE, null, true); MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.BaublesWearResponse_VALUE, null, true);
} }

View File

@ -213,84 +213,84 @@ public class CombatLogic {
public void takeNewAdventureReward(ISession session,int type,int position) throws Exception { public void takeNewAdventureReward(ISession session,int type,int position) throws Exception {
User user = UserManager.getUser(session.getUid()); User user = UserManager.getUser(session.getUid());
// Map<Integer, CommonProto.Drop> adventureFastReward; Map<Integer, CommonProto.Drop> adventureFastReward;
// if(type == 2){ if(type == 2){
// adventureFastReward = getNewAdventureReward(user,false,TimeUtils.nowInt()); adventureFastReward = getNewAdventureReward(user,false,TimeUtils.nowInt());
// if(adventureFastReward.get(1).getItemlistCount()==0){ if(adventureFastReward.get(1).getItemlistCount()==0){
// throw new ErrorCodeException(ErrorCode.REWARD_COLLECTING); throw new ErrorCodeException(ErrorCode.REWARD_COLLECTING);
// } }
// user.getUserMissionManager().onGameEvent(user,GameEvent.ONE_MISSION_TYPE_CONSUME,MissionType.TAKE_ADVENTUREREWARD_TIMES,1); user.getUserMissionManager().onGameEvent(user,GameEvent.ONE_MISSION_TYPE_CONSUME,MissionType.TAKE_ADVENTUREREWARD_TIMES,1);
// }else{ }else{
// boolean update = true; boolean update = true;
// if(position == 0){ if(position == 0){
// if(!PlayerLogic.getInstance().checkAndUpdate(user,VipPrivilegeType.FAST_MAP_LIMIT,1)) { if(!PlayerLogic.getInstance().checkAndUpdate(user,VipPrivilegeType.FAST_MAP_LIMIT,1)) {
// update = StoreLogic.getInstance().checkBuyGoodsAndUpdate(user,7,10008,1); update = StoreLogic.getInstance().checkBuyGoodsAndUpdate(user,7,10008,1);
// } }
// }else{ }else{
// update = StoreLogic.getInstance().checkBuyGoodsAndUpdate(user,7,10015,1); update = StoreLogic.getInstance().checkBuyGoodsAndUpdate(user,7,10015,1);
// } }
// if (!update){ if (!update){
// throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE); throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE);
// } }
// adventureFastReward = getNewAdventureFastReward(user, STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getAdventureFastBattle()); adventureFastReward = getNewAdventureFastReward(user, STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getAdventureFastBattle());
// user.getUserMissionManager().onGameEvent(user,GameEvent.PlAY_STORY,9999,1); user.getUserMissionManager().onGameEvent(user,GameEvent.PlAY_STORY,9999,1);
// Poster.getPoster().dispatchEvent(new SecretEvent(user.getId())); Poster.getPoster().dispatchEvent(new SecretEvent(user.getId()));
// user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.TAKE_ADVENTURE_REWARD_COUNT, 1); user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.TAKE_ADVENTURE_REWARD_COUNT, 1);
// Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.EXPLORE.getType(),1)); Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.EXPLORE.getType(),1));
// } }
FightInfoProto.TakeAventureRewardResponse build = FightInfoProto.TakeAventureRewardResponse.newBuilder() FightInfoProto.TakeAventureRewardResponse build = FightInfoProto.TakeAventureRewardResponse.newBuilder()
// .setDrop(adventureFastReward.get(1)) .setDrop(adventureFastReward.get(1))
// .setRandomDrop(adventureFastReward.get(2)) .setRandomDrop(adventureFastReward.get(2))
.build(); .build();
// KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,KTGameType.TAKE_SECURE_REWARD.getIndex(),type*10); KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,KTGameType.TAKE_SECURE_REWARD.getIndex(),type*10);
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ADVENTURE_REWARD_RESPONSE_VALUE,build,true); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ADVENTURE_REWARD_RESPONSE_VALUE,build,true);
} }
public Map<Integer,CommonProto.Drop> getNewAdventureReward(User user,boolean sendMail,int time) throws Exception { public Map<Integer,CommonProto.Drop> getNewAdventureReward(User user,boolean sendMail,int time) throws Exception {
// GetNewAdventureData getNewAdventureData = new GetNewAdventureData(user, sendMail,false).invoke(time); GetNewAdventureData getNewAdventureData = new GetNewAdventureData(user, sendMail,false).invoke(time);
// if (getNewAdventureData.is()) return null; if (getNewAdventureData.is()) return null;
// CommonProto.Drop.Builder baseBuilder = getNewAdventureData.getBaseBuilder(); CommonProto.Drop.Builder baseBuilder = getNewAdventureData.getBaseBuilder();
// CommonProto.Drop.Builder randomBuilder = getNewAdventureData.getRandomBuilder(); CommonProto.Drop.Builder randomBuilder = getNewAdventureData.getRandomBuilder();
Map<Integer, CommonProto.Drop> result = new HashMap<>(2); Map<Integer, CommonProto.Drop> result = new HashMap<>(2);
// result.put(1,baseBuilder.build()); result.put(1,baseBuilder.build());
// result.put(2,randomBuilder.build()); result.put(2,randomBuilder.build());
return result; return result;
} }
private Map<Integer,CommonProto.Drop> getNewAdventureFastReward(User user,int timeDuration) throws Exception { private Map<Integer,CommonProto.Drop> getNewAdventureFastReward(User user,int timeDuration) throws Exception {
// MainLevelManager mainLevelManager = user.getMainLevelManager(); MainLevelManager mainLevelManager = user.getMainLevelManager();
// SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting(); SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
// int adventureRefresh = gameSetting.getAdventureRefresh(); int adventureRefresh = gameSetting.getAdventureRefresh();
// int times = timeDuration / adventureRefresh; int times = timeDuration / adventureRefresh;
// ItemMap itemObj = new ItemMap(); ItemMap itemObj = new ItemMap();
// ItemMap itemRandomObj = new ItemMap(); ItemMap itemRandomObj = new ItemMap();
// CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder(); CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
// CommonProto.Drop.Builder randomBuilder = CommonProto.Drop.newBuilder(); CommonProto.Drop.Builder randomBuilder = CommonProto.Drop.newBuilder();
// int fightId = mainLevelManager.getFightId(); int fightId = mainLevelManager.getFightId();
// SMainLevelConfig mainLevelConfig = SMainLevelConfig.config.get(fightId); SMainLevelConfig mainLevelConfig = SMainLevelConfig.config.get(fightId);
// if(mainLevelManager.getState()==-1){ if(mainLevelManager.getState()==-1){
// for( SMainLevelConfig sMainLevelConfig : SMainLevelConfig.config.values() ){ for( SMainLevelConfig sMainLevelConfig : SMainLevelConfig.config.values() ){
// if(sMainLevelConfig.getNextLevel() == mainLevelManager.getFightId()){ if(sMainLevelConfig.getNextLevel() == mainLevelManager.getFightId()){
// mainLevelConfig = sMainLevelConfig; mainLevelConfig = sMainLevelConfig;
// break; break;
// } }
// } }
// } }
// ItemUtil.combineRewardByMainLine(user,false, mainLevelConfig.getRandomRewardMin(), times,itemObj,BIReason.ADVENTURE_BASE_REWARD); ItemUtil.combineRewardByMainLine(user,false, mainLevelConfig.getRandomRewardMin(), times,itemObj,BIReason.ADVENTURE_BASE_REWARD);
// ItemUtil.combineRewardByMainLine(user,true, mainLevelConfig.getRandomReward(), times,itemRandomObj,BIReason.ADVENTURE_RANDOM_REWARDD); ItemUtil.combineRewardByMainLine(user,true, mainLevelConfig.getRandomReward(), times,itemRandomObj,BIReason.ADVENTURE_RANDOM_REWARDD);
// // 小兵关卡 // 小兵关卡
// SSoldierStageConfig stageConfig = SSoldierStageConfig.idMap.get(mainLevelManager.getSoldierLayerId()); SSoldierStageConfig stageConfig = SSoldierStageConfig.idMap.get(mainLevelManager.getSoldierLayerId());
// ItemUtil.combineRewardByMainLine(user,false, stageConfig.getRandomRewardMin(), times,itemObj,BIReason.ADVENTURE_BASE_REWARD); ItemUtil.combineRewardByMainLine(user,false, stageConfig.getRandomRewardMin(), times,itemObj,BIReason.ADVENTURE_BASE_REWARD);
//
// itemRandomObj.setEquipMap(equipAutoCombine(itemRandomObj.getEquipMap())); itemRandomObj.setEquipMap(equipAutoCombine(itemRandomObj.getEquipMap()));
// //清除无用活动道具 //清除无用活动道具
// removeNoUseItem(user,itemRandomObj.getItemMap()); removeNoUseItem(user,itemRandomObj.getItemMap());
// ItemUtil.drop(user,baseBuilder,itemObj,BIReason.ADVENTURE_BASE_REWARD); ItemUtil.drop(user,baseBuilder,itemObj,BIReason.ADVENTURE_BASE_REWARD);
// ItemUtil.drop(user,randomBuilder,itemRandomObj,BIReason.ADVENTURE_RANDOM_REWARDD); ItemUtil.drop(user,randomBuilder,itemRandomObj,BIReason.ADVENTURE_RANDOM_REWARDD);
Map<Integer, CommonProto.Drop> result = new HashMap<>(2); Map<Integer, CommonProto.Drop> result = new HashMap<>(2);
// result.put(1,baseBuilder.build()); result.put(1,baseBuilder.build());
// result.put(2,randomBuilder.build()); result.put(2,randomBuilder.build());
return result; return result;
} }
@ -929,74 +929,74 @@ public class CombatLogic {
} }
public GetNewAdventureData invoke(int time) throws Exception { public GetNewAdventureData invoke(int time) throws Exception {
// MainLevelManager mainLevelManager = user.getMainLevelManager(); MainLevelManager mainLevelManager = user.getMainLevelManager();
// Map<Integer, Integer> fightStateInfo = mainLevelManager.getFightStateInfo(); Map<Integer, Integer> fightStateInfo = mainLevelManager.getFightStateInfo();
// SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting(); SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
// int adventureRefresh = gameSetting.getAdventureRefresh(); int adventureRefresh = gameSetting.getAdventureRefresh();
// int vipTimeAdd = PlayerLogic.getInstance().getMaxCountByPrivilegeType(user, VipPrivilegeType.ADVENTURE_ADD_TIME); int vipTimeAdd = PlayerLogic.getInstance().getMaxCountByPrivilegeType(user, VipPrivilegeType.ADVENTURE_ADD_TIME);
// int adventureOffline = (gameSetting.getAdventureOffline()+vipTimeAdd)*60*60/adventureRefresh; int adventureOffline = (gameSetting.getAdventureOffline()+vipTimeAdd)*60*60/adventureRefresh;
// baseBuilder = CommonProto.Drop.newBuilder(); baseBuilder = CommonProto.Drop.newBuilder();
// randomBuilder = CommonProto.Drop.newBuilder(); randomBuilder = CommonProto.Drop.newBuilder();
// int takeTimes = 0; int takeTimes = 0;
// ArrayList<int[][]> baseList = new ArrayList<>(); ArrayList<int[][]> baseList = new ArrayList<>();
// ArrayList<int[][]> randomList = new ArrayList<>(); ArrayList<int[][]> randomList = new ArrayList<>();
// Map<Integer, SMainLevelConfig> mainLevelConfigMap = SMainLevelConfig.config; Map<Integer, SMainLevelConfig> mainLevelConfigMap = SMainLevelConfig.config;
// for(Map.Entry<Integer,Integer> fightStateInfoItem : fightStateInfo.entrySet()){ for(Map.Entry<Integer,Integer> fightStateInfoItem : fightStateInfo.entrySet()){
// Integer fightId = fightStateInfoItem.getKey(); Integer fightId = fightStateInfoItem.getKey();
// Integer times = fightStateInfoItem.getValue(); Integer times = fightStateInfoItem.getValue();
// SMainLevelConfig sMainLevelConfig = mainLevelConfigMap.get(fightId); SMainLevelConfig sMainLevelConfig = mainLevelConfigMap.get(fightId);
// baseList.add(new int[][]{sMainLevelConfig.getRandomRewardMin(),new int[]{times}}); baseList.add(new int[][]{sMainLevelConfig.getRandomRewardMin(),new int[]{times}});
// randomList.add(new int[][]{sMainLevelConfig.getRandomReward(),new int[]{times}}); randomList.add(new int[][]{sMainLevelConfig.getRandomReward(),new int[]{times}});
// takeTimes+=times; takeTimes+=times;
// } }
// int fightId = mainLevelManager.getFightId(); int fightId = mainLevelManager.getFightId();
// SMainLevelConfig mainLevelConfig = mainLevelConfigMap.get(fightId); SMainLevelConfig mainLevelConfig = mainLevelConfigMap.get(fightId);
// int lastTime = mainLevelManager.getLastTime(); int lastTime = mainLevelManager.getLastTime();
// int times = (time - lastTime)/gameSetting.getAdventureRefresh(); int times = (time - lastTime)/gameSetting.getAdventureRefresh();
// int maxTimes = adventureOffline - takeTimes; int maxTimes = adventureOffline - takeTimes;
// int lastTimeTakes=0; int lastTimeTakes=0;
// boolean reset = maxTimes<times; boolean reset = maxTimes<times;
// if(maxTimes>0){ if(maxTimes>0){
// times = reset?maxTimes:times; times = reset?maxTimes:times;
// baseList.add(new int[][]{mainLevelConfig.getRandomRewardMin(),new int[]{times}}); baseList.add(new int[][]{mainLevelConfig.getRandomRewardMin(),new int[]{times}});
// randomList.add(new int[][]{mainLevelConfig.getRandomReward(),new int[]{times}}); randomList.add(new int[][]{mainLevelConfig.getRandomReward(),new int[]{times}});
// lastTimeTakes=times; lastTimeTakes=times;
// } }
// // 小兵奖励 // 小兵奖励
// getSoldierBaseReward(baseList); getSoldierBaseReward(baseList);
// ItemMap itemObj = new ItemMap(); ItemMap itemObj = new ItemMap();
// ItemMap itemRandom = new ItemMap(); ItemMap itemRandom = new ItemMap();
// ItemUtil.combineRewardByMainLineNotCycle(user,true,baseList,itemObj,BIReason.ADVENTURE_BASE_REWARD); ItemUtil.combineRewardByMainLineNotCycle(user,true,baseList,itemObj,BIReason.ADVENTURE_BASE_REWARD);
// if (viewBaseReward){ if (viewBaseReward){
// myResult = true; myResult = true;
// rewardStr = ItemUtil.getReward(itemObj); rewardStr = ItemUtil.getReward(itemObj);
// return this; return this;
// } }
// ItemUtil.combineRewardByMainLineNotCycle(user, false, randomList,itemRandom,BIReason.ADVENTURE_RANDOM_REWARDD); ItemUtil.combineRewardByMainLineNotCycle(user, false, randomList,itemRandom,BIReason.ADVENTURE_RANDOM_REWARDD);
// //装备合成 //装备合成
// itemRandom.setEquipMap(equipAutoCombine(itemRandom.getEquipMap())); itemRandom.setEquipMap(equipAutoCombine(itemRandom.getEquipMap()));
// removeNoUseItem(user,itemRandom.getItemMap()); removeNoUseItem(user,itemRandom.getItemMap());
// if(sendMail){ if(sendMail){
// if(!itemObj.getItemMap().isEmpty()){ if(!itemObj.getItemMap().isEmpty()){
// int vipLevel = user.getPlayerInfoManager().getVipLevel(); int vipLevel = user.getPlayerInfoManager().getVipLevel();
// String title = SErrorCodeEerverConfig.getI18NMessage("adventuren_reward_of_viplevel_title"); String title = SErrorCodeEerverConfig.getI18NMessage("adventuren_reward_of_viplevel_title");
// String reward = ItemUtil.getReward(itemObj); String reward = ItemUtil.getReward(itemObj);
// String randomReward = ItemUtil.getReward(itemRandom); String randomReward = ItemUtil.getReward(itemRandom);
// String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("adventuren_reward_of_viplevel_content",new Object[]{vipLevel},new int[0],"#"); String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("adventuren_reward_of_viplevel_content",new Object[]{vipLevel},new int[0],"#");
// if(!randomReward.isEmpty()){ if(!randomReward.isEmpty()){
// reward = reward + "|" + randomReward; reward = reward + "|" + randomReward;
// MailLogic.getInstance().sendMail(user.getId(),title,content,reward,time, Global.MAIL_EFFECTIVE_TIME); MailLogic.getInstance().sendMail(user.getId(),title,content,reward,time, Global.MAIL_EFFECTIVE_TIME);
// mainLevelManager.afterTakeStateReward(true,0,time); mainLevelManager.afterTakeStateReward(true,0,time);
// System.out.printf("================在线奖励升级vip发送邮件{%s},{%s}\n",mainLevelManager.getStartTime(),mainLevelManager.getLastTime()); System.out.printf("================在线奖励升级vip发送邮件{%s},{%s}\n",mainLevelManager.getStartTime(),mainLevelManager.getLastTime());
// } }
// } }
// myResult = true; myResult = true;
// }else { }else {
// mainLevelManager.afterTakeStateReward(reset,lastTimeTakes,time); mainLevelManager.afterTakeStateReward(reset,lastTimeTakes,time);
// ItemUtil.drop(user,baseBuilder,itemObj, BIReason.ADVENTURE_BASE_REWARD); ItemUtil.drop(user,baseBuilder,itemObj, BIReason.ADVENTURE_BASE_REWARD);
// ItemUtil.drop(user,randomBuilder,itemRandom,BIReason.ADVENTURE_RANDOM_REWARDD); ItemUtil.drop(user,randomBuilder,itemRandom,BIReason.ADVENTURE_RANDOM_REWARDD);
// myResult = false; myResult = false;
// } }
return this; return this;
} }

View File

@ -3437,7 +3437,6 @@ public class HeroLogic {
attribute.put(id, attribute.getOrDefault(id, 0L) + num); attribute.put(id, attribute.getOrDefault(id, 0L) + num);
} }
} }
LOGGER.info("===助阵属性:{}",attribute);
combinedAttribute(attribute, heroAllAttribute); combinedAttribute(attribute, heroAllAttribute);
return totalAdd; return totalAdd;
} }

View File

@ -1080,10 +1080,10 @@ public class CBean2Proto {
if(update){ if(update){
mainLevelManager.directUpdateDb(); mainLevelManager.directUpdateDb();
} }
// CombatLogic.GetNewAdventureData getNewAdventureData = new CombatLogic.GetNewAdventureData(user, false,true).invoke(TimeUtils.nowInt()); CombatLogic.GetNewAdventureData getNewAdventureData = new CombatLogic.GetNewAdventureData(user, false,true).invoke(TimeUtils.nowInt());
// if (!StringUtil.isEmpty(getNewAdventureData.getRewardStr())){ if (!StringUtil.isEmpty(getNewAdventureData.getRewardStr())){
// builder.setReward(getNewAdventureData.getRewardStr()); builder.setReward(getNewAdventureData.getRewardStr());
// } }
return builder.build(); return builder.build();
} }

View File

@ -679,6 +679,7 @@ public class ItemUtil {
*/ */
public static int addItemByMail(User user, Map<Integer, Long> itemMap, CommonProto.Drop.Builder dropBuilder, int reason) throws Exception { public static int addItemByMail(User user, Map<Integer, Long> itemMap, CommonProto.Drop.Builder dropBuilder, int reason) throws Exception {
if (itemMap.isEmpty()) { if (itemMap.isEmpty()) {
LOGGER.info("掉落道具退出itemMap为空uid{}",user.getId());
return 1; return 1;
} }
@ -693,24 +694,25 @@ public class ItemUtil {
int itemId = entry.getKey(); int itemId = entry.getKey();
long itemNum = entry.getValue(); long itemNum = entry.getValue();
if (itemNum <= 0) { if (itemNum <= 0) {
LOGGER.info("掉落道具跳过itemNum数量错误uid{}itemid{}itemnum{}",user.getId(),itemId,itemNum);
continue; continue;
} }
SItem sItem = SItem.getsItemMap().get(itemId); SItem sItem = SItem.getsItemMap().get(itemId);
int id = sItem.getId(); int id = sItem.getId();
long itemNumlimit = sItem.getItemNumlimit(); long itemNumlimit = sItem.getItemNumlimit();
itemNum = Math.min(itemNum, itemNumlimit); itemNum = Math.min(itemNum, itemNumlimit);
int missingRoomItem = Global.MISSING_ROOM_ITEM;//道具寻龙钰
int baseReward = BIReason.ADVENTURE_BASE_REWARD;//挂机基础奖励
Item item = itemManager.getItem(itemId); Item item = itemManager.getItem(itemId);
if (item == null) { if (item == null) {
item = itemManager.newItem(itemId, itemNum); item = itemManager.newItem(itemId, itemNum);
} else { } else {
if (id == Global.MISSING_ROOM_ITEM && reason == BIReason.ADVENTURE_BASE_REWARD) { if (id == missingRoomItem && reason == baseReward) {
itemNumlimit = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getMazeTreasureMax(); itemNumlimit = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getMazeTreasureMax();
} }
if (item.getItemNum() > itemNumlimit) { if (item.getItemNum() > itemNumlimit) {
if (id == Global.MISSING_ROOM_ITEM && reason == BIReason.ADVENTURE_BASE_REWARD) { if (id == missingRoomItem && reason == baseReward) {
continue; continue;
} }
if (reason == BIReason.TAKE_MAIL_REWARD) { if (reason == BIReason.TAKE_MAIL_REWARD) {
@ -723,7 +725,7 @@ public class ItemUtil {
long num = item.getItemNum() + itemNum; long num = item.getItemNum() + itemNum;
if (num > itemNumlimit) { if (num > itemNumlimit) {
if (id == Global.MISSING_ROOM_ITEM && reason == BIReason.ADVENTURE_BASE_REWARD) { if (id == missingRoomItem && reason == baseReward) {
item.setItemNum(num); item.setItemNum(num);
} else { } else {
if (reason == BIReason.TAKE_MAIL_REWARD) { if (reason == BIReason.TAKE_MAIL_REWARD) {
@ -1542,6 +1544,9 @@ public class ItemUtil {
} }
private static void selectCost(int[][] costItems, Map<Integer, Integer> itemMap) { private static void selectCost(int[][] costItems, Map<Integer, Integer> itemMap) {
if (costItems == null){
return;
}
for (int[] costItem : costItems){ for (int[] costItem : costItems){
int itemId = costItem[0]; int itemId = costItem[0];
int itemNum = costItem[1]; int itemNum = costItem[1];