Refactor to not use array

370bd9a3a88efa13604f178689f1ea74eda15821

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +8 -8Ignore whitespace
public/scripts/group-chats.js+8 -8
@@ -1031,7 +1031,9 @@ function activateListOrder(members) {
10311031 * @returns {number[]} List of character ids
10321032 */
10331033function activatePooledOrder(members, lastMessage) {
1034- const activatedMembers = [];
1034+ /** @type {string} */
1035+ let activatedMember = null;
1036+ /** @type {string[]} */
10351037 const spokenSinceUser = [];
10361038
10371039 for (const message of chat.slice().reverse()) {
@@ -1051,19 +1053,17 @@ function activatePooledOrder(members, lastMessage) {
10511053 const haveNotSpoken = members.filter(x => !spokenSinceUser.includes(x));
10521054
10531055 if (haveNotSpoken.length) {
10541056 activatedMembers.push(activatedMember = haveNotSpoken[Math.floor(Math.random() * haveNotSpoken.length)]);
10551057 }
10561058
10571059 if (activatedMembers.lengthactivatedMember === 0null) {
10581060 const lastMessageAvatar = members.length > 1 && lastMessage && !lastMessage.is_user && lastMessage.original_avatar;
10591061 const randomPool = lastMessageAvatar ? members.filter(x => x !== lastMessage.original_avatar) : members;
10601062 activatedMembers.push(activatedMember = randomPool[Math.floor(Math.random() * randomPool.length)]);
10611063 }
10621064
1063- const memberIds = activatedMembers
1065+ const memberId = characters.findIndex(y => y.avatar === activatedMember);
1064- .map((x) => characters.findIndex((y) => y.avatar === x))
1066+ return memberId !== -1 ? [memberId] : [];
1065- .filter((x) => x !== -1);
1066- return memberIds;
10671067}
10681068
10691069function activateNaturalOrder(members, input, lastMessage, allowSelfResponses, isUserInput) {