import { randomUUID } from "node:crypto"; import { TObjectValues } from "../types"; import { AGE, YIELD } from "../constants"; import { BaseNode } from "./BaseNode"; export type TWarehouseYieldChangeNode = Pick; export class WarehouseYieldChangeNode extends BaseNode { id: string = randomUUID(); age: TObjectValues | null = AGE.ANTIQUITY; yieldType: TObjectValues | null = YIELD.FOOD; yieldChange: number | null = 1; biomeInCity: string | null = null; constructibleInCity: string | null = null; districtInCity: string | null = null; featureClassInCity: string | null = null; featureInCity: string | null = null; lakeInCity: boolean | null = null; minorRiverInCity: boolean | null = null; naturalWonderInCity: boolean | null = null; navigableRiverInCity: boolean | null = null; overbuilt: boolean | null = null; resourceInCity: boolean | null = null; routeInCity: boolean | null = null; terrainInCity: string | null = null; terrainTagInCity: string | null = null; constructor(payload: Partial = {}) { super(); this.fill(payload); } }