back_recharge
zhangshanxue 2020-05-18 13:44:53 +08:00
commit f4170fc273
17 changed files with 56 additions and 28 deletions

View File

@ -19,18 +19,19 @@ public class WorldBossTreasureStaticConfig extends AbstractClassStaticConfig {
@Override
public void figureConfigs() {
/* Map<Integer, SWorldBossTreasureConfig> config = STableManager.getConfig(SWorldBossTreasureConfig.class);
Map<Integer, SWorldBossTreasureConfig> config = STableManager.getConfig(SWorldBossTreasureConfig.class);
Map<Integer,Set<SWorldBossTreasureConfig>> idsByPeriodsTmp = new HashMap<>();
config.forEach((id,item)->{
int[] activityIds = item.getActivityId();
Set<SWorldBossTreasureConfig> ids = idsByPeriodsTmp.putIfAbsent(activityIds[0], new HashSet<>());
idsByPeriodsTmp.putIfAbsent(activityIds[0], new HashSet<>());
Set<SWorldBossTreasureConfig> ids = idsByPeriodsTmp.get(activityIds[0]);
for(int i=1;i<activityIds.length;i++){
idsByPeriodsTmp.putIfAbsent(activityIds[i],ids);
}
ids.add(item);
});
sWorldBossTreasureConfigByIdMap = config;
idsByPeriods = idsByPeriodsTmp;*/
idsByPeriods = idsByPeriodsTmp;
}

View File

@ -88,6 +88,7 @@ public interface GlobalsDef {
int ENDLESS_TEAM = 401;//无尽编队
int BLOODY_TEAM =701; //血战队伍
int CHAMPION_ATTACK_TEAM =801; //
int EXPEDITION_TEAM =1001; //
int CAR_DELAY_TEAM =1101; //车迟斗法
int DEATH_PATH_TEAM = 1201;//十绝阵

View File

@ -248,5 +248,7 @@ public interface BIReason {
int COMPLEX_JEVEL_EQUIP_CONSUME = 1058; //合成宝器
int GUILD_HELP_CONSUME = 1059;//公会援助
int RANDOM_COST_BOX_CONSUME = 1060;//抽取宝箱奖励消耗
}

View File

@ -1,20 +0,0 @@
package com.ljsd.jieling.handler;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.MessageTypeProto;
public class TakeRandomHeroBoxHandler extends BaseHandler{
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.TAKE_RANDOM_HERO_BOX_REQUEST;
}
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
User user = UserManager.getUser(iSession.getUid());
}
}

View File

@ -3416,6 +3416,7 @@ public class MapLogic {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_CHALLENGE,sDailyChallengeConfig.getType());
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build());
}
}

View File

