change task

back_recharge
wangyuan 2019-10-18 16:58:32 +08:00
parent 237b1d5683
commit 425d3bd03a
8 changed files with 45 additions and 6 deletions

View File

@ -575,6 +575,7 @@ public class FriendLogic {
return;
}
StringBuilder reward=new StringBuilder();
int takeTimes = 0;
if (type ==1){ //领取一个人
if (!friends.contains(friendId)) {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "没有该好友");
@ -589,6 +590,7 @@ public class FriendLogic {
friendManager.updateHaveRewardMap(friendId,2);
playerInfoManager.updateVipPrivilage(STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getMaxEnergyGet(),1);
receieveFriends.add(friendId);
takeTimes++;
}else{
for (Integer friend : friends) {
if (haveRewardMap.containsKey(friend) && haveRewardMap.get(friend) != 1) {
@ -602,6 +604,7 @@ public class FriendLogic {
friendManager.updateHaveRewardMap(friend,2);
reward.append(SSpecialConfig.getStringValue(SSpecialConfig.Friend_Gift));
receieveFriends.add(friend);
takeTimes++;
}
}
@ -610,6 +613,7 @@ public class FriendLogic {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "已领取赠礼");
return;
}
user.getUserMissionManager().onGameEvent(user,GameEvent.TAKE_FRIEND_GIFT,takeTimes);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt2(rewardStr), BIReason.FRIEND_GIVE);
PlayerInfoProto.FriendTakeHeartResponse friendTakeHeartResponse = PlayerInfoProto.FriendTakeHeartResponse
.newBuilder().setDrop(drop).addAllFriendId(receieveFriends)

View File

@ -66,6 +66,8 @@ public enum GameEvent {
FIND_STAR,//占星
TAKE_FRIEND_GIFT,//领取好友赠礼
}

View File

@ -317,7 +317,7 @@ public class MissionLoigc {
}
}
if(type == GameMisionType.BEGINNERMISSION.getType()){ //日常 任务
if(type == GameMisionType.BEGINNERMISSION.getType()){ //新手 任务
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.BEGINNER_MISSION_REWARD, missionId);
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.BEGINNERMISSION);
}
@ -591,7 +591,10 @@ public class MissionLoigc {
count = cumulationData.heroInTeamNums;
break;
case BUY_GROCERY_TIMES:
count = cumulationData.buyGenerStoreTimes;
num = cumulationData.buyStoreTimes.get(missionSubType[0]);
if(num!=null){
count = num;
}
break;
case FRIEND_NUMS:
count = cumulationData.friendNums;
@ -626,6 +629,9 @@ public class MissionLoigc {
case ESPECIAL_EQUIP:
count = cumulationData.especialEquipStar.get(missionSubType[0]);
break;
case TAKE_FRIEND_GIFT:
count = cumulationData.takeFriendGifts;
break;
default:
count = 0;
break;

View File

@ -69,7 +69,7 @@ public enum MissionType {
HERO_IN_TEAM_NUMS(51), // 上阵卡牌数量
BUY_GROCERY_TIMES(52),//杂货店购买次数:%s
BUY_GROCERY_TIMES(52),//某商店购买次数
FRIEND_NUMS(53),//拥有好友的个数:%%s
GIVE_FRIEND_STAMIN_TIMES(54),//赠送好友体力次数:%s
HERO_UP_SOME_STAR_TIMES(55),//进阶x星卡牌个数达到%s
@ -81,7 +81,8 @@ public enum MissionType {
ENDLESS_CONSUME_ACTION(60),//无尽消耗行动力
FAMILY_FIGHT_ATTACK(61),//公会战进攻次数
ESPECIAL_EQUIP(62),//拥有%s星级法宝的数量为%s
FIND_STAR(65)//占星
FIND_STAR(65),//占星
TAKE_FRIEND_GIFT(66),//领取好友友情点
;
private int missionType;
@ -222,6 +223,8 @@ public enum MissionType {
return ESPECIAL_EQUIP;
case 65:
return FIND_STAR;
case 66:
return TAKE_FRIEND_GIFT;
default:
return null;
}

View File

@ -17,8 +17,13 @@ public class BuyGoodsManager implements BaseDataManager {
}else if(missionType == MissionType.BUY_STAMINA_TIMES && itemId == Global.STAMINA){
data.buyStaminaTimes = data.buyStaminaTimes + itemNum;
return new CumulationData.Result(missionType);
}else if(missionType == MissionType.BUY_GROCERY_TIMES && storeType == StoreType.GENERAL_STORE.getType()){
data.buyGenerStoreTimes = data.buyGenerStoreTimes + itemNum;
}else if(missionType == MissionType.BUY_GROCERY_TIMES){
Integer nums = data.buyStoreTimes.get(storeType);
if(nums == null){
nums=0;
}
nums+=itemNum;
data.buyStoreTimes.put(storeType,nums);
return new CumulationData.Result(missionType);
}
return null;

View File

@ -103,6 +103,8 @@ public class DataManagerDistributor {
judges.put(MissionType.FAMILY_FIGHT_ATTACK,new FamilyFightManager());
judges.put(MissionType.FIND_STAR,new FindStarManager());
judges.put(MissionType.TAKE_FRIEND_GIFT,new TakeFriendGiftTimesManager());
}

View File

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

View File

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