易经宝库道具回收
parent
f303840402
commit
16ded73f10
|
@ -157,6 +157,7 @@ public interface BIReason {
|
|||
int SPECIAL_MONSTER_REWARD = 88;//灵兽涅槃获得
|
||||
int SPECIAL_FREE_PIECE_REWARD = 89;//灵兽放生获得
|
||||
int SKIN_USE_REWARD = 90;//激活皮肤获得头像
|
||||
int SUB_ACTIVITY_FINISH = 91;//易经宝库活动结束补发
|
||||
|
||||
int ADVENTURE_UPLEVEL_CONSUME = 1000;//秘境升级
|
||||
int SECRETBOX_CONSUME = 1001;//秘盒抽卡
|
||||
|
@ -293,4 +294,5 @@ public interface BIReason {
|
|||
|
||||
int SKIN_USE_CONSUME = 1073;//激活皮肤消耗
|
||||
int SUB_ACTIVITY_CONSUME = 1074;//易经宝库
|
||||
int SUB_ACTIVITY_CONSUME_FINISH = 1075;//易经宝库活动结束补发消耗
|
||||
}
|
|
@ -3,10 +3,13 @@ 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.globals.Global;
|
||||
import com.ljsd.jieling.jbean.*;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.dao.Item;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
|
@ -15,6 +18,7 @@ import com.ljsd.jieling.util.MessageUtil;
|
|||
import config.*;
|
||||
import manager.STableManager;
|
||||
import util.MathUtils;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -28,6 +32,7 @@ public class SubActivity extends AbstractActivity {
|
|||
|
||||
public static final int LAY_INDEX = 100;
|
||||
public static final int POOL_INDEX = 1000;
|
||||
|
||||
public SubActivity(int id) {
|
||||
super(id);
|
||||
}
|
||||
|
@ -72,10 +77,6 @@ public class SubActivity extends AbstractActivity {
|
|||
|
||||
SBlessingConfigNew sBlessingConfigNew = SBlessingConfigNew.getsBlessingConfigNewHashMap().get(id);
|
||||
//check cost
|
||||
int integerValue = SSpecialConfig.getIntegerValue(SSpecialConfig.EXPEDITION_REBORN);
|
||||
if(integerValue==0){
|
||||
throw new ErrorCodeException(ErrorCode.CFG_NULL);
|
||||
}
|
||||
int[][] cost = new int[1][2];
|
||||
cost[0] = sBlessingConfigNew.getCost();
|
||||
boolean b = ItemUtil.itemCost(user, cost, BIReason.SUB_ACTIVITY_CONSUME, 1);
|
||||
|
@ -89,7 +90,14 @@ public class SubActivity extends AbstractActivity {
|
|||
|
||||
//get reward
|
||||
long count = activityMission.getActivityMissionMap().values().stream().filter(activityProgressInfo1 -> activityProgressInfo1.getState() == ActivityType.HAD_TAKED).count();
|
||||
//后5个概率提前结束抽奖
|
||||
|
||||
if (count != (size - 1) && count >= (size - 5) && (Math.random() * 5 < 1)) {
|
||||
user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().add((int) count, activityMission.getV());
|
||||
user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().remove(user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().size() - 1);
|
||||
}
|
||||
Integer rewardId = user.getActivityManager().getSubRewardPoolInfo().getSubRewardPool().get((int) count);
|
||||
|
||||
SBlessingRewardPoolNew sBlessingRewardPoolNew = STableManager.getConfig(SBlessingRewardPoolNew.class).get(rewardId);
|
||||
|
||||
|
||||
|
@ -101,7 +109,7 @@ public class SubActivity extends AbstractActivity {
|
|||
activityProgressInfo.setProgrss(rewardId);
|
||||
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
||||
int curLay = user.getActivityManager().getSubRewardPoolInfo().getLay();
|
||||
if(curLay!=sBlessingConfigNew.getFloorCount()&&count==(size-1)){
|
||||
if (curLay != sBlessingConfigNew.getFloorCount() && rewardId == activityMission.getV()) {
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.SUB_ACTIVITY);
|
||||
sendActivityProgress(session, activityManager.getActivityMissionMap().get(id), null);
|
||||
} else {
|
||||
|
@ -201,4 +209,40 @@ public class SubActivity extends AbstractActivity {
|
|||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityEndOnMySelf(User user) throws Exception {
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
|
||||
|
||||
SBlessingConfigNew sBlessingConfigNew = SBlessingConfigNew.getsBlessingConfigNewHashMap().get(id);
|
||||
|
||||
int removeItemId = sBlessingConfigNew.getCost()[0];
|
||||
Item item = user.getItemManager().getItem(removeItemId);
|
||||
if (item != null) {
|
||||
int costNum = item.getItemNum();
|
||||
//check cost
|
||||
int[][] cost = new int[1][];
|
||||
cost[0] = new int[]{item.getItemId(), item.getItemNum()};
|
||||
ItemUtil.itemCost(user, cost, BIReason.SUB_ACTIVITY_CONSUME_FINISH, sGlobalActivity.getId());
|
||||
|
||||
SItem sItem = SItem.getsItemMap().get(removeItemId);
|
||||
//give
|
||||
int integerValue = SSpecialConfig.getIntegerValue(SSpecialConfig.ITEM_1004_RETRIEVE);
|
||||
if (integerValue == 0) {
|
||||
throw new ErrorCodeException(ErrorCode.CFG_NULL);
|
||||
}
|
||||
int[][] rewards = new int[1][];
|
||||
rewards[0] = new int[]{16, costNum*integerValue};
|
||||
|
||||
SItem getItem = SItem.getsItemMap().get(16);
|
||||
String getName =costNum*integerValue+getItem.getName();
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("activity_item_retrieve_mail_titile");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("activity_item_retrieve_mail_content", new Object[]{sGlobalActivity.getSesc(),sItem.getName(),costNum,getName});
|
||||
String mailReward = ItemUtil.getMailReward(rewards);
|
||||
int nowTime = (int) (TimeUtils.now() / 1000);
|
||||
MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,6 +83,7 @@ public class SSpecialConfig implements BaseConfig {
|
|||
public static final String DISCOUNT_MAIN = "discount_main";//关卡礼包
|
||||
|
||||
public static final String ANIMAL_BROADCAST_QUALITY = "animal_broadcast_quality";
|
||||
public static final String ITEM_1004_RETRIEVE = "item_1004_retrieve";// 结算补发道具16 # 50
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
||||
|
|
Loading…
Reference in New Issue