🐞 fix(诸子列传): 修改分解英灵参数格式
This commit is contained in:
@@ -150,21 +150,26 @@ export class AuthorsBookHandler {
|
|||||||
return resResult(STATUS.SUCCESS, { goods });
|
return resResult(STATUS.SUCCESS, { goods });
|
||||||
}
|
}
|
||||||
|
|
||||||
public async decomposeSpirit(msg: { id: number, count: number }, session: BackendSession) {
|
public async decomposeSpirit(msg: { spirits: { id: number, count: number }[] }, session: BackendSession) {
|
||||||
let roleId: string = session.get('roleId');
|
let roleId: string = session.get('roleId');
|
||||||
let sid: string = session.get('sid');
|
let sid: string = session.get('sid');
|
||||||
let roleName: string = session.get('roleName');
|
let roleName: string = session.get('roleName');
|
||||||
|
|
||||||
const { id, count } = msg;
|
const { spirits = [] } = msg;
|
||||||
let dicSpirit = gameData.spirit.get(id);
|
let rewards: RewardInter[] = [];
|
||||||
if(!dicSpirit) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
for(let { id, count } of spirits) {
|
||||||
|
let dicSpirit = gameData.spirit.get(id);
|
||||||
|
if(!dicSpirit) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||||
|
for(let item of dicSpirit.decomposeItem) {
|
||||||
|
rewards.push({ id: item.id, count: item.count * count });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let consumes = [{ id, count }];
|
let consumes = spirits;
|
||||||
let costResult = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.DECOMPOSE_SPIRIT);
|
let costResult = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.DECOMPOSE_SPIRIT);
|
||||||
if (!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
|
if (!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
|
||||||
|
|
||||||
let reward = dicSpirit.decomposeItem;
|
let goods = await addItems(roleId, roleName, sid, combineItems(rewards), ITEM_CHANGE_REASON.DECOMPOSE_SPIRIT);
|
||||||
let goods = await addItems(roleId, roleName, sid, reward, ITEM_CHANGE_REASON.DECOMPOSE_SPIRIT);
|
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, { goods });
|
return resResult(STATUS.SUCCESS, { goods });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2024,11 +2024,18 @@ export function checkRouteParam(route: string, msg: any) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "role.authorsBookHandler.buySpirit":
|
case "role.authorsBookHandler.buySpirit":
|
||||||
case "role.authorsBookHandler.decomposeSpirit":
|
|
||||||
{
|
{
|
||||||
if(!checkNaturalNumbers(msg.id, msg.count)) return false;
|
if(!checkNaturalNumbers(msg.id, msg.count)) return false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "role.authorsBookHandler.decomposeSpirit":
|
||||||
|
{
|
||||||
|
if(!checkNaturalArray(msg.spirits)) return false;
|
||||||
|
for(let { id, count } of msg.spirits) {
|
||||||
|
if(!checkNaturalNumbers(id, count)) return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 'activity.dragonBoatHandler.gameStart':
|
case 'activity.dragonBoatHandler.gameStart':
|
||||||
case 'activity.dragonBoatHandler.gameEnd':
|
case 'activity.dragonBoatHandler.gameEnd':
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user