Fantasy-Map-Generator/src/scripts/generation/pack/religions/generateReligions.ts

39 lines
1 KiB
TypeScript

import {TIME} from "config/logging";
import {pick} from "utils/functionUtils";
import {generateFolkReligions} from "./generateFolkReligions";
import {generateOrganizedReligions} from "./generateOrganizedReligions";
import {specifyReligions} from "./specifyReligions";
type TCellsData = Pick<
IPack["cells"],
"i" | "c" | "p" | "g" | "h" | "t" | "biome" | "pop" | "culture" | "burg" | "state"
>;
export function generateReligions({
states,
cultures,
burgs,
cells
}: {
states: TStates;
cultures: TCultures;
burgs: TBurgs;
cells: TCellsData;
}) {
TIME && console.time("generateReligions");
const folkReligions = generateFolkReligions(cultures);
const basicReligions = generateOrganizedReligions(burgs, pick(cells, "i", "p", "pop", "culture"));
const {religions, religionIds} = specifyReligions(
[...folkReligions, ...basicReligions],
cultures,
states,
burgs,
pick(cells, "i", "c", "culture", "burg", "state")
);
console.log(religions);
TIME && console.timeEnd("generateReligions");
return {religionIds, religions};
}