Merge branch 'master_test_gn' of http://60.1.1.230/backend/jieling_server into master_test_gn

back_recharge
jiahuiwen 2021-11-10 18:54:02 +08:00
commit 88142c8fcd
9 changed files with 67 additions and 23 deletions

View File

@ -2,6 +2,8 @@ package com.ljsd.jieling.handler.hero;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent;
import com.ljsd.jieling.logic.dao.Hero;
import com.ljsd.jieling.logic.dao.HeroManager;
import com.ljsd.jieling.logic.dao.UserManager;
@ -60,6 +62,7 @@ public class HeroGodSoulBindRequestHandler extends BaseHandler<HeroInfoProto.Her
Hero bindHero=heroManager.getHero(_bindHeroId);
bindHero.setGodSoulBeBindMap(1,heroId,godSoulLv);
}
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid()));
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.HERO_GOD_SOUL_BIND_RESPONSE_VALUE, null,true);
}
}

View File

@ -4,6 +4,8 @@ import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent;
import com.ljsd.jieling.logic.dao.SixiangProfessionInfo;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
@ -89,6 +91,7 @@ public class SixiangUpRequestHandler extends BaseHandler<HeroInfoProto.SixiangUp
HeroInfoProto.SixiangUpResponse response=HeroInfoProto.SixiangUpResponse.newBuilder()
.addAllInfoList(_list)
.build();
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid()));
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.SIXIANG_UP_RESPONSE_VALUE,response,true);
}else{
LOGGER.error("四象心法强化材料不足");

View File

@ -6,6 +6,8 @@ import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent;
import com.ljsd.jieling.logic.dao.SixiangProfessionInfo;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
@ -63,6 +65,7 @@ public class SixiangUpStarRequestHandler extends BaseHandler<HeroInfoProto.Sixia
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("Sixiangjinjie_Hint",
new Object[]{user.getPlayerInfoManager().getNameColor(), user.getPlayerInfoManager().getNickName(), GetProfessionName(professionId),professionInfo.level},
new int[]{0,0,1});
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid()));
ChatLogic.getInstance().sendSysChatMessage(message, Global.DILIGENT_NOTICE, "0", 0, 0, 0, 0, 1);
}else {
LOGGER.error("四象心法进阶材料不足");

View File

@ -23,6 +23,8 @@ import com.ljsd.jieling.util.MessageUtil;
import config.SActivityRewardConfig;
import config.SErrorCodeEerverConfig;
import config.SGlobalActivity;
import config.SSpiritAnimalSummon;
import manager.STableManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import rpc.protocols.CommonProto;
@ -171,11 +173,20 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", session.getUid(), sActivityRewardConfig.getId(), activityProgressInfo.getProgrss(), sActivityRewardConfig.getValues());
throw new ErrorCodeException(ErrorCode.newDefineCode("未达到领取条件"));
}
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
//up miss
int[][] reward = sActivityRewardConfig.getReward();
if(sGlobalActivity.getType() == ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY) {
int summonId=activityMission.getActivityMissionMap().get(0).getProgrss();
if (summonId>0){
SSpiritAnimalSummon summonConfig=STableManager.getConfig(SSpiritAnimalSummon.class).get(summonId);
reward[0][0]=summonConfig.getOriginalItem();
}
}
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
checkAndSetProgress(activityMission, activityProgressInfo, missionId);
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (null != sGlobalActivity && checkActivityMissionFinishAndTake(session.getUid(),id, activityMission) && sGlobalActivity.getResetGrade() == 1) {
reSetValue(user);
if(sGlobalActivity.getType() != ActivityType.OnlineReward) {

View File

@ -49,6 +49,8 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static manager.STableManager.getConfig;
/**
*
*/
@ -970,7 +972,7 @@ public class ActivityLogic implements IEventHandler{
}
int resultRewardId = 0;
if (activityProgressInfoMap.get(BlessInfoConfig.BLESS_STATUS).getProgrss() == -2) {
Map<Integer, SBlessingRewardPool> poolMap = STableManager.getConfig(SBlessingRewardPool.class);
Map<Integer, SBlessingRewardPool> poolMap = getConfig(SBlessingRewardPool.class);
int[][] result = new int[BlessInfoConfig.START_CAPACITY][];
int index = 0;
for (Map.Entry<Integer, ActivityProgressInfo> entry : activityProgressInfoMap.entrySet()) {
@ -1039,7 +1041,7 @@ public class ActivityLogic implements IEventHandler{
}
}
LOGGER.info("blessChoose uid=>{}本次抽取的Id为{}", user.getId(), resultRewardId);
Map<Integer, SBlessingRewardPool> poolMap = STableManager.getConfig(SBlessingRewardPool.class);
Map<Integer, SBlessingRewardPool> poolMap = getConfig(SBlessingRewardPool.class);
int[][] dropItem = new int[1][];
for (Integer count : SBlessingConfig.blessingConfigMap.get(blessActivityId).getCounts()) {
if (count != activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss()) {
@ -1485,12 +1487,18 @@ public class ActivityLogic implements IEventHandler{
if(activityMission==null||!activityMission.getActivityMissionMap().containsKey(0)){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
Map<Integer, SSpiritAnimalSummon> sSpiritAnimalSummon = STableManager.getConfig(SSpiritAnimalSummon.class);
if(!sSpiritAnimalSummon.containsKey(chooseId)||sSpiritAnimalSummon.get(chooseId).getActivityID()!=activityId){
Map<Integer, SSpiritAnimalSummon> summonConfig= STableManager.getConfig(SSpiritAnimalSummon.class);
int summonId=0;
for (Map.Entry<Integer, SSpiritAnimalSummon> summonEntry : summonConfig.entrySet()) {
if (summonEntry.getValue().getActivityID()==activityId&&summonEntry.getValue().getFocusID()==chooseId) {
summonId=summonEntry.getKey();
}
}
if (summonId==0){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
activityMission.getActivityMissionMap().get(0).setProgrss(chooseId);
activityMission.getActivityMissionMap().get(0).setProgrss(summonId);
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.SPECICAL_MONSTER_CHOOSE_RESPONSE_VALUE,null,true);
}
@ -1585,7 +1593,7 @@ public class ActivityLogic implements IEventHandler{
public void choiceDrawCard(User user,int activityId,int type) throws Exception {
// 初始值
ActivityProto.choiceDrawCardResponse.Builder build = ActivityProto.choiceDrawCardResponse.newBuilder();
SWishActivitySetting setting = STableManager.getConfig(SWishActivitySetting.class).get(1);
SWishActivitySetting setting = getConfig(SWishActivitySetting.class).get(1);
// 抽奖次数
int num = type == 1?1:10;
// 抽奖上限

View File

@ -1,8 +1,18 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import config.SActivityRewardConfig;
import rpc.protocols.CommonProto;
import rpc.protocols.PlayerInfoProto;
import java.util.Map;
@ -41,4 +51,9 @@ public class LimitRandomSpecialMonsterActivity extends LimitRandomCardActivity {
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
}
}
@Override
public boolean takeReward(ISession session, int missionId) throws Exception {
return super.takeReward(session, missionId);
}
}

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.dao;
import com.ljsd.common.mogodb.MongoBase;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.activity.event.RemoveHeroEvent;
import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HongMengAttributeEnum;
import config.SLikeAbilityConfig;
@ -254,7 +255,7 @@ public class HeroManager extends MongoBase {
if (heroMap.containsKey(heroId)){
removeString(getMongoKey()+".heroMap." + heroId);
Poster.getPoster().dispatchEvent(new RemoveHeroEvent(uid,heroId));
removeHeroGodSoul(heroId);
removeHeroGodSoul(uid,heroId);
heroMap.remove(heroId);
try {
if(UserManager.getUser(uid).getPlayerInfoManager().getMaxforceHero().equals(heroId)){
@ -267,7 +268,7 @@ public class HeroManager extends MongoBase {
}
///移除英雄设置神魂绑定相关信息
public void removeHeroGodSoul(String heroId){
public void removeHeroGodSoul(int uid,String heroId){
Hero hero= heroMap.get(heroId);
Map<Integer, List<String>>godSoulBindMap=hero.getGodSoulBindMap();
for (Map.Entry<Integer, List<String>> integerListEntry : godSoulBindMap.entrySet()) {
@ -282,6 +283,7 @@ public class HeroManager extends MongoBase {
Hero bingHero= heroMap.get(stringIntegerEntry.getKey());
bingHero.setGodSoulBindMap(2,stringIntegerEntry.getValue(),null);
}
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid));
}
public Map<String, Hero> getHeroMap() {

View File

@ -63,6 +63,7 @@ import util.MathUtils;
import util.StringUtil;
import util.TimeUtils;
import java.awt.event.ItemEvent;
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.util.*;
@ -731,11 +732,14 @@ public class HeroLogic {
}
//进行替换
for (int[] randomItem : random) {
int length = Math.min(sSpiritAnimalSummon.getOriginalItemList().length, sSpiritAnimalSummon.getTargetItemList().length);
for (int i = 0; i < length; i++) {
if (randomItem[0] == sSpiritAnimalSummon.getOriginalItemList()[i]) {
randomItem[0] = sSpiritAnimalSummon.getTargetItemList()[i];
}
SItem itemConfig=SItem.getsItemMap().get(randomItem[0]);
if (itemConfig.getQuantity()<5){
continue;
}
if (itemConfig.getItemType()== GlobalItemType.SpecialMonster) {
randomItem[0]=sSpiritAnimalSummon.getFocusID();
}else if(itemConfig.getItemType()==GlobalItemType.SpecialMonsterItem){
randomItem[0]=sSpiritAnimalSummon.getOriginalItem();
}
}
}

View File

@ -15,9 +15,8 @@ public class SSpiritAnimalSummon implements BaseConfig {
private int activityID;
private int[] originalItemList;
private int originalItem;
private int[] targetItemList;
// public static Map<Integer,Map<Integer,Map<Integer,Integer>>> spiritAnimalSummonMapByActivityId;
@ -50,12 +49,8 @@ public class SSpiritAnimalSummon implements BaseConfig {
return activityID;
}
public int[] getOriginalItemList() {
return originalItemList;
}
public int[] getTargetItemList() {
return targetItemList;
public int getOriginalItem() {
return originalItem;
}