Merge branch 'master_test_hw' of http://60.1.1.230/backend/jieling_server into master_test_hw
commit
f94f4dca70
|
@ -155,6 +155,7 @@ public enum ErrorCode implements IErrorCode {
|
|||
HAD_TAKE(125, "已领取"),
|
||||
NOT_IN_TAKE_TIME(126, "不在领取期间"),
|
||||
USER_LEVE_DOWN(127,"玩家等级不够"),
|
||||
HAS_AWAKE(130,"已达最大星级"),
|
||||
SERVER_DEFINE_SELF(20000,"操作失败")
|
||||
|
||||
;
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
package com.ljsd.jieling.handler.activity;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.ActivityProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author lvxinran
|
||||
* @date 2020/11/11
|
||||
* @discribe
|
||||
*/
|
||||
@Component
|
||||
public class SpecialMonsterChooseHandler extends BaseHandler<ActivityProto.SpecicalMonsterChooseRequest>{
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.SPECICAL_MONSTER_CHOOSE_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processWithProto(ISession iSession, ActivityProto.SpecicalMonsterChooseRequest proto) throws Exception {
|
||||
ActivityLogic.getInstance().chooseSpecialMonster(iSession,proto.getActivityId(),proto.getSelectId());
|
||||
}
|
||||
}
|
|
@ -50,18 +50,25 @@ public class GetCarChallengeListHandler extends BaseHandler {
|
|||
int zsetSize = RedisUtil.getInstence().getZsetSize(key);
|
||||
List<ZsetTypedTupleWithRank> beforeList = new ArrayList<>(5);
|
||||
List<ZsetTypedTupleWithRank> afterList = new ArrayList<>(5);
|
||||
int maxWhile = 30;//最大匹配循环次数
|
||||
if(myRank == -1){
|
||||
int start = zsetSize - matchNums;
|
||||
if(start<0){
|
||||
start=0;
|
||||
int end = 0;
|
||||
while(end<maxWhile&&beforeList.size()<matchNums){
|
||||
|
||||
Set<ZSetOperations.TypedTuple<String>> beforeScore = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.CAR_DEALY_RANK, "", zsetSize-end , zsetSize-end );
|
||||
if(!beforeScore.isEmpty()){
|
||||
ZSetOperations.TypedTuple<String> beforeNext = beforeScore.iterator().next();
|
||||
if(!members.contains(Integer.parseInt(beforeNext.getValue()))){
|
||||
beforeList.add(new ZsetTypedTupleWithRank(beforeNext,zsetSize-end+1));
|
||||
}
|
||||
}
|
||||
end++;
|
||||
}
|
||||
int end=-1;
|
||||
process(start,end,members,matchNums,infos);
|
||||
// process(start,end,members,matchNums,infos);
|
||||
}else{
|
||||
int i = myRank-1;
|
||||
int j = myRank+1;
|
||||
|
||||
int maxWhile = 30;//最大匹配循环次数
|
||||
while(i>0||j<=zsetSize){
|
||||
|
||||
if(i>0){
|
||||
|
|
|
@ -76,7 +76,10 @@ public class Cmd_review_gm extends GmAbstract {
|
|||
|
||||
if (defMemberInfo.getType() == 0) {
|
||||
FamilyFightInfo fightInfo = defMemberInfo.getFightInfo();
|
||||
pvpFightEvent.setDefFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills()));
|
||||
//<<<<<<< HEAD
|
||||
// pvpFightEvent.setDefFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills()));
|
||||
//=======
|
||||
pvpFightEvent.setDefFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills(), defUid));
|
||||
defForce = fightInfo.getForce();
|
||||
} else {
|
||||
SArenaRobotConfig sArenaRobotConfig = SArenaRobotConfig.getsArenaRobotConfigById(defUid);
|
||||
|
@ -86,7 +89,10 @@ public class Cmd_review_gm extends GmAbstract {
|
|||
}
|
||||
if (attackMemberInfo.getType() == 0) {
|
||||
FamilyFightInfo fightInfo = attackMemberInfo.getFightInfo();
|
||||
pvpFightEvent.setAttackFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills()));
|
||||
//<<<<<<< HEAD
|
||||
// pvpFightEvent.setAttackFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills()));
|
||||
//=======
|
||||
pvpFightEvent.setAttackFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills(), attackId));
|
||||
minForce = fightInfo.getForce();
|
||||
} else {
|
||||
SArenaRobotConfig sArenaRobotConfig = SArenaRobotConfig.getsArenaRobotConfigById(attackId);
|
||||
|
@ -117,13 +123,19 @@ public class Cmd_review_gm extends GmAbstract {
|
|||
deffightTeamInfo = FightUtil.makePersonFightData(defInMem, pvpFightEvent.getDefTeamId(),null,null);
|
||||
}else{
|
||||
deffightTeamInfo = FightUtil. makeRobotFightData(pvpFightEvent.getDefUid());
|
||||
// deffightTeamInfo = FightUtil. makeRobotFightData(pvpFightEvent.getDefUid());
|
||||
}
|
||||
|
||||
}
|
||||
if(fightTeamInfo==null){
|
||||
if( pvpFightEvent.getFightType()!= GameFightType.TOPArena2RobotFight){
|
||||
//<<<<<<< HEAD
|
||||
// if( pvpFightEvent.getFightType()!= GameFightType.TOPArena2RobotFight){
|
||||
// if( SArenaRobotConfig.getsArenaRobotConfigById(pvpFightEvent.getAttackUid()) !=null){
|
||||
// fightTeamInfo = FightUtil. makeRobotFightData(pvpFightEvent.getAttackUid());
|
||||
//=======
|
||||
if( pvpFightEvent.getFightType()!=GameFightType.TOPArena2RobotFight){
|
||||
if( SArenaRobotConfig.getsArenaRobotConfigById(pvpFightEvent.getAttackUid()) !=null){
|
||||
fightTeamInfo = FightUtil. makeRobotFightData(pvpFightEvent.getAttackUid());
|
||||
fightTeamInfo =FightUtil. makeRobotFightData(pvpFightEvent.getAttackUid());
|
||||
}else{
|
||||
User userInMem = UserManager.getUserInMem(pvpFightEvent.getAttackUid());
|
||||
fightTeamInfo = FightUtil.makePersonFightData(userInMem, pvpFightEvent.getTeamId(),pvpFightEvent.getAttackBloodMap(),null);
|
||||
|
|
|
@ -1374,4 +1374,29 @@ public class ActivityLogic implements IEventHandler{
|
|||
return openActivityIds.contains(activityId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 灵兽活动选择灵兽
|
||||
* @param session
|
||||
* @param activityId
|
||||
* @param chooseId
|
||||
*/
|
||||
public void chooseSpecialMonster(ISession session,int activityId,int chooseId) throws Exception {
|
||||
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||
if(activity==null||activity.getType()!=ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||
ActivityMission activityMission = activityMissionMap.get(activityId);
|
||||
if(activityMission==null||!activityMission.getActivityMissionMap().containsKey(0)){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
Map<Integer, SSpiritAnimalSummon> sSpiritAnimalSummon = STableManager.getConfig(SSpiritAnimalSummon.class);
|
||||
if(!sSpiritAnimalSummon.containsKey(chooseId)||sSpiritAnimalSummon.get(chooseId).getActivityID()!=activityId){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
activityMission.getActivityMissionMap().get(0).setProgrss(chooseId);
|
||||
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.SPECICAL_MONSTER_CHOOSE_RESPONSE_VALUE,null,true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,5 +80,7 @@ public interface ActivityType {
|
|||
int SHEJI_ACTIVITY = 60;//社稷大典
|
||||
int SUB_ACTIVITY = 8000;//易经宝库
|
||||
int SKIN_RECHARGE_ACTIVITY = 71;
|
||||
int SPECIAL_MONSTER_RANDOM_ACTIVITY = 100;//灵兽限时抽卡
|
||||
int SPECIAL_MONSTER_GIFT_ACTIVITY = 101;//灵兽礼包
|
||||
|
||||
}
|
||||
|
|
|
@ -61,8 +61,8 @@ public enum ActivityTypeEnum {
|
|||
SHEJI_ACTIVITY(ActivityType.SHEJI_ACTIVITY,SheJiActivity::new),
|
||||
SUB_ACTIVITY(ActivityType.SUB_ACTIVITY, SubActivity::new),
|
||||
SKIN_RECHARGE_ACTIVITY(ActivityType.SKIN_RECHARGE_ACTIVITY, DefaultEmptyActivity::new),
|
||||
|
||||
|
||||
SPECIAL_MONSTER_RANDOM_ACTIVITY(ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY,LimitRandomSpecialMonsterActivity::new),
|
||||
SPECIAL_MONSTER_GIFT_ACTIVITY(ActivityType.SPECIAL_MONSTER_GIFT_ACTIVITY,DefaultEmptyActivity::new),
|
||||
;
|
||||
private int type;
|
||||
private Function<Integer, AbstractActivity> toActivityFunction;
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lvxinran
|
||||
* @date 2020/11/11
|
||||
* @discribe
|
||||
*/
|
||||
public class LimitRandomSpecialMonsterActivity extends LimitRandomCardActivity {
|
||||
|
||||
public LimitRandomSpecialMonsterActivity(int id) {
|
||||
super(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initActivity(User user) {
|
||||
super.initActivity(user);
|
||||
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||
ActivityMission activityMission = activityMissionMap.get(id);
|
||||
if(activityMission!=null){
|
||||
activityMission.getActivityMissionMap().put(0,new ActivityProgressInfo());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
void updateProgress(ActivityMission activityMission, int count) {
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||
int progress;
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> item : activityProgressInfoMap.entrySet()) {
|
||||
if(item.getKey()==0){
|
||||
continue;
|
||||
}
|
||||
ActivityProgressInfo activityProgressInfo = item.getValue();
|
||||
progress = item.getValue().getProgrss() + count;
|
||||
activityProgressInfo.setProgrss(progress);
|
||||
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -14,6 +14,8 @@ import com.ljsd.jieling.globals.BIReason;
|
|||
import com.ljsd.jieling.globals.Global;
|
||||
|
||||
import com.ljsd.jieling.globals.GlobalItemType;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.ktbeans.ReportEventEnum;
|
||||
import com.ljsd.jieling.ktbeans.ReportUtil;
|
||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
|
@ -140,6 +142,8 @@ public class HeroLogic{
|
|||
private static final String VERTICAL = "|";
|
||||
private static final String DIVISION = "#";
|
||||
|
||||
public static final int HERO_MAX_STAR = 10; // 英雄最大星级,大于10星为觉醒
|
||||
|
||||
|
||||
/**
|
||||
* 获取装备、法宝信息、魂印
|
||||
|
@ -331,6 +335,10 @@ public class HeroLogic{
|
|||
for(int i = 0;i<tenTimesMustGetItem.length;i++) {
|
||||
resultRandom[i+index+1] = tenTimesMustGetItem[i];
|
||||
}
|
||||
//是否需要根据活动替换所得物品
|
||||
if(sLotterySetting.getLotteryType()==10){
|
||||
changeRandomItem(user,sLotterySetting.getActivityId(),resultRandom);
|
||||
}
|
||||
|
||||
|
||||
Poster.getPoster().dispatchEvent(new RandomCardEvent(user.getId(),sLotterySetting.getActivityId(),heroManager.getRandomPoolByType().get(sLotterySetting.getMergePool()),sLotterySetting.getPerCount()));
|
||||
|
@ -348,6 +356,35 @@ public class HeroLogic{
|
|||
}
|
||||
|
||||
|
||||
|
||||
private void changeRandomItem(User user,int activityId,int[][] random){
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(activityId);
|
||||
if(activityMission==null||activityMission.getActivityMissionMap().get(0)==null){
|
||||
return;
|
||||
}
|
||||
// Map<Integer, Map<Integer, Integer>> spiritAnimalSummonMapByActivityId = SSpiritAnimalSummo.spiritAnimalSummonMapByActivityId;
|
||||
ActivityProgressInfo activityProgressInfo = activityMission.getActivityMissionMap().get(0);
|
||||
if(activityProgressInfo==null||activityProgressInfo.getProgrss()==0){
|
||||
return;
|
||||
}
|
||||
Map<Integer, SSpiritAnimalSummon> config = STableManager.getConfig(SSpiritAnimalSummon.class);
|
||||
if(!config.containsKey(activityProgressInfo.getProgrss())){
|
||||
return;
|
||||
}
|
||||
SSpiritAnimalSummon sSpiritAnimalSummon = config.get(activityProgressInfo.getProgrss());
|
||||
if(sSpiritAnimalSummon.getActivityID()!=activityId){
|
||||
return;
|
||||
}
|
||||
//进行替换
|
||||
for(int[] randomItem:random){
|
||||
int length = Math.min(sSpiritAnimalSummon.getOriginalItemList().length,sSpiritAnimalSummon.getTargetItemList().length);
|
||||
for(int i = 0 ; i <length;i++){
|
||||
if(randomItem[0]==sSpiritAnimalSummon.getOriginalItemList()[i]){
|
||||
randomItem[0] = sSpiritAnimalSummon.getTargetItemList()[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private void reportRandom(User user,SLotterySetting sLotterySetting,int[][] resultRandom,int[] costItem) {
|
||||
int lotteryType = sLotterySetting.getLotteryType();
|
||||
ReportEventEnum eventEnum = null;
|
||||
|
@ -886,7 +923,7 @@ public class HeroLogic{
|
|||
}
|
||||
|
||||
/**
|
||||
* 妖灵师进阶
|
||||
* 妖灵师进阶 升星==进阶==觉醒
|
||||
* @param session
|
||||
* @param heroId
|
||||
* @param consumeMaterialsList
|
||||
|
@ -903,6 +940,9 @@ public class HeroLogic{
|
|||
|
||||
int oldStar = targetHero.getStar();
|
||||
SCHero scHero = SCHero.getsCHero().get(targetHero.getTemplateId());
|
||||
if (targetHero.getStar() >= scHero.getMaxRank()) {
|
||||
throw new ErrorCodeException(ErrorCode.HAS_AWAKE);
|
||||
}
|
||||
int[] growthSwitch = scHero.getGrowthSwitch();
|
||||
if(growthSwitch!=null&&growthSwitch.length>0){
|
||||
Set<Integer> operateSet= Arrays.stream(growthSwitch).boxed().collect(Collectors.toSet());
|
||||
|
@ -1030,9 +1070,13 @@ public class HeroLogic{
|
|||
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid()));
|
||||
}
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,baseBuilder.build(),true);
|
||||
if(targetHero.getStar()>= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_rankup_hero_content_parm)){
|
||||
String message = SErrorCodeEerverConfig.getI18NMessage("lamp_rankup_hero_content", new Object[]{user.getPlayerInfoManager().getNickName(), scHero.getReadingName(),targetHero.getStar()});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message,Global.DILIGENT,targetHero.getTemplateId(),0,0,0,0,0);
|
||||
// 觉醒飘字
|
||||
if (targetHero.getStar() >= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_awaken_hero_content_parm)) {
|
||||
String message = SErrorCodeEerverConfig.getI18NMessage("animal_awaken_broadcast_content", new Object[]{user.getPlayerInfoManager().getNickName(), scHero.getReadingName()});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message, Global.DILIGENT, targetHero.getTemplateId(), 0, 0, 0, 0, 0);
|
||||
} else if (targetHero.getStar() >= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_rankup_hero_content_parm)) {
|
||||
String message = SErrorCodeEerverConfig.getI18NMessage("lamp_rankup_hero_content", new Object[]{user.getPlayerInfoManager().getNickName(), scHero.getReadingName(), targetHero.getStar()});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message, Global.DILIGENT, targetHero.getTemplateId(), 0, 0, 0, 0, 0);
|
||||
}
|
||||
String consume = StringUtil.parseArrayToString(consumeMaterial);
|
||||
// HERO_STRENGTHEN(13,"hero_strengthen", new CommonEventHandler(),new String[]{"hero_id","old_quality","new_quality","strengthen_type","cost_item_list","cost_hero_list"}),
|
||||
|
@ -1226,9 +1270,14 @@ public class HeroLogic{
|
|||
if(skillListByStar!=null){
|
||||
skillList.addAll(skillListByStar);
|
||||
}
|
||||
skillList.addAll( tempHero.getPassiveSkills(1,hero.getBreakId()));
|
||||
skillList.addAll( tempHero.getPassiveSkills(2,hero.getStarBreakId()));
|
||||
|
||||
// 大于10星,觉醒技
|
||||
if (hero.getStar() > HERO_MAX_STAR) {
|
||||
skillList.addAll(tempHero.getAwakSkills(1, hero.getBreakId()));
|
||||
skillList.addAll(tempHero.getAwakSkills(2, hero.getStarBreakId()));
|
||||
} else {
|
||||
skillList.addAll(tempHero.getPassiveSkills(1, hero.getBreakId()));
|
||||
skillList.addAll(tempHero.getPassiveSkills(2, hero.getStarBreakId()));
|
||||
}
|
||||
//装备没有技能不用计算
|
||||
// Map<Integer, Integer> equipByPositionMap = hero.getEquipByPositionMap();
|
||||
// if(!equipByPositionMap.isEmpty()){
|
||||
|
|
|
@ -309,8 +309,11 @@ public class PlayerLogic {
|
|||
Set<Integer> fixVipId = new HashSet<>();
|
||||
for(Map.Entry<Integer,VipInfo> vipInfoItem : vipInfo.entrySet()){
|
||||
//如果这个权限是活动 且永久了 那么需要修复
|
||||
if(vipInfoItem.getValue().getEffectTime()==0&&SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getUnlockType()==5){
|
||||
fixVipId.add(vipInfoItem.getKey());
|
||||
if(vipInfoItem.getValue().getEffectTime()==0){
|
||||
int unlockType = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getUnlockType();
|
||||
if(unlockType==5||(unlockType==4&&SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getContinueTime().length>0)){
|
||||
fixVipId.add(vipInfoItem.getKey());
|
||||
}
|
||||
}
|
||||
if(vipInfoItem.getValue().getEffectTime()!=0 && vipInfoItem.getValue().getEffectTime()<=(TimeUtils.now()/1000)){
|
||||
if(SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getPrivilegeType()==VipPrivilegeType.ADVENTURE_BASE_REWARD){
|
||||
|
|
|
@ -966,15 +966,20 @@ public class BuyGoodsLogic {
|
|||
}
|
||||
}
|
||||
|
||||
// if (sRechargeCommodityConfig.getTime() == 6) {
|
||||
// if (rechargeInfo.getDyGoodsCanBuyTimes().containsKey(sRechargeCommodityConfig.getId())&&rechargeInfo.getRefreshBagMap().containsKey(sRechargeCommodityConfig.getId())) {
|
||||
// long endTime = rechargeInfo.getRefreshBagMap().get(sRechargeCommodityConfig.getId());
|
||||
// if (now > endTime || rechargeInfo.getDyGoodsCanBuyTimes().get(sRechargeCommodityConfig.getId()) <= 0) {
|
||||
// continue;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
if (sRechargeCommodityConfig.getTime() == 6) {
|
||||
if (rechargeInfo.getDyGoodsCanBuyTimes().containsKey(sRechargeCommodityConfig.getId())&&rechargeInfo.getRefreshBagMap().containsKey(sRechargeCommodityConfig.getId())) {
|
||||
long endTime = rechargeInfo.getRefreshBagMap().get(sRechargeCommodityConfig.getId());
|
||||
if (now > endTime || rechargeInfo.getDyGoodsCanBuyTimes().get(sRechargeCommodityConfig.getId()) <= 0) {
|
||||
continue;
|
||||
}
|
||||
int dytime = rechargeInfo.getDyGoodsCanBuyTimes().getOrDefault(goodsId,0)-1;
|
||||
if(dytime <0){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
long startTime=0;
|
||||
|
|
|
@ -42,6 +42,8 @@ public class SCHero implements BaseConfig{
|
|||
|
||||
private int[][] openSkillRules;
|
||||
|
||||
private int[][] awaken;
|
||||
|
||||
private int[][] openPassiveSkillRules;
|
||||
|
||||
private int[] equipTalismana;
|
||||
|
@ -58,6 +60,9 @@ public class SCHero implements BaseConfig{
|
|||
|
||||
private Map<Integer, List<Integer>> skillListByStar;
|
||||
|
||||
// 觉醒增加的技能属性
|
||||
private Map<Integer,TreeMap<Integer,List<Integer>>> awakSkillMap;
|
||||
|
||||
private Map<Integer, Map<Integer, ConsumeMaterialInfo>> consumeMaterialInfoOfPositionByStar;
|
||||
|
||||
private Map<Integer,TreeMap<Integer,List<Integer>>> passiveSkillMap;
|
||||
|
@ -109,8 +114,6 @@ public class SCHero implements BaseConfig{
|
|||
}
|
||||
}
|
||||
Map<Integer, Map<Integer, ConsumeMaterialInfo>> consumeMaterialInfoByStarTmp = new HashMap<>();
|
||||
int[][] openSkillRules = scHero.getOpenSkillRules();
|
||||
|
||||
|
||||
int[][] rankupConsumeMaterial = scHero.getRankupConsumeMaterial();
|
||||
|
||||
|
@ -127,8 +130,8 @@ public class SCHero implements BaseConfig{
|
|||
}
|
||||
scHero.setConsumeMaterialInfoOfPositionByStar(consumeMaterialInfoByStarTmp);
|
||||
|
||||
|
||||
//技能
|
||||
int[][] openSkillRules = scHero.getOpenSkillRules();
|
||||
// 技能
|
||||
Map<Integer, List<Integer>> skillTmp = new HashMap<>();
|
||||
|
||||
for(int i=0;i<openSkillRules.length;i++){
|
||||
|
@ -161,9 +164,25 @@ public class SCHero implements BaseConfig{
|
|||
});
|
||||
passiveSkillMapTmp.get(type).get(starOrBreakId).add(skillId);
|
||||
}
|
||||
scHero.setSkillListByStar(skillTmp);
|
||||
scHero.setPassiveSkillMap(passiveSkillMapTmp);
|
||||
|
||||
// 大于10星为 觉醒技能
|
||||
int[][] awakens = scHero.getAwaken();
|
||||
Map<Integer, TreeMap<Integer, List<Integer>>> awakSkillMapTmp = new HashMap<>();
|
||||
if (awakens != null && awakens.length > 0) {
|
||||
awakSkillMapTmp.put(1, new TreeMap<>());
|
||||
awakSkillMapTmp.put(2, new TreeMap<>());
|
||||
for (int[] openSkillRule : awakens) {
|
||||
int type = openSkillRule[0];
|
||||
int starOrBreakId = openSkillRule[1];
|
||||
int skillId = openSkillRule[2];
|
||||
awakSkillMapTmp.get(type).computeIfAbsent(starOrBreakId, a -> {
|
||||
return new ArrayList<>(awakSkillMapTmp.get(type).getOrDefault(a - 1, new ArrayList<>()));
|
||||
});
|
||||
awakSkillMapTmp.get(type).get(starOrBreakId).add(skillId);
|
||||
}
|
||||
}
|
||||
scHero.setAwakSkillMap(awakSkillMapTmp);
|
||||
}
|
||||
sCHero = integerSCHeroMap;
|
||||
piecesMap = new HashMap<>();
|
||||
|
@ -300,7 +319,22 @@ public class SCHero implements BaseConfig{
|
|||
return passiveSkillMap.get(type).floorEntry(id).getValue();
|
||||
}
|
||||
|
||||
public List<Integer> getAwakSkills(int type, int id) {
|
||||
if (awakSkillMap.get(type).floorEntry(id) == null) {
|
||||
return new ArrayList<>(0);
|
||||
}
|
||||
return awakSkillMap.get(type).floorEntry(id).getValue();
|
||||
}
|
||||
|
||||
public void setPassiveSkillMap(Map<Integer, TreeMap<Integer, List<Integer>>> passiveSkillMap) {
|
||||
this.passiveSkillMap = passiveSkillMap;
|
||||
}
|
||||
|
||||
public void setAwakSkillMap(Map<Integer, TreeMap<Integer, List<Integer>>> awakSkillMap) {
|
||||
this.awakSkillMap = awakSkillMap;
|
||||
}
|
||||
|
||||
public int[][] getAwaken() {
|
||||
return awaken;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ public class SSpecialConfig implements BaseConfig {
|
|||
|
||||
public static final String lamp_lottery_content_parm = "lamp_lottery_content_parm";//资质13及以上——系统消息
|
||||
public static final String lamp_rankup_hero_content_parm = "lamp_rankup_hero_content_parm";//10星及以上——系统消息
|
||||
public static final String lamp_awaken_hero_content_parm = "lamp_awaken_hero_content_parm";//英雄觉醒——系统消息
|
||||
public static final String lamp_lottery_differ_content_parm = "lamp_lottery_differ_content_parm";//5及以上——系统消息
|
||||
// public static final String lamp_activate_differ_content_parm = "lamp_activate_differ_content_parm";//5及以上——系统消息
|
||||
public static final String lamp_rankup_differ_content_parm = "lamp_rankup_differ_content_parm";//10阶以上——系统消息
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
package config;
|
||||
|
||||
import manager.STableManager;
|
||||
import manager.Table;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Table(name ="SpiritAnimalSummon")
|
||||
public class SSpiritAnimalSummon implements BaseConfig {
|
||||
|
||||
private int id;
|
||||
|
||||
private int focusID;
|
||||
|
||||
private int activityID;
|
||||
|
||||
private int[] originalItemList;
|
||||
|
||||
private int[] targetItemList;
|
||||
|
||||
// public static Map<Integer,Map<Integer,Map<Integer,Integer>>> spiritAnimalSummonMapByActivityId;
|
||||
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
// Map<Integer,Map<Integer,Map<Integer,Integer>>> spiritAnimalSummonMapByActivityIdTemp = new HashMap<>();
|
||||
// Map<Integer, SSpiritAnimalSummon> config = STableManager.getConfig(SSpiritAnimalSummon.class);
|
||||
// for(Map.Entry<Integer,SSpiritAnimalSummon> entry:config.entrySet()){
|
||||
// SSpiritAnimalSummon value = entry.getValue();
|
||||
// spiritAnimalSummonMapByActivityIdTemp.putIfAbsent(value.getActivityID(),new HashMap<>());
|
||||
// spiritAnimalSummonMapByActivityIdTemp.get(entry.getKey())
|
||||
// for(int i = 0 ; i <value.getOriginalItemList().length;i++){
|
||||
// spiritAnimalSummonMapByActivityIdTemp.get(value.getActivityID()).put(value.getOriginalItemList()[i],value.getTargetItemList()[i]);
|
||||
// }
|
||||
// }
|
||||
// spiritAnimalSummonMapByActivityId = spiritAnimalSummonMapByActivityIdTemp;
|
||||
}
|
||||
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getFocusID() {
|
||||
return focusID;
|
||||
}
|
||||
|
||||
public int getActivityID() {
|
||||
return activityID;
|
||||
}
|
||||
|
||||
public int[] getOriginalItemList() {
|
||||
return originalItemList;
|
||||
}
|
||||
|
||||
public int[] getTargetItemList() {
|
||||
return targetItemList;
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue