Merge branch 'master_dev' into master_arena
commit
a2b847371b
|
@ -169,7 +169,7 @@ public class UserManager {
|
|||
user.getUserMissionManager().onGameEvent(user, GameEvent.BEGINNER);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.VIP_LEVLUP, MissionType.VIP_LEVEL,0);
|
||||
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.LOGIN_TIMES.getType(),1));
|
||||
ReportUtil.onReportEvent(user, ReportEventEnum.CREATE_ROLE.getType());//先发送注册事件
|
||||
ActivityLogic.getInstance().newPlayerOpenActivityMission(user);
|
||||
ItemUtil.drop(user,gameSetting.getBornItem(), BIReason.USER_BORN_REWARD);
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
Map<String, Hero> heroMap = heroManager.getHeroMap();
|
||||
|
@ -179,10 +179,9 @@ public class UserManager {
|
|||
teamPosManager.addTeamOfInitPlayer(teamHeros);
|
||||
long force = HeroLogic.getInstance().calTeamTotalForce(user, 1);
|
||||
playerManager.setMaxForce(force);
|
||||
ActivityLogic.getInstance().newPlayerOpenActivityMission(user);
|
||||
user.getExpeditionManager().setExpeditionLeve(1);
|
||||
CrossServiceLogic.getInstance().saveBasicPlayerToRedis(user);//初始化角色
|
||||
KtEventUtils.onKtEvent(user, ParamEventBean.UserRegister);
|
||||
ReportUtil.onReportEvent(user, ReportEventEnum.CREATE_ROLE.getType());//先发送注册事件
|
||||
}
|
||||
|
||||
public static User getUser(int uid,boolean canNull) throws Exception {
|
||||
|
|
|
@ -76,6 +76,7 @@ public class UserMissionManager extends MongoBase {
|
|||
private CumulationData jadeDynastyCumulationData = new CumulationData();//破阵诛仙日数据
|
||||
private CumulationData jadeDynastyWeekCumulationData = new CumulationData();//破阵诛仙周数据
|
||||
private CumulationData mistyTripCumulationData = new CumulationData();//缥缈之旅数据
|
||||
private CumulationData cowFlyCumulationData = new CumulationData();//牛气冲天数据
|
||||
|
||||
/**
|
||||
* 奖励处理任务
|
||||
|
@ -103,7 +104,7 @@ public class UserMissionManager extends MongoBase {
|
|||
case DAILY_MISSION_REWARD:{
|
||||
dailyMissionIdsType.rewardMission(user,(int)parm[0], missionTypeEnumListMap.get(GameMisionType.DAILYMISSION));
|
||||
if(!missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).isEmpty()){
|
||||
calCumulationDataResult(user,MissionType.FINSIH_DAYILY_TIMES,missionTypeEnumListMap,(int)parm[0]);
|
||||
calCumulationDataResult(user,MissionType.FINSIH_DAYILY_TIMES,missionTypeEnumListMap, parm[0]);
|
||||
updateString("dailyMissionIdsType",dailyMissionIdsType);
|
||||
}
|
||||
}
|
||||
|
@ -212,6 +213,20 @@ public class UserMissionManager extends MongoBase {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 牛气冲天活动数据处理
|
||||
if(!cowFlySkyMissionType.getDoingMissionIds().isEmpty()){
|
||||
Map<Integer, SArroGantFly> flyMap = SArroGantFly.getTaskTypeMap().get(missionType.getMissionTypeValue());
|
||||
if (flyMap != null && !flyMap.isEmpty()) {
|
||||
CumulationData.Result result = cowFlyCumulationData.updateData(missionType, parm);
|
||||
if(result != null){
|
||||
cowFlySkyMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.COWFLYSKYMISSION), cowFlyCumulationData);
|
||||
setCowFlySkyMissionType(cowFlySkyMissionType);
|
||||
setCowFlyCumulationData(cowFlyCumulationData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!treasureMissionIdsType.getDoingMissionIds().isEmpty() ){
|
||||
List<STreasureSunlongTaskConfig> sTreasureTaskConfigs = STreasureSunlongTaskConfig.sTreasureTaskConfigListByTypeMapTmp.get(missionType.getMissionTypeValue());
|
||||
if(sTreasureTaskConfigs!=null){
|
||||
|
@ -319,9 +334,6 @@ public class UserMissionManager extends MongoBase {
|
|||
// vip任务
|
||||
vipMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.VIPMISSION),cumulationData);
|
||||
updateString("vipMissionIdsType",vipMissionIdsType);
|
||||
// 牛气冲天任务
|
||||
cowFlySkyMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.COWFLYSKYMISSION),cumulationData);
|
||||
updateString("cowFlySkyMissionType",cowFlySkyMissionType);
|
||||
// 家园任务
|
||||
homeMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.HOME_MISSION),cumulationData);
|
||||
updateString("homeMissionType",homeMissionType);
|
||||
|
@ -450,6 +462,15 @@ public class UserMissionManager extends MongoBase {
|
|||
updateString("treasureMissionIdsType", treasureMissionIdsType);
|
||||
}
|
||||
|
||||
public CumulationData getCowFlyCumulationData() {
|
||||
return cowFlyCumulationData;
|
||||
}
|
||||
|
||||
public void setCowFlyCumulationData(CumulationData cowFlyCumulationData) {
|
||||
this.cowFlyCumulationData = cowFlyCumulationData;
|
||||
updateString("cowFlyCumulationData", cowFlyCumulationData);
|
||||
}
|
||||
|
||||
public TreasureMissionType getTreasureMissionIdsType() {
|
||||
return treasureMissionIdsType;
|
||||
}
|
||||
|
|
|
@ -6376,7 +6376,7 @@ public class HeroLogic {
|
|||
}
|
||||
// 避免zero异常
|
||||
if (count == 0) {
|
||||
throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE);
|
||||
count = averageNum;
|
||||
}
|
||||
return count / averageNum;
|
||||
}
|
||||
|
|
|
@ -490,7 +490,7 @@ public class MissionLoigc {
|
|||
*/
|
||||
public static void getCowFlySkyMission(User user ,List<CommonProto.UserMissionInfo> missionList){
|
||||
CowFlySkyMissionType missionType = user.getUserMissionManager().getCowFlySkyMissionType();
|
||||
CumulationData cumulationData = user.getUserMissionManager().getCumulationData();
|
||||
CumulationData cumulationData = user.getUserMissionManager().getCowFlyCumulationData();
|
||||
// 进行中
|
||||
Set<Integer> doingMissionIds = missionType.getDoingMissionIds();
|
||||
// 可领取
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.mission.event;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.dao.UserMissionManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
|
@ -25,6 +26,7 @@ public class CowFlySkyRefreshEventProcess implements BaseGameEventProcessor {
|
|||
cowFlySkyMissionType.getFinishMissionIds().clear();
|
||||
cowFlySkyMissionType.getRewardedMissionIds().clear();
|
||||
cowFlySkyMissionType.getDoingMissionIds().addAll(arro);
|
||||
missionManager.setCowFlyCumulationData(new CumulationData());
|
||||
missionManager.setCowFlySkyMissionType(cowFlySkyMissionType);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.ljsd.jieling.logic.mission.event;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.UserMissionManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
||||
|
@ -13,7 +12,6 @@ import java.util.Map;
|
|||
public class JadeDynastyWeekRefreshEventProcess implements BaseGameEventProcessor {
|
||||
@Override
|
||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
||||
UserMissionManager missionManager = user.getUserMissionManager();
|
||||
//当前轮次破阵诛仙的活动ID
|
||||
int jadeAid = (int) parm[0];
|
||||
MissionLogic.getInstance().resetJadeDynastyTaskInfo(user,2, jadeAid, misionTypeListMap);
|
||||
|
|
|
@ -51,15 +51,9 @@ public class CowFlySkyMissionType extends AbstractMissionType {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception {
|
||||
// 进行中得任务
|
||||
public void missionRefresh(User user, List<SArroGantFly> flyList, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData){
|
||||
Set<Integer> doingMissionIds = getDoingMissionIds();
|
||||
Map<Integer, SArroGantFly> flyMap = SArroGantFly.getTaskTypeMap().get(result.subType.getMissionTypeValue());
|
||||
if (flyMap == null || flyMap.isEmpty()){
|
||||
return;
|
||||
}
|
||||
for (SArroGantFly fly : flyMap.values()) {
|
||||
for (SArroGantFly fly : flyList) {
|
||||
// 任务子id
|
||||
int id = fly.getId();
|
||||
// 不在执行中
|
||||
|
@ -84,7 +78,23 @@ public class CowFlySkyMissionType extends AbstractMissionType {
|
|||
// 任务列表更新
|
||||
doingMissionIds.remove(id);
|
||||
getFinishMissionIds().add(id);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception {
|
||||
Map<Integer, SArroGantFly> flyMap = SArroGantFly.getTaskTypeMap().get(result.subType.getMissionTypeValue());
|
||||
if (flyMap == null || flyMap.isEmpty()){
|
||||
return;
|
||||
}
|
||||
missionRefresh(user, new ArrayList<>(flyMap.values()), missionStateChangeInfos, cumulationData);
|
||||
}
|
||||
|
||||
// public void initRefreshCumulationData(User user, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData, int activityId){
|
||||
// Map<Integer, SArroGantFly> flyMap = SArroGantFly.getActivityMap().get(activityId);
|
||||
// if (flyMap == null || flyMap.isEmpty()){
|
||||
// return;
|
||||
// }
|
||||
// missionRefresh(user, new ArrayList<>(flyMap.values()), missionStateChangeInfos, cumulationData);
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -758,6 +758,7 @@ public class ItemUtil {
|
|||
// 日志记录
|
||||
ItemLogic.getInstance().addItemLog(new ItemLog(user, 0, reason, item, itemNum));
|
||||
|
||||
// id
|
||||
switch (id){
|
||||
case Global.EXP://经验
|
||||
userLevelUp(user, itemNum);
|
||||
|
@ -765,6 +766,14 @@ public class ItemUtil {
|
|||
case Global.TREASURE_SCORE://青龙秘宝积分
|
||||
treasureLevelUp(user);
|
||||
break;
|
||||
case Global.DAILY_TASK_REMOVE_ITEM:
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.DAILY_TASK_FINISH, (int) itemNum);
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
|
||||
// 类型
|
||||
switch (sItem.getItemType()){
|
||||
case GlobalItemType.EQUIP://装备
|
||||
if (reason != BIReason.EQUIP_UNLOAD_REWARD && reason != BIReason.DECOMPOS_HERO_REWARD && reason != BIReason.UPHERO_DECOMPOS_HERO_REWARD) {
|
||||
itemManager.setEquipBookMap(itemId, itemNum);
|
||||
|
@ -777,9 +786,6 @@ public class ItemUtil {
|
|||
equipManager.addSoulGeal(itemId);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.GOT_SOUL_MARK, id, (int) itemNum);
|
||||
break;
|
||||
case Global.DAILY_TASK_REMOVE_ITEM:
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.DAILY_TASK_FINISH, (int) itemNum);
|
||||
break;
|
||||
case GlobalItemType.TRANSFORMATION_CARD://东海寻仙
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.GET_TRANSFIGURATION_CARD_NUM, sItem.getQuantity(), (int) itemNum);
|
||||
break;
|
||||
|
@ -787,7 +793,10 @@ public class ItemUtil {
|
|||
}
|
||||
|
||||
extraDropAop(user, dropBuilder, sItem);
|
||||
sendToFront.add(CBean2Proto.getItem(item, -1));
|
||||
// 经验道具特殊,不记录
|
||||
if (id != Global.EXP){
|
||||
sendToFront.add(CBean2Proto.getItem(item, -1));
|
||||
}
|
||||
}
|
||||
|
||||
// 发送装备图鉴修改推送
|
||||
|
@ -801,24 +810,31 @@ public class ItemUtil {
|
|||
dropBuilder.addAllItemlist(itemProtoList);
|
||||
}
|
||||
|
||||
boolean extraBol = !extraItem.isEmpty();
|
||||
if (!sendToFront.isEmpty() || extraBol) {
|
||||
MessageUtil.sendBagIndication(user.getId(), 0, sendToFront, extraBol);
|
||||
// 经验道具特殊,不发邮件
|
||||
Iterator<Map.Entry<Integer, Integer>> iterator = extraItem.entrySet().iterator();
|
||||
while (iterator.hasNext()){
|
||||
Integer itemId = iterator.next().getKey();
|
||||
SItem item = SItem.getsItemMap().get(itemId);
|
||||
if (item.getId() == Global.EXP){
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
boolean extraBol = !extraItem.isEmpty();
|
||||
if (extraBol) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for(Map.Entry<Integer,Integer> entry : extraItem.entrySet()){
|
||||
SItem item = SItem.getsItemMap().get(entry.getKey());
|
||||
if (item.getItemType() == Global.EXP){
|
||||
continue;
|
||||
}
|
||||
builder.append(entry.getKey()).append("#").append(entry.getValue());
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("item_max_mail_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("item_max_mail_content",new String[]{item.getName(),String.valueOf(item.getItemNumlimit())},new int[]{1,0},"#");
|
||||
MailLogic.getInstance().sendMail(user.getId(),title,content,builder.toString(),TimeUtils.nowInt(),Global.MAIL_EFFECTIVE_TIME);
|
||||
builder = new StringBuilder();
|
||||
}
|
||||
MessageUtil.sendBagIndication(user.getId(), 0, sendToFront, true);
|
||||
}
|
||||
else if (!sendToFront.isEmpty()) {
|
||||
MessageUtil.sendBagIndication(user.getId(), 0, sendToFront, false);
|
||||
}
|
||||
|
||||
Poster.getPoster().dispatchEvent(new AddItemEvent(user.getId(),itemMap));
|
||||
|
|
Loading…
Reference in New Issue