领取奖励 & 修改地图坐标点
parent
833b0ae6ae
commit
af0a3f1228
|
|
@ -0,0 +1,56 @@
|
|||
package com.ljsd.jieling.config;
|
||||
|
||||
import com.ljsd.jieling.logic.STableManager;
|
||||
import com.ljsd.jieling.logic.Table;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Table(name ="SevenDaysScore")
|
||||
public class SSevenDaysScore implements BaseConfig {
|
||||
|
||||
private int id;
|
||||
|
||||
private int activityId;
|
||||
|
||||
private int taskValue;
|
||||
|
||||
private int[][] reward;
|
||||
|
||||
public static Map<Integer,Map<Integer,SSevenDaysScore>> SSevenDaysScoreByActivityIdAndScoreMap ;
|
||||
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
Map<Integer, SSevenDaysScore> config = STableManager.getConfig(SSevenDaysScore.class);
|
||||
Map<Integer,Map<Integer,SSevenDaysScore>> SSevenDaysScoreByActivityIdAndScoreMapTmp= new HashMap<>();
|
||||
for(SSevenDaysScore sSevenDaysScore:config.values()){
|
||||
int activityId = sSevenDaysScore.getActivityId();
|
||||
int taskValue = sSevenDaysScore.getTaskValue();
|
||||
if(!SSevenDaysScoreByActivityIdAndScoreMapTmp.containsKey(activityId)){
|
||||
SSevenDaysScoreByActivityIdAndScoreMapTmp.put(activityId,new HashMap<>());
|
||||
}
|
||||
SSevenDaysScoreByActivityIdAndScoreMapTmp.get(activityId).put(taskValue,sSevenDaysScore);
|
||||
}
|
||||
SSevenDaysScoreByActivityIdAndScoreMap = SSevenDaysScoreByActivityIdAndScoreMapTmp;
|
||||
}
|
||||
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getActivityId() {
|
||||
return activityId;
|
||||
}
|
||||
|
||||
public int getTaskValue() {
|
||||
return taskValue;
|
||||
}
|
||||
|
||||
public int[][] getReward() {
|
||||
return reward;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ package com.ljsd.jieling.config;
|
|||
|
||||
import com.ljsd.jieling.logic.STableManager;
|
||||
import com.ljsd.jieling.logic.Table;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -30,6 +31,7 @@ public class STreasureTaskConfig implements BaseConfig {
|
|||
public static Map<Integer, List<STreasureTaskConfig>> sTreasureTaskConfigListByActivityMap;
|
||||
public static Map<Integer, List<STreasureTaskConfig>> sTreasureTaskConfigListByTypeMap;
|
||||
public static Map<Integer, STreasureTaskConfig> sTreasureTaskConfigMap;
|
||||
public static Map<Integer, STreasureTaskConfig> sTreasureSevenTaskConfigByActivityMap;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
@ -37,6 +39,7 @@ public class STreasureTaskConfig implements BaseConfig {
|
|||
Map<Integer, STreasureTaskConfig> config = STableManager.getConfig(STreasureTaskConfig.class);
|
||||
Map<Integer, List<STreasureTaskConfig>> treasureTaskConfigByActivityMap = new HashMap<>();
|
||||
Map<Integer, List<STreasureTaskConfig>> sTreasureTaskConfigListByTypeMapTmp = new HashMap<>();
|
||||
Map<Integer, STreasureTaskConfig> sTreasureSevenTaskConfigByActivityMapTmp = new HashMap<>();
|
||||
for(STreasureTaskConfig sTreasureTaskConfig : config.values()){
|
||||
int activityId = sTreasureTaskConfig.getActivityId();
|
||||
if(!treasureTaskConfigByActivityMap.containsKey(activityId)){
|
||||
|
|
@ -47,10 +50,14 @@ public class STreasureTaskConfig implements BaseConfig {
|
|||
}
|
||||
treasureTaskConfigByActivityMap.get(activityId).add(sTreasureTaskConfig);
|
||||
sTreasureTaskConfigListByTypeMapTmp.get(sTreasureTaskConfig.getTaskType()).add(sTreasureTaskConfig);
|
||||
if(sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){
|
||||
|
||||
}
|
||||
}
|
||||
sTreasureTaskConfigListByActivityMap = treasureTaskConfigByActivityMap;
|
||||
sTreasureTaskConfigListByTypeMap = sTreasureTaskConfigListByTypeMapTmp;
|
||||
sTreasureTaskConfigMap = config;
|
||||
sTreasureSevenTaskConfigByActivityMap=sTreasureSevenTaskConfigByActivityMapTmp;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,6 +64,8 @@ public interface BIReason {
|
|||
int MONTH_CARD_REWARD = 38;
|
||||
int BLESS_REWARD = 39;
|
||||
|
||||
int SEVEN_SCORE_REWARD = 40;
|
||||
|
||||
//道具消耗原因 1000开头
|
||||
int ADVENTURE_UPLEVEL_CONSUME = 1000; //秘境升级
|
||||
int SECRETBOX_CONSUME = 1001; //秘盒抽卡
|
||||
|
|
|
|||
|
|
@ -460,7 +460,7 @@ public class MapLogic {
|
|||
|
||||
|
||||
public void updateMap(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
||||
// LOGGER.info("updateMap() curXY=>{},triggerXY=>{}", curXY, triggerXY);
|
||||
LOGGER.info("updateMap() curXY=>{},triggerXY=>{}", curXY, triggerXY);
|
||||
if (updateMapByOnlyConsumeActionPower(session, curXY, triggerXY, cells, messageType)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -556,6 +556,11 @@ public class MapLogic {
|
|||
|
||||
// LOGGER.info("updateMap() uid=>{} mapId =>{} eventId=>{}", uid, mapManager.getCurMapId(), cell.getEventId());
|
||||
mapManager.updateFoodBufferByStep(cells.size());
|
||||
int lastXY = cells.get(0);
|
||||
if(cells.size() >2){
|
||||
lastXY = cells.get(cells.size()-2);
|
||||
}
|
||||
mapManager.setLastXY(lastXY);
|
||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse.build(), true);
|
||||
}
|
||||
|
||||
|
|
@ -1168,7 +1173,9 @@ public class MapLogic {
|
|||
.setEnventDrop(dropBuilder)
|
||||
.addAllRemainHpList(remainHp)
|
||||
.setEssenceValue(mapManager.getEssenceValue())
|
||||
.setLastXY(mapManager.getLastXY())
|
||||
.build();
|
||||
mapManager.setCurXY(mapManager.getLastXY());
|
||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse, true);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1393,6 +1400,8 @@ public class MapLogic {
|
|||
fightEndResponse.setResult(resultCode);
|
||||
fightEndResponse.setEnventDrop(dropBuilder);
|
||||
fightEndResponse.addAllRemainHpList(remainHp);
|
||||
fightEndResponse.setLastXY(mapManager.getLastXY());
|
||||
mapManager.setCurXY(mapManager.getLastXY());
|
||||
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==2){
|
||||
fightEndResponse.setLastTowerTime((int)(mapManager.getCurrTowerTime()/1000));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,6 +114,8 @@ public class MapManager extends MongoBase {
|
|||
//无尽副本信息
|
||||
private EndlessMapInfo endlessMapInfo;
|
||||
|
||||
private int lastXY; // 上一步坐标点
|
||||
|
||||
public MapManager() {
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
}
|
||||
|
|
@ -734,7 +736,15 @@ public class MapManager extends MongoBase {
|
|||
public void updateEndlessConsumeExecution(int count){
|
||||
endlessMapInfo.setConsumeExecution(count);
|
||||
updateString("endlessMapInfo.consumeExecution",endlessMapInfo.getConsumeExecution());
|
||||
}
|
||||
|
||||
public int getLastXY() {
|
||||
return lastXY;
|
||||
}
|
||||
|
||||
public void setLastXY(int lastXY) {
|
||||
updateString("lastXY",lastXY);
|
||||
this.lastXY = lastXY;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
package com.ljsd.jieling.handler.player;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class TakeSevenScoreHandler extends BaseHandler {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.TAKE_SEVEN_HAPPY_REWARD_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
PlayerLogic.getInstance().takeSevenScoreReward(iSession);
|
||||
}
|
||||
}
|
||||
|
|
@ -18,8 +18,11 @@ public class DefaultEmptyActivity extends AbstractActivity{
|
|||
ActivityMission mission = new ActivityMission();
|
||||
mission.initOtherMission(new ArrayList<>(0));
|
||||
user.getActivityManager().addActivity(id, mission);
|
||||
if(SGlobalActivity.getsGlobalActivityMap().get(id).getType() == ActivityType.SERVERHAPPY){
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if(sGlobalActivity.getType() == ActivityType.SERVERHAPPY){
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.SERVENHAPPY_REFRESH,id);
|
||||
long endTime = sGlobalActivity.getTimeLong(user.getPlayerInfoManager().getCreateTime(), 2) - 24 * 3600 * 1000;
|
||||
user.getActivityManager().setSenvenTime(endTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
public class ActivityManager extends MongoBase {
|
||||
private Map<Integer,ActivityMission> activityMissionMap = new HashMap<>();
|
||||
private long trsendTime; // 孙龙结束时间
|
||||
private long senvenTime; //七日狂欢结束时间
|
||||
|
||||
|
||||
public boolean initAllActivityMission(int activityId){
|
||||
|
|
@ -39,6 +40,16 @@ public class ActivityManager extends MongoBase {
|
|||
removeString(getMongoKey() + ".activityMissionMap." + activityId);
|
||||
}
|
||||
|
||||
|
||||
public long getSenvenTime() {
|
||||
return senvenTime;
|
||||
}
|
||||
|
||||
public void setSenvenTime(long senvenTime) {
|
||||
updateString("senvenTime" ,trsendTime);
|
||||
this.senvenTime = senvenTime;
|
||||
}
|
||||
|
||||
public long getTrsendTime() {
|
||||
return trsendTime;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ public class UserMissionManager extends MongoBase {
|
|||
|
||||
if(!sevenHappyMissionType.getDoingMissionIds().isEmpty() ){
|
||||
List<STreasureTaskConfig> sTreasureTaskConfigs = STreasureTaskConfig.sTreasureTaskConfigListByTypeMap.get(missionType.getMissionTypeValue());
|
||||
if(sTreasureTaskConfigs!=null){
|
||||
if(sTreasureTaskConfigs!=null && user.getActivityManager().getSenvenTime()>System.currentTimeMillis()){
|
||||
CumulationData.Result result = sevenHappyCumulationData.updateData(missionType, parm);
|
||||
if(result!=null){
|
||||
sevenHappyMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.SEVENMISSION),sevenHappyCumulationData);
|
||||
|
|
@ -205,6 +205,11 @@ public class UserMissionManager extends MongoBase {
|
|||
this.vipMissionIdsType = vipMissionIdsType;
|
||||
}
|
||||
|
||||
public void setSevenHappyMissionType(TreasureMissionType sevenHappyMissionType) {
|
||||
updateString("sevenHappyMissionType",sevenHappyMissionType);
|
||||
this.sevenHappyMissionType = sevenHappyMissionType;
|
||||
}
|
||||
|
||||
public VipMissionIdsType getVipMissionIdsType() {
|
||||
return vipMissionIdsType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,6 +119,13 @@ public class MissionLoigc {
|
|||
}else{
|
||||
takeTimes = takeTimesMap.get(missionId);
|
||||
}
|
||||
if(state!=2 && sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){
|
||||
if(System.currentTimeMillis()>user.getActivityManager().getSenvenTime()){
|
||||
state=0;
|
||||
}else {
|
||||
state = 1;
|
||||
}
|
||||
}
|
||||
|
||||
missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(treasuremissionType).setProgress(sendProgress).setTakeTimes(takeTimes).build());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import com.ljsd.jieling.logic.hero.HeroLogic;
|
|||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.MissionLoigc;
|
||||
import com.ljsd.jieling.logic.mission.main.TreasureMissionType;
|
||||
import com.ljsd.jieling.logic.store.GiftGoodsType;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
|
|
@ -277,6 +278,7 @@ public class PlayerLogic {
|
|||
ItemManager itemManager = user.getItemManager();
|
||||
if(itemManager.getItem(frameId)==null||itemManager.getItem(frameId).getItemNum()<1){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"无此头像框");
|
||||
return;
|
||||
}
|
||||
user.getPlayerInfoManager().setHeadFrame(frameId);
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
|
|
@ -376,4 +378,36 @@ public class PlayerLogic {
|
|||
MessageUtil.sendMessage(session,1,messageType.getNumber(),playerTeamInfo.build(),true);
|
||||
|
||||
}
|
||||
|
||||
public void takeSevenScoreReward(ISession iSession) throws Exception {
|
||||
User user = UserManager.getUser(iSession.getUid());
|
||||
int msgId = MessageTypeProto.MessageType.TAKE_SEVEN_HAPPY_REWARD_RESPONSE_VALUE;
|
||||
long senvenTime = user.getActivityManager().getSenvenTime();
|
||||
if(senvenTime == 0 || senvenTime> System.currentTimeMillis()){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"时间未到");
|
||||
return;
|
||||
}
|
||||
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||
int treasureActivityId = 0;
|
||||
for(Integer activityId : activityMissionMap.keySet()){
|
||||
if(SGlobalActivity.getsGlobalActivityMap().get(activityId).getType() == ActivityType.SERVERHAPPY){
|
||||
treasureActivityId = activityId;
|
||||
}
|
||||
}
|
||||
if(treasureActivityId == 0){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"活动已过期");
|
||||
return;
|
||||
}
|
||||
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureSevenTaskConfigByActivityMap.get(treasureActivityId);
|
||||
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
|
||||
TreasureMissionType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
|
||||
sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId());
|
||||
sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId());
|
||||
sevenHappyMissionType.getRewardedMissionIds().set(sTreasureTaskConfig.getId());
|
||||
user.getUserMissionManager().setSevenHappyMissionType(sevenHappyMissionType);
|
||||
SSevenDaysScore sSevenDaysScore = SSevenDaysScore.SSevenDaysScoreByActivityIdAndScoreMap.get(treasureActivityId).get(senvenScores);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sSevenDaysScore.getReward(), BIReason.SEVEN_SCORE_REWARD);
|
||||
PlayerInfoProto.TakeSenvenScoreRewardResponse build = PlayerInfoProto.TakeSenvenScoreRewardResponse.newBuilder().setDrop(drop).build();
|
||||
MessageUtil.sendMessage(iSession,1,msgId,build,true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue