diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java b/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java index 058e58a80..cc1040c6b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java @@ -25,6 +25,7 @@ public interface VipPrivilegeType { int FREE_HERO_RANDOM = 14;//免费抽取妖灵师 int FREE_SECRET_RANDOM = 15; //解锁免费抽取秘盒 int TOWER_RESRT_NUM= 17; //每日试炼重置次数 + int TIME_RANDOM_FREE = 32;//东海寻仙每日赠送招募次数 //功能项解锁 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LimitRandomCardActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LimitRandomCardActivity.java index ab57cf5fe..dd70d01a1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LimitRandomCardActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/LimitRandomCardActivity.java @@ -51,7 +51,7 @@ public class LimitRandomCardActivity extends AbstractActivity { } randomRank.addRank(cardEvent.getUid(),scoreById+cardEvent.getScore()); Predicate pre = a-> (SCHero.getHeroByPieceId(a[0])!=null&&SCHero.getHeroByPieceId(a[0]).getNatural()>=13); -// + Consumer consumer = a->RankContext.getRankEnum(RankEnum.RANDOM_CARD_PERFECT_RANK.getType()).addRank(cardEvent.getUid(), TimeUtils.now()/1000,a[0]); Stream.of(cardEvent.getHeros()).filter(pre).forEach(consumer); update(UserManager.getUser(cardEvent.getUid()),cardEvent.getScore()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index c272eb6ef..e043c887f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -223,11 +223,24 @@ public class HeroLogic{ //检验消耗 boolean allowFree = false; - if(perCount == 1 && sLotterySetting.getLotteryType() == 1){ - allowFree = user.getPlayerInfoManager().check(VipPrivilegeType.FREE_HERO_RANDOM, 1); + int privilege = 0; + if(perCount == 1){ + switch (sLotterySetting.getLotteryType()){ + case 1: + privilege = VipPrivilegeType.FREE_HERO_RANDOM; + break; + case 3: + privilege = VipPrivilegeType.TIME_RANDOM_FREE; + break; + default: + break; + } + if(privilege!=0){ + allowFree = user.getPlayerInfoManager().check(privilege, 1); + } + } if(!allowFree){ - boolean enoughCost = false; for (int[] cost:sLotterySetting.getCostItem()){ int [][] costItems = new int[][]{cost}; @@ -240,7 +253,7 @@ public class HeroLogic{ throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); } }else{ - user.getPlayerInfoManager().updateVipPrivilage(VipPrivilegeType.FREE_HERO_RANDOM, 1); + user.getPlayerInfoManager().updateVipPrivilage(privilege, 1); } //额外获取 int length = perCount; diff --git a/tablemanager/src/main/java/config/SSpecialConfig.java b/tablemanager/src/main/java/config/SSpecialConfig.java index af445412d..7fa6d4e42 100644 --- a/tablemanager/src/main/java/config/SSpecialConfig.java +++ b/tablemanager/src/main/java/config/SSpecialConfig.java @@ -51,7 +51,7 @@ public class SSpecialConfig implements BaseConfig { public static final String SUNLONG_REWARD = "Sunlong_Reward";//孙龙的宝藏礼包\ public static final String LAMP_TEXT_SPEED = "lamp_text_speed";//跑马灯速度 public static final String TIME_LIMIT_RECRUITMENT_INTEGRAL = "time_limit_recruitment_integral";//限时抽卡一次积分 - + public static final String TIME_LIMIT_RECRUITMENT_FREEINTEGRAL = "time_limit_recruitment_FreeIntegral";//东海寻仙每获得150分赠送一次免费招募 @Override public void init() throws Exception {