Merge branch 'master_huanxiang' into master_ob2
# Conflicts: # serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.javamaster_ob2
commit
d88201a933
|
@ -131,11 +131,6 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
.setState(user.getPlayerInfoManager().getPhoneBindInfo().getState())
|
||||
.build();
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
int alreadyCount =0;
|
||||
for(Integer id : STableManager.getFigureConfig(HeroStaticConfig.class).getRandomHeroIds()){
|
||||
int count = Optional.ofNullable(heroManager.getTotalCount().get(id)).orElse(0);
|
||||
alreadyCount+=count;
|
||||
}
|
||||
// 返利
|
||||
GmActivityLogic.zeroUpdateGmActivity(user);
|
||||
SGameSetting setting = STableManager.getConfig(SGameSetting.class).get(1);
|
||||
|
@ -170,7 +165,15 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
Set<Integer> equipHandBookSet = user.getEquipManager().getEquipHandBook().keySet();
|
||||
int equipPool = user.getEquipManager().getSoulEquipPool();
|
||||
int vipPrivilageValue = user.getPlayerInfoManager().getVipPrivilageValue(SMazeTreasureSetting.sMazeTreasureSetting.getRefreshVIP());
|
||||
int randomCount = SLotterySpecialConfig.getLotteryListByDifferentType(7).iterator().next().getCount()- user.getHeroManager().getRandomPoolByType().getOrDefault(11,new HashMap<>()).getOrDefault(7,0);
|
||||
// 英雄抽卡剩余必中
|
||||
int randomCount = SLotterySpecialConfig.getLotteryListByDifferentType(7)
|
||||
.iterator().next().getCount() -
|
||||
user.getHeroManager().getRandomPoolByType().getOrDefault(11,new HashMap<>()).getOrDefault(7,0);
|
||||
// 法宝抽卡剩余必中
|
||||
int fabaoRandomCount = SLotterySpecialConfig.getLotteryListByDifferentType(151)
|
||||
.iterator().next().getCount() -
|
||||
user.getHeroManager().getRandomPoolByType().getOrDefault(23,new HashMap<>()).getOrDefault(151,0);
|
||||
|
||||
List<CommonProto.SixiangxinfaInfo> sixiangxinfaInfos = getSixiangxinfaInfos(heroManager);
|
||||
List<CommonProto.PracticeSkillInfo> practiceSkillInfos = getPracticeSkillInfos(heroManager);
|
||||
List<CommonProto.FaBaoSoulInfo> faBaoSoulInfos = getFaBaoSoulInfos(heroManager);
|
||||
|
@ -186,7 +189,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
.addAllVipLeveTake(playerInfoManager.getHadTakeLevelBoxVip())
|
||||
.setUserCreateTime((int)(playerInfoManager.getCreateTime()/1000))
|
||||
.addAllRedType(playerInfoManager.getReds())
|
||||
.setRandCount(alreadyCount)
|
||||
.setRandCount(fabaoRandomCount)
|
||||
.addAllHeroHandBook(heroHandBookList).addAllEquipHandBook(equipHandBookSet)
|
||||
.addAllGoodsTypeDuration(goodsTypeDurations)
|
||||
.setHadBuyTreasure(playerInfoManager.getHadBuyTreasure())
|
||||
|
|
|
@ -177,13 +177,6 @@ public class ActivityLogic implements IEventHandler{
|
|||
if(sGlobalActivity.getType() == ActivityType.DAILY_PREFERENTIAL_GIFT){
|
||||
continue;
|
||||
}
|
||||
if(sGlobalActivity.getType() == ActivityType.OPEN_TYPE_LONG &&!openActivityIds.contains(sGlobalActivity.getId())){
|
||||
openActivityIds.add(sGlobalActivity.getId());
|
||||
LOGGER.info("永久开活动-新青龙秘宝");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2);
|
||||
if (now < startTime) {
|
||||
|
|
|
@ -13,7 +13,6 @@ public interface ActivityType {
|
|||
int OPEN_TYPE_SERVER = 3; // 活动开启类型:开服时间
|
||||
|
||||
int OPEN_TYPE_MONTHS = 5 ; // 活动开启类型:开服自然月
|
||||
int OPEN_TYPE_LONG = 6; // 活动开启类型:一直开启
|
||||
|
||||
|
||||
int WILL_TAKE = 0; //未领取
|
||||
|
@ -137,6 +136,8 @@ public interface ActivityType {
|
|||
int TIAN_JIANG_GIFT = 120;//天降礼包
|
||||
int DA_NAO_TIAN_GONG = 121;//大闹天宫
|
||||
|
||||
int LINGLONG_BAOJING_TASK = 20014;//玲珑宝镜任务
|
||||
|
||||
//***************************************bt活动=====================================//
|
||||
|
||||
int BRUSH_PRIVILEGE = 103;//刷充特权
|
||||
|
|
|
@ -119,6 +119,7 @@ public enum ActivityTypeEnum {
|
|||
DRAW_FABAO_LV_CHEST(ActivityType.DRAW_FABAO_LV_CHEST,DrawLvChestActivity::new),//抽卡等级宝箱
|
||||
TIAN_JIANG_GIFT(ActivityType.TIAN_JIANG_GIFT,DefaultEmptyActivity::new),//抽卡等级宝箱
|
||||
DA_NAO_TIAN_GONG(ActivityType.DA_NAO_TIAN_GONG, DaNaoTianGongActivity::new),//大闹天宫
|
||||
LINGLONG_BAOJING_TASK(ActivityType.LINGLONG_BAOJING_TASK, DefaultEmptyActivity::new),//玲珑宝镜任务
|
||||
|
||||
/****************************************************** bt **********************************************************/
|
||||
BRUSH_PRIVILEGE(ActivityType.BRUSH_PRIVILEGE, BrushPrivilegeActivity::new),//刷充特权
|
||||
|
|
|
@ -84,7 +84,6 @@ public class TreasureActivity extends AbstractActivity {
|
|||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(activityId);
|
||||
int destState = getDestState(user);
|
||||
List<int[][]> dropList = new ArrayList<>(2);
|
||||
// Set<Integer> missionIds = new HashSet<>();
|
||||
if (missionId == -2) {
|
||||
if (user.getPlayerInfoManager().getHadBuyTreasure() == 0) {
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("请先解锁秘宝"));
|
||||
|
|
|
@ -23,8 +23,11 @@ public class HeroManager extends MongoBase {
|
|||
*/
|
||||
private Map<String, Hero> heroMap= new HashMap<>();
|
||||
|
||||
private Map<Integer, Integer> totalCount= new HashMap<>();
|
||||
|
||||
/**
|
||||
* key:MergePool
|
||||
* key:DifferentType
|
||||
* value:数量
|
||||
*/
|
||||
private Map<Integer, Map<Integer, Integer>> randomPoolByType = new HashMap<>();
|
||||
|
||||
private Map<Integer,Integer> mustRandomCount= new HashMap<>();
|
||||
|
@ -313,12 +316,6 @@ public class HeroManager extends MongoBase {
|
|||
updateString("likableSendTime", _sendTime);
|
||||
}
|
||||
|
||||
|
||||
public void updateRandCount(int type, int count){
|
||||
updateString("totalCount." + type, count);
|
||||
totalCount.put(type,count);
|
||||
}
|
||||
|
||||
public void updateRandomPoolByType(int type,Map<Integer,Integer> map){
|
||||
randomPoolByType.put(type,map);
|
||||
updateString("randomPoolByType." + type, map);
|
||||
|
@ -386,10 +383,6 @@ public class HeroManager extends MongoBase {
|
|||
return heroMap;
|
||||
}
|
||||
|
||||
public Map<Integer, Integer> getTotalCount() {
|
||||
return totalCount;
|
||||
}
|
||||
|
||||
public void addHeroHandBook(int heroId,int star){
|
||||
if(heroHandBook.containsKey(heroId)&&heroHandBook.get(heroId)>=star){
|
||||
return;
|
||||
|
@ -597,11 +590,6 @@ public class HeroManager extends MongoBase {
|
|||
// return purpleMansionSeal; 2022-4-20 策划需求关闭紫府神印功能
|
||||
}
|
||||
|
||||
public void setPurpleMansionSeal(Map<Integer, PurpleMansionSeal> purpleMansionSeal) {
|
||||
this.purpleMansionSeal = purpleMansionSeal;
|
||||
updateString("purpleMansionSeal", purpleMansionSeal);
|
||||
}
|
||||
|
||||
public void putPurpleMansionSeal(PurpleMansionSeal seal) {
|
||||
purpleMansionSeal.put(seal.getSealId(),seal);
|
||||
updateString("purpleMansionSeal", purpleMansionSeal);
|
||||
|
|
|
@ -255,6 +255,9 @@ public class HeroLogic {
|
|||
throw new ErrorCodeException("已抽取今日最大次数");
|
||||
}
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
if (heroManager == null){
|
||||
throw new ErrorCodeException("玩家信息异常");
|
||||
}
|
||||
if (type == 11 && heroManager.getFirstTenth() == 0) {
|
||||
heroManager.updateFirstTenth();
|
||||
}
|
||||
|
@ -269,7 +272,7 @@ public class HeroLogic {
|
|||
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
|
||||
}
|
||||
}
|
||||
if (heroManager != null && heroManager.getHeroMap() != null) {
|
||||
if (heroManager.getHeroMap() != null) {
|
||||
//只有抽英雄才校验
|
||||
if (sLotterySetting.getGainType() == 1 && heroManager.getHeroMap().size() + perCount > STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getHeroNumlimit()) {
|
||||
throw new ErrorCodeException(ErrorCode.HERO_MAX);
|
||||
|
@ -347,16 +350,23 @@ public class HeroLogic {
|
|||
}
|
||||
|
||||
Poster.getPoster().dispatchEvent(new RandomCardEvent(user.getId(), sLotterySetting.getActivityId(), heroManager.getRandomPoolByType().get(sLotterySetting.getMergePool()), sLotterySetting.getPerCount()));
|
||||
// //1群英招募
|
||||
HeroInfoProto.HeroRandResponse.Builder builder = HeroInfoProto.HeroRandResponse.newBuilder();
|
||||
// 英雄卡池类型
|
||||
if (sLotterySetting.getLotteryType() == 1) {
|
||||
Poster.getPoster().dispatchEvent(new HeroRandomEvent(uid, perCount));
|
||||
List<SLotterySpecialConfig> lotteryListByDifferentType = SLotterySpecialConfig.getLotteryListByDifferentType(7);
|
||||
if (lotteryListByDifferentType.size() == 1) {
|
||||
SLotterySpecialConfig next = lotteryListByDifferentType.iterator().next();
|
||||
builder.setMustCount(next.getCount() - heroManager.getRandomPoolByType().get(sLotterySetting.getMergePool()).getOrDefault(7, 0));
|
||||
}
|
||||
int heroRandomCount = SLotterySpecialConfig.getLotteryListByDifferentType(7)
|
||||
.iterator().next().getCount() -
|
||||
user.getHeroManager().getRandomPoolByType().getOrDefault(11,new HashMap<>()).getOrDefault(7,0);
|
||||
builder.setMustCount(heroRandomCount);
|
||||
}
|
||||
// 法宝卡池类型
|
||||
if (sLotterySetting.getLotteryType() == 4){
|
||||
int fabaoRandomCount = SLotterySpecialConfig.getLotteryListByDifferentType(151)
|
||||
.iterator().next().getCount() -
|
||||
user.getHeroManager().getRandomPoolByType().getOrDefault(23,new HashMap<>()).getOrDefault(151,0);
|
||||
builder.setFabaoMustCount(fabaoRandomCount);
|
||||
}
|
||||
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.RANDOM_HERO, sLotterySetting.getLotteryType(), perCount);
|
||||
if (sLotterySetting.getLotteryType() == 11) {
|
||||
//只记录新将招募次数
|
||||
|
@ -365,7 +375,6 @@ public class HeroLogic {
|
|||
if (sLotterySetting.getActivityId() == 8201) {
|
||||
Poster.getPoster().dispatchEvent(new UserLevelEvent(user.getId(), 0));
|
||||
}
|
||||
heroManager.updateRandCount(type, perCount);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropPer(user, resultRandom, BIReason.HERO_RANDOM);
|
||||
fiveStarPushByRandom(user, resultRandom);
|
||||
fiveStarPokemonPushByRandom(user, resultRandom);
|
||||
|
@ -438,7 +447,7 @@ public class HeroLogic {
|
|||
}
|
||||
|
||||
//记录卡池抽奖次数
|
||||
heroManager.putRandomType(type, num + result[1]);
|
||||
heroManager.putRandomType(type, num + 1);
|
||||
int[] rewardArr = new int[result.length];
|
||||
System.arraycopy(result, 0, rewardArr, 0, result.length);
|
||||
return rewardArr;
|
||||
|
@ -523,12 +532,7 @@ public class HeroLogic {
|
|||
// 查找物品
|
||||
SItem sItem = SItem.getsItemMap().get(item[0]);
|
||||
// 非英雄奖励直接返回
|
||||
if (sItem.getItemType() != GlobalItemType.CARD) {
|
||||
return item;
|
||||
}
|
||||
// 非五星英雄
|
||||
SCHero scHero = SCHero.getsCHero().get(item[0]);
|
||||
if (scHero == null || scHero.getStar() < 5) {
|
||||
if (sItem.getXinyuan() != 1) {
|
||||
return item;
|
||||
}
|
||||
|
||||
|
|
|
@ -88,6 +88,9 @@ public class BuyGoodsNewLogic {
|
|||
// 没有礼包先新增礼包
|
||||
if(!rechargeHandler.rechargeIsInBag(user,entry.getKey())){
|
||||
AbstractWelfareBag bag = rechargeHandler.initUnitWF(user, config);
|
||||
if (bag == null){
|
||||
continue;
|
||||
}
|
||||
rechargeHandler.addNew(user,bag);
|
||||
}
|
||||
// 刷新
|
||||
|
@ -1009,12 +1012,12 @@ public class BuyGoodsNewLogic {
|
|||
* @param user
|
||||
* @return
|
||||
*/
|
||||
public static boolean createPushBag(int bagId,User user) throws Exception {
|
||||
public static boolean createPushBag(int bagId,User user) {
|
||||
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(bagId);
|
||||
RechargeHandler handler = getRechargeHandler(config.getOtype());
|
||||
PushWelfareBag pushBag = (PushWelfareBag) handler.getBag(user, bagId);
|
||||
if (pushBag == null){
|
||||
pushBag = (PushWelfareBag) handler.initUnitWF(user, config);
|
||||
pushBag = new PushWelfareBag(user, config);
|
||||
}
|
||||
return pushBag.isBuy();
|
||||
}
|
||||
|
|
|
@ -29,10 +29,6 @@ public class PushWelfareBag extends AbstractWelfareBag {
|
|||
}
|
||||
}
|
||||
|
||||
public int getLimit() {
|
||||
return NewRechargeInfo.FIVESTARLIMIT;
|
||||
}
|
||||
|
||||
private int getTime(){
|
||||
int i = 2;
|
||||
for(int[] s : getCondition()){
|
||||
|
|
|
@ -48,7 +48,7 @@ public class PushHandler extends AbstractRechargeHandler {
|
|||
|
||||
@Override
|
||||
public AbstractWelfareBag initUnitWF(User user, SRechargeCommodityNewConfig config) {
|
||||
return new PushWelfareBag(user,config);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -39,10 +39,6 @@ public class ToolsUtil {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case ActivityType.OPEN_TYPE_LONG:
|
||||
startTime = -1;
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
return startTime;
|
||||
}
|
||||
|
|
|
@ -35,6 +35,8 @@ public class SItem implements BaseConfig {
|
|||
private int useLevel;
|
||||
private String name;
|
||||
|
||||
private int xinyuan;
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
sItemMap = STableManager.getConfig(SItem.class);
|
||||
|
@ -132,4 +134,8 @@ public class SItem implements BaseConfig {
|
|||
public int getUseLevel() {
|
||||
return useLevel;
|
||||
}
|
||||
|
||||
public int getXinyuan() {
|
||||
return xinyuan;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue