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

21 lines
793 B
TypeScript

import { ApiCall } from "tsrpc";
import { HeroFun } from '../../public/hero';
import { PlayerFun } from '../../public/player';
import { ReqAwake, ResAwake } from "../../shared/protocols/hero/PtlAwake";
export default async function (call: ApiCall<ReqAwake, ResAwake>) {
let hero = await G.redis.get('hero', call.uid, call.req._id);
if (!hero) return call.error('', { code: -1 });
let awake = hero.awake || 0;
let conf = G.gc.hero_jx[awake + 1];
if (!conf) return call.error('', { code: -2 });
let need = [].concat(...conf.item_cos, { a: 'item', t: hero.heroId, n: conf.HeroDebris_Cos });
await PlayerFun.checkNeedIsMeet(call, need);
await PlayerFun.cutNeed(call, need);
await HeroFun.changeHeroAttr(call, hero, {awake: awake + 1});
call.succ({});
}