Merge branch 'master_test_gn' of http://60.1.1.230/backend/jieling_server into master_test_gn
commit
f929ea69db
|
@ -279,16 +279,18 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
||||||
*/
|
*/
|
||||||
private void finalActivityReset(User user){
|
private void finalActivityReset(User user){
|
||||||
Map<Integer, ActivityMission> missionMap = user.getActivityManager().getActivityMissionMap();
|
Map<Integer, ActivityMission> missionMap = user.getActivityManager().getActivityMissionMap();
|
||||||
|
int choiceDrawId = 20012;
|
||||||
|
int specialMonsterId = 14501;
|
||||||
// 限时招募
|
// 限时招募
|
||||||
ActivityMission mission = missionMap.get(20012);
|
ActivityMission mission = missionMap.get(choiceDrawId);
|
||||||
if (mission != null){
|
if (mission != null){
|
||||||
ChoiceDrawCardActivity activity = (ChoiceDrawCardActivity)ActivityTypeEnum.getActicityType(20012);
|
ChoiceDrawCardActivity activity = (ChoiceDrawCardActivity)ActivityTypeEnum.getActicityType(choiceDrawId);
|
||||||
activity.checkResetProgress(user,mission);
|
activity.checkResetProgress(user,mission);
|
||||||
}
|
}
|
||||||
// 灵兽招募
|
// 灵兽招募
|
||||||
ActivityMission mission2 = missionMap.get(14501);
|
ActivityMission mission2 = missionMap.get(specialMonsterId);
|
||||||
if (mission2 != null){
|
if (mission2 != null){
|
||||||
LimitRandomSpecialMonsterActivityNew activity = (LimitRandomSpecialMonsterActivityNew)ActivityTypeEnum.getActicityType(14501);
|
LimitRandomSpecialMonsterActivityNew activity = (LimitRandomSpecialMonsterActivityNew)ActivityTypeEnum.getActicityType(specialMonsterId);
|
||||||
activity.checkResetProgress(user,mission2);
|
activity.checkResetProgress(user,mission2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.ljsd.jieling.handler.activity;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.handler.BaseHandler;
|
||||||
|
import com.ljsd.jieling.logic.activity.activityLogic.WeekCardLogic;
|
||||||
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
|
import rpc.protocols.ActivityProto;
|
||||||
|
import rpc.protocols.CommonProto;
|
||||||
|
import rpc.protocols.MessageTypeProto;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class GetTrumpSelectItemHandler extends BaseHandler<ActivityProto.GetTrumpSelectItemRequest> {
|
||||||
|
@Override
|
||||||
|
public MessageTypeProto.MessageType getMessageCode() {
|
||||||
|
return MessageTypeProto.MessageType.GET_TRUMP_SELECT_ITEM_REQUEST;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取天地洪炉抽奖选择up道具协议
|
||||||
|
* @param session
|
||||||
|
* @param proto
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void processWithProto(ISession session, ActivityProto.GetTrumpSelectItemRequest proto) throws Exception{
|
||||||
|
ActivityProto.GetTrumpSelectItemResponse.Builder builder = ActivityProto.GetTrumpSelectItemResponse.newBuilder();
|
||||||
|
User user = UserManager.getUser(session.getUid());
|
||||||
|
List<Integer>selectList=new ArrayList<>();
|
||||||
|
for (Map.Entry<Integer, Integer> entry : user.getHeroManager().getTrumpSelectItemMap().entrySet()) {
|
||||||
|
selectList.add(entry.getValue());
|
||||||
|
}
|
||||||
|
builder.addAllSelectIds(selectList);
|
||||||
|
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.GET_TRUMP_SELECT_ITEM_RESPONSE_VALUE, builder.build(), true);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.ljsd.jieling.handler.activity;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.exception.ErrorCode;
|
||||||
|
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
|
import com.ljsd.jieling.handler.BaseHandler;
|
||||||
|
import com.ljsd.jieling.jbean.ActivityMission;
|
||||||
|
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||||
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import rpc.protocols.ActivityProto;
|
||||||
|
import rpc.protocols.MessageTypeProto;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lvxinran
|
||||||
|
* @date 2020/11/11
|
||||||
|
* @discribe
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class TrumpGachaSelectItemRequestHandler extends BaseHandler<ActivityProto.TrumpGachaSelectItemRequest>{
|
||||||
|
@Override
|
||||||
|
public MessageTypeProto.MessageType getMessageCode() {
|
||||||
|
return MessageTypeProto.MessageType.TRUMP_GACHA_SELECT_ITEM_REQUEST;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void processWithProto(ISession iSession, ActivityProto.TrumpGachaSelectItemRequest proto) throws Exception {
|
||||||
|
User user = UserManager.getUser(iSession.getUid());
|
||||||
|
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||||
|
ActivityMission activityMission = activityMissionMap.get(proto.getActivityId());
|
||||||
|
if(activityMission==null){
|
||||||
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
|
}
|
||||||
|
HashMap<Integer, Integer> map = new HashMap<>();
|
||||||
|
for (int i = 0; i < proto.getSelectIdsList().size(); i++) {
|
||||||
|
map.put(i+1,proto.getSelectIdsList().get(i));
|
||||||
|
}
|
||||||
|
user.getHeroManager().setTrumpSelectItemMap(map);
|
||||||
|
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.TRUMP_GACHA_SELECT_ITEM_RESPONSE_VALUE,null,true);
|
||||||
|
}
|
||||||
|
}
|
|
@ -118,6 +118,7 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
||||||
} else if (fightResult.getResult() == 1) {
|
} else if (fightResult.getResult() == 1) {
|
||||||
//赢了
|
//赢了
|
||||||
//结算已有的灵脉
|
//结算已有的灵脉
|
||||||
|
int score =0;
|
||||||
if (myLingmaiId != 0){
|
if (myLingmaiId != 0){
|
||||||
LingMaiSecretArea myLingmai = lingMaiMap.get(String.valueOf(myLingmaiId));
|
LingMaiSecretArea myLingmai = lingMaiMap.get(String.valueOf(myLingmaiId));
|
||||||
config = SLodeConfig.lodeConfig.get(myLingmaiId);
|
config = SLodeConfig.lodeConfig.get(myLingmaiId);
|
||||||
|
@ -128,7 +129,7 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
||||||
myLingmai.setScore1(myLingmai.getScore1() + minute*config.getRewardList()[0][1]+(second*config.getRewardList()[0][1]/60));
|
myLingmai.setScore1(myLingmai.getScore1() + minute*config.getRewardList()[0][1]+(second*config.getRewardList()[0][1]/60));
|
||||||
//myLingmai.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
//myLingmai.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||||
LOGGER.info("uid:"+uid+"first occupy myLingmaiId: "+myLingmaiId+" minute:"+minute+"second:"+second);
|
LOGGER.info("uid:"+uid+"first occupy myLingmaiId: "+myLingmaiId+" minute:"+minute+"second:"+second);
|
||||||
int score = myLingmai.getScore1() + config.getRewardList()[0][1] * myLingmai.getOccupyTime()/60;
|
score = myLingmai.getScore1() + config.getRewardList()[0][1] * myLingmai.getOccupyTime()/60;
|
||||||
rank = RankContext.getRankEnum(RankEnum.CROSS_LINGMAI_RANK_PERSON.getType());
|
rank = RankContext.getRankEnum(RankEnum.CROSS_LINGMAI_RANK_PERSON.getType());
|
||||||
rank.addRank(user.getId(), String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, score);
|
rank.addRank(user.getId(), String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, score);
|
||||||
//清除已有灵脉数据
|
//清除已有灵脉数据
|
||||||
|
@ -136,8 +137,23 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
||||||
RedisUtil.getInstence().removeMapEntrys(RedisKey.CROSS_LINGMAISECRET_INFO,
|
RedisUtil.getInstence().removeMapEntrys(RedisKey.CROSS_LINGMAISECRET_INFO,
|
||||||
crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(myLingmaiId));
|
crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(myLingmaiId));
|
||||||
}
|
}
|
||||||
|
LingMaiSecretArea lingMaiSecretArea = new LingMaiSecretArea();
|
||||||
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid,crossGroup,group);
|
lingMaiSecretArea.setId(id);
|
||||||
|
lingMaiSecretArea.setUid(uid);
|
||||||
|
String serverName = CrossServiceLogic.simplifyServerName(GameApplication.serverId);
|
||||||
|
lingMaiSecretArea.setServerName(serverName);
|
||||||
|
lingMaiSecretArea.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||||
|
lingMaiSecretArea.setBeginOccupyTime(TimeUtils.nowInt());
|
||||||
|
if(myLingmaiId != 0&&score!=0){
|
||||||
|
lingMaiSecretArea.setScore1(score);
|
||||||
|
}
|
||||||
|
//被打下榜 重新上
|
||||||
|
if(myLingmaiId ==0){
|
||||||
|
double disappearScore = rank.getScoreById(uid, crossGroup + RedisKey.Delimiter_colon + group);
|
||||||
|
if(disappearScore>0){
|
||||||
|
lingMaiSecretArea.setScore1((int) disappearScore);
|
||||||
|
}
|
||||||
|
}
|
||||||
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(id), lingMaiSecretArea);
|
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(id), lingMaiSecretArea);
|
||||||
}
|
}
|
||||||
res.setResult(fightResult.getResult());
|
res.setResult(fightResult.getResult());
|
||||||
|
@ -190,33 +206,44 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
||||||
60 : ((TimeUtils.nowInt() - (int)oldOwner.getGetAwardTimeOrOccupyTime()) % 60);
|
60 : ((TimeUtils.nowInt() - (int)oldOwner.getGetAwardTimeOrOccupyTime()) % 60);
|
||||||
long tempScore = second*config.getRewardList()[0][1]/60;
|
long tempScore = second*config.getRewardList()[0][1]/60;
|
||||||
LOGGER.info("uid:"+uid+"pvp other occupy id:"+id+" minute:"+minute+"second:"+second);
|
LOGGER.info("uid:"+uid+"pvp other occupy id:"+id+" minute:"+minute+"second:"+second);
|
||||||
oldOwner.setScore1(oldOwner.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore);
|
//oldOwner.setScore1(oldOwner.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore);
|
||||||
long score = oldOwner.getScore1() + config.getRewardList()[0][1]*(long)oldOwner.getOccupyTime()/60;
|
int score1 =oldOwner.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore;
|
||||||
rank.addRank(defUid, String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, score);
|
long scoreOld = score1 + config.getRewardList()[0][1]*(long)oldOwner.getOccupyTime()/60;
|
||||||
|
rank.addRank(defUid, String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, scoreOld);
|
||||||
|
LingMaiSecretArea myLingmai =null;
|
||||||
if (myLingmaiId != 0) {
|
if (myLingmaiId != 0) {
|
||||||
//本人已有灵脉结算
|
//本人已有灵脉结算
|
||||||
LingMaiSecretArea myLingmai = lingMaiMap.get(String.valueOf(myLingmaiId));//上一个占领者
|
myLingmai = lingMaiMap.get(String.valueOf(myLingmaiId));//上一个占领者
|
||||||
config = SLodeConfig.lodeConfig.get(myLingmaiId);
|
config = SLodeConfig.lodeConfig.get(myLingmaiId);
|
||||||
//minute = ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60) > 10 ? 10 : ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60);
|
//minute = ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60) > 10 ? 10 : ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60);
|
||||||
minute = ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60);
|
minute = ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60);
|
||||||
second =((TimeUtils.nowInt() - (int)oldOwner.getGetAwardTimeOrOccupyTime()) % 60) >60 ?
|
second =((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) % 60) >60 ?
|
||||||
60 : ((TimeUtils.nowInt() - (int)oldOwner.getGetAwardTimeOrOccupyTime()) % 60);
|
60 : ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) % 60);
|
||||||
LOGGER.info("uid:"+uid+"pvp owner occupy id:"+myLingmaiId+" minute:"+minute+"second:"+second);
|
LOGGER.info("uid:"+uid+"pvp owner occupy id:"+myLingmaiId+" minute:"+minute+"second:"+second);
|
||||||
tempScore =(second*config.getRewardList()[0][1]/60);
|
tempScore =(second*config.getRewardList()[0][1]/60);
|
||||||
myLingmai.setScore1(myLingmai.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore);
|
score1 = myLingmai.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore;
|
||||||
|
//long newScore = score1+
|
||||||
|
//myLingmai.setScore1(myLingmai.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore);
|
||||||
myLingmai.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
myLingmai.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||||
score = myLingmai.getScore1() + config.getRewardList()[0][1] * (long)myLingmai.getOccupyTime()/60;
|
//我的
|
||||||
|
long score = score1 + config.getRewardList()[0][1] * (long)myLingmai.getOccupyTime()/60;
|
||||||
rank = RankContext.getRankEnum(RankEnum.CROSS_LINGMAI_RANK_PERSON.getType());
|
rank = RankContext.getRankEnum(RankEnum.CROSS_LINGMAI_RANK_PERSON.getType());
|
||||||
rank.addRank(user.getId(), String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, score);
|
rank.addRank(user.getId(), String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, score);
|
||||||
|
myLingmai.setScore1((int)score);
|
||||||
//两边都计算分 置换
|
//两边都计算分 置换
|
||||||
//oldOwner.setScore1(score);
|
//oldOwner.setScore1(score);
|
||||||
oldOwner.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
oldOwner.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||||
oldOwner.setId(myLingmaiId);
|
oldOwner.setId(myLingmaiId);
|
||||||
oldOwner.setBeginOccupyTime(TimeUtils.nowInt());
|
oldOwner.setBeginOccupyTime(TimeUtils.nowInt());
|
||||||
|
oldOwner.setOccupyTime(0);
|
||||||
|
oldOwner.setScore1((int)scoreOld);
|
||||||
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(myLingmaiId), oldOwner);
|
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(myLingmaiId), oldOwner);
|
||||||
}
|
}
|
||||||
//易主
|
//易主
|
||||||
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid,crossGroup,group);
|
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid,crossGroup,group);
|
||||||
|
if(myLingmai!=null){
|
||||||
|
lingMaiSecretArea.setScore1(myLingmai.getScore1());
|
||||||
|
}
|
||||||
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(id), lingMaiSecretArea);
|
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(id), lingMaiSecretArea);
|
||||||
//挑战者记录
|
//挑战者记录
|
||||||
String key1 = RedisKey.getKey(RedisKey.CROSS_LINGMAISECRET_RECORD, String.valueOf(user.getId()), false);
|
String key1 = RedisKey.getKey(RedisKey.CROSS_LINGMAISECRET_RECORD, String.valueOf(user.getId()), false);
|
||||||
|
|
|
@ -88,6 +88,7 @@ public enum ActivityTypeEnum {
|
||||||
LING_LONG_PAVILION(ActivityType.LING_LONG_PAVILION,DefaultEmptyActivity::new),
|
LING_LONG_PAVILION(ActivityType.LING_LONG_PAVILION,DefaultEmptyActivity::new),
|
||||||
RIDING_SWARD(ActivityType.RIDING_SWARD,RidingSwardActivity::new),
|
RIDING_SWARD(ActivityType.RIDING_SWARD,RidingSwardActivity::new),
|
||||||
ITEMS_STORE_NEW(ActivityType.ITEMS_STORE_NEW,SuperBoxActivity::new),
|
ITEMS_STORE_NEW(ActivityType.ITEMS_STORE_NEW,SuperBoxActivity::new),
|
||||||
|
TRUMP_GACHA_ACTIVITY(ActivityType.TRUMP_GACHA_ACTIVITY,LimitRandomCardActivity::new),
|
||||||
;
|
;
|
||||||
|
|
||||||
private int type;
|
private int type;
|
||||||
|
|
|
@ -151,7 +151,6 @@ public class LimitRandomSpecialMonsterActivityNew extends LimitRandomCardActivit
|
||||||
mission.getActivityMissionMap().put(0, progressInfo);
|
mission.getActivityMissionMap().put(0, progressInfo);
|
||||||
|
|
||||||
mission.setOpenType(1);
|
mission.setOpenType(1);
|
||||||
mission.setV(0);
|
|
||||||
mission.setActivityState(ActivityType.OPEN_STATE);
|
mission.setActivityState(ActivityType.OPEN_STATE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -160,7 +159,7 @@ public class LimitRandomSpecialMonsterActivityNew extends LimitRandomCardActivit
|
||||||
* 检查活动是否完成或者可以领取
|
* 检查活动是否完成或者可以领取
|
||||||
* @param uid
|
* @param uid
|
||||||
* @param activityId
|
* @param activityId
|
||||||
* @param activityMission4
|
* @param activityMission
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -55,8 +55,11 @@ public class CrossLingmaiLogic {
|
||||||
lingMaiSecretArea.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
lingMaiSecretArea.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||||
lingMaiSecretArea.setBeginOccupyTime(TimeUtils.nowInt());
|
lingMaiSecretArea.setBeginOccupyTime(TimeUtils.nowInt());
|
||||||
if(disappearScore>0){
|
if(disappearScore>0){
|
||||||
|
Map<String, LingMaiSecretArea> lingMaiMap = RedisUtil.getInstence().getMapValues(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.class, LingMaiSecretArea.class);
|
||||||
|
if(!lingMaiMap.values().stream().anyMatch(n->n.getUid()==uid)){
|
||||||
lingMaiSecretArea.setScore1((int) disappearScore);
|
lingMaiSecretArea.setScore1((int) disappearScore);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return lingMaiSecretArea;
|
return lingMaiSecretArea;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,6 +94,10 @@ public class HeroManager extends MongoBase {
|
||||||
*/
|
*/
|
||||||
private HashMap<Integer,Integer> beautyBagCardInfoMap = new HashMap<>();
|
private HashMap<Integer,Integer> beautyBagCardInfoMap = new HashMap<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 天地洪炉-许愿道具
|
||||||
|
*/
|
||||||
|
private HashMap<Integer,Integer> trumpSelectItemMap = new HashMap<>();
|
||||||
/**
|
/**
|
||||||
* 抽奖次数记录
|
* 抽奖次数记录
|
||||||
* key: 招募类型 value: 次数
|
* key: 招募类型 value: 次数
|
||||||
|
@ -601,6 +605,17 @@ public class HeroManager extends MongoBase {
|
||||||
this.beautyBagCardInfoMap = beautyBagCardInfoMap;
|
this.beautyBagCardInfoMap = beautyBagCardInfoMap;
|
||||||
updateString("beautyBagCardInfoMap", beautyBagCardInfoMap);
|
updateString("beautyBagCardInfoMap", beautyBagCardInfoMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HashMap<Integer, Integer> getTrumpSelectItemMap() {
|
||||||
|
return trumpSelectItemMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTrumpSelectItemMap(HashMap<Integer, Integer> trumpSelectItemMap) {
|
||||||
|
this.trumpSelectItemMap = trumpSelectItemMap;
|
||||||
|
updateString("trumpSelectItemMap", trumpSelectItemMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void putBeautyBagCardInfoMap(Integer key,Integer val) {
|
public void putBeautyBagCardInfoMap(Integer key,Integer val) {
|
||||||
this.beautyBagCardInfoMap.put(key,val);
|
this.beautyBagCardInfoMap.put(key,val);
|
||||||
updateString("beautyBagCardInfoMap", beautyBagCardInfoMap);
|
updateString("beautyBagCardInfoMap", beautyBagCardInfoMap);
|
||||||
|
|
|
@ -422,7 +422,10 @@ public class HeroLogic {
|
||||||
} else if (sLotterySetting.getLotteryType() == 3 &&
|
} else if (sLotterySetting.getLotteryType() == 3 &&
|
||||||
isActivityBeautyBag(sLotterySetting.getActivityId())) {//乾坤宝盒-许愿魂印
|
isActivityBeautyBag(sLotterySetting.getActivityId())) {//乾坤宝盒-许愿魂印
|
||||||
result = BeautyBagDrawCard(user, sLotteryRewardConfig);
|
result = BeautyBagDrawCard(user, sLotteryRewardConfig);
|
||||||
} else {
|
}else if(isActivityByIdAndType(sLotterySetting.getActivityId(),ActivityType.TRUMP_GACHA_ACTIVITY)){
|
||||||
|
result = TrumpGachaDrawCard(user, sLotteryRewardConfig);
|
||||||
|
}
|
||||||
|
else {
|
||||||
result = reward;
|
result = reward;
|
||||||
}
|
}
|
||||||
//活动抽奖计数
|
//活动抽奖计数
|
||||||
|
@ -432,6 +435,9 @@ public class HeroLogic {
|
||||||
} else if (isActivityByIdAndType(sLotterySetting.getActivityId(), ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY)) {
|
} else if (isActivityByIdAndType(sLotterySetting.getActivityId(), ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY)) {
|
||||||
//灵兽招募 计次数
|
//灵兽招募 计次数
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.SOUL_RECRUIT, 1);
|
user.getUserMissionManager().onGameEvent(user, GameEvent.SOUL_RECRUIT, 1);
|
||||||
|
}else if(isActivityByIdAndType(sLotterySetting.getActivityId(),ActivityType.TRUMP_GACHA_ACTIVITY)){
|
||||||
|
//天地洪炉抽奖 计次数
|
||||||
|
user.getUserMissionManager().onGameEvent(user, GameEvent.TRUMP_GACHA, 1);
|
||||||
}
|
}
|
||||||
//记录卡池抽奖次数
|
//记录卡池抽奖次数
|
||||||
heroManager.putRandomType(type, num + result[1]);
|
heroManager.putRandomType(type, num + result[1]);
|
||||||
|
@ -466,6 +472,30 @@ public class HeroLogic {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///天地洪炉抽奖处理
|
||||||
|
private int[] TrumpGachaDrawCard(User user, SLotteryRewardConfig sLotteryRewardConfig) {
|
||||||
|
int count = 4;
|
||||||
|
List<SLotteryRewardConfig> list = SLotteryRewardConfig.getSLotteryRewardConfigListByPoolId(sLotteryRewardConfig.getPool());
|
||||||
|
if (list == null) {
|
||||||
|
return sLotteryRewardConfig.getReward();
|
||||||
|
}
|
||||||
|
|
||||||
|
int index = list.indexOf(sLotteryRewardConfig);
|
||||||
|
if (index >= count) {
|
||||||
|
return sLotteryRewardConfig.getReward();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!user.getHeroManager().getTrumpSelectItemMap().containsKey(index + 1)) {
|
||||||
|
return sLotteryRewardConfig.getReward();
|
||||||
|
}
|
||||||
|
|
||||||
|
int[] result = new int[2];
|
||||||
|
result[0] = user.getHeroManager().getTrumpSelectItemMap().get(index + 1);
|
||||||
|
result[1] = sLotteryRewardConfig.getReward()[1];
|
||||||
|
LOGGER.info("天地洪炉抽到了UP---->" + sLotteryRewardConfig.getReward()[0] + "替换为---->" + result[0]);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isActivityBeautyBag(int activityId) {
|
private boolean isActivityBeautyBag(int activityId) {
|
||||||
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
|
@ -2308,9 +2338,6 @@ public class HeroLogic {
|
||||||
public void getPracticeSkill(List<CommonProto.FightUnitInfo> infoList,
|
public void getPracticeSkill(List<CommonProto.FightUnitInfo> infoList,
|
||||||
Map<Integer, Integer> practiceSkillMap,
|
Map<Integer, Integer> practiceSkillMap,
|
||||||
long maxForce,int sex,int userLv,List<Integer> tfInfoList) {
|
long maxForce,int sex,int userLv,List<Integer> tfInfoList) {
|
||||||
if (practiceSkillMap.isEmpty()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
StringBuilder skillStr = new StringBuilder();
|
StringBuilder skillStr = new StringBuilder();
|
||||||
// 修行技能
|
// 修行技能
|
||||||
for (Map.Entry<Integer, Integer> entry : practiceSkillMap.entrySet()) {
|
for (Map.Entry<Integer, Integer> entry : practiceSkillMap.entrySet()) {
|
||||||
|
|
|
@ -137,5 +137,6 @@ public enum GameEvent {
|
||||||
DAILY_CHALLENGE_COUNT,//日常副本挑战次数
|
DAILY_CHALLENGE_COUNT,//日常副本挑战次数
|
||||||
HARSTAGE_PARTICIPATION_REWARD,//山河社稷图参与奖励
|
HARSTAGE_PARTICIPATION_REWARD,//山河社稷图参与奖励
|
||||||
NEW_HERO_ZHAOMU,//新将招募次数
|
NEW_HERO_ZHAOMU,//新将招募次数
|
||||||
|
TRUMP_GACHA,//天地洪炉
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -336,12 +336,12 @@ public class MinuteTask extends Thread {
|
||||||
}
|
}
|
||||||
|
|
||||||
//bug 修复
|
//bug 修复
|
||||||
if(w==4){
|
/*if(w==4){
|
||||||
if(hour ==10 && minute ==50){
|
if(hour ==10 && minute ==50){
|
||||||
LOGGER.error("lingmaimijing0 000000");
|
LOGGER.error("lingmaimijing0 000000");
|
||||||
CrossLingmaiLogic.getInstance().fixBug();
|
CrossLingmaiLogic.getInstance().fixBug();
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -268,14 +268,14 @@ public class FightDataUtil {
|
||||||
for (int i = 0; i < pokemonUnitList.size(); i++) {
|
for (int i = 0; i < pokemonUnitList.size(); i++) {
|
||||||
CommonProto.FightUnitInfo unitInfo=pokemonUnitList.get(i);
|
CommonProto.FightUnitInfo unitInfo=pokemonUnitList.get(i);
|
||||||
String skillId = unitInfo.getUnitSkillIds();
|
String skillId = unitInfo.getUnitSkillIds();
|
||||||
if(skillId.equals("0")||skillId==""){
|
if(skillId.equals("0")|| StringUtil.isEmpty(skillId)){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
///100代表是修行技能
|
///100代表是修行技能
|
||||||
if (unitInfo.getPosition()==100){
|
if (unitInfo.getPosition()==100){
|
||||||
LuaValue monster = new LuaTable();
|
LuaValue monster = new LuaTable();
|
||||||
monster.set("id",0);
|
monster.set("id",0);
|
||||||
monster.set("star",0);
|
monster.set("star",unitInfo.getStar());
|
||||||
monster.set("teamDamage",unitInfo.getForceScore());
|
monster.set("teamDamage",unitInfo.getForceScore());
|
||||||
monster.set("camp",camp);
|
monster.set("camp",camp);
|
||||||
monster.set("position",unitInfo.getPosition());
|
monster.set("position",unitInfo.getPosition());
|
||||||
|
|
Loading…
Reference in New Issue