✨ feat(稷下学宫): 修改带出英灵奖励数量, 修改特性卡随机权重(流派、品质、等级相关)
This commit is contained in:
@@ -595,7 +595,7 @@ export async function getPassiveCardPlan(passiveCardPlan: number, passiveCardRan
|
||||
let cardsMap = await getCardCount(gameCode, ROUGE_LIKE_CARD_TYPE.PASSIVE);
|
||||
const { chooseCardsMap, noChooseCardsMap } = await getIsChooseCard(gameCode);
|
||||
for (let obj of cards) {
|
||||
let weightRecord: { originalWight?: number, passiveRedWight?: number, passiveLableNum?: number, authorAddWeight?: number, passiveLableNumAddWeight?: number, finalWeight?: number } = {};
|
||||
let weightRecord: { originalWight?: number, passiveRedWight?: number, holyAddWeight?: number, passiveLableNum?: number, authorAddWeight?: number, passiveLableNumAddWeight?: number, finalWeight?: number } = {};
|
||||
if (!obj) continue;
|
||||
let { cardId, weight } = obj;
|
||||
if (!cardId || !weight) continue;
|
||||
@@ -617,11 +617,17 @@ export async function getPassiveCardPlan(passiveCardPlan: number, passiveCardRan
|
||||
}
|
||||
|
||||
|
||||
const holyAddWeight = await getAddPassiveWeight(roleId, gameCode, type);
|
||||
weight += holyAddWeight;
|
||||
weightRecord.holyAddWeight = holyAddWeight;
|
||||
|
||||
weight += await getAddPassiveWeight(roleId, gameCode, type);
|
||||
if ((passiveCardData?.authorType || 0) == type) {
|
||||
weight += ROUGELIKE.AUTHOR_ADD_RANDOM;
|
||||
weightRecord.authorAddWeight = ROUGELIKE.AUTHOR_ADD_RANDOM;
|
||||
const { authorType = 0, quality = 0, lv = 0 } = passiveCardData;
|
||||
if (authorType == type) {
|
||||
const passiveWeightData = gameData.rougePassiveWeight.get(authorType + '_' + quality + '_' + lv);
|
||||
if (passiveWeightData && passiveWeightData.authorTypeWeightAdd) {
|
||||
weight += passiveWeightData.authorTypeWeightAdd;
|
||||
weightRecord.authorAddWeight = passiveWeightData.authorTypeWeightAdd;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -632,13 +638,6 @@ export async function getPassiveCardPlan(passiveCardPlan: number, passiveCardRan
|
||||
weightRecord.passiveLableNumAddWeight = ROUGELIKE.PASSIVE_LABLE_ADD_RANDOM * (Math.ceil(labelNum / ROUGELIKE.PASSIVE_LABLE_NUM));
|
||||
}
|
||||
|
||||
// if (!passiveCardData.passiveLabel || passiveCardData.passiveLabel.length == 0) continue;
|
||||
// for (let val of passiveCardData.passiveLabel) {
|
||||
// let labelNum = lableMap.get(val) || 0;
|
||||
// if (labelNum < ROUGELIKE.PASSIVE_LABLE_NUM || ROUGELIKE.PASSIVE_LABLE_NUM == 0) continue;
|
||||
|
||||
// weight += ROUGELIKE.PASSIVE_LABLE_ADD_RANDOM * (Math.ceil(labelNum / ROUGELIKE.PASSIVE_LABLE_NUM));
|
||||
// }
|
||||
weightRecord.finalWeight = weight;
|
||||
|
||||
newCards.push({ ...obj, weight, weightRecord });
|
||||
@@ -861,7 +860,7 @@ export async function updateChalleng(dbRecord: RougelikeRecordType, roleId: stri
|
||||
}
|
||||
|
||||
export function getLayerRewardOneData(type: number, grade: number, layer: number, nodeType: number) {
|
||||
let result: { takeoutReward?: RewardInter[], coin?: number, score?: number, tech?: number, spiritPlan?: number } = {};
|
||||
let result: { takeoutReward?: RewardInter[], coin?: number, score?: number, tech?: number, spiritPlan?: RewardInter[] } = {};
|
||||
const typeGradeData = gameData.rougeTypeGrade.get(type + '_' + grade);
|
||||
if (!typeGradeData) return result;
|
||||
const layerPlanData = gameData.rougeLayerPlan.get(typeGradeData.layerPlan + '_' + layer);
|
||||
@@ -871,15 +870,15 @@ export function getLayerRewardOneData(type: number, grade: number, layer: number
|
||||
const layerRewardData = gameData.rougeLayerRewardPlan.get(layerPlanData.rewardPlan + '_' + nodeType);
|
||||
if (!layerRewardData) return result;
|
||||
result = { ...layerRewardData, ...result };
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
export function getRandomSpirit(spiritPlan: number) {
|
||||
export function getRandomSpirit(spiritPlan: number, randomNum: number) {
|
||||
let spiritId: number[] = [];
|
||||
const spiritPlanData = gameData.spiritPlan.get(spiritPlan);
|
||||
if (ROUGELIKE.SPIRIT_RANDOM_NUM == 0 || !spiritPlanData || spiritPlanData.length == 0) return spiritId;
|
||||
let random = getRandEelmWithWeightAndNum(spiritPlanData, ROUGELIKE.SPIRIT_RANDOM_NUM);
|
||||
if (randomNum == 0 || !spiritPlanData || spiritPlanData.length == 0) return spiritId;
|
||||
let random = getRandEelmWithWeightAndNum(spiritPlanData, randomNum);
|
||||
spiritId = random.map(cur => { return cur.dic.spiritId });
|
||||
|
||||
return spiritId;
|
||||
|
||||
Reference in New Issue
Block a user