From 445cd6054886f498fdb0eada5f0fdde20462c4db Mon Sep 17 00:00:00 2001 From: dy Date: Fri, 22 Dec 2023 14:07:55 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bug=20=20=E6=94=AF=E4=BB=98=E3=80=81?= =?UTF-8?q?=E8=8B=B1=E9=9B=84=E4=B8=8A=E9=98=B5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api_s2c/hero/ApiChangePos.ts | 10 ++++++++++ src/public/pay.ts | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/src/api_s2c/hero/ApiChangePos.ts b/src/api_s2c/hero/ApiChangePos.ts index 1ec5316..ad66394 100644 --- a/src/api_s2c/hero/ApiChangePos.ts +++ b/src/api_s2c/hero/ApiChangePos.ts @@ -57,6 +57,8 @@ export default async function (call: ApiCall) { } fightHeros.push(hero.heroId.toString()); + fightHeros = await checkFightHerosAndFix(call.uid, heroPos, fightHeros) + Wjjl.setVal(call.uid, 'fight_hero_colour_4', fightHeros.map(id => G.gc.hero[id].colour).filter(c => c >= 4).length); let checkMatrixPos = HeroFun.checkMatrixPosAndChange(call, heroPos, matrixPos) @@ -65,4 +67,12 @@ export default async function (call: ApiCall) { call.conn.refreshPower(); kfjsFun.setHeroLvCount(call) +} + +async function checkFightHerosAndFix(uid, heroPos, fightHeros) { + if (fightHeros.length == R.values(heroPos).length) { + return fightHeros + } + let heros = await HeroFun.getHeros({uid}, R.values(heroPos)); + return heros.map(i => i.heroId) } \ No newline at end of file diff --git a/src/public/pay.ts b/src/public/pay.ts index b1302b5..1516859 100644 --- a/src/public/pay.ts +++ b/src/public/pay.ts @@ -181,6 +181,10 @@ export class PayFun { return; } } + /** + * 不要轻易改动这个方法,不允许集成业务逻辑在内部 + * 如果有业务逻辑通过事件驱动,在支付成功后emit事件 + */ let conf: any = await this.getConf(payId, payArgs);