Merge branch 'refs/heads/master_zzxx' into master_xiyou
commit
7ef3ff3439
|
|
@ -59,6 +59,7 @@ public class CarDelayFunction implements FunctionManager {
|
|||
LOGGER.error("跨服车迟斗法,发奖, key:{} 跨服分组 ={},锁状态:{},未获取到锁",lockKey, crossGroup, lock);
|
||||
return;
|
||||
}
|
||||
RedisUtil.getInstence().expireMills(lockKey, TimeUtils.ONE_HOUR);
|
||||
personRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(personRank.getCrossRedisKey(), "", 0, -1, false);
|
||||
guildRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(guildRank.getCrossRedisKey(), "", 0, -1, false);
|
||||
}else {
|
||||
|
|
|
|||
|
|
@ -234,10 +234,10 @@ public class EndExpeditionBattleRequest extends BaseHandler<Expedition.EndExpedi
|
|||
}
|
||||
CommonProto.Drop.Builder drop;
|
||||
if(nodeInfo.getType()==ExpeditionLogic.NODETYPE_GREED){
|
||||
drop = ItemUtil.drop(user,new int[]{STableManager.getConfig(SExpeditionSetting.class).get(1).getSpecialReward()},1, BIReason.EXPEDITION_DROP_REWARD);
|
||||
drop = ItemUtil.dropByGroup(user,new int[]{STableManager.getConfig(SExpeditionSetting.class).get(1).getSpecialReward()},1, BIReason.EXPEDITION_DROP_REWARD);
|
||||
}else{
|
||||
if(sExpeditionFloorConfig.getReward()!=null&&sExpeditionNodeConfig.getReward()!=0){
|
||||
drop = ItemUtil.drop(user, sExpeditionFloorConfig.getReward(),sExpeditionNodeConfig.getReward(), BIReason.EXPEDITION_DROP_REWARD);
|
||||
drop = ItemUtil.dropByGroup(user, sExpeditionFloorConfig.getReward(),sExpeditionNodeConfig.getReward(), BIReason.EXPEDITION_DROP_REWARD);
|
||||
}else {
|
||||
drop = CommonProto.Drop.newBuilder();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ public class GetShejiAwardRequestHandler extends BaseHandler<ActivityProto.GetSh
|
|||
activityType.sendActivityProgress(sessionByUid, null);
|
||||
int[] dropList = new int[1];
|
||||
dropList[0]=sGodSacrificeSetting.getTimeRewardGroup();
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropList,1, BIReason.SHEJI_ACTIVITY);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, dropList,1, BIReason.SHEJI_ACTIVITY);
|
||||
Poster.getPoster().dispatchEvent(new GetSheJiAwardEvent(uid));
|
||||
return ActivityProto.GetShejiAwardResponse.newBuilder().setDrop(drop).build();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ public class NewGeneralAttackHandler extends BaseHandler<ActivityProto.NewGenera
|
|||
// 当前类型奖励次数
|
||||
int v = (int) b / ints[0];
|
||||
dropList[0] = ints[1];
|
||||
ItemUtil.drop(user, dropList, drop, v, BIReason.NEW_GENERAL_ATTACK);
|
||||
ItemUtil.dropByGroup(user, dropList, drop, v, BIReason.NEW_GENERAL_ATTACK);
|
||||
}
|
||||
// 消耗道具
|
||||
PlayerLogic.getInstance().checkAndUpdate(user, proto.getPrivilageTypeId(),1);
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ public class TasuilingxiaoHandler extends BaseHandler<ActivityProto.Tasuilingxia
|
|||
}
|
||||
rank.addRank(uid,String.valueOf(proto.getActivityId()),lessBlood);
|
||||
}
|
||||
ItemUtil.drop(user,dropList.stream().mapToInt(Integer::intValue).toArray(),drop,1, BIReason.TA_SUI_LING_XIAO);
|
||||
ItemUtil.dropByGroup(user,dropList.stream().mapToInt(Integer::intValue).toArray(),drop,1, BIReason.TA_SUI_LING_XIAO);
|
||||
return ActivityProto.TasuilingxiaoResponse.newBuilder().setFightData(fightData).setDrop(drop).setDamageVal((int)lessBlood).build();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ public class CompareNumBonusHandler extends BaseHandler {
|
|||
}
|
||||
int[] dropList = new int[1];
|
||||
dropList[0] = reward[1];
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropList,1, BIReason.COMPARENUM_TOTAL_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, dropList,1, BIReason.COMPARENUM_TOTAL_REWARD);
|
||||
response.setDrop(drop);
|
||||
break;
|
||||
}
|
||||
|
|
@ -83,7 +83,7 @@ public class CompareNumBonusHandler extends BaseHandler {
|
|||
if (reward[0] == levelNum) {
|
||||
int[] dropList = new int[1];
|
||||
dropList[0] = reward[1];
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropList,1, BIReason.COMPARENUM_TOTAL_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, dropList,1, BIReason.COMPARENUM_TOTAL_REWARD);
|
||||
response.setDrop(drop);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public class ExplorerMapEventHandler extends BaseHandler<PlayerInfoProto.Explore
|
|||
.build();
|
||||
builder.setFightData(fightData);
|
||||
builder.setFightResult(fightResult.getResult());
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[]{exploreEventConfig.get(id).getRewardGroup()}, 1, BIReason.EXPLORE_EVENT_MONSTER);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, new int[]{exploreEventConfig.get(id).getRewardGroup()}, 1, BIReason.EXPLORE_EVENT_MONSTER);
|
||||
builder.setDrop(drop);
|
||||
if ((int) fightResult.getCheckResult()[0] == 1) {
|
||||
//user.getUserMissionManager().onGameEvent(user, GameEvent.EXPLORE, MissionType.EXPLORE_REPELMONSTER_NUM,1);
|
||||
|
|
@ -120,14 +120,14 @@ public class ExplorerMapEventHandler extends BaseHandler<PlayerInfoProto.Explore
|
|||
.build();
|
||||
builder.setFightData(fightData);
|
||||
builder.setFightResult((int) fightResult.getCheckResult()[0]);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[]{exploreEventConfig.get(id).getRewardGroup()}, 1, BIReason.EXPLORE_EVENT_MONSTER);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, new int[]{exploreEventConfig.get(id).getRewardGroup()}, 1, BIReason.EXPLORE_EVENT_MONSTER);
|
||||
builder.setDrop(drop);
|
||||
if ((int) fightResult.getCheckResult()[0] == 1) {
|
||||
//user.getUserMissionManager().onGameEvent(user, GameEvent.EXPLORE, MissionType.EXPLORE_REPELXINMO_NUM, 1);
|
||||
eventList.remove(index);
|
||||
}
|
||||
} else if (exploreEventConfig.get(id).getType() == 3) {
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[]{exploreEventConfig.get(id).getRewardGroup()}, 1, BIReason.EXPLORE_EVENT_BOX);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, new int[]{exploreEventConfig.get(id).getRewardGroup()}, 1, BIReason.EXPLORE_EVENT_BOX);
|
||||
builder.setDrop(drop);
|
||||
//user.getUserMissionManager().onGameEvent(user, GameEvent.EXPLORE, MissionType.EXPLORE_PICKYM_NUM, 1);
|
||||
eventList.remove(index);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class GetHardStageChapterRewardHandler extends BaseHandler<PlayerInfoProt
|
|||
HardStageLogic.getChapterReward(user,rewardStage,dropList);
|
||||
}
|
||||
}
|
||||
ItemUtil.drop(user,dropList.stream().mapToInt(Integer::intValue).toArray(),drop,1, BIReason.HARD_STAGE_GET);
|
||||
ItemUtil.dropByGroup(user,dropList.stream().mapToInt(Integer::intValue).toArray(),drop,1, BIReason.HARD_STAGE_GET);
|
||||
PlayerInfoProto.GetHardStageChapterRewardResponse.Builder response = PlayerInfoProto.GetHardStageChapterRewardResponse.newBuilder();
|
||||
response.setDrop(drop);
|
||||
MessageUtil.sendMessage(iSession, 1,MessageTypeProto.MessageType.HARD_STAGE_CHAPTER_REWARD_RESPONSE.getNumber(), response.build(), true);
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ public class StartHardStageRequestHandler extends BaseHandler<PlayerInfoProto.Ha
|
|||
int hardStageId = SHardStage.getStageIdByChapterAndSection(user.getHardStageManager().getCurChapter(), user.getHardStageManager().getCurNode());
|
||||
Poster.getPoster().dispatchEvent(new ShanHeSheJiTuStarEvent(iSession.getUid(), 1, hardStageId));
|
||||
|
||||
ItemUtil.drop(user, dropList.stream().mapToInt(Integer::intValue).toArray(), drop, 1, BIReason.HARD_STAGE_GET);
|
||||
ItemUtil.dropByGroup(user, dropList.stream().mapToInt(Integer::intValue).toArray(), drop, 1, BIReason.HARD_STAGE_GET);
|
||||
fightStartResponse.setDrop(drop);
|
||||
Map<Integer, HardStageChapter> chapt = user.getHardStageManager().getChapterMap(user);
|
||||
if (chapt != null) {
|
||||
|
|
|
|||
|
|
@ -433,7 +433,7 @@ public class JourneyMap {
|
|||
|
||||
Integer[] array = reward.toArray(new Integer[0]);
|
||||
int[] ints = Arrays.stream(array).mapToInt(Integer::intValue).toArray();
|
||||
drop = ItemUtil.drop(user,ints,1, BIReason.JOURNEY_COMMON_REWARD);
|
||||
drop = ItemUtil.dropByGroup(user,ints,1, BIReason.JOURNEY_COMMON_REWARD);
|
||||
builder.setDrop(drop);
|
||||
arrivePath.setMapPointId(0);
|
||||
user.getMapManager().updateJourneyInfoByMapId(mapId,pathInfo);
|
||||
|
|
@ -543,7 +543,7 @@ public class JourneyMap {
|
|||
MapInfoProto.JourneyFightResponse.Builder response =MapInfoProto.JourneyFightResponse.newBuilder();
|
||||
String combat_results = "失败";
|
||||
if(fightResult.getResult()==1){
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[]{monster.getReward()}, 1, BIReason.JOURNEY_FIGHT_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, new int[]{monster.getReward()}, 1, BIReason.JOURNEY_FIGHT_REWARD);
|
||||
response.setDrop(drop);
|
||||
pathInfo.removeMonster(bossIndex);
|
||||
|
||||
|
|
@ -630,7 +630,7 @@ public class JourneyMap {
|
|||
}else {
|
||||
pathInfo.setRandomReward(null);
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[]{reward}, 1, BIReason.JOURNEY_RANDOM_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, new int[]{reward}, 1, BIReason.JOURNEY_RANDOM_REWARD);
|
||||
response.setDrop(drop);
|
||||
response.setLocation(position);
|
||||
|
||||
|
|
|
|||
|
|
@ -823,7 +823,7 @@ public class MapLogic {
|
|||
MapMissionManager.updateMapMission(user, EventType.updatePonintEvent, pointId, pointId);
|
||||
CommonProto.Drop.Builder dropBuilder = null;
|
||||
if (sOptionConfig.getReward().length > 0) {
|
||||
dropBuilder = ItemUtil.drop(user, sOptionConfig.getReward(), 1, BIReason.MAP_EVENET_REWARD);
|
||||
dropBuilder = ItemUtil.dropByGroup(user, sOptionConfig.getReward(), 1, BIReason.MAP_EVENET_REWARD);
|
||||
}
|
||||
List<CommonProto.EventBehaviorValues> eventBehaviorValuesList = new ArrayList<>();
|
||||
for (int i = 0; i < sOptionConfig.getBehaviorTypeValues().length; i++) {
|
||||
|
|
@ -1303,7 +1303,7 @@ public class MapLogic {
|
|||
if (mission.getMissionInfo() != null) {
|
||||
checkMissionReturn.newEventId = mission.getMissionInfo();
|
||||
}
|
||||
checkMissionReturn.drop = ItemUtil.drop(user, sMissionEventsConfig.getReward(), 1, BIReason.MAP_MISSION_REWARD);
|
||||
checkMissionReturn.drop = ItemUtil.dropByGroup(user, sMissionEventsConfig.getReward(), 1, BIReason.MAP_MISSION_REWARD);
|
||||
int useTime = getUseTime(user);
|
||||
mission.setTime(useTime);
|
||||
CrossInfo crossInfo = user.getMapManager().getCrossInfoMap().get(mapManager.getCurMapId());
|
||||
|
|
@ -1526,7 +1526,7 @@ public class MapLogic {
|
|||
|
||||
SChallengeMapConfig sChallengeMapConfig = STableManager.getConfig(SChallengeMapConfig.class).get(mapId);
|
||||
for (int i = 0; i < count; i++) {
|
||||
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, sChallengeMapConfig.getSweepingAward(), 1, BIReason.MAP_SWEEP_REWARD);
|
||||
CommonProto.Drop.Builder dropBuilder = ItemUtil.dropByGroup(user, sChallengeMapConfig.getSweepingAward(), 1, BIReason.MAP_SWEEP_REWARD);
|
||||
mapSweepResponse.addDrop(dropBuilder);
|
||||
}
|
||||
Poster.getPoster().dispatchEvent(new StoryEvent(user.getId(), count));
|
||||
|
|
@ -1580,7 +1580,7 @@ public class MapLogic {
|
|||
.setResult(fightResult.getResult());
|
||||
if (fightResult.getResult() == 1) {
|
||||
SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(mapManager.getSuddenlyBoss());
|
||||
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1.0f, BIReason.SUDDENLY_REWARD);
|
||||
CommonProto.Drop.Builder dropBuilder = ItemUtil.dropByGroup(user, sMonsterGroup.getRewardgroup(), 1.0f, BIReason.SUDDENLY_REWARD);
|
||||
builderResponse.setEnventDrop(dropBuilder);
|
||||
mapManager.findSuddenlyBoss(0, 0);
|
||||
}
|
||||
|
|
@ -1755,7 +1755,7 @@ public class MapLogic {
|
|||
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE, build, true);
|
||||
// 打点,现在不用
|
||||
SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId);
|
||||
ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(), String.valueOf(fightId), "", sMainLevelConfig.getReward(), new Date());
|
||||
// ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(), String.valueOf(fightId), "", sMainLevelConfig.getReward(), new Date());
|
||||
// 奖励道具
|
||||
return ItemUtil.dropToPrivilege(user, sMainLevelConfig.getReward(), BIReason.LEVELDIFFICULTY_FIGHT_REWARD);
|
||||
}
|
||||
|
|
@ -2633,7 +2633,7 @@ public class MapLogic {
|
|||
if (!dailyPass.contains(id)) {
|
||||
throw new ErrorCodeException(ErrorCode.DAILY_ALREADY_PASS);
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sDailyChallengeConfig.getReward(), 1, 1);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sDailyChallengeConfig.getReward(), 1, 1);
|
||||
builder.setDrop(drop);
|
||||
consumeCount = true;
|
||||
} else if (type == 1) {
|
||||
|
|
@ -2686,7 +2686,7 @@ public class MapLogic {
|
|||
FightRecordLogic.getInstance().addRecordMap(user, fightData);
|
||||
|
||||
if (fightResult.getResult() > 0) {
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sDailyChallengeConfig.getReward(), 1, 1);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sDailyChallengeConfig.getReward(), 1, 1);
|
||||
builder.setDrop(drop);
|
||||
playerInfoManager.addDailyPass(id);
|
||||
} else {
|
||||
|
|
@ -3127,7 +3127,7 @@ public class MapLogic {
|
|||
killNum++;
|
||||
SEventPointConfig point = eventPointConfig.get(cell.getEventId());
|
||||
SMonsterGroup monsterGroup = SMonsterGroup.getsMonsterGroupMap().get(point.getOption()[0]);
|
||||
ItemUtil.drop(user, monsterGroup.getRewardgroup(), drop, 1, BIReason.MAP_FAST_FIGHT_REWARD);
|
||||
ItemUtil.dropByGroup(user, monsterGroup.getRewardgroup(), drop, 1, BIReason.MAP_FAST_FIGHT_REWARD);
|
||||
BehaviorUtil.destoryApointXY(user, cell.getCellId());
|
||||
}
|
||||
// 扫荡,boss,增加杀敌数量
|
||||
|
|
|
|||
|
|
@ -284,7 +284,7 @@ public class EndlessMap extends AbstractMap{
|
|||
// user.getUserMissionManager().onGameEvent(user,GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.ENDLESS_MONSTER_KILL);
|
||||
mapManager.removeEndlessOneMonsterHp(mapManager.getTriggerXY());
|
||||
SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(groupId);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, BIReason.MAP_FAST_FIGHT_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sMonsterGroup.getRewardgroup(), 1, BIReason.MAP_FAST_FIGHT_REWARD);
|
||||
fastFightResponseBuilder.setEnventDrop(drop.build());
|
||||
}
|
||||
mapManager.setLastFightResult(resultCode);
|
||||
|
|
@ -686,7 +686,7 @@ public class EndlessMap extends AbstractMap{
|
|||
mapManager.removeEndlessOneMonsterHp(mapManager.getCurXY());
|
||||
//血量更新
|
||||
// refreshHp(user, mapManager.getTeamId(),checkResult);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, BIReason.MAP_GENERAL_FIGHT_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sMonsterGroup.getRewardgroup(), 1, BIReason.MAP_GENERAL_FIGHT_REWARD);
|
||||
checkMoraleLevel(user);
|
||||
builder.setEnventDrop(drop.build());
|
||||
builder.setResult(resultCode);
|
||||
|
|
|
|||
|
|
@ -475,7 +475,7 @@ public class TowerMap extends AbstractMap {
|
|||
mapManager.updateTrialKillCount(trialInfo.getKillCount()+1);
|
||||
|
||||
SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(groupId);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, BIReason.MAP_FAST_FIGHT_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sMonsterGroup.getRewardgroup(), 1, BIReason.MAP_FAST_FIGHT_REWARD);
|
||||
fastFightResponseBuilder.setEnventDrop(drop.build());
|
||||
}else{
|
||||
List<Long> hpList= fightResult.getRemainHp();
|
||||
|
|
@ -646,7 +646,7 @@ public class TowerMap extends AbstractMap {
|
|||
mapManager.updateTrialKillCount(mapManager.getTrialInfo().getKillCount()+monsterAmount);
|
||||
|
||||
int[] bombReward = rewardResult.stream().mapToInt(Integer::valueOf).toArray();
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, bombReward, 1, BIReason.BOMB_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, bombReward, 1, BIReason.BOMB_REWARD);
|
||||
|
||||
mapManager.updateBombUseCount(mapManager.getTrialInfo().getBombUseTimes()+1);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public class GetPhoneRewardRequestHandler extends BaseHandler<PlayerInfoProto.Ge
|
|||
rewardIds[0] = reward;
|
||||
int uid = iSession.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user,rewardIds, 1, BIReason.BIND_PHONE);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user,rewardIds, 1, BIReason.BIND_PHONE);
|
||||
if(user.getPlayerInfoManager().getPhoneBindInfo().getState()!=1){
|
||||
throw new ErrorCodeException(ErrorCode.PHONE_GET);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ public class SituationLogic {
|
|||
if(!situationPass.containsKey(sRaceTowerConfig.getType())||situationPass.get(sRaceTowerConfig.getType())<id){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sRaceTowerConfig.getReward(), 1, BIReason.SITUATION_CHALLENGE_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sRaceTowerConfig.getReward(), 1, BIReason.SITUATION_CHALLENGE_REWARD);
|
||||
builder.setDrop(drop);
|
||||
|
||||
ReportUtil.dropToString(drop,dropResult);
|
||||
|
|
@ -266,7 +266,7 @@ public class SituationLogic {
|
|||
|
||||
//挑战成功
|
||||
if(fightResult.getResult()>0){
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sRaceTowerConfig.getFirstReward(), 1, BIReason.SITUATION_CHALLENGE_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sRaceTowerConfig.getFirstReward(), 1, BIReason.SITUATION_CHALLENGE_REWARD);
|
||||
builder.setDrop(drop);
|
||||
|
||||
// 埋点用的
|
||||
|
|
|
|||
|
|
@ -277,10 +277,13 @@ public class ActivityLogic implements IEventHandler{
|
|||
}
|
||||
|
||||
public void newPlayerOpenActivityMission(User user) throws Exception {
|
||||
long now = TimeUtils.now();
|
||||
checkActivityOfUser(user, null);
|
||||
LOGGER.info("初始化玩家活动耗时1:{}",TimeUtils.now() - now);
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
if (null != session)
|
||||
if (null != session) {
|
||||
sendLuckWheelPool(user, session);
|
||||
}
|
||||
}
|
||||
|
||||
public void checkNeedOpenStore(User user,int storeId,long startTime,long endTime) throws Exception {
|
||||
|
|
@ -347,7 +350,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
*/
|
||||
public Set<Integer> checkActivityOfUser(User user, PlayerInfoProto.ActivityUpateIndication.Builder builder) throws Exception {
|
||||
long now = TimeUtils.now();
|
||||
if(user==null){
|
||||
if(user == null){
|
||||
return new HashSet<>(1);
|
||||
}
|
||||
ActivityManager activityManager = user.getActivityManager();
|
||||
|
|
@ -466,6 +469,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
goRewardActivity(user, activityId, builder, isRemove);
|
||||
}
|
||||
}
|
||||
LOGGER.info("校验活动耗时,uid:{},耗时:{}",user.getId(), TimeUtils.now() - now);
|
||||
return openNewActivityIds;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ public enum ActivityTypeEnum {
|
|||
FABAO_BOOK_REWARD(ActivityType.FABAO_BOOK_REWARD,FabaoBookRewardActivity::new),//法宝图鉴宝箱
|
||||
DRAW_FABAO_LV_CHEST(ActivityType.DRAW_FABAO_LV_CHEST,DrawLvChestActivity::new),//抽卡等级宝箱
|
||||
TIAN_JIANG_GIFT(ActivityType.TIAN_JIANG_GIFT,DefaultEmptyActivity::new),//天降礼包
|
||||
DA_NAO_TIAN_GONG(ActivityType.DA_NAO_TIAN_GONG, ExpeditionActivity::new),//大闹天宫
|
||||
// DA_NAO_TIAN_GONG(ActivityType.DA_NAO_TIAN_GONG, ExpeditionActivity::new),//大闹天宫
|
||||
LINGLONG_BAOJING_TASK(ActivityType.LINGLONG_BAOJING_TASK, DefaultEmptyActivity::new),//玲珑宝镜任务
|
||||
NOVICE_GEM_CHEST(ActivityType.NOVICE_GEM_CHEST, GemChestActivity::new),//初级命石宝箱
|
||||
ADVANCED_GEM_CHEST(ActivityType.ADVANCED_GEM_CHEST, GemChestActivity::new),//高级命石宝箱
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ public class ArenaLogic {
|
|||
*/
|
||||
public void checkChallenge(User user, boolean ifUpdate) throws Exception {
|
||||
if (!user.getTeamPosManager().getTeamPosForHero().containsKey(TeamEnum.TEAM_ARENA_DEFENSE.getTeamId())) {
|
||||
throw new ErrorTableException(161);//编队未配置
|
||||
throw new ErrorTableException(189);//编队未配置
|
||||
}
|
||||
SArenaSetting sArenaSetting = SArenaSetting.getSArenaSetting();
|
||||
int battleFree = sArenaSetting.getBattleFree();
|
||||
|
|
@ -575,7 +575,7 @@ public class ArenaLogic {
|
|||
int reason = fightResult == 1 ? BIReason.ARENA_WIN_REWARD : BIReason.ARENA_LOSE_REWARD;
|
||||
int[] dropList = new int[1];
|
||||
dropList[0] = rewardGroupId;
|
||||
return ItemUtil.drop(user, dropList, 1, reason);
|
||||
return ItemUtil.dropByGroup(user, dropList, 1, reason);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ public class MainLevelManager extends MongoBase {
|
|||
private int upSoldierLvEndTime;//兵力升级结束时间
|
||||
private int soldierRestartTime;//小兵挂机开始时间
|
||||
private Map<Integer, Integer> soldierStateInfo = new HashMap<>();//小兵每关单独挂机时间
|
||||
private int soldierLowCount;// 小兵最低属性次数
|
||||
|
||||
public void init(){
|
||||
int nowInt = TimeUtils.nowInt();
|
||||
setStartTime(nowInt);
|
||||
|
|
@ -269,4 +271,18 @@ public class MainLevelManager extends MongoBase {
|
|||
this.soldierStateInfo.clear();
|
||||
updateString("soldierStateInfo",soldierStateInfo);
|
||||
}
|
||||
|
||||
public int getSoldierLowCount() {
|
||||
return soldierLowCount;
|
||||
}
|
||||
|
||||
public void setSoldierLowCount(int soldierLowCount) {
|
||||
this.soldierLowCount = soldierLowCount;
|
||||
updateString("soldierLowCount",soldierLowCount);
|
||||
}
|
||||
|
||||
public void addSoldierLowCount(int count) {
|
||||
this.soldierLowCount += count;
|
||||
updateString("soldierLowCount",soldierLowCount);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,13 +106,16 @@ public class UserManager {
|
|||
}
|
||||
|
||||
public static User userLogin(int uid,String openId,String channel,int pid,int gid,String platform,String ip,String channle_id,String bundle_id,String ccId,String pack_Id) throws Exception {
|
||||
long now = TimeUtils.now();
|
||||
User user;
|
||||
if (!UserManager.isUserExist(uid)){
|
||||
user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), uid, User.class);
|
||||
LOGGER.info("玩家登陆耗时2:{}",TimeUtils.now()-now);
|
||||
now = TimeUtils.now();
|
||||
if (user == null) {
|
||||
user = registerUser(uid,openId,channel,pid,gid,platform,ip,channle_id,bundle_id,ccId,pack_Id);
|
||||
LOGGER.info("玩家登陆耗时3:{}",TimeUtils.now()-now);
|
||||
}
|
||||
UserManager.addUser(user);
|
||||
}else{
|
||||
user = getUser(uid);
|
||||
user.getPlayerInfoManager().setGid(gid);
|
||||
|
|
@ -124,17 +127,22 @@ public class UserManager {
|
|||
|
||||
|
||||
private static User registerUser(int uid,String openId,String channel,int pid,int gid,String platform,String ip,String channle_id,String bundle_id,String ccId,String pack_Id) throws Exception {
|
||||
long now = TimeUtils.now();
|
||||
User user = new User(uid);
|
||||
UserManager.addUser(user);
|
||||
now = TimeUtils.now();
|
||||
initPlayer(user,openId,channel,pid,gid,platform,ip,channle_id,bundle_id,ccId,pack_Id);
|
||||
LOGGER.info("注册玩家耗时2:{}", TimeUtils.now() - now);
|
||||
now = TimeUtils.now();
|
||||
MongoUtil.getInstence().getMyMongoTemplate().save(user.getId(),user);
|
||||
LOGGER.info("注册玩家耗时3:{}", TimeUtils.now() - now);
|
||||
return user;
|
||||
}
|
||||
|
||||
private static void initPlayer(User user,String openId,String channel,int pid,int gid,String platform,String ip,String channle_id,String bundle_id,String ccId,String pack_Id) throws Exception {
|
||||
long now = TimeUtils.now();
|
||||
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
|
||||
PlayerManager playerManager = user.getPlayerInfoManager();
|
||||
long now = TimeUtils.now();
|
||||
playerManager.setNickName(Integer.toString(user.getId()));
|
||||
playerManager.setNameColor("F6E1B6");
|
||||
playerManager.setOpenId(openId);
|
||||
|
|
@ -185,19 +193,29 @@ public class UserManager {
|
|||
user.getUserMissionManager().onGameEvent(user, GameEvent.BEGINNER);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.VIP_LEVLUP, MissionType.VIP_LEVEL,0);
|
||||
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.LOGIN_TIMES.getType(),1));
|
||||
now = TimeUtils.now();
|
||||
ActivityLogic.getInstance().newPlayerOpenActivityMission(user);
|
||||
LOGGER.info("初始化玩家耗时11:{}", TimeUtils.now() - now);
|
||||
now = TimeUtils.now();
|
||||
Poster.getPoster().dispatchEvent(new EveryDayDiscountUnlockEvent(user.getId()));
|
||||
LOGGER.info("初始化玩家耗时12:{}", TimeUtils.now() - now);
|
||||
now = TimeUtils.now();
|
||||
ItemUtil.drop(user,gameSetting.getBornItem(), BIReason.USER_BORN_REWARD);
|
||||
LOGGER.info("初始化玩家耗时13:{}", TimeUtils.now() - now);
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
Map<String, Hero> heroMap = heroManager.getHeroMap();
|
||||
TeamPosManager teamPosManager = user.getTeamPosManager();
|
||||
List<Hero> teamHeros = new ArrayList<>(1);
|
||||
teamHeros.add(heroMap.values().iterator().next());
|
||||
teamPosManager.addTeamOfInitPlayer(teamHeros);
|
||||
now = TimeUtils.now();
|
||||
long force = HeroLogic.getInstance().calTeamTotalForce(user, 1);
|
||||
LOGGER.info("初始化玩家耗时15:{}", TimeUtils.now() - now);
|
||||
playerManager.setMaxForce(force);
|
||||
user.getExpeditionManager().setExpeditionLeve(1);
|
||||
now = TimeUtils.now();
|
||||
CrossServiceLogic.getInstance().saveBasicPlayerToRedis(user);//初始化角色
|
||||
LOGGER.info("初始化玩家耗时16:{}", TimeUtils.now() - now);
|
||||
ReportUtil.onReportEvent(user, ReportEventEnum.CREATE_ROLE.getType());//先发送注册事件
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,10 +8,14 @@ import com.ljsd.jieling.jbean.gm.GmActivityManager;
|
|||
import com.ljsd.jieling.logic.dao.*;
|
||||
import org.springframework.data.annotation.Transient;
|
||||
import org.springframework.data.mongodb.core.index.CompoundIndex;
|
||||
import org.springframework.data.mongodb.core.index.CompoundIndexes;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
@Document
|
||||
@CompoundIndex(def = "{'playerManager.level' : 1, 'playerManager.loginTime': 1}", name = "level_loginTime_idx")
|
||||
@CompoundIndexes({
|
||||
@CompoundIndex(name = "unique_id", def = "{'_id': 1}"),
|
||||
@CompoundIndex(name = "level_loginTime_idx", def = "{'playerManager.level' : 1, 'playerManager.loginTime': 1}")
|
||||
})
|
||||
public class User {
|
||||
|
||||
public static final String _COLLECTION_NAME = "user";
|
||||
|
|
|
|||
|
|
@ -304,10 +304,10 @@ public class GuildChallengeLogic {
|
|||
}
|
||||
}
|
||||
|
||||
drop = ItemUtil.drop(user, new int[]{config.getReward(),config.getKillReward()}, 1, 1);
|
||||
drop = ItemUtil.dropByGroup(user, new int[]{config.getReward(),config.getKillReward()}, 1, 1);
|
||||
|
||||
}else{
|
||||
drop = ItemUtil.drop(user, new int[]{config.getReward()}, 1, 1);
|
||||
drop = ItemUtil.dropByGroup(user, new int[]{config.getReward()}, 1, 1);
|
||||
}
|
||||
int remainHp;
|
||||
if(guildInfo.getBossHpRemain()==0){
|
||||
|
|
|
|||
|
|
@ -1097,8 +1097,8 @@ public class GuildFightLogic {
|
|||
SGuildBossRewardConfig sGuildBossRewardConfig = SGuildBossRewardConfig.getIndexByHurt(myHurt);
|
||||
|
||||
int[] randomGroupIds = MathUtils.randomFromWeight(sGuildBossRewardConfig.getRandomRewardAllGroup());
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sGuildBossRewardConfig.getReward(), 1, BIReason.GUILD_BOSS_FIGHT_BASE_REWARD);
|
||||
CommonProto.Drop.Builder raadomDrop = ItemUtil.drop(user, randomGroupIds, 1, BIReason.GUILD_BOSS_FIGHT_RANDOM_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sGuildBossRewardConfig.getReward(), 1, BIReason.GUILD_BOSS_FIGHT_BASE_REWARD);
|
||||
CommonProto.Drop.Builder raadomDrop = ItemUtil.dropByGroup(user, randomGroupIds, 1, BIReason.GUILD_BOSS_FIGHT_RANDOM_REWARD);
|
||||
|
||||
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder();
|
||||
fightEndResponse.setEnventDrop(drop);
|
||||
|
|
@ -1125,8 +1125,8 @@ public class GuildFightLogic {
|
|||
CommonProto.FightData fightDataProto = CommonProto.FightData.parseFrom(fightData);
|
||||
SGuildBossRewardConfig sGuildBossRewardConfig = SGuildBossRewardConfig.getIndexByHurt(lastHurt);
|
||||
int[] randomGroupIds = MathUtils.randomFromWeight(sGuildBossRewardConfig.getRandomRewardAllGroup());
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sGuildBossRewardConfig.getReward(), 1, BIReason.GUILD_BOSS_FIGHT_BASE_REWARD);
|
||||
CommonProto.Drop.Builder raadomDrop = ItemUtil.drop(user, randomGroupIds, 1, BIReason.GUILD_BOSS_FIGHT_RANDOM_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, sGuildBossRewardConfig.getReward(), 1, BIReason.GUILD_BOSS_FIGHT_BASE_REWARD);
|
||||
CommonProto.Drop.Builder raadomDrop = ItemUtil.dropByGroup(user, randomGroupIds, 1, BIReason.GUILD_BOSS_FIGHT_RANDOM_REWARD);
|
||||
FightInfoProto.SweepRightResponse build = FightInfoProto.SweepRightResponse.newBuilder().setDrop(drop).setRandomDrop(raadomDrop).setFightData(fightDataProto).setHurt(lastHurt).build();
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.SWEEP_RIGHT_RESPONSE_VALUE,build, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -277,11 +277,11 @@ public class CombatLogic {
|
|||
}
|
||||
}
|
||||
}
|
||||
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.combineRewardGroupByMainLine(user,false, mainLevelConfig.getRandomRewardMin(), times,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineRewardGroupByMainLine(user,true, mainLevelConfig.getRandomReward(), times,itemRandomObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
// 小兵关卡
|
||||
SSoldierStageConfig stageConfig = SSoldierStageConfig.idMap.get(mainLevelManager.getSoldierLayerId());
|
||||
ItemUtil.combineRewardByMainLine(user,false, stageConfig.getRandomRewardMin(), times,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineRewardGroupByMainLine(user,false, stageConfig.getRandomRewardMin(), times,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
|
||||
itemRandomObj.setEquipMap(equipAutoCombine(itemRandomObj.getEquipMap()));
|
||||
//清除无用活动道具
|
||||
|
|
@ -639,11 +639,11 @@ public class CombatLogic {
|
|||
String title = SErrorCodeEerverConfig.getI18NMessage("adventuren_boss_find_reward_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("adventuren_boss_find_reward__txt");
|
||||
if (findRewardgroup != null) {
|
||||
String findRewardMail = ItemUtil.getMailReward(findUser,findRewardgroup, 1.0f);
|
||||
String findRewardMail = ItemUtil.getMailRewardByGroup(findUser,findRewardgroup, 1.0f);
|
||||
MailLogic.getInstance().sendMail(findUserId,title,content,findRewardMail,nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
}
|
||||
User killUser = UserManager.getUser(killUid);
|
||||
String killRewardMail = ItemUtil.getMailReward(killUser,killReward, 1.0f);
|
||||
String killRewardMail = ItemUtil.getMailRewardByGroup(killUser,killReward, 1.0f);
|
||||
title = SErrorCodeEerverConfig.getI18NMessage("adventuren_boss_kill_reward_title");
|
||||
content = SErrorCodeEerverConfig.getI18NMessage("adventuren_boss_kill_reward__txt");
|
||||
MailLogic.getInstance().sendMail(killUid,title,content,killRewardMail,nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
|
|
@ -966,13 +966,13 @@ public class CombatLogic {
|
|||
getSoldierBaseReward(baseList);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
ItemMap itemRandom = new ItemMap();
|
||||
ItemUtil.combineRewardByMainLineNotCycle(user,true,baseList,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineRewardGroupByMainLineNotCycle(user,true,baseList,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
if (viewBaseReward){
|
||||
myResult = true;
|
||||
rewardStr = ItemUtil.getReward(itemObj);
|
||||
return this;
|
||||
}
|
||||
ItemUtil.combineRewardByMainLineNotCycle(user, false, randomList,itemRandom,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
ItemUtil.combineRewardGroupByMainLineNotCycle(user, false, randomList,itemRandom,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
//装备合成
|
||||
itemRandom.setEquipMap(equipAutoCombine(itemRandom.getEquipMap()));
|
||||
removeNoUseItem(user,itemRandom.getItemMap());
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ public class DuoduiTowerLogic {
|
|||
}
|
||||
if (!verifyTeam(type, user)) {
|
||||
LOGGER.error("队伍存在空阵容,类型:{},当前层数:{},要挑战层数:{},uid:{}", type, rankTier, tier, user.getId());
|
||||
throw new ErrorTableException(187);
|
||||
throw new ErrorTableException(187);//编队为空
|
||||
}
|
||||
for (SDuoDuiTower tower : towers) {
|
||||
PVEFightEvent pveFightEvent = new PVEFightEvent(user.getId(), tower.getTowerWaveTeam(), 20, GameFightType.DuoduiFight, tower.getId());
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ public class HardStageLogic {
|
|||
* 获取奖励
|
||||
*/
|
||||
public static CommonProto.Drop.Builder getReward(User user, int rewardId) throws Exception {
|
||||
return ItemUtil.drop(user, new int[]{rewardId}, 1, BIReason.HARD_STAGE_GET);
|
||||
return ItemUtil.dropByGroup(user, new int[]{rewardId}, 1, BIReason.HARD_STAGE_GET);
|
||||
}
|
||||
|
||||
private static boolean addDropAndStar(HardStageNode node, List<Integer> dropList, int rewardGroupId) {
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ public class ItemLogic {
|
|||
if (!result) {
|
||||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, BIReason.DECOMPOS_ITEM_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, StringUtil.parseFiledInt(reward.toString()), 1, BIReason.DECOMPOS_ITEM_REWARD);
|
||||
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
||||
}
|
||||
|
||||
|
|
@ -184,7 +184,7 @@ public class ItemLogic {
|
|||
if (!result) {
|
||||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, BIReason.USER_ITEM);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, StringUtil.parseFiledInt(reward.toString()), 1, BIReason.USER_ITEM);
|
||||
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
||||
}
|
||||
|
||||
|
|
@ -277,11 +277,11 @@ public class ItemLogic {
|
|||
SMainLevelConfig targetMainLevelConfig = mainLevelConfigMap.get(mainLevelManager.getFightId());
|
||||
int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin();
|
||||
int[] randomReward = targetMainLevelConfig.getRandomReward();
|
||||
ItemUtil.combineRewardByMainLine(user, false, randomRewardMin, dropRatio, itemObj, BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineRewardByMainLine(user, true, randomReward, dropRatio, itemObj, BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
ItemUtil.combineRewardGroupByMainLine(user, false, randomRewardMin, dropRatio, itemObj, BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineRewardGroupByMainLine(user, true, randomReward, dropRatio, itemObj, BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
// 小兵关卡
|
||||
SSoldierStageConfig stageConfig = idMap.get(mainLevelManager.getSoldierLayerId());
|
||||
ItemUtil.combineRewardByMainLine(user, false, stageConfig.getRandomRewardMin(), dropRatio, itemObj, BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineRewardGroupByMainLine(user, false, stageConfig.getRandomRewardMin(), dropRatio, itemObj, BIReason.ADVENTURE_BASE_REWARD);
|
||||
|
||||
if (itemObj.getItemMap().containsKey(itemId)) {
|
||||
dropArr[index][0] = itemId;
|
||||
|
|
@ -326,7 +326,7 @@ public class ItemLogic {
|
|||
}
|
||||
SItem sItem = SItem.getsItemMap().get(item.getItemId());
|
||||
num += (int) item.getItemNum();
|
||||
ItemUtil.combineReward(user, true, sItem.getRewardGroup(), 1f, itemObj, 0);
|
||||
ItemUtil.combineRewardByGroup(user, true, sItem.getRewardGroup(), 1f, itemObj, 0);
|
||||
}
|
||||
int[][] costItemArr = StringUtil.parseFiledInt2(cost.toString());
|
||||
long mapNum = ItemUtil.getMapById(itemId, itemObj);
|
||||
|
|
@ -371,7 +371,7 @@ public class ItemLogic {
|
|||
reward.append("#").append(sItem.getResolveReward());
|
||||
}
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, BIReason.DECOMPOS_EQUIP_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, StringUtil.parseFiledInt(reward.toString()), 1, BIReason.DECOMPOS_EQUIP_REWARD);
|
||||
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
||||
}
|
||||
|
||||
|
|
@ -419,7 +419,7 @@ public class ItemLogic {
|
|||
user.getEquipManager().removeEquip(jewelId);
|
||||
}
|
||||
// 奖励组
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, BIReason.JEWEL_DECOMPOSE);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, StringUtil.parseFiledInt(reward.toString()), 1, BIReason.JEWEL_DECOMPOSE);
|
||||
// 直接的奖励
|
||||
ItemUtil.drop(user, items, drop, BIReason.JEWEL_DECOMPOSE);
|
||||
// 协议返回
|
||||
|
|
|
|||
|
|
@ -746,7 +746,7 @@ public class MissionLoigc {
|
|||
throw new ErrorCodeException(ErrorCode.newDefineCode("had taked reward"));
|
||||
}
|
||||
int rewardGroup = STableManager.getConfig(SBloodyBattleTask.class).get(missionId).getRewardGroup();
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[]{rewardGroup}, 1.0f, BIReason.TAKE_MISSION_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, new int[]{rewardGroup}, 1.0f, BIReason.TAKE_MISSION_REWARD);
|
||||
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
|
||||
ReportUtil.onReportEvent(user, ReportEventEnum.MISSION_COMPLETE.getType(),missionId,GameMisionType.BLOODYMISSION.toString());
|
||||
|
|
@ -769,7 +769,7 @@ public class MissionLoigc {
|
|||
}
|
||||
takeCopyMisionRewards.add(missionId);
|
||||
user.getMapManager().setTakeCopyMisionRewards(takeCopyMisionRewards);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, STableManager.getConfig(SAccomplishmentConfig.class).get(missionId).getReward(), 1, BIReason.TAKE_COPY_REWARD);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropByGroup(user, STableManager.getConfig(SAccomplishmentConfig.class).get(missionId).getReward(), 1, BIReason.TAKE_COPY_REWARD);
|
||||
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
|
||||
KtEventUtils.onKtEvent(user, ParamEventBean.UserTaskEvent,type,missionId);
|
||||
|
|
|
|||
|
|
@ -1110,7 +1110,7 @@ public class PlayerLogic {
|
|||
}
|
||||
String title = sTestWelfare.gettitle();
|
||||
String content = sTestWelfare.getvalue();
|
||||
String mailReward = ItemUtil.getMailReward(user, sTestWelfare.getReward(), 1.0f);
|
||||
String mailReward = ItemUtil.getMailRewardByGroup(user, sTestWelfare.getReward(), 1.0f);
|
||||
MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, (int) (System.currentTimeMillis() / 1000), Global.MAIL_EFFECTIVE_TIME);
|
||||
|
||||
timingMailIds.add(sTestWelfare.getId());
|
||||
|
|
|
|||
|
|
@ -62,9 +62,6 @@ public class RankLogic {
|
|||
LOGGER.info("获取排行榜信息type={},activityId={}",type,activityId);
|
||||
String rkey = activityId==0 ? "" : String.valueOf(activityId);
|
||||
int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup();
|
||||
if (crossGroup < 0){
|
||||
LOGGER.error("服务器验证未跨服,跨服id:{}",crossGroup);
|
||||
}
|
||||
PlayerInfoProto.RankResponse rankResponse;
|
||||
AbstractRank rank = RankContext.getRankEnum(type);
|
||||
if(RankContext.isCrossRank(type) && isCross == 1 && crossGroup > 0){//跨服
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import com.ljsd.jieling.util.ItemUtil;
|
|||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import com.ljsd.jieling.util.ToolsUtil;
|
||||
import config.*;
|
||||
import org.apache.commons.lang3.RandomUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import rpc.protocols.CommonProto;
|
||||
|
|
@ -159,6 +160,35 @@ public class SoldierLogic {
|
|||
if (lotteryConfig == null){
|
||||
throw new ErrorCodeException(ErrorCode.CFG_NULL);//配置不存在
|
||||
}
|
||||
Soldier soldier = null;
|
||||
int lowCount = mainLevelManager.getSoldierLowCount();//be
|
||||
int maxNumber = SSpecialConfig.getIntegerValue("Soldiers_Lottery_Maxnumber");
|
||||
if (lowCount >= maxNumber){
|
||||
// 特殊招募
|
||||
soldier = specialRecruitSoldier(user);
|
||||
}
|
||||
if (soldier == null){
|
||||
// 普通招募
|
||||
soldier = usuallyRecruitSoldier(user);
|
||||
}
|
||||
// 消耗
|
||||
ItemUtil.itemCost(user, new int[][]{lotteryCost}, BIReason.SOLDIER_LOTTERY_COST, 0);
|
||||
// 获得
|
||||
mainLevelManager.updateSoldier(soldier);
|
||||
|
||||
CommonProto.Soldier soldierProto = CBean2Proto.getSoldierProto(soldier);
|
||||
MapInfoProto.RecruitSoldierResponse.Builder builder = MapInfoProto.RecruitSoldierResponse.newBuilder().setSoldier(soldierProto);
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.RecruitSoldierResponse_VALUE, builder.build(), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 普通招募小兵
|
||||
* @param user 用户
|
||||
* @return 小兵
|
||||
*/
|
||||
public Soldier usuallyRecruitSoldier(User user){
|
||||
int soldierLv = user.getMainLevelManager().getSoldierLv();
|
||||
SSoldiersLotteryConfig lotteryConfig = SSoldiersLotteryConfig.levelMap.get(soldierLv);
|
||||
int[] soldierType = lotteryConfig.getSoldierType();
|
||||
Random random = new Random();
|
||||
int typeIndex = random.nextInt(soldierType.length);
|
||||
|
|
@ -193,14 +223,73 @@ public class SoldierLogic {
|
|||
soldier.setLevel(level);
|
||||
soldier.setPosition(-1);
|
||||
soldier.setAttributes(attributes);
|
||||
// 消耗
|
||||
ItemUtil.itemCost(user, new int[][]{lotteryCost}, BIReason.SOLDIER_LOTTERY_COST, 0);
|
||||
// 获得
|
||||
mainLevelManager.updateSoldier(soldier);
|
||||
|
||||
CommonProto.Soldier soldierProto = CBean2Proto.getSoldierProto(soldier);
|
||||
MapInfoProto.RecruitSoldierResponse.Builder builder = MapInfoProto.RecruitSoldierResponse.newBuilder().setSoldier(soldierProto);
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.RecruitSoldierResponse_VALUE, builder.build(), true);
|
||||
return soldier;
|
||||
}
|
||||
|
||||
/**
|
||||
* 特殊小兵招募返回
|
||||
* @param user 用户
|
||||
* @return 小兵信息
|
||||
*/
|
||||
public Soldier specialRecruitSoldier(User user){
|
||||
MainLevelManager manager = user.getMainLevelManager();
|
||||
int size = manager.getSoldierMap().values().size();
|
||||
if (size == 0){
|
||||
LOGGER.error("特殊次数招募小兵退出,玩家当前没有小兵, uid:{}, size:{}",user.getId(), size);
|
||||
return null;
|
||||
}
|
||||
int[] randomIntS = new int[size];
|
||||
int index = 0;
|
||||
for (Soldier value : manager.getSoldierMap().values()) {
|
||||
randomIntS[index] = value.getPosition();
|
||||
index++;
|
||||
}
|
||||
int i = RandomUtils.nextInt(0, size);
|
||||
Soldier soldier = manager.getSoldier(randomIntS[i]);
|
||||
if (soldier == null){
|
||||
LOGGER.error("特殊次数招募小兵退出,随机的位置没有小兵, uid:{}, position:{}",user.getId(), randomIntS[i]);
|
||||
return null;
|
||||
}
|
||||
SSoldiersSetting setting = SSoldiersSetting.idMap.get(soldier.getId());
|
||||
if (setting == null){
|
||||
LOGGER.error("特殊次数招募小兵退出,小兵id在SoldiersSetting表找不到, uid:{}, id:{}",user.getId(), soldier.getId());
|
||||
return null;
|
||||
}
|
||||
SSoldiersLevelConfig levelConfig = SSoldiersLevelConfig.libForLevelMap.get(setting.getSoldiers()).get(soldier.getLevel());
|
||||
if (levelConfig == null){
|
||||
LOGGER.error("特殊次数招募小兵退出,小兵信息在SoldiersLevelConfig表找不到, uid:{}, libraryId:{}, level:{}",user.getId(), setting.getSoldiers(), soldier.getLevel());
|
||||
return null;
|
||||
}
|
||||
// 最大属性
|
||||
HashMap<Integer, Long> maxAttrMap = new HashMap<>();
|
||||
for (int[] ints : levelConfig.getProperty()) {
|
||||
maxAttrMap.put(ints[0], (long) (ints[1] * (setting.getSoldierProperty()[1]/10000D)));
|
||||
}
|
||||
// 属性
|
||||
HashMap<Integer, Long> attributes = new HashMap<>();
|
||||
for (Map.Entry<Integer, Long> entry : soldier.getAttributes().entrySet()) {
|
||||
int id = entry.getKey();
|
||||
long value = entry.getValue();
|
||||
Long maxValue = maxAttrMap.getOrDefault(id, 0L);
|
||||
// 不到最大属性值,则随机增加
|
||||
if (maxValue != 0 && value < maxValue){
|
||||
attributes.put(id, value+1);
|
||||
}else {
|
||||
attributes.put(id, value);
|
||||
}
|
||||
}
|
||||
// 封装
|
||||
Soldier resultSoldier = new Soldier();
|
||||
resultSoldier.setId(soldier.getId());
|
||||
resultSoldier.setType(soldier.getType());
|
||||
resultSoldier.setQuality(soldier.getQuality());
|
||||
resultSoldier.setLevel(soldier.getLevel());
|
||||
resultSoldier.setPosition(-1);
|
||||
resultSoldier.setAttributes(attributes);
|
||||
// 清零特殊次数
|
||||
manager.setSoldierLowCount(0);
|
||||
return resultSoldier;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -235,6 +324,8 @@ public class SoldierLogic {
|
|||
}
|
||||
soldier.setPosition(position);
|
||||
soldierMap.put(position, soldier);
|
||||
// 清零特殊次数
|
||||
mainLevelManager.addSoldierLowCount(0);
|
||||
}
|
||||
// 自动遣散或者遣散
|
||||
int autoLayOff = proto.getAutoLayOff();
|
||||
|
|
@ -249,6 +340,8 @@ public class SoldierLogic {
|
|||
builder.setDrop(drop);
|
||||
// 删除待招募区小兵
|
||||
soldierMap.remove(notUsePosition);
|
||||
// 记录遣散次数
|
||||
mainLevelManager.addSoldierLowCount(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -276,7 +369,7 @@ public class SoldierLogic {
|
|||
}
|
||||
boolean levelOpen = MapLogic.getInstance().checkMainLevelOpen(user, stageConfig.getOpenRule());
|
||||
if (!levelOpen){
|
||||
throw new ErrorTableException(162);//关卡条件不满足
|
||||
throw new ErrorTableException(188);//关卡条件不满足
|
||||
}
|
||||
|
||||
int teamId = TeamEnum.MIAN_LINE_TEAM.getTeamId();
|
||||
|
|
@ -307,8 +400,11 @@ public class SoldierLogic {
|
|||
mainLevelManager.setSoldierLayerId(stageConfig.getNextId());
|
||||
mainLevelManager.putSoldierState(stageConfig.getId(), TimeUtils.nowInt());
|
||||
// 通关奖励
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, stageConfig.getReward(), 1, BIReason.SOLDIER_MIAN_LEVEL_REWARD);
|
||||
builder.setDrop(drop);
|
||||
int[][] reward = stageConfig.getReward();
|
||||
if (reward != null && reward.length > 0){
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, 1, BIReason.SOLDIER_MIAN_LEVEL_REWARD);
|
||||
builder.setDrop(drop);
|
||||
}
|
||||
builder.setResult(1);
|
||||
// 排行榜
|
||||
AbstractRank rank = RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType());
|
||||
|
|
|
|||
|
|
@ -215,7 +215,10 @@ public class BuyGoodsNewLogic {
|
|||
// 单笔充值
|
||||
Poster.getPoster().dispatchEvent(new SingleRechargeEvent(user.getId(),amount));
|
||||
}
|
||||
// rmb充值
|
||||
// gm购买支付
|
||||
else if (orderId.equals(gm_modifier)){
|
||||
}
|
||||
// rmb支付 , test支付, 扶持支付
|
||||
else{
|
||||
// 记录真实充值
|
||||
user.getPlayerInfoManager().getNewRechargeInfo().addRealityRmb(amount);
|
||||
|
|
|
|||
|
|
@ -178,14 +178,13 @@ public class ItemUtil {
|
|||
}
|
||||
return dropBuilder;
|
||||
}
|
||||
|
||||
//活动额外掉落
|
||||
public static void activityDrop(User user,CommonProto.Drop.Builder dropBuilder ,int[] dropGroupIds, float dropRatio,int reason) throws Exception {
|
||||
ItemMap itemObj = new ItemMap();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
|
||||
mapToAdd(user,itemObj,dropBuilder,reason);
|
||||
}
|
||||
|
||||
|
||||
// public static void activityDrop(User user,CommonProto.Drop.Builder dropBuilder ,int[] dropGroupIds, float dropRatio,int reason) throws Exception {
|
||||
// ItemMap itemObj = new ItemMap();
|
||||
// combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
|
||||
// mapToAdd(user,itemObj,dropBuilder,reason);
|
||||
// }
|
||||
|
||||
private static void combineRewardDropGroup(User user, int[] dropGroupIds, float dropRatio,ItemMap itemObj) throws ErrorCodeException{
|
||||
for (int dropGroupId : dropGroupIds) {
|
||||
|
|
@ -206,20 +205,20 @@ public class ItemUtil {
|
|||
}
|
||||
|
||||
//掉落组概率
|
||||
public static CommonProto.Drop.Builder drop(User user, Map<int [],Float> dropGroupAndRatioMap,int reason) throws Exception {
|
||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||
for (Map.Entry<int [],Float> entry :dropGroupAndRatioMap.entrySet()){
|
||||
int[] dropGroupIds = entry.getKey();
|
||||
float dropRatio = entry.getValue();
|
||||
activityDrop(user,dropBuilder,dropGroupIds,dropRatio,reason);
|
||||
}
|
||||
return dropBuilder;
|
||||
}
|
||||
// public static CommonProto.Drop.Builder drop(User user, Map<int [],Float> dropGroupAndRatioMap,int reason) throws Exception {
|
||||
// CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||
// for (Map.Entry<int [],Float> entry :dropGroupAndRatioMap.entrySet()){
|
||||
// int[] dropGroupIds = entry.getKey();
|
||||
// float dropRatio = entry.getValue();
|
||||
// activityDrop(user,dropBuilder,dropGroupIds,dropRatio,reason);
|
||||
// }
|
||||
// return dropBuilder;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 掉落
|
||||
*/
|
||||
public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds, float dropRatio, int reason) throws Exception {
|
||||
public static CommonProto.Drop.Builder dropByGroup(User user, int[] dropGroupIds, float dropRatio, int reason) throws Exception {
|
||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||
ItemMap itemObj = new ItemMap();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
|
||||
|
|
@ -230,16 +229,17 @@ public class ItemUtil {
|
|||
/**
|
||||
* 掉落 走特权
|
||||
*/
|
||||
public static CommonProto.Drop.Builder dropToPrivilege(User user, int[] dropGroupIds, int reason) throws Exception {
|
||||
public static CommonProto.Drop.Builder dropToPrivilege(User user, int[][] dropIds, int reason) throws Exception {
|
||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||
ItemMap itemObj = new ItemMap();
|
||||
combineRewardDropGroup(user, dropGroupIds, 1,itemObj);
|
||||
selectItemArr(dropIds,itemObj);
|
||||
// combineRewardDropGroup(user, dropIds, 1,itemObj);
|
||||
privilegeAddToMainLevelChallenge(user, itemObj);
|
||||
mapToAdd(user,itemObj,dropBuilder,reason);
|
||||
return dropBuilder;
|
||||
}
|
||||
|
||||
public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds, CommonProto.Drop.Builder dropBuilder, float dropRatio, int reason) throws Exception {
|
||||
public static CommonProto.Drop.Builder dropByGroup(User user, int[] dropGroupIds, CommonProto.Drop.Builder dropBuilder, float dropRatio, int reason) throws Exception {
|
||||
ItemMap itemObj = new ItemMap();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
|
||||
mapToAdd(user,itemObj,dropBuilder,reason);
|
||||
|
|
@ -261,7 +261,7 @@ public class ItemUtil {
|
|||
/**
|
||||
* 获取奖励 根据邮件
|
||||
*/
|
||||
public static String getMailReward (User user,int[] dropGroupIds,float dropRatio) throws Exception {
|
||||
public static String getMailRewardByGroup(User user, int[] dropGroupIds, float dropRatio) throws Exception {
|
||||
ItemMap itemObj = new ItemMap();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
|
||||
return getReward(itemObj);
|
||||
|
|
@ -292,7 +292,7 @@ public class ItemUtil {
|
|||
}
|
||||
|
||||
|
||||
public static void combineReward(User user,boolean isLoop,int[] dropGroupIds,float dropRatio,ItemMap itemObj,int reason)throws ErrorCodeException{
|
||||
public static void combineRewardByGroup(User user, boolean isLoop, int[] dropGroupIds, float dropRatio, ItemMap itemObj, int reason)throws ErrorCodeException{
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
|
||||
if(!isLoop){
|
||||
extraAddItem(user,itemObj.getItemMap(),reason);
|
||||
|
|
@ -302,7 +302,7 @@ public class ItemUtil {
|
|||
/**
|
||||
* 主线挂机奖励
|
||||
*/
|
||||
public static void combineRewardByMainLine(User user, boolean fiexdOrRandom, int[] dropGroupIds, int time, ItemMap itemObj, int reason) throws ErrorCodeException{
|
||||
public static void combineRewardGroupByMainLine(User user, boolean fiexdOrRandom, int[] dropGroupIds, int time, ItemMap itemObj, int reason) throws ErrorCodeException{
|
||||
combineReward(user, fiexdOrRandom, dropGroupIds, time, itemObj);
|
||||
// 特权加成奖励
|
||||
extraAddItem(user,itemObj.getItemMap(),reason);
|
||||
|
|
@ -311,7 +311,7 @@ public class ItemUtil {
|
|||
/**
|
||||
* 主线挂机奖励,避免循环 挂机走redis
|
||||
*/
|
||||
public static void combineRewardByMainLineNotCycle(User user, boolean fiexdOrRandom, List<int[][]> groupList, ItemMap itemObj, int reason) throws ErrorCodeException{
|
||||
public static void combineRewardGroupByMainLineNotCycle(User user, boolean fiexdOrRandom, List<int[][]> groupList, ItemMap itemObj, int reason) throws ErrorCodeException{
|
||||
for (int[][] list : groupList) {
|
||||
int[] groups = list[0];
|
||||
if (groups == null){
|
||||
|
|
@ -1593,7 +1593,7 @@ public class ItemUtil {
|
|||
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
|
||||
if (!dropIds.toString().isEmpty()){
|
||||
int[] ints = StringUtil.parseFiledInt(dropIds.toString());
|
||||
drop = ItemUtil.drop(user, ints, 1, reason);
|
||||
drop = ItemUtil.dropByGroup(user, ints, 1, reason);
|
||||
}
|
||||
return drop;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public class SMainLevelConfig implements BaseConfig {
|
|||
|
||||
private int monsterGroup;
|
||||
|
||||
private int[] reward;
|
||||
private int[][] reward;
|
||||
|
||||
private int[] randomRewardMin;
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ public class SMainLevelConfig implements BaseConfig {
|
|||
return monsterGroup;
|
||||
}
|
||||
|
||||
public int[] getReward() {
|
||||
public int[][] getReward() {
|
||||
return reward;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue