青龙秘宝,工坊合成装备任务改为锻器阁合成装备
parent
c18ac44bcf
commit
f202f73b73
|
@ -13,6 +13,8 @@ import com.ljsd.jieling.logic.dao.UserManager;
|
|||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.HeroInfoProto;
|
||||
|
@ -90,6 +92,9 @@ public class ComplexEquipHandler extends BaseHandler<HeroInfoProto.ComplexEquipR
|
|||
dropItems[0][1] = proto.getNum();
|
||||
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropItems, BIReason.COMPLEX_EQUIP);
|
||||
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.WORKSHOP_CREATE_EQUIP, proto.getNum());
|
||||
|
||||
HeroInfoProto.ComplexEquipResponse.Builder response = HeroInfoProto.ComplexEquipResponse.newBuilder();
|
||||
response.setDrop(drop);
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EQUIP_COMPLEX_RESPONSE_VALUE, response.build(), true);
|
||||
|
@ -179,13 +184,16 @@ public class ComplexEquipHandler extends BaseHandler<HeroInfoProto.ComplexEquipR
|
|||
}
|
||||
int[][] createArray = new int[countMap.size()][];
|
||||
int index = 0 ;
|
||||
int totalCreate = 0;
|
||||
for(Map.Entry<Integer, Integer> createEntry:countMap.entrySet()){
|
||||
|
||||
createArray[index] = new int[]{createEntry.getKey(),createEntry.getValue()};
|
||||
index++;
|
||||
totalCreate += createEntry.getValue();
|
||||
}
|
||||
ItemUtil.itemCost(user, consumeMap, BIReason.COMPLEX_EQUIP_CONSUME, 0);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user,createArray,BIReason.COMPLEX_EQUIP);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.WORKSHOP_CREATE_EQUIP, totalCreate);
|
||||
HeroInfoProto.ComplexEquipResponse.Builder response = HeroInfoProto.ComplexEquipResponse.newBuilder();
|
||||
response.setDrop(drop);
|
||||
ReportUtil.onReportEvent(user, ReportEventEnum.EQUIP_SYNTHESIS.getType(),new ArrayList<>(countMap.keySet()),"",new ArrayList<>(consumeMap.keySet()),consumeMap.values());
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
|
@ -93,7 +92,7 @@ public class TreasureActivity extends AbstractActivity {
|
|||
private void takeTreasureReward(ISession session, User user, int activityId, int missionId) throws Exception {
|
||||
int rewardResponseValue = MessageTypeProto.MessageType.TAKE_ACTIVITY_REWARD_RESPONSE_VALUE;
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(activityId);
|
||||
int changeState = getChangerState(user);
|
||||
int destState = getDestState(user);
|
||||
List<int[][]> dropList = new ArrayList<>(2);
|
||||
// Set<Integer> missionIds = new HashSet<>();
|
||||
if (missionId == -2) {
|
||||
|
@ -115,15 +114,15 @@ public class TreasureActivity extends AbstractActivity {
|
|||
dropList.add(rewards);
|
||||
notifyClient(session,user);
|
||||
} else if (missionId == -1) {
|
||||
getAllTreasureRewards(user, activityMission, changeState, dropList);
|
||||
getAllTreasureRewards(user, activityMission, destState, dropList);
|
||||
} else {
|
||||
int state = activityMission.getActivityMissionMap().get(missionId).getState();
|
||||
if (state == changeState || state == ActivityType.FINISH_TAKED) {
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("该奖励已领取过"));
|
||||
if (state == destState || state == ActivityType.FINISH_TAKED) {
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("奖励不可重复领取"));
|
||||
}
|
||||
dropByState(dropList, state, changeState, missionId);
|
||||
dropByState(dropList, state, destState, missionId);
|
||||
ActivityProgressInfo progressInfo = new ActivityProgressInfo();
|
||||
progressInfo.setState(changeState);
|
||||
progressInfo.setState(destState);
|
||||
progressInfo.setProgrss(0);
|
||||
activityMission.getActivityMissionMap().put(missionId, progressInfo);
|
||||
// missionIds.add(missionId);
|
||||
|
@ -233,7 +232,7 @@ public class TreasureActivity extends AbstractActivity {
|
|||
|
||||
}
|
||||
|
||||
private int getChangerState(User user){
|
||||
private int getDestState(User user){
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
int changeState = ActivityType.HAD_TAKED;
|
||||
int hadBuyTreasure = playerInfoManager.getHadBuyTreasure();
|
||||
|
@ -242,24 +241,24 @@ public class TreasureActivity extends AbstractActivity {
|
|||
}
|
||||
return changeState;
|
||||
}
|
||||
private void getAllTreasureRewards(User user, ActivityMission activityMission, int changeState, List<int[][]> dropList){
|
||||
private void getAllTreasureRewards(User user, ActivityMission activityMission, int destState, List<int[][]> dropList){
|
||||
for(int i = 1 ; i<=user.getPlayerInfoManager().getTreasureLevel();i++){
|
||||
Map<Integer, ActivityProgressInfo> progressInfoMap = activityMission.getActivityMissionMap();
|
||||
int state =progressInfoMap.get(i).getState();
|
||||
if(state==changeState||state==ActivityType.FINISH_TAKED) {
|
||||
if(state==destState||state==ActivityType.FINISH_TAKED) {
|
||||
continue;
|
||||
}
|
||||
dropByState(dropList,state,changeState,i);
|
||||
dropByState(dropList,state,destState,i);
|
||||
ActivityProgressInfo progressInfo = new ActivityProgressInfo();
|
||||
progressInfo.setProgrss(0);
|
||||
progressInfo.setState(changeState);
|
||||
progressInfo.setState(destState);
|
||||
activityMission.getActivityMissionMap().put(i, progressInfo);
|
||||
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs){
|
||||
getAllTreasureRewards(user, user.getActivityManager().getActivityMissionMap().get(id), getChangerState(user), itemAttrs);
|
||||
getAllTreasureRewards(user, user.getActivityManager().getActivityMissionMap().get(id), getDestState(user), itemAttrs);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,7 +34,7 @@ public enum MissionType {
|
|||
|
||||
BUY_GOLD_TIMES(20), //买金币次数
|
||||
BUY_STAMINA_TIMES(21), //购买体力次数
|
||||
WORKSHOP_CREATE_EQUIP_NUMS(22), //工坊合成装备件数
|
||||
WORKSHOP_CREATE_EQUIP_NUMS(22), //锻器阁合成装备件数
|
||||
GENERAL_STORY_TIMES(23), //每日挑战普通副本次数
|
||||
HERO_STORY_TIMES(24), //每日挑战精英副本次数
|
||||
LEVEL_STORY_TIMES(25), //每日挑战故事关卡次数
|
||||
|
|
|
@ -421,33 +421,35 @@ public class BuyGoodsLogic {
|
|||
if(user.getPlayerInfoManager().getMonthCard().containsKey(Global.LMONTHCARDID) ){
|
||||
PlayerLogic.getInstance().sendDayilyMail(user,goodsType);
|
||||
int starReward = user.getMapManager().getStarReward();
|
||||
if(starReward == 0){
|
||||
return;
|
||||
}
|
||||
StringBuilder rewardStr = new StringBuilder();
|
||||
while (starReward>0){
|
||||
SChallengeStarBox sChallengeStarBox = STableManager.getConfig(SChallengeStarBox.class).get(starReward);
|
||||
int[][] extraReward = sChallengeStarBox.getExtraReward();
|
||||
starReward--;
|
||||
if(starReward>0){
|
||||
rewardStr.append(StringUtil.parseArrayToString(extraReward)).append("|");
|
||||
}else{
|
||||
rewardStr.append(StringUtil.parseArrayToString(extraReward));
|
||||
/**
|
||||
* 之前这里是starReward为0就直接return了
|
||||
* 方法最后边的月卡和基金的每日邮件也不会发送
|
||||
* 备注下,如果发了月卡和基金的每日邮件反而是错的,还要改回来
|
||||
*/
|
||||
if(starReward != 0){
|
||||
StringBuilder rewardStr = new StringBuilder();
|
||||
while (starReward>0){
|
||||
SChallengeStarBox sChallengeStarBox = STableManager.getConfig(SChallengeStarBox.class).get(starReward);
|
||||
int[][] extraReward = sChallengeStarBox.getExtraReward();
|
||||
starReward--;
|
||||
if(starReward>0){
|
||||
rewardStr.append(StringUtil.parseArrayToString(extraReward)).append("|");
|
||||
}else{
|
||||
rewardStr.append(StringUtil.parseArrayToString(extraReward));
|
||||
}
|
||||
}
|
||||
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("recharge_6_stars_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("recharge_6_stars_txt");
|
||||
MailLogic.getInstance().sendMail(user.getId(),title,content,rewardStr.toString(),nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
}
|
||||
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("recharge_6_stars_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("recharge_6_stars_txt");
|
||||
MailLogic.getInstance().sendMail(user.getId(),title,content,rewardStr.toString(),nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
}
|
||||
|
||||
if(user.getPlayerInfoManager().getMonthCard().containsKey(Global.MONTHCARDID) || goodsType == GiftGoodsType.WEEKCARD || goodsType == GiftGoodsType.FOUND_ONE || goodsType == GiftGoodsType.FOUND_TWO){
|
||||
PlayerLogic.getInstance().sendDayilyMail(user,goodsType);
|
||||
}else if(goodsType == GiftGoodsType.SUN_LONG ){
|
||||
user.getPlayerInfoManager().setHadBuyTreasure(1);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static boolean isHadBought( Map<Integer, Integer> buyGoodsTimes,int giftGoodsType){
|
||||
|
|
Loading…
Reference in New Issue