civ7-modding-tools
Version:
Mod generation tool for Civilization 7.
49 lines (48 loc) • 2.89 kB
TypeScript
import { TClassProperties, TObjectValues, TPartialRequired } from "../types";
import { DatabaseNode, GameEffectNode, TCivilizationItemNode, TCivilizationNode, TIconDefinitionNode, TLegacyCivilizationNode, TraitNode, TStartBiasBiomeNode, TStartBiasFeatureClassNode, TStartBiasResourceNode, TStartBiasTerrainNode, TTraitNode } from "../nodes";
import { BUILDING_CULTURES, TAG_TRAIT, TRAIT, UNIT_CULTURE } from "../constants";
import { XmlFile } from "../files";
import { TCivilizationLocalization } from "../localizations";
import { BaseBuilder } from "./BaseBuilder";
import { UnitBuilder } from "./UnitBuilder";
import { ConstructibleBuilder } from "./ConstructibleBuilder";
import { ProgressionTreeBuilder } from "./ProgressionTreeBuilder";
import { ModifierBuilder } from "./ModifierBuilder";
import { UniqueQuarterBuilder } from "./UniqueQuarterBuilder";
import { CivilizationUnlockBuilder } from "./CivilizationUnlockBuilder";
import { LeaderUnlockBuilder } from "./LeaderUnlockBuilder";
type TCivilizationBuilder = TClassProperties<CivilizationBuilder>;
export declare class CivilizationBuilder extends BaseBuilder<TCivilizationBuilder> {
_current: DatabaseNode;
_shell: DatabaseNode;
_legacy: DatabaseNode;
_localizations: DatabaseNode;
_icons: DatabaseNode;
_gameEffects: GameEffectNode;
civilizationTraits: (TObjectValues<typeof TRAIT> | string)[];
civilizationTags: TObjectValues<typeof TAG_TRAIT>[];
trait: TPartialRequired<TTraitNode, 'traitType'>;
traitAbility: TPartialRequired<TraitNode, 'traitType'>;
civilization: TPartialRequired<TCivilizationNode, 'civilizationType' | 'domain'>;
civilizationLegacy: TPartialRequired<TLegacyCivilizationNode, 'age'>;
localizations: Partial<TCivilizationLocalization>[];
icon: TPartialRequired<TIconDefinitionNode, 'path'>;
civilizationItems: TPartialRequired<TCivilizationItemNode, "type" | "kind">[];
startBiasBiomes: TPartialRequired<TStartBiasBiomeNode, 'biomeType'>[];
startBiasResources: TPartialRequired<TStartBiasResourceNode, 'resourceType'>[];
startBiasTerrains: TPartialRequired<TStartBiasTerrainNode, 'terrainType'>[];
startBiasRiver: number | null;
startBiasFeatureClasses: TPartialRequired<TStartBiasFeatureClassNode, 'featureClassType'>[];
startBiasAdjacentToCoast: number | null;
visArtCivilizationBuildingCultures: TObjectValues<typeof BUILDING_CULTURES>[];
visArtCivilizationUnitCulture: TObjectValues<typeof UNIT_CULTURE> | null;
constructor(payload?: Partial<TCivilizationBuilder>);
migrate(): this;
/**
* @description Bind entity as unique to this civilization
* @param items
*/
bind(items?: (UnitBuilder | ConstructibleBuilder | ProgressionTreeBuilder | ModifierBuilder | UniqueQuarterBuilder | CivilizationUnlockBuilder | LeaderUnlockBuilder)[]): this;
build(): XmlFile[];
}
export {};