战力修改

master_ob2
PC-202302260912\Administrator 2023-08-21 17:08:26 +08:00
parent 0d5bb21157
commit 42e79a2546
4 changed files with 59 additions and 53 deletions

View File

@ -4,6 +4,7 @@ import com.ljsd.GameApplication;
import com.ljsd.jieling.db.mongo.AreaManager;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.handler.hero.FaBaoSoulUpLvRequestHandler;
import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.ktbeans.ReportEventEnum;
@ -145,6 +146,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
FourChallengeLogic.getInstance().firstGetTimes(user);// 四灵试炼初始化
StoreLogic.getInstance().reloadStoreInfo(user,7);//重载功能商店
ExplorerMapLogic.getInstance().calOfflineReward(user);//挂机探索
faBaoJuLingHandler(user);//法宝修改
//森罗幻境自动挂机返回掉落展示清除
Map<Integer,Integer> dropShow = mapManager.getTowerGetRewardInfoShowMap();
if(dropShow != null && dropShow.size() > 0){
@ -390,4 +392,11 @@ public class GetPlayerInfoHandler extends BaseHandler{
return lifeGridInfos;
}
public static void faBaoJuLingHandler(User user) throws Exception {
Set<Integer> keySet = user.getHeroManager().getFaBaoGongMingSkillMap().keySet();
for (Integer bookId : keySet) {
FaBaoSoulUpLvRequestHandler.updateFaBaoGongMingLv(user, bookId);
}
}
}

View File

