新积天豪礼活动脚本修改提交

yuanshuai 2022-01-03 11:46:33 +08:00
parent d96dc3a63d
commit b3d5dfc0e6
8 changed files with 105 additions and 6 deletions

View File

@ -1,6 +1,10 @@
package com.ljsd.jieling.handler.store;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.activity.event.NewWelfareEvent;
import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
@ -23,6 +27,9 @@ public class BuyStoreItemHandler extends BaseHandler {
PlayerInfoProto.BuyStoreItemRequest buyStoreItemRequest
= PlayerInfoProto.BuyStoreItemRequest.parseFrom(netData.parseClientProtoNetData());
CommonProto.Drop drop = StoreLogic.buyStoreItem(iSession.getUid(), buyStoreItemRequest.getStoreId(), buyStoreItemRequest.getItemId(), buyStoreItemRequest.getItemNum());
if (buyStoreItemRequest.getItemId()==1106){
Poster.getPoster().dispatchEvent(new NewWelfareEvent(UserManager.getUser(iSession.getUid()), NewWelfareTypeEnum.BUY_1106.getType(),0));
}
int msgId = MessageTypeProto.MessageType.BUY_STORE_ITEM_RESPONSE_VALUE;
PlayerInfoProto.BuyStoreItemResponse builder = PlayerInfoProto.BuyStoreItemResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(iSession, 1,msgId, builder, true);

View File

@ -100,6 +100,9 @@ public class ActivityLogic implements IEventHandler{
//更新累计充值天数
ActivityLogic.getInstance().resumeActivity(user, ActivityType.RECHARGE_SUM_DAY);
//更新新积天豪礼天数
ActivityLogic.getInstance().resumeActivity(user, ActivityType.NEW_RECHARGE_SUM_DAY);
ActivityLogic.getInstance().resumeActivity(user, ActivityType.LUCKY_GET);
ActivityLogic.getInstance().resumeActivity(user,ActivityType.JADE_DYNASTY_MISSION);
@ -579,6 +582,7 @@ public class ActivityLogic implements IEventHandler{
if(activityId == 7201){
continue;
}
int activityStatus = activityMission.getActivityState();
if(activityStatus == -1){
continue;
@ -587,6 +591,12 @@ public class ActivityLogic implements IEventHandler{
if(sGlobalActivity == null){
continue;
}
if (sGlobalActivity.getType()==ActivityType.RECHARGE_SUM_DAY){
if (activityMissionMap.get(activityId).getV()<=0||activityMissionMap.get(activityId).getV()>=15) {
continue;
}
}
if(activityStatus == ActivityType.CLOSE_STATE){
long prepareTime = ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, sGlobalActivity.getGapTime());
activityInfoList.add(CommonProto.ActivityInfo.newBuilder().setActivityId(activityId).setEndTime((int)(prepareTime/1000)).build());

View File

@ -104,11 +104,13 @@ public interface ActivityType {
int TRANSFORMATION_DRAW_CARD = 86;//方寸寻宝
int CONTINUOUS_GIFT_NEW = 87;//新连续礼包
int ARENA_RANK_EXPERIMENT = 88;//竞技试炼
int NEW_RECHARGE_SUM_DAY = 90;//新积天豪礼
int SPECIAL_MONSTER_RANDOM_ACTIVITY = 100;//灵兽宝阁活动
int SPECIAL_MONSTER_GIFT_ACTIVITY = 101;//灵兽礼包
int NEW_GENERAL_ATTACK = 200;//新将来袭
int HERO_STAR = 500;
int ITEMS_STORE= 6000;//百宝商会

View File

@ -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),//竞技试炼
NEW_RECHARGE_SUM_DAY(ActivityType.NEW_RECHARGE_SUM_DAY,NewRechargeSumDayActivity::new),//新积天豪礼
SUMMON_TREASURE(ActivityType.SUMMON_TREASURE,SummonTreasureActivity::new),//招募秘宝
;

View File

@ -0,0 +1,76 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.config.clazzStaticCfg.ActivityStaticConfig;
import com.ljsd.jieling.jbean.ActivityManager;
import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.network.session.ISession;
import config.SActivityRewardConfig;
import manager.STableManager;
import java.util.Map;
class NewRechargeSumDayActivity extends AbstractActivity {
public NewRechargeSumDayActivity(int id) {
super(id);
}
@Override
public void onResume(User user) {
ActivityManager activityManager = user.getActivityManager();
ActivityMission activityMission = activityManager.getActivityMissionMap().get(id);
int buyNum=0;
for (Map.Entry<Integer, ActivityProgressInfo> progressInfoEntry : activityMission.getActivityMissionMap().entrySet()) {
if (progressInfoEntry.getValue().getState()==ActivityType.HAD_TAKED){
buyNum++;
}
}
if (buyNum > activityMission.getV()) {
activityMission.setV(activityMission.getV() + 1);
}
if (activityMission.getV() >= SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).size()) {
ActivityLogic.getInstance().initMissionInfo(activityMission,id);
}
}
@Override
void updateProgress(ActivityMission activityMission, int count) {
int missionId =STableManager.getFigureConfig(ActivityStaticConfig.class).getRechargeDaySum().get(activityMission.getV() + 1);
ActivityProgressInfo activityProgressInfo = activityMission.getActivityMissionMap().get(missionId);
if (activityProgressInfo == null || activityProgressInfo.getProgrss() == 1) {
return;
}
if (count>0 ) {//只要是充值就算
//>= SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId).getValues()[0][0]
activityProgressInfo.setProgrss(1);
}
}
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
return checkValue(session, sActivityRewardConfig, activityProgressInfo);
}
/**
*
*/
@Override
boolean checkValue(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(session.getUid());
int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getV() + 1;
if (value < values[0][1]) {
return false;
}
if(activityProgressInfo.getProgrss()!=1){
return false;
}
return true;
}
}

View File

@ -30,6 +30,11 @@ public class NewWelfareActivity extends AbstractActivity {
Poster.getPoster().listenEvent(this, NewWelfareEvent.class);
}
@Override
public void initActivity(User user) throws Exception {
super.initActivity(user);
}
@Override
public void onEvent(IEvent event) throws Exception {
if (!(event instanceof NewWelfareEvent)) {

View File

@ -30,9 +30,9 @@ class RechargeSumDayActivity extends AbstractActivity {
// SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId).getValues()[0][0]
activityMission.setV(activityMission.getV() + 1);
}
if (activityMission.getV() >= SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).size()) {
ActivityLogic.getInstance().initMissionInfo(activityMission,id);
}
// if (activityMission.getV() >= SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).size()) {
// ActivityLogic.getInstance().initMissionInfo(activityMission,id);
// }
}
@Override

View File

@ -227,9 +227,7 @@ public class BuyGoodsNewLogic {
//处理特权
activePrivilege(user,config);
resultRes.setResultCode(1);
if (goodsId==1106){
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.BUY_1106.getType(),0));
}
//发送邮件
int[] mail = config.getMail();
if(config.getPrice()!=0&&mail!=null&&mail.length>1){