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);