@ -55,9 +55,9 @@ public class FaBaoSoulUpLvRequestHandler extends BaseHandler<HeroInfoProto.FaBao
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.FA_BAO_SOUL_UPLV_RESPONSE_VALUE,null,true);
}
private void updateFaBaoGongMingLv(User user,int bookId) throws Exception {
public static void updateFaBaoGongMingLv(User user,int bookId) throws Exception {
STrumpBook sTrumpBook=STrumpBook.sTrumpBookMap.get(bookId);
int[]trumpList=sTrumpBook.getTrumpList();
int[] trumpList = sTrumpBook.getTrumpList();
int gongmingLv=0;
for (int trumpId : trumpList) {
if (!user.getHeroManager().getFaBaoSoulMap().containsKey(trumpId)) {

View File

@ -3,27 +3,24 @@ 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.globals.Global;
import com.ljsd.jieling.jbean.ActivityManager;
import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo;
import com.ljsd.jieling.jbean.SubRewardPoolInfo;
import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.dao.Item;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import config.*;
import config.SBlessingConfigNew;
import config.SBlessingRewardPoolNew;
import manager.STableManager;
import rpc.protocols.CommonProto;
import rpc.protocols.PlayerInfoProto;
import util.MathUtils;
import util.TimeUtils;
import java.util.*;
import java.util.stream.Collectors;
@ -314,37 +311,35 @@ public class SubActivity extends AbstractActivity {
@Override
public void onActivityEndOnMySelf(User user) throws Exception {
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
SBlessingConfigNew sBlessingConfigNew = SBlessingConfigNew.getsBlessingConfigNewHashMap().get(id);
int removeItemId = sBlessingConfigNew.getCost()[0];
Item item = user.getItemManager().getItem(removeItemId);
if (item != null) {
int costNum = (int)item.getItemNum();
//check cost
int[][] cost = new int[1][];
cost[0] = new int[]{item.getItemId(), (int)item.getItemNum()};
ItemUtil.itemCost(user, cost, BIReason.SUB_ACTIVITY_CONSUME_FINISH, sGlobalActivity.getId());
SItem sItem = SItem.getsItemMap().get(removeItemId);
//give
int integerValue = SSpecialConfig.getIntegerValue(SSpecialConfig.ITEM_1004_RETRIEVE);
if (integerValue == 0) {
throw new ErrorCodeException(ErrorCode.CFG_NULL);
}
int[][] rewards = new int[1][];
rewards[0] = new int[]{16, costNum*integerValue};
SItem getItem = SItem.getsItemMap().get(16);
String getValue =String.valueOf(costNum*integerValue);
String title = SErrorCodeEerverConfig.getI18NMessage("activity_item_retrieve_mail_titile");
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("activity_item_retrieve_mail_content", new Object[]{sGlobalActivity.getSesc(),sItem.getName(),costNum,getValue,getItem.getName()},new int[]{1,1,0,0,1},"#");
String mailReward = ItemUtil.getMailReward(rewards);
int nowTime = (int) (TimeUtils.now() / 1000);
MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
}
// SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
//
// SBlessingConfigNew sBlessingConfigNew = SBlessingConfigNew.getsBlessingConfigNewHashMap().get(id);
//
// int removeItemId = sBlessingConfigNew.getCost()[0];
// Item item = user.getItemManager().getItem(removeItemId);
// if (item != null) {
// int costNum = (int)item.getItemNum();
// //check cost
// int[][] cost = new int[1][];
// cost[0] = new int[]{item.getItemId(), (int)item.getItemNum()};
// ItemUtil.itemCost(user, cost, BIReason.SUB_ACTIVITY_CONSUME_FINISH, sGlobalActivity.getId());
//
// SItem sItem = SItem.getsItemMap().get(removeItemId);
// //give
// int integerValue = SSpecialConfig.getIntegerValue(SSpecialConfig.ITEM_1004_RETRIEVE);
// if (integerValue == 0) {
// throw new ErrorCodeException(ErrorCode.CFG_NULL);
// }
// int[][] rewards = new int[1][];
// rewards[0] = new int[]{16, costNum*integerValue};
//
// SItem getItem = SItem.getsItemMap().get(16);
// String getValue =String.valueOf(costNum*integerValue);
// String title = SErrorCodeEerverConfig.getI18NMessage("activity_item_retrieve_mail_titile");
// String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("activity_item_retrieve_mail_content", new Object[]{sGlobalActivity.getSesc(),sItem.getName(),costNum,getValue,getItem.getName()},new int[]{1,1,0,0,1},"#");
// String mailReward = ItemUtil.getMailReward(rewards);
// int nowTime = (int) (TimeUtils.now() / 1000);
// MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
// }
}
}

View File

@ -59,6 +59,7 @@ import util.StringUtil;
import util.TimeUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
@ -2083,22 +2084,21 @@ public class HeroLogic {
if (faBaoGongMingSkillMap.size() > 0) {
List<Integer> faBaoSoulSkills=new ArrayList<>();
for (Map.Entry<Integer, Integer> entry : faBaoGongMingSkillMap.entrySet()) {
SXiuXianSkill sXiuXianSkill= STableManager.getConfig(SXiuXianSkill.class).get(entry.getValue());
if (sXiuXianSkill.getFitList()[0]==0){
SXiuXianSkill sXiuXianSkill = STableManager.getConfig(SXiuXianSkill.class).get(entry.getValue());
int[] fitList = sXiuXianSkill.getFitList();
if (fitList[0]==0){
for (int skillId : sXiuXianSkill.getSkillId()) {
faBaoSoulSkills.add(skillId);
}
}else if(sXiuXianSkill.getFitList()[0]==1){
if (sXiuXianSkill.getFitList()[1]==propertyId){
for (int skillId : sXiuXianSkill.getSkillId()) {
faBaoSoulSkills.add(skillId);
}
}
if(fitList[0]==1 && fitList[1]==propertyId){
for (int skillId : sXiuXianSkill.getSkillId()) {
faBaoSoulSkills.add(skillId);
}
}else if(sXiuXianSkill.getFitList()[0]==2){
if (sXiuXianSkill.getFitList()[1]==propertyId){
for (int skillId : sXiuXianSkill.getSkillId()) {
faBaoSoulSkills.add(skillId);
}
}
if(fitList[0]==2 && fitList[1]==propertyId){
for (int skillId : sXiuXianSkill.getSkillId()) {
faBaoSoulSkills.add(skillId);
}
}
}
@ -3423,8 +3423,10 @@ public class HeroLogic {
forceNum += propertyValue * sPropertyConfig.getScore();
}
}
float result = (forceAdd + 1) * forceNum;
LOGGER.info("战力总结果==============={}{}{}",forceNum,forceAdd,result);
BigDecimal bg = new BigDecimal(forceAdd).setScale(4, RoundingMode.UP);
float v = bg.floatValue();
float result = (v + 1) * forceNum;
LOGGER.info("战力总结果==============={}{}{}",forceNum,v,result);
return (int)result;
}