逍遥游修改

back_recharge
duhui 2022-08-16 14:59:43 +08:00
parent ed2bdf5e6d
commit 3df83ecad7
1 changed files with 38 additions and 23 deletions

View File

@ -183,7 +183,6 @@ public class JourneyMap {
clearByTime(user,mapId,pathInfo);//清除过期信息
if(pathInfo.getCurrentPath()>=pathInfo.getAllPathInfo().length){
init(user,mapId);
}
//地图格子信息
Arrays.stream(pathInfo.getAllPathInfo()).forEach(path->{
@ -360,16 +359,8 @@ public class JourneyMap {
//初始化转盘数组
pathInfo.setRandomReward(initRandom(travelConfig));
}
pathInfo.setRamainRandomAmount(pathInfo.getRamainRandomAmount()+1);
pathInfo.setRemainRandomTime((int)((TimeUtils.now()+TimeUtils.ONE_MINUTE* SSpecialConfig.getIntegerValue(SSpecialConfig.FREETRAVEL_EVENT_TIME))/1000));
List<Integer> rewardList = Arrays.stream(pathInfo.getRandomReward()).boxed().collect(Collectors.toList());
builder.addAllRandom(rewardList);
builder.setOverTime(pathInfo.getRemainRandomTime());
pathType = 6;
break;
case EventType.journeyBoss:
@ -386,19 +377,8 @@ public class JourneyMap {
hpMap.put(j,list.get(j-1));
}
monster.setRemainHp(hpMap);
long allHp =0;
for(Map.Entry<Integer,Long> hp:monster.getRemainHp().entrySet()){
allHp+=hp.getValue();
}
int monsterId = TimeUtils.nowInt();
pathInfo.addMonster(monsterId,monster);
builder.setMonster(CommonProto.JourneyMonsterInfo.newBuilder().setAttackNum(monster.getAttackNum())
.setMonsterHp(allHp)
.setMonsterId(monster.getMonsterId())
.setMonsterIndex(monsterId)
.setRemainTime(monster.getRemainTime())
.setRewardShow(monster.getReward()));
builder.setOverTime(monster.getRemainTime());
pathType = 5;
break;
case EventType.journeyStore:
@ -411,10 +391,7 @@ public class JourneyMap {
JourneyGoods journeyGoods = new JourneyGoods(goodsId, (int) ((TimeUtils.now()+TimeUtils.ONE_MINUTE* SSpecialConfig.getIntegerValue(SSpecialConfig.FREETRAVEL_EVENT_TIME)) / 1000));
int index = TimeUtils.nowInt();
pathInfo.addGoods(index,journeyGoods);
builder.setGoodsInfo(CommonProto.JourneyGoodsInfo.newBuilder().setGoodsId(goodsId).setGoodsIndex(index).setRemainTime(journeyGoods.getGoodsRemainTime()).build());
pathType = 4;
break;
case EventType.diceEvent:
pathType = 3;
@ -464,6 +441,44 @@ public class JourneyMap {
user.getMapManager().updateJourneyInfoByMapId(mapId,pathInfo);
ItemUtil.itemCost(user,map,BIReason.JOURNEY_DO_CONSUME,1);
//怪物信息
if(pathInfo.getMonsterMap()!=null&&pathInfo.getMonsterMap().size()>0){
pathInfo.getMonsterMap().forEach((k,v)->{
Map<Integer, Long> remainHp = v.getRemainHp();
long allHp = 0;
Collection<Long> values = remainHp.values();
for(long value:values){
allHp+=value;
}
CommonProto.JourneyMonsterInfo monsterInfo = CommonProto.JourneyMonsterInfo.newBuilder()
.setMonsterHp(allHp)
.setMonsterId(v.getMonsterId())
.setMonsterIndex(k)
.setRemainTime(v.getRemainTime())
.setAttackNum(v.getAttackNum())
.setRewardShow(v.getReward())
.build();
builder.addMonsterInfo(monsterInfo);
});
}
//转盘信息
if(pathInfo.getRandomReward()!=null&&pathInfo.getRandomReward().length>0&&pathInfo.getRemainRandomTime()>TimeUtils.nowInt()&&pathInfo.getRamainRandomAmount()>0){
List<Integer> rewardList = Arrays.stream(pathInfo.getRandomReward()).boxed().collect(Collectors.toList());
builder.addAllRandomItem(rewardList);
builder.setRandomTime(pathInfo.getRemainRandomTime());
builder.setRandomNum(pathInfo.getRamainRandomAmount());
}
// 商品信息
if(!pathInfo.getGoodsMap().isEmpty()){
for(Map.Entry<Integer,JourneyGoods> entry:pathInfo.getGoodsMap().entrySet()){
CommonProto.JourneyGoodsInfo info = CommonProto.JourneyGoodsInfo.newBuilder()
.setGoodsId(entry.getValue().getGoodsId())
.setRemainTime(entry.getValue().getGoodsRemainTime())
.setGoodsIndex(entry.getKey()).build();
builder.addGoodsInfo(info);
}
}
//消耗云游值任务
user.getUserMissionManager().onGameEvent(user, GameEvent.XIAOYAOYOU_CONSUME, MissionType.XIAOYAOYOU_CONSUME_NUM, consume[1]);
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);