招募秘宝
parent
02807f9c49
commit
143c7a5230
|
@ -16,10 +16,7 @@ import com.ljsd.jieling.logic.activity.UserLevelEventHandler;
|
|||
import com.ljsd.jieling.logic.activity.activityLogic.WeekCardLogic;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.SuperBoxEvent;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.ActivityStateChangeHandler;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.BuyGoodsDirectHandler;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.GuildForceChangeEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.ShanHeSheJiTuEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.*;
|
||||
import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic;
|
||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||
import com.ljsd.jieling.logic.championship.ChampionshipLogic;
|
||||
|
@ -297,6 +294,7 @@ public class GlobalDataManaager implements IManager {
|
|||
new ActivityStateChangeHandler();
|
||||
new GuildForceChangeEventHandler();
|
||||
new ShanHeSheJiTuEventHandler();
|
||||
new SummonTreasureHandler();
|
||||
ChampionshipLogic.minuteCheck(true);
|
||||
GuildFightLogic.minuteCheckForCarFight();
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -660,28 +660,29 @@ public class ActivityLogic implements IEventHandler{
|
|||
if(openRules!=null&&openRules.length>0){
|
||||
int openRuleType = openRules[0];
|
||||
int openRulleValue = openRules[1];
|
||||
if(openRuleType == 1){
|
||||
if (openRuleType == 1) {
|
||||
int virtureId = SMainLevelConfig.config.get(openRulleValue).getVirtureId();
|
||||
int fightId = user.getMainLevelManager().getFightId();
|
||||
SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.fightPreMap.get(fightId);
|
||||
if(user.getMainLevelManager().getState() == 2 ){
|
||||
SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.fightPreMap.get(fightId);
|
||||
if (user.getMainLevelManager().getState() == 2) {
|
||||
mineMainLevelConfig = SMainLevelConfig.config.get(user.getMainLevelManager().getFightId());
|
||||
}
|
||||
int myVirtureId =0;
|
||||
if(mineMainLevelConfig != null){
|
||||
myVirtureId =mineMainLevelConfig.getVirtureId();
|
||||
int myVirtureId = 0;
|
||||
if (mineMainLevelConfig != null) {
|
||||
myVirtureId = mineMainLevelConfig.getVirtureId();
|
||||
}
|
||||
if(virtureId > myVirtureId){
|
||||
if (virtureId > myVirtureId) {
|
||||
state = ActivityType.UNOPEN_STATE;
|
||||
}
|
||||
}else if(openRuleType == 2){
|
||||
if(user.getPlayerInfoManager().getLevel()<openRulleValue){
|
||||
} else if (openRuleType == 2) {
|
||||
if (user.getPlayerInfoManager().getLevel() < openRulleValue) {
|
||||
state = ActivityType.UNOPEN_STATE;
|
||||
}
|
||||
}else if(openRuleType == 3){
|
||||
} else if (openRuleType == 3) {
|
||||
state = ActivityType.UNOPEN_STATE;
|
||||
} else if (openRuleType == 4) {
|
||||
state = ActivityType.UNOPEN_STATE;
|
||||
}
|
||||
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
@ -943,12 +944,12 @@ public class ActivityLogic implements IEventHandler{
|
|||
}
|
||||
|
||||
private int getBlessActivityId(User user){
|
||||
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||
for(Integer activityId:activityMissionMap.keySet()){
|
||||
if(SGlobalActivity.getsGlobalActivityMap().get(activityId).getType()==ActivityType.BLESSACTIVITY){
|
||||
return activityId;
|
||||
}
|
||||
}
|
||||
// Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||
// for(Integer activityId:activityMissionMap.keySet()){
|
||||
// if(SGlobalActivity.getsGlobalActivityMap().get(activityId).getType()==ActivityType.BLESSACTIVITY){
|
||||
// return activityId;
|
||||
// }
|
||||
// }
|
||||
return 0;
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -26,7 +26,8 @@ public interface ActivityType {
|
|||
int RechargeTotal = 5; //首充
|
||||
// int RechargeTotal = 5; //累计充值
|
||||
int GrowthFund = 6; //成长基金
|
||||
int BLESSACTIVITY = 7;//云梦祈福
|
||||
// int BLESSACTIVITY = 7;//云梦祈福(跟策划对过,活动已删除)
|
||||
int SUMMON_TREASURE = 7;//招募秘宝
|
||||
int TREASURE = 8; //青龙秘宝(孙龙的宝藏)
|
||||
int LUCKYCAT = 9;//招財貓
|
||||
int SERVERHAPPY = 10; //七日狂欢
|
||||
|
|
|
@ -14,7 +14,7 @@ public enum ActivityTypeEnum {
|
|||
FIRSTRECHARGE(ActivityType.RechargeTotal, RechargeTotalActivity::new),
|
||||
// RECHARGETOTAL(ActivityType.RechargeTotal, RechargeTotalActivity::new),
|
||||
GROWTHFUND(ActivityType.GrowthFund, GrowthFundActivity::new),
|
||||
BLESSACTIVITY(ActivityType.BLESSACTIVITY, BlessActivity::new),
|
||||
// BLESSACTIVITY(ActivityType.BLESSACTIVITY, BlessActivity::new),
|
||||
TREASUREACTIVITY(ActivityType.TREASURE, TreasureActivity::new),
|
||||
LUCKYCAT(ActivityType.LUCKYCAT, LuckyCatActivity::new),
|
||||
SERVERHAPPY(ActivityType.SERVERHAPPY, DefaultEmptyActivity::new),
|
||||
|
@ -94,6 +94,7 @@ public enum ActivityTypeEnum {
|
|||
TRANSFORMATION_DRAW_CARD(ActivityType.TRANSFORMATION_DRAW_CARD,DefaultEmptyActivity::new),//方寸寻宝
|
||||
CONTINUOUS_GIFT_NEW(ActivityType.CONTINUOUS_GIFT_NEW,ContinuousGiftActivity::new),//新连续礼包
|
||||
ARENA_RANK_EXPERIMENT(ActivityType.ARENA_RANK_EXPERIMENT,ArenaRankActivity::new),//竞技试炼
|
||||
SUMMON_TREASURE(ActivityType.SUMMON_TREASURE,SummonTreasureActivity::new),//招募秘宝
|
||||
;
|
||||
|
||||
private int type;
|
||||
|
|
|
@ -0,0 +1,163 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.event.*;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.store.BuyGoodsNewLogic;
|
||||
import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType;
|
||||
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.ReceiveWelfareBag;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import config.*;
|
||||
import manager.STableManager;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Optional;
|
||||
|
||||
class SummonTreasureActivity extends AbstractActivity {
|
||||
|
||||
public SummonTreasureActivity(int id) {
|
||||
super(id);
|
||||
Poster.getPoster().listenEvent(this, SummonTreasureActivityEvent.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initActivity(User user) throws Exception {
|
||||
ActivityMission mission = new ActivityMission();
|
||||
// 初始化阶段奖励
|
||||
ActivityLogic.getInstance().initOtherMission(mission, new ArrayList<>());
|
||||
user.getActivityManager().getActivityMissionMap().put(id, mission);
|
||||
LOGGER.info("招募秘宝初始化..."+id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if (!(event instanceof SummonTreasureActivityEvent)) {
|
||||
return;
|
||||
}
|
||||
SummonTreasureActivityEvent event1 = (SummonTreasureActivityEvent) event;
|
||||
//动态控制购买数量
|
||||
User user = UserManager.getUser(event1.getUid());
|
||||
// 客户端推送
|
||||
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if (mission != null){
|
||||
Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(user.getId(),id,mission.getActivityState()));
|
||||
// 推送客户端数据
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
mission.setV(user.getPlayerInfoManager().getGetFiveStarHeroNum());
|
||||
sendActivityProgress(session, mission, null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean takeReward(ISession session, int missionId) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
//checkAndUpdate cfg
|
||||
SSummonTreasure treasure = STableManager.getConfig(SSummonTreasure.class).get(missionId);
|
||||
if (treasure == null || treasure.getGrade() != id) {
|
||||
throw new ErrorCodeException(ErrorCode.CFG_NULL,"功能不存在:"+missionId);
|
||||
}
|
||||
// acitvityinfo check
|
||||
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if (mission == null){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE,"数据错误");
|
||||
}
|
||||
if (mission.getActivityState() != ActivityType.OPEN_STATE) {
|
||||
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN,"活动未开启");
|
||||
}
|
||||
ActivityProgressInfo progressInfo = mission.getActivityMissionMap().get(missionId);
|
||||
if (progressInfo != null && progressInfo.getState() == ActivityType.FINISH_TAKED) {
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("活动奖励已经领取"));
|
||||
}
|
||||
// 验证领取条件值
|
||||
if (!takeRewardsProcess(session,treasure)) {
|
||||
LOGGER.error("the uid={} the missionId={},the missionProgress={},the require is={} ", session.getUid(), treasure.getId(), user.getPlayerInfoManager().getGetFiveStarHeroNum(), treasure.getCount());
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("未达到领取条件"));
|
||||
}
|
||||
|
||||
ArrayList<int[][]> reward = new ArrayList<>();
|
||||
// 是否购买礼包
|
||||
if (isBuyGift(user)){
|
||||
// 宝藏奖励
|
||||
reward.add(treasure.getTreasureReward());
|
||||
// 普通奖励
|
||||
if (progressInfo == null){
|
||||
reward.add(treasure.getReward());
|
||||
}
|
||||
checkAndSetProgress(mission,missionId,ActivityType.FINISH_TAKED);
|
||||
}else {
|
||||
if (progressInfo != null){
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("普通奖励已经领取"));
|
||||
}
|
||||
// 普通奖励
|
||||
reward.add(treasure.getReward());
|
||||
checkAndSetProgress(mission,missionId,ActivityType.HAD_TAKED);
|
||||
}
|
||||
// reward
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
|
||||
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
||||
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
||||
// 状态推送
|
||||
sendActivityProgress(session, mission, null);
|
||||
// 打点上报
|
||||
reportTakeActivityReward(user,reward,missionId);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否购买礼包
|
||||
* @param user
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private boolean isBuyGift(User user){
|
||||
int[] ints = Optional.ofNullable(SGlobalActivity.getsGlobalActivityMap().get(id)).map(SGlobalActivity::getCanBuyRechargeId).orElse(null);
|
||||
if (ints == null){
|
||||
return true;
|
||||
}
|
||||
for (int anInt : ints) {
|
||||
ReceiveWelfareBag bag = (ReceiveWelfareBag) Optional.ofNullable(user.getPlayerInfoManager().getNewRechargeInfo().getReceiveMap())
|
||||
.map(v -> v.get(anInt)).orElse(null);
|
||||
// 礼包为null,礼包可买,礼包未买
|
||||
if (bag == null || !bag.isBought()){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkActivityMissionFinishAndTake(int uid, int activityId, ActivityMission activityMission) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证奖励是否可以领取
|
||||
* @param session
|
||||
* @param treasure
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
boolean takeRewardsProcess(ISession session, SSummonTreasure treasure) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
return user.getPlayerInfoManager().getGetFiveStarHeroNum() >= treasure.getCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* 领奖后更新奖励进度
|
||||
*/
|
||||
public void checkAndSetProgress(ActivityMission activityMission, int missionId, int state) {
|
||||
ActivityProgressInfo progressInfo = new ActivityProgressInfo();
|
||||
progressInfo.setState(state);
|
||||
activityMission.getActivityMissionMap().put(missionId, progressInfo);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
public class SummonTreasureActivityEvent implements IEvent{
|
||||
private int uid;
|
||||
|
||||
public SummonTreasureActivityEvent(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public void setUid(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
public class SummonTreasureEvent implements IEvent{
|
||||
private int uid;
|
||||
private int star;
|
||||
private int num;
|
||||
|
||||
public SummonTreasureEvent(int uid, int star, int num) {
|
||||
this.uid = uid;
|
||||
this.star = star;
|
||||
this.num = num;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public void setUid(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public int getStar() {
|
||||
return star;
|
||||
}
|
||||
|
||||
public void setStar(int star) {
|
||||
this.star = star;
|
||||
}
|
||||
|
||||
public int getNum() {
|
||||
return num;
|
||||
}
|
||||
|
||||
public void setNum(int num) {
|
||||
this.num = num;
|
||||
}
|
||||
}
|
|
@ -11,10 +11,13 @@ import com.ljsd.jieling.logic.dao.root.User;
|
|||
import com.ljsd.jieling.logic.store.BuyGoodsNewLogic;
|
||||
import com.ljsd.jieling.util.ToolsUtil;
|
||||
import config.SGlobalActivity;
|
||||
import config.SSummonTreasure;
|
||||
|
||||
import javax.naming.spi.ObjectFactory;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class ActivityStateChangeHandler implements IEventHandler {
|
||||
public ActivityStateChangeHandler() {
|
||||
|
@ -39,6 +42,33 @@ public class ActivityStateChangeHandler implements IEventHandler {
|
|||
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
|
||||
}
|
||||
}
|
||||
// 活动开启类型4
|
||||
List<SSummonTreasure> treasureList = SSummonTreasure.getTreasureMap().get(activityId);
|
||||
// 招募基金活动
|
||||
if (treasureList != null && !treasureList.isEmpty()){
|
||||
List<SGlobalActivity> sGlobalActivities = SGlobalActivity.sGlobalActivityMapByOpenRules.getOrDefault(4, new ArrayList<>());
|
||||
int getFiveStarHeroNum = user.getPlayerInfoManager().getGetFiveStarHeroNum();
|
||||
List<SGlobalActivity> activities = sGlobalActivities.stream().filter(s -> s.getOpenRules()[1] == activityId).collect(Collectors.toList());
|
||||
boolean result = true;
|
||||
for (SGlobalActivity activity : activities) {
|
||||
for (SSummonTreasure treasure : treasureList) {
|
||||
// 条件未满足
|
||||
if (treasure.getCount() > getFiveStarHeroNum){
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (result){
|
||||
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(activity.getId());
|
||||
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(activity.getId());
|
||||
if(mission != null && mission.getActivityState() == ActivityType.UNOPEN_STATE && abstractActivity != null){
|
||||
//修改活动状态,推送给前端
|
||||
abstractActivity.setOpenState(user,ActivityType.OPEN_STATE);
|
||||
ActivityLogic.getInstance().sendActivityInfo(user,activity.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(state == ActivityType.FINISH_STATE){
|
||||
List<SGlobalActivity> sGlobalActivities = SGlobalActivity.sGlobalActivityMapByOpenRules.getOrDefault(3, new ArrayList<>(0));
|
||||
sGlobalActivities.stream().filter(s->s.getOpenRules()[1] == activityId).forEach(s->{
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package com.ljsd.jieling.logic.activity.eventhandler;
|
||||
|
||||
import com.ljsd.jieling.logic.activity.IEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.SummonTreasureActivityEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.SummonTreasureEvent;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
public class SummonTreasureHandler implements IEventHandler {
|
||||
public SummonTreasureHandler() {
|
||||
Poster.getPoster().listenEvent(this, SummonTreasureEvent.class);
|
||||
}
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if( ! (event instanceof SummonTreasureEvent) ){
|
||||
return;
|
||||
}
|
||||
SummonTreasureEvent event1 = (SummonTreasureEvent) event;
|
||||
User user = UserManager.getUser(event1.getUid());
|
||||
if (event1.getStar() == 5){
|
||||
user.getPlayerInfoManager().setGetFiveStarHeroNum(user.getPlayerInfoManager().getGetFiveStarHeroNum()+event1.getNum());
|
||||
Poster.getPoster().dispatchEvent(new SummonTreasureActivityEvent(user.getId()));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -196,10 +196,22 @@ public class PlayerManager extends MongoBase {
|
|||
private long weekCardTimeFirst;//本周第一次看到周卡的时间
|
||||
private int weekCardTimeFirstLevel;//本周第一次看到周卡时人物等级
|
||||
|
||||
//玩家抽取到的五星次数,目前只应用于招募基金使用
|
||||
private int getFiveStarHeroNum;
|
||||
|
||||
public PlayerManager(){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
}
|
||||
|
||||
public int getGetFiveStarHeroNum() {
|
||||
return getFiveStarHeroNum;
|
||||
}
|
||||
|
||||
public void setGetFiveStarHeroNum(int getFiveStarHeroNum) {
|
||||
this.getFiveStarHeroNum = getFiveStarHeroNum;
|
||||
updateString("getFiveStarHeroNum", getFiveStarHeroNum);
|
||||
}
|
||||
|
||||
public int getTreasureLevel() {
|
||||
return treasureLevel;
|
||||
}
|
||||
|
|
|
@ -506,6 +506,15 @@ public class BuyGoodsNewLogic {
|
|||
result = true;
|
||||
}
|
||||
}
|
||||
if (bag.getType() == RechargeType.receive.getType()){
|
||||
for (String[] strings : bag.getCondition()) {
|
||||
if (strings[0].equals("9")){
|
||||
if(!judgeOpen(strings,user)){
|
||||
bag.setOpen(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(bag.getType() == RechargeType.push.getType() && !bag.isOpen()){
|
||||
user.getPlayerInfoManager().getNewRechargeInfo().removePush(bag.getModId());
|
||||
|
@ -635,6 +644,17 @@ public class BuyGoodsNewLogic {
|
|||
return user.getPlayerInfoManager().getMonthCard().get(Global.LMONTHCARDID) != null;
|
||||
}else if(con[0].equals("7")){
|
||||
return true;
|
||||
}else if (con[0].equals("9")){
|
||||
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(Integer.parseInt(con[1]));
|
||||
if (config == null){
|
||||
return true;
|
||||
}
|
||||
RechargeHandler rechargeHandler = getRechargeHandler(config.getOtype());
|
||||
AbstractWelfareBag bag = rechargeHandler.getRechargeMap(user).get(config.getId());
|
||||
if (bag == null){
|
||||
return true;
|
||||
}
|
||||
return bag.buyAgo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -90,6 +90,10 @@ public class AbstractWelfareBag extends MongoBase{
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean buyAgo(){
|
||||
return buyTimes >= getLimit();
|
||||
}
|
||||
|
||||
public boolean checkBuy() {
|
||||
if(!open){
|
||||
LOGGER.error("礼包:{}未开启",modId);
|
||||
|
|
|
@ -74,6 +74,11 @@ public class ReceiveWelfareBag extends AbstractWelfareBag {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean buyAgo(){
|
||||
return bought;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh(){
|
||||
super.refresh();
|
||||
|
|
|
@ -1388,6 +1388,7 @@ public class ItemUtil {
|
|||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
int[] heroStar = SItem.getsItemMap().get(cardId).getHeroStar();
|
||||
Hero hero = new Hero(user.getId(),heroStar[0],heroStar[1]);
|
||||
Poster.getPoster().dispatchEvent(new SummonTreasureEvent(user.getId(),hero.getStar(),1));
|
||||
heroManager.addHero(hero);
|
||||
// 鸿蒙阵推送
|
||||
HeroLogic.getInstance().addOrUpdateHongmeng(OnlineUserManager.getSessionByUid(user.getId()));
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
package config;
|
||||
|
||||
import manager.STableManager;
|
||||
import manager.Table;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Table(name ="SummonTreasure")
|
||||
public class SSummonTreasure implements BaseConfig {
|
||||
|
||||
private int id;
|
||||
|
||||
private int level;
|
||||
|
||||
private int grade;
|
||||
|
||||
private int count;
|
||||
|
||||
private int[][] reward;
|
||||
|
||||
private int[][] treasureReward;
|
||||
|
||||
/**
|
||||
* key:活动id, value:对象列表
|
||||
*/
|
||||
private static Map<Integer, List<SSummonTreasure>> treasureMap = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
Map<Integer, SSummonTreasure> config = STableManager.getConfig(SSummonTreasure.class);
|
||||
HashMap<Integer, List<SSummonTreasure>> map = new HashMap<>();
|
||||
config.values().forEach(v->{
|
||||
List<SSummonTreasure> treasures = map.getOrDefault(v.getGrade(), new ArrayList<SSummonTreasure>());
|
||||
treasures.add(v);
|
||||
map.put(v.getGrade(),treasures);
|
||||
});
|
||||
treasureMap = map;
|
||||
}
|
||||
|
||||
public static Map<Integer, List<SSummonTreasure>> getTreasureMap() {
|
||||
return treasureMap;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public int getGrade() {
|
||||
return grade;
|
||||
}
|
||||
|
||||
public int getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
public int[][] getReward() {
|
||||
return reward;
|
||||
}
|
||||
|
||||
public int[][] getTreasureReward() {
|
||||
return treasureReward;
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue