神将可控制进入版本时间优化
parent
b4f4c43a0e
commit
802a85021e
|
@ -463,7 +463,6 @@ public class HeroLogic {
|
|||
if (user.getHeroManager().getBeautyBagCardInfoMap().containsKey(index + 1) == false) {
|
||||
return sLotteryRewardConfig.getReward();
|
||||
}
|
||||
|
||||
int[] result = new int[2];
|
||||
result[0] = user.getHeroManager().getBeautyBagCardInfoMap().get(index + 1);
|
||||
result[1] = sLotteryRewardConfig.getReward()[1];
|
||||
|
@ -1077,8 +1076,15 @@ public class HeroLogic {
|
|||
public static SLotteryRewardConfig randomHeroByPoolId(int poolId, User user) {
|
||||
List<SLotteryRewardConfig> sLotteryRewardConfigs = new ArrayList<>();
|
||||
List<SLotteryRewardConfig> sLotteryRewardConfigListByPoolId = SLotteryRewardConfig.getSLotteryRewardConfigListByPoolId(poolId);
|
||||
if (sLotteryRewardConfigListByPoolId == null || sLotteryRewardConfigListByPoolId.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
List<SLotteryRewardConfig> sLotteryRewardConfigListByPoolIds = new ArrayList<>(sLotteryRewardConfigListByPoolId);
|
||||
long cacheOpenTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
long now = TimeUtils.now();
|
||||
int days = TimeUtils.differentDays(cacheOpenTime, now);
|
||||
int totalCountByPoolId = 0;
|
||||
for (SLotteryRewardConfig sLotteryRewardConfig : sLotteryRewardConfigListByPoolId) {
|
||||
for (SLotteryRewardConfig sLotteryRewardConfig : sLotteryRewardConfigListByPoolIds) {
|
||||
int[] openRules = sLotteryRewardConfig.getOpenRules();
|
||||
boolean canAdd = true;
|
||||
if (openRules != null && openRules.length > 0) {
|
||||
|
@ -1091,6 +1097,9 @@ public class HeroLogic {
|
|||
case 2:
|
||||
canAdd = user.getPlayerInfoManager().getLevel() > openValue;
|
||||
break;
|
||||
case 3:
|
||||
canAdd = days >= openValue;
|
||||
break;
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -1452,16 +1452,6 @@ public class ItemUtil {
|
|||
LOGGER.info("addCard uid={} no this hero={}", user.getId(), heroStar[0]);
|
||||
return;
|
||||
}
|
||||
if (scHero.getVersion() > 0) {
|
||||
long cacheOpenTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
long now = TimeUtils.now();
|
||||
int days = TimeUtils.differentDays(cacheOpenTime, now);
|
||||
if (days < scHero.getVersion()) {
|
||||
LOGGER.info("addCard uid={} scHero.getVersion()={} days={}", user.getId(), scHero.getVersion(), days);
|
||||
// 出版本外英雄替换为 乾达婆
|
||||
heroStar[0] = 10074;
|
||||
}
|
||||
}
|
||||
Hero hero = new Hero(user.getId(),heroStar[0],heroStar[1]);
|
||||
if (reason != BIReason.HERO_RETURN) {
|
||||
if (hero.getStar() == GlobalsDef.WUJINGMIBAO_STAR){
|
||||
|
|
|
@ -25,38 +25,25 @@ public class SLotteryRewardConfig implements BaseConfig {
|
|||
|
||||
private int star;
|
||||
|
||||
// 所有卡池
|
||||
private static Map<Integer, List<SLotteryRewardConfig>> sLotteryRewardConfigsByPoolId;
|
||||
private static Map<Integer, Integer> sLotteryRewardWeightByPoolId;
|
||||
|
||||
public static List<SLotteryRewardConfig> getSLotteryRewardConfigListByPoolId(int poolId) {
|
||||
return sLotteryRewardConfigsByPoolId.get(poolId);
|
||||
}
|
||||
|
||||
public static int getTotalCountByPoolId(int poolId) {
|
||||
return sLotteryRewardWeightByPoolId.get(poolId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
Map<Integer, SLotteryRewardConfig> config = STableManager.getConfig(SLotteryRewardConfig.class);
|
||||
Map<Integer, Integer> sLotteryRewardWeightByPoolIdTmp = new HashMap<>();
|
||||
Map<Integer, List<SLotteryRewardConfig>> sLotteryRewardConfigsByPoolIdTmp = new HashMap<>();
|
||||
for(SLotteryRewardConfig sLotteryRewardConfig : config.values()){
|
||||
int pool = sLotteryRewardConfig.getPool();
|
||||
int weight = sLotteryRewardConfig.getWeight();
|
||||
|
||||
if(!sLotteryRewardConfigsByPoolIdTmp.containsKey(pool)){
|
||||
sLotteryRewardConfigsByPoolIdTmp.put(pool,new ArrayList<>());
|
||||
}
|
||||
|
||||
sLotteryRewardConfigsByPoolIdTmp.get(pool).add(sLotteryRewardConfig);
|
||||
|
||||
if(!sLotteryRewardWeightByPoolIdTmp.containsKey(pool)){
|
||||
sLotteryRewardWeightByPoolIdTmp.put(pool,0);
|
||||
}
|
||||
sLotteryRewardWeightByPoolIdTmp.put(pool,sLotteryRewardWeightByPoolIdTmp.get(pool) + weight);
|
||||
}
|
||||
sLotteryRewardWeightByPoolId = sLotteryRewardWeightByPoolIdTmp;
|
||||
sLotteryRewardConfigsByPoolId = sLotteryRewardConfigsByPoolIdTmp;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue