lvxinran 2020-06-26 00:42:21 +08:00
commit d64cf6d16d
2 changed files with 26 additions and 13 deletions

View File

@ -830,12 +830,21 @@ public class ExpeditionLogic {
throw new ErrorCodeException(ErrorCode.CFG_NULL);
}
//random star
int min = sExpeditionSetting.getMatchForceRange()[0];
int max= sExpeditionSetting.getMatchForceRange()[1];
int min = sExpeditionSetting.getLevelForce()[0];
int max= sExpeditionSetting.getLevelForce()[1];
int finalstar = (int) (star * ((min / 10000f) + ((float) (Math.random() *(max - min))/10000f)));
if(finalstar<=20){
finalstar=50;
}
SCHero hero1 = SCHero.getsCHero().get(tempid);
if (null != hero1) {
SCHeroRankUpConfig scHeroRankUpConfig = STableManager.getConfig(SCHeroRankUpConfig.class).get(hero1.getStar());
if(null !=scHeroRankUpConfig&&finalstar>scHeroRankUpConfig.getOpenLevel()){
finalstar=scHeroRankUpConfig.getOpenLevel();
}
}
//random tempid
Hero newHero = new Hero(uid,tempid,finalstar,hero);

View File

@ -6,6 +6,7 @@ import com.ljsd.jieling.config.clazzStaticCfg.MapStaticConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
@ -160,7 +161,7 @@ public class ItemUtil {
private static void combineRewardDropGroup(User user, int[] dropGroupIds, float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap) {
private static void combineRewardDropGroup(User user, int[] dropGroupIds, float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap) throws ErrorCodeException{
for (int dropGroupId : dropGroupIds) {
if(MapLogic.getInstance().getDifficultyReward().containsKey(dropGroupId)){
dropGroupId =MapLogic.getInstance().getDifficultyReward().get(dropGroupId);
@ -259,7 +260,7 @@ public class ItemUtil {
public static void combineReward(User user,boolean isLoop,int[] dropGroupIds,float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,int reason){
public static void combineReward(User user,boolean isLoop,int[] dropGroupIds,float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,int reason)throws ErrorCodeException{
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap);
if(!isLoop){
extraAddItem(user,itemMap,reason);
@ -289,7 +290,7 @@ public class ItemUtil {
}
}
public static void combineReward(int[][] itemArr, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap){
public static void combineReward(int[][] itemArr, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap)throws ErrorCodeException{
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
}
@ -338,19 +339,19 @@ public class ItemUtil {
}
private static void selectItemArr(int[][] itemArr, Map<Integer, Integer> cardMap, Map<Integer, Integer>
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap) {
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap) throws ErrorCodeException{
for (int[] items : itemArr){
getMap(items[0],items[1], itemMap, cardMap,equipMap,randomMap,1);
}
}
private static void selectItemArr(Map<Integer,Integer>itemArr, Map<Integer, Integer> cardMap, Map<Integer, Integer>
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap) {
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap) throws ErrorCodeException{
for (Map.Entry<Integer,Integer> items : itemArr.entrySet()){
getMap(items.getKey(), items.getValue(), itemMap, cardMap,equipMap,randomMap,1);
}
}
private static void selectDrop(User user, SRewardGroup sRewardGroup,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap , float dropRatio) {
private static void selectDrop(User user, SRewardGroup sRewardGroup,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap , float dropRatio)throws ErrorCodeException {
String dropInfo = dropRewardMap.get(sRewardGroup.getId());
String rewardStr = dropInfo.split("\\|")[0];
String weight = dropInfo.split("\\|")[1];
@ -395,7 +396,7 @@ public class ItemUtil {
private static void getSuccessivelyRandmoMap(User user,SRewardGroup sRewardGroup, String[]
rewardArr, String[] weightArr, Map<Integer, Integer> itemMap, Map<Integer, Integer>
cardMap, Map<Integer,Integer> equipMap, Map<Integer,Integer> randomMap, float dropRatio) {
cardMap, Map<Integer,Integer> equipMap, Map<Integer,Integer> randomMap, float dropRatio) throws ErrorCodeException{
for (int i = 0 ; i < sRewardGroup.getRewardMaxNum();i++){
int id = 0;
for (int j = 0 ; j < sRewardGroup.getLoop();i++){
@ -419,7 +420,7 @@ public class ItemUtil {
}
private static void getRandomMap(User user,int randomItemNum ,String[] rewardArr,String[] weightArr, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,
Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap ,float dropRatio) {
Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap ,float dropRatio)throws ErrorCodeException {
for (int i = 0 ; i < randomItemNum;i++){
int index = MathUtils.randomForStrArray(weightArr);
if (index == -1) {
@ -464,7 +465,7 @@ public class ItemUtil {
return itemNum;
}
private static void getMap(User user,int[] itemInfo, Map<Integer, Integer> itemMap,Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap ,float dropRatio) {
private static void getMap(User user,int[] itemInfo, Map<Integer, Integer> itemMap,Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap ,float dropRatio) throws ErrorCodeException{
for (int id :itemInfo){
SRewardItem sRewardItem = SRewardItem.getsDropMap().get(id);
int itemNum = getItemNum(user,sRewardItem);
@ -476,15 +477,18 @@ public class ItemUtil {
}
private static void getMap(int itemId ,int itemNum, Map<Integer, Integer> itemMap,
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap,float dropRatio) {
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap,float dropRatio) throws ErrorCodeException{
Map<Integer, Integer> mapRe = getMapRe(itemId, itemMap, cardMap, equipMap, randomMap);
putcountMap(itemId,MathUtils.numRount((itemNum * dropRatio)) , mapRe);
}
public static Map<Integer, Integer> getMapRe(int itemId, Map<Integer, Integer> itemMap,
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap) {
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap) throws ErrorCodeException{
SItem sItem = SItem.getsItemMap().get(itemId);
if(sItem==null){
throw new ErrorCodeException("SItem配置不存在 id:"+itemId);
}
int itemType =getItemType(sItem);
switch (itemType) {
case GlobalItemType.SOUL_MARK: