Merge branch 'master' of 60.1.1.230:backend/jieling_server

back_recharge
wangyuan 2019-07-29 20:20:36 +08:00
commit abd1e46d6e
6 changed files with 78 additions and 4 deletions

View File

@ -11,17 +11,22 @@ import com.ljsd.jieling.handler.map.behavior.BaseBehavior;
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
import com.ljsd.jieling.handler.mission.CheckMissionReturn;
import com.ljsd.jieling.handler.mission.Mission;
import com.ljsd.jieling.ktbeans.KTGameType;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.fight.CheckFight;
import com.ljsd.jieling.logic.fight.CombatLogic;
import com.ljsd.jieling.logic.hero.HeroAttributeEnum;
import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.logic.store.StoreType;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.*;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.FightInfoProto;
import com.ljsd.jieling.protocols.MapInfoProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.util.*;
import org.luaj.vm2.LuaValue;
import org.slf4j.Logger;
@ -168,8 +173,10 @@ public class MapLogic {
user.getUserMissionManager().onGameEvent(user,GameEvent.COPY_TOWER_TIMES,1);
initTrialMap(mapManager, user);
KtEventUtils.onKtEvent(user, ParamEventBean.UserGameType,type,mapManager.getTower());
} else {
initMap(mapManager, user);
KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,type,mapId);
}
user.setMapManager(mapManager);
user.getUserMissionManager().onGameEvent(user,GameEvent.PlAY_STORY,SChallengeConfig.sChallengeConfigs.get(mapId).getType(),1);
@ -1813,6 +1820,7 @@ public class MapLogic {
MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), "阵容有误!!");
return;
}
KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,KTGameType.STORY.getIndex(),levelDifficulty.getAreaId());
user.getTeamPosManager().setCurTeamPosId(teamId);
String fightInfo = fightId + "#" + teamId;
String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false);

View File

@ -0,0 +1,48 @@
package com.ljsd.jieling.ktbeans;
public enum KTGameType {
FEATURE("剧情副本", 1),
TRIAL("试炼副本", 2),
HARD("精英副本", 3),
STORY("故事副本", 4),
ARENA("竞技场",5),
CHALLENGE_SECURE("挑战秘境BOSS",6),
TAKE_SECURE_REWARD("领取外敌奖励",7);
// 成员变量
private String name;
private int index;
// 构造方法
private KTGameType(String name, int index) {
this.name = name;
this.index = index;
}
// 普通方法
public static String getName(int index) {
for (KTGameType c : KTGameType.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
}
// get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}

View File

@ -96,7 +96,14 @@ public class KtEventUtils {
paramEventBean.add(misionType+"_"+misionId);
paramEventBean.add("COMPLETE");
break;
case ParamEventBean.UserGameType:
paramEventBean.add("玩法");
String type = KTGameType.getName((int) parm[0]);
paramEventBean.add(String.valueOf(type));
paramEventBean.add(String.valueOf(parm[1]));
paramEventBean.add("COMPLETE");
eventType = ParamEventBean.UserActivityEvent;
break;
}
KTParam ktParam = ParamBuilder.paramBuild(user, eventType, paramEventBean);

View File

@ -21,6 +21,7 @@ public class ParamEventBean {
public static final int UserRegister =8;////角色事件 注册
public static final int UserTaskEvent =9;////角色事件 任务
public static final int UserLogin =10;////角色事件 任务
public static final int UserGameType = 11;////角色事件 玩法
private static Map<Integer, String> eventTypeStringMap = new HashMap<>();
static {

View File

@ -11,6 +11,9 @@ import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
import com.ljsd.jieling.ktbeans.KTGameType;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
@ -204,6 +207,7 @@ public class ArenaLogic {
ArenaInfoProto.ArenaChallengeResponse build = builder.setMyScoreChange(myscoreChange).setDefScoreChange(defScoreChange).addAllArenaEnemys(getArenaEnemyList(arenaManager.getArenaEnemies())).build();
user.getUserMissionManager().onGameEvent(user, GameEvent.ARENA_CHALLENGE,fightResult,myscoreChange + myscore);
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,build,true);
KtEventUtils.onKtEvent(user, ParamEventBean.UserGameType,KTGameType.ARENA.getIndex(),challengeUid);
}
public void setMyArenaEnemys(int uid,User user){

View File

@ -9,6 +9,9 @@ import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
import com.ljsd.jieling.ktbeans.KTGameType;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
@ -365,6 +368,7 @@ public class CombatLogic {
}
FightInfoProto.TakeAventureRewardResponse build = FightInfoProto.TakeAventureRewardResponse.newBuilder().setDrop(adventureFastReward.get(1)).setRandomDrop(adventureFastReward.get(2)).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ADVENTURE_REWARD_RESPONSE_VALUE,build,true);
KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,KTGameType.TAKE_SECURE_REWARD,type*10+position);
}
public Map<Integer,CommonProto.Drop> getAdventureReward(User user, int position,boolean sendMail,int reason) throws Exception {
@ -659,6 +663,7 @@ public class CombatLogic {
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,"");
return;
}
int bossGroupId=0;
PlayerManager playerInfoManager = user.getPlayerInfoManager();
if(fightTimes==1 && skipFight==0){
boolean allowed =playerInfoManager.checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_SKIP_FIGHT);
@ -685,7 +690,7 @@ public class CombatLogic {
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,"道具不足");
return;
}
int bossGroupId = adventureBoss.getBossGroupId();
bossGroupId = adventureBoss.getBossGroupId();
Map<Integer,List<Integer>> hps = new HashMap<>(1);
hps.put(0,adventureBoss.getRemainHps());
CommonProto.FightTeamInfo fightTeamInfo = BehaviorUtil.getFightTeamInfo(user, teamId,true);
@ -754,6 +759,7 @@ public class CombatLogic {
}catch (Exception e){
LOGGER.error("the exception={}",e);
}finally {
KtEventUtils.onKtEvent(user, ParamEventBean.UserGameType,KTGameType.CHALLENGE_SECURE,bossGroupId);
RedisUtil.getInstence().releaseDistributedLock(RedisKey.ADVENTRUEN_BOSS_CHALLENGE_LOCK_KEY,bossId, Integer.toString(uid));
}