✨ feat(共鸣系统): 添加下发鸣主数据
This commit is contained in:
@@ -30,7 +30,7 @@ export class HeroHandler {
|
||||
// if (!await getStartLimt(roleId)) return resResult(STATUS.RESONANCE_NO_START);
|
||||
const resonances = await refreshResonanceData(roleId, serverId, sid);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { resonanceDatas: resonances })
|
||||
return resResult(STATUS.SUCCESS, resonances)
|
||||
}
|
||||
|
||||
async unlockPosition(msg: { position: number }, session: BackendSession) {
|
||||
@@ -77,11 +77,11 @@ export class HeroHandler {
|
||||
let dbHeroes = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!dbHeroes) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
|
||||
|
||||
let { lv = 1, exp = 0, jobStage = 0, skinId, skins = [], connections = [], ePlace = [], seqId, ce } = dbHeroes;
|
||||
let { lv = 1, exp = 0, job = 0, jobStage = 0, skinId, skins = [], connections = [], ePlace = [], seqId, ce } = dbHeroes;
|
||||
|
||||
//检测养成维度
|
||||
if (lv > 1) return resResult(STATUS.RESONANCE_PUT_POSITION_EXIST_LV);
|
||||
if (jobStage) return resResult(STATUS.RESONANCE_PUT_POSITION_EXIST_JOBSTAGE);
|
||||
// if (jobStage) return resResult(STATUS.RESONANCE_PUT_POSITION_EXIST_JOBSTAGE);
|
||||
if (skins.find(cur => (cur?.usedTalentPoint || 0) > 0)) return resResult(STATUS.RESONANCE_PUT_POSITION_EXIST_TALENT);
|
||||
if (connections.length > 0) return resResult(STATUS.RESONANCE_PUT_POSITION_EXIST_CONNECT);
|
||||
// if (ePlace.length > 0) return resResult(STATUS.RESONANCE_PUT_POSITION_EXIST_EQUIP);
|
||||
@@ -100,12 +100,12 @@ export class HeroHandler {
|
||||
}
|
||||
}
|
||||
|
||||
let result = await ResonanceModel.updateByPosition(roleId, position, { hid, seqId, lv, exp, jobStage, skinId, skins, connections, ePlace, ce });
|
||||
let result = await ResonanceModel.updateByPosition(roleId, position, { hid, seqId, lv, exp, job, jobStage, skinId, skins, connections, ePlace, ce });
|
||||
if (!result) return resResult(STATUS.RESONANCE_PUT_POSITION_FAIL);
|
||||
|
||||
const resonances = await refreshResonanceData(roleId, serverId, sid);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { resonanceDatas: resonances })
|
||||
return resResult(STATUS.SUCCESS, resonances)
|
||||
}
|
||||
|
||||
async heroOffPosition(msg: { position: number, hid: number }, session: BackendSession) {
|
||||
@@ -120,7 +120,7 @@ export class HeroHandler {
|
||||
let dbHero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!dbHero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
|
||||
|
||||
let { lv = 1, exp = 0, jobStage = 0, skinId, skins = [], connections = [], ePlace = [], seqId } = dbResonance;
|
||||
let { lv = 1, exp = 0, job = 0, jobStage = 0, skinId, skins = [], connections = [], ePlace = [], seqId } = dbResonance;
|
||||
for (let obj of dbHero.skins) {
|
||||
let newSkin = skins.find(cur => cur.id == obj.id);
|
||||
if (newSkin) {
|
||||
@@ -143,7 +143,7 @@ export class HeroHandler {
|
||||
tempEPlace.stones = obj.stones;
|
||||
}
|
||||
}
|
||||
let heroResult = await HeroModel.updateHeroInfo(roleId, hid, { lv, exp, jobStage, skinId, skins: dbHero.skins, connections, ePlace });
|
||||
let heroResult = await HeroModel.updateHeroInfo(roleId, hid, { lv, exp, job, jobStage, skinId, skins: dbHero.skins, connections, ePlace });
|
||||
if (!heroResult) return resResult(STATUS.RESONANCE_OFF_POSITION_FAIL);
|
||||
|
||||
// 重新计算战力
|
||||
@@ -164,8 +164,8 @@ export class HeroHandler {
|
||||
const resonances = await refreshResonanceData(roleId, serverId, sid);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
curHero: { ...pick(new HeroParam(curHero), ['hid', 'seqId', 'lv', 'exp', 'jobStage', 'skinId', 'skins', 'talent', 'usedTalentPoint', 'totalTalentPoint', 'connections', 'ePlace', 'ce']) },
|
||||
resonanceDatas: resonances,
|
||||
curHero: { ...pick(new HeroParam(curHero), ['hid', 'seqId', 'lv', 'exp', 'job', 'jobStage', 'skinId', 'skins', 'talent', 'usedTalentPoint', 'totalTalentPoint', 'connections', 'ePlace', 'ce']) },
|
||||
...resonances,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user