1、gm转盘抽中稀有清空累计次数

2、冲榜活动英雄星级计算加上品质
back_recharge
duhui 2022-10-28 18:21:15 +08:00
parent e1d8422416
commit dc8e3b3c3c
3 changed files with 29 additions and 11 deletions

View File

@ -111,6 +111,10 @@ public class GetLuckWheelRandHandler extends BaseHandler<PlayerInfoProto.GetLuck
luckWheelPosInfo.setProgrss(luckWheelPosInfo.getProgrss()+1); luckWheelPosInfo.setProgrss(luckWheelPosInfo.getProgrss()+1);
luckWheelMission.getPosInfoMap().put(lastpos, luckWheelPosInfo); luckWheelMission.getPosInfoMap().put(lastpos, luckWheelPosInfo);
// 抽中稀有清空保底次数
if (sDialRewardConfig.getMaxGoalCount() > 0){
user.getPlayerInfoManager().putGmDialNum(activityId,0);
}
SItem sItem = SItem.getsItemMap().get(drops[i][0]); SItem sItem = SItem.getsItemMap().get(drops[i][0]);
if(sItem.getQuantity()>=5){ if(sItem.getQuantity()>=5){
String nickName = user.getPlayerInfoManager().getNickName(); String nickName = user.getPlayerInfoManager().getNickName();

View File

@ -5387,7 +5387,7 @@ public class HeroLogic {
} }
/** /**
* *
* @param user * @param user
*/ */
private void heroStarHandle(User user){ private void heroStarHandle(User user){
@ -5400,19 +5400,25 @@ public class HeroLogic {
} }
/** /**
* 线 *
* @param user * @param user
* @return * @return
*/ */
private int heroStarCompute(User user){ private int heroStarCompute(User user){
int num = 0; int num = 0;
Map<Integer, SChongRankInformation> starMap = SChongRankInformation.getStarMap(); Map<Integer, Map<Integer, SChongRankInformation>> naturalMap = SChongRankInformation.getNaturalMap();
Map<Integer, SCHero> scHeroMap = SCHero.getsCHero();
for (Hero hero : user.getHeroManager().getHeroMap().values()) { for (Hero hero : user.getHeroManager().getHeroMap().values()) {
SChongRankInformation information = starMap.get(hero.getStar()); try {
if (information == null){ SCHero scHero = scHeroMap.get(hero.getTemplateId());
continue; SChongRankInformation information = naturalMap.get(scHero.getNatural()).get(hero.getStar());
if (information == null){
continue;
}
num += information.getScore();
}catch (NullPointerException e){
LOGGER.error("计算英雄星级评分报错uid:{},英雄id{}英雄模板id{}",user.getId(),hero.getId(),hero.getTemplateId());
} }
num += information.getScore();
} }
return num; return num;
} }

View File

@ -13,27 +13,35 @@ public class SChongRankInformation implements BaseConfig {
private int heroStar; private int heroStar;
private int natural;
private int score; private int score;
private static Map<Integer, SChongRankInformation> starMap = new HashMap<>(); private static Map<Integer, Map<Integer, SChongRankInformation>> naturalMap = new HashMap<>();
@Override @Override
public void init() throws Exception { public void init() throws Exception {
Map<Integer, SChongRankInformation> config = STableManager.getConfig(SChongRankInformation.class); Map<Integer, SChongRankInformation> config = STableManager.getConfig(SChongRankInformation.class);
for (SChongRankInformation value : config.values()) { for (SChongRankInformation value : config.values()) {
Map<Integer, SChongRankInformation> starMap = naturalMap.getOrDefault(value.getNatural(), new HashMap<>());
starMap.put(value.getHeroStar(),value); starMap.put(value.getHeroStar(),value);
naturalMap.put(value.getNatural(),starMap);
} }
} }
public static Map<Integer, SChongRankInformation> getStarMap() { public static Map<Integer, Map<Integer, SChongRankInformation>> getNaturalMap() {
return starMap; return naturalMap;
} }
public int getId() { public int getId() {
return id; return id;
} }
public int getHeroStar() { public int getNatural() {
return natural;
}
public int getHeroStar() {
return heroStar; return heroStar;
} }