fix
parent
56455fefbe
commit
7ef0ac846c
|
@ -50,6 +50,8 @@ public class MapPointConfig implements BaseConfig{
|
||||||
|
|
||||||
private int position;
|
private int position;
|
||||||
|
|
||||||
|
private int[][] randomProbability;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
scMapEventMap = STableManager.getConfig(MapPointConfig.class);
|
scMapEventMap = STableManager.getConfig(MapPointConfig.class);
|
||||||
|
@ -86,4 +88,8 @@ public class MapPointConfig implements BaseConfig{
|
||||||
public int getConfused() {
|
public int getConfused() {
|
||||||
return confuced;
|
return confuced;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int[][] getRandomProbability() {
|
||||||
|
return randomProbability;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,8 @@ public class SPrivilegeTypeConfig implements BaseConfig {
|
||||||
|
|
||||||
private int maxTimes;
|
private int maxTimes;
|
||||||
|
|
||||||
|
private int ifFloat;
|
||||||
|
|
||||||
private static Map<Integer,SPrivilegeTypeConfig> sPrivilegeTypeConfigMap;
|
private static Map<Integer,SPrivilegeTypeConfig> sPrivilegeTypeConfigMap;
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,5 +43,11 @@ public class SPrivilegeTypeConfig implements BaseConfig {
|
||||||
return refreshType;
|
return refreshType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMaxTimes() {
|
||||||
|
return maxTimes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIfFloat() {
|
||||||
|
return ifFloat;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.ljsd.jieling.core;
|
||||||
|
|
||||||
|
public interface VipPrivilegeType {
|
||||||
|
int ADVENTURE_BASE_REWARD = 1;//探险基础奖励收益
|
||||||
|
int ADVENTURE_MINERAL_REWARD = 2;//探险矿石奖励收益
|
||||||
|
int ADVENTURE_RUNNE_REWARD = 3;//探险符文奖励收益
|
||||||
|
|
||||||
|
int FAST_MAP_LIMIT = 4;//快速探险的次数上限
|
||||||
|
int BUY_STAIM_LIMIT = 5;//购买体力次数上限
|
||||||
|
|
||||||
|
int SECRET_RANDOM_LIMIT = 6;//秘盒抽取次数上限
|
||||||
|
int SIMPLE_MAP_LIMIT = 7;//剧情副本每日恢复次数上限
|
||||||
|
|
||||||
|
int HERO_MAP_LIMIT = 8;//英雄副本每日购买次数上限
|
||||||
|
|
||||||
|
int CHALLENGE_INVASIONBOSS_LIMIT = 9;//外敌入侵每日次数上限
|
||||||
|
|
||||||
|
int STORE_GROCERY_FLUSH_LIMIT = 10;//杂货商店刷新次数
|
||||||
|
int STORE_SOUL_FLUSH_LIMIT = 11;//契魂商店刷新次数
|
||||||
|
|
||||||
|
int BUY_GOLD_DAY_LIMIT = 12; //每日可购买金币的次数
|
||||||
|
|
||||||
|
int POKEMON_NUM = 13; //异妖上阵栏位
|
||||||
|
int FREE_HERO_RANDOM = 14;//免费抽取妖灵师
|
||||||
|
int FREE_SECRET_RANDOM = 15; //解锁免费抽取秘盒
|
||||||
|
|
||||||
|
//功能项解锁
|
||||||
|
int UNLOCK_TWO_FIGHT = 501;//解锁2倍速战斗
|
||||||
|
int UNLOCK_MAP_SWEEP = 502;//解锁副本扫荡功能
|
||||||
|
int UNLOCK_ELEMENT_RANDOM = 503;//解锁元素征募功能
|
||||||
|
|
||||||
|
int UNLOCK_ADVENTURE_ONEKEY = 504;//解锁挂机一键收取
|
||||||
|
int UNLOCK_SKIP_FIGHT = 505;//解锁跳过战斗功能
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.ljsd.jieling.globals;
|
||||||
|
|
||||||
|
public interface BIReason {
|
||||||
|
int ADVENTURE_BASE_REWARD = 1; //探险基础收益
|
||||||
|
int ADVENTURE_RANDOM_REWARDD =2;//探险随机收益
|
||||||
|
|
||||||
|
int DECOMPOS_ITEM_REWARD = 3 ;//分解道具奖励
|
||||||
|
int DECOMPOS_EQUIP_REWARD = 4 ;//分解道具奖励
|
||||||
|
int DECOMPOS_HERO_REWARD = 5;//分解妖灵师获取奖励
|
||||||
|
int COMPOS_HERO_REWARD = 6 ;//分解妖灵师获取奖励
|
||||||
|
|
||||||
|
int HERO_RANDOM = 7 ;//抽卡
|
||||||
|
|
||||||
|
int WORKSHOP_CREATEMATERIAL = 8; //
|
||||||
|
int WORKSHOP_CREATEQUIP = 9; // 装备打造
|
||||||
|
int WORKSHOP_MAKEFOOD = 10; // 装备打造
|
||||||
|
|
||||||
|
int TAKE_MISSION_REWARD = 11;// 领取任务奖励
|
||||||
|
int TAKE_ACTIVITY_REWARD = 12;// 领取活动奖励
|
||||||
|
|
||||||
|
int TAKE_SECRET_REWARD = 13; //秘盒奖励
|
||||||
|
int TAKE_SECRET_EXTRA_REWARD = 14;//秘盒额外奖励
|
||||||
|
int USER_BORN_REWARD = 15 ;// 角色出生奖励
|
||||||
|
|
||||||
|
|
||||||
|
int TAKE_MAIL_REWARD = 16 ;// 邮件奖励
|
||||||
|
int TAKE_VIP_LEVEL_REWARD = 17 ;// 邮件奖励
|
||||||
|
int TAKE_VIP_DAILY_REWARD = 18 ;// 邮件奖励
|
||||||
|
|
||||||
|
int STORE_BUY_ITEM = 19; //商店购买
|
||||||
|
|
||||||
|
int MAP_EVENET_REWARD = 20; //地图事件点奖励
|
||||||
|
int MAP_GENERAL_FIGHT_REWARD = 21; //地图战斗
|
||||||
|
int MAP_FAST_FIGHT_REWARD = 22; //地图快速战斗
|
||||||
|
int MAP_MISSION_REWARD = 23; //地图任务奖励
|
||||||
|
int MAP_SWEEP_REWARD = 24; //扫荡地图副本
|
||||||
|
|
||||||
|
int LEVELDIFFICULTY_FIGHT_REWARD = 25; //关卡奖励
|
||||||
|
int LEVELDIFFICULTY_SWEEP_REWARD = 26; //关卡扫荡奖励
|
||||||
|
|
||||||
|
int USER_LEVELUPSTAMINA_REWARD = 27; //玩家升级加经验
|
||||||
|
|
||||||
|
int GM_REWARD = 28; //gm加成
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -14,8 +14,9 @@ public interface GlobalItemType {
|
||||||
int EQUIP = 3; //装备
|
int EQUIP = 3; //装备
|
||||||
int POKENMON_COMONPENT = 4; //异妖组件
|
int POKENMON_COMONPENT = 4; //异妖组件
|
||||||
int RANDOM_ITME = 5; // 随机道具
|
int RANDOM_ITME = 5; // 随机道具
|
||||||
int RUNNE = 6;
|
int RUNNE = 6; //符文
|
||||||
int BLUE_IMAGE=7; // 蓝图
|
int BLUE_IMAGE=7; // 蓝图
|
||||||
|
int MINERAL=8; // 矿石
|
||||||
|
|
||||||
//物品使用类型
|
//物品使用类型
|
||||||
int NO_USE = 0 ; //不使用
|
int NO_USE = 0 ; //不使用
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.ljsd.GameApplication;
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.globals.GlobalGm;
|
import com.ljsd.jieling.globals.GlobalGm;
|
||||||
import com.ljsd.jieling.globals.GlobalItemType;
|
import com.ljsd.jieling.globals.GlobalItemType;
|
||||||
|
@ -67,7 +68,7 @@ public class GMRequestHandler extends BaseHandler{
|
||||||
CommonProto.GmResponse.Builder gmBuilder = CommonProto.GmResponse.newBuilder();
|
CommonProto.GmResponse.Builder gmBuilder = CommonProto.GmResponse.newBuilder();
|
||||||
switch (gmCommandType){
|
switch (gmCommandType){
|
||||||
case GlobalGm.ADD_ITEM:
|
case GlobalGm.ADD_ITEM:
|
||||||
gmBuilder.setDrop(ItemUtil.drop(cUser,new int[][]{{prarm1,prarm2}}));
|
gmBuilder.setDrop(ItemUtil.drop(cUser,new int[][]{{prarm1,prarm2}}, BIReason.GM_REWARD));
|
||||||
break;
|
break;
|
||||||
case GlobalGm.ADD_CARD:
|
case GlobalGm.ADD_CARD:
|
||||||
gmBuilder.setDrop(giveHero(cUser,prarm1,prarm2));
|
gmBuilder.setDrop(giveHero(cUser,prarm1,prarm2));
|
||||||
|
@ -80,7 +81,7 @@ public class GMRequestHandler extends BaseHandler{
|
||||||
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.SEND_RED_POINT_INDICATION_VALUE,redPointInfo,true);
|
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.SEND_RED_POINT_INDICATION_VALUE,redPointInfo,true);
|
||||||
break;
|
break;
|
||||||
case GlobalGm.HERO_STAR:
|
case GlobalGm.HERO_STAR:
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(cUser, new int[][]{{prarm1, 1}});
|
CommonProto.Drop.Builder drop = ItemUtil.drop(cUser, new int[][]{{prarm1, 1}},BIReason.GM_REWARD);
|
||||||
MongoUtil.getInstence().lastUpdate();
|
MongoUtil.getInstence().lastUpdate();
|
||||||
CommonProto.Hero heroProto = drop.getHero(0);
|
CommonProto.Hero heroProto = drop.getHero(0);
|
||||||
String heroId = heroProto.getId();
|
String heroId = heroProto.getId();
|
||||||
|
@ -149,7 +150,7 @@ public class GMRequestHandler extends BaseHandler{
|
||||||
}
|
}
|
||||||
gmDrop[i++] = new int[]{itemId,itemNum};
|
gmDrop[i++] = new int[]{itemId,itemNum};
|
||||||
}
|
}
|
||||||
ItemUtil.drop(cUser,gmDrop);
|
ItemUtil.drop(cUser,gmDrop,BIReason.GM_REWARD);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//1:获取当前服务器时间 2: 获取服务器开服时间 3 : 获取玩家创建角色时间 4:修改服务器时间
|
//1:获取当前服务器时间 2: 获取服务器开服时间 3 : 获取玩家创建角色时间 4:修改服务器时间
|
||||||
|
@ -218,7 +219,7 @@ public class GMRequestHandler extends BaseHandler{
|
||||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||||
Map<Integer,Integer> cardMap = new ConcurrentHashMap<>();
|
Map<Integer,Integer> cardMap = new ConcurrentHashMap<>();
|
||||||
cardMap.put(cardId,cardNum);
|
cardMap.put(cardId,cardNum);
|
||||||
ItemUtil.addCard(cUser,cardMap,dropBuilder);
|
ItemUtil.addCard(cUser,cardMap,dropBuilder,BIReason.GM_REWARD);
|
||||||
return dropBuilder;
|
return dropBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -254,4 +255,5 @@ public class GMRequestHandler extends BaseHandler{
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
||||||
StoreLogic.resetStoreRefreshNum(userId);
|
StoreLogic.resetStoreRefreshNum(userId);
|
||||||
//竞技场免费次数刷新
|
//竞技场免费次数刷新
|
||||||
ArenaLogic.getInstance().flushFreeUseTimes(user);
|
ArenaLogic.getInstance().flushFreeUseTimes(user);
|
||||||
playerInfoManager.setHadTakeDailyBoxVip(0);
|
playerInfoManager.vipFlush();
|
||||||
|
|
||||||
}
|
}
|
||||||
playerInfoManager.setLoginTime(TimeUtils.now());
|
playerInfoManager.setLoginTime(TimeUtils.now());
|
||||||
|
|
|
@ -2,8 +2,10 @@ package com.ljsd.jieling.handler.map;
|
||||||
|
|
||||||
import com.googlecode.protobuf.format.JsonFormat;
|
import com.googlecode.protobuf.format.JsonFormat;
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
|
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.handler.map.behavior.BaseBehavior;
|
import com.ljsd.jieling.handler.map.behavior.BaseBehavior;
|
||||||
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
|
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
|
||||||
|
@ -273,6 +275,9 @@ public class MapLogic {
|
||||||
LOGGER.info("====initMap()====mapPointConfig == null======>{}", scMap1.getEvent());
|
LOGGER.info("====initMap()====mapPointConfig == null======>{}", scMap1.getEvent());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if(!mapPointCanAAppear(mapPointConfig)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if(mapPointConfig.getStyle() == EventType.businessman){
|
if(mapPointConfig.getStyle() == EventType.businessman){
|
||||||
if(alreadHadYunShop){
|
if(alreadHadYunShop){
|
||||||
continue;
|
continue;
|
||||||
|
@ -300,6 +305,25 @@ public class MapLogic {
|
||||||
initMapMission(mapManager);
|
initMapMission(mapManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean mapPointCanAAppear(MapPointConfig mapPointConfig){
|
||||||
|
int[][] randomProbability = mapPointConfig.getRandomProbability();
|
||||||
|
if(randomProbability == null || randomProbability.length==0){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
int totalWeight =0;
|
||||||
|
for(int[] weightItem : randomProbability){
|
||||||
|
totalWeight+=weightItem[1];
|
||||||
|
}
|
||||||
|
int random = MathUtils.randomInt(totalWeight);
|
||||||
|
for(int[] weightItem : randomProbability){
|
||||||
|
random-=weightItem[1];
|
||||||
|
if(random<=0){
|
||||||
|
return weightItem[0] == 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean updateMapByOnlyConsumeActionPower(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
public boolean updateMapByOnlyConsumeActionPower(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
||||||
if (triggerXY == -1000) {
|
if (triggerXY == -1000) {
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
|
@ -496,7 +520,7 @@ public class MapLogic {
|
||||||
updateMapMission(mapManager,EventType.updatePonintEvent, pointId,0);
|
updateMapMission(mapManager,EventType.updatePonintEvent, pointId,0);
|
||||||
CommonProto.Drop.Builder dropBuilder = null;
|
CommonProto.Drop.Builder dropBuilder = null;
|
||||||
if (sOptionConfig.getReward().length > 0) {
|
if (sOptionConfig.getReward().length > 0) {
|
||||||
dropBuilder = ItemUtil.drop(user, sOptionConfig.getReward(), 1, 1);
|
dropBuilder = ItemUtil.drop(user, sOptionConfig.getReward(), 1, 1, BIReason.MAP_EVENET_REWARD);
|
||||||
}
|
}
|
||||||
List<CommonProto.EventBehaviorValues> eventBehaviorValuesList = new ArrayList<>();
|
List<CommonProto.EventBehaviorValues> eventBehaviorValuesList = new ArrayList<>();
|
||||||
for (int i = 0; i < sOptionConfig.getBehaviorTypeValues().length; i++) {
|
for (int i = 0; i < sOptionConfig.getBehaviorTypeValues().length; i++) {
|
||||||
|
@ -894,7 +918,7 @@ public class MapLogic {
|
||||||
BehaviorUtil.destoryApointXY(user, destoryXY);
|
BehaviorUtil.destoryApointXY(user, destoryXY);
|
||||||
|
|
||||||
SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(groupId);
|
SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(groupId);
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, 1);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, 1,BIReason.MAP_FAST_FIGHT_REWARD);
|
||||||
FightInfoProto.FastFightResponse.Builder fastFightResponse = FightInfoProto.FastFightResponse.newBuilder();
|
FightInfoProto.FastFightResponse.Builder fastFightResponse = FightInfoProto.FastFightResponse.newBuilder();
|
||||||
fastFightResponse.setEnventDrop(drop.build());
|
fastFightResponse.setEnventDrop(drop.build());
|
||||||
fastFightResponse.setResult(resultCode);
|
fastFightResponse.setResult(resultCode);
|
||||||
|
@ -1069,7 +1093,7 @@ public class MapLogic {
|
||||||
for (TeamPosHeroInfo teamPosHeroInfo : team){
|
for (TeamPosHeroInfo teamPosHeroInfo : team){
|
||||||
mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(),HeroAttributeEnum.CurHP.getPropertyId(),checkResult[teamPosHeroInfo.getPosition()]);
|
mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(),HeroAttributeEnum.CurHP.getPropertyId(),checkResult[teamPosHeroInfo.getPosition()]);
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, 1);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, 1,BIReason.MAP_GENERAL_FIGHT_REWARD);
|
||||||
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder();
|
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder();
|
||||||
fightEndResponse.setEnventDrop(drop.build());
|
fightEndResponse.setEnventDrop(drop.build());
|
||||||
fightEndResponse.setResult(resultCode);
|
fightEndResponse.setResult(resultCode);
|
||||||
|
@ -1289,7 +1313,7 @@ public class MapLogic {
|
||||||
if (mission.getMissionInfo() != null) {
|
if (mission.getMissionInfo() != null) {
|
||||||
checkMissionReturn.newEventId = mission.getMissionInfo();
|
checkMissionReturn.newEventId = mission.getMissionInfo();
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMissionEventsConfig.getReward(), 1, 1);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMissionEventsConfig.getReward(), 1, 1,BIReason.MAP_MISSION_REWARD);
|
||||||
checkMissionReturn.drop = drop;
|
checkMissionReturn.drop = drop;
|
||||||
int useTime = getUseTime(user);
|
int useTime = getUseTime(user);
|
||||||
mission.setTime(useTime);
|
mission.setTime(useTime);
|
||||||
|
@ -1472,6 +1496,11 @@ public class MapLogic {
|
||||||
}
|
}
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
|
boolean allowed = user.getPlayerInfoManager().checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_MAP_SWEEP);
|
||||||
|
if(!allowed){
|
||||||
|
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "not allowed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
MapManager mapManager = user.getMapManager();
|
MapManager mapManager = user.getMapManager();
|
||||||
CrossInfo crossInfo = mapManager.getCrossInfoMap().get(mapId);
|
CrossInfo crossInfo = mapManager.getCrossInfoMap().get(mapId);
|
||||||
if (crossInfo == null) {
|
if (crossInfo == null) {
|
||||||
|
@ -1494,7 +1523,7 @@ public class MapLogic {
|
||||||
SChallengeMapConfig sChallengeMapConfig = SChallengeMapConfig.integerSChallengeMapConfigMap.get(mapId);
|
SChallengeMapConfig sChallengeMapConfig = SChallengeMapConfig.integerSChallengeMapConfigMap.get(mapId);
|
||||||
MapInfoProto.MapSweepResponse.Builder mapSweepResponse = MapInfoProto.MapSweepResponse.newBuilder();
|
MapInfoProto.MapSweepResponse.Builder mapSweepResponse = MapInfoProto.MapSweepResponse.newBuilder();
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, sChallengeMapConfig.getSweepingAward(), 1, 0);
|
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, sChallengeMapConfig.getSweepingAward(), 1, 0,BIReason.MAP_SWEEP_REWARD);
|
||||||
mapSweepResponse.addDrop(dropBuilder);
|
mapSweepResponse.addDrop(dropBuilder);
|
||||||
}
|
}
|
||||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapSweepResponse.build(), true);
|
MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapSweepResponse.build(), true);
|
||||||
|
@ -1715,7 +1744,7 @@ public class MapLogic {
|
||||||
levelDifficulty.setState(Global.FIGHT_CLEARANCE);
|
levelDifficulty.setState(Global.FIGHT_CLEARANCE);
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.STORY_FIGHT,fightId,0);
|
user.getUserMissionManager().onGameEvent(user,GameEvent.STORY_FIGHT,fightId,0);
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user,reward, 1, 0);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user,reward, 1, 0,BIReason.LEVELDIFFICULTY_FIGHT_REWARD);
|
||||||
levelDifficulty.setChallengeTimes(levelDifficulty.getChallengeTimes() +1);
|
levelDifficulty.setChallengeTimes(levelDifficulty.getChallengeTimes() +1);
|
||||||
//开启关卡
|
//开启关卡
|
||||||
openNextFightIds(levelDifficultyManager,playerInfoManager,fightId);
|
openNextFightIds(levelDifficultyManager,playerInfoManager,fightId);
|
||||||
|
@ -1727,12 +1756,6 @@ public class MapLogic {
|
||||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
|
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private CommonProto.FightTeamInfo getFightTeamInfo(Map<Object, Object> valueMap) throws JsonFormat.ParseException {
|
|
||||||
CommonProto.FightTeamInfo.Builder monsterBuilder = CommonProto.FightTeamInfo.newBuilder();
|
|
||||||
JsonFormat.merge((String)valueMap.get(RedisKey.FIGHT_MONSTERS_1), monsterBuilder);
|
|
||||||
return monsterBuilder.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开启关卡
|
* 开启关卡
|
||||||
* @param levelDifficultyManager
|
* @param levelDifficultyManager
|
||||||
|
@ -1802,7 +1825,7 @@ public class MapLogic {
|
||||||
}
|
}
|
||||||
if (itemNum > 0){
|
if (itemNum > 0){
|
||||||
String reward = Global.STAMINA +"#" +itemNum;
|
String reward = Global.STAMINA +"#" +itemNum;
|
||||||
ItemUtil.drop(user,StringUtil.parseFiledInt2(reward));
|
ItemUtil.drop(user,StringUtil.parseFiledInt2(reward),BIReason.USER_LEVELUPSTAMINA_REWARD);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ljsd.jieling.handler.map;
|
package com.ljsd.jieling.handler.map;
|
||||||
|
|
||||||
import com.ljsd.jieling.config.SLevelDifficultyConfig;
|
import com.ljsd.jieling.config.SLevelDifficultyConfig;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.handler.map.behavior.BaseBehavior;
|
import com.ljsd.jieling.handler.map.behavior.BaseBehavior;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
|
@ -82,7 +83,7 @@ public class SweepLogic {
|
||||||
ItemUtil.itemCost(user, cost);
|
ItemUtil.itemCost(user, cost);
|
||||||
List<CommonProto.Drop> dropList = new CopyOnWriteArrayList<>();
|
List<CommonProto.Drop> dropList = new CopyOnWriteArrayList<>();
|
||||||
for (int i = 0 ; i < sweepTimes ;i++){
|
for (int i = 0 ; i < sweepTimes ;i++){
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 0);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 0, BIReason.LEVELDIFFICULTY_SWEEP_REWARD);
|
||||||
dropList.add(drop.build());
|
dropList.add(drop.build());
|
||||||
}
|
}
|
||||||
MapLogic.getInstance().userLevelUp(user,sLevelDifficultyConfig.getExp() * sweepTimes);
|
MapLogic.getInstance().userLevelUp(user,sLevelDifficultyConfig.getExp() * sweepTimes);
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.ljsd.jieling.logic.activity;
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
|
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
@ -29,9 +31,6 @@ public class ActivityLogic {
|
||||||
|
|
||||||
public void flushEveryDay(User user) {
|
public void flushEveryDay(User user) {
|
||||||
updateActivityMissionProgress(user, ActivityType.SevenLogin,1);
|
updateActivityMissionProgress(user, ActivityType.SevenLogin,1);
|
||||||
//秘盒免费次数刷新
|
|
||||||
ActivityLogic.getInstance().flushSecretBoxFreeTimes(user);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void flushForLogin(User user){
|
public void flushForLogin(User user){
|
||||||
|
@ -168,7 +167,7 @@ public class ActivityLogic {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
int[][] reward = sActivityRewardConfig.getReward();
|
int[][] reward = sActivityRewardConfig.getReward();
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
|
||||||
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
||||||
activityMission.updateProgressInfo(missionId,activityProgressInfo);
|
activityMission.updateProgressInfo(missionId,activityProgressInfo);
|
||||||
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
||||||
|
@ -296,15 +295,9 @@ public class ActivityLogic {
|
||||||
if(secretBoxManager.getCurSeason() != secretBoxSeasonTimes){
|
if(secretBoxManager.getCurSeason() != secretBoxSeasonTimes){
|
||||||
flushSecretBoxOfSeasonChange(secretBoxManager);
|
flushSecretBoxOfSeasonChange(secretBoxManager);
|
||||||
}
|
}
|
||||||
List<PlayerInfoProto.SecretBoxFreeUseInfo> secretBoxFreeUseInfoList = new ArrayList<>(2);
|
|
||||||
Map<Integer, Integer> freeUseInfos = secretBoxManager.getFreeUseInfos();
|
|
||||||
for(Map.Entry<Integer,Integer> item : freeUseInfos.entrySet()){
|
|
||||||
secretBoxFreeUseInfoList.add(PlayerInfoProto.SecretBoxFreeUseInfo.newBuilder().setId(item.getKey()).setTimes(item.getValue()).build());
|
|
||||||
}
|
|
||||||
PlayerInfoProto.GetSecretBoxInfoResponse build = PlayerInfoProto.GetSecretBoxInfoResponse.newBuilder()
|
PlayerInfoProto.GetSecretBoxInfoResponse build = PlayerInfoProto.GetSecretBoxInfoResponse.newBuilder()
|
||||||
.setSeason(secretBoxManager.getCurSeason())
|
.setSeason(secretBoxManager.getCurSeason())
|
||||||
.setCount(secretBoxManager.getCount())
|
.setCount(secretBoxManager.getCount())
|
||||||
.addAllSecretBoxFreeUseInfo(secretBoxFreeUseInfoList)
|
|
||||||
.build();
|
.build();
|
||||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_SECRETBOX_RESPONSE_VALUE,build,true);
|
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_SECRETBOX_RESPONSE_VALUE,build,true);
|
||||||
}
|
}
|
||||||
|
@ -312,13 +305,6 @@ public class ActivityLogic {
|
||||||
public void flushSecretBoxOfSeasonChange(SecretBoxManager secretBoxManager){
|
public void flushSecretBoxOfSeasonChange(SecretBoxManager secretBoxManager){
|
||||||
secretBoxManager.setCount(0);
|
secretBoxManager.setCount(0);
|
||||||
secretBoxManager.setCurSeason(secretBoxSeasonTimes);
|
secretBoxManager.setCurSeason(secretBoxSeasonTimes);
|
||||||
List<Integer> idsBySeasonId = SDifferDemonsBoxSetting.getIdsBySeasonId(secretBoxSeasonTimes);
|
|
||||||
//todo vip系统修改
|
|
||||||
Map<Integer,Integer> freeUseMap = new HashMap<>(idsBySeasonId.size());
|
|
||||||
for(int id:idsBySeasonId){
|
|
||||||
freeUseMap.put(id,0);
|
|
||||||
}
|
|
||||||
secretBoxManager.setFreeUseInfos(freeUseMap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void randomSecretBox(ISession session,int id) throws Exception {
|
public void randomSecretBox(ISession session,int id) throws Exception {
|
||||||
|
@ -341,18 +327,21 @@ public class ActivityLogic {
|
||||||
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.SECRETBOX_RANDOM_RESPONSE_VALUE,"今日抽取已达上限");
|
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.SECRETBOX_RANDOM_RESPONSE_VALUE,"今日抽取已达上限");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int freeTime = sDifferDemonsBoxSetting.getFreeTime();
|
|
||||||
Map<Integer, Integer> freeUseInfos = secretBoxManager.getFreeUseInfos();
|
|
||||||
if(freeTime>freeUseInfos.get(id)){
|
boolean allowedFree = false;
|
||||||
freeUseInfos.put(id,freeUseInfos.get(id) + 1);
|
if(randCount == 1){
|
||||||
secretBoxManager.setFreeUseInfos(freeUseInfos);
|
allowedFree=user.getPlayerInfoManager().check(VipPrivilegeType.FREE_SECRET_RANDOM,1);
|
||||||
}else{
|
}
|
||||||
|
if(!allowedFree){
|
||||||
int[][] mainCost = sDifferDemonsBoxSetting.getMainCost();
|
int[][] mainCost = sDifferDemonsBoxSetting.getMainCost();
|
||||||
boolean enough = ItemUtil.itemCost(user, mainCost);
|
boolean enough = ItemUtil.itemCost(user, mainCost);
|
||||||
if(!enough){
|
if(!enough){
|
||||||
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.SECRETBOX_RANDOM_RESPONSE_VALUE,"道具不足");
|
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.SECRETBOX_RANDOM_RESPONSE_VALUE,"道具不足");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
user.getPlayerInfoManager().updateVipPrivilage(VipPrivilegeType.FREE_SECRET_RANDOM,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int count = secretBoxManager.getCount();
|
int count = secretBoxManager.getCount();
|
||||||
|
@ -364,9 +353,9 @@ public class ActivityLogic {
|
||||||
}
|
}
|
||||||
playerInfoManager.updateVipPrivilage(limitPrivigele,randCount);
|
playerInfoManager.updateVipPrivilage(limitPrivigele,randCount);
|
||||||
secretBoxManager.setCount(secretBoxManager.getCount()+randCount);
|
secretBoxManager.setCount(secretBoxManager.getCount()+randCount);
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.dropPer(user, randDrop);
|
CommonProto.Drop.Builder drop = ItemUtil.dropPer(user, randDrop,BIReason.TAKE_SECRET_REWARD);
|
||||||
int[] extraItem = sDifferDemonsBoxSetting.getExtraItem();
|
int[] extraItem = sDifferDemonsBoxSetting.getExtraItem();
|
||||||
CommonProto.Drop.Builder extraDrop = ItemUtil.drop(user, new int[][]{extraItem});
|
CommonProto.Drop.Builder extraDrop = ItemUtil.drop(user, new int[][]{extraItem},BIReason.TAKE_SECRET_EXTRA_REWARD);
|
||||||
PlayerInfoProto.SecretBoxRandomResponse build = PlayerInfoProto.SecretBoxRandomResponse.newBuilder().setDrop(drop).setExtrarReward(extraDrop).build();
|
PlayerInfoProto.SecretBoxRandomResponse build = PlayerInfoProto.SecretBoxRandomResponse.newBuilder().setDrop(drop).setExtrarReward(extraDrop).build();
|
||||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.SECRETBOX_RANDOM_RESPONSE_VALUE,build,true);
|
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.SECRETBOX_RANDOM_RESPONSE_VALUE,build,true);
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.SECRETBOX,id,randCount);
|
user.getUserMissionManager().onGameEvent(user,GameEvent.SECRETBOX,id,randCount);
|
||||||
|
@ -420,16 +409,4 @@ public class ActivityLogic {
|
||||||
}
|
}
|
||||||
secretBoxSeasonTimes=0;
|
secretBoxSeasonTimes=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void flushSecretBoxFreeTimes(User user){
|
|
||||||
SecretBoxManager secretBoxManager = user.getSecretBoxManager();
|
|
||||||
if(secretBoxManager!=null){
|
|
||||||
Map<Integer, Integer> freeUseInfos = secretBoxManager.getFreeUseInfos();
|
|
||||||
if(freeUseInfos!=null && !freeUseInfos.isEmpty()){
|
|
||||||
for(Integer key : freeUseInfos.keySet()){
|
|
||||||
freeUseInfos.put(key,0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ package com.ljsd.jieling.logic.arena;
|
||||||
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
|
@ -134,6 +135,11 @@ public class ArenaLogic {
|
||||||
}
|
}
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
|
boolean allowed = user.getPlayerInfoManager().checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_SKIP_FIGHT);
|
||||||
|
if(!allowed){
|
||||||
|
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,"not allowed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
String err = checkChallenge(user);
|
String err = checkChallenge(user);
|
||||||
if(!"".equals(err)){
|
if(!"".equals(err)){
|
||||||
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,err);
|
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,err);
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.dao;
|
||||||
|
|
||||||
import com.ljsd.common.mogodb.MongoBase;
|
import com.ljsd.common.mogodb.MongoBase;
|
||||||
import com.ljsd.jieling.config.SGameSetting;
|
import com.ljsd.jieling.config.SGameSetting;
|
||||||
|
import com.ljsd.jieling.config.SPrivilegeTypeConfig;
|
||||||
import com.ljsd.jieling.config.SVipLevelConfig;
|
import com.ljsd.jieling.config.SVipLevelConfig;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||||
|
@ -250,6 +251,10 @@ public class PlayerManager extends MongoBase {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean checkFunctionIsAllowed(int privilageId){
|
||||||
|
return vipInfo.containsKey(privilageId);
|
||||||
|
}
|
||||||
|
|
||||||
public void updateVipPrivilage(int privilageId,int updateNum){
|
public void updateVipPrivilage(int privilageId,int updateNum){
|
||||||
if(!vipInfo.containsKey(privilageId)){
|
if(!vipInfo.containsKey(privilageId)){
|
||||||
return;
|
return;
|
||||||
|
@ -284,4 +289,16 @@ public class PlayerManager extends MongoBase {
|
||||||
updateString("hadTakeDailyBoxVip", hadTakeDailyBoxVip);
|
updateString("hadTakeDailyBoxVip", hadTakeDailyBoxVip);
|
||||||
this.hadTakeDailyBoxVip = hadTakeDailyBoxVip;
|
this.hadTakeDailyBoxVip = hadTakeDailyBoxVip;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void vipFlush() {
|
||||||
|
for(Integer id : vipInfo.keySet()){
|
||||||
|
SPrivilegeTypeConfig sPrivilegeTypeConfig = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(id);
|
||||||
|
int refreshType = sPrivilegeTypeConfig.getRefreshType()[0];
|
||||||
|
if(refreshType == 1){
|
||||||
|
vipInfo.put(id,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updateString("vipInfo", vipInfo);
|
||||||
|
setHadTakeDailyBoxVip(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@ import java.util.Map;
|
||||||
public class SecretBoxManager extends MongoBase {
|
public class SecretBoxManager extends MongoBase {
|
||||||
private int curSeason;
|
private int curSeason;
|
||||||
private int count;//总共抽取次数
|
private int count;//总共抽取次数
|
||||||
private Map<Integer,Integer> freeUseInfos = new HashMap<>(2);
|
|
||||||
|
|
||||||
public void setCurSeason(int curSeason) {
|
public void setCurSeason(int curSeason) {
|
||||||
updateString("curSeason",curSeason);
|
updateString("curSeason",curSeason);
|
||||||
|
@ -21,11 +20,6 @@ public class SecretBoxManager extends MongoBase {
|
||||||
this.count = count;
|
this.count = count;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFreeUseInfos(Map<Integer, Integer> freeUseInfos) {
|
|
||||||
updateString("freeUseInfos",freeUseInfos);
|
|
||||||
this.freeUseInfos = freeUseInfos;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getCurSeason() {
|
public int getCurSeason() {
|
||||||
return curSeason;
|
return curSeason;
|
||||||
}
|
}
|
||||||
|
@ -33,8 +27,4 @@ public class SecretBoxManager extends MongoBase {
|
||||||
public int getCount() {
|
public int getCount() {
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Integer, Integer> getFreeUseInfos() {
|
|
||||||
return freeUseInfos;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ package com.ljsd.jieling.logic.dao;
|
||||||
import com.ljsd.jieling.config.SGameSetting;
|
import com.ljsd.jieling.config.SGameSetting;
|
||||||
import com.ljsd.jieling.config.SPlayerLevelConfig;
|
import com.ljsd.jieling.config.SPlayerLevelConfig;
|
||||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||||
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;
|
||||||
|
@ -82,7 +83,7 @@ public class UserManager {
|
||||||
playerManager.updateVipInfo(user,0);
|
playerManager.updateVipInfo(user,0);
|
||||||
SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1);
|
SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1);
|
||||||
playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy());
|
playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy());
|
||||||
ItemUtil.drop(user,gameSetting.getBornItem());
|
ItemUtil.drop(user,gameSetting.getBornItem(), BIReason.USER_BORN_REWARD);
|
||||||
HeroManager heroManager = user.getHeroManager();
|
HeroManager heroManager = user.getHeroManager();
|
||||||
Map<String, Hero> heroMap = heroManager.getHeroMap();
|
Map<String, Hero> heroMap = heroManager.getHeroMap();
|
||||||
TeamPosManager teamPosManager = user.getTeamPosManager();
|
TeamPosManager teamPosManager = user.getTeamPosManager();
|
||||||
|
|
|
@ -4,8 +4,10 @@ package com.ljsd.jieling.logic.fight;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.handler.map.MapManager;
|
import com.ljsd.jieling.handler.map.MapManager;
|
||||||
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
|
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
|
||||||
|
@ -343,6 +345,13 @@ public class CombatLogic {
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
Map<Integer, CommonProto.Drop> adventureFastReward =null;
|
Map<Integer, CommonProto.Drop> adventureFastReward =null;
|
||||||
if(type == 2){
|
if(type == 2){
|
||||||
|
if(position==-1){
|
||||||
|
boolean allowed = user.getPlayerInfoManager().checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_ADVENTURE_ONEKEY);
|
||||||
|
if(!allowed){
|
||||||
|
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_REWARD_RESPONSE_VALUE,"not allowed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
adventureFastReward = getAdventureReward(user, position);
|
adventureFastReward = getAdventureReward(user, position);
|
||||||
}else{
|
}else{
|
||||||
//todo 消耗
|
//todo 消耗
|
||||||
|
@ -390,8 +399,8 @@ public class CombatLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap);
|
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,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());
|
||||||
|
@ -428,8 +437,8 @@ public class CombatLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap);
|
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,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());
|
||||||
|
@ -584,6 +593,13 @@ public class CombatLogic {
|
||||||
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,"over fight");
|
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,"over fight");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if(fightTimes==1 && skipFight==0){
|
||||||
|
boolean allowed = user.getPlayerInfoManager().checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_SKIP_FIGHT);
|
||||||
|
if(!allowed){
|
||||||
|
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,"not allowed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
AdventureBoss adventureBoss = RedisUtil.getInstence().getMapEntry(RedisKey.ADVENTRUEN_BOSS_INFO, "", bossId, AdventureBoss.class);
|
AdventureBoss adventureBoss = RedisUtil.getInstence().getMapEntry(RedisKey.ADVENTRUEN_BOSS_INFO, "", bossId, AdventureBoss.class);
|
||||||
if(adventureBoss == null){
|
if(adventureBoss == null){
|
||||||
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,"boss had killed");
|
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,"boss had killed");
|
||||||
|
|
|
@ -3,6 +3,8 @@ package com.ljsd.jieling.logic.hero;
|
||||||
import com.ljsd.GameApplication;
|
import com.ljsd.GameApplication;
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
@ -156,12 +158,20 @@ public class HeroLogic {
|
||||||
}
|
}
|
||||||
|
|
||||||
//检验消耗
|
//检验消耗
|
||||||
|
boolean allowFree = false;
|
||||||
|
if(perCount == 1){
|
||||||
|
allowFree = user.getPlayerInfoManager().check(VipPrivilegeType.FREE_HERO_RANDOM, 1);
|
||||||
|
}
|
||||||
|
if(!allowFree){
|
||||||
int [][] costItems = new int[][]{sLotterySetting.getCostItem()};
|
int [][] costItems = new int[][]{sLotterySetting.getCostItem()};
|
||||||
boolean enoughCost = ItemUtil.itemCost(user, costItems);
|
boolean enoughCost = ItemUtil.itemCost(user, costItems);
|
||||||
if(!enoughCost){
|
if(!enoughCost){
|
||||||
MessageUtil.sendErrorResponse(session, 0, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE,"道具不足");
|
MessageUtil.sendErrorResponse(session, 0, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE,"道具不足");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
user.getPlayerInfoManager().updateVipPrivilage(VipPrivilegeType.FREE_HERO_RANDOM, 1);
|
||||||
|
}
|
||||||
//额外获取
|
//额外获取
|
||||||
int length = perCount;
|
int length = perCount;
|
||||||
int[][] tenTimesMustGetItem = null;
|
int[][] tenTimesMustGetItem = null;
|
||||||
|
@ -196,7 +206,7 @@ public class HeroLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.RANDOM_HERO,sLotterySetting.getLotteryType(),perCount);
|
user.getUserMissionManager().onGameEvent(user,GameEvent.RANDOM_HERO,sLotterySetting.getLotteryType(),perCount);
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropHeroAndItem);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropHeroAndItem,BIReason.HERO_RANDOM);
|
||||||
HeroInfoProto.HeroRandResponse heroRandResponse = HeroInfoProto.HeroRandResponse.newBuilder().setDrop(drop).build();
|
HeroInfoProto.HeroRandResponse heroRandResponse = HeroInfoProto.HeroRandResponse.newBuilder().setDrop(drop).build();
|
||||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE, heroRandResponse, true);
|
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE, heroRandResponse, true);
|
||||||
}
|
}
|
||||||
|
@ -324,6 +334,7 @@ public class HeroLogic {
|
||||||
MessageUtil.sendErrorResponse(iSession,0,MessageTypeProto.MessageType.TEAM_POS_SAVE_RESPONSE_VALUE,err);
|
MessageUtil.sendErrorResponse(iSession,0,MessageTypeProto.MessageType.TEAM_POS_SAVE_RESPONSE_VALUE,err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
user.getTeamPosManager().changeTeamInfo(teamId,heroIds,pokemonoIds);
|
user.getTeamPosManager().changeTeamInfo(teamId,heroIds,pokemonoIds);
|
||||||
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.TEAM_POS_SAVE_RESPONSE_VALUE,null,true);
|
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.TEAM_POS_SAVE_RESPONSE_VALUE,null,true);
|
||||||
}
|
}
|
||||||
|
@ -359,7 +370,11 @@ public class HeroLogic {
|
||||||
return "no active";
|
return "no active";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int size = pokemonoIds.size();
|
||||||
|
boolean allowed = user.getPlayerInfoManager().check(VipPrivilegeType.POKEMON_NUM, size);
|
||||||
|
if(!allowed){
|
||||||
|
return "now allowd";
|
||||||
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1112,7 +1127,7 @@ public class HeroLogic {
|
||||||
}
|
}
|
||||||
Map<Integer,Integer> randomMap = new ConcurrentHashMap<>();
|
Map<Integer,Integer> randomMap = new ConcurrentHashMap<>();
|
||||||
randomMap.put(itemId,composeNum);
|
randomMap.put(itemId,composeNum);
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.useRandomItem(user,randomMap);
|
CommonProto.Drop.Builder drop = ItemUtil.useRandomItem(user,randomMap, BIReason.COMPOS_HERO_REWARD);
|
||||||
HeroInfoProto.HeroComposeResponse heroComposeResponse = HeroInfoProto.HeroComposeResponse
|
HeroInfoProto.HeroComposeResponse heroComposeResponse = HeroInfoProto.HeroComposeResponse
|
||||||
.newBuilder()
|
.newBuilder()
|
||||||
.setDrop(drop)
|
.setDrop(drop)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ljsd.jieling.logic.item;
|
package com.ljsd.jieling.logic.item;
|
||||||
|
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
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;
|
||||||
|
@ -65,7 +66,7 @@ public class ItemLogic {
|
||||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"");
|
MessageUtil.sendErrorResponse(iSession,0,msgId,"");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, 0);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, 0,BIReason.DECOMPOS_ITEM_REWARD);
|
||||||
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,7 +147,7 @@ public class ItemLogic {
|
||||||
reward.append("#").append(sItem.getResolveReward());
|
reward.append("#").append(sItem.getResolveReward());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user,StringUtil.parseFiledInt(reward.toString()),1,0);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user,StringUtil.parseFiledInt(reward.toString()),1,0,BIReason.DECOMPOS_EQUIP_REWARD);
|
||||||
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,7 +213,7 @@ public class ItemLogic {
|
||||||
}
|
}
|
||||||
ItemUtil.combineReward(StringUtil.parseFiledInt(reward.toString()),1,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
ItemUtil.combineReward(StringUtil.parseFiledInt(reward.toString()),1,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
||||||
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
|
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
|
||||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap, BIReason.DECOMPOS_HERO_REWARD);
|
||||||
sendUseAndPriceItemMessage(iSession, msgId, baseBuilder);
|
sendUseAndPriceItemMessage(iSession, msgId, baseBuilder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.item;
|
||||||
|
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
@ -102,7 +103,7 @@ public class WorkShopLogic {
|
||||||
int failExp = sMysteryFoodSetting.getFailExp();
|
int failExp = sMysteryFoodSetting.getFailExp();
|
||||||
totalFailExp+=failExp;
|
totalFailExp+=failExp;
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder dropThing = ItemUtil.drop(user, drop);
|
CommonProto.Drop.Builder dropThing = ItemUtil.drop(user, drop,BIReason.WORKSHOP_MAKEFOOD);
|
||||||
if(totalFailExp>0){
|
if(totalFailExp>0){
|
||||||
user.getWorkShopController().addCookExp(totalFailExp);
|
user.getWorkShopController().addCookExp(totalFailExp);
|
||||||
}
|
}
|
||||||
|
@ -238,7 +239,7 @@ public class WorkShopLogic {
|
||||||
}
|
}
|
||||||
Map<Integer,Integer> finalMaterial = new HashMap<>();
|
Map<Integer,Integer> finalMaterial = new HashMap<>();
|
||||||
finalMaterial.put(materialId,nums*sWorkShopFoundationConfig.getNum());
|
finalMaterial.put(materialId,nums*sWorkShopFoundationConfig.getNum());
|
||||||
ItemUtil.addItem(user,finalMaterial,null);
|
ItemUtil.addItem(user,finalMaterial,null, BIReason.WORKSHOP_CREATEMATERIAL);
|
||||||
|
|
||||||
//熟练度提升
|
//熟练度提升
|
||||||
int type = sWorkShopFoundationConfig.getType();
|
int type = sWorkShopFoundationConfig.getType();
|
||||||
|
@ -298,16 +299,14 @@ public class WorkShopLogic {
|
||||||
int addExp = sWorkShopEquipmentConfig.getExp()*nums;
|
int addExp = sWorkShopEquipmentConfig.getExp()*nums;
|
||||||
if(type == GlobalsDef.WORK_SHOP_TYPE){
|
if(type == GlobalsDef.WORK_SHOP_TYPE){
|
||||||
user.getWorkShopController().addWorkShopExp(user,addExp);
|
user.getWorkShopController().addWorkShopExp(user,addExp);
|
||||||
while (nums-->0){
|
Map<Integer,Integer> equips = new HashMap<>();
|
||||||
Equip equip = new Equip(Integer.toString(uid), equipTid, user.getWorkShopController().getWorkShopLevel(),runneIdsList);
|
equips.put(equipTid,nums);
|
||||||
user.getEquipManager().addEquip(user,equip);
|
ItemUtil.addEquip(user,equips,dropBuilder,BIReason.WORKSHOP_CREATEQUIP);
|
||||||
dropBuilder.addEquipId(CBean2Proto.getEquipProto(equip));
|
|
||||||
}
|
|
||||||
}else if( type == GlobalsDef.COOK_SHOP_TYPE){
|
}else if( type == GlobalsDef.COOK_SHOP_TYPE){
|
||||||
user.getWorkShopController().addCookExp(addExp);
|
user.getWorkShopController().addCookExp(addExp);
|
||||||
Map<Integer,Integer> items = new HashMap<>();
|
Map<Integer,Integer> items = new HashMap<>();
|
||||||
items.put(equipTid,SMysteryFoodSetting.getsMysteryFoodSetting().getFoodNum());
|
items.put(equipTid,SMysteryFoodSetting.getsMysteryFoodSetting().getFoodNum()*nums);
|
||||||
ItemUtil.addItem(user,items,dropBuilder);
|
ItemUtil.addItem(user,items,dropBuilder,BIReason.WORKSHOP_CREATEQUIP);
|
||||||
}
|
}
|
||||||
PlayerInfoProto.WorkShopEquipCreateResponse build = PlayerInfoProto.WorkShopEquipCreateResponse.newBuilder().setType(type).setDrop(dropBuilder).build();
|
PlayerInfoProto.WorkShopEquipCreateResponse build = PlayerInfoProto.WorkShopEquipCreateResponse.newBuilder().setType(type).setDrop(dropBuilder).build();
|
||||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.WORKSHOP_EQUIP_CREATE_RESPONSE_VALUE,build,true);
|
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.WORKSHOP_EQUIP_CREATE_RESPONSE_VALUE,build,true);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ljsd.jieling.logic.mail;
|
package com.ljsd.jieling.logic.mail;
|
||||||
|
|
||||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
import com.ljsd.jieling.logic.dao.root.MailingSystem;
|
import com.ljsd.jieling.logic.dao.root.MailingSystem;
|
||||||
|
@ -187,7 +188,7 @@ public class MailLogic {
|
||||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"");
|
MessageUtil.sendErrorResponse(iSession,0,msgId,"");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, itemArr);
|
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, itemArr, BIReason.TAKE_MAIL_REWARD);
|
||||||
for (String mailId:delMailIds){
|
for (String mailId:delMailIds){
|
||||||
mailManager.removeMail(mailId);
|
mailManager.removeMail(mailId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.config.SCHero;
|
||||||
import com.ljsd.jieling.config.SLevelDifficultyConfig;
|
import com.ljsd.jieling.config.SLevelDifficultyConfig;
|
||||||
import com.ljsd.jieling.config.STaskConfig;
|
import com.ljsd.jieling.config.STaskConfig;
|
||||||
import com.ljsd.jieling.config.SVipLevelConfig;
|
import com.ljsd.jieling.config.SVipLevelConfig;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
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;
|
||||||
|
@ -70,7 +71,7 @@ public class MissionLoigc {
|
||||||
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.VIP_MISSION_REWARD, missionId);
|
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.VIP_MISSION_REWARD, missionId);
|
||||||
List<MissionStateChangeInfo> missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.VIPMISSION);
|
List<MissionStateChangeInfo> missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.VIPMISSION);
|
||||||
if(!missionStateChangeInfos.isEmpty()){
|
if(!missionStateChangeInfos.isEmpty()){
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups());
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD);
|
||||||
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
|
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
|
||||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
|
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
|
||||||
}else{
|
}else{
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.config.SVipLevelConfig;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.logic.dao.PlayerManager;
|
import com.ljsd.jieling.logic.dao.PlayerManager;
|
||||||
import com.ljsd.jieling.logic.dao.TeamPosManager;
|
import com.ljsd.jieling.logic.dao.TeamPosManager;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
@ -168,6 +169,7 @@ public class PlayerLogic {
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
|
int reson=-1;
|
||||||
SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(playerInfoManager.getVipLevel());
|
SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(playerInfoManager.getVipLevel());
|
||||||
int[][] rewards=null;
|
int[][] rewards=null;
|
||||||
if(type == 1){
|
if(type == 1){
|
||||||
|
@ -177,6 +179,7 @@ public class PlayerLogic {
|
||||||
}
|
}
|
||||||
playerInfoManager.setHadTakeLevelBoxVip(1);
|
playerInfoManager.setHadTakeLevelBoxVip(1);
|
||||||
rewards = sVipLevelConfig.getVipBoxReward();
|
rewards = sVipLevelConfig.getVipBoxReward();
|
||||||
|
reson = BIReason.TAKE_VIP_LEVEL_REWARD;
|
||||||
}else if(type == 2){
|
}else if(type == 2){
|
||||||
if(playerInfoManager.getHadTakeDailyBoxVip() == 1 || playerInfoManager.getHadTakeLevelBoxVip() == 0 ){
|
if(playerInfoManager.getHadTakeDailyBoxVip() == 1 || playerInfoManager.getHadTakeLevelBoxVip() == 0 ){
|
||||||
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.VIP_TAKE_REWARD_RESPONSE_VALUE,"had taked the vip daily reward");
|
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.VIP_TAKE_REWARD_RESPONSE_VALUE,"had taked the vip daily reward");
|
||||||
|
@ -184,8 +187,9 @@ public class PlayerLogic {
|
||||||
}
|
}
|
||||||
playerInfoManager.setHadTakeDailyBoxVip(1);
|
playerInfoManager.setHadTakeDailyBoxVip(1);
|
||||||
rewards = sVipLevelConfig.getVipBoxDailyReward();
|
rewards = sVipLevelConfig.getVipBoxDailyReward();
|
||||||
|
reson = BIReason.TAKE_VIP_DAILY_REWARD;
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, rewards);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, rewards,reson);
|
||||||
PlayerInfoProto.VipTakeBoxResponse build = PlayerInfoProto.VipTakeBoxResponse.newBuilder().setDrop(drop).build();
|
PlayerInfoProto.VipTakeBoxResponse build = PlayerInfoProto.VipTakeBoxResponse.newBuilder().setDrop(drop).build();
|
||||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.VIP_TAKE_REWARD_RESPONSE_VALUE,build,true);
|
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.VIP_TAKE_REWARD_RESPONSE_VALUE,build,true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.store;
|
||||||
import ch.qos.logback.core.util.TimeUtil;
|
import ch.qos.logback.core.util.TimeUtil;
|
||||||
import com.ljsd.jieling.config.SStoreConfig;
|
import com.ljsd.jieling.config.SStoreConfig;
|
||||||
import com.ljsd.jieling.config.SStoreTypeConfig;
|
import com.ljsd.jieling.config.SStoreTypeConfig;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.logic.dao.PlayerManager;
|
import com.ljsd.jieling.logic.dao.PlayerManager;
|
||||||
import com.ljsd.jieling.logic.dao.StoreInfo;
|
import com.ljsd.jieling.logic.dao.StoreInfo;
|
||||||
import com.ljsd.jieling.logic.dao.StoreManager;
|
import com.ljsd.jieling.logic.dao.StoreManager;
|
||||||
|
@ -225,7 +226,7 @@ public class StoreLogic {
|
||||||
int goodsId = sStoreConfig.getGoods()[0];
|
int goodsId = sStoreConfig.getGoods()[0];
|
||||||
int goodsNum = sStoreConfig.getGoods()[1]*itemNum;
|
int goodsNum = sStoreConfig.getGoods()[1]*itemNum;
|
||||||
String reward = goodsId +"#"+goodsNum;
|
String reward = goodsId +"#"+goodsNum;
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt2(reward));
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt2(reward), BIReason.STORE_BUY_ITEM);
|
||||||
PlayerInfoProto.BuyStoreItemResponse builder = PlayerInfoProto.BuyStoreItemResponse.newBuilder().setDrop(drop).build();
|
PlayerInfoProto.BuyStoreItemResponse builder = PlayerInfoProto.BuyStoreItemResponse.newBuilder().setDrop(drop).build();
|
||||||
MessageUtil.sendMessage(iSession, 1,msgId, builder, true);
|
MessageUtil.sendMessage(iSession, 1,msgId, builder, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
package com.ljsd.jieling.util;
|
package com.ljsd.jieling.util;
|
||||||
|
|
||||||
import com.ljsd.jieling.config.*;
|
import com.ljsd.jieling.config.*;
|
||||||
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.globals.GlobalItemType;
|
import com.ljsd.jieling.globals.GlobalItemType;
|
||||||
import com.ljsd.jieling.handler.map.MapManager;
|
import com.ljsd.jieling.handler.map.MapManager;
|
||||||
|
@ -21,7 +24,7 @@ public class ItemUtil {
|
||||||
private static Map<Integer,String> dropRewardMap = new ConcurrentHashMap<>();
|
private static Map<Integer,String> dropRewardMap = new ConcurrentHashMap<>();
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(ItemUtil.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(ItemUtil.class);
|
||||||
//指定道具掉落(如:邮件,初始化物品)
|
//指定道具掉落(如:邮件,初始化物品)
|
||||||
public static CommonProto.Drop.Builder drop(User user, int[][] itemArr) throws Exception {
|
public static CommonProto.Drop.Builder drop(User user, int[][] itemArr,int reason) throws Exception {
|
||||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||||
Map<Integer, Integer> itemMap = new HashMap<>();
|
Map<Integer, Integer> itemMap = new HashMap<>();
|
||||||
Map<Integer, Integer> cardMap = new HashMap<>();
|
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||||
|
@ -29,14 +32,14 @@ public class ItemUtil {
|
||||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
||||||
|
|
||||||
useRandomItem(user,randomMap);
|
useRandomItem(user,randomMap,reason);
|
||||||
addItem(user,itemMap,dropBuilder);
|
addItem(user,itemMap,dropBuilder,reason);
|
||||||
addCard(user,cardMap,dropBuilder);
|
addCard(user,cardMap,dropBuilder,reason);
|
||||||
addEquip(user,equipMap,dropBuilder);
|
addEquip(user,equipMap,dropBuilder,reason);
|
||||||
return dropBuilder;
|
return dropBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CommonProto.Drop.Builder dropPer(User user, int[][] itemArr) throws Exception {
|
public static CommonProto.Drop.Builder dropPer(User user, int[][] itemArr,int reason) throws Exception {
|
||||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||||
for(int [] item : itemArr){
|
for(int [] item : itemArr){
|
||||||
Map<Integer, Integer> itemMap = new HashMap<>();
|
Map<Integer, Integer> itemMap = new HashMap<>();
|
||||||
|
@ -44,15 +47,15 @@ public class ItemUtil {
|
||||||
Map<Integer,Integer> equipMap = new HashMap<>();
|
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||||
selectItemArr(new int[][]{item},cardMap,itemMap,equipMap,randomMap);
|
selectItemArr(new int[][]{item},cardMap,itemMap,equipMap,randomMap);
|
||||||
useRandomItem(user,randomMap);
|
useRandomItem(user,randomMap,reason);
|
||||||
addItem(user,itemMap,dropBuilder);
|
addItem(user,itemMap,dropBuilder,reason);
|
||||||
addCard(user,cardMap,dropBuilder);
|
addCard(user,cardMap,dropBuilder,reason);
|
||||||
addEquip(user,equipMap,dropBuilder);
|
addEquip(user,equipMap,dropBuilder,reason);
|
||||||
}
|
}
|
||||||
return dropBuilder;
|
return dropBuilder;
|
||||||
}
|
}
|
||||||
//活动额外掉落
|
//活动额外掉落
|
||||||
public static void activityDrop(User user,CommonProto.Drop.Builder dropBuilder ,int[] dropGroupIds, float dropRatio) throws Exception {
|
public static void activityDrop(User user,CommonProto.Drop.Builder dropBuilder ,int[] dropGroupIds, float dropRatio,int reason) throws Exception {
|
||||||
Map<Integer, Integer> itemMap = new HashMap<>();
|
Map<Integer, Integer> itemMap = new HashMap<>();
|
||||||
Map<Integer, Integer> cardMap = new HashMap<>();
|
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||||
Map<Integer, Integer> equipMap = new HashMap<>();
|
Map<Integer, Integer> equipMap = new HashMap<>();
|
||||||
|
@ -64,10 +67,10 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
selectDrop(sRewardGroup, itemMap, cardMap, equipMap, randomMap, dropRatio);
|
selectDrop(sRewardGroup, itemMap, cardMap, equipMap, randomMap, dropRatio);
|
||||||
}
|
}
|
||||||
useRandomItem(user, randomMap);
|
useRandomItem(user, randomMap,reason);
|
||||||
addItem(user, itemMap, dropBuilder);
|
addItem(user, itemMap, dropBuilder,reason);
|
||||||
addCard(user, cardMap, dropBuilder);
|
addCard(user, cardMap, dropBuilder,reason);
|
||||||
addEquip(user, equipMap, dropBuilder);
|
addEquip(user, equipMap, dropBuilder,reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void getactivityDropInfo(int[] dropGroupIds, float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap ,Map<Integer, Integer> randomMap) throws Exception {
|
public static void getactivityDropInfo(int[] dropGroupIds, float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap ,Map<Integer, Integer> randomMap) throws Exception {
|
||||||
|
@ -81,12 +84,12 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
//掉落组概率
|
//掉落组概率
|
||||||
public static CommonProto.Drop.Builder drop(User user, Map<int [],Float> dropGroupAndRatioMap) throws Exception {
|
public static CommonProto.Drop.Builder drop(User user, Map<int [],Float> dropGroupAndRatioMap,int reason) throws Exception {
|
||||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||||
for (Map.Entry<int [],Float> entry :dropGroupAndRatioMap.entrySet()){
|
for (Map.Entry<int [],Float> entry :dropGroupAndRatioMap.entrySet()){
|
||||||
int[] dropGroupIds = entry.getKey();
|
int[] dropGroupIds = entry.getKey();
|
||||||
float dropRatio = entry.getValue();
|
float dropRatio = entry.getValue();
|
||||||
activityDrop(user,dropBuilder,dropGroupIds,dropRatio);
|
activityDrop(user,dropBuilder,dropGroupIds,dropRatio,reason);
|
||||||
}
|
}
|
||||||
return dropBuilder;
|
return dropBuilder;
|
||||||
}
|
}
|
||||||
|
@ -100,7 +103,7 @@ public class ItemUtil {
|
||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,float dropRatio, int isMapping) throws Exception {
|
public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,float dropRatio, int isMapping,int reason) throws Exception {
|
||||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||||
Map<Integer, Integer> itemMap = new HashMap<>();
|
Map<Integer, Integer> itemMap = new HashMap<>();
|
||||||
Map<Integer, Integer> cardMap = new HashMap<>();
|
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||||
|
@ -113,14 +116,14 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
selectDrop(sRewardGroup,itemMap,cardMap,equipMap,randomMap,dropRatio);
|
selectDrop(sRewardGroup,itemMap,cardMap,equipMap,randomMap,dropRatio);
|
||||||
}
|
}
|
||||||
useRandomItem(user,randomMap);
|
useRandomItem(user,randomMap,reason);
|
||||||
if (isMapping == 1) {
|
if (isMapping == 1) {
|
||||||
addItemToTemporaryBag(user, itemMap, equipMap, dropBuilder);
|
addItemToTemporaryBag(user, itemMap, equipMap, dropBuilder);
|
||||||
} else {
|
} else {
|
||||||
addItem(user,itemMap,dropBuilder);
|
addItem(user,itemMap,dropBuilder,reason);
|
||||||
addEquip(user,equipMap,dropBuilder);
|
addEquip(user,equipMap,dropBuilder,reason);
|
||||||
}
|
}
|
||||||
addCard(user,cardMap,dropBuilder);
|
addCard(user,cardMap,dropBuilder,reason);
|
||||||
return dropBuilder;
|
return dropBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,11 +162,11 @@ public class ItemUtil {
|
||||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void drop(User user,CommonProto.Drop.Builder dropBuilder,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap) throws Exception {
|
public static void drop(User user,CommonProto.Drop.Builder dropBuilder,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,int reason) throws Exception {
|
||||||
useRandomItem(user, randomMap);
|
useRandomItem(user, randomMap, reason);
|
||||||
addItem(user, itemMap, dropBuilder);
|
addItem(user, itemMap, dropBuilder,reason);
|
||||||
addCard(user, cardMap, dropBuilder);
|
addCard(user, cardMap, dropBuilder,reason);
|
||||||
addEquip(user, equipMap, dropBuilder);
|
addEquip(user, equipMap, dropBuilder,reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getReward(Map<Integer, Integer> itemMap,Map<Integer, Integer> cardMap,Map<Integer, Integer> equipMap, Map<Integer,Integer> randomMap) {
|
private static String getReward(Map<Integer, Integer> itemMap,Map<Integer, Integer> cardMap,Map<Integer, Integer> equipMap, Map<Integer,Integer> randomMap) {
|
||||||
|
@ -343,7 +346,7 @@ public class ItemUtil {
|
||||||
* @param itemMap
|
* @param itemMap
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static void addItem(User user, Map<Integer, Integer> itemMap,CommonProto.Drop.Builder dropBuilder) throws Exception {
|
public static void addItem(User user, Map<Integer, Integer> itemMap,CommonProto.Drop.Builder dropBuilder,int reason) throws Exception {
|
||||||
if (itemMap.isEmpty()) {
|
if (itemMap.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -358,6 +361,7 @@ public class ItemUtil {
|
||||||
if(itemNum <= 0){
|
if(itemNum <= 0){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
itemNum=privilegeAdd(user,reason,sItem.getItemType(),itemNum);
|
||||||
if (itemNum >= sItem.getItemNumlimit()){
|
if (itemNum >= sItem.getItemNumlimit()){
|
||||||
itemNum = sItem.getItemNumlimit();
|
itemNum = sItem.getItemNumlimit();
|
||||||
}
|
}
|
||||||
|
@ -561,7 +565,7 @@ public class ItemUtil {
|
||||||
* @param equipMap
|
* @param equipMap
|
||||||
* @param dropBuilder
|
* @param dropBuilder
|
||||||
*/
|
*/
|
||||||
private static void addEquip(User user, Map<Integer, Integer> equipMap, CommonProto.Drop.Builder dropBuilder) throws Exception {
|
public static void addEquip(User user, Map<Integer, Integer> equipMap, CommonProto.Drop.Builder dropBuilder,int reason) throws Exception {
|
||||||
if (equipMap.isEmpty()) {
|
if (equipMap.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -626,7 +630,7 @@ public class ItemUtil {
|
||||||
* @param dropBuilder
|
* @param dropBuilder
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static void addCard(User user,Map<Integer,Integer> cardMap,CommonProto.Drop.Builder dropBuilder) throws Exception {
|
public static void addCard(User user,Map<Integer,Integer> cardMap,CommonProto.Drop.Builder dropBuilder,int reason) throws Exception {
|
||||||
if (cardMap.isEmpty()) {
|
if (cardMap.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -770,7 +774,7 @@ public class ItemUtil {
|
||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static CommonProto.Drop.Builder useRandomItem(User user,Map<Integer,Integer> randomMap) throws Exception {
|
public static CommonProto.Drop.Builder useRandomItem(User user,Map<Integer,Integer> randomMap,int reason) throws Exception {
|
||||||
StringBuilder dropIds = new StringBuilder();
|
StringBuilder dropIds = new StringBuilder();
|
||||||
for (Map.Entry<Integer,Integer> entry : randomMap.entrySet()){
|
for (Map.Entry<Integer,Integer> entry : randomMap.entrySet()){
|
||||||
int itemId = entry.getKey();
|
int itemId = entry.getKey();
|
||||||
|
@ -787,7 +791,7 @@ public class ItemUtil {
|
||||||
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
|
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
|
||||||
if (!dropIds.toString().isEmpty()){
|
if (!dropIds.toString().isEmpty()){
|
||||||
int[] ints = StringUtil.parseFiledInt(dropIds.toString());
|
int[] ints = StringUtil.parseFiledInt(dropIds.toString());
|
||||||
drop = ItemUtil.drop(user, ints, 1, 0);
|
drop = ItemUtil.drop(user, ints, 1, 0,reason);
|
||||||
}
|
}
|
||||||
return drop;
|
return drop;
|
||||||
}
|
}
|
||||||
|
@ -886,4 +890,37 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//特权加成收益计算
|
||||||
|
public static int privilegeAdd(User user,int reason,int itemType,int sourceNum){
|
||||||
|
int vipLevel = user.getPlayerInfoManager().getVipLevel();
|
||||||
|
SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(vipLevel);
|
||||||
|
Map<Integer, Integer> privilegeMap = sVipLevelConfig.getPrivilegeMap();
|
||||||
|
if(reason == BIReason.ADVENTURE_BASE_REWARD){
|
||||||
|
sourceNum = parseTheValueByPrivilegeMap(privilegeMap,sourceNum, VipPrivilegeType.ADVENTURE_BASE_REWARD);
|
||||||
|
}
|
||||||
|
if(reason == BIReason.ADVENTURE_BASE_REWARD || reason == BIReason.ADVENTURE_RANDOM_REWARDD ){
|
||||||
|
if(itemType == GlobalItemType.MINERAL){
|
||||||
|
sourceNum = parseTheValueByPrivilegeMap(privilegeMap,sourceNum,VipPrivilegeType.ADVENTURE_MINERAL_REWARD);
|
||||||
|
}else if(itemType == GlobalItemType.RUNNE){
|
||||||
|
sourceNum = parseTheValueByPrivilegeMap(privilegeMap,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sourceNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int parseTheValueByPrivilegeMap( Map<Integer, Integer> privilegeMap,int sourceNum,int privigeId){
|
||||||
|
Integer privigeValue = privilegeMap.get(1);
|
||||||
|
if(privigeValue!=null){
|
||||||
|
SPrivilegeTypeConfig sPrivilegeTypeConfig = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(1);
|
||||||
|
int dataType = sPrivilegeTypeConfig.getIfFloat();
|
||||||
|
if(dataType == GlobalsDef.PERCENT_TYPE){
|
||||||
|
sourceNum=(10000 + privigeValue) * sourceNum / 10000;
|
||||||
|
}else{
|
||||||
|
sourceNum+=privigeValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sourceNum;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue