HJ_Server/src/api_s2c/shiwu/ApiConcise.ts
DESKTOP-15R5JU0\legu 97e070ea81 init
2023-11-17 12:02:12 +08:00

24 lines
1.1 KiB
TypeScript

import { ApiCall } from "tsrpc";
import { PlayerFun } from '../../public/player';
import { ShiwuFun } from '../../public/shiwu';
import { ReqConcise, ResConcise } from "../../shared/protocols/shiwu/PtlConcise";
import { ShiwuShared } from '../../shared/public/shiwu';
export default async function (call: ApiCall<ReqConcise, ResConcise>) {
let shiwu = await ShiwuFun.getShiwu(call, call.req._id);
if (!shiwu) return call.error(globalThis.lng.shiwu_1);
let fujiaNum = shiwu.colour - 1;
let allOrange = shiwu.fujia.filter(f => f.colour >= 5).length == fujiaNum;
if (allOrange && call.req.lockArr.length == fujiaNum) return call.error(globalThis.lng.shiwu_2);
let need = allOrange && (fujiaNum - call.req.lockArr.length >= 0) ? ShiwuShared.getConciseNeed(fujiaNum - call.req.lockArr.length) : ShiwuShared.getConciseNeed(shiwu);
await PlayerFun.checkNeedIsMeet(call, need);
ShiwuFun.randomFujiaAll(shiwu, call.req.lockArr);
await PlayerFun.cutNeed(call, need);
await ShiwuFun.changeShiwuAttr(call, shiwu, { fujia: shiwu.fujia });
call.succ({});
}