mirror of
https://github.com/YouHaveTrouble/GuildMaster.git
synced 2026-05-11 22:16:59 +00:00
18 lines
645 B
TypeScript
18 lines
645 B
TypeScript
import type {Adventurer} from "@/classes/Adventurer";
|
|
|
|
|
|
/**
|
|
* Get a random adventurer from the pool
|
|
* @param adventurerPool
|
|
* @param exceptions
|
|
* @returns {Adventurer|null} null if the pool is empty
|
|
*/
|
|
export function getNewAdventurerForHire(adventurerPool: Array<Adventurer>, exceptions: Array<Adventurer> = []): Adventurer|null {
|
|
if (adventurerPool.length <= 0) return null;
|
|
const pool = Array.from(adventurerPool);
|
|
const exceptionSet = new Set(exceptions);
|
|
pool.filter((adventurer) => !exceptionSet.has(adventurer));
|
|
const randomId = adventurerPool.length * Math.random() << 0;
|
|
return adventurerPool[randomId];
|
|
}
|