Skip to content

Commit 09b4efb

Browse files
committed
Update skill.js
补丁
1 parent dba24ec commit 09b4efb

File tree

1 file changed

+40
-25
lines changed

1 file changed

+40
-25
lines changed

character/offline/skill.js

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)