Merge branch 'master_test_gn' into master_test_gn_mcz2

mengchengzhen 2021-04-28 18:13:51 +08:00
commit 82cc2a5feb
12 changed files with 49 additions and 44 deletions

View File

@ -109,6 +109,5 @@ public interface GlobalsDef {
//特殊商店id
int DAILY_GOODS_FAST_ID = 1004;//每日礼包一键购买的礼包ID
int[] DAILY_RECHARGE_IDS = new int[]{1001, 1002, 1003};//所有每日礼包,用来在一键购买每日礼包之后,把所有每日礼包设置为购买过的状态
}

View File

@ -6,7 +6,7 @@ public interface GlobalItemType {
int WEIGHT_DROP = 2; //随机掉落
int SUCCESSIVELY_RANDOM = 3; // 依次随机
int SELETEONE = 4; //n 选1
int NO_REPEATED_FIX_COUNT = 5;//按照物品在组内的占比出(不可重复)
// 物品类型
int GEM = 3; // 钻石Id(充值获得)
int ITEM = 0; //道具
@ -32,6 +32,7 @@ public interface GlobalItemType {
int SELECTSecretBox=20; // 自选宝箱(前端要区分)
int SpecialMonster=21; // 灵兽
int SpecialMonsterItem=22; // 灵兽碎片
int HeroUpItem = 25;//进阶狗粮
//物品使用类型
int NO_USE = 0 ; //不使用
int RANDOM_USE = 1; // 随机使用

View File

@ -1238,7 +1238,7 @@ public class HeroLogic{
// 聚合::根据openlevel倒序,输出list
List<SCHeroRankUpConfig> collect = rankUpConfigs.stream().sorted(Comparator.comparing(SCHeroRankUpConfig::getOpenLevel).reversed()).collect(Collectors.toList());
for(SCHeroRankUpConfig scHeroRankUpConfig : collect){
if (heroLevel >= scHeroRankUpConfig.getOpenLevel()){
if (heroLevel > scHeroRankUpConfig.getOpenLevel()){
if (scHeroRankUpConfig.getOpenStar() > 10){
continue;
}
@ -1265,7 +1265,7 @@ public class HeroLogic{
// 聚合:根据openlevel倒叙排序,输出成list
List<SCHeroRankUpConfig> collect = rankUpConfigs.stream().sorted(Comparator.comparing(SCHeroRankUpConfig::getOpenLevel).reversed()).collect(Collectors.toList());
for(SCHeroRankUpConfig scHeroRankUpConfig : collect){
if (heroLevel >= scHeroRankUpConfig.getLimitLevel()){
if (heroLevel > scHeroRankUpConfig.getLimitLevel()){
return scHeroRankUpConfig.getId();
}
}
@ -1292,9 +1292,11 @@ public class HeroLogic{
// 聚合::根据openlevel倒序,输出list
List<SCHeroRankUpConfig> collect = rankUpStar.stream().sorted(Comparator.comparing(SCHeroRankUpConfig::getOpenLevel).reversed()).collect(Collectors.toList());
for(SCHeroRankUpConfig val : collect){
if (heroLevel >= val.getOpenLevel()){
if (heroLevel > val.getOpenLevel()){
// 计算星级需要+1操作
int result = val.getOpenStar()+1;
// 机器人生成星级,最高10星
return val.getOpenStar()>10?10:val.getOpenStar();
return result>10?10:result;
}
}
}
@ -1306,7 +1308,7 @@ public class HeroLogic{
// 聚合:根据openlevel倒叙排序,输出成list
List<SCHeroRankUpConfig> collect = rankUpBreak.stream().sorted(Comparator.comparing(SCHeroRankUpConfig::getOpenLevel).reversed()).collect(Collectors.toList());
for(SCHeroRankUpConfig val : collect){
if (heroLevel >= val.getLimitLevel()){
if (heroLevel > val.getLimitLevel()){
return val.getOpenStar()>10?10:val.getOpenStar();
}
}

View File

@ -27,10 +27,6 @@ public class CarDealyGuildRank extends AbstractRank{
@Override
protected void getOptional(int index, ZSetOperations.TypedTuple<String> data, PlayerInfoProto.RankResponse.Builder builder) throws Exception {
User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
if (everyUser == null){
return;
}
String value = data.getValue();
int guildId = Integer.parseInt(value);
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId);
@ -46,10 +42,6 @@ public class CarDealyGuildRank extends AbstractRank{
CommonProto.UserRank everyRank = CommonProto.UserRank.newBuilder()
.setGuildName(familyName)
.setRankInfo(everyRankInfo)
.setSex(everyUser.getPlayerInfoManager().getSex())
.setUserSkin(everyUser.getPlayerInfoManager().getUserSkin())
.setUserTitle(everyUser.getPlayerInfoManager().getUserTitle())
.setUserMount(everyUser.getPlayerInfoManager().getUserMount())
.build();
builder.addRanks(everyRank);
}

View File

@ -22,15 +22,6 @@ public class DeathPathEveryGuildRank extends AbstractRank {
protected void getOptional(int index, ZSetOperations.TypedTuple<String> data, PlayerInfoProto.RankResponse.Builder builder) {
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(Integer.parseInt(data.getValue()));
User everyUser = null;
try{
everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
if (everyUser == null){
return;
}
}catch(Exception e){
e.printStackTrace();
}
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
.setRank(index)
.setParam1(getParam1(data.getScore()))
@ -39,11 +30,7 @@ public class DeathPathEveryGuildRank extends AbstractRank {
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder()
.setUid(guildInfo.getId())
.setGuildName(guildInfo.getName())
.setRankInfo(everyRankInfo)
.setSex(everyUser.getPlayerInfoManager().getSex())
.setUserSkin(everyUser.getPlayerInfoManager().getUserSkin())
.setUserTitle(everyUser.getPlayerInfoManager().getUserTitle())
.setUserMount(everyUser.getPlayerInfoManager().getUserMount());
.setRankInfo(everyRankInfo);
builder.addRanks(everyRank);
}

View File

@ -40,10 +40,6 @@ public class DeathPathTotalGuildRank extends AbstractRank{
}
protected void getOptional(int index, ZSetOperations.TypedTuple<String> data, PlayerInfoProto.RankResponse.Builder builder) throws Exception {
User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
if (everyUser == null){
return;
}
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(Integer.parseInt(data.getValue()));
DeathChallengeCount countInfo = RedisUtil.getInstence().get(RedisKey.DEATH_PATH_TOTAL_CHALLENGE_COUNT, String.valueOf(guildInfo.getId()), DeathChallengeCount.class);
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
@ -54,11 +50,7 @@ public class DeathPathTotalGuildRank extends AbstractRank{
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder()
.setUid(guildInfo.getId())
.setGuildName(guildInfo.getName())
.setRankInfo(everyRankInfo)
.setSex(everyUser.getPlayerInfoManager().getSex())
.setUserSkin(everyUser.getPlayerInfoManager().getUserSkin())
.setUserTitle(everyUser.getPlayerInfoManager().getUserTitle())
.setUserMount(everyUser.getPlayerInfoManager().getUserMount());
.setRankInfo(everyRankInfo);
builder.addRanks(everyRank);
}

View File

@ -46,11 +46,7 @@ public class GuildSheJiScoreRank extends AbstractRank {
.setUid(user.getId())
.setLevel(user.getPlayerInfoManager().getLevel())
.setGuildName(guildInfo.getName())
.setRankInfo(everyRankInfo)
.setSex(user.getPlayerInfoManager().getSex())
.setUserSkin(user.getPlayerInfoManager().getUserSkin())
.setUserTitle(user.getPlayerInfoManager().getUserTitle())
.setUserMount(user.getPlayerInfoManager().getUserMount());
.setRankInfo(everyRankInfo);
builder.addRanks(everyRank);
}

View File

@ -363,7 +363,8 @@ public class BuyGoodsLogic {
if (goodsId == GlobalsDef.DAILY_GOODS_FAST_ID) {
//每日礼包一键购买之后,把所有单个的每日礼包的购买次数加一
for (int gId : GlobalsDef.DAILY_RECHARGE_IDS) {
int[] fastGoods = SSpecialConfig.getOnceArrayValue(SSpecialConfig.YIJIANGOUMAI);
for (int gId : fastGoods) {
rechargeInfo.updateBuyGoodsTimes(gId,1);
}
}

View File

@ -384,6 +384,7 @@ public class CBean2Proto {
monsterBuilder.setUnitSkillIds(monsterSkillList.toString());
monsterBuilder.setUnitId(String.valueOf(sMonsterConfig.getId()));
monsterBuilder.setSkinId(sMonsterConfig.getSkinId());
monsterBuilder.setStar(sMonsterConfig.getStar());
return monsterBuilder;
}

View File

@ -414,6 +414,9 @@ public class ItemUtil {
case GlobalItemType.SUCCESSIVELY_RANDOM:
getSuccessivelyRandmoMap(user,sRewardGroup,rewards,weights,itemObj,dropRatio);
break;
case GlobalItemType.NO_REPEATED_FIX_COUNT:
getFixRandomMap(user,sRewardGroup.getRewardMaxNum(),rewards,weights,itemObj,dropRatio);
break;
default:
break;
}
@ -457,6 +460,29 @@ public class ItemUtil {
getMap(sRewardItem.getItemId(),itemNum, itemObj,dropRatio);
}
}
private static void getFixRandomMap(User user,int randomItemNum ,String[] rewardArr,String[] weightArr,ItemMap itemObj,float dropRatio)throws ErrorCodeException {
if(rewardArr.length!=weightArr.length||randomItemNum>rewardArr.length){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
int[][] randomArray = new int[rewardArr.length][];
for(int i = 0 ; i <rewardArr.length;i++){
int[] tempArray = new int[2];
tempArray[0] =Integer.valueOf(rewardArr[i]);
tempArray[1] =Integer.valueOf(weightArr[i]);
randomArray[i] = tempArray;
}
int[] randomResult = MathUtils.randomFromWeightWithTaking(randomArray,randomItemNum);
for (int i = 0 ; i < randomResult.length;i++){
SRewardItem sRewardItem = SRewardItem.getsDropMap().get(randomResult[i]);
int itemNum = getItemNum(user,sRewardItem);
if (itemNum <= 0){
continue;
}
getMap(sRewardItem.getItemId(),itemNum, itemObj,dropRatio);
}
}
/**
*
@ -543,6 +569,7 @@ public class ItemUtil {
case GlobalItemType.RIDE:
case GlobalItemType.SELECTSecretBox:
case GlobalItemType.SpecialMonsterItem:
case GlobalItemType.HeroUpItem:
itemType = GlobalItemType.ITEM;
break;
default:

View File

@ -60,6 +60,8 @@ public class SMonsterConfig implements BaseConfig {
private int skinId;
private int star;
@Override
@ -183,4 +185,8 @@ public class SMonsterConfig implements BaseConfig {
public int getSkinId() {
return skinId;
}
public int getStar() {
return star;
}
}

View File

@ -99,6 +99,7 @@ public class SSpecialConfig implements BaseConfig {
public static final String SHEN_ZHUANG = "ShenZhuang";//神装礼包推送等级
public static final String FU_XING = "FuXing";//福星高照可购买天数和可领取天数
public static final String FU_XING_STORE = "FuXingStore";//福星高照购买解锁奖励
public static final String YIJIANGOUMAI = "YiJianGouMai";//一件购买
@Override
public void init() throws Exception {