@ -147,7 +147,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
checkAndSetProgress(activityMission, activityProgressInfo, missionId);
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (null != sGlobalActivity && ActivityLogic.getInstance().checkActivityMissionFinishAndTaked(id, activityMission) && sGlobalActivity.getResetGrade() == 1) {
if (null != sGlobalActivity && ActivityLogic.getInstance().checkActivityMissionFinishAndTaked(session.getUid(),id, activityMission) && sGlobalActivity.getResetGrade() == 1) {
reSetValue(user);
if(sGlobalActivity.getType() != ActivityType.OnlineReward) {
ActivityMission newmiss = user.getActivityManager().getActivityMissionMap().get(id);

View File

@ -632,11 +632,11 @@ public class ActivityLogic implements IEventHandler{
if (activityMission.getActivityState() != ActivityType.OPEN_STATE) {
continue;
}
checkActivityMissionFinishAndTaked(item.getKey(), activityMission);
checkActivityMissionFinishAndTaked(user.getId(),item.getKey(), activityMission);
}
}
public boolean checkActivityMissionFinishAndTaked(int activityId, ActivityMission activityMission) {
public boolean checkActivityMissionFinishAndTaked(int uid,int activityId, ActivityMission activityMission) {
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
for (Map.Entry<Integer, ActivityProgressInfo> item : activityProgressInfoMap.entrySet()) {
ActivityProgressInfo activityProgressInfo = item.getValue();
@ -655,7 +655,8 @@ public class ActivityLogic implements IEventHandler{
}
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
if(sGlobalActivity.getResetGrade()==0){
activityMission.setActivityState(ActivityType.FINISH_STATE);
activityMission.setActivityState(ActivityType.CLOSE_STATE);
Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(uid,activityId,ActivityType.CLOSE_STATE));
}
return true;

View File

@ -8,6 +8,7 @@ import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.store.BuyGoodsLogic;
import com.ljsd.jieling.util.ToolsUtil;
import config.SGlobalActivity;
@ -39,14 +40,16 @@ public class ActivityStateChangeHandler implements IEventHandler {
}
if(sGlobalActivity.getCanBuyRechargeId()!=0){
user.getPlayerInfoManager().getRechargeInfo().putDyGoodsCanBuyTimes(sGlobalActivity.getCanBuyRechargeId(),1);
BuyGoodsLogic.sendGiftGooodsIndication(uid);
}
}else if(state == ActivityType.CLOSE_STATE){
List<SGlobalActivity> sGlobalActivities = SGlobalActivity.sGlobalActivityMapByType.getOrDefault(3, new ArrayList<>(0));
List<SGlobalActivity> sGlobalActivities = SGlobalActivity.sGlobalActivityMapByOpenRules.getOrDefault(3, new ArrayList<>(0));
sGlobalActivities.stream().filter(s->s.getOpenRules()[1] == activityId).forEach(s->{
ActivityMission activityMissionWillOpen = user.getActivityManager().getActivityMissionMap().get(s.getId());
if(activityMissionWillOpen!=null && activityMissionWillOpen.getActivityState() == ActivityType.UNOPEN_STATE){
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(s.getId());
abstractActivity.setOpenState(user,ActivityType.OPEN_STATE);
Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(uid,s.getId(),ActivityType.OPEN_STATE));
}
});
}

View File

@ -130,6 +130,7 @@ public class CumulationData {
public Map<Integer,Integer> finishMissionTimes = new HashMap<>();//完成迷宫寻宝%品质%次
public Map<Integer,Integer> loginTimesDay = new HashMap<>();//每日登陆次数
public Map<Integer,Integer> servenGiftTimes = new HashMap<>();//每日登陆次数
public Map<Integer,Integer> dailyChallengeMap = new HashMap<>();//每日挑战副本

View File

@ -764,6 +764,13 @@ public class CombatLogic {
}
});
}
if(teamId == GlobalsDef.EXPEDITION_TEAM){
user.getPlayerInfoManager().getRechargeInfo().getBuyGoodsTimes().keySet().forEach(id->{
for(int passId : SRechargeCommodityConfig.rechargeCommodityConfigMap.get(id).getPassiveSkill()) {
passiveTeamskillEffect.add(passId);
}
});
}
user.getTeamPosManager().updatePassSkillTeamPos(teamId,passiveTeamskillEffect);
passiveskillEffect.addAll(passiveTeamskillEffect);
}else{

View File

@ -82,4 +82,5 @@ public enum GameEvent {
EXPEDITION_TIMES,//完成猎妖之路节点
BUY_SEVEN_GIFT,//购买七日礼包
DAILY_CHALLENGE,//日常副本挑战
}

View File

@ -762,6 +762,13 @@ public class MissionLoigc {
case SEVEN_GIFT_BUY:
count = cumulationData.servenGiftTimes.get(missionSubType[0]);
break;
case FINISIN_DAILY_CHALLENGE_TIMES:
if(missionSubType[0] == 0){
count = (int)(cumulationData.dailyChallengeMap.values().stream().collect(Collectors.summarizingInt(x->x)).getSum());
}else{
count = cumulationData.dailyChallengeMap.get(missionSubType[0]);
}
break;
default:
count = 0;
break;

View File

@ -91,6 +91,7 @@ public enum MissionType {
LUCKY_WHEELS_TIMES(83),//幸运探宝%次
FINISH_EXPEDITION_HERO_TIMES(84),//完成猎妖之路次数达到
SEVEN_GIFT_BUY(86),//购买7日狂欢福利礼包%s次七日狂欢积分
FINISIN_DAILY_CHALLENGE_TIMES(87),//完成%s类型0为不限类型的日常副本%s次
;
@ -256,6 +257,8 @@ public enum MissionType {
return FINISH_EXPEDITION_HERO_TIMES;
case 86:
return SEVEN_GIFT_BUY;
case 87:
return FINISIN_DAILY_CHALLENGE_TIMES;
default:
return null;
}

View File

@ -117,6 +117,7 @@ public class DataManagerDistributor {
judges.put(MissionType.FINISH_EXPEDITION_HERO_TIMES,new ExpeditionManager());
judges.put(MissionType.LOGIN_TIMES,new LoginTimeManager());
judges.put(MissionType.SEVEN_GIFT_BUY,new SevenGiftManager());
judges.put(MissionType.FINISIN_DAILY_CHALLENGE_TIMES,new FinishDailyChallengeManger());

View File

@ -0,0 +1,13 @@
package com.ljsd.jieling.logic.mission.data;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.mission.MissionType;
public class FinishDailyChallengeManger implements BaseDataManager{
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
int type = (int) parm[0];
data.dailyChallengeMap.put(type,data.dailyChallengeMap.getOrDefault(type, 0)+1);
return new CumulationData.Result(missionType);
}
}

View File

@ -334,6 +334,11 @@ public class MissionEventDistributor {
typeList.add(MissionType.SEVEN_GIFT_BUY);
eventEnumListMap.put(GameEvent.BUY_SEVEN_GIFT,typeList);
eventProcessor.put(GameEvent.BUY_SEVEN_GIFT,new CumulationDataEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.FINISIN_DAILY_CHALLENGE_TIMES);
eventEnumListMap.put(GameEvent.DAILY_CHALLENGE,typeList);
eventProcessor.put(GameEvent.DAILY_CHALLENGE,new CumulationDataEventProcessor());
}
public static final ThreadLocal<Map<GameMisionType, List<MissionStateChangeInfo>>> threadMissionChangeList =

View File

@ -61,6 +61,7 @@ public class SSpecialConfig implements BaseConfig {
public static final String Gold_touch = "Gold_touch";//三个点金对应vip
public static final String Gold_touch_refresh = "Gold_touch_refresh";//点金刷新时间
public static final String GUILD_TECHNOLOGY_RETURN_PERCENT = "guild_technology_return_percent";//公会技能重置返还材料比例 实际百分比为填写数值/10000
public static final String LOTTERY_ENERGY_COST = "lottery_energy_cost";//钻石抽积攒仙缘能量(原非酋气息)抽奖消耗
@Override
public void init() throws Exception {