|
|
@@ -55,7 +55,7 @@ public class ItemUtil {
|
|
|
private static Map<Integer, String> dropRewardMap = new ConcurrentHashMap<>();
|
|
|
private static Set<Integer> dropAddition = new HashSet<>();//掉落权重加成id
|
|
|
public static Map<Integer, String> equipQulityNameMap = new HashMap<>(2);
|
|
|
- private static final Logger LOGGER = LoggerFactory.getLogger("ItemLog");
|
|
|
+ private static final Logger LOGGER = LoggerFactory.getLogger(ItemUtil.class);
|
|
|
|
|
|
private static Set<Integer> currencyMap = new HashSet<>(2);
|
|
|
|
|
|
@@ -868,6 +868,8 @@ public class ItemUtil {
|
|
|
levelUpExp = sPlayerLevelConfig.getExp();
|
|
|
}
|
|
|
PlayerInfoProto.UpdateUserExpIndicaiton.Builder builder = PlayerInfoProto.UpdateUserExpIndicaiton.newBuilder();
|
|
|
+ Map<Integer, Integer> map = user.getMapManager().getLevelUpRewarded();
|
|
|
+ boolean isSendLevelReward = false;
|
|
|
while (curExp >= levelUpExp && curExp <= maxExp) {
|
|
|
if (playerInfoManager.getLevel() == 2 && playerInfoManager.getNickName().equals(String.valueOf(playerInfoManager.getRootId()))) {
|
|
|
//TODO 走表
|
|
|
@@ -891,10 +893,9 @@ public class ItemUtil {
|
|
|
sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(playerInfoManager.getLevel());
|
|
|
levelUpExp = sPlayerLevelConfig.getExp();
|
|
|
// 等级奖励
|
|
|
- MapManager map = user.getMapManager();
|
|
|
Integer lv = playerInfoManager.getLevel();
|
|
|
for (Map.Entry<Integer, String> entry : levelUpReward.entrySet()) {
|
|
|
- if (entry.getKey()>lv || map.isLevelUpRewarded(entry.getKey())) {
|
|
|
+ if (entry.getKey()>lv || map.containsKey(entry.getKey())) {
|
|
|
continue;
|
|
|
}
|
|
|
int[][] reward = getItemArray(entry.getValue());
|
|
|
@@ -905,12 +906,16 @@ public class ItemUtil {
|
|
|
LOGGER.info("levelUpReward, player level = {}, rewardLv = {}, rewardStr = {}", lv, entry.getKey(), entry.getValue());
|
|
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.LEVEL_UP_REWARD);
|
|
|
builder.setDrop(drop);
|
|
|
- map.addLevelUpRewarded(entry.getKey());
|
|
|
+ map.put(entry.getKey(),1);
|
|
|
+ isSendLevelReward = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// Repot37EventUtil.onKtEvent(user, Repot37EventUtil.Report37EventType.ROLE_LEVEUP_EVENT);
|
|
|
}
|
|
|
+ if (isSendLevelReward) {
|
|
|
+ user.getMapManager().setLevelUpRewarded(map);
|
|
|
+ }
|
|
|
playerInfoManager.setExp(curExp);
|
|
|
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
|
|
boolean needPushUnlockEncouragePlan = false;
|