@@ -448,7 +448,7 @@ const skills = {
448448 function createCustom(suit, count) {
449449 return function (itemContainer) {
450450 function formatStr(str) {
451- return str.replace(/[♥︎♦︎] /g, '<span style="color: red; ">$&</span>');
451+ return str.replace(/(?:♥︎|♦︎) /g, '<span style="color: red; ">$&</span>');
452452 }
453453 let div = ui.create.div(itemContainer);
454454 if (count) {
@@ -548,7 +548,9 @@ const skills = {
548548 resolve(result);
549549 });
550550 next = promise;
551- } else next = Promise.resolve(ai());
551+ } else {
552+ next = Promise.resolve(ai());
553+ }
552554 let result1 = await next;
553555 if (!result1.bool) {
554556 return;
@@ -661,30 +663,41 @@ const skills = {
661663 if (humans.length) {
662664 await Promise.all(
663665 humans.map((current, index) => {
664- return new Promise(async (resolve, reject) => {
665- if (current.isOnline()) {
666- current.send(send, current, player);
667- current.wait((result, player) => {
668- solve(result, player);
669- resolve();
670- });
671- } else if (current == game.me) {
672- const next = lib.skill.yjzhuni.chooseTarget(current, player);
673- const solver = (result, player) => {
674- solve(result, player);
675- resolve();
676- };
677- if (_status.connectMode) {
678- game.me.wait(solver);
679- }
680- const result = await next.forResult();
681- if (_status.connectMode) {
682- game.me.unwait(result, current);
683- } else {
684- solver(result, current);
666+ return (async () => {
667+ try {
668+ if (current.isOnline()) {
669+ current.send(send, current, player);
670+ await new Promise((resolve) => {
671+ current.wait((result, player) => {
672+ solve(result, player);
673+ resolve();
674+ });
675+ });
676+ } else if (current === game.me) {
677+ const next = lib.skill.yjzhuni.chooseTarget(current, player);
678+ const solver = (result, player) => {
679+ solve(result, player);
680+ };
681+
682+ if (_status.connectMode) {
683+ await new Promise((resolve) => {
684+ game.me.wait((...args) => {
685+ solver(...args);
686+ resolve();
687+ });
688+ });
689+ }
690+
691+ const result = await next.forResult();
692+ if (!_status.connectMode) {
693+ solver(result, current);
694+ }
685695 }
696+ } catch (err) {
697+ console.error("Error processing human:", err);
698+ throw err;
686699 }
687- });
700+ })() ;
688701 })
689702 );
690703 }
@@ -697,7 +710,9 @@ const skills = {
697710 }
698711 //清除读条
699712 delete event._global_waiting;
700- for (var i of targets) i.hideTimer();
713+ for (var i of targets) {
714+ i.hideTimer();
715+ }
701716 //统计票数
702717 const ticketsMap = new Map();
703718 results.forEach(data => {
0 commit comments