🐞 fix(稷下学宫): 修复法阵影响血量, 修改圣物usecount影响法阵
This commit is contained in:
@@ -350,7 +350,7 @@ export class RougeEffect {
|
|||||||
this.updateHolyMapUseCount(this.holyMap.get(cardCode));
|
this.updateHolyMapUseCount(this.holyMap.get(cardCode));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return addRatio;
|
return addRatio;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -661,8 +661,9 @@ export async function checkCanReRandomReward(roleId: string, gameCode: string, r
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export function getHolyCardIsUse(holy: { cardId: number, useCount: number }) {
|
export function getHolyCardIsUse(holy: { cardId: number, useCount: number, cardCode:string}) {
|
||||||
const { useCount = 0, cardId } = (holy || {});
|
const { useCount = 0, cardId, cardCode } = (holy || {});
|
||||||
|
if(!cardCode) return true;//法阵不存在cardCode
|
||||||
if (!cardId) return;
|
if (!cardId) return;
|
||||||
const holyCardData = gameData.rougeHolyCard.get(cardId)
|
const holyCardData = gameData.rougeHolyCard.get(cardId)
|
||||||
if (!holyCardData) return;
|
if (!holyCardData) return;
|
||||||
|
|||||||
@@ -45,18 +45,18 @@ async function calCircleCe(roleId: string, unlockedTech: number[], circles: Circ
|
|||||||
export async function updateEffectId(techData: RougelikeTechType) {
|
export async function updateEffectId(techData: RougelikeTechType) {
|
||||||
let effectIds = getTechEffectIdsByData(techData);
|
let effectIds = getTechEffectIdsByData(techData);
|
||||||
if(!compareNumberArray(effectIds, techData.effectIds||[])) {
|
if(!compareNumberArray(effectIds, techData.effectIds||[])) {
|
||||||
|
await RougelikeTechModel.updateEffectId(techData.roleId, effectIds);
|
||||||
if (hasMaxHpUpdate(effectIds, techData.effectIds||[])) {
|
if (hasMaxHpUpdate(effectIds, techData.effectIds||[])) {
|
||||||
const dbRecord = await RougelikeRecordModel.findByRoleIdAndStatus(techData.roleId, ROUGE_LIKE_STATUS.SUCCESS)
|
const dbRecord = await RougelikeRecordModel.findByRoleIdAndStatus(techData.roleId, ROUGE_LIKE_STATUS.SUCCESS)
|
||||||
if(dbRecord) await updateMaxHp(techData.roleId, dbRecord.gameCode, dbRecord.type, dbRecord.grade)
|
if(dbRecord) await updateMaxHp(techData.roleId, dbRecord.gameCode, dbRecord.type, dbRecord.grade)
|
||||||
}
|
}
|
||||||
await RougelikeTechModel.updateEffectId(techData.roleId, effectIds);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function hasMaxHpUpdate(effectIds: number[], oldEffectIds: number[]) {
|
function hasMaxHpUpdate(effectIds: number[], oldEffectIds: number[]) {
|
||||||
let newEffectIds: number[] = [];
|
let newEffectIds: number[] = [];
|
||||||
for(let effectId of effectIds) {
|
for(let effectId of effectIds) {
|
||||||
if (oldEffectIds.includes(effectId)) newEffectIds.push(effectId);
|
if (!oldEffectIds.includes(effectId)) newEffectIds.push(effectId);
|
||||||
}
|
}
|
||||||
for(let effectId of newEffectIds) {
|
for(let effectId of newEffectIds) {
|
||||||
let dicRougeEffect = gameData.rougeEffect.get(effectId);
|
let dicRougeEffect = gameData.rougeEffect.get(effectId);
|
||||||
|
|||||||
Reference in New Issue
Block a user