✨ feat(稷下学宫): 新增初始角色卡刷新接口
This commit is contained in:
@@ -111,6 +111,33 @@ export class RougeHandler {
|
|||||||
return resResult(STATUS.SUCCESS, { gameCode, ...result })
|
return resResult(STATUS.SUCCESS, { gameCode, ...result })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色卡刷新
|
||||||
|
* @param msg
|
||||||
|
* @param session
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
async refreshInitCharaCard(msg: { gameCode: string }, session: BackendSession) {
|
||||||
|
const roleId = session.get('roleId');
|
||||||
|
|
||||||
|
const { gameCode } = msg;
|
||||||
|
|
||||||
|
let dbRecord = await RougelikeRecordModel.findByGameCode(gameCode)
|
||||||
|
if (!dbRecord) return resResult(STATUS.NO_ROUGELIKE_GAME);
|
||||||
|
const { type = 0, grade = 0 } = dbRecord;
|
||||||
|
|
||||||
|
await RougelikeCharaModel.deleteCharaByRoleId(roleId);
|
||||||
|
const charaCards = getInitCharaCard() || [];
|
||||||
|
let handleAddFun = new HandleAddCard(session, gameCode);
|
||||||
|
for (let ele of charaCards) {
|
||||||
|
handleAddFun.pushChara(ele.id, await getMaxHp(roleId, gameCode, ele.id, type, grade), []);
|
||||||
|
}
|
||||||
|
let result = await handleAddFun.save();
|
||||||
|
|
||||||
|
return resResult(STATUS.SUCCESS, { gameCode, charas: result?.addCharas || [] })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开启一场游戏
|
* 开启一场游戏
|
||||||
* @param msg
|
* @param msg
|
||||||
|
|||||||
@@ -878,7 +878,12 @@ export function checkRouteParam(route: string, msg: any) {
|
|||||||
if (!checkNaturalNumbers(type, grade)) return false;
|
if (!checkNaturalNumbers(type, grade)) return false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "battle.rougeHandler.refreshInitCharaCard":
|
||||||
|
{
|
||||||
|
let { gameCode } = msg
|
||||||
|
if (!checkNaturalStrings(gameCode)) return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case "battle.rougeHandler.startGame":
|
case "battle.rougeHandler.startGame":
|
||||||
{
|
{
|
||||||
let { gameCode, authorType } = msg;
|
let { gameCode, authorType } = msg;
|
||||||
|
|||||||
@@ -127,6 +127,11 @@ export default class RougelikeChara extends BaseModel {
|
|||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async deleteCharaByRoleId(roleId: string) {
|
||||||
|
let result = await RougelikeCharaModel.deleteMany({ roleId });
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
export const RougelikeCharaModel = getModelForClass(RougelikeChara);
|
export const RougelikeCharaModel = getModelForClass(RougelikeChara);
|
||||||
|
|||||||
Reference in New Issue
Block